• No se han encontrado resultados

Simulador de trayectorias 2d para un robot tipo serpiente

N/A
N/A
Protected

Academic year: 2017

Share "Simulador de trayectorias 2d para un robot tipo serpiente"

Copied!
60
0
0

Texto completo

(1)

JESSICA HAZDEY BARRETO PAZ LIZET TATIANA MEDINA RAMÍREZ

TRABAJO DE GRADO PARA OPTAR POR EL TÍTULO DE INGENIERO ELECTÓNICO

DIRECTOR:

Ing. DIEGO ALEJANDRO PATIÑO GUEVARA, M.Sc Ph.D

(2)

FACULTAD DE INGENIERÍA

CARRERA DE INGNIERÍA ELECTRÓNICA RECTOR MAGNÍFICO: PADRE JOAQUÍN EMILIO SÁCHEZ GARCÍA S.J. DECANO ACADÉMICO: Ing. FRANCISCO JAVIER REBOLLEDO MUÑOZ.

DECANO DEL MEDIO UNIVERSITARIO: PADRE SERGIO BERNAL RESTREPO S.J. DIRECTOR DE CARRERA: Ing. JUAN MANUEL CRUZ BOHÓRQUEZ.

(3)
(4)

A Dios por haberme dado la fuerza y la inspiración para lograr la meta anhelada, a mis padres Raúl y Oliva por su amor incondicional, por su paciencia y por todos estos años de fe y entrega. A mi hermana Angie por su comprensión, cariño, confianza y apoyo. A Néstor por su amor, comprensión, apoyo y ayuda cuando fué necesario. a mi compañera y amiga Jessica , porque no se rindió, siempre luchó a mi lado y me

tuvo paciencia.

LIZET TATIANA MEDINA RAMIREZ

He llegado al final de uno de mis anhelos mas grandes pero no lo he logrado sola a mi lado siempre estuvieron mis padres, a quienes dedico este logro porque sin escatimar esfuerzos han dedicado gran parte de su vida a educarme y formarme. Ha sido su ilusión verme convertida en una persona de grandes logros,

este es el primero de ellos.

A mi familia por su apoyo, amor, energía y comprensión, a Daniel y Alejandro por la paciencia, apoyo y cariño que han tenido siempre, a Lizet porque a pesar de las adversidades nunca perdió la fe y compartió

todo esto conmigo.

JESSICA HAZDEY BARRETO PAZ

Agradecemos especialmente a nuestro director Diego Patiño por guiarnos en este proceso, dedicarnos tiempo, ayudarnos a ver las cosas claramente y brindarnos sus conocimientos. Al departamento de Ingeniería Electrónica por ser un segundo hogar y siempre brindarnos lo mejor para ser excelentes ingenieras.

(5)

TABLA DE CONTENIDO

INTRODUCCIÓN...1

CAPÍTULO I ...3

MARCO TEÓRICO ...3

1. CARACTERÍSTICAS SERPIENTES BIOLÓGICAS...3

1.1 PIEL ...3

1.2 ESQUELETO ...3

1.3 DENTADURA ...3

1.4 LOCOMOCIÓN SERPENTINA ...3

2. ANTECEDENTES ...4

2.1 MODELOS SHIGEO HIROSE ...4

2.2 MODELOS JUAN GONZÁLEZ GÓMEZ...6

2.3 NORWEGIAN INSTITUTE OF SCIENCE AND TECHNOLOGY ...7

2.4 JOEL BURDICK Y GREG CHIRIKJIAN...7

2.5 YANSONG SHAN Y YORAM KOREN...8

2.6 ANA II ...8

3. SIMULADORES ...8

3.1 WEBOTS ...9

3.2 DARWIN2K...9

3.3 ADAM ...9

3.4 POLYBOT ...10

3.5 PROGRAMACIÓN ORIENTADA A LA TAREA...10

3.6 PROGRAMACIÓN ORIENTADA AL ROBOT ...11

4. CINEMÁTICA ...11

4.1 ESPACIO ARTICULAR Y CARTESIANO ...12

5. CINEMÁTICA DIRECTA...13

5.1 PARÁMETROS DENAVIT-HATENBERG ...13

5.2 ASIGNACIÓN DE SISTEMAS DE REFERENCIA ...15

5.3 MATRIZ HOMOGÉNEA ...16

6. CINEMÁTICA INVERSA ...16

6.1 Definición General...17

6.2 Métodos de solución:...17

7. VELOCIDAD ANGULAR ...18

8. TRAYECTORIAS EN EL ESPACIO ARTICULAR...19

CAPÍTULO II...21

ESPECIFICACIONES ...21

CAPÍTULO III ...24

(6)

1.1 PARÁMETROS DEL GENERADOR ...25

1.2 MODELO MATEMÁTICO...26

2. CINEMÁTICA DIRECTA...28

3. CINEMÁTICA INVERSA ...30

4. VELOCIDAD ANGULAR ...33

5. INTERPOLACIÓN DE UNA TRAYECTORIA ARTICULAR CON PUNTOS DE INICIO Y FIN 34 CAPÍTULO IV ...36

ANÁLISIS DE RESULTADOS ...36

5.1 RESULTADOS GENERADOR SINUSOIDAL ...36

5.2 RESULTADOS CINEMÁTICA DIRECTA...38

5.3 RESULTADOS CINEMÁTICA INVERSA ...40

CONCLUSIONES...42

BIBLIOGRAFÍA...43

ANEXO 1 ...45

(7)

ÍNDICE DE FIGURAS

Figura 1 Diagrama de los robots móviles. [1] ...1

Figura 2 Características y aplicaciones del robot serpentino. [2]...1

Figura 3 Descripción Del Movimiento Ondulación Lateral [14] ...3

Figura 4 Descripción Del Movimiento Concertina Rectilíneo. [14] ...4

Figura 5 Descripción Del Movimiento Rectilíneo [14]...4

Figura 6 Descripción Del Movimiento Serpentino [14]...4

Figura 7. Robot ACM III [10]...5

Figura 8. Robot ACM-R3 [10]...5

Figura 9. Robot ACM-R5 [6]...6

Figura 10. Robot Cube Revolutions [8] ...6

Figura 11. Robot Hypercube [8] ...7

Figura 12. Robot Serpiente con 11 módulos y superficie con obstáculos[17] ...7

Figura 13. Robot Snakey [5] ...7

Figura 14. Robot MS1[5] ...8

Figura 15. Robot ANA II. [2]...8

Figura 16 Interfaz Simulador WEBOTS [13] ...9

Figura 17 Simulación DARWIN2K [4] ...9

Figura 18 Simulación ADAM. [3] ...10

Figura 19 Interfaz Polybot [19]...10

Figura 20 Mapa conceptual cinemática directa e inversa. Fuente: Los autores ...12

Figura 21 Numeración de las articulaciones. Fuente: Los autores...12

Figura 22 Sistemas de Referencia. Fuente: Los autores...13

Figura 23 Numeración de eslabones y articulaciones. Fuente: Los autores ...14

Figura 24 Parámetros Denavit Hartenber. Tomada [10] pg 68. ...14

Figura 25 Asignación de los parámetros Denavit- Hartenber. Tomada de [10] pg 66...15

Figura 26 Solución Geométrica. Fuente: Los autores ...17

Figura 27. Configuración de tres eslabones. Fuente: Los autores. ...18

Figura 28 Diseño de bloques del simulador. Fuente: Los autores...21

Figura 29 Parámetros del robot. Fuente: Los autores...22

Figura 30 Generador sinusoidal independiente para cada módulo (17) ...25

Figura 31 Grafica generador sinusoidal con k=1. Fuente: Los autores ...25

Figura 32 Grafica generador sinusoidal con k=4. Fuente: Los autores ...25

Figura 33 Variando el ángulo de serpenteo: a)α= 2π/3, b) α=π/6y c) α=π/4.Fuente: Los autores...26

Figura 34. Variación de la fase: a)Φ=π/2 b)Φ=0 c)Φ=-π/2.Fuente: Los autores. ...26

Figura 35 Modelo de curva serpentinoide discreto. (17)...27

Figura 36 Esquema usado para obtener las ecuaciones de las coordenadas (x,y). Fuente: Los autores...27

Figura 37 Parámetros de la cinemática directa. Fuente: Los autores. ...28

