You are on page 1of 89

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

    

FACULTAD DE INGENIERÍA

CONTROL DE ROBOTS MÓVILES: EL CASO DEL BALLBOT
       

T E S I S QUE PARA OBTENER EL TÍTULO DE INGENIERO ELÉCTRICO ELECTRÓNICO
ÁREA: CONTROL Y ROBÓTICA

 

P R E S E N T A
 

PABLO TOMÁS HERNÁNDEZ CRUZ
         

DIRECTOR DE TESIS: DR. PAUL ROLANDO MAYA ORTIZ

 

CIUDAD UNIVERSITARIA, MÉXICO, 2010
       

Agradecimientos
A mis padres, Bulmara Cruz L´pez y V´ o ıctor Landeros Mart´ ınez, por sus ense˜anzas, por n brindarme los principios para formar a la persona que soy hoy en d´ Gracias por su apoyo, ıa. compa˜´ y ser el gran pilar de mi vida a pesar de mi car´cter tan especial. Los quiero y nıa a admiro mucho.

A mi hermano Jos´ Luis Hern´ndez Cruz, te quiero mucho, siempre estar´ ah´ para ti, e a e ı gracias por tu amistad a trav´s de estos a˜os, por ser mi gran compa˜ero de infancia y por e n n brindarme tu apoyo incondicional hasta ahora, te admiro mucho. Nunca cambies hermano.

A todos mis familiares que me han dejado muchas ideas y ense˜anzas, grandes an´cdotas n e y el saber que siempre contar´ con ellos. Estoy orgulloso de la familia que me ha acompa˜ado e n en este trayecto de vida.

Al Departamento de Control y Rob´tica, FI-UNAM, especialmente al Dr. Paul Rolando o Maya Ortiz por confiar en el proyecto e invertir conocimiento, tiempo e ideas para realizar este trabajo de tesis.

A la USECAD, FI-UNAM, en especial al Ing. Jorge Ontiveros y al Lic. Carlos Vences, gracias por la oportunidad que me brindaron y por todas las ense˜anzas y proyectos que n surgieron de eso.

2

Agradecimientos

A la Secretar´ de Servicios Acad´micos, Servios Escolares, Servicio Social, Titulaci´n y ıa e o especialmente al ´rea de Sistemas de la Coordinaci´n de Administraci´n Escolar: ´ a o o Igor, Emilia, Anaid, Esther, Alexis, Edgar, Israel. Gracias por sus consejos, apoyo, amistad, gracias por ser esa familia que me ha ense˜ado muchas cosas en el ´mbito laboral y personal. n a

Gracias a mis amigos, especialmente a: Lynda G, Arturo C, Arturo G, Naomi B, Guillermos S, Daniel C, Enrique P, H´ctor, Isis, Federico, Juanito, Lucero, Samuel, y especialmente e a Mario Troche, siempre vivir´s en el coraz´n de tus amigos que tanto te queremos y exa o tra˜amos. n

A MICROBOTIX, por las oportunidades y proyectos, por dejarme conocer ese mundo que me apasiona y que me ha dejado tantas satisfacciones a nivel profesional.

A mi querida UNAM, gracias por guiarme y ense˜arme tanto. Orgulloso de ser Universin tario.

Pablo Tom´s Hern´ndez Cruz a a

´ Indice general
1. Introducci´n o 2. Modelado del Sistema 2.1. Sistema BALLBOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Descripci´n de los elementos del Sistema . . . . . . . . . . . . . . . . . . . . o 2.3. M´todo de Modelado por Euler-Lagrange . . . . . . . . . . . . . . . . . . . . e 2.4. Linealizaci´n del modelo matem´tico. o a Espacio de Estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Dise˜ o del Controlador n 3.1. Objetivo de la Ley de Control . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. An´lisis de Estabilidad y Controlabilidad . . . . . . . . . . . . . . . . . . . . a 3.3. Control por realimentaci´n de Estados . . . . . . . . . . . . . . . . . . . . . o 3.3.1. M´todo del Regulador Cuadr´tico Lineal . . . . . . . . . . . . . . . . e a 3.3.2. M´todo por Asignaci´n de Polos . . . . . . . . . . . . . . . . . . . . . e o 4. Resultados En Simulaciones 4.1. Comparaci´n entre los esquemas Control . . . . . . . . . . . . . . . . . . . . o 4.2. 4.3. Control por LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Control Por Asignaci´n De Polos o . . . . . . . . . . . . . . . . . . . . . . . 1 13 13 14 17 23 27 27 28 32 32 40 45 46 49 56 63 63 65 68

5. Resultados Experimentales 5.1. Salidas del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Control LQR (Regulador Cuadr´tico Lineal ) a . . . . . . . . . . . . . . . . .

5.3. Control Por Asignaci´n de Polos . . . . . . . . . . . . . . . . . . . . . . . . . o

4

´ INDICE GENERAL

5.4. Entrada del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1. PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.2. Voltaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. Conclusiones y Trabajo a Futuro A. MATLAB y Software Adicional B. Archivos contenidos en el disco.

71 71 73 75 79 82

´ Indice de figuras
1.1. Yamabico Ichiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 3 5 6 6 14 15 17 32 36 36 39 41 43 43 47 48 49 49 51

1.2. Monociclo de Nakajima , Tsubouchi , Yuta , Koyanagi . . . . . . . . . . . . 1.3. Yamabico Kurara 1.4. Sistema BALLBOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5. Bola tipo mouse sobre la cual descansa todo el sistema . . . . . . . . . . . . 1.6. Sistema LEGO NXT BALLBOT . . . . . . . . . . . . . . . . . . . . . . . . 2.1. P´ndulo Invertido e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2. Sistema de Coordenadas para el plano XZ . . . . . . . . . . . . . . . . . . . 2.3. Pelota Esf´rica y Llanta de goma colocada en el motor DC . . . . . . . . . . e 3.1. Sistema masa-resorte-amortiguador . . . . . . . . . . . . . . . . . . . . . . . 3.2. Esquema de control PID para un Servo control . . . . . . . . . . . . . . . .

3.3. Esquema del Servo Controlador para el sistema NXT BALLBOT . . . . . . 3.4. Estados del Sistema NXT BALLBOT para ψ = 4 grados . . . . . . . . . . . 3.5. Lugar geom´trico de las Ra´ e ıces . . . . . . . . . . . . . . . . . . . . . . . . . 3.6. Diagrama de Bloques del controlador por Asignaci´n de Polos . . . . . . . . o 3.7. Estados del Sistema NXT BALLBOT para ψ = 4 grados . . . . . . . . . . . 4.1. Asignaci´n de Polos, ψo = 4 GRADOS o 4.2. Asignaci´n de Polos, ψo = 4 GRADOS o 4.3. Plano XZ LQR, ψo = 4 GRADOS 4.4. Plano YZ LQR, ψo = 4 GRADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.5. Simulador del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

´ INDICE DE FIGURAS

4.6. Plano XZ LQR, ψo = 2 GRADOS 4.7. Plano YZ LQR, ψo = 2 GRADOS 4.8. Plano XZ LQR, ψo = 6 GRADOS 4.9. Plano YZ LQR, ψo = 6 GRADOS 4.10. Plano XZ LQR, ψo = −4 GRADOS 4.11. Plano YZ LQR, ψo = −4 GRADOS 4.12. Plano XZ LQR, ψo = −6 GRADOS 4.13. Plano YZ LQR, ψo = −6 GRADOS 4.14. Plano XZ ADP, ψo = 4 GRADOS 4.16. Plano XZ ADP, ψo = 2 GRADOS 4.18. Plano XZ ADP, ψo = 6 GRADOS 4.20. Plano XZ ADP, ψo = −6 GRADOS 4.21. Plano YZ ADP, ψo = −6 GRADOS 4.22. Plano XZ ADP, ψo = −4 GRADOS 4.23. Plano YZ ADP, ψo = −4 GRADOS

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52 52 53 53 54 54 55 55 56 56 58 58 59 59 60 60 61 61 64 65 66 67 68 69 70 71 72 73 74 74

4.15. Plano YZ ADP, ψo = 4 GRADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.17. Plano YZ ADP, ψo = 2 GRADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.19. Plano YZ ADP, ψo = 6 GRADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.1. Modelo de Adquisici´n de Datos de Simulink o

5.2. Gr´fica del sistema en tiempo real sobre el plano XZ . . . . . . . . . . . . . a 5.3. Gr´fica del sistema en tiempo real sobre el plano YZ . . . . . . . . . . . . . a 5.4. Servo Control para el esquema del Regulador Cuadr´tico Lineal . . . . . . . a 5.5. Gr´fica del sistema en tiempo real sobre el plan XZ . . . . . . . . . . . . . . a 5.6. Gr´fica del sistema en tiempo real sobre el plan YZ . . . . . . . . . . . . . . a 5.7. FeedBack Control para el esquema por Asignaci´n de Polos o . . . . . . . . .

5.8. PWM para un motor bajo el esquema LQR . . . . . . . . . . . . . . . . . . 5.9. PWM para un motor bajo el esquema de control por Asignaci´n de Polos . . o 5.10. Esquema en Simulink del voltaje y del PWM . . . . . . . . . . . . . . . . .

5.11. Voltaje del motor para el esquema LQR . . . . . . . . . . . . . . . . . . . . 5.12. Voltaje del motor para el esquema por Asignaci´n de Polos o . . . . . . . . .

Cap´ ıtulo 1 Introducci´n o
ANTECEDENTES

Desde 1977, se han desarrollado robots m´viles aut´nomos los cuales pertenecen a una o o familia de robots denominada “Yamabico”. Los est´ndares de ese tipo de robots tienen una a cinem´tica PWS (powered wheel steering). Normalmente estos poseen dos ruedas en la parte a de enfrente y en la parte trasera para soportar el cuerpo y ganar estabilidad. El objetivo de utilizarlos era desarrollar una t´cnica de control para poder estabilizarlos pero sin el uso e de las ruedas del sistema original. Dicho desarrollo se llev´ a cabo mediante un control por o retroalimentaci´n de estados implementado bajo el an´lisis del p´ndulo invertido plasmado o a e en la versi´n modificada de un robot Yamabico [1, 2], los cuales tienen ruedas motrices a la o derecha y a la izquierda pero sin el uso de ruedas en la parte de enfrente y la parte trasera. Una de las ventajas de este tipo de robots es que no posee perturbaciones irregulares debido a la configuraci´n y posici´n de las ruedas. Es necesario que el control configurado para esta o o clase de robot m´vil permita el movimiento libremente alrededor de dos planos mientras o guarda el balance. Este tipo de robot m´vil de tipo p´ndulo invertido(inverse pendulum type o e mobile robot) puede seguir una secuencia de segmentos de trayectoria lineal y circular [3]. Una vez desarrollado este tipo de robots existi´ una motivaci´n para poder configurar un o o control para un veh´ ıculo que solo tuviera una rueda motriz, el monociclo. Dicho veh´ ıculo es dif´ de controlar hasta para los humanos, debido a su inestabilidad, por ello es indispensıcil able un control para poder estabilizarlo. Osaka desarroll´ un monociclo en 1981 [4], dicho o veh´ ıculo ten´ un brazo que sobresal´ tanto del lado izquierdo como del lado derecho y los ıa ıa movimientos laterales eran estabilizados por el movimiento de un peso a lo largo del brazo. Honma present´ un monociclo que ten´ un giroscopio colocado en la parte superior del o ıa cuerpo del veh´ ıculo para poder sensar la inclinaci´n del cuerpo del robot y cuya funci´n era o o estabilizar al robot con un control que utiliza la informaci´n recibida del giroscopio [5]. Brown o present´ un robot con una rueda y un largo neum´tico, el mecanismo de estabilizaci´n se o a o

2

´ 1. INTRODUCCION

encontraba dentro de la rueda [6]. Se concentraron demasiado en el control de estabilizaci´n o pero presentaba problemas con respecto a la navegaci´n en un espacio de dos dimensiones. o Todas las ideas planteadas anteriormente fueron desarrolladas mediante el robot denominada ”Yamabico Ichiro”, Figura 1.1. Este robot con dimensiones 30 cm (largo) x 30 cm (ancho) y 50 cm (alto) con un peso de 12 Kg es un monociclo y es implementado como un robot m´vil aut´nomo el cual incluye un m´dulo de control, sensores internos, motores y o o o bater´ contenido todo en el propio robot. ıas,

Figura 1.1: Yamabico Ichiro

Ryo Nakajima , Takashi Tsubouchi, Shin’ichi Yuta , y Eiji Koyanagi tomaron las investigaciones desarrolladas hasta ese entonces y construyeron un monociclo estable atendiendo tambi´n el problema de la navegaci´n. Adem´s propusieron un esquema de l´ e o a ıneas y c´ ırculos de manera que el monociclo pudiera realizar un seguimiento dada una trayectoria, siendo este un avance significativo para los robots de esta clase [2]. El monociclo anterior consta de una rueda con forma similar a un bal´n de rugby lo cual o lo hace diferente a dise˜os previos. Esta rueda ayuda a guardar la estabilidad al avanzar n en gran medida. La otra caracter´ ıstica importante es que el cuerpo del robot est´ separado a en una parte superior y una parte inferior para poder guardar una mayor estabilidad. La uni´n rotativa entre la parte superior y la parte inferior del cuerpo tiene un actuador para o estabilizar el balanceo y para dirigir el cuerpo. Otro de los robots pertenecientes a la familia de los Yamabico, Figura 1.3, es el Yamabico Kurara que pertenece a una serie de plataformas correspondientes a robots m´viles o aut´nomos cuyo objetivo es poder realizar investigaciones experimentales, las cuales fueron o desarrolladas por varios investigadores entre los cuales destacan Yunsu Ha y Shin’ichi Yuta quienes presentaron un art´ ıculo de investigaci´n [2] donde se discute el control de trayectoria o para un robot m´vil con ruedas tipo p´ndulo invertido. El robot en estas consideraciones o e posee dos ruedas motrices independientes en el mismo eje, un sensor giroscopio para poder

3

Figura 1.2: Monociclo de Nakajima , Tsubouchi , Yuta , Koyanagi

conocer la inclinaci´n de la velocidad angular del cuerpo y adem´s encoders rotatorios para o a saber la rotaci´n de las ruedas. El prop´sito de este trabajo se enfoca en realizar una naveo o gaci´n aut´noma del robot en dos planos dimensionales mientras se equilibra por su propio o o cuerpo (guarda balance). El algoritmo de control utilizado para en esta investigaci´n consta o de tres partes: el equilibrio y la velocidad de control, el control de rumbo, parte de control de trayectoria. As´ Yunsun Ha y Shin’ichi Yuta propusieron el algoritmo para seguimiento de trayectoria ı de un robot m´vil con ruedas tipo p´ndulo invertido, el cual puede ser implementado con o e velocidades relativamente elevadas en un plano de dos dimensiones [2].

Figura 1.3: Yamabico Kurara

4

´ 1. INTRODUCCION

