SciELO - Scientific Electronic Library Online

 
vol.12 número2Microbial Succession During the Spontaneous Fermentation of Cocoa in ProductiveElectronic Structure of GaAs and AlAs using a Hamiltonian Tight-Binding sp3s* índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

  • Em processo de indexaçãoCitado por Google
  • Não possue artigos similaresSimilares em SciELO
  • Em processo de indexaçãoSimilares em Google

Compartilhar


Ciencia en Desarrollo

versão impressa ISSN 0121-7488

Ciencia en Desarrollo vol.12 no.2 Tunja jul./dez. 2021  Epub 28-Jan-2022

https://doi.org/10.19053/01217488.v12.n2.2021.12446 

Artículos

Generación de trayectorias de marcha para un robot humanoide a partir de captura de movimiento

Generation of Gait Trajectories for a Humanoid Robot from Motion Capture

Diego A. Bravo M.1 

Carlos F. Rengifo R.2 

1 Departamento de Física. Universidad del Cauca, Colombia. Correo electrónico: dibravo@unicauca.edu.co

2 Departamento de Electrónica, Instrumentación y Control. Universidad del Cauca, Colombia. Correo electrónico: caferen@unicauca.edu.co


Resumen

En este trabajo se propone un método para adaptar las trayectorias de marcha de un ser humano a un robot humanoide. Las trayectorias obtenidas mediante captura de movimiento sirven como entrada a un generador de trayectorias off-line, llamado filtro dinámico en el que se tienen en cuenta las restricciones cinemáticas y dinámicas necesarias para impedir que el robot caiga mientras camina. Para validar las trayectorias se uso un simulador para el robot Bioloid Premium kit basado en el entorno V-Rep y después se implementaron sobre el robot real. A pesar de que la generación de trayectorias se lleva a cabo fuera de línea, el filtro dinámico es una buena opción para generar trayectorias que permitan mantener la estabilidad del robot.

Palabras clave: captura de movimiento; generación de trayectorias; robótica humanoide; marcha humana; optimización

Abstract

In this research paper, we propose a method to adapt the gaits trajectories of a human being to a humanoid robot. To achieve this goal, first we made an experiments with with two different motion capture systems to obtain the joint trajectories of human walking. The trajectories obtained by motion capture serve as input to a trajectory generator off-line, called dynamic filter that takes into account the kinematic and dynamic constraints necessary to prevent the robot fall while walking. To validate the trajectories, a simulator was used for the robot Bioloid Premium Kit based on the V-Rep environment. After, these were implemented on the real robot. Even though the motion generation is done offline, the dynamics filter is a good option for making in automated way the trajectories generation.

Keywords: motion capture; trajectory generation; humanoid robotics; humain gait; optimization

1 Introducción

Una trayectoria es el lugar geométrico de las posiciones sucesivas por las que pasa un cuerpo en movimiento. En robótica, la generación de trayectorias involucra el cálculo de posiciones, velocidades, aceleraciones y jerks de cada una de las articulaciones que componen el robot a lo largo de un camino geométrico de referencia, [1]. La generación de trayectorias para un robot puede hacerse de dos formas. Estas son:

  • Cálculo y posterior procesamiento de trayectorias (Off-Line).

  • Cálculo y procesamiento continuo de trayectorias (On-Line).

Aunque la planificación de trayectorias On-Line no es el objeto de estudio de este trabajo, muchos de los conceptos de generación de trayectorias OnLine tienen sus fundamentos en la generación de trayectorias Off-Line, [2].