Figura 38 Modelo simplificado descrito con sus articulaciones rotacionales y eslabones. Fuente: Los autores ...28

Figura 39 Asignación de los sistemas de referencia. Fuente: Los autores ...29

Figura 40 Esquema de la ley de cosenos...31

Figura 41 Esquema geométrica de dos eslabones. Fuente: Los autores...31

(8)

...37

Figura 44 Variación del número de módulos teniendo fijosα=π/2, ϕ= -π a) M=6 b) M=8Fuente: Los autores ...37

Figura 45 Interfaz del simulador de trayectorias con el caso para 2 módulos. Fuente: Los autores ...38

Figura 46 Interfaz del simulador de trayectorias con el caso para 4 módulos. Fuente: Los autores ...39

(9)

ÍNDICE DE TABLAS

(10)

INTRODUCCIÓN

El ser humano ha buscado a través de la tecnología formas para mejorar su calidad de vida y la del ambiente que le rodea, buscando además que las máquinas puedan reemplazarlo en labores que pueden ser peligrosas, o que tienen gran complejidad de ejecución. En las últimas décadas se han desarrollado sistemas robóticos de apariencia y comportamientos similares a los de sistemas biológicos, intentando simular diferentes animales; como insectos, mamíferos e inclusive al ser humano; tratando de buscar aplicaciones para la medicina, el entretenimiento, educación, etc. Los avances en esta área van encaminados a que estos sistemas sean autónomos y puedan adaptar sus comportamientos al medio en el que se desenvuelven. Los estudios en este campo son conocidos como biomimética, biónica, biognosis, entre otros. Por otro lado el desarrollo de esta tecnología no solo se alimenta del campo de la biología puesto que estos avances también se han dado gracias a campos como la psicología, la etología, la neurociencia y la teoría evolutiva, estas ciencias han servido para comprender el comportamiento de los animales y así poder modelar los robots de la forma más parecida posible.

La robótica móvil ha permitido clasificar las diferentes morfologías Bio inspiradas de acuerdo a los movimientos de los animales, dentro de esta clasificación de los robots móviles se encuentran los robots de cuerpos articulados, tal como se ilustra en el diagrama de la Figura1.

Figura 1 Diagrama de los robots móviles. [1]

Dentro de los robots con cuerpos articulados, se encuentran los robots ápodos que son aquellos que intentan imitar animales que no disponen de ningún tipo de extremidades para desplazarse, tales como orugas o serpientes. En el estudio de locomoción serpentina se tratan dos aspectos importantes; el estudio del movimiento y la modularidad, basadas en las ventajas naturales de estos animales, ya que cuando se desea construir un robot serpentino se hacen pequeños módulos que luego son ensamblados para generar una cadena cinemática.

(11)

Con base en el estado del arte de la robótica modular, el presente trabajo pretende aportar a la Pontificia Universidad Javeriana una herramienta de simulación y generación de movimiento para el estudio de un robot tipo serpiente. Planteando un modelo mecánico simplificado del robot, estudiando los modelos simples existentes y tomando los aspectos matemáticos de las trayectorias en 2D, se desarrollará una interfaz en MatLab®, la cual tendrá como entrada los parámetros de diseño del robot del usuario, los cuales se encuentran descritos en las especificaciones, donde se detallan los rangos que permiten el correcto uso del simulador, de esta manera se podrá brindar una ayuda gráfica y eficaz para el diagnóstico y diseño de nuestros robots tipo serpiente.

(12)

CAPÍTULO I

MARCO TEÓRICO

Las serpientes biológicas son la fuente de inspiración para los robots tratados en este trabajo. Para una mejor comprensión se iniciará con una breve introducción a la fisiología y locomoción serpentina. Se describirán los modelos de robots y simuladores estudiados para la implementación del proyecto y posteriormente se encontrará la explicación de los conceptos básicos de los generadores, la cinemática de los robots, la velocidad angular y las trayectorias articulares.

1. CARACTERÍSTICAS SERPIENTES BIOLÓGICAS

1.1 PIEL

Las serpientes son reptiles de cuerpo sumamente alargado, cubierto de escamas dorsales y sin patas, la mayoría utiliza las escamas del vientre para poder desplazarse, aferrándose con ellas a la superficie. Sus ojos no poseen párpados ni movimiento, y están recubiertos por escamas transparentes.

1.2 ESQUELETO

Una serpiente puede tener hasta 400 vértebras, lo que le da gran flexibilidad de movimientos. Las vértebras permiten también la fijación de sus poderosos músculos, responsables de la locomoción, la captura de presas y su ingestión. Su esqueleto está formado por: un cráneo, la columna vertebral, las costillas y, a veces, rudimentos de pelvis. La cabeza comprende una parte superior o cráneo propiamente y una inferior o mandíbula, con dos ramas móviles. Estas dos partes (cráneo y mandíbula) no están articuladas directamente como en otros vertebrados, sino a través de un hueso denominado "cuadrado", que permite el descenso de la mandíbula cuando el animal abre la boca para engullir presas más voluminosas que su propio cuerpo.

1.3 DENTADURA

La mayoría de las serpientes posee dientes, pero son muy variadas sus formas y funciones. A diferencia de los mamíferos que tienen uno o dos cambios de dientes, las serpientes cambian sus dientes a lo largo de su vida. Generalmente son de forma cónica sencilla, pero varía según la región de la boca en que esté ubicada. Poseen cantidad de dientes que cumplen la función de empujar el alimento hacia la garganta, y para sujetar la presa. Los colmillos especializados de las serpientes ponzoñosas, también se cambian a lo largo de la vida.

1.4 LOCOMOCIÓN SERPENTINA

Las serpientes tienen la capacidad de deslizarse, saltar, nadar, sumergirse en la arena y escalar planos inclinados aunque no tengan patas. Para moverse tienen cuatro tipos de locomoción: serpentina, rectilínea, concertina y el golpe de costado que es usado por varias especies del desierto. En el siguiente diagrama se describen los tipos de locomoción anteriormente nombrados:

 Ondulación Lateral:

(13)

 Concertina:

Cuando una serpiente esta en ambientes estrechos, automáticamente "sustituye" regiones de su cuerpo para establecer ciertos puntos estáticos de contacto, este movimiento se ilustra en la Figura 4. Debido al movimiento intermitente de parada - avanzar, el momento de inercia no es conservado y el movimiento es exhaustivo en cuanto a energía se trata y además es lento.[14]

Figura 4 Descripción Del Movimiento Concertina Rectilíneo.[14]

La piel de la superficie ventral se mueve hacia atrás y hacia adelante por la acción de poderosos músculos y las anchas escamas del vientre se clavan en la tierra permitiendo al animal desplazarse hacia adelante en línea recta como se observa en la Figura 5. Para este movimiento son importantes la amplitud, frecuencia y diferencia de fase.[14]

Figura 5 Descripción Del Movimiento Rectilíneo[14]

 Serpentino:

Este método es un caso especial del concertina sólo que utiliza una ondulación lateral. En un momento dado, mínimo dos porciones de la serpiente deben estar en contacto estático con el suelo, mientras tanto el resto del cuerpo de la serpiente se mueve hacia delante. Este movimiento conserva el impulso y se afirma que es el más observado en las serpientes. Chirikjian y Burdick hicieron una investigación en base a este movimiento para desarrollar su modelo de robot serpentino.[14]

Figura 6 Descripción Del Movimiento Serpentino[14]

2. ANTECEDENTES

Los robots serpentinos no son tan ágiles como otros pero tienen una serie de ventajas que justifican su investigación. Actualmente diferentes laboratorios y universidades desarrollan modelos de robots serpentinos y sus simuladores. En este proyecto se estudiaron varios de estos modelos para poder hacer la implementación del modelo mecánico simplificado, a continuación se nombran los modelos más representativos:

2.1 MODELOS SHIGEO HIROSE

(14)

ACM III (Active Cord Mechanism)

