diseño e implementación de controladores inteligentes en

12
Dise ˜ no e implementaci ´ on de controladores inteligentes en procesadores suaves para la caminata de un robot b´ ıpedo Jorge A. Qui ˜ nones 1 , Oscar Montiel-Ross 1 , Roberto Sep´ ulveda 1 , Oscar Castillo 2 1 Instituto Polit´ ecnico Nacional (CITEDI-IPN), Centro de Investigaci´ on y Desarrollo de Tecnolog´ ıa Digital, Tijuana, exico 2 Tijuana Institute of Technology, Tijuana, exico [email protected],{oross, [email protected]}, [email protected] Resumen. Se presenta el dise ˜ no, construccci ´ on, y control inteligente para la caminata de un robot b´ ıpedo. Los controladores est ´ a basados en ogica difusa y redes neuronales artificiales. La estabilidad del robot se controla medinate la t ´ ecnica conocida como ”Zero Moment Point”. Los controladores se implementaron en tecnolog´ ıa FPGA debido a la versatilidad que ofrecen para combinar t ´ ecnicas de procesamiento secuencial con multiprocesadores suaves, y procesamiento concu- rrente mediante lenguajes de descripci ´ on de hardware, lo cual permite ejecutar las tareas en tiempo real andole al robot un comportamiento mas natural. Se muestran resultados experimentales. Palabras clave. FPGA, cinem ´ atica inversa, redes neuronales, procesadores suaves, robot b´ ıpedo. Design and Implementation of Intelligent Controllers in Soft Processors for the Walking of a Biped Robot Abstract. We present the design, construction, and intelligent control for the walking of a biped robot. The controllers are based on fuzzy logic and neural network. The stability of the robot is controlled by the Zero Moment Poin technique. The controllers were implemented into FPGA technology since its versatility to combine sequential processing for softcore multiprocessors systems as well as the use of concurrent processing using hardware description languages, which allows executing tasks in real time providing the robot with a more natural behavior. We show experimental results. Keywords. FPGA, inverse kinematics, neural networks, soft processors, biped robot. 1. Introducci ´ on La idea de que los robots humanoides inter- act ´ uen con el hombre ha sido uno de los mayores retos en el ´ ambito cient´ ıfico y tecnol ´ ogico en la actualidad. Se espera que estas m ´ aquinas puedan realizar las actividades tediosas y peligrosas que se presentan en la vida cotidiana. Obtener el modelo matem ´ atico de los robots ıpedos es sumamente complicado debido al alto grado de no linealidad [8] y a la gran cantidad de par´ ametros necesarios en los controladores tradicionales. Por tal raz´ on, son de gran inter´ es las investigaciones que proponen soluciones alternas, planteadas con algoritmos de control innovadores mediante l ´ ogica difusa [11], redes neuronales [12], y algoritmos gen ´ eticos [3] para posicionamiento y control. El estudio de robots b´ ıpedos manifiesta una gran complejidad en relaci ´ on al control de su locomoci ´ on, debido a la dificultad de controlar el caminar y mantener el equilibrio generado por los movimientos de sus articulaciones, lo que representa intr´ ınsecamente un sistema sumamente no lineal [2]. Otro aspecto importante Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442 doi: 10.13053/CyS-22-4-2691 ISSN 2007-9737

Upload: others

Post on 28-Jul-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño e implementación de controladores inteligentes en

Diseno e implementacion de controladores inteligentes enprocesadores suaves para la caminata de un robot bıpedo

Jorge A. Quinones1, Oscar Montiel-Ross1, Roberto Sepulveda1, Oscar Castillo2

1 Instituto Politecnico Nacional (CITEDI-IPN),Centro de Investigacion y Desarrollo de Tecnologıa Digital, Tijuana,

Mexico

2 Tijuana Institute of Technology, Tijuana,Mexico

[email protected],{oross, [email protected]}, [email protected]

Resumen. Se presenta el diseno, construcccion, ycontrol inteligente para la caminata de un robot bıpedo.Los controladores esta basados en logica difusa yredes neuronales artificiales. La estabilidad del robotse controla medinate la tecnica conocida como ”ZeroMoment Point”. Los controladores se implementaron entecnologıa FPGA debido a la versatilidad que ofrecenpara combinar tecnicas de procesamiento secuencialcon multiprocesadores suaves, y procesamiento concu-rrente mediante lenguajes de descripcion de hardware,lo cual permite ejecutar las tareas en tiempo realdandole al robot un comportamiento mas natural. Semuestran resultados experimentales.