El cálculo de las trayectorias (o las consignas articulares) deseadas, puede hacerse por dos métodos, [3]. A partir de la captura de movimiento humano, o generadas directamente por el computador. En este último caso, el enfoque habitual incluye dos pasos: primero, se elige un conjunto de variables de salida con dimensión adecuada. Generalmente, las coordenadas cartesianas tridimensionales de algunos puntos seleccionados en el robot (por ejemplo el CoM). En segundo lugar, después de algún tipo de parametrización como splines por ejemplo, las trayectorias deseadas de estas variables se calculan para cada fase de la marcha: apoyo, balanceo e impactos. Una de las formas de hacer este cálculo es utilizar un algoritmo de optimización basado en la dinámica del robot teniendo en cuenta las restricciones físicas del mismo, [4]. Finalmente, estas trayectorias son las señales de referencia para un sistema de control en lazo cerrado, que sintonizado correctamente, permite el seguimiento de éstas y evita la caída del robot.

La captura, comprensión y reproducción de la marcha humana es uno de los grandes retos de la investigación actual en robótica humanoide, [5].

Para lograr esto es natural intentar utilizar los datos de captura de movimiento humano para transferirlos al robot. Sin embargo, las diferencias cinemáticas y dinámicas entre el ser humano (cuyo movimiento es registrado) y el robot humanoide, hacen que el robot caiga tratando de seguir las trayectorias obtenidas por un sistema de captura de movimiento, [6].

La captura de movimiento se puede utilizar para permitir a los robots imitar el movimiento humano, [7]. Aunque la imitación de movimiento es simplemente el mapeo de movimiento humano a robots humanoides que tienen una apariencia similar, no es un problema trivial [8]. Las principales dificultades a superar en la imitación del movimiento humano para robots humanoides, son las diferencias antropomórficas entre humanos y robots, los límites físicos de los actuadores del robot y el equilibrio, [9].

Algunos investigadores han tratado de combinar, la dinámica del robot y los datos de captura de movimiento para generar trayectorias factibles o realistas. Popovic, [10] y Pollard, [11] utilizaron modelos matemáticos simplificados de la dinámica del cuerpo humano para reducir la complejidad computacional. Poubel, [12] desarrolló un método basado en la cinemática inversa para la imitación On-Line de un robot humanoide. Hu, [13], propone una metodología On-Line para imitar la marcha humana por un robot humanoide. [14] describe una técnica para la imitación en tiempo real de los movimientos de todo el cuerpo humano.

El objetivo principal de este artículo, es desarrollar un esquema de generación de trayectorias para un robot humanoide, a partir de captura de movimiento humano y teniendo en cuenta consideraciones de estabilidad. Para lograrlo, se debe determinar cómo mapear los movimientos de un ciclo de marcha humana por un robot humanoide, cuya cinemática tiene menos grados de libertad que el cuerpo humano y además diferentes masas y momentos de inercia. Este documento está estructurado de la siguiente manera: la sección 2 describe el modelo dinámico del robot humanoide Bioloid. La sección 3 contiene el algoritmo propuesto para la generación de trayectorias de marcha. La sección 4 presenta los resultados de la implementación y validación de las trayectorias. Finalmente, en la sección 5 se concluye sobre la investigación realizada.

2 Robot Humanoide Bioloid

Bioloid es una plataforma robótica modular que puede ser ensamblada como un robot humanoide, es utilizado como una plataforma para la enseñanza de la robótica en niveles de pregrado y posgrado, [15]. El robot humanoide Bioloid (Tipo A) es un robot de 18 grados de libertad (DOF) fue concebido por la empresa Koreana Robotis, tiene 18 grados de libertad: 6 a nivel de cada pierna, y tres por cada brazo, con 35 cm de altura y 1.95 kg, ver Figura 1. Dicho robot ha permitido hacer estudios de la marcha en robots humanoides, donde la generación de trayectorias para los servomotores de cada articulación se hacen con base en la proyección con el centro de masa y el punto de momento cero para un ciclo de marcha estable, [16]. La Tabla 1 muestra las especificaciones de los componentes de esta plataforma.

Figura 1 Robot Humanoide Bioloid. 

Tabla 1 Especificaciones Bioloid Premium Kit 