Es un robot tipo serpiente creado en Diciembre 26 de 1972, el cual es el primero en lograr el movimiento serpentino usando el mismo principio de locomoción de una serpiente real. En la Figura 7 se muestra una imagen de este modelo, el cual mide 2 metros de longitud, pesa 28 kilogramos y consta de 20 articulaciones conectadas que generan un movimiento balanceado a través de un eje vertical y alcanza una velocidad de 40 cm/seg, cada articulación posee un servomecanismo que permite que la serpiente doble a derecha o izquierda, para que tenga contacto con el suelo se le añadieron unas ruedas muy pequeñas a lo largo del cuerpo a lado y lado, estas permiten el movimiento deslizándose hacia los lados y dificultando el movimiento en línea recta. El movimiento de propulsión se logra mediante la entrada de valores que generen un movimiento sinusoidal desde la cabeza hacia el resto del cuerpo. Además para controlar el cuerpo se le añadieron sensores táctiles a través del mismo en ambos lados para lograr un mayor control del movimiento y hacerlo desplazar a través de laberintos y rodear objetos.[10]

Figura 7. Robot ACM III [10]  ACM-R3:

Este robot tipo serpiente fue desarrollado en 2001 y es del tipo inalámbrico, sus movimientos se pueden desenvolver en 3 dimensiones; mide 1,8 metros, pesa 12 kilogramos y posee 20 eslabones, tal como se muestra en la Figura 8. Está compuesto por dos tipos de articulaciones que tienen diferentes ejes de doblamiento y están conectados alternativamente a 90° permitiendo movimientos en 3-D. Cada una de las articulaciones tiene un grado de libertad, lo que hace que el mecanismo sea simple y se convierta en el modelo estándar de robots tipo serpiente en 3-D. el movimiento de doblaje es generado por un servomotor radio controlado y posee una batería de níquel-hidrógeno que permite que el robot funcione continuamente por más de 2 horas. Las ventajas de este modelo con respecto al modelo ACM-III es que tiene un amplio rango en el ángulo de junturas, las ruedas cubren el cuerpo totalmente sin importar las posturas y permiten movimientos de deslizamiento suaves sin importar la pose que se adopte, para las ruedas se tiene fluidez y baja fricción de rotación incluso en terrenos de alta fricción. La velocidad que puede alcanzar en el movimiento serpentino es de 1m/s y puede levantar su cuello a una altura de 500 mm. El robot puede realizar los movimientos de serpentino y ondulación lateral.[10]

(15)

ACM-R5:

Este robot está equipado con módulos independientes que componen su cuerpo. El movimiento ondulatorio que genera le permite desplazarse en tierra gracias a sus ruedas no tractoras como se observa en la Figura 9, y en el agua, en la que puede sumergirse y bucear. Cada módulo es completamente independiente, con su CPU, batería y motores. Un sistema informático avanzado coordina los movimientos y así los módulos pueden ser reemplazados, añadidos, o eliminados, muy fácilmente. Este modelo es una modificación del modelo HELIX hecho en 2001, mide 1,6 metros, pesa 6,5 kilogramos y tiene 8 articulaciones aunque este número puede ser modificado. [10]

Figura 9. Robot ACM-R5 [6]

2.2 MODELOS JUAN GONZÁLEZ GÓMEZ

Juan González Gómez es ingeniero de telecomunicaciones de la universidad politécnica de Madrid, tiene conocimientos en micro-controladores y sistemas digitales, robótica móvil, Linux, entre otros. Utiliza en sus desarrollos software libre y tiene una página web donde comparte sus trabajos y proyectos bajo la licencia de software libre. Sus proyectos más conocidos son:

Robot Cube Revolutions:

Es un robot modular tipo ápodo creado en 2004, sus dimensiones son 52x52x576 mm y peso 400 gramos, consta de 8 módulos Y1 (módulos diseñados por el mismo autor) que están conectados con la misma orientación, este modelo se muestra en la Figura 10. Cada modulo posee un servomotor que es controlado para permitir los diferentes movimientos del robot. No tiene ruedas o patas, es capaz de desplazarse en línea recta (1-D) mediante ondulaciones de su cuerpo, que se propagan desde la cola hasta cabeza, puede adoptar diferentes formas.[8]

Figura 10. Robot Cube Revolutions [8]  Robot Hypercube

(16)

Figura 11. Robot Hypercube [8]

2.3 NORWEGIAN INSTITUTE OF SCIENCE AND TECHNOLOGY

En los estudios realizados por este instituto de ciencia y tecnología se presentan técnicas de modelado matemático sobre los robots tipo serpiente, así como la descripción detallada de los diferentes tipos de locomoción serpentina. Se centran en reconocer la capacidad de estos robots para adaptarse a cualquier terreno e inspeccionar lugares estrechos, por lo que los estudios en este instituto implementan el uso de obstáculos y diferentes tipos de superficies a través del modelado y el estudio de locomoción. En la Figura 12 se puede observar uno de los robots estudiados e implementados por este.[17]

Figura 12. Robot Serpiente con 11 módulos y superficie con obstáculos[17]

2.4 JOEL BURDICK Y GREG CHIRIKJIAN

Burdick y Chirikjian presentaron avances en planeación de trayectorias y cinemática de mecanismos serpentinos. Desarrollaron un entorno 3D donde establecieron nuevas formas de movimiento añadiendo contracciones y extensiones hasta entonces nuevas. Como la mayoría de los manipuladores no describen curvas continuas, ellos desarrollaron un algoritmo paralelo en el cual los segmentos del serpentino se ajustaban a diferentes tipos de curvas, analizando en un tiempo determinado llegaron a hallar la velocidad articular. Intentaron disminuir los grados de libertad en robots hiper-redundantes para poder ejecutar tareas más específicas, pero aun así este modelo tiene 12 grados de libertad tal como se muestra en la Figura 11. Tuvieron en cuenta un espacio con obstáculos, con este modelado se logro hacer planeación de trayectorias y selección de caminos.

(17)

2.5 YANSONG SHAN Y YORAM KOREN

En 1993 desarrollaron un mecanismo basado en el movimiento concertina para poder esquivar obstáculos como se muestra en la Figura 14, su dispositivo utiliza una serie de enlaces cada uno con un grado de libertad y solenoides para ubicar los puntos de contacto, ubicando estos puntos el robot se desplaza al lugar indicado. Este movimiento tuvo un rendimiento mejor que el de una serpiente real. La configuración de estos robots se limitó a superficies planes y con gran espacio, ya que la sección transversal lo necesita para poder describir el movimiento. La relación longitud y diámetro hacen que no sea un modelo optimo para lugares estrechos. [5]

Figura 14. Robot MS1[5]

2.6 ANA II

En la Pontificia Universidad Javeriana han desarrollado varios trabajos de grado en robótica modular, uno de esos fue el de Aura María Cardona Baquero y Jorge Isaias Barrero Duarte; quienes desarrollaron un robot de cadena articulada, el cuál puede desplazarse describiendo la locomoción rectilínea y hacer giros en la plataforma. Este robot tiene cinco módulos interconectados entre sí. Es controlado por un circuito micro-controlado maestro que utiliza comunicación serial con los circuitos esclavos de cada módulo, permitiendo la generación de secuencias y controlando la posición de los servomotores. De esta manera el maestro le indica a cada esclavo el tipo de locomoción que se necesita describir. En la Figura 15 se encuentra la imagen de este prototipo.[2]

Figura 15. Robot ANA II. [2]

3. SIMULADORES

(18)

3.1 WEBOTS

Es una aplicación de desarrollo y simulación de robots. Permite generar secuencias de movimiento y creación de estructuras, su interfaz gráfica se muestra en la Figura 16. Este simulador tiene la opción de escoger la forma, el color, el tamaño, la fricción, etc, de los objetos que conforman el robot. Es multiplataforma por lo tanto se puede trabajar en Windows, Linux y Mac, como es un software propietario necesita licencia al igual que MatLab, por lo tanto en cuanto a costos esto representa una desventaja.[13]

Figura 16 Interfaz Simulador WEBOTS [13]

3.2 DARWIN2K

Simula cualquier clase de robot y todos sus componentes, es un simulador dinámico de bajo nivel, puede simular: la cinemática y dinámica del robot, permite diseñar robots modulares, detecta colisiones, contiene una base de datos de componentes reales para la construcción de los robots, tales como los motores. Esta programado en C++ para ambiente Linux y es visualizado en Open GL. Es software libre y es el producto del desarrollo para tesis doctoral realizado por Chris Ledger. En la Figura 17 se observa un ejemplo de simulación en este programa.[11]

Figura 17 Simulación DARWIN2K [4]

3.3 ADAM

(19)

Figura 18 Simulación ADAM. [3]

