Evaluacion de un Esquema de Control de Equilibrio´ para un...

14
Evaluaci´ on de un Esquema de Control de Equilibrio para un Prototipo de Robot B´ ıpedo Desarrollado por el Grupo de Investigaci´ on ARMOS Jhonattan A. Gordillo L. Fredy H. Mart´ ınez S. [email protected] [email protected] Tecnolog´ ıa en Electricidad Facultad Tecn´ ologica Universidad Distrital Francisco Jos´ e de Caldas Bogot´ a D.C., Colombia Resumen—Este documento presenta el dise˜ no, implementaci´ on y evaluaci´ on de un sistema de control de equilibrio vertical sobre un prototipo de robot b´ ıpedo de 10 DOF (grados de libertad), desarrollado por el grupo de investigaci´ on ARMOS. El sistema de control se simul´ o off-line con el fin de observar el tiempo de respuesta, y posteriormente se grab´ o en un microcontrolador propio de la tarjeta Arduino Mega para su implementaci´ on en la plataforma b´ ıpeda. En el desarrollo del documento se describe el proceso que se llev´ o a cabo para lograr el objetivo, desde la adecuaci´ on de la planta con hardware, hasta los resultados de las simulaciones y pruebas realizadas, en donde se evidencia c´ omo cada articulaci´ on es llevada a su posici´ on de equilibrio teniendo en cuenta la acci´ on de control ejercida sobre el sistema. Abstract—This document presents the design, implementation and evaluation of a vertical balance control system on a bipedal robot prototype of 10 DOF (degrees of freedom), developed by the ARMOS research group. The control system was simulated off-line in order to observe the response time, and later it was recorded in a microcontroller of the Arduino Mega card for its implementation in the bipedal platform. The development of the document describes the process that was carried out to achieve the objective, from the adaptation of the plant with hardware, to the results of the simulations and the tests carried out, where it is evident how an articulation is carried to its position of balance, took into account the control action exercised on the system. I. I NTRODUCCI ´ ON La rob´ otica es una rama dentro de la ingenier´ ıa que hoy en d´ ıa tiene una gran importancia para la vida cotidiana del ser humano, puesto que en cuanto a aplicaciones su alcance se expande a diferentes campos tales como la medicina, la astronom´ ıa, la agricultura, la construcci´ on, la miner´ ıa, entre otras. En cuanto a desarrollo te´ orico, es de gran relevancia en el desarrollo de estrategias de control y automatizaci´ on. A continuaci´ on se presentan algunos antecedentes de investiga- ci´ on relevantes al proyecto que se utilizaron como fuente de ideas para el dise˜ no del esquema de control propuesto. El deseo del hombre por crear una m´ aquina que se asemeje ısicamente al cuerpo humano impuls´ o al desarrollo de diver- sas plataformas b´ ıpedas, las cuales se han venido mejorando una tras otra, teniendo as´ ı diversos robots, unos m´ as robustos y complejos que otros, que se acercan mucho al cuerpo humano. De all´ ı se nace la necesidad de controlar el movimiento y las caracter´ ısticas de los robots con el fin de emular el movimiento del cuerpo humano. A continuaci´ on se habla sobre algunas de las diferentes estrategias de control que se han empleado en las plataformas b´ ıpedas, en particular aquellas estrategias consideradas claves para esta investigaci´ on. Todo esto sirve de antesala a la propuesta que se presenta en este proyecto, tomando de ellos ideas para organizar un esquema de control con el fin de implementarlo en un prototipo de robot b´ ıpedo con desarrollado por el grupo de investigaci´ on ARMOS de la Universidad Distrital Francisco Jos´ e de Caldas. En primer lugar, en [1] se muestra un sistema de control que se compone de un controlador maestro encargado de mover 16 servomotores que permiten el movimiento de las dos piernas y dos controladores difusos, uno para cada pie, que se encargan de calcular el centro de presi´ on (COP) en cada uno de ellos a partir de los datos obtenidos por los sensores de presi´ on ubicados en la parte posterior, y generar una acci´ on de control para mover los servomotores que conforman la cadera y el tobillo. En la Fig. 1 se evidencia que la plataforma ıpeda sobre la que se implement´ o dicho sistema de control es similar a la que se presenta en este proyecto. Debido a que cuenta tambi´ en con 16 servomotores, un aceler´ ometro ubicado en la parte superior de la plataforma y unos sensores de presi´ on ubicados en la planta de los pi´ es del robot que simulan los puntos de presi´ on que ejerce peso y el movimiento del cuerpo humano sobre los pies, esta investigaci´ on aport´ o informaci´ on invaluable en cuanto a desempe˜ no esperado. All´ ı se us´ o un microcontrolador AtMega 128 para el tratamiento de las se˜ nales y la adquisici´ on de datos debido a que se requiere una gran cantidad de pines para el control de los servomotores y la recopilaci´ on de los datos que arroja cada sensor. En [2] se presenta una estrategia de control que contempla la energ´ ıa del sistema, y por tanto c´ omo debe ser estimulado para

Transcript of Evaluacion de un Esquema de Control de Equilibrio´ para un...

Page 1: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

Evaluacion de un Esquema de Control de Equilibrio

para un Prototipo de Robot Bıpedo Desarrollado

por el Grupo de Investigacion ARMOS

Jhonattan A. Gordillo L. Fredy H. Martınez S.

[email protected] [email protected]

Tecnologıa en Electricidad

Facultad Tecnologica

Universidad Distrital Francisco Jose de Caldas

Bogota D.C., Colombia

Resumen—Este documento presenta el diseno, implementaciony evaluacion de un sistema de control de equilibrio vertical sobreun prototipo de robot bıpedo de 10 DOF (grados de libertad),desarrollado por el grupo de investigacion ARMOS. El sistemade control se simulo off-line con el fin de observar el tiempode respuesta, y posteriormente se grabo en un microcontroladorpropio de la tarjeta Arduino Mega para su implementacion enla plataforma bıpeda. En el desarrollo del documento se describeel proceso que se llevo a cabo para lograr el objetivo, desde laadecuacion de la planta con hardware, hasta los resultados de lassimulaciones y pruebas realizadas, en donde se evidencia comocada articulacion es llevada a su posicion de equilibrio teniendoen cuenta la accion de control ejercida sobre el sistema.

Abstract—This document presents the design, implementation

and evaluation of a vertical balance control system on a bipedal

robot prototype of 10 DOF (degrees of freedom), developed by

the ARMOS research group. The control system was simulated

off-line in order to observe the response time, and later it was

recorded in a microcontroller of the Arduino Mega card for its

implementation in the bipedal platform. The development of the

document describes the process that was carried out to achieve

the objective, from the adaptation of the plant with hardware, to

