Resumen— Este trabajo describe el diseño y construcción de
un robot cuadrúpedo, tipo mamífero, a base de 12
servomotores Dynamixel AX-12 (3 por pata). Adicionalmente,
se detalla su cinemática directa y se valida experimentalmente
mediante diferentes configuraciones en modo estático y
dinámico. Lo anterior con la intención de conocer los alcances y
limitaciones de este cuadrúpedo.
I. INTRODUCCIÓN
Los primeros trabajos de robots con patas se realizaron
alrededor del año 1970 por dos famosos investigadores:
Kato y Vukobratovic [1]. En Japón, el primer robot
antropomórfico, WABOT 1, fue mostrado en 1973 por I.
Kato y su equipo en la Universidad de Waseda. Usando un
esquema muy simple de control fue capaz de realizar una
caminata en equilibrio estático. Este logro fue el punto de
partida de una generación prolífera de robots con patas en
Japón.
La importancia de mantener el equilibrio es primordial
para sistemas robóticos con patas. Por esta razón no es de
sorprender que el equilibrio estático sea el núcleo de la
mayoría de las propuestas de control de movimiento para
robos con patas [2]. Añadir patas a un robot es una tarea
complicada, pero hay muchas ventajas que las patas poseen
respecto de las ruedas (mecanismo de locomoción más
utilizado en robots móviles) [3]:
Pueden saltar o caminar por arriba de obstáculos
mientras que los robots con ruedas necesitan de alguna
forma moverse por los alrededores.
Las ruedas requieren un camino continuo para navegar
mientras que las patas pueden caminar sobre caminos
con brechas o arenosos.
Los robots con patas pueden evitar puntos de apoyo no
deseados, los cuales no pueden ser evitados con robots
con ruedas.
Una vez alejados del espacio de trabajo acondicionado
existen terrenos difíciles, rocosos, arenosos o
escarpados, en donde las ruedas son inútiles.
Ahora bien, un robot con más de 2 patas tiene una amplia
variedad de configuraciones para mantener su balance o
*Trabajo financiado por el Tecnológico Nacional de México. Los primeros tres autores están adscritos al Tecnológico Nacional de
México/I.T. Ensenada, Blvd. Tecnológico 150, Ex Ejido Chapultepec,
Ensenada, B. C., México, 22780 (e-mails: [email protected]; [email protected]; [email protected]).
Luis N. Coria está adscrito al Tecnológico Nacional de México/I.T.
Tijuana, Calzada del Tecnológico S/N, Fracc. Tomás Aquino, Tijuana, B.C., 22414, México (e-mail: [email protected]).
equilibrio erguido. Por esta razón, muchos trabajos se han
concentrado en la planeación de marcha para un caminado
estático estable más que tratar con una estabilidad dinámica
[1]. Por ejemplo, al caminar los cuadrúpedos tienden a
seguir el siguiente patrón de pisadas: pata trasera derecha,
pata delantera derecha, pata trasera izquierda y pata
delantera izquierda. Durante la locomoción, el patrón
anteriormente descrito es el que provee el mayor margen de
estabilidad para el equilibro erguido del cuadrúpedo. El trote
consiste en el movimiento de un par de patas diagonales en
turno con una fase aérea. El trote, en el cuadrúpedo, es
utilizado para desplazarse a velocidades medias. El galope
lo utilizan los cuadrúpedos cuando éstos necesitan
desplazarse a altas velocidades, el patrón de pisadas es
circular [4].
La complejidad computacional del algoritmo completo
mejor conocido de planeación de rutas, generación de
trayectorias y control crece exponencialmente con la
cantidad de grados de libertad del robot. La planeación de
rutas provee una descripción geométrica del movimiento
deseado del robot, pero no especifica ningún aspecto
dinámico del movimiento [5].
En la robótica, la cinemática directa consiste en
determinar cuál es la posición y orientación de un eslabón
(generalmente el órgano terminal) en un robot con respecto a
un sistema de coordenadas que se toma como referencia,
conocidos los valores de las coordenadas articulares y los
parámetros geométricos de los elementos del robot [6].
Matemáticamente se puede expresar como una función no
lineal:
𝑥 = 𝑓(𝑞) (1)
donde x es la postura (posición y orientación) del eslabón
respecto de un marco coordenado de referencia que definiría
el espacio operacional y q es el vector que contiene la
posición de cada una de las articulaciones en el robot.
La cinemática inversa consiste en encontrar los valores
que deben adoptar las coordenadas articulares 𝑞 del robot
para conseguir un objetivo deseado en el espacio operacional
[6]. En la cinemática inversa se desea obtener el mapeo
inverso de la función cinemática directa; esto es:
𝑞 = 𝑓−1(𝑥). (2)
Encontrar una solución analítica al mapeo inverso es
sencillo para robots con estructuras simples y no
redundantes; sin embargo, en general es más simple
Diseño y Construcción de un Robot Cuadrúpedo a Base de
Servomotores*
J. C. Rojas-Rodríguez, C. León-Vizcarra, E. Bugarin y Luis N. Coria
encontrar una solución numérica al problema de la
cinemática inversa.
El objetivo de este trabajo es presentar el diseño y la
construcción de un robot cuadrúpedo, así como determinar
su cinemática directa y realizar algunas validaciones
experimentales para analizar sus alcances y limitaciones; así
como tener una perspectiva de sus posibles futuras
aplicaciones.
II. DESARROLLO
A. Diseño y construcción del cuadrúpedo
El robot cuadrúpedo se construye inspirado en una
morfología tipo mamífero. El diseño mecánico del robot se
realiza en SOLIDWORKS y en la Figura 1 se muestra su
modelo CAD final.
Para el diseño del cuadrúpedo se utilizaron 3
servomotores Dynamixel AX-12 por pata. Se eligieron 3
actuadores por pata debido a que, de acuerdo a la literatura
consultada, esto corresponde a un arreglo de un robot
mamífero simple pero de buena maniobrabilidad. Se
utilizaron diversas piezas del Kit Bioloid Premium (este kit
es una plataforma robótica para propósitos educacionales y
de investigación de la empresa Robotis, cuenta con 18
servomotores Dynamixel AX-12 además de varios sensores,
dispositivos y piezas de montaje) y se imprimieron
adicionalmente ciertas piezas para su ensamble final.
Figura 1. Modelo CAD en SOLIDWORKS del robot (acotación [mm]).
B. Cálculo de la cinemática directa
Para el cálculo de la cinemática directa del robot diseñado
es necesario asignar marcos de referencia a los 12 eslabones
que conforman las patas del cuadrúpedo y describir las
relaciones que hay entre ellos. Existen diferentes
convenciones para lograr esto, una de estas convenciones es
la llamada Denavit-Hartenberg [7]. Sin embargo, en este
trabajo se sigue la metodología propuesta por Kajita et al.
[8] (ver Figura 2). Para un mayor detalle, los marcos de
referencia de la pata 1 del cuadrúpedo son especificados en
la Tabla I. El marco Σ𝑊 es el sistema de referencia global,
mientras que Σ𝐵 es el sistema de referencia de la base que
une las patas del robot. El origen del marco Σ𝐵 es denotado
por 𝑥𝐵 (vector de posición expresado en Σ𝑊, ver Figura 3) y
su matriz de rotación respecto a Σ𝑊 es 𝑅𝐵.
TABLA I. DEFINICIÓN DE LOS MARCOS DE REFERENCIA DE LA PATA 1.
Marco Matriz de rotación Eje de giro
Σ1𝐿1 𝑅1
𝐿1 = [
1 0 00 𝑐𝑜𝑠 (𝑞1
𝐿1) −𝑠𝑒𝑛 (𝑞1𝐿1)
0 𝑠𝑒𝑛 (𝑞1𝐿1) 𝑐𝑜𝑠 (𝑞1
𝐿1)] 𝑧1
𝐿1 = [100
]
Σ2𝐿1 𝑅2
𝐿1 = [𝑐𝑜𝑠 (𝑞2
𝐿1) −𝑠𝑒𝑛 (𝑞2𝐿1) 0
𝑠𝑒𝑛 (𝑞2𝐿1) 𝑐𝑜𝑠 (𝑞2
𝐿1) 00 0 1
] 𝑧2𝐿1 = [
001
]
Σ3𝐿1 𝑅3
𝐿1 = [𝑐𝑜𝑠 (𝑞3
𝐿1) −𝑠𝑒𝑛 (𝑞3𝐿1) 0
𝑠𝑒𝑛 (𝑞3𝐿1) 𝑐𝑜𝑠 (𝑞3
𝐿1) 00 0 1
] 𝑧3𝐿1 = [
001
]
Los vectores de posición relativos entre marcos del robot
cuadrúpedo se muestran en la Figura 3 y sus valores en la
Tabla II, el vector de posición para el extremo de la pata 1
del robot 𝑥𝐿1 se obtiene como
𝑠0𝐿1 = 𝑅𝐵𝑠0
𝐿1 𝑤 (3)
𝑠1𝐿1 = 𝑅𝐵 𝑅1𝑠1
𝐿1𝑤
𝑠2𝐿1 = 𝑅𝐵 𝑅1 𝑅2𝑠2
𝐿1𝑤
𝑠3𝐿1 = 𝑅𝐵 𝑅1 𝑅2 𝑅3𝑠3
𝐿1𝑤
𝑥𝐿1 = 𝑥𝐵 + 𝑠0𝐿1 + 𝑠1
𝐿1𝑤 + 𝑠2𝐿1𝑤 + 𝑠3
𝐿1𝑤𝑤 .
Se aplica el mismo procedimiento para el resto de las
patas.
TABLA II. DEFINICIÓN DE LOS VECTORES DE POSICIÓN RELATIVOS
ENTRE MARCOS.
Pata 1 [m] Pata 2 [m] Pata 3 [m] Pata 4 [m]
𝑠0𝐿1 = [
−0.125350
0.0695
] 𝑠0𝐿2 = [
0.125350
0.0695
] 𝑠0𝐿3 = [
−0.125350
−0.0695
] 𝑠0𝐿4 = [
0.125350
−0.0695
]
𝑠1𝐿1 = [
0−0.0225
0] 𝑠1
𝐿2 = [0
−0.02250
] 𝑠1𝐿3 = [
0−0.0225
0] 𝑠1
𝐿4 = [0
−0.02250
]
𝑠2𝐿1 = [
0−0.06935
0] 𝑠2
𝐿2 = [0
−0.069350
] 𝑠2𝐿3 = [
0−0.06935
0] 𝑠2
𝐿4 = [0
−0.069350
]
𝑠3𝐿1 = [
0−0.0696
0] 𝑠3
𝐿2 = [0
−0.06960
] 𝑠3𝐿3 = [
0−0.0696
0] 𝑠3
𝐿4 = [0
−0.06960
]
C. Cálculo de la postura de la base
Primero se determinará la orientación de una base virtual
que se forma por los puntos de contacto de las patas con el
suelo suponiendo que dicha base virtual es rectangular (ver
Figura 4). Si se supone que Σ𝑊 coincide con Σ𝐵 (es decir,
que 𝑥𝐵 = 0 y 𝑅𝐵 = 𝐼), se pueden obtener las siguientes
relaciones [9]:
𝑠0𝐿1 = 𝑠0
𝐿1 𝐵 (4)
𝑠1𝐿1 = 𝑅1
𝐿1𝑠1𝐿1𝐵
𝑠2𝐿1 = 𝑅1
𝐿1𝑅2𝐿1𝑠2
𝐿1𝐵
𝑠3𝐿1 = 𝑅1
𝐿1𝑅2𝐿1𝑅3
𝐿1𝑠3𝐿1𝐵
𝑥𝐿1𝐵 = 𝑠0
𝐿1 + 𝑠1𝐿1𝐵 + 𝑠2
𝐿1𝐵 + 𝑠3𝐿1𝐵𝐵
𝑠0𝐿2 = 𝑠0
𝐿2 𝐵 (5)
𝑠1𝐿2 = 𝑅1
𝐿2𝑠1𝐿2𝐵
𝑠2𝐿2 = 𝑅1
𝐿2𝑅2𝐿2𝑠2
𝐿2𝐵
𝑠3𝐿2 = 𝑅1
𝐿2𝑅2𝐿2𝑅3
𝐿2𝑠3𝐿2𝐵
𝑥𝐿2𝐵 = 𝑠0
𝐿2 + 𝑠1𝐿2𝐵 + 𝑠2
𝐿2𝐵 + 𝑠3𝐿2𝐵𝐵
Figura 2. Marcos de referencia: (a) cuadrúpedo y (b) detalle en pata 1.
Figura 3. Vectores de posición relativos entre marcos.
𝑠0𝐿3 = 𝑠0
𝐿3 𝐵 (6)
𝑠1𝐿3 = 𝑅1
𝐿3𝑠1𝐿3𝐵
𝑠2𝐿3 = 𝑅1
𝐿3𝑅2𝐿3𝑠2
𝐿3𝐵
𝑠3𝐿3 = 𝑅1
𝐿3𝑅2𝐿3𝑅3
𝐿3𝑠3𝐿3𝐵
𝑥𝐿3𝐵 = 𝑠0
𝐿3 + 𝑠1𝐿3𝐵 + 𝑠2
𝐿3𝐵 + 𝑠3𝐿3𝐵𝐵
𝑠0𝐿4 = 𝑠0
𝐿4 𝐵 (7)
𝑠1𝐿4 = 𝑅1
𝐿4𝑠1𝐿4𝐵
𝑠2𝐿4 = 𝑅1
𝐿4𝑅2𝐿4𝑠2
𝐿4𝐵
𝑠3𝐿4 = 𝑅1
𝐿4𝑅2𝐿4𝑅3
𝐿4𝑠3𝐿4𝐵
𝑥𝐿4𝐵 = 𝑠0
𝐿4 + 𝑠1𝐿4𝐵 + 𝑠2
𝐿4𝐵 + 𝑠3𝐿4𝐵𝐵 .
Entonces, el centro de la base virtual se puede obtener
como (ver Figura 4):
𝑝𝑐 =1
4( 𝑥𝐿1
𝐵 + 𝑥𝐿2𝐵 + 𝑥𝐿3
𝐵 + 𝑥𝐿4𝐵 ). (8)
Ahora se calcula una base vectorial para representar la
orientación de la base virtual (ver Figura 4):
𝑎 =1
2( 𝑥𝐿2
𝐵 + 𝑥𝐿4𝐵 ) (9)
𝑛𝑥 = 𝑎−𝑝𝑐
‖𝑎−𝑝𝑐‖. (10)
Figura 4. Cálculo del centro y orientación de la base virtual.
Utilizando la regla de la mano derecha se calcula un
vector 𝑛𝑦 perpendicular a la base virtual:
𝑏 = 𝑥𝐿2
𝐵 −𝑝𝑐
‖ 𝑥𝐿2𝐵 −𝑝𝑐‖
(11)
𝑛𝑦 =𝑏× 𝑛𝑥
‖𝑏× 𝑛𝑥‖. (12)
Y por último se completa la base vectorial realizando el
producto cruz entre los vectores 𝑛𝑥 y 𝑛𝑦:
𝑛𝑧 = 𝑛𝑥 × 𝑛𝑦. (13)
La matriz de rotación asociada a la orientación de la base
virtual se construye concatenando los vectores columna
𝑛𝑥, 𝑛𝑦 y 𝑛𝑧, esto es
𝑅 = [𝑛𝑥 𝑛𝑦 𝑛𝑧]. (14)
La orientación de la base es la transpuesta de la
orientación de la base virtual [9], por lo tanto se tiene:
𝑅𝐵= 𝑅𝑇 . (15)
III. VALIDACIÓN DE LA CINEMÁTICA DIRECTA
Para realizar las validaciones experimentales, se utiliza
una laptop genérica y un FTDI Platinum V2.1. La interfaz de
la laptop con los motores Dynamixel AX-12 no requiere
circuitería adicional, el FTDI convierte de USB a serial y
sólo es necesario conectar la terminal TXO del FTDI a la
terminal de datos del servomotor AX-12, las tierras comunes
y alimentar los servomotores con una fuente de 12 Vcd.
A. Validación Estática
Para validar la cinemática directa del cuadrúpedo se
propone experimentar con diferentes configuraciones y en
cada una de ellas comprobar que (con cinta métrica y
transportador) las mediciones coincidan con el modelo
cinemático calculado. Primero se probó para una altura
máxima del cuadrúpedo. En la Tabla III se muestran los
ángulos que deben tener las articulaciones y en la Figura 5 el
cuadrúpedo real.
TABLA III. VALORES DE LOS ÁNGULOS DE LAS ARTICULACIONES
PARA ALTURA MÁXIMA.
Articulación Pata 1 Pata 2 Pata 3 Pata 4
1 0° 0° 0° 0°
2 0° 0° 0° 0°
3 0° 0° 0° 0°
Figura 5. Cuadrúpedo real con altura máxima.
En este caso el marco de la base se mantiene alineado con
el marco del mundo; por lo tanto, la matriz 𝑅𝐵 es la identidad
y su centro de base virtual es
𝑝𝑐 = [0
−0.16140
] [m].
Note que Σ𝑊 se ha colocado a una altura 0.04105 [m]
por debajo de la parte superior del robot (ver Figura 1).
Como un segundo caso se experimentó con una altura
mínima para la base sin que se presentarán colisiones entre
las articulaciones. En la Figura 6 se muestra el cuadrúpedo
real en esta configuración y en la Tabla IV los valores de sus
ángulos en las articulaciones.
En este caso también se mantuvo la base del cuadrúpedo
horizontal, pero ahora 𝑝𝑐 es
𝑝𝑐 = [0
−0.08200
] [m].
TABLA IV. VALORES DE LOS ÁNGULOS DE LAS ARTICULACIONES PARA
ALTURA MÍNIMA
Articulación Pata 1 Pata 2 Pata 3 Pata 4
1 0° 0° 0° 0°
2 -80° 80° 80° -80°
3 30° -30° -30° 30°
Continuando con las validaciones, se inclinó la base del
cuadrúpedo a la derecha, visto desde enfrente, como se ve en
la Figura 7. Los ángulos de las articulaciones se muestran en
la Tabla V.
La matriz 𝑅𝐵 resultante es:
𝑅𝐵 = [100
00.50940.8605
0−0.86050.5094
].
Figura 6. Cuadrúpedo real con la altura mínima.
Figura 7. Cuadrúpedo inclinado hacia la derecha.
TABLA V. VALORES DE LOS ÁNGULOS DE LAS ARTICULACIONES PARA
INCLINACIÓN A LA DERECHA.
Articulación Pata 1 Pata 2 Pata 3 Pata 4
1 -60° -60° 0° 0°
2 -70° -70° 70° 70°
3 50° 50° -50° -50°
Lo cual nos indica que tiene una rotación respecto al eje 𝑥
de 59.4° y su vector 𝑝𝑐 es
𝑝𝑐 = [0
−0.0023−0.0145
] [m].
También se inclinó la base hacia enfrente, como se
muestra en la Figura 8, en la Tabla VI están los valores de los
ángulos de cada articulación para esta prueba.
Figura 8. Cuadrúpedo inclinado hacia enfrente.
TABLA VI. VALORES DE LOS ÁNGULOS DE LAS ARTICULACIONES PARA
BASE INCLINADA HACIA ENFRENTE.
Articulación Pata 1 Pata 2 Pata 3 Pata 4
1 0° 0° 0° 0°
2 -70° 0° 70° 0°
3 50° 0° -50° 0°
La matriz 𝑅𝐵 resultante es:
𝑅𝐵 = [0.96650.2568
0
−0.25680.9665
0
001
].
Aquí la base muestra una rotación respecto al eje 𝑧 de
14.9° y su vector 𝑝𝑐 para esta prueba es
𝑝𝑐 = [0
−0.12810
] [m].
Por último, se giró la base respecto al eje 𝑦 como se
observa en la Figura 9. La Tabla VII detalla los ángulos
correspondientes para cada articulación.
TABLA VII. VALORES DE LOS ÁNGULOS DE LAS ARTICULACIONES PARA
BASE GIRADA RESPECTO A EJE Y
Articulación Pata 1 Pata 2 Pata 3 Pata 4
1 30° -30° 30° -30°
2 0° 0° 0° 0°
3 0° 0° 0° 0°
La matriz 𝑅𝐵 resultante es:
𝑅𝐵 = [0.6179
00.7863
010
−0.78630
0.6179].
Como se puede observar (y como se comentó) presenta
una rotación respecto al eje 𝑦 de 51.8° y su vector 𝑝𝑐 es
𝑝𝑐 = [0
−0.02490
] [m].
B. Validación Dinámica
Para la validación dinámica se utilizaron las siguientes
trayectorias
𝑞𝑗𝐿𝑖(𝑘𝑇) = 𝑞𝑗
𝐿𝑖(0) − 2𝑞𝑗𝐿𝑖(0)sen(𝑘𝑇)
donde 𝑘 es la variable de iteración y 𝑇 = 0.05. En la Figura
10 se muestran 4 instantáneas del movimiento del robot. Los
ángulos iniciales se detallan en la Tabla VIII.
Figura 9. Cuadrúpedo girado respecto al eje 𝑦.
Figura 10. Prueba dinámica del cuadrúpedo en configuración: (a) inicial, (b) al 35%, (c) al 70% y (d) final para el ciclo.
TABLA VIII. VALORES DE LOS ÁNGULOS INICIALES DE CADA UNA DE
LAS ARTICULACIONES.
Articulación Pata 1 Pata 2 Pata 3 Pata 4
1 -10° -10° -10° -10°
2 -50° -50° 50° 50°
3 50° 50° -50° -50°
En todos los casos la matriz resultante 𝑅𝐵 es la identidad,
ya que la base siempre se mantiene horizontal. Para el caso
inicial el vector 𝑝𝑐 es
𝑝𝑐 = [0
0.1334−0.0865
] [m].
Para la configuración (b) de la Figura 11 los ángulos de
las articulaciones se muestran en la Tabla IX y su vector
𝑝𝑐 es
𝑝𝑐 = [0
0.023−0.0004
] [m].
TABLA IX. VALORES DE LOS ÁNGULOS PARA LA FIGURA 11(B).
Articulación Pata 1 Pata 2 Pata 3 Pata 4
1 -3.16° -3.16° -3.16° -3.16°
2 -15.8° -15.8° 15.8° 15.8°
3 15.8° 15.8° -15.8° -15.8°
Para la configuración (c) de la Figura 11 los ángulos de
las articulaciones se muestran en la Tabla X y su vector 𝑝𝑐 es
𝑝𝑐 = [0.00020.039
0.0609] [m].
TABLA X. VALORES DE LOS ÁNGULOS PARA LA FIGURA 11(C).
Articulación Pata 1 Pata 2 Pata 3 Pata 4
1 4.1421° 4.1421° 4.1421° 4.1421°
2 20.71° 20.71° -20.71° -20.71°
3 -20.71° -20.71° 20.71° 20.71°
Los ángulos para la configuración final del ciclo se
expresan en la Tabla XI y su vector 𝑝𝑐 es
𝑝𝑐 = [0
0.13340.0865
] [m].
TABLA XI. VALORES DE LOS ÁNGULOS FINALES.
Articulación Pata 1 Pata 2 Pata 3 Pata 4
1 10° 10° 10° 10°
2 50° 50° -50° -50°
3 -50° -50° 50° 50°
IV. CONCLUSIÓN
Los resultados que se presentaron en las validaciones
experimentales fueron satisfactorios dado que las
posiciones y orientaciones calculadas y las mediciones
realizadas (para las diferentes configuraciones estudiadas
en forma estática y dinámica) en el cuadrúpedo real
mostraron amplia similitud. Gracias a este trabajo se
conocieron, al menos cualitativamente, los alcances y
limitaciones que se pueden presentar en los servomotores
y en la constitución del robot cuadrúpedo al momento de
elegir una trayectoria deseada (al igual que al elegir la
posición angular que tendrá cada articulación). Esto
permite determinar una pauta para los proyectos futuros
que se realicen con este robot cuadrúpedo.
REFERENCIAS
[1] Kajita, S., Espiau, B. (2008). Legged Robots. Springer
Handbook of Robotics. Springer-Verlag Berlin Heidelberg.
[2] Carpentier, J., Tonneau, S., Naveau, M., Stasse, O., Mansard,
N. A Versatile and Efficient Pattern Generator for Generalized
Legged Locomotion. 2016 IEEE International Conference on
Robotics and Automation (ICRA). Stockholm, Sweden, May
2016.
[3] Robot Platform. (2017). Legged Robots. 11 de septiembre de
2017, de Robot Platform Sitio web:
http://www.robotplatform.com/knowledge/Classification_of_
Robots/legged_robots.html
[4] Collins, J. J., & Stewart, I. N. (1993). Coupled nonlinear
oscillators and the symmetries of animal gaits. Journal of
Nonlinear Science, 3(1), 349-392.
[5] Spong, M, Hutchinson, S. y M. Vidyasagar (2006), Robot
Modeling and Control. John Wiley and Sons.
[6] Tevatia, G., & Schaal, S. (2000). Inverse kinematics for
humanoid robots. In Robotics and Automation, 2000.
Proceedings. ICRA'00. IEEE International Conference on
(Vol. 1, pp. 294-299). IEEE.
[7] Sciavicco, L., & Siciliano, B. (2012). Modelling and control of
robot manipulators. Springer Science & Business Media.
[8] Kajita, S., Hirukawa, H., Harada, K., & Yokoi, K. (2014).
Introduction to humanoid robotics (Vol. 101). Springer Berlin
Heidelberg.
[9] Ren, P., & Hong, D. (2009). Triple stance phase displacement
analysis with redundant and nonredundant sensing in a novel
three-legged mobile robot using parallel kinematics. Journal
of mechanisms and robotics, 1(4), 041001.
Top Related