3.4 POLYBOT

Es un robot modular que tiene su propio entorno de simulación adaptado a sus módulos. Fue desarrollado en Java, se caracteriza porque puede almacenar los resultados de la simulación hecha, en la Figura 19 se muestra la interfaz gráfica de este simulador. Fue implementado por Yim Mark. [19]

Figura 19 Interfaz Polybot [19]

Los simuladores se clasifican en tipo on-line y off-line (OLP), el primero se utiliza cuando se tiene un robot físico para la programación del generador y se tiene en cuenta el entorno en el cual se encuentra el robot. En cambio el generador off-line hace la programación basándose en el modelo cinemático del robot, considera aproximaciones ideales y no se tiene en cuenta el entorno.

Cuando se desea que un robot se mueva en una trayectoria determinada, es necesario darle las coordenadas que debe seguir de esta manera se define la posición de cada modulo del robot, al final la cadena cinemática revelará el tipo de locomoción que se ha escogido. Existen lenguajes de programación de robots los cuales definen una acción específica.

Respecto al nivel de abstracción soportado por el lenguaje de programación se puede distinguir:  Orientados al robot:

Se dispone de un conjunto de instrucciones de movimiento, el programador determina el conjunto de acciones y movimientos necesarios para resolver la tarea.

 Orientados a la tarea:

El usuario determina que es lo que desea que el robot haga, en este caso no aclara cómo desarrollar la tarea. La tarea es especificada con interfaces que van desde los entornos hasta el entorno grafico de trabajo. Es el propio lenguaje el que permite realizar la tarea a partir de los parámetros especificados por el usuario.[16]

3.5 PROGRAMACIÓN ORIENTADA A LA TAREA

(20)

momento de realización de estas. Primero se analizan las características de la tarea y se hace una planeación de la secuencia de operación, luego se definen las instrucciones de forma clara y concreta. 3.6 PROGRAMACIÓN ORIENTADA AL ROBOT

Las características más importantes para un lenguaje de este tipo son:  Iniciación:

Consiste en hacer la ubicación de los módulos en un punto inicial establecido previamente.  Manejo De Localizaciones:

Consiste en la aceptación de diferentes formas de manejar las posiciones y orientaciones. En este se maneja la transformada homogénea para expresar la ubicación del extremo del robot.

 Puntos De Paso:

Cuando se tiene un robot serpentino y este se desplaza desde un punto A hasta un punto B a través de una trayectoria X, se tiene en cuenta un historial de posicionamiento, al tener esto es posible determinar el objetivo o el final de la trayectoria al que se necesita llegar. En este caso no se tienen en cuenta los puntos intermedios porque la superficie no tiene obstáculos.

 Características Del Lenguaje De Propósito General:

El lenguaje debe ser capaz de analizar diferentes tipos de trayectorias ya sean expresadas en números enteros, reales o imaginarios.

 Paralelismo:

El lenguaje de programación debe aceptar la ejecución de varias tareas simultaneas, en éste caso es necesario que cada módulo tenga una traslación diferente en el mismo instante de tiempo, ya que son cuatro módulos describiendo un tipo de locomoción.

 Sincronización:

Cuando un robot interactúa en el mundo real se presentan errores, el lenguaje de programación debe prever estos acontecimientos y darle al robot diferentes formas de solucionar los inconvenientes. Por ejemplo si uno de los módulos no traza bien la trayectoria hacer que los otros compensen el movimiento de manera que la tarea culmine con éxito.

 Variables Sensoriales:

Se encargan de recoger la información que los sensores suministran. “Cualquier tarea a realizar por un robot en la que no sea necesario interactuar directamente con el entorno, requiere de un movimiento del mismo. Éste resulta condicionado por la precisión necesaria, las restricciones espaciales y/o temporales impuestas que se traducirán a determinadas velocidades y aceleraciones, etc.

Todos estos condicionamientos para el movimiento se establecen según los requerimientos de cada tarea a realizar, y tienen que ser considerados a la hora de determinar las trayectorias a seguir en el espacio, a partir de las cuales, y teniendo en cuenta el modelo cinemático del robot, se determina una serie de referencias. [16]

4. CINEMÁTICA

La cinemática es el estudio del movimiento sin analizar las fuerzas que lo causan. Involucra el análisis de la geometría y las propiedades del movimiento basadas en el tiempo. En el caso de los robots serpiente, la cinemática es la manera como los eslabones que conforman la estructura mecánica se mueven respecto a los otros a través del tiempo.

En el desarrollo de este trabajo se utilizan los manipuladores seriales o de cadena cinemática abierta. Una cadena cinemática es la unión de eslabones mediante articulaciones, se dice que es abierta por que el eslabón se conecta a otro por una sola articulación. [18]

(21)

tres de orientación (α,β,γ). Mientras que en el espacio articular los parámetros se representan los parámetros de las articulaciones como un vector de ángulos o desplazamientos de las mismas.

Existen dos tipos de análisis cinemático: el directo, en el cual en base a parámetros conocidos de las variables articulares se puede obtener la posición que tendrá su extremo final, y el inverso, en el cual se conoce la posición del último eslabón y se puede calcular el valor de los ángulos de cada articulación existente. En el diagrama de la figura 20 se relaciona la cinemática directa y la inversa.

Figura 20 Mapa conceptual cinemática directa e inversa. Fuente: Los autores

4.1 ESPACIO ARTICULAR Y CARTESIANO

Como se observa en la Figura 21 las articulaciones han sido enumeradas desde 1 hasta 2, éstas se expresan como

q y q

1 2, y son las variables articulares. Éstas se escriben en el vector de variables articulares que será:

1 2

( , )

q

q q

(1.1)

Figura 21 Numeración de las articulaciones. Fuente: Los autores

El extremo del robot puede tomar una posición y orientación cualquiera en el espacio cartesiano, y el vector de coordenadas del extremo del robot será como el de la expresión (1.2), el cual tendrá tres parámetros de posición y tres de orientación:

( , , , , , )

px y z

  

(1.2) ESPACIO ARTICULAR

Valores de las coordenadas articulares

ESPACIO CARTESIANO Posición y orientación del

extremo del robot

(22)

La función que relaciona los parámetros en el espacio articular y el cartesiano es no lineal y viene dada por la expresión (1.3) para la cinemática directa y tiene una única solución, para la cinemática inversa viene dada por la expresión (1.4) en este caso a veces se tiene solución pero no se garantiza que sea única. (15)

( )

pF q (1.3)

1

( )

q F

p

(1.4)

5. CINEMÁTICA DIRECTA

En el análisis de la cinemática directa se obtiene la ubicación espacial (x,y,z) de los eslabones del serpentino y por medio de sus características geométricas se hallan los ángulos de cada articulación (

q q q

1

, , ,...,

2 3

q

n).

1 2 1 2 1 2 ( , )

( , ) ( , )

x y z x f q q y f q q z f q q

  

(1.5)

Siguiendo con el ejemplo de la Figura 21 la posición del robot estará dada por las ecuaciones de la expresión 1.5.

Figura 22 Sistemas de Referencia. Fuente: Los autores

A cada eslabón se le asocia un sistema de referencia y utilizando transformaciones homogéneas es posible representar las rotaciones y traslaciones relativas entre los módulos del robot tal como se muestra en la Figura 22. En la solución de la cinemática directa el primer paso que se debe realizar es definir los parámetros de referencia Denavith –Hatenberg a partir de una posición inicial del robot. El segundo paso es asignar los sistemas de referencia de cada eslabón. El tercero hallar la matriz homogénea.

5.1 PARÁMETROS DENAVIT-HATENBERG

(23)

Figura 23 Numeración de eslabones y articulaciones. Fuente: Los autores

Gracias a esta conexión eslabón-articulación es posible describir el sistema mecánico por medio de cuatro parámetros; dos describen el tamaño y la forma del eslabón y los otros dos describen la posición relativa de un eslabón respecto a su predecesor.

Los parámetros que definen el tamaño y la forma del eslabón son: la longitud de eslabón y la torsión de eslabón. Mientras que los parámetros que describen la posición relativa del eslabón con respecto a su predecesor son: separación de eslabón y el ángulo de juntura o articular. En la Figura 24 se ilustran éstos parámetros.

Se pueden establecer los dos parámetros relativos al tamaño y la forma del eslabón: 

a

i