the results of the simulations and the tests carried out, where it is

evident how an articulation is carried to its position of balance,

took into account the control action exercised on the system.

I. INTRODUCCION

La robotica es una rama dentro de la ingenierıa que hoy

en dıa tiene una gran importancia para la vida cotidiana del

ser humano, puesto que en cuanto a aplicaciones su alcance

se expande a diferentes campos tales como la medicina, la

astronomıa, la agricultura, la construccion, la minerıa, entre

otras. En cuanto a desarrollo teorico, es de gran relevancia

en el desarrollo de estrategias de control y automatizacion. A

continuacion se presentan algunos antecedentes de investiga-

cion relevantes al proyecto que se utilizaron como fuente de

ideas para el diseno del esquema de control propuesto.

El deseo del hombre por crear una maquina que se asemeje

fısicamente al cuerpo humano impulso al desarrollo de diver-

sas plataformas bıpedas, las cuales se han venido mejorando

una tras otra, teniendo ası diversos robots, unos mas robustos y

complejos que otros, que se acercan mucho al cuerpo humano.

De allı se nace la necesidad de controlar el movimiento y las

caracterısticas de los robots con el fin de emular el movimiento

del cuerpo humano. A continuacion se habla sobre algunas

de las diferentes estrategias de control que se han empleado

en las plataformas bıpedas, en particular aquellas estrategias

consideradas claves para esta investigacion. Todo esto sirve

de antesala a la propuesta que se presenta en este proyecto,

tomando de ellos ideas para organizar un esquema de control

con el fin de implementarlo en un prototipo de robot bıpedo

con desarrollado por el grupo de investigacion ARMOS de la

Universidad Distrital Francisco Jose de Caldas.

En primer lugar, en [1] se muestra un sistema de control

que se compone de un controlador maestro encargado de

mover 16 servomotores que permiten el movimiento de las dos

piernas y dos controladores difusos, uno para cada pie, que se

encargan de calcular el centro de presion (COP) en cada uno

de ellos a partir de los datos obtenidos por los sensores de

presion ubicados en la parte posterior, y generar una accion

de control para mover los servomotores que conforman la

cadera y el tobillo. En la Fig. 1 se evidencia que la plataforma

bıpeda sobre la que se implemento dicho sistema de control

es similar a la que se presenta en este proyecto. Debido a

que cuenta tambien con 16 servomotores, un acelerometro

ubicado en la parte superior de la plataforma y unos sensores

de presion ubicados en la planta de los pies del robot que

simulan los puntos de presion que ejerce peso y el movimiento

del cuerpo humano sobre los pies, esta investigacion aporto

informacion invaluable en cuanto a desempeno esperado. Allı

se uso un microcontrolador AtMega 128 para el tratamiento de

las senales y la adquisicion de datos debido a que se requiere

una gran cantidad de pines para el control de los servomotores

y la recopilacion de los datos que arroja cada sensor.

En [2] se presenta una estrategia de control que contempla la

energıa del sistema, y por tanto como debe ser estimulado para

Page 2: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

Figura 1. Plataforma Robonova [1]

.

lograr el equilibrio. Una implementacion de esta estrategia ha

sido previamente desarrollada por el grupo de investigacion

ARMOS mediante un control hıbrido difuso-deslizante. La

estrategia general adoptada para recuperar el balance de la

pierna, consiste en considerar el sistema en dos estados gene-

rales de funcionamiento, cuando existen grandes inclinaciones

de la misma (es decir, el sistema se encuentra en una lınea de

balance no deseada lejos de su punto de equilibrio), se busca

inyectar energıa al sistema a fin de recuperarlo rapidamente

y sin sobrepasos, y cuando se encuentra cerca de su punto

de equilibrio (cerca de la posicion vertical), seguir una ley de

control basica de equilibrio de acuerdo a reglas definidas por

un experto.

Los grupos de investigacion ARMOS (Universidad Distrital)

y DEDALO (Universidad Pedagogica Nacional) desarrollaron

el sistema bıpedo SIROBI1 (Sistema Robotico Bıpedo), como

plataforma para el desarrollo de sistemas roboticos inteligen-

tes. Tal prototipo se ha concebido como un robot bıpedo

conformado por dos piernas con 3-DOF y un tronco conectado

a ellas, capaz de realizar de forma autonoma movimientos

complejos tales como: mantenerse de pie en equilibrio, cami-

nar y levantarse del suelo. En este sistema, cada articulacion

cuenta con un control propio (control distribuido), pero res-

pondiendo a una unidad de control central que coordina las

acciones gruesas del robot [2]. Para la posicion de balance

de la pierna del robot disenaron un esquema basico de control

difuso, analizando el comportamiento basico de la ecuacion de

movimiento de cada pierna y de acuerdo al conocimiento de su

dinamica, es posible derivar reglas basicas de control cuando

el angulo de la articulacion esta muy lejos de la posicion ideal

[2]. En la Fig. 2 se puede observar el diseno CAD del robot

SIROBI1.

Existen diversas herramientas computacionales para realizar

el control de un robot, una de las mas conocidas es MATLAB,

la cual tiene diferentes cajas de herramientas tales como

SimMechanics, que en conjunto con Solidworks, permiten

simular cada parte del diseno, y a su vez toda la cinematica

ligada a este. Otra herramienta que puede ser utilizada en

Figura 2. Diseno CAD del robot SIROBI1 [2].

conjunto con MATLAB y Simulink, es Blender, mediante la

cual se puede modelar una plataforma robotica y exportar los

datos obtenidos a MATLAB para realizar la simulacion del

funcionamiento [3].

Para lograr la operacion del robot se requiere de un soft-

ware y una instrumentacion que implementen la estrategia

de control. Se utilizan diferentes componentes tales como

procesadores, sensores y actuadores. Los sensores captan

tanto las senales del entorno del robot, como las senales de

cada articulacion dependiendo donde se incorporen. Luego se

envıan las senales al software de control, allı se toman las

decisiones, que luego son enviadas a cada actuador [4].

El prototipo sobre el cual se implemento la estrategia de

control fue disenado para implementar esquemas de control

inteligente propuestos por el grupo de investigacion ARMOS,

con el fin de trabajar e interactuar con el ser humano y su

ambiente. Para el diseno se tuvieron en cuenta las propor-

ciones humanas, similaridad morfologica con el ser humano.

El diseno utilizo en su conceptualizacion las herramientas

Solidworks, para realizar el diseno geometrico, y MatLab

para afinar las parte mecanica del prototipo (tobillo, rodilla

y cadera) y estimar los esfuerzos de las articulaciones. Dicho

prototipo cuenta con 10 DOF (grados de libertad) distribuidos