Cada actuador es un servomotor AX-12A con una resolución de 0.29° para la medida de posición angular. Un giroscopio de 2 ejes para la medida de velocidad angular. Los datos de entrada y salida son procesados por un Controlador CM 530. Bioloid es un robot de bajo costo con las siguientes limitaciones: (i) las entradas de control a los servomotores son las consignas de un controlador PD. Esto significa que no es posible hacer control de par (el firmware de los servomotores es de código cerrado). (ii) Aunque cada parte del cuerpo del robot Bioloid se puede desmontar y medir su masa, es muy difícil predecir el centro de masa de cada articulación y por lo tanto de todo el robot.

Para realizar la construcción del robot virtual dentro del simulador, es necesario disponer del modelo CAD, Robotis permite la descarga de cada una de las piezas que componen al robot. Los parámetros dinámicos (Ver Tabla 2) fueron derivados del modelo CAD del robot, el cual incluye las medidas del tensor de inercia y centro de masa, se desconoce si el modelo CAD incluye todas las contribuciones de masa debidas a las tarjetas electrónicas, cableado, y espacios huecos en las partes plásticas. El modelo CAD de robot humanoide Bioloid se puede observar en la Figura 2.

Tabla 2 Parámetros dinámicos del robot humanoide Bioloid. Las primeras 6 columnas corresponden a los momentos de inercia (kg m2). Las columnas 7 a 9 contienen las coordenadas del centro de masa multiplicadas por la masa (kg m). Los momentos de inercia y centros de masa se expresan en el sistema de coordenadas de cada articulación (los momentos de inercia no son negativos solamente cuando se expresan con respecto al centro de masa). La última columna contiene la masa. Como la articulación 0 no existe, la primera fila contiene los parámetros dinámicos de la parte superior del robot 

Figura 2 Modelo Geométrico del robot Bioloid. 

2.1 Modelo Dinámico del Robot Humanoide

El modelo dinámico del robot, se obtuvo a partir del algoritmo de Newton-Euler:

Aquí q ∈ ℝ 18 es el vector de coordenadas generalizadas y los vectores q v ∈ ℝ 18 y q a ∈ ℝ 18 son respectivamente las velocidades y las aceleraciones generalizadas. A ∈ ℝ 18x18 es la matriz de inercia del robot. H ∈ ℝ 18 es el vector de fuerzas centrífugas, gravitacionales y de Coriolis. La matriz B ∈ ℝ 18x12 contiene únicamente unos y ceros. Las 6 primeras filas de B son cero, indicando que Γ no incide directamente sobre las aceleraciones de las seis primeras coordenadas generalizadas. Las siguientes 12 filas de B conforman una matriz identidad, indicando que Γ i (i = 7,..., 18) incide directamente

sobre i . Γ∈ℝ 12 es el vector de pares aplicados a las articulaciones del robot. Lo anterior conlleva a que B cumpla con la siguiente propiedad:

es la matriz que permite expresar las velocidades lineales y angulares del pie derecho del robot con respecto al suelo.

La matriz permite expresar las velocidades lineales y angulares del pie izquierdo del robot con respecto al suelo.

El vector F r ∈ℝ 6 contiene las fuerzas y momentos de reacción generadas por el contacto entre el pie y el suelo. Si el pie derecho no está en contacto con el suelo F r = 0. El vector ∈ ℝ 6 es el equivalente del vector Fr ∈ℝ 6 para el pie izquierdo.

2.2 Modelo de control para la fase de apoyo simple sobre el pie derecho

Cuando el robot se encuentra apoyado sobre el pie derecho, el modelo ecuación (1) puede reescribirse como:

Teniendo en cuenta la cinemática de segundo orden y las restricciones de inmovilidad del pie derecho:

Se reescribe la restricción ecuación (6) bajo la forma:

Siendo q au el vector de aceleraciones asociado a las coordenadas no accionadas y b = el vector de coordenadas accionadas

La matriz J ru (q p ) ∈ ℝ6x6 está compuesta por las 6 primeras columnas de J r (q p ), J rb (q p ) ∈ ℝ6x12 por las 12 columnas siguientes. Al despejar q au de la ecuación (7) se obtiene:

La ecuación anterior, indica que el contacto entre el pie derecho y el suelo, conlleva a que las aceleraciones de las coordenadas no accionadas dependan directamente de las aceleraciones de las coordenadas accionadas. Con el fin de aligerar la notación matemática se definen las siguientes variables:

Se reemplaza q a = M b + N en el modelo dinámico ecuación (5). La expresión resultante es igual al modelo dinámico de una cadena cinemática sin restricciones de movilidad:

Con el fin de expresar el modelo anterior únicamente en términos de qb, q b y b se particionan los vectores q p y q v en términos de componentes accionados y no accionados

La restricción de movilidad del pie derecho permite expresar a q pu ∈ ℝ 6 en términos de q b ∈ ℝ 12 y a q vu ∈ ℝ 6 y q b ∈ ℝ 12 . En el primer caso utilizando el modelo geométrico directo y en el segundo utilizando la cinemática de primer orden (q vu = -J -1 ru (q) J rb (q) qb). Al eliminar los componentes q pu y q vu de los vectores q p y q v estos se convierten respectivamente en q b y qb. De esta manera la ecuación (11) se reduce a:

Si b es remplazada por la aceleración deseada d b y es calculada como sigue, la ecuación (12) se convierte en una ley de control por par calculado (CTC) [17].

Los vectores son las posiciones, velocidades y aceleraciones de las trayectorias de referencia, obtenidas a partir del sistema de captura de movimiento. Remplazando d b en la ecuación (12), obtenemos las ecuaciones que permiten calcular el vector de pares articulares requeridos para que las coordenadas articulares sigan sus respectivos valores de referencia.

Donde k v y k p son valores constantes que se escogen para que el error de seguimiento converja asintóticamente a cero.* Con un procedimiento similar puede obtenerse el modelo de control para la fase de apoyo simple sobre el pie izquierdo. En tal caso la única diferencia provendrá de la definición de la matriz M y el vector N que ahora estarán expresados en términos de la Jacobiana J l (q) de la ecuación (1). En el caso de la fase de soporte simultáneo sobre los dos píes, el robot bípedo se convierte en una cadena cinemática sobre-actuada, dado que el número de grados de libertad se reduce de 18 a 6 como consecuencia de las 12 restricciones holonómicas que impone la bipedestación (3 de posición y 3 de orientación por cada pie). Para esta configuración la sobre-actuación se sustenta en el hecho de tener 12 actuadores pero solo 6 grados de libertad. La obtención del modelo de control en bipedestación implica la re-definición del vector qau que ahora tendrá seis variables adicionales. En resumen, independientemente de la configuración del robot, apoyo simple sobre el pie derecho, apoyo simple sobre el pie izquierdo o doble apoyo, el modelo dinámico siempre puede expresarse bajo la forma presentada por la ecuación (14).

3 Generación de Trayectorias

La generación de trayectorias de marcha para un robot humanoide es un procedimiento computacional orientado a producir movimientos físicamente factibles a partir de trayectorias de referencia que pueden no ser físicamente posibles, [6]. Las trayectorias de referencia, incluso cuando son generadas a partir de una base de datos de captura de movimiento, es muy probable que estas no sean realizables físicamente, debido a las diferencias antropomórficas y dinámicas entre el robot bípedo y el sujeto de estudio, [18].

Para ilustrar esta condición, calculamos los pares necesarios para imitar el ciclo de marcha de una persona normal con las trayectorias de captura de movimiento de la Figura 3. El modelo de control para la fase se apoyo simple nos permite calcular los pares articulares r para las trayectorias de referencia q ref con la ecuación (16).

Figura 3 Trayectorias articulares de la marcha humana para un ciclo de marcha normal, se obtuvieron mediante la aplicación OpenSim, una plataforma open source para modelar, simular y analizar el sistema musculoesquelético, [19]. 

Figura 4 Pares necesarios para reproducir el movimiento de la Figura 3 en el robot Bioloid. 