Palabras clave. FPGA, cinematica inversa, redesneuronales, procesadores suaves, robot bıpedo.

Design and Implementation ofIntelligent Controllers in Soft

Processors for the Walking of a BipedRobot

Abstract. We present the design, construction, andintelligent control for the walking of a biped robot.The controllers are based on fuzzy logic and neuralnetwork. The stability of the robot is controlled bythe Zero Moment Poin technique. The controllerswere implemented into FPGA technology since itsversatility to combine sequential processing for softcoremultiprocessors systems as well as the use of concurrentprocessing using hardware description languages, whichallows executing tasks in real time providing the robot

with a more natural behavior. We show experimentalresults.

Keywords. FPGA, inverse kinematics, neural networks,soft processors, biped robot.

1. Introduccion

La idea de que los robots humanoides inter-actuen con el hombre ha sido uno de los mayoresretos en el ambito cientıfico y tecnologico en laactualidad. Se espera que estas maquinas puedanrealizar las actividades tediosas y peligrosas quese presentan en la vida cotidiana.

Obtener el modelo matematico de los robotsbıpedos es sumamente complicado debido al altogrado de no linealidad [8] y a la gran cantidadde parametros necesarios en los controladorestradicionales. Por tal razon, son de gran interes lasinvestigaciones que proponen soluciones alternas,planteadas con algoritmos de control innovadoresmediante logica difusa [11], redes neuronales [12],y algoritmos geneticos [3] para posicionamiento ycontrol.

El estudio de robots bıpedos manifiesta unagran complejidad en relacion al control de sulocomocion, debido a la dificultad de controlarel caminar y mantener el equilibrio generadopor los movimientos de sus articulaciones,lo que representa intrınsecamente un sistemasumamente no lineal [2]. Otro aspecto importante

Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442doi: 10.13053/CyS-22-4-2691

ISSN 2007-9737

Page 2: Diseño e implementación de controladores inteligentes en

es la reaccion dinamica producida por el contactocon la tierra, donde se genera una friccion confuerza inercial que debe ser cero para mantenerel equilibro.

La gran mayorıa de los trabajos de investigacionsobre robots bıpedos se centran en desarrollarcontroladores para que el robot no pierda laestabilidad al caminar, y es donde toma granimportancia el concepto de ZMP (Zero MomentPoint) [10] o tambien conocido como CoP (Centrode presion) [4], que se define como un criterio deestabilidad ampliamente utilizado en el desarrollode robots, por ejemplo, en el ASIMO creado por laempresa Honda Inc. [5], que representa uno de loshumanoides mas avanzados en la actualidad. Enel ciclo de la caminata bıpeda, el robot se apoyasobre una sola extremidad y en la planta del pie seforma el polıgono de Soporte Unico.

En este punto la fuerza de reaccion con latierra es cero (ZMP) [9], y siguiendo el ciclocuando se apoya mediante los dos pies sele denomina polıgono de Doble Soporte, porlo consiguiente el ZMP existe y el robot nosufre una caıda mientras el centro de masa seencuentre dentro de dichos polıgonos de soporte.En la caminata de robots bıpedos existen dosformas de equilibrio: el caminado Estatico [7] conmovimientos lentos, sin estetica y el caminadoDinamico, con gran eficiencia e incluso con unamovilidad mas natural [1].

En este trabajo mostramos el diseno yconstruccion del robot bıpedo que utilizamos pararealizar los experimentos, se presenta el diseno delos algoritmos de control inteligente desarrolladospara la caminata del robot, principalmente basadosen logica difusa y redes neuronales artificiales(RNA). Estos controladores se implementaronen tecnologıa FPGA por la versatilidad queofrecen para mezclar tecnicas de procesamientosecuencial con multiprocesadores suaves, yprocesamiento concurrente mediante lenguajes dedescripcion de hardware, lo cual permitira ejecutarlas tareas en tiempo real.

El contenido se encuentra organizado comosigue: En la Seccion 2 se detalla la construccion,el hardware y la plataforma de computo utilizadaen el robot bıpedo. La Seccion 3 describe lametodologia para la obtencion de la cinematica