entre las articulaciones de los tobillos, las rodillas y la cadera.

Se incorporaron en total 16 servo-motores para lograr la

construccion del prototipo [5]. En la Fig. 3, se muestra el

prototipo sobre el cual se va a implementar la estrategia de

control.

Se debe considerar que en cuanto a desplazamiento en

ambientes no estructurados los robots cuadrupedos, bıpedos y

otros caminantes componen una clase de robots moviles que

estan por encima de robots con ruedas y/o cadenas, puesto

que las piernas no requieren un gran area constante de apoyo,

por lo que superar las discontinuidades como una pendiente

rocosa o escaleras es mas facil con solo pasar por encima de

ellas [6].

Existen dos tipos de robots bıpedos, los bıpedos de caminata

activa, que cuentan con una gran libertad para llevar a cabo su

caminata, pero consumiendo bastante energıa, ya que necesitan

de varios grados de libertad y un sistema de control robusto, y

los robots de caminata pasiva, que son pobres en cuanto a su

Page 3: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

Figura 3. Prototipo del robot bıpedo del grupo de investigacion ARMOS [5]

.

sistema de control y grados de libertad pero consumen poca

energıa [7].

Muchos investigadores de la robotica actual se han centrado

en el desarrollo de los robots humanoides bıpedos. Se han

creado algunos humanoides a escala como ASIMO, el robot

humanoide de Honda, la serie SDR de Sony creada para el

entretenimiento, HUBO del Instituto de Ciencia y Tecnologıa

Avanzada de Corea, WABIAN, la serie de la Universidad

de Waseda, la serie Mahru de Samsung Electronics, el H6

y el H7 de la Universidad de Tokio y JHOHNNIE de la

Universidad Tecnica de Munich [8]. Todos estos prototipos

se han desarrollado como herramientas de investigacion para

futura integracion de la robotica en la vida cotidiana del ser

humano.

El principal motivo de la construccion de robots humanoides

es duplicar el comportamiento del movimiento humano y

ayudar a las personas. En cuanto al movimiento, se busca que

el robots se desempene en ambientes disenados para el ser

humano, y en cuanto a la ayuda a las personas, se busca que

realicen tareas en las cuales es compleja, costosa o peliogrosa

la participacion humana [9].

El deseo de tener una maquina similar a la humana se

hizo realidad en las ultimas decadas del siglo XX. Una gran

cantidad de investigacion se ha hecho para que la movilidad

del robot sea mas similar a la de la especie humana. En

los ultimos anos, diversos enfoques como el control robusto,

el aprendizaje por refuerzo, el algoritmo genetico, la logica

difusa y la red neuronal se han aplicado al modelo de control

con el fin de controlar y desarrollar el mecanismo de caminata

de los bıpedos. El control de los robots bıpedos es muy

complicado debido a su cinematica compleja y no lineal [10].

Una de las estrategias mas utilizadas en control bio-

inspirado son los sistemas de logica difusa (SLD) [9]. Los

SLD se utilizan ampliamente para resolver el problema de

cinematica inversa de punto a punto de los robots en serie.

Para disminuir el problema en toda el area de trabajo, las

funciones de pertenencia de la logica difusa se buscan, afinan,

y se optimizan usando un algoritmo genetico simple. Ellos

Figura 4. Prototipo del robot bipedo Rabbit [6].

Figura 5. Prototipo del robot bıpedo Botas [11].

proporcionan un enfoque directo para el calculo del problema

de cinematica inversa que no pasa por las singularidades

cinematicas [9].

El laboratorio de automatica de Grenoble (Francia) inicio un

proyecto llamado Rabbit en 1997, cuya mision era construir

un prototipo de robot bıpedo para estudiar el control de

movimiento dinamico. El Rabbit fue construido para parecerse

mucho al ser humano, ya que consta de 2 piernas que cuentan

con femur y tibia, y estan unidas a un torso simetrico [6].

Este proyecto fue desarrollado teniendo en cuenta el modelo

multicuerpo, y considera las fuerzas externas que actuan en el

momento del contacto - pies suelo [6]. En la Fig. 4 se puede

apreciar el prototipo.

En [11] se muestra el trabajo realizado para incorporar un

sistema de control en un prototipo de robot bıpedo, se puede

observar que el lenguaje de programacion que se implemento

para llevar a cabo el control es C++; tambien se muestra el

analisis cinematico realizado a este. En la Fig. 5 se puede

observar el prototipo Botas.

Otro de los trabajos realizados es e-Robot, en el que se

realizo el modelamiento de cada parte del robot mediante la

herramienta SimMechanics, la cual es un diagrama de bloques

que sirve para modelar el entorno y la cual se basa en las

Page 4: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

Figura 6. Robot humanoide e-Robot modelado en SimMechanics [8].

ecuaciones de Newton para realizar el analisis mecanico de la

estructura. La ventaja que tiene modelar un sistema, es que se

puede realizar la simulacion para observar las fallas que tiene

el metodo y corregirlas, de esta manera se ahorra tiempo [8].

En la Fig. 6 se observa el modelo del robot humanoide en

SimMechanics.

Otro referente considerado en la investigacion previa es

[4]. En el artıculo se muestra la implementacion de control

realizada en el robot Bioloid. Se desarrollo el control de

Bioloid usando MATLAB en conjunto con una tarjeta Arduino

Mega, con fines educativos. Se uso la tarjeta Arduino Mega

y un microcontrolador ATmega 2560 basicamente por su

bajo costo y la alta capacidad de senales Entrada/Salida que

soporta (multiples entradas y salidas digitales y analogas, con

gran numero de conversores A/D y D/A). Al igual que las

investigaciones antes citadas, estos son criterios de diseno

importantes que se consideraran en la investigacion. En la

Fig. 7 se muestra el robot Bioloid con sus respectivas partes.

Existen diferentes estrategias de control utilizadas para

lograr el equilibrio sobre diferentes plataformas bıpedas, se

puede utilizar un poco de cada una para el desarrollo del

proyecto, sin embargo, la principal referencia que se tuvo

en cuenta es el esquema hıbrido difuso-deslizante para el

control de equilibrio de un robot bıpedo [2], puesto que tiene

en cuenta la energıa del sistema para lograr el objetivo de

equilibrio, ademas de que el sistema responde rapidamente

Figura 7. Robot Bioloid y sus partes [4].

frente a fuertes disturbios externos con un error muy pequeno

con respecto a la referencia.

II. FORMULACION DEL PROBLEMA

El proyecto se centra en el diseno, implementacion y

evaluacion de un sistema de control de equilibrio vertical en

un prototipo de robot bıpedo, el cual fue desarrollado haciendo

uso de la logica difusa. Esta estrategia de control se selecciono