Distancia entre los ejes i-1 e i de las articulaciones a lo largo de la normal común. Este parámetro define el tamaño del eslabón, por lo que se conoce como lalongitud del eslabón.

i:

Ángulo que existiría entre los ejes i-1 e i de las articulaciones si éstos se encontraran en los puntos de corte de la línea normal común. Éste parámetro mide la forma del eslabón a través del ángulo sobre el que se encuentra girado, por lo que se le conoce comoángulo de torsión del eslabón.

(24)

En cuanto a los parámetros que relacionan la posición relativa de un eslabón con su predecesor: 

d

i

Distancia entre las intersecciones de las normales comunes al eje de la articulación i, medida a lo largo del eje. Esta medida expresa la distancia entre dos eslabones marcada por el tamaño y la forma de la articulación, por lo que se denominalongitud articular.

i

Ángulo que existiría entre las líneas normales comunes al eje de la articulación i si se cortasen en el mismo punto del eje de la articulación. Expresa el ángulo que forman dos eslabones, marcado nuevamente por la forma de la articulación por lo que se denominaángulo articular.

Hay dos tipos de articulación que se implementan en los robots tipo serpiente la rotacional y la prismática. En la rotacional se produce una variación del ángulo ,el ángulo relativo que forman dos eslabones que se enlazan, por lo que para este tipo de articulación éste parámetro resulta ser variable, y se asocia a la variable articular . Sin embargo, el parámetro que establece la distancia relativa entre los dos eslabones NO varía, permanece fijo para éste tipo de articulación. Por otro lado la articulación prismática varía el parámetro que se asocia a la variable articular permaneciendo fijo .[16]

5.2 ASIGNACIÓN DE SISTEMAS DE REFERENCIA

El método de solución se basa en la definición de los sistemas de referencia asociados a cada uno de los eslabones para que sea posible realizar la transformación entre los dos eslabones consecutivos sólo mediante dos giros y dos traslaciones, las correspondientes a los parámetros Denavit – Hatenberg. Es importante tener en cuenta que se pueden realizar diferentes asignaciones del sistema de referencia a un mismo eslabón, con el propósito de que algunos de estos parámetros para determinados eslabones resulten nulos.

En la Figura 25 se observa la asignación de los sistemas de referencia, en ésta el origen del sistema de la articulación i se ubica en el punto creado por la perpendicular de

a

iy el eje articular i.El eje Z es el eje de referencia de i se hace coincidir con el eje articular i. El eje X coincide con la distancia

a

idesde la articulación i hacia la articulación i+1. El eje Y se define a partir del eje

X

i, tomando como referencia la regla de la mano derecha.

(25)

Para poder relacionar los sistemas de coordenadas de los módulos es necesario respetar las reglas de los parámetros Denavit - Hartenber que han sido establecidas:

 Girar con respecto al eje un ángulo , para lograr alinear el eje con el eje  Trasladar a lo largo del eje una distancia , para que los ejes y coincidan  Trasladar a lo largo del eje una distancia , para que coincidencia el punto de origen y  Girar con respecto al eje un ángulo∝ para que coincidan los sistemas de coordenadas 5.3 MATRIZ HOMOGÉNEA

A partir de la definición de las coordenadas homogéneas surge inmediatamente el concepto de matriz de transformación homogénea. Se define como matriz de transformación homogénea T a una matriz de dimensión 4x4 que representa la transformación de un vector de coordenadas homogéneas de un sistema de coordenadas a otro.

T = Rf wp = RotaciPerspectivaón TraslaciEscaladoón (1.6)

En la Ecuación 3 se muestra la composición de la matriz homogénea la cual se divide en cuatro submatrices de distinto tamaño:

 submatriz R3x3que corresponde a una matriz de rotación.  submatriz p3x1 que corresponde al vector de traslación.

 submatriz f1x3 que representa una transformación de perspectiva  submatriz w1x1 que representa un escalado global.

En robótica modular se tiene en cuenta solamente el valor de R3x3y de , considerándose las componentes nulas y la de la unidad. Al tratarse de una matriz 4x4, los vectores sobre los que se aplique deberán contar con cuatro dimensiones, que serán las coordenadas homogéneas del vector tridimensional de que se trate.

Se considera la transformación de perspectiva nula y el escalado global unitario, la matriz homogénea T se ilustra en la expresión 1.7.

= = ó ó (1.7)

Donde se representa la posición y orientación del extremo del robot con respecto al sistema de referencia de la base a través de las matrices de traslación y rotación correspondientes tal como se muestra en las expresiones 1.8 y 1.9

11 12 13 21 22 23 31 32 33

r

r

r

Rotación

r

r

r

r

r

r

 

(1.8)

(

extremo

,

extremo

,

extremo

)

Traslación

x

y

z

(1.9)

6. CINEMÁTICA INVERSA

(26)

6.1 Definición General

Una vez obtenida la transformada homogénea, a través de la cinemática directa, se tiene una matriz de la siguiente forma:

= 0 1 (1.10)

Donde R, corresponde a la matriz de orientación y p representa el vector de posición o traslación. Para hallar todas las soluciones posibles del problema se tiene la siguiente ecuación:

( , … … … ) = (1.11)

Donde H = ( ) ∙∙∙∙∙∙∙∙∙∙∙∙∙ ( )representa la posición y orientación deseada para el último eslabón, y la tarea a resolver es encontrar los valores de las variables articulares , … … … .[16]

6.2 Métodos de solución:

Las ecuaciones obtenidas en la cinemática directa, resultan ser no lineales, ya que aparecen en términos de las funciones sinusoidales, esto sucede en el caso de la matriz de rotación, que compone la matriz de transformación homogénea; por lo que resulta difícil hallar una solución analítica al problema inverso. Además como se mencionaba anteriormente existe la posibilidad de múltiples soluciones o también de que no exista solución. En el caso en que no exista solución puede deberse a que la solución encontrada analíticamente este fuera del campo de trabajo del robot o que no satisfaga los rangos reales para el movimiento del robot. En el caso de múltiples soluciones se debe principalmente a que se relaciona con la geometría del robot y por lo tanto si el robot tiene posibilidad de tomar diferentes ángulos o formas, así mismo variará la solución. A continuación se presentan las principales características de los métodos de solución:

Método de transformaciones de la matriz homogénea:

Este método es complejo en su desarrollo numérico y no garantiza una solución única, además presenta problemas en velocidad y convergencia y resulta más lento y costoso a nivel computacional, ya que es un método iterativo.

Método geométrico:

Por medio de este método se pueden obtener los primeros ángulos articulares que permiten posicionar el robot en un punto determinado. Si se tienen las dimensiones del robot (longitud de los eslabones) y la posición del extremo, se pueden hallar las variables articulares, a través de la geometría del robot y las leyes de trigonometría que relacionan los ángulos. Para implementar este método se debe escoger un punto de referencia fijo, y de allí se desprenden las ecuaciones que relacionan los ángulos con la forma del robot. En la siguiente figura se tiene un esquema de un robot simple de dos eslabones, la posición final (x, y) y la longitud de cada eslabón (l1 y l2). Las

variables articulares que se van a hallar son los ángulos θ1y θ2.

(27)

Este método es recomendado, ya que es una solución cerrada, es decir es analítica, lo que significa que está resolviendo la siguiente expresión:

= ( , , , , , ) = 1, … . . , . ¡ Error! Marcador no .

Ecuación 1. Ecuación De La Cinemática Inversa, para soluciones analíticas

Donde representa la variable articular, en este caso los ángulos, por ser una articulación de tipo rotacional, representa el número de grados de libertad y ( , , , , , ) representa la posición y orientación del extremo del robot. La solución analítica es preferible porque con ella se puede escoger una solución de las múltiples que pueden obtenerse en el problema cinemático inverso.

7. VELOCIDAD ANGULAR

Uno de los problemas a resolver cuando el robot va a comenzar su movimiento es saber a qué velocidad se moverá según una configuración dada. Para este caso es importante conocer con que velocidad angular y lineal se moverá el extremo del robot, dadas la velocidades de las articulaciones y en el caso inverso dada la velocidad del extremo del robot, que velocidades toman las articulaciones.

Teniendo las posiciones del último modulo se puede obtener la matriz jacobiana, que permite encontrar los valores de las velocidades angulares que el motor tomaría para cada caso. Si se tiene el vector de las velocidades angulares de las articulaciones, dado por:

Θ̇ =

̇

̇

̇ (1.12)

Con el vector 1.13 y basándose en la cinemática directa se obtienen los vectores de posiciones del extremo del robot, si se tiene la configuración con tres eslabones como se muestra en la figura 27, las ecuaciones serian:

Figura 27. Configuración de tres eslabones. Fuente: Los autores.

= 1 1+ 2 ( 1+ 2)+ 3 ( 1+ 2+ 3) 1 1+ 2 ( 1+ 2)+ 3 ( 1+ 2+ 3)

(1.13)

Como las posiciones del extremo del robot están dadas en términos de los ángulos, existe un vector función del vector de los ángulos articulares, especificado para las dos coordenadas del extremo del robot en términos de los ángulos articulares:

(28)

Para obtener las velocidades de los servomotores, necesariamente se tiene una velocidad deseada particular, para cada tipo de robot, dada por:

̇ = ̇

̇ (1.15)

A partir de estas ecuaciones se puede determinar las velocidades para cada articulación dada una velocidad lineal y dado el Jacobiano de la matriz de coordenadas en función de los ángulos articulares:

̇

=

(

Θ

)

= (Θ)

Θ (1.16)

≜ (Θ)Θ̇ (1.17)

Donde (Θ) ≜ ( ) es conocido como el Jacobiano de la transformación no lineal de .Para cada caso

la matriz Jacobiana depende de la no linealidad en los ángulos articulares, donde se obtiene una matriz a partir de las derivadas de un vector respecto a otro vector, en este caso para el ejemplo de tres eslabones se tiene:

(Θ)

= −1sin 1− 2sin( 1+ 2)− 3sin( 1+ 2+ 3) −2sin( 1+ 2)− 3sin( 1+ 2+ 3) −3sin( 1+ 2+ 3) 1cos 1+ 2cos( 1+ 2)+ 3cos( 1+ 2+ 3) 2cos( 1+ 2)+ 3cos( 1+ 2+ 3) 3cos( 1+ 2+ 3)

(1.18)

Para encontrar el valor del vector de las velocidades angulares, la ecuación es:

Θ̇ = (Θ) ̇ (1.19)

Para hallar la matriz inversa de (Θ)se debe tener en cuenta el tamaño de la matriz, ya que cuando la matriz es cuadrada y no singular, puede ser invertida por el método general y se pueden hallar fácilmente las velocidades angulares de las articulaciones.

Sin embargo, no siempre suceden estas condiciones y cuando la matriz (Θ)no es cuadrada, es posible hallar una solución pseudoinversa

Θ̇ = (Θ) ̇ (1.20)

Donde (Θ) denota la cantidad llamada pseudoinversa que está dada por ( ) . La solución encontrada por medio de la descomposición en valores singulares es:

Θ̇ = ∙ ∑ ∙ ∙ ̇ (1.21)

Donde = ∙ ∑ ∙ , que son conocidos como los valores de la descomposición en valores singulares (SVD). La solución pseudoinversa a diferencia de la inversa verdadera no es única, por lo que se debe tener presente que el resultado es uno de las múltiples soluciones posibles.

8. TRAYECTORIAS EN EL ESPACIO ARTICULAR

(29)

 Conversión con ayuda de la cinemática inversa de los puntos cartesianos inicial, final e intermedios a los valores articulares para cada una de las articulaciones.

 Interpolación de los valores articulares para cada articulación de la forma más sencilla, garantizando la máxima suavidad en el movimiento.

(30)

CAPÍTULO II

ESPECIFICACIONES

Para diseñar el modelo mecánico simplificado de un robot es necesario seguir los siguientes pasos: primero hacer un diseño conceptual del modelo en el cual se debe escoger el mecanismo que se va a utilizar y los análisis que permitirán validar el diseño que se escogió. Segundo una vez escogido el mecanismo se realiza un análisis cinemático para determinar si los desplazamientos, velocidades y aceleraciones son los adecuados para la locomoción que se desea describir. Tercero hacer la simulación que permitirá ver las trayectorias que se han implementado.

Figura 28 Diseño de bloques del simulador. Fuente: Los autores.

Analizando el diagrama de la Figura 28, se puede observar que el trabajo desarrollado es un

software que permite al usuario ingresar los parámetros de diseño de su robot a la interfaz de

usuario, los cuales son la entrada al sistema. Estos parámetros son los que permiten describir la curva

sinusoide del generador, por esto es necesario conocer la longitud del módulo, el número de articulaciones, el desfase y el ángulo de serpenteo inicial. En la Figura 29 se muestran los parámetros de entrada que se requieren, posteriormente se describen los parámetros de entrada y sus limitaciones.

ENTRADA

Parámetros de

diseño del robot

que va a

implementar el

usuario.

SISTEMA

INTERFAZ DEL USUARIO

Programa Principal Generación de trayectorias,

análisis cinemático.

SALIDA

Gráficas

(31)

Figura 29 Parámetros del robot. Fuente: Los autores

Número de articulaciones (M):

La cantidad de articulaciones debe ser mayor a 2 para poder hacer el estudio de algún movimiento, se requiere que sean números pares y máximo 6 módulos, esto debido a que cada módulo es un grado de libertad para el robot y se complica el análisis de la cinemática inversa (2≤ M≤ 6). En el caso de la Figura 29, M =3 ya que como se explico en la sección 5.1 las articulaciones se enumeran comenzando con la que conecta la base o eslabón 0 al eslabón 1.

Longitud del eslabón (L):

Medida del eslabón cuando está en posición de reposo, este valor depende del diseño específico que se haga para el prototipo físico.

Á ( ):

Varía sinusoidalmente a lo largo del eje del cuerpo del robot y de su valor depende la forma de la onda su rango es entre [-π,π].

 Á á ( ):

Es el que se forma entre el eje x y la articulación, con este ángulo se busca darle la forma a la curva. Su valor máximo es 120 grados, ya que valores mayores a este provocarían que los módulos se chocaran entre sí.

Número de ondulaciones o repeticiones (k): Este parámetro es el número que representa las repeticiones de la onda, su valor debe ser mayor a 1 para que se puede ver alguna forma de onda, por otro lado a nivel superior no está acotado. (k> 1). En la Figura 29, k=2.

Teniendo estos parámetros en la interfaz estos pasan al programa principal en el que son recibidos por el generador sinusoidal de régimen permanente, el cual se encarga de hallar las coordenadas (x,y) y los ángulos de las articulaciones de los eslabones del robot.

Posteriormente los ángulos y las coordenadas son ingresadas al módulo de cinemática directa en el cual se determina la posición y orientación del último módulo por medio la transformada homogénea, para este caso se tienen articulaciones rotacionales, en éstas sólo varían el ángulo que se forma con el eje x y la distancia que es la distancia entre articulaciones.

Los valores de posición y orientación son llevados al módulo de cinemática inversa, el cual se encarga de hallar los ángulos articulares de todos los eslabones del robot por medio del análisis geométrico del robot,

Articulación 1

Articulación 2 Eslabón

Articulación 3 L

x

y

k

(32)

Jacobiano, después de esto se hace una interpolación de las trayectorias articular usando los valores de las variables articulares halladas en la cinemática inversa, generando así las trayectorias en el espacio articular en función del tiempo. En conclusión los parámetros de salida del sistema serán: los ángulos articulares y las trayectorias en el espacio articular.

(33)

CAPÍTULO III

CINEMÁTICA DIRECTA, INVERSA Y

TRAYECTORIAS

En este capítulo se describirá el funcionamiento e implementación de cada módulo del sistema, está dividido en cinco secciones:

1. Generador de trayectorias 2. Cinemática directa. 3. Cinemática inversa. 4. Velocidad angular.

5. Interpolación de una trayectoria articular con puntos iniciales y finales. 1. GENERADOR DE TRAYECTORIAS

El generador de trayectorias implementado es off-line porque no se dispone del robot para poder ser programado; éste permite simular diferentes tipos de trayectorias utilizando el modelo cinemático del robot con el objetivo de hacer una interfaz que permita hacer una manipulación virtual. Se hace una programación por aprendizaje que consiste en hacer los desplazamientos a través de las trayectorias que se quieren describir, la ventaja más grande de este tipo de programación es que el movimiento es almacenado y puede ser usado para otras aplicaciones.

