Beruflich Dokumente
Kultur Dokumente
1 Arquitecturas mecánicas
En esta sección se va a tratar la arquitectura mecánica desde el punto de vista cinemático del robot.
La cinemática del robot es uno de los aspectos más importantes a tener en cuenta cuando se diseña,
ya que condicionará:
• El número y tipo de actuadores necesarios para que el robot se mueva. Se pueden necesitar
uno o más motores, acompañados de algún servo.
• La precisión con la que se puede estimar con un sistema de medida odométrico (como los
encoders incrementales) la posición del robot.
• El control del robot. La cinemática hace que el control del robot sea más o menos sencillo.
Por estas razones, se van a describir en las siguientes secciones algunas de las arquitecturas
mecánicas más populares en el mundo de los robots móviles.
Las típicas arquitecturas mecánicas que tienen esta cinemática se muestran en la Figura 1-1, Figura
1-2 y Figura 1-3. Aunque la cinemática de la Figura 1-1 y Figura 1-2 es la misma, la dinámica es
diferente. De hecho es claramente más ventajosa la dinámica del robot de la Figura 1-1 que la de la
Figura 1-2 porque tiene tracción delantera. La tracción delantera hace que ante un pequeño
desequilibrio en el centro de gravedad del vehículo, el vehículo sea estable mientras que la tracción
trasera provocaría un par que haría tender al robot a hacer un trompo como se muestra en la fig.
Esto obliga a tener un control más preciso en el robot de la Figura 1-2 que en el de la Figura 1-1.
Figura 1-1: Propulsión diferencial con tracción delantera
A continuación se deducen las ecuaciones del movimiento del robot. Las siguientes ecuaciones
indican cómo cambia la posición del robot, respecto de un sistema de referencia fijo al entorno W,
en un instante de tiempo.
E.1 x rW (t + 1) = x rW (t ) + ∆x rW
E.2 y rW (t + 1) = y rW (t ) + ∆y Wr
E.3 θ rW (t + 1) = θ rW (t ) + ∆θ rW
En la Figura 1-4 se muestra la cinemática diferencial de un vehículo, que es la más habitual, con el
objetivo de calcular el incremento de movimiento del mismo. Las ecuaciones que se deducen son:
(∆r + ∆l )
E.4 ∆s =
2
(∆r − ∆l )
E.5 ∆θ rR/ e = ∆θ rW/ e =
w
sin(∆θ rR/ e )
E.6 ∆x R
= ∆s
∆θ rR/ e
r/e
(1 − cos(∆θ rR/ e ))
E.7 ∆y rR/ e = ∆s
∆θ rR/ e
donde
∆r , ∆l , ∆s : Son los incrementos de movimiento de la rueda derecha, izquierda y del sistema de
referencia solidario al vehículo respectivamente.
w: Es la distancia entre ruedas.
∆x rR/ e , ∆y rR/ e , ∆θ rR/ e : Son los incrementos de las coordenadas y de la orientación del vehículo con
respecto al sistema de referencia solidario al mismo y calculados con los encoders.
∆ϕ ∆θ rR/ e
∆xrR/ e
∆y rR/ e
∆l
∆s
∆r
r+d r d
c tan (θ i ) − c tan (θ 0 ) = − =
l l l
Para poder deducir la cinemática de esta arquitectura se puede suponer que existe una rueda virtual
entre las ruedas delanteras, de forma que:
2·r + d r d
c tan (θ SA ) − c tan (θ o ) = − =
2·l l 2·l
De esta forma se tiene una cinemática igual que en las secciones anteriores.
En esta sección se va a tratar la arquitectura electrónica y eléctrica dentro de un sólo robot. Existen
dos tipos de arquitecturas fundamentales: la arquitectura centralizada y la distribuida.
En la arquitectura centralizada toda la electrónica del robot se encuentra en una tarjeta. Dentro de
esta tarjeta suele haber un microcontrolador que se utiliza de centro de control de toda la tarjeta. En
él se realiza todo el control de sensores y actuadores, y se gestionan las comunicaciones exteriores.
En la arquitectura distribuida existe una tarjeta electrónica por cada tarea que se quiere controlar; es
decir, habrá una tarjeta para controlar un determinado tipo de sensores o un conjunto de sensores,
habrá una tarjeta para controlar cada tipo de actuador y habrá otras tarjetas que servirán para
gestionar diferentes tipos de comunicación con el exterior. En esta arquitectura suele haber una
tarjeta donde se encuentra la inteligencia del robot y sirve de centro de control y coordinación de
todas las tarjetas. Las diferentes tarjetas se comunican entre sí siguiendo un protocolo de
comunicaciones, que puede ser estándar o propietario del robot.
Todas las tarjetas se encuentran alimentadas por una red de cables de alimentación que se distribuye
por todo el robot. Además de los cables de alimentación, en el robot hay instalada una red de buses
que permiten comunicar entre sí las tarjetas.
Tarjeta de Tarjeta de
comunicaciones serie comunicaciones RF Bus de datos
Alimentación
Generalmente cada tarjeta tiene un microcontrolador que se encarga, por un lado de las
comunicaciones con otras tarjetas y por otro lado de controlar la tarea para la que fue desarrollada.
El microcontrolador suele ser muy sencillo y de poca capacidad de cálculo, ya que tiene que realizar
una única tarea muy puntual.
Alimentación
Sensores Comunicaciones RF
Las ventajas y desventajas de esta arquitectura se deducen a partir de las desventajas y ventajas,
respectivamente, de la arquitectura centralizada.
Ventajas:
• Espacio: los robots con esta arquitectura pueden ser más pequeños debido a que el robot
sólo tiene una tarjeta.
• Robustez ante fallos e impactos: debido a que el diseño es más compacto, la arquitectura es
más robusta ante impactos y fallos.
• Coste: al tener pocos componentes el coste del sistema es menor que en el caso de una
arquitectura distribuida.
Desventajas:
• Mantenimiento del sistema: es complicado encontrar un fallo en la arquitectura, ya que las
tareas se realizan todas en la misma tarjeta e inevitablemente unas interaccionan con otras.
• Ampliabilidad: es la mayor desventaja del sistema. Por muy bien que se haya diseñado una
arquitectura centralizada, es muy complicado lograr una ampliación de las tareas de la
misma, ya que eso en general supondrá una modificación del hardware de la tarjeta.
Generalmente este tipo de arquitecturas suele contar con las llamadas tarjetas de expansión
que amplían las funcionalidades de la misma.
• Coste de desarrollo: el coste de desarrollo es mayor ya que aunque sólo es necesario diseñar
una tarjeta, la labor de integración de todas las tareas en un sólo módulo hace que el coste de
desarrollo se eleve en gran medida.
Descripción mecánica
Desde el punto de vista mecánico, cada nivel está formado por una plataforma circular como base,
con doce paredes iguales que se encuentran unidas solidariamente con la periferia de la base como
se muestra en la foto de la Figura 1-11. Por el centro de cada plataforma se realiza la transmisión
tanto de la información como de la energía eléctrica a lo largo del robot, de forma que existen
conectores que distribuyen la información y la energía en el propio nivel, hacia el nivel superior y
hacia el nivel inferior. La base de cada nivel se apoya en los bordes de las paredes del nivel inferior,
uniendo los conectores de energía y de datos que existen entre los dos pisos de forma automática,
ver Figura 1-12. Tanto el nivel primero o inferior como el nivel tercero o superior difieren de esta
estructura comentada, ya que no tienen que transmitir ni energía, ni información a los pisos
inferiores y superiores respectivamente. En el nivel primero, o de potencia, ver sección 2.3.2, se
genera la energía del robot y se transmite a pisos superiores.
Figura 1-11: Nivel de UMI2. Consta de una base y 12 paredes, y la transmisión de la información y energía se hace
por el centro.
El nivel tercero alberga los elementos básicos de un PC, que se encargan de controlar el robot, ya
que es el nivel que más espacio tiene al no tener un nivel superior. La transmisión de la energía se
lleva a cabo por 4 cables, destinados a suministrar 0, 5 y 12 voltios, quedando uno sin utilizar. Los
conectores que se utilizan se muestran en la Figura 1-12.
Esta estructura tiene las siguientes ventajas:
• Se puede acceder directamente al nivel que se desee del robot, separando los dos pisos
correspondientes entre sí, sin necesidad de tener que desconectar y reconectar los demás.
• Se pueden añadir de forma modular los pisos intermedios que se necesiten.
Figura 1-12: Conectores de unión entre pisos: energía y datos.
Descripción eléctrica
Desde el punto de vista eléctrico, en el primer nivel se encuentran las baterías, que se conectan al
módulo gestor de alimentación. A este módulo además se puede conectar alimentación exterior, con
el objetivo de cargar las baterías y un pulsador que se suele usar para apagar o reiniciar el robot.
Como se puede ver en la Figura 1-14, además existen dos fusibles que protegen a cada una de las
baterías de un cortocircuito, y un par de interruptores que permiten hacer funcionar de forma
independiente el robot y el módulo gestor de la alimentación. Desde el módulo gestor de la
alimentación se proporciona energía a la fuente de alimentación, que suministra tensiones de 5V y
12V estabilizadas a todo el robot. También se encuentran los módulos de control de los motores en
el primer nivel, que se alimentan a 12V. En el segundo nivel se encuentran los sensores de
ultrasonido, de infrarrojos y la brújula. Finalmente en el tercer nivel se encuentra el controlador del
robot, que consta de una placa base de un PC convencional y de un disco duro para almacenamiento
permanente de datos.
Comunicación entre módulos
La transmisión de los datos se lleva a cabo por un bus de 25 cables, preparado para conectarse a
través de conectores DB-25, ver Figura 1-13. La distribución de la información que se transmite es
la misma que la de un puerto paralelo. Existen 8 cables por los que se envían los datos (que se
corresponden con los pines D0-D7 de la Figura 1-13), 4 cables de control (que se corresponden con
los pines C0-C3) y 5 de estado (que se corresponden con los pines S3-S7), de los cuales sólo se
usan 4.
Módulo de
brújula
Módulo de Módulo de
Piso de potencia control de control de
motor izdo motor decho
Descripción electrónica
El robot se basa en una arquitectura hardware muy modular, que se caracteriza porque los módulos
realizan tareas muy sencillas y totalmente independientes entre sí. Cada módulo del robot se basa en
un microcontrolador de la familia PIC16F87x.
El micro es muy simple, pero gracias a la sencillez de cada módulo es posible utilizarlo. Se ha
optado por usar varios microcontroladores simples, en vez de usar un microcontrolador de grandes
prestaciones que gestione todas las tareas, siguiendo la premisa “divide y vencerás”.
2.3.2 Nivel de potencia
Como se muestra en Figura 1-15, en el nivel de potencia se sitúan la fuente de alimentación, las
baterías, el módulo que gestiona la energía del robot, un ventilador, los interruptores y fusibles, y
los módulos de control de motores. La energía del robot se genera en este nivel y se transmite al
resto del robot. A continuación se explica cada uno de los componentes que forman este nivel.
Por último se ha instalado un botón externo que puede ser pulsado y programado por el usuario. La
programación dada a este botón en UMI2 es la siguiente:
• Si se pulsa una vez el robot empieza a realizar las tareas para las que fue programado.
• Si se vuelve a pulsar el robot se para, y volverá a continuar sus labores cuando se vuelva a
pulsar.
• Si se pulsa durante más de cinco segundos, el robot se apaga solo.
Sistema de tracción
El sistema de tracción consta de un par de ruedas, dos motores de corriente continua con un Shaft
encoder de 100 ranuras cada uno, y un par de módulos de control de los motores. El módulo de
control de motores recibe la señal del correspondiente encoder y la procesa de forma que, por un
lado, guarda un acumulado del número de ranuras que ha procesado, y por otro lado, controla la
velocidad del motor según una consigna. La consigna de velocidad se la da el controlador del robot,
que es modulada por el módulo de control de motores y enviada a una etapa de potencia que
transmite la señal de velocidad al motor.
El módulo de ultrasonidos tiene como objetivo, controlar los sensores de ultrasonidos para
conseguir medidas de distancia.
Para llevar esto a cabo, se conectan todos los sensores de ultrasonido al módulo y éste es el
encargado de indicar cuando se debe realizar la medida y de medir el tiempo que transcurre entre
esta indicación y la indicación del sensor de que ha recibido el eco. El módulo hace funcionar un
sensor después de otro, ya que no se pueden hacer medidas simultáneas entre sensores porque se
pueden interferir. Además se debe esperar un tiempo mínimo, 8ms, entre medidas sensoriales de
manera que el eco del último sensor se haya atenuado completamente.
Este módulo solamente mide cuando el controlador del robot se lo dice; es decir, no está
continuamente midiendo y devuelve las medidas cuando el controlador se lo pide. De esta manera
se evita un pronto envejecimiento de los piezoeléctricos y es posible controlar de forma más precisa
cada sensor, ya que el módulo de ultrasonido puede funcionar en modo escáner o individual; es
decir, se le puede decir que haga un barrido de todos sus sensores, o se le puede pedir la medida
especifica de uno de los sensores que tiene.
Los datos que pueden ser transmitidos al controlador son: hasta ocho bytes de información que se
corresponden con las ocho medidas de los sensores de ultrasonidos, barriendo en el sentido de las
agujas del reloj.
Por otro lado este módulo también puede recibir información que indica el modo de funcionamiento
del módulo; modo escáner o individual. En caso de que sea modo escáner el dato enviado con la
petición es el cero, mientras que en caso contrario el dato enviado se corresponde con la posición
del sensor de ultrasonido, de manera que un uno indica que se quiere realizar una medida con el
sensor que el robot tiene más a su izquierda.
El objetivo del módulo es aportar al controlador del robot la información necesaria para que se
pueda estimar la orientación del robot. Por ello el sensor se instalará de forma horizontal; es decir,
paralelo a la superficie terrestre. La información suministrada por el módulo no siempre se puede
utilizar; solamente bajo ciertas restricciones:
1. Cuando el robot navega por una superficie horizontal. En caso contrario sería necesario
tener dos medidas de la inclinación del robot respecto de los dos ejes horizontales, y otra
medida del campo magnético terrestre en un eje perpendicular a ambos. Esta información no
es suministrada por el VECTOR2X y por tanto sería necesario usar otro tipo de brújula.
2. Cuando el robot navega por un entorno en el que no hay campos magnéticos externos, ya
que si no el campo magnético terrestre no podría ser medido y no se podría estimar de
ninguna manera la orientación del robot.
3. Cuando el entorno de navegación del robot no tenga grandes superficies metálicas, ya que si
no el campo magnético terrestre se ve deformado por las mismas y la estimación de la
orientación del robot es errónea.
La estimación de la orientación del robot se puede llevar a cabo, con mucho cuidado, en caso de que
se cumplan las restricciones, como se comenta en el anexo 3.
Los datos que pueden ser transmitidos al controlador son: dos bytes de información que se
corresponden con las dos medidas del campo magnético en cada uno de los ejes de la brújula.
Una foto de la placa resultante se muestra en la Figura 1-21.
Figura 1-21: Cara de componentes de la placa de la brújula
[1] Sánchez Miralles, A; Alonso Ozalla, G. Diseño de un vehículo autoguiado utilizando un ordenador
personal. Anales de mecánica y electricidad. Sep-2000, pp 23-28
ore, 1992.