debido a su facilidad natural de combinar diferentes superficies

de control en un solo esquema con salida uniforme. Ademas,

proporciona un control robusto que permite controlar sistemas

no lineales de una forma mas simple y confiable respecto a

otros tipos de control.

El sistema de control debe ser del tipo MISO, con multiples

entradas, para este caso dos, y una sola salida, ademas, debe

ejercer una accion de control tal que, las variables de entrada

vayan al punto de referencia establecido en un corto tiempo

y ningun sobrepaso en el sistema independientemente de las

condiciones iniciales que tenga el sistema o las perturbaciones

externas que se presenten sobre el mismo.

Inicialmente se realizaron unas simulaciones en el software

matematico MATLAB, en las que se demuestra que el sistema

de control es capaz de llevar las variables de entrada al punto

de referencia de una manera suave y en un corto tiempo, luego

se describe la manera en que el diseno llevado a cabo en

MATLAB es implementado en una tarjeta de adquisicion de

datos para probar el sistema de control en el prototipo de robot

bıpedo.

La estrategia de control queda disponible para los estudian-

tes de la universidad, que deseen llevar a cabo proyectos de

investigacion sobre sistemas de control en robots humanoides,

o que el material desarrollado en este proyecto les sirva para

trabajar en futuros proyectos de investigacion.

III. METODOLOGIA

El principal enfoque de este proyecto es la logica difusa,

la cual es una herramienta poderosa en cuanto al control

de sistemas no lineales de multiples entradas y una sola

Page 5: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

salida (MISO). Un sistema de logica difusa (SDL) se basa

en una serie de reglas establecidas por un experto de acuerdo

a su experiencia, que son de la forma SI (parametro de

entrada) - ENTONCES (salida) en las que se pueden incluir

conjuntos que van mas alla de la logica convencional en la

que solo existen los conjuntos verdadero y falso o tambien

1 y 0 respectivamente. Se considera una ventaja incluir mas

conjuntos difusos ya que los parametros de entradas y salidas

tendran cierto grado de pertenencia en cada uno de ellos y

esto permitira que dentro del bloque difuso se tome la mejor

decision a partir de las reglas establecidas y de esa manera

obtener una salida optima del sistema de control.

Inicialmente se penso en codificar cada variable (error de

posicion y variacion del error de posicion), en 4 bits, es

decir, cada una de ellas tomarıa un valor entre 0 y 15 y

las combinaciones posibles serıan 256, una vez simuladas

mediante MATLAB cada una de las combinaciones, se crearıa

una tabla y, a traves de un programa sencillo en el IDE

de Arduino (Entorno de Desarrollo Integrado), se ubicarıa

el valor de la salida para cada una de las combinaciones o

direcciones de la tabla; sin embargo, teniendo en cuenta la

restriccion en la cantidad de memoria que debıa ser ocupada

de Arduino, el trabajo que generaba realizar las simulaciones

correspondientes para todas las combinaciones en cada una

de las articulaciones para crear las seis tablas y sobretodo

la poca resolucion de las variables, se opto por implementar

otra solucion que permitiera tener una mayor resolucion de las

variables y que permitiera tener un programa mas compacto

que ocupase menor memoria en la tarjeta.

Para crear los seis bloques difusos (uno por cada articu-

lacion), se utilizo MATLAB, debido a que es un software

robusto que permite trabajar muy bien los sistemas difusos

mediante lıneas de codigo o de manera grafica con uno de los

Toolbox con que cuenta dicho software. En cada programa

se establecieron los conjuntos difusos correspondientes a las

dos variables de entrada (error de posicion y variacion del

error de posicion), y los conjuntos difusos correspondientes

a la salida del sistema, tambien se definieron unas reglas

de control iniciales, las cuales fueron refinadas de acuerdo

al comportamiento que presentaba el sistema en las pruebas

realizadas al mismo.

Como hardware de adquisicion de datos para la implemen-

tacion del sistema de control se utilizo la tarjeta Arduino Mega

2560, debido a su gran cantidad de pines analogos (16), con

los cuales se toman los datos de los sensores de flexion y

pines digitales (54) de los cuales se utilizan 16 para asignar

los datos de salida a los servos (Fig. 8).

Para adquirir los datos del error de posicion de la articu-

lacion, se utilizaron cuatro sensores de flexion de 2.2”para la

cadera y los tobillos, y dos sensores de flexion de 4.5”para las

rodillas, estos sensores devuelven un valor entre 0 y 5 Voltios

el cual se ve reflejado en el IDE de Arduino con un valor entre

0 y 1023. En la Fig. 9 se muestra uno de dichos sensores; y

para leer la velocidad angular que lleva la plataforma se uso el

sensor MPU 9150 que tiene integrado giroscopio, acelerometro

Figura 8. Arduino Mega 2560.

Figura 9. Sensor de flexion.

y brujula en los 3 ejes de rotacion el cual se observa en la

Fig. 10.

En la figura Fig. 11, se muestra el prototipo bıpedo sobre el

cual se implemento el sistema de control con las conexiones

correspondientes para su funcionamiento.

III-A. Estrategia de control

Para mantener o recuperar el equilibrio de la plataforma se

debe llevar a cabo un control distribuido, es decir, cada una

de las seis (6) articulaciones (caderas, rodillas y tobillos) tiene

sus propias reglas de control, ya que la plataforma es similar

morfologicamente al cuerpo humano, por ende, el rango de

movimiento de la cadera es diferente al de la rodilla y al de

el tobillo.

El sistema de control que se implemento en el prototipo

de robot bıpedo, es un sistema con multiples entradas y una

unica salida, las cuales son el error de posicion, y la variacion

Figura 10. Sensor MPU 9150.

Page 6: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

Figura 11. Prototipo de robot bıpedo implementado por el grupo de investi-gacion ARMOS.

de dicho error. Para determinar el error de posicion se usa la

siguiente formula:

eθ =θactual − θref

θmax

(1)

La estrategia que se implemento para recuperar el equilibrio

en cada articulacion contempla el error de posicion de la

articulacion con respecto a la vertical y la variacion de dicho

error, y a partir de estos dos datos, se calcula la accion

de control por medio de un bloque difuso implementado en

Matlab.

La estrategia de control propuesta considera dos escenarios,

el primero cuando el angulo de inclinacion se encuentra en una

posicion cercana al punto de referencia vertical, y el segundo

en el que el sistema tiene angulo de inclinacion se encuentra

lejos de la posicion deseada, en el cual se busca inyectar

energıa para que el sistema recupere la posicion de equilibrio

sin sobrepasos y de manera rapida. Para esta estrategia de

control es necesario tener en cuenta dos superficies de control,

la primera en la que se definan una serie de reglas que indiquen