La Figura 4 muestra los pares articulares requeridos, para que el robot Bioloid imite el movimiento obtenido a partir de captura de movimiento. Los pares no se pueden aplicar directamente al robot, ya que el par máximo de los servomotores AX12-A Dynamixel es Γ max = 1.5 N m. Aún si los pares fueran factibles, todavía no se han evaluado las condiciones de estabilidad (ZMP) y de no deslizamiento.

La Figura 5 muestra la estructura del algoritmo propuesto. Donde X h(t) ∈ ℝ 3m es un vector que contiene las coordenadas Cartesianas de todas las articulaciones de la persona que ejecuta el movimiento capturado, cada uno de sus componentes es un vector en ℝ 3, siendo m el número de marcadores puestos. El vector q ref (t) contiene las trayectorias articulares de referencia calculadas mediante la aplicación de la cinemática inversa a X h(t). Posteriormente, el vector q ref (t) y sus dos primeras derivadas con respecto al tiempo, se utilizan como entradas a la función de dinámica inversa (ecuación (16)) que permite calcular los pares Γ ∈ ℝ 12 necesarios para hacer el seguimiento de las trayectorias q ref (t). El bloque optimizador calcula q d (t) que son las trayectorias más parecidas a la marcha humana, buscando que sean lo más próximas a las trayectorias de referencia q ref (t) y además satisfaga todas las restricciones físicas del robot (límites físicos de los actuadores, equilibrio dinámico, condiciones de simetría).

Figura 5 Diagrama de Bloques propuesto para generar trayectorias a partir de captura de movimiento. 

3.1 Captura de Movimiento

Los robots humanoides están inspirados en el movimiento del ser humano, por lo que es razonable intentar utilizar datos de captura de movimiento humano mediante un sistema de captura de movimiento. Generalmente los sistemas ópticos de captura de movimiento dan las coordenadas cartesianas (x,y, z) de cada uno de los marcadores.

Xh ∈ ℝ 3m , siendo m el número de marcadores considerados. Los datos experimentales se transforman del espacio cartesiano al espacio articular, luego, es necesario realizar un calculo de cinemática inversa

3.2 Calculo de la cinemática inversa

El problema de la cinemática inversa consiste en mapear el espacio cartesiano al espacio articular, esto significa resolver la ecuación no lineal:

Donde q ref ∈ ℝ n es el vector de coordenadas conjuntas, n el número de grados de libertad del robot y f (•) es la cinemática directa. Este problema se puede resolver analíticamente, numéricamente o mediante optimización, [17]. Las técnicas analíticas tienen las ventajas de un cálculo rápido, pero se limitan a robots con un número reducido de articulaciones. Los métodos basados en la optimización son más genéricos y tienen la ventaja de incorporar restricciones de igualdad y desigualdad. Para resolver el problema de cinemática inversa por optimización, se usa la función de costo (18) que es la distancia entre un marcador experimental y el marcador correspondiente en el modelo.

Una vez que se calculan las trayectorias de las articulaciones q ref, el robot podría seguir los movimientos de referencia para las articulaciones con el controlador apropiado. Sin embargo, existen muchas diferencias entre un robot humanoide y un ser humano real. Esto significa que no podemos simplemente enviar estos datos a un robot y esperar que se mueva correctamente.

3.3 Trayectorias de Referencia

Las trayectorias de referencia utilizadas en esta parte del trabajo, se obtuvieron mediante la base de datos de captura de movimiento tomadas de la aplicación OpenSim para un ciclo de marcha normal. OpenSim es una plataforma open source para modelar, simular y analizar el sistema musculoesquelético [19]. El software nos permite obtener las trayectorias articulares de marcha q ref a partir de datos de captura de movimiento, Figura 3.

