Vous êtes sur la page 1sur 13

ROBÓTICA MÓVIL

Reporte final

Universidad Autónoma del Estado de México

Integración de un robot bioinspirado con locomoción multimodal


(Diseño, modelado y simulación de la parte terrestre)

Carlos Alberto Sánchez Delgado Dr. Luis Adrián Zuñiga Avilés


Universidad Autónoma del Estado de México Universidad Autónoma del Estado de México
Toluca, México Toluca, México
alberto.iztatik@gmail.com adriandgim@gmail.com

Resumen:
El presente trabajo constituye la primera parte de la propuesta de un robot con capacidad de locomoción terrestre y
aérea. Este texto aborda únicamente el diseño, modelado y simulación de la parte terrestre que constituirá al
sistema final. Primeramente, se detallará la propuesta de diseño para las patas y tórax, ahondando en detalles como
partes, morfología dimensiones y materiales de construcción. Se explicará también la arquitectura de control
electrónico precisando los componentes que la integrarán.
En la siguiente sección se desarrollarán un conjunto de modelos matemáticos capaces de describir la cinemática
directa, inversa y diferencial del sistema. Posteriormente estos modelos serán probados mediante simulaciones
computacionales en el software Matlab-Simulink, generando una simulación para cada tipo de cinemática
anteriormente mencionada, así como una simulación 3d que mostrará la trayectoria de una pata al realizar un ciclo
de marcha.

1. Introducción En [2] se presenta a DALER (Deployable Air Land


Exploration Robot), un robot de locomoción aérea y
El estudio de la integración de dos o más estrategias
terrestre diseñado bajo el enfoque integrativo.
de locomoción en robots surge como una respuesta
al reto de mejorar la movilidad de los mismos en Como se observa en la Figura 1, este cuenta con una
entornos no estructurados y con obstáculos. El morfología adaptativa que le brinda la capacidad de
enfoque de la locomoción multimodal se emplear sus alas como llantas para desplazarse en el
fundamenta en que cada modo de locomoción suelo. Esta planeado para realizar tareas de
permite superar obstáculos distintos, por lo que búsqueda en zonas de desastre dando prioridad al
contar con varios de estos en un sólo dispositivo le
vuelo de largo alcance, su morfología se asemeja a
permitirá adecuarse al ambiente con mayor facilidad
[1]. la de un pequeño aeroplano capaz de volar a una
velocidad de hasta 14 m/s durante 30 minutos.

1
ROBÓTICA MÓVIL
Reporte final
encontrar fallas estructurales en entornos de difícil
acceso para los seres humanos.
Su estructura consiste en un robot hexápodo con 3
grados de libertad por cada pata y 18 grados de
libertad en total para la estructura terrestre. Un
motor sin escobillas con hélice se encuentra
acoplado a cada segmento femoral con la intención
Figura 1: Primer prototipo de DALER [1]
de proveer locomoción aérea al robot. Este modelo
de 18.5 cm de longitud, ha sido fabricado mediante
La integración de locomoción multimodal en una impresora 3d y tiene un peso total de 695 g. La
cuadricópteros de pequeño tamaño presenta Figura 3 muestra el modelo anteriormente descrito.
dificultades principalmente relacionadas con la
autonomía energética, ya que la adición de sistemas
de locomoción demanda un consumo energético
mayor. En la Figura 2 se muestra el Flying Monkey,
un cuadricóptero de 30 g, capaz de volar, caminar y
sujetar objetos [3].

Este robot consta de ocho patas basadas en un


mecanismo de láminas plegables inspirado en los
diseños con origami, que se mueven en dos grupos
con un desfasamiento de 180° y son activadas por el Figura 3: Robot hibrido para la inspección de puentes [4]
movimiento de un solo eje. Un motor de corriente
Otro trabajo de esquema muy similar se presenta en
directa acoplado en la base es el encargado de
[5]. El diseño estructural de este robot consiste en
activar la totalidad de las patas. En cada fase de la
un hexápodo de 3 grados de libertad por pata para la
marcha el robot mantiene cuatro patas en el suelo, locomoción terrestre y 4 motores con hélice
lo cual mejora la simetría y distribuye de forma más acoplados a las patas de los extremos para la
equitativa el peso a diferencia de los diseños locomoción aérea como muestra la Figura 4. Este
basados en seis patas. robot tiene un peso total estimado de 4800g y ha
sido manufacturado mediante una impresora 3d en
PLA y ABS.
Para iniciar el proceso de vuelo es necesario que el
robot adopte una postura predeterminada que le
permita colocar las hélices en la posición adecuada.
Una vez adoptada esta postura, las hélices plegables
son puestas horizontalmente respecto al suelo y al
no haber interferencias mecánicas les es posible
comenzar a rotar.
Figura 2: Flying Monkey [3]

