Full text
Proyecto Fin de Carrera Ingeniería de Telecomunicación Formato de Publicación de la Escuela Técnica Superior de Ingeniería Autor: F. Javier Payán Somet Tutor: Juan José Murillo Fuentes Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2013 Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías Industriales Teleoperación de manipuladores aéreos. Autor: Carlos Álvarez Cía Tutores: Antonio González Morgado Guillermo Heredia Benot Dpto. Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2022
Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías Industriales Teleoperación de manipuladores aéreos. Autor: Carlos Álvarez Cía Tutores: Antonio González Morgado Doctorando Guillermo Heredia Benot Catedrático de Universidad Dpto. Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2022
Trabajo Fin de Grado: Teleoperación de manipuladores aéreos. Autor: Carlos Álvarez Cía Tutores: Antonio González Morgado Guillermo Heredia Benot El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores: Presidente: Vocal/es: Secretario: acuerdan otorgarle la calificación de: El Secretario del Tribunal Fecha:
Agradecimientos En primer lugar, me gustaría dar las gracias a Antonio González y Guillermo Heredia, por darme la oportunidad de realizar este Trabajo Fin de Grado y por la confianza, apoyo y ayuda durante todos estos meses, que han permitido que este trabajo se lleve a cabo. También me gustaría agradecer a los compañeros del Grupo de Robótica, Visión y Control, por su simpatía, amabilidad y consejos, haciendo más agradable este período en el grupo. En especial, a Diego Benjumea, por su ayuda con los vuelos de los multirrotores, y a Alejandro Suárez, por sus consejos para la programación de los brazos robóticos. Y, por supuesto, a mi familia, mis amigos e Inma, por su apoyo y ánimo durante estos meses. Muchas gracias a todos. Carlos Álvarez Cía Estudiante de Grado en Ingeniería de Tecnologías Industriales Sevilla, 2022 I
Resumen En este Trabajo Fin de Grado se ha estudiado la influencia de la inercia de un brazo manipulador en un multirrotor utilizando un control desacoplado, es decir, un control independiente para el multirrotor y otro para el manipulador; ya que este es el esquema de control más extendido en multirrotores comerciales. Con este fin, se ha realizado en primer lugar un simulador, con objeto de definir unos límites aproximados de máxima inercia del manipulador y máxima velocidad de movimiento de este, a partir de los cuales el multirrotor deja de ser controlable con un esquema de control desacoplado. Tras esto, se ha realizado una verificación experimental de los resultados obtenidos en simulación, utilizando para ello un multirrotor con un manipulador de inercia variable diseñado expresamente para estos experimentos. Para facilitar los experimentos, se ha desarrollado una nueva Estación de Control en Tierra (GCS, Ground Control Station). Por último, una vez obtenidos los resultados experimentales, se ha construido otro brazo manipulador con la inercia adecuada atendiendo a los resultados anteriores, diseñado para realizar teleoperación. Para mejorar la precisión de la teleoperación, se ha construido otro brazo robótico que, junto a la GCS desarrollada, permite controlar el manipulador acoplado al UAV mediante la imitación de los movimientos de este nuevo brazo, que es movido por un operario desde Tierra. III
2Capítulo 1. Introducción En cuanto al control y estabilidad de los manipuladores aéreos, surge una importante complicación debida a los efectos de los movimientos relativos del brazo robótico con la plataforma aérea, que inducen fuerzas y momentos de reacción en el UAV. Además, por lo general se desplaza lateralmente el centro de masas del sistema completo y varía en general la distribución de masas del sistema. Por lo tanto, el desempeño de estos manipuladores aéreos dependerá en gran medida del esquema de control utilizado [16]. En la actualidad, se pueden dividir los esquemas de control más utilizados con manipuladores aéreos en dos grandes categorías, según el modelo dinámico utilizado: controladores acoplados y desacoplados. En los controladores desacoplados, la plataforma aérea y el manipulador se controlan de forma independiente, como dos sistemas separados [17,18]. Esto implica que las reacciones inducidas en la plataforma aérea se tomarán como perturbaciones externas. Estos métodos son apropiados cuando el manipulador tiene poco peso y baja inercia, como el manipulador de la figura 1.1a, o cuando la aplicación requiere un movimiento cuasiestático; dado que en estos casos la influencia del manipulador en la plataforma aérea será pequeña. En los controladores acoplados, se considera el modelo completo del sistema, teniendo en cuenta el acoplamiento dinámico entre la plataforma aérea y el manipulador [19,20]. Este método es necesario cuando se requiere una alta precisión de posición, o con manipuladores muy pesados o con una alta inercia, como el manipulador de la figura 1.1b. Aunque hay una división clara entre las dos estrategias principales de control de estos manipuladores aéreos, hay pocos estudios realizados que analicen cómo afecta la dinámica de movimiento del manipulador al control de la plataforma aérea, en función del tipo de movimiento y de la inercia y peso del manipulador. En [20] y [14], se compara el comportamiento del manipulador aéreo usando controladores basados en PID estándar (control desacoplado) y usando el método de control Integral Backstepping de parámetros variables (control acoplado). Sin embargo, en estos artículos, la inercia del manipulador se mantiene constante, por lo que los resultados obtenidos son válidos únicamente para estos valores de inercia. 1.1 Objetivos En este trabajo se pretende analizar la controlabilidad del multirrotor en función de la inercia del manipulador, utilizando un esquema de control desacoplado, ya que es el más utilizado en la práctica. Se busca definir unos límites de ratio de inercias manipulador Vs. plataforma aérea y de velocidad de movimiento relativo del manipulador a partir de los cuales un esquema de control desacoplado basado en PIDs en cascada no sea suficiente. Para esto, se realizarán pruebas tanto en simulación como experimentales modificando la velocidad de movimiento de las distintas articulaciones, con un manipulador cuya inercia pueda variar, modificando la longitud de los eslabones. Por último, una vez obtenidos los resultados de simulación y tras la verificación experimental, se ha seleccionado un diseño de brazo robótico que no comprometa la controlabilidad del multirrotor con velocidades razonables; implementando con este un sistema de teleoperación. Adicionalmente, se ha desarrollado una Estación de Control en Tierra para facilitar dicha teleoperación. 1.2 Estructura del documento Se ha dividido el trabajo desarrollado en 6 capítulos: • En el capítulo 2, se presenta el modelado matemático utilizado para llevar a cabo las simulaciones y se define también la variable adimensional ratio de inercias rI , utilizada para comparar las diferentes simulaciones y posteriores experimentos. Además, se muestra el esquema general seguido por el simulador. •En el capítulo 3, se presenta el esquema de control implementado para las simulaciones. • En el capítulo 4, se exponen los resultados de las diferentes simulaciones y las conclusiones obtenidas. • En el capítulo 5, se presenta el trabajo de diseño, montaje y programación de los brazos robóticos y de la plataforma aérea para llevar a cabo la verificación experimental.
1.2 Estructura del documento 3 • En el capítulo 6, se expone el desarrollo de la Estación de Control en Tierra diseñada para la verificación de las simulaciones y para realizar tareas de teleoperación. •En el capítulo 7, se presentan los resultados experimentales obtenidos. Por último, se expondrán las conclusiones del trabajo completo así como las futuras líneas de investigación que se podrían seguir.
2 Modelado matemático En este capítulo se desarrolla el modelo del hexarrotor y del manipulador de dos grados de libertad vinculado a su base empleado para realizar las simulaciones. Se define también el parámetro ratio de inercia manipulador-multirrotor que se empleará posteriormente tanto en simulación como en los experimentos para analizar los resultados. 2.1 Motivación para la realización de las simulaciones La inclusión de uno o más brazos manipuladores en multirrotores ha permitido su utilización en multitud de aplicaciones industriales, facilitando el trabajo a la hora de acceder a zonas complicadas para cualquier operario. En función de la tarea a realizar, puede ser conveniente cambiar el efector final del manipulador, o incluso cambiar las dimensiones físicas de este, como hacerlo más largo o más corto. Esto se traduce en cambios más o menos importantes en la inercia del manipulador. Por esto, se busca con estas simulaciones analizar la controlabilidad de un multirrotor en función de la inercia del manipulador frente a la del multirrotor. Se utilizará un control desacoplado, ya que es el que se empleará posteriormente en la plataforma real. Se simularán dos tipos distintos de movimientos, con diferentes velocidades y valores de inercia del manipulador, modificando las longitudes de los eslabones pero manteniendo constante la masa total del brazo. Se analizará así la influencia de los movimientos del manipulador en el comportamiento del multirrotor; definiendo qué inercia del manipulador y qué velocidad máxima de movimiento son aceptables para un esquema de control desacoplado basado en un PID en cascada. Tras esto, se seleccionará un diseño de manipulador adecuado para no perder la controlabilidad del multirrotor y se verificarán los resultados mediante experimentos. 2.2 Modelado dinámico Para poder llevar a cabo las simulaciones, es necesario en primer lugar determinar el modelo dinámico del multirrotor con el manipulador acoplado. Para simplificar el modelo, se han realizado las siguientes hipótesis: •La estructura del hexarotor es rígida. •La estructura del hexarotor es simétrica respecto a los tres ejes. •El empuje de un rotor es proporcional al cuadrado de la velocidad de rotación de la hélice. • La masa de los eslabones, fabricados en fibra de carbono, es despreciable frente a la masa de los servomotores y la masa del efector final. 5
6Capítulo 2. Modelado matemático 2.2.1 Ecuaciones de movimiento mediante Lagrange-Euler La dinámica completa de un multirrotor con un manipulador de dos grados de libertad debe tener en cuenta el acoplamiento de las dinámicas del multirrotor y del manipulador. El modelo dinámico del manipulador aéreo empleado en las simulaciones se ha derivado utilizando la formulación de Euler-Lagrange: d dt ∂L ∂˙ ξ−∂L ∂ξ =F(2.1) con L=T−V(2.2) donde L es el lagrangiano, T es la energía cinética, V es la energía potencial, ξ es el vector de coordenadas generalizadas y Fes el vector de fuerzas generalizadas. El vector de coordenadas generalizadas se define como: ξ= [pη γ1γ2]T∈R8(2.3) donde p= [xyz] es el vector de posición del centro de gravedad de la plataforma aérea respecto al sistema de coordenadas solidario a la Tierra {E}={XEYEZE} , η= [φ,θ,ψ] incluye los ángulos de Euler que definen la orientación del multirrotor, expresados en ejes cuerpo {B}={XBYBZB} y γ1 , γ2 son las coordenadas articulares del brazo robótico. En la siguiente figura se muestran dichas variables, los ejes de referencia y la numeración de los rotores: Figura 2.1 Representación del multirrotor con manipulador. Las fuerzas generalizadas F están compuestas tanto por las fuerzas y torques generados por los rotores, como por las fuerzas y torques externos no modelados, como puede ser el viento. Este vector se puede expresar como: F=F C+FExt (2.4) con
2.2 Modelado dinámico 7 F C= FM τM FS (2.5) donde FM∈R3 es el vector resultante de las fuerzas generadas por los rotores, τM∈R3 es el vector resultante de los pares generados por los rotores y FS∈R2 son los pares generados por los servomotores del brazo robótico. Siguiendo la hipótesis de que el empuje de un rotor es directamente proporcional al cuadrado de la velocidad de rotación de la hélice, se puede calcular los vectores de fuerzas y pares generados por los rotores conociendo la velocidad de giro de estos. Por lo tanto, los vectores FM= [FxFyFz]T y τM= [τxτyτz]T se pueden obtener combinando las fuerzas y torques generados por cada hélice: FM τM= Fx Fy Fz τx τy τz =A3x6CT C3x6CD+B3x6LCT ω2 1 ω2 2 ω2 3 ω2 4 ω2 5 ω2 6 (2.6) donde CT es el factor de empuje, CD es el factor de arrastre, que se estima como una décima parte de CT , L es la distancia desde el centro de gravedad hasta la posición del rotor y ωi es la velocidad de rotación del rotor i. Las matrices A3x6,B3x6yC3x6son: A3x6= 000000 000000 111111 (2.7) C3x6= 0 0 0 0 0 0 0 0 0 0 0 0 1−1 1 −1 1 −1 (2.8) B3x6= 1/2 1 1/2−1/2−1−1/2 √3/2 0 −√3/2−√3/2 0 √3/2 0 0 0 0 0 0 (2.9) Dado que se trata de un multirrotor con configuración de rotores coplanarios, las dos primeras filas de la matriz A3x6 son cero, lo que se traduce en que el multirrotor es incapaz de generar fuerzas laterales con respecto a los ejes cuerpo {B} , es decir, Fx=0 y Fy=0 . Esto implica que el control de posición y el de actitud estarán acoplados, ya que el multirrotor no puede desplazarse en el plano XY sin inclinarse. Se puede expresar el modelo dinámico del multirrotor con manipulador acoplado en la forma matricial habitual: M(ξ)¨ ξ+C(ξ,˙ ξ)+G(ξ) = F C+FExt (2.10) donde M(ξ) es la matriz de inercias, C(ξ,˙ ξ) representa las fuerzas centrífugas y de Coriolis y G(ξ) contiene las fuerzas gravitatorias. Cálculo de las matrices M,CyG La matriz de inercias M(ξ)se calcula con la siguiente expresión:
8Capítulo 2. Modelado matemático M(ξ) = (JT)−1MJ−1(2.11) donde Jes el jacobiano y Mes la siguiente matriz: m0 0 0 0 0 0m0 0 0 0 0 0 m0 0 0 000Ixx 0 0 0 0 0 0 Iyy 0 0 0 0 0 0 Izz (2.12) Se calcula M(ξ) por superposición en el CDG del multirrotor de las 3 matrices Mm(ξ) , Ml1(ξ) y Ml2(ξ) , siendo estas las matrices de inercia del multirrotor, primer eslabón y segundo eslabón, respectivamente. Para calcular cada matriz de inercia se debe obtener en primer lugar los jacobianos correspondientes. Para ello, se ha empleado el método de los twist, de forma que se describe el jacobiano en términos de giros y desplazamientos con respecto a un sistema de ejes solidario al multirrotor. Dado que lo que interesa es el jacobiano inverso, J−1, se calculará este directamente con las fórmulas obtenidas de [21]: J−1= [ζ1ζ2...ζn](2.13) ζi=Ad−1(eˆ ζiξieˆ ζi+1ξi+1...eˆ ζnξngst (0))ζ′ i(2.14) donde n es la dimensión del vector de estados ξ , en este caso n=8 ; ˆ ζi∈se(3) son giros y desplazamientos unidad y ζ′ i es el giro o desplazamiento unidad en la componente i . El vector gst (0) es el desplazamiento del punto que se ve afectado por los giros con respecto al punto de referencia. Cada columna ζi se corresponde con el giro o desplazamiento del cuerpo en el punto de referencia, en este caso el centro de gravedad del multirrotor, cuando la componente ide ˙ ξvale 1. Por otro lado, para obtener la matriz de términos de Coriolis y centrífugos se aplica la fórmula: Ci j(ξ) = 1 2 n ∑ k=1 ∂Mi j ∂ξk +∂Mik ∂ξj +∂Mk j ∂ξi!˙ ξk(2.15) donde M es la matriz de inercias del sistema completo M(ξ) a la que se le ha omitido la dependencia explícita con el estado ξ para facilitar la lectura, ξ es el vector de estado y ˙ ξ su derivada temporal, representando las velocidades lineales, angulares y articulares. Las variables i y j definen los índices del elemento en la matriz C, de tamaño 8x8. Por último, el cálculo de la matriz de términos gravitatorios Gse realiza mediante la fórmula: G(ξ) = ∂U ∂ξ (2.16) donde U es la energía potencial, que se puede calcular como la suma de la energía potencial del multirrotor, del eslabón 1 y del eslabón 2. 2.2.2 Modelo del manipulador Para realizar el modelado dinámico del manipulador, se ha simplificado despreciando las masas de los eslabones, ya que al estar realizados en fibra de carbono su masa será despreciable respecto a las de los servomotores y la carga del efector final. En la figura 5.20 se puede ver la distribución de masas del multirrotor con el brazo manipulador. La masa del brazo robótico está formada principalmente por los servomotores y la masa del efector final o carga.
2.3 Ratio de inercia Manipulador-Multirrotor 9 Dada la proximidad al centro de gravedad del primer servomotor, y teniendo en cuenta que no varía su posición con respecto a este, se ha simplificado el modelo del manipulador incluyendo la masa del primer servomotor en la masa total del multirrotor. Por lo tanto, el manipulador incluye la masa del segundo servomotor y del efector final. Estas masas serán consideradas puntuales a la hora de calcular las matrices de inercia. De esta forma, al calcular los momentos de inercia respecto al extremo del eslabón generados en los correspondientes ejes, se utilizarán las siguientes expresiones: Ixx =mL2 Iyy =mL2 Izz =0 (2.17) En la figura 2.2 se muestra el brazo manipulador con los ejes utilizados para calcular el momento de inercia de cada eslabón. Figura 2.2 Ejes de referencia en el manipulador. 2.3 Ratio de inercia Manipulador-Multirrotor Dado que el fin de estas simulaciones es analizar la controlabilidad de un multirrotor en función de la inercia del manipulador, se hace necesario definir algún parámetro que mida la importancia relativa de la inercia del manipulador frente a la del multirrotor. Debido a la geometría del brazo y a que su espacio de trabajo está contenido en el plano XBZB , influirá en mayor medida en la inercia con respecto al eje YB. Por lo tanto, se define el ratio de inercia manipuladormultirrotor como: rI=IRA YY IAP YY (2.18) donde IAP YY es la inercia de la plataforma aérea y IRA YY es la inercia del brazo robótico con respecto al centro de gravedad del multirrotor, expresadas en ejes cuerpo {B}={XBYBZB}. La inercia del brazo robótico con respecto al CDG del multirrotor se puede calcular, aplicando las simplificaciones mencionadas anteriormente, como:
10 Capítulo 2. Modelado matemático IRA YY =IRA1 YY +IRA2 YY (2.19) con IRA1 YY =L2 1MS(2.20) donde L1 es la longitud del primer eslabón y MS es la masa del segundo servomotor. En la figura 2.3 se representan las variables implicadas en el cálculo de la inercia del brazo: Figura 2.3 Variables del brazo. Por otro lado, IRA2 YY =L2 2EqMC(2.21) con L2Eq =qL2 1+L2 2−2L1L2cosγ2(2.22) donde L2Eq es la distancia del centro de masas del multirrotor a la carga del extremo del manipulador, obtenida a partir del teorema del coseno en función del ángulo de la segunda articulación γ2 ; MC es la masa de la carga en el extremo y L2es la longitud del segundo eslabón. Reuniendo las fórmulas anteriores, se puede expresar el ratio de inercia manipulador-multirrotor como: rI=L2 1MS+(L2 1+L2 2−2L1L2cosγ2)MC IAP YY (2.23) A la vista de la expresión anterior, teniendo en cuenta que la inercia del multirrotor, IAP YY es fija y las masas de la carga y del servomotor son constantes, se tienen dos opciones para variar el ratio de inercia: 1. Variar las longitudes de los eslabones, L1yL2 2. Variar el ángulo de la segunda articulación, γ2 La primera articulación no afecta al ratio de inercia. En consecuencia, tanto en simulación como en los experimentos se utilizará un brazo de con eslabones de longitud variable y se realizarán dos tipos de movimientos, uno en el que el ratio de inercia se mantendrá constante al no variar las longitudes ni el ángulo
2.4 Implementación en Matlab-Simulink 11 de la segunda articulación; y otro en el que se variará el ratio de inercia modificando el valor de la segunda articulación, γ2 2.4 Implementación en Matlab-Simulink Para el desarrollo de las simulaciones, se ha seleccionado el entorno Matlab-Simulink. El simulador tiene la estructura representada en la figura 2.4. Se ha partido del capítulo 4.2 de [22] para realizar la estructura del controlador. Figura 2.4 Simulador en Matlab-Simulink. Se pueden distinguir 2 bloques principales: 1. Control: En este bloque tiene lugar todo el proceso de control del multirrotor y del brazo manipulador. Como entradas, tiene el estado actual del manipulador aéreo y las referencias. Como salidas, las fuerzas y pares que se generan con los rotores y el manipulador. 2. System Dynamics: En este bloque se simula la dinámica completa del sistema. Tiene como entradas las fuerzas y pares generadas y como salida el estado del manipulador aéreo. Se tienen además 4 bloques adicionales: 1. Multirrotor y Controlador: En este bloque se puede elegir entre distintos multirrotores y controladores para la simulación, así como modificar las constantes de los controladores. También se puede elegir si se quiere aplicar un control que tenga en cuenta el modelo del brazo o hacerlo desacoplado. Aunque en este trabajo, solo se ha simulado para multirrotores coplanarios de seis hélices y con un control desacoplado, se ha desarrollado para simular multirrotores de cuatro hélices o seis hélices inclinadas y con controladores más complejos, para realizar comparativas en futuros trabajos.
18 Capítulo 3. Control de inercia del multirrotor, sin tener en cuenta el manipulador ya que se trata de un control desacoplado, se obtienen los pares de referencia necesarios. Cálculo de las velocidades de rotación Una vez que se tiene el vector completo de fuerzas y pares necesarios: Fx Fy Fz τx τy τz (3.1) se pueden obtener las velocidades de rotación de cada rotor a partir del mezclador, despejando el vector ω de la expresión 2.6. Sin embargo, al tratarse de un multirrotor con configuración de rotores coplanarios, la matriz del mezclador tiene las dos primeras filas nulas y por lo tanto no tiene rango completo, por lo que no puede calcularse su inversa. En su lugar, se obtienen las velocidades de rotación utilizando la pseudoinversa de Moore-Penrose, que es una generalización de la matriz inversa que permite calcular una solución mediante el método de mínimos cuadrados. La fórmula general de la pseudoinversa de Moore-Penrose es la mostrada en 3.2: A+= (ATA)−1AT(3.2) donde A+es la pseudoinversa. Dinámica de los rotores y cálculo de fuerzas y pares resultantes Una vez que se conocen los valores de ω necesarios para generar las fuerzas y pares de referencia, se puede calcular los valores de PWM que se deben aplicar a los motores.Para aumentar el realismo del simulador, se ha incluido la dinámica de los motores además de las restricciones de velocidad mínima y máxima. La respuesta en el empuje ante una variación de PWM en el motor se puede modelar como un sistema de primer orden, en el que la constante de tiempo τ se puede aproximar por unos 0.12s . Además, las velocidades de los motores deberán estar comprendidas entre: Vmin =0rad/s Vmax =KVmotorVbateria 2π 60 rad/s donde KVmotor es una característica del motor, que para el simulador se establece en 960rpm/V ya que este es el valor de los motores que se utilizarán en los experimentos; y Vbateria es la tensión de alimentación de los motores, que se establece en unos 14.8V . La tensión de la batería en los experimentos variará según su nivel de carga, pero siempre será mayor que 14.8V , de forma que se tendrá aún más capacidad de empuje y por lo tanto de actuación. Aplicando estos límites como saturaciones y añadiendo el retraso debido a la dinámica como una función de transferencia de primer orden, se obtienen las velocidades de rotación aplicadas en las hélices. Una vez que se conocen las velocidades de rotación de las hélices, se pueden obtener las fuerzas y pares resultantes en el centro de gravedad del multirrotor a partir del mezclador, aplicando de nuevo la ecuación 2.6. Estas fuerzas y pares, junto con los pares del manipulador, serán los que se empleen en la ecuación 2.24 para determinar la evolución del estado del sistema completo. 3.2 Controlador del manipulador Para el manipulador, se ha implementado un controlador tipo PID independiente para cada articulación. Dado que se dirige directamente por coordenadas articulares, tampoco es necesario realizar la cinemática inversa. El esquema de control se muestra a continuación:
3.2 Controlador del manipulador 19 Figura 3.5 PID servomotores. También se han saturado los pares máximos y mínimos que pueden ejercer los servomotores.
4 Resultados de las simulaciones En este capítulo se presentan los resultados obtenidos en las distintas simulaciones. Se han simulado dos tipos distintos de movimiento del manipulador, uno con ratio de inercias constante y otro en el que varía a lo largo del movimiento. Figura 4.1 Captura de una simulación. Para estudiar la controlabilidad del multirrotor con el brazo manipulador acoplado, se han simulado dos tipos distintos de movimiento en Matlab-Simulink. Los dos tipos de movimiento se han desarrollado para distintos valores de ratio de inercias rI y diferentes velocidades de movimiento del manipulador, manteniendo el multirrotor en hover. De esta forma, se han identificado los límites del sistema en cuanto a velocidades de movimiento y ratio de inercia rI . Más allá de estos límites, el sistema no es controlable con un sistema de control desacoplado y habría que plantearse diferentes soluciones como aumentar la complejidad del control o cambiar la plataforma aérea por otra con mayor capacidad de actuación, como un multirrotor de rotores inclinados que pueda ejercer 21
22 Capítulo 4. Resultados de las simulaciones fuerzas también en el plano XY . Para variar rI se ha modificado la longitud de los eslabones de forma que la longitud total del manipulador estirado alcanza desde 0.6mhasta 1.2m. 4.1 Movimiento A El objetivo de este primer experimento es analizar la controlabilidad del sistema con un movimiento periódico del manipulador. El manipulador realiza un movimiento como el de la figura 4.2 Figura 4.2 Algunos instantes del 1ºtipo de movimiento. En este movimiento, las articulaciones del manipulador cumplen las siguientes ecuaciones: γ1(t) = 90◦cosωt γ2(t) = 180◦∀t∈[0,+∞)(4.1) donde ω=2π/Tes la velocidad angular y Tes el periodo del movimiento. La evolución de γ1yγ2con ω=1.5rad/s(T≈4.2s)se representa en la figura 4.3 Figura 4.3 Evolución temporal de γ1yγ2en el primer movimiento. El movimiento se ha simulado para diferentes velocidades de movimiento ω y diferentes ratios de inercia rI , variando la longitud de los eslabones, es decir, variando L1 y L2 de forma que se mantenga la masa total
4.1 Movimiento A 23 del sistema pero varíe rI . Dado que este movimiento es periódico, se ha simulado durante el tiempo necesario para alcanzar, si existe, el régimen permanente. Teniendo en cuenta la expresión del ratio de inercia rI según la ecuación 2.23, durante el desarrollo de este movimiento el ratio de inercia permanece constante, es decir, rI=cte ∀t∈[0,+∞) , en este tipo de movimiento. En la figura 4.4 se muestra el error máximo en posición del multirrotor max(ep) para diferentes velocidades ωpara diferentes velocidades ωy diferentes ratios de inercia rI: Figura 4.4 Error máximo en posición frente a ωyrI. En la figura 4.5 se muestra el resultado de realizar cortes con ω=cte en la gráfica tridimensional de 4.4, mostrando el error en posición máximo del UAV max(ep)en función del ratio de inercia rI. Figura 4.5 Error máximo en posición frente a rIpara diferentes valores de ω.
24 Capítulo 4. Resultados de las simulaciones Como puede verse en las figuras 4.4 y 4.5, para bajas frecuencias de movimiento ω , el sistema se puede controlar y los errores en posición cometidos son pequeños. Además, se observa que si aumenta el ratio de inercias rI , el error aumenta para una misma ω . A su vez, si aumenta ω , se puede comprobar que aumenta el error para un valor de rIconstante. Estos resultados concuerdan con lo esperable, ya que si aumenta el tamaño del brazo, o lo que es lo mismo, rI ; o la velocidad de movimiento ω , las perturbaciones provocadas por el movimiento del brazo manipulador en el multirrotor son mayores y, por lo tanto, el error en posición aumenta. Se puede ver también que si ω aumenta mucho, el sistema se vuelve imposible de controlar con el controlador desacoplado implementado. Este límite de controlabilidad se representa como el aumento brusco del error en la figura 4.4. En la figura 4.5 se representa como una asíntota vertical. Se comprueba también que al aumentar ω , el límite de controlabilidad se da con ratios de inercias rI menores y las asíntotas verticales se desplazan hacia la izquierda, como puede verse en la figura 4.5. Tomando varios puntos (rI,ω) en los que se pierde el control, se puede representar la figura 4.6, que muestra las regiones de controlabilidad en el plano rI−ω . Utilizando esta figura, se puede conocer si una combinación de (rI,ω) resultará en un sistema controlable o no con un sistema de control desacoplado basado en PID en cascada. Figura 4.6 Regiones de controlabilidad en el 1ºtipo de movimiento. 4.2 Movimiento B En este segundo movimiento se analizará la controlabilidad del multirrotor con un movimiento de una única extensión-retracción del manipulador. En la figura 4.7 se representan algunos instantes de este movimiento. Se puede ver que el segundo eslabón se mantiene durante todo el movimiento paralelo al plano XY con respecto al sistema de ejes solidario al multirrotor {B} . Esto implica que la segunda articulación variará su valor con respecto al tiempo, lo que significa, según la ecuación 2.23, que el ratio de inercias rI no se mantendrá constante durante este movimiento, a diferencia del primer movimiento.
4.2 Movimiento B 25 Figura 4.7 Algunos instantes del 2ºtipo de movimiento. En este caso, las articulaciones γ1yγ2siguen las siguientes leyes de movimiento: γ1(t) = 75◦cos(ωt)si 0≤t≤T 75◦si t >T γ2(t) = 90◦−75◦cos(ωt)si 0≤t≤T 15◦si t >T (4.2) donde ω=2π/T es la velocidad angular y T es el tiempo total de movimiento. En la figura 4.8 se muestra la evolución temporal de las articulaciones γ1yγ2. Figura 4.8 Evolución temporal de γ1yγ2en el segundo movimiento. Al igual que se hizo con el primer movimiento, se ha realizado este segundo tipo de movimiento para diferentes velocidades ω y valores diferentes de ratios rI . Se ha representado también el error máximo de posición del UAV para diferentes valores de ωy de rI, como se muestra en la figura 4.9.
26 Capítulo 4. Resultados de las simulaciones Figura 4.9 Error máximo en posición frente a ωyrI, para 2ºmovimiento. Y también se ha representado el error máximo en posición max(ep) en función del ratio de inercias rI para diferentes ω, como puede verse en la figura 4.10. Figura 4.10 Error máximo en posición frente a rIpara distintas ω, para 2ºmovimiento. Se comprueba que los resultados obtenidos son muy parecidos a los obtenidos en con las simulaciones del primer tipo de movimiento: si aumenta el ratio de inercias rI o la velocidad de movimiento ω , aumenta el error máximo en posición cometido durante el movimiento; llegándose en algunos casos a perder el control del UAV. Esta pérdida de control se muestra como asíntotas verticales en la figura 4.10. Si se representan las regiones en las que el sistema es controlable en función de (rI,ω) , se obtiene un mapa como el mostrado en la figura 4.11, que al igual que antes puede servir para, conociendo una combinación de (rI,ω) , determinar si el sistema se va a poder controlar o no.
4.3 Conclusiones de las simulaciones 27 Figura 4.11 Regiones de controlabilidad, para 2ºmovimiento. Si se compara este mapa de controlabilidad con el obtenido con el primer tipo de movimiento, se puede observar que la curva de separación entre regiones se ha desplazado hacia la derecha, aumentando por tanto el área en la que la combinación de (rI,ω) da como resultado un sistema controlable con un PID en cascada desacoplado. 4.3 Conclusiones de las simulaciones Con estas simulaciones se ha realizado un análisis de la controlabilidad de un multirrotor con un brazo manipulador de dos grados de libertad acoplado utilizando como método de control un PID en cascada desacoplado. El objetivo ha sido determinar los límites de controlabilidad del sistema en función de distintos valores de ratio de inercias rI y distintas velocidades de movimiento ω . Estos límites se han representado en las figuras 4.6 y 4.11. Se han realizado dos tipos de experimentos, uno en el que la relación entre la inercia del multirrotor y del brazo manipulador, rI , permanecía constante durante todo el movimiento, que además era periódico; y otro en el que rI variaba durante un movimiento de extensión-retracción. Comparando los resultados, se puede concluir que el movimiento de tipo B afecta menos a la controlabilidad del multirrotor que el movimiento tipo A. Por lo tanto, se elegirá el mapa de la figura 4.6 para el diseño del manipulador al ser el más restrictivo de los dos. A partir de estos resultados y tras la verificación experimental, se puede seleccionar un diseño de brazo manipulador que tenga un ratio de inercias rI que, junto con las velocidades de movimiento previstas ω , no comprometa la controlabilidad del multirrotor.
34 Capítulo 5. Diseño, montaje y programación Figura 5.10 Configuraciones del manipulador aéreo. a) Configuración de menor rI:L1,2=LMin;γ1=−90◦;γ2=0◦ b) Configuración de mayor rI:L1,2=LMax;γ1=90◦;γ2=180◦ Las características principales del brazo robótico se muestran en la tabla 5.3. Se ha incluido solo la inercia IRA YY ya que es la que se utiliza para el cálculo del ratio de inercias rI. Tabla 5.3 Características principales del brazo robótico. Parámetro Valor Masa (sin carga) 0.45 [kg] Masa de la carga 0.25 [kg] Servomotor del hombro Herkulex-DRS-0602 Servomotor del codo Herkulex-DRS-0402 Rango de longitudes de los tramos, L1and L2[0.30; 0.60] [m] Rango de inercia IRA YY (con carga) [0.02; 0.5] [kg·m2] Tensión de alimentación 12 [V] Figura 5.11 Brazo completo.
5.2 Diseño del manipulador aéreo para teleoperación 35 5.2 Diseño del manipulador aéreo para teleoperación Tras la realización de los experimentos para la verificación de las simulaciones, presentados en el capítulo 7, se ha podido comprobar que el brazo robótico con una longitud de unos 60 cm no compromete la controlabilidad del multirrotor con velocidades de movimiento razonables. Además, esta longitud resulta en un diseño bastante compacto cuando el brazo se encuentra recogido, sin que sobresalga excesivamente el manipulador del cuerpo del multirrotor como puede verse en la figura 5.12. De esta forma se facilita el transporte y se evitan riesgos de rotura por golpes. Por otro lado, es un tamaño suficientemente grande como para poder alcanzar objetos a una distancia segura de las hélices del multirrotor, tal y como se observa en la figura 5.13. Figura 5.12 Multirrotor con brazo manipulador acoplado. Figura 5.13 Manipulador aéreo tratando de coger un objeto. El diseño del brazo manipulador que va acoplado al multirrotor para teleoperación es muy similar al utilizado para la verificación de las simulaciones. Las piezas de unión con los servomotores son prácticamente
36 Capítulo 5. Diseño, montaje y programación idénticas, adaptando los diámetros interiores de las entradas a los tubos de carbono, ya que ahora solo hay un diámetro de tubo por cada tramo al no necesitar un brazo telescópico. Para poder agarrar objetos, se ha diseñado una pieza para el extremo del manipulador, que puede verse en la figura 5.14. Esta pieza está también fabricada con PLA en una impresora 3D. Figura 5.14 Diseño de la garra del brazo del UAV. 5.2.1 Montaje y programación del manipulador aéreo El montaje del manipulador en el multirrotor se realiza de la misma forma que con el manipulador telescópico empleado para la verificación de las simulaciones, ya que los servomotores, y en concreto el del hombro que es el que se engancha al multirrotor, siguen siendo los mismos. Para el control del brazo robótico, se conectan los servomotores mediante un cable USB a la Raspberry Pi del multirrotor. Los servomotores Herkulex tienen un propio controlador integrado, de forma que se les puede enviar referencias en ángulo o velocidad directamente. Dado que el brazo robótico del multirrotor tiene un modo esclavo, en el que debe copiar las posiciones de otro brazo maestro controlado desde el ordenador de Tierra, se le enviarán las referencias en ángulo. Para ello, se ha desarrollado un programa en C++ que se encarga de: 1. Conexión con el ordenador en Tierra. 2. Envío de referencias de posición al manipulador. 3. Envío del estado actual de las articulaciones al ordenador en Tierra. 4. Control para parada de emergencia del manipulador. La conexión con el ordenador en Tierra se realiza mediante protocolo UDP, salvo un socket de seguridad que utiliza protocolo TCP, de forma que el manipulador aéreo no comience su movimiento hasta haberse conectado correctamente con la estación de control en Tierra GRVC GCS, detallada en el capítulo 6. Además, este socket se utiliza para el envío de los mensajes de parada de emergencia para asegurar su transmisión. El envío de referencias de posición a los servomotores se puede hacer de 4 formas distintas, según el movimiento que se quiera realizar: 1. Una posición concreta 2. Un movimiento senoidal, en el que se puede especificar tanto la amplitud como la frecuencia. 3. Un movimiento de extensión-retracción, en el que se puede especificar la velocidad de movimiento. 4. Posiciones concretas en función del estado del brazo maestro, para el control en modo esclavo. El programa se encarga de realizar las interpolaciones necesarias entre diferentes posiciones para evitar movimientos bruscos de los servomotores que podrían comprometer el control del multirrotor. La estructura interna del programa es la siguiente:
5.3 Diseño del manipulador en Tierra 37 Figura 5.15 Estructura de Arm.exe. Como se puede ver en la figura 5.15, el proceso de control de los brazos está formado por 4 hilos: 1. Main: Es el hilo principal del proceso. Tras inicializar todas las variables necesarias y el resto de hilos, se encarga de enviar las referencias de posición a los servomotores. 2. Recepción: Este hilo espera peticiones de movimiento por parte de GRVC GCS. Al llegarle un mensaje, procesa la información y genera las referencias de posición que tomará Main para enviar a los servomotores. 3. Envío: Este hilo lee las posiciones articulares de los servomotores y las envía a GRVC GCS para la representación en pantalla del brazo robótico. 4. Parada de emergencia: Este hilo se encarga de la conexión por el socket de seguridad TCP con GRVC GCS. Si le llega una petición de parada o se rompe la conexión, detiene el brazo robótico inmediatamente. Hasta que este socket TCP no esté correctamente conectado, el hilo Recepción se mantendrá esperando, sin atender las peticiones de movimiento que le pudiesen llegar, manteniendo el brazo robótico quieto en posición home hasta estar vinculado este socket de seguridad con GRVC GCS. La transmisión de información entre GRVC GCS y ARM.exe se realiza mediante estructuras de tipo C/C++. Dado que GRVC GCS está desarrollada en Python como se indica en 6, es necesario utilizar la biblioteca Ctypes para compatibilizar las estructuras típicas del lenguaje C/C++ con las de Python. De esta forma, GRVC GCS convierte los mensajes a estructuras de tipo C/C++ antes de enviarlas por el socket, y convierte las estructuras que le llegan a tipos de variables comunes en Python. 5.3 Diseño del manipulador en Tierra Para las operaciones de teleoperación, se cuenta con un modo de control denominado esclavo, en el cual el manipulador acoplado al multirrotor debe replicar los movimientos realizados por otro manipulador cuyo movimiento controla un operario. Para este segundo manipulador, denominado master, se ha utilizado un diseño similar al manipulador del multirrotor, ya que debe contar también con dos grados de libertad que permitan un espacio de trabajo equivalente. Los eslabones se han realizado también con fibra de carbono y las uniones entre estos y los servomotores se realiza con piezas de PLA impresas en 3D y algunos adaptadores de aluminio. A diferencia del otro manipulador, dado que este será manipulado por el operador y que no debe ejercer esfuerzos, se han seleccionado para las articulaciones servomotores menos potentes, en este caso los Herkulex DRS-0201, que tal y como se mostró en la tabla 5.2 son los servomotores disponibles en el laboratorio con menor par de bloqueo.
38 Capítulo 5. Diseño, montaje y programación Figura 5.16 Brazo robótico master. El brazo se ha construido con una relación de escala de 3:4 con respecto al manipulador del multirrotor, que resulta en un tamaño apropiado para su manipulación desde Tierra manteniendo una alta semejanza con el manipulador del multirrotor. En la figura 5.16 se muestra el manipulador master. 5.3.1 Montaje y programación del manipulador en Tierra Para facilitar las tareas de teleoperación, se ha montado el brazo robótico master en una estructura que permita una manipulación sencilla por parte del operario, como puede verse en la figura 5.17. Figura 5.17 Estructura para brazo manipulador master. En cuanto a la programación de este manipulador, es el programa GRVC GCS, detallado en el capítulo 6, el encargado de su control. En primer lugar, establece la conexión con él mediante el puerto USB del ordenador, creando un puerto serie virtual. Tras esto, configura los servomotores desactivando el torque de estos, de forma que no ejerzan resistencia frente al movimiento, ya que será un operario el encargado de moverlo con la mano.
5.4 Ensamblado del multirrotor y programación del autopiloto. 39 Por último, el hilo de GRVC GCS encargado del manipulador maestro lee las posiciones de las articulaciones para enviarlas como referencias al manipulador del multirrotor, además de representar en pantalla la posición del brazo en tiempo real. 5.4 Ensamblado del multirrotor y programación del autopiloto. El multirrotor utilizado, con los distintos elementos señalados, se muestra en la figura 5.18. Se ha utilizado el frame comercial DJI F-550, con los adaptadores [figura 5.18[3]] de ABS impreso en 3D para aumentar el espacio disponible para la electrónica. Figura 5.18 Multirrotor y componentes I. Los motores utilizados son los DJI E305 2312E [figura 5.18[7]], de 960 kv, con los variadores ESC XRotor 40A [figura 5.18[8]] y las hélices DJI E310 9450 [figura 5.18[9]]. Esta combinación de rotores y hélices, con los valores de empuje dados por el fabricante, es la que se ha utilizado en las simulaciones. Se ha impreso el tren de aterrizaje [figura 5.18[10]] del multirrotor en PLA, con la altura suficiente como para que el brazo robótico, que está en la parte inferior del multirrotor, no se dañe al aterrizar estando en su posición home. El brazo robótico [figura 5.18[4,5,6]] se ha enganchado al multirrotor en la placa central inferior, utilizando unas piezas para el anclaje realizadas en aluminio. En cuanto a la cámara [figura 5.19[11]], se ha colocado en la parte superior del multirrotor, con una pequeña pieza impresa en 3D para orientarla correctamente hacia abajo. En cuanto a la alimentación del sistema, se utiliza una batería de tipo LiPo de 4 celdas de 5300 mAh [figura 5.18[2]], cuya tensión en función del nivel de carga está en torno a 16 V. Esta batería alimenta a los rotores, a toda la electrónica y a los servomotores. Dado que estos últimos se alimentan a 12 V, como puede verse en la tabla 5.3, es necesario el uso de un convertidor DC-DC reductor como el de la figura 1.15 del anexo 1 para hacer compatible la batería con los servomotores.
40 Capítulo 5. Diseño, montaje y programación Figura 5.19 Multirrotor y componentes II. En cuanto a la electrónica, se ha utilizado una Raspberry Pi 3 [figura 5.18[1]] para el control del multirrotor. Además, a esta se conectan tanto el brazo robótico como la cámara. Para utilizar la Raspberry Pi 3 como autopiloto, es necesario también la placa Navio 2, que se coloca sobre la Raspberry y contiene todo lo necesario para controlar un multirrotor: salidas PWM para los variadores ESC, sensores inerciales, entrada para señal GPS, entrada para señal del receptor de radiocontrol... La distribución de masas del sistema con todo lo necesario, una vez ensamblado, se muestra en la figura 5.20. Figura 5.20 Distribución de masas. Para el control del multirrotor, se utiliza el software libre ArduPilot [23], en su versión Arducopter (diseñado para multirrotores y helicópteros). Para utilizar la placa Navio 2, se debe utilizar el software que ofrece Emlid
5.4 Ensamblado del multirrotor y programación del autopiloto. 41 en su página oficial, que viene con Ardupilot y ROS preinstalados. Por lo tanto, para utilizar Ardupilot, simplemente se tiene que elegir el frame correspondiente al multirrotor, un hexarrotor con configuración X; y tras esto, calibrar los sensores de la Navio, los variadores ESC y el mando radiocontrol.
6 Desarrollo de la Estación de Control en Tierra (GCS) En este capítulo se presentará la Estación de Control en Tierra (Ground Control Station, GCS) desarrollada, llamada GRVC GCS. En primer lugar, se explicarán las principales diferencias respecto a las GCS ya disponibles en el mercado y la motivación de su desarrollo. Tras esto, se describirá su estructura y funcionamiento. Figura 6.1 GRVC GCS. 6.1 Motivación para el desarrollo de la GCS Actualmente, existen multitud de Estaciones de Control en Tierra disponibles para supervisar y controlar los vuelos de los multirrotores, muchas de ellas gratuitas y compatibles con distintos autopilotos, como son QGround-Control [24], Mission Planner [25] o MAVProxy [26]. Sin embargo, estas GCS están pensadas principalmente para el vuelo de vehículos aéreos (tanto ala fija como multirrotores) en exteriores, con las siguientes desventajas: • Dificultad en la integración del sistema de posicionamiento Optitrack: Al estar diseñadas para vuelos en exteriores, el sistema de posicionamiento más empleado es el GPS. Si bien MAVProxy tiene disponible un módulo para el uso de Optitrack, su uso es poco intuitivo, requiere seguir extrictamente una secuencia de pasos y no muestra por pantalla de forma directa la posición del multirrotor. 43
50 Capítulo 6. Desarrollo de la Estación de Control en Tierra (GCS) • Mensajes generales de estado: Se escriben en una consola general los mensajes generales del estado del autopiloto (inicializándose, reiniciándose, listo para volar...). • Mensajes de confirmación de recepción de comandos: Se escribe en la consola general los mensajes referentes a la confirmación de la recepción de un comando. Con algunos comandos, también escribe si han sido ejecutados y el resultado. Estos indicadores se encuentran repartidos por la interfaz de la GCS, como puede verse en la figura 6.1. Envío de comandos Se han habilitado diferentes botones en la GCS para agilizar el envío de los comandos más empleados, como son: • Armar/Desarmar: Este botón permite armar el multirrotor sin mando de radiocontrol. Sin embargo, dado que esta acción es un tanto peligrosa, requiere una doble verificación por parte del usuario. Una vez que el multirrotor está armado, ya sea mediante este botón o a través del mando radiocontrol, su función es forzar el desarmado del multirrotor (esta acción no requiere doble verificación). •Test de motores: Este botón permite realizar un checkeo de los motores activándolos por orden. • Reinicio del autopiloto: Permite reiniciar el autopiloto. Conveniente si se detectan errores en la estimación o se ha bloqueado por algún motivo. •Modo Guiado: Permite cambiar el modo de vuelo a Guiado. • Establecer posición Home: Define la posición actual del multirrotor como la posición home, necesario para algunas acciones (aterrizar automáticamente en el lugar de despegue, por ejemplo). • Aterrizar: Envía al autopiloto la orden de aterrizar automáticamente. La bajada la realiza de forma controlada y en la misma vertical. • Despegar: Envía al autopiloto la orden de despegar automáticamente. Se le puede pasar como parámetro la altura deseada, estando limitada a 5 metros por seguridad ya que está pensado para vuelos en interiores. Además, se ha incluido un botón para poder enviar cualquier comando, conociendo el número identificativo de este y sus argumentos, que se introducen en campos de texto. Para facilitar la tarea, se ha incluido un acceso directo a la página web donde se definen todos los comandos. Figura 6.7 Apartado dedicado a los comandos. 6.5 Funciones adicionales GRVC GCS A continuación, se explicarán algunas de las funciones adicionales de la GCS que la diferencian de otras como MAVProxy o Mission Planner. 6.5.1 Control del manipulador Esta estación de control está dotada de una sección específica para controlar el brazo manipulador. La conexión con el manipulador es independiente de la conexión con el autopiloto. Dispone de su propio botón
6.5 Funciones adicionales GRVC GCS 51 para conectar, que lanzará el programa de control del brazo en la Raspberry Pi y realizará las conexiones de forma automática. Toma como argumento el nombre de la Raspberry Pi especificado en el cuadro de conexiones, de forma que tampoco es necesario introducir direcciones IP manualmente. Una vez que se haya vinculado correctamente, el indicador mostrará por pantalla el estado de la conexión y aparecerá una nueva ventana con un gráfico que representa la configuración en tiempo real del manipulador. Si se está controlando el manipulador en modo esclavo, aparecerán representados ambos brazos robóticos, el manipulador del multirrotor en línea discontinua y el manipulador master en línea continua, como puede verse en la figura 6.8. Figura 6.8 Representación de los brazos en tiempo real. Se dispone de los siguientes botones: • Home: Ordena mover el brazo hasta su posición definida como home, que, por conveniencia a la hora de despegar y aterrizar, se ha establecido en 90ºpara la primera articulación y -180ºpara la segunda. •Enviar posición: Ordena mover el brazo hasta una posición determinada. • Senoidal: Envía la orden de realizar un movimiento senoidal con la primera articulación, manteniendo la segunda completamente estirada. Toma como parámetros la amplitud y velocidad del movimiento, en grados y radianes por segundo, respectivamente. • Alcance: Envía la orden de realizar un movimiento que simula un manipulador alcanzando algún objeto. El brazo se estirará y recogerá una vez. Toma como parámetro la velocidad del movimiento en radianes por segundo. • Modo Esclavo: Establece el modo de control esclavo del manipulador. Establece la conexión con el brazo en tierra conectado mediante puerto serie y que será el que dirija los movimientos del otro brazo. En pantalla, aparecerán los dos brazos en la misma ventana. Para salir de este modo de control, basta con volver a pulsar el botón. • Parada de emergencia: Este botón envía un mensaje de parada de emergencia al proceso de la Raspberry Pi por TCP, que detiene automáticamente el movimiento del brazo.
52 Capítulo 6. Desarrollo de la Estación de Control en Tierra (GCS) • Abajo: Ordena mover el brazo hasta orientar los dos eslabones hacia abajo, es decir, a 0ºcada articulación. En la figura 6.9 se muestra el apartado dedicado al control del brazo robótico. Figura 6.9 Apartado dedicado al brazo robótico. 6.5.2 Streaming de vídeo Para facilitar las tareas de teleoperación, se ha dotado al multirrotor de una cámara USB. Mediante el botón de Streaming se activa el proceso correspondiente a la captura y envío de imágenes en la Raspberry Pi. En la GCS se activa el hilo de recepción de vídeo y se muestra la imagen por pantalla en una nueva ventana. La recepción y representación de las imágenes está en un hilo independiente para no retrasar otras tareas de la GCS. El protocolo empleado para la transmisión de información es UDP, ya que no importa perder algún frame pero es relevante que la velocidad sea lo más alta posible. Para evitar retrasos en la transmisión de imágenes cuando la conexión disponible es mala, se ha optado por reducir la calidad de imagen hasta una resolución baja pero suficientemente alta como para poder teleoperar sin dificultad. La resolución a la que se captura y se envían las imágenes es de 213x120 píxeles. Una vez recibida la imagen en la GCS, se aumenta mediante interpolación la resolución hasta un tamaño de 800x600 píxeles antes de mostrarla por pantalla. Dado que el streaming se empleará principalmente para tareas de teleoperación con el brazo robótico, se ha colocado el botón para activarlo en el apartado dedicado al control del manipulador, tal y como puede verse en la figura 6.9. 6.5.3 Definición de WayPoints Se dispone en la GCS de un apartado dedicado a la carga de WayPoints y al envío de dichos WayPoints al multirrotor. Figura 6.10 Apartado dedicado a WayPoints. La definición de los WayPoints se realiza mediante un fichero de texto plano, .txt, con un formato sencillo e intuitivo en el que se definen las coordenadas deseadas y las velocidades. Se pueden definir los WayPoints tanto en ejes locales del Optitrack como en ejes relativos al cuerpo del multirrotor. Para ello, se debe indicar previamente a la definición del WayPoint "Relativo" o "Absoluto". En dicho fichero, se pueden incluir comentarios mediante el uso del carácter # antes de la línea correspondiente, de forma que se pueda describir cada WayPoint e incluir información adicional. En la figura 6.11 se puede ver un ejemplo de un fichero de especificación de WayPoints.
6.6 Aspectos importantes de seguridad 53 Figura 6.11 Archivo de WayPoints de ejemplo. Al pulsar el botón de cargar WayPoints se abre un selector de archivos para seleccionar el .txt correspondiente. Tras esto, se procesa para cargar los WayPoints en variables internas del programa. Si se detecta algún fallo o incompatibilidad en el archivo, se informa al usuario por consola, y en caso de éxito se muestra en un indicador el archivo cargado. Para comenzar la ruta se debe pulsar el botón correspondiente y, para los siguientes WayPoints, se debe pulsar el botón de siguiente WayPoint. Se va informando al usuario en la consola del WayPoint enviado o si ya no quedan más puntos en la ruta. 6.6 Aspectos importantes de seguridad En el desarrollo de esta GCS se han tenido en cuenta diversos aspectos relativos a la seguridad. • Se ha otorgado especial importancia a conocer el estado de la conexión de forma rápida y fiable. Si se ha roto la conexión, los indicadores de ARMADO/DESARMADO pueden estar desactualizados, lo que conlleva cierto riesgo si se debe manipular el multirrotor o estar cerca de él. • Se ha configurado el indicador de ARMADO de forma que solo indique DESARMADO si realmente ha llegado un mensaje indicando que este es el estado del multirrotor. Por ejemplo, tras pulsar el botón de DESARMAR, no se actualizará el indicador hasta que no llegue la confirmación por MAVLink. • Los botones más críticos, como pueden ser apagar la Raspberry, reiniciarla, armar el multirrotor o realizar un test de los motores, requieren una doble confirmación por parte del usuario, para evitar pulsaciones accidentales. • En acciones que pueden conllevar cierto riesgo, como despegar o realizar un test de los motores, se comprueba que el valor introducido en los campos (altura deseada o porcentaje de empuje de los motores) tenga un valor adecuado o de lo contrario se informa al usuario por la consola y no se realiza la acción. • El proceso de control del brazo mantendrá la posición home hasta que se haya vinculado correctamente el socket TCP de parada de emergencia. Momento a partir del cual podrá aceptar peticiones de movimiento. • El lanzamiento de procesos en la Raspberry Pi desde la GCS verifica previamente que no esté ya dicho proceso activo, para evitar problemas de dos procesos iguales corriendo simultáneamente e intentando controlar el mismo dispositivo.
7 Resultados experimentales En este capítulo se presentan los resultados obtenidos tras la realización de los experimentos. En primer lugar, se presentarán los resultados experimentales con el brazo de inercia variable montado en el multirrotor, realizando los diferentes movimientos de las simulaciones a diferentes velocidades; y, en segundo lugar, se presentarán los resultados experimentales con el brazo robótico diseñado para teleoperación. 7.1 Experimentos con manipulador de inercia variable Para la verificación de los resultados de simulación, se han realizado experimentos con el brazo robótico con eslabones telescópicos. Durante las pruebas, se han realizado los dos tipos de movimientos que se realizaron en las simulaciones: • Movimiento A: Se realiza un movimiento periódico en la primera articulación, manteniendo la segunda con un valor constante. De esta forma, el ratio de inercia rI es prácticamente constante durante el movimiento.Se representan algunos instantes del movimiento en la figura 7.1 Figura 7.1 Algunos instantes del movimiento. 55
56 Capítulo 7. Resultados experimentales • Movimiento B: Se realiza un único movimiento de extensión-retracción del manipulador. En este caso, el ratio de inercias rI sí varía durante el movimiento. Se representan algunos instantes del movimiento en la figura 7.2 Figura 7.2 Algunos instantes del movimiento B. Para cada tipo de movimiento, se realizarán dos experimentos, uno de ellos con la combinación de valores de ratio de inercias rI y velocidad de movimiento ω dentro de la zona controlable; y otro con una combinación que en simulación dio como resultado la pérdida de controlabilidad del multirrotor. Para evitar la caída del multirrotor, con el riesgo de rotura de componentes, se han realizado los vuelos con una cuerda de forma que si el multirrotor pierde el control lo sujetará para evitar la caída. Se puede ver la configuración resultante en la figura 7.3. Figura 7.3 Multirrotor con cuerda.
7.1 Experimentos con manipulador de inercia variable 57 Para aumentar la inercia del brazo robótico, se aumenta su longitud, resultando en la configuración que se muestra en la figura 7.4. Figura 7.4 Multirrotor con cuerda y brazo de mayor longitud. 7.1.1 Movimiento A Se analizarán las gráficas PWM para el movimiento periódico continuo de la primera articulación para el caso controlable y no controlable; así como las gráficas de los ángulos roll ypitch frente al tiempo medidos por el multirrotor. Para ello, se realizan los experimentos tomando las combinaciones de (rI,ω) indicadas en la figura 7.5, gráfica que se obtuvo tras analizar los resultados de las simulaciones. Figura 7.5 Combinaciones (rI,ω)tomadas para los experimentos con movimiento tipo A. Es decir, se tomará, para el primer experimento: rI=3.4[−] ω=0.7[rad/s]
58 Capítulo 7. Resultados experimentales Y, para el segundo experimento: rI=14[−] ω=2.5[rad/s] Los resultados obtenidos en cada caso se muestran a continuación. Combinación (rI,ω)controlable En este experimento, la combinación rI=3.4[−] ω=0.7[rad/s] resulta en un movimiento que provoca unas reacciones en el multirrotor que no lo descontrolan. En la siguiente figura, se observa la trayectoria seguida por el multirrotor durante el movimiento de las articulaciones: Figura 7.6 Trayectoria seguida por el UAV. Los valores máximos y mínimos alcanzados en cada eje, así como las coordenadas del WayPoint se muestran en la tabla 7.1. Tabla 7.1 Valores máximos, mínimos y WP. WP MAX MIN ∆ X [m] -0.5 0.21 -1.09 1.3 Y [m] 0.25 0.35 0.11 0.24 Z [m] 1.65 1.94 1.60 0.34 Se comprueba que la componente que se ve más afectada por el movimiento del manipulador es la X , con una variación unas 5 veces mayor que en los otros ejes. Se muestra también cómo afecta el movimiento del manipulador a los ángulos de orientación roll ypitch:
7.1 Experimentos con manipulador de inercia variable 59 Figura 7.7 Ángulo de roll φ. Figura 7.8 Ángulo de pitch θ. Como era de esperar, el ángulo que se ve más afectado es el de pitch, ya que el brazo robótico se mueve en el mismo eje que dicho giro. Además, se observa como, dado que el movimiento del brazo apenas afecta a la posición del multirrotor en el eje Y , la referencia del ángulo de pitch toma valores cercanos a 0. Además, el ángulo real sigue de forma prácticamente perfecta al ángulo deseado. Sin embargo, no ocurre lo mismo con el eje X , donde sí varía bastante la posición del multirrotor debido al movimiento del brazo robótico, tal y como se mostró en la figura 7.6. Por lo tanto, el control de posición intenta corregir comandando unos valores de pitch más altos, pero el multirrotor no puede seguir la referencia debido al movimiento del manipulador, que está ejerciendo un par en sentido contrario al deseado. En la figura 7.9 se observa que los valores PWM de los rotores no llegan a saturar y se mantienen siempre por debajo de 1800 µs . Se puede destacar también como los valores de los motores 1 y 6, y los de los motores 3 y 4 (figura 2.1), varían de forma similar. Además, cada pareja varía de forma opuesta con respecto a la otra. Esto se debe a que estos motores son los que más contribuyen al giro con respecto a pitch.
66 Capítulo 7. Resultados experimentales Tabla 7.4 Valores máximos, mínimos y WP. WP MAX MIN ∆ X [m] 0.00 1.68 -2.13 3.81 Y [m] 0.50 0.91 -0.08 0.99 Z [m] 2.20 2.35 1.28 1.07 Los valores PWM aplicados a los motores durante el experimento se muestran en la figura 7.20. A partir del segundo 966 se pararon los motores debido al descontrol del multirrotor. Figura 7.20 Valores PWM de los motores. Se muestra también cómo afecta el movimiento del manipulador a los ángulos de orientación roll ypitch: Figura 7.21 Ángulo de roll φ.
7.2 Experimentos con manipulador para teleoperación 67 Figura 7.22 Ángulo de pitch θ. 7.2 Experimentos con manipulador para teleoperación En esta sección, se analizarán los resultados obtenidos tras realizar experimentos con el brazo manipulador para teleoperación, que como se vió en el capítulo 5 tiene un diseño más pequeño para evitar entrar en las zonas de no controlabilidad del multirrotor. En primer lugar, se mostrarán los resultados tras realizar un recorrido de WayPoints por el multirrotor. Tras esto, se mostrarán los resultados obtenidos al mover el brazo del multirrotor realizando los dos tipos de movimiento estudiados anteriormente y por último, se ha realizado un experimento en el que se coge un objeto con la garra utilizando el modo de control esclavo. 7.2.1 Prueba de seguimiento de trayectoria Los WayPoints definidos para la trayectoria fueron los siguientes: Tabla 7.5 Coordenadas de los WayPoints. Inicial WP1 WP2 WP3 WP4 WP5 Final X [m] -4.8 -4.8 -2.8 -2.8 -4.8 -4.8 -4.8 Y [m] 3.0 3.0 3.0 1.0 1.0 3.0 3.0 Z [m] 0.0 2.0 2.0 2.0 2.0 2.0 0.0 En la figura 7.23 se puede ver la trayectoria real seguida por el multirrotor. En la figura 7.24 se muestran algunas fotografías del multirrotor en cada WayPoint.
68 Capítulo 7. Resultados experimentales Figura 7.23 Trayectoria y WayPoints. Figura 7.24 Algunos instantes en la trayectoria.
7.2 Experimentos con manipulador para teleoperación 69 7.2.2 Pruebas con movimiento A En la figura 7.1 se adjuntan algunas fotografías con los instantes más relevantes del experimento: 1. Posición inicial 2. Comienzo del movimiento 3. Un extremo del movimiento del brazo 4. El otro extremo del movimiento 5. Posición final del multirrotor Las gráficas del movimiento seguido por las articulaciones del hombro (arriba) y del codo (abajo) se muestran en las siguientes gráficas: Figura 7.25 Coordenadas articulares frente al tiempo. Es decir, las articulaciones siguen las siguientes leyes del movimiento: γ1(t) = 30◦cos(0.5rad/s·t) γ2(t) = 0◦∀t∈[0,20](7.1) Por otro lado, la trayectoria seguida por el multirrotor durante el movimiento se muestra en la figura 7.26. Se puede observar como el multirrotor se desvía de la posición deseada debido al movimiento del brazo robótico, afectando principalmente a la coordenada X.
70 Capítulo 7. Resultados experimentales Figura 7.26 Trayectoria del multirrotor. En cuanto a los valores PWM de los motores durante el experimento: Figura 7.27 Valores PWM de los motores. En la figura 7.27 se observa que los valores PWM de los motores se mantienen en el rango [1550 −1750] durante el movimiento del brazo. Se mantiene por lo tanto un margen de seguridad con respecto al valor máximo de PWM (2000µs). Y, los ángulos de roll y los de pitch:
7.2 Experimentos con manipulador para teleoperación 71 Figura 7.28 Ángulo de roll φ. Figura 7.29 Ángulo de pitch θ. 7.2.3 Pruebas con movimiento B En la figura 7.2 se adjuntan algunas fotografías con los instantes más relevantes del experimento: 1. Posición inicial 2. Comienzo del movimiento 3. Un extremo del movimiento del brazo 4. Posición intermedia en el movimiento del brazo 5. El otro extremo del movimiento 6. Posición final del multirrotor Las gráficas del movimiento seguido por las articulaciones del hombro (arriba) y del codo (abajo) se muestran en las siguientes gráficas:
72 Capítulo 7. Resultados experimentales Figura 7.30 Coordenadas articulares frente al tiempo. Es decir, las articulaciones siguen las siguientes leyes del movimiento: γ1(t) = −75◦cos(0.5rad/s·t)si 0≤t≤12.56 −75◦si t >12.56 γ2(t) = 165◦−150◦sin(0.5rad/s·t)si 0≤t≤12.56 165◦si t >12.56 (7.2) Por otro lado, la trayectoria seguida por el multirrotor durante el movimiento se muestra en la figura 7.26. Se puede observar como el multirrotor se desvía de la posición deseada debido al movimiento del brazo robótico, afectando principalmente a la coordenada X. Figura 7.31 Trayectoria del multirrotor.
7.2 Experimentos con manipulador para teleoperación 73 En cuanto a los valores PWM de los motores durante el experimento: Figura 7.32 Valores PWM de los motores. En la figura 7.32 se observa que los valores PWM de los motores se mantienen en el rango [1550 −1750] durante el movimiento del brazo. Se mantiene por lo tanto un margen de seguridad con respecto al valor máximo de PWM (2000µs)al igual que con el movimiento tipo A. Los ángulos de roll y los de pitch se muestran en las figuras 7.33 y ?? . Se observa como nuevamente es en pitch dónde más afecta el movimiento del manipulador. Debido al par de reacción del manipulador, el ángulo real no alcanza la referencia. Figura 7.33 Ángulo de roll φ.
74 Capítulo 7. Resultados experimentales Figura 7.34 Ángulo de pitch θ. 7.2.4 Pruebas con manipulador cogiendo objeto En este experimento, se ha colocado un objeto con un asa, pensado para que la garra del manipulador pueda cogerlo, sobre una mesa. El objetivo, era coger el objeto utilizando el modo esclavo del manipulador y, tras esto, aterrizar con el objeto en un sitio diferente. En la figura 7.35 se muestran algunos instantes del experimento: Figura 7.35 Algunos instantes del experimento de teleoperación.
7.2 Experimentos con manipulador para teleoperación 75 Las gráficas del movimiento seguido durante el experimento por el brazo robótico maestro y el esclavo se muestran a continuación: Figura 7.36 Coordenadas articulares frente al tiempo de ambos brazos robóticos. Y la trayectoria seguida por el multirrotor: Figura 7.37 Trayectoria del multirrotor. En cuanto a los valores PWM de los motores durante el experimento, se muestran en la figura 7.38. Se observa como, a partir del segundo 975, que es cuando se coge el objeto y se sube el multirrotor para alejarlo de la mesa, movimiento que puede verse en la figura 7.37, los valores PWM son bastante mayores, y también la diferencia entre los distintos motores, debido a las perturbaciones que incluye no solo el brazo robótico,
82 ANEXO 1. Listado y características de los componentes •Peso: 13 g •Hélices Self-tightening •Material: plástico. Figura ANEXO 1.2 Hélices DJI E310 9450. ·Motores DJI E305 2312E Las especificaciones de los motores utilizados son: •Tamaño del estátor: 23x12 mm •Peso: 56 g •KV: 960 rpm/V •Batería recomendada: 4S LiPo •Máximo empuje: 850 g (14.8V a nivel del mar) •Peso en despegue recomendado: 400 g (por rotor, a nivel del mar) •Temperatura de funcionamiento: -10 a 40 ◦C
83 Figura ANEXO 1.3 Motores DJI E305 2312E. ·Variadores ESC XRotor 40A Los variadores utilizados cuentan con las siguientes características: •Soporta baterías de 2 a 6S LiPo •Corriente máxima continua: 40 A •Corriente máxima de pico: 60 A •Frecuencia de la señal hasta 621 Hz •Tamaño: 68x25x8.7 mm •Longitud del cable: 200 mm •Peso (sin cable): 26 g •Peso (con cable): 32 g Figura ANEXO 1.4 Variadores ESC XRotor 40A.
84 ANEXO 1. Listado y características de los componentes ·Raspberry Pi 3 Model b La Raspberry Pi 3 model b utilizada para controlar el manipulador aéreo tiene las siguientes características: •Procesador: Quad Core 1.2GHz Broadcom BCM2837 64bit CPU •Memoria: 1GB RAM •Conectividad inalámbrica: BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board •Ethernet: 100 Base Ethernet •40-pines GPIO •4 puertos USB 2 •Salida de 4 polos para jack de audio de 3.5 mm •Salida HDMI tamaño completo •Puerto CSI para la Raspberry Pi Camera •Puerto DSI para conectar la pantalla táctil de Raspberry •Entrada Micro SD •Entrada MIcro USB para alimentación de hasta 2.5 A. •Peso: 45 g •Dimensiones: 12.19 x 7.59 x 3.4 cm Figura ANEXO 1.5 Raspberry Pi 3 model b. ·Emlid Navio 2 Las características de la Navio 2 son las siguientes: •Dimensiones: 55x65 mm •Peso: 23 g •Temperatura de operación: -40 a 85 ◦C •Tensión de alimentación: 4.75 a 5.25 V
85 •Entradas para alimentación: USB, Power module,servo rail •Consumo de corriente medio: 150 mA •Puerto para power module •Puerto UART •Puerto I2C •Puerto ADC •12 salidas PWM •Entrada PPM/S.bus •MPU9250 9DOF IMU •LSM9DS1 9DOF IMU •Barómetro MS5611 •U-blox M8N GLONASS/GPS/Beidou (con tipo de conector de antena MCX) •Coprocesador Cortex-M3 RC I/O •LED RGB Figura ANEXO 1.6 Emlid Navio 2. ·Batería Gens Ace 5300 mAh 14.8 V 4S LiPo Las especificaciones de la batería utilizada son: •Tipo de batería: Batería LiPo •Capacidad: 5300 mAh •Voltaje nominal: 14.8 V •Máxima descarga en continuo: 30 C (159 A)
86 ANEXO 1. Listado y características de los componentes •Máxima descarga puntual: 60 C (318 A) •Peso: 548 g •Conector de balanceo: JST-XH •Conector de descarga: XT90 •Rango de carga: 1-3C, máximo 5C Figura ANEXO 1.7 Batería Gens Ace 5300 mAh 14.8 V 4S LiPo. ·Placa amortiguadora APM CC3D Las especificaciones de la placa amortiguadora son: •Dimensiones: 10x6x1.6 cm •Peso: 19 g •Material: Nylon de alta calidad Figura ANEXO 1.8 Placa amortiguadora APM CC3D.
87 ·Receptor 3CH SBUS R6203SBE FUTABA Las especificaciones del receptor de radio utilizado son: •Dimensiones: 22.5 x 37.4 x 9.3 mm •Peso: 6.3 g •Fuente de alimentación: 3.7 a 7.4 V •Tecnología S-Bus compatible Fasst 2.4 GHz •Antena corta •Posibilidad de utilizar hasta 18 canales con tecnología S-Bus Figura ANEXO 1.9 Receptor 3CH SBUS R6203SBE FUTABA. ·Emisora FUTABA T10CG Las especificaciones de la emisora de radio utilizada son: •Conexión FASST 2.4 GHz •Configurable para 7 o 10 canales. •Memoria para 15 modelos diferentes. •8 Interruptores (2 de 3 posiciones, 6 de 2 posiciones) •3 Diales •2 Joysticks, con altura y tensión regulable. •Memoria permanente via EEPROM. •Rango mayor de 1 Km •Batería: 9.6 V, 2000 mAh
88 ANEXO 1. Listado y características de los componentes Figura ANEXO 1.10 Emisora FUTABA T10CG. ·Cámara Logitech HD Pro Webcam C920 Las especificaciones de la cámara utilizada son: •Resolución Full HD 1920x1080 •Micrófonos estéreo integrados con reducción de ruido automática. •Corrección automática de iluminación escasa. •Certificación USB 2.0 de alta velocidad (compatible con USB 3.0). •Clip universal compatible con trípodes para monitores LCD, CRT o portátiles. •Cable USB 1.83 m Figura ANEXO 1.11 Cámara Logitech HD Pro Webcam C920.
89 ·Servomotor Herkulex DRS-0602 Las especificaciones del servomotor del hombro del brazo robótico del UAV son: •Dimensiones y peso: 56x35x46mm, 145 g •Tensión de entrada: 9.5 a 14.8 V DC •Par de bloqueo: 77 kg f ·cm a 14.8V / 62.5 kg f ·cm a 12 V •Velocidad máxima: 0.164s/60 ◦a 14.8 V •Ángulo de operación 900◦. •Resolución 12960 puntos. •Comunicación: Full Duplex serie asíncrono (TTL), multi drop, hasta 255 identificadores, 1 mbps •Motor: Premium faulhaber coreless DC •Sensor de posición: Encoder magnético. •Engranajes: Metal súper reforzado. •Feedback: De posición, velocidad, temperatura, sobrecarga, voltaje y más. •PID •Perfil de velocidad trapezoidal •Anulación de velocidad •Saturador de torque y compensación •Prevención de sobrecarga •Ajuste de posición absoluto •Deadband •Más de 50 parámetros de configuración Figura ANEXO 1.12 Servomotor Herkulex DRS-0602.
90 ANEXO 1. Listado y características de los componentes ·Servomotor Herkulex DRS-0402 Las especificaciones del servomotor del codo del brazo robótico del UAV son: •Dimensiones y peso: 56x35x38mm, 123 g •Tensión de entrada: 9.5 a 14.8 V DC •Par de bloqueo: 52 kg f ·cm a 14.8V / 43.1 kg f ·cm a 12 V •Velocidad máxima: 0.162s/60 ◦a 14.8 V •Ángulo de operación 720◦. •Resolución 12960 puntos. •Comunicación: Full Duplex serie asíncrono (TTL), multi drop, hasta 255 identificadores, 1 mbps •Motor: Premium faulhaber coreless DC •Sensor de posición: Encoder magnético. •Engranajes: Metal súper reforzado. •Feedback: De posición, velocidad, temperatura, sobrecarga, voltaje y más. •PID •Perfil de velocidad trapezoidal •Anulación de velocidad •Saturador de torque y compensación •Prevención de sobrecarga •Ajuste de posición absoluto •Deadband •Más de 50 parámetros de configuración Figura ANEXO 1.13 Servomotor Herkulex DRS-0402.
91 ·Servomotor Herkulex DRS-0201 Las especificaciones de los servomotores del brazo robótico en Tierra son las siguientes: •Dimensiones y peso: 44.5x24x32mm, 60 g •Tensión de entrada: 7 a 9 V DC •Par de bloqueo: 24 kg f ·cm a 7.4 V •Velocidad máxima: 0.147s/60 ◦a 7.4 V •Ángulo de operación 320◦. •Resolución 0.325◦. •Comunicación: Full Duplex serie asíncrono (TTL), multi drop, hasta 255 identificadores, 1 mbps •Motor: Premium faulhaber coreless DC •Sensor de posición: Encoder magnético. •Engranajes: Metal súper reforzado. •Feedback: De posición, velocidad, temperatura, sobrecarga, voltaje y más. •PID •Perfil de velocidad trapezoidal •Anulación de velocidad •Saturador de torque y compensación •Prevención de sobrecarga •Ajuste de posición absoluto •Deadband •Más de 50 parámetros de configuración Figura ANEXO 1.14 Servomotor Herkulex DRS-0201.
Bibliografía [1] M. Fumagalli, R. Naldi, A. Macchelli, F. Forte, A. Q. Keemink, S. Stramigioli, R. Carloni, and L. Marconi, “Developing an Aerial Manipulator Prototype: Physical Interaction with the Environment,” IEEE Robotics Automation Magazine, vol. 21, no. 3, pp. 41–50, 2014. [2] H. Chen, F. Quan, L. Fang, and S. Zhang, “Aerial Grasping with a Lightweight Manipulator Based on Multi-Objective Optimization and Visual Compensation,” Sensors, vol. 19, no. 19, 2019. [3] H. Seo, S. Kim, and H. J. Kim, “Aerial Grasping of Cylindrical Object using Visual Servoing based on Stochastic Model Predictive Control,” in 2017 IEEE International Conference on Robotics and Automation (ICRA), 2017, pp. 6362–6368. [4] M. A. Trujillo, J. R. Martínez-de Dios, C. Martín, A. Viguria, and A. Ollero, “Novel Aerial Manipulator for Accurate and Robust Industrial NDT Contact Inspection: A New Tool for the Oil and Gas Inspection Industry,” Sensors, vol. 19, no. 6, 2019. [5] A. Ollero, G. Heredia, A. Franchi, G. Antonelli, K. Kondak, A. Sanfeliu, A. Viguria, J. R. Martinez-de Dios, F. Pierri, J. Cortes, A. Santamaria-Navarro, M. A. Trujillo Soto, R. Balachandran, J. Andrade- Cetto, and A. Rodriguez, “The AEROARMS Project: Aerial Robots with Advanced Manipulation Capabilities for Inspection and Maintenance,” IEEE Robotics Automation Magazine, vol. 25, no. 4, pp. 12–23, 2018. [6] I. Armengol, A. Suarez, G. Heredia, and A. Ollero, “Design, Integration and Testing of Compliant Gripper for the Installation of Helical Bird Diverters on Power Lines,” in 2021 Aerial Robotic Systems Physically Interacting with the Environment (AIRPHARO), 2021, pp. 1–8. [7] A. Suarez, H. Romero, R. Salmoral, J. A. Acosta, J. Zambrano, and A. Ollero, “Experimental Evaluation of Aerial Manipulation Robot for the Installation of Clip Type Bird Diverters: Outdoor Flight Tests,” in 2021 Aerial Robotic Systems Physically Interacting with the Environment (AIRPHARO), 2021, pp. 1–7. [8] The AERIAL-CORE Project. [Online]. Available: https://aerial-core.eu/ [9] P. J. Sanchez-Cuevas, A. Gonzalez-Morgado, N. Cortes, D. B. Gayango, A. E. Jimenez-Cano, A. Ollero, and G. Heredia, “Fully-Actuated Aerial Manipulator for Infrastructure Contact Inspection: Design, Modeling, Localization, and Control,” Sensors, vol. 20, no. 17, 2020. [10] The RESIST Project. [Online]. Available: https://www.resistproject.eu/ [11] G. Heredia, A. E. Jimenez-Cano, I. Sánchez, D. Llorente, V. M. Vega, J. Braga, J. Á. Acosta, and A. Ollero, “Control of a multirotor outdoor aerial manipulator,” 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3417–3422, 2014. [12] A. Jimenez-Cano, J. Braga, G. Heredia, and A. Ollero, “Aerial manipulator for structure inspection by contact from the underside,” in 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2015, pp. 1879–1884. 101
102 Bibliografía [13] A. Suarez, A. E. Jimenez-Cano, V. M. Vega, G. Heredia, A. Rodriguez-Castaño, and A. Ollero, “Design of a lightweight dual arm system for aerial manipulation,” Mechatronics, vol. 50, pp. 30–44, 2018. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0957415818300011 [14] G. Heredia, A. Jimenez-Cano, I. Sanchez, D. Llorente, V. Vega, J. Braga, J. Acosta, and A. Ollero, “Control of a Multirotor Outdoor Aerial Manipulator,” in 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2014, pp. 3417–3422. [15] A. Suarez, P. Sanchez-Cuevas, M. Fernandez, M. Perez, G. Heredia, and A. Ollero, “Lightweight and Compliant Long Reach Aerial Manipulator for Inspection Operations,” in 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2018, pp. 6746–6752. [16] A. Ollero, M. Tognon, A. Suarez, D. Lee, and A. Franchi, “Past, present, and future of aerial robotic manipulators,” IEEE Transactions on Robotics, vol. 38, no. 1, pp. 626–645, 2022. [17] E. Cataldi, G. Muscio, M. A. Trujillo, Y. Rodriguez, F. Pierri, G. Antonelli, F. Caccavale, A. Viguria, S. Chiaverini, and A. Ollero, “Impedance Control of an aerial-manipulator: Preliminary results,” in 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2016, pp. 3848–3853. [18] F. Ruggiero, M. Trujillo, R. Cano, H. Ascorbe, A. Viguria, C. Peréz, V. Lippiello, A. Ollero, and B. Siciliano, “A multilayer control for multirotor UAVs equipped with a servo robot arm,” in 2015 IEEE International Conference on Robotics and Automation (ICRA), 2015, pp. 4014–4020. [19] H. Yang and D. Lee, “Dynamics and Control of Quadrotor with Robotic Manipulator,” in 2014 IEEE International Conference on Robotics and Automation (ICRA), 2014, pp. 5544–5549. [20] A. Jimenez-Cano, J. Martin, G. Heredia, A. Ollero, and R. Cano, “Control of an aerial robot with multi-link arm for assembly tasks,” in 2013 IEEE International Conference on Robotics and Automation, 2013, pp. 4916–4921. [21] Z. L. Richard M. Murray and S. S. Sastry. (1994) A mathematical introduction to robotic manipulation. [Online]. Available: http://www.cds.caltech.edu/~murray/mlswiki/index.php?title=Main_Page [22] P. Corke. (2017) Robotics, vision and control. [Online]. Available: https://petercorke.com/books/ robotics-vision-control-all-versions/ [23] Ardupilot. [Online]. Available: https://ardupilot.org/ [24] QGroundControl Software. [Online]. Available: http://qgroundcontrol.com/ [25] Mission Planner Software. [Online]. Available: https://ardupilot.org/planner/ [26] MAVProxy Software. [Online]. Available: https://ardupilot.org/mavproxy/ [27] MAVLink. [Online]. Available: https://mavlink.io/en/