Capítulo 1 ARQUITECTURAS DE ROBOTS 1 Arquitecturas mecánicas En esta sección se va a tratar la arquitectura mecánica desde el punto de vista cinemático del robot. La cinemática del robot es uno de los aspectos más importantes a tener en cuenta cuando se diseña, ya que condicionará: • • • El número y tipo de actuadores necesarios para que el robot se mueva. Se pueden necesitar uno o más motores, acompañados de algún servo. La precisión con la que se puede estimar con un sistema de medida odométrico (como los encoders incrementales) la posición del robot. El control del robot. La cinemática hace que el control del robot sea más o menos sencillo. El modelo geométrico del robot consiste en la relación entre los valores de las variables asociadas a los actuadores (posición o velocidad de las ruedas u orugas) respecto a la situación del robot (posición y orientación) de un sistema de referencia solidario al punto de guía del robot móvil. En este modelo se basará el sistema de control del robot para poder desplazarse de un punto a otro siguiendo una determinada trayectoria. Generalmente, para calcular el modelo, se consideran las siguientes hipótesis de trabajo: • • • • • • El robot se mueve sobre una superficie plana, por tanto z = 0. Los ejes de guiado son perpendiculares al suelo. Se supone que las ruedas se mueven con rodadura pura, es decir, el deslizamiento es despreciable en el periodo de control. Se desprecia la flexibilidad del robot. Durante un periodo de tiempo suficientemente pequeño en el que se mantiene constante la consigna de dirección, el vehículo se moverá de un punto al siguiente a lo largo de un arco de circunferencia. El robot se comporta como un sólido rígido, de forma que si existen partes móviles (ruedas de dirección), éstas se situarán en la posición adecuada mediante el sistema de control. Los modelos geométricos o cinemáticos son simplificaciones que, como se ha analizado, no tienen en cuenta aspectos dinámicos que se manifiestan fundamentalmente cuando los vehículos se desplazan con velocidades y aceleraciones no despreciables y tienen también una inercia considerable, en cuyo caso se suelen utilizar modelos dinámicos en vez de cinemáticos, puesto que tienen en consideración estos efectos previamente mencionados. A la hora de considerar aspectos dinámicos en el modelado se suelen hacer también simplificaciones. Por ejemplo, el estudio de la dinámica de los vehículos con ruedas hace necesario considerar tanto la dinámica del chasis del vehículo como la interacción con el terreno. Los vehículos convencionales tienen sistemas de tracción y direccionamiento desacoplados que suelen aproximarse por modelos linealizados de primer o segundo orden: dγ γ K = γ ' = − + ⋅u dt τ τ siendo γ la curvatura del vehículo, u la señal de control y τ la constante de tiempo. La misma aproximación se puede hacer en el caso de la tracción: v K dv = v ' = − + v ⋅ vd dt τv τv siendo v la velocidad del vehículo, vd la velocidad ordenada y τv la constante de tiempo. En lo que sigue se obtendrán los modelos cinemáticos para las morfologías más comunes de robots móviles. 1.1 Propulsión diferencial En esta arquitectura, se sitúa un motor conectado a cada una de las ruedas tractoras, de forma que variando la velocidad de cada uno de los motores se consigue que el vehículo vaya recto (cuando ambas ruedas giran a la misma velocidad), o girando más o menos rápido (cuando cada rueda gira a velocidades distintas). Una de las grandes ventajas de esta cinemática es que el robot puede girar sobre sí mismo, haciendo que las ruedas vayan a la misma velocidad pero en sentido contrario. Las típicas arquitecturas mecánicas que tienen esta cinemática se muestran en la Figura 1-1, Figura 1-2 y Figura 1-3. Aunque la cinemática de la Figura 1-1 y Figura 1-2 es la misma, la dinámica es diferente. De hecho es claramente más ventajosa la dinámica del robot de la Figura 1-1 que la de la Figura 1-2 porque tiene tracción delantera. La tracción delantera hace que ante un pequeño desequilibrio en el centro de gravedad del vehículo, el vehículo sea estable mientras que la tracción trasera provocaría un par que haría tender al robot a hacer un trompo. Esto obliga a tener un control más preciso en el robot de la Figura 1-2 que en el de la Figura 1-1. Ruedas Motrices Rueda Loca Rueda Loca Figura 1-1: Propulsión diferencial con tracción delantera Figura 1-2: Propulsión diferencial con tracción trasera Figura 1-3: Propulsión diferencial Para el estudio de la cinemática se va a considerar una configuración que consta de dos ruedas motrices laterales (d derecha, i izquierda) y dos ruedas locas situadas en la parte delantera y trasera del robot, tal y como se ha mostrado en la Figura 1-3. YG b v φ y x XG Figura 1-4: Parametros de un Robot con Propulsión diferencial La cinemática queda determinada por su posición en el plano respecto a un sistema de referencia global (XG, YG) y la orientación del eje principal del cuerpo, φ como se puede observar en la Figura 1-4. En este caso las variables de control son ωi y ωd, velocidades de giro de las ruedas izquierda y derecha respectivamente. Si el radio de la rueda es r, las velocidades lineales correspondiente son vi = ωi ⋅ r y vd = ωd ⋅ r . En este caso, la velocidad lineal y la velocidad angular correspondientes al vehículo vienen dadas por (la velocidad de la derecha para un observador situado en la rueda izquierda seria vd − vi ): vd + vi (ωd + ωi ) ⋅ r = 2 2 v − v (ω − ωi ) ⋅ r ω= d i = d b b v= siendo b la vía del vehículo (distancia que separa las dos ruedas motrices). Si se especifican la velocidad lineal v y la angular ω del vehículo, las velocidades de giro que hay que aplicar a las ruedas derecha e izquierda son: ( 2) ⋅ω v− b ωi = ωd = r v+ b ( 2) ⋅ω r a/2 a/2 vi YG vd R R ∆φ φ R ∆y φ y ∆x x XG Figura 1-5: Posicionamiento de un Robot con Propulsión diferencial La evolución de la postura en función de las variables de control se puede expresar como: R= b vi + vd ⋅ 2 vd − vi ∆φ vd − vi = ∆t b Siendo; R es el radio de giro del robot y ∆φ es el ángulo girado por el robot. Si trasladamos esto a los incrementos de posición del origen del robot: ∆x = R ( sen (φ + ∆φ ) − sen φ ) ∆y = − R ( cos (φ + ∆φ ) − cos φ ) La arquitectura del sistema de control de este tipo de robots se muestra en la siguiente figura. La misión del controlador de trayectoria consistirá en conseguir que las velocidades de ambas ruedas sean las correctas en cada instante de tiempo. El sistema sensorial lo componen fundamentalmente sensores de velocidad de giro. Generador de Trayectoria de referencia xr,yr, φr ,vr,ωr ωic ωi + - Control tracción derecha uωi Controlador de Trayectoria Control tracción izquierda ωdc + uωd - Motor Tracción Izquierda Robot ωd Controlador Motor Tracción Derecha Sistema Sensorial Figura 1-6: Sistema de control de un robot móvil con mecánica diferencial. 1.2 Arquitectura triciclo Esta arquitectura es similar a la de un triciclo (Figura 1-7), en donde se emplea una sola rueda delantera tractora y dos ruedas traseras pasivas. Un problema asociado con esta arquitectura es que el centro de gravedad del vehículo tiende a irse hacia las ruedas traseras, lo que provoca una posible perdida de tracción en una cuesta. Las variables que controlan al robot móvil son el ángulo de dirección de la rueda delantera, α, y su velocidad angular,ωt. α l b Figura 1-7: Propulsión tipo triciclo Para medir la posición del cuerpo se considera el punto central (CR) del eje fijo que une las ruedas traseras motrices, situado a una distancia l (vía del vehículo) de la rueda directriz, cuyo radio es r. YG v l α CR R φ y α b x XG Figura 1-8: Parametros de un Robot con Propulsión diferencial La relación entre la velocidad lineal del vehículo, v, y la velocidad angular del mismo, ω, se realiza a través del radio de giro, R, mediante la expresión: R ⋅ω = v Si se expresa en función de la velocidad de giro de la rueda directriz y del ángulo de direccionamiento se obtiene: v = r ⋅ ωt ⋅ cos α Por otra parte, la variación del ángulo de orientación del vehículo (velocidad tangencial/radio), se obtiene mediante: ω =φ' = dφ r ⋅ ωt ⋅ sen α = dt l De estas expresiones se puede deducir que el movimiento del centro (x, y) del vehículo en sistema global viene dado por dx = v ⋅ cos φ dt dy y'= = v ⋅ sen φ dt x' = Obsérvese también que, conocidas las velocidades deseadas lineal v y angular ω, las variables de control α y ωt pueden obtenerse mediante: l l ⋅ω α = arctg = arctg R ωt = vt v2 + ω2 ⋅ l2 = r r v La evolución de la postura en función de las variables de control se puede expresar como: l tan α ∆φ r ⋅ ωt ⋅ sen α = ∆t l R= Siendo; R es el radio de giro del robot y ∆φ es el ángulo girado por el robot. Si trasladamos esto a los incrementos de posición del origen del robot: ∆x = R ( sen (φ + ∆φ ) − sen φ ) ∆y = − R ( cos (φ + ∆φ ) − cos φ ) YG R ∆φ φ R ∆y y ∆x x XG Figura 1-9: Posicionamiento de un Robot con Propulsión diferencial En base a este modelo, la tarea del controlador del robot móvil consiste en direccionar y mover la rueda delantera (motriz y directriz) para que el punto CR siga los puntos indicados por el generador de trayectorias La velocidad y posición del punto CR se obtienen con sensores situados en las ruedas traseras Estos sensores suelen ser codificadores ópticos y debido a errores acumulativos deben realizarse calibraciones frecuentes para anularlos La estructura típica de un controlador de robots móviles con ruedas directrices se muestra en la figura 69, donde se pueden distinguir: • • • • Generador de trayectorias Controlador de trayectorias Unidades de control dirección y tracción Unidad de sensores de posición para la corrección de la trayectoria Generador de Trayectoria de referencia xr,yr, φr ,vr,ωr αc α + - + - Control Dirección uα Motor Dirección Controlador de Trayectoria Controlador Motor Tracción Control Tracción ωtc uωt Robot ωt Sistema Sensorial Figura 1-10: Sistema de control de un robot móvil con mecánica triciclo. El generador de trayectorias recibe como entrada la posición final de destino del robot y la velocidad a la que debe desplazarse. Este sistema calcula la trayectoria que debe seguir el punto CR a lo largo del tiempo para alcanzar el punto final con la velocidad deseada y, basándose en el modelo geométrico del robot, calcula la dirección y velocidad angular que debe poseer la rueda motriz-directriz en cada instante de tiempo. Esos datos se le envían como consignas (variables en el tiempo) al controlador de trayectorias, que debe asegurar que se obtienen esos valores deseados en los tiempos establecidos. Este subsistema realmente está formado por dos controladores independientes. Uno para el actuador que implementa el giro de la rueda directriz al que da la tensión necesaria para que gire dicha rueda y el otro para que controle el actuador que realiza la misión de tracción de esta rueda, al que da la tensión necesaria para que gire a esa velocidad. Con el sistema sensorial (velocidad y posición de la rueda) se cierra el bucle de control. 1.3 Dirección Ackerman Se usa en prácticamente en todos los automóviles de la industria, como se muestra en la Figura 1-11. Se diseña de forma que la rueda delantera interior a la curva se rota un ángulo mayor que la rueda delantera exterior, de forma que se evita que las ruedas patinen. Como se muestra en la Figura 1-11, las rectas perpendiculares desde cada una de las ruedas delanteras y traseras intersecan en un punto que es el centro instantáneo de rotación del movimiento y se cumple que: r +b r b − = l l l Para poder deducir la cinemática de esta arquitectura se puede suponer que existe una rueda virtual entre las ruedas delanteras, de forma que: 2·r + b r b cotg (α SA ) − cotg (α 0 ) = − = 2·l l 2·l De esta forma se tiene una cinemática igual que en la sección anterior. cotg (α i ) − cotg (α 0 ) = α0 αSA αi b Figura 1-11: Dirección Ackerman 1.4 Propulsión sincronizada Se aplica a robots de tres o más ruedas, como se muestra en la Figura 1-12, las cuales se encuentran mecánicamente acopladas de forma que todas las ruedas giran en la misma dirección a la misma velocidad, pivotando al unísono sobre el eje de giro de cada rueda cuando el robot quiere girar. Esta arquitectura es en la que menos errores se cometen cuando se intenta estimar la posición del robot, ya que las ruedas no patinan al ser sometidas de forma paralela e igual por la misma fuerza. El acoplamiento mecánico necesario se consigue usando una cadena, una correa o un sistema de engranajes. También se puede conseguir poniendo un motor en cada rueda de forma que se actúe de forma sincronizada en cada una de las ruedas. Las variables que controlan al robot móvil son el ángulo de dirección de las ruedas, α (medido desde el eje XG), y su velocidad angular,ωt. La cinemática del robot es muy sencilla; la orientación del robot coincide con la de las ruedas y el desplazamiento del robot coincide con el de cualquiera de las ruedas. Figura 1-12: Propulsión sincronizada La relación entre la velocidad lineal del vehículo, v, y la velocidad angular de las ruedas, ωt, se realiza a través del radio de las ruedas, r, mediante la expresión: v = r ⋅ ωt El ángulo del vector velocidad viene dado directamente por el ángulo α de orientación de las ruedas, y la orientación global del robot φ permanece constante y es invariable mediante el control del robot. Se puede deducir que el movimiento del centro (x, y) del vehículo en sistema global viene dado por dx = v ⋅ cos α dt dy = v ⋅ sen α y' = dt dφ =ω =0 φ' = dt x' = 1.5 Inconvenientes de los robots con ruedas y orugas Los robots móviles en los que el sistema de locomoción se implementa mediante ruedas u orugas presentan una serie de inconvenientes: • No es fácil compaginar velocidad y dirección para realizar el seguimiento de las trayectorias. • No superan grandes obstáculos, cuya altura supere la mitad de su radio. • Necesitan un terreno prácticamente continuo para desplazarse. • En superficies blandas o irregulares el desplazamiento se desarrolla con bastante dificultad. • No todos son omnidireccionales.