inversa a partir de la cinematica directa medianteRNA. La Seccion 4, presenta los controladoresmediante logica difusa para controlar la caminatabıpeda, y finalmente, en la Seccion 5, se detallanlos experimentos realizados y los resultadosobtenidos.

2. Configuracion de la plataforma dehardware

Con el objetivo de realizar pruebas experimen-tales se diseno en SolidWork, un robot bıpedoconstruido de aluminio, ver Figura 1, con 12grados de libertad totalmente actuado en susarticulaciones mediante servomotores digitalesmarca Dynamixel con un torque maximo de 26kg.cm a 12V consumiendo 2.4A.

El servomotor, ademas de incorporar unreductor de engranajes, tiene un motor decorriente contınua de precision y un circuito decontrol con funciones de conectividad de red. Laaltura total del robot es 47 cm y un peso de 1.71kg.

Fig. 1. Robot bıpedo experimental JoKariT SocAr

Para llevar a cabo el control mediante el uso delcalculo del ZMP a base de sensores usamos (1)y (2); se colocan en los vertices de la superficiedel pie, Figura 2, cuatro sensores de fuerza paraası obtener las coordenadas ZMPx y ZMPy del

Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442doi: 10.13053/CyS-22-4-2691

Jorge A. Quiñones, Oscar Montiel-Ross, Roberto Sepulveda, Oscar Castillo1432

ISSN 2007-9737

Page 3: Diseño e implementación de controladores inteligentes en

polıgono de soporte:

ZMPx =

4∑Ri .Xi

i=0

4∑i=0

Ri

, (1)

ZMPy =

4∑Ri .Yi

i=0

4∑i=0

Ri

. (2)

Fig. 2. Distribucion de sensores en la planta del pie delrobot

Fig. 3. Planta del pie del robot bıpedo

Para calcular el ZMP fue necesario un con-trolador de senales digitales (DSC) de Microchipmodelo 33FJ12GP201 a 50 Mhz en modo esclavocon comunicacion I2C y cuatro sensores de fuerza

modelos Flexiforce 301 ubicados en la plantadel pie del robot bıpedo. Para eliminar el ruidointroducido cuando hacen contacto las placas demetal que contienen los sensores de presion con lasuperficie del suelo, se implemento un filtro digitalpasa bajas tipo FIR de ventana Chebyshev deorden 32, con una frecuencia de corte de 200 Hz,y una frecuencia de muestreo por canal de 1Khz(4 canales).

Para incorporar autonomıa en el robot seutiliza como unidad de procesamiento el nucleoMicroblaze, que es un “Procesador Suave”ejecutandose a una velocidad de 100 Mhz. Paraimplementar la logica de su arquitectura de unprocesador, usa como base los recursos de logicaprogramable existente en la FPGA de la serieSpartan 6 de Xilinx Inc., tal como se muestra enla Figura 4. Lo anterior es una gran ventaja, yaque se tiene la capacidad de poder personalizarlos perifericos por software.

Fig. 4. Procesador suave

En la Figura 5 se ilustra el esquema general delsistema. En el procesador Microblaze se encuentraembebida la RNA que recibe a la entrada losvectores de datos correspondientes a la posiciondeseada en la planta del pie del robot bıpedo,donde X, Y, Z se refiere a la posicion y α, β, γ asu orientacion en el plano cartesiano.

Una vez procesada la informacion en tiemporeal, se obtiene como respuesta un vector connueve datos de salida (q1, , q2, q3, ..., q9), que

Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442doi: 10.13053/CyS-22-4-2691

Diseño e implementación de controladores inteligentes en procesadores suaves para la caminata ... 1433

ISSN 2007-9737

Page 4: Diseño e implementación de controladores inteligentes en

pertenecen a la posicion que debe mantener lasarticulaciones del robot, a su vez estos datos sonenviados individualmente mediante el protocoloRS-232C, a los servomotores.

Fig. 5. Esquema general del sistema RNA

3. Implementacion de la cinematicainversa del robot bıpedo en FPGA

En este apartado se describe como resolver eimplementar en una FPGA la cinematica directa einversa, siendo de gran interes para la planificaconde las trayectorias del robot bıpedo.

Tabla 1. Parametros DH de la cadena cinematica el piederecho del robot bıpedo

qD θ d a α1 θ1 + π/2 0 0 02 θ2 + π/2 -L21 0 - π/23 θ3 + π/2 0 0 - π/24 θ4 - π/2 -L23 0 - π/25 θ5 0 L34 - π/26 θ6 0 L45 07 θ7 0 L56 08 θ8 0 L67 π/29 θ9 0 L78 0