En [4] se propone robot ha sido diseñado para


inspeccionar puentes de acero con el objetivo de

2
ROBÓTICA MÓVIL
Reporte final
segmentos principales, que partiendo de lo proximal
a lo distal son: coxa, fémur y tibia.
La coxa es el segmento que une a la pata con el
cuerpo, el fémur es el segmento intermedio entre la
tibia y la coxa, y la tibia es el “efector final de la
pata”. Cada uno de estos tres segmentos se
encuentran enlazados por las articulaciones
pleurocoxial coxofemoral y tibiofemoral. En el caso
del robot cada una de estas articulaciones se
encuentra actuada por un servomotor.
La Figura 5 muestra una vista en perspectiva del
Figura 4: Robot hexápodo con capacidad de vuelo [5]
modelo de pata propuesto, donde pueden apreciarse
El presente trabajo constituye la primera parte de la detalles morfológicos como el número de secciones
propuesta de un robot con capacidad de locomoción (color negro) y disposición de los actuadores (color
terrestre y aérea. Este texto aborda únicamente el blanco). Los actuadores empleados son los
diseño, modelado y simulación de la parte servomotores XL-320 de la empresa Dynamixel,
terrestre que constituirá al sistema final. debido a sus características de peso (16.7g),
Primeramente, se detallará la propuesta de diseño dimensiones (24mm *36mm * 27mm) y resolución
para las patas y tórax, ahondando en detalles como (0.29°). Además, estos motores tienen las
partes, morfología dimensiones y materiales de destacables capacidades de permitir la
construcción. Se explicará también la arquitectura
configuración de su ley de control y de monitorear
de control electrónico precisando los componentes
automáticamente variables como posición angular,
que la integrarán.
torque y temperatura. De izquierda a derecha se
En la siguiente sección se desarrollarán un conjunto encuentran ordenadas las estructuras
de modelos matemáticos capaces de describir la correspondientes a la coxa, el fémur y la tibia, todas
cinemática directa, inversa y diferencial del sistema. pensadas para ser manufacturadas mediante una
impresora 3d en material ABS mezclado con fibra
Posteriormente estos modelos serán probados de carbono.
mediante simulaciones computacionales en el
software Matlab-Simulink, generando una
simulación para cada tipo de cinemática
anteriormente mencionada, así como una
simulación 3d que mostrará la trayectoria de una
pata al realizar un ciclo de marcha.

2. Diseño

A. Estructura mecánica
Al tratarse de un robot bioinspirado se ha seguido la
premisa de mantener en medida de lo posible la
estructura original que presentan los insectos. En el Figura 5: Detalle de la pata
caso específico de las patas, estas se componen de 3