Los serpentinostienen una topología en una dimensión, es decir son cadenas de módulos orientados en una dirección[20], y se modela como una curva continua sinusoidal con amplitud, periodo y fase. Con los parámetros de entrada al sistema se modela la curva y se generan las trayectorias en dos dimensiones y locomoción en una dimensión, obteniéndose las coordenadas (x, y) y los ángulos articulares, que se usarán en el modelo cinemático para hallar la posición del último eslabón.

Para implementar el generador sinusoidal, se recurre al concepto de modelo alámbrico, el cuál es un modelo simple de dos eslabones iguales unidos por una articulación, para este caso se escoge trabajar con articulaciones de tipo rotacional, con un grado de libertad cuya variable es el ángulo articular. Basado en este modelo se procede a definir los intervalos de los diferentes parámetros que componen el modelo matemático.

(34)

Figura 30 Generador sinusoidal independiente para cada módulo (17)

1.1 PARÁMETROS DEL GENERADOR

Los parámetros a considerar son tanto los que describen la curva serpentinoide, como eslabón en el cuál se basa el modelo de robot tipo serpiente. En la Tabla 1 se encuentran los rangos de cada uno de ellos:

Parámetros Rangos

A amplitud del generador 0, π/2

k Número de ondulaciones k ≥ 1

L Longitud del módulo

T Período T > 0 seg

M Número de articulaciones del robot M ≥ 2 α Ángulo de serpenteo, formado entre el eje x y la articulación 0, 2π/3 d0 Distancia entre el origen y la primera articulación d0>0

l Longitud total del robot (M*L) l > 0 d Distancia entre articulaciones d>0

θ Ángulo de doblaje - π/2, π/2

ϕ Fase variable - π, π

i Número de articulación i∈{1,M}

Tabla 1 Parámetros Del Generador

Para el modelo de la curva serpentinoide, se debe tener en cuenta que la longitud del robot no cambia a medida que realiza la locomoción, por lo tanto les constante. También es importante mencionar que el generador se encuentra en régimen permanente, es decir no llega a oscilar, y que es periódico con periodo T. Por otra parte los parámetros que definen la forma de la curva sonα yk, donde el ángulo de serpenteo α es el que se forma con el eje x , varía dependiendo de las coordenadas (x, y) y k el número de repeticiones de la onda. En las siguientes figuras se representan las variaciones de dichos parámetros

Figura 31 Grafica generador sinusoidal con k=1. Fuente: Los autores

Figura 32 Grafica generador sinusoidal con k=4. Fuente: Los autores

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x y

Generado r S inuso idal

0 0.5 1 1.5 2 2.5 3 3.5 4

(35)

En las figuras 31 y 32 se puede ver el caso en que varia k manteniendo el ángulo α en π/6, se observa cómo afecta la forma de la onda; a medida que aumentan las oscilaciones la amplitud disminuye. Ahora variando el ángulo de serpenteo se aprecia lo siguiente:

Figura 33 Variando el ángulo de serpenteo: a)α=2π/3, b)α=π/6y c)α=π/4.Fuente: Los autores.

Como se puede observar en las figura 33 al variar el parámetroαla onda cambia de forma, en amplitud y periodo. En la figura 33.a se aprecia queα= 2π/3es el valor máximo que puede tomar este parámetro, para evitar choques.

Además de los dos anteriores parámetros la curva serpentinoide también depende de la fase, en la figura 34 se pueden ver estos cambios:

Figura 34. Variación de la fase: a)Φ=π/2 b)Φ=0 c)Φ=-π/2.Fuente: Los autores.

Como se puede apreciar las características de la curva serpentinoide están dadas por los anteriores parámetros, y estos sirven para implementar el modelo matemático del generador sinusoidal, que se describe a continuación.

1.2 MODELO MATEMÁTICO

Para el modelo matemático implementado en Matlab se utiliza el caso discreto, en el cual el ángulo de serpenteo varía discretamente en función de la variable i. La variable discreta i indica el numero de articulación y varía desde 1 hasta M.

(36)

Figura 35 Modelo de curva serpentinoide discreto. (17)

Este ejemplo es tomado para una curva con M=7, los parámetros d yd0 que representan al concepto de bloque se usan para generalizar el modelo, los valores de estos parámetros son:d =L y se mide desde la mitas de un eslabón hasta la mitas del siguiente eslabón, y d0=L/2 se mide desde la articulación hasta la mitas del eslabón.

A continuación se presenta el desarrollo matemático del generador sinusoidal comenzando por el ángulo

α

ique es el ángulo de serpenteo discreto y esta dado por medio de la ecuación 2.1

= + ( − 1) , = 1,2, ……. , (2.1)

La ecuación 2.1 representa el ángulo que se forma con el eje x y que depende de la fase pues con estos valores se describe la forma de la onda.

Las coordenadas cartesianas (x,y) de las articulaciones respecto al extremo izquierdo del bloque se definen en 2.2 y 2.3 respectivamente, en la figura 36 se muestra un esquema, que permite ver la configuración, que permite obtener estas ecuaciones por funciones trigonométricas:

Figura 36 Esquema usado para obtener las ecuaciones de las coordenadas (x,y). Fuente: Los autores

( ) = = 1

( − 1) + ∈[2, ] (2.2)

( ) = = 1

(37)

Las coordenadas ( ) ( )muestran la posición de cada articulación en dos dimensiones y se asocia a cada coordenada un ánguloα( ), en el modelo implementado este cálculo se hace de forma recursiva, ya que las coordenadas y los ángulos van cambiando según el numero de módulos, la fase, el número de repeticiones u ondulaciones (k) y el ángulo inicial de serpenteoα, estos parámetros son los ingresados por el usuario en el simulador. En el anexo 1 el lector podrá encontrar el detalle y descripción del código implementado en Matlab.

2. CINEMÁTICA DIRECTA

La cinemática directa determina la posición y orientación del último eslabón de la cadena cinemática, para resolver el problema de la cinemática directa se utiliza una transformada homogénea este método sistemático está expuesto en [16] página 106. El cual divide el algoritmo en tres fases: primero la definición de los parámetros Denavit – Hartenberg, segundo la asignación de los sistemas de referencia y tercero el cálculo de la transformada homogénea. Antes de empezar a solucionar este problema se establecen en la figura 32 los parámetros de entrada y salida al módulo de la cinemática.

Figura 37 Parámetros de la cinemática directa. Fuente: Los autores.

La representación del robot serpentino es una cadena articulada que incluye seis eslabones cada uno unido al siguiente por medio de junturas rotacionales.La serpiente tiene seis grados de libertad, que corresponde a cada uno de los eslabones utilizados para el modelo, se asumió que la serpiente tiene movimiento sobre un plano, lo que la limita a moverse sólo en dos ejes de coordenadas. Este modelo es simplificado ya que una serpiente real tiene más grados de libertad y su locomoción no se limita a un solo plano. Con estos conceptos claros se desarrolló el modelo mostrado en la Figura 34, donde se tiene una cadena articulada formada por cinco articulaciones y seis eslabones.

Figura 38 Modelo simplificado descrito con sus articulaciones rotacionales y eslabones. Fuente: Los autores

Teniendo el desarrollo del modelo simplificado, se caracteriza. El desplazamiento de la cadena

cinemática va a ser en el plano XY se ubica el sistema de referencia en cero (0) el cuál se ubica

en el eslabón cero o cola del robot tal como se observa en la Figura 39. Para colocar los sistemas

de referencia de los demás eslabones y su respectiva orientación se utilizan los parámetros

Eslabón 1

X Y

Articulación 1 Articulación 2 Articulación 3 Articulación 4 Articulación 5 Base 0

Cola

Eslabón 2 Eslabón 3 Eslabón 4 Eslabón 5 Cabeza Coordenadas (x,y),

ángulos articulares Cinemática directa

(38)

Denavit – Hartenberg. En la tabla 2 se muestran los parámetros obtenidos para la cadena

cinemática descrita anteriormente.

Figura 39 Asignación de los sistemas de referencia. Fuente: Los autores

Link

1 L/2 0 0

2 L 0 0

3 L 0 0

4 L 0 0

5 L 0 0

6 L/2 0 0

Tabla 2 Parámetros Denavit-Hartenberg de la cadena cinemática. Fuente: Los autores.