En 1994 fue presentado en Jap´n un Robot de dos ruedas con un control de p´ndulo o e invertido. El desarrollo de este nuevo prototipo elimin´ la necesidad de una tercera rueda o como se ten´ dise˜ado en prototipos previos a este. Los mismos desarrolladores dieron la ıa n introducci´n a un robot que se balancea sobre una rueda. La rueda presentada era un elipsoide o alargado como un bal´n de rugby y era dirigido o manejado con un eje a lo largo del eje mayor. o El cuerpo del robot ten´ una bisagra arriba y perpendicular a este eje (el eje mayor). El ıa balance del robot en las direcciones enfrente ´ atr´s estaba dado por la aplicaci´n de un o a o torque en la rueda de la manera en que era aplicado al dise˜o que implicaba el uso de las dos n ruedas y el balance de lado a lado se proporcionaba mediante la inclinaci´n del cuerpo a la o izquierda o a la derecha mediante el actuar de la bisagra. Recientemente, el equilibrio de las sillas de ruedas y el equilibrio con el uso de 2 ruedas como los “Segways personal mobility device” han sido introducidos. Las plataformas rob´ticas o 2-whell RMP basadas en el Segway son el tema de muchas investigaciones recientes en el ´rea a de la locomoci´n rob´tica. o o Bajo esta investigaci´n del robot japon´s en 1994, T. B. Lauwers, G. A. Kantor, y R. L. o e Hollis presentaron un art´ ıculo que describe claramente la din´mica estable de un robot m´vil a o aut´nomo sobre una ”bola tipo pelota de mouse”llamado BALLBOT [7]. o El prototipo BALLBOT es una plataforma de investigaci´n reconfigurable desarrollada o y construida para validar la noci´n de los robots din´micamente estables descansando sobre o a una rueda esf´rica. e Dicho sistema fue dise˜ado para satisfacer dos metas: aproximar un robot a las dimenn siones que posee un ser humano (sobre todo la altura) y crear una plataforma que sea f´cil a de reconfigurar para investigaciones presentes o futuras con respecto a esfuerzos. El cuerpo del sistema Ballbot original es un cilindro de 1.5 metro de alto con un di´metro a de 400 mm y un peso de 45 Kg; posee tres canales de aluminio unidos por cubiertas circulares que definen la estructura del cuerpo. Adem´s posee tres patas retr´ctiles para poder descansar a a al robot cuando no est´ en uso, es decir, cuando se encuentra en el modo apagado. a Algunos otros componentes como computadora, fuente de poder, y sensores est´n mona tados en las cubiertas, que permiten a estos elementos colocarse en distintas posiciones a lo largo del eje de Ballbot sin perder estabilidad. El mecanismo de operaci´n de la bola sobre la que descansa es esencialmente el inverso o de la operaci´n de una bola o pelota de mouse: la conducci´n de la bola de mouse provee una o o entrada hacia la computadora a trav´s del movimiento de los rodillos, ahora, en el sistema e Ballbot, los rodillos de arrastre de la bola producen el movimiento de esta. Cabe mencionar que el di´metro de los dise˜os de bola que se tienen son: 200 mm de acero hidroformado y a n un segundo dise˜o de 190.5 de aluminio. n

5

Figura 1.4: Sistema BALLBOT

De este ultimo dise˜o se obtiene la idea del desarrollo de un robot BALLBOT bajo la ´ n plataforma de LEGO MINDSTORMS NXT que presenta ventajas como la facilidad en la construcci´n, manejo y adem´s permite reducir el espacio que ocupa un sistema BALLBOT o a real pero sin perder el objetivo de estudio de este tipo de robots m´viles aut´nomos. o o LEGO Mindstorms es un kit de rob´tica educativa desarrollado por LEGO. En concreto, o ´ el modelo NXT es el sucesor de otro m´s antiguo, el RCX. Este, que fue el primer modea lo comercializado, naci´ de los acuerdos de colaboraci´n entre LEGO y el MIT (Instituto o o Tecnol´gico de Massachusetts). Su ´xito hizo que r´pidamente se extendiera su uso a gran o e a cantidad de aficionados a la rob´tica. o Cabe mencionar que esta nueva plataforma ha tenido un gran impacto como herramienta educativa dentro de la docencia universitaria en otros pa´ ıses, por ejemplo en Espa˜a, m´s n a espec´ ıficamente en la Universidad de Alcal´ en las asignaturas de Sistema Empotrados, Teca nolog´ de la Informaci´n y las Comunicaciones. Este fen´meno se debe a la flexibilidad y ıas o o capacidad del NXT que lo han llevado a ser aceptado como herramienta de docencia a tener en cuenta.

6

´ 1. INTRODUCCION

Figura 1.5: Bola tipo mouse sobre la cual descansa todo el sistema

Fue as´ como Yorihisa Yamamoto, en Abril del 2009, desarroll´ la idea a trav´s de las ı o e piezas de LEGO y el software de MATLAB para construir y programar un sistema Ballbot funcional y pr´ctico con el objetivo de discutir el modelado, linealizaci´n, estabilidad y control a o de un robot m´vil que presenta la din´mica del p´ndulo invertido. o a e

Figura 1.6: Sistema LEGO NXT BALLBOT

7

Esta primera versi´n del robot ofrece el uso de dos giroscopios para poder determinar o el grado de inclinaci´n del cuerpo del sistema en cada plano dimensional de movimiento o mediante la integraci´n de la velocidad angular, un sensor ultras´nico utilizado para poder o o evitar obst´culos que puedan perjudicar el equilibrio del robot, posee una pelota de pl´stico a a colocada y mantenida entre tres ruedas unidas a la parte inferior del robot. Dos de estas ruedas incluyen neum´ticos de goma las cuales est´n colocadas en los motores de DC, la a a tercera rueda es de movimiento libre. As´ mediante el control de los motores de DC, usando la t´cnica de modulaci´n por ı, e o ancho de pulso (PWM por sus siglas en ingl´s), se puede controlar el sistema ballbot para e que mantenga el equilibrio.

8

´ 1. INTRODUCCION

ESTADO DEL ARTE El dise˜o de robots m´viles ha mejorado con el paso del tiempo y con el avance en el n o ´mbito de la tecnolog´ y de la investigaci´n con respecto a la estabilidad que presentan y la a ıa o facilidad para interactuar con las personas o en el ´mbito de la industria. a Por ejemplo, T. Kawamura y K.Yamafuji propusieron un algoritmo de control motriz con un veh´ ıculo similar al robot YAMABICO KURARA (un robot m´vil con ruedas tipo o p´ndulo invertido) [8]. Ellos asumieron que el robot ten´ un sensor para detectar el ´ngulo e ıa a de postura entre la superficie y el cuerpo. Esta investigaci´n arroj´ buenos resultados en o o cuanto al equilibrio que guardaba el robot pero no pudieron hacer que se moviera en un plano de dos dimensiones debido a que sus dos ruedas eran dirigidas o manejadas por un solo motor. Bas´ndose en esta investigaci´n, O. Matsumoto, S. Kajita and K. tani presentaron una a o estimaci´n de un algoritmo de control de observadores adaptables de postura. Este algoritmo o no considera el movimiento en dos planos dimensionales [9]. Estas dos investigaciones no presentaban un robot aut´nomo ya que los robots deb´ de estar conectados mediante o ıan cables a respectivas computadoras. E. Koyanagi propuso un control aut´nomo de trayectoria en dos planos dimensionales o para este tipo de robot m´vil con ruedas tipo p´ndulo invertido (Yamabico Kurara), medio e ante la propuesta de otro algoritmo, pero este algoritmo solo puede ser implementado para movimientos lentos del robot [10]. As´ Yunsun Ha y Shin’ichi Yuta propusieron el algoritmo para seguimiento de trayectoria ı de un robot m´vil con ruedas tipo p´ndulo invertido (Yamabico Kurara), el cual puede ser o e implementado con velocidades relativamente elevadas en un plano de dos dimensiones [2]. Este tipo de investigaciones gener´ una motivaci´n para poder configurar un control para o o un veh´ ıculo que solo tuviera una rueda motriz, como el robot BALLBOT. La mayor´ de los robots multiruedas que son estables y que son dise˜ados con una altura ıa n lo suficientemente altos para interactuar con seres humanos, deben tener un bajo centro de gravedad, bases amplias para poder tener un soporte y aceleraciones muy bajas para evitar que caigan, caracter´ ısticas que pueden considerarse como limitantes dependiendo de la aplicaci´n. o Lo anterior sirve como experiencia para que al dise˜ar un robot que presenta una sola n rueda se eviten todas esas limitaciones: aceleraci´n, peso, altura y con ello poder establecer o un balance din´mico sobre una rueda. A diferencia de plataformas que se balancean sobre dos a ruedas las cuales pueden moverse solo en algunas direcciones, un robot con una sola rueda no presenta ninguna limitante con respecto al movimiento, es libre de moverse en cualquier direcci´n. o Algo significativo pero que a veces se pasa por alto es que los robots est´ticamente estables a de ruedas m´viles pueden f´cilmente llegar a ser din´micamente inestables, es decir, si el o a a

9

centro de gravedad es demasiado elevado o el robot acelera o desacelera r´pidamente, o si se a encuentra en una superficie con pendiente, la m´quina o robot puede caer f´cilmente. a a Si se pretende hacer o crear un robot lo suficientemente alto para interactuar con los humanos (que no es el caso de esta investigaci´n pero es importante conocer) se debe consido erar proporcionar una altura razonable para poder estabilizarlo y no limitarlo en funciones; adem´s el factor de que tan ancho ´ delgado debe ser el robot, juega tambi´n un papel a o e importante para poder interactuar con su entorno y no causar alguna colisi´n. o El r´pido desarrollo de robots como Xavier, Nursebot, Minerva, Romeo Y Julieta (nombres a como son conocidos e identificados m´s f´cilmente) hizo posible la reciente introducci´n de a a o la estandarizaci´n de las bases que pretende un robot comercial, de hecho fueron un gran o impulso para buscar el desarrollo de robots m´viles que fueran capaces de interactuar con las o personas. Existen algunos intentos de dise˜o de bases de robots que muestran la estabilidad n de robots de ruedas m´viles convencionales: “three-wheeled omnidirectional base capable of o omnidirectional motion”, “four-wheleed”. En la pr´ctica, para amenizar las dificultades de estos ejemplos, se incorpora alg´n tipo a u de suspensi´n para asegurar, en el caso de un “four-wheeled”, que todas las ruedas o algunas o est´n en contacto total con la superficie. Estos robots m´viles presentan bases que son relae o tivamente amplias con respecto a las dimensiones que el medio ambiente presenta; tambi´n e presentan centros de gravedad que son lo m´s bajo posible (decreciendo la altura operan lo a suficientemente despacio para evitar volcar). Es v´lido realizar ajustes para cubrir ciertos prop´sitos, pero todas estas consideraciones a o no son tan importantes comparado con problemas cl´sicos reales como la percepci´n, la a o navegaci´n, la interacci´n y estabilidad. Comparados con estos problemas los detalles antes o o mencionados sobre las dificultades que presentan los robots m´viles son meros detalles ingeo nieriles. Para que un robot sea confiable, ´gil y capaz de realizar movimientos estables y de manera a eficaz debe presentar ciertas caracter´ ısticas, por ejemplo: ser lo suficientemente delgados para f´cilmente maniobrar en ambientes desordenados y poblados y ser capaz de no ceder, no a volcar cuando el entorno lo perturba. Estas suposiciones para el tipo de m´quinas inteligentes a mencionadas solo pueden ser logradas mediante la estabilidad din´mica. Estas ideas siguen los a modelos de seres humanos y otros animales los cuales son esencialmente estables de manera din´mica. a Existen pocas investigaciones previas con respecto al equilibrio de robots m´viles aut´nomos o o en donde el cuerpo de dichos robots fuera soportado por una simple rueda esf´rica omnidie reccional, la m´s significativa [7], en donde se propone el modelo del robot BALLBOT para a su estudio. En este modelo, la rueda ´ pelota sobre la cual se posiciona el robot BALLBOT o es una esfera r´ ıgida, el cuerpo es r´ ıgido, y las entradas de control son pares (torques) aplicados entre la bola y el cuerpo. No hay deslizamiento entre la rueda y el suelo. Adem´s, a

10

´ 1. INTRODUCCION

se supone que el movimiento en el plano sagital y el plano coronal mediana es desacoplado y que las ecuaciones de movimiento en estos dos planos son id´nticos. Como resultado, se e dise˜a un controlador para el sistema completo en 3D mediante el dise˜o de controladores n n independientes para los dos sistemas planos separados e id´nticos. e Con respecto a las t´cnicas de control empleadas para la estabilizaci´n de este tipo de e o sistemas, una importante es la que se presenta Yorihisa Yamamoto [19]. Aqu´ se presenta un ı, Regulador Cuadr´tico Lineal y as´ mediante una matriz de ganancias de realimentaci´n de a ı o estados, obtenida a trav´s de la t´cnica de control del Regulador Cuadr´tico Lineal (LQR), e e a complementada con un Integrador en el lazo cerrado, es suficiente para poder equilibrar el robot NXT BALLBOT a lo largo de la superficie donde es colocado. Dicha t´cnica de e control es conocida como Servo Control de manera que una salida del sistema proporcione el comportamiento esperado. El buen funcionamiento de la t´cnica de control, empleada en este nuevo prototipo de e robot BALLBOT, es adecuado, cumple con el objetivo de equilibrar al sistema; sin embargo el contenido del an´lisis del sistema tanto en la parte del modelado as´ como del dise˜o del a ı n controlador es b´sico y circunstancial, debido a que la t´cnica de control es basada a trav´s a e e de la realizaci´n de muchos experimentos hasta poder obtener los par´metro adecuados que o a pudieran cumplir con el objetivo,es decir, sin un an´lisis adecuado del sistema para poder a determinar si la t´cnica de control es adecuada. e A pesar del gran contenido dentro de la teor´ de control que poseen los sistemas de ıa robots m´viles que asemejan al funcionamiento del p´ndulo invertido, el an´lisis matem´tico o e a a e ingenieril del robot NXT BALLBOT bajo la plataforma de LEGO MINDSTORMS y publicado en el art´ ıculo de Yorihisa Yamamoto, no es del todo claro, carece de formalidad y profundidad, tanto en el modelado del sistema como en la t´cnica de control utilizada. e En esta tesis, el robot BALLBOT es construido con piezas contenidas en el Kit de LEGO MINDSTORMS, como motores, sensores, la pelota y el ladrillo inteligente. El robot est´ en a comunicaci´n con una PC que tiene instalado MATLAB, mediante el cual es posible modelar, o simular y generar diferentes esquemas de control. El objetivo es analizar los aspectos del modelado del sistema, de su din´mica, as´ como de a ı la teor´ de control utilizada y proponer una nueva t´cnica de control para el sistema NXT ıa e BALLBOT. El nuevo esquema de control se dise˜´ usando la t´cnica de ubicaci´n de polos, y se no e o demuestra con simulaciones y experimentos que el objetivo de mantener el equilibrio sobre la pelota presenta comportamiento muy aceptable, porque el esfuerzo de control es bajo, las oscilaciones son menores y el tiempo de asentamiento es peque˜o. n Este nuevo esquema de robot m´vil Ballbot, que por su arquitectura es de f´cil manejo y o a que a trav´s del an´lisis de la ingenier´ de control es capaz de aportar material de estudio, e a ıa

11

desarrollo y de implementaci´n de forma manejable y adecuada, es mucho m´s accesible o a estructural y econon´micamente que el sistema real desarrollado por T. B. Lauwers, G. A. o Kantor y R. L. Hollis. Una contribuci´n adicional es que el desarrollo de este sistema es base para conformar o material educativo a impartir en las asignaturas de la Facultad de Ingenier´ ıa,UNAM y que complementen de mejor manera los aspectos te´ricos en el ´rea de Control. o a

Cap´ ıtulo 2 Modelado del Sistema

En este cap´ ıtulo se proporciona el an´lisis matem´tico del modelo del sistema, as´ se a a ı plantean las ecuaciones que rigen la din´mica del robot en los planos coordenados correspona dientes. Mediante el uso de herramientas del an´lisis de sistemas es posible linealizar las ecuaciones a de la din´mica del sistema respecto a un punto de equilibrio y as´ derivar las ecuaciones de a ı estado del sistema linealizado. El an´lisis de estabilidad en lazo abierto y controlabilidad del a sistema linealizado son presentados.

2.1.

Sistema BALLBOT

El NXT BALLBOT tiene dos servo motores que equilibran al robot sobre un pelota en las direcciones X y Y del sistema de coordenadas y posee dos giroscopios, HITECHNIC GYRO SENSORS, para detectar la velocidad angular de la inclinaci´n del cuerpo en las direcciones o planteadas. La teor´ de control est´ basada en el modelo NXTway-GS y es desarrollada ıa a mediante el uso de las herrmaientas de The Math Works y Simulink (Embedded Coder Robot NXT). A diferencia del sistema original, este nuevo modelo no posee la altura ni el peso del modelo desarrollado por la Universidad de Carnegie Mellon , en Pittsburgh, Pennsylvania, pero el enfoque de estudio en el ´rea de la Ingenier´ de Control de Robots M´viles no se a ıa o ve limitado debido a estas caracter´ ısticas. Este nuevo robot basado en el modelo BALLBOT original es excelente herramienta para poder mostrar caracter´ ısticas importantes de la teor´ ıa del Control Moderno.

14

2. MODELADO DEL SISTEMA

2.2.

Descripci´n de los elementos del Sistema o

El modelo del sistema est´ basado en el modelo del p´ndulo invertido sobre una pelota a e esf´rica, se asume que el movimiento se realiza en el plano XZ y en el plano YZ los cuales e est´n desacoplados y las ecuaciones de movimiento en esos dos planos son id´nticas. Bajo esta a e suposici´n el sistema NXT BALLBOT puede ser considerado como dos partes separadas e o id´nticas para el modelo del p´ndulo invertido sobre la pelota esf´rica mostrado en la Figura e e e 2.1.

Figura 2.1: P´ndulo Invertido e

´ 2.2. DESCRIPCION DE LOS ELEMENTOS DEL SISTEMA

15

El diagrama de cuerpo libre de sistema en el plano XZ se presenta en la Figura 2.2, en donde se observa que:

Figura 2.2: Sistema de Coordenadas para el plano XZ

ψ : angulo de inclinaci´n del cuerpo con respecto a la vertical ´ o θ : angulo de la pelota esf erica con respecto a la vertical ´ ´ θs : angulo de la pelota esf erica accionada por el motor DC ´ ´

16

2. MODELADO DEL SISTEMA

Los variables del sistema son presentados a continuaci´n o

g= Ms = Rs = Js = Mw = Rw = Lw = Jw = Mb = W = D= L= Jψ = Jm = Rm = Kb = Kt = fm = ff =

9,81 [m/seg 2 ] = Aceleraci´n de la Gravedad o 0,013 [kg] = Peso de la pelota esf´rica e 0,026 [m] = Radio de la pelota esf´rica e 2 2 2Ms Rs /3 [kgm ] = Momento de Inercia de la pelota esf´rica e 0,015 [kg] = Peso de la llanta de goma incorporada al motor DC 0,021 [m] = Radio de la llanta de goma incorporada al motor DC 0,022 [m] = Altura de la llanta de goma incorporada al motor DC Mw L2 /2 [kgm2 ] = Momento de inercia de la llanta de goma incorporada al motor DC w 0,682 [kg] = Peso del Cuerpo 0,135 [m] = Ancho del cuerpo 0,135 [m] = Profundidad del cuerpo 0,17 [m] = Distancia entre el centro del cuerpo y el centro de la pelota esf´rica e Mb L2 /3 [kgm2 ] = Momento de Inercia del grado de inclinaci´n del cuerpo o 1 ∗ 10−5 [kgm2 ] = Momento de Inercia del motor de DC 6,69 [Ω] = Resistencia del motor de DC 0,468 [V sec/rad] = Constante del motor DC EMF 0,317 [N m/A] = Constante de torque del motor de DC 0,0022 = Coeficiente de fricci´n entre el cuerpo y el motor de DC o 0 = Coeficiente de fricci´n entre la pelota esf´rica y la superficie o e

Cabe resaltar que se asignaron los valores que parec´ m´s apropiados para Jm , fm , fs ıan a ya que es dif´ realizar una medici´n real de dichos valores. ıcil o Del sistema de coordenadas presentado y de los par´metros establecidos se tiene que: a Rs = R θ = ψ + θs (2.1) (2.2)

Los motores de DC utilizados por el sistema pueden manejar la pelota esf´rica a trav´s e e de unas llantas de goma. El mecanismo se presenta en la Figura 2.3, donde θm se refiere al ´ngulo del motor de DC. Se asume que no hay deslizamiento entre la pelota esf´rica y la a e llanta de goma y adem´s se tiene que a

Rw θm = Rs θs

(2.3)

´ 2.3. METODO DE MODELADO POR EULER-LAGRANGE

17

Llanta de goma colocada en el motor DC Rueda Esférica (pelota)

Figura 2.3: Pelota Esf´rica y Llanta de goma colocada en el motor DC e

2.3.

M´todo de Modelado por Euler-Lagrange e

Las ecuaciones de movimiento del sistema se derivan mediante el m´todo Euler-Lagrange e usando las coordenadas establecidas del sistema de la Figura 2.2. (xs , zs ) y (xb , xb ) As´ para el instante cuando t = 0 (tiempo inicial del sistema) se tiene que θ = 0 (cuando ı el robot se encuentra colocado verticalmente y sin movimiento) las coordenadas mostradas en la Figura 2.2 quedan establecidas de la siguiente manera:

(xs , zs ) = (Rs θ, zs ) ˙ (xs , z˙s ) = (Rs θ, 0) ˙ (xb , zb ) = (χ + L sin ψ, z + L cos ψ) ˙ ˙ ˙ (xb , z˙b ) = (Rs θ + Lψ cos ψ, −Lψ sin ψ)) ˙

(2.4) (2.5) (2.6) (2.7)

En la mec´nica cl´sica la funci´n Lagrangiana de un sistema conservativo, denotada a a o mediante Γ, es simplemente la diferencia entre su energ´ cin´tica total (T ) y su energ´ ıa e ıa potencial total (V ). Γ=T −V (2.8)

Del sistema se establece que la energ´ cin´tica total est´ constituida por la energ´ cin´tica ıa e a ıa e traslacional (T1 ) y la energ´ cin´tica rotacional (T2 ), las cuales quedan definidas como: ıa e

18

2. MODELADO DEL SISTEMA

T1 =

1 1 Ms (x2 + zs ) + Mb (x2 + zb ) ˙ s ˙2 ˙ b ˙2 2 2

(2.9)

T2 =

1 1 1 1 ˙ ˙2 ˙2 Js θ˙2 + Jψ ψ 2 + Jw θm + Jm θm 2 2 2 2

(2.10)

De la ecuaci´n (2.3) se tiene que o θm = Y utilizando la ecuaci´n (2.2) o θs = θ − ψ Por lo que sustituyendo se tiene que
Rs Rw

θs

θm = ˙ θm ˙2 θm

Rs (θ − ψ) Rw Rs ˙ ˙ = (θ − ψ) Rw 2 Rs ˙ 2 ˙ = (θ − ψ 2 ) 2 Rw

(2.11)

Sustituyendo la ecuaci´n (2.11) en (2.10), finalmente se obtiene o T2 =
2 1 1 1 Rs ˙ ˙ ˙ Js θ˙2 + Jψ ψ 2 + (Jm + Jw ) 2 (θ − ψ)2 2 2 2 Rw

(2.12)

La energ´ potencial total del sistema est´ definida como ıa a U = Ms gzs + Mb gzb Por lo que el Lagrangiano queda expresado de la siguiente forma Γ = T1 + T2 − U (2.14) (2.13)

Se definen las coordenadas generalizadas de posici´n qj , las cuales pueden ser una diso tancia, ´ngulo,etc., como θ y ψ, quedando las ecuaciones de Euler-Lagrange de la siguiente a manera

´ 2.3. METODO DE MODELADO POR EULER-LAGRANGE ( ( ) − ) −

19

d dt d dt

∂Γ ˙ ∂θ

∂Γ = Fθ ∂θ ∂Γ = Fψ ∂ψ

(2.15)

∂Γ ˙ ∂ψ

(2.16)

Para poder evaluar la ecuaci´n del Lagrangiano (2.8) en las ecuaciones anteriores, primero o se establecen en t´rminos de las coordenadas generalizadas (θ y ψ) las ecuaciones que confore man dicho Lagrangiano (T1 , T2 y U ) a trav´s de las coordenadas establecidas para el instante e t = 0. Se define T1 en t´rminos de las coordenadas generalizadas e 1 1 2 ˙ ˙ ˙ Ms Rs θ˙2 + Mb [(Rs θ + Lψ cos ψ)2 + (−Lψ sin ψ)2 ] 2 2

T1 =

Desarrollando y agrupando t´rminos e

T1 = T1

1 2 Ms Rs θ˙2 + 2 1 2 Ms Rs θ˙2 + = 2

1 2 ˙ ˙˙ ˙ Mb (Rs θ˙2 + 2LRs θψ cos ψ + L2 ψ 2 cos ψ 2 + L2 ψ 2 sin ψ 2 ) 2 1 2 ˙˙ ˙ Mb (Rs θ˙2 + 2LRs θψ cos ψ + L2 ψ 2 (cos ψ 2 + sin ψ 2 )) 2

Finalmente T1 = 1 1 2 2 ˙ ˙˙ Ms Rs θ˙2 + Mb (Rs θ˙2 + 2LRs θψ cos ψ + L2 ψ 2 ) 2 2 (2.17)

La energ´ cin´tica rotacional T2 est´ dada en t´rminos de las coordenadas generalizadas, ıa e a e pero al desarrollar y agrupar t´rminos se tiene que e T2 =
2 1 1 Rs ˙ 1 ˙ ˙˙ ˙ Js θ˙2 + Jψ ψ 2 + (Jm + Jw ) 2 (θ2 − 2ψ θ + ψ 2 ) 2 2 2 Rw

(2.18)

Se define U en t´rminos de las coordenadas generalizadas e U = Ms gzs + Mb g(Z + L cos ψ) (2.19)

20

2. MODELADO DEL SISTEMA

Evaluando el Lagrangiano Γ = T1 + T2 − U conformado por la ecuaciones (2.17), (2.18), (2.19) en la ecuaci´n de Euler-Lagrange (2.15) o

∂Γ ∂θ ∂Γ ˙ ∂θ d ∂Γ ( ) ˙ dt ∂ θ

= = =

0
2˙ M s Rs θ

(2.20) +
2˙ M b Rs θ 2 ˙ ˙ cos ψ + Js θ + Rs (Jm + Jw )(θ − ψ) (2.21) ˙ ˙ + M b Rs L ψ 2 Rw

2¨ ¨ ˙ ˙ Rs θ(Ms + Mb ) + Mb Rs Lψ cos ψ + Mb Rs Lψ(− sin ψ)ψ + . . .

¨ ¨ ¨ . . . Js θ + K 2 (Jm + Jw )(θ − ψ) donde K =
Rs Rw

(2.22)

Agrupando t´rminos, la ecuaci´n de Euler-Lagrange (2.15) se define como e o ( ) −

d dt

∂Γ ˙ ∂θ

∂Γ = Fθ ∂θ

2 ¨ [(Ms + Mb )Rs + K2 (Jm + Jw ) + Js ]θ + . . . ¨ ˙ . . . + [Mb Rs L cos ψ − K 2 (Jw + Jm )]ψ − Mb Rs Lψ 2 cos ψ = Fθ

(2.23)

Resolviendo de igual manera para la ecuaci´n de Euler-Lagrange (2.16) o

∂Γ 1 ˙˙ = Mb (−2Rs Lθψ sin ψ) + Mb gL sin ψ ∂ψ 2 ˙˙ = −Mb Rs Lθψ sin ψ + Mb gL sin ψ
2 ∂Γ 1 ˙ 1 Rs (Jm + Jw )(2ψ − 2θ) ˙ ˙ ˙ ˙ Mb [2L2 ψ + 2LRs θ cos ψ] + Jψ ψ + = 2 ˙ 2 2 Rw ∂ψ ˙ ˙ ˙ ˙ ˙ = Mb (L2 ψ + LRs θ cos ψ) + Jψ ψ + K 2 (Jm + Jw )(ψ − θ)

(2.24)

(2.25)

d ∂Γ ¨ ¨ ¨ ˙˙ ¨ ¨ ( ) = Mb (L2 ψ + LRs θ cos ψ − LRs θψ sin ψ) + Jψ ψ + K 2 (Jm + Jw )(ψ − θ)(2.26) ˙ dt ∂ ψ

´ 2.3. METODO DE MODELADO POR EULER-LAGRANGE
Rs Rw

21

donde K =

Agrupando t´rminos, la ecuaci´n de Euler-Lagrange (2.16) se define como e o ( ) −

d dt

∂Γ ˙ ∂ψ

∂Γ = Fψ ∂ψ

¨ [LMb Rs cos ψ − K 2 (Jm + Jw )]θ + . . . ¨ . . . + [Mb L2 + Jψ + K 2 (Jm + Jw )]ψ − Mb gL sin ψ = Fψ As´ las ecuaciones que describen la din´mica del sistema se establecen como ı a

(2.27)

2 ¨ [(Ms + Mb )Rs + K2 (Jm + Jw ) + Js ]θ + · · · ¨ ˙ +[Mb Rs L cos ψ − K 2 (Jw + Jm )]ψ − Mb Rs Lψ 2 cos ψ = Fθ

(2.28)

¨ [LMb Rs cos ψ − K 2 (Jm + Jw )]θ + · · · ¨ +[Mb L2 + Jψ + K 2 (Jm + Jw )]ψ − Mb gL sin ψ = Fψ

(2.29)

Considerando el torque y la fricci´n viscosa de los motores de DC, las fuerzas generalizadas o son definidas de la siguiente manera ˙ ˙ Fθ = Kt i − fm θm − fs θ ˙ Fψ = −Kt i + fm θm (2.30)

(2.31)

˙ ˙ donde i es la corriente y θ˙ = K(θ − ψ) es la velocidad angular de los motores de DC. m No es posible utilizar la corriente para controlar el motor de DC porque una de las caracter´ ıstica de estos motores es que se regulan bajo un control PWM, es decir, a trav´s del e voltaje. Por lo tanto, a trav´s de la ecuaci´n que modela el comportamiento del motor de DC e o es posible obtener una relaci´n matem´tica entre la corriente i y el voltaje v. Despreciando o a la fricci´n interna del motor, la ecuaci´n del motor queda definida como o o

22

2. MODELADO DEL SISTEMA

˙ ˙ Lm i = v − Kb θm − Rm i

(2.32)

Considerando que la inductancia del motor es despreciable, la corriente del motor en t´rminos del voltaje de la ecuaci´n (2.32) queda definida como e o ˙ ˙ v − KKb (θ − ψ) Rm

i=

(2.33)

A partir de la ecuaci´n (2.33) y sustituyendo en (2.30) y (2.31) las fuerzas generalizadas o quedan expresadas en t´rminos del voltaje como e ˙ ˙ Fθ = αv − (β + fs )θ + β ψ ˙ ˙ Fψ = −αv + β θ − β ψ donde α=
Kt Rm

(2.34)

(2.35)

K β = K( Kt m b + fm ) R

fm = coeficiente de fricci´n entre el cuerpo y el motor DC. o fs = coeficiente de fricci´n entre la esfera y la superficie. o Kt = constante de torque del motor. i = corriente del motor de DC. θ˙ = velocidad angular del motor de DC. m

Como puede notarse , una vez definidos todos los par´metros, las ecuaciones de movimiena to del sistema NXT BALLBOT , ecuaciones (2.28) y (2.29), no son lineales ya que las variables son argumentos de funciones trigonom´tricas o est´n elevadas al cuadrado. El paso siguiente e a es obtener una representaci´n de estas ecuaciones en el espacio de estados. o

´ ´ 2.4. LINEALIZACION DEL MODELO MATEMATICO. ESPACIO DE ESTADOS

23

2.4.

Linealizaci´n del modelo matem´tico. o a Espacio de Estados

Un sistema de ´ ındole moderno y complejo posee muchas entradas y muchas salidas que se relacionan entre s´ en una forma complicada. Para analizar un sistema de este tipo, es esencial ı reducir la complejidad de las expresiones matem´ticas, adem´s de recurrir a una computadora a a que realice gran parte de los tediosos c´lculos necesarios en el an´lisis. El enfoque en el espacio a a de estados para los an´lisis de sistemas es el m´s conveniente desde este punto de vista. a a En tanto que la teor´ de control convencional se basa en la relaci´n entrada-salida, ıa o o funci´n de transferencia, la teor´ de control moderna se basa en la descripci´n de las o ıa o ecuaciones de un sistema en t´rminos de n ecuaciones diferenciales de primer orden, que e se combinan en una ecuaci´n diferencial matricial de primer orden. El uso de la notaci´n o o matricial simplifica enormemente la representaci´n matem´tica de los sistemas de ecuaciones. o a El incremento en la cantidad de variables de estado, de entradas o de salidas no aumenta la complejidad de las ecuaciones. Para poder obtener las ecuaciones de estado primero se debe linealizar al sistema alrededor de un punto de equilibrio haciendo uso de las ecuaciones (2.28) y (2.29), que son ecuaciones que describen el comportamiento del sistema y de las cuales se puede observar que se trata claramente de un sistema no lineal. Analizando los puntos de equilibrio del sistema es posible observar que el sistema est´ en a equilibrio cuando ψ = 0 (totalmente vertical) y cuando ψ = π/2 (totalmente horizontal), recordando que ψ es el ´ngulo de inclinaci´n del cuerpo del sistema. a o Una vez realizado este an´lisis es posible linealizar el sistema alrededor del punto de a equilibrio ψ = 0, que es el punto de inter´s, y as´ obtener las ecuaciones de estado. e ı Si se considera el l´ ımite cuando ψ → 0 entonces se tiene que (sin ψ → ψ, cos ψ → 1) y ˙ despreciando los t´rminos de segundo orden como ψ 2 , las ecuaciones que rigen el compore tamiento del sistema (2.28) y (2.29) quedan linealizadas alrededor del punto de equilibrio como
2 ¨ ¨ [(Ms + Mb )Rs + K 2 Jm + Js ]θ + [Mb Rs L − K 2 Jm ]ψ = Fθ

(2.36)

¨ ¨ [LMb Rs − K 2 Jm ]θ + [Mb L2 + Jψ + K 2 Jm ]ψ − Mb gLψ = Fψ

(2.37)

Una vez linealizado el sistema es posible expresar estas ecuaciones de la siguiente manera

24

2. MODELADO DEL SISTEMA

[ E donde

¨ θ ¨ ψ

] +F

[

˙ θ ˙ ψ

] +G

[

θ ψ

] = Hv (2.38)

E= Matriz de Inercia F= Matriz de Coriolis y Fuerzas centr´ ıfugas G= Matriz de Energ´ Potencial ıa H= Matriz de Torque de Entrada

quedando definidas de la siguiente manera
2 (Mb + Ms )Rs + Js + K 2 Jm Mb LRs − K 2 Jm E = Mb LRs − K 2 Jm Mb L2 + Jψ + K 2 Jm ] [ β + fs −β F = −β β [ ] 0 0 G = 0 −Mb gL ] [ α H = −α

[

]

Considerando al vector x como el vector de estados y u como la entrada. ˙ ˙ x = [ θ , ψ , θ ,ψ ] , u=v (2.39)

Las ecuaciones de estado del sistema se derivan a partir de la ecuaci´n (2.38), o

x = Ax + Bu ˙ y = Cx + Du

(2.40)

´ ´ 2.4. LINEALIZACION DEL MODELO MATEMATICO. ESPACIO DE ESTADOS

25

0 0  0 0 A =   0 A(3, 2) 0 A(4, 2)  1 0 0 0  0 1 0 0 C =   0 0 1 0 0 0 0 1

  1 0 0   0 0 1  , B =   B(3) A(3, 3) A(3, 4)  A(4, 3) A(4, 4) B(4)    0   0  , D =     0  0

   

Para poder calcular los elementos de las matrices se despejan, de la ecuaci´n (2.38), los o estados correspondientes a cada elemento.

[ E [ [ [ [ [

¨ θ ¨ ψ ¨ θ ¨ ψ ¨ θ ¨ ψ ¨ θ ¨ ψ ¨ θ ¨ ψ ¨ θ ¨ ψ

] = Hv − F ] = E ] ] ] ]
−1

[

˙ θ ˙ ψ

] −G [ ˙ θ ˙ ψ

[ ]

θ ψ

] [ ] ] [ F11 F12 F21 F22 ][ ˙ θ ˙ ψ ] ] [ ][ θ ψ ]]

[ Hv − F [ [ [ [

−G ][

θ ψ

1 = det(E) 1 = det(E) 1 = det(E) 1 = det(E)

E22 −E12 −E21 E11 E22 −E12 −E21 E11 E22 −E12 −E21 E11 E22 −E12 −E21 E11

G11 G12 Hv − − G21 G22 ][ [ ]] [ ˙ ˙ F11 θ + F12 ψ 0 Hv − ˙ ˙ − G22 ψ F21 θ + F22 ψ ][ [ ]] ˙ ˙ −F11 θ − F12 ψ Hv + ˙ ˙ −F21 θ − F22 ψ − G22 ψ ][ ] ˙ ˙ −F11 θ − F12 ψ + αv ˙ ˙ −F21 θ − F22 ψ + Mb gLψ − αv

(2.41)

¨ ¨ Agrupando t´rminos se obtienen dos ecuaciones , para x3 = θ y para x4 = ψ, y que son e ˙ ˙ justamente las ecuaciones en donde quedan planteados los t´rminos a determinar para cada e estado correspondiente involucrados en las matrices que componen las ecuaciones de estado. Los valores de A(3, 2) , A(3, 3) y A(3, 4) son t´rminos involucrados en la ecuaci´n (2.41) e o ¨ ˙ para θ y que corresponde a los factores que multiplican a los estados x2 = ψ, x3 = θ y ˙ x4 = ψ respectivamente.

26

2. MODELADO DEL SISTEMA

¨ θ =

1 ˙ ˙ [(E12 F21 − E22 F11 )θ + (E12 F22 − E22 F12 )ψ − . . . det(E) . . . − E12 Mb gLψ + (E22 + E12 )αv]

(2.42)

Los valores de A(4, 2) , A(4, 3) y A(4, 4) son t´rminos involucrados en la ecuaci´n (2.41) e o ¨ y que corresponde a los factores que multiplican a los estados x2 = ψ, x3 = θ y ˙ para ψ ˙ respectivamente. x4 = ψ 1 ˙ ˙ [(E21 F11 − E11 F21 )θ + (E21 F12 − E11 F22 )ψ + . . . det(E) . . . + E11 Mb gLψ − (E21 + E11 )αv]

¨ ψ =

(2.43)

Es as´ como se definen los elementos de las matrices que conforman las ecuaciones de ı estado.

A(3, 2) A(4, 2) A(3, 3) A(4, 3) A(3, 4) A(4, 4) B(3) B(4) det(E) donde E12 = E21

= = = = = = = = =

−Mb gLE12 /det(E) −Mb gLE11 /det(E) −[(β + fs )E22 + βE12 ]/det(E) [(β + fs )E12 + βE11 ]/det(E) β[E22 + E12 ]/det(E) −β[E11 + E12 ]/det(E) α[E22 + E12 ]/det(E) −α[E12 + E12 ]/det(E) 2 E11 E22 − E12

(2.44) (2.45) (2.46) (2.47) (2.48) (2.49) (2.50) (2.51) (2.52)

Cap´ ıtulo 3 Dise˜ o del Controlador n
En este cap´ ıtulo se describen dos esquemas de controladores que son aplicados al sistema NXT BALLBOT, uno de ellos es dise˜ando un Servo Controlador (PID) bajo el esquema n del regulador cuadr´tico lineal (LQR) y el otro realizando una Asignaci´n de Polos para un a o control por realimentaci´n de estados (feedback Control ) que cumpla con el objetivo de o mantener el equilibrio en la posici´n vertical del robot NXT BALLBOT sobre una pelota. o

3.1.

Objetivo de la Ley de Control

Para poder dise˜ar y configurar un controlador adecuado a un sistema es necesario conocer n ciertas caracter´ ısticas y poder as´ plantear un buen an´lisis para tener un resultado exitoso. ı a El primer an´lisis a considerar son las entradas y salidas que nos proporciona el sistema. a De las ecuaciones del espacio de estados (2.39) y (2.40), es claro observar que la entrada del sistema es un voltaje, pero que dicha se˜al es transformada a trav´s de una Modulaci´n Por n e o Ancho de Pulsos (PWM) para que los motores puedan responder al control calculado. Las salidas son dadas por los sensores del sistema, as´ el ´ngulo del motor de DC (θm ) y ı a ˙ la velocidad angular de la inclinaci´n del cuerpo del sistema (ψ) son las salidas correspono dientes proporcionadas por los motores y los giroscopios respectivamente. Es claro tener en mente que el objetivo del dise˜o del controlador es mantener el equilibrio n del robot sobre la pelota. Con este enfoque es necesario conocer el ´ngulo de inclinaci´n del a o cuerpo del robot (ψ) que proporciona informaci´n referente a la inclinaci´n del cuerpo del o o robot y poder mantener la estabilidad sobre la pelota. Si es posible medir la velocidad angular de la inclinaci´n del cuerpo se puede entonces o obtener el ´ngulo de inclinaci´n a trav´s de dos m´todos: a o e e

28

˜ 3. DISENO DEL CONTROLADOR

1. Obtener ψ mediante la integraci´n de la velocidad angular num´ricamente o e 2. Estimar ψ mediante un observador basado en la teor´ de control moderno ıa El primer m´todo para determinar el ´ngulo de inclinaci´n del cuerpo es utilizado para e a o dise˜ar un esquema de control y mantener as´ el equilibrio del robot sobre la pelota. n ı

3.2.

An´lisis de Estabilidad y Controlabilidad a

ESTABILIDAD Existen muchos enfoques para el an´lisis de la estabilidad de los sistemas de control a lineales e invariantes con el tiempo. Sin embargo, para los sistemas no lineales y/o los sistemas variantes con el tiempo, el an´lisis de estabilidad resulta m´s complicado. El an´lisis de a a a estabilidad de Lyapunov es un m´todo que se aplica para encontrar respuestas a las preguntas e sobre la estabilidad de puntos de equilibrio de los sistemas lineales y no lineales. Es f´cil comprender que el sistema NXT BALLBOT es un sistema no lineal y que la a posici´n de equilibrio, cuando ψ = 0 es no estable a simple vista, pero es necesario justificar o mediante un an´lisis de estabilidad que esto es cierto a pesar de que sea evidente. a ESTABILIDAD SISTEMA LINEAL ˙ ˙ Para el sistema linealizado alrededor del punto de equilibrio (θ = 0, ψ = 0, θ = 0, ψ = 0) una de las condiciones necesarias y suficientes para establecer la estabilidad asint´tica del o origen del sistema es que todos los valores caracter´ ısticos de la matriz A, matriz contenida en la ecuaci´n de estados (2.40), tengan parte real negativa o que los ceros del polinomio o caracter´ ıstico: |SI − A| = S n + a1 S n−1 + . . . + an−1 S + an tengan parte real negativa. (3.1)

´ 3.2. ANALISIS DE ESTABILIDAD Y CONTROLABILIDAD

29

Analizando los valores caracter´ ısticos de la matriz A de las ecuaciones en el espacio de estados para determinar la estabilidad del sistema se tiene  0  −241 8164   eig(A) =   6 1020  −5 6754 Uno de los valores caracter´ ısticos de la matriz A es positivo, raz´n suficiente para poder o afirmar, te´ricamente, que el sistema es inestable para el punto de equilibrio sobre el cual se o realiz´ la linealizaci´n del sistema. o o 

CONTROLABILIDAD Se dice que un sistema es controlable en el tiempo t0 si se puede llevar de cualquier estado inicial x(t0 ) a cualquier otro estado, mediante un vector de control sin restricciones, en un intervalo de tiempo finito. Kalman introdujo el concepto de controlabilidad, mismo que juega un papel importante en el dise˜o de los sistemas de control en el espacio de estados. De hecho, las condiciones n de controlabilidad y observabilidad determinan la existencia de una soluci´n completa para o un problema de dise˜o de un sistema de control y estimaci´n. Aunque la mayor parte de los n o sistemas f´ ısicos son controlables y observables, los modelos matem´ticos correspondientes tal a vez no posean la propiedad de controlabilidad y observabilidad. En este caso, es necesario conocer las condiciones bajo las cuales un sistema es controlable. Considerando las ecuaciones en tiempo continuo del sistema:

x = Ax + Bu ˙ y = Cx + Du

(3.2)

Se dice que el sistema descrito mediante la ecuaci´n anterior es de estado controlable en o t = t0 si es posible construir una se˜al de control sin restricciones que transfiera un estado n inicial a cualquier estado final en un intervalo de tiempo finito t0 ≤ t ≤ t1 . Si todos los estados son controlables, se dice que el sistema es de estado completamente controlable. Suponiendo que el estado final es el origen en el espacio de estados y que el tiempo inicial es cero, t0 = 0. La soluci´n de la ecuaci´n del espacio de estados es: o o ∫ x(t) = e x(0) +
0 At t

eA(t−τ ) Bu(τ ) dτ

(3.3)

30

˜ 3. DISENO DEL CONTROLADOR

Aplicando la definici´n de controlabilidad completa anterior se tiene o ∫ x(t1 ) = 0 = e o bien ∫ x(0) = −
0 t1 At1 t1

x(0) +
0

eA(t1 −τ ) Bu(τ ) dτ

(3.4)

e−Aτ Bu(τ ) dτ

(3.5)

Se tiene que eAτ se puede escribir de la siguiente manera
−Aτ n−1 ∑ k=0

e

=

αk Ak

(3.6)

Al sustituir eAτ en la ecuaci´n (3.5) o x(0) = −
n−1 ∑ k=0

∫ A B
0 k

t1

αk (τ )u(τ ) dτ

(3.7)

Definiendo ∫
0 t1

αk (τ )u(τ ) dτ = βk Sustituyendo la ecuaci´n (3.8) en (3.7) se tiene o x(0) = −
n−1 ∑ k=0

(3.8)

Ak Bβk  β0 β1 . . . βn−1     

(3.9)

  x(0) = −[ B AB . . . An−1 B ]  

(3.10)

Si el sistema es de estado completamente controlable, entonces, dado cualquier estado inicial x(0), la ecuaci´n (3.10) debe satisfacerse. Esto requiere que el rango de la matriz de o n × n, llamada matriz de controlabilidad,

´ 3.2. ANALISIS DE ESTABILIDAD Y CONTROLABILIDAD

31

[ B AB . . . An−1 B ] sea n.

(3.11)

A partir de este an´lisis, se establece del modo siguiente la condici´n para la controa o labilidad completa del estado: el sistema obtenido mediante la ecuaci´n (3.2) es de estado o completamente controlable si y solo s´ los vectores B, AB, . . . , An−1 B son linealmente indeı pendientes, o la matriz de controlabilidad de n × n [ B AB . . . An−1 B ] tiene rango n. Para el caso del sistema bajo estudio la matriz es de rango completo, n = 4. De acuerdo a los teoremas planteados es posible asegurar que el sistema es no estable pero controlable. (3.12)

32

˜ 3. DISENO DEL CONTROLADOR

3.3.

Control por realimentaci´n de Estados o
[ E ] +F [ ] +G [ ] = Hv (3.13)

La ecuaci´n o ¨ θ ¨ ψ ˙ θ ˙ ψ θ ψ

es una ecuaci´n similar a la ecuaci´n del sistema masa-resorte-amortiguador. La Figura (3.1) o o muestra el sistema equivalente del sistema del p´ndulo invertido sobre una pelota esf´rica e e interpretado como un sistema masa-resorte-amortiguador.

Resorte

Amortiguador

Figura 3.1: Sistema masa-resorte-amortiguador

De la imagen se puede observar que es posible estabilizar el sistema del p´ndulo invertido e sobre una pelota esf´rica mediante el ajuste de la constante del resorte y la constante de e fricci´n del amortiguador. Es posible pensar que mediante una t´cnica de control se puede o e calcular te´ricamente el valor de las constantes mencionadas. o

3.3.1.

M´todo del Regulador Cuadr´tico Lineal e a

Al dise˜ar sistemas de control, con frecuencia es de inter´s seleccionar el vector de control n e u(t) tal que un ´ ındice de desempe˜o determinado se minimice. Se puede demostrar que un n ´ ındice de desempe˜o cuadr´tico de modo que n a

´ 3.3. CONTROL POR REALIMENTACION DE ESTADOS ∫ J=
0

33

Φ(x, u) dt

(3.14)

en donde Φ(x, u) es una funci´n cuadr´tica o una funci´n hermitiana de x y u, producir´ las o a o a leyes de control lineal, es decir u(c) = −K x(t) en donde K es una matriz de r x n      u1 u2 . . . ur       = −     k11 k12 · · · k1n k21 k22 · · · k2n    . . .  . . .  . . . kr1 kr2 · · · krn x1 x2 . . . xn      (3.16) (3.15)

Por lo tanto, el dise˜o del sistema de control ´ptimo y los sistemas reguladores ´ptimos n o o basados en tales ´ ındices de desempe˜o cuadr´ticos se reducen a la determinaci´n de los n a o elementos de la matriz K. El esquema de control ´ptimo cuadr´tico dise˜ado asegura la estabilidad solo en el caso o a n de que el sistema sea controlable, es por eso que se realiz´ un an´lisis previo con respecto a o a la estabilidad y a la controlabilidad del sistema lineal NXT BALLBOT. Para determinar el vector de control u(t) ´ptimo para el sistema descrito mediante las o ecuaciones de estado x(t) = Ax(t) + Bu(t) ˙ y el ´ ındice de desempe˜o obtenido mediante n ∫ J=
0 ∞

(3.17)

(x ∗ Qx + u ∗ Ru) dt

(3.18)

en donde Q es una matriz hermitiana o sim´trica real definida positiva (o semidefinida posie tiva), R es una matriz hermitiana o sim´trica real definida positiva y u no est´ restringida, e a es necesario resolver las ecuaciones de Riccati. As´ el sistema de control ´ptimo se basa en minimizar el ´ ı o ındice de desempe˜o. MATLAB n tiene un comando que proporciona la soluci´n de las ecuaciones de Riccati en tiempo continuo o y determina la matriz de ganancias de realimentaci´n ´ptima. o o

34

˜ 3. DISENO DEL CONTROLADOR

El dise˜o de sistemas de control mediante ´ n ındices de desempe˜o cuadr´ticos se puede n a realizar tanto de la forma anal´ ıtica como mediante el c´lculo con MATLAB. a Es preciso mencionar que entre muchos enfoques diferentes para la soluci´n de este tipo o de problemas, se presenta uno basado en el segundo m´todo de Lyapunov. e Si se usa el segundo m´todo de Lyapunov con el fin de asentar la base para el dise˜o de e n un controlador, se confirma que el sistema va a funcionar, es decir, la salida del sistema se conduce en forma continua hacia su valor deseado, Por tanto, el sistema dise˜ado tiene una n configuraci´n con caracter´ o ısticas de estabilidad inherentes. En Matlab, el comando lqr(A, B, Q, R) resuelve el problema del regulador lineal cuadr´tico en tiempo continuo y la ecuaci´n de a o Riccati asociada. Este comando calcula la matriz de ganancias de realimentaci´n ´ptima K o o tal que la ley de control de realimentaci´n o u = − Kx minimice el ´ ındice de desempe˜o n ∫ J=
0 ∞

(3.19)

(x ∗ Qx + u ∗ Ru) dt

(3.20)

sujeto a la ecuaci´n de restricci´n o o x = Ax + Bu ˙ (3.21)

El esquema utilizado para el NXT BALLBOT es llamado Servo controlador. Las ganancias para el Servo Control son derivadas de la siguiente manera. La ecuaci´n del espacio de estados y la funci´n de salida est´n dadas como o o a

x(t) ˙ y(t)

= =

Ax(t) + Bu(t) Cx(t)

(3.22)

Estableciendo la diferencia e(t) = C(x(t) − xref ), la integraci´n de la diferencia como o

´ 3.3. CONTROL POR REALIMENTACION DE ESTADOS

35

[ ]T z(t), los estados de la expansi´n del sistema x = x(t) z(t) o y en donde el orden de x y de u son n, m respectivamente, la ecuaci´n del espacio de estados de la expansi´n del sistema o o queda definida como [ x(t) ˙ z(t) ˙ ] = [ A 0nxm C 0mxm ][ x(t) z(t) ] + [ B 0mxm ] u(t) − [ 0nxm Imxm ] Cxref (3.23)

La ecuaci´n ( 3.23 ) converge en la ecuaci´n (3.24) si la expansi´n del sistema es consido o o erada como estable. [ ] = [ ][ ] + [ ] u(∞) − [ ] Cxref (3.24)

x(∞) ˙ z(∞) ˙

A 0nxm C 0mxm

x(∞) z(∞)

B 0mxm

0nxm Imxm

La ecuaci´n (3.25) se deriva al considerar la substracci´n entre las ecuaciones (3.24) y o o (3.23) [ ] ][ ] [ ] A 0nxm xe (t) B = + ue (t) C 0mxm ze (t) 0mxm d xe (t) = A xe (t) + B ue (t) = → dt [

xe (t) ˙ z˙e (t)

(3.25)

donde xe = x(t) − x(∞) ze = z(t) − z(∞) ue = u(t) − u(∞) Se puede utilizar el control por realimentaci´n para que la expansi´n del sistema sea o o estable. La entrada queda definida por ue (t) = − K xe (t) = − Kf xe (t) − Ki ze (t) (3.26)

Si es posible que x(∞) → xref , z(∞) → 0 , u(∞) → 0 se asume que podemos derivar la siguiente entrada u(t) ∫ u(t) = −Kf (x(t) − xref ) − Ki C (x(t) − xref ) dt (3.27)

36

˜ 3. DISENO DEL CONTROLADOR

Figura 3.2: Esquema de control PID para un Servo control

El Servo Controlador utilizado para el sistema NXT BALLBOT tiene como referencia el ´ngulo de la rueda o pelota esf´rica θ . Es importante notar que no es posible utilizar a e cualquier otra variable que no sea θ como la referencia porque el sistema se vuelve incontrolable para el Servo control. La siguiente imagen muestra el diagrama de bloques del Servo controlador para el NXT BALLBOT.

Figura 3.3: Esquema del Servo Controlador para el sistema NXT BALLBOT

´ 3.3. CONTROL POR REALIMENTACION DE ESTADOS

37

El c´lculo de la matriz de ganancias de realimentaci´n Kf y de la ganancia integral Ki , a o por el m´todo del regulador ´ptimo cuadr´tico , se obtiene a trav´s de experimentar a prueba e o a e y error hasta obtener los valores para Q y R que satisfagan el poder estabilizar el sistema.    Q=   1 0 0 6 ∗ 105 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 ∗ 103       , 180 2 R = 6 ∗ 10 ∗ ( ) π
3

(3.28)

donde Q(2, 2) es el valor para el ´ngulo de inclinaci´n del cuerpo y Q(5, 5) es el valor para el a o tiempo de integraci´n de la diferencia entre el ´ngulo medido y una referencia. o a

Se tiene de la ecuaci´n del espacio de estados o x = Ax + Bu ˙ y = Cx + Du

A

C

  0 0 1 0 0  0   0 0 1 0   =   0 −830 6704 −215 6921 215 6921  , B =  19403 0 137 7922 25 6976 −25 6976 −2312     1 0 0 0 0  0 1 0 0   0     =   0 0 1 0  , D= 0  0 0 0 1 0

   

Calculando las nuevas matrices del espacio de estados derivadas de la ecuaci´n (3.57), o debido a la expansi´n del sistema por la configuraci´n del Servo controlador o o

A = [A , zeros(4, 1) ; C(1, :) , 0] B = [B ; 0]

(3.29) (3.30)

38

˜ 3. DISENO DEL CONTROLADOR

0 0  0 0  A =  0 −830 6704   0 137 7922 0 1  0  0  B = 1 x e4  1 9403   −0 2312 0

1 0 0 0 1 0 −215 6921 215 6921 0 25 6976 −25 6976 0 0 0 0      

     

Calculando las ganancias de realimentaci´n de estado y la ganancia integral mediante o MATLAB

Klqr = lqr(A, B, Q, R) Kf = K(1 : 4) Ki = k(5)

(3.31) (3.32) (3.33)

Klqr = [−0 0150 − 1 5698 − 0 0270 − 0 2325 − 0 0071] Kf = [−0 0150 − 1 5698 − 0 0270 − 0 2325] Ki = [−0 0071]

(3.34) (3.35) (3.36)

Calculando los valores caracter´ ısticos de la matriz A − B ∗ Kf , que se deriva de sustituir la entrada del sistema u = −Kf x en la ecuaci´n de estados x = A x + B u , se puede o ˙ observar que el sistema es estable en el origen del sistema.  −241 8532  −1 4349   eig(A − B ∗ Kf ) =   −6 7473  −4 8418 Por lo que el problema de estabilizaci´n queda resuelto. o Para comprobar la estabilidad mostrada a trav´s de los valores caracter´ e ısticos de la matriz ( A − B ∗ Kf ) y una vez establecidas las ganancias para el esquema del Servo Controlador, se plantea un valor inicial de ψ = 4 grados para verificar, mediante una simulaci´n, el o 

´ 3.3. CONTROL POR REALIMENTACION DE ESTADOS

39

funcionamiento del sistema

Estado x1

Estado x2

Estado x3

Estado x4

Figura 3.4: Estados del Sistema NXT BALLBOT para ψ = 4 grados

Se puede observar, del estado x2 = ψ que es el ´ngulo de inclinaci´n del cuerpo, que a o el objetivo de equilibrar el cuerpo del robot NXT BALLBOT se cumple con el esquema de control planteado y con las ganancias de realimentaci´n calculadas bajo el m´todo del o e Regulador Cuadr´tico Lineal. a As´ , el ´ngulo de inclinaci´n del cuerpo es llevado al origen del sistema en un lapso de ı a o tiempo peque˜o. n ˙ ˙ Los estados x1 = θ, x3 = θ y x4 = ψ, son congruentes respecto al comportamiento que presenta ψ, siendo ´ste el estado de inter´s ya que nos indica si el esquema de control e e utilizado es exitoso y en qu´ medida lo es. e

40

˜ 3. DISENO DEL CONTROLADOR

3.3.2.

M´todo por Asignaci´n de Polos e o

La caracter´ ıstica b´sica de la respuesta transitoria de un sistema en lazo cerrado se relaa ciona estrechamente con la ubicaci´n de los polos en lazo cerrado. Si el sistema tiene una o ganancia de lazo variable, la ubicaci´n de los polos en lazo cerrado depende del valor de la o ganancia de lazo elegida. Desde el punto de vista del dise˜o, un simple ajuste de la ganancia en algunos sistemas n mueve los polos en lazo cerrado a las posiciones deseadas. A continuaci´n el problema de o dise˜o se centra en la selecci´n de un valor de ganancia adecuada. Si el ajuste de la ganann o cia no produce por s´ solo un resultado conveniente, ser´ necesario agregar al sistema un ı a compensador. Mediante el m´todo del lugar geom´trico de las ra´ e e ıces, el dise˜ador puede predecir los n efectos que tiene la ubicaci´n de los polos en lazo cerrado, variar el valor de la ganancia o o agregar polos y/o ceros en lazo abierto. El m´todo del lugar geom´trico de las ra´ e e ıces es una t´cnica gr´fica muy poderosa para e a investigar los efectos de la variaci´n de un par´metro del sistema sobre la ubicaci´n de los o a o polos en lazo cerrado. En la mayor parte de los casos, el par´metro del sistema es la ganancia a de lazo K, aunque el par´metro puede ser cualquier otra variable del sistema. a Mediante el m´todo del lugar geom´trico de las ra´ e e ıces, es posible determinar el valor de la ganancia de lazo K que formar´ el factor de amortiguamiento relativo de los polos dominantes a en lazo cerrado. Para poder analizar el sistema NXT BALLBOT representado por la ecuaci´n en el espacio o de estados como

x = Ax + Bu ˙ y = Cx + Du

A

C

  0 0 1 0 0   0  0 0 1 0   =   0 −830 6704 −215 6921 215 6921  , B =  19403 0 137 7922 25 6976 −25 6976 −2312     1 0 0 0 0  0 1 0 0   0     =   0 0 1 0  , D= 0  0 0 0 1 0 

   

´ 3.3. CONTROL POR REALIMENTACION DE ESTADOS

41

y determinar el lugar geom´trico de las ra´ e ıces mediante MATLAB recurrimos al comando rlocus(A, B, C, D) que grafica el lugar geom´trico de las ra´ del sistema. e ıces Ubicando los polos y ceros del sistema linealizado en el punto de equilibrio.

cero = 0 polo = -5.6754 polo = -241.8164 polo = 6.1020

Figura 3.5: Lugar geom´trico de las Ra´ e ıces

De la gr´fica se observa que un polo del sistema es positivo, dos son negativos, y un a cero est´ en el origen. Este an´lisis nos advierte de la inestabilidad del sistema linealizado a a en el punto de equilibrio, ya que un sistema es estable si todos sus polos se encuentran en el semiplano izquierdo del plano s (en el caso de sistemas continuos) o dentro del c´ ırculo unitario del plano z (para sistemas discretos). El m´todo del lugar de las ra´ permite determinar la posici´n de los polos de la funci´n e ıces o o de transferencia a lazo cerrado para un determinado valor de ganancia K a partir de la funci´n o de transferencia a lazo abierto. Es as´ como se busca encontrar una matriz de ganancias K adecuada para que el sistema ı en lazo cerrado presente un comportamiento capaz de proporcionar una respuesta r´pida, con a un sobrepaso aceptable y as´ poder estabilizar al sistema llev´ndolo al punto de equilibrio. ı a La teor´ planteada del lugar geom´trico de las ra´ proporciona la idea de que podemos ıa e ıces variar un par´metro, casi siempre el de una ganancia K, para poder obtener la ubicaci´n a o

42

˜ 3. DISENO DEL CONTROLADOR

de polos en lazo cerrado deseada. Esto da idea a ubicar primero los polos deseados en lazo cerrado que proporcionen el comportamiento adecuado mediante una matriz de ganancias calculada respecto a la asignaci´n de polos deseada y aplicada al sistema en lazo cerrado. o A trav´s de ubicar los polos de manera que el sistema en lazo cerrado sea estable, es e decir en el semiplano izquierdo, es posible obtener la matriz de ganancias K que haga que el sistema se estabilice mediante una respuesta r´pida, con un sobrepaso bajo y que sea capaz a de compensar perturbaciones que puedan quitar estabilidad al sistema. El ubicar los polos deseados en el semiplano izquierdo es una tarea de prueba y error, ya que deben de proporcionar una matriz de ganancias K que haga cumplir los objetivos de estabilidad y de un comportamiento aceptable. Para el sistema NXT BALLBOT, se asignaron polos deseados para el sistema en lazo cerrado cerrado capaces de estabilizar el sistema y de poder tener una respuesta m´s r´pida a a y un menor sobrepaso con respecto al esquema de control que implica el m´todo LQR. e La siguiente ubicaci´n de polos nos proporciona estabilidad y un comportamiento acepto able del sistema p1 p2 p3 p4 = = = = −53 + 2i −53 − 2i −1 −2 (3.37) Utilizando la funci´n place, de MATLAB, es posible obtener la matriz de control, K, la o cual nos dar´ los polos deseados a K = place(A, B, [ p1 p2 p3 p4 ]); K = [ 0 0075 − 1 4776 − 0 0226 − 0 1324 ] El esquema del controlador utilizado, a diferencia del esquema LQR planteado para un Servo Controlador, es un feedback control. Esta t´cnica multiplica la ganancia de realie mentaci´n K por la diferencia entre el valor de referencia xref y el valor medido del estado o ˙ x . La configuraci´n utilizada es similar a un control P D en la teor´ cl´sica de control A o ıa a continuaci´n se muestra el esquema o El comportamiento del esquema de control por Asignaci´n de Polos para condiciones o iniciales de x2 = ψ = 4 grados, que es el ´ngulo de inclinaci´n del cuerpo, se puede observar a o en la siguiente gr´fica que corresponde a los estados del sistema a

´ 3.3. CONTROL POR REALIMENTACION DE ESTADOS

43

Figura 3.6: Diagrama de Bloques del controlador por Asignaci´n de Polos o

Estado x1

Estado x2

Estado x3

Estado x4

Figura 3.7: Estados del Sistema NXT BALLBOT para ψ = 4 grados

El estado de m´s inter´s, que es el ´ngulo de inclinaci´n del cuerpo ψ, es x2 ya que a e a o muestra la estabilidad del sistema debido al comportamiento del equilibrio del cuerpo del robot mediante la t´cnica de control utilizada. e ˙ ˙ Los estados x1 = θ, x3 = θ y x4 = ψ, que son par´metros f´ a ısicos del modelo del sistema, son congruentes con el comportamiento que presenta ψ, siendo este el estado de inter´s ya e que nos indica si el esquema de control utilizado es exitoso y en que medida lo es. Se observa que el controlador dise˜ado, para las ganancias establecidas con la asignaci´n n o

44

˜ 3. DISENO DEL CONTROLADOR

de polos realizada, es capaz de llevar al sistema al origen y que corresponde al estado x2 observado en la gr´fica. El objetivo del controlador es adecuado, la estabilidad del sistema es a alcanzada. Si se comparan los comportamientos debido a los esquemas de control LQR y Asignaci´n o de Polos es claro notar que la segunda t´cnica muestra un mejor desempe˜o sobre el esquema e n de simulaci´n debido a un menor sobrepaso y a una respuesta m´s r´pida comparados con o a a los par´metros obtenidos en el esquema LQR. a Las simulaciones de los dos esquemas, sus interpretaciones as´ como las diferencias que ı existen entre ellas son presentadas en el siguiente cap´ ıtulo m´s a detalle. a

Cap´ ıtulo 4 Resultados En Simulaciones

En este cap´ ıtulo se presentan las simulaciones que complementan el an´lisis matem´tico a a realizado para establecer par´metros que dan forma a dos esquemas de control para el sistema a NXT BALLBOT. Se presenta un panorama del funcionamiento de los esquemas ante diversas situaciones para comparar resultados y diferencias entre ambos.

46

4. RESULTADOS EN SIMULACIONES

4.1.

Comparaci´n entre los esquemas Control o

En el cap´ ıtulo anterior se presentaron dos gr´ficas en las cuales era posible observar el a comportamiento de los estados del sistema tanto para el esquema del Regulador Cuadr´tico a Lineal (LQR) como para el esquema por Asignaci´n de Polos, presentando un valor inicial el o ´ngulo de inclinaci´n del sistema ψ. a o De los estados presentados el de mayor inter´s es el ´ngulo de inclinaci´n del cuerpo ψ e a o que corresponde al estado x2 , y que ofrece el par´metro f´ a ısico que puede ejemplificar si el robot NXT BALLBOT permanece en equilibrio y que tan eficiente resulta tal equilibrio ante los esquemas dise˜ados. n Se formaron conjuntos de polos de los cuales se seleccionaron aquellos polos que cumpl´ ıan con el objetivo de control: la estabilidad del sistema en el menor lapso de tiempo ante una perturbaci´n o una condici´n inicial diferente de cero (para el ´ngulo de inclinaci´n del o o a o cuerpo). As´ el resultado presentado en la gr´fica de los estados arrojada por la simulaci´n del ı a o sistema es resultado de asignar el siguiente conjunto de polos y obtener la siguiente matriz de ganancias de realimentaci´n del estado. o

p1 p2 p3 p4

= = = =

−53 + 2i −53 − 2i −1 −2 (4.1)

K = [ 0 0075 − 1 4776 − 0 0226 − 0 1324 ] Para un valor inicial del estado x2 , ψo = 4 grados, se tiene el siguiente comportamiento bajo el esquema de control por Asignaci´n de Polos. o Es claro notar que se tiene un sobrepaso peque˜o de ψ = −0,485 grados y el tiempo de n asentamiento para poder alcanzar el equilibrio es de 0,95 segundos. Analizando el comportamiento para el esquema de control LQR para un valor inicial del estado x2 , ψ = 4 grados, se tiene

´ 4.1. COMPARACION ENTRE LOS ESQUEMAS CONTROL

47

Figura 4.1: Asignaci´n de Polos, ψo = 4 GRADOS o

El sobrepaso que presenta el sistema con el esquema de control LQR es de ψ = −0,9256 grados y el tiempo de asentamiento para alcanzar el punto de equilibrio es de 1,2 segundos. El nuevo dise˜o del controlador basado en la asignaci´n de polos presenta un sobrepaso n o menor, una diferencia de 0,4406 grados que el control LQR; adem´s el tiempo que tarda a en alcanzar el punto de equilibrio (tiempo de asentamiento) es mucho menor que el tiempo del esquema de control LQR. El mejorar el tiempo de asentamiento, as´ como tener un ı menor sobrepaso del sistema son factores clave bajo el funcionamiento en tiempo real ya que es posible apreciar f´ ısicamente que el esfuerzo requerido por los motores al momento de pretender mantener el equilibrio es menor, ofrecen menos esfuerzo para llevar el sistema al punto de equilibrio en un menor tiempo. El an´lisis aqu´ presentado del esquema de control LQR no es presentado en el art´ a ı ıculo en el que se ha basado esta investigaci´n, es necesario recordar que los valores de las ganancias de o la matriz de realimentaci´n as´ como de la ganancia del integrador utilizado en este esquema o ı de control son producto de ajustes, de probar y corregir los factores involucrados en las matrices Q y R hasta que experimentalmente es alcanzado el objetivo, pero nunca haciendo el an´lisis previo de como se comporta el sistema bajo el esquema de control LQR. a As´ al asignar dos polos dominantes, p3 y p4 , y dos no dominantes conjugados, en donde ı,

48

4. RESULTADOS EN SIMULACIONES

Figura 4.2: Asignaci´n de Polos, ψo = 4 GRADOS o

el comportamiento del sistema fuera estable, es posible concluir que el nuevo esquema de control dise˜ado por Asignaci´n de Polos cumple con el objetivo, al menos en la simulaci´n, n o o de mantener en equilibrio al robot NXT BALLBOT. Una vez realizada esta metodolog´ que implicaba modelar, dise˜ar, demostrar, probar y ıa n ajustar bajo una simulaci´n ideal hasta obtener un sistema de control que cumpliera con las o expectativas de estabilizar de manera adecuada el robot, se tom´ la decisi´n de realizar simuo o laciones bajo la arquitectura del sistema NXT BALLBOT que nos pudiera dar un panorama m´s claro del comportamiento. Esta arquitectura en Simulink contiene una secci´n de simua o laci´n. Las gr´ficas y resultados son presentados en la siguiente secci´n. o a o

4.2.

CONTROL POR LQR

49

4.2.

Control por LQR

Las Figuras 4.3 y 4.4 muestran el comportamiento del sistema en los dos planos dimensionales sobre lo cuales interact´a, plano XZ y plano YZ. As´ es claro analizar el control que u ı se tiene para mantener el equilibrio a trav´s del comportamiento del ´ngulo de inclinaci´n e a o del cuerpo del sistema ( eje de las ordenadas [grados] ) en un periodo de tiempo ( eje de las abscisas [segundos]).

Figura 4.3: Plano XZ LQR, ψo = 4 GRADOS

Figura 4.4: Plano YZ LQR, ψo = 4 GRADOS

Es posible analizar que existe un retardo de 1 segundo antes de que el sistema inicie su funcionamiento con las condiciones iniciales planteadas y que se estabilice a trav´s de la e

50

4. RESULTADOS EN SIMULACIONES

t´cnica de control utilizada, esto es debido a que durante este segundo el robot realiza la e calibraci´n de los sensores giroscopios para poder ubicarse en el plano con respecto al ´ngulo o a de inclinaci´n del cuerpo, as´ durante este periodo el sistema plantea el offset de dicho ´ngulo o ı a para poder mantener el equilibrio por lo que es necesario sujetar el robot de manera que se encuentre totalmente vertical, es decir, en el punto de equilibrio. Pasado este segundo, la condicional inicial planteada, en este caso para cuando ψ = 4 grados, es tomada en cuenta por el sistema de simulaci´n y la t´cnica de control utilizada o e comienza a interactuar con el sistema (en este caso mediante el m´todo LQR es posible e calcular las ganancias para el Servo Controlador). Es claro observar que existe un peque˜o retardo antes de que el esquema de control n interact´a con el sistema y esto se nota ya que una vez que el sistema inicia en el valor inicial u sigue aumentando el ´ngulo de inclinaci´n del cuerpo unos cuantos grados m´s del valor a o a inicial (entre 0,5 y 1) hasta que el control entra en acci´n y trata de estabilizar el sistema o para llevarlo al punto de equilibrio. En el intento por estabilizar el sistema se puede observar que se tiene un sobrepaso de −1,566 grados, en el plano XZ y Y Z, para el esquema de control LQR, pero conforme transcurre el tiempo la t´cnica de control es capaz de llevarlo al e punto de equilibrio. Para poder validar si la t´cnica de control es adecuada y funcional tenemos que en el e periodo de tiempo, cuando t = 5 seg. es introducida una perturbaci´n sobre el plano YZ (un o giro del sistema debido a condiciones de superficie anormales que coloca al ´ngulo de inclia naci´n casi en 2 grados). La t´cnica de control induce al sistema para ser llevado nuevamente o e al punto de equilibrio con ´xito. e Se concluye, al realizar varios simulaciones para diferentes valores iniciales del ´ngulo de a inclinaci´n del cuerpo ψ, que la t´cnica utilizada del Regulador Cuadr´tico Lineal (LQR) o e a cumple con las expectativas de control planteadas: mantener el equilibrio del robot. En el trabajo presentado por Yorihisa Yamamoto el esquema LQR se plante´ como reo sultado de muchas pruebas realizadas al sistema (a prueba y error) y a trav´s del resultado e de estas se determin´ un control que pudiera satisfacer la estabilidad lo m´s eficientemente o a posible, con lo cual fue posible ajustar tanto una ganancia integral como la matriz de ganancias de realimentaci´n de estados. As´ fue como se determinaron los valores para la matriz Q o ı y la matriz R del regulador cuadr´tico lineal que compone al esquema de control, todo esto a sin tener un an´lisis previo del comportamiento del sistema, como el an´lisis de estabilidad a a o controlabilidad. Todos estos an´lisis previos a determinar las ganancias del esquema de a control son presentadas en los cap´ ıtulos de este trabajo. Es posible concluir que se llev´ acabo una t´cnica de control eficiente y se present´ una o e o metodolog´ adecuada que implica el dise˜o de un sistema control correcto. ıa n A continuaci´n se presentan simulaciones complementarias, variando las condiciones inio ciales para el esquema de control LQR.

4.2.

CONTROL POR LQR

51

SIMULADOR DEL SISTEMA

Figura 4.5: Simulador del Sistema

52

4. RESULTADOS EN SIMULACIONES

Esquema de Control LQR, ψo = 2 GRADOS

Figura 4.6: Plano XZ LQR, ψo = 2 GRADOS

Figura 4.7: Plano YZ LQR, ψo = 2 GRADOS

Podemos observar el comportamiento del sistema para un valor inicial de ψo = 2 grados y adem´s sujeto a una perturbaci´n en el plano YZ para el instante t = 5 segundos. Las gr´ficas a o a nos muestran una buena estabilidad del sistema ya que el ´ngulo de inclinaci´n del cuerpo a o del robot oscila entre los 0 grados, indicando el equilibrio que mantiene sobre la pelota.

4.2.

CONTROL POR LQR

53

Esquema de Control LQR, ψo = 6 GRADOS

Figura 4.8: Plano XZ LQR, ψo = 6 GRADOS

Figura 4.9: Plano YZ LQR, ψo = 6 GRADOS

Para un valor inicial de ψo = 6 grados el comportamiento del equilibrio del robot es adecuado debido a que el ´ngulo de inclinaci´n del cuerpo se mantiene cercano a cero. Adem´s a o a tambi´n el sistema se somete a una perturbaci´n en el plano YZ para el instante t = 5 e o segundos respondiendo de manera excelente para alcanzar la estabilidad sobre la pelota.

54

4. RESULTADOS EN SIMULACIONES Esquema de Control LQR, ψo = −4 GRADOS

Figura 4.10: Plano XZ LQR, ψo = −4 GRADOS

Figura 4.11: Plano YZ LQR, ψo = −4 GRADOS

Ejemplificado el comportamiento para un valor inicial negativo del ´ngulo de inclinaci´n, a o es decir, colocado en el otro plano con respecto a la vertical del sistema. Es posible apreciar tambi´n una perturbaci´n en el instante t = 5 segundos con el objetivo de mostrar la e o estabilidad ante perturbaciones externas una vez alcanzado el equilibrio.

4.2.

CONTROL POR LQR

55

Esquema de Control LQR, ψo = −6 GRADOS

Figura 4.12: Plano XZ LQR, ψo = −6 GRADOS

Figura 4.13: Plano YZ LQR, ψo = −6 GRADOS

56

4. RESULTADOS EN SIMULACIONES

4.3.

Control Por Asignaci´n De Polos o

Las Figuras 4.14 y 4.15 muestran los resultados de la simulaci´n realizada utilizando el o esquema de control por asignaci´n de polos muestran el control eficiente que se tiene al ubicar o los polos de tal manera que el comportamiento del sistema fuera capaz de alcanzar el punto de equilibrio del sistema. Este an´lisis fue previo a poder realizar dichas simulaciones. a

Figura 4.14: Plano XZ ADP, ψo = 4 GRADOS

Figura 4.15: Plano YZ ADP, ψo = 4 GRADOS

Al igual que para el esquema de control LQR , la condici´n inicial es planteada para o un ´ngulo de inclinaci´n cuando ψ = 4 grados. Se observa de las gr´ficas de simulaci´n en a o a o el plano XZ y YZ, en donde el eje de las coordenadas se refiere a ψ en grados y el eje de

4.3.

´ CONTROL POR ASIGNACION DE POLOS

57

las abscisas al tiempo transcurrido en segundos, que se vuelve a presentar el segundo de calibraci´n de los sensores. Realizado esto, el esquema de control por asignaci´n de polos o o act´a ante el valor inicial del ´ngulo de inclinaci´n , pero es claro observar que existe un u a o peque˜o retardo antes de que el controlador act´e y equilibre el sistema, as´ el ´ngulo de n u ı a inclinaci´n del cuerpo se eleva un poco m´s del valor inicial , (entre 0,5 y 1) , antes de que o a el sistema sea llevado al punto de equilibrio y mantener as´ la estabilidad del robot. ı Es posible analizar, de las gr´ficas de simulaci´n, que el esquema de control lleva al a o sistema del valor inicial ψo = 4 grados al punto de equilibrio con un sobrepaso de ψ = −0,8534 grados), en el plano XZ Y YZ, en un intervalo de tiempo considerable. Para probar si el esquema de control es adecuado y eficiente se introduce, en la simulaci´n, una perturbaci´n o o para el instante de tiempo t = 5 segundos; el control por asignaci´n de polos es capaz de o estabilizar el sistema de manera adecuada ante esta perturbaci´n. o Es posible concluir,al realizar varios simulaciones para diferentes valores iniciales del ´ngua lo de inclinaci´n del cuerpo (ψ), que el esquema de control por asignaci´n de polos cumple o o con el objetivo planteado al mantener el equilibrio del sistema. A continuaci´n se presentan simulaciones complementarias, variando las condiciones inio ciales para el esquema de control por asignaci´n de polos. o

58

4. RESULTADOS EN SIMULACIONES

Esquema de Control por Asignaci´n de Polos, ψo = 2 GRADOS o

Figura 4.16: Plano XZ ADP, ψo = 2 GRADOS

Figura 4.17: Plano YZ ADP, ψo = 2 GRADOS

Para un valor inicial de ψo = 2 grados el comportamiento del equilibrio del robot es adecuado debido a que el ´ngulo de inclinaci´n del cuerpo se mantiene cercano a cero, pero es a o posible apreciar que la estabilidad en el punto de equilibrio, que es cuando el robot se encuentra completamente sobre la vertical, no es posible lo que origina que existan perturbaciones que hagan oscilar entre el valor de cero.

4.3.

´ CONTROL POR ASIGNACION DE POLOS

59

Esquema de Control por Asignaci´n de Polos, ψo = 6 GRADOS o

Figura 4.18: Plano XZ ADP, ψo = 6 GRADOS

Figura 4.19: Plano YZ ADP, ψo = 6 GRADOS

60

4. RESULTADOS EN SIMULACIONES Esquema de Control por Asignaci´n de Polos, ψo = −6 GRADOS o

Figura 4.20: Plano XZ ADP, ψo = −6 GRADOS

Figura 4.21: Plano YZ ADP, ψo = −6 GRADOS

Para un valor inicial de ψo = −6 grados, que es cuando la posici´n inicial del robot se o encuentra en el plano contrario con respecto a la vertical del sistema, es posible observar que existe un peque˜o sobrepaso antes de que el controlador act´e y lleva al sistema al punto de n u equilibrio. Sin embargo es posible concluir que el objetivo de mantener en equilibrio al robot sobre la pelota se cumple a pesar de las perturbaciones o ruido que existen en las gr´ficas. a

4.3.

´ CONTROL POR ASIGNACION DE POLOS

61

Esquema de Control por Asignaci´n de Polos, ψo = −4 GRADOS o

Figura 4.22: Plano XZ ADP, ψo = −4 GRADOS

Figura 4.23: Plano YZ ADP, ψo = −4 GRADOS

Cap´ ıtulo 5 Resultados Experimentales
En este cap´ ıtulo son presentados los resultados en tiempo real obtenidos de los experimentos realizados con el robot NXT BALLBOT y bajo los dos esquemas de control. Los valores de los par´metros fueron obtenidos mediante una aplicaci´n programada en C++ dea o nominada GAMEPAD a trav´s de una comunicaci´n Bluetooth, los cuales son almacenados e o en un archivo de Excel para su manejo. Esta aplicaci´n es una utiler´ m´s para esta nueva o ıa a plataforma de LEGO NXT MINDSTORMS en combinaci´n con MATLAB. o

5.1.

Salidas del sistema

Mediante el sensor giroscopio es posible medir la velocidad angular de la inclinaci´n del o cuerpo del sistema, siendo x4 el estado medible, y mediante este estado es posible reconstruir los dem´s y ver reflejado el comportamiento del sistema en cada estado. Sin embargo el a par´metro o estado que m´s interesa y que es capaz, mediante gr´ficas, de reflejar el equilibrio a a a que guarda el robot NXT BALLBOT con el esquema de control implementado, es x2 = ψ que indica el ´ngulo de inclinaci´n del cuerpo. a o La adquisici´n de par´metros en tiempo real es posible bajo dos t´cnicas, v´ USB ´ v´ o a e ıa o ıa Bluetooth, siendo la segunda la m´s c´moda y eficiente ya que se evita un factor externo a o que pueda afectar el comportamiento del sistema, es decir, el tener cuidado con el cable USB para que no arruine las mediciones realizadas de los par´metros. a A trav´s del software GAMEPAD, que es una utilidad para la PC que obtiene el registro e de datos del NXT v´ Bluetooth, es posible obtener los valores de los par´metros en tiempo ıa a real. La adquisici´n v´ Bluetooth arroja valores de los par´metros, durante el tiempo activo o ıa a del sistema, en un archivo de Excel. Estos par´metros se programan previamente en el modelo a de SIMULINK de MATLAB para ser adquiridos. En las gr´ficas de los resultados adquiridos del sistema en tiempo real se observa el a

64

5. RESULTADOS EXPERIMENTALES

MODELO DE SIMULINK PARA ADQUIRIR LOS DATOS VIA BLUETOOTH

Figura 5.1: Modelo de Adquisici´n de Datos de Simulink o

comportamiento de los esquemas de control, LQR y Asignaci´n de Polos, con respecto al o ´ngulo de inclinaci´n del cuerpo del robot. Es claro notar que existen diferencias entre las a o simulaciones y el comportamiento real del sistema, tales diferencias son debido a factores externos que no se consideran bajo el esquema de simulaci´n, como la superficie en donde o interact´a el sistema por ejemplo, y que es un factor clave para el comportamiento del sistema. u En estas gr´ficas no es posible apreciar el segundo de retardo provocado por la calibraci´n a o de los giroscopios y explicado en las simulaciones realizadas sobre el sistema real, ya que la adquisici´n de los datos en tiempo real es activada en el momento en que el sistema o empieza a interactuar con la t´cnica de control y finaliza cuando el sistema es desactivado, e es decir, cuando el robot ha ca´ a la superficie ´ simplemente a sido apagado ´ detenida la ıdo o o programaci´n. o La posici´n inicial del robot es completamente vertical sobre la pelota y una vez que el o sistema realiza la calibraci´n de los sensores en la posici´n mencionada el sistema es soltado o o para poner a prueba el esquema de control planteado.

´ 5.2. CONTROL LQR (REGULADOR CUADRATICO LINEAL )

65

5.2.

Control LQR (Regulador Cuadr´tico Lineal ) a

Es posible apreciar, de las Figuras 5.2 y 5.3 , que el objetivo del control LQR de mantener el equilibrio del robot se cumple, sin embargo existe un movimiento constante del ´ngulo de a inclinaci´n del cuerpo (el robot siempre se mantiene en movimiento tratando de equilibrarse), o oscilando entre −2,917 y 3,938 grados para el plano XZ y entre −2,553 y 2,76 grados para el plano YZ. El comportamiento del sistema al llevarlo al punto de equilibrio como es mostrado en las simulaciones, no es el mismo, pero hay que recordar que el sistema es no estable para cuando ψ = 0 grados, por lo que el mantenerse completamente est´tico, una vez controlado el a sistema, no es posible. Se debe mencionar que est´s oscilaciones que se presentan del ´ngulo a a de inclinaci´n del cuerpo son m´s notorias debido a que la superficie donde fue colocado o a presenta anomal´ la superficie no se presenta completamente horizontal, existen algunas ıas: grietas, tierra polvo, etc, y estos factores diversos influyen en la fricci´n que presenta la pelota o con la superficie.

Figura 5.2: Gr´fica del sistema en tiempo real sobre el plano XZ a

66

5. RESULTADOS EXPERIMENTALES

Figura 5.3: Gr´fica del sistema en tiempo real sobre el plano YZ a

Las dos perspectivas de ψ presentadas en las gr´ficas son la referencia que se tiene de los a dos giroscopios colocados en el robot los cuales nos arrojan lecturas de la velocidad angular ˙ (ψ) pero que mediante la integraci´n de esta velocidad angular num´ricamente es posible o e obtener el comportamiento del ´ngulo de inclinaci´n del cuerpo ψ en los dos planos de a o interacci´n del sistema. o

´ 5.2. CONTROL LQR (REGULADOR CUADRATICO LINEAL )

67

A pesar de los factores externos que pueden afectar el funcionamiento del sistema con la t´cnica de control empleada, se concluye que el objetivo de mantener el equilibrio del robot e se cumple de manera correcta y eficiente.
ESQUEMA DE ADQUISICIÓN DE DATOS

ESQUEMA DE CONTROL POR REGULADOR CUADRÁTICO LINEAL (LQR) (SERVO CONTROL)

Figura 5.4: Servo Control para el esquema del Regulador Cuadr´tico Lineal a

68

5. RESULTADOS EXPERIMENTALES

5.3.

Control Por Asignaci´n de Polos o

Las gr´ficas del control por Asignaci´n de Polos, Figuras 5.5 y 5.6, muestran que el sistema a o se mantiene en equilibrio pero con alteraciones notorias con respecto al ´ngulo de inclinaci´n a o del cuerpo, variando entre −2,426 y 2,912 grados para el plano XZ y entre −2,019 y 4,128 grados para el plano YZ. Dichas alteraciones son evidentes debido a que el sistema en el punto de equilibrio no es estable, el esquema de control trata de llevar al sistema al punto de equilibrio pero debido a perturbaciones constantes, que son introducidas sobre todo por la estructura de la superficie, exaltan a´n m´s las variaciones en el ´ngulo de inclinaci´n del u a a o cuerpo.

Figura 5.5: Gr´fica del sistema en tiempo real sobre el plan XZ a

Tambi´n no se debe de descartar el ruido que pudiera existir en los sensores y por supuesto e que la precisi´n que presentan los par´metros en la adquisici´n de datos no sea suficienteo a o mente adecuada, exacta. Estos factores externos juegan tambi´n un papel importante en los e resultados finales y como consecuencia en las gr´ficas presentadas. a El nuevo esquema de control implementado satisface de manera correcta el objetivo de mantener el equilibrio del robot. El an´lisis previo realizado bajo la teor´ moderna de control a ıa evidenci´ que el resultado del esquema de control sobre el sistema era satisfactorio, pero eso o no garantizaba que, en condiciones reales, factores externos pudieran producir perturbaciones

´ 5.3. CONTROL POR ASIGNACION DE POLOS

69

Figura 5.6: Gr´fica del sistema en tiempo real sobre el plan YZ a

que afectaran de manera considerablemente el funcionamiento del esquema de control. Por eso a veces es muy importante la experiencia que se tiene al implementar esquemas de control bajo el esquema de tiempo real y que puede permitir el ajuste, sobre la marcha, de algunos factores que garanticen un mejor rendimiento, ajustes que no pueden ser considerados en la etapa de simulaci´n hasta no ver el sistema funcionando bajo circunstancias reales. o

70
ESQUEMA DE ADQUISICIÓN DE DATOS

5. RESULTADOS EXPERIMENTALES

ESQUEMA DE CONTROL POR ASIGANACIÓN DE POLOS (FEEDBACK CONTROL)

Figura 5.7: FeedBack Control para el esquema por Asignaci´n de Polos o

5.4. ENTRADA DEL SISTEMA

71

5.4.
5.4.1.

Entrada del sistema
PWM

La entrada del sistema es un vector u, la estructura del robot NXT BALLBOT utiliza dos motores los cuales deben recibir un valor en porcentaje de PWM para poder actuar. Mediante la t´cnica de control utilizada se ajusta la entrada del sistema, el vector u, para e llevar acabo el objetivo de equilibrar al robot sobre la pelota de pl´stico cuando interact´a a u con las ruedas de goma que est´n unidas a los motores. a En las Figuras (5.8) y (5.9) se puede apreciar el PWM que es proporcionado a los motores a lo largo del periodo de tiempo donde el esquema de control por Asignaci´n de Polos act´a o u sobre el sistema. Las caracter´ ısticas de los motores del kit de LEGO NXT MINDSTORMS indican que un motor trabaja al m´ximo de su capacidad con avance progresivo cuando a el PWM es de 100 %, y en avance regresivo cuando el PWM es de −100 %. Al observar f´ ısicamente el funcionamiento del robot NXT BALLBOT en tiempo real, observando las gr´ficas del comportamiento del ´ngulo de inclinaci´n del cuerpo ψ y basado en la experiencia a a o que se tiene de casi 3 a˜os de trabajar este tipo de motores, se concluye que los resultados n ofrecidos de PWM hacia los motores son adecuados y congruentes.

Figura 5.8: PWM para un motor bajo el esquema LQR

72

5. RESULTADOS EXPERIMENTALES

Figura 5.9: PWM para un motor bajo el esquema de control por Asignaci´n de Polos o

El rango de valores que presenta el PWM aplicado a los motores, bajo el esquema de control por asignaci´n de polos, va desde 32,55 % P W M hasta −32,21 % P W M . Los valores entre o los que oscila el PWM del esquema LQR var´ entre 32,33 % P W M hasta −32,44 % P W M . ıa Si se comparan los resultados obtenidos se puede notar que no existe gran diferencia entre este rango de oscilaci´n a pesar de tener de ser bajo dos esquemas diferentes de control, y o esto es debido a las perturbaciones presentadas, recordemos que la superficie donde se lleva acabo el movimiento no siempre es la misma (la trayectoria del robot) y en algunos casos puede presentar mayor perturbaci´n debido a la superficie que el esquema de control debe o compensar para que el robot no pierda el equilibrio. As´ mediante estas gr´ficas que nos presentan el comportamiento del porcentaje PWM ı, a que es proporcionado a los motores para poder equilibrar al robot NXT BALLBOT , es claro ejemplificar que pasa cuando un ser humano monta un monociclo, el poder guardar el equilibrio implica balancear nuestro cuerpo hacia adelante o hacia atr´s, dependiendo de la a posici´n en la que nos encontremos, para que se cumpla el objetivo de estar en equilibrio o sobre el monociclo. En este caso son los motores quienes a trav´s del movimiento adelante ( % P W M positivo) e o atr´s ( % P W M negativo) tratan de llevar al robot al punto de equilibrio. El que tanto a porcentaje de PWM requieren los motores depende del esquema de control, ya que a partir de los estados le´ ıdos del sistema, que son los que proporcionan informaci´n de como se encuentra o el sistema con respecto a la superficie, es posible obtener nuevos valores de entrada al sistema y ser mandados a los motores que hagan que el robot NXT BALLBOT no caiga.

5.4. ENTRADA DEL SISTEMA

73

5.4.2.

Voltaje

Las variaciones de voltaje presentadas en las Figuras (5.11) y (5.12) para uno de los motores del robot se encuentran entre −1,365 y 1,33 volts para el esquema LQR, y entre −1,295 y 1,024 volts para el esquema de control por asignaci´n de Polos. Se puede apreciar o una diferencia entre los esquemas de control en cuesti´n de la entrada de voltaje proporo cionada a los motores, siendo el esquema por asignaci´n de polos el que requiere de menos o esfuerzo para poder equilibrar al robot. Esto es congruente con la gr´fica simulada para el a comportamiento del ´ngulo de inclinaci´n del cuerpo del robot la cual presenta un menor a o sobrepaso y menor tiempo de asentamiento del sistema con respecto al sistema LQR.

u (voltaje)

u (voltaje)

PWM

Figura 5.10: Esquema en Simulink del voltaje y del PWM

Estos voltajes son congruentes con respecto a los valores promedio que manejan los motores de LEGO NXT MINDSTORMS en cuesti´n de voltaje. o

74

5. RESULTADOS EXPERIMENTALES

Figura 5.11: Voltaje del motor para el esquema LQR

Figura 5.12: Voltaje del motor para el esquema por Asignaci´n de Polos o

Cap´ ıtulo 6 Conclusiones y Trabajo a Futuro
En el trabajo presentado se analiz´, mostrando un procedimiento matem´tico paso a o a paso, el comportamiento del sistema NXT BALLBOT para poder derivar las ecuaciones de la din´mica del sistema mediante el m´todo del Lagrangiano; estas ecuaciones presentan a e caracter´ ısticas no lineales. Del sistema no lineal se deriv´ la linealizaci´n del sistema alrededor del punto de equilibrio o o cuando el cuerpo del sistema se encuentra completamente vertical sobre la pelota. Para el sistema linealizado se present´ el an´lisis de estabilidad mediante los valores caracter´ o a ısticos de la matriz de estado, resultando un valor caracter´ ıstico positivo que permiti´ concluir la o inestabilidad del sistema. Se comprob´ la controlabilidad del sistema para concluir que era o posible establecer un esquema de control capaz de mantener el equilibrio del robot NXT BALLBOT. La implementaci´n del controlador (Servo controlador) bajo el esquema del Regulador o Cuadr´tico Lineal fue exitosa. La aportaci´n m´s significativa en este trabajo, para este a o a esquema de control, fue el an´lisis matem´tico detallado del dise˜o del controlador as´ como a a n ı el an´lisis previo para poder determinar, bajo simulaciones, el funcionamiento adecuado del a sistema real. El controlador dise˜ado por el m´todo de Asignaci´n de Polos, de manera que dichos n e o polos en lazo cerrado se mantuvieran en el semiplano izquierdo proporcionando una respuesta r´pida, con un sobrepaso y estabilidad aceptable de manera que se lleve al sistema al punto a de equilibrio, arroj´ valores para la matriz de ganancias de realimentaci´n de estados que o o pudieron ofrecer un comportamiento congruente y adecuado, bajo una configuraci´n Feedback o Control, para controlar el robot NXT BALLBOT y mantener el equilibrio del cuerpo al estar colocado sobre la pelota de pl´stico. a En el desarrollo de este trabajo de tesis, el armado f´ ısico del robot NXT BALLBOT no present´ problemas, pero la instalaci´n de la utilidad de MATLAB que utiliza SIMULINK o o

76

6. CONCLUSIONES Y TRABAJO A FUTURO

para poder interactuar con los sensores, motores, ladrillo inteligente, etc. no fue tan sencilla como lo indica el manual debido a las versiones del software complementario y necesario que debe ser instalado previo a la utilidad de MATLAB para que funcione de manera adecuada. El instructivo que se descarga de la p´gina de MATLAB es confuso y no explica de manera a clara y detallada algunos pasos intermedios de la instalaci´n del software y que son clave para o el correcto funcionamiento de la utilidad. A pesar de estos problemas fue posible instalar todo de manera correcta despu´s de varios intentos y de entender cual es la finalidad del software e complementario instalado. La adquisici´n de datos en tiempo real fue complicada al no contar con las herramientas o para esta nueva plataforma de LEGO NXT MINDSTORMS, el esquema de adquisici´n de o datos v´ Bluetooth no es presentado en trabajos anteriores a este. A trav´s de la comunidad ıa e de internet, de investigar, programar, probar y de saber interpretar los datos adquiridos mediante la aplicaci´n GAMEPAD, fue posible obtener las gr´ficas de los resultados en tiempo o a real. Cabe mencionar que v´ USB, mediante un esquema programado en SIMULINK, es ıa posible tambi´n adquirir las gr´ficas de los estados y de cualquier otro par´metro programado. e a a El modelo de SIMULINK para las simulaciones presentadas de los esquemas de control dise˜ados fue una nueva implementaci´n al esquema ya propuesto. Para el esquema de control n o por Asignaci´n de Polos fue necesario realizar un nuevo modelo de SIMULINK que cumpliera o con el esquema Feedback Control. De las diferencias entre los comportamientos arrojados por las gr´ficas del m´dulo de a o simulaci´n del sistema y de las gr´ficas de los resultados en tiempo real es posible concluir o a que la fricci´n que existe entre la pelota y la superficie juega un papel muy importante, por lo o que debe ser considerada en el an´lisis y en el dise˜o del controlador para garantizar un funa n cionamiento correcto. Por eso es claro concluir que si el robot es colocado en una superficie (en un tapete rugoso) que presente pocos factores que pudieran influir en el comportamiento del sistema tales como inclinaci´n, polvo, material del cual est´ constituida la superficie, grietas, o a sobresaltos, etc, el resultado ser´ m´s satisfactorio. Sin embargo la superficie donde experia a ment´ el robot present´ factores externos que sirvieron como perturbaciones para comprobar o o el buen funcionamiento del esquema de control ante perturbaciones externas. Si el objetivo de mantener al robot en equilibrio se cumpli´ con dichas perturbaciones es claro concluir que o en un ambiente con menos irregularidades en la superficie, el robot se comportar´ con m´s a a eficiencia de la presentada. El no considerar la fricci´n ejercida entre la superficie y la pelota simplifica las matem´ticas o a al momento de obtener las ecuaciones que modelan el comportamiento del sistema, pero es un factor que no es tomado en consideraci´n cuando se realizan las simulaciones y as´ el o ı comportamiento del ´ngulo de inclinaci´n del cuerpo mostrado en las gr´ficas de simulaci´n a o a o difiere del mostrado en las gr´ficas que presenta el comportamiento en tiempo real. a A pesar de lo antes mencionado, la implementaci´n de los controladores es exitosa, loo grando equilibrar el cuerpo del robot NXT BALLBOT sobre la pelota de pl´stico con una a

77

eficiencia aceptable y cumpliendo las expectativas mostradas en los an´lisis de Estabilidad, a Controlabilidad y en las simulaciones presentadas. El an´lisis del sistema, las ecuaciones que modelan su comportamiento, las t´cnicas de a e control utilizadas, las simulaciones y resultados presentados, los experimentos, el armado del robot a trav´s de las piezas de LEGO NXT MINDSTORMS, las herramientas que permitieron e la comunicaci´n e interacci´n entre MATLAB y LEGO han dejado muchas conclusiones y o o muchas ideas, mejoras, retos nuevos de interacci´n con el espacio que rodea al robot, cono sideraciones de par´metros importantes, depuraci´n de c´digo, pr´cticas que complementen a o o a las asignaturas que involucren a la teor´ de control moderno bajo la plataforma de LEGO ıa NXT MINDSTORMS, implementaci´n de nuevos esquemas de control, dise˜o de un sistema o n a mayor escala, etc. Siendo congruentes y pensando a futuro se pueden considerar como nuevos retos y objetivos: Modelar el sistema NXT BALLBOT considerando la fricci´n como un elemento imo portante que influye en el comportamiento del sistema. Es un hecho bien conocido que la realimentaci´n de los estados en el modelo de control reduce el efecto de las o perturbaciones y modera los errores de modelado o los cambios de par´metros en el a desempe˜o de un sistema de control. Sin embargo, ante la presencia de perturbaciones, n como las condiciones de la superficie donde es colocado el robot, as´ como ruido en los ı sensores, por citar algunos ejemplos, y si se pretende dise˜ar sistemas de control de alto n desempe˜o, se debe considerar incluir la Sensibilidad ante los errores en el modelado n (reducir la sensibilidad). Para considerar las no linealidades intr´ ınsecas del sistema y la fricci´n, es necesario dise˜ar leyes de control con t´cnicas no lineales que garanticen o n e un comportamiento mejor al expuesto en este trabajo. El objetivo de mantener al robot NXT BALLBOT en equilibrio se ha cumplido, pero el movimiento sobre el espacio es materia pendiente y sin l´ ımite. As´ surge la necesidad ı de dise˜ar un sistema de Navegaci´n. La idea es delimitar un espacio, una superficie n o blanca, a trav´s de l´ e ıneas negras de manera que mediante la lectura de un sensor de luz nos indique si el robot se encuentra en los l´ ımites del ´rea permitida y si es as´ poder a ı cambiar el rumbo hacia el centro de la superficie para no abandonar el ´rea establecida, a por citar un ejemplo. Desarrollar un robot NXT BALLBOT bajo la plataforma de LEGO a mayor escala con el objetivo de poder establecer un control que cumpla con equilibrar un sistema que puede tener mayores dificultades debido a la altura y que repercute en la ubicaci´n del o centro de gravedad que lo hace m´s vulnerable a poder caer m´s f´cilmente ante una a a a aceleraci´n brusca de los motores ´ una perturbaci´n m´ o o o ınima si el controlador no es lo suficientemente eficaz. Realizar pr´cticas complementarias, utilizando la plataforma de LEGO NXT MINDa STORMS y MATLAB, en las ´reas de Control, Electr´nica, Instrumentaci´n que coma o o

78

6. CONCLUSIONES Y TRABAJO A FUTURO

plementen los cursos te´ricos impartidos en la Facultad de Ingenier´ de asignaturas o ıa correspondientes a dichas ´reas a trav´s del estudio realizado para el sistema NXT a e BALLBOT, o utilizando otros proyectos que ejemplifican sistemas de control, sistemas Electr´nicos ´ sistemas Biom´dicos bajo la plataforma de LEGO NXT MINDSTORMS. o o e Dentro de las ventajas de tener proyectos de este tipo est´ la financiera, ya que el costo a de un sistema bajo esta plataforma es mucho menor que los esquemas o maquetas que ejemplifican sistemas similares, y por otro lado la ventaja del f´cil manejo y ahorro de a espacio dentro de los laboratorios con esta nueva plataforma.

Ap´ndice A e MATLAB y Software Adicional
Para poder llevar acabo el funcionamiento del robot NXT BALLBOT es necesario contar con la utilidad Embedded Coder Robot NXT que es una herramienta que utiliza simulink para poder interactuar con los sensores, motores, brick del kit LEGO NXT, con los modelos presentados en esta utilidad es posible controlar y programar adecuadamente las partes esenciales que conforman el kit. La siguiente URL es contiene dicha herramienta http://www.mathworks.com/matlabcentral/fileexchange/13399 Para que el funcionamiento de la utilidad de SIMULINK sea adecuada es necesario instalar software complementario antes de llevara acabo la instalaci´n de la utilidad Embedded Coder o Robot NXT. Software complementario con las versiones utilizadas en este art´ ıculo.

Software Versi´n o Embedded Coder Robot NXT 3.14 nxtOSEK (previous name is LEJOS OSEK) 2.13 Cygwin 1.7.5 GNU ARM 4.0.2

80

A. MATLAB Y SOFTWARE ADICIONAL

Para Matlab, las caracter´ ısticas requeridas son

Producto Matlab Control System Toolbox Simulink Real-Time Workshop Real-Time Workshop Embedded Coder Virtual Reality Toolbox

Versi´n Contenido en o 7.8.0 R2009a 8.3 R2009a 7.3 R2009a 7.3 R2009a 5.3 R2009a 5.0 R2009a

El toolbox Virtual Reality es necesario solo para poder visualizar el sistema de manera 3D , pero es posible simular y generar el c´digo del sistema sin necesidad de este toolbox. o El sistema en MATLAB consta de varios archivos que modelan el funcionamiento del robot NXT BALLBOT para llevar acabo las simulaciones de la planta as´ como poder generar el ı c´digo para descargar el sistema y poder observar el comportamiento en tiempo real del o sistema con el controlador y los par´metros dise˜ados. a n Lista de los archivos contenidos y utilizados para el sistema NXT BALLBOT son iswall.m Funci´n M para poder detectar pared cuando se corre la simulaci´n. o o mywritevrtrack.m Funci´n M para poder generar el archivo del mapa en la simuo laci´n. o nxtballbot.mdl Contiene el modelo del NXT BALLBOT (no se requiere el Virtual Reality Toolbox). nxtballbotcontroller.mdl Contienen el modelo del controlador del NXT BALLBOT. nxtballbotvr.mdl Contiene el modelo del NXT BALLBOT ( se requiere el Virtual Reality Toolbox ). paramcontroller.m M script que contiene los par´metros del controlador. a paramnxtballbot.m M script que contiene los par´metros del NXT BALLBOT. a paramplant.m M script que contiene los par´metros de la planta. a paramsim.m M script que contiene los par´metros para realizar la simulaci´n. a o postsdocodegen.m M script para el proceso posterior a la generaci´n del c´digo o o mediante Simulink Data Object.

81

presdocodegen.m M script para el proceso previo a la generaci´n del c´digo mediante o o Simulink Data Object. vrnxtballbot.wrl Mapa y archivo VRML NXTBALLBOT (se requiere el Virtual Reality Toolbox). vrnxtballbottrack.bmp Archivo de imagen del mapa para la simulaci´n (se requiere o el Virtual Reality Toolbox)

Ap´ndice B e Archivos contenidos en el disco.
El disco anexado a esta tesis contiene varios archivos que complementan el trabajo presentado. A continuaci´n se presenta el listado de estos complementos. o

Archivo Instalador.pdf ArmadoBallbot.pdf BlocksetNXT.pdf LegoNXT.pdf SimulinkNXT.pdf GamePadNXT.pdf VideoADP VideoLQR

Descripci´n o Manual de Instalaci´n “Embedded Coder Robot NXT” o Manual de armado del Robot NXT Ballbot ECRobot NXT Blockset Material requerido del kit LEGO NXT MINDSTORMS Descripci´n de los bloques de SIMULINK utilizados o Adquisici´n de Datos utilizando el software NXT GAMEPAD o Video del sistema utilizando la t´cnica de control Por Asignaci´n de Polos e o Video del sistema utilizando la t´cnica de control LQR e

Bibliograf´ ıa
[1] Ryo Nakajima , Takashi Tsubouchi , Shinichi Yuta , Eiji Koyanagi , A Development of a New Mechanism of an Autonomous Unicycle, Jap´n, IEEE Art´ o ıculo [2] Y. Ha and S. Yuta. Trajectory Tracking Control for Navigation of SelfContained Mobile Inverse Pendulum, Proc, of the 1994 IEEE/RSJ int. Conf. on Intelligent Robots and Systems, pp. 1875-1882, (1994). [3] S. Suzuki, J. Iijima and S. Yuta. Design and implementation of an architecture of autonomous mobile robots for experimental researchers, 6th Int. Conf. on Advanced Robotics, pp. 423-428, (1993). [4] C. Osaka, H. Kanoh, M. Masubuchi and S. Hayashi. Stabilization of Unicycle, System and Control , V01.25, NO.3, pp. 159-166, (1981). [5] D. Honma, N. Iguchi, Y. Kondo, A. Michimori and H. Okubo. One Wheel Locomotive Robot and it’s Control, Journal of the Robotics Society of Japan, V0l.2, No.4, pp. 366-371, (1984). [6] H. B. Brown, Jr and Y. Xu. A Single Wheel, Gyroscopically Stabilized Robot, Proc. of the 1996 IEEE Int. Conf. on Robotics nad Automastion, pp. 3658- 3663, 1996. [7] T. B. Lauwers, G. A. Kantor, and R. L. Hollis., A Dynamically Stable SingleWheeled Mobile Robot with Inverse Mouse-Ball Drive, IEEE Art´ ıculo , Conf. on Robotics and Automation, Orlando, U.S.A. (2006) [8] K. Yamafuji and T. Kawamura. Postural control of a monoaxial bicycle, Journal of the Robotics Society of Japan, Vo1.7 No.4 pp.74-79, (1988). [9] 0. Matsumoto, S. Kajita and K. Tani. Attitude estimation of the the wheeled inverted pendulum using adaptive observer, Proc. of 9th Academic Conf. of the Robotic [10] E. Koyanagi, S. Iida, K. Kimoto and S. Yuta. A wheeled inverse pendulum type self-contained mobile robot and its two- dimensional trajectory control, Proc.of ISMCR’92, pp.891-898, (1992).

84

BIBLIOGRAF´ IA

[11] Ogata, K., Modern Control Engineering, Second Edition, Prentice-Hall (1990) [12] Khalil, H., Nonlinear Systems, Prentice Hall , E.U.A., 2a. Edici´n (1996) o [13] Slotine, Jean -Jacques. Li, Weiping , Appplied Nonlinear Control, Prentice Hall , E.U.A. (1991) [14] Ogata , Katsuhiko., Ingenier´ de Control Moderna, Person Education , Mexico ıa 3a. Edici´n (1997) o [15] Mark W. Spong , M. Vidyasagar. , Robot Modeling and Control , John Wiley Sons , 1a Edici´n o [16] M. Vidyasagar, Nonlinear Systems Analysis, 2da. Edici´n , Prentice-Hall, Engleo wood Cliffs, New Jersey (2002). [17] J. Meisel, Principles of electromechanical-energy conversion, McGraw-Hill (1966). [18] Alvaro H´car , Fabio Revuelta Pe˜a, Israel Saeta P´rez, Enrique Mac´ Barber , a n e ıa Mec´nica lagrangiana , ALQUA Versi´n 0.7.2 U.S.A. (2008) a o o [19] Yorihisa Yamamoto , NXT Ballbot Model-Based Design , Primera Edici´n (2009) [20] Yorihisa Yamamoto , NXT Ballbot Building Instructions , Primera Edici´n (2009) o [21] Takashi Chikamasa , Embedded Coder Robot NXT Modeling Tips , Art´ ıculo (2009) [22] J. Aracil, F. Gordillo , El P´ndulo Invertido: un desaf´ para el control no e ıo lineal , Universidad de Sevilla, Espa˜a (2005) n [23] Tom Lauwers, George Kantor, and Ralph Hollis , One is Enough! , U.S.A. , Robotics Research (2005) [24] Eric M. Schearer , Modeling Dynamics and Exploring Control of a SingleWheeled Dynamically Stable Mobile Robot with Arms , T´sis de Licene ciatura. U.S.A. (2006)