3.1. Cinematica directa

La cinematica directa, determina lascoordenadas de posicion en funcion de losangulos que forma cada articulacion, es decir: x

yz

=→f

( θ1, θ2,θ3,θ4.......θn).

Para resolver la cinematica directa, es comunrecurrir a relaciones geometricas, pero cuandolos grados de libertad aumentan se utiliza unmetodo sistematico de matrices de transformacionhomogenea, donde Denavit - Hartenberg empleanun procedimiento ordenado para pasar de uneslabon a otro mediante cuatro transformacionesbasicas.

A partir de esto conseguimos las coordenadas ylos cuatro parametros de nuestra configuracion dela cadena cinematica, del pie izquierdo y derechodel robot, ver Figura 6, con esto obtenemos lasTablas 1 y 2.

Fig. 6. Cadena cinematica del robot bıpedo

Tabla 2. Parametros DH de la cadena cinematica del pieizquierdo del robot bıpedo

qI θ d a α1 θ1 + π/2 0 0 02 θ2 + π/2 -L19 0 - π/210 θ10 + π/2 0 0 - π/211 θ11 - π/2 -L910 0 - π/212 θ12 0 L1011 - π/213 θ13 0 L1112 014 θ14 0 L1213 015 θ15 0 L1314 π/216 θ16 0 L1415 0

Para llevar a cabo la simulacion se utilizael Toolbox de Matlab de Robotica desarrolladopor Peter Corke. Esta herramienta proporcionamuchas funciones que son utiles para el estudioy simulacion de diferentes tipos de robots,

Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442doi: 10.13053/CyS-22-4-2691

Jorge A. Quiñones, Oscar Montiel-Ross, Roberto Sepulveda, Oscar Castillo1434

ISSN 2007-9737

Page 5: Diseño e implementación de controladores inteligentes en

incluyendo la cinematica directa e inversa, ladinamica y la generacion de trayectorias.

El toolbox mantiene la notacion y usa losmetodos generales para la representacion de lacinematica y dinamica que son pasados comoparametros en las funciones escritas en ellenguaje de Matlab. Obtenidos los parametros DHdel analisis de la cinematica directa del robotbıpedo, se ingresan en la funcion del Toolboxllamada “link” que relaciona y crea un objeto conlas seis articulaciones de la cinematica de unapierna y sus respectivos eslabones necesariospara la simulacion.

Fig. 7. Simulacion de la cinematica directa

Representado el robot bıpedo como se muestraen la Figura 7, se evaluan las posiciones de lasarticulaciones (q) y graficamente se observa laposicion de cada eslabon y la posicion del efectorfinal (Planta del pie del robot).

3.2. Cinematica inversa

Por el contrario, la cinematica inversa, determinalos angulos que deben formar las articulacionespara poder llevar el efector final a la posiciondeseada denotada por:

θ1θ2...θn

= →f

−1 ( x, y,z).

Para conseguir la cinematica inversa es comunrecurrir a la solucion analıtica cuando se refiere arobots de pocos grados de libertad, para obteneruna solucion cerrada, en este caso para docegrados de libertad divididas en dos cadenascinematicas resulta muy difıcil, si no es queimposible, la obtencion de la misma, por lo cualconsideramos recurrir a las redes neuronalescomo se ilustra en la (Figura 8).

Fig. 8. Relacion de entradas y salidas de la RNA para laresolucion de la Cinematica Inversa

La estructura de la red neuronal consta de seisentradas donde X, Y, Z corresponden a la posiciondeseada del efector final, y α,β,γ representan suorientacion; en la salida se cuenta con nueveterminos, donde se toman los datos que producenla posicion de cada articulacion y ası producir laposicion final deseada. La RNA tambien tiene 10capas ocultas y se entrenaron en el toolbox deRNA de Matlab, mediante 75639 datos calculadosde la cinematica directa. En la Tabla 4 se muestranlos parametros de entrenamiento de la red.

Tabla 3. Parametros de entrenamiento de la redneuronal para la cinematica inversa

Parametros de la red ValorEpocas 265Error cuadratico medio 4.44x10−8

Tamano de la matriz de entre-namiento de entrada

9x75639

Tamano de la matriz de entre-namiento de salida

6x75639