Teniendo estos parámetros se obtienen las transformaciones homogéneas para cada articulación:

=

⎣ ⎢ ⎢ ⎢

⎡ − 0 ∗

0 ∗

0 0 1 0

0 0 0 1 ⎦

⎥ ⎥ ⎥ ⎤ (2.4) =

− 0 ∗

0 ∗

0 0 − 1 0

0 0 0 1

(2.5)

=

− 0 ∗

0 ∗

0 0 1 0

0 0 0 1

(2.6)

=

− 0 ∗

0 ∗

0 0 1 0

0 0 0 1

(2.7)

=

− 0 ∗

0 ∗

0 0 1 0

0 0 0 1

(2.8)

Y X

(39)

=

− 0 ∗

0 ∗

0 0 1 0

0 0 0 1

(2.9)

Para obtener la matriz homogénea que va dar la posición y orientación del último módulo, se multiplican las transformadas de las expresiones 2.4 a la 2.9 para obtener la transformada de la expresión 2.10:

= ∗ ∗ ∗ ∗ ∗

=

⎣ ⎢ ⎢ ⎢

⎡ ( ) − ( ) 0 + ( + ) + ( + + ) + ( )

( ) ( ) 0 + ( + ) + ( + + ) + ( )

0 0 1 0

0 0 0 1 ⎦

⎥ ⎥ ⎥ ⎤

(2.10)

Donde

i

1

2

3

4

5

6 ,

i

d

i

0

y a es la longitud del eslabón. Hallando esta transformada es posible hallar las posiciones finales que están representadas en las expresiones 2.11 y 2.12:

=

2 1+ ( 1+ 2)+ ( 1+ 2+ 3)+ ( ) (2.11)

=

2 1+ ( 1+ 2) + ( 1+ 2+ 3)+ ( ) (2.12)

Para hallar la cinemática directa se hace el análisis para configuraciones de 2, 4 y 6 módulos, las coordenadas finales son encontradas en las posiciones (1,4) y (2,4) de la matriz de orientación y posición del último eslabón respecto al primero, la matriz (T). En el anexo 1 se puede ver en detalle la implementación de las matrices para cada caso.

3. CINEMÁTICA INVERSA

Se modela un robot simple de dos eslabones, con las coordenadas finales ( , ) obtenidas por la cinemática directa y la longitud de cada eslabón (l1 yl2), ahora se necesita hallar los ángulos θ1 y θ2,que

son las variables articulares que usará el robot para posicionarse según una posición y orientación deseada. Para hallar la solución de tiene en cuenta la siguiente ley trigonométrica:

Ley de los cosenos: = + − 2 cos (2.13)

(40)

Figura 40 Esquema de la ley de cosenos

Dada la forma en que se modela el robot, esta ley resulta bastante útil, para el cálculo de las variables articulares. En la figura 41, se presenta un esquema sencillo del problema planteado para la cinemática inversa:

Figura 41 Esquema geométrica de dos eslabones. Fuente: Los autores.

Reemplazando los valores del modelo en la ley de cosenos, se obtiene la ecuación (2.14), donde C es la distancia ente el origen y el extremo del robot, ayb son los valores de los catetos del triángulo es decir las longitudes de cada eslabón.

( + ) = + − 2 cos(180 − ) (2.14)

cos(180 − ) = − cos( ) (2.15)

cos( ) =

(2.16)

Las ecuaciones (2.14) a (2.16) son el desarrollo de la ley de cosenos, por medio de los cuales se obtiene el valor del ángulo que precede al extremo del robot, es decir el ángulo θ , la ecuación (2.15) muestra el valor obtenido, teniendo en cuenta además que = / 2y =

θ = /

/ (2.15)

Teniendo este valor de la variable articular del eslabón 2, por medio de relaciones algebraicas y trigonométricas se halla el valor de θ . Para mayor facilidad y rapidez en el cálculo, se utilizan las

siguientes convenciones:

= cos y = cos( + )

= sin y = sin( + )

Ahora por medio de trigonometría se tiene que:

= + (2.16)

= + (2.17)

= + (2.18)

(41)

+ =

( + ) + ( + )

= ( + + 2 ) +( + + 2 )

= + + 2 ( + )

Teniendo en cuenta que

+ = + + 2 (2.19)

Esta ecuación se puede resolver fácilmente ya que se conoce el valor de .Para obtener el valor de se

tiene las siguientes ecuaciones:

)

(

)

(

y

2 2 1 1 2 2 1 1 2 2 2 1 2 1 1 12 2 1 1

C

l

l

S

S

l

C

C

S

l

C

S

l

S

l

S

l

S

l

(2.21)

Las ecuaciones (2.20) y (2.21) son el resultado de una manipulación algebraica hallando factores comunes para dejar en términos de , con esto se tienen 2 ecuaciones 2 incógnitas.

) 25 . 2 ( y x x ) ( y 2 2 2 2 2 2 1 1   

l l C l S

S

La ecuación (2.25) está resuelta en términos de las ecuaciones (2.23) y (2.24), obteniéndose finalmente una expresión para encontrar la variable articular correspondiente al primer eslabón. Reemplazando

= / 2y = , se obtiene la ecuación (2.26)

)

20

.

2

(

)

(

)

(

x

2 2 1 2 2 1 1 2 1 2 2 1 2 1 1 12 2 1 1

S

l

S

C

l

l

C

S

S

l

C

C

l

C

l

C

l

C

l

x ( 2 )

) ( 1 ) 24 . 2 ( ) ( ) ( ) ( ) ( x y (2.23) ) ( ) ( x 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 1 2 2 1 2 2 1 1 C l l l l S S l C l l C l l S S l C l l S l S C l l S l S C             

x

)

2

/

(

y

L

LC

LS

(42)

Una vez obtenidos lo ángulos de cada articulación por las ecuaciones (2.15) y (2.26) se procede a hacer una concatenación en el código, para poder hallar los valores de los ángulos para 4 y 6 módulos, a partir de los hallados para dos módulos, realizando el mismo proceso, pero con las posiciones finales dadas por las matrices para 4 y 6 módulos, es decir reemplazando los valores de (x, y) resultantes para cada caso. Dado que la cinemática inversa por el método geométrico tiene una complejidad numérica y analítica que al aumentar el número de módulos, hace complicado obtener una respuesta, él método de concatenar las respuestas, es el menos complejo.

Una vez obtenidas las variables articulares del robot, se puede hallar la velocidad angular y lineal con la que se moverá el robot y también el espacio de trayectorias articular.

4. VELOCIDAD ANGULAR

Teniendo las posiciones del último modulo se puede obtener la matriz Jacobiana, que permite encontrar los valores de las velocidades angulares y lineales del extremo del robot con respecto al sistema de referencia de la base en función de las velocidades articulares y del tiempo. Para cada instante de tiempo los valores de la matriz Jacobiana cambian.

Θ̇ = ̇

̇ Vector de velocidad angular de las articulaciones, dado para dos coordenadas

= 2 1

+ ( 1+ 2)+ ( 1+ 2+ 3)+ ( 1+ 2+ 3+

4)

2 1+ ( 1+ 2)+ ( 1+ 2+ 3)+ ( 1+ 2+ 3+ 4)

) 28 . 2 (

Una vez obtenido el vector de las posiciones dadas por la cinemática directa, para dos dimensiones, se procede a encontrar, la respectiva matriz Jacobiana. Para luego encontrar el valor del vector de las velocidades angulares, por medio de la ecuación:

Θ̇ = ( Θ) ̇ (2.29)

Donde ̇ es la velocidad que viene dada por el vector de posiciones y un tiempo definido por el

programa.

Caso 2 módulos matriz cuadrada 2x2:

( Θ) = − / 2 sin/ 2 cos + cos(− sin( ++ )) − sin(cos( ++ )) (2.30)

̇

̇ = ( Θ)

̇

̇ (2.31)

La matriz inversa es hallada con ayuda de Matlab, para hace el cálculo más rápido, al ser obtenidas las velocidades lineales y angulares del extremo en función de los valores de velocidades articulares, se ha resuelto la Jacobiana directa.

Referencias

Documento similar

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

En estos últimos años, he tenido el privilegio, durante varias prolongadas visitas al extranjero, de hacer investigaciones sobre el teatro, y muchas veces he tenido la ocasión

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,