como conservar el equilibrio, y la segunda en la que mediante

una ecuacion que indique cuanta energıa aplicar al sistema

para recuperar el balance de la articulacion.

Para obtener un esquema de control suave (sin sobrepasos

bruscos en el sistema), es necesario definir un esquema capaz

Figura 12. Bloque de control de posicion difuso [2].

Figura 13. Diagrama de cuerpo libre de una articulacion del robot.

de conmutar entre las dos superficies de acuerdo a las variables

del sistema, por esta razon se opto por utilizar el bloque de

inferencia difusa como estrategia global de control mostrado

en la Fig. 12.

La accion de control final se interpreta como la fuerza

aplicada a la articulacion por un motor. Esta fuerza depende de

unidad de control en la articulacion con el fin de recuperar la

posicion de equilibrio, teniendo en cuenta las reglas de control

definidas para los dos escenarios nombrados anteriormente.

Las reglas de control se construyeron de acuerdo al compor-

tamiento de las variables y la posicion de la articulacion. Para

ello se tuvo en cuenta la simulacion de un modelo sencillo de

la pierna, asumiendo una barra sencilla de longitud 2L y masa

m conocidas. En la Fig. 13 se muestra el diagrama de cuerpo

libre de una articulacion.

La ecuacion de movimiento de la pierna esta descrita por:

Iθ = mgL sin θ + FxL cos θ − FyL sin θ + τ (2)

III-B. Diseno del sistema de control

Para el desarrollo e implementacion del sistema de control,

se hizo mediante el uso de la herramienta computacional

MATLAB, debido a que es un software matematico robusto

para el tratamiento de datos y el desarrollo de gran variedad

de proyectos de ingenierıa. En cuanto a la logica difusa,

MATLAB cuenta con un Toolbox llamado Fuzzy Logic Desig-

ner, el cual permite crear sistemas de inferencia difusa (FIS),

de una manera sencilla e interactiva con el software, ası como

tambien permite crearlos con lıneas de codigo escritas en el

espacio de trabajo del software, con la ventaja de que toda la

informacion se encuentra en una sola ventana y si se requiere

Page 7: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

Figura 14. Esquema del prototipo bıpedo - vista frontal.

realizar cambios en el sistema, no es necesario abrir el Toolbox

y usar los botones necesarios para llevarlos a cabo.

Debido a la ventaja que tiene trabajar con lıneas de codigo,

se decidio construir el FIS de esta manera. Lo primero que

se debe tener en cuenta es que MATLAB, por defecto, crea

sistemas difusos del tipo mamdani, es decir, que tanto entradas

como salidas son conjuntos difusos, ademas el metodo de

defuzzificacion lo hace mediante el calculo del centro de

gravedad o centroide.

Se debe tener en cuenta que, como se menciono anterior-

mente, el prototipo cuenta con seis articulaciones, y que por

cada una de ellas se tiene instalado un sensor de flexion que

permite leer la posicion angular de la articulacion, ademas de

un acelerometro ubicado en la parte superior del robot para

medir la velocidad angular de la plataforma. Por lo anterior,

fue necesario crear un bloque difuso por cada articulacion.

En la Fig. 14, se observa un esquema de la planta en el

corte frontal con los nombres que fueron asignados a cada

servomotor y en cada costado los nombres de los sensores de

flexion.

Para la construccion del sistema difuso, lo primero fue

calibrar los servomotores para que tuviesen un arco de movi-

miento similar al del cuerpo humano, esto se realizo de manera

mecanica, sin embargo, como una medida de seguridad para

que la planta y los sensores no sufrieran danos, se escribieron

un par de lıneas de codigo en el programa final para allı limitar

tambien el movimiento de los servos. Una vez definidos los

rangos de movimiento para cada articulacion, se llevaron los

servomotores a sus angulos extremos y al punto de referencia,

con el fin de observar las medidas que toman los sensores en

dichos puntos, y de esta manera definir los conjuntos difusos

para la construccion del FIS. Para la segunda variable de

entrada, que corresponde a la lectura del acelerometro, se

llevo a cabo un proceso similar. Finalmente con los rangos

de movimiento de cada articulacion, se definen los conjuntos

difusos para la salida segun sea el caso. Al proceso mediante

el cual se definen los conjuntos difusos de las entradas y

salidas se le llama fuzzificacion, que consiste en determinar las

variables linguısticas y funciones de pertenencia o membresıa

del sistema de control. Las funciones de membresıa que se

definieron son de tipo triangular (para los conjuntos mas

pequenos), y de tipo trapezoidal (para los dos conjuntos mas

grandes). Las variables linguısticas que se definieron son: NG

(Negativo Grande), NP (Negativo Pequeno), ZE (Cero), PP

(Positivo Pequeno) y PG (Positivo Grande). Lo siguiente, fue

identificar los estados posibles de las articulaciones teniendo

en cuenta las entradas o antecedentes identificados anterior-

mente. En la Fig. 15 se observan los posibles escenarios que

se encontraran en cada articulacion.

En la Fig. 16, los conjuntos de las variables de entrada

y salida de la articulacion A, teniendo en cuenta que en el

eje vertical se tiene el grado de pertenencia de los valores

de acuerdo a cada conjunto difuso y en el eje horizontal, los

posibles valores que toma cada variable, teniendo ası en el

punto central, la referencia de dichas variables. En las Figs. 17,

18, 19, 20 y 21 se muestran la misma informacion para las

demas articulaciones.

Inicialmente se deben considerar tres preguntas fundamen-

tales para el diseno del sistema:

1. Error de posicion (EP): ¿Que tan lejos se encuentra la

articulacion con respecto a su posicion de equilibrio

vertical?

2. Cambio en el error de posicion (CEP): ¿Que tan rapido

se aleja o se acerca la articulacion de la posicion de

equilibrio?

3. Cambio en la posicion (CP): ¿Cual es la accion de

control correcta? (salida del sistema).

Las preguntas 1 y 2 se consideran las entradas del sistema

de control, es decir, los antecedentes, mientras que 3 es el

consecuente, es decir, la salida del sistema.

El siguiente paso del diseno, consistio en definir las reglas

de control, para lo cual se escribieron las siguientes proposi-

ciones generales y luego en MATLAB se fueron afinando de

acuerdo al comportamiento de cada articulacion:

Si el angulo es relativamente grande (NG o PG) y la

velocidad angular es alta y en el mismo sentido del

angulo, la accion de control debe ser grande y opuesta

al movimiento de la pierna.

Para los angulos pequenos, cercanos a cero, la accion de

control anterior se extiende a estos con el fin de evitar

oscilaciones en el punto de equilibrio.

Si el angulo es relativamente grande (NG o PG) y la