Cada componente del vector q ref , corresponde a una articulación que contiene N + 1 puntos estimados para un ciclo completo de marcha. Las doce trayectorias articulares son denotadas como q i ref (i = 1, …, 12). Donde la trayectoria para la articulación i es representada por medio de un conjunto de N polinomios de tercer orden calculados mediante interpolación basada en segmentación cúbica [20].

Donde C0ij, C1ij, C 2i j, C 3i j son los coeficientes de un polinomio de tercer orden y describen el movimiento de referencia para la articulación i en el intervalo de tiempo t ∈ [tj-1, tj] (j = 1, … ,N + 1). La longitud del intervalo de tiempo es constante e igual al periodo de muestreo usado por el sistema de captura de movimiento (h = t j - tj-1). Para estimar la velocidad q ref vi (t) y aceleración q ref ai (t) de las trayectorias de referencia, la secuencia de polinomios resultantes se deriva una y dos veces respectivamente.

El conjunto de trayectorias conformadas por las ecuaciones (19) y (20) permiten calcular la dinámica inversa del robot por medio de la ecuación (16). Sin embargo, la ecuación (16) no considera las coordenadas no actuadas del robot.

3.4 Optimizador

Las trayectorias deseadas para que el robot camine sin caerse, se formulan como un problema de optimización no lineal con restricciones, definido como: "Encuentre las trayectorias óptimas q d (t) para minimizar una función de costo sujeta a restricciones físicas".

