Instituto Politécnico Nacional
Escuela Superior de Ingeniería Mecánica y Eléctrica
Sección de Estudios de Posgrado e Investigación
ANÁLISIS Y DISEÑO DE UN
ESTABILIZADOR DIFUSO PARA UN ROBOT
BÍPEDO
T E S I S
QUE PARA OBTENER EL GRADO DE
MAESTRO EN CIENCIAS
CON ESPECIALIDAD EN INGENIERÍA MECÁNICA
PRESENTA:
ING. CRISTÓBAL LÓPEZ DE JESÚS
DIRECTOR DE TESIS:
DR. JESÚS ALBERTO MEDA CAMPAÑA
En este trabajo se propone el diseño de un sistema para el control de un Robot Bípedo (Bioloid) en el plano coronal. El control permitirá estabilizar el Robot cuando se presente una perturbación externa en el plano mencionado.
El Robot Bípedo Bioloid cuenta con 18 grados de libertad distribuidos en brazos, hombros, piernas y cadera, de los cuales los brazos tienen una restricción cinemática: mantendrán una posición rígida de modo que no afecten significativamente la dinámica del Robot, ya que el estudio sólo considerará las piernas para la estabilización en el plano coronal, al presentarse una perturbación externa.
Para el diseño del controlador se utilizó el control lógico difuso, debido a su flexibilidad para manejar valores intermedios en las variables de entrada y salida; Con esta forma de control, podremos lograr que el sistema pueda ajustarse a condiciones de cambio, que en ocasiones son imposibles de predecir, por la naturaleza del ambiente, dentro de ciertos rangos establecidos.
Cristóbal López De Jesús Página III
ABSTRACT
This paper proposes the design of a system for control of a Biped Robot (Bioloid) in the coronal plane. The control will stabilize the robot where an external disturbance on the plane mentioned.
The Bioloid Bipedal Robot has 18 degrees of freedom distributed on arms, shoulders, legs and hips, arms of which have a kinematic constraint: maintain a rigid position so as not to significantly affect the dynamics of the robot, since the study only considered for the stabilization legs in the coronal plane, at the instance an external disturbance.
For the controller design was used Fuzzy Logic Control because of its flexibility to handle intermediate values in the input and output variables; With form of control, we make the system can adjust to changing conditions, which are sometime impossible to predict, by the nature of the environment, within certain ranges set.
Al CONACYT por el apoyo económico para realizar esta maestría ya que es de vital importancia contar con un sustento para realizar cualquier trabajo.
A la SEPI ESIME ZACATENCO del INSTITUTO POLITÉCNICO NACIONAL por darme la formación académica para realizar este trabajo.
Al Dr. Jesús Alberto Meda Campaña, por asesórame todo este tiempo.
A MIS SINODALES integrados por el Dr. Jesús Alberto Meda Campaña, Dr. Valeriy Nosov, Dr. Julio César Gómez Mancilla, Dr. Iván Enrique Campos Silva y Dr. José Ángel Lodegario Ortega Herrera, a todos ellos por su observaciones para este trabajo.
Cristóbal López De Jesús Página V
INDICE
RESUMEN
II
ABSTRACT
III
AGRADECIMIENTOS
IV
ÍNDICE
V
ÍNDICE DE FIGURAS
IX
NOMENCLATURA
XII
OBJETIVO GENERALES
XIV
JUSTIFICACIÓN
XIV
ALCANCE
XV
METODOLOGÍA
XV
CAPÍTULO I.- ESTADO DEL ARTE.
1 Introducción. 1
1.1 Robot bípedo. 2
1.2 Primeras investigaciones. 3
1.3 Proyectos comerciales. 4
1.4 Robots comerciales de bajo costo. 5
BIOLOID.
2. Introducción. 9
2.1 Restricciones para construir el modelo en Simulink. 10
2.2 Construcción modelo. 13
2.2.1 Dimensiones de componentes. 13
2.2.2 Dimensiones Robot Bípedo Bioloid armado. 14
2.2.3 Modelo en SolidWorks. 15
2.2.4 Modelo en Simmechanics 16
2.2.4.1 Modelado de las piernas. 17
2.3 Modelo Robot Bípedo Bioloid Simmechanics. 20
2.4 Articulaciones en el modelo Simmechanics. 21
2.5 Conexión de sensores en las articulaciones. 22
2.5.1 Bloques de articulaciones con Controlador Difuso. 23
2.5.2 Bloques de articulaciones con Controlador PID. 25
CAPÍULO III.-DISEÑO CONTROLADOR DIFUSO Y
PID.
3. Diseño de los controladores. 27
3.1 Conjuntos. 27
3.2 Control Difuso. 28
3.3 Sistemas Tipo Mamdani. 29
3.4 Característica del sistema tipo Mamdani. 30
3.5 Sistemas Tipo Takagi Sugeno. 31
3.6 Características del sistema tipo Takagi Sugeno. 32
3.7 Controles Difuso y PID. 33
Cristóbal López De Jesús Página VII
3.9 Definición de variables. 35
3.9.1 Articulación ID_18. 36
3.9.2 Posición Angular. 37
3.9.3 Velocidad Angular. 37
3.9.4 Torque. 38
3.10 Articulación ID_9. 39
3.10.1 Posición angular. 40
3.10.2 Velocidad angular. 40
3.10.3 Torque. 41
3.11 Evaluación de reglas. 42
3.11.1 Evaluación de reglas bloque F8. 42
3.11.2 Evaluación de reglas bloque F9. 44
3.12 Controlador PID. 46
3.12.1 Valores PID para la articulación ID_18. 46
3. 12.2 Valores PID para la articulación ID_9. 47
CAPITULO IV.-RESULTADOS.
4. Simulación sin control. 48
4.1 Posición de equilibrio natural del modelo sin control debido a su centro de
gravedad. 50
4.1.1 Simulación con articulaciones ID_18 = 15° sin control e ID_9 en posición
rígida. 51
4.2 Simulación con control en articulación ID_9. 53
4.2.1 Simulación con articulaciones ID_18 = 15° sin control e ID_9 con control con una
señal de referencia de 30°. 53
4.2.2 Simulación con articulaciones ID_18 = 16° sin control e ID_9 con control con una
señal de referencia de 40°. 59 4.2.4 Simulación con articulaciones ID_18 = 17° sin control e ID_9 con control con una
señal de referencia 50°. 60
4.2.5 Simulación con articulaciones ID_18 = 18° sin control e ID_9 con señal de
referencia 50°. 63
4.3 Implementación de control en articulación ID_18 e ID_9. 64
4.3.1 Simulación con articulaciones ID_18 con control e ID_9 con señal de
referencia 50°. 64
4.3.2 Simulación con articulaciones ID_18 con control e ID_9 con señal de
referencia 50°. 67
4.4 Modelo simulado con una perturbación externa. 71
4.4.1 Simulación con articulaciones ID_18 con control e ID_9 con señal de
referencia 30° y perturbación externa. 71
CAPITULO V.-ANÁLISIS DE RESULTADOS.
5. Resultados sin control. 75
5.1 Articulaciones ID_18 e ID_9 sin control sujetos a la fuerza de gravedad. 75 5.2 Articulaciones ID_18 sin control e ID_9 en posición rígida sujetos a la fuerza de
gravedad. 76
5.3 Resultados con el controlador Difuso en la articulación ID_9. 77
5.4 Resultados con control Difuso en ID_18 e ID_9. 79
5.5 Análisis de resultados de los controladores Difuso y PID ante una perturbación
externa. 81
CAPITULO VI.-CONCLUSIONES.
6.1 Conclusiones. 83
Cristóbal López De Jesús Página IX
REFERENCIAS
85APÉNDICES
A1.- Planos anatómicos del cuerpo humano. 87
B1.- Momentos de inercia. 88
B2.- Dimensiones especificas Robot Bípedo Bioloid. 91
B3.- Dimensiones completas Ro bot Bípedo Bioloid. 92
C1.- Servomotor Dynamixel AX-12 y AX-18F. 93
C2.- CM-510. 96
D1.- Código Control Difuso articulación ID_18. 97
D2.- Código Control Difuso articulación ID_9. 97
INDICE DE FIGURAS
Pág.Figura 1. 1. Robot bípedo bioloid. 2
Figura 1. 2. Primeros modelo de robot bípedos realizados por kajita. 3
Figura 1. 3. Robots bípedos usados en los experimentos de kajita. 4
Figura 1. 4. Robot humanoide asimo de honda. 5
Figura 1. 5. Robosapien v1robot de recreación infantil. 6
Figura 1. 6. Robosapien v2 con visión infrarroja. 6
Figura 1. 7. Robot bioloid. 7
Figura 1. 8. Servomotor AX-18F Y AX-12+. 7
Figura 1. 9. Módulo CM-510. 8
Figura 1. 10. Modulo AX-S1. 8
Figura 2. 1. Robot bioloid, ubicación de los grados de libertad 9
Figura 2. 2. Posición frontal brazos extendidos. 10
Figura 2. 3. División anatómica en planos del cuerpo. 11
Figura 2. 4. Plano coronal del modelo. 11
Figura 2. 5. Localización de servomotores 12
Figura 2. 8. Dimensiones robot bípedo bioloid. 14
Figura 2. 9. Tensor de inercia del torso con los brazos extendidos. 15
Figura 2. 10. Bloque machine enviroment. 16
Figura 2. 11. Bloque ground. 16
Figura 2. 12. Modelo robot bípedo bioloid con pierna izquierda anclada. 16
Figura 2. 13. Piernas robot bioloid. 17
Figura 2. 14. Bloque body, configuración. 17
Figura 2. 15. Secciones del modelo robot bípedo bioloid. 18
Figura 2. 16. Articulaciones en las piernas. 18
Figura 2. 17. Bloque revolute. 19
Figura 2. 18. Bloque weld. 19
Figura 2. 19. Modelo robot bípedo bioloid. a) bloque simulink piernas, 20
Figura 2. 20. Articulaciones móviles modelo simmechanics. 21
Figura 2. 21. Bloque de articulación ID_18. 22
Figura 2. 22. Bloque de articulación ID_9. 22
Figura 2. 23. Modelo del servomotor de la articulación ID_18, controlador difuso. 23 Figura 2. 24. Modelo del servomotor de la articulación ID_9, controlador difuso. 24
Figura 2. 25. Modelo del servomotor de la articulación ID_18, PID. 25
Figura 2. 26. Modelo del servomotor de la articulación ID_9, PID. 26
Figura 3. 1. Funciones de membresías. 28
Figura 3. 2. Diagrama de bloques control difuso. 29
Figura 3. 3. Sistema tipo mamdani. 29
Figura 3. 4. Fusificación velocidad de un vehículo. 30
Figura 3. 5. Sistema difuso mamdani, procesamiento detallado 31
Figura 3. 6. Sistema difuso sugeno, procesamiento general 32
Figura 3. 7. Sistema difuso sugeno, procesamiento detallado 33
Figura 3. 8. En un sistema difuso, la entrada es leída de una fuente externa y fusificada antes de ser procesada por la lógica difusa. La salida del proceso lógico es defusificada antes de ser mandada al dispositivo físico bajo control. Un sistema de control pid tiene
una estructura muy similar, pero sin los elementos difusos. 34
Figura 3. 9. Variables de entrada en el bloque de control difuso. 35
Figura 3. 10. Lazo cerrado para la articulación ID_18. 36
Figura 3. 11. Función triangular. 36
Figura 3. 12. Variables de entrada y salida F8. 37
Figura 3. 13. Funciones de membresía para la posición angular. 38
Cristóbal López De Jesús Página XI
Figura 3. 15. Función de membresía torque. 39
Figura 3. 16. Lazo cerrado para la articulación ID_19. 39
Figura 3. 17. Variables de entrada y salida F9. 40
Figura 3. 18. Funciones de membresía posición angular. 41
Figura 3. 19. Funciones de membresía velocidad angular. 41
Figura 3. 20. Funciones de membresía torque. 42
Figura 3. 21. Reglas 3D para el bloque F8 para articulación ID_18. 44
Figura 3. 22. Reglas 3D para el bloque F9 para articulación ID_9. 46
Figura 3. 23. Diagrama de bloque PID. 46
Figura 3. 24. Lazo cerrado control PID, articulación ID_18. 47
Figura 3. 25. Lazo cerrado control PID, articulación ID_18. 47
Figura 4. 1. Efecto de gravedad sobre modelo robot bípedo bioloid. 48
Figura 4. 2. Resultados sin control. a) posición angular y b) torque 49
Figura 4. 3. Resultados articulación ID_18 E ID_9, 50
Figura 4. 4. Velocidad angular ID_18 E ID_9. 51
Figura 4. 5. Resultados posición angular id_18 = 15°. a) posición angular, 52
Figura 4. 6. Posición angular. ID_18, control difuso v.s. PID. 53
Figura 4. 7. Resultados articulación ID_18 sin control. a) torque y b) velocidad angular. 54 Figura 4. 8. Resultados articulación id_9 con control a) posición angular y b) torque. 55
Figura 4. 9. Velocidad angular ID_9. Control difuso v.s. PID. 56
Figura 4. 10. Resultados articulación id_18 sin control con condición a 16°, 57
Figura 4. 11.velocidad angular. ID_18, control difuso v.s. PID 57
Figura 4. 12. Articulación ID_9 con controlador. a) posición angular y b) torque 58
Figura 4. 13. Velocidad angular ID_9. Control difuso v.s. PID. 59
Figura 4. 14. Resultados con un ID_18 = 17°. a) posición angular 59
Figura 4. 15. Articulación ID_18 sin control. a) posición angular y b) torque. 60
Figura 4. 16.velocidad angular. Id_18, control difuso v.s. PID. 61
Figura 4. 17. Articulación ID_9 con control. A) posición angular y b) torque 62
Figura 4. 18. Velocidad angular ID_9. Control difuso v.s. PID. 62
Figura 4. 19. Resultados con un ID_18 = 18°. Posición angular. 63
Figura 4. 20. Posición angular ID_18. Control difuso v.s. PID. 64
Figura 4. 21. Articulación ID_18 con control. a) torque y b) velocidad angular. 65 Figura 4. 22. Articulación ID_9 con control. a) posición angular y b) torque. 66
Figura 4. 23. Velocidad angular id_9. Control difuso v.s. PID. 67
Figura 4. 24. Articulación ID_18 con control. Posición angular. 68
Figura 4. 28. Articulación ID_18 con control. Posición angular. 71 Figura 4. 29. Articulación ID_18 con control. a) torque y b) velocidad angular. 72 Figura 4. 30. Articulación ID_9 con control. a) posición angular y b) torque. 73
Figura 4. 31. Velocidad angular ID_9. Control difuso v.s. PID. 74
Figura 5. 1. Articulaciones sin control, efecto de la gravedad. a) modelo y b) resultados. 75 Figura 5. 2. Resultados sin control, cuando se trabaja región de estabilidad del modelo. 77 Figura 5. 3. Modelo, caída libre por efecto de la gravedad. Articulación ID_9 con control
difuso. 77
Figura 5. 4. Resultados articulación ID_18 sin control e ID_9 con controlador difuso. 78 Figura 5. 5. Resultados, posición angulares límites de región estable 79
Figura 5. 6. Modelo, con control en articulaciones ID_18 e ID_9. 80
Figura 5. 7. Resultados con en el controlador instalado en ID_18. 80
Figura 5. 8. Articulación ID_18. Posición angular controlador difuso y PID. 81
Figura 5. 9. Articulación ID_18. A) torque y b) velocidad angular. 82
NOMENCLATURA
θ Angulo
° Grados
3D Tridimensional
AC Corriente Alterna
ASIMO Advanced Step in Innovative Mobility
AX-12 Servomotor
AX-S1 Sensor
CAD Computer aided design
CDG Centro de Gravedad
CG Centro de Gravedad
cm Centímetro
CM-510 Modulo de control
DC Corriente Directa
deg Grados
e error
F Fuerza
g gravedad
Cristóbal López De Jesús Página XIII
ID Identificación
Kg Kilogramo
Kd Constante derivativa
Ki Constante integrativa
Kp Constante proporcional
M Masa
m Metros
mm milímetros
N Newton
O Origen
PD Proporcional Derivativo
PID Proporcional Integral Derivativo
PWM Pulse Wide Modulation
s Segundos
t tiempo
v1 Versión 1
v2 Versión 2
x Coordenada en x
y Coordenada en y
z Coordenada en z
El objetivo principal es proponer un sistema de control difuso para un robot bípedo que permita estabilizarlo (sin generación de caminata bípeda) cuando se presente alguna fuerza de perturbación que afecte a este sistema.
Proponer un controlador difuso para el modelo del Robot Bípedo Bioloid cuando este se encuentre estático y se presente una perturbación, el controlador propuesto deberá estabilizar el modelo. También se comparará el sistema de control propuesto contra el sistema de control PID y así se obtendrá una comparación de los dos sistemas de control.
OBJETIVOS PARTICULARES
1. Diseñar el modelo de un Robot Bípedo en Simmechanics.
2. Diseñar un controlador Difuso PD y PID para el modelo del robot bípedo. 3. Comparar los resultados de los dos controladores Difuso PD y PID. 4. Obtención de los resultados en simulación.
JUSTIFICACIÓN
Cristóbal López De Jesús Página XV
ALCANCE
Se analizarán las situaciones sólo cuando el robot bípedo esté estático y no durante la generación de caminado bípedo, con esto se podrá apreciar la perturbación cuando el robot bípedo este parado. Se simulará el impacto de la perturbación en un solo plano es decir hacia los costados del robot bípedo (plano coronal). Para construir los estabilizadores se usarán los métodos de Control Difuso PD y PID.
METODOLOGÍA
Para la investigación propuesta será necesario seguir la siguiente metodología.
1. Obtener las dimensiones del Robot y de cada uno de sus componentes (servomotores, estructuras, tornillos y soportes), como también las masas.
2. Los momentos de inercias necesarios para el modelo en Simulink.
3. Diseñar y sintonizar los controladores (Fuzzy Control PD y PID) para el modelo en Simulink.
CAPÍTULO I
ESTADO DEL ARTE
1 Introducción.
Los robots son usados actualmente en distintas facetas profesionales como puede ser la fabricación industrial, la medicina, la seguridad y defensa o la investigación espacial entre otras. Dependiendo de la tarea para la que se destine el robot, puede ser de gran importancia el tipo de movilidad que tenga, pudiendo depender el éxito de dicha tarea de la eficacia con que el robot se desenvuelva en el medio en el que trabaja.
Cuando la tarea a la que se destinan los robots requiere de movilidad, los creadores de éstos han intentado imitar las distintas formas de desplazamiento con las que la naturaleza ha dotado a los animales, incluidos los humanos.
Al dotar de movimiento con patas a un robot, debemos tener en cuenta su posición y velocidad, pero también debemos asegurar que el robot permanezca en equilibrio y no se caiga, usando solamente el movimiento en las articulaciones mediante motores. En robots bípedos, el desplazamiento requiere necesariamente mantener el equilibro en una de las patas mientras la otra se mueve, lo que conlleva una inestabilidad en cada paso.
Una posible solución para asegurar la estabilidad al desplazarse ha sido aumentar el número de patas. De esta forma, un robot de 6 patas puede sostenerse con gran estabilidad sobre 3 de sus patas mientras mueve las otras 3. Para el caso de 4 patas, el movimiento es más lento ya que debe sostenerse sobre 3 y mover 1 en cada paso.
Cristóbal López De Jesús 2
ESTADO DEL ARTE CAPÍTULO I
1.1
Robot bípedo.
Se define Robot Bípedo como aquel tipo de robot, el cual dispone de dos extremidades para realizar desplazamientos Figura 1. 1. Dentro de este tipo de robots hay una segunda clasificación:
Estáticos: los que poseen un sistema de locomoción basado en dos extremidades y que debe interrumpir su avance al andar para asegurar que se sigan manteniendo en equilibrio.
Dinámicos: este subtipo de robots tienen un sistema de locomoción, el cual les permite desplazarse sin recurrir a la necesidad de interrumpir su avance, por ver perjudicada su estabilidad en el movimiento.
1.2
Primeras investigaciones.
Shuuji Kajita en el National Institute of Advanced Industrial Science and Technology(AIST), diseñó y desarrolló un modelo casi ideal en 2-D de un robot bípedo. Kajita supuso por simplicidad que el Centro De Gravedad (CDG) del robot se mueve horizontalmente, desarrolló una ley de control para el comienzo, continuidad y finalización del proceso de caminado. Figura 1. 2 muestra los primeros robots bípedos de Kajita [1].
Figura 1. 2. Primeros modelo de robot bípedos realizados por Kajita.
Zhen propuso un esquema para posibilitar al robot subir superficies inclinadas. Esto se realizó por medio de sensores de fuerza colocados en los pies del robot; la transición del tipo de terreno puede ser detectada y entonces compensar la inclinación generando los movimientos apropiados en los motores. Usando otra propuesta, Zhen utiliza la inclinación de la estructura mecánica como una medida indirecta del CDG para controlar los pasos en el caminado [1].
Cristóbal López De Jesús 4
ESTADO DEL ARTE CAPÍTULO I
Kajita y Tani usan el péndulo invertido para lograr el caminado en terrenos rugosos. Ellos llevaron a cabo 2 experimentos: La fase de soporte en una sola pierna y el cambio de soporte de pierna. Encontraron que para lograr cambios suaves en el soporte de pierna, es necesario mantener una velocidad vertical, así como mantener por unos instantes la fase de doble soporte. La Figura 1. 3, muestra más robots bípedos usados por Kajita en sus experimentos [1].
Figura 1. 3. Robots bípedos usados en los experimentos de Kajita.
1.3
Proyectos comerciales.
la mínima altura la cual le posibilita manejar operaciones en el mundo de los humanos. Sin embargo, el principal inconveniente es su costo de construcción e investigación (una copia cuesta cerca del millón de dólares y su investigación 300 millones de dólares.) Figura 1. 4 [1].
Figura 1. 4. Robot humanoide ASIMO de Honda.
1.4
Robots comerciales de bajo costo.
Debido al alto costo de los robots comerciales mencionados en la sección anterior, han surgido compañías dedicadas a diseñar modelos de robots de bajo costo y que cumplan con las necesidades básicas para realizar investigaciones sobre el caminado en robots bípedos y otras configuraciones. Estos robots poseen limitaciones en cuanto a los motores usados para la propulsión o en lo referente a sensores, pero ofrecen una excelente base para el desarrollo de estrategias de control sobre el caminado.
Cristóbal López De Jesús 6
ESTADO DEL ARTE CAPÍTULO I
Mide aproximadamente 34 cm. de altura y pesa cerca de 2.1 Kg. El robot tiene sólo 7 grados de libertad y es propulsado por pequeños motores de DC. Un motor por pierna mueve dos uniones en la cadera y la rodilla en el plano sagital, manteniendo al pie ortogonal al tronco. Un motor en el tronco mueve lateralmente la parte superior del cuerpo. Un motor en cada hombro levanta y baja los brazos; un motor en cada codo gira la parte inferior del brazo y abre su pinza. En la versión 2 de este robot se agregó un sistema de visión infrarroja junto con sistema de seguimiento de objetos por medio de visión, en el cual sólo acepta un objeto ver Figura 1. 6 [4].
Figura 1. 5. Robosapien v1robot de recreación infantil.
1.5
Robot Bioloid.
Otra plataforma robótica para construir humanoides viene de la compañía coreana Robotis, la cual desarrolla el kit de robótica Bioloid Figura 1. 7. Este kit es una actualización de una plataforma previa llamada Cycloid. La plataforma bioloid tiene la ventaja sobre las demás en el tipo de servo motor que usa, ya que cada servo motor es de tipo digital, posee un pequeño controlador integrado y tienen la capacidad de dar información acerca de su estado por medio de sensores incluidos en el motor. El servo que viene en el kit es de modelo AX-12 de Dynamixel. También con el kit viene un módulo de control modelo CM-510 además viene un módulo de sensores AX-S1 [2]. Los datos técnicos son presentados en el apéndice A y B.
Figura 1. 7. Robot Bioloid.
Cristóbal López De Jesús 8
ESTADO DEL ARTE CAPÍTULO I
Cada actuador Dynamixel AX-12 (Figura 1. 8) incluido en el kit permite la rotación continua, y tiene un microcontrolador que entiende 50 comandos, la mayoría de los cuales fijan o leen parámetros que definen su comportamiento. El típico servo sólo entiende la orden "ángulo objetivo" (dada por una señal PWM), pero el AX-12 permite utilizarlos como un actuador profesional con sensores. En otras palabras el AX-12 recibe instrucciones en lugar de una señal PWM. Cada servo AX-12 posee un pequeño controlador que se encarga de la ejecución de las órdenes dadas, de la recolección de datos de los sensores y de la comunicación al exterior. La información leída de los sensores puede ser la posición actual, la corriente consumida, o la variación de la temperatura del servo con la carga aplicada en el mismo. La interfaz de cada servo es de tipo serial, siendo este el medio por el cual se le mandan las ordenes y se obtiene la información de los sensores [2].
Figura 1. 9. Módulo CM-510.
Por su parte el CM-510 (Figura 1. 9) es el cerebro de la plataforma Bioloid y está basado en el microcontrolador Atmel ATMEGA 2561. Para este microcontrolador existen compiladores en C, lo que facilita la programación. Cabe mencionar que este módulo cuenta con un puerto de comunicación RS-232 por el cual es posible la comunicación con la computadora [2].
Por último el módulo AX-S1 (Figura 1. 10) es similar a un motor AX-12, pero no posee movimiento sólo sensores. Estos sensores son infrarrojos y capaces de medir distancia, también posee un micrófono que cumple la función de sensor sonoro [2].
CAPÍTULO II
DISEÑO DEL MODELO ROBOT BIPEDO
BIOLOID
2. Introducción.
El Robot Bípedo Bioloid es un robot que cuenta con 18 grados de libertad los cuales se distribuyen de la siguiente manera. El robot bípedo Bioloid cuenta con 3 grados de libertad en cada brazo, en la cadera cuenta con 2 grados de libertad los cuales están colocados simétricamente, y en cada pierna 5 grados de libertad (Figura 2. 1).
a) Vista frontal b) Vista posterior
Cristóbal López De Jesús 10
DISEÑO DEL MODELO ROBOT BIPEDO BIOLOID CAPÍTULO II
El desafío que implica contar con esta cantidad de grados de libertad, crea un reto cuando se desarrolla el modelo matemático de todo el Robot Bípedo Bioloid incrementando el tiempo del desarrollo e implementación del control.
Con el tiempo se han desarrollado nuevas herramientas para implementar el control y modelar estos mecanismos de una forma eficiente y práctica, como Simulink de Matlab, así como también nuevos métodos de control que no requieren necesariamente el modelo matemático del sistema que se requiere simular como puede ser el Control Difuso.
2.1 Restricciones para el modelo de un Robot Bípedo en Simulink.
Antes de empezar a construir el modelo en Simulink hay que tener en cuenta cierta información y restricciones necesarias para delimitar el problema ya que cierta información no es requerida o simplemente tenerla en cuenta en el modelo no causará ningún efecto sobre los resultados.
Restricciones:
a) Los brazos del robot se consideran inexistentes o que siempre poseen una postura rígida y no influyen en la dinámica del robot de manera significativa.
b) Los brazos del robot deben de tener una postura equilibrada o se deben encontrar cerca del centro de masa del robot, de esta manera se disminuye el efecto de las extremidades superiores sobre el centro de masa del robot que comúnmente se usa en el algoritmos de control de equilibrio durante la acción de caminado. Figura 2. 2
Figura 2. 2. Posición frontal brazos extendidos.
Plano anatómico del cuerpo Figura 2. 3 estos planos son cortes imaginarios que se proyectan sobre la posición anatómica más detalles en el Apéndice A.
Figura 2. 3. División anatómica en planos del cuerpo.
[image:28.612.165.450.180.448.2]d) Como se trabajará en el plano Coronal del modelo Figura 2. 4 se reducirán los grados de libertad en el modelo de Simmechanics y sólo se usarán los servomotores con número ID_9 e ID_18 los cuales se muestran en la Figura 2. 5 [2].
Cristóbal López De Jesús 12
DISEÑO DEL MODELO ROBOT BIPEDO BIOLOID CAPÍTULO II
En la Figura 2. 5 se observa la parte posterior del Robot Bípedo Bioloid donde se ubican los servomotores ID_10, 9,18 y17. Con los cuales se estarán trabajando.
Figura 2. 5. Localización de servomotores parte posterior robot Bioloid.
e) La perturbación será aplicada en el plano x como se muestra en la Figura 2. 6. Esto se plantea de este modo ya que se estará trabajando sobre el plano coronal.
Figura 2. 6. Vista coronal (frontal) del modelo en
Simulink con el sistema de coordenadas.
X
2.2 Construcción del modelo de un Robot Bípedo Bioloid.
Para construir el modelo del Robot Bípedo Bioloid se tomaron en cuenta las dimensiones reales de Robot Bípedo armado con cada una de las piezas que lo componen como Servomotores, conectores para hombros, conectores para rodillas, pies y manos. Esta información es importante ya que será necesaria para obtener los tensores de inercias y también para el modelo que se creará en Simmechanics.
Es necesario comentar que después de haber obtenido las dimensiones y masa del Robot Bípedo Bioloid será necesario construir un modelo completo del Robot en 3D en algún programa de diseño CAD, se recomienda usar SolidWorks ya que este programa ofrece el cálculo del tensores de inercia para la pieza dibujada en 3D introduciendo las dimensiones exactas y masa del la pieza.
2.2.1 Dimensiones de componentes.
Las piezas que componen al Robot Bípedo Bioloid fueron tomadas de los manuales del fabricante lo cual facilito mucho el acceso a estas dimensiones para cada componente Figura 2. 7 [1w].
Cristóbal López De Jesús 14
DISEÑO DEL MODEL CAPÍTULO II
Estos planos que facilita el f componen al Robot Bípedo B descargas ilimitadas para los u
2.2.2 Dimensiones Robot B
Tanto las dimensiones de cada entre cada articulación del Rob del modelo en Simmechanics (
Figura 2 Cota: mm 49.4 75.6 75 32 41.8 53 mm
23 68 100
86.75
Cristóbal López De Jesús 14
ELO ROBOT BIPEDO BIOLOID CAPÍTULO
l fabricante muestran medidas detalladas de ca Bioloid los cuales están publicados en Robotis s usuarios [1w].
t Bípedo Bioloid armado.
ada componente individual también es necesario l obot Bípedo Bioloid ya que son importantes en la s (Figura 2. 8).
a 2. 8. Dimensiones robot bípedo Bioloid.
Cota: mm 49.4 75.6 75 32 41.8 53 mm
23 68 100
86.75
Cristóbal López De Jesús 14
LO II
capa pieza que tis con acceso a
io las longitudes la construcción Cota: mm 49.4 75.6 75 32 41.8 53 mm
23 68 100
2.2.3 Modelo en SolidWorks.
Con el modelo en SolidWorks del Robot Bípedo Bioloid completo se podrán obtener los Momentos de inercia de cada sección del robot el cual convenga al usuario o simplemente del que se requiera. Los detalles de los momentos de inercia se especifican en el Apéndice B.
Centro de masa: ( metros ) X = -0.0161060 Y = 0.1834432 Z = 0.1543881 Peso: 0.964 kg
Momento de inercia: ( kilogramos * metros^2 )
(Medido desde el centro de masa y alineado con el sistema de coordenadas resultante)
= 0.00644260.0000065 0.00000650.0065736 −0.00001430.0000023 0.0000023 −0.0000143 0.0005892
Figura 2. 9. Tensor de inercia del torso con los brazos extendidos.
En la Figura 2. 9 se aprecia el torso del Robot Bípedo Bioloid esto es posible debido a que SolidWorks permite trabajar con secciones del dibujo que se requiera. El programa calcula y muestra los Momentos de inercia de cada sección con la que se está trabajando actualmente. Todos los tensores de inercia utilizados en este trabajo se muestran en el Apéndice B.
Cristóbal López De Jesús 16
DISEÑO DEL MODELO ROBOT BIPEDO BIOLOID CAPÍTULO II
2.2.4 Modelo en Simmechanics
Para construir el modelo se tomaran las siguientes consideraciones:
El vector de la fuerza de gravedad que actúa sobre el modelo es [0 -9.81 0] este
vector se define en Simmechanics con el bloque Machine Environment Figura 2. 10.
Figura 2. 10. Bloque Machine Enviroment.
La posición en el plano de coordenadas del modelo es [0 0 0] el cual se especifica
con el bloque Ground Figura 2. 11.
Figura 2. 11. Bloque Ground.
También se considerará la pierna izquierda anclada en el suelo, esto con el hecho de que no se cuenta con el modelo matemático con el cual se pude considerar la fricción que hay entre el pie y el suelo del modelo Figura 2. 12.
2.2.4.1 Modelado de las piernas.
Para modelar las piernas del Robot Bípedo Bioloid Figura 2. 13 en Simmechanics se necesitaran las dimensiones y la masa de cada pieza tomadas anteriormente, esta información se podrá ver con detalle en el Apéndice B.
Figura 2. 13. Piernas robot bioloid.
Para modelar las piernas se usara el bloque Body en Simmechanics este bloque cuenta con las siguientes variables configurables Figura 2. 14 masa [kg], tensor de inercia [kg*m^2], vector del centro de gravedad [m] y vector de posición [m], esta información es importante para construir cada sección de la pierna, las sección se unirán mediante una articulación fija o móvil de acuerdo a la configuración deseada.
Cristóbal López De Jesús 18
DISEÑO DEL MODELO ROBOT BIPEDO BIOLOID CAPÍTULO II
Con los bloque Body configurados de acuerdo a las especificaciones físicas de cada sección de las piernas Figura 2. 15 se colocaran las articulaciones móviles ID_9 e ID_18. Apéndice B2.
Figura 2. 15. Secciones del modelo Robot Bípedo Bioloid.
Para poder activar las articulaciones ID_9 e ID_18 es necesario ubicar su posición en el modelo esto se puede observar en la Figura 2. 16 ya que tan solo en las piernas se cuenta con 10 articulaciones móviles y cada articulación de las piernas se encuentra también debidamente identificada de acuerdo con el fabricante con un número que lo identifica Figura 2. 1.
Figura 2. 16. Articulaciones en las piernas.
A 1
A 2
B 1
B 2
C 1
C 2
ID_10 ID_9
Estas articulaciones ID_9 e ID_18 se activaran en el modelo de Simmechanics con el bloque de articulación Revolute con eje de rotación [0 0 1] Figura 2. 17 con la configuración de rotación lista solo será necesario conectarlos en la posición de ID_9 e ID_18 con los bloques Body.
Figura 2. 17. Bloque Revolute.
El modelo está configurado de ésta manera de acuerdo a que se experimentara con perturbaciones sobre el plano coronal y las únicas articulaciones que tendrán efecto sobre este plano serán ID_9 y ID_18 las articulaciones restantes se dejaran fijas con un bloque Weld Figura 2. 18 este bloque Weld no requiere de alguna configuración especial solo conectarla con los bloques Body restantes.
Figura 2. 18. Bloque Weld.
Con todos los bloques conectados, configurados con sus propias dimensiones, centro de gravedad, tensores de inercia, masa y articulaciones. Tenemos ya diseñado la parte mecánica del modelo Robot Bípedo Bioloid.
Cristóbal López De Jesús 20
DISEÑO DEL MODELO ROBOT BIPEDO BIOLOID CAPÍTULO II
2.3 Modelo Robot Bípedo Bioloid Simmechanics.
En la Figura 2. 19 se puede apreciar el programa de Simulink el cual constituye el modelo de las piernas del robot ya terminado y también el bloque de perturbación externa el cual se usará más adelante para las pruebas con perturbación externa para el modelo del Robot Bípedo Bioloid.
a) Bloque Simulink piernas
b) Bloque perturbación externa.
Figura 2. 19. Modelo Robot Bípedo Bioloid. a) Bloque Simulink piernas,
2.4 Articulaciones en el modelo Simmechanics.
[image:38.612.124.491.246.552.2]En la Figura 2. 20 se puede apreciar las articulaciones ID_10, 9,18 y 17. Estas articulaciones se encuentran en la parte posterior del Robot Bípedo Bioloid como se estará trabajando en el plano coronal estas articulaciones serán las que contaran con libertad de movimiento debido al plano coronal y el resto de las articulaciones quedaran restringidas por la configuración misma del Robot Bípedo Bioloid.
Figura 2. 20. Articulaciones móviles modelo Simmechanics.
En el modelo de Simmechanics del Robot Bípedo se usaran las articulaciones ID_18 e ID_9 quedando las demás articulaciones restringida. Si observamos las posiciones son simétricas por lo tanto los resultados para las demás articulaciones serian idénticas a los ofrecidos por los controladores instalados en las articulaciones ID_18 e ID_9.
ID_18
ID_9 ID_10
ID_17
ID_18
ID_9 ID_10
Cristóbal López De Jesús 22
DISEÑO DEL MODELO ROBOT BIPEDO BIOLOID CAPÍTULO II
2.5 Conexión de sensores en las articulaciones.
Una vez que el diseño mecánico de las piernas esté listas, es necesario conectar los sensores que retroalimentarán a los bloques de control que se diseñarán más adelante. Esta acción es de suma importancia ya que al unirlos a las articulaciones se generarán las señales requeridas para los controladores.
El Robot Bípedo Bioloid utiliza servomotores que controlan el movimiento de las articulaciones. Utilizando un bloque Subsytem o subsistema se modelarán las articulaciones del Robot Bípedo Bioloid. Los bloques de las articulaciones se muestran en las siguientes Figura 2. 21 y Figura 2. 22.
Figura 2. 21. Bloque de articulación ID_18.
Figura 2. 22. Bloque de articulación ID_9.
Estos bloques están conectados de la siguiente manera, los bloques de articulaciones ID_18 e ID_9 cuentan con las configuraciones mostradas en las Tablas 2.1 y 2.2 respectivamente.
Bloque articulación ID_18
Conn1 Conector hacia las los bloques de las piernas Conn3 Bloque condición inicial
Out1 Salida sensor posición angular articulación L11
Conn2 Conector hacia las los bloques de las piernas
Tabla 2.1. Bloque articulación ID_18.
Bloque articulación ID_9
In1 Entrada sensor posición angular articulación L11
Conn1 Conector hacia las los bloques de las piernas Conn2 Conector hacia las los bloques de las piernas
Dentro de los bloque de las articulaciones se encuentra la parte más importante del modelo, ya que es ahí donde se alojará el sistema de control. Cada bloque de articulación ID_9 e ID_18 cuenta internamente con un bloque de controlador difuso, así como también de un actuador que recibe la señal generada por el controlador. Estos bloques de articulaciones relativamente son similares si no fuera por un detalle, para comparar el control difuso contra el control PID se han creado dos versiones diferentes: una con controladores difusos y otra con controladores PID.
2.5.1 Bloques de articulaciones con Controlador Difuso PD.
Para los bloques de articulaciones con Control Difuso se puede observar que se cuentan con dos variables de entrada necesarias para retroalimentar el controlador Difuso, esto porque el controlador fue diseñado a partir de las variables de posición angular y velocidad angular ya que con esto obtenemos un Control Difuso PD. Es importante mencionar para el controlador de este bloque la señal de referencia será cero por tal motivo no es necesario
[image:40.612.93.522.368.686.2]una bloque de referencia “Ref.” verFigura 2. 23.
Cristóbal López De Jesús 24
DISEÑO DEL MODELO ROBOT BIPEDO BIOLOID CAPÍTULO II
[image:41.612.90.535.188.581.2]Para el modelo del Robot Bípedo Bioloid se identificó anteriormente dos articulaciones para trabajar en las pruebas ID_18 e ID_9 Estos bloque de articulaciones para el caso del Control Difuso cuenta con los bloques llamados F8 y F9, para la articulación ID_18 y F9 para la articulación ID_9 respectivamente ver Figura 2. 23 y Figura 2. 24.
Figura 2. 24. Modelo del servomotor de la articulación ID_9, controlador difuso.
2.5.2 Bloques de articulaciones con Controlador PID.
[image:42.612.104.513.242.518.2]Para comparar y analizar los resultados del controlador Difuso PD se diseña un bloque exclusivo para el controlador PID este bloque tienes las misma configuraciones que el controlador difuso obviamente la diferencia radica en los bloque de los mismos controladores. Con en el bloque de la articulación ID_18 no se cuenta con un bloque de referencia “Ref.” ya que la señal de referencia siempre deberá ser cero ver Figura 2. 25 y Figura 2. 26.
Figura 2. 25. Modelo del servomotor de la articulación ID_18, PID.
Cristóbal López De Jesús 26
DISEÑO DEL MODELO ROBOT BIPEDO BIOLOID CAPÍTULO II
[image:43.612.91.525.183.460.2]Los bloque de PID cuentan con un algoritmo de sintonización automático que no requiere del modelo matemático del sistema a simular, esto sólo es posible para versiones de Matlab 2010a en adelante.
Figura 2. 26. Modelo del servomotor de la articulación ID_9, PID.
CAPÍTULO III
DISEÑO DE LOS CONTROLADORES DIFUSO Y
PID
3. Diseño de los controladores.
En este capítulo se diseñarán los controladores necesarios para controlar el modelo del Robot Bípedo Bioloid, los controladores serán capaces de generar una señal de control necesaria para cada tipo de perturbación que se presente. Estos controladores serán retroalimentados con variables medibles las cuales se obtendrán de los sensores colocados en cada articulación del Robot Bípedo Bioloid.
Como se ha mencionado anteriormente este trabajo se proponen dos tipos de control para estabilizar al Robot Bípedo Bioloid, sobre todo uno muy importante el cual lleva el nombre de este trabajo “Estabilizador Difuso para un Robot Bípedo”, el Control Difuso es muy importante en este trabajo debido que no requiere un modelo matemático para simular e implementar el control además su diseño es muy intuitivo. Pero también algo importante, con el avance del tiempo se han refinado también los algoritmos de control PID en Matlab, por eso también se propone en este trabajo realizar una comparación de estos métodos de control. Cabe destacar que el controlador PID, será sintonizado a través del algoritmo incluido en uno de los bloques de Simulink“PID Controller”.
3.1 Conjuntos.
Estos conjuntos pueden definirse como un conjunto bien definido de elementos o mediante una función de pertenencia μ que toma valores de 0 ó 1 de un universo en discurso para todos los elementos que pueden o no pertenecer al conjunto.
Conjuntos clásicos
Un conjunto clásico se puede definir con la función de pertenencia mostrada en la ecuación.
( ) = {
∈∉Conjuntos difusos
Cristóbal López De Jesús 28
DISEÑO DE LOS CONTROLADORES DIFUSO Y PID CAPÍTULO III
puede tomar valores del intervalo entre 0 y 1, y la transición del valor entre cero y uno es gradual y no cambia de manera instantánea como pasa con los conjuntos clásicos.
Un conjunto difuso en un universo en discurso pude definirse como lo muestra la ecuación.
Donde ( ) es la función de pertenecía de la variable x, y U es el universo en discurso. Cuando más cerca este la pertenencia del conjunto A al valor de 1, mayor será la pertenencia de la variable x al conjunto A, esto se puede ver en la Figura 3. 1.
Figura 3. 1. Funciones de membresías.
3.2 Control Difuso.
La lógica difusa se puede aplicar en procesos demasiado complejos, cuando no existe un modelo de solución simple o un modelo matemático preciso. Es útil también cuando se necesite usar el conocimiento de un experto que utiliza conceptos ambiguos o imprecisos. De la misma manera se puede aplicar cuando ciertas partes de un sistema a controlar son desconocidas y no pueden medirse de forma confiable y cuando el ajuste de una variable puede producir el desajuste de otras. No es recomendable utilizar la lógica difusa cuando algún modelo matemático ya soluciona eficientemente el problema, cuando los problemas son lineales o cuando no tienen solución.
Mediante un diagrama de bloques podremos observar un controlador difuso Figura 3. 2. El control difuso se compone de los siguientes elementos
2. Mecanismo de inferencia, utiliza la información de la base de conocimiento para generar las reglas mediante el uso de condiciones.
3. Fusificación, se asignan los grados de pertenencia a cada una de las variables de entrada con relación a los conjuntos difuso.
4. Defusificación, convierte las conclusiones del mecanismo de inferencia en las entradas reales para el proceso.
Figura 3. 2. Diagrama de bloques control Difuso.
Los sistemas de lógica difusa tienen una estrecha relación con los conceptos difusos tales como conjuntos difusos, variables lingüísticas y demás. Los más populares sistemas de lógica difusa que se encuentran en la literatura se encuentran en unos de los siguientes tipos: sistemas difusos tipo Mamdani y Sistemas difusos tipo Takagi Sugeno Kang.
3.3 Sistemas Tipo Mamdani.
En la Figura 3. 3 se muestra la configuración básica de un sistema tipo Mamdani
Figura 3. 3. Sistema tipo Mamdani.
R1: IF x es bajo THEN Y es alto R2: IF x es medio THEN Y es medio
R3: IF x es alto THEN Y es bajo
Mecanismo de inferencia
Fusificación Defusificación
X en U Y en V
Entrada difusa en U
Salida difusa en V
+
-U(t) Fusificación Defusificació y(t)
n
Planta Mecanismo
de inferencia
Base de reglas
Cristóbal López De Jesús 30
DISEÑO DE LOS CONTROLADORES DIFUSO Y PID CAPÍTULO III
3.4 Característica del sistema tipo Mamdani.
Fusificación
La entrada de un sistema de lógica difusa tipo Mamdani normalmente es un valor numérico proveniente de un sensor, para que este valor pueda ser procesado por el sistema difuso se hace necesario convertirlo a un lenguaje que el mecanismos de inferencia pueda procesar. Esta es la función del Fusificación, que toma los valores numéricos provenientes del exterior y los convierte en valores Difusos que pueden ser procesados por el mecanismo de inferencia. Estos valores difusos son los niveles de pertenencia de los valores de entrada a los diferentes conjuntos difusos en los cuales se ha dividido el universo de discurso de las diferentes variables de entrada al sistema.
Por ejemplo la Fusificación de la velocidad de un vehículo es de x0 = 70 km/h Figura 3. 4.
De las funciones de membresías y de la Figura son usados para indicar la velocidad baja y media en el conjunto difuso. La velocidad dada del valor x0 = 70 km/h pertenece un
grado a ( ) = 0.75que es el valor del conjunto difuso de baja y con un grado también de ( ) = 0.25que es el conjunto difuso de medio.
Figura 3. 4. Fusificación velocidad de un vehículo.
Mecanismo de inferencia
Teniendo los diferentes niveles de pertenencia arrojados por la Fusificación, los mismos deben ser procesados para general una salida difusa. La tarea del sistema de inferencia es tomar los niveles de pertenencia y apoyado en la base de reglas generar la salida del sistema difuso.
Base de Reglas Difusas
Defusificación
La salida que genera el mecanismo de inferencia es una salida difusa, lo cual significa que no puede ser interpretada por un elemento externo (por ejemplo un controlador) que solo manipule información numérica. Para lograr que la salida del sistema difuso pueda ser interpretada por elementos que solo procesen información numérica, hay que convertir la salida difusa del mecanismos de inferencia, este proceso lo realiza la Fusificación.
La salida del mecanismo de inferencia es un conjunto difuso resultante, para generar la salida numérica a partir de estos conjuntos existen varias opciones como el Centro de Gravedad, los Centros Promediados entre otros.
=∑ ∫ ( ) ∑ ∫ ( )
Centro de Gravedad
=∑∑ ( )( )
Centros Promediados
En la Figura 3. 5 se muestra de manera más detallada como es el funcionamiento de un sistema difuso Mamdani
Cristóbal López De Jesús 32
DISEÑO DE LOS CONTROLADORES DIFUSO Y PID CAPÍTULO III
3.5 Sistemas Tipo Takagi Sugeno.
Otra alternativo de procesamiento en los sistemas difusos fue la propuesta por Sugeno en los sistemas difusos que llevan su nombre Figura 3. 6.
Figura 3. 6. Sistema Difuso Sugeno, Procesamiento General
3.6 Características del sistema tipo Takagi Sugeno.
Fusificación y Mecanismo de inferencia.
Realiza la misma función que en los sistemas Mamdani explicados anteriormente
Base de Reglas Difusas
Las reglas de la base de conocimiento de un sistema Sugeno es diferente a las de los sistemas Mamdani pues el consecuente de estas reglas ya no es una etiqueta lingüística sino que es una función de la entrada que tenga el sistema en un momento dado, esto se ilustra a continuación:
En los sistemas difusos tipo Sugeno, los valores que arrojan los consecuentes de las diferentes reglas que se han activado en un momento determinado ya son valores numéricos por lo que no se necesita una etapa de Defusificación.
Para calcular la salida del sistema difuso se ponderan los diferentes consecuentes teniendo en cuenta el valor que se activó el antecedente de cada una de las reglas, para un sistema con dos reglas la salida del sistema difuso sería:
R1: IF x es bajo THEN Y1= F(x)
R2: IF x es medio THEN Y2= F(x)
R3: IF x es alto THEN Y3= F(x)
Mecanismo de inferencia
Fusificación
X en U Y en V
Cálculo de la Salida de un Sistema Difuso Sugeno
En este caso:
Serían las funciones que permiten calcular el consecuente de cada una de las dos reglas implicadas.
En la Figura 3. 7 se muestra de manera más detallada como es el funcionamiento de un sistema difuso Sugeno.
Figura 3. 7. Sistema Difuso Sugeno, Procesamiento Detallado
3.7 Controles Difuso y PID.
Cristóbal López De Jesús 34
DISEÑO DE LOS CONTROLADORES DIFUSO Y PID CAPÍTULO III
[image:51.612.86.535.123.325.2]a) Control Difuso. b) Control PID.
Figura 3. 8. En un sistema Difuso, la entrada es leída de una fuente externa y fusificada antes de ser procesada por la lógica difusa. La salida del proceso lógico es defusificada antes de ser mandada al dispositivo físico bajo control. Un sistema de control PID tiene una
estructura muy similar, pero sin los elementos difusos.
Los componentes del control PID y Control Difusos son bastante similares, difieren principalmente en que el sistema difuso contiene dos etapas más, la “Fusificación” y la
“Defusificación” (Figura 3. 8).
En un sistema difuso, el valor de entrada real (proveniente de sensores) es convertido a un valor difuso vía el proceso de Fusificación, este valor es enseguida introducido al proceso lógico difuso comúnmente llamado Mecanismo de inferencia, en donde es continuamente evaluado en un conjunto de reglas (en donde está depositado el conocimiento del experto) este proceso genera un valor de salida difuso, el cual es transformado a un valor de salida real. A través del proceso de Defusificación el valor de salida real es con frecuencia utilizado para ajustar el funcionamiento de un actuador que en realidad es el encargado de ajustar el estado estable del sistema físico.
Mientras el modelo PID puede parecer el más simple y por lo tanto, la representación más económica, lo contrario es frecuentemente más cierto. Los controles difusos son en realidad más fáciles de implementar, más simples para describir y verificar, y pueden ser mantenidos y extendidos con mayor exactitud y en menos tiempo [14]
Deposito de conocimientos
Reglas y Conjuntos
difusos
Planta Salida
Defusificación
Proceso lógico
Fusificación
Entrada
Planta Salida
Proceso lógico
3.8 Diseño del control difuso PD.
Para el controlador difuso igual que otros controladores, se toman los valores de las variables medibles, los cuales se procesan, y generan las salidas del controlador a fin de modificar apropiadamente la dinámica de la planta.
Como su nombre lo indica Control Difuso utiliza sistemas basados en reglas, que emplean lógica difusa, como elemento central.
Dado su estado, y los valores de las variables de entrada, estos sistemas evalúan la veracidad de cada regla, y así toman decisiones sobre los cambios a realizar en las variables de salida. Una vez actualizadas las mismas, estas producirán un cambio sobre la planta, luego se vuelven a obtener los valores de las variables de entrada, comenzando un nuevo ciclo del sistema en lazo cerrado.
La diferencia esencial es que no procesan ecuaciones, procesan reglas para decidir como cambiar las salidas. Esto lo hace una técnica muy accesible, ya que las reglas están más cerca del sentido común que las ecuaciones y los modelos [8].
3.9 Definición de variables.
Las variables más importantes para retroalimentar los bloques de Control Difuso (Figura 3. 9), se obtienen de los sensores de posición angular y velocidad angular, con estas variables de entradas el bloque de control difuso procesa la información y se obtiene una señal de control que alimenta al servomotor de las Figura 3. 10 y Figura 3. 16. Esto cuando se presenta alguna perturbación o se inicia el modelo en alguna posición inicial deseada fuera del punto de equilibrio [6].
Figura 3. 9. Variables de entrada en el bloque de Control Difuso.
Para los controladores mostrados en este trabajo se usara el modelo de lazo cerrado mostrado en las Figura 3. 10 y Figura 3. 16 retroalimentando al bloque del control difuso con la señal del error y la derivada del error obteniendo control Difuso PD que controlaran las articulaciones.
Variables de Entrada
Cristóbal López De Jesús 36
DISEÑO DE LOS CONTROLADORES DIFUSO Y PID CAPÍTULO III
Figura 3. 10. Lazo cerrado para la articulación ID_18.
En la Figura 3. 10 se presenta el segundo bloque de control con identificación F8 el cual será ajustado a partir del modelo difuso mostrado en la Figura 3. 12.
Después de haber definido las variables de entrada se definen las en las siguientes secciones se definirán las funciones de membresía para la representación de estas funciones se definieron de las funciones triangulares que son las más comunes para la representación de las funciones de membresía. Las funciones triangulares demostraron ofrecer resultados óptimos para el control en las articulaciones ID_18 e ID_9 por su simplicidad y precisión en la señal de control.
Función Triangular
Definida mediante el límite inferiora, el superior by el valor modal m, tal que a<m<b. La función no tiene porqué ser simétrica Figura 3. 11.
Figura 3. 11. Función Triangular.
Articulación ID_18
+
-U(t) e τ y(t)
F8
P
3.9.1 Articulación ID_18 Control Difuso PD.
Para el caso del bloque de articulación ID_18, que contiene el bloque de Control Difuso con identificación F8. Las variables de entrada y salida se pueden apreciar en la Figura 3. 12 [13].
Figura 3. 12. Variables de entrada y salida F8.
Los elementos que componen este modelo difuso serán descritos detalladamente a continuación.
En esta sección se definen las funciones de membresía usando las funciones triangulares obteniendo buenos resultados con este tipo de funciones cabe mencionar que el ajuste fue preciso con estas funciones tomando en cuenta el control difuso PD.
3.9.2 Posición Angular.
Para las funciones de membresía de posición angular Figura 3. 13, se consideran el universo de discurso las variables de valor lingüístico ya que estos son muy importantes al evaluar las reglas las cuales se verán cuando se defina todas las funciones de membresía.
Datos de entrada para la funciones de membresía posición angular;
Universo de discurso: (-30 0 30) grados.
Valor lingüístico:
G100N: Valor máximo negativo del universo de discurso (-30°).
Gcero: Valor medio del universo de discurso (0°).
Velocidad Angular
Posición Angular Evaluación de reglas (Mandani)
Cristóbal López De Jesús 38
DISEÑO DE LOS CONTROLADORES DIFUSO Y PID CAPÍTULO III
G100P: Valor máximo positivo del universo de discurso (30°).
Figura 3. 13. Funciones de membresía para la posición angular.
El grupo de funciones de membresía definida en la Figura 3. 13 para la posición angular en el universo de discurso de -30° a 30°.
3.9.3 Velocidad Angular.
Para la función de membresía Velocidad Angular Figura 3. 14, se consideran los siguientes datos para la configuración.
Universo de discurso: (-60 0 60) grados/s.
Valor lingüístico:
V100N; Valor máximo negativo del universo de discurso (-60 grados/s).
VCero; Valor medio del universo de discurso (0 grados/s).
V100P; Valor máximo positivo del universo de discurso (60 grados/s).
Figura 3. 14. Función de membresía Velocidad Angular.
Para la velocidad angular se define el grupo de funciones de membresía en la Figura 3. 14 con un universo de discurso de -60 grados/s a 60 grados/s.
0 1
0
-30 30
G100N GCero G100P
0
-60 60
V100N VCero V100P
3.9.4 Torque.
Para la función de membresía Torque Figura 3. 15, se consideran los siguientes datos para la configuración de la salida.
Universo de discurso: (-2 0 -2) N*m.
Valor lingüístico:
T100N; Valor máximo negativo del universo de discurso (-2 N*m).
Cero; Valor medio del universo de discurso (0 N*m).
T100P; Valor máximo positivo del universo de discurso (2 N*m).
Figura 3. 15. Función de membresía Torque.
Para el torque se define en la Figura 3. 15 el grupo de funciones de membresía con un universo de discurso de -2 N*m a 2 N*m.
3.10 Articulación ID_9 Control Difuso PD.
Para la articulación ID_9 se usara el modelo de lazo cerrado (Figura 3. 16) para retroalimentar el controlador F9 usado para controlar la articulación ID_9. Esta parte es muy importante ya que la articulación ID_9 se encargará de estabilizar el Robot Bípedo Bioloid por medio de la pierna derecha.
Figura 3. 16. Lazo cerrado para la articulación ID_19.
Articulación ID_9
+
-U(t) e τ y(t)
F9
P
D
0 1
0
-2 2
Cristóbal López De Jesús 40
DISEÑO DE LOS CONTROLADORES DIFUSO Y PID CAPÍTULO III
El segundo bloque de control con identificación F9 (Figura 3. 16) será ajustado de acuerdo al modelo difuso mostrado en la Figura 3. 17 [13].
Figura 3. 17. Variables de entrada y salida F9.
Para el controlador F9 se definirán más funciones de membresías ya que este control requiere mayor precisión de control, al aumentar las funciones de membresía se tendrán más valores lingüísticos y por lo tanto más reglas a evaluar esto aumentara más el rango de precisión en el universo de discurso.
3.10.1 Posición angular.
Universo de discurso: (-60 0 60) grados.
Valor lingüístico:
G100N: Valor máximo negativo del universo de discurso (-60°).
G40N: Valor 40% del universo de discurso (-25°)
GCero: Valor medio del universo de discurso (0°).
G40P: Valor 40% del universo de discurso (-25°)
G100P; Valor máximo positivo del universo de discurso (60°).
En el bloque de control llamado F9 se han definido cinco funciones de membresía ya que el control requerido en esta parte de la articulación ID_9 se requiere un rango de precisión mayor a comparación con el bloque F8 que control a la articulación ID_18 que solo requería de tres funciones de membresía para realizar el control.
Velocidad Angular
Posición Angular Evaluación de reglas (Mandani)
Figura 3. 18. Funciones de membresía Posición Angular.
En la Figura 3. 18 se observa el grupo de funciones de membresía para la posición angular definido en el universo de discurso de -60° a 60°. Cubriendo una mayor sección del universo de discurso con las cinco funciones de membresía definidas.
3.10.2 Velocidad angular.
Universo de discurso: (-1000 0 1000) grados/s.
Valor lingüístico:
V100N: Valor máximo negativo del universo de discurso (-1000 grados/s).
V40N: Valor 40% negativo del universo de discurso (-466.7 grados/s)
Vcero: Valor medio del universo de discurso (0 grados/s).
V40P: Valor 40% positivo del universo de discurso (466.7 grados/s)
V100P: Valor máximo positivo del universo de discurso (1000 grados/s).
Figura 3. 19. Funciones de membresía Velocidad Angular.
Para la velocidad angular se define en laFigura 3. 19el grupo de funciones con un universo de discurso de -1000 grados/s a 1000 grados/a.
0
1V100N V40N
VCero V40P V100P
-1000 -466.7 0 466.7 1000
0 1
G100N G40N GCero G40P G100P
Cristóbal López De Jesús 42
DISEÑO DE LOS CONTROLADORES DIFUSO Y PID CAPÍTULO III
3.10.3 Torque.
Universo de discurso: (-20 0 -20) N*m.
Valor lingüístico:
T100N: Valor máximo negativo del universo de discurso (-2 N*m).
T40N: Valor 40% negativo del universo de discurso (-0.8773 N*m)
Cero: Valor medio del universo de discurso (0 N*m).
T40P: Valor 40% positivo del universo de discurso (0.8773 N*m)
F100P: Valor máximo positivo del universo de discurso (2 N*m).
Figura 3. 20. Funciones de membresía Torque.
Para el torque se define el grupo de funciones de membresía mostrada en la Figura 3. 20 con un universo de discurso de -2 N*m a 2 N*m.
3.11 Evaluación de reglas.
Una vez realizada la fuzzification, se evalúan los antecedentes de las reglas, obteniendo el grado de verdad o “peso”, para cada una de ellas. Si se tiene una regla como la siguiente:
Si “la posición angular es Cero” y la “velocidad angular es Cero “entonces el “Torque es Cero”
La regla será tan verdadera como lo sea el menos verdadero de sus antecedentes. Es decir, se le asigna a la regla como peso, el menor de los grados de pertenencia de las variables de los antecedentes a las respectivas etiquetas lingüísticas [6].
0 1
T100N T40N Cero T40P T100P
3.11.1 Evaluación de reglas bloque F8.
Esta sección describe la parte central del controlador difuso, nos referimos a la base de conocimientos, punto de partida para la generación del conjunto de reglas sobre las que se rigen la inferencia. Existen dos tipos de métodos de inferencia que pueden ser implementados en el Fuzzy Logic Toolbox el método Mamdani y Sugeno en este caso se usara el método Mandani.
El método Mamdani utiliza los grados de membresía de las variables de entrada que se generaron en la Fusificación y se aplican sobre las reglas de la base de conocimiento para determinar su grado de membresía en los conjuntos difuso de la variable de salida.
La Tabla 3.1 y 3.2 representan las reglas que se utilizaran en el proceso de inferencia y que regirán el comportamiento del controlador de las articulaciones.
La tabla de inferencia (Tabla 3.1) de doble entrada (Posición Angular y Velocidad Angular) donde el contenido en cada celda corresponde con el conjunto difuso de la variable de salida (Torque) que cada regla propone.
Torque Posición Angular (Theta)
Velocidad angular (Vel)
G100N GCero G100P
V100N T100P Cero
VCero T100P Cero T100N
V100P Cero T100N
Tabla 3.1. Tabla de inferencias difusas para articulación ID_18, bloque F8.
Para la evaluación de las reglas se considera las entradas con la condición inicial Cero y su resultado en la Salida Cero ya que el sistema se mantendrá en su posición de equilibrio y no requerirá una señal de control;
Si “la posición angular es Cero” y la “velocidad angular es Cero “entonces el “Torque es Cero”
Este ejemplo solo es válido en la condición inicial de equilibrio ya que para otras evaluaciones de regla requerirá el conocimiento del sistema para establecer la variable de salida dependiendo de las condiciones de entradas.
Utilizando la tabla de inferencia evaluaremos las reglas con las entradas y las salidas especificadas en Tabla 3.1.
Cristóbal López De Jesús 44
DISEÑO DE LOS CONTROLADORES DIFUSO Y PID CAPÍTULO III
If(Theta is GCero) and (Vel is V100N)then (Torque is T100P) If(Theta is G100N) and (Vel is VCero)then (Torque is T100P) If(Theta is G100N) and (Vel is V100P)then (Torque is Cero) If(Theta is G100P) and (Vel is VCero)then (Torque is T100N)
If(Theta is G100P) and (Vel is V100N)then (Torque is Cero)
Después de incluir las reglas en Matlab dentro de la herramienta de Lógica Difusa, el programa ofrece una gráfica en 3D muy útil para conocer la forma de la superficie no lineal generada por el conjunto de reglas difusas, mostradas anteriormente, Figura 3. 21.
En la Figura 3. 21 se aprecian la relación de las variables de entrada y salida, se podrá observar el valor de relación de cada variable de acuerdo a la evaluación de reglas realizada previamente de haber algún error en la evaluación de las reglas se podrá ver alguna incongruencia en la grafica o salvo que el sistema requiera este tipo de evaluación.
Figura 3. 21. Reglas 3D para el bloque F8 para articulación ID_18.
3.11.2 Evaluación de reglas bloque F9.
Torque Posición angular (Theta)
Velocidad angular
(Vel)
G100N G40N GCero G40P G100P
V100N T100P
V40N T40P Cero
VCero T100P T40P Cero T40N T100N
V40P Cero T40N
V100P T100N
Tabla 3.2. Tabla de inferencias difusas para articulación ID_9, bloque F9.
Usando la Tabla 3.2 de doble entrada evaluamos las reglas de la siguiente manera;
Si “la posición angular es Cero” y la“velocidad angular es Cero” entonces el “Torque es Cero”
Así las reglas para la articulación ID_9 contenidas en el bloque F9 se constituyen de la siguiente manera.
If(Theta is GCero)and (Vel is VCero)then (Torqueis Cero)
If(Theta is GCero)and (Vel is V40P)then (Torqueis T40N)
If(Theta is GCero)and (Vel is V100P)then (Torqueis T100N)
If(Theta is GCero)and (Vel is V40N)then (Torqueis T40P)
If(Theta is GCero)and (Vel is V100N)then (Torqueis T100P)
If(Theta is G40N)and (Vel is VCero)then (Torqueis T40P)
If(Theta is GCero)and (Vel is VCero)then (Torqueis Cero)
If(Theta is G100N)and (Vel is VCero)then (Torqueis T100P)
If(Theta is G40P)and (Vel is VCero)then (Torqueis T40N)
If(Theta is G40P)and (Vel is V40N)then (Torqueis Cero)
If(Theta is G100P)and (Vel is VCero)then (Torqueis T100N)
Cristóbal López De Jesús 46
DISEÑO DE LOS CONTROLADORES DIFUSO Y PID CAPÍTULO III
Figura 3. 22. Reglas 3D para el bloque F9 para articulación ID_9.
3.12 Controlador PID.
Un PID (Proporcional Integral Derivativo) es un mecanismo de control por realimentación que calcula la desviación o error entre un valor medido y el valor que se quiere obtener, para aplicar una acción correctora que ajuste el proceso Figura 3. 23.
El controlador PID clásico tiene la forma:
En donde e es el error, u es la salida del controlador, Kp la ganancia proporcional, Ki ganancia integral, yKdla ganancia derivativa.
Figura 3. 23. Diagrama de bloque PID.
Anteriormente para implementar un controlador PID era necesario conocer el modelo matemático de la planta, para ajustar manualmente los parámetros del PID, lo cual añadía complejidad al diseño del controlador y pudiera también aumentar el tiempo de implementación del control.
Planta
+
-+
+
+
P ( )
I ∫ ( )
D