velocidad angular es alta y en el sentido contrario al

angulo, la accion de control debe ser suave y opuesta

al movimiento de la pierna a fin de evitar oscilaciones.

Si el angulo es pequeno y la velocidad angular es baja

y en el mismo sentido del angulo, la accion de control

debe ser baja y opuesta al movimiento de la pierna.

Si el angulo es pequeno y la velocidad angular es baja

y en el sentido contrario al angulo, la accion de control

debe ser cero a fin de evitar oscilaciones.

Page 8: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

Figura 15. Posibles estados de cada articulacion.

0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91

Error de Posición - Sensor a

0

0.5

1

Mem

bres

ía

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Variación del Error de Posición

0

0.5

1

Mem

bres

ía

-100 -80 -60 -40 -20 0 20 40 60 80 100

Salida - Servo a

0

0.5

1

Mem

bres

ía

Figura 16. Conjuntos difusos - Articulacion A.

Ya con los sistemas de inferencia difusa de cada articulacion

construidos, se hizo uso de una funcion de MATLAB que

permite ver la superficie de control de un FIS con el fin de

comprobar su simetrıa. En la Fig. 22, se pueden apreciar las

seis superficies de control correspondientes.

IV. RESULTADOS Y EVALUACION DE DESEMPENO

Para verificar que el sistema de control lleva cada arti-

culacion a su punto de equilibrio, se escribio un programa

en MATLAB con el fin de simular el cumplimiento del

objetivo de la estrategia de control, teniendo allı el modelo

de cada articulacion y unas condiciones iniciales que varıan

0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79

Error de Posición - Sensor B

0

0.5

1

Mem

bres

ía

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Variación del Error de Posición

0

0.5

1

Mem

bres

ía

-100 -80 -60 -40 -20 0 20 40 60 80 100

Salida - Servo b

0

0.5

1

Mem

bres

ía

Figura 17. Conjuntos difusos - Articulacion B.

para verificar que la articulacion vaya a su punto de equilibrio,

en donde el error de posicion con respecto a la referencia

es un valor muy cercano a cero, ası como la velocidad

angular con la que se mueve la articulacion. A continuacion

se muestran las figuras Fig. 23, Fig. 24, que corresponden al

comportamiento de la posicion de la articulacion A (cadera

derecha) y la velocidad angular de la misma respectivamente,

tomando como condiciones iniciales 0.84 para la posicion y

-0.8 para la velocidad angular, datos que se encuentran lejos

con respecto al punto de referencia, allı se observa que pasados

aproximadamente 2.1 [ms] se llega a la posicion de referencia

Page 9: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97

Error de Posición - Sensor C

0

0.5

1M

embr

esía

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Variación del Error de Posición

0

0.5

1

Mem

bres

ía

-100 -80 -60 -40 -20 0 20 40 60 80 100

Salida - Servo c

0

0.5

1

Mem

bres

ía

Figura 18. Conjuntos difusos - Articulacion C.

0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98

Error de Posición - Sensor D

0

0.5

1

Mem

bres

ía

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Variación del Error de Posición

0

0.5

1

Mem

bres

ía

-100 -80 -60 -40 -20 0 20 40 60 80 100

Salida - Servo d

0

0.5

1

Mem

bres

ía

Figura 19. Conjuntos difusos - Articulacion D.

0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66

Error de Posición - Sensor E

0

0.5

1

Mem

bres

ía

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Variación del Error de Posición

0

0.5

1

Mem

bres

ía

-100 -80 -60 -40 -20 0 20 40 60 80 100

Salida - Servo e

0

0.5

1

Mem

bres

ía

Figura 20. Conjuntos difusos - Articulacion E.

0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91

Error de Posición - Sensor F

0

0.5

1

Mem

bres

ía

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Variación del Error de Posición

0

0.5

1

Mem

bres

ía

-100 -80 -60 -40 -20 0 20 40 60 80 100

Salida - Servo f

0

0.5

1

Mem

bres

ía

Figura 21. Conjuntos difusos - Articulacion F.

describiendo una curva suave y que a pesar de que la velocidad

angular no tenga un comportamiento tan suave, si llega al

punto de referencia pasados 1.2 [ms] aproximadamente sin

sobresaltos bruscos, teniendo en cuenta que para la posicion

el punto de equilibrio es 0.865 y para la velocidad angular es

0. Ademas en la a Fig. 25 se observa el esfuerzo que realiza

el sistema de control para llevar las dos variables de entrada

al punto de referencia.

En las figuras Fig.26, Fig.27, Fig.28, Fig.29, Fig.30, Fig.31,

Fig.32, Fig.33, Fig.34, Fig.35, Fig.36, Fig.37,Fig.38, Fig.39

y Fig.440 se muestra el comportamiento las demas articu-

laciones, teniendo en cuenta diferentes condiciones iniciales

para cada una de ellas, y se observa como en cada una de

ellas llegan las variables de entrada a los puntos de referencia

pasado un corto tiempo.

Teniendo que las simulaciones correspondientes para cada

una de las seis articulaciones muestran como el sistema es

capaz de llevar las variables de entrada a sus respectivos puntos

de referencia, el siguiente paso fue escribir un programa

que tomara cierta cantidad de valores de cada variable de

entrada, desde el valor mınimo hasta el valor maximo, y ası

realizar la simulacion de cada combinacion posible entre ellas

(condiciones iniciales), para ası obtener la accion de control

necesaria para cada uno de los posibles casos. Dicho programa

genera una matriz en donde cada termino corresponde a la

accion de control, y cada corrimiento de filas y columnas

corresponde a los valores que toman las dos variables de

entrada (posicion y velocidad angular), de esta manera se

obtuvo una matriz con todas las salidas correspondientes, la

cual es exportada a una hoja de calculo para ser copiada en el

programa final. Despues de realizar la prueba con diferentes

resoluciones para cada variable, se llego a la conclusion de que

en el mejor escenario, cada variable puede tomar 100 valores

diferentes, por lo tanto se creo una matriz 100x100 para cada

articulacion, una buena resolucion teniendo en cuenta el rango

de valores en el que se mueve cada variable.

Page 10: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

Figura 22. Superficies de control generadas por MATLAB.

0 0.05 0.1 0.15 0.2 0.25

Time [s]

0.84

0.845

0.85

0.855

0.86

0.865

0.87

Ang

ular

Pos

ition

Articulación A (Cadera Derecha)

Figura 23. Posicion de la articulacion A resultante de la simulacion concondiciones iniciales 0.84 para posicion y -0.8 para velocidad angular.

Luego de generar las seis matrices correspondientes a cada

articulacion, el siguiente paso fue escribir el programa final

en el IDE (Entorno de Desarrollo Integrado) de Arduino para

