Análisis y Diseño del Control de Posición de un Robot Móvil con ...

167
Enginyeria en Automàtica i Electrònica industrial Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial AUTORS: Alberto Bañó Azcón. DIRECTOR: Albert Oller Pujol. DATA: 06 / 2003

Transcript of Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Page 1: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Enginyeria en Automàtica i Electrònica industrial

Análisis y Diseño del Control de Posición de un RobotMóvil con Tracción Diferencial

AUTORS: Alberto Bañó Azcón.DIRECTOR: Albert Oller Pujol.

DATA: 06 / 2003

Page 2: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un RobotMóvil con Tracción Diferencial

MEMORIA

AUTORS: Alberto Bañó Azcón.DIRECTOR: Albert Oller Pujol.

DATA: 06 / 2003

Page 3: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-2-

0,- Indice

0,- Indice........................................................................................................................... 21,- Objeto y Alcance.......................................................................................................... 42,- Definiciones................................................................................................................. 43,- Memoria ...................................................................................................................... 6

3.1,- Robots Móviles ..................................................................................................... 63.1.1,- Vehículos con Ruedas..................................................................................... 6

3.1.1.1,- Ackerman o Tipo Coche .......................................................................... 73.1.1.2,- Triciclo Clásico........................................................................................ 83.1.1.3,- Tracción Diferencial. ............................................................................... 93.1.1.4,- Skid Steer. ............................................................................................. 103.1.1.5,- Pistas de Deslizamiento. ........................................................................ 113.1.1.6,- Síncronas. .............................................................................................. 113.1.1.7,- Tracción Omnidireccional. ..................................................................... 12

3.1.2,- Representación de la Posición y Orientación de un Robot Móvil en el Plano. 133.1.3,- Descripción del Robot. ................................................................................. 18

3.2,- Modelado del Sistema Motriz .............................................................................. 193.2.1,- Modelo Dinámico del Motor......................................................................... 19

3.2.1.1,- Función de Transferencia del Motor DC ................................................ 213.2.1.2,- Reducción a un Sistema de Primer Orden............................................... 263.2.1.3,- Características del Motor DC................................................................. 283.2.1.4,- No Linealidades Observadas .................................................................. 30

3.2.2,- Función de Transferencia del Encoder Magnético Digital ............................. 303.2.3,- Función de Transferencia del Reductor de Velocidad.................................... 363.2.4,- Función de Transferencia del Generador de Pulsos. ...................................... 38

3.3, Modelo Discreto de los Motores ........................................................................... 393.3.1,- Elección del Tiempo de Muestreo................................................................. 40

3.3.1.1,- Teorema del Límite del Tiempo de Muestreo ......................................... 403.3.1.2,- Formas para la Evaluación del Tiempo de Muestreo .............................. 413.3.1.3,- Cálculo del Tiempo de Muestreo............................................................ 42

3.3.2,- Discretización del Motor .............................................................................. 433.4,- Sistema de Control Digital de velocidad .............................................................. 45

3.4.1,- Compensador Cero-Polo ............................................................................... 463.4.2,- Método Analítico de Diseño a Partir de Sistemas de Tiempo Discreto .......... 55

3.4.2.1,- Método Analítico. Procedimiento de Diseño Para Varias Especificaciones............................................................................................................................ 573.4.2.2,- Obtención del Controlador ..................................................................... 58

3.4.3,- Método de Zigler-Nichols............................................................................. 653.4.3.1,- PI Digital Como Controlador del Sistema en Lazo Cerrado.................... 653.4.3.2,- Cálculo de KP y KI del controlador PI. ................................................... 67

3.4.4,- SISOTOOL de MATLAB............................................................................. 733.4.5,- Controlador Elegido ..................................................................................... 77

3.5,- Modelo Cinemático del Robot Móvil................................................................... 793.5.1,- Hipótesis Básicas.......................................................................................... 793.5.2,- Tipos de Ruedas. .......................................................................................... 79

Page 4: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-3-

3.5.3,- Definición del movimiento del móvil. ........................................................... 803.5.4,- Función de Restricción Cinemática. .............................................................. 823.5.5,- Modelo de la Configuración Deseada. Modelo Jacobiano. ............................ 84

3.5.5.1,- Respecto al Centro de Masas.................................................................. 843.5.5.2,- Respecto al Punto F. .............................................................................. 88

3.6,- Control de Posición del Robot ............................................................................. 913.6.1,- Control del Movimiento de un Robot móvil Autónomo ................................ 913.6.2,- Control Basado en Métodos Geométricos ..................................................... 923.6.3,- Generación de Trayectorias Rectilíneas. ....................................................... 99

3.6.3.1,- Proceso Analítico................................................................................... 993.6.3.2,- Resultados Simulación......................................................................... 101

3.6.4,- Análisis de Resultados................................................................................ 1053.6.5,- Seguimiento de un Objetivo en Movimiento ............................................... 109

3.6.5.1,- Resultado Simulaciones ....................................................................... 1133.6.6,- Método Estadístico Para la Predicción de la Posición del Objetivo.............. 116

3.6.6.1,- Resultados Simulación......................................................................... 1173.6.7,- Conclusiones a Cerca del Controlador de Posición...................................... 119

4,- Planificación de Tareas del Sistema de Control ........................................................ 1205,- Conclusiones Finales................................................................................................ 1246,- Bibliografía .............................................................................................................. 125

Page 5: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-4-

1,- Objeto y Alcance

El objeto de este proyecto es el modelar un robot móvil, construido por el laboratorio deldepartamento de DEEEA, y que está formado por dos motores de corriente continua (apartir de ahora DC) que de forma independiente provocan el movimiento del móvil. A éstesistema de desplazamiento se le llama tracción diferencial. Con éste modelo, y en etapassucesivas, crearemos varios controladores, que satisfagan las necesidades de movimientodel objeto en cuestión.

Para realizar el modelo dinámico, disponemos de las características de los motores y delmóvil. Utilizaremos el programa MATLAB v.6.0 y su aplicación SIMULINK v.4.0. Enesta ocasión nuestro objetivo parcial es el realizar un modelo y comprobar sucorrespondencia con el objeto real.

Además calcularemos un controlador digital de posición para estos motores, conestabilidad demostrada, y que hagan que el movimiento del móvil tenga la precisiónnecesaria, y que siga la trayectoria deseada. Utilizaremos diferentes técnicas de controlpara satisfaces éstas necesidades, siempre teniendo presente las capacidades de loselementos instalados en el móvil, buscando la solución más efectiva.

El objetivo final del proyecto es el hallar los algoritmos de control que satisfagan todas lasnecesidades anteriores, y conseguir con ello un equipo capaz de responder a nuestraspretensiones de movimiento con la mejor relación posible entre capacidades y recursosutilizados.

2,- Definiciones

En el mundo de la robótica se utilizan un gran número de términos en inglés. En esteapartado haremos la correspondencia de términos y su definición, para no generar dudas enla interpretación del texto del proyecto, y de esta forma proporcionar una ayuda paraobtener las correspondencias entre las referencias a textos en inglés y el texto aquíutilizado.

Carga axial máxima (max.axial load)

Carga máxima sobre un eje que se soporta en dirección normal al mismo sinque se produzca rotura

Cinemática (kinematics) Rama de la física, y subdivisión de la mecánica clásica, que trata de lageometría de los posibles movimientos de un cuerpo o un sistema decuerpos, sin consideración de las fuerzas aplicadas.

Cinemática inversa (forwardkinematics)

Técnica de predicción del comportamiento de un sistema mecánico basadoen las entradas de dicho sistema.

Constante de tiempomecánico (Mechanical timeconstant)

Parámetro característico de los sistemas dinámicos que indica la rápidez conque el sistema evoluciona.

Coronas de engranajes(syncro drive)

Sistema de transmisión utilizado en para la actuación simultanea de todas lasruedas en una configuración de tipo síncrona.

Corriente máxima admisibleen régimen continuo (Max.Cont.current)

Corriente máxima que el motor es capaz de admitir sin ocasionar fallo deforma permanente.

Page 6: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-5-

Dinámica (dymamics) Rama de la ciencia física y subdivisión de la mecánica, que se refiere almovimiento de objetos materiales en lo referente a los factores físicos quelos afectan: fuerza, masa, momentos, energía (Encyclopedia Britannica).

Encoder digital (digitalmagnetic encoder)

Contador de vueltas en formato digital.

Función de inclusion opertenencia (membershipfunction)

Consiste en un conjunto de pares ordenados que cumplen la condición depertenencia.

Grupo reductor (Planetarygearhead)

Elemento transformador de pares y velocidades angulares. Su relación detransformación se expresa como 1:n.

Interficie gráfica de usuario(graphic user interface GUI)

Sistema gráfico con el que el usuario puede interactuar con un programainformático, que hace su uso más cómodo.

LGR (Lugar geométrico delas raíces) (Root Locus)

Representación gráfica de los polos y los ceros de una función detransferencia en función de K.

Lógica difusa o borrosa(fuzzy logic)

Técnica de análisis de variables mediante conjuntos borrosos de posiblessoluciones. Difiere de la lógica Aristotélica clásica.

Manipulador móvil (mobilemanipulator)

Caso particular en robótica en el que a un robot móvil se le inserta un brazomanipulador.

Mantenedor de orden cero(Zero Order Hold)

Función dedicada a mantener la función pulso digital en escalones unitariospara convertir señales discretas en el dominio de Z en señales continuas enel dominio de S.

Modelo dinámico (dynamicmodel)

Formulación matemática de la evolución de un sistema dinámico.

Motor de corriente continua(direct current motor)

Convertidor de energía eléctrica (corriente I y tensión U) a mecánica(velocidad n y par M).

Odometría (odometry) Método de medida de posición relativa que usa encoders para medir lavelocidad de las ruedas y/o la orientación.

Peso del motor (Weight ofmotor)

Cantidad de masa que tiene el motor en kg.

PI Controlador proporcional (Kd), integral (Ki).PID Controlador proporcional (Kd), integral (Ki) y derivativo (Kd).Potencia nominal (Assignedpower rating)

Potencia absorbida por el motor para la cual se cumplen las especificacionessin riesgo de rotura.

Rendimiento máximo (max.Efficiency)

Relación entrada salida energético en su punto más favorable.

Respuesta con oscilacionesmuertas (dead-beatresponse):

Es aquella respuesta a una entrada, que alcanza el valor deseado a en untiempo mínimo sin error.

Rodamiento (bearing) Elemento de enlace entre una parte fija y una móvil con movimientocircular. También llamado cojinete.

Rozamiento viscoso(Viscosus friction):

Rozamiento que genera un acoplamiento viscoso, siempre que el fluido(líquido o gas) se encuentre en régimen laminar.

Sistema no holónomo(nonholonomic system):

Es aquel sistema mecánico con menos variables controlables que grados delibertad de movimiento.

Separación de fase (Phaseshift)

Cantidad en grados eléctricos de separación entre dos fases eléctricas.

Tiempo de subida (rise time) Parámetro característico de un sistema dinámico que mide el tiempo en queel sistema evoluciona.

Tolerancia (tolerance) Margen de valores alrededor del nominal donde esperamos encontrar elvalor real de la medida.

Tracción diferencial(differential steering system):

Configuración de los actuadores de las ruedas comúnmente usado enpequeños robots para crear el movimiento.

Universo de estudio (universeof study)

Es el conjunto posible de objetos que pueden presentarse de entre todos losdel universo.

Page 7: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-6-

3,- Memoria

Este proyecto se ha desglosado en seis apartados, los cuales corresponden a la memoria. Elel primero de ellos se hace una explicación del estado del arte de los robots móviles en laactualidad. A partir de este momento los puntos pasarán a ser el cálculo de un modelodinámico del sistema motriz, el cálculo de un sistema de control discreto para el sistemamotriz a utilizar. Los dos puntos más importantes del proyecto, por el contenido práctico esel cálculo del sistema de control digita de velocidad y el sistema de control de posición.Estas tareas se complementan con los sistemas de planificación de trayectorias y lapredicción de la posición del objetivo a alcanzar.

3.1,- Robots Móviles

En este apartado describimos el estado del arte de los robots móviles más comunes. De estaforma nos ponemos en antecedentes y podremos entender el porque del uso de un sistemade tracción u otro.

3.1.1,- Vehículos con Ruedas.

Los vehículos con ruedas son la solución más simple para conseguir la movilidad enterrenos suficientemente duros y libres de obstáculos, permitiendo conseguir velocidadesrelativamente altas.

Como limitación más significativa cabe mencionar el deslizamiento en la impulsión.Dependiendo de las características del terreno pueden presentarse también deslizamientosy vibraciones. La locomoción mediante ruedas es poco eficiente en terrenos blandos.

Por otra parte, excepto en configuraciones muy especiales, no es posible alterarinternamente el margen de estabilidad para adaptarse a la configuración del terreno, lo quelimita de forma importante los caminos aceptables del soporte.

Los robots móviles emplean diferentes tipos de locomoción mediante ruedas que lesconfieren características y propiedades diferentes respecto a la eficiencia energética,dimensiones, cargas útiles y maniobrabilidad. La mayor maniobrabilidad se consigue envehículos omnidireccionales. Un vehículo omnidireccional en el plano es capaz detrasladarse simultánea e independientemente en cada eje del sistema de coordenadas, yrotar según el eje perpendicular.

A continuación se comentan brevemente las características más significativas de lossistemas de locomoción más comunes en robots móviles.

Page 8: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-7-

3.1.1.1,- Ackerman o Tipo Coche

Es el utilizado en vehículos de cuatro ruedas convencionales. De hecho, los vehículosrobóticos para exteriores resultan normalmente de la modificación de vehículosconvencionales tales como automóviles o incluso vehículos más pesados.

El sistema se basa en dos ruedas traseras tractoras que se montan de forma paralela en elchasis principal del vehículo, mientras que las ruedas delanteras son del tipodireccionamiento, y se utilizan para seguir la trayectoria del robot (ver Ilustración 1).Debido a la similitud con los vehículos convencionales, este sistema también recibe elnombre de tipo coche o modelo Ackerman. La rueda delantera interior gira un ánguloligeramente superior a la rueda exterior, de forma tal que los ejes de prolongación de lasruedas delanteras (directrices) y se cortan en el CIR o centro instantáneo de rotación, quese sitúa en un mismo punto que en el eje de prolongación del eje de las ruedas traseras(motrices). Esto elimina el deslizamiento que provoca los sobre virajes de la plataforma. Ellugar de los puntos trazados sobre el suelo por los centros de los neumáticos, soncircunferencias concéntricas con centro el eje de rotación CIR. Si no se tienen en cuenta lasfuerzas centrífugas, los vectores de velocidad instantánea son tangentes a estas curvas. Porlo que las velocidades de movimiento del móvil, deberán evitar que las ruedas no resbalen.

Ilustración 1. Robot móvil con tracción Ackerman.

En los robots móviles con configuración Ackerman, se presentan dos ángulos de giro, unoen cada rueda. Esto genera mayores problemas a la hora de realizar el control, por lo queen muchas ocasiones lo que se hace es unificar los ángulos de direccionamiento en unosólo, por lo que los radios de giro para los cuales el robot no muestra deslizamiento lateralson mayores que en otras configuraciones. En la Ilustración 2 se puede observar éste efectosobre el centro instantáneo de rotación (CIR).

Page 9: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-8-

Ilustración 2. Sistema Ackerman.

El mayor problema de la locomoción Ackerman es la limitación en la maniobrabilidad.

3.1.1.2,- Triciclo Clásico.

Este sistema de locomoción se basa en una rueda delantera que sirve tanto para la traccióncomo para el direccionamiento. El eje trasero, con dos ruedas laterales, es pasivo y susruedas se mueven libremente. La maniobrabilidad es mayor que en la configuraciónAckerman motivado por la existencia de una sola rueda de direccionamiento (verIlustración 3), pero a su vez esto causa que se puedan presentar problemas de estabilidaden terrenos difíciles. El centro de gravedad tiende a desplazarse cuando el vehículo sedesplaza por una pendiente, provocando una pérdida de tracción, o incluso el volcado, porlo que es preferible situar el Centro de gravedad cerca del suelo.

Ilustración 3. Configuración tipo triciclo.

Page 10: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-9-

3.1.1.3,- Tracción Diferencial.

Este tipo de direccionamiento viene dado por la diferencia de velocidades de las ruedaslaterales. La tracción se consigue también con estas mismas ruedas. Dos ruedas montadasen un único eje son independientemente propulsadas y controladas, proporcionando ambastracción y direccionamiento. La combinación del movimiento de las dos ruedas provoca elmovimiento alrededor del CIR. Este sistema es muy útil si consideramos la habilidad delmovimiento del móvil, presentando la posibilidad de cambiar su orientación sinmovimientos de traslación, lo que podríamos llamar cambio de spin. Las variables decontrol de este sistema son las velocidades angulares de las ruedas izquierda y derecha.Los diferentes modelos cinemáticos existentes proporcionan trayectorias perfectamentedefinidas, y con ello obtenemos el posicionamiento deseado.

En la Ilustración 4 podemos ver el robot de tracción diferencial realizado por la EscolaTécnica Superior d’Enginyeria (URV). Este robot móvil es nuestro objeto de estudio. En laIlustración 5 se presenta el diagrama de velocidades que estudiaremos más a fondo en losapartados sucesivos.

Ilustración 4. Robot de tracción diferencial.

Adicionalmente, existen una o más ruedas para soporte. Esta configuración es la másfrecuente en robots para interiores de pequeño tamaño.

Page 11: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-10-

Ilustración 5. Diagrama de velocidades configuración diferencial.

3.1.1.4,- Skid Steer.

Se disponen varias ruedas en cada lado del vehículo que actúan de forma simultánea. Elmovimiento es el resultado de combinar las velocidades de las ruedas de la izquierda conlas de la derecha (Ilustración 6). Estos robots se han usado para la inspección y obtenciónde mapas de tuberías enterradas empleando para ello sistemas de radar (“GroudPenetraining Radar”). Se han utilizado en aplicaciones mineras y en misiones deexploración espaciales no tripuladas.

Ilustración 6. Robot Terregator con locomoción tipo “skid steer”.

Page 12: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-11-

3.1.1.5,- Pistas de Deslizamiento.

Son vehículos tipo oruga en los que tanto la impulsión como el direccionamiento seconsiguen mediante pistas de deslizamiento. Pueden considerarse funcionalmente análogasal skid steer. De forma más precisa, las pistas actúan de forma análoga a ruedas de grandiámetro. La locomoción mediante pistas de deslizamiento es útil en navegación “campo através” o en terrenos irregulares, en los cuales presenta un buen rendimiento. En este caso,la impulsión está menos limitada por el deslizamiento y la resistencia al desgaste es mayor.

Ilustración 7. Robot AURIGA (Universidad de Málaga).

3.1.1.6,- Síncronas.

Consiste en la actuación simultánea de todas las ruedas, que giran de forma síncrona. Latransmisión se consigue mediante coronas de engranajes (“syncro drive”) o con correasconcéntricas.

En una conducción sincrónica del robot, cada rueda es capaz de ser conducida y dirigida.Las configuraciones típicas son:

• Tres ruedas directrices se montan acopladas en los vértices de un triánguloequilátero muchas veces debajo en una plataforma cilíndrica (Ilustración 9).

• Todas las ruedas propulsan y giran al unísono.

Page 13: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-12-

Ilustración 8. Tracción de tipo síncrona.

En este tipo de tracción de puede controlar la orientación del eje de rotación.

Ilustración 9. Configuración de tres ruedas directrices.

3.1.1.7,- Tracción Omnidireccional.

Este sistema de tracción de basa en la utilización de tres ruedas directrices y motrices(Ilustración 11). Esta configuración tiene tres grados de libertad, por lo que puede realizarcualquier movimiento, y posicionarse en cualquier posición en cualquier orientación. Nopresenta limitaciones cinemáticas.

Page 14: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-13-

Ilustración 10. Robot de tracción omnidireccional.

Ilustración 11. Diagrama de la configuración omnidireccional.

3.1.2,- Representación de la Posición y Orientación de un Robot Móvil en el Plano.

Para poder describir de forma conveniente las posiciones y orientaciones de los robotsmóviles en el espacio, utilizaremos los movimientos de rotación y traslación de forma talque podremos conocer la posición y la orientación del robot en el plano realizandooperaciones elementales. Para conocer el movimiento del móvil es necesario conocer laposición y la orientación inicial y final, este camino nos introduce en el estudio de lacinemática del móvil. En nuestro caso vamos a utilizar la notación de Craig (1989), que esla vamos a utilizar a lo largo del proyecto.

Page 15: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-14-

El conocimiento de la localización de un robot en el plano, es esencial pasa el estudio delos robots móviles, ya que éstos se mueven en la mayoría de aplicaciones en un planoconocido y sin irregularidades. En este caso es necesario conocer las dos coordenadas (x,y) y el ángulo de orientación (que llamaremos ?) para tener totalmente definido el móvil.

Py

{A}

PA

Y

XPx

Ilustración 12. Coordenadas cartesianas.

Partiremos de un sistema de coordenadas fijo que llamamos {A}. Éste representa lascoordenadas universales de nuestro sistema. La expresión de las coordenadas de un puntosituado en P respecto al eje de coordenadas {A} (ver Ilustración 12) se puede expresarmediante un vector de posición de la siguiente manera:

=

PP

y

xAP Ecuación 1

Los vectores unitarios de este sistema son los llamados XAY YA .

0

r

{A}

Y

X

Ilustración 13. Coordenadas polares.

Esta forma de expresar las coordenadas se denomina coordenadas cartesianas. Tambiénpodemos utilizar coordenadas polares, de forma que el punto P se puede expresar como ladistancia al origen de coordenadas r y el ángulo ? que forma el vector r con el eje XA (verIlustración 13).

Ahora colocamos un eje de coordenadas {B} en el centro de masas del móvil de forma quelos vectores unitarios de este segundo sistema serán XB y YB, tal y como se muestra en la

Page 16: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-15-

Ilustración 14. La dirección del vector YB forma un ángulo ? con el vector XA. Obsérveseque al tratarse de localizar a un robot móvil que se desplaza en el plano, este segundosistema será solidario al robot con YB en la orientación del robot.

Y

{A}

PyA

{B}

0

P

XPxIlustración 14. Ejes robot en coordenadas universales.

Si se expresan los vectores unitarios del sistema {B} en el {A}, se escribirá ∧

BA X

(Ecuación 2) , AYB(Ecuación 3). Estos dos vectores se disponen según las columnas de unamatriz (ecuación 4), que es conocida como matriz de rotación. Estas matrices juegan unpapel importante en los modelos empleados en robótica.

=

θθ

SinCos

XBA

Ecuación 2

−=

θθ

CosSin

YBA

Ecuación 3

=

=

∧∧

rrrr

BA

BAA

B YXR2221

1211Ecuación 4

Teniendo en cuanta las ecuaciones 2 y 3, y sabiendo la expresión de la matriz de rotación,podemos escribir la ecuación 5. Ésta representa la rotación de los ejes {B} sobre el vectorunitario de {A}.

−=

θθθθ

CosSinSinCos

RAB Ecuación 5

Teniendo en cuenta que los vectores columna son ortonormales, puede escribirse también:

TAB

AB

AB RRR == −1

Ecuación 6

Page 17: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-16-

Para conocer la posición del origen de el sistema de coordenadas de {B} en coordenadasde los ejes universales que llamamos {A}, será necesario además, realizar una traslación delos ejes.

PyB

AP

{A}

Y

{B}

Px X

Ilustración 15. Traslación de ejes coordenados.

Supongamos que el sistema {B} tiene sus vectores de dirección coincidentes con los del{A}, como se ilustra en la Ilustración 15. Esto sucede cuando el robot se desplaza sinvariar su orientación. El origen del sistema {B} se localizará con respecto al {A} medianteel vector (ecuación 7):

[ ]TyORGBA

xORGBA

ORGBA PPP = Ecuación 7

Por consiguiente, las coordenadas de un punto cualquiera del plano en los dos sistemasestán relacionadas mediante (ecuación 8):

yORGBA

yB

yA

xORGBA

xB

xA

PPP

PPP

+=

+=Ecuación 8

Expresiones en las cuales las componentes de los vectores pueden sumarse por estar estosvectores en la misma dirección. Estas dos ecuaciones definen la traslación del sistema decoordenadas {B} sobre el sistema de coordenadas {A}.

De esta forma podemos definir la posición del móvil como el producto de una rotación yuna traslación. La composición de los términos rotación y traslación para hacer coincidirlos ejes sobre los de referencia con los ejes universales expresa las coordenadas de lacinemática directa del móvil.

Esto significa que, para expresar un punto objetivo, al que llamamos F, será necesariorealizar varias operaciones para situarlo en coordenadas universales. En la Ilustración 16podemos ver cómo expresamos las coordenadas en el plano, de un robot móvil como el queestamos estudiando.

Page 18: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-17-

PA

{A}

Y 0

IfFCM

B

X

{B}

Ilustración 16. Ejes robot móvil.

Conocemos la distancia del punto F al centro del eje coordinado {B}, a la que llamamos If.De esta forma obtenemos las coordenadas del punto F respecto a {B}, tal y como semuestra en la ecuación 9.

=

IfPF

B 0Ecuación 9

El siguiente paso será realizar la rotación del sistema de referencia {B} un ángulo ?, que yahemos calculado en la ecuación 2 y 3. Esta operación la expresaremos en coordenadas x ey para poder realizar los cálculos de forma escalar. De esta forma la expresión tendrá laforma de la ecuación 10.

θθθ

θθθ

CosIfIfSin

CosPYP

SenIfIfSin

CosPXP

FB

BA

yORGBA

FB

BA

xORGBA

⋅=

=⋅=

⋅−=

=⋅=

0

0

Ecuación 10

Por último solo falta expresar las coordenadas del sistema {B} en coordenadas del sistema{A}, que hacemos según la ecuación 8.

θ

θ

CosIfyPPP

SenIfxPPP

cmyORGBA

yB

yA

cmxORGBA

xB

xA

⋅+=+=

⋅−=+=Ecuación 11

Page 19: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-18-

En éste caso la composición de una rotación y una traslación es suficiente para conocer laposición del punto F en los ejes universales. Esto significa que cualquier obstáculoexpresado en coordenadas relativas al sensor que lo detecta, puede ser expresado encoordenadas universales mediante la aplicación de la ecuación 11.

3.1.3,- Descripción del Robot.

Los manipuladores móviles se pueden construir basándose en diferentes diseños deplataformas, que se diferencian por el mecanismo de arrastre empleado. Las plataformasmóviles más comunes utilizan una tracción diferencial (differential steering) o una tracciónde coche (car-like drive). El primer sistema utiliza impulsores independientes en cada unade las ruedas situadas en el mismo eje, además se utilizan ruedas locas o puntos desustentación para agregan estabilidad a la plataforma móvil. El segundo caso, se utiliza undiseño del tipo triciclo en el cual la rueda o ruedas delanteras se utilizan como guía, i lastraseras como impulsoras. Existen Además otros sistemas de tracción, que se basan enconceptos parecidos, ya descritos en el apartado 3.1.1 El sistema elegido dependerá de lascondiciones y del lugar en que el móvil tendrá que trabajar.

El robot que estamos estudiando, y que se muestra en la Ilustración 17 es del tipo móvil,con dos elementos motrices dispuestos de forma transversal y contrapuesta. Laconfiguración utilizada es del tipo diferencial, por lo que el movimiento lo producen lasdiferentes velocidades que se aplican a cada motor.

Ilustración 17. Planta del robot móvil de l laboratorio de la ETSE (URV)

Para el control del móvil, el sistema dispone de un microcontrolador SAB 80C537 de lamarca SIEMENS, que será el encargado de ejecutar la rutina de control y de realizar lastareas de cálculo de trayectorias. Para dar soporte al microcontrolador, el sistema disponede 32 kbytes de memoria RAM para almacenar programas y tablas de datos, y 32 kbytes dememoria EEPROM para almacenar el sistema operativo que permite operar con el robot.

Page 20: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-19-

En cuanto a los elementos mecánicos, podemos decir que los motores son de corrientecontinua de 7,2 V de tensión máxima de alimentación y tienen una velocidad nominal de12300 rpm con un diámetro de 13 mm. A éste motor se le ha acoplado un grupo reductorde velocidad y un encoger magnético digital, formando un bloque compacto dedimensiones muy reducidas.

Esto robot móvil fue diseñado por Joaquín López Maroñas en su proyecto final de carreraque realizó para la Escola Técnica Superior d’Enginyeria de la URV de Tarragona, siendoel antecedente de éste proyecto.

Otros estudios teóricos basados en éste mismo robot pueden encontrarse en el “Estudisobre la implementació d’algoritmes de control del moviment d’un Robot Mòbil” deCarlos González Barberán, también realizado como proyecto final de carrera del mismodepartamento.

3.2,- Modelado del Sistema Motriz

3.2.1,- Modelo Dinámico del Motor

El primer paso para poder hacer un control de posición es la realización de un modelo delsistema, que sea representativo de la realidad. Partir de éste punto podemos trabajar en labúsqueda de controladores adecuados para éstos servo mecanismos.

ara realizar el modelado del robot, partiremos del modelo de un motor DC, que presenta lasiguiente configuración:

Ilustración 18. Modelado motor DC con imanes permanentes

En la Ilustración 18 podemos observar dos elementos energéticos distintos: los elementoseléctricos, y los elementos mecánicos. El motor DC es el elemento encargado detransformar un tipo de energía en otro. Nuestro objetivo es obtener la función detransferencia del modelo del motor, que equivale al sistema real físico.

Las ecuaciones características motores DC de imanes permanentes (flujo cte), quetransforman energía eléctrica en mecánica, se rigen por unos coeficientes llamados kv y kt.

Page 21: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-20-

Éstos actúan de elementos transformadores. Este fenómeno físico se puede escribirmatemáticamente mediante dos expresiones:

Wke mV⋅= Ecuación 12

IkT t⋅=

1 Ecuación 13

La ecuación 12 representa la transformación de energía eléctrica expresada en volts avelocidad angular (que es unidad de energía mecánica). Por otra parte la ecuación 13expresa los requerimientos de corriente eléctrica causados por el par desarrollado. De éstasdos últimas ecuaciones, podemos deducir que el par mecánico es una exigencia delsistema, mientras que la velocidad angular es un resultado del sistema. Análogamentepodemos decir que si la velocidad angular es la variable exigida por el sistema, el resultadodel sistema será el par mecánico.

Otro punto importante es la obtención de la relación de transformación mecánica amecánica. Ésta función la desarrolla el grupo reductor de velocidad, que realiza la funciónde transformador de energía mecánica-mecánica. La relación de engranajes se expresacomo:

TT

WW

NN

m 2

12

2

1 == Ecuación 14

La ecuación 14 es importante, pero también es necesario conocer el rendimiento del gruporeductor, ya que la relación no es nunca la anteriormente expresada. La relación N1 y N2

representa al número de dientes del primario y del secundario. Esto motiva las demásrelaciones.

Los acoplamientos entre elementos mecánicos producen pérdidas en forma de parresistente. Nosotros supondremos que los acoplamientos se encuentran en condicionesfuncionales, por lo que rozamiento será de tipo viscoso, en nuestro caso b. Este parresistente se expresa de la siguiente manera (ecuación 15):

WbT meqr⋅= Ecuación 15

Por otra parte, el circuito eléctrico que alimenta al motor se puede escribir de la siguientemanera (ecuación 16):

dtdI

LRIeV ⋅+⋅=− Ecuación 16

Siendo L la inductancia del bobinado del motor y R su resistencia.

El análisis del circuito mecánico se puede escribir de la siguiente manera (ecuación 17):

FTdtdWJT rr

meq

++⋅=1 Ecuación 17

Page 22: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-21-

Es sobre la ecuación 17 que vamos a introducir un término de rendimiento de reductor, deforma tal que aparece un coeficiente de rendimiento expresado en tanto por uno de laforma que se indica en la ecuación 18.

FTdtdWJT rr

meq

r ++⋅=⋅ 21 Ecuación 18

En éste caso J es la inercia del conjunto, y lo que hemos expresado como r2 el rendimientodel reductor de velocidad.

Mediante las ecuaciones 13, 15 y 18 obtenemos la ecuación de estado 19, y mediante lasecuaciones 12 y 16 obtenemos la ecuación de estado 20.

FJWJbIJ

kdt

dWr

eqm

eq

eq

eq

tmr 12 −−

⋅= Ecuación 19

WLkIL

RVLdtdI

mv−−= 1

Ecuación 20

Su expresión en espacio de estado tiene la forma de la ecuación 21:

( ) ( )

⋅+

⋅=

−+

−−

⋅−

=

r

mm

req

m

v

eq

t

eq

eqm

FV

IW

W

FV

JLI

W

LR

Lk

Jrk

J

b

dtdIdt

dW

0001

0

1102

Ecuación 21

Estas ecuaciones nos llevan a la conclusión de que el modelo de los motores, en un estudiolineal, es un sistema de segundo orden. A partir de este punto es necesario estudiar cual esel comportamiento del sistema, teniendo en cuenta las no linealidades que presentan lossistemas físicos.

3.2.1.1,- Función de Transferencia del Motor DC

A partir del modelo que hemos obtenido en el capítulo 3.4, podemos obtener la función detransferencia del conjunto motor. Tenemos que tener en cuanta que existen dos motores(uno para cada rueda).

Para que sea más sencillo el modelado del motor, hemos reducido las inercias y losrozamientos viscosos al primario del reductor. De esta forma podemos calcular los valores

Page 23: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-22-

reducidos de una forma sencilla y práctica. Matemáticamente se expresa el paso delsecundario al primario del grupo reductor dividiendo por la relación de transformación alcuadrado, tal y como se muestra en la ecuación 22.

22

21

22

21

rtb

b

rtJ

J

=

=

Ecuación 22

Como se puede observar existe una equivalencia con los transformadores eléctricos. Éstaequivalencia, que ya se había visto en los circuitos eléctrico y mecánico del motor, es muyimportante a la hora de hacer simulaciones, ya que nos permite hacer similitudes en elcomportamiento de ambos sistemas.

Entonces, para el caso que estamos estudiando, la correspondencia al primario de inerciases el calculado en la ecuación 23, mientras que el de resistencias viscosas es el mostrado enla ecuación 24.

22

1 rtJ

JJ eq += Ecuación 23

1bbeq = Ecuación 24

Las características principales para el cálculo de la función de transferencia son:

Parámero Descripciónvelang=1.2881e+003 velocidad nominal 12300 rpm (12300*2*pi)/60Kt=0.00495 constante de par Kt=4.95 mNm/AKv=0.00495 constante de velocidad Kv=1930 rpm/V Kv=((1/1930)/(2*pi))*60

V/rad/segR=11.4 resistencia bobinado R=11.4 ohmL=0.00024 Inductancia motor L=0.24 mHN1=3249 rpm primario N1=3249 rpmN2=196 rpm secundario N2=196 rpmrt=N1/N2 =16.5765 relación de transformaciónr=0.0350 radio ruedab1=3.7700e-012 rozamiento primario tau=13 ms=b/J: b=13*0.000000029=3.7700e-007r2=0.8300 Rozamiento secundario Max. efficiency=83%

J1=0.000000029 inercia rotor J1=0.290 gcm2J2=8.5000e-009 Inercia reductor=0.015 gcm2 inercia encoder=0.07 gcm2Jeq=J1+(J2/rt^2) Inercia equivalente en primario motorbeq=b1 Resistencia equivalente en primario motor

Tabla 1. Características motor

Siendo los valores más característicos los de la siguiente lista:

Kt=0.00495Kv=0.00495La=0.00024Ra=11.4

Page 24: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-23-

beq = 3.77 e-010Jeq = 2.9031e-008

Como podemos observar, Kt y Kv son iguales en unidades del sistema internacional,aunque se expresen en diferentes tipos de unidades. Estas constantes son las llamadasconstante de velocidad (porque relaciona velocidad angular i flujo con fuerzacontraelectromotriz) y constante de par (porque relaciona corriente y flujo con pares).

Para la obtención de la función de transferencia global del motor, partiremos del diagramade bloques y lo reduciremos hasta hallara la relación entrada/salida. Partiremos del modelode la ilustración 19, que representa el modelo inicial compuesto por las ecuaciones 19 y 20.A partir de este modelo podemos hacer modificaciones en los sumandos, ya que sabemosla relación que existe en los sistemas realimentados, que según la ecuación 25 podemosreducir a una función de transferencia única.

)(1)(

)(sHk

sHsA

⋅+= Ecuación 25

Ilustración 19. Modelo motor inicial.

Ilustración 20. Primera reducción del modelo Ilustración 21. Última iteración del modelo motor

Page 25: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-24-

Teniendo en cuenta las reducciones anteriores, de la Ilustración 21 deducimos, que lafunción de transferencia del sistema que estamos estudiando es de segundo orden y quedade la siguiente manera:

( ) ( )( ) rkkbJRLrk

vTeqeqaa

T

sssH

2

2

⋅+++

⋅=

⋅ Ecuación 26

Si ahora substituimos los valores de las constantes en la ecuación 26, obtenemos la funciónde transferencia de uno de los motores del robot móvil (ecuación 27).

( ) ( )( ) 6-20.337e1277.3000000029.04.1100024.0004109.0

+−++=

esssH Ecuación 27

Operando la ecuación 27 obtenemos la función de transferencia de segundo orden enpotencias de S, resultando la ecuación 28.

( ) 57212 10034.210306.310967.6004109.0

−−− ⋅+⋅+⋅=

sssH Ecuación 28

También podemos expresar la función de transferencia identificando los parámetros de unsistema se segundo orden de la manera que se indica en la ecuación 29:

( ) 62

6

22

2

109195.247452109195.299.201

2 ⋅++⋅⋅

=++

⋅=

ssWsWsWk

sHnn

n

ξ

Ecuación 29

Si igualamos términos obtenemos los valores característicos del sistema que nosdeterminan su comportamiento dinámico, y que se detallan en la tabla 2

Motor H(s)Ganancia k 201,9775Polos -4,74*104; -0,0062*104

Coef. Amorti. ? 13,886Frecuencia Wn (rad/sec) 1709

Tabla 2

Podemos entonces dibujar el lugar geométrico de las raíces del motor en lazo abierto paraconocer la posición de los polos, y el resultado se muestra en la ilustración 22.

Page 26: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-25-

Ilustración 22. LGR motor en lazo abierto

Si observamos la ilustración 22, nos damos cuenta de que el sistema está fuertementemarcado por el comportamiento del polo de baja frecuencia, por lo que es posible reducirel sistema a uno de primer orden sin perder información relevante del comportamiento delsistema. Esto nos será útil a la hora de calcular el controlador, ya que de esta manera sesimplifican los cálculos. Es importante entonces conocer las características de casa uno delos polos, que detallamos en la tabla 3.

Valor Frecuencia (rad/s) AmortiguamientoPolo 1 0,0074*104 6.15*10 1Polo 2 4,7426*104 4.74*104 1

Tabla 3

El diagrama de bode del motor en lazo abierto nos será muy útil a la hora de analizar lascaracterísticas y el comportamiento dinámico del mismo. En la Ilustración 23 podemos verlos puntos importantes, como son la frecuencia de cross over, o frecuencia en la que laganancia es nula, que es de 10500 rad/s. Éste punto nos determina el margen de fase delsistema.

Page 27: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-26-

Ilustración 23. Diagrama de bode del motor en lazo abierto

3.2.1.2,- Reducción a un Sistema de Primer Orden

A partir de los datos obtenidos en el apartado anterior podemos hacer una reducción delorden del sistema para simplificar cálculos posteriores. De ésta forma es importante haceruna simplificación coherente con la realidad del sistema.

Por ello partiremos de la eliminación del polo de más alta frecuencia, que como podemosver, se sitúa en 47,4 rad/s, mientras que el polo dominante se sitúa en 61,5 rad/s. Estorepresenta un factor de casi 800 veces superior el polo de alta frecuencia con relación al debaja, por lo que el comportamiento es marcadamente de primer orden.

La ganancia en continua del sistema motor es de 201,9775, por lo que si tenemos en cuentala estructura típica de un sistema de primer orden que mostramos en la ecuación 30, nosdamos cuenta de que tenemos todos los parámetros necesarios para calcular la nuevafunción de transferencia.

( )n

n

WsWk

sH+⋅

= Ecuación 30

Éstos parámetros los podemos observar en la tabla 4.

Page 28: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-27-

Motor H(s) modificadaGanancia k 201,9775Polo -61,5

Tabla 4. Parámetros función de transferencia de primer orden

Con los resultados obtenidos podemos determinar la función de transferencia, que tiene laexpresión de la ecuación 31.

( )5,61

124205,61

5,619775,201+

=+

⋅=

sssH Ecuación 31

Ahora, al comparar los resultados del sistema original de segundo orden con el sistemapropuesto de primer orden, obsérvese la ilustración 25, cómo la respuesta a escalónunitario del sistema de segundo orden (arriba a la derecha), es apreciablemente muyparecida a la del sistema de primer orden (abajo a la derecha), pero los diagramas de bodeen lazo abierto son distintos a las frecuencias próximas a 104 rad/s. En el bode del sistemade segundo orden (arriba izquierda), aparecen los efectos del polo de alta frecuencia,mientras que en baja frecuencia el comportamiento es prácticamente el mismo.

Ilustración 24. Gráficos comparativos.

Page 29: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-28-

Por otra parte hay que comparar los resultados obtenidos con los datos entregados por elfabricante, para así poder validar el modelo obtenido. Si observamos los gráficos derespuesta escalón de ambos sistemas, podemos observar que la velocidad angular que seobtiene para una tensión de alimentación igual a la nominal de 7,2 V, se sitúa en 1450rad/s, algo superior a los 1288 rad/s entregados en la documentación del fabricante. Estoes motivado por algunas simplificaciones que hemos realizado a la hora de coger losdecimales de los parámetros internos. A pesar de ello, el resultado es suficientementebueno como para considerarlo aceptable.

Otra característica importante es el tiempo de establecimiento y el tiempo de subida, que sesitúan en 72 y 18 ms respectivamente, mientras que en las características del fabricante sesitúa en 13 ms. Esta diferencia es debida a que el fabricante no ha tenido en cuenta losrozamientos del eje reductor y del encoger magnético digital.

3.2.1.3,- Características del Motor DC

En los data sheets de Maxon, podemos encontrar todas las características de los motoresDC que hay instalados en el robot. Los motores utilizados son de imanes permanentes degrafito sin escobillas. La particularidad de estos motores es el hecho de que empleanconmutación eléctrica (en lugar de mecánica) de la corriente de armadura. Estos Motorestienen un momento de inercia bajo en comparación con los modelos con escobillas.

Las principales características las pasamos a enumerar en la siguiente tabla (tabla 5):

Nº Datos Motor Unidades Valor1 Potencia asignada W 1.52 Tensión nominal Volt 7.23 Velocidad sin carga rpm 123004 Par de arranque mNm 3.135 Gradiente velocidad/par rpm/mNm 44306 Corriente sin carga mA 747 Corriente de arranque mA 6338 Resistencia en los terminales Ohm 11.49 Velocidad máxima admisible rpm 1600010 Corriente máxima continua mA 26711 Par máximo continuo mNm 1.3212 Potencia maxima a la salida a tension nominal mW 93613 Rendimiento máximo % 4614 Par constante mNm/A 4.9515 Velocidad constante rpm/V 193016 Constante de tiempo mecánica ms 1317 Inercia del rotor gcm2 0.29018 Inductancia en los terminales mH 0.2419 Resistencia térmica cubierta-exterior K/W 4620 Resistencia térmica rotor-cubierta K/W 1421 Constante de tiempo térmica del bobinado s 5

Tabla 5. Características motor utilizado.

Page 30: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-29-

Las especificaciones constructivas de los motores Maxon que se utilizan son las siguientes:

• Juego axial 0.05 – 0.15 mm• Carga máxima en los cojinetes

Axial (dinámico) 0.8 NRadial (5 mm desde la junta) 1.4 NFuerza de presión-ajuste (estático) 15 N

• Juego axial en los cojinetes 0.014 mm• Rango de temperaturas del ambiente de trabajo -20/+65ºC• Temperatura máxima del rotor +85ºC• Número de segmentos de conmutación 7• Peso del motor 15 – 18 g

En la ilustración 25 se muestran las principales cotas de los motores. Hay que tener encuenta que vamos a adaptar un reductor de velocidad y un encoger en el mismo eje.

Ilustración 25. Características físicas de los motores

Los puntos de trabajo se muestran en la ilustración 26. Como se puede observar, los rangosde trabajo marcados en rojo no ofrecen peligro alguno en las condiciones de trabajo. No esrecomendable ejercer sobre los motores pares superiores a 1.32 m Nm, ya que eso podríacausar la desmagnetización de los imanes permanentes, un sobrecalentamiento en losmotores o cualquier otro tipo de avería asociada a la sobrecarga magnética, mecánica otérmica.

Ilustración 26. Puntos de trabajo nominales motor

Page 31: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-30-

3.2.1.4,- No Linealidades Observadas

En el modelado de motores podemos observas diferentes no linealidades. Éstas puedentener varios caracteres. Aquí describimos algunas posibles no linealidades que presentanestos motores:

• No linealidades debidas a la saturación del motor: En las características de unmotor DC, se puede observar que su potencia no es infinita, a pesar de que lasecuaciones lineales de un motor si lo son. A medida que vamos aumentando latensión en el motor, la teoría nos indica que la velocidad desarrollada puede llegar aser infinita. En las características entregadas por el fabricante, se observa que latensión nominal es de 7,2 V, por lo que no podremos superar este valor. Existe,entonces, una saturación debida al límite de corriente del motor. Además existe uncampo magnético (ley de Lenz de los campos magnéticos) que se opone al creadopor los imanes del estator, que se genera en las espiras del rotor, por el hecho deque pasa una corriente. Este efecto es mayor a medida que la carga se eleva. Esto sepuede observar en la Ilustración 26. En este caso, los rangos operativos serestringen y quedan limitados.

• No linealidades debidas a la rotación del motor: Un motor presenta diferentescoeficientes en función del sentido de la rotación, aunque el fabricante solo nos daun valor, válido para los dos sentidos de rotación. Estas no linealidades, no sepueden simular, ya que sobre el papel no disponemos de datos suficientes, aunqueuna vez realizados los ensayos podremos variar los valores de los mismos. Esta nolinealidad se debe a las diferencias que se originan en un motor por ladescompensación axial del eje rotor, las diferencias (pequeñas) del tamaño de losimanes, la variación de la resistencia rotórica en función del sentido de la corriente(efectos de física cuántica), o la simple diferencia de la reluctancia magnética de losimanes motivada por la desmagnetización temporal o por exceso de carga, etc… Elfabricante nos da un valor de juego en el eje de acotado entre 0.05 y 0.15 mm.

• No linealidades motivadas por las transiciones de rozamiento estático y cinético: Lasimulación del comportamiento del rozamiento en un sistema dinámico, escomplicada. Existen dos tipos más generales de rozamiento (hay muchas masderivados de ellos), que son el rozamiento estático y el cinético. Sucomportamiento presenta no linealidades muy acusadas y difíciles de simular. Lavariación del tipo de terreno, o las deformaciones del mismo también afectan aestas no linealidades.

3.2.2,- Función de Transferencia del Encoder Magnético Digital

El principio del encoder magnético se basa en la rotación de un pequeño imán permanentemultipolo situado en la parte móvil. El cambio del flujo magnético lo detecta un sensormagnético y transmite la señal electrónica como pulsos magnéticos, que a su vez son

Page 32: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-31-

función de la velocidad de giro del imán y es dependiente del tiempo. En la ilustración 27se representa el esquema del encoder magnético.

Ilustración 27. Encoder magnético digital. Ilustración 28. Señales del encoder magnético digital

El encoder tiene dos canales, A y B, que entregan una señal cuadrada cada uno, que seráprocesada por el sistema de control. Estos impulsos pueden ser contados para determinar laposición exacta o para conocer la velocidad a la que se mueve. Los canales A y B, entregandos señales desfasadas, que se comparan entre ellas para conocer el sentido de giro.

Un pulso de usuario (llamado “home” pulse en el canal I) se utiliza para determinar laposición cero de referencia, y nos permite determinar los cambios angulares en el giro. Lasseñales que entrega el encoder a la salida las podemos observar en la ilustración 28.

Para determinar la velocidad de giro del encoder habrá que determinar la velocidadmáxima de giro, para así conocer el muestreo mínimo para que no se produzca pérdida deinformación de velocidad.

Ilustración 29. Tiempos de subida de las señales del encoger.

Page 33: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-32-

Para la medida de la posición del móvil, vamos a utilizar técnicas de odometría. Laprincipal ventaja de este tipo de medida de posición, es que el equipo de medida seencuentra en el mismo robot a controlar, y siempre es capaz de obtener una posiciónrelativa al vehículo. Por el contrario, tiene la desventaja de que el error relativo crece sincontrol si no usamos una variable independiente periódicamente para corregir éste error.

Nosotros conocemos la frecuencia máxima de operación, que se sitúa en 20 kHz. Superadaesta frecuencia en la salida del encoder significa que el tiempo de subida de los canales A yB es superior y que no será posible contar los pulsos (obsérvese ilustración 29). Si ademástenemos en cuenta que cada vuelta de rotor cuenta 16 pulsos por canal, podemosdeterminar la velocidad máxima de giro del motor de la siguiente manera (ecuación 32):

segrad

cuentas

rad

segcuentas

785416

21020 3 =⋅⋅ π Ecuación 32

Si tenemos en cuenta que nuestro motor gira a un máximo de 1281.1 rad/seg, y sabiendoque el teorema de Nyquist determina que fs>=2f, el encoder cubre sobradamente esteaspecto constructivo.

Para obtener una buena precisión, podemos contar las transiciones y no los pulsos. De estamanera reducimos la resolución en grados a la mitad. Por lo tanto, teniendo en cuenta queN es el número de cuentas y S el número de canales, la resolución se calcula como sigue(ecuación 33):

º8125.22162

º3602

º360=

⋅⋅==

NSR Ecuación 33

Si ahora tenemos en cuenta el error para las condiciones anteriores, podemos determinarque el ángulo medido será (ecuación 34):

( )º8125.28125.2164

º360164

º36022±=

⋅±⋅

⋅= tt gradosα Ecuación 34

Dónde t2 es el nº de transiciones que hemos contado.

La velocidad la obtendremos dividiendo por el tiempo de muestreo que utilizamos en elmicrocontrolador para hacer esta operación de suma, y dependerá de las necesidades decálculo y de la velocidad máxima que necesitemos contar.

Si tenemos en cuenta que el diseño del circuito para atender las interrupciones tiene una tde 12 µs, esto nos da 83.33 kHz de frecuencia máxima de generación de interrupciones,superior al valor mínimo necesario de 60 kHz, que corresponden a 20 kHz de frecuencia

Page 34: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-33-

máxima de funcionamiento del encoder multiplicado por 2 transiciones por cada pulsogenerado.

La determinación del sentido de rotación se hace teniendo en cuenta que el canal Aadelanta al canal B en 90º, y cuando el giro es en el sentido contrario, el canal B adelanta alcanal A en 90º. Para conocer el punto de referencia, se utiliza el cana de usuario.

El codificador magnético se puede representar como una relación entrada salida, cuyafunción de transferencia es (ecuación 35):

K etrofracuencímWn

=⋅⋅

=π2

2162Ecuación 35

Conociendo la frecuencia máxima de trabajo del encoder que son 20kHz, y considerandoque generamos un pulso por cada transición, podemos deducir que, en el peor de los casos,tendremos una interrupción cada 2.5·10-5 segundos, o lo que es lo mismo, cada 25µs. Estacifra no es un valor es significativo, porque quien nos va a marcar el ritmo de lasinterrupciones va a ser la velocidad máxima de giro del motor. Ésta se sitúa en 12300 rpm,que expresado en unidades del sistema internacional son 1281.1 rad/seg. Teniendo encuenta que se producen 32 transiciones por cada vuelta del encoder, obtenemos el resultadode la ecuación 36.

segpulsosn /6.65241.1281232

=⋅=π

Ecuación 36

Que pasado a unidades temporales son 153.27 µs por pulso. Como podemos observar elsistema está perfectamente capacitado para atender las interrupciones del encoder.

La medida de velocidad la realizará el µP utilizando la salida de posición del codificadorcomo dato.

Cuando utilizamos la velocidad como variable a ser realimentada, tenemos que expresarlapor su transformada en Z, si queremos analizar el sistema. La derivada en tiempo discreto,se obtiene tomando la diferencia entre posiciones en intervalos de muestreo sucesivos ydividiendo por el tiempo de muestreo. Obsérvese en la ilustración 30.

Ilustración 30. Intervalos de muestreo.

Page 35: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-34-

Entonces expresamos la velocidad como la ecuación 37:

Ecuación 37

se expresa en forma de un recuento en un registro digital, de forma que N debe tenerunidades de recuentos por rad/seg, en nuestro caso, si operamos la ecuación 35, obtenemosuna N=10,186 pulsos por rad/seg.

Entonces la transformada en Z de la medida de velocidad queda como sigue (ecuación 38):

Ecuación 38

Para determinar el muestreo del frecuencímetro, o lo que es lo mismo, el tiempo necesariopara realizar las operaciones de suma y conocer la velocidad, será necesario conocer laconstante de tiempo del sistema motor. Si las aceleraciones son lentas, se podrá realizar elcómputo más lentamente, y así rebajaremos la carga de trabajo del microcontrolador, perosi nuestro sistema evoluciona muy rápidamente, será necesario hacer un mayor número deoperaciones de cálculo. Partiendo de estas premisas, y con las simulaciones realizadas enlos apartados anteriores, sabemos que la evolución de la velocidad responde a una t=13msy su tiempo de establecimiento se sitúa en 39ms. Con estos datos estableceremos comotiempo de muestreo T=50ms, igual al tiempo de muestreo del lazo de velocidad.

De esta forma el número de cuentas que realizaremos a la velocidad máxima será de(ecuación 39):

652049,1350 =⋅=n Ecuación 39

De ésta forma obtenemos que la función a realizar por el microcontrolador para obtener lavelocidad a la salida del encoger, teniendo en cuenta que se cuentan P pulsos en 50ms, esla operación aritmética Vel=1,9635·P, y obtendremos la velocidad en rad/seg.

En la ilustración 31 tenemos las dimensiones del encoder, que como podemos comprobarcoinciden con las del motor.

•θ n

Page 36: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-35-

Ilustración 31. Dimensiones físicas encoder

Las características técnicas del encoder magnético digital utilizado son las que sedescriben a continuación:

• Voltage Vcc 3.8 – 24 V• Señal de salida bei Vcc=5 VDC TTL compatible• Numero de canales 2• Cuentas por vuelta 16• Salto de fase 90º e• Potencia de entrada a Vcc=5 VDC max. 8 mA• Inercia del disco magnético 0.07 gcm2

• Rango de temperatures de trabajo -20 to/80 ºC• Frecuencia maxima de trabajo min. 20 kHz• Longitud total (motor+reductor+encoder) 30.3 mm

Para el conexionado con el microcontrolador que hará el recuento de flancos, se utilizanlos pines que se localizan en la ilustración 32. Las conexiones de los canales A y B soncompatibles TTL y éstos deberán generar interrupciones en cada flanco, tanto de subidacomo de bajada, por lo que será necesario generar un tren de pulsos. La generación de éstetren de pulsos para generar las interrupciones, se soluciona mediante un circuitoelectrónico, que no vamos a tratar.

Ilustración 32. Conexiones encoger.

Page 37: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-36-

3.2.3,- Función de Transferencia del Reductor de Velocidad.

Una propiedad del grupo reductor que estamos utilizando, es que cambia la velocidad derotación de los ejes que sostienen los engranajes. El engranaje que utilizamos tiene unareducción absoluta de 3249/196. Es decir, por cada 17 vueltas del eje de entrada, secompleta una del eje de salida. Luego la velocidad de salida baja en un factor 17. Si losengranajes se invierten, la razón será de 1 a 17, con lo cual el eje de salida girará 17 vecesmás rápido que el de entrada.

La respuesta es debida a los distintos diámetros de los engranajes y a la relación entrevelocidad angular y la velocidad lineal. Ambos engranajes se mueven a la misma velocidadlineal en el punto en el cual los dientes están interconectados, pero se mueven endirecciones opuestas.

La relación entre velocidad lineal y velocidad angular es v = w x r, donde v es la velocidadlineal, w es la velocidad angular y r es el radio del engranaje; el radio es la mitad deldiámetro. Esta es una relación vectorial: x es el producto vectorial o producto cruz.

Así, dado que V17 = -V1, podemos sustituir la ecuación anterior para V y obtenemosW17xr12 = -(W1 x r1). Re escribiendo esta ecuación tenemos W17 = -W1 x (r1 / r17). Larazón de r1 a r17 es 1 a 17 ó, W17 = -W1 x (1/17). La velocidad de angular del engranajede secundario dependiendo del nº de dientes es 1/17, y la del eje primario 17 veces máslenta. El signo negativo significa que la velocidad angular está en la dirección opuesta.

Podemos expresar por tanto la relación de transformación de la siguiente manera (ecuación40):

VVNNV 11

2

12 17

1⋅== Ecuación 40

Siendo los valores los de la tabla 6:

Reductor de velocidadN1=3249 rpm primario N1=3249

rpmN2=196 m secundario N2=196 rpmrt=N1/N2 relacion de transformación

Tabla 6

Si hablamos con referencia a los pares aplicados en cada eje, los resultados so los inversosque en velocidades. El par aplicado en cada una de los ejes se expresa como (ecuación 41):

dFM ∧= Ecuación 41

Page 38: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-37-

Si tenemos en cuenta que d17>d1, podemos deducir que el par en el secundario será mayorque en el primario, ya que F es igual para los dos en el punto de contacto (ecuaciones 42 y43). Por lo tanto:

dM

dM

1

1

2

2 = Ecuación 42

MMNNMd

dM 111

21

1

22

17 ⋅=== Ecuación 43

En la ilustración 33 vemos un detalle de las magnitudes del grupo reductor, que se acoplaperfectamente al motor y al encoder utilizados.

Ilustración 33. Características físicas reductor.

Las características técnicas del reductor dependen de los elementos que lo constituyen. Esimportante conocer los pares máximos que puede transmitir y las pérdidas de carga que seproducen.

En la siguiente tabla (ilustración 34) se muestran los mas significativos:

Ilustración 34. Características técnicas reductor.

Page 39: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-38-

Por último, las características del grupo reductor de la marca Maxon que estamosestudiando se describen en la tabla 7:

Nº Características grupo reductor Unidades valor1 Reducción 17 : 12 Reducción absoluta 3249/1963 Número de etapas 24 Par máximo a la salida del reductor Nm 0.205 Par máximo intermitente a la salida del reductor Nm 0.306 Sentido de la rotación, impulsión a la salida =7 Rendimiento máximo % 838 Peso g 149 Contragolpe medio sin ninguna carga º 1.210 Inercia de la masa Gcm2 0.01511 Longitud del reductor L1 mm 20.0

Tabla 7. Características grupo reductor

3.2.4,- Función de Transferencia del Generador de Pulsos.

Para la reconstrucción de la señal para atacar al motor DC, vamos a utilizar un “zero orderhold” o ZOH. Esto nos permitiré trabajar en el dominio discreto a pesar de que los motoresson de tiempo continuo.

Si consideramos un sistema como el de la ilustración 35, podemos observar como se hacela reconstrucción de una señal continua utilizando el ZOH.

Ilustración 35. Descripción del ZOH

La señal h(t) tiene la forma expresada en la ilustración 35. Entonces, si tenemos en cuentala transformada de Laplace descrita en la ecuación 44.

Page 40: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-39-

Ecuación 44

Obtenemos una señal de salida en el dominio de S como la siguiente (ecuación 45):

Ecuación 45

Donde (ecuación 46):

Ecuación 46

Siendo X*(S) la señal muestreada a la entrada del ZOH y Gh0(S) la función de transferenciadel mantenedor de orden cero, que expresamos de la siguiente manera (ilustración 36):

Ilustración 36. Mantenedor de orden cero.

Por lo tanto definiremos al ZOH como la ecuación 47:

Ecuación 47

Page 41: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-40-

3.3, Modelo Discreto de los Motores

En esta sección vamos a obtener un modelo discretizado del sistema motriz calculado en elapartado 3.2. Sobre éste modelo vamos a calcular un control de velocidad, el cual seencargará de cumplir con las necesidades impuestas por nosotros.

3.3.1,- Elección del Tiempo de Muestreo

La selección del mejor tiempo de muestreo para un sistema de control digital es unasolución de compromiso. Generalmente las prestaciones del controlador digital mejorancon el incremento de la frecuencia de muestreo, pero el coste del equipo controladoraumenta a medida que aumentamos el tiempo de muestreo. Una reducción en el valor demuestreo, significa que tenemos más tiempo para los cálculos del controlador, entonces,entonces se pueden usar microcontroladores más lentos para realizar la función de control,o disponemos de más capacidad de control para un determinado microcontrolador. A la vezresulta más económico el coste para la función de control. Para sistemas con convertidoresA/D, un muestreo más bajo significa que son necesarias menores conversiones develocidad, lo cual reduce el precio del equipo. Además, muchas veces las operaciones decálculo de control requieren un mayor número de argumentos y decimales, que debe serasumido por el microcontrolador.

3.3.1.1,- Teorema del Límite del Tiempo de Muestreo

El valor mínimo de tiempo de muestreo para un sistema en lazo cerrado viene determinadopor la capacidad de reconstruir una señal desconocida. Es necesario pues utilizar unmuestreo que sea como mínimo el doble de la frecuencia más alta contenida en la señaldesconocida.

Ecuación 48

Este teorema puede ser insuficiente para los sistemas con tiempos de rizado del orden de1s. Es necesario en este caso utilizar valores que típicamente se sitúan entorno los 3 y los20 Hz, por lo que para cumplir con el teorema del valor límite obtendríamos un muestreode (ecuación 49):

Ecuación 49

Por otro lado, en los sistemas en que las entradas son manipuladas por el usuario (o sea quepueden suceder en cualquier momento), comúnmente usados en la aviación, y queprovocan rizados en las señales de entrada y retardos en el muestreo de la señal, entoncespodemos hablar de tiempos de muestreo del orden de (ecuación 50):

Page 42: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-41-

Ecuación 50

3.3.1.2,- Formas para la Evaluación del Tiempo de Muestreo

La elección del tiempo de muestreo es clave a la hora de la realización de un controlador.En función del tiempo de establecimiento que deseamos, deberemos escoger un valor uotro. Además de lo expuesto en el capítulo 3.3.1.1, que hace referencia al tiempo derespuesta del sistema a una entrada determinada, hay que tener en cuenta varios factoresclave del comportamiento dinámico del sistema en tiempo continuo.

Si suponemos que tenemos un sistema continuo, deberemos escoger un valor de tiempo demuestreos comprendido en el rango de la ecuación 51. Éstos valores han sido obtenidosexperimentalmente.

fT

f sc ⋅

<<⋅ 5

130

1Ecuación 51

Si la ecuación 51 la expresamos en términos de tiempo de subida (rise time) obtenemosuna acotación de valores comprendidos entre (ecuación 52):

rsr TTT ⋅<<⋅ 57.095,0 Ecuación 52

Si el sistema es de primer orden, podemos expresar Tr como (ecuación 53):

τ⋅= 2,2rT Ecuación 53

Y para un sistema de segundo orden lo expresaremos como se indica en la ecuación 54:

dr W

T21 1sin ξπ −−

=−

Ecuación 54

Por último podemos definir como rango de estabilidad para un sistema continuo entérminos de respuesta en frecuencia como en la ecuación 55:

5,015,0 0 <⋅< WTs Ecuación 55

Donde W0 es la frecuencia de corte del sistema en tiempo continuo.Para calcular el tiempo de muestreo podemos expresar la ecuación 55 en función de Ts yobtenemos la ecuación 56.

Page 43: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-42-

00

5,015,0W

TW s << Ecuación 56

3.3.1.3,- Cálculo del Tiempo de Muestreo

Con lo descrito en los apartados anteriores, partiremos del comportamiento del motor enlazo abierto. La elección del tiempo de muestreo la realizaremos teniendo en cuenta lafrecuencia natural del sistema motor y la frecuencia a la que cada uno de los polos actúa, yluego comprobaremos el sistema en lazo abierto en tiempo discreto a la frecuencia demuestreo que hayamos escogido.

Como hemos observado anteriormente, la frecuencia natural del sistema motor se sitúa enWn=1709 rad/sec, es decir 272 Hz, lo que representan 3,68 ms. Entonces podemos calcularla frecuencia mínima de muestreo siguiendo el teorema del límite del tiempo de muestreocomo en la ecuación 57.

segT s3-

-3

101,832

103,68⋅=

⋅≤ Ecuación 57

Éste tiempo de muestreo sería válido para el sistema de segundo orden, y muyprobablemente obtendríamos respuestas muy parecidas al sistema en tiempo continuo. Peroen nuestro caso tenemos que buscar un tiempo de muestreo superior, y sabiendo que elsistema de primer orden equivalente al anterior es perfectamente válido, vamos a hacer unasimplificación.

Siguiendo con la ecuación 57, calculamos los tiempos de muestreo para cada una de lasfrecuencias de los polos del sistema en lazo cerrado, que son los descritos en la tabla

Polos Frecuencia (rad/sec) Tiempo de Muestreo(ms)Wn 1.709*103 1.838Polo 1 6.15*10 51.08Polo 2 4.74*104 0,662

Tabla 8. Frecuencia de los polos

Con este valor calculado escogeremos un muestreo de 50 ms, que corresponde al polo delsistema de primer orden. Con este tiempo de muestreo, toda la dinámica que introduce elpolo de alta frecuencia del sistema se perderá. Esto puede provocar que sucedanfenómenos inesperados, pero si analizamos el comportamiento del sistema muestreado deprimer orden y de segundo orden, observamos que el sistema evoluciona perfectamente.

Page 44: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-43-

Ilustración 37. Comportamiento con diferentes tiempos de muestreo

En la ilustración 37 podemos ver como se comporta el sistema con diferentes tiempos demuestreo. Como se puede observar, a medida que aumenta el tiempo de muestreo,perdemos más información del comportamiento dinámico. En nuestro caso será suficienteel muestreo seleccionado, ya que, aunque de esta forma descartamos mucha información,nuestro objetivo es el control de velocidad con error cero y sin sobrepico, por lo quepodremos ser generosos con el microcontrolador y utilizaremos la potencia de cálculo paraotros menesteres.

3.3.2,- Discretización del Motor

Para poder calcular un controlador para este motor, será necesario discretizar el modelocontinuo. Al tiempo de muestreo aplicado, calculamos la función de transferencia en lazoabierto del motor, teniendo en cuenta que utilizamos un ZOH como mantenedor, y untiempo de muestreo de 50 ms, tal y como se muestra en la ilustración 38.

Page 45: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-44-

Ilustración 38. Diagrama de bloques discretización motor.

Partiremos del supuesto de que el motor DC es un sistema de primer orden, por lo que deesta forma simplificaremos los cálculos. La función de transferencia queda pues como semuestra en la ecuación 58:

( )04619.0

6.192−

=z

zH Ecuación 58

Tiempo de muestreo: 0.05

A partir de ahora trabajaremos con esta función de transferencia, pero nos aseguramos deque el sistema es válido, realizando simulaciones mediante Simulink del sistema motor alcompleto.

Las características del sistema muestreado son las que se muestran en la tabla 9. Esinteresante pues el analizar un poco más estos resultados.

Motor H(z) modificadaGanancia k 201.9512Polo 0.0462Frecuencia 61.5

Tabla 9

Igual como hemos hecho con el sistema de tiempo continuo, dibujaremos el lugargeométrico de las raíces en tiempo discreto en lazo abierto, que mostramos en lailustración 39.

De esta forma conocemos el límite de estabilidad en función de la ganancia K de larealimentación, hecho significativo a la hora de evaluar cual debe ser el control que vamosa aplicar a cada uno de los motores.

Page 46: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-45-

Ilustración 39. LGR motor DC discretizado

El diagrama de bode del sistema discretizado es el mostrado en la ilustración 37 arribaizquierda, y la respuesta a un escalón unitario de valor tensión nominal es el de lailustración 37 abajo izquierda.

3.4,- Sistema de Control Digital de velocidad

Los sistemas de control en lazo abierto tienen muchas ventajas e inconvenientes. Suprincipal utilidad es lo simple que resulta su realización. El sistema estudiado en elapartado 3.13 es estable y no presenta sobrepico, pero por el contrario no ofrece un rechazoa las perturbaciones, que si consiguiésemos haciendo una realimentación. Por este motivovamos a estudiar diferentes tipos de controladores realimentados. Es muy importante en unsistema móvil como el que estamos estudiando el rechazo a las perturbaciones exteriores,así como el adecuar la respuesta a unas necesidades dinámicas determinadas.

Los sistemas de control digitales que vamos a realizar se basan en el diagrama de bloquesde la ilustración 40:

Ilustración 40. Diagrama de bloques del sistema realimentado

Page 47: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-46-

Como ya hemos calculado la función de transferencia discretizada, podemos escribir elsistema como el de la ilustración 41, donde G(z) será el controlador a implementar y H(z)es el motor DC discretizado.

Ilustración 41. Sistema realimentado en dominio Z

En los sucesivos apartados vamos a analizar diferentes controladores en función de lasventajas que aportan cada uno de ellos. A pesar de existir muchas variaciones nosotrosvamos a analizar los de la tabla 10, que son los que consideramos que ofrecen mayoresventajas para el sistema estudiado.

Tipo de controladorCompensador cero-poloMétodo analíticoMétodo de Zigler-NicholsSISOTOOL de MATLAB

Tabla 10

3.4.1,- Compensador Cero-Polo

A partir de la teoría de control podemos obtener un controlador que nos modifique elcomportamiento del sistema en lazo cerrado. Si obtenemos la respuesta del sistema en lazocerrado, podemos comprobar que presenta una inestabilidad notable, tal y como se muestraen la ilustración 42. En este caso, no existe controlador alguno que modifique sucomportamiento. Éste comportamiento se explica por la excesiva realimentación delsistema, que en éste caso es unitaria.

A partir de éste sistema es fácil deducir que será necesario realizar alguna modificación alsistema para poder cerrar el lazo de control y obtener con ello rechazo a las perturbaciones.En este caso la técnica a utilizar es la del lugar geométrico de las raíces (LGR), de formaque vamos a obtener la respuesta deseada modificando la posición de los polos del sistema,e introduciendo el cero y el polo que modificaran la respuesta. En la ilustración 39 yamostrábamos el LGR del sistema discretizado. A partir de éste colocaremos el polo y elcero deseado.

Page 48: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-47-

Ilustración 42. Respuesta a escalón sin compensador

La compensación cero-polo tiene una función de transferencia como la que mostramos enla ecuación 59, dónde a y b son las posiciones del cero y del polo respectivamente.

( )( )bz

azKzG

++

⋅=)( Ecuación 59

La primera condición que vamos a imponer, es la colocación del polo en Z=1 haciendob=-1. Ésta posición es básica si queremos conseguir una respuesta a escalón con error nuloa t=8 . Puede demostrarse fácilmente si tenemos en consideración que, tal y como semuestra en la ecuación 60, el error a escalón puede suprimirse totalmente sin tener encuenta la posición del cero ni la función de transferencia de la planta.

( ) ( )( )

( )( ) ( )

⋅+⋅+−+

⋅+⋅−⋅

−⋅−

→ 6.19204619.06.192

11

1lim1 azkzbz

azkz

zz

z Ecuación 60

El valor de a nos marcará el comportamiento del sistema. Es importante la elección de éstevalor ya que debemos conseguir un LGR determinado. La posibilidad de obtener unarespuesta determinada dependerá de éste valor. En la ilustración 43 mostramos una posibleubicación de los polos y los ceros en el plano complejo. A partir de este diagrama vamos acalcular el valor de a y de k para obtener unas especificaciones determinadas, que seráncalculadas teniendo en cuenta el sistema y sus posibilidades. Es posible que la posiciónfinal de los polos y los ceros no conlleve un comportamiento según lo esperado, pero entodo caso se tomará una que sea satisfactoria.

Page 49: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-48-

Z=0,68593<+26,77

30,74

?

140,41

Z=0,04619 Z=a

Imag.

0,645

53

?Z=1 Real

0,51778

Radio unidad

Ilustración 43. Posición polos y ceros

Queremos que el sistema responda según las siguientes especificaciones:

• Sobrepico s=0,1%• Tiempo de muestreo 50ms• Ancho de banda x10=ts

Con éstos valores calculamos el resto de parámetros necesarios para obtener los polos enZ. Éstas fórmulas son experimentales:

• Coeficiente de amortiguamiento:

6,0100

1,016,0 ≈

−⋅=ξ Ecuación 61

• Ancho de banda 10 veces el tiempo de muestreo:

566,124102

==⋅⋅

= ππ

tWS

n Ecuación 62

• Tiempo de establecimiento:

st S33 1052101344 −− ⋅=⋅⋅=⋅= τ Ecuación 63

• Tiempo de subida:

14324,08,1

==n

r Wt Ecuación 64

Page 50: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-49-

Una vez determinadas las especificaciones deseadas vamos a calcular la posición de poloque nos proporciona esta respuesta. Esto lo haremos mediante la ecuación 65, quecorresponde a las especificaciones de un polo es un sistema discreto.

eeZTjT WW nn ξξ

21

2,1

−⋅⋅±⋅⋅− ⋅= Ecuación 65

Entonces los polos del sistema para estas especificaciones son para tiempo discreto:

Z1=0,68593<+28,77Z2=0,68593<-28,77

Mediante la condición del argumento (ecuación 66) del LGR hallaremos el ángulo con queincide sobre el eje en el lugar de la posición del polo.

180±=∠−∠ PolosCero Ecuación 66

La ecuación 66 la podemos expresar en unidades del sistema internacional para obtener laecuación 67 y hallar el valor de a

πα ±=−− 4506,253659,0 Ecuación 67

Entonces el valor de a que corresponde al ángulo de llegada al cero es igual a a=8,8460º, ya partir de este valor podemos hallar el valor de a=2,1204 haciendo un cálculotrigonométrico como el que se muestra en la ilustración 44.

2,1633

2,1204

8,846

Imag.

-1,5194 Real

j0,33

Z=0,601+0,33Radio unidad

Ilustración 44. Posicionamiento cero

Page 51: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-50-

Podemos comprobar el resultado obtenido aplicando la condición de módulo en laconstrucción del LGR según la ecuación 68.

1=− PZ Ecuación 68

Si aplicamos la ecuación 68, hallamos el módulo que debe tener el cero que introducimosen el LGR. En la ecuación 69 calcularemos el valor de Z=-1,537. La diferencia entre elresultado obtenido de la condición del módulo y la del argumento es debida al redondeo.

( ) ( ) 164553,051778,0601,0330,02 22 =−−−+ z Ecuación 69

A partir de los valores de los polos y de los cero obtenidos dibujamos el LGR, y obtenemosel resultado de la ilustración 45. Como podemos comprobar la estabilidad del sistemadepende del valor de Kp proporcional que apliquemos. Utilizaremos la siguienteinstrucción para hallar el valor de Kp y de los polos obtenidos.

[Kp,POLES]=rlocfind(system,complex(0.451,0.227))

En la tabla 11 se describen los resultados obtenidos:

Sistema de control+MotorGanancia Kp 7.2167e-004Polo 1 (complejo) 0.4536 + 0.2273iPolo 2 (complejo) 0.4536 - 0.2273i

Tabla 11

Ilustración 45. LGR del sistema.

Con los valores de la tabla 11 calculamos el resto de parámetros del sistema obtenido, yque se muestran en la tabla 12. Como podemos comprobar difieren de los calculadosanteriormente. Esto es debido al número de decimales utilizados. En todo caso las

Page 52: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-51-

diferencias entre el modelo calculado y el obtenido son pequeñas y cumplen con lasespecificaciones que se habían impuesto al sistema.

Sistema de control+MotorGanancia Kp 7.2167e-004Polos 0.4536 ± 0.2273iAmortiguamiento ? 8.25e-001Sobrepico en % <1Frecuencia Wn (rad/s) 1.64e+001

Tabla 12

De ésta forma el controlador tendrá la función de transferencia que equivale a la aplicaciónde los valores de Kp, a y b a la ecuación 59, obteniéndose el controlador de la ecuación 70,que expresado en forma de suma de productos queda como la ecuación 71. Hay que teneren cuenta que la ecuación 71 representa la expresión analítica a implementar en el microcontrolador.

( )( )1

5194,17267000,0)(

−+

⋅=z

zzG Ecuación 70

( ) ( )15194,1)1()( −−+−= nEnEnUnU Ecuación 71

Es interesante dibujar el diagrama de Bode del sistema GH(z) para poder ver la estabilidaddel sistema, el margen de fase resultante (Pm =66.104º) y el margen de ganancia(Gm=13.095dB). Obsérvese éstos resultados en la ilustración 46. La frecuencia demuestreo marca el límite del diagrama de bode, de forma tal que aparece una asíntotavertical que no podemos rebasar. A partir de éste gráfico también podemos deducir que nopodemos superar los 125,66 rad/s de señal de entrada.

Ilustración 46. Bode del sistema en lazo abierto

Page 53: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-52-

La respuesta escalón calculada de forma analítica a la función de transferencia de laecuación 72, es la que se muestra en la ilustración 47. En ella se muestra el sobrepico queaparece, el cual es menor del 1%. Como se puede comprobar, no existe error en estradoestacionario.

( )2574,09072,0

2112,0139,02 +−

+=

zzz

zSystem Ecuación 72

Tiempo de muestreo: 0.05

Ilustración 47. Respuesta a entrada escalón.

Si aplicamos éste controlador al modelo del motor obtenido anteriormente en la ilustración19, sin tener en cuenta la simplificación que hemos realizado para calcular el controlador,obtenemos el diagrama de bloques de la ilustración 48, donde ‘pinum’ y ‘piden’representan el numerador y el denominador de G(Z). Este modelo representa al conjuntoreal de controlador más motor, por lo que los resultados son importantes a la hora de poderevaluar la funcionalidad del sistema. Si las reducciones que se han realizado para calcularel controlador son correctas, no deberíamos tener excesivas diferencias entre los valorescalculados en la tabla 12 y los resultados de la simulaciones que se van a realizar.

Con éste modelo vamos a hacer diferentes simulaciones para ver como se comporta elsistema. De ésta forma conoceremos las posibilidades de éste controlador y los esfuerzosque el controlador deberá realizar para llevar a cabo con la tarea exigida. Por ello vamos arealizar tres pruebas diferentes, representativas de su comportamiento general:

1. Respuesta al escalón.2. Respuesta a la rampa.3. Respuesta a una señal aleatoria.

Page 54: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-53-

Ilustración 48. Modelo control velocidad

1.- La respuesta a una entrada escalón de valor Velocidad =1288.1 rad/s, que corresponde ala velocidad máxima admisible para el motor, se muestra en la ilustración 49. Lasimulación se ha realizado tomando en cuenta un tiempo de estudio de 500ms, quecorresponde a 10 muestras. Obsérvese la casi inexistencia de sobrepico. El tiempo desubida es de unos 150ms, aunque con 300 ms el sistema se encuentra ya en a la velocidaddeseada.

Ilustración 49. Respuesta a entrada escalón

2.- Para obtener la respuesta a una rampa hemos aplicado una pendiente de 2000 y untiempo de simulación de 1 segundo para ver como evoluciona el sistema hasta la velocidadmáxima de trabajo. La Ilustración 50 muestra los resultados obtenidos.

Page 55: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-54-

Ilustración 50. Respuesta a rampa

Como puede comprobarse la respuesta a la rampa muestra un error relativo al seguimiento.Esto es debido a que en nuestras especificaciones no hemos corregido este error, sino quehemos corregido la respuesta a escalón.

3.- Si al sistema de la ilustración 48 le introducimos una señal aleatoria en función deltiempo, obtenemos como resultado el mostrado en la ilustración 51. Ésta simulación esimportante para conocer como reacciona el sistema frente a entradas escogidas al azar. Esposible entonces conocer evoluciones inesperadas que no haríamos analíticamente.

Si observamos bien la ilustración 51 podemos ver que la simulación ha sido realizada enambos sentidos de giro del motor.

Ilustración 51. Respuesta aleatoria

Page 56: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-55-

Por último, es importante ver si el esfuerzo del controlador es posible asumirlo. Paracomprobar esto, hemos representado en la ilustración 52 las formas de onda de la corrienteen el motor. El color azul corresponde a la respuesta escalón. La figura en color rojorepresenta a la respuesta del sistema a una rampa de las características descritasanteriormente, mientras que las trazas de color verde corresponden a la variable deintensidad de una entrada aleatoria con respuesta la de la ilustración 51.

Ilustración 52. Corriente en el motor

3.4.2,- Método Analítico de Diseño a Partir de Sistemas de Tiempo Discreto

Si la respuesta de un sistema de control en lazo cerrado a una entrada escalón muestra eltiempo de asentamiento mínimo posible (es decir, cuando la salida alcanza su valor final enun tiempo mínimo y se queda ahí), sin error en estado permanente y ninguna componenteoscilatoria entre instantes de muestreo, entonces este tipo de respuesta se conocecomúnmente como respuesta con oscilaciones muertas o “dead-beat response”. Esto soloes posible en sistemas de control digital, ya que las limitaciones de los componentesneumáticos, hidráulicos y electrónicos tienen limitaciones físicas. Por lo tanto, muchosesquemas de control que han sido imposibles con controles analógicos, se han hechoposibles con esquemas de control digital.

El objetivo es encontrar la expresión de D(Z) para que la función de transferencia en lazocerrado tenga el comportamiento deseado fijado por una K(Z) (ecuación 73).

)()(1)()(

)()()(

ZGZDZGZD

ZKZRZX

+⋅

== Ecuación 73

Page 57: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-56-

Despejando D(Z) obtenemos la ecuación 74:

)(1)(

)(1

)(ZK

ZKZG

ZD−

⋅= Ecuación 74

Aplicaremos una serie de restricciones:

1. D(Z) debe corresponder a un sistema causal (físicamente realizable):

Sea:

...)2()1(...)2()1()()(21210

+−+−++−+−+= nnnnnnU ububeaeaea

...

...

...)2()1(1

...)2()1()(

)()(

)( 1

1

1

10

21

210

+−

++=

+−+−−

+−+−+== −

zbzzaza

ububeaeaea

nn

nn

nn

nnn

ZEZU

ZD

Ecuación 75

El orden del denominador tiene que ser igual o superior al numerador. No podemossaber muestras de error futuro (ecuación 75).

2. Estabilidad:

D(Z) debe corresponder a un sistema estable. Partiendo de la ecuación 76:

)(1)(

)(1

)(ZK

ZKZG

ZD−

⋅= Ecuación 76

Escogeremos K(Z) y 1-K(Z) con el siguiente criterio:

a) ( ) )(1)(11

1

1

ZZK Fzbi

n

i

−=− −

( )zbi

n

i

1

1

1 −

=

−π contiene como ceros (raíces) todos los polos de G(Z) que se sitúan en la

circunferencia de radio unidad y fuera de ella.

)(1)(

)()(

)(;)()(

)(ZK

ZKZNZP

ZGZDZN

ZG−

⋅== Ecuación 77

b) ( ) )(1)(2

1

1

ZZK Fzai

n

i

−= −

Page 58: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-57-

( )zbi

n

i

1

1

1 −

=

−π contiene como ceros (raíces) todos los ceros de G(Z) que se sitúan en la

circunferencia de radio unidad y fuera de ella.

3.4.2.1,- Método Analítico. Procedimiento de Diseño Para Varias Especificaciones

Consideraremos algunas reglas que nos ayudaran a formular la función de transferenciarequerida para conseguir unas determinadas prestaciones.

1. Error de seguimiento nulo en régimen estacionario a una entrada escalón.

( ))(1)()()()( ZKZRZXZRZE −⋅=−= Ecuación 78

Donde :

)()()( ZKZRZX ⋅= Ecuación 79

( ) )(1)( lim1

ZEzez

−=∞→

Ecuación 80

como

1)()()(

−=⇒=

ZZ

ZRnnnr Ecuación 81

Entonces para que se cumpla esta especificación (ecuación 82):

( ) ( ) ( ) 0)(1)(11

1)( limlim11

⇒−=−⋅−

⋅−=∞→→

ZKZKZ

Zze

zzEcuación 82

Entonces escogeremos 1-K(Z) de forma que 1-K(Z) sea de la forma:

( )z 11 −− Ecuación 83

Entonces:

( ) ( ) )(1)(11

1 ZZK Fz ⋅−=− −Ecuación 84

De esta forma F1(Z) no contiene polos en z=1

2. Error de seguimiento nulo en régimen estacionario a una entrada de la forma:

Page 59: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-58-

( )zK

ZAZR

1)(

)(1 −

=−

Ecuación 85

En este caso:

( ) ( ) ( ) ( ) 0)(11)(

1)(1)(1

limlim11

=−⋅−

⋅−=⋅−=∞−→→

ZKZA

zZEze

zK

zz

Ecuación 86

Entonces escogeremos 1-K(Z) de forma que:

( ) ( ) )(1)(111 ZZK Fz

K⋅−=− − Ecuación 87

Donde F1(Z) no contiene polos en z=1

3. Tiempo de establecimiento de la respuesta en un número finito de muestras:

Una diferencia importante entre los sistemas de tiempo continuo y los sistemas detiempo discreto es que éstos últimos son capaces de presentar una respuesta conoscilaciones muertas (“dead-beat response”).

Una respuesta con oscilaciones muertas es aquella que alcanza el valor deseado en untiempo mínimo sin error. En contraste, un sistema de control de tiempo continuo,alcanza el valor deseado cuando el tiempo llega a infinito. La expresión matemática deun sistema de este tipo es la que se muestra en la ecuación 88:

( )z n

ZNZK

)()( = Ecuación 88

Donde el orden de N(Z)<n

Puede observarse que todos los polos de K(Z) están en el origen del plano z. El númerode periodos de muestreo que tarda la salida en alcanzar la referencia es n.

3.4.2.2,- Obtención del Controlador

A partir de las ecuaciones del apartado 3.14.2.1 obtendremos analíticamente un controladorque cumpla las especificaciones de error de seguimiento nulo a entrada escalón, estabilidady dead-beat response. Del sistema de la ilustración 41 podemos escribir la ecuación 89, queexpresa el sistema en lazo cerrado:

Page 60: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-59-

)()(1)()(

)(ZHZG

ZHZGZK

⋅+⋅

= Ecuación 89

(i) Error de seguimiento nulo a entrada escalón

Para una respuesta de n muestras finitas tenemos la ecuación 90. Si sabemos que unescalón unitario tiene la forma de la ecuación 91

nn

zzzzF aaaa −−− ++++= ...)( 22

1101 Ecuación 90

( ) 111

−−=

zzR Ecuación 91

Debemos calcular el límite en el infinito para que sea igual a cero, tal y como semuestra en la ecuación 92.

( ) ( ) 0)(1)(1)( limlim11

=−=⋅−=∞→→

ZKZEzezz

Ecuación 92

Entonces, si el:

( ) ( ) 0)(1)(1 limlim1

11

1

=−=⋅−→

ZKzFzzz

Ecuación 93

Cuando z? 1 entonces F1(z)?8 y hallamos la condición 1:

( ) ( ) )(1)(11

1 ZZK Fz ⋅−=− −Condición 1.

(ii) Estabilidad

Partimos de la ecuación 89 y recolocamos sus componentes para despejar elcontrolador D(z), tal y como se muestra en la ecuación 94.

[ ])(1)()(

)(ZKZH

ZKZG

−⋅= Ecuación 94

Si tenemos en cuenta el valor de H(z) de la ecuación 58, podemos decir que G(z)contiene como ceros los polos de H(z) y como polos los ceros de H(z). Siaplicamos a la ecuación 94 la condición 1, podemos observar que el denominadorcumple con ella, por lo que K(z) anulará los polos inestables de H(z). Entonces lacondición 2 es:

)()(2

ZZK F= Condición 2.

(iii) ‘Dead-beat response’

Hay que tener en cuenta que F1 y F2 son polinomios de Z-1, y la elección de lasmismas es importante para lograr el resultado deseado. Por este motivo, si

Page 61: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-60-

observamos la ecuación 89, y comprobar que el sistema es de primer orden, nosdamos cuenta que K(z) tendrá la forma que se describe en la ecuación 95. Laelección de ésta función es importante a la hora de obtener la respuesta conoscilaciones muertas. El grado del exponente de z es el número mínimo de muestrasnecesarias para llegar a régimen estacionario.

11

)( −= zzK a Ecuación 95

Entonces, a partir de la ecuación 95 y la condición 1, deducimos que F1(z) tendrá laforma de la ecuación 96, ya que de otra forma no se cumpliría con la igualdad acausa del valor 1 del término independiente de K(z)

bzF01 1)( += Ecuación 96

Por otra parte, de la condición 2, podemos determinar que F2(z) tendrá unaestructura igual a K(z), por lo que nos quedará la ecuación 97:

112 )( −= zzF c Ecuación 97

A partir de las condiciones 1 y 2, y las ecuaciones 95, 96 y 97, hallaremos el controladorde la ecuación 94. Si ahora la rescribimos para ponerla en función de F1(z) y F2(z),obtenemos la ecuación 98, de la que tenemos que calcular los coeficientes C1 y b0 mediantelas condiciones 1 y 2

[ ] 0

11

11

1

112

1

1

1)1(6,19204619.01

)()1()(

6,19204619.01

)(1)(

)(1

)(b

zCzz

zzFz

zFz

zZK

ZKzH

ZG+

⋅−⋅

−=

⋅−⋅

−=

−⋅=

−−

−−

Ecuación 98

Si a la condición 2 le aplicamos la ecuación 97, obtenemos la ecuación que relaciona C1

con K(z) que mostramos en la ecuación 99.1

12 )()( −== zzFzK c Ecuación 99

Si a la condición 1 le aplicamos la ecuación 95 y 96, obtenemos la ecuación que relacionab0 con K(z) que mostramos en la ecuación 100.

1010

)1()( −++−= zzK bb Ecuación 100

Si ahora identificamos los coeficientes de las ecuaciones 99 y 100, obtenemos los valoresde c1 y b0 de la tabla 13

Coeficientes:b0 0C1 1

Tabla 13

Por lo tanto el controlador tendrá la forma de la ecuación 101:

)1(6,19204619.01

)( 11

1

−−

−⋅−

=zz

zZG Ecuación 101

Que expresado en forma de suma de productos tendrá la expresión de la ecuación 102:

( ) ( )100023982,00051921,0)1()( −−+−= nEnEnUnU Ecuación 102

Page 62: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-61-

De ésta forma el LGR del sistema en lazo cerrado queda como se muestra en la ilustración53, donde se puede observar que el controlador coloca un polo en Z=1 para eliminar elerror en estado estacionario y un cero que anula los efectos del polo del motor.

Ilustración 53. LGR motor con controlador analítico

Analíticamente obtenemos la función de transferencia de la ecuación 103, cuya respuesta auna entrada escalón de valor de entrada velocidad nominal es la que se muestra en lailustración 54.

001142,0873,86,192897,86,192

)( 2 −−−

=zz

zZG Ecuación 103

Sampling time: 0.05

Ilustración 54. Respuesta a escalón analítica

Page 63: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-62-

Como podemos comprobar en la ilustración 55, en el diagrama de bode constatamos laestabilidad del sistema, con un margen de fase de 60º.

Ilustración 55. Bode sistema en lazo abierto.

Si ahora aplicamos el controlador calculado al modelo del motor calculado en la ilustración19 del apartado 3.5, podemos obtener las respuestas a diferentes entradas. Igual que en elapartado anterior, vamos a realizar tres pruebas para este controlador:

1. Respuesta al escalón.2. Respuesta a la rampa.3. Respuesta a una señal aleatoria.

1.- La primera de ellas es la respuesta a escalón. Lo esperado sería que en una muestra deltiempo de muestreo llegue a su valor nominal con error nulo. Si observamos la ilustración56, podemos como el resultado es el esperado, de tal forma que las tres condicionesexigidas al sistema se cumplen, a pesar de haber utilizado un modelo reducido para hallarla respuesta. Para realizar la simulación nos ha sobrado con 0,5 segundos, peromantenemos este tiempo de simulación para ver las diferencias con los demáscontroladores.

De entre las características más destacables de los controladores digitales calculadosanalíticamente encontramos la posibilidad de adecuar la respuesta a nuestras necesidades,hecho que se constata en el punto 3.14.2.2. Se puede notar ya en esta primera simulaciónla correspondencia entre las condiciones impuestas en dicho apartado y los resultadosobtenidos en esta primera simulación. Este hecho se corrobora en las simulaciones quevamos a realizar a continuación.

No se observa sobrepico, el tiempo de establecimiento a una entrada escalón es de unamuestra, y el sistema siempre es estable en estas condiciones de control. También se puedeobservar que la anulación del polo del polo que se encuentra cerca de Z=0 provoca que los

Page 64: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-63-

polos y los ceros introducidos en el controlados sean los que marquen el comportamientodel sistema.

Ilustración 56. Respuesta a entrada escalón

2.- Para la respuesta a la rampa hemos aplicado una pendiente de valor 2000, igual que enel apartado anterior, y un tiempo de simulación de 1 segundo. Puede observarse en lailustración 57 como realiza el seguimiento a la rampa:

Ilustración 57. Respuesta a una rampa

En este caso la respuesta es más rápida que en el controlador cero-polo. Hay que tener encuenta el esfuerzo de control que este hecho puede producir.

3,- La respuesta a una entrada aleatoria es la que se muestra en la ilustración 58. Al igualque en apartado anterior, hemos realizado una simulación teniendo en cuenta que a laentrada introducimos una señal aleatoria. Obsérvese que se producen cambios de sentidode giro, los cuales pueden provocar picos de corriente muy pronunciados.

Page 65: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-64-

Ilustración 58. Respuesta aleatoria

En éste caso, los esfuerzos de control que analizaremos es la variable intensidad. En lailustración 59 podemos ver como la evolución de la intensidad en el motor sobrepasa loslímites del fabricante en el gráfico de color verde, que corresponde a la respuesta aleatoria,mientras que la respuesta a una entrada escalón de color azul, cumple con los requisitosmarcados por el fabricante de no sobrepasar los 633 mA de corriente de punta en elarranque. El gráfico de color rojo corresponde a una entrada en rampa, que también seencuentra dentro de los márgenes de corriente anteriores.

Ilustración 59. Corriente en el motor

Los picos de corriente son producidos por el cambio en la dirección del giro del motor. Eneste controlador será necesario hacer una limitación de la corriente suministrada para noprovocar una avería. Este hecho, que en tiempo continuo es muy difícil de realizar, sepuede solucionar mediante la aplicación de una limitación en la señal de entrada.

Page 66: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-65-

3.4.3,- Método de Zigler-Nichols

3.4.3.1,- PI Digital Como Controlador del Sistema en Lazo Cerrado.

Nuestro objetivo es obtener un controlador digital de velocidad que elimine lasperturbaciones no deseadas y que tenga un error en estado estacionario cero.

De entre todos los tipos de control descritos, hemos escogido un controlador PI para el lazode control de velocidad. Las ventajas de uso de este tipo de controlador son las siguientes:

1- Facilidad de implementación.2- Métodos de cálculo muy desarrollados.3- Incremento de la ganancia a baja frecuencia4- Reducción del error en estado estacionario.5- Incremento del margen de fase.6- Mayor estabilidad del sistema.

El diagrama de bloques para el sistema se control PI de velocidad en lazo cerrado es:

Ilustración 60. Lazo de control PI

El uso de un controlador PI y no de un controlador PID se justifica ya que el PID introduceun polo y un cero al sistema, que hace que aumente el orden del sistema. Esto no esrecomendable, ya que complica el estudio del sistema conjunto del robot. Con uncontrolador PI podemos reducir el error en estado estacionario del sistema realimentado, deforma que el sistema en lazo cerrado muestra un rechazo a las perturbaciones. De estaforma, podemos obtener mayor precisión en el control de la velocidad del sistema.

Un controlador PI lo podemos definir como una combinación de controladores, que son elcontrolador proporcional P y el controlador integral I.

El controlador proporcional, trata con la señal de error que presenta a la entrada. Este tipode controlador proporciona una señal de control proporcional o atenuada. Su descripciónmatemática es la siguiente:

Ecuación 104

Por otra parte el controlador integral realiza una integración de la señal de error con unaganancia constante, a la que denominaremos KP. El termino integrador coloca un polo encero en el sistema de tiempo continuo, y esto hace que el error en estado estacionario

Page 67: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-66-

disminuya, y lo hace cero para una entrada escalón. Su escritura matemática en tiempodiscreto es la siguiente:

Ecuación 105

En tiempo continuo se puede demostrar que el error en estado estacionario se hace cero,haciendo el límite del error. Obsérvese en la ecuación 106 como la introducción deltérmino integral hace el límite igual a cero.

Ecuación 106

Las principales ventajas del uso de un consolador PI frente a uno PID es el hecho de que elgrado del sistema aumenta en menor medida, y en consecuencia es más fácil el tratamientomatemático.

El diagrama de bloques del controlador PI en tiempo discreto es el siguiente:

Ilustración 61. Bloque controlador PI

Page 68: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-67-

Usaremos este modelo matemático para el cálculo del controlador PI.

3.4.3.2,- Cálculo de KP y KI del controlador PI.

Existen muchos métodos de cálculo de los parámetros de un controlador del tipo PI. Deentre ellos existen los métodos de Ziegler Nichols.

El método 1 de Ziegler Nichols se basa en el sistema en lazo abierto y en la ganancia límitede estabilidad. Para un controlador PI se describen las constantes KP y KI como:

Ecuación 107

Donde R y L son la pendiente de la rampa de subida a entrada escalón y el tiempo deretardo de la respuesta respectivamente. Obsérvese ilustración 62.

Ilustración 62. Método Ziegler Nichols 1

En el método 2 de Ziegler Nichols hay que calcular una ganancia KU incrementándola en elsistema en lazo cerrado hasta justo antes de que el sistema sea marginalmente estable, yluego medir el periodo de las oscilaciones PU medido en segundos. Para un controlador PIse describen las constantes KP y KI como:

Ecuación 108

Si seguimos este procedimiento, hallamos el valor de KU sintonizando el sistema digitalhasta que llegue a la estabilidad marginal. Puede verse en la ilustración 63 como es sistemaresponde en el punto de estabilidad marginal.

Page 69: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-68-

Ilustración 63. Estabilidad marginal del sistema en lazo cerrado

En nuestro caso, observando la ilustración 63, el límite de estabilidad en lazo cerrado seencuentra cuando KU=0,005431931, y el período de la señal obtenida es de PU=0,05segundos.

En este caso los valores de KP y KI son:

• 002444,010,0054319345,045,0 =⋅=⋅= KK UP

• 058665,005,0

10,0054319354,054,0 =⋅=⋅=

PKK

U

UI

Con estos valores de Kp y Ki podemos comprobar su comportamiento, aplicando elcontrolador en el sistema de la ilustración 60, y obtenemos una respuesta como la de lailustración 64.

Como se puede observar el resultado obtenido responde a las necesidades deseadas. Detodas formas realizaremos una sintonización manual sobre los valores obtenidos en loscálculos anteriores.

La sintonización manual del Pi digital la haremos, primero eliminando los sobrepicosmodificando el coeficiente Kp proporcional, y luego, cuando ya tengamos la respuestadeseada, mejoraremos la constante de tiempo actuando sobre la Ki integral del controlador.

Page 70: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-69-

Ilustración 64. Respuesta al escalón del controlador PI

Partiendo de este procedimiento, hemos obtenido las respuestas de la ilustración 65,actuando sobre los valores de Kp. La gráfica con el sobrepico mayor corresponde a unvalor de 1448 rad/seg para una Kp=0,05, mientras que el valor de 1288 rad/seg correspondea un valor de Kp de Kp=0.0,0013 y, como se puede comprobar, la velocidad alcanzada es lanominal, desapareciendo los sobrepicos y las fluctuaciones.

Ilustración 65. Sintonización manual de Kp

El siguiente paso es la sintonización manual de Ki. Igual que en el caso anterior partiremosdel valor de obtenido con el cálculo de Ziegler-Nichols de éste valor, teniendo en cuentaque el valor de Kp ya lo hemos sintonizado anteriormente. Obsérvese la ilustración 66como va variando la velocidad de la respuesta del sistema a medida que modificamos losvalores del controlador integral. Escogeremos el valor Ki que provoque un sobrepicoinferior al 1%, el cual corresponde a la respuesta más rápida admisible. Éste valor

Page 71: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-70-

corresponde a Ki=0,064, obteniéndose una sobrepico de velocidad de 1298 rad/seg, valorinferior a los 1301 rad/seg que correspondería a un sobrepico del 1%.

Con estos resultados podemos escribir la función de transferencia del controlador PI, quetiene la forma de la ecuación 109.

220006,00058,0

11

2064,00013,0)(

−+

=−+

⋅⋅+=zz

zzTs

ZG Ecuación 109

Si la misma ecuación 109 la escribimos en forma de suma de productos, nos quedará laecuación 110.

( ) ( )10003,00029,0)1()( −−+−= nEnEnUnU Ecuación 110

Ilustración 66. Sintonización manual de Ki.

Si ahora aplicamos el controlador calculado al modelo del motor calculado en la ilustración19 del apartado 3.5, podemos obtener las respuestas a diferentes entradas. Igual que en losapartados anteriores, vamos a realizar tres pruebas para este controlador:

1. Respuesta al escalón.2. Respuesta a la rampa.3. Respuesta a una señal aleatoria.

1.- La respuesta a una entrada escalón con valor 1288, que corresponde a la velocidadnominal del motor, es la que mostramos en la ilustración 67.

Como se puede observar, si comparamos esta ilustración con la ilustración 64, se hamejorado sensiblemente la respuesta. Si tenemos en cuenta que el tiempo deestablecimiento del la ilustración 64 es de unos 0,5 segundos, y la comparamos con larespuesta de la ilustración 67, con un tiempo de establecimiento de 0,35 segundos,podemos decir que hemos mejorado la respuesta en un 70%. Podemos considerar que los

Page 72: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-71-

resultados obtenidos de la sintonización manual del PI digital son bastante buenos para larespuesta escalón.

Ilustración 67. Respuesta a escalón con controlador PI

2.- Cuando la consigna es una rampa de pendiente 2000, obtenemos la respuesta quemostramos en la figura 68. Presenta un pequeño error en el seguimiento a la rampa, perono es significativo, ya que no era uno de nuestros requerimientos de diseño. Estecontrolador ofrece unas buenas posibilidades en cuestión de tiempo de subida.

Ilustración 68. Respuesta a entrada rampa controlador PI

3.- Cuando la entrada es una señal aleatoria, obtenemos la respuesta de la ilustración 69.Será necesario comprobar los esfuerzos de control que se producen en los cambios desentido de giro del motor.

Page 73: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-72-

Ilustración 69. Respuesta a una entrada aleatoria controlador PI

Para poder ver si será viable la utilización de este controlador, será necesario comprobarlos esfuerzos de control, los cuales se muestran en la ilustración 70. En color azul semuestra el esfuerzo de control que se produce cuando la entrada es un escalón con valor1288 rad/seg, y se ve como alcanza un valor de 0,3 mA, inferior a la corriente de arranquedel motor. En color rojo se representa la corriente absorbida por el motor en el seguimientoa una rampa, que como ya se podía esperar tiene valores muy pequeños, que no llegan a0,1 mA de pico. Y por último, en color verde se muestra la corriente absorbida por elmotor cuando la entrada es una señal aleatoria. En éste último caso, los valores más altoscorresponden a los cambios en el sentido de giro del motor, pero en ningún caso llegan almáximo admisible por él mismo.

Ilustración 70. Esfuerzo de control controlador PI

Page 74: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-73-

3.4.4,- SISOTOOL de MATLAB

La herramienta SISOTOOL que Matlab v6 contiene, es un interface gráfico de apoyo aldiseño de controladores con una entrada y una salida mediante las técnicas del LGR y deldiagrama de Bode. Por defecto la herramienta SISO muestra un panel con el lugargeométrico de las raíces y el diagrama de Bode del sistema que se haya importado, bien deSimulink, de un archivo *.m de Matlab, o del WorkSpace en el que se esté trabajando. Lospaneles del LGR y Bode son dinámicos, de forma que cualquier modificación en losparámetros de la planta o del controlador, se muestran directamente en ellos.

Mediante el menú ‘import’ importaremos el modelo del sistema que estamos estudiando,de forma tal que para el modelo de control escogido, G (que representa la planta en esteprograma) será la función de transferencia de la ecuación 58.

Con el conocimiento que disponemos del sistema será necesaria la introducción de un poloen z=1. De esta forma el error en estado estacionario se hará cero (ver demostración enecuación 60). El cero del controlador lo vamos a posicionar en z=0, ya que de esta formaobtenemos una función de transferencia del controlador simplificada, que nos permitirájugar con el valor proporcional del mismo.

Establecemos el límite de sobrepico en el 1%, condición necesaria para que se cumplan losrequisitos de control. Con esta restricción hallamos el valor de proporcionalidad, moviendolos polos sobre el diagrama LGR que realiza SISOTOOL.

A medida que vamos generando el controlador, en la parte superior izquierda del panel deSISOTOOL aparecen los valores del mismo. Es interesante también ver el comportamientoque estamos obteniendo del sistema, por este motivo activamos la ‘Plant output(step)’ quese encuentra en el menú ‘Loop responses…’ del desplegable ‘Tool’.

Una vez realizado el proceso anterior obtenemos el resultado que se muestra en lailustración 71, donde se puede observar el diagrama de Bode del sistema en lazo abierto yel LGR que obtenemos al aplicar el controlador propuesto. La posición de los polos es laque se muestra en cuadrados magentas.

Obsérvese que el margen de fase es de 62,6º, lo que garantiza la estabilidad. La estructuradel controlador que hemos calculado con la herramienta SISOTOOL es la de la ecuación111.

100432,0)(

−⋅=

zz

ZG Ecuación 111

Podemos rescribir la ecuación 111 como suma de productos para obtener la ecuación 112,la cual representa la operación matemática que se deberá pasar a código informático paraque el micro controlador produzca la señal de controla del servo.

( )nEnUnU 00432,0)1()( +−= Ecuación 112

Tal y como ya se había anunciado, éste controlador es más sencillo de operar que losanteriormente calculados. En éste caso solo tiene dos operandos en la suma, y un solo

Page 75: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-74-

producto a realizar. Este hecho es importante, ya que las operaciones aritméticas máscomplicadas son aquellas que involucran a números reales con coma flotante.

Ilustración 71. Herramienta SISOTOOL de Matlab v6

La respuesta a una entrada escalón analítica nos la entrega el mismo programa SISOTOOLy es la que se muestra en la ilustración 72. Hemos señalado el valor de pico para indicarque el sobrepico máximo es del 1%, y el tiempo de establecimiento se sitúa en 4 muestras,o lo que es lo mismo 0,2 segundos.

Ilustración 72. Respuesta a entrada escalón.

Page 76: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-75-

Para comprobar que el controlador calculado con SISOTOOL funciona conforme a lasespecificaciones esperadas, vamos a aplicarlo al modelo del motor estudiado, de forma queobtenemos el modelo de la ilustración 73.

Ilustración 73. Modelo del controlador calculado con SISOTOOL

En éste modelo, hemos introducido la representación en diagrama de bloques delcontrolador de la ecuación 112. a la entrada vamos a aplicar diferentes valores, al igual queen los casos anteriores. Los casos a estudiar son:

1. Respuesta al escalón.2. Respuesta a la rampa.3. Respuesta a una señal aleatoria.

1.- La respuesta a una entrada escalón debería responder a la ilustración 72 si tobo hubierafuncionado correctamente. En la ilustración 74, mostramos el resultado de la aplicación deuna entrada escalón con valor velocidad nominal al modelo de la ilustración 73. En efecto,la simulación nos ha dado una respuesta igual a la esperada. En 0,2 segundos el sistema haevolucionado hasta el valor nominal, con un sobrepico de menos del 1%.

Ilustración 74. Respuesta a entrada escalón del controlador calculado con SISOTOOL

Page 77: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-76-

Si sobreponemos la ilustración 74 y la 72, veremos como coinciden los valores a cadamuestra de consigna.

2.- La respuesta a una rampa de pendiente 2000 es la que se muestra en la ilustración 75.Se puede observar el mismo efecto que en los controladores anteriores, donde se produceun pequeño error de seguimiento a la rampa. Al igual que en los anteriores casos, esto sedebe al hecho de que entre las condiciones impuestas al calculo del controlador no había elerror de seguimiento a la rampa nulo.

Ilustración 75. Respuesta a rampa del controlador calculado con SISOTOOL.

3.- En el caso una consigna aleatoria sobre el controlador, podemos observar elcomportamiento frente a situaciones inesperadas, de forma tal que podemos detectarerrores en los cálculos de los esfuerzos de control. En la ilustración 76 se puede observarcomo evoluciona la variable velocidad angular en función de las consignas recibidas.Existen varios cambios de sentido de giro, lo que provoca picos de corriente que habrá quecontrolar.

Ilustración 76. Respuesta a entrada aleatoria del controlador calculado con SISOTOOL.

Page 78: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-77-

En este caso vamos a avanzar, que si las consignas que introducimos a la entrada varían auna velocidad superior a 0,4 segundos, puede ser que el sistema no pueda seguir a lademanda, al igual que sucede con otros controladores calculados a otros tiempos derespuesta. También se observa que se producen cambios en el sentido de giro, lo que puedeprovocar valores de contra corriente superiores a los admisibles, lo cual pasaremos acomprobar.

Tal y como hemos hecho en los anteriores apartados, para terminar de analizar elcomportamiento de este controlador, vamos a ver como se comporta la variable corrienteen el motor DC para asegurarnos que los esfuerzos de control se sitúan dentro de losvalores permitidos. Los valores más negativos en cuanto a esfuerzo de control,corresponden a los cambios en el sentido de giro, y por supuesto en el momento delarranque a la velocidad nominal.

En la ilustración 77 se ha dibujado en azul la corriente de pico en el arranque a una entradaescalón de valor velocidad nominal, que es uno de lo momento más críticos, y que superasatisfactoriamente con un valor que no llega a los 500 mA. En rojo se ha dibujado lacorriente absorbida cuando la entrada es una rampa, y tal y como se esperaba, los valoresson muy reducidos. Por último, la señal en verde corresponde a una entrada aleatoria,siendo el valor más desfavorable el que aparece en la muestra 0,45 segundos. Éste valorcorresponde a el cambio del sentido de giro brusco que se le ha solicitado, pero no llega alos 500 mA, por lo que es inferior a los 633mA declarados por el fabricante.

Ilustración 77. Esfuerzos de control a diferentes entradas.

3.4.5,- Controlador Elegido

De entre todos los controladote calculados, vamos a escoger aquel que cumpla mejor contodos los requisitos solicitados. De ésta manera, a partir de este punto, los motores siemprellevaran el controlador correspondiente asociado para mejorar la dinámica del sistema.

Page 79: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-78-

Para realizar esta tarea hemos realizado unas tablas comparativas de las principalescaracterísticas de los controladores:

Nombre Compensador cero-poloTF ( )

( )15194,14-7,267e

−+

zz

Codigo. ( ) ( )15194,1)1()( −−+−= nEnEnUnUT. Subida* 10 muestras

% sobrepico <1%I max 0,19

Tabla 14

Nombre Método analíticoTF

)1(6,19204619.01

11

1

−−

−⋅−

zzz

Codigo. ( ) ( )143982,231921,5)1()( −−−−+−= nEenEenUnUT. Subida* 1 muestra

% sobrepico 0%I max 0,8

Tabla 15

Nombre Método de Zigler-NicholsTF

220006,00058,0

−+

zz

Codigo. ( ) ( )10003,00029,0)1()( −−+−= nEnEnUnUT. Subida* 6 muestras

% sobrepico <1%I max 0,35

Tabla 16

Nombre SISOTOOL de MATLABTF

100432,0)(

−⋅=

zz

ZG

Codigo. ( )nEnUnU 00432,0)1()( +−=T. Subida* 4 muestras

% sobrepico <1%I max 0,5

Tabla 17

De entre todos éstos controladores hemos escogido el último de ellos. Esto se justifica yaque es el más fácil de implementar, tiene un tiempo de subida de cuatro muestras yprincipalmente porque el esfuerzo de control es menor que en el caso analítico de la tabla15. Si bien parece que es mejor el resultado del controlador analítico, hay que tener encuenta que habría que poner restricciones en el controlador, para no sobrepasar el límite decorriente que establece el fabricante. Hay que considerar que el controlador de Ziegler-Nichols de la tabla 16, también funciona razonablemente bien, pero es un poco más lentoque el que hemos escogido. Hay que indicar que hemos escogido un valor de muestreorelativamente bajo, lo que ayuda a que los picos de corriente sean pequeños, y en muchoscasos inferiores a los que marca el fabricante.

Page 80: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-79-

En todo caso, el tiempo de muestreo se demuestra que ha sido bien seleccionado, ya que entodo caso el sistema es controlable, y el sistema dead-beat response tiene una respuestamuy proporcionada a las necesidades del mismo, y los valores de corriente de pico solosobrepasan el máximo admitido cuando hay un cambio brusco del sentido de giro delmotor, cosa poco probable en la realidad ya que habrá un controlador de posición queevitará este problema.

3.5,- Modelo Cinemático del Robot Móvil

3.5.1,- Hipótesis Básicas.

El sistema móvil que estamos estudiando se basa en un sistema de tracción diferencial. Laplataforma se mueve por la acción de dos ruedas motrices independientes.

Vamos a adoptar las siguientes hipótesis simplificadoras:

• El robot se mueve sobre una superficie plana.• 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 período de control.• El robot no tiene partes flexibles.• 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 alo 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 sistemade control.

3.5.2,- Tipos de Ruedas.

En la práctica existen diferentes tipos de ruedas cuya consideración tiene una notableinfluencia en el modelo cinemática del vehículo. Existen cuatro tipos de rueda:

1. Las ruedas fijas solo pueden rotar sobre su eje.2. Las ruedas de direccionamiento se caracterizan por la rotación alrededor del eje

vertical que pasa por el centro de la rueda y que permite orientarla con respecto alvehículo.

3. Las ruedas de castor también son orientables respecto al vehículo, pero el ejevertical de rotación no pasa por el centro de la rueda.

4. Lar ruedas suecas permiten variar la dirección de la velocidad del punto decontacto con relación al plano de la rueda (el vector velocidad puede tener unángulo con respecto a la tangente).

Page 81: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-80-

3.5.3,- Definición del movimiento del móvil.

Para empezar el estudio del móvil, hay que empezar por definir su movimiento. Para poderrealizar un controlador de posición para un robot móvil de las características que estamosestudiando, es importante obtener un modelo cinemático fiable, que nos permita conoceren todo caso cual es la posición del robot.

Si consideramos la ilustración 16, podemos evaluar la posición del móvil teniendo encuenta que en la ilustración 78 existe un sistema de referencia {G} y un sistema {L} ( querepresenta el móvil) con centro en el centro de guiado del vehículo.

Ilustración 78. Posición del móvil en un plano.

Si suponemos que el vehículo se mueve en un intervalo de control según un arco decircunferencia, tal y como se muestra en la ilustración 79.

Ilustración 79. Intervalo de control en ? t.

La velocidad, para intervalos de control suficientemente pequeños, viene dado por:

ts

v∆∆= Ecuación 113

y la velocidad angular por:

tv

∆∆

Ecuación 114

Page 82: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-81-

Siendo ? S y ? ø el espacio recorrido por el punto de guiado del vehículo y su cambio deorientación durante el intervalo de control ? t.

La longitud s∆ del arco recorrido por el robot en t∆ viene dado por la ecuación 115.

φ∆⋅=∆ Rs Ecuación 115

Siendo R el radio de giro o radio de la circunferencia que describe el punto de guiado,también llamado centro instantáneo de rotación (CIR).La curvatura se define como la inversa del radio de giro:

sR ∆∆

==φ

γ1

Ecuación 116

Las ecuaciones del movimiento en el sistema {L} de la ilustración 78 en la posición inicialson:

))(()( φ∆⋅−−=∆ CosRRxLEcuación 117

)()( φ∆⋅=∆ SinRyLEcuación 118

Si la orientación inicial del vehículo con respecto al sistema {G} es de φ , el movimiento

en el sistema {G} se determina rotandoφ . Para ello multiplicamos por la matriz derotación deducida en el apartado 3.2:

−=

φφφφ

CosSinSinCos

RGL Ecuación 119

Entonces hallamos:

[ ] )()()(1)( φφφφ SinSinRCosCosRx ⋅∆⋅−−∆=∆ Ecuación 120

[ ] )()()(1)( φφφφ CosSinRSenCosRy ⋅∆⋅+−∆=∆ Ecuación 121

Suponiendo que el intervalo de control es suficientemente pequeño, también lo será elcambio de orientación ? ø con lo cual se tendrá que:

1)( ≅∆φCosφφ ∆≅∆ )(Sin

Page 83: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-82-

Sustituyendo en las ecuaciones 120 y 121 anteriores se tiene que:

)(φφ SinRx ⋅∆⋅−=∆ Ecuación 122

)(φφ CosRy ⋅∆⋅=∆ Ecuación 123

Y teniendo en cuenta la longitud de arco recorrido expresado en la ecuación 115, hallamos:

)(φSinsx ⋅∆−=∆ Ecuación 124

)(φCossy ⋅∆=∆ Ecuación 125

Ahora solo queda dividir por ? t y hacer que tienda a cero para llegar a las ecuacionescinemáticas de velocidad que nos definen la velocidad lineal en cada una de lascoordenadas (ecuaciones 126 y127):

)(φSinvx ⋅−=•

Ecuación 126

)(φCosvy ⋅=•

Ecuación 127

La variación de la orientación la hallaremos de la siguiente manera:

w=•

φ Ecuación 128

3.5.4,- Función de Restricción Cinemática.

Para poder evaluar el modelo cinemática, hay que tener en cuenta que las variables que lodefinen puede que no sean independientes entre si. Eso significa que, por ejemplo, no sepueden dar todas las combinaciones de velocidad y ángulo en la posición de un móvil, yaque tienen una dependencia las unas de las otras.

Las variables que definen completamente el movimiento y la posición de un robot móvil enun plano son:

[ ]ϕYXqT

= Ecuación 129

Donde x es la coordenada en el eje X, y la coordenada en el eje Y, y f e ángulo dedesviación del móvil con respecto al sistema de coordenadas. Como vamos a podercomprobar mas adelante, estas variables son dependientes entre si. Por lo que solo son

Page 84: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-83-

posibles posiciones que cumplan con la función de restricción. Para que se cumpla larestricción debe haber una fuerza que obligue a ello. En nuestro caso la rigidez del móvil.

Estas restricciones pueden ser holónomas, si no intervienen velocidades, y no holónomas,dependientes de la velocidad y además no integrables.

Si suponemos que el móvil se mueve a velocidades relativamente lentas, entonces lasruedas no van a patinar y por lo tanto la componente de velocidad será siempreperpendicular al eje de rotación de las ruedas. Podemos definir entonces, que en el centrode masas del móvil las componentes de velocidad serán:

ϕSinVX GG−=

Ecuación 130

ϕCosVY GG=

Ecuación 131

Si eliminamos VG obtenemos la ecuación 132.

0=+••

ϕϕ SinCos YX GG Ecuación 132

Esta ecuación es una restricción de velocidad no holónoma, y no puede ser integradaanalíticamente para hallar XG, YG y f , ya que cada una de las variables son dependientesentre si. Estamos entonces ante un sistema no holónomo, y esto puede comprobarse viendoque no cumple el teorema de Frobenius.

Si focalizamos esta restricción en el punto F, y utilizamos las ecuaciones de la cinemáticadel sólido rígido, se transformará en la siguiente función de restricción:

0=++•••

IYX GFFSinCos ϕϕϕ Ecuación 133

Donde Ic es la distancia entre el centro de masas (G) y F. Como se puede observar laecuación 133 es una restricción no-holónoma. Esta ecuación tampoco se puede integraranalíticamente. Con ésta configuración obtenemos un grado de controlabilidad de laposición del móvil en el caso de insertar un brazo robot en la posición F, ya que el punto Fes capaz de realizar movimientos en todas las posiciones y ángulos del plano haciendocombinaciones en las variables de control, cosa que si controlamos el centro de masas, quese encuentra situado en la perpendicular al centro instantáneo de rotación, no puederealizar movimientos perpendiculares a la prolongación del eje del robot. Es posible en ésteúltimo caso, que con velocidades angulares opuestas y del mismo módulo, el robot no semueva y gire.

Page 85: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-84-

3.5.5,- Modelo de la Configuración Deseada. Modelo Jacobiano.

3.5.5.1,- Respecto al Centro de Masas.

Para obtener un modelo cinemática en que el centro de masas sea el origen de los ejes delrobot, será necesario encontrar una relación entre las velocidades angulares de cada una delas ruedas y la velocidad angular y lineal del móvil.

Si observamos la ilustración 80, podemos ver que la velocidad lineal de cada rueda esperpendicular a su eje de giro en todo momento, por lo que el movimiento de giro loproduce la composición de las velocidades lineales de cada una de las ruedas, por lo que lavelocidad lineal del centro de masas también será perpendicular a los ejes de rodadura delas ruedas. Si tenemos en cuenta que el CIR será el centro de rotación de toda la masa delmóvil, la velocidad lineal del móvil será el producto de la velocidad angular del móvil y laposición del CM respecto al CIR. Esto se escribe de la siguiente manera:

+⋅=

2b

rV CM ϕ Ecuación 134

De la misma manera podemos calcular la velocidad lineal de cada una de las ruedas:

rV l⋅=

ϕ Ecuación 135

bV r⋅=

ϕ Ecuación 136

Si ahora vemos las semejanzas entre triángulos, podemos deducir la ecuación 137 querelaciona las velocidades lineales de cada rueda con la del centro de masas.

Ilustración 80. Velocidad lineal robot.

Page 86: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-85-

2VVV rl

CM

+= Ecuación 137

De la misma forma que hemos deducida la ecuación, vamos a deducir la relación queexiste entre las velocidades lineales de cada rueda y la velocidad angular del robot.

Si observamos la ilustración 82, podemos ver la relación que existe entre la velocidadlineal de cada rueda cuando se produce un giro. De esta forma el resultado de la diferenciade velocidades es la componente lineal de la velocidad angular del robot en el centro demasas, por lo que la ecuación resultante de la composición de velocidades lineales hay quedividirla por el radio de giro que es en nuestro caso b. El resultado queda, entonces, comolo que se muestra en la ecuación 138.

bVV rl

−=

ϕ Ecuación 138

A partir de las ecuaciones 137 y 138, es fácil obtener una relación entre las velocidadesangulares de las ruedas y las variables que definen la velocidad del móvil y que habíamosdefinido como variables de estado. Si aplicamos las ecuaciones 130 y 131 a la ecuación137, obtenemos las componentes de la velocidad en cada uno de sus ejes. Estas dosecuaciones resultantes forman parte de las ecuaciones de estado que estamos buscando. Siahora incorporamos la ecuación 138, obtenemos las ecuaciones de estado del modelocinemática del robot móvil. Antes, hay que tener en cuenta que la relación que hay entre lavelocidad angular de la rueda y su velocidad lineal depende del radio de la rueda. Laecuación 139 nos muestra el resultado obtenido.

Ilustración 81. Rotación del móvil..

−−

=

θθ

ϕ

ϕϕ

ϕϕ

r

l

f

f

f

br

br

Cosr

Cosr

Sinr

Sinr

Y

X*

22

22

Ecuación 139

Obsérvese que el sistema no es holónomo, ya que mediante la actuación de dos variablesde entrada controlamos tres variables de estado.

Page 87: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-86-

Es importante representar las ecuaciones de estado de la ecuación 139 en un diagrama debloques para poder simular sus efectos mediante Simulink. La ilustración 82 muestra elresultado de ésta representación. Éste modelo nos servirá para calcular la posición delmóvil en cada momento, y es esencial para poder aplicar un control de posición de laforma que hemos planteado el problema.

Las tres ecuaciones de estado de la ecuación 139 serán operaciones de cálculo que realizaráel microcontrolador para conocer su posición en cada caso a partir de los datosproporcionados por el encoger magnético digital.

Para comprobar su funcionalidad vamos a aplicar diferentes valores de control en lasentradas que representan la velocidad en cada una de las ruedas. En nuestro caso deestudio, vamos a incorporar ambos motores del robot en cada una de las entradas, yrealizaremos las simulaciones teniendo en cuenta los controles de velocidad que se hancalculado en los apartados anteriores.

Ilustración 82. Cinemática directa en el centro de masas

La ilustración 83 representa el conjunto motor+controlador y el bloque cinemática delrobot que vamos a utilizar para calcular la posición del mismo a partir de los encoders. Lassimulaciones que se han realizado se muestran en las ilustraciones 84, 85, 86 y 87, y se hantomado unos valores de velocidad dentro de los límites de control.

Page 88: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-87-

Ilustración 83. Modelo Cinemática robot+actuadotes

Se pueden observar varias características de éscas simulaciones. Quizás la característicamás importantes es el hecho de que el robot es capaz de girar sobre si mismo de lailustración 86. El robot parte de la posición x=0, y=0 y f =0, que se sitúa en el origen decoordenadas. Hemos realizado la simulación durante 500 ms, tiempo suficiente para quelos motores se hayan situado en régimen estacionario.

Para comprobar que las simulaciones son funcionales, y que se comportan tal y como seesperaba, hemos calculado cual es la velocidad lineal del robot cuando los motores van a lavelocidad angular máxima, que es de 2,7197 m/s, por lo que en 500 ms habrá recorrido untotal de 1,3599 m menos el transitorio que hay hasta que el motor alcanza su régimenestacionario. Si observamos la ilustración 84, se puede comprobar que ésta relación secumple.

Ilustración 84. Trayectoria recta.

VelocidadL=1.2881e+003VelocidadR=1.2881e+003

Ilustración 85. Círculo perfecto

VelocidadL=1.2881e+003VelocidadR=0

Page 89: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-88-

Ilustración 86. Giro sobre si mismo

VelocidadL=1.2881e+003VelocidadR=-1.2881e+003

Ilustración 87. Circulo deformado

VelocidadL=1.2881e+003VelocidadR=500

3.5.5.2,- Respecto al Punto F.

Si nos centramos primero en la plataforma, las ecuaciones diferenciales cinemáticasrelativas a las ruedas para una velocidad lineal en el punto F, y la rotación relativa de laplataforma

ϕ se puede describir de la manera que hemos descrito en las ecuaciones 137 y

138.

A la velocidad lineal en el punto F la llamaremos VF. El análisis cinemático del sólidorígido formado por la plataforma se puede expresar de esta forma:

IVV GCMF∧+=

ϕ Ecuación 140

Si substituimos los términos VCM y •

ϕ por sus componentes de velocidad relativas a cada

una de las ruedas, obtenemos la ecuación 141.

IVVVVV Grlrl

F b∧

−+

+=

2Ecuación 141

El producto vectorial que resulta de multiplicar la velocidad angular del robot con ladistancia al punto F se calcula como muestra en la ecuación 142:

+

−=

=∧−

ϕϕ

ϕϕ

CosIb

VVjSinI

bVV

i

SinICosIb

VVkji

Ib

VVG

rlG

rl

GG

rlG

ll

0

00

Ecuación 142

Page 90: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-89-

Si sustituimos la ecuación 142 a la 141, y expresamos cada uno de sus términos en funciónde sus coordenadas, obtendremos las ecuaciones 143 y 144, que representan la velocidaden cada uno de los ejes del punto F.

IVIVVVX Gr

Glrl

F b

Sin

b

SinSinSin ϕϕϕϕ+−−−=

22Ecuación 143

IVIVVVY Gr

Glrl

F bCos

bCosCosCos ϕϕϕϕ

−++=•

22Ecuación 144

Con las ecuaciones 138, 143 y 144 expresadas matricialmente, obtenemos la relación entrela entrada y la salida, siendo las entradas las variables θ l

y θ r, correspondientes a las

velocidades de cada una de las ruedas, y •

X F,

Y F y

ϕ :

−+

+−−−

=

⋅⋅

⋅⋅

θθ

ϕ

ϕϕϕϕ

ϕϕϕϕ

r

lGG

GG

f

f

f

br

br

Cosb

Cosr

Cosb

Cosr

Sinb

Sinr

Sinb

Sinr

IrIr

IrIr

Y

X*

22

22Ecuación 145

En las matrices de estado podemos observar que las dos variables de control θ l y θ r

modifican tres variables de estado •

X F,

Y F y

ϕ . Esto representa el movimiento del

móvil en un plano con tres grados de libertad donde solo tenemos dos variables de control.

La ecuación 145 demuestra que las variables de salida no son cero aunque únicamente estégirando una de las ruedas.

También podemos expresar la ecuación 145 como un producto de una matriz de rotación yuna de traslación de esta forma:

⋅⋅−

−=

θθ

ϕϕϕϕ

r

l

gg

f

f

b

r

b

r

rr

CosCosSinSin

IIY

X *22 Ecuación 146

Este modelo contrasta con el modelo del tipo coche. La tracción diferencial tiene lahabilidad de cambiar su orientación con sólo modificar su spin.

Page 91: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-90-

Ilustración 88. Modelo cinemática sobre punto F.

La representación del modelo cinemática en diagrama de bloques es el de la ilustración 88.Éste modelo es muy parecido al modelo de la ilustración 82, pero hemos realizado latraslación del punto F al centro de masas del robot. Si observamos la ecuación 145, yhacemos que el valor de traslación IG sea igual a cero, veremos que obtenemos la ecuación139, que corresponde al sistema representado en el centro de masas.

Los efectos de la traslación lo veremos mejor en las simulaciones de las ilustraciones 89,90, 91 y 92, donde se ha simulado la cinemática del robot utilizando las mismas entradasque en caso anterior, para poder así compararlas. La principal diferencia que encontramoses en el hecho ya comentado de aplicar dos entradas iguales a cada uno de los motores. Enéste caso, en contraposición al análisis del apartado 3.15.5.1, no podemos mantener elpunto de referencia en un punto estático, o dicho de otra forma siempre habrá unacomponente de velocidad lineal no nula en el movimiento del robot. Éste hecho se explicaporque cualquier traslación de un punto a otro, implica una distancia entre ambos, la cualse convierte en velocidad lineal siempre que exista velocidad angular. Esto lo podemoscomprobar operando las ecuaciones 135 y 136 aplicadas a la base del móvil. En cuanto alresto de simulaciones se observa el hecho de que no difieren con las del modelo anterior,por lo que será interesante tener en cuenta las propiedades mencionadas para escoges elcontrol adecuada en cada caso.

Éste tipo de modelización cinemática directa se utiliza en el caso de inserción de brazosmanipuladores en la plataforma móvil, a lo que le llamaremos manipuladores móviles.

Page 92: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-91-

Ilustración 89. Trayectoria recta.

VelocidadL=1.2881e+003VelocidadR=1.2881e+003

Ilustración 90. Círculo perfecto

VelocidadL=1.2881e+003VelocidadR=0

Ilustración 91. Círculo perfecto.

VelocidadL=1.2881e+003VelocidadR=-1.2881e+003

Ilustración 92. Círculo deformado.

VelocidadL=1.2881e+003VelocidadR

3.6,- Control de Posición del Robot

En este capítulo vamos a diseñar un controlador de posición para el robot móvil queestamos estudiando, de forma tal de que el sistema sea capaz de alcanzar un objetivo móvilen una posición y orientación determinada a pesar de que el objetivo esté en movimiento.

3.6.1,- Control del Movimiento de un Robot móvil Autónomo

Hasta el momento, todos los análisis que hemos realizado han sido encaminados para elcontrol de velocidad de los motores del robot. Ahora es el momento de analizar el robotcomo un conjunto para poder obtener los movimientos deseados de una forma autónoma.Nuestro objetivo es éste caso es que el móvil sea capaz de seguir trayectorias para llegar aun destino deseado.

Existen muchas técnicas de control de posición de un robot móvil. De entre ellas existentres grandes grupos, las basadas en teoría de control y las basadas en métodos geométricos.

Page 93: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-92-

Los controladores de posición basados en teoría de control son aquellos que utilizan losmodelos matemáticos del robot para hallar un controlador que lo haga estable y a la vezrealice la tarea deseada. Éstos controladores tienen el problema de que el sistema acontrolar no es lineal, y muchas veces la teoría de control clásica es incapaz de linealizar elsistema en un punto estable a pesar de ser el sistema controlable.

Otro grupo es el que se basa en métodos geométricos para seguir una trayectoria.Matemáticamente se puede formular una trayectoria a seguir o planificación de trayectoria.El controlador se encarga de dar las consignas que hacen que se cumplan las condicionesgeométricas calculadas.

El otro gran grupo son los sistemas basados en lógica difusa o borrosa. A pesar de que elnombre ofrezca dos alternativas, la lógica difusa se basa en todo lo contrario. Un conjuntode valores borrosos son factibles de ser utilizados en el control, y éste tomará un valorúnico en función de las premisas que se estudien. Difiere de la lógica clásica por el hechode que la lógica clásica solo presenta dos soluciones si/no, mientras que en lógica borrosaes posible obtener valores intermedios. Por lo general se utilizan técnicas de lógica borrosapara implementar funciones ya conocidas matemáticamente, que ayudan a obtener lascondiciones para determinar el resultado final.

En los siguientes apartados vamos a estudiar diferentes controladores de posición.

3.6.2,- Control Basado en Métodos Geométricos

En éste caso el móvil tiene como misión el seguir un camino de forma autónoma, al quellamaremos camino objetivo. En nuestro caso supondremos que la velocidad se mantieneconstante. Esto no afecta a la hora de aplicar la ley de control, ya que es un parámetro queinterviene de forma tal que cuando se modifica la velocidad, también cambia el modeloutilizado, por lo que hay que modificar de forma apropiada la ley de control. Es éste casoes posible utilizar técnicas de control adaptativo.

Hay varias posibilidades de expresar el camino objetivo. Hemos de tener en cuenta que elmicrocontrolador solo admite funciones discretas, por lo que comúnmente se obtienenpuntos a intervalos determinados. También es posible aplicar una función explícita encoordenadas globales, siendo el proceso de cálculo más complicado a medida que lafunción se complica.

Para conocer la posición del móvil en el plano, utilizaremos las técnicas de odometríadescritas en los apartados anteriores, empleando las medidas de los codificadoresmagnéticos situados en los ejes de las ruedas. Será necesario entonces utilizar el modelomatemático del punto 3.5.5.1 para estimar la posición. El modelo matemático directo nosgarantiza una posición aproximada en cada instante de tiempo a analizar.

Para estudiar la geometría del camino a seguir, partiremos de la ilustración 93. Latrayectoria a seguir por el robo la hemos marcado e color verde, de tal forma que r es elradio de curvatura. Para alcanzar del punto objetivo de coordenadas xobj, yobj. El radio decurvatura se puede expresar como se muestra en la ecuación 147.

Page 94: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-93-

dxr +∆= Ecuación 147

Si usamos el teorema de Pitágoras, podemos hallar otra relación del radio de curvatura, queserá la ecuación 148.

( ) 222 dxr +∆= Ecuación 148

Despejando d en la ecuación 147 y despejando en la 148 obtenemos:

( ) ( ) 222 ryxr =∆+∆− Ecuación 149

Donde el radio de curvatura para desplazarse desde el origen hasta el objetivo se expresacomo la ecuación 150:

( ) ( )x

yxr

∆⋅∆+∆

=2

22

Ecuación 150

Si ahora expresamos el radio de curvatura como curvatura del vehículo, hallamos laecuación 151:

2

21L

xr

∆⋅−==γ Ecuación 151

De la ecuación 151 L es la distancia al objetivo, ? x el desplazamiento lateral, y el signorepresenta el sentido de giro. Hay que tener en cuenta que ? es una de las curvas que pasanpor xobj, yobj y xcm, ycm del robot.

Ilustración 93. Trayectoria del robot en el plano

El cálculo de ? x lo aremos por trigonometría, tal y como mostramos en la ecuación 152.

( ) ( ) φφ SenyyCosxxx cmobjcmobj ⋅−+⋅−=∆ Ecuación 152

Page 95: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-94-

Y el cálculo de L lo haremos mediante el teorema de Pitágoras:

( ) ( )22cmobjcmobj yyxxL −+−= Ecuación 153

Podemos describir el procedimiento de control mediante los siguientes pasos:

1. Calcular xobjm y yobjm, que representa la distancia mínima entre xcm, ycm y la curvaobjetivo marcada en rojo en la ilustración 93.

2. Calculamos L utilizando la ecuación 153.3. Calculamos ? x utilizando la ecuación 152.4. Aplicamos la ley de control de la ecuación 151.

La ley de control es dependiente de la velocidad lineal. Esto lo podemos comprobarmodificando las ecuaciones 137 y 138 y aislando las velocidades angulares de cada rueda.De esta forma se obtienen las ecuaciones 154 y 155, donde r representa el radio de giro, bla distancia entre ruedas y V la velocidad lineal del móvil.

+

⋅= 1

2 rb

VVl Ecuación 154

⋅−=

rb

VVr 21 Ecuación 155

Las ecuaciones 154 y 155 son útiles para poder comprobar que el modelo cambia enfunción de V, y que por lo tanto habrá que adecuar ésta variable para que, por ejemplo, siel radio de curvatura es muy pequeño, el robot resbale.

A partir de los datos que hemos calculado podemos realizar un primer diagrama de bloquespara realizar las simulaciones. La ilustración 94 nos muestra a grandes rasgos elfuncionamiento del controlador de posición. El bloque ‘pure pursuit I’ es el bloquecontrolador de posición, que a la salida entrega el valor del radio de curvatura que deberáseguir el robot para alcanzar su objetivo.

Ilustración 94. Diagrama de bloques control de posición

Page 96: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-95-

Los bloques Fcn1 y Fcn2 son los encargados de calcular el valor de velocidad angular apartir del valor del radio de curvatura y velocidad lineal que corresponden a las ecuaciones154 y 155. Es necesario introducir el grupo reductor de velocidad tanto en la entrada almotor como en la salida, tal y como se ve en el diagrama de la ilustración 94. El bloquecinemática directa corresponde al de la ilustración 88, mientras que los bloques Right y leftcorresponden al modelo del motor de la ilustración 19.

El bloque del controlador de posición corresponde al de la ilustración 95. Las entradasx_camino y y_camino corresponden a la trayectoria a seguir por el robot, la cual hemosgenerado a base de puntos coordenados. La ‘MATLAB Function’ con nombre ‘pure_p_I’ esla función que calcula el índice de los valores x_camino e y_camino más próximos a laposición del robot.

Ilustración 95. Diagrama de bloques controlador de posición

La función anteriormente mencionada presenta el siguiente código, el cual vamos acomentar seguidamente:

Código archivo pure_p_I.m

% PURE_P_I Calcula el índice del punto del camino que está más próximo aencontrarse% a una distancia L del vehículo%% Esta función se utiliza dentro del bloque Simulink "Pure Pursuit I".function k = pure_p_I(u)global K_ANTlong = (length(u)-3)/2x_camino = u(1:long)y_camino = u(long+1:2*long)x_vehiculo = u(2*long+1)y_vehiculo = u(2*long+2)L = u(2*long+3)dist=sqrt( (x_camino-x_vehiculo).^2+(y_camino-y_vehiculo).^2 )dif = abs(dist-L)k = K_ANTdif_delante = dif(k:length(dif))

Page 97: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-96-

[z,indice] = min(dif_delante)k = indice + k -1K_ANT = k

El elemento clave del controlador de posición es el algoritmo necesario para calcular lalocalización de xobjm y yobjm. De ello dependerá la potencia de cálculo necesaria paradesarrollarlo en la práctica. En es caso del algoritmo pure_p_I, hay que comentar variosaspectos:

1. Hay que entregar los valores X e Y de la trayectoria a seguir por el robot.2. Con el conocimiento de la posición de xcm e ycm, y el valor escalar del término

look-ahead, se calcula la distancia del robot en la posición actual a todos los puntosde la trayectoria.

3. Se calcula la distancia en valor absoluto que existe entre todos los puntos situados auna distancia L los puntos xobj, yobj de la trayectoria señalada, haciendo la restaentre el valor de distancia calculado en 2 y restando L.

4. Desde el punto más cercano anterior, se busca el valor menor en el sentido de lamarcha del robot.

5. Finalmente se actualiza el valor del punto xobjm y yobjm de la trayectoria que se estásiguiendo.

Una vez calculado el radio de curvatura, ya podemos realizar simulaciones para comprobarel comportamiento del robot a diferentes entradas.

En éste caso, hemos realizado 3 simulaciones representativas del comportamiento del roboten diferentes situaciones:

1. En primer lugar hemos querido comprobar como evoluciona el robot alrequerimiento de seguimiento de una trayectoria recta. Se ha establecido lavelocidad nominal en V=2m/s, la cual es inferior a la máxima que se puedealcanzar, que se sitúa en 2,72 m/s. Somos conscientes de que éste valor develocidad es elevado, pero como no tenemos datos de la superficie del piso pordonde se va a mover el robot, no podemos precisar cual es el radio mínimo que sepuede realizar a ésta velocidad sin provocar un deslizamiento en el robot.

Otro punto importante es el analizar los valores del parámetro L. Si observamos laecuación 151, podemos ver como la ganancia del sistema es dependiente de lainversa de L2, por lo que éste parámetro puede desestabilizar fácilmente el sistemacon solo una pequeña variación del mismo. Éste hecho se hace visible en la figura96, dónde la primera fila se ha utilizado un valor de L=0,3, mientras que en lasegunda fila se ha utilizado un valor de L=0,7.

Por otra parte también hemos representado los valores de control de los motores, enazul el izquierdo y en rojo el derecho. Puede apreciarse como se desestabiliza elsistema con el aumento del coeficiente de L. Es patente el hecho de que el sistemapresenta oscilaciones al alcanzar el objetivo.

Page 98: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-97-

Ilustración 96. Seguimiento a una trayectoria recta.

2. El siguiente caso de interés ha sido el seguimiento a una parábola. Se ha mantenidoel valor de velocidad constante a 2, y, al igual que en la simulación del seguimientoa una recta, se han probado dos valores de L correspondientes a 0,3 y 0,7.

Ilustración 97. Seguimiento a una parábola.

Page 99: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-98-

Obsérvese como un valor de L pequeño (ganancia alta) origina oscilaciones en eltransitorio, mientras que un valor demasiado alto (ganancia pequeña) hace que elrobot tarde mucho en alcanzar el camino objetivo con la orientación deseada.

Los gráficos superior derecha representa las consignas de velocidad que sonsuministradas a cada uno de los motores para realizar el seguimiento a latrayectoria deseada para el caso de L=0,3, mientras que la gráfica inferior derecharepresenta son los valores de control para una L=0,7. De color rojo se ha dibujadoel motor derecho, y en color azul el motor izquierdo.

3. El tercer caso simulado es el seguimiento a una trayectoria circular. Es en éste casodonde podremos ver los problemas que presenta este tipo de controlador. En lailustración 98 se han realizado las mismas simulaciones que en los casos anteriores,velocidad lineal establecida en 2 m/s, y una L=0,3 y L=0,7 como parámetros delook-ahead.

El comportamiento del controlador cuando la trayectoria a seguir en unacircunferencia, presenta un ponto de interés cuando ha recorrido un arco igual a p.Si se observa la ilustración 98, el seguimiento es muy preciso hasta éste punto, enque el sistema es incapaz de seguir a la curva señalada. Esto es motivado al signomenos de la ecuación 151, que marca el sentido de giro necesario para alcanzar elpunto objetivo.

Ilustración 98. Seguimiento a un circulo

Es éste caso se puede ver perfectamente como se desestabiliza el sistema cuando laganancia es demasiado pequeña (ilustración 98 abajo derecha), mientras que para

Page 100: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-99-

un valor mayor, el sistema se hace estable pero presenta oscilaciones (ilustración 98abajo derecha).

Como hemos observado, la elección del parámetro de distancia al punto objetivo es críticopara la eficiencia del controlador de persecución pura. Existen métodos para ajustarautomáticamente este parámetro en función de la curvatura del camino, velocidad ysituación del vehículo con respecto al camino.

Existen circunstancias en las que la simple aplicación de la ley de control anterior presentaproblemas. Así, cuando el punto objetivo se encuentra muy alejado (L es muy grande), laactuación suministrada por la ley de control puede resultar demasiado pequeña. En estecaso, debe sustituirse la distancia L al punto objetivo por una distancia máxima.

Otro caso patológico es cuando el vehículo se encuentra sobre el camino objetivo, (? xpequeña), pero orientado en dirección contraria al camino, situación en la cual se observaun valor muy pequeño de curvatura que no permitiría girar al vehículo hasta orientarsesegún el camino. Si se detecta esta condición, es necesario sustituir la curvatura por otrovalor mayor.

3.6.3,- Generación de Trayectorias Rectilíneas.

Una vez obtenido un controlador de posición que es capaz de seguir trayectorias definidas,llega el momento de generar trayectorias, por las cuales queremos que el robot móvilllegue a un objetivo. Los requisitos iniciales son:

1. Se debe llegar a un punto objetivo.2. Se tiene que llegar al punto objetivo con una orientación determinada.3. El error de llegada al punto objetivo tiene que ser cero.

Para conseguir éstos objetivos, vamos a partir de la generación de trayectorias rectilíneasde forma tal que la orientación de la recta de legada al punto objetivo sea la deseada.

3.6.3.1,- Proceso Analítico

Consideremos el gráfico de la ilustración 99. El punto objetivo lo hemos llamado según suscoordenadas Xobj y Yobj, y el ángulo de llegada lo llamamos f (phi). Nosotrosconsideramos que el robot se encuentra en la posición Xini y Yini. La orientación del móvilno nos importa para calcular la trayectoria a seguir, ya que es una de las variables de estadoa controlar. Vamos a generar una recta a la que llamaremos ‘knock line’ o línea de golpe yuna recta de aproximación o ‘approximation line’ a partir de los puntos objetivo y elinicial.

Para generar las rectas de golpe y de aproximación será necesario obtener el punto de corteentre ambas. A éste punto le hemos llamado punto de ataque o ‘attack point’. A partir deeste punto el robot cambiará la trayectoria para llegar al objetivo con los requisitossolicitados.

Page 101: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-100-

baXY += Ecuación 156

La línea de golpe tiene la forma de la ecuación 156, dónde a es la pendiente y b es el puntode corte en el eje de ordenadas cuando x=0. La pendiente es fácil calcularla, ya quesabemos la orientación de la recta, que coincide con la orientación deseada del móvil parael punto objetivo. De ésta forma a se escribirá:

ϕϕϕ

tan1

sincos −=−=a

Ecuación 157

El parámetro b es fácil calcularlo sabiendo las coordenadas del puno objetivo y elparámetro de pendiente que ya hemos calculado en la ecuación 157. Obsérvese la ecuación158.

objobj xayb ⋅−= Ecuación 158

El punto de ataque lo calcularemos a partir del la distancia r que será la distancia quedisponemos para reorientar el robot para llegar al punto objetivo. La distancia r tienemucha relación con el parámetro ‘look ahead’ del controlador, ya que éste nos marca el ritode evolución del seguimiento. Las coordenadas Kx y Ky del punto de ataque sobre los ejescoordenados {B} serán:

ϕϕ

cossin

⋅=⋅=

rKrK

y

x

Ecuación 159

Por lo que el punto de ataque en coordenadas de {A} será:

( ) ( )yobjxobjattatt KYKXYX +−= ,, Ecuación 160

Por último solo queda obtener la recta de aproximación, y para ello usaremos loscoeficientes aappr y bappr que calcularemos con las ecuaciones 161 y 162.

attini

attiniappr XX

Yya−−=

Ecuación 161

attattini

attiniattappr X

XXYy

Yb ⋅−−−=

Ecuación 162

Page 102: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-101-

Con todos éstos coeficientes hemos obtenido las rectas de aproximación y de golpe quehacen que en el punto objetivo se llegue con la orientación deseada.

Ky

(XAtt, YAtt)

(Xini, Yini)

{A}

CM

Y

X

Appr

phi

r

X

(Xobj, Yobj)

KxKnock

Y

{B}

Ilustración 99. Trayectorias rectilíneas

3.6.3.2,- Resultados Simulación

Para el estudio del comportamiento del generador de trayectorias rectilíneas, vamos arealizar las pruebas para ángulos desde 10º hasta 170º, para ésta forma ver como secomporta el sistema.

Ilustración 100.

Knock line=3; L=0.5F ini=0º; Xini=0; Yini=0F =10º; X=4; Y=2

Page 103: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-102-

La ilustración 100 muestra el comportamiento del sistema cuando el ángulo de llegada esde 10º. El comportamiento viene muy marcado por el parámetro look-ahead, que será elresponsable de las vibraciones a la hora de acercarse a la trayectoria deseada. En éste casoel giro brusco que se produce a la llegada a la recta ‘knock-line’ produce una trayectoriacon ángulos cerrados.

En el caso de la ilustración 101, en la que se muestra el resultado de aplicar un ángulo dellegada de 30 grados, se puede ver como las oscilaciones se reducen al mejorar el ángulode llegada. Entonces el peligro de derrape que se produce en la ilustración 100, aquí no seproduce. Si el sistema es capaz de superar el caso anterior, seguro que superará este caso.

Ilustración 101.

Knock line=3; L=0.5F ini=0º; Xini=0; Yini=0F =30º; X=4; Y=2

El caso de la ilustración 102 es el de un ángulo de llegada de 50º. Nuestro sistema superalos ángulos intermedios a la perfección, y es capaz de alcanzar el objetivo con totalprecisión.

Ilustración 102

Knock line=3; L=0.5F ini=0º; Xini=0; Yini=0F =50º; X=4; Y=2

Page 104: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-103-

La ilustración 103 muestra el caso en que la llegada se hace con un ángulo de 70º, ya muypróximo a la horizontal. No presenta ningún problema el superar ésta situación.

Ilustración 103

Knock line=3; L=0.5F ini=0º; Xini=0; Yini=0F =70º; X=4; Y=2

En la situación de la ilustración 104, el móvil llega paralelo a la horizontal del eje X. Seproduce una transición muy suave, por lo que es la mejor de las situaciones con las que seencontrará el móvil. La respuesta de los motores es progresiva, y se estabiliza sinoscilaciones.

Ilustración 104.

Knock line=3; L=0.5F ini=0º; Xini=0; Yini=0F =90º; X=4; Y=2

En la ilustración 105 se muestra una situación inversa a las anteriores. El ángulo de llegadaes de 110º, y el giro a realizar es totalmente nulo debido a la posición inicial del móvil. Enéste caso, el sistema se comporta casi como en el seguimiento a una trayectoria rectilínea,

Page 105: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-104-

con la salvedad de que hay una ligera transición entre las rectas de aproximación y la‘knock-line’.

Ilustración 105.

Knock line=3; L=0.5F ini=0º; Xini=0; Yini=0F =110º; X=4; Y=2

Los 130º de ángulo de llegada se muestran en la ilustración 106. En éste caso, el sentido degiro de la rotación del robot es la inversa de los casos de ángulos por debajo de 90º. Elespín del robot es capaz de cambiar, tal y como ya se había demostrado en el modelocinemática del robot.

Ilustración 106.

Knock line=3; L=0.5F ini=0º; Xini=0; Yini=0F =130º; X=4; Y=2

A los 150º de ángulo de llegada la situación ya es un poco más complicada. A medida quese acerca a la vertical del espacio, los giros se vuelven más bruscos. En éste caso,compruébese en la ilustración 107, no hay ningún problema en superar la situación, perolos ángulos cerrados pueden provocar derrapes si la superficie por dónde se mueve el robottiene un coeficiente de rozamiento excesivamente bajo.

Page 106: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-105-

Ilustración 107.

Knock line=3; L=0.5F ini=0º; Xini=0; Yini=0F =150º; X=4; Y=2

Por último, en la ilustración 108 mostramos el comportamiento cuando el ángulo dellegada es de 170º. Al igual que el caso análogo de 10º, el giro es mucho mñas brusco queen los casos intermedios. De todas formas será la superficie de contacto la que marcará ellímite de adherencia y el máximo radio de giro que será capaz de realizar el móvil.

Ilustración 108.

Knock line=3; L=0.5F ini=0º; Xini=0; Yini=0F =170º; X=4; Y=2

3.6.4,- Análisis de Resultados

Para poder evaluar los resultados anteriores, y ver cual es el comportamiento que mejor seadapta a las necesidades del sistema, hemos considerado que hay que estudiar elcomportamiento cuando se presenta la situación más desfavorable. El transitorio entre latrayectoria que sigue el robot y la trayectoria a seguir será máximo cuando el ángulo entreellas sea de 90º aproximadamente. Eso no significa que existen casos más desfavorables,pero consideramos que una trayectoria perpendicular a la posición de seguimiento del

Page 107: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-106-

robot es una entrada con condiciones iniciales iguales a cero, mientras que para otros casoslas condiciones iniciales serían positivas o negativas, pero no tendiendo a cero. Hemosrepresentado tanto el comportamiento sobre el plano, como la desviación temporal de laorientación del robot con relación a la orientación de la recta objetivo.

Para comprobar el comportamiento del sistema a una variación del parámetro look-ahead,vamos a hacer la comprobación para una velocidad de 1 m/s. Los valores de L aceptablesvan desde 0,6 hasta 0,2, y esto es motivado porque la distancia entre los puntos de lastrayectorias a seguir se encuentran a una distancia de 0,1, por lo que éste es el factorlimitador por defecto, mientras que un valor de L igual o superior a 0,7 hace que la recta‘knock line’ sea demasiado corta para éste valor, por lo que éste será el factor limitadorsuperior.

Ilustración 109. Respuesta para L=0,6

El valor de ganancia más pequeño corresponde a la figura 109. Es el sistema que tiene larespuesta más lenta, pero no presenta oscilaciones, y además el sobrepico es muy pequeño.Es una respuesta ideal para sistemas lentos y superficies resbaladizas, pero quizás un pocolento par las necesidades que tenemos. Un detalle que se puede apreciar es que el robotempieza el viraje cuando la distancia a la recta ‘knock line’ es igual a L. Esta situación esperfectamente demostrable, ya que el algoritmo que calcula el índice del punto que seencuentra a una distancia L considera siempre el punto más cercano sin tener que volvermarcha atrás.

Por los motivos expuestos anteriormente, vamos a ver como se comporta el sistema siaumentamos la ganancia. Hay que tener en cuenta que el valor de ganancia es la inversadel cuadrado del coeficiente L, por lo que un pequeño aumento de L supone un aumentomuy grande de la ganancia del sistema. Esto limita los valores útiles para la estabilizacióndel sistema. A pesar de ello existen técnicas de mejora del comportamiento, las cuales noson nuestro objeto de estudio, ya que nuestro espacio dimensional es conocido y fijo.

Para un coeficiente L de 0,5 hemos obtenido el resultado de la ilustración 110. Éste es elvalor que hemos escogido para realizar todas las simulaciones, y esto se explica porque esel que tiene mejor comportamiento ante los cambios. Se reduce el tiempo deestablecimiento y no se producen casi oscilaciones, y esto es muy recomendable para un

Page 108: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-107-

robot móvil como el que estamos estudiando. Además presenta un sobrepico muyreducido.

Ilustración 110. Respuesta para L=0,5

También parece viable el utilizar un coeficiente L de 0,4, igual como el de la ilustración111, pero hemos creído conveniente curarnos en salud y, a pesar de obtener una muy buenarespuesta temporal, los ensayos nos han demostrado que con el coeficiente de L=0,5 seobtienen mejores resultados.

Ilustración 111. Respuesta para L=0,4

Las oscilaciones aumentan en la ilustración 112, donde se muestra la respuesta cuando elcoeficiente L=0,3. Éste ya se encuentra muy próximo al límite de estabilidad, y ya seaprecia un sobrepico mucho mayor. Si se observa la tabla 18, dónde se muestran losresultados de todas las simulaciones, se puede observar que ahora la ganancia del lazo decontrol de posición ha subido a 11,1, mientras que para el primer caso era de 2,8. Éstatendencia seguirá aumentando de forma exponencial de orden 2, y en el siguiente caso yase sitúa en 25. La aplicación de ésta ganancia se muestra en la ilustración 113. Elparámetro loock-ahead se sitúa en 0,2. Punto límite de la estabilidad del sistema.

Page 109: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-108-

Ilustración 112. Respuesta para L=0,3

Las oscilaciones para el sistema de la ilustración 113 son muy grandes, y presenta unsobrepico muy grande en comparación con los demás casos estudiados.

Ilustración 113. respuesta para L=0,2

Fuera de éstos valores el sistema se ha mostrado inestable, hecho comprobable por elaumento de la ganancia.

‘look ahead’ Gain Wn (rad) Sobrepico (rad) T establecimiento(s)0,6 2,8 0,796 0,3 1,80,5 4 0,7639 0,1 1,30,4 6,25 0,15915 0.3 10,3 11,1 0,7639 0,4 0,80,2 25 0,31830 0,5 1,5

Tabla 18. Resultados análisis simulaciones.

En la tabla 18 mostramos los resultados del análisis del comportamiento dinámico delsistema en función de la variación del parámetro loock-ahead. Para el cálculo de losvalores de ésta tabla nos hemos basado con los resultados obtenidos en las simulacionesanteriores. Gráficamente se pueden comprobar estos resultados. Otros métodos paraconocer la evolución dinámica del robot móvil es utilizar la posición angular del mismo

Page 110: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-109-

con respecto a la recta objetivo para ver como varía respecto a un punto cero que serepresenta por la misma recta objetivo.

En la ilustración 114 mostramos los parámetros a tener en cuenta a la hora de evaluar lacalidad del controlador en función del parámetro ‘L’. En nuestro caso hemos utilizado elgráfico de posición de la simulación que corresponde a una ‘L’=0,5, que es la queconsideramos que cumple mejor con los requisitos. Consideramos que una diferencia en elángulo de llegada inferior al 2% como el valor máximo permisible.

Ilustración 114. Descripción del análisis temporal.

Es posible entonces mejorar la dinámica del sistema si tenemos en cuenta estascaracterísticas. La influencia del sistema dinámico que integra los motores, es de más altafrecuencia que el sistema dinámico compuesto por el robot móvil, pero en el control deposición solo observamos los efectos del sistema de cálculo matemático. A partir de estosdatos podemos delimitar el límite de estabilidad, que se sitúa en el sistema sobreamortiguado, pero como hemos podido ver anteriormente, éste límite lo imponen lascaracterísticas y la resolución del sistema de cálculo empleado.

Con los datos observados en las simulaciones anteriores, podemos afirmar que la gananciadel sistema la determina en parámetro ‘L’, por lo que será necesario optimizar éste valorpara obtener un buen control de posición.

3.6.5,- Seguimiento de un Objetivo en Movimiento

En los apartados anteriores hemos visto como es posible seguir una trayectoria fijacalculada con anterioridad a la puesta en marcha del sistema. Con ello conseguimosalcanzar un punto objetivo con una orientación determinada. El siguiente paso es realizar elseguimiento a un objetivo móvil. Éste es el caso de los robots futbolistas, los cuales debenalcanzar un objetivo que se está moviendo por la acción del impacto de algún jugador.

Sp

Page 111: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-110-

Para realizar éste cometido, será necesario obtener el modelo cinemático del movimientodel objetivo. En nuestro caso la aplicación en SIMULINK de las ecuaciones 126 y 127. Elresultado lo mostramos en la ilustración 115.

Ilustración 115. Modelo robot y de objetivo móvil.

En éste caso la cinemática del robot móvil corre paralelamente a la cinemática del objetivoa alcanzar, que viene determinado por la entrada del ángulo y la velocidad lineal. Hay quetener en cuenta que si la velocidad lineal del objetivo es superior a la del robot, nuncalograremos alcanzar esa posición, mientras que si es inferior, seguro que vamos aalcanzarlo.

El análisis cinemática del objetivo ya lo hemos realizado en el apartado 3.15.3, por lo quenos remitimos a comprobar el resultado a partir de las ecuaciones ya descritas en dichoapartado.

Creo que es importante ver el código utilizado para la realización de las simulaciones bajoSIMULINK, porque de ésta forma se puede ver como se divide el muestreo del control deposición:

clear allclose all

%variables modelos motor y cinematicovelang=1.2881e+003 %velocidad nominal 12300 rpm (12300*2*pi)/60Kt=0.00495 %contante de par Kt=4.95 mNm/AKv=0.00495 %constante de v. Kv=1930 rpm/V Kv=((1/1930)/(2*pi))*60 V/rad/segR=11.4 %resistencia bobinado R=11.4 ohmL=0.00024 %Inductancia motor L=0.24 mHN1=3249 %rpm primario N1=3249 rpm

Page 112: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-111-

N2=196 %rpm secundario N2=196 rpmrt=N1/N2 %relacion de transformacionr=0.0350 %radio ruedaIg=0.4 %distancia a Fd=0.1130 %Distancia entre ruedasm=0.5000 %masa robotb1=377e-012 %rozamiento primario tau=13 ms=b/J: b=13e-3*0.000000029=3.7700e-007r2=0.83 %Rendimiento del reductor Max. efficiency=83%beq=b1 %Resistencia equivalente en primario motorJ1=0.000000029 %inercia rotor J1=0.290 gcm2J2=8.5000e-009 %Inercia reductor=0.015 gcm2 inercia encoder=0.07e-7Jeq=J1+(J2/rt^2) %Inercia equivalente en primario motorVm=7.2; %tensi´on de alimentacionTs=50e-3 %tiempo de muestreoK=1 %valor de realimentacion

%inicializacion variables de calculo del control robotV=0.7 %Velocidad lineal del movil

L=.5 %Coeficiente look-aheadXini=0 %coordenada x inicialYini=0 %coordenada y inicialPhiini=0 %angulo inicial

teta_obj=0*(-pi/5) %angulo llegada objetivoVobj=-0.5 %velocidad objetivotetaf=60*(pi/180) %angulo final robotXpelotaini=3; %posicion inicial pelota eje XYpelotaini=3; %posicion inicial pelota eje Y

muestreo=2; %muestreo del control de posiciontiempo=3*muestreo; %duracion de la simulacion

time=0; %inicializacion timeIli=0;Wal=0;PIl=0;Iri=0;War=0;PIr=0;lt=0;

Wlant=0;Wrant=0;

while (time<tiempo)

%CALCULO DE LA TRAYECTORIA

%knock line if (Xpelotaini-Xini)<1.5 Knockdist=0.5; %distancia para coger carrerilla para golpear al objetivo else Knockdist=1; %distancia para coger carrerilla para golpear al objetivo end a=-(cos(tetaf)/sin(tetaf)); b=Ypelotaini-a*Xpelotaini;

%Attack point Kx=Knockdist*sin(tetaf); Ky=Knockdist*cos(tetaf);

Attx=(Xpelotaini-Kx); Atty=(Ypelotaini+Ky);

Page 113: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-112-

x2=Attx:abs((Attx-Xpelotaini)/50):Xpelotaini; for n=1:length(x2) y2(n)=a*x2(n)+b; end

%Approximation line

aappr=((Yini-Atty)/(Xini-Attx)); bappr=(Atty-(((Yini-Atty)/(Xini-Attx))*Attx));

x1=Xini:abs((Xini-Attx)/200):Attx; for n=1:length(x1) y1(n)=aappr*x1(n)+bappr; end

%generacion trayectoria

X=[x1 x2]; Y=[y1 y2];

[lasttime,x,y]=sim('ControlGeometrico_10',muestreo); %simulacion cinematica

figure(30) plot(X,Y,'r') hold on plot(Xc,Yc,'g') hold on figure (30) plot(Xobj,Yobj) hold on

%actualizacion variables temporales Ili=x(length(x), 7); Wal=x(length(x), 1); PIl=x(length(x), 11);

Iri=x(length(x), 6); War=x(length(x), 3); PIr=x(length(x), 10);

Yini=x(length(x), 2); Xini=x(length(x), 4); Phiini=x(length(x), 5); Xpelotaini=x(length(x), 8); Ypelotaini=x(length(x), 9);

time=time+muestreo;

Wlant=[Wlant; Wl]; Wrant=[Wrant; Wr];

end

figure(20) plot (Wlant) hold on figure(20) plot (Wrant,'r') grid on Hold on grid on

Page 114: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-113-

Este código divide los trabajos a realizar en varias clases:

• Observación de la posición del robot y de objetivo.• Cálculo de los parámetros de la trayectoria a partir de los datos obtenidos.• Simulación de la trayectoria (ejecución del control)• Actualización de las variables del sistema.• Vuelve a ejecutar cada tiempo de muestreo….

Este sistema de subdivisión de las tareas mediante programación estructurada, es muy útilpara la hora de programar. Es muy fácil realizar una base de tiempos que se encargue deejecutar cada una de las tareas programadas obteniendo de esta forma un sistemaplanificable.

Las trayectorias se generan a cada de tiempo de muestreo, por lo que es muy importantedetermina el valor necesario para que el sistema sea estable. Nosotros hemos tomado untiempo de muestreo de 2 segundos, ya que de esta forma se puede ver la evolución delsistema a medida que se suceden las muestras.

3.6.5.1,- Resultado Simulaciones

Para ver el comportamiento al seguimiento de un punto objetivo en movimiento, hemosrealizado varias simulaciones variando las condiciones de funcionamiento y lastrayectorias que siguen los objetivos móviles. Hay que considerar que todas lassimulaciones que hemos realizado son en dirección positiva en el eje X. Sucomportamiento en el sentido opuesto es el mismo, pero hay que variar los valores de lossignos del generador de trayectorias. Esta tarea es sencilla, y se soluciona mediante unasentencia condicional que funciona como una máquina de estados. Lo mismo sucede enalgunos casos excepcionales, dónde el robot se encuentra muy cerca del objetivo. Nosotroshemos introducido una modificación en el código del programa del apartado 3.6.5 para quecuando el robot se encuentra cerca del objetivo la ‘knock line’ sea más pequeña quecuando se encuentra lejos. Esto mejora la trayectoria que sigue el móvil a medida que seacerca a su objetivo.

La primera simulación que hemos realizado en este apartado es la que mostramos en lailustración 116. En este caso el objetivo tiene un movimiento en sentido noreste, y el robotintenta alcanzarlo siguiendo una trayectoria generada cada 2 segundos. El tiempo desimulación es de 4*muestreo, y el ángulo que sigue el objetivo es de p/5. El ángulo dellegada es de 60º.Obsérvese que el robot genera las trayectorias a partir de la posiciónactual del objetivo, por lo que no alcanzará nunca su objetivo, pero es capaz de modificarla trayectoria a seguir en función de la posición temporal del objetivo.

Page 115: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-114-

Ilustración 116. Respuesta a objetivo móvil trayectoria rectilínea oblicua.

En la segunda iteración de nuestro controlador de posición hemos realizado el seguimientoa una trayectoria rectilínea que se mueve en dirección noroeste. En éste caso hemos heco lasimulación en un tiempo de 5*muestreo. Los ángulos de llegada son de 60º y el de latrayectoria del objetivo de - p/5. Es interesante observar que al acercarse al punto objetivocambia la recta ‘knoc line’ para que su llegada sea más suave. Obsérvese el resultado en lailustración 117.

Ilustración 117. Respuesta a objetivo móvil trayectoria rectilínea oblicua inversa norte.

Siguiendo la tónica de las anteriores simulaciones, en la ilustración 118 observamos elcomportamiento cuando el objetivo se mueve con una trayectoria suroeste. Para que elrobot sea capaz de llegar a su objetivo, hemos necesitado un tiempo de simulación de6*muestreo, y el resultado, al igual que en el caso anterior se ha optimizado para lograr unatrayectoria más suave en el punto de llegada. En la representaciones de los valores decontrol de cada una de las ruedas, puede observarse como se produce el giro horario,excepto cuando alcanza su objetivo, momento en el que se invierten los valores y secambia el giro a antihorario. El resultado es una trayectoria hiperbólica que realiza elseguimiento hasta su objetivo final.

Page 116: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-115-

Ilustración 118. Respuesta a objetivo móvil trayectoria rectilínea oblicua inversa sur.

Si lo que queremos es realizar el seguimiento a un objetivo móvil que se desplaza endirección vertical o sur. En éste caso la simulación ha durado 3,5*muestreo. El resultadosigue siendo bueno, y alcanza su objetivo de la misma manera que en los casos anteriores.

Ilustración 119. Respuesta a objetivo móvil trayectoria rectilínea sur.

Para comprobar el comportamiento cuando la trayectoria varía en el tiempo, hemosgenerado un movimiento del objetivo como el que se muestra en la ilustración 120. Eltiempo invertido para la realización de la simulación ha sido de 4*muestreo, y como sepuede comprobar la evolución del sistema ha sido la esperada.

En todas las simulaciones anteriores, el robot siempre va una muestra por detrás delobjetivo, por lo que es imposible que el móvil llegue a golpear al objetivo. Será necesariorealizar modificaciones en el cálculo de la trayectoria para que sea posible llegar sobre delobjetivo. De la misma forma que si tenemos que darle a un balón de fútbol, hay quepredecir las condiciones de llegada al objetivo para darle la pegada.

Todas las respuestas obtenidas se mejoran mediante una máquina de estados que cambia enfunción de las condiciones temporales. En todo caso, las modificaciones introducidas enéstos últimos sistemas han mejorado sustancialmente los resultados, ya que sino,podríamos encontrarnos con problemas en la ejecución de ciertos ángulos de giro que noson posibles por las condiciones del terreno.

Page 117: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-116-

Ilustración 120. Respuesta a objetivo móvil trayectoria rectilínea truncada.

3.6.6,- Método Estadístico Para la Predicción de la Posición del Objetivo

Tal y como comentábamos en el apartado anterior, hemos realizado un algoritmo decálculo estadístico para la predicción del aposición del objetivo, cuando éste sigue unatrayectoria definida.

Al igual que en los sistemas reales, para hacer una acción hay que predecir las variablesdesconocidas que la afectan. El ser humano realiza predicciones de movimientos paraanticiparse a lo que pueda suceder. En el caso de un coche, si vamos a adelantar a unvehículo y viene otro por el sentido contrario, hay que predecir en que posición seencontrarán los vehículos en el momento del adelantamiento, para evitar la colisión. Ennuestro caso sucede lo mismo, y por este motivo hemos desarrollado éste método.

Para realizar esta operación hemos utilizado la función ‘polyfit’ de Matlab. Ésta instruccióngenera un polinomio de grado n, igual como el que mostramos en la ecuación 163, a partirde dos vectores con los valores a colocar en la expresión..

Ecuación 163. Función polinómica

En nuestro caso, utilizamos un grado de la ecuación=5. Hay que tener en cuenta quecuando hay pocos valores para predecir la trayectoria, el número del grado de la expresión163 será menor a 5, por lo que 5 es el valor máximo.

La instrucción ‘polyfit’ utiliza la forma matricial de Vandermonde, cuyos elementos sonpotencias de x (ecuación 164).

Ecuación 164.

Con el resultado de la linealización, aplicaremos el valor predecido al cálculo de lageneración de la trayectoria.

Page 118: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-117-

El código de Matlab para predecir la posición del objetivo es el siguiente:

%PREDICCION DE TRAYECTORIA

if time_acumulado==0Xprevisto=Xpelotaini;Yprevisto=Ypelotaini;

Elseif (length(time_acumulado)-1)>5

orden_polinomio=5 %orden del polinomio maximo else orden_polinomio=length(time_acumulado)-1; %orden del polinomio end

orden_polinomio=length(time_acumulado)-1; %orden del polinomio [Coef_x] = polyfit(time_acumulado,Xacumuladas,orden_polinomio); %cal. de x [Coef_y] = polyfit(time_acumulado,Yacumuladas,orden_polinomio); %cal. de y time_previsto=time+muestreo; for counter=0:orden_polinomio

Xprevisto_acumulativo=Coef_x(counter+1)*time_previsto^(orden_polinomio-counter);

Xprevisto=Xprevisto+Xprevisto_acumulativo;

Yprevisto_acumulativo=Coef_y(counter+1)*time_previsto^(orden_polinomio-counter);

Yprevisto=Yprevisto+Yprevisto_acumulativo;End

Éste algoritmo de cálculo no mira en ningún caso la dinámica ni la cinemática del objetivoa alcanzar. Se basa en un sistema de linealización polinomial, que a partir de los vectoresde entrada obtiene unos coeficientes de proporcionalidad de un polinomio. Éste sistema esmuy útil porque no es necesario un modelo muy preciso del objeto a alcanzar, ya quemientras no aparecen fuerzas exteriores que modifiquen la dinámica del sistema, latrayectoria que seguirá el objetivo será matemáticamente realizable.

3.6.6.1,- Resultados Simulación

La predicción de la posición del móvil mediante técnicas estadísticas, es un método queproduce errores en función del número de parámetros a analizar. Por este motivo hay que ircon mucho cuidado a la hora de resetear el polinomio calculado, ya que cada vez que semodifican las variables de estado del objetivo móvil, se produce una variación brusca delmodelo que no seríamos capaces de detectar. Por este motivo es importante detectar lasmodificaciones introducidas externamente sobre el objetivo. Es en este preciso momentoen el que hay que reiniciar el proceso estadístico de predicción de trayectorias.

Éste sistema no asegura la obtención del resultado deseado, pero si su aplicación se hacecoherentemente, se pueden obtener resultados muy buenos, como los que vamos a mostrar.

En la ilustración 121 hemos realizado el seguimiento a una trayectoria rectilínea condirección norte. En éste caso el comportamiento del sistema es muy preciso. Lastrayectorias rectilíneas son las más fáciles de predecir.

Page 119: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-118-

Ilustración 121. Respuesta a objetivo móvil trayectoria rectilínea norte.

En 9 muestras llegamos a alcanzar el objetivo final, alcanzándolo con total precisión. Undetalle importante es el hecho que inicialmente no conoce cual va a ser el comportamientodel objetivo, pero en la siguiente muestra logra mejorar la situación y a partir de la terceramuestra la predicción es totalmente certera.

Ilustración 122. Respuesta a objetivo móvil trayectoria rectilínea oblicua inversa norte.

En la ilustración 122 hemos simulado el movimiento del objetivo cuando lleva direcciónnoreste. Al igual que en el caso anterior, las trayectorias rectilíneas son fácilmentepredecibles, ya que el grado de una trayectoria recta es igual a 1. La trayectoria mejorasustancialmente los resultados del apartado anterior.

Por último hemos introducido una curva de grado 2, como es el caso de una circunferencia.En la ilustración 123 podemos ver como a partir de la cuarta muestra el sistema empieza aacercarse al objetivo buscado. En el punto final, se consigue obtener el resultado degolpear el objetivo prediciendo la posición a la que se debería de encontrar.

Como se ha podido comprobar, los resultados obtenidos han sido muy buenos, ysuficientes como para determinar la posición del objetivo móvil.

Page 120: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-119-

Ilustración 123. Respuesta a objetivo móvil trayectoria curva.

3.6.7,- Conclusiones a Cerca del Controlador de Posición

Hemos analizado el comportamiento del robot bajo ciertas condiciones físicas supuestas.Es muy interesante el aplicar controles de velocidad con una buena respuesta, para que lasconsignas de velocidad se cumplan lo antes posible, y así evitar problemas en el transitorioque se produce desde el momento en que se quiere hacer una actuación hasta que ésta sematerializa. El ritmo de ejecución de las consignas de velocidad marcará el ritmo delcontrol de posición.

El control de posición utilizado, que tiene características geométricas, es muy interesantepor la sencillez con que se puede implementar. Los sistemas con restricciones cinemáticas,como las del tipo tracción diferencial, controlan tres grados de libertad mediante dosconsignas de control. Por este motivo no son posibles todos los movimientos. Además esnecesario el imponer el valor de la velocidad lineal para conseguir el giro necesario delrobot. El elemento que provoca más carga de procesado en el controlador es el cálculo delpunto a la distancia ‘L’, y éste a su vez está muy relacionado con el sistema que se utilizapara entregar la trayectoria al robot.

Las mejoras introducidas en el cálculo de la trayectoria y el controlador de posición,provocan que los resultados sean útiles para su implementación física. El punto débil delmodelo robot reside en la influencia de la masa del robot y las inercias que en él aparecen.El estudio dinámico que se explica en el anexo, viene a paliar esta carencia, con lo que sepretende mejorar el comportamiento dinámico global. Se deja para futuras etapas un tercerlazo de control de pares que evitan los derrapes, punto clave para la utilidad comercial delrobot físico.

Otras mejoras en el sistema de control se encuentran en los algoritmos de la máquina deestado que se introducen en el planificador. Nosotros hemos superado todas las dificultadesque pueden ser objeto de análisis en una plataforma virtual, pero efectos como lasirregularidades en el terreno, no linealidades físicas de los equipos supuestos lineales,pueden necesitar de una actuación a parte de las calculadas en el proyecto.

Por último, el método estadístico de predicción de la posición del objetivo a alcanzar esuna buena herramienta para lograr alcanzar a nuestro objeto por dos motivos. El primero es

Page 121: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-120-

la facilidad de implementación, y el segundo son los pocos recursos utilizados para lograrun objetivo que las personas realizan con facilidad en la vida diaria, pero que son muycomplicados de realizar artificialmente. Otra mejora que proponemos es la utilización deredes neuronales y lógica fuzzy para la predicción de la trayectoria del objetivo.

En conclusión, consideramos que los resultados obtenidos son muy buenos, y su aplicaciónes factible. Todas las simulaciones han respondido muy bien, y los resultados numéricoscorresponden al modelo matemático propuesto. Su aplicación en los robots futbolistas delDEEEA queda pospuesta para futuros proyectos.

4,- Planificación de Tareas del Sistema de Control

Para poder llevar a cavo la aplicación práctica de los controladores estudiados en ésteproyecto, hemos creído conveniente desarrollar los diagramas de bloques de cada una delas tareas que se desarrollan en el proceso de control. La ilustración 124 es el diagrama debloques general del sistema de control. Los bloques con el perímetro marcado a trazos sonlos elementos fijos a controlar, mientras que los demás bloques son tareas a desarrollar porel controlador.

Ilustración 124. Sistema de control

Para el perfecto funcionamiento del sistema, es necesario realizar una programaciónestructurada, de tal forma que el control sea planificable. Eso quiere decir que frente acualquier eventualidad que se pueda producir sobre el sistema, cada uno de loscontroladores responda en un tiempo máximo que no supere al planificado.

Los elementos que necesitan más esfuerzo computacional serán aquellos que requierenmayor número de operaciones matemáticas como son la predicción de la posición delobjetivo y, el controlador de posición y la cinemática directa para el cálculo de la posición

Predicción deposición objetivo

PlanificadorTrayectorias

CinemáticaObjetivo

Controlde

Posición

MotorIzquierdo

ControlPI

Motorderecho

ControlPI

CinemáticaRobot

Encoder

Encoder

L

Page 122: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-121-

del robot. Por lo contrario, los controladores PI de velocidad de los motores y el cálculo dela velocidad por los encoders, no requieren demasiada carga computacional.

La ilustración 125 muestra el diagrama de bloque a seguir por el sistema de control deposición. Éste bloque se corresponde con el control deposición de la ilustración 124, ycomo se puede ver, sus entradas son la trayectoria a seguir calculada por el planificador detrayectorias, la posición en el plano del robot móvil más su orientación, y el parámetro ‘L’o ‘loock ahead’, que será el que marque la evolución dinámica del sistema de control deposición.

Ilustración 125. Planificación de tareas del control de posición

El controlador de posición será el bloque encargado de calcular los valores de control paraque el sistema siga una trayectoria predeterminada. La tarea que requiere más cargacomputacional en el cálculo del índice K que representa el punto de la trayectoria calculadaque se encuentra a una distancia L del robot.

Los cálculos de ? x, el radio de curvatura y los valores de control Wleft y Wright, sonoperaciones sencillas de multiplicación, las cuales no requieren demasiada cargacomputacional. La frecuencia máxima de muestreo a la que el robot sea capaz de realizarésta operación, marcará el ritmo evolutivo del sistema, y su tiempo de muestreo estarácomprendido entre los 0,5 segundos y los 2 segundos del cálculo de la trayectoria.

De la misma forma que en el control de posición, la predicción de la posición del puntoobjetivo es de una elevada carga computacional. Las operaciones de linealizaciónrequieren de equipos con capacidad de realizar operaciones complicadas. Es posible que

Cálculo Índice KTarea 1

Cálculo ? x

Cálculo rádio decurvatura

Valor de controlde Wleft

Valor de controlde Wright

Tarea 2

Tarea 3

Tarea 4

Tarea 5

Se calcula el índice del punto de latrayectoria generada que se encuentra auna distancia L del robot.

Se calcula la distancia que separa latrayectoria a seguir del robot móvil.

A partir de la distancia ? x calculamos elradio de curvatura necesario para llegaral punto de la trayectoria con índice K

Calculamos el valor de control de larueda izquierda para una velocidad linealdeterminada.

Calculamos el valor de control de larueda derecha para una velocidad linealdeterminada.

Control deposición

Tarea nºDescripción Explicación

Tar

eas

a re

aliz

ar

Page 123: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-122-

sea necesaria la utilización de un microcontrolador especializado en la realización de éstatarea.

Ilustración 126. Planificación predicción de trayectoria objetivo

Hemos estimado que pueden ser necesarios 2 segundos de tiempo de muestreo para larealización de ésta tarea. La operación de cálculo de la posición del objetivo mediantetécnicas estadísticas, debe realizarse justo en el instante de tiempo anterior al cálculo de latrayectoria, para así de ésta manera adelantarse al punto donde se encontrará el objetivo. Lavariable tiempo que se usa para la realización de la linealización, puede incrementarse losuficiente con el objetivo de prever la posición del objetivo en el momento de ejecucióndel control de posición. De esta manera, una vez conocido el valor del tiempo de muestreodel control de velocidad y posición, nos anticipamos a una situación futura.

La ilustración 126 muestra el diagrama de bloque del sistema de predicción de la posicióndel objetivo. Las tareas 4 y 5 son las que requieren una mayor carga computacional, ycorresponden a la linealización de las ecuaciones en función del tiempo de cada uno de losejes, mientras que las tareas 6 y 7 son operaciones algebraicas de un polinomio de gradocinco, por lo que también necesitan de mucho cálculo.

Predicción deposición objetivo

Posición actualobjetivo

Linealización ejeY

Matriz de posiciónobjetivo

Matriz de tiempos

Linealización ejeX

Tarea 1

Tarea 2

Tarea 3

Tarea 4

Tarea 5

Tarea nºDescripción

Predicciónposición en tn ejeX Tarea 6

Explicación

Medición de la posición actual delobjetivo a alcanzar por el robot

Tar

eas

a re

aliz

ar

Generamos una matriz con todas lasposiciones de la trayectoria que sigue elobjetivo a alcanzar

Se genera una matriz con los tiemposque corresponden a cada una de lasposiciones del objetivo a alcanzar.

Linealizamos la posición en el eje X enfunción del tiempo

Linealizamos la posición en el eje X enfunción del tiempo

Con los polinomios obtenidoscalculamos la posición en que deberíaestar el objetivo para un t=tn para eje X.

Predicciónposición en tn ejeY Tarea 7

Con los polinomios obtenidoscalculamos la posición en que deberíaestar el objetivo para un t=tn para eje Y.

Page 124: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-123-

El tercer bloque que vamos a estudiar, es el planificador de trayectorias. Todas lasoperaciones que se realizan en éste bloque son sencillas. La operación más complicada esla suma de productos utilizada para calcular los parámetros de las rectas ‘knock line’ y dela línea de aproximación.

Ilustración 127. Planificación planificador de trayectoria objetivo

La ilustración 127 se describe las tareas principales de éste bloque. El resultado final sonlos puntos de la trayectoria a seguir para lograr alcanzar la posición que se prevé que seencontrará el objetivo en el instante calculado.

Habrá que verificar entonces que en la ecuación 165 el tiempo de muestreo entregado parala resolución del controlador de velocidad sea superior a la suma de los tiempos máximosde cada una de las tareas a realizar, o lo que es lo mismo, que no se superen nunca los 50ms del muestreo del controlador.

PIrPIlencrenclv ttttt +++≥ Ecuación 165donde: tv=tiempo del controlador de velocidad.

tencl=tiempo del encoder izquierdo. tencr=tiempo del encoder derecho. TPIl=tiempo del controlador PI izquierdo. TPIl=tiempo del controlador PI derecho.

Para el controlador de posición se deberá introducir el término calculado en la ecuación165, y el resultado será el de la ecuación 166. Nosotros hemos utilizado un muestreo de 2segundos.

PlanificadorTrayectorias

Generación ‘knockline’

Attack point

Línea deaproximación

Generacióntrayectoria

Tarea 1

Tarea 2

Tarea 3

Tarea 4

Tarea nºDescripción Explicación

A partir de los valores de posición delobjetivo y del robot se genera la recta‘knock line’

Tar

eas

a re

aliz

ar

Se calcula el punto donde se realiza elcambio de orientación del robot a unadistancio ‘knock dist’.

Se calcula la línea de aproximación a la‘knock line’ a partir de la posición delrobot y del ‘attack point’

Se genera un vector de puntos con lascaracterísticas del ‘knock line’ y la líneade aproximación.

Page 125: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-124-

cineptgtcposvpos tttttt ++++≥ Ecuación 166

donde: tpos=tiempo del controlador de pos. Tv= tiempo del controlador de velocidad. Tcpos=tiempo del calculo del controlador de posición. Tgt=tiempo del generador de trayectorias. Tpt=tiempo de la predicción de posición objetivo. Tcine=tiempo de cálculo de la cinemática directa.

5,- Conclusiones Finales.

A lo largo del proyecto hemos desarrollado una serie de apartados que describen el sistemade control de posición.

Inicialmente, hemos obtenido un modelo en forma de función de transferencia de todas laspartes mecánicas del modelo físico. Hemos considerado el motor libre de carga, y hemosvalidado el modelo comparándolo con las características experimentales entregadas por elfabricante. No hemos modelado las no linealidades, pero son conocidas, y se han tenido encuenta para futuras simulaciones.

En el capítulo 3.3, hemos discretizado el modelo calculado y comprobado, poniendoénfasis en el tiempo de muestreo que es capaz de asumir el sistema. El modelo final es deprimer orden a pesar de que el modelo real sea de orden superior. Este hecho es importantea la hora de la simplificación de los cálculos realizados (el polo dominante debido alcircuito mecánico domina sobre la evolución del circuito eléctrico).

Para diseñar el control de velocidad, se han analizado diferentes técnicas de control, y seha optado por un método de cancelación de polos al ser el que ofrece una mejor respuestatemporal y frecuencial.

Para poder diseñar el control de posición se ha realizado un modelo cinemático del robot.Se ha podido comprobar que el modelo cinemático se complica si el punto de referencia noes el del centro de masas, por este motivo se ha optado por el modelo basado en el centrode masas con restricciones no holonómicas.

Hemos optado por utilizar métodos geométricos para realizar el control de posición. Estemétodo utiliza el cálculo del radio de curvatura para hacer el seguimiento de unatrayectoria deseada.

Se ha visto que este método funciona bien tanto en trayectorias rectilíneas comocurvilíneas.

Como aplicación de este controlador se ha escogido el seguimiento de una pelota enmovimiento como objetivo móvil. De esta forma, el objetivo en esta aplicación es llegar ala pelota con una dirección específica (para chutarla).

Page 126: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-125-

Se han probado diferentes tipos de movimientos de la pelota, y mediante un método decálculo estadístico predecimos la posición más probable en la que se puede encontrar lapelota.

Los resultados que se han obtenido prueban la viabilidad de esta metodología para larealización de un sistema de control de posición para un robot móvil que utiliza la traccióndiferencial como medio de locomoción.

6,- Bibliografía

1. ROBÓTICA . Manipuladores y robots móviles.Editorial: MARCOMBO.Autor: Aníbal Ollero Baturone.

2. MECÁNICA para INGENIEROS. DINÁMICA. 4ª edición.Editorial: PRENTICE HALL.Autor: Irving H. Shames.

3. MECÁNICA para INGENIEROS. DINÁMICA. 4ª edición.Editorial: REVERTÉ, S.A..Autores: J.L. Meriam; L. G. Kraige

4. FÍSICA CLÁSICA Y MODERNAEditorial: Mc GRAW HILL.Autores: W. Edward Gettys; Frederick J. Keller; Malcom J. Skove.

5. INGENIERÍA DE CONTROL MODERNA. 3ª edición.Editorial: PRENTICE HALL.Autor: Katsuhiko Ogata

6. SISTEMAS DE CONTROL AUTOMÁTICO. 7ª EdiciónEditorial: PRENTICE HALL.Autor: Benjamín C. Kuo.

7. PLANNING AND MODEL-BASED CONTROL FOR MOBILEMANIPULATORSDepartment of Mechanical Engineering.National Technical University of Athens.Autores: Evangelos Papadopoulos; John Poulakakis.

8. A TUTORIAL AND ELEMENTARY TRAJECTORY MODEL FOR THEDIFFERENTIAL STEERING SYSTEM OF ROBOT WHEEL ACTUATORSThe Rossum ProjectAutor: G. W. Lucase-mail: [email protected]

9. A COORDINATION STRATEGY FOR MOBILE MANIPULATION.LAAS-CNRS, Toulouse, France.Autores: Bernad Bayle; Jean-Yves Fourquet; Marc Renaud.e-mail : [email protected]; [email protected]; [email protected]

10. TRAJECTORY PLANNING IN DYNAMIC WORKSPACE : A ‘STATE-TIMESPACE’ APPROACH. Octubre 1998.Institut National de Recherche en Informatique et en Automatique.Autor: Thierry Fraichard

Page 127: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial MEMORIA

-126-

11. AN INTRODUCTION TO WHEELED MOBILE ROBOT KINEMATIC ANDDYNAMICS.University of Lecce.Department of Innovation EnginneringAutor: Giovanni Indiveri.e-mail: [email protected]

12. COMAMANDE ROBUSTE ET COORDINATION DE MOUVEMENTS DEROBOTS MOBILES.Laboratoire d’Analyse et d’Architecture des Systèmes du CNRSDoctorat de l’Université Paul Sabatier de Toulouse.Autor : Luis Eduardo AGUILAR MELO.

13. DATA SHEET DE MAXON MOTORMaxon Precision Motors, inchttp://www.maxonmotorusa.com

14. PFC: ROBOT AUTÓNOMO MÓVILAutor: Joaquín López Maroñas.Departament d’Enginyeria Electrònica, Elèctrica i AutomàticaEscola Tècnica Superior D’enginyería (ETSE). URV (Tarragona)

15. PFC: “ESTUDI SOBRE LA IMPLEMENTACIÓ D’ALGORITMES DECONTROL DEL MOVIMENT D’UN ROBOT MÓVIL”.Autor: Carlos González Barberán.Departament d’Enginyeria Electrònica Elèctrica i AutomàticaEscola Tècnica Superior D’enginyería (ETSE). URV (Tarragona)

16. APUNTES DE LAS ASIGNATURAS INGENIERIA DE CONTROL I y IIIngenieria en automática y electrónica industrial.Escola Tècnica Superior D’enginyería (ETSE). URV (Tarragona)Autor: Luis Martínez Salamero

17. NATIONAL ROBOTICS ENGINEERING CONSORTIUMhttp://www.rec.ri.cmu.edu

18. CONROLLABLE KINEMATIC REDUCTIONS FOR MECHANICALSYSTEMS: CONCEPT, COMPUTATONAL TOOLS AND EXAMPLES.Francesco Bullo ([email protected]), Andrew D. Lewis ([email protected]), KevinM. Lynch ([email protected]).

19. KINEMSTIC DESINGN AND CONTROL OF A MOBILE ROBOTA. Segovia, M. Garduño, A. Díaz.

20. DIGITAL CONTROL OF DYNAMIC SYSTEMSEditorial: Addison-Wesley Publishing CompanyAutores: Gene F. Franklin, J. David Powell, Michael L. Workman

21. PID CONTROLLERSControl engineering by Dr. Lik-Kin Wong.

22. SISTEMAS DE CONTROL EN TIEMPO DISCRETO. 2ª edición.Editorial: Prentice Hall Hispanoamericana.Autor: Katsuhiko Ogata

Page 128: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un RobotMóvil con Tracción Diferencial

ANEXOS

AUTORS: Alberto Bañó Azcón.DIRECTOR: Albert Oller Pujol.

DATA: 06 / 2003

Page 129: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 2 -

ANEXOS

0,- ÍNDICE

0,- ÍNDICE ....................................................................................................................... 21,- Modelo Dinámico del Robot Móvil. ............................................................................. 3

1.1,- Análisis Dinámico de Lagrange-Euler. .................................................................. 31.2,- Cálculo de la Inercia del robot ............................................................................... 8

1.2.1,- Definición formal de las magnitudes de inercia............................................... 81.2.2,- Cálculo del momento de inercia del robot móvil ........................................... 10

2,- MODELOS DE MICROBOTS .................................................................................. 112.1,- La Microbótica.................................................................................................... 112.2,- Foros y Certámenes: Panorama internacional....................................................... 122.3,- Modelos de Microbots: el PICBOT-1 .................................................................. 152.4,- Foros y Certámenes: Normativa de Concursos..................................................... 162.5,- Modelos de Microbots: el GrowBot..................................................................... 172.6,- Modelos de Microbots: prueba de rastreadores .................................................... 192.7,- Modelos de Microbots: estructuras ...................................................................... 202.8,- El PICBOT-2 ...................................................................................................... 212.9,- Foros y certámenes: Universidades...................................................................... 222.10,- Modelos de Microbots: Apocalipsis PIC............................................................ 242.11,- Foros y certámenes: combates de sumo ............................................................. 262.12,- Modelos de Microbots: el Tritt .......................................................................... 282.13,- Modelos de Microbots: el PICTAZO................................................................. 302.14,- Cuando lo lúdico se convierte en paráctico ........................................................ 312.15,- Modelos de Microbots: el CÍCLOPE ................................................................. 322.16,- Prueba libre ....................................................................................................... 342.17,- El generador de mapas....................................................................................... 352.18,- Hacia un único concurso.................................................................................... 362.19,- Hexápodo.......................................................................................................... 372.20,- Preparación de una prueba ................................................................................. 38

3,- Contenido del DVD-ROM ......................................................................................... 40

Page 130: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 3 -

1,- Modelo Dinámico del Robot Móvil.

1.1,- Análisis Dinámico de Lagrange-Euler.

El estudio de la dinámica de los vehículos con ruedas, hace necesario considerar tanto ladinámica del chasis del vehículo como la integración con el terreno. Éste método se basaen una interpretación de la energía involucrada en el móvil.

Los vehículos convencionales tienen sistemas de tracción y direccionamientorelativamente desacoplados que suelen aproximarse por modelos linealizados de primer osegundo orden.

Aplicando directamente las ecuaciones de movimiento de Lagrange, no podemos hallar ladinámica del sistema mecánico sujeto a restricciones no holonómicas.

El sistema que estamos estudiando se encuentra sujeto a una única restricción de noholonomia, que es la expuesta en la ecuación 1. Esta ecuación, llamada restricción dePfaffian, se puede escribir de la forma:

0)( =•

qqA Ecuación 1

Donde:

[ ]00)( IGCosSinqA ϕϕ −= Ecuación 2

•••••=

θθϕ rlCCq YXT

Ecuación 3

Si esta expresión es integrable, estamos ante una restricción holonómica, si no esintegrable, estamos ante una restricción de no holonomía.

Para derivar las ecuaciones del movimiento del sistema móvil, primero hallamos ),(•

qqLexpresado de la forma:

∂−

∂= •

q

L

q

Ldtdτ Ecuación 4

Esto representa el sistema sin restricciones dinámicas de un sistema conservativo.

El Lagrangiano expresado como L=K-P, dónde K es la energía cinética total del sistema yP es la energía potencial, obtenemos:

Page 131: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 4 -

TJYXm mCC

L +•

+

•+•= ϕ2

0

22

0 21

21

Ecuación 5

Donde:m0 masa de la plataformaJ0 inercia de la plataformaTm Par motor

Vamos a añadir las restricciones de fuerza en los términos de la entrada en las ecuacionesde movimiento del sistema no holónomo. Esto lo haremos añadiendo el término debido a larestricción de Praffian de forma que:

λξλ τ )(:),( qqq AT

res−=∃

Ecuación 6

Si usamos las ecuaciones 4 y 6, las restricciones dinámicas se definen entonces como:

0)( =−+

∂−

∂•• ξλqq

L

q

Ldtd

ATEcuación 7

Siendo:

=

θθϕ rlCCq YX

T

Ecuación 8

Las coordenadas generalizadas, ? es el multiplicador de Lagrange, que corresponde a lasfuerzas restringidas y ? representa las fuerzas exteriores aplicadas. La forma de lascolumnas de AT es una base no normalizada para estas fuerzas.

Si expresamos la ecuación 5 en términos de coordenadas generalizadas y sustituimos elresultado en la ecuación 7 el sistema de ecuaciones del movimiento queda de la forma:

λ)()(),()( qTqEqqVqqM AT−=+•••

Ecuación 9

Donde M(q) es la matriz de inercia de 5x5, ),(•

qqV es el vector de velocidad dependientede las fuerzas de (5x1), T=(Tl Tr)T es el par bidimensional de las ruedas derecha eizquierda, E(q) es una matriz de transformación de la entrada de (5x2) y ? es elmultiplicador de Lagrange.

Ya habíamos visto que la cinemática del sistema puede definirse de la forma:

Page 132: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 5 -

)()( tqSq v••

⋅= Ecuación 10

Si consideramos las restricciones cinemáticas contenidas en A(q), y tenemos en cuenta el

vector •

q definido al principio, podemos hallar S(q). Para ello es necesario definir )( tv•

.Démonos cuenta que el sistema solo depende de dos entradas, por lo que las variables decontrol serán:

T

rl

tv

••=

θθ)( Ecuación 11

Por lo tanto:

++

−+

=⋅⋅

⋅⋅

1001

22

22

)(

br

br

Cosb

Sinr

Cosb

Sinr

Sinb

Cosr

Sinb

Cosr

qSIrIr

IrIr

GG

GG

ϕϕϕϕ

ϕϕϕϕ

Ecuación 12

Esta matriz contiene la base de los vectores nulos de A. La elección de esta base esimportante y asigna a las diferentes velocidades un sentido físico, de forma tal querelaciona las variables de estado con las entradas.

Ahora queremos hallar la relación que existe entre los pares de entrada al sistema y lasaceleraciones de las dos salidas (necesario para encontrar la velocidad de las ruedas). Paraello vamos a diferenciar la ecuación 10. De esta forma, podemos sustituir en la ecuación 9

••

q . Premultiplicamos por ST y hallamos:

)()()()( tvqStvqSq••••

+= Ecuación 13

τEVtvSMtvMS SS TT =++••••

))()(( Ecuación 14

Podemos ver que el término STAT(q)? desaparece de la ecuación. Esto es motivado a que)(AS N∈ . Simplificando, la ecuación 14 la podemos escribir como:

τEVM v *** =+••

Ecuación 15

Donde:

SMSM T=*Ecuación 16

Page 133: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 6 -

))((* VtvSMSV T +=••

Ecuación 17

ESET=*

Ecuación 18

Ahora solo queda expresar esta ecuación 15 de una forma más útil para poder trabajar conella en los modelos. Si despejamos las aceleraciones, y las dejamos en función de los paresentregados, la ecuación dinámica del movimiento del móvil queda:

Tv EMVM*1*1 ** −−••

+−= Ecuación 19

Si calculamos M a partir del Lagrangiano, teniendo en cuenta que el centro de masas estálo suficientemente próximo al centro de gravedad, obtenemos el resultado de:

=

II

w

w

Im

m

qM

00000000000000000000

)( Ecuación 20

y

=•

00000

),( qqV Ecuación 21

La matriz de transformación de la entrada E(q) hace que la dependencia de la dinámica delmóvil solo sea dependiente de los pares de entrada que son los generadores de energía.Esta matriz será entonces:

=

1001000000

)(qE Ecuación 22

Por lo que el cálculo se M* será:

Page 134: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 7 -

++

−+

+−

−++=

⋅⋅

⋅⋅

⋅⋅

⋅⋅∗

1001

22

22

00000000000000000000

1022

0122

br

br

Cosb

Sinr

Cosb

Sinr

Sinb

Cosr

Sinb

Cosr

Im

m

br

Cosb

Sinr

Sinb

Cosr

br

Cosb

Sinr

Sinb

Cosr IrIr

IrIr

IIIrIr

IrIrM

GG

GG

w

wGG

GG ϕϕϕϕ

ϕϕϕϕ

ϕϕϕϕ

ϕϕϕϕ

+⋅+⋅+⋅

+⋅+⋅+⋅

=

⋅+

⋅−

⋅+

⋅+

Ibr

CosbIrSin

rSin

bIrCos

r

Ibr

CosbIrSin

rSin

bIrCos

r

Mw

w

ImGmG

ImGmG

222

222

22

22

ϕϕϕϕ

ϕϕϕϕ

Ecuación 23

Si ahora calculamos la inversa de la ecuación 23, obtenemos:

+⋅+⋅+⋅−+⋅+⋅+⋅=∗

⋅+

⋅+

⋅+

⋅−−

Ibr

CosbIrSin

rSin

bIrCos

rI

br

CosbIrSin

rSin

bIrCos

rM ww

ImGmGImGmG222222

1

2222ϕϕϕϕϕϕϕϕ

Ecuación 24

Teniendo en cuenta que S(q) no depende del tiempo, ya que no consideramosdeformaciones en las dimensiones del móvil, las condiciones iniciales solo dependen de Vy ahora son:

+⋅+⋅+⋅

+⋅+⋅+⋅

=

⋅+

⋅−

⋅+

⋅+

θ

θ

ϕϕϕϕ

ϕϕϕϕ

r

l

w

w

Ibr

CosbIrSin

rSin

bIrCos

r

Ibr

CosbIrSin

rSin

bIrCos

r

VImGmG

ImGmG

222

222

22

22 Ecuación 25

y

=

+−

−++=

⋅⋅

⋅⋅∗

1001

1001000000

1022

0122

br

Cosb

Sinr

Sinb

Cosr

br

Cosb

Sinr

Sinb

Cosr

IrIr

IrIrE

GG

GG

ϕϕϕϕ

ϕϕϕϕ Ecuación 26

Entonces determinamos que las aceleraciones dependen de los pares de entrada de lasiguiente manera:

Page 135: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 8 -

+⋅+⋅+⋅−

+⋅+⋅+⋅

+⋅+⋅+⋅

+⋅+⋅+⋅

=

••

••

⋅+

⋅+

⋅+

⋅−

⋅+

⋅−

⋅+

⋅+

TT

Ibr

CosbIrSin

rSin

bIrCos

r

Ibr

CosbIrSin

rSin

bIrCos

r

Ibr

CosbIrSin

rSin

bIrCos

r

Ibr

CosbIrSin

rSin

bIrCos

r

r

l

w

w

r

l

w

w

r

l

ImGmG

ImGmG

ImGmG

ImGmG

222

222

222

222

22

22

22

22

ϕϕϕϕ

ϕϕϕϕ

θ

θ

ϕϕϕϕ

ϕϕϕϕ

θ

θ

Ecuación 27

1.2,- Cálculo de la Inercia del robot

Para el estudio dinámico del robot móvil, es necesario conocer las inercias de loselementos que lo constituyen. De esta forma podemos conocer los momentos que segeneran en la evolución dinámica del móvil y su implicación en las variables de estado. Elmomento de inercia es el responsable del retraso en la variación de las aceleracionesangulares, por lo tanto solo influirá en los términos que afectan a la velocidad angular delmóvil, y no en las aceleraciones lineal.

La ecuación del movimiento rotatorio respecto a un eje normal al plano del movimiento enun cuerpo rígido en movimiento plano contiene una integral que depende de la distribuciónde la masa respecto al eje de momentos. Esta integral aparece siempre que un cuerpo rígidoadquiere aceleración angular alrededor de su eje de rotación.

1.2.1,- Definición formal de las magnitudes de inercia

Definiremos ahora formalmente un conjunto de magnitudes que proporcionan informaciónsobre la distribución de la masa de un sólido relativa a un sistema de referencia cartesiano.A estos efectos, la figura… representa un sólido de masa M y un sistema de referencia xyz.Tanto el sistema de referencia como el sólido pueden tener cualquier tipo de movimientorelativo entre ellos. Los comentarios que vienen a continuación se refieren a la orientacióninstantánea que tiene lugar para un cierto instante de tiempo t. Consideremos que el sólidoestá compuesto por una distribución continua de partículas, cada una de las cuales tieneuna masa dada por ? dv. Presentamos ahora las siguientes definiciones:

∫∫∫ ∂+= vzyI xxρ)( 22

∫∫∫ ∂+= vzxI yyρ)( 22

∫∫∫ ∂+= vyxI zzρ)(

22

∫∫∫ ∂= vyxI xyρ

∫∫∫ ∂= vzxI xzρ

∫∫∫ ∂= vzyI yzρ

Ecuación 28

Page 136: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 9 -

Los términos Ixx, Iyy Izz se denominan momentos de inercia de masa del sólido respecto ales ejes x, y, z respectivamente. Nótese que en cada caso se integra el producto de loselementos de masa ? dv por el cuadrado de la distancia perpendicular de éstos al ejecoordenado respecto al cual se está calculando el momento de inercia. Cada uno de lostérminos con subíndices mezclados se denomina producto de inercia de masa respecto alpar de ejes dado por los subíndices. De ésta forma se deduce que:

Ixy= Iyx ; Ixz= Izx ; Iyz= Izy

Para un punto y un sistema de referencia en el punto dado tenemos ahora nueve términosde inercia. Para un sólido dado, los valores de las seis magnitudes independientesdependerán de la posición y de la orientación de los ejes relativos al sólido. Se debe teneren cuenta que los ejes de referencia se pueden situar en cualquier punto del espacio y nonecesariamente en el sólido. Obsérvese la ilustración 1.

Podemos expresar matricialmente los momentos de inercia de la forma de la ecuación 29.

=

IIIIIIIII

Izzzyzx

yzyyyx

xzxyxx

ij Ecuación29

Ilustración 1. Posición de una unidad de masa en el espacio

Nótese que el primer subíndice indica la fila, mientras que el segundo subíndice indica lacolumna dentro de la matriz. Además, la diagonal principal de la matriz contiene lostérminos de momento de inercia de masa mientras que los productos de inercia ocupanposiciones simétricas respecto a dicha diagonal. Por lo tanto, la matriz es siempresimétrica.

Si analizamos las ecuaciones 28, queda claro que los momentos de inercia deben sersiempre positivos, mientras que los productos de inercia pueden ser positivos o negativos.

Page 137: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 10 -

Es especialmente interesante el caso en el que dos de los planos de coordenadas sonplanos de simetría para la distribución de masas en el cuerpo. En este caso, lascomponentes Ixy, Iyx, Ixz, Izx, Iyz, Izy se hacen cero ya que existen dos ejes que forman unplano de simetría en la distribución de masa de un sólido.

1.2.2,- Cálculo del momento de inercia del robot móvil

Con los resultados obtenidos en el apartado anterior, estudiaremos la inercia del robotmóvil. En nuestro caso situaremos el eje de coordenadas en el centro de masas del móvil, ala vez que el centro de gravedad se encuentra lo suficientemente cerca del centro de masaspara considerarlos en el mismo punto. Esto se debe a la distribución de masas.

El diseño del robot posiciona las baterías de la siguiente manera que se muestra en lailustración 2.

Ilustración 2. Posición de las baterías en el móvil

Esta configuración reparte los pesos de una forma muy regular. Como resultado obtenemosque las componentes Ixy, Iyx, Ixz, Izx, Iyz, Izy son iguales a cero ya que los planos se simetríason ortogonales entre si.

Ilustración 3. Paralelípedo rectangular

Ahora calcularemos las componentes Ixx, Iyy Izz. De esta forma hallamos:

=∂∂+=∂∂∂+= ∫∫∫∫∫−−−−−

zylzyx zyzyIb

b

a

a

l

l

b

b

a

axxρρ )()( 222/

2/

2/

2/

222/

2/

2/

2/

2/

2/

Page 138: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 11 -

[ ]abbaabbzb Vlzl

a

a

2233

23

2/

2/ 121212)

12( +=

+=∂+= ∫

− ρρρ Ecuación 30

Donde V es el volumen del sólido. De forma similar podemos hallar las componentes delos demás ejes, siendo:

( )baI mxx

22

121

+=

( )lbI myy

22

121

+=

( )baI mzz

22

121

+=

Ecuación 31

De esta manera queda la matriz Iij queda de la forma de la ecuación 32.

( )( )

( )

+

+

+

=

=

ba

lb

ba

II

II

m

m

m

zz

yy

xx

ij

22

22

22

121

00

0121

0

00121

000000

Ecuación 32

En nuestro caso el móvil solo se desplaza en plano xy, por lo que solo intervienen lascomponentes de inercia del eje de rotación z. Si calculamos Izz teniendo en cuenta m, a y bobtenemos el siguiente resultado:

( ) 003484,0121 22 =+== baII m

zz

2,- MODELOS DE MICROBOTS

2.1,- La Microbótica

La microbótica

Puede considerarse descendiente de la robótica y es a lo que vamos a dedicarnos. Mientrasque un robot industrial es una gran herramienta con forma de brazo, un microbot difiere deéste no sólo en el tamaño físico, sino que la función para la que está pensado. Es menoscostoso, más adaptable al entorno, más fácil de programar, mucho más barato, y sumovilidad da un carácter excepcional para la realización de muchas tareas.

Page 139: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 12 -

Pero sobre todo, la microbótica una ciencia en pleno desarrollo. No hay nada determinado,no hay límites. Todo está por hacer. Es la imaginación de cada cual quien determina esedesarrollo y las múltiples aplicaciones posibles.

Estructura de un microbot

Aunque su aspecto nunca lo diría, un microbot guarda bastantes similitudes con un serhumano por las funciones que realiza. Se pueden diferenciar en él cuatro partesfundamentales: cerebro, esqueleto, brazos y piernas, y sentidos de la vista, oído y tacto.El cerebro es la clave de todo microbot, es el que le proporciona cierto nivel deinteligencia. El esqueleto es lo que soporta los componentes del microbot. Sus órganos demovimiento son normalmente motores eléctricos que accionan ruedas, patas, ganchos,poleas, manejo de herramientas, o lo que se requiera. Si algo tienen de especial losmicrobots es su autonomía. No se trata de un juguete teledirigido. La amplia gama de sen-sores existentes, estratégicamente colocados, permiten al microbot "ver.' lo que sucede a sualrededor y actuar.

Usos y mercado

Los microbots no intentan sustituir a los robots industriales. Su campo es aquel en el que serequiere la realización de tareas simples de forma rápida y precisa, ayudando al serhumano en tareas repetitivas e incluso peligrosas, como limpiar, buscar elementos, tomarvalores de magnitudes, vigilar, guiar a invidentes o ayudar a inválidos, etc. Las laboresdomésticas, la medicina y hasta la exploración espacial son campos que cada vez másaprovechan las ventajas de la microbótica.

Foros y certámenes

Qué duda cabe que además de tareas tan importantes como las anteriores la microbótica semete en los hogares como un pequeño juguete con el que disfrutar montando,programando, diseñando, en definitiva, siendo artífices de nuestra propia creación "viva".Cuanto más se conoce este mundo más engancha, pero como una actividad sana que invitaa no ser otro ser pasivo, a pensar, a investigar, hasta conseguir una meta y por último, aconcursar. No se crea para concursar, el gozo empieza ya antes, como aquel que cuida conamor sus plantas o un animal de compañía, pero a quién le disgusta el halago de los demáscuando muestra su "criaturita" en un concurso de rapidez y destreza, mejor idea aplicada, oincluso belleza.

Page 140: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 13 -

2.2,- Foros y Certámenes: Panorama internacional

Ilustración 4

Existen multitud de concursos de todo tipo, desde concursos o campeonatos deportivoshasta concursos de arte, pintura, fotografía o rol. Y, aun no habiendo concursos como tales,los aficionados a una ciencia o diversión, encuentran rápidamente el modo de relacionarse,de compartir experiencias comunes, sea en foros de Internet, acampadas multitudinarias ojornadas en grandes pabellones preparados al efecto. No se pueden olvidar, además, losclubs cuyos miembros se reúnen periódicamente para desarrollar su afición o, incluso,talleres que preparan asociaciones juveniles para iniciar a diversos colectivos.Los aficionados a la Microbótica no son una excepción y disponen de gran variedad deforos y certámenes en los que poder participar a nivel mundial.

Promotores de la Microbótica

Antes de comenzar la visita por los diferentes concursos es necesario analizar de dóndeparte la Microbótica quién influye en su desarrollo, de modo que pueda situársela en ellugar que hoy ocupa.Desde el nacimiento de la Robótica hasta el posterior paso a la Microbótica tal como seconoce hoy en día han sido necesarios importantes avances tecnológicos.

La Microbótica puede ser algo más; que un juego, aunque resulte tan placentera como éste,ya que hace uso de muy diferentes disciplinas que, si bien no es necesario dominar, si esimprescindible un conocimiento básico. Estas disciplinas son la Electrónica con sussensores, actuadores y la mecánica asociada, la Programación Estructurada y de

Page 141: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 14 -

Microcontroladores, y las propias bases de la Microbótica.Al tratarse de una ciencia muy variada, variadas son también sus formas de aplicación, porlo que los microbots constituyen excelentes cobayas para poner a prueba nuevosalgoritmos y artilugios y, al mismo tiempo, se beneficia de estos avances para su usopropio.Tres son los tipos de colectivos que tienen una mayor importancia en la investigación de laMicrobótica.

Las universidades

Es el mayor foco de investigación. Dependiendo de la carrera en que se aborde seprofundiza más o menos en cada una de las disciplinas, por lo que los concursosinteruniversitarios son un buen escenario donde reunir todos los avances.Así se pueden encontrar, por ejemplo, Competiciones de Vehículos Autónomos(Universidad de Helsinki), concursos de Microbots Bomberos (Escuela Superior Trinity,Harford), o el PinBot, variante del juego del Pinball con microbots (Universidad AIberta,Canadá).Algunas universidades incluso ofertan programas de postgrado y doctorado en Robótica.La Universidad Carnegie Mellon y el Instituto de Tecnología de Massachusetts (MIT) seencuentran entre ellas.

Laboratorios de investigación

Están concebidos íntegramente para el trabajo de investigación en temas de Microbótica.Suelen ser organismos gubernamentales, por lo que su mayor presupuesto junto con laexclusiva dedicación hacen que sus avances sean más notorios, aunque la Robótica es unamera herramienta para conseguir otros objetivos.Se encuentra así al primer microbot que fue a Marte, aspiradoras domésticas autónomas,camareros un tanto robóticos y hasta campeonatos mundiales de fútbol donde losdeportistas no necesitan llevar playeras. El concurso de la figura representa una casa endonde un microbot debe limpiar las habitaciones y ordenar los objetos que encuentra enmala situación.

Otras asociaciones y empresas

Están íntimamente ligadas al desarrollo de la Microbótica. Las primeras necesitanpatrocinadores para sufragar sus investigaciones, ya las segundas les puede salir másrentable el promover la competencia entre asociaciones que mantener sus propioslaboratorios, por lo que muchas veces son ellas las que organizan los concursos.

Page 142: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 15 -

2.3,- Modelos de Microbots: el PICBOT-1

Ilustración 5

E1 microbot PICBOT1, que presenta la empresa Microsystems Engineering, pretende seruna primera toma de contacto con los diferentes elementos de que consta cualquiermicrobot.Una vez dado este primer paso, y debido a la modularidad que permite el PICBOT-l, elusuario podrá diseñar la estructura óptima para su aplicación y elegir los motores ysensores que mejor se adapten al entorno en que el microbot deba desenvolverse.

Presentación del microbot

Realizar aplicaciones con el PICBOT-l es como un juego de niños. Se presenta como un kitcompuesto por los diferentes elementos que se describen a continuación, y que el usuariodeberá montar con la ayuda de un manual que muestra paso a paso y con fotografías todoel proceso.

La tarjeta de control MSx84

Es una tarjeta de propósito general controlada por un PICI6F84. Esto permite al usuario suprogramación en numerosas ocasiones, para adaptarse al cometido del microbot. Incluyeconectores para cinco sensores de entrada y la etapa de potencia para el control de dosmotores de corriente continua o uno PAP (paso a paso). Su alimentación puede sermediante un transformador de red a 15VAC, con pilas de 6 y 9 VDC, e incluso con bateríade plomo recargable de 12VDC.

Page 143: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 16 -

Los sensores utilizados

Con el kit del PICBOT-l se proporcionan dos tipos de sensores básicos: infrarrojos ymecánicos. Gracias a ellos pueden determinarse los entornos básicos en los que se mueveel microbot. A pesar de su sencillez permiten la realización de muy diversas aplicaciones.

Los motores para movimiento

Se utilizan dos motores de corriente continua. Se trata de dos servomotores de la firmaFUTABA S3003, los cuales disponen de un grupo reductor que garantiza un buen par defuerza, así como una reducida inercia en los arranques y paradas. Igualmente disponen deun sistema de anclaje que permite acomodarlos fácilmente a cualquier tipo de estructura.

La estructura de la máquina

La estructura utilizada es de tipo metálico, realizada con las piezas del conocido y popularkit de construcción MECCANO EVOLUTION 1. Es un kit bastante completo que permiteel diseño de diferentes tipos de estructuras. La firma comercializa una abundante gama dekits que son compatibles entre sí y de fácil localización en el mercado. De esta forma segarantiza que la estructura del microbot no sea rígida y pueda ser fácilmente modificada yampliada.

2.4,- Foros y Certámenes: Normativa de Concursos

Se ha terminado la construcción del microbot y se han probado una serie de algoritmosbásicos y ¿ahora qué? Es el momento de presentarlo en sociedad, y para ello nada mejorque la participación en un concurso de microbótica. Lo más probable es que la primera vezsalgamos malparados pero con un montón de ideas para el próximo encuentro.

Reglas de las pruebas

Entre la diversidad de pruebas debemos decidir cuál o cuáles se adaptan a lascaracterísticas de nuestro microbot. Tendremos que buscar aquellos concursos que nosinteresen, bien por gustos personales, por dificultad de las pruebas, proximidad geo-gráfica... y, una vez elegidos, conocer la normativa que existe sobre ellos.

Normalmente no hay demasiadas variaciones entre los diferentes concursos demicrobótica, pero puede darse el caso de alguna norma clave que hay que tener en cuenta.Si se ha decidido acudir a un concurso celebrado lejos de donde se reside hay que pensaren problemas añadidos como reuniones previas obligatorias, la fecha en que se realiza, etc.,aunque por otra parte toda reunión con aficionados a esta ciencia compensará con crecestodos los inconvenientes por la disparidad de ideas y experiencias compartidas que vienena enriquecer las nuestras. No obstante, la organización da a conocer todas las normas a losparticipantes con tiempo, ya sea en el momento de la inscripción, en los carteles

Page 144: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 17 -

anunciadores, mediante una página Web, etc. por lo que se puede planificar con muchaantelación.

Suelen estar divididas en artículos y van desde la descripción del robot, el entorno de laprueba, los equipos, etc., hasta, por supuesto, la descripción minuciosa del desarrollo de laprueba y el modo de lograr la victoria. No obstante, una vez elegidas las pruebas y elcertamen, lo ideal es ponerse en contacto con la organización. La forma óptima por laflexibilidad y la rapidez es el correo electrónico o e-mail, del cual disponen cada vez máspersonas y que suele acompañar a toda la publicidad de organizaciones y concursos. Dichaorganización es la que mejor va a poder avisar de posibles cambios en fechas, normas,datos. . .

Reestructuración del microbot

Es aquí cuando llega el momento de la reestructuración. El microbot ha sido dotado degarras para arañar al contrario en un combate de sumo, se agarra al suelo con una ventosapara que no pueda ser movido y lanza un aceite que hace que el otro resbale y caiga.¿Seguro que nos dejarán participar con "eso'"? ¿Se ha tenido en cuenta el tamaño máximopermitido? ¿y el tiempo asignado para realizar esa prueba de acrobacia que a nuestromicrobot le sale tan bien?

Un jurado se encarga de que los microbots cumplan las normas, tanto de forma como deactitud.

Tendremos que reestructurar al robot para que se adapte a las normas, que dependen tantodel tipo de prueba como del concurso en sí, aunque cada vez más las organizacionestienden a uniformizar éstos últimos. Poco a poco iremos viendo las normas más signifi-cativas, de modo que desde el primer momento puedan tenerse en cuenta y el cambio en elmicrobot para ajustarse a cada concurso sea mínimo.

No obstante, hay concursos para todos los gustos y siempre hay algún certamen que se saledel patrón, donde las normas no existen, donde el único objetivo es vencer al contrario...Son las llamadas ¡Guerras de Robots! o Robot Wars, que cuentan con gran número deaficionados de todas las edades. Los microbots que participan en estos concursos sabencómo comienzan pero no cómo van a terminar ya que las agresiones al robot contrario seconsidera lo normal.

Page 145: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 18 -

2.5,- Modelos de Microbots: el GrowBot

Ilustración 6

E1 GrowBot, de la empresa Parallax, es un microbot que se vende en kit y que está basadoen el módulo B52-IC (Basic 5tamp II). Este módulo es una placa de circuito impreso quecontiene un pequeño PIC, junto con otros elementos para ampliar sus posibilidades, y quese suelda como un chip más en la placa principal.

Presentación del microbot

El kit del microbot incluye las partes requeridas para su montaje y un manual en el que seexplica cómo hacerlo, además de la forma de programarlo y usarlo. Esta documentación seactualiza frecuentemente en formato PDF en la página web de Parallax.

La tarjeta de entradas/salidas

No sólo sirve de soporte a los sensores, sino que puede decirse que conforma la estructuradel microbot, ya que sobre ella se aloja la pila de 9 V para su alimentación y los motores,que van acoplados en su parte inferior.

Además de las entradas/salidas que ella misma incorpora, posee un conector para adaptarotros módulos de ampliación.

Los sensores y actuadores utilizados

Page 146: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 19 -

Como sensores, como en la mayoría de los casos, se proporcionan dos bumpers, dosinfrarrojos y un pulsador. La novedad está en los actuadores. Además de los dos ser-vomotores (Futaba 5-148) para movimiento, permite la instalación de dos LEDs y de unaltavoz, también incluidos.

La programación

Se lleva a cabo desde la misma placa, conectándola con el ordenador vía serie. Para elloforma parte del kit un disco con el software necesario y el cable de conexión requerido.El lenguaje de programación utilizado es el PBASIC, una versión de BASIC que incluyeinstrucciones, estructuras de control y subrutinas ya hechas, cuyo dominio da al microbotuna gran potencia, pero que pueden dificultar el aprendizaje del que se inicia en estastareas, por la gran cantidad de parámetros y modalidades de las mismas.

2.6,- Modelos de Microbots: prueba de rastreadores

El objetivo último de la creación de un microbot es su utilización en alguna aplicación. Lamejor forma de empezar es con una prueba de rastreadores. Una mañana suele sersuficiente para la realización de un primer programa de este tipo. Aunque la esencia de laprueba es sencilla, es una de las constantes en los certámenes de microbótica y suelegenerar la misma expectación que una carrera de coches.

Objetivo

El objetivo de la competición es que el microbot recorra, en el menor tiempo posible, uncircuito dibujado en el suelo, marcado sobre un tablón, en un plástico, etc. El fondo puedeser blanco o negro y la línea que marca el circuito de color opuesto. El grosor de dichalínea suele ser de unos 2 cm de ancho, y la cinta aislante es un buen material para este usodebido a su adaptabilidad ya que se puede quitar fácilmente para rectificar una pista ohacer otra nueva.La carrera puede realizarse en turnos consecutivos realizados por sorteo, y de los cuales setoman los tiempos para obtener el campeón o, más interesante, puede ser con dosmicrobots corriendo simultáneamente en dos pistas idénticas, a veces especulares,realizando normalmente una segunda vuelta en la pista opuesta o en sentido contrario.

Las pistas pueden ser tan intrincadas como la organización considere oportuno; conramificaciones que no llevan a ninguna parte, lagunas, curvas de 90°. . . y, aunque la saliday la meta deben ser únicas, el camino a seguir puede no serlo.

Algoritmo

El algoritmo básico para esta prueba parte de la información recibida de dos sensores deinfrarrojos por reflexión. Dichos sensores son capaces de diferenciar entre el blanco y elnegro, por lo que, si se quiere seguir la pista representada en el gráfico, el microbot irá porbuen camino mientras ambos sensores detecten negro. Si esto es así el microbot deberáavanzar. En el momento en que uno de los dos sensores se salga de la línea (detecteblanco) el microbot deberá girar en sentido contrario a la posición del sensor (a la derecha

Page 147: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 20 -

si se sale el sensor izquierdo ya la izquierda si se sale el derecho) . En el caso de que losdos sensores al mismo tiempo detecten blanco, cosa que puede ocurrir por ejemplo alllegar a una curva de 90°, el microbot debe estar preparado para responder de algún modoy volver al camino correcto, ya sea con la programación o con la utilización de mássensores.

Reglas de la prueba

Suelen ser similares en todos los concursos de microbótica y la más importante es la quehace referencia a una posible desviación del microbot de la línea a seguir. Siempre tieneque seguir una línea y, en caso de salirse, se suele dar un máximo de tiempo y/o espaciopara permitir que el microbot vuelva por sus propios medios, o de lo contrario eseliminado.El tamaño del microbot también es importante. Aunque la altura no suele ser problema, laanchura y el largo no deben superar los 20 ó 21 cm, incluidos los sensores, actuadores,accesorios, etc. , que posea. El peso no tiene un límite inferior ni superior.

2.7,- Modelos de Microbots: estructuras

Aunque el esqueleto o estructura sobre la que se sustenta un microbot pueda parecer unaccesorio para el funcionamiento del mismo, en la mayoría de los casos no lo es, y tienemás importancia de lo que parece. Su peso, robustez, volumen, etc., debe estar adaptado ala aplicación a realizar, ya que influye en ésta; un microbot rastreador, por ejemplo, debeser ligero para ganar en velocidad, con lo cual su estructura puede reducirse a la mínimaexpresión, pero a la vez debe tener la suficiente estabilidad para no salirse en las curvasdebido a esa misma velocidad. Además, la estructura debe ser lo suficientemente flexiblecomo para que puedan ajustarse sin problemas diferentes tipos de ruedas, poleas, motores yaccesorios en general, sobre todo si el microbot va a utilizarse como sistema de pruebas endiferentes aplicaciones, sin estar especializado en ninguna en concreto.

Clasificación de estructuras según el material

Todas las estructuras tienen un mismo objetivo: servir de Soporte al resto de elementos,conectándolos entre sí, para permitir su movimiento. El peso y tamaño de las baterías, elnúmero de sensores, el ambiente donde se desarrolla la aplicación, característicasespecíficas de ésta, etc., van a determinar el material a utilizar. Podemos clasificar lasestructuras en los siguientes grupos.

Las primeras emplean piezas metálicas normalizadas y agujereadas que se unen entre símediante tornillería. El metal proporciona rigidez y resistencia, pero puede tener muchopeso y ser difícil de adaptar con piezas propias. No obstante, en el mercado hay variasfirmas que proporcionan cantidad de piezas diferentes como varillas, codos con distintosángulos, planchas, muelles..., que permiten ir modelando el esqueleto del microbot enfunción de los objetivos.El uso de piezas normalizadas de plástico tiene otras características: su peso suele ser másreducido, pero también su resistencia. Además son más fáciles de manejar, ya que permiten

Page 148: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 21 -

el corre y cierto grado de flexibilidad. También hay fabricantes que ofertan gran variedadde piezas.

Piezas de metal y plástico

Tanto las piezas de metal como las de plástico suelen ser el comienzo en la fabricación demicrobots, ya que ambas proporcionan la flexibilidad y facilidad de uso que se necesita enestos casos. Según adquirimos soltura necesitamos elementos que no se encuentran en lastiendas y que el mismo diseñador tiene que construir. Son las llamadas estructuras amedida, que dadas sus posibilidades es el grupo más extenso. Pueden construirse demadera, metacrilato, PVC, papel maché, etc., dependiendo siempre de las posibilidades del“artista” y de la aplicación a la que se dedique el microbot. También es muy usual mezclardistintos materiales, e incluso piezas compradas con otras hechas a medida.

No hay una estructura mejor que otra, todo depende del uso que vaya a dársele: unmicrobot de sumo necesita peso y resistencia, un rastreador ligereza pero agarre, unodiseñado para una prueba libre una imagen determinada, el acople de brazos, cámaras...,etc.

2.8,- El PICBOT-2

Ilustración 7

E1 microbot PICBOT-2 también ha sido presentado por la ya conocida empresaMicrosystems Engineering, y no tiene más posibilidades electrónicas ni mecánicas que suantecesor el PICBOT-l. Las ventajas que ofrece respecto a éste se refieren al montaje ya larobustez del mismo, porque lo único nuevo es la estructura, que es de metacrilato. Eltiempo necesario para el montaje y el mantenimiento de la estructura es menor en esteúltimo.

Page 149: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 22 -

Descripción funcional de la tarjeta de control MSx84

Como ya se dijo al hablar del PICBOT 1, esta tarjeta de control es de propósito general,pero permite gran variedad de cambios en cuanto a los sensores y motores utilizados, tipode alimentación, etc. Para ello, la empresa constructora introduce en el manual un apartadode descripción funcional, con el fin de que aquellas mentes inquietas que no se conformancon lo que viene ya hecho puedan entender el funcionamiento de la tarjeta, así como lasposibles modificaciones.

La fuente de alimentación

Está integrada en la propia tarjeta MSx84 y ofrece distintas posibilidades de trabajo. Así, lalógica de control necesita una VCC de + 5 V, pero los motores pueden funcionar con másvoltios. Dichas tensiones pueden obtenerse a partir de una tensión alterna de 12 VACprocedente de un transformador o de un conjunto de pilas o baterías.

Adaptación de periféricos

Los conectores de entrada de la tarjeta J0-J4 transportan cinco señales, con objeto de poderadaptar un buen número de sensores distintos. De esta forma, la resistencia R2, unida a lalínea E, puede sustituirse por una de diferente valor o por una resistencia de ajuste de100K, para adaptarse a diferentes modelos de sensor o diversas sensibilidades dentro de unmismo modelo. Por otro lado, la tensión de alimentación que requieren algunos sensorespuede tomarse de los propios conectores.

Control de los motores

Sobre la tarjeta MSx84 se encuentra situado el chip L293B de SGSTHOMSON,especialmente indicado para activar cargas de elevado consumo, como es el caso de losmotores de corriente continua. Gracias a él pueden gobernarse dos motores de corrientecontinua al mismo tiempo, o uno paso a paso. La tensión aplicada a dichos motores puedeseleccionarse entre la de + VCC de + 5 V y una externa aplicada mediante baterías.

2.9,- Foros y certámenes: Universidades

En las Navidades de 1998 el Departamento de Arquitectura de Computadores de laUniversidad de Deusto organizó en ESIDE (Facultad de Ingeniería) un certamen demicrobótica. La idea surgió tras la participación de un grupo de profesores y alumnos en untaller de microbótica impartido por la empresa madrileña Grupo J&J. La gran aceptaciónde este taller impulsó a los profesores a organizar otros similares, para aquellos alumnosque no habían podido asistir al primero por la limitación de plazas que se requiere enseminarios prácticos de este tipo. El microbot utilizado era el Tritt, que, con su estructurade Lego y controlado por un Motorola 68HC11, constituía una buena toma de contacto, ala vez que tenía grandes posibilidades si se quería profundizar en su manejo.

Page 150: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 23 -

Modalidades del concurso

La preparación del certamen llevó semanas. Era la primera vez que se organizaba unencuentro de estas características y no se conocía la repercusión que podría tener.Se pensó en cuatro pruebas diferentes según la programación de los microbots:rastreadores, exploradores, luchadores o de sumo, e inteligentes. Los microbots rastrea-dores debían seguir una trayectoria marcada por una línea en el mínimo tiempo posible.Los exploradores tendrían que realizar un trazado geométrico, en este caso un dodecaedro,con la mayor precisión y en el mínimo tiempo. Los luchadores tenían que sacar al contrariode un tatami antes de que ellos mismos fueran expulsados. La prueba de microbotsinteligentes o prueba libre premiaba la imaginación de los participantes y la puesta en prác-tica de una idea.

Desarrollo de las pruebas

Los grupos estaban formados en su mayoría por cuatro miembros, que debían inscribirsecon anterioridad junto con su microbot en las pruebas deseadas. A excepción de la cuartaprueba, éstas tenían un número máximo de participantes, a fin de no hacer demasiadotediosa la realización de las mismas. Esta característica y otras relativas a las normas de lasdistintas pruebas fueron entregadas a los participantes en el momento de la inscripción.

Ampliación del concurso a interuniversitario

Tras el éxito obtenido en la primera edición y una vez vistos los fallos cometidos se pensóen ampliar el carácter del certamen al plano nacional. Se realizaron carteles que fueronmandados a diversas universidades con conocida trayectoria en el mundo de la microbóticay se instaló una página Web que contenía toda la información relativa al concurso. Con elfin de adaptarse en lo posible a otros concursos nacionales, se tomaron gran parte de lasbases y pasos del concurso que la asociación de estudiantes AESS de la UPC (UniversidadPolitécnica de Cataluña) realizaba todos los años.

La respuesta por parte de los alumnos de la universidad fue muy satisfactoria, y se contócon el apoyo de la propia institución, de empresas del sector y editoriales, para lainfraestructura y material necesario. Sin embargo, sólo un grupo de otra universidad se pre-sentó al concurso, concretamente de la Universidad de Mataró (Cataluña). El que losaficionados a esta reciente tecnología sean estudiantes es una suerte, pero a la vez unproblema, ya que adolecen de falta de recursos y tiempo, para prepararse y presentarse aeste tipo de certámenes.En esta ocasión las pruebas fueron sólo tres, faltando la de exploradores. Esta vez lospremios fueron en metálico, además de materiales, donados por las empresas de electrónicaMicrosystems Engineering y Bilbao Electrónica, por las editoriales ITP Paraninfo y REDE,y por el Departamento de Deportes de la propia Universidad, que desde el primer momentotomó el concurso como una modalidad de deporte con unos participantes un tanto"robóticos".

Fin de siglo

El concurso mejora año tras año, gracias al entusiasmo que organización y participantesponen por sacarlo adelante. La última edición celebrada ha sido en diciembre de 2000 ya

Page 151: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 24 -

ella han acudido cuatro prestigiosas universidades: Escuela de Ingenieros deTelecomunicaciones de la Universidad de Alcalá, Escuela de Ingeniería Técnica deMataró, UPC de Terrasa y ESIDE de la Universidad de Deusto. Además, se ha contado conla participación de excepción de un club juvenil de tiempo libre, los concursantes másjóvenes por el momento.La escuela de Mataró se alzó con el primer puesto de microbots rastreadores, la UPC deTerrasa con el de sumo, y ESIDE de la Universidad de Deusto con el de microbotsinteligentes.

En esta última prueba, la idea es tan importante, como su presentación o la tecnologíaaplicada. El primer puesto fue para "SCOOBY, un microbot inspector de conductos de aireacondicionado. Tras la inspección el microbot debía informar a un panel de control centralsobre la idoneidad o no de la temperatura de las diferentes zonas que formaban elconducto, como aviso de posibles errores por mal funcionamiento. Su utilidad y su modode comunicación entre elementos independientes hicieron que el jurado se decantase poreste microbot como ganador del primer premio.

Al certamen asistieron más de 200 personas y numerosos representantes de los medios decomunicación, y en él quedó reflejada la enorme implantación y nivel de los microbotsbasados en los microcontroladores PIC. Algunas de las máquinas ya iban provistas de losmodernos PIC16F87x y pusieron de manifiesto su enorme potencial operativo y unasperspectivas fantásticas de cara al futuro.

2.10,- Modelos de Microbots: Apocalipsis PIC

Esta vez el microbot estrella es el Apocalipsis PIC, un microbot cuya estructuraclasificaríamos como a medida, ya que mezcla piezas normalizadas, tipo MECCANO, conotras recicladas a partir de piezas de impresoras viejas, secadores, etc... Sus artífices,estudiantes de ingeniería, ya tienen en su haber varios premios interuniversitarios por éstey otros "inventillos" similares.

Nacido para rastrear

Apocalipsis PIC está hecho a medida no sólo en su estructura, sino también en sucometido. Fue concebido para realizar las pruebas como rastreador de forma óptima. Sutarjeta principal de control es una placa que contiene una zona con el PIC y los elementosexternos que éste necesita para trabajar, como son el cristal de cuarzo, pulsador de reset yalimentaciones, y una zona libre para soldadura. En esta zona es donde se colocan loselementos extra que pasamos a describir.

Page 152: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 25 -

Ilustración 8

Periféricos de entrada

Como periféricos de entrada, debido a que está pensado para rastreo, sólo posee dossensores de infrarrojos, que llegan al PIC a través de puertas negadoras de tipo trigger, lascuales tienen la función de acondicionar la señal. Al mismo tiempo, por ser puertas nega-doras, el valor que procesa el PIC es el contrario que el recogido por los sensores. Esto aveces suele confundir al programador, pero es una técnica muy utilizada. Así, si ladetección de blanco es un 1, al pasar por el negador se convierte en O, y si se detecta colornegro (0 lógico) al PIC llega como un 1.

Motor de tracción

El movimiento se realiza gracias a un motor de corriente continua que hace girar una ruedaen un solo sentido, hacia delante, Para ello, de los dos hilos del motor uno está conectado atierra, Las dos ruedas traseras son libres, es decir, se mueven con la fuerza de la anterior.El motor funciona con 5 V, que llegan a través de un transistor tipo darlington cuandodesde el microcontrolador se da la señal de "girar', que no es más que un ilógico por una delas patitas del PIC, La velocidad de este motor se puede controlar mediante unpotenciómetro, lo cual resulta muy útil según la dificultad de la pista, ya que un caminomuy enrevesado en sus curvas puede hacer que el microbot se salga si va demasiadorápido.

Motor de dirección

Lo más interesante de este microbot es la idea, sencilla de realizar y que lo ha llevado aléxito, de un segundo motor para marcar la dirección. Aunque utiliza dos motores, comosuele ser habitual, para poder ir hacia delante, atrás, a derecha ya izquierda, no los usa del

Page 153: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 26 -

mismo modo, Como ya se ha explicado, un primer motor, el de tracción, es el que hace queel microbot ande hacia delante con su giro. Con el segundo se consigue que varíe la direc-ción de la rueda motriz un determinado ángulo, Con ello se logran giros de 90ºinstantáneos para rastrear este tipo de curvas, que suele ser el caballo de batalla de todomicrobot.

El motor de abajo es el de movimiento y el de arriba el de dirección. El eje del motor dedirección va acoplado a una ruleta que gira con él, y dicha ruleta a su vez se une con larueda y los sensores, de modo que se cambia de dirección con un giro del motor superior,Como los sensores se leen continuamente, al volver a encontrar el camino correcto el PICmandará una señal al motor para que deje de girar, Estos cambios se producen en cuestiónde microsegundos.

2.11,- Foros y certámenes: combates de sumo

Aunque no es una de las pruebas más sencillas si se desea ganar, ya que exige no sóloconocimientos de programación, sino también de mecánica y hardware en general, ygrandes dosis de ingenio, suele ser la prueba estrella de todo certamen de microbótica. Losmicrobots son animados por sus seguidores como si de personas se tratase, ya los "hacedo-res" de los sofisticados inventos les cuesta no acercarse a la pista cuando ven "sufrir" a suquerido robot, culpable de tantas noches sin dormir.

Objetivo

En el juego luchan dos equipos, cada uno de ellos está formado por un microbot y uno omás jugadores (los que han construido el microbot). Los equipos compiten dentro del áreade combate según unas normas para obtener puntos efectivos, llamados puntos Yuhkoh.

Normalmente los combates consisten en tres asaltos de uno a tres minutos cada uno,aunque el número de asaltos puede ser mayor en caso de empate. Gana el combate elmicrobot que en el transcurso de los tres asaltos consiga antes dos puntos Yuhkoh. Encualquier caso, ante la duda, los jueces tienen la última palabra. Los microbots debencolocarse tras la línea Shikiri y encarados al contrincante. Deberán transcurrir cincosegundos antes de que comiencen a moverse. Cada asalto se detendrá cuando se otorgue unpunto Yuhkoh, que puede ser adjudicado por sacar al contrario del ring, porque unmicrobot permanezca parado cierto tiempo o por acumulación de violaciones del otromicrobot. También se puede parar porque los microbots lleven un tiempo sin tocarse yalgunas otras causas que se especifican en las normas del concurso.

Según el número de equipos inscritos se puede hacer en forma de liga, por eliminacionesconsecutivas, con torneo previo clasificatorio, etc...

Reglas de la prueba

Las reglas utilizadas en la mayoría de los combates de sumo suelen ser una adaptación delas del "All Japan Robot Sumo Tournament Office", por ser éstas muy completas. Se haceuna división en diferentes secciones, y dentro de cada una en uno o varios artículos. Una de

Page 154: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 27 -

las secciones hace referencia al área de combate, que está muy bien definida y tiene quetener una composición y unas medidas determinadas.

En cuanto a los microbots, sus dimensiones deben ser tales que quepan dentro de una cajade 20x20 cm con los sensores de contacto (bumpers) cerrados si fuera necesario. No estápermitido diseñar el microbot de forma que cuando comience el juego se separe en diferen-tes piezas, pero sí se permite desplegar estructuras una vez comenzado el combate. Sualtura puede ser cualquiera. Además, el peso máximo de los microbots será de 3.000gramos, incluyendo todas las partes. En cuanto a su programa, los microbots han dediseñarse de forma que pasen cinco segundos desde que se presione el botón paraactivarlos hasta que comiencen a moverse; este intervalo es el llamado tiempo de segu-ridad. La estructura de estos microbots, además de las medidas y peso, deben cumplir otraserie de características como el no provocar desperfectos al área de combate ni aloponente, no usar dispositivos que lancen líquido, polvo, gases o sólidos a su oponente,que no sean inflamables, y un largo etcétera.

Algoritmo

El algoritmo puede ser tan complicado o tan sencillo como se desee. Además debe tener encuenta que en esta prueba es decisivo tanto el software, como los sensores y la estructura, ytodo ello ha de combinarse para lograr el éxito.

Los sensores que se utilizan primero son los de contacto tipo bumper. Un microbot dotadode este tipo de sensores sabrá a qué lado está el oponente cuando éste choque con él. Segúnel algoritmo programado puede optar por retroceder, empujar, girar para colocarse enmejor posición, o aquello que el programador haya pensado como mejor opción.

Los sensores más sofisticados cambian los bumpers por células de sónar, con la ventaja deque no es necesario chocar contra el otro microbot para saber dónde se encuentra. Esto damás posibilidades a la hora de programar estrategias, ya que puede que el otro aún no noshaya detectado. Los microbots más avanzados incorporan incluso pequeñas cámarasdigitales, aunque ello supone aumentar la dificultad del programa.

Los algoritmos, además de adaptarse a los sensores, también pueden ser más o menoscomplicados. Lo más sencillo es un programa que reacciona ante el estímulo recibido porunos sensores, girando hacia uno u otro lado según el sensor activado, y empujando oretrocediendo también según estos. Si queremos que el microbot se comporte de un modomás inteligente podemos hacer que por ejemplo guarde en memoria el modo de actuar delotro microbot, para elegir diferentes tácticas según el caso.

La estructura suele ser de "feliz idea". Se puede poner una rampa para que el otro microbotsuba y él mismo se caiga, confundir al otro con el color para que piense que ha detectadofinal de ring, mandar señales que confunden el sónar del contrario, aumentar el pesomediante el giro de unas hélices..., en definitiva, todo vale mientras no se infrinjan lasnormas.

Page 155: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 28 -

2.12,- Modelos de Microbots: el Tritt

Ilustración 9

E1 Tritt es un microbot construido y comercializado por el Grupo J&J Microbótica. Estegrupo nació de las inquietudes de un conjunto de universitarios, que poco a pococonvirtieron su pasión por la microbótica en una forma de vida, dedicándose entre otrascosas a éste y otros microbots, así como a impartir cursos sobre el tema.

Tritt nació para servir como un modelo básico a construir en los talleres de microbótica.Así, como la mayoría de microbots de este tipo, es una plataforma básica con un objetivoacadémico, por lo que su estructura fue diseñada para que su montaje resultase sencillo a lavez que ampliable. Según afirman sus propios diseñadores, debido a los talleresimpartidos, Tritt cuenta con muchísimos hermanos.

Cómo comenzar a trabajar con el microDot

El Grupo J&J ofrece diversas posibilidades a los interesados en adquirir un Tritt, peroquizá una de las más interesantes consiste en unirse a un grupo de personas interesadas,para que el propio Grupo J&J nos introduzca en el apasionante mundo de la microbótica ynos enseñe a montar y programar el microbot, terminando con una prueba de microbotsrastreado res entre los asistentes al taller. El curso en total dura unas 10 horas. poste-riormente los aficionados pueden profundizar por su cuenta en la programación delmicrobot y, en definitiva, imaginar nuevas aplicaciones. Los manuales proporcionadosjunto con el microbot y la amplia información disponible en Internet facilitan esta tarea.

La tarjeta de desarrollo CT6811

La CT6811 es una tarjeta para el desarrollo de aplicaciones hardware y software basadas

Page 156: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 29 -

en el microcontrolador 68HC11. Sirve tanto para el desarrollo de prototipos como para elfuncionamiento en sistemas finales. Así, es útil como tarjeta de propósito general, ya queconectándola a un PC por el puerto serie se pueden depurar programas en prueba. Ademásfunciona como tarjeta de control autónoma, es decir, sin conectarla al PC, ejecutándose elprograma que previamente se haya grabado en la memoria de tipo EEPROM delmicrocontrolador que contiene. Su tercera prestación es la de actuar como periférico delordenador. En esta opción puede captar señales y pasarlas al PC para, por ejemplo, supresentación en pantalla, o ejecutar órdenes recibidas desde dicho ordenador.

La tarjeta de Potencia CT293+

La CT293 + es una tarjeta que facilita al sistema la posibilidad de controlar motores ysensores, proporcionando las capacidades de movimiento y de análisis del entorno. Estádiseñada para adaptarse a la CT6811 y para controlarla desde ésta. La tarjeta tambiénpuede controlarse desde otro sistema, como por ejemplo el puerto paralelo de un PC.

A través de la tarjeta de potencia CT293 + pueden conectarse dos motores de continua ouno paso a paso. Dispone además de los circuitos para leer cuatro sensores de infrarrojos,que pueden ser optoacopladores. Tiene también otras 8 entradas de propósito general parala conexión de sensores, tanto digitales como analógicos.

Comprobación de funcionamiento del microbot

El programa CT294 es una forma sencilla de comprobar si los sensores y motoresfuncionan correctamente y están conectados según creemos, mediante una pantalla concuadros que informan sobre el estado de los puertos. Con la pulsación de diversas teclas secambia el estado de los puertos configurados como salidas.

El software de diálogo CTDIALOG

El CTDIALOG es un programa que permite, “dialogar” con el microcontrolador 68HCllcontenido en la tarjeta de desarrollo. Con este programa podemos acceder a todos losrecursos del 68HCll desde el PC: memoria RAM, registros de control, EEPROM..., yademás sirve de test de funcionamiento de los periféricos conectados a la CT6811.

El programa se divide en dos partes: una que se ejecuta en el 68HCll y otra en el PC. Elprograma que se ejecuta en el 68HC 11 se denomina CTSERVER y su función es la de eje-cutar los comandos que le llegan desde el PC. El programa que se ejecuta en el PC actúacomo interfaz, presentando la información de forma inteligible y traduciendo las órdenesdel usuario a comandos que entienda el CTSERVER.

El programa de comunicación serie MCBOOT

El programa MCBOOT comunica la tarjeta CT6811 con el PC. Además de funcionar comoterminal de comunicaciones, permite cargar programas en la RAM interna del 68HCll.Esto es muy útil para la depuración de programas y prueba de periféricos, ya quedisponemos del teclado para enviar datos al microcontrolador y de la pantalla del PC parapresentar datos.

Page 157: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 30 -

La estructura mecánica

La estructura mecánica es una parte importante del diseño de un microbot. Interesa que searesistente, de fácil montaje y con accesibilidad a elementos como baterías, sensores, etc. Laestructura elegida para el Tritt cumple estas características, ya que se emplea el LEGOTechnic, junto con otros componentes como portapilas, gomas elásticas, tornillería, etc.Esto permite crear una estructura básica que el usuario puede ampliar.

2.13,- Modelos de Microbots: el PICTAZO

Ilustración 10

Este pequeño, aunque increíble microbot, de aspecto similar a una furgoneta, de tan sólo18 cm de largo y 850 gramos de peso, rastrea una trayectoria blanca realizada sobre fondonegro o viceversa. Al igual que un "hermanastro" suyo, ya explicado en una secciónanterior, el " Apocalipsis PIC", este microbot está optimizado para esta tarea. Se creó conun único objetivo: participar en el concurso celebrado en la Universidad de Mataró en laprimavera de 2000, y no sólo participó, sino que venció al resto de oponentes, reduciendo ala mitad el tiempo empleado hasta ese momento para recorrer el circuito. Ésta fue suprimera y última presentación ante el público, como suele ser habitual en muchosmicrobots que se presentan a concursos. Tras la victoria, sus artífices, Koldo y Sergio, yaestaban pensando modificaciones para perfeccionar aún más su máquina. Tras muchasmodificaciones, el microbot resultante no suele parecerse a su antecesor más que en algúnrasgo del nombre. Así, PicTazo es el cuarto hermano de la familia Tazo. Antes nacieronOneTazo, TrashTazo y OneTazo II, que han ido cambiando desde la estructura hasta elmicrocontrolador que los gobierna.

Page 158: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 31 -

Estructura del microbot

Visto por fuera parece un vehículo de juguete. Su armazón de madera oculta su estructurainterior, a la que se accede fácilmente mediante un mecanismo de bisagra. Dicha estructuraestá dibujada, cortada y pintada de forma manual, está hecha a medida. Aunque no es unmicrobot comercial, una vez levantada la madera superior que hace las veces de tapa, nosencontramos con una tarjeta de control que sí forma parte de los modelos de microbotscomerciales: la MSx84. Con ella se controla el motor de tracción que usa para elmovimiento de la máquina. La MSx84 es capaz de gobernar dos motores de corrientecontinua, de modo que con ella bastaría para dicho motor y para el segundo motor, quepermite que se produzcan giros de más de 90° ante la detección de ángulos bruscos,haciendo girar un eje.

Los motores, sensores y programa de control

Los dos motores son de tipo FUTABA S3003, modificados para el giro de 360°, y consensores del tipo infrarrojo. Estos últimos tienen la particularidad, por el programa que loscontrola, de elegir si se toman todas las bifurcaciones que se presenten por la izquierda opor la derecha, dependiendo de la lectura inicial que realizan al colocarse el microbot sobrela línea. En un primer momento el microbot se diseñó con tres motores: dos de movimientoy uno de giro. Para ello se pensó en una segunda placa, realizada a medida, que gobernarael tercero de los motores, el de giro. Cada placa funcionaría con un PIC independiente.

Tras muchas pruebas se vio que algunas veces podía coger gran velocidad en pistassencillas, y otras, cuando las pistas eran muy enrevesadas en un corto espacio, había quereducir la velocidad para no salirse de la pista. Se acopló entonces un regulador para con-trolar la velocidad a la segunda placa y se quitó uno de los motores de movimiento. Noobstante, la regulación de la velocidad debe hacerse manualmente, antes de comenzar laprueba mediante un potenciómetro.

2.14,- Cuando lo lúdico se convierte en paráctico

¿Quién ha dicho que a las universidades se va sólo a estudiar? Afortunadamente eso no esdel todo cierto, ya que cada vez son más las asociaciones que nacen de y para los alumnos.Así, navegando por la red hemos encontrado dos de estas asociaciones que nos puedenservir de ejemplo. Se trata de la asociación AESS de estudiantes de la Escuela TécnicaSuperior de Ingeniería de Telecomunicaciones de Barcelona (ETSETB), y el grupo derobótica EUPMt de la Universidad Politécnica de Cataluña (UPC).

Ambos grupos, formados íntegramente por estudiantes, nacen con el objetivo de divulgarel mundo de la robótica en la comunidad universitaria y demostrar que se pueden poner enpráctica los conocimientos adquiridos en carreras de tipo científico-técnicas.

Para ello se comienza con cursos de iniciación para poner en marcha los primeros robotsmóviles, que luego evolucionan a rastreadores como Dinamita o luchadores de Sumo comoel Gran Kajuna. Pero además de estas típicas, aunque necesarias competiciones,encontramos otras cuya utilidad potencial es algo más que meras demostraciones.

Page 159: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 32 -

Atila, el microbot andador

Sus aplicaciones son muchas y variadas; seguro que usted está pensando unas cuantasmientras lee estas líneas. No obstante, Atila casi acaba de nacer y por ahora sólo haaprendido a andar, no está pensado para ninguna función concreta. Eso sí, pone muchoempeño en la tarea, pues para mover sus seis patas utiliza nada menos que seis microcon-troladores PIC, además de otros circuitos complementarios. Cada una de las patas poseevarias articulaciones, que permiten al microbot no sólo moverse con la correcta coor-dinación en el movimiento de los motores, sino incluso subir y bajar escaleras.

Limpiadores de superficies

En ocasiones, la utilidad de un concurso es tal, que empresas privadas o el mismo ayunta-miento de la ciudad, como en este caso, se ofrecen para otorgar el premio al ganador.

El concurso Robinet pretende simular a un robot que limpia la suciedad de una superficiede más de 4 metros cuadrados, dentro de un recinto cerrado. Para representar la suciedad seesparce arroz de manera uniforme, y se colocan distintos obstáculos de diversas formas ytamaños a modo de muebles de una habitación.

El objetivo es recoger la máxima cantidad de arroz en un determinado tiempo. El arrozrecogido se puede ir guardando en el interior del robot o depositarlo en un contenedor quehace las veces de papelera o cubo de basura, y que contabiliza como un mayor número depuntos. Para identificar este contenedor, diferenciándolo del resto de objetos, se le colocauna baliza de infrarrojos que emite pulsos a una frecuencia conocida.

El proceso se realiza en varias habitaciones de dificultad creciente y varias veces en cadauna de éstas. Las habitaciones pueden contener ángulos no rectos, paredes curvas y hastaobjetos móviles.

Los robots deben tener un peso inferior a 4 kg y aunque el tamaño no está limitado, puedeser un factor decisivo a la hora de moverse entre los obstáculos del terreno de juego.

2.15,- Modelos de Microbots: el CÍCLOPE

Cíclope es nuestro microbot vigilante, y debe su nombre a que tiene un solo ojo. La aplica-ción para la que fue creado es la de recorrer una estancia en la que no hay nadie y avisarcuando detecte algún movimiento, lo que significaría la entrada de un intruso. Si cam-biamos el intruso por un balón y la acción a realizar, el microbot puede convertirse en unfutbolista que corre tras la pelota al detectarla, y así puede pensarse en infinidad de apli-caciones que utilizan cámaras de visión. En los siguientes apartados desarrollaremos laspartes de que consta este microbot.

Page 160: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 33 -

Ilustración 11

Estructura del microbot

La estructura fue la última parte que se construyó, después de comprobar el tamaño de lastarjetas que debería contener en su interior y de pensar en la posición que requeriría lacámara para ser eficiente. Se necesitaba un material flexible, fácil de trabajar y sólido almismo tiempo, de manera que elegimos PVC, moldeable mediante un emisor de calor y unsoldador para plástico. La parte trasera es móvil para tener un fácil acceso a la tarjeta decontrol, que está sostenida en una bandeja extraíble.

La placa controladora

El sistema se controla mediante un PIC16FS76, hermano mayor de nuestro pequeñoPIC16FS4. Se ha elegido este microcontrolador primordialmente por el número de líneasde entrada/salida. Desde esta placa se lleva a cabo el control de motores, el circuito desensores y la comunicación con el ordenador.

Los motores se manejan con drivers L293B, como es habitual. Los sensores son de tipoultrasonidos, situados al frente y utilizados únicamente para el algoritmo de recorrido. Lacomunicación con el ordenador se realiza por radiofrecuencia. La placa controladora seencarga de determinar qué datos deberán ser transmitidos y de tratar lo recogido.

El software de control

Podemos hablar de dos programas bien diferenciados: por una parte está el software delmicrobot, que se encargará de recorrer el recinto sin chocar con las paredes, intentandocubrir toda la superficie y guiándose por un algoritmo que no necesita un conocimiento

Page 161: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 34 -

previo del lugar, y por otra parte está la cámara, que se moverá y transmitirá la informaciónal ordenador. Por otro lado, el programa del ordenador recibirá la información delmicrobot, la mostrará por pantalla y permitirá realizar un seguimiento manual o auto-mático. En el caso de elegir la opción automática, cuando el algoritmo de procesamiento deimágenes detecte movimiento se activará una alarma. Si el proceso es manual, un vigilantepodrá meter parámetros mediante el teclado para manejar la posición del microbot y de lacámara, de modo que el microbot se convierte en una especie de coche teledirigido con unacámara sobre él.

El ojo de cíclope: la cámara

La cámara elegida fue una CMOS/B-N/AD-5603. Esta cámara, de dimensiones reducidas,tiene salidas analógicas y digitales, pudiendo dar la información en cualquiera de los dosformatos. Sus características, gracias al chip programable que posee, incluyen un modo delectura y velocidad seleccionable, y un ajuste del tamaño de la imagen. Para acceder a losdatos del vídeo o configurar dichas características hay que leer o escribir como haríamoscon una memoria SRAM.

Comunicación microbot-PC

La comunicación entre el microbot y el ordenador se realiza mediante módulos deradiofrecuencia. Se necesitan módulos emisores y receptores. Los aquí utilizados losfabrica Tellecontrolli y son comercializados por Microsystems Engineering en dos tarjetasindependientes. El emisor recibe la información vía RS-232 y la codifica para enviarla auna frecuencia normalizada de 433,9 Mhz. Por su parte el receptor recibe a la mismafrecuencia, y decodifica lo recibido a formato digital para mandarlo vía RS-232. Ambastarjetas funcionan con microcontroladores PIC.

2.16,- Prueba libre

Si las pruebas de rastreadores se caracterizan por una alta velocidad y las de sumo por unagran potencia, las pruebas libres destacan por la gran imaginación que los participantesponen en ellas. Los ejemplos son muchos y muy variados. Revisaremos en esta secciónalgunos que hemos encontrado en diferentes concursos.

Objetivo y normas de la prueba

No hay normas que seguir: es válido cualquier material, tamaño o idea aplicada. Elobjetivo es convencer a un jurado de que el microbot presentado es el mejor. Para ellosuele disponerse de unos tres minutos, en los cuales se debe explicar cómo funciona laaplicación y hacer una demostración práctica. Los miembros del jurado calificarán a cadamicrobot según una escala aceptada por la organización, y la suma de los puntos totalesconformará la clasificación de los finalistas. Como no hay normas específicas la funcióndel jurado es subjetiva a la vez que difícil: pueden dar más importancia al diseño, a lacomplejidad aparente, a la utilidad o a cualquier detalle que les llame la atención. Elresultado y, por tanto, la expectación, es incierto hasta el final.

Page 162: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 35 -

Juegos interesantes

Un área en el que los microbots tienen muchas posibilidades es en el de pequeños juegosinteractivos, como el que representa el microbot de baloncesto de la fotografía. La esenciadel programa es sencilla, pero con una idea original y un diseño muy bien trabajado. Elmicrobot se aleja progresivamente de la posición original según el jugador va haciéndoseexperto. La puntuación se muestra en dos displays de 7 segmentos.

El armazón del siguiente microbot es clave para mostrar su funcionalidad. Se trata de unminicampo de golf que, al igual que el anterior, es móvil. El jugador tiene que conseguirintroducir la bola en el hoyo, pero como en un campo de golf luego debe ira por ella pararecogerla; este microbot la trae de nuevo. Su complejidad también aumenta al alejarsecuando se consigue hacer hoyo.

Imítando a los grandes

Aunque las tareas a que se dedica un microbot necesitan menos potencia que las realizadaspor un robot industrial, el programa de control para una misma tarea es similar. En lafotografía se muestra un microbot grúa. Este microbot es capaz de recoger material yllevarlo de un sitio a otro. La estructura es original y útil a la vez, ya que combina piezasde Mecano y de Lego.

Pruebas en equipo

Hay ocasiones en que la presencia es intrascendente y toda la carga de la aplicación recaesobre el programa. Esto sucede en el siguiente ejemplo. A la estructura básica sólo se haañadido un dispositivo llamado solenoide, capaz de contraerse y estirarse para disparar unapelota. Sin embargo, el programa es más complejo, ya que cada microbot juega un papeldiferente e independiente de los demás, dependiendo de que sea un delantero, defensa,portero, etc. La prueba consiste en demostrar las habilidades en un partido de fútbol.

2.17,- El generador de mapas

En esta ocasión el protagonista no es un microbot, sino una aplicación relacionada con lamicrobótica. El programa que presentamos tiene por objetivo elaborar un mapa a partir dela información recogida por un microbot que explora un recinto. Adicionalmente, permiterealizar simulaciones para ver qué pasaría en diferentes casos según la estructura delrecinto.

Recogida de datos

Supongamos un área dividido en 5x5 cuadrículas, que el microbot intentará recorrer segúnlas flechas de la figura. El microbot deberá estar equipado con sensores en el frente paradetectar los obstáculos que encuentre en el camino. Al chocar guardará en memoria laposición en la que lo encuentra y lo esquivará. Se contemplan dos tipos de obstáculos:sillas y mesas. Las mesas podrán estar colocadas en sentido horizontal y vertical. Como

Page 163: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 36 -

restricción, debe existir una separación entre los obstáculos y en la posición 1-1 no puedehaber ningún obstáculo, ya que es la de comienzo.

Generación del fichero de recorrido por el microbot

El microbot en su recorrido habrá guardado las coordenadas de posición de los obstáculosque encontró, las cuales, posteriormente, se transformarán en un fichero como el de lafigura. El fichero debe leerse de abajo hacia arriba. Cada obstáculo se representa concuatro dígitos: los dos primeros indican el tipo de obstáculo y los dos siguientes lascoordenadas de posición de inicio del obstáculo. El fichero debe transferirse al ordenadorpara simularlo.

Introducción de un fichero para su simulación

Otra opción consiste en generar un fichero para visualizarlo posteriormente en elordenador, en lugar de que el robot recorra la habitación, realizando la simulación a partirde datos sobre posibles obstáculos que podría encontrarse el microbot, y que se introducendirectamente por teclado. La interfaz se muestra en la figura, y desde ella, de un modosencillo, se introducen las coordenadas y el tipo de objeto, representándose dichainformación gráficamente.

Simulación del recorrido del microbot

Se haya obtenido por un método u otro, una vez que se tiene el fichero de referencia deobstáculos se puede comenzar la simulación. El algoritmo se muestra en diferentes secuen-cias de una simulación. Al comienzo, el microbot parte de la posición 1-1 y va haciadelante.

Al encontrar un obstáculo avisa del suceso y lo esquiva por su derecha, según la posicióndel microbot en ese momento, intentando volver a la columna donde estaba.Los sucesivos obstáculos obligarán al microbot a pasar de nuevo por posiciones yarecorridas, de modo que se explorará el total de la habitación. Las flechas señalan elrecorrido y los cambios de sentido se marcan con números.

2.18,- Hacia un único concurso

Desde la aparición de los primeros microbots en los diferentes países ha pasado muchotiempo. Se comenzó con robots cuyas piezas eran de Lego y eran utilizados parainvestigación. Les siguieron robots especialistas en rastreo y tras éstos llegaron los terriblesluchadores de sumo. Aunque a menudo son grandes empresas las que primero investigan yavanzan en este tipo de tecnologías, la extensión al gran público suele venir de mano de losaficionados, los cuales llegan incluso a preparar seminarios o concursos para difundirlas.

Hasta dónde llega la microbótica

Aunque el trabajo realizado por las asociaciones de aficionados goza de gran aceptación,cada vez es más común que Universidades y centros de formación profesional se unan a la

Page 164: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 37 -

iniciativa. En estos casos la idea no suele limitarse a ser un certamen de microbots, sinoque se plantea para responder a objetivos tales como: fomentar el desarrollo de losmicrobots entre estudiantes de campos afines; promover la creación de foros de discusiónen el que participen especialistas, tanto universitarios, de empresas como de centros deinvestigación; presentar los últimos avances; y acercar los estudios correspondientes aestudiantes no universitarios, entorno industrial y público en general.

En la prueba de velocistas, la pista está marcada por dos líneas paralelas. El circuito tendrárectas y curvas con radio mínimo de giro limitado. En cada prueba compiten dos robotsque comienzan en puntos opuestos del circuito y que girarán persiguiéndose. Ganará laprueba el robot que alcance a su contrincante.

En la prueba del laberinto, los robots tienen que encontrar la salida de un laberinto de 4x4metros con calles de 40 cm de ancho. El ganador será el que salga del laberinto en elmenor tiempo posible.

El estar organizado por profesores tiene la ventaja de contar con la colaboración del centro,con todo lo que esto supone a nivel estructural, de diversas empresas, e incluso de losmedios audiovisuales, que siempre ayudan a hacerse eco del evento.

Hasta dónde se quiere llegar

Si bien la mayoría de las asociaciones intentan seguir las mismas reglas a la hora deorganizar los concursos de microbótica, esto no siempre es fácil. El material de las pruebasde rastreadores no es el mismo en cada uno, ni el número, ni la complejidad de las pistas,ni los tiempos en las peleas de sumo, o las consideraciones que realiza el jurado en laspruebas libres.

El tiempo y esfuerzo que requiere la preparación de un concurso anual a escala nacionaltambién representa un handicap a considerar, por no hablar de los medios, tanto técnicoscomo humanos o de infraestructura, o del gasto que supone a los participantes desplazarsea todos los concursos. Todo esto hace que los concursos no sean del todo imparciales en suejecución. La homogeneización de reglas, jurados y materiales, la rotación del lugar dondese realiza el concurso anual, la unión de fuerzas en la organización y creación de nuevasideas, creará sin duda un certamen de mayor calidad, si cabe, que los ya existentes. Variasuniversidades están ya hablando de esta posibilidad que esperamos se haga realidad enbreve plazo.

2.19,- Hexápodo

Hexápodo debe su nombre a su característico modo de desplazamiento, para lo que usa seispatas. Pero, aunque pueda parecer una idea innovadora, desde hace años existen centros deinvestigación, como el Instituto de Tecnología de Massachusetts (MIT), que se dedican a laconstrucción de microbots similares para, por ejemplo, el estudio de los movimientos y elcomportamiento de los insectos. En el mercado pueden encontrarse diferentes casas quefabrican kits de construcción de este tipo de microbots, desde que en 1994 apareciera unartículo de Gary Malolepsy's que inspirara la idea. Aquí vamos a referirnos al principio del

Page 165: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 38 -

que parten muchos de ellos.

Los motores: generadores de movimiento

Aunque los microbots como el de la fotografía, también hexápodo, poseen varios motorespara controlar cada una de las patas independientemente, y tener así más libertad demovimiento, nosotros vamos a referirnos al microbot más sencillo dentro de esta categoría,controlado mediante solamente tres motores o, más concretamente, servomotores, esta vezsin modificar. los movimientos que deberán realizar las patas del hexápodo no requierenque el servomotor gire libremente 3600, por lo que la lógica que ya incorpora, no sólo nova a estorbar sino que nos va a ayudar en nuestro cometido.

Para controlar seis patas con tres motores hay que partir de una estructura especial y unmétodo denominado de los triángulos alternantes. Así, un motor se dedicará a mover laspatas delantera y trasera de un lado, otro moverá las patas centrales y el tercero la delanteray trasera del otro lado. Para que las patas se muevan de dos en dos con un único motor seunen mediante un eje. El microbot, en cada momento, tendrá posadas en el suelo la patadelantera y trasera de un lado, y la central del contrario.

Esquema de funcionamiento

El movimiento de cada uno de los motores es sencillo, ya que, al utilizar la lógica delservo, bastará saber la duración de los pulsos a enviar al motor para conseguir una posiciónu otra de su eje.

Sin embargo, compaginar el movimiento de los tres motores para conseguir ir haciadelante, hacia atrás, a izquierda ya derecha, no es tan sencillo. Para conseguirlo, las patascentrales basculan, de modo que en cada momento sólo una permanece apoyada en elsuelo. Así, por ejemplo, para dar un paso hacia delante, se deberá apoyar la pata centralderecha, lo que hace que se apoyen las laterales izquierdas. Estas últimas se retrasan acontinuación, a la vez que se adelantan las laterales derechas. las patas centrales basculanentonces para apoyar la central izquierda y las laterales derechas. El movimiento volverá arepetirse con las patas contrarias. En el esquema de la figura se representa el movimientohacia delante y el giro a la derecha, aunque este último es más difícil de ver sobre papel. Un microbot hexápodo puede realizar las mismas funciones que un microbot que ande conruedas, con la salvedad de que el movimiento será más lento, por lo que no se nos ocurriríautilizarlo, por ejemplo, como microbot rastreador.

2.20,- Preparación de una prueba

Aunque los concursos de microbots tienden a ser cada vez más homogéneos, permitiendoque un mismo microbot pueda presentarse a varios concursos sin cambiar su estructura nisu programa, es frecuente reservar alguna prueba de carácter interno, lo cual da variedad alos concursos y los convierte en únicos. Vamos a ver aquí una de estas pruebas, la deobstáculos, y lo que hay que tener en cuenta a la hora de introducir en un concurso unaprueba nueva.

Page 166: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 39 -

Objetivo de la prueba de obstáculos

Tras pensar el tipo de prueba que se quiere poner en práctica hay que determinar cuál seráel objetivo o, lo que es lo mismo, qué deberán hacer los microbots para ganar la prueba, ysi existe algún tipo de limitación, prueba previa, forma de realizar la prueba, etc. Elobjetivo de un microbot preparado para una prueba de obstáculos es recorrer un caminopara llegar a una meta, esquivando a su paso los obstáculos que encuentre. Ganará elmicrobot que llegue en el menor tiempo o, en caso de no llegar ninguno hasta el final, elque recorra el mayor espacio. Dependiendo del número de microbots inscritos, se realizaráuna o varias carreras con varios microbots en cada una de ellas, y los dos finalistas mediránsus fuerzas en una carrera final. Esta opción es la más llamativa, ya que en todo momentohay en la pista al menos dos microbots, lo que crea expectación, aunque se podrían realizartandas consecutivas en las que participara un solo microbot cada vez, si no se dispusiera deespacio o se previeran conflictos como el choque de los microbots entre sí.

Ésta es una decisión que debe tomar la organización y que comunicará a los participantes afin de que preparen el algoritmo más acorde con la prueba.

Limitaciones de la prueba

Una vez pensada la prueba y el objetivo de ésta, hay que determinar qué cosas se puedenhacer y cuáles están prohibidas. Es necesario plantear diferentes supuestos que podríanproducirse durante el desarrollo de la misma, para no dejar nada a la improvisación, y elmejor modo de tener en cuenta la mayoría de las excepciones será realizar pruebas previasen las que, sin lugar a dudas, se pondrán de manifiesto. Así por ejemplo, en el caso de unaprueba de obstáculos puede ocurrir que un microbot choque contra otro, pudiendo inclusodesviarlo de su trayectoria. ¿Se penalizará esta acción? , ¿se dejará a los concursantes quevuelvan a colocarlos? , ¿se comenzará de nuevo? Tal vez pueda solucionarse añadiendouna regla que especifique que los microbots deben seguir una trayectoria dentro de sucarril, sin invadir los contrarios.

Características de la pista de juego y de los microbots

De igual forma que hay que determinar las reglas del juego, es preciso dejar claras lascaracterísticas del espacio donde se va a realizar la prueba y si los microbots tienen quecumplir algún requisito para participar.

En el terreno de juego va a influir el material, que hará que las ruedas se agarren, sedeslicen fácilmente, o puedan patinar y desviarse de la dirección. El color de la pista y desus posibles líneas divisorias o delimitadoras también tendrán que tenerse en cuenta a lahora de hacer el programa. En una prueba como la de obstáculos además, deberá fijarse elcolor y tamaño de estos, a la vez que la separación entre ellos, para que los microbots pue-dan optar por detectar los obstáculos sin llegar a chocar con ellos y adecuen su tamaño paraesquivarlos sin dificultad. Antes de realizar el concurso se probarán todas lascaracterísticas, teniendo especial cuidado con las condiciones de luz, que pueden alterar elfuncionamiento óptimo de los sensores, y con el peso de los obstáculos, que tiene que sersuficiente para que no se muevan con un mínimo choque. Si se ha delimitado el tamaño opeso de los microbots se procederá a sus mediciones, y se realizará alguna prueba a losconcursantes para ajuste de parámetros si se considera oportuno.

Page 167: Análisis y Diseño del Control de Posición de un Robot Móvil con ...

Análisis y Diseño del Control de Posición de un Robot Móvil con Tracción Diferencial ANEXOS

- 40 -

3,- Contenido del DVD-ROM

• Memoria del proyecto.• Archivos del proyecto.• Herramienta Hemero.• Herramienta Fuzzy.• Maxon Datasheet.• University of Michigan.• Datasheets de componentes.• Documentos pdf sobre el tema.