Se tienen en cuenta las siguientes restricciones:

  • (i) La componente normal de la fuerza de reacción F rn ejercida por el suelo sobre el pie de apoyo debe ser positiva.

  • (ii La fuerza tangencial F tn ∈ ℝ 2 debe permanecer en el interior del cono de fricción, para evitar que el pie en apoyo se deslice.

  • (iii) El pie derecho debe estar siempre en contacto con el suelo.

  • (iv) El actuador de cada articulación debe ejercer un par menor Γ max ∈ ℝ 12 al par máximo permitido.

  • (v) El punto de momento cero (ZMP), [21] debe permanecer dentro del polígono de soporte formado por la superficie de contacto entre el pie y el suelo (fase de soporte simple) o la envolvente mínima convexa de ambos pies y el suelo (fase de doble soporte), Figura 6.

Figura 6 Polígono de soporte (pie del robot). 

  • (vi) Las posiciones y las velocidades al inicio y finalización de cada paso, deben satisfacer condiciones de simetría para generar movimientos de marcha continuos. E ∈ ℝ 12x12 es una matriz que asegura q 1 (T) = q 2 (0) … q11 (T) = q 12 (0).

Matemáticamente, el problema se puede escribir:

Minimice:

Sujeto a:

El índice a minimizar es el promedio de la integral para la norma Euclidiana del error articular; definido como la diferencia entre la trayectoria de referencia del ser humano q ref (t) y la trayectoria deseada para el robot q d (t).

4 Resultados

Las Figuras 7(a) y 7(b), son las trayectorias angulares q d (t) obtenidas mediante el algoritmo propuesto.

Figura 7 Trayectorias Articulares de la marcha obtenidas por el filtro dinámico. Q7 y Q% corresponden a la rotación de la cadera en el plano transversal, Q9 y Q10 corresponden a la aducción de la cadera, Q11 y Q12 corresponden a la flexión-extensión de la cadera. Q13 y Q14 corresponden a la flexión-extensión de la rodilla, Q15 y Q16 corresponden a la dorsiflexión del pie, Q17 y Q18 corresponden al giro vertical (guiñada) de los pies. 

Los vídeos de la simulación e implementación de la generación de trayectorias de marcha del robot a partir de captura de movimiento se pueden observar en: https://youtu.be/MZ_IvaMhrYA y https://youtu.be/OR1TIepwADE. Como se observa en los vídeos el robot camina cumpliendo con todas las restricciones; las trayectorias se obtuvieron a partir de captura de movimiento con datos de marcha de un ser humano.

4.1 Evaluación de las restricciones

La Figura 8 muestra los pares de entrada a los servomotores de las piernas del robot. Los pares son alcanzables, considerando todas las restricciones físicas, ecuación (21)

Figura 8 Pares articulares obtenidos por el filtro dinámico. 

Las condiciones iniciales de simulación indican que el pie izquierdo del robot se encuentra en fase de apoyo simple y el pie derecho está en fase de oscilación, el robot da un paso con la pierna derecha, por lo tanto la trayectoria del ZMP debe mantenerse dentro del área de sustentación del pie izquierdo. El ZMP se mantiene dentro del polígono de soporte (pie izquierdo) para el movimiento y garantiza la estabilidad del robot como se observa en la Figura 9(a). Por lo tanto, la restricción para el ZMP (r i x φ¡) • nz ≤ 0 se satisface. La Figura 9(b) que la fuerza tangencial permanece dentro de los límites del cono de fricción, para un coeficiente de fricción μ = 0.5. Por lo tanto el robot cumple la restricción \F tn (t )\ ≤ μ • F rn (t) se cumple y el robot no se desliza, [22].

Figura 9 Evaluación de las restricciones de fuerza 

5 Conclusiones y perspectivas

En este trabajo se abordo el problema de la generación de trayectorias de marcha para un robot humanoide a partir de captura de movimiento. El algoritmo propuesto transforma las trayectorias de la marcha humana en trayectorias articulares físicamente realizables por el robot. Una vez se calcularon las trayectorias de marcha estables para el robot, estas se deben implementar y validar en el robot real.

Las trayectorias fueron validadas inicialmente mediante simulación. Este paso es crucial para el estudio del movimiento, prototipado rápido, diseño de controladores y validación en un ambiente virtual antes de la ejecución sobre un robot real. En el caso de la simulación dinámica, esta ofrece información visual en el mundo virtual y del comportamiento del robot en el mundo real, siendo la forma más eficiente de validar las trayectorias de un ciclo de marcha para un robot humanoude. Antes de la implementación de las trayectorias sobre el robot Bioloid, se utilizó el simulador dinámico V-Rep.

La generación de trayectorias de marcha se realiza fuera de linea (Off-line), el algoritmo presentado es una buena opción para realizar de forma automática la generación de trayectorias. En el futuro próximo esperamos probar el algoritmo en otros robots humanoides e intentar implementarlo de manera en linea (On-line).

Agradecimientos

Los autores de este artículo expresan sus más sinceros agradecimientos a la Universidad del Cauca (501100005682) por todo el apoyo que les fue dado en la realización del proyecto (Grant number 5411/2021).

Referencias

[1] C. M. a. Luigi Biagiotti, Trajectory Planning for Automatic Machines and Robots. Springer Berlin Heidelberg, 2009. [ Links ]

[2] T. Kroger, On-Line Trajectory Generation in Robotic Systems: Basic Concepts for Instantaneous Reactions to Unforeseen (Sensor) Events (Springer Tracts in Advanced Robotics, 58). Springer tracts in advanced robotics, 1st edition. ed., 2010. [ Links ]

[3] B. Siciliano and O. Khatib, Springer Handbook of Robotics. Springer, 2008. [ Links ]

[4] J. Tacué, C. Rengifo, and D. Bravo, "An experimental energy consumption comparison between trajectories generated by using the cart-table model and an optimization approach for the bioloid robot," International Journal of Advanced Robotic Systems, vol. 17, no. 2, pp. 1-14, 2020. [ Links ]

[5] J. W. Grizzle, C. Chevallereau, R. W. Sinnet, and A. D. Ames, "Models, feedback control, and open problems of 3d bipedal robotic walking," Automatica, vol. 50, no. 8, pp. 1955 - 1988,2014. [ Links ]

[6] D. Bravo and C. Rengifo, "Estabilidad y control de sistemas mecánicos de base móvil," Revista Mexicana de Fisica, vol. 18, pp. 69-75, 2021. [ Links ]

[7] D. Bravo M and C. Rengifo R, "Motion capture system for applications in robotics," in Engineering Mechatronics and Automation (CIIMA), 2014 III International Congress of, pp. 1-5, 2014. [ Links ]

[8] K. Munirathinam, S. Sakkay, and C. Chevallereau, "Dynamic motion imitation of two articulated systems using nonlinear time scaling of joint trajectories," in International Conference on Intelligent Robots and Systems (IROS), (Algarve, Portugal), 2012. [ Links ]

[9] D. A. Bravo and C. F. Rengifo, "Generation from motion capture for a planar biped robot in swing phase," Ingeniería y Ciencia, vol. 11, no. 22, pp. 25-47, 2015. [ Links ]

[10] Z. Popovic, "Editing dynamic properties of captured human motion," in Robotics and Automation, 2000. Proceedings. ICRA '00. IEEE International Conference on, vol. 1, pp. 670-675, 2000. [ Links ]

[11] N. Pollard, J. Hodgins, M. Riley, and C. Atkeson, "Adapting human motion for the control of a humanoid robot," in IEEE International Conference on Robotics and Automation, vol. 2, pp. 1390-1397, 2002. [ Links ]

[12] L. Poubel, S. Sakka, D. Cehajic, and D. Creusot, "Support changes during online human motion imitation by a humanoid robot using task specification," in Robotics and Automation (ICRA), 2014 IEEE International Conference on, pp. 1782-1787, 2014. [ Links ]

[13] K. Hu, C. Ott, and D. Lee, "Online human walking imitation in task and joint space based on quadratic programming," in Robotics and Automation (ICRA), 2014 IEEE International Conference on, pp. 3458-3464, 2014. [ Links ]

[14] J. Koenemann, F. Burget, and M. Bennewitz, "Real-time imitation of human whole-body motions by humanoids," in Robotics and Automation (ICRA), 2014 IEEE International Conference on, pp. 2806-2812, 2014. [ Links ]

[15] C. N. Thai and M. Paulishen, "Using robotis bioloid systems for educational robotics," IEEE Transactions on Robotics, 2011. [ Links ]

[16] V. Nunes, L. Olvera, and J. Pamanes, "Simulation and experimentation of walking of the bioloid humanoid robot," in 13 th World Congress in Mechanism and Machine Science, 2011. [ Links ]

[17] W. Khalil and E. Dombre, Modeling, Identification and Control of Robots. Kogan Page Science, Paris, France: Butterworth -Heinemann, 2 ed., 2004. [ Links ]

[18] Z. Shiller, K. Yamane, and Y. Nakamura, "Planning motion patterns of human figures using a multi-layered grid and the dynamics filter," in Robotics and Automation, 2001. Proceedings 2001 ICRA. IEEE International Conference on, vol. 1, pp. 1-8 vol.1, 2001. [ Links ]

[19] S. Delp, F. Anderson, A. Arnold, P. Loan, A. Habib, C. John, E. Guendelman, and D. Thelen, "Opensim: Open-source software to create and analyze dynamic simulations of movement," Biomedical Engineering, IEEE Transactions on, vol. 54, no. 11, pp. 1940-1950,2007. [ Links ]

[20] C. D. Boor, A Practical Guide to Splines. Springer, 2001. [ Links ]

[21] M. Vukobratović, "Zero-moment point. thirty five years of its life," International Journal of Humanoid Robotics, vol. 01, no. 01, pp. 157-173, 2004. [ Links ]

[22] D. A. B. M and C. F. R. R, “Design of a dynamic simulator for a biped robot,” Modelling and Simulation in Engineering, vol. 2021, pp. 1-12, 2021. [ Links ]

*El modelo de control para la fase de apoyo simple sobre el pie izquierdo, es equivalente en la estructura matemática de las ecuaciones al del pie derecho, intercambiando los subindices r por l.

El par máximo de los servomotores AX12-A Dynamixel es: Γ max = 1.5 Nm

Recibido: 03 de Febrero de 2021; Aprobado: 15 de Mayo de 2021

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons