jueves, 5 de septiembre de 2013

*Locomoción*


Locomoción
 Existe una gran variedad de modos de moverse sobre una superficie sólida; entre los robots, las más comunes son las ruedas, las cadenas y las patas.

Los vehículos de ruedas son, con mucho, los más populares por varias razones prácticas.


Los robots con ruedas son más sencillos y más fáciles de construir, la carga que pueden transportar es mayor, relativamente. 

Tanto los robots basados en cadenas como en patas se pueden considerar más complicados y pesados, generalmente, que los robots de ruedas para una misma carga útil. 


A esto podemos añadir el que se pueden transformar vehículos de ruedas de radio control para usarlos como bases de robots.

La principal desventaja de las ruedas es su empleo en terreno irregular, en el que se comportan bastante mal. 

Normalmente un vehículo de ruedas podrá sobrepasar un obstáculo que tenga una altura no superior al radio de sus ruedas, entonces una solución es utilizar ruedas mayores que los posibles obstáculos a superar; sin embargo, esta solución, a veces, puede no ser práctica.


Para robots que vayan a funcionar en un entorno natural las cadenas son una opción muy buena porque las cadenas permiten al robot superar obstáculos relativamente mayores y son menos susceptibles que las ruedas de sufrir daños por el entorno, como piedras o arena. 

El principal inconveniente de las cadenas es su ineficacia, puesto que se produce deslizamiento sobre el terreno al avanzar y al girar. Si la navegación se basa en el conocimiento del punto en que se encuentra el robot y el cálculo de posiciones futuras sin error, entonces las cadenas acumulan tal cantidad de error que hace inviable la navegación por este sistema. 


En mayor o menor medida cualquiera de los sistemas de locomoción contemplados aquí adolece de este problema.

Potencialmente los robots con patas pueden superar con mayor facilidad que los otros los problemas de los terrenos irregulares. 

A pesar de que hay un gran interés en diseñar este tipo de robots, su construcción plantea numerosos retos. 


Estos retos se originan principalmente en el gran número de grados de libertad que requieren los sistemas con patas. Cada pata necesita como mínimo un par de motores lo que produce un mayor coste, así como una mayor complejidad y menor fiabilidad. 


Es más los algoritmos de control se vuelven mucho más complicados por el gran número de movimientos a coordinar, los sistemas de patas son un área de investigación muy activo.
 

Diseño de ruedas
Existen varios diseños de ruedas para elegir cuando se quiere construir una plataforma móvil sobre ruedas: diferencial, sincronizada, triciclo y de coche.
Diferencial
Tanto desde el punto de vista de la programación como de la construcción, el diseño diferencial es uno de los menos complicados sistemas de locomoción. 
El robot puede ir recto, girar sobre sí mismo y trazar curvas. 
Un problema importante es cómo resolver el equilibrio del robot, hay que buscarle un apoyo adicional a las dos ruedas ya existentes, esto se consigue mediante una o dos ruedas de apoyo añadidas en un diseño triangular o romboidal. 
El diseño triangular puede no ser suficiente dependiendo de la distribución de pesos del robot, y el romboidal puede provocar inadaptación al terreno si éste es irregular lo que puede exigir alguna clase de suspensión. 

Otra consideración a hacer en este diseño es cómo conseguir que el robot se mueva recto, para que el robot se mueva en línea recta sus ruedas tienen que girar a la misma velocidad. 

Cuando los motores encuentran diferentes resistencias (una rueda sobre moqueta y la otra sobre terrazo) las velocidades de los motores varían y el robot girará incluso aún cuando se le haya ajustado inicialmente para que vaya recto. 
Esto quiere decir que la velocidad debe ser controlada dinámicamente, o sea, debe existir un medio de monitorizar y cambiar la velocidad del motor mientras el robot avanza. 
De esta manera la simplicidad del diseño queda minimizada por la complejidad del sistema de control de la velocidad; no obstante la reducción de la complejidad mecánica en detrimento de la complejidad de la electrónica y del software es frecuentemente una elección más barata y fiable.
Diseño sincronizado
En este diseño todas las ruedas (generalmente tres) son tanto de dirección como motrices, las ruedas están enclavadas de tal forma que siempre apuntan en la misma dirección. 
Para cambiar de dirección el robot gira simultáneamente todas sus ruedas alrededor de un eje vertical, de modo que la dirección del robot cambia, pero su chasis sigue apuntando en la misma dirección que tenía. 
Si el robot tiene una parte delantera (es asimétrico) presumiblemente donde se concentran sus sensores, se tendrá que arbitrar un procedimiento para que su cuerpo se oriente en la misma dirección que sus ruedas. 
El diseño sincronizado supera muchas de las dificultades que plantean el diseño diferencial, en triciclo y de coche, pero a costa de una mayor complejidad mecánica.
Diseño de triciclo y coche
El diseño de coche con sus cuatro ruedas con suspensión proporciona una buena estabilidad, el diseño en triciclo tiene unas prestaciones similares con la ventaja de ser mecánicamente más simple ya que el coche necesita alguna unión entre las ruedas direccionables. 
En general en estos dos diseños las ruedas direccionables no son motrices, y no es necesario controlar la velocidad de las ruedas para que el robot se mantenga recto. 
Esta simplificación tiene su precio como veremos en el próximo apartado.



Locomoción por medio de patas
En general, los sistemas que emplean patas son bastante complejos, sin embargo hay variantes. 

Un sistema de patas tipo insecto se puede construir empleando sólo parejas de servos. 


Para dar un paso un servo abre la pata alejándola del cuerpo para salvar si hay un obstáculo, luego el otro servo de la pareja gira para que la pata se mueva adelante. 


El primer servo, después, baja la pata hasta que ésta toque el suelo, finalmente el segundo servo gira hacia atrás empujando el cuerpo del robot adelante. 


El movimiento coordinado de seis patas permite al robot moverse adelante, atrás y girar.

Cinemática
La cinemática del robot trata de cómo se mueve el mismo, dado que la dirección adopta tal y tal ángulo y que cada rueda gira tantas veces, ¿dónde acabará el robot y qué camino tomará? Los diseños diferencial y sincronizado tienen una ventaja sutil sobre los otros dos tipos, la diferencia estriba en sus cinemáticas. 

Considere un triciclo, el cual tiene tres grados de libertad cuando se mueve sobre una superficie plana. 


Es decir, en relación con un sistema global de coordenadas, el robot puede estar en cualquier posición especificado por dos coordenadas xe y, y apuntando en una dirección especificada por una tercera coordenada, el ángulo q . 


Estos tres grados de libertad (x,y,q ) nos dan la distancia y el ángulo entre el sistema de coordenadas global, y una referencia local en el robot.


Nos gustaría tener la posibilidad de posicionar y orientar nuestro robot en cualquier lugar sobre el plano, es decir, sin considerar de donde arranca, si le damos x,y,q el robot debe poder moverse a esa posición. 

Sin embargo, hay un problema, para alcanzar esos tres grados de libertad el robot sólo puede controlar dos parámetros: la dirección, ángulo a , y la distancia total recorrida, S


Esto quiere decir que la orientación del robot y su posición están ligados, para girar tiene que moverse hacia delante o hacia atrás. El robot no puede ir directamente de una posición y/o orientación a otra, incluso aún cuando no haya nada en su camino.


Para alcanzar una posición y orientación deseadas simultáneamente, el robot tiene que seguir algún camino, posiblemente complejo. Los detalles de ese camino se complican todavía más con la presencia de obstáculos, esta es la razón por la que el aparcamiento en línea es difícil; sin embargo, un robot basado en los diseños diferencial o sincronizado puede, al girar sobre sí mismo, desacoplar efectivamente su posición de su orientación.

Forma del robot
La forma de un robot puede tener un gran impacto en sus prestaciones, un robot no cilíndrico corre mayor riesgo de quedar atrapado por una disposición desfavorable de obstáculos o de fallar en encontrar un camino en un espacio estrecho o intrincado.