Metodo de entrenamiento L-MFuncion de activacion (Ocul-tas/Salida)

tansig/purelin

Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442doi: 10.13053/CyS-22-4-2691

Diseño e implementación de controladores inteligentes en procesadores suaves para la caminata ... 1435

ISSN 2007-9737

Page 6: Diseño e implementación de controladores inteligentes en

La duracion del entrenamiento fue de treshoras y media, calculando 265 epocas para dosmatrices de entrenamiento de 6x75639 (Entradas)y 9x75639 (Salidas) mediante el metodo deLevenberg-Marquardt y una funcion de activacionsigmoide y lineal, obteniendo un error mınimocuadrado de 4x44−8 que implica un erroraproximado de 1 cm en el efector final.

Fig. 9. Error cuadratico medio

3.3. Implementacion y metodologıa de lacinematica inversa en hardware

Para la implementacion de la cinematica inversadel robot bıpedo, primero se relacionan lasarticulaciones y eslabones al plano cartesianopara extraer los parametros de DH y a su vezse crea el objeto del robot con la funcion “link” yse resuelve la cinematica directa con el comando“fkine” usando el toolbox de Robotica de PeterCorke para crear un vector de datos con diferentesposiciones.

Con los resultados obtenidos de la cinematicadirecta se crea un patron de entrada y entrenamosuna RNA con el Toolboox de Matlab, comparamosy validados ingresando diversos datos a lospatrones de entrenamiento y la red respondecon la cinematica inversa. Como siguiente pasoexportamos la RNA a un bloque de Simulink,donde se hace uso de la herramienta “EmbeddedCoder” que convierte nuestro bloque de Simulink,con nuestra RNA previamente traducida a codigoC ANSI.

Para compilar los archivos generados en C, secrea y se personaliza en la herramienta XPS deXilinx, la arquitectura de hardware que incluye elprocesador Microblaze y los perifericos necesariospara procesar nuestra RNA. Posteriormente seexporta la arquitectura a la herramienta SDK deXilinx para editar, compilar, depurar, y descargar ala FPGA los archivos generados en C que alberganla RNA. En Figura 10 se ilustra el proceso para laimplementacion de la RNA en el robot bıpedo.

Fig. 10. Etapas del proceso para implementar RNA enprocesador suaves

4. Implementacion de controladoresdifusos para la caminata bıpeda

Para garantizar la caminata bıpeda es necesariomantener el equilibrio dinamico de robot bıpedoen su desplazamiento sin que caiga, por loque es necesario utilizar estrategias de controlpara garantizar la estabilidad en la trayectoriadeseada. En esta seccion se muestran el uso decontroladores basados en logica difusa lograr esteobjetivo.

4.1. Implementacion del controlador difusopara el seguimiento de trayectoriamediante ZMP

En la Figura 11 se muestra el sistema generalpara efectuar la caminata de un robot bıpedoimplementando un controlador de postura ZMPdifuso, cuya funcion principal es mantener enequilibrio la posicion erguida del robot en relacional plano terrestre. Al inicio del sistema seestablecen los “Parametros de la caminata”, dichosvalores de parametros dictan la forma de caminardel robot. En esta se fijan el tamano del paso, tipode caminata, velocidad de la caminata, etc.

Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442doi: 10.13053/CyS-22-4-2691

Jorge A. Quiñones, Oscar Montiel-Ross, Roberto Sepulveda, Oscar Castillo1436

ISSN 2007-9737

Page 7: Diseño e implementación de controladores inteligentes en

Todos estos parametros son preparados porel bloque de planificacion, el cual contiene losalgoritmos de sincronizacion en funcion de lacapacidad mecanica del robot y principalmentegenera las posiciones deseadas de las piernas delrobot para llevar a cabo el avance en la caminata.La posicion que cada articulacion debe mantenerpara llevar al objetivo al efector final (Pie delrobot) se calcula a traves de la cinematica inversamediante redes neuronales pre entrenadas condatos calculados por la cinematica directa.

En esta etapa se calculan dos cinematicas, unaen direccion del centro de masa hacia los pies y elotro de los pies al origen. Los angulos obtenidosson enviados a los motores Dinamixel y establecela posicion final de las articulaciones.

Despues de obtener una determinada posiciones necesario calcular el ZMP para poder definirla trayectoria del centro de masa y realizaruna compensacion de dicha trayectoria, como seobserva en la Figura 12, esto se realiza mediantecuatro sensores de fuerza colocados en la plantadel pie formando el polıgono de soporte.