3
ROBÓTICA MÓVIL
Reporte final
La coxa muestra una estructura simple en forma de
C capaz de girar sobre el eje del primer motor,
mientras esta rígidamente acoplada a un segundo
motor, el cual mantiene siempre su posición
vertical. El fémur consiste en 2 secciones paralelas
las cuales unen al segundo y tercer motor, siendo
capaces de rotar en torno a los ejes de ambos. La
tibia está unida al cuerpo del tercer motor, por lo que
sus movimientos dependen de este. En la zona más
distal de la tibia se encuentra acoplado un elemento
semicircular que suple a las estructuras del tarso y
Figura 6: Detalle del tórax
pretarso, el material de este elemento aún está por
definirse pues debe ser flexible, rugoso y de La Figura 7 muestra al hexápodo ensamblado con
preferencia imprimible. la totalidad de sus patas acopladas al cuerpo y
El acoplamiento de los servomotores a las distintas sosteniendo la tarjeta de control, cámara y batería.
secciones está totalmente restringido por las
especificaciones del fabricante, ya que solo es
posible fijarlos a través de los remaches producidos
por la empresa. La masa neta estimada por pata sin
remaches es de 68.13 g, lo cual indica que el peso
de la estructura sin actuadores es de solo 18.2 g.
Cabe destacar que este peso puede reducirse aún
más si se definen rellenos menores al 100 % al
momento de la impresión.
El tórax se compone de un par de láminas paralelas
ranuradas que fungen como medio de sostén de los
elementos electrónicos. En la Figura 6 es posible
observar la disposición de las tarjetas de control,
Figura 7: Vista isométrica del hexápodo
cámara y batería sobre las placas que conforman el
tórax. Al igual que en las patas la manufactura se B. Componentes electrónicos
realizará en material ABS combinado con fibra de
Se propuso una arquitectura electrónica de 2 niveles
carbono mediante una impresora 3d.
de control. Un nivel bajo para las tareas de
locomoción y uno alto para tareas de comunicación
Debe notarse que las esquinas se encuentran
y procesamiento avanzado.
achaflanadas con un ángulo de 45° e
inmediatamente barrenadas. Este par de barrenos El nivel más bajo será controlado por un
permiten el acople de los servomotores de la coxa microcontrolador ARM de la línea Cortex-M4. Sus
en la estructura, de tal forma que las patas se tareas principales serán ejecutar una ley de control
distribuyen circundando al tórax como muestra la para el vuelo y marcar un patrón de marcha que
Figura 7. Este tipo de distribución asegura la coordine los 18 grados de libertad de las patas. Estos
dos objetivos suponen la realización de un conjunto
movilidad de los apéndices contribuyendo a una
de subtareas como: monitorear constantemente los
buena movilidad.
4
ROBÓTICA MÓVIL
Reporte final
sensores, comunicarse en todo momento con los  Cinemática directa
actuadores y ejecutar complejos algoritmos
Mediante el análisis de la cinemática directa se
matemáticos. Los sensores inerciales del cuerpo
obtendrán un conjunto de ecuaciones cinemáticas
junto con los sensores de presión de las patas son los
útiles para calcular la posición del efector final de
únicos que se monitorearan directamente, los
una cadena cinemática a partir de valores
sensores de torque, temperatura y posición angular
específicos de ángulos entre los eslabones.
de las articulaciones se encuentran embebidos en los
servomotores y su información es trasmitida por la En el caso del robot hexápodo el efector final es la
misma línea por la que se controlan estos punta de tibia, la cual hace contacto con el suelo
actuadores. generando la marcha. La Figura 13 muestra un
diagrama esquemático del apéndice inferior del
Una Raspberry Pi modelo 3b+ será la encargada de
hexápodo.
las actividades de alto nivel, por lo que se le
instalarán Linux y ROS (Robotic Operating
System). ROS es un marco de trabajo con
repositorios listos para aplicarse en tareas de
simulación, localización, mapeo y navegación de
robots móviles que se bien no son objetivo de este
trabajo podrían ser de gran utilidad en pruebas
futuras.
Una batería de polímero de litio (Li-Po) ha sido
propuesta como fuente de alimentación de todos los Figura 8: Diagrama esquemático para cinemática directa
sistemas. Esta batería de 3 celdas aporta 7.4 volts a
A continuación, se detalla la nomenclatura
3 amperes, lo cual es compatible con los
empleada durante todo el análisis:
servomotores, pero incompatible con todas las
tarjetas electrónicas que trabajan a 5 volts; por ello  P.- Posición del extremo de la tibia (efector
un regulador Xl4015 se encargará de generar el final).
voltaje necesario para alimentar estos elementos.  a1.- Longitud del trocánter.
3. Modelado matemático  a2.- Longitud del fémur.
 l.- Longitud de la tibia.
En esta sección se desarrollarán un conjunto de  θ.- Anglos entre los eslabones.
modelos matemáticos capaces de describir la
cinemática directa, inversa y diferencial del sistema. Primeramente, se obtuvieron los parámetros Denavit-
Hartemberg expresados en la Tabla 1:
Ya que la morfología del robot es marcadamente
simétrica, estos modelos se enfocarán a la
descripción de un solo miembro inferior (para), Tabla 1: Parámetros Denavit-Hartenberg
asumiendo la similitud del resto. Unión 𝒂𝒊−𝟏 𝜶𝒊−𝟏 𝒅𝟏 𝜽𝒊
1 0 0 0 𝜃1
Además de describir al sistema, estos modelos serán 𝜋⁄
2 𝑎1 2 0 𝜃2
empleados posteriormente para plantear trayectorias
3 𝑎2 0 0 𝜃3
de movimiento que pudieran convertirse en patrones
de marcha.