integrar todo lo obtenido en las simulaciones e implementarlo

sobre el prototipo para realizar las pruebas pertinentes. Es

en el IDE donde se deben declarar las variables de entrada

(seis sensores de flexion y un acelerometro), las variables de

salida (16 servomotores) y las seis matrices 100x100 que se

guardaron en la memoria del programa del microcontrolador

debido a que la memoria de datos no fue lo suficientemente

0 0.05 0.1 0.15 0.2 0.25

Time [s]

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Ang

ular

Vel

ocity

Articulación A (Cadera Derecha)

Figura 24. Velocidad angular de la articulacion A resultante de la simulacioncon condiciones iniciales 0.84 para posicion y -0.8 para velocidad angular.

grande para contener la informacion. Finalmente se toman

las lecturas de los sensores y, teniendo en cuenta que cada

elemento de la matriz es una combinacion entre las dos

variables de entrada, se busca el valor correspondiente a dicha

combinacion, que al final es el dato de salida que se debe

asignar a cada servomotor segun corresponda.

Finalmente se realizaron diferentes pruebas al prototipo para

comprobar que el esquema de control de equilibrio planteado

para el desarrollo de este proyecto funciona, las cuales se

Page 11: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

0 0.05 0.1 0.15 0.2 0.25

Time [s]

-70

-60

-50

-40

-30

-20

-10

0

10

20

Con

trol

Act

ion

Articulación A (Cadera Derecha)

Figura 25. Accion de control articulacion A necesaria para llevar las variablesde entrada al punto de referencia tomando como condiciones iniciales 0.84para posicion y -0.8 para velocidad angular.

0 0.05 0.1 0.15 0.2 0.25 0.3

Time [s]

0.734

0.736

0.738

0.74

0.742

0.744

0.746

0.748

0.75

0.752

0.754

Ang

ular

Pos

ition

Articulación B (Rodilla Derecha)

Figura 26. Posicion de la articulacion B resultante de la simulacion concondiciones iniciales 0.75 para posicion y -0.7 para velocidad angular.

0 0.05 0.1 0.15 0.2 0.25 0.3

Time [s]

-0.7

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

0

Ang

ular

Vel

ocity

Articulación B (Rodilla Derecha)

Figura 27. Velocidad angular de la articulacion B resultante de la simulacioncon condiciones iniciales 0.75 para posicion y -0.7 para velocidad angular.

0 0.05 0.1 0.15 0.2 0.25 0.3

Time [s]

-1

0

1

2

3

4

5

6

7

8

9

Con

trol

Act

ion

Articulación B (Rodilla Derecha)

Figura 28. Accion de control articulacion B necesaria para llevar las variablesde entrada al punto de referencia tomando como condiciones iniciales 0.75para posicion y -0.7 para velocidad angular.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

Time [s]

0.956

0.958

0.96

0.962

0.964

0.966

0.968

0.97

Ang

ular

Pos

ition

Articulación C (Tobillo Derecho)

Figura 29. Posicion de la articulacion C resultante de la simulacion concondiciones iniciales 0.97 para posicion y 0.3 para velocidad angular.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

Time [s]

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

Ang

ular

Vel

ocity

Articulación C (Tobillo Derecho)

Figura 30. Velocidad angular de la articulacion C resultante de la simulacioncon condiciones iniciales 0.97 para posicion y 0.3 para velocidad angular.

Page 12: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

Time [s]

0

10

20

30

40

50

60

70

Con

trol

Act

ion

Articulación C (Tobillo Derecho)

Figura 31. Accion de control articulacion C necesaria para llevar las variablesde entrada al punto de referencia tomando como condiciones iniciales 0.97para posicion y 0.3 para velocidad angular.

0 0.05 0.1 0.15 0.2 0.25 0.3

Time [s]

0.96

0.962

0.964

0.966

0.968

0.97

0.972

0.974

0.976

0.978

Ang

ular

Pos

ition

Articulación D (Cadera Izquierda)

Figura 32. Posicion de la articulacion D resultante de la simulacion concondiciones iniciales 0.98 para posicion y 0.8 para velocidad angular.

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18

Time [s]

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Ang

ular

Vel

ocity

Articulación D (Cadera Izquierda)

Figura 33. Velocidad angular de la articulacion D resultante de la simulacioncon condiciones iniciales 0.98 para posicion y 0.8 para velocidad angular.

0 0.05 0.1 0.15 0.2 0.25 0.3

Time [s]

0

10

20

30

40

50

60

70

Con

trol

Act

ion

Articulación D (Cadera Izquierda)

Figura 34. Accion de control articulacion D necesaria para llevar las variablesde entrada al punto de referencia tomando como condiciones iniciales 0.98para posicion y 0.8 para velocidad angular.

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16

Time [s]

0.796

0.798

0.8

0.802

0.804

0.806

0.808

Ang

ular

Pos

ition

Articulación E (Rodilla Izquierda)

Figura 35. Posicion de la articulacion E resultante de la simulacion concondiciones iniciales 0.8 para posicion y -0.7 para velocidad angular.

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08

Time [s]

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Ang

ular

Vel

ocity

Articulación E (Rodilla Izquierda)

Figura 36. Velocidad angular de la articulacion E resultante de la simulacioncon condiciones iniciales 0.8 para posicion y -0.7 para velocidad angular.

Page 13: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

0 0.01 0.02 0.03 0.04 0.05 0.06

Time [s]

-70

-60

-50

-40

-30

-20

-10

0

10

20

30

Con

trol

Act

ion

Articulación E (Rodilla Izquierda)

Figura 37. Accion de control articulacion E necesaria para llevar las variablesde entrada al punto de referencia tomando como condiciones iniciales 0.8 paraposicion y -0.7 para velocidad angular.

0 0.1 0.2 0.3 0.4 0.5 0.6

Time [s]

0.933

0.934

0.935

0.936

0.937

0.938

0.939

0.94

0.941

0.942

Ang

ular

Pos

ition

Articulación E (Tobillo Izquierdo)

Figura 38. Posicion de la articulacion F resultante de la simulacion concondiciones iniciales 0.93 para posicion y 0.6 para velocidad angular.

0 0.05 0.1 0.15 0.2 0.25 0.3

Time [s]

0

0.1

0.2

0.3

0.4

0.5

0.6

Ang

ular

Vel

ocity

Articulación E (Tobillo Izquierdo)

Figura 39. Velocidad angular de la articulacion F resultante de la simulacioncon condiciones iniciales 0.93 para posicion y 0.6 para velocidad angular.

0 0.05 0.1 0.15 0.2 0.25

Time [s]

0

5

10

15

20

25

30

35

40

45

Con

trol

Act

ion