El calculo del ZMP real es comparado con elZMP deseado, el error generado forma parte dela primera variable de entrada de un sistemade inferencia difuso (FIS) que en tiempo reales derivado para corresponder a la segundavariable de entrada del FIS (Cambio de error),ver Figura 13. La respuesta del FIS actua comocompensacion para establecer la trayectoria de lacadera en la referencia deseada.

La variable linguıstica de entrada “Error” estaconstituida por 7 terminos linguısticos distribuidosen el universo de discurso, como se ve en laFigura 14, y que corresponden a 5 funcionestriangulares y 2 trapezoidales, que va desde -13cmhasta 13cm. Los terminos para el error usadosson: very negative, negative, small negative,zero,small positive, positive, very positive.

La variable Linguıstica de entrada “Variacion”esta formada por 5 terminos linguısticos distribui-dos en el universo de discurso, ver Figura 15,y representados por 5 funciones de membresıatriangulares y 2 trapezoidales, que van desde-13cm hasta 13cm. Los terminos usados usadosson: very negative, negative, small negative, zero,small positive, positive, very positive.

Fig. 15. Universo de discurso de la variable “Variaciondel error”

La variable linguıstica de salida “Compensa-cion” esta formada por 7 terminos linguısticosdistribuidos en el universo de discurso y repre-sentados mediante 5 funciones triangulares y 2trapezoidales, que va desde -10cm hasta 10cm.Los terminos usados son: very negative, negative,small negative, zero, small positive, positive, verypositive, segun se observa en la Fig. 16.

Tabla 4. Reglas del sistema de inferencia ZMP

ZMP’/ZMP VN N SN Z SP P VP

VN VP VP VP VP VP VP VPN VP P P SP SP SP P

SN P P SP SP Z SP SPZ P SP Z Z Z SN NE

SP SN SN Z SN SN NE NEP N SN SN SN N N VN

VERYPOSITIVE VN VN VN VN VN VN VN

El sistema difuso esta gobernado por cuarentay nueve reglas como se aprecia en la Tabla 4,que establecen la accion correspondiente paraefectuar la compensacion mas adecuada. Paraobservar la respuesta del sistema de inferencia, enla Figura 17 se ilustra la superficie de control delsistema.

4.2. Implementacion de controlador difusopara la velocidad de movimiento

Ademas del controlador de trayectoria tambiense implementa un controlador de velocidad demovimiento, el cual se utiliza para reducir lainercia que producen los seis motores Dynamixelcoordinados para generar el movimiento en las

Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442doi: 10.13053/CyS-22-4-2691

Diseño e implementación de controladores inteligentes en procesadores suaves para la caminata ... 1437

ISSN 2007-9737

Page 8: Diseño e implementación de controladores inteligentes en

Fig. 11. Esquema del controlador difuso de postura mediante ZMP para el robot bıpedo

Fig. 12. Planeacion de la Trayectoria deseada del ZMPdel robot bıpedo

Fig. 13. Sistema de inferencia difusa del controladorZMP basado en sensores

cadenas cinematicas. El objetivo es reducir lavelocidad cuando se aproxima al objetivo yaumentarla cuando este se aleja. Para ello seusan las variables linguısticas de entrada “Error”y “Cambio de error”, para la variable de salida“RPM” que configura directamente las RPMs delos motores cuyos parametros se encuentran entre0 y 33.3 RPM.

Fig. 14. Universo de discurso de la variable “Error”

Fig. 16. Universo de discurso de la variable “Compensa-cion”.

La variable linguıstica de entrada “Error”representa los valores absolutos de la diferenciadel valor deseado y el valor actual ZMP yesta constituida por tres terminos linguısticos queson distribuidos en el universo de discurso, yrepresentados por una funcion triangular y dos

Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442doi: 10.13053/CyS-22-4-2691

Jorge A. Quiñones, Oscar Montiel-Ross, Roberto Sepulveda, Oscar Castillo1438

ISSN 2007-9737

Page 9: Diseño e implementación de controladores inteligentes en

Fig. 17. Superficie de control del controlador ZMP

trapezoidales, que va desde 0 hasta 10cm. Losterminos para la variable “Error” usados son small,medium y large, como se observa en la Figura 18.

Fig. 18. Universo de discurso de la variable de entrada“Error” del controlador de velocidad de movimiento