5
ROBÓTICA MÓVIL
Reporte final
Los parámetros antes obtenidos permiten plantear La Figura 9 muestra las dimensiones reales de la
una matriz de transformación homogénea por cada apéndice inferior del hexápodo.
unión. En [6] se propone la siguiente forma general
de esta matriz de transformación:
cθi -sθi 0 αi-1
i-1 sθi cαi-1 cθi cαi-1 -sαi-1 -sαi-1 di
iT= [ ]
sθi sαi-1 cθi sαi-1 cαi-1 αi-1 di
0 0 0 1
Si se sustituyen los valores en la tabla para cada
caso se obtienes:
𝑐1 −𝑠1 0 0
0 𝑠1 𝑐1 0 0
1𝑇 = [ ]
0 0 1 0
0 0 0 1
𝑐3 −𝑠3 0 𝑎1 Figura 9: Dimensiones de la pata en mm
1
2𝑇 = [𝑠0 0
𝑐3
−1 0]
3 0 0 Si los parámetros se definen como en la Figura 9 y se
0 0 0 1 sustituyen en (1), se obtiene:
𝑐3 −𝑠3 0 𝑎2
𝑠3 𝑐3 0 0] 𝑎1 =32.03mm
2
3𝑇 = [
0 0 −1 0 𝑎2 = 60𝑚𝑚
0 0 0 1
𝑙 = 119𝑚𝑚
La matriz de transformación que mapea la posición
del efector final respecto a la referencia en la base 𝑐1 (32.03 + 60𝑐2 + 119𝑐23 )
0 0 3
es: .𝑃 = 3𝑇 .𝑃 = [𝑠1 (32.03 + 60𝑐2 + 119𝑐23 )]
60𝑠2 + 119𝑠23
0
3𝑇 = 01𝑇 12𝑇 23𝑇
𝑠1 −𝑎2 𝑐1 𝑐2 −𝑎1 𝑐1 𝑷𝒙 = 𝑐1 (32.03 + 60𝑐2 + 119𝑐23 )
𝑐1 𝑐23 −𝑐1 𝑠23
−𝑐1 𝑎2 𝑠1 𝑐2 +𝑎1 𝑠1 𝑷𝒚 = 𝑠1 (32.03 + 60𝑐2 + 119𝑐23 ) (2)
0 𝑠1 𝑐23 −𝑠1 𝑠23
3𝑇 = [ 𝑠 𝑐23
] 𝑷𝒛 = 60𝑠2 + 119𝑠23
23 0 𝑎2 𝑠2 + 𝑎1
0 0 0 0
Si la posición del efector final respecto a la trama en Con las ecuaciones planteadas en (2) se concluye el
el mismo efector es: análisis de la cinemática directa.
𝑙
3 0
.𝑃 = [0]
 Cinemática inversa
1
La cinemática inversa permite determinar la
Se concluye que las ecuaciones parametrizadas de
posición angular de un conjunto de articulaciones
cinemática directa son:
(espacio articular) para lograr que un actuador final
𝑐1 (𝑎1 + 𝑎2 𝑐2 + 𝑙𝑐23 ) se ubique en una posición deseada concreta.
0
.𝑃 = 03𝑇 3.𝑃 = [𝑠1 (𝑎1 + 𝑎2 𝑐2 + 𝑙𝑐23 )] (1)
𝑎2 𝑠2 + 𝑙𝑠23
En el caso del robot hexápodo cada apéndice cuenta
con 3 grados de libertad, por lo que el modelo de

6
ROBÓTICA MÓVIL
Reporte final
cinemática inversa deberá generar una ecuación por −1
𝜌2 +𝑃𝑧 2 − 𝑙 2 − 𝑎2 2
𝛽 = cos [ ]
cada uno de estos. La Figura 10 muestra un −2 𝑎2 𝑙
diagrama esquemático del apéndice inferior del
hexápodo con las anotaciones necesarias para este Con el apoyo de los ánglos auxiliares y mediante la
análisis. observación de la Figura 11, se obtienen las
siguientes expresiones:
(4)

𝑃𝑧
𝜽𝟐 = tan−1
√𝑃 2 + 𝑃𝑦 2 − 𝑎1
[ 𝑥 ]
2
(√𝑃𝑥 +𝑃𝑦 − 𝑎1 ) +𝑃𝑧 2 + 𝑎2 2 − 𝑙 2
2 2
Figura 10: Diagrama esquemático para cinemática inversa
+ cos −1
2
El ángulo 𝜽𝟏 es sin lugar a dudas el más sencillo de
2𝑎2 √(√𝑃𝑥 2 +𝑃𝑦 2 − 𝑎1 ) +𝑃𝑧 2
obtener pues solo depende de la posición del efector [ ]
final en x y en y. La ecuación que relaciona estas
coordenadas es: (5)
𝑃𝑦 𝜽𝟑 = −(𝜋 − 𝛽)
𝜽𝟏 = tan−1 [ ] (𝟑)
𝑃𝑥 2

La deducción geométrica de los 2 ángulos restantes (√𝑃𝑥 +𝑃𝑦 − 𝑎1 ) +𝑃𝑧 2 − 𝑙 2 − 𝑎2 2


2 2

es más compleja por lo que resulta conveniente = − cos−1


2 𝑎2 𝑙
plantear una vista desde el plano generado por los
eslabones como lo muestra la Figura 11. [ ]
 Cinemática diferencial directa
La cinemática diferencial directa consiste en un
conjunto de ecuaciones que transforman las
velocidades articulares a velocidades cartesianas del
efector final.
Estas se pueden obtener derivando la cinemática
directa respecto al tiempo. Estas ecuaciones
generalmente se expresan en forma matricial, dando
como resultado una matriz conocida cono
Figura 11: Detalle de la cinemática inversa Jacobiano.
Antes de realizar las deducciones, es conveniente Derivando (2) respecto al tiempo se obtiene:
definir un par de ángulos auxiliares 𝛼 𝑦 𝛽 como:
𝑃𝑧
𝛼 = tan−1 [ ] 𝑃𝑥̇
𝜌 𝑑 0.𝑃
0
.𝑉 = = [𝑃𝑦̇ ]
𝑑𝑡
𝑃𝑧̇

7
ROBÓTICA MÓVIL
Reporte final
 Cinemática diferencial inversa
𝑷𝒙̇ = −𝑠1 (𝑎1 + 𝑎2 𝑐2 + 𝑙𝑐23 )𝜽̇𝟏 (𝟔) La cinemática diferencial inversa permite el mapeo
de velocidades cartesianas del efector final a
−𝑐1 (𝑎2 𝑠2 + 𝑙𝑠23 )𝜽̇𝟐 − 𝑙𝑐1 𝑠23 𝜽̇𝟑
velocidades en el espacio articular. Es posible
𝑷𝒚̇ = 𝑐1 (𝑎1 + 𝑎2 𝑐2 + 𝑙𝑐23 )𝜽̇𝟏 (𝟕) realizar este análisis invirtiendo la matriz Jacobiana
de la cinemática directa diferencial.
−𝑠1 (𝑎2 𝑠2 + 𝑙𝑠23 )𝜽̇𝟐 − 𝑙𝑠1 𝑠23 𝜽̇𝟑
Además, permite la ubicación de puntos de especial
𝑷𝒛̇ = (𝑎2 𝑐2 + 𝑙𝑐23 )𝜽̇𝟐 + 𝑙𝑐23 𝜽̇𝟑 (𝟖)
importancia conocidos como singularidades.
La inversa del Jacobiano se define como:
Para reducir el volumen de las ecuaciones definimos
0 −1
𝑎𝑑𝑗(𝐽)
las equivalencias: .𝐽 =
det(𝐽)
𝑷𝒙̇ = 𝑎𝜽̇𝟏 + 𝑏𝜽̇𝟐 + 𝑐𝜽̇𝟑
La cual puede definirse mediante las equivalencias
𝑷𝒚̇ = 𝑑𝜽̇𝟏 + 𝑒𝜽̇𝟐 + 𝑓𝜽̇𝟑 anteriormente planteadas como:

𝑷𝒛̇ = 𝑔𝜽̇𝟏 + ℎ𝜽̇𝟐 + 𝑖𝜽̇𝟑 𝑒𝑖 − ℎ𝑓 ℎ𝑐 − 𝑏𝑖 𝑏𝑓 − 𝑒𝑐


[ 𝑔𝑓 − 𝑑𝑖 𝑎𝑖 − 𝑔𝑐 𝑑𝑐 − 𝑎𝑓 ]
0 −1
𝑑ℎ − 𝑔𝑒 𝑔𝑏 − 𝑎ℎ 𝑎𝑒 − 𝑑𝑏
.𝐽 =
Estas ecuaciones pueden representarse 𝑎(𝑒𝑖 − 𝑓ℎ) + 𝑏(𝑓𝑔 − 𝑑𝑖) + 𝑐(𝑑ℎ − 𝑒𝑔)
matricialmente como:

𝑎 𝑏 𝑐 𝜽̇ 𝟏 4. Simulación
0 𝑑 𝑒 𝑓 ] [𝜽̇ 𝟐 ]
.𝑉 =[
Con el objetivo de comprobar las ecuaciones
𝑔 ℎ 𝑖 𝜽̇ 𝟑
planteadas en la sección anterior se desarrollaron un
Obteniéndose así la matriz Jacobiana: conjunto de simulaciones en Matlab-Simulink. La
primera simulación hace referencia a la cinemática
𝑎 𝑏 𝑐
0 directa, por lo tanto las ecuaciones (2) se
.𝐽(𝜃) = [𝑑 𝑒 𝑓]
𝑔 ℎ 𝑖 desarrollaron a manera de diagrama a bloques como
muestra la Figura 12.
Dónde:
𝑎 = −𝑠1 (𝑎1 + 𝑎2 𝑐2 + 𝑙𝑐23 )
𝑏 = −𝑐1 (𝑎2 𝑠2 + 𝑙𝑠23 )
𝑐 = −𝑙𝑐1 𝑠23
𝑑 = 𝑐1 (𝑎1 + 𝑎2 𝑐2 + 𝑙𝑐23 )
𝑒 = −𝑠1 (𝑎2 𝑠2 + 𝑙𝑠23 )
𝑓 = −𝑙𝑠1 𝑠23
𝑔=0
ℎ = 𝑎2 𝑐2 + 𝑙𝑐23
𝑖 = 𝑙𝑐23

Figura 12: Diagrama de la cinemática directa


8
ROBÓTICA MÓVIL
Reporte final
Esta simulación se empleará para corroborar el valores provenientes de las ecuaciones de apoyo y
correcto seguimiento de una trayectoria balanceo, que deben ser evaluados en las ecuaciones
semicircular por parte del extremo del apéndice. cinemáticas. Lo anterior se logra mediante la
Esta trayectoria circular asegura el cumplimiento definición de matrices alimentadas con las
del ciclo de la marcha en sus fases de apoyo posiciones cartesianas mediante un programa en
balanceo. La función que describe los puntos que la Matlab, este programa puede consultarse en el
pata debe seguir se muestra a continuación. Anexo 1.
 Fase de balanceo Además, el código de este anexo genera una
simulación 3d del apéndice realizando la trayectoria
𝑧(𝑦) = ±√𝑟 2 − 𝑦 2 + 1 definida por los parámetros establecidos por el
 Fase de apoyo usuario. Esta simulación fue realizada gracias a la
tabla de parámetros de Denavit-Hartenberg
𝑧(𝑦) = 0 ;𝑟 ≤ 𝑟 < 𝑟 obtenida en secciones anteriores. Cabe resaltar que
Donde: las pruebas de simulación se realizaron
considerando una magnitud de paso de 5 unidades
r = magnitud del paso con un tiempo total de 4 segundos.
Las ecuaciones anteriores permiten calcular todos Con la finalidad de hacer más visuales los resultados
los puntos correspondientes a la trayectoria de un de las simulaciones, se importó el modelo CAD a
paso. Estos puntos están dados en coordenadas Matlab con la herramienta Simscape. La Figura 14
cartesianas por lo que deberán mapearse a los muestra el diagrama a bloques del modelo
ángulos articulares requeridos para asegurar el importado.
correcto posicionamiento del efector final.
Lo anterior es posible mediante la aplicación de las
ecuaciones de cinemática inversa. Estas ecuaciones
han sido traducidas al diagrama a bloques de la
Figura 13.

Figura 14: Diagrama del modelo importado en Simscape

5. Resultados
Figura 13: Diagrama de la cinemática inversa
La Figura 15 muestra los resultados de la
Ambos diagramas a bloques muestran en sus simulación 3d generada mediante el código
entradas elementos de interfaz con Matlab, sin los presentado como anexo. En ella es posible apreciar
cuales la simulación no sería posible. Estos los 3 eslabones que constituyen el modelo (coxa,
elementos de interfaz aportan un conjunto de fémur y tibia), las 3 uniones que funcionan como

9
ROBÓTICA MÓVIL
Reporte final
articulaciones y los ejes de rotación. En forma de
una línea punteada color rojo, es posible visualizar
la trayectoria que se sigue para generar un ciclo de
marcha.

Figura 17: Trayectoria angular coxo-femoral (𝜽𝟐 )

Figura 15: Simulación 3d de la trayectoria de un paso

Para que la simulación 3d fuera funcional, fue


necesaria la conversión de los puntos cartesianos de
la trayectoria deseada a posiciones angulares de
cada articulación. Esto se logró gracias al diagrama Figura 18: Trayectoria angular tibio-femoral (𝜽𝟑 )
a bloques de la simulación de la cinemática inversa,
el cual arrojó las siguientes trayectorias angulares Para observar de maneras individual el
para cada articulación: comportamiento de las trayectorias cartesianas, se
introdujeron los valores obtenidos con la cinemática
inversa en el diagrama a bloques de la cinemática
directa como muestran las siguientes figuras. Debe
resaltarse que la posición en el eje x aparenta ser
errática en la imagen, sin embargo, su valor es
realmente constante.

Figura 16: Trayectoria angular coxo-pleural (𝜽𝟏 )

Figura 19: Trayectoria cartesiana (𝑷𝒙 )

10
ROBÓTICA MÓVIL
Reporte final
Figura 23. Este modelo permitió visualizar el
movimiento en conjunto de todas las articulaciones,
así como el patrón de marcha.

Figura 20: Trayectoria cartesiana (𝑷𝒚 )

Figura 23: Modelo importado en Simscape

6. Conclusiones
La realización de modelos cinemáticos es de gran
utilidad en el trazado y generación de trayectorias
en robots. En este caso de estudió, se consiguió que
el apéndice del robot bioinspirado realizará un
Figura 21: : Trayectoria cartesiana (𝑷𝒛 ) patrón de marcha semicircular similar al realizado
por los sistemas biológicos.

Para tener una perspectiva adecuada del patrón de Las simulaciones permitieron corroborar de una
marcha se generó una gráfica de las posiciones de forma gráfica algunos aspectos de interés sobre la
en el eje Z respecto al eje Y como muestra la Figura locomoción que podrían ayudar a mejorar el
22. desempeño del robot en futuras pruebas. Por
ejemplo, las gráficas de posición angular muestran
cambios súbitos de trayectoria que pueden devenir
en aceleraciones o desaceleraciones muy marcadas.
Estos comportamientos deben evitarse pues a la
larga podrían dañar el desempeño y las estructuras
del sistema.
Además, la simulación en 3d corrobora el correcto
seguimiento de la trayectoria del patrón de marcha,
no obstante, también mostro un error de
interpolación entre los múltiples puntos de guía. La
Figura 22: Diagrama de 𝑷𝒚 contra 𝑷𝒙 interpolación de posición entre puntos
(automáticamente generada por Matlab), considera
que las velocidades iniciales y finales entre un par
Finalmente, el modelo 3d importado mediante la de puntos siempre es 0. Esto conlleva a
herramienta Simscape de Matlab se muestra en la movimientos entrecortados que parecen poco

11
ROBÓTICA MÓVIL
Reporte final
naturales y que restan fluidez a la trayectoria. Para locomotion,» de 2013 IEEE/RSJ International
corregir esto es posible emplear interpoladores que Conference on Intelligent Robots and Systems,
consideren velocidades iniciales y finales distintas a 2013.
0.
[3] M. Yash, B. Araki y J. Koh, «The Flying Monkey: a
En cuanto a la trayectoria propuesta, se empleó un Mesoscale Robot that can Run, Fly,,» de IEEE
modelo semicircular sobre el plano x-y para facilitar International Conference on Robotics and
el cálculo de las coordenadas de cada punto. Aunque Automation, Stockholm, 2016.
lo anterior simplifica considerablemente los
cálculos, es preferible emplear un modelo elíptico [4] P. Ratsamee, P. Kriengkomol, T. Arai, K. Kazuto , Y.
que desacople la longitud y la altura del paso. La Mae, K. Kiyokawa, T. Mashita, Y. Uranishi y H.
obtención de una ecuación vectorial paramétrica Takemura, «A Hybrid Flying and Walking Robot For
que considere una sección cónica de esta naturaleza Steel Bridge Inspection,» de IEEE International
debe obtenerse para mejorar el desempeño de la Symposium on Safety, Security, and Rescue
marcha. Robotics (SSRR), Lausanne, 2016.

Recapitulando los avances actuales, se puede [5] M. Pitonyak y F. Sahin, «A Novel Hexapod Robot
afirmar que los resultados son satisfactorios al Design with Flight Capability,» de System of
proponerse exitosamente una estrategia para la Systems Engineering Conference (SoSE), Waikoloa,
generación de ciclos de marcha que asegure la 2017.
locomoción del robot. El desarrollo bajo este
[6] J. J. Craig, Robótica, México: Prentice Hall, 2006.
enfoque brinda una solución efectiva ante el
problema del trazado de trayectorias, sin embargo, [7] M. A. arellano, de Fundamentos de control con
presenta un amplio costo computacional debido a la Matlab, Madrid, Pearson Education, 2010, p. 232.
gran cantidad de cálculos que deben realizarse
dúrate todo el proceso. Lo anterior es una [8] A. Barrientos, L. F. Peñin, C. Balaguer y R. A. Santoja,
oportunidad de mejora para a propuesta de nuevos Fundamentos de Robótica, Segunda ed., Mc Graw-
métodos de menor costo computacional. Hill, 2007.

[9] S. Tzafestas, «Introduction to mobile robot


control,» Primera ed., Athens, Elsevier Inc., 2014, p.
7. Referencias 689.

[1] L. Daler, Adaptive Morphology for Multi-Modal


Locomotion, É. P. F. D. LAUSANNE, Ed., Lausanne,
2015.

[2] L. Daler, J. Lecoeur y B. P. Hählen, «A flying robot


with adaptive morphology for multi-modal

12
ROBÓTICA MÓVIL
Reporte final
ANEXO: CÓDIGO DE SIMULACIÓN 3D
clear all, close all, clc;

%Creamos un Robot mediante sus parametros D-H

high = 10.0;
a1 = 3.203;
a2 = 6.00;
l = 11.90;

Tb=[1 0 0 0 ;
0 1 0 0;
0 0 1 high;
0 0 0 1]; %Trama base

Tt=[1 0 0 l;
0 1 0 0;
0 0 1 0 ;
0 0 0 1]; %Trama herramienta

L1=RevoluteMDH('a', 0, 'alpha', 0, 'd', 0); %Eslabón 1


L2=RevoluteMDH('a', a1, 'alpha', pi/2, 'd', 0); %Eslabón 2
L3=RevoluteMDH('a', a2, 'alpha', 0, 'd', 0); %Eslabón 3

bot=SerialLink([L1 L2 L3],'tool',Tt,'base',Tb); %Creamos el robot

%Ecuaciones de cinemática inversa

Px=[10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 ];
Py=[5 4 3 2 1 0 -1 -2 -3 -4 -5 -4 -3 -2 -1 0 1 2 3 4 5];
Pz=[1 2 3 4 5 6 5 4 3 2 1 1 1 1 1 1 1 1 1 1 1];

n=size(Px,2); %Número de puntos en la trayectoria

for i=1:n

x=Px(i);
y=Py(i);
z=Pz(i)-high;
s = sqrt(x^2+y^2)-a1;

theta3(i) = -acos((s^2+z^2-a2^2-l^2)/(2*a2*l));
theta2(i) = atan(z/s)+acos((s^2+z^2+a2^2-l^2)/(2*a2*sqrt(s^2+z^2)));
theta1(i) = atan(y/x);
end

%Animación

tp = 0.2; % tiempo de interpolación entre los puntos


t = [0:.05:tp]';
ws= ([-20 30 -20 20 0 25]);
fig = figure;
bot.plot([theta1(1) theta2(1)
theta3(1)],'workspace',ws,'jaxes','trail','.r','floorlevel',0,'jaxes','notiles','noname','nowrist','nojaxes','noshadow','
nobase','view', [35 25]);
movegui(fig,'center');

for j=1:1
for i=2:n
p1 = [theta1(i-1) theta2(i-1) theta3(i-1)];
p2 = [theta1(i) theta2(i) theta3(i)];
q = jtraj(p1,p2, t);
bot.animate(q);
end

end

13

Vous aimerez peut-être aussi