Articulación E (Tobillo Izquierdo)

Figura 40. Accion de control articulacion F necesaria para llevar las variablesde entrada al punto de referencia tomando como condiciones iniciales 0.93para posicion y 0.6 para velocidad angular.

encuentran recopiladas en un total de 6 videos en el sitio web

YouTube; dichos videos se relacionan a continuacion:

VIDEO 1:

https://youtu.be/CBT-4h2ADJg

Este fue el primer video de prueba del esquema de

control, aquı todos los componentes electronicos estan

energizados y se observa un movimiento repentino en

la rodilla izquierda, en este caso procedimos a reajustar

los conjuntos difusos correspondientes a la lectura del

sensor de flexion, para este caso el D, porque los datos

que tenıamos no estaban dentro del universo del discurso

para esta articulacion.

VIDEO 2

https://youtu.be/l4sazm-vgmo

Despues de ajustar las matrices difusas para cada union

y despues de ajustar las reglas de control, el sistema se

energiza con el programa final cargado en la placa y

observamos como se mantiene en equilibrio.

VIDEO 3

https://youtu.be/4RIDMYNV5 8

En este video observamos como los servomotores reac-

cionan al cambio de posicion de la planta.

VIDEO 4

https://youtu.be/OR9HLx7cRsg

En este video, mostramos el robot con cada articulacion

en una posicion diferente antes de energizarlo. Podemos

ver que las articulaciones buscan rapidamente su posicion

de equilibrio teniendo en cuenta las lecturas de los

sensores. Al final, el robot intenta caer hacia adelante,

puede deberse a que la superficie de cada pie es un poco

pequena para soportar el peso que se esta concentrando

en la parte superior del robot, sin embargo, durante

un tiempo corto se puede apreciar como el sistema se

mantiene en equilibrio.

VIDEO 5

https://youtu.be/a ATdRfUDEQ

Page 14: Evaluacion de un Esquema de Control de Equilibrio´ para un ...repository.udistrital.edu.co/bitstream/11349/13455/...Solidworks, para realizar el disen˜o geome´trico, y MatLab para

Aquı el prototipo se muestra con condiciones iniciales

lejos del punto de equilibrio, y podemos ver como el

control lleva las uniones a dicho punto, asegurando ası

que el sistema permanezca en la posicion deseada.

VIDEO 6

https://youtu.be/JhB3WIW9bts

En este ultimo video mostramos como el robot mantiene

su posicion independientemente de las perturbaciones

externas (no muy fuertes), forzadas manualmente cuando

con la mano cambiamos la posicion de las articulaciones

V. CONCLUSIONES

En este proyecto se diseno e implemento un sistema de con-

trol de equilibrio sobre un prototipo de robot bıpedo, usando

como herramienta de control robusto la logica difusa, teniendo

en cuenta que para cada articulacion del robot se tienen unas

reglas de control especıficas. Inicialmente se desarrollo la

estrategia de control en MATLAB, se realizaron simulaciones

para cada articulacion con diferentes condiciones iniciales,

evidenciando ası que el sistema de control es funcional y

permite que cada articulacion vaya a su posicion de equilibrio

de manera rapida y sin sobrepasos. Finalmente se implemento

la estrategia de control en el prototipo, escribiendo un pro-

grama en el IDE de Arduino y cargandolo sobre la tarjeta de

adquisicion de datos seleccionada para realizar pruebas sobre

el mismo.

VI. TRABAJO FUTURO

Con el desarrollo de este proyecto de grado se lograron

identificar algunos aspectos que se pueden mejorar para futu-

ros proyectos en esta lınea de investigacion:

Con los sensores de flexion se presento el problema de que

al calibrar los angulos de los servomotores en la etapa de

adecuacion de la planta, se fue desgastando la pelıcula que

los protege, generando ası medidas erroneas y por ende, una

perdida total del sensor. Por esta razon, se recomienda tener

extremo cuidado con la manipulacion de este tipo de sensores,

o en su defecto, buscar otra alternativa para tomar datos de

posicion en una articulacion.

REFERENCIAS

[1] M. Claros, J. Rodriguez, and R. Soto, “Balance control of a biped robotin the coronal plane using foot sole cop trajectories,” in Control &

Automation (ICCA), 11th IEEE International Conference on, 2014.

[2] F. Martinez and D. M. Acero, “Esquema hıbrido difuso-deslizante para elcontrol de equilibrio de un robot bıpedo,” XXX Jornadas de Automatica

JA09, vol. 1, pp. 1–6, 2009.

[3] D. Aguilar and A. Vivas, “Modelado y control de un robot bıpedode nueve grados de libertad,” in VIII Congreso de la Asociacion

Colombiana de Automatica, pp. 1–6, 2009.

[4] A. Al-Busaidi, “Development of an educational environment for onlinecontrol of a biped robot using matlab and arduino,” in 2012 9th France-

Japan & 7th Europe-Asia Congress on and Research and Education

in Mechatronics (REM), 2012 13th Int’l Workshop on Mechatronics

(MECATRONICS), pp. 337–344, 2012.

[5] D. Zarate and F. H. Martınez, “Anthropometric humanoid robot conceptfor research in control,” Vision Electronica, vol. 1, pp. 1–18, 2013.

[6] D. Aguirre and J. Molina, “Mutibody modelization of a biped robot,”in 2012 16th IEEE Mediterranean Electrotechnical Conference (MELE-

CON), pp. 985–988, 2012.

[7] X. Zhou, Y. Guan, C. Cai, L. Jiang, H. Zhu, and X. Zhang, “Modelingand planning for stable walking of a novel 6-dof biped robot,” in 2010

IEEE International Conference on Robotics and Biomimetics (ROBIO),pp. 7–12, 2010.

[8] C. Hernandez, R. Soto, and E. Rodriguez, “Design and dynamic mo-deling of humanoid biped robot e-robot,” in 2011 IEEE Electronics

Robotics and Automotive Mechanics Conference (CERMA), pp. 191–196, 2011.

[9] M. A. Adly, W. Amirfaiz, W. Faizura, I. Elamvazuthi, and M. Begam,“Design and kinematic analysis of biped robot,” in 2010 International

Conference on Intelligent and Advanced Systems (ICIAS), pp. 1–5, 2010.ISBN 978-1-4244-6623-8.

[10] H. Haghighi and M. Nekoui, “Computed torque controller for an 8degrees of freedom biped robot based on zero moment point,” 2011 2nd

International Conference on Control, Instrumentation and Automation

(ICCIA), vol. 1, pp. 479–484, 2011.[11] A. Botas and R. Solea, “Design and control of a biped robot,” in

2011 15th International Conference on System Theory, Control, and

Computing (ICSTCC), pp. 1–5, 2011.