Consideremos dos robots del mismo tamaño uno cilíndrico y el otro cuadrado, ambos encuentran un paso estrecho según se mueven. Un algoritmo sencillo permitirá al robot cilíndrico pasar, el robot choca, gira y lo intenta de nuevo hasta que pasa. Esto es así de simple porque el robot es capaz de girar estando en contacto con el obstáculo.


El robot cuadrado, por el contrario, tiene que retroceder y girar si quiere usar la misma táctica. Por tanto, siempre se requiere un algoritmo más complejo para la navegación de un robot cuadrado que para la de uno cilíndrico. 

Para entender la razón de esto, tenemos que apelar a un concepto avanzado en robótica conocido como espacio de configuraciones.
Adaptación de plataformas móviles
Hay una gran cantidad de plataformas móviles disponibles para adaptarlas como base de robots móviles: coches de radio-control, vehículos filodirigidos y otros juguetes de pilas. 

La mayoría de los sistemas de locomoción de ruedas excepto el sincronizado están bien representados en las tiendas de juguetes. Es una buena elección escoger el sistema de locomoción y suspensión de un juguete como base de un robot móvil por varias razones. 


Lo primero es que nos exigirá menos esfuerzo de diseño y construcción ya que la mayor parte de estos problemas los habrá resuelto de antemano el fabricante, y lo segundo que resultará más barato que comprar los componentes por separado.


El diseñador del robot, sin embargo, debe tener presente que existen algunos problemas al hacer esto. 

Normalmente la plataforma no se adaptará directamente a su uso como robot. Los motores de los juguetes requieren más corriente y tienen poca eficacia, lo que significa que la electrónica será más complicada y el tiempo de funcionamiento será más corto.  


Por lo general, los motores y engranajes de los juguetes se diseñan para hacer al juguete más rápido, por tanto, se producen problemas de control cuando el robot debe moverse despacio para responder a los sensores, también es complicado añadirles codificadores de eje. 


Lo ideal sería encontrar un modelo que tuviera un motor y transmisión independiente a cada rueda.


Los juguetes móviles más baratos tienen un solo motor y maniobran mediante una serie de movimientos adelante, atrás y giros. 

Cuando el motor gira en una dirección el juguete se mueve adelante, y cuando el motor gira al revés un embrague simple montado en el eje hace que sólo gire una de las ruedas y por tanto el juguete gira. Por tanto, el juguete sólo gira cuando va hacia atrás. 


Es posible realizar un robot que actúe de esa manera, aunque se puede quedar “pegado” cuando no puede ir hacia atrás. 


Los juguetes que llevan este sistema de movimiento se reconocen con facilidad porque su control remoto sólo tiene un botón. Cuando el juguete se enciende, anda solamente adelante y cuando se pulsa el botón gira al ir atrás.


Los juguetes que son más útiles tienen o transmisión con diferencial o cadenas o un motor de tracción separado del motor de direccionamiento.

Un modo de saber de qué tipo de mecanismo de transmisión posee un juguete es encenderlo y observar su comportamiento, si las ruedas cambian su velocidad relativa al girar es probable que el mecanismo de tracción sea de tipo diferencial, si el juguete tiene ruedas de direccionamiento que varían de posición entre dos o tres opciones, es más probable que sea de dirección por solenoide; sin embargo, si las ruedas de dirección cambian suavemente de posición es casi seguro que están asistidas por un servomotor.


La razón de modificar un juguete es hacer posible su control mediante un microprocesador, ya que utilizaremos sus motores, transmisión y servos, pero descartaremos sus mecanismos electromecánicos de control. 

Por tanto, será necesario diseñar una circuitería nueva que sustituya a la antigua de control del juguete. Antes de que esto sea factible debemos obtener información de las características de los motores, para ello deberemos mantener, de momento, los motores conectados a la circuitería antigua, mientras realizamos las mediciones necesarias.


Lo primero será desarmar el juguete para que queden accesibles los motores y servos o actuadores, luego identificar el o los motores de tracción que estarán unidos a los ejes de las ruedas mediante trenes de engranajes. 

La tensión de empleo de los motores y servos será normalmente la que den las pilas del juguete, sin embargo, no es infrecuente que haya un divisor de tensión para llevar la mitad de la tensión a cada rueda; si todo esto no es posible mide la tensión en cada motor mientras el juguete está funcionando.


En casi todos los juguetes los motores de tracción están unidos al resto de la circuitería por dos cables, pero a menudo se suelda un condensador directamente entre los contactos de los motores de tracción. Este condensador suprime los picos de tensión que producen los motores y se debe dejar en su lugar

Sensores
(véase también sensores como parte del sistema robótico)
Percepción
Los humanos no damos, a menudo, importancia al funcionamiento de nuestros sistemas sensoriales. 

Vemos una taza sobre una mesa, la cogemos automáticamente y no pensamos en ello, al menos no somos conscientes de pensar mucho en ello. 


De hecho, el conseguir beber de una taza requiere una compleja interacción de sentidos, interpretación, conocimiento y coordinación, que, en la actualidad, entendemos mínimamente.


Por tanto, infundir a un robot prestaciones de tipo humano resulta ser tremendamente difícil. Los juegos de ordenador que derrotan a los campeones de ajedrez son comunes en nuestros días, mientras que un programa que reconozca una silla, por ejemplo, en una escena arbitraria aún no existe. 

El "ordenador paralelo" que todos tenemos en nuestra cabeza dedica grandes cantidades de materia gris a los problemas de la percepción y la manipulación.
Transducción / Entendimiento
 A pesar de que nos gustaría que entendiera y fuera consciente de su entorno, en realidad, un robot está limitado por los sensores que le proporcionamos y el programa que le cargamos. 

Sentir no es percibir. Los sensores son meramente traductores que convierten algunos fenómenos físicos en señales eléctricas que un microprocesador puede leer. Esto se podría hacer mediante un convertidor analógico – digital (A/D) en el microprocesador, cargando el valor de un puerto de entrada – salida (I/O), o usando una interrupción externa. Siempre se necesita que haya alguna interfaz electrónica entre el sensor y el microprocesador para acondicionar o amplificar la señal.
Niveles de abstracción
Con el software podemos crear diferentes núcleos de abstracción, para que nos ayude como programadores a pensar acerca de los datos de los sensores de diferentes modos.

En el nivel más alto, el sistema inteligente, para parecer “listo” necesita tener algunas variables para hacer malabares con ellas: ¿Está esta habitación a oscuras? ¿Acaba de entrar alguien? ¿Hay una pared a la izquierda?.


Sin embargo, las únicas cuestiones que el robot es capaz de plantearse son tales como: ¿Ha caído la resistencia en el fotosensor? ¿Ha subido la tensión en el sensor piroeléctrico conectado al cuarto canal A/D por encima del umbral? ¿Ha cambiado el nivel en la salida del detector de proximidad infrarrojo?

No obstante, es posible infundir muchas capacidades en un robot móvil. El Robot II, construido en el Naval Ocean Systems Center, sirve de centinela móvil (patrullando un edificio, evitando obstáculos, observando intrusos) y es capaz de encontrar su puesto de recarga para enchufarse.

Este robot contiene un gran número de sensores, tales como detectores de infrarrojos de proximidad para evitar obstáculos, sensores para localización, sensores de microondas para detectar movimientos, sensores piroeléctricos para detectar intrusos y temperatura, y sensores de terremotos e inclinaciones para identificar desastres.

Otro robot móvil cubierto de sensores es Attila, del tamaño de una caja de zapatos, con seis patas para explorar en todo terreno. Los sensores de las patas se emplean para detectar  obstáculos y pasar por encima de ellos.

Lleva galgas extensométricas a lo largo de sus espinillas para detectar colisiones, potenciómetros en los motores de sus articulaciones para la calibración de su posición y sensores de contacto en sus pies para asegurar pisadas estables. 


Sobre el chasis están montados varios sensores. “Bigotes” en el frente para la detección de colisiones, un sensor de proximidad de largo alcance mide el espacio libre y una pequeña cámara recoge imágenes.
Interfaz con los  sensores
Nos centraremos en varios tipos de sensores simples y en cómo realizar la interfaz entre ellos y el microprocesador. Veremos varios ejemplos de interfaces de sensores y de controladores de sensores (fotosensores, interruptores de impacto, micrófonos, sensores piroeléctrico de personas, sensores de proximidad de infrarrojo cercano, sonars, sensores de flexión, giróscopos, acelerómetros, sensores de fuerza, brújulas y cámaras) se pueden comprar a bajo coste para interfaz en un pequeño robot móvil.
Controladores software
Una vez relacionados los sensores y la interfaz adecuada diseñada para conectar los sensores al microprocesador, éste debe ser programado para leer los sensores. Estos trozos de código se escriben a menudo en lenguaje ensamblador y se conocen como software drivers o controladores software.

Los controladores software son fragmentos de código que proporcionan una interfaz bien definida entre un dispositivo hardware y un programa que necesita utilizar a ese dispositivo.

Los controladores software tratan con el interfaz hardware – software. Estas rutinas podrían constantemente consultar un contacto A/D, esperando el disparo de un sensor piroeléctrico, o podrían estar implementadas como manejadores de interrupciones que solo son llamadas cuando la señal devuelta, por ejemplo, por un sensor infrarrojo de proximidad de nivel alto.

 El código del controlador de sensores podría tomar estos datos y almacenarlos en una posición de memoria. 

Estos datos entonces se convierten en alimento para un nivel de abstracción más alto. 


Por ejemplo, otra parte del sistema de inteligencia podría usar esa señal o variable para disparar un comportamiento o quizás lo combine con otra información en un tipo de sensor virtual. No olvidar los diferentes niveles de abstracción, cuando los sensores raramente alcancen el grado de perfección que nos gustaría.
Sensibilidad y Alcance
Hay dos conceptos importantes a entender cuando se analiza la sensibilidad y el alcance de cualquier tipo de sensor.

La sensibilidad es una medida de hasta qué  grado la salida de la señal cambia a la vez que las cantidades de las magnitudes medidas. Llamemos a la salida del sensor r y a la cantidad física medida x. Por ejemplo, un fotodetector podría tener una tensión de salida de, digamos, 0.87 V (r) cuando es bombardeado por 2.3·1013 fotones por segundo (x). La sensibilidad del sensor se define como:
Dr / r = S · Dx / x

Un pequeño cambio en la cantidad medida, dx, se relaciona con un pequeño cambio en la repuesta del sensor, dr, mediante la sensibilidad S.

Un dispositivo sensor reacciona a la variación de niveles de algunos estímulos físicos produciendo una tensión característica de salida (o corriente, o frecuencia, etc.). 


Casi siempre, la circuitería asociada al sensor después amplifica o transforma esta tensión y la introduce en un convertidor analógico-digital conectado a un microprocesador. 


El convertidor A/D es sensible sólo a rangos limitados de tensiones, frecuentemente 0 á 5 V. En el caso del convertidor A/D de 8-bits, este voltaje se convierte en 256 (28) niveles discretos. Esta es por tanto la ventana del microprocesador al mundo.


No importa lo complejos y sutiles que sean todos los fenómenos se reducen a un número, o conjunto de números, con valores entre 0 y 255.

Es, por tanto, importante tener en cuenta cuidadosamente cómo una cantidad física se transforma en un valor digital accesible por el microprocesador. 


Por ejemplo, existen opciones lineales y logarítmicas para hacer la correspondencia de tensiones a números.


Supóngase que el movimiento de un brazo robótico se restringe a un alcance bien definido, de 0 á 90 grados. 

Deseamos conocer su posición con  igual sensibilidad en todas las partes de su alcance. 


Bajo estas circunstancias, una correspondencia lineal de los ángulos de las articulaciones con las lecturas A/D, como la que proporciona un sencillo circuito de potenciómetro es adecuada.


El caso de un fotodiodo es más complicada,  ya que el nivel de iluminación que produce la luz solar es varios órdenes de magnitud mayor que el que ofrece la luz artificial. 

A nosotros nos gustaría que nuestro robot fuera capaz de sentir las variaciones de luz tanto si está en una habitación luminosa como si está en una habitación oscura.


En una escala de unidades de iluminación arbitrarias, supongamos que la iluminación típica en una habitación luminosa varía, digamos, de 10 á 1000 unidades, mientras que en una habitación oscura es de 0.1 á 10. 

Si escogemos componentes para el circuito de nuestro sensor de modo que los niveles de iluminación entre 0.1 y 1000 se correspondan linealmente con los valores A/D de 0 á 255, entonces el robot tendrá una buena sensibilidad en una habitación luminosa; sin embargo, cualquier nivel de iluminación por debajo de 2 unidades se corresponderá con 0 unidades A/D. Por ello, el robot será prácticamente incapaz de detectar cualquier diferencia de nivel de iluminación en una habitación pobremente iluminada.


Una manera de corregir este problema es mediante la correspondencia logarítmica. 

Un amplificador logarítmico produce una tensión proporcional al logaritmo de la salida del fotodiodo. 


Este circuito tiene la propiedad de incrementar la sensibilidad  a pequeños cambios de intensidad de luz cuando el robot está en una habitación oscura y de disminuirla en habitaciones muy iluminadas. 

Así el robot puede trabajar en un rango mucho mayor de niveles de iluminación.

En general, la salida de un sensor no será ni lineal ni logarítmica en sentido estricto, esto, sin embargo,  no representa un problema en la medida en la que el que construye un robot tenga una idea clara  de la respuesta del sensor y de las condiciones bajo las que el robot tiene que trabajar.
Sensores de Luz
Los sensores de luz visible y de infrarrojos cubren un amplio espectro de complejidad. 

Las fotocélulas se encuentran entre los más sencillos de todos los sensores para hacer su interfaz con el microprocesador, y la interpretación de la salida de una fotocélula es directa.


Las cámaras de vídeo, por el contrario, requieren una buena cantidad de circuitería especializada para hacer que sus salidas sean compatibles con un microprocesador, además las complejas imágenes que las cámaras graban son todo menos fáciles de interpretar.
Fotorresistencias
Los sensores de luz posibilitan comportamientos de un robot tales como esconderse en la oscuridad, jugar con un flash, y moverse hacia una señal luminosa. 

Los sensores de luz simples son fotorresistencias, fotodiodos o fototransistores. 


Una fotorresistencia (o fotocélula) tiene una interfaz con un  microprocesador fácil de hacer. Las fotorresistencias son simplemente resistencias variables con la luz en muchos aspectos parecidos a los potenciómetros, excepto en que estos últimos varían girando un botón.


 Los fototransistores dan mayor sensibilidad a la luz que las fotorresistencias. 

Un fototransistor tiene una interfaz con un microprocesador casi tan fácil como el de una fotorresistencia.


 Los fotodiodos tienen una gran sensibilidad, producen una salida lineal en un amplio rango de niveles de luz, y responden con rapidez a los cambios de iluminación. 

Esto les hace útiles en los sistemas de comunicación para detectar luces moduladas; el mando a distancia de casi todos los TV, equipos estéreos y reproductores de CD los emplean. La salida de un fotodiodo requiere, no obstante, amplificación antes de poder ser empleada por un microprocesador.
Detectores de proximidad infrarrojos
Los comportamientos de seguimiento son fáciles de implementar en un robot móvil, aunque los sensores de infrarrojos no nos dan la distancia real a un objeto, sí nos dicen si está o no presente en su cono de detección. 

Este tipo de sensores tiene un ancho de haz mucho más estrecho que el de los sonar. 


El seguimiento de paredes empleando dos detectores es muy corriente. Incluso es posible seguir una pared usando sólo un detector moviéndose diagonalmente como hacen los veleros respecto del viento. 


En este caso el robot tiene que girar alejándose de la pared cuando detecta algo y girar acercándose a la pared cuando no detecta nada.
Puedes ver Más
Conocenos Más

0 comentarios:

Publicar un comentario

Contacta

INFORMACIÓN

Localización:

08500, Spain, Barcelona,2213 C

Horario de Trabajo:

Lunes a Viernes de 9am a 5pm Spain

Skype:

3D Byou

Busca en el Blog

Con la tecnología de Blogger.