La variable linguıstica de entrada “Cambio deerror” representa los valores absolutos de ladiferencia del Error actual y error anterior ZMP,esta constituida por tres terminos linguısticos queson distribuidos en el universo de discurso poruna funcion triangular y dos trapezoidales que vadesde 0 hasta 10cm. Los terminos para la variable“Cambio de error” usados son small, medium ylarge, ver Figura 19.

Fig. 19. Universo de discurso de la variable de entrada“Cambio de error” del controlador de velocidad demovimiento

La variable linguıstica de salida “RPM” represen-ta las velocidades de los motores, esta constituida

por tres terminos linguısticos que son distribuidosen el universo de discurso por cinco funciones demembresıa triangulares que va desde 0 hasta 1que normalizan respectivamente los parametrosde fabrica de los motores. Los terminos parala variable “RPM” usados son VeryLow, Low,Medium, High, VeryHigh, segun se ve en laFigura 20.

Fig. 20. Universo de discurso de la variable de salida“RPM” del controlador de velocidad de movimiento

La accion del controlador difuso esta basadaen nueve reglas las cuales se ilustran en laTabla 5, y que permiten tener una respuesta demayor precision y suavidad en la ejecucion delos movimientos del robot bıpedo. Para apreciarel comportamiento, en la Figura 21 se muestra lasuperficie de control del FIS.

Fig. 21. Superficie de control para el controlador develocidad de movimiento

5. Resultados

La red se entrena previamente en el ToolBoxRNA de Matlab para su posterior uso en laherramienta de generacion de codigo C en losbloques de Simulink Embedded, donde se pruebany se comparan fısicamente los resultados de la

Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442doi: 10.13053/CyS-22-4-2691

Diseño e implementación de controladores inteligentes en procesadores suaves para la caminata ... 1439

ISSN 2007-9737

Page 10: Diseño e implementación de controladores inteligentes en

Fig. 22. Plano frontal de la caminata bıpeda

Fig. 23. Plano sagital de la caminata bıpeda

Tabla 5. Reglas del sistema de inferencia para el FIS develocidad de moviemiento

Error’/CambioDe error Low Medium High

Small Very Low Low MediumMedium Medium Medium HighLarge High High Very High

simulacion con las pruebas de laboratorio. Enlas Figuras 9, 10, 11 y 12 se muestran lassimilitudes de los resultados de la simulacion y las

pruebas con el prototipo, evaluando los vectoresde posicion y orientacion obteniendo resultadosfavorables.

Para planear la caminata se localizaron puntosestables en los planos frontal, ver Figura 22,y sagital, ver Figura 23, para llevar a cabo latrayectoria que debe seguir el centro de masa pararealizar el ciclo de caminata dinamica mediante lamanipulacion de la cinematica inversa. Esto diocomo resultado una aproximacion a un caminadoestetico similar al ser humano.

Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442doi: 10.13053/CyS-22-4-2691

Jorge A. Quiñones, Oscar Montiel-Ross, Roberto Sepulveda, Oscar Castillo1440

ISSN 2007-9737

Page 11: Diseño e implementación de controladores inteligentes en

Fig. 24. Evaluacion de la cinematica inversa en el robotbıpedo

Para facilitar el modelado del robot bıpedo, elanalisis se basa en el Pendulo Invertido [6] y sese simula en la herramienta Simulink el controladorPD+I difuso para obtener la respuesta de escalonunitario mostrada en la Figura 25, obteniendo unaestabilizacion en la senal de salida en un tiempode 8 ms y con un reducido efecto de Gibbs, porconsiguiente tambien evaluamos el controlador enel seguimiento de una senal cuadrada obteniendouna respuesta satisfactoria, ver Figura 26.

Las pruebas realizadas de la caminata del robotse muestran en Figura 27, se observa la trayectoriaplaneada de referencia contra la senal de salidaZMP del robot realizando una trayectoria recta conun avance de 2 cm por cada paso con una alturade 46.6 cm, el robot se mantiene de forma establesin caerse.

En la Tabla 6 se muestran las velocidadesmaximas alcanzadas por el robot bıpedo, enuna superficie plana concluyendo que si el robot

reduce la altura se puede incrementar el avance ypor lo tanto aumenta la velocidad de la caminata.

Tabla 6. Velocidades maximas alcanzadas por el robotbıpedo

Alturadel robot

(cm)

Longitud de paso(cm)

Velocidad(m/min)

45.4 5 645.6 5 845.8 4.5 1046.0 4 1146.4 4 1246.6 3 15

Fig. 25. Simulacion del controlador ZMP para larespuesta al escalon unitario

Fig. 26. Simulacion de seguimiento del controlador ZMP

6. Conclusiones

Como resultado de esta investigacion seconcluye que la metodologıa presentada resuelveeficientemente el problema de locomocion enel robot bıpedo experimental construido en el

Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442doi: 10.13053/CyS-22-4-2691

Diseño e implementación de controladores inteligentes en procesadores suaves para la caminata ... 1441

ISSN 2007-9737

Page 12: Diseño e implementación de controladores inteligentes en

Fig. 27. Respuesta real del controlador ZMP en el robotbıpedo a trayectorias deseadas

laboratorio, y que es factible emplear redes neu-ronales para calcular la cinematica inversa pararobots con muchos grados de libertad, obteniendogran precision en los movimientos, ademas quela ejecucion del algoritmo pre-entrenado, en elhardware propicia una reduccion de latencias,idoneo en estos sistemas embebidos.

Tambien esta propuesta comprueba que usarcomo base el conocimiento experimental, paradisear el controlador de postura ZMP con logicadifusa, favorece en una implementacion massimple que los metodos de control clasico, pero sinsacrificar su la operabilidad y eficiencia.

Referencias

1. Braun, D. & Goldfish, M. (2009). A controlapproach for actuated dynamic walking in bipedrobots. IEEE Transactions on Industrial Electronics,Vol. vol. 25, no. 6, No. 1, pp. 1292–1303.

2. c. Choil, K., j. Lee, H., & Lee, M. C. (2006).Fuzzy posture control for biped walking robotbased on force sensor for zmp. SICE-ICASE, 2006.International Joint Conference, pp. 1185–1189.

3. Cheng, M.-Y. & Lin, C.-S. (1997). Genetic algorithmfor control design of biped locomotion. Journal ofRobotic Systems, Vol. 14, No. 5, pp. 365–373.

4. Goswami, A. (1999). Foot rotation indicator (fri)point: a new gait planning tool to evaluate posturalstability of biped robots. Robotics and Automation,1999. Proceedings. 1999 IEEE International Confe-rence on, volume 1, pp. 47–52 vol.1.

5. Honda Motor Co. (2007). The Honda HumanoidRobot.

6. Hong, S., Oh, Y., Kim, D., & You, B. J. (2014).Real-time walking pattern generation method forhumanoid robots by combining feedback and feed-forward controller. IEEE Transactions on IndustrialElectronics, Vol. 61, No. 1, pp. 355–364.

7. McGeer, T. (1990). A control approach for actuateddynamic walking in biped robots. Int. J. Robot. Res.,,Vol. 9, No. 2, pp. 62–82.

8. Shieh, M. Y., Chang, K. H., Chuang, C. Y., Chiou,J. S., & Li, J. H. (2007). Anfis based controllerdesign for biped robots. Mechatronics, ICM2007 4thIEEE International Conference on, pp. 1–6.

9. Shimojo, M., Araki, T., Ming, A., & Ishikawa, M.(2006). A zmp sensor for a biped robot. Roboticsand Automation (ICRA), Proceedings 2006 IEEEInternational Conference on, pp. 1200–1205.

10. Vukobratovic, M. & Borovac, B. (2004). Zero-moment point - thirty five years of its life.International Journal of Humanoid Robotics, Vol. 01,No. 01, pp. 157–173.

11. Vukobratovic, M. & Timcenko, O. (1996). Experi-ments with nontraditional hybrid control technique ofbiped locomotion robots. Journal of Intelligent andRobotic Systems, Vol. 16, No. 1, pp. 25–43.

12. Zhou, C. (2000). Neuro-fuzzy gait synthesis withreinforcement learning for a biped walking robot.Soft Computing, Vol. 4, No. 4, pp. 238–250.

Article received on 07/04/2017; accepted on 10/11/2017.Corresponding author is Jorge A. Quinones.

Computación y Sistemas, Vol. 22, No. 4, 2018, pp. 1431–1442doi: 10.13053/CyS-22-4-2691

Jorge A. Quiñones, Oscar Montiel-Ross, Roberto Sepulveda, Oscar Castillo1442

ISSN 2007-9737