TESIS
TESIS
TESIS
ECNICO NACIONAL
CENTRO DE INNOVACI
ON Y DESARROLLO
TECNOL
OGICO EN C
OMPUTO
CONTROL PUNTO A PUNTO PARA
EL SEGUIMIENTO DE TRAYECTORIAS DE UN
ROBOT M
IA EN TECNOLOG
IA DE C
OMPUTO
P R E S E N T A:
ING. EDGAR ROBERTO RAMOS SILVESTRE
DIRECTOR DE TESIS:
Dr. Ram
on Silva Ortigoza
Dr. Victor Manuel Hern
andez Guzm
an
M
ECNICO NACIONAL
SECRETAR
IA DE INVESTIGACI
ON Y POSGRADO
CARTA CESI
ON DE DERECHOS
En la Ciudad de Mexico el da 23 del mes Mayo del a no 2011 , el (la) que
suscribe Edgar Roberto Ramos Silvestre alumno (a) del Programa de
Maestra en Tecnologa de Computo con n umero de registro B091379 , adscrito a
Centro de Innovaci on y Desarrollo Tecnol ogico en Computo, maniesta que es autor (a)
intelectual del presente trabajo de Tesis bajo la direccion del Dr. Ramon Silva Ortigoza
y el Dr. Victor Manuel Hernandez Guzman, y cede los derechos del trabajo intitulado
Control punto a punto para el seguimiento de trayectorias de un
robot movil de ruedas tipo diferencial, al Instituto Politecnico Nacional para
su difusion, con nes academicos y de investigaci on.
Los usuarios de la informacion no deben reproducir el contenido textual, gracas o
datos del trabajo sin el permiso expreso del autor y/o director del trabajo. Este puede
ser obtenido escribiendo a la siguiente direccion robert56@hotmail.com. Si el permiso
se otorga, el usuario debera dar el agradecimiento correspondiente y citar la fuente del
mismo.
Edgar Roberto Ramos Silvestre
Nombre y rma
Resumen
En robotica movil se tienen varias problematicas para abordar como tema de investi-
gacion, siendo el objetivo principal dotarla de mayor autonoma posible para que realice
una tarea especca. Por tal motivo muchos investigadores abordan estos problemas por
separado por la complejidad que presentan. En la presente tesis se aplica un algoritmo
generador de trayectorias a un prototipo de robot movil de ruedas para resolver el prob-
lema de seguimiento de trayectorias. A diferencia de los trabajos anteriores que se han
desarrollado en el CIDETEC-IPN, ahora se propone un metodo mas general para que el
robot siga una trayectoria y no solo este limitado por una curva parametrica, tambien
se toma el modelo dinamico para el desarrollo de la ley de control y para realizar las
simulaciones de desempe no.
Se llevo a cabo el control punto a punto de un robot movil de ruedas tipo diferencial
para resolver el problema de seguimiento de trayectorias parametricas en el tiempo y
trayectorias denidas por puntos que resultan de la generacion de trayectorias usando
splines c ubicos como metodo de interpolacion. En el primer captulo se realiza la in-
troduccion y el estado del arte relacionado con el tema para luego plantear el objetivo
general y los especcos. En el segundo captulo se realiza el analisis y estudio del modelo
dinamico asociado al prototipo de robot movil que se uso. En el tercer captulo se realiza
el estudio de la ley de control que esta basado en el modelo dinamico del robot movil
considerando que se desplaza sobre una supercie horizontal. Asimismo, en este captulo
se plantea un algoritmo para la generacion de trayectorias. En el cuarto captulo se reali-
zan dos experimentos, uno para una trayectoria parametrica en el tiempo y el otro para
una trayectoria denida por puntos, el cual resulta de la interpolacion usando splines
c ubicos. En el ultimo captulo, se presentan las conclusiones y perspectivas futuras de
este trabajo.
Abstract
The main goal in mobile robotics is to provide autonomy to a mobile robot and there
are several issues to be solved to achieve this. Given the high complexity involved in this
task, each of these issues are studied as an isolated problem by most researchers. One
of these issues is trajectory tracking and it is related to robot navigation. In this work
the trajectory tracking problem in a dierential drive wheeled mobile robot is solved.
The main contributions with respect to previous works performed at CIDETEC-IPN
are 1) mobile robot can track more general trajectories which are not constrained to be
parametrized curves and 2) the dynamical model is taken into account during the design
stage.
Trajectory tracking is accomplished in a point-to-point mode and a trajectory gene-
rator is designed which receives a set of desired points and, as result, a smooth trajectory
is generated by using cubic splines to interpolate such desired points. Chapter 1 is con-
cerned with a literature review and with the statement of the general and the specic
objectives. The dynamical model of the wheeled mobile robot under study is analyzed
in chapter 2. The controller is designed, by taking into account the dynamical model,
in chapter 3. In this chapter, the trajectory generator is also presented. A simulation
study as well as several real time experimental results are presented in chapter 4. Two
experimental tests are presented: using a parametric trajectory and using a trajectory
deed by a set of desired points which are interpolated using cubic splines by the tra-
jectory generator. Finally, some concluding remarks are presented in chapter 5 as well
as a discussion on future work.
Agradecimientos
Esta tesis corresponde a los estudios realizados con una beca otorgada por la Secre-
taria de Relaciones Exteriores del Gobierno de Mexico.
A mis asesores de tesis, el Dr. Ramon Silva Ortigoza y el Dr. Victor Manuel
Hernandez Guzman, por la conanza depositada en mi persona y permitirme trabajar
con ellos. Les agradezco la oportunidad que me brindaron para crecer profesionalmente.
Al CIDETEC-IPN por brindarme la oportunidad de realizar mis estudios de maestra
y a sus docentes que aportaron y compartieron sus experiencias y conocimientos que
ayudaron en mi formacion academica y profesional.
A mis amigos y compa neros del CIDETEC, por su valiosa amistad a lo largo de toda
mi estancia en Mexico, D.F.
Dedicatoria
A Dios, supremo creador, gracias por todo lo que ahora tengo, por no abandonarme
en los momentos difciles y por permitir la culminacion de mis estudios.
A mis padres, hermanas y hermano quienes con su apoyo permitieron la culminacion
de mis estudios.
Indice general
1. Introduccion 1
1.1. Rese na historica de la robotica . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Robotica movil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1. Seguimiento de trayectoria de robots moviles . . . . . . . . . . . . 9
1.4. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5. Objetivos de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.2. Objetivos especcos . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6. Recursos empleados en la tesis . . . . . . . . . . . . . . . . . . . . . . . . 14
1.7. Contenido de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2. Modelo dinamico del robot movil de ruedas 17
2.1. Aspectos dinamicos en robotica movil . . . . . . . . . . . . . . . . . . . . 17
2.2. Restricciones no holonomicas . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3. Sistema Euler-Lagrange y restricciones no holonomicas . . . . . . . . . . 19
2.4. Metodo para incluir las restricciones no holonomicas en la dinamica del
sistema Euler-Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5. Analisis del modelo dinamico del robot movil de ruedas . . . . . . . . . . 21
2.6. Descripcion del prototipo a utilizar . . . . . . . . . . . . . . . . . . . . . 27
2.6.1. Estructura mecanica . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.6.2. Par ametros del robot movil de ruedas . . . . . . . . . . . . . . . . 29
2.6.3. Electronica de potencia . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6.4. Adquisicion de datos y control . . . . . . . . . . . . . . . . . . . . 32
3. Estudio de la ley de control y generacion de trayectorias 33
3.1. Control del robot movil de ruedas basado en el modelo dinamico . . . . . 33
3.2. Generacion de trayectorias . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.1. Empleo de polinomios c ubicos . . . . . . . . . . . . . . . . . . . . 37
3.2.2. Empleo de polinomios de orden cinco . . . . . . . . . . . . . . . . 38
3.2.3. Empleo de funciones spline . . . . . . . . . . . . . . . . . . . . . . 39
3.2.4. Denicion parametrica de algunas curvas de interes . . . . . . . . 42
3.3. Generacion de caminos en el plano cartesiano utilizando funciones spline 44
xv
xvi
INDICE GENERAL
4. Simulaci on e instrumentacion en tiempo real 49
4.1. Diagrama de bloques desarrollado en Simulink para simulacion . . . . . . 49
4.2. Simulacion del sistema en lazo cerrado . . . . . . . . . . . . . . . . . . . 50
4.2.1. Estacionamiento del robot movil . . . . . . . . . . . . . . . . . . . 50
4.2.2. Trayectoria parametrica en el tiempo . . . . . . . . . . . . . . . . 51
4.2.3. Trayectoria denida por puntos . . . . . . . . . . . . . . . . . . . 51
4.3. Diagrama de bloques desarrollado en Simulink para experimentos en tiem-
po real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4. Experimentos en tiempo real y analisis de los resultados . . . . . . . . . . 53
4.4.1. Estacionamiento del robot movil . . . . . . . . . . . . . . . . . . . 54
4.4.2. Trayectoria parametrica en el tiempo . . . . . . . . . . . . . . . . 54
4.4.3. Trayectoria denida por puntos . . . . . . . . . . . . . . . . . . . 54
5. Conclusiones y trabajos a futuro 65
Referencias 69
A. Publicaciones 73
A.1. Artculos en Revistas de Investigacion Internacionales con Arbitraje Es-
tricto no ISI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
A.2. Artculos en Revistas de Divulgacion y Difusion Cientca y Tecnol ogica 73
A.3. Artculos en Extenso (conferencias internacionales) . . . . . . . . . . . . 74
B. Prototipo de robot movil de ruedas tipo diferencial 75
C. Hoja de datos de la tarjeta de control 77
C.1. DS1104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
C.2. CLP1104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
D. Desarrollo de la funcion arctan en Simulink 83
Indice de guras
1.1. Clasicacion de los robots. . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Estructuras cinematicas de robots moviles. . . . . . . . . . . . . . . . . . 8
1.3. Kit de robotica y su aplicacion . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1. Cinematica de un robot no holonomo. . . . . . . . . . . . . . . . . . . . . 18
2.2. Robot movil de ruedas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3. Velocidades de los centros de las ruedas. . . . . . . . . . . . . . . . . . . 22
2.4. Relacion entre las velocidades de P
0
y de P
c
. . . . . . . . . . . . . . . . . 24
2.5. Diagrama de bloques del robot movil de ruedas. . . . . . . . . . . . . . . 27
2.6. Estructura mecanica del robot movil. . . . . . . . . . . . . . . . . . . . . 28
2.7. Inercias asociadas a la dinamica del robot movil. . . . . . . . . . . . . . . 30
3.1. Aproximacion utilizando polinomios c ubicos. . . . . . . . . . . . . . . . . 39
3.2. Aproximacion utilizando polinomios de distinto orden. . . . . . . . . . . 39
3.3. Aproximacion polinomica fragmentaria. . . . . . . . . . . . . . . . . . . . 40
3.4. Curvas parametrizadas en el tiempo. . . . . . . . . . . . . . . . . . . . . 43
3.5. Ejemplos del desempe no del generador de trayectorias. . . . . . . . . . . 47
4.1. Simulacion del sistema en Simulink. . . . . . . . . . . . . . . . . . . . . . 55
4.2. Gracas de simulacion del estacionamiento del robot movil en el eje x . . 56
4.3. Gracas de simulacion del estacionamiento del robot movil en el eje y . . 57
4.4. Seguimiento de una trayectoria (circunferencia), simulacion. . . . . . . . 58
4.5. Seguimiento de una trayectoria denida por puntos, simulacion. . . . . . 59
4.6. Experimento en tiempo real. . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.7. Gracas de experimentos en tiempo real del estacionamiento del robot
movil en el eje x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.8. Gracas de experimentos en tiempo real del estacionamiento del robot
movil en el eje y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.9. Seguimiento de una trayectoria (circunferencia), en tiempo real. . . . . . 63
4.10. Seguimiento de una trayectoria denida por puntos, en tiempo real. . . . 64
5.1. Errores asociados a los experimentos de seguimiento de trayectorias . . . 66
B.1. Piezas maquinadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
B.2. Prototipo de robot movil. . . . . . . . . . . . . . . . . . . . . . . . . . . 76
xvii
xviii
INDICE DE FIGURAS
C.1. Tarjeta de control DS1104. . . . . . . . . . . . . . . . . . . . . . . . . . . 77
C.2. Panel de conexiones CLP1104. . . . . . . . . . . . . . . . . . . . . . . . . 82
D.1. Pruebas de la funcion arctan en el controlador para el seguimiento de una
trayectoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Indice de tablas
2.1. Pesos del cuerpo del robot movil. . . . . . . . . . . . . . . . . . . . . . . 29
2.2. Pesos de las ruedas del robot movil. . . . . . . . . . . . . . . . . . . . . . 30
2.3. Inercias de las ruedas del robot movil. . . . . . . . . . . . . . . . . . . . 30
2.4. Radio de las ruedas del robot movil y longitud entre estas. . . . . . . . . 31
3.1. Puntos que se denen para la interpolacion polinomial. . . . . . . . . . . 38
3.2. Puntos que se denen para la interpolacion polinomial. . . . . . . . . . . 38
3.3. Puntos que se denen para probar el generador de trayectorias. . . . . . . 47
4.1. Puntos que denen la trayectoria a seguir. . . . . . . . . . . . . . . . . . 52
xix
xx
INDICE DE TABLAS
Captulo 1
Introduccion
En la actualidad el avance tecnologico en todo el mundo puede ser considerado como
rapido y vertiginoso, debido a que se tienen avances signicativos en areas de la com-
putacion, electronica, telecomunicaciones y robotica. El hablar de robotica y el concepto
mismo de esta palabra, que es bastante amplia y conlleva a tener muchas deniciones
de la misma, hace referencia a una diversidad de aplicaciones en distintas areas de la
ingeniera, industria, domestica y academia.
Los robots son utilizados generalmente en la industria con el n de sustituir al hom-
bre en tareas peligrosas, pesadas y agotadoras, pero este no es el unico lugar posible
para los robots, en los ultimos a nos comenzaron apareciendo en centros de investigacion
y universidades para el desarrollo de actividades de investigacion. La robotica como ma-
teria de estudio en el ambito academico en entidades educativas de muchos pases es
muy explotada, diferenciandose unas de otras por los recursos con los que cuentan y la
capacidad tecnologica de cada pas. Sin embargo, sera siempre un objetivo claro de toda
entidad educativa estar acorde al avance tecnologico en areas actuales de estudio como
lo es la robotica y sus aplicaciones, orientadas a resolver problemas que se presenten en
el entorno regional, nacional e internacional.
Es tanto el avance de la ciencia y tecnologa en el area de robotica que es una rea-
lidad que puedan efectuarse tareas complejas e interesantes, similares a las que realiza
el ser humano, es as que estudiarlos se ha vuelto muy com un por investigadores. Adi-
cionalmente a lo anterior, su impacto social, su aparente autonoma y notorio contenido
tecnologico origina que a pesar de su popularidad siga siendo admirado.
1.1. Rese na historica de la robotica
En el transcurrir del tiempo y a lo largo de toda la historia no cabe duda que el
hombre siempre se ha sentido motivado y fascinado por maquinas o dispositivos capaces
de imitar a seres vivos y realizar tareas donde no intervenga el hombre.
Durante los siglos XVII y XVIII se crearon estructuras mecanicas muy ingeniosas
que contaban con algunas caractersticas de los robots actuales, estos fueron creados en
su mayora por artesanos de la relojera y representaban guras humanas o animales, la
1
2 CAP
ITULO 1. INTRODUCCI
ON
construccion de maquinas se remonta desde la antig uedad hasta el siglo XIX [1].
Con el desarrollo de la ingeniera en sus diferentes areas como la mecanica, elec-
tronica, informatica y telecomunicaciones ha permitido la construccion de robots mo-
dernos, no obstante los acontecimientos de la robotica no se limitan a la ingeniera,
tambien involucran a las matematicas y la fsica teorica, de esta forma se utilizan fun-
damentos matematicos como los de Lagrange, Newton y Euler que son fundamentales
para el desarrollo de las ecuaciones que explican la dinamica de robots [2].
Cabe mencionar tambien que Asimov fue el primero en utilizar el termino robotica
en los relatos de su libro I robot [3], donde se formulan las tres leyes de la robotica.
Desde a nos atras hasta la actualidad la robotica ha ido evolucionando muy rapidamente,
lo anterior se presenta a continuacion en un resumen de los hechos acontecidos mas
importantes.
En 1938, H. Roselund y W. Pollard de la compa na Devilviss, construyen el primer
brazo articulado para realizar una tarea especca lo que permitio incorporar robots
a las cadenas de produccion industrial [4].
En 1954, George Devol establecio las bases de la robotica industrial moderna y
patent o un manipulador programable, concibiendo la idea de un dispositivo de
transferencia programada de articulaciones. Este fue el primer robot programable.
En 1955, J. Denavit y R. S. Hartenberg utilizan el algebra matricial para describir
y representar la geometra espacial de los elementos de un robot [5].
En 1978, se introdujo el robot PUMA (Programmable Universal Machine for
Assambly) para tareas de montaje por Unimation
1
, basandose en dise nos obtenidos
en un estudio de la General Motors. En [6] se presentan y se ilustran en forma
graca los resultados obtenidos a partir de experimentos en un robot PUMA 560,
sobre los problemas de las deformaciones que ocurren en un robot que trabaja en
contacto con el medio ambiente real y que pueden resolverse.
En 1979, se desarrollo el robot tipo SCARA (Selective Compliance Arm for Robo
tic). En [7] se presentan resultados experimentales para demostrar la viabilidad
del enfoque actual para la calibracion de los brazos SCARA, y se hacen tambien
recomendaciones practicas para los usuarios que necesitan calibrar estos robots.
En 1982, IBM introdujo el robot RS-1 para montaje, que despues de varios a nos
de desarrollo se consigue un robot de estructura de caja que utiliza un brazo
constituido por tres dispositivos de deslizamiento ortogonal.
En 1997, la nave robotica Pathnder envi o imagenes a nuestro planeta durante su
prolongado recorrido sobre la supercie marciana, transmitiendo 17,000 fotografas
y 8,000 millones de mediciones meteorologicas.
1
Primera empresa en producir un robot, fundada por George Devol y Joseph F. Engelberger en 1956.
1.1. RESE
NA HIST
ORICA DE LA ROB
OTICA 3
En 2000, se crea ASIMO (Advanced Step in Innovative Mobility) desarrollado por
Honda que es un robot humanoide capaz de interactuar con los seres humanos y
ayudarles, siendo sin duda una de las mayores proezas tecnologicas del siglo XXI.
En 2004, se desarrolla el robot Saya que fue probada en un aula real en Tokio con
un pu nado de alumnos de quinto y sexto grado, aunque solo puede pasar lista y dar
ordenes. Saya es controlada a distancia por una persona que observa la interaccion
por medio de camaras.
En 2005, es anunciado el robot humanoide llamado Emiew desarrollado por la
empresa japonesa Hitachi para competir con su similar Asimo de Honda. Seg un
sus creadores, mide 1.3 m y es el robot mas rapido del mercado moviendose a 6
km/h.
En 2009, unos cientcos japoneses dieron a conocer en Tsukuba, al noreste de
Tokio, un nuevo modelo de robot femenino capaz de caminar y de hablar, siendo
mucho mas humano que cualquiera de sus predecesores.
En 2010, La NASA y General Motors estan trabajando juntos para acelerar el
desarrollo de la proxima generacion de robots y de tecnologas relacionadas, para
el uso conjunto de las industrias automotriz y aeroespacial. Se construira un nuevo
robot humanoide, capaz de trabajar codo a codo con seres humanos, ya sea en la
fabricacion de autos mas seguros o asistiendo a los astronautas de la NASA en
misiones espaciales peligrosas.
En 2011, En Japon, se realiza la Primera Maraton Robotica singular evento
donde compiten cinco robots bpedos que recorreran mas de 42 kilometros, durante
cuatro das. Los peque nos humanoides deberan transitar por un circuito de 100
metros, que esta ubicado en un gimnasio, y al que tendran que dar 423 vueltas
completas antes de llegar a la meta.
El futuro de la robotica se visualiza en aumentar su movilidad, destreza y autonoma
de accion, tomando en cuenta que la mayora de los robots actuales cuentan con bases
estaticas y son utilizados en tareas industriales repetitivas (ensamblado, soldado, etc.).
Aunque cabe decir que existen diversas aplicaciones que han permitido la evoluci on en
gran medida, tanto de la concepcion de la robotica, como de su morfologa misma, as se
han desarrollado robots para aplicaciones especcas que van desde robots espaciales,
para aplicaciones submarinas y subterraneas, militares, moviles, de aplicaciones medicas.
En la Figura 1.1, se presenta un cuadro sinoptico de la clasicacion de la robotica.
En la siguiente seccion se abordara el tema de nuestro interes de estudio, el cual versa
sobre la robotica movil de ruedas, en particular la de traccion diferencial. Por lo tanto,
el resto de este documento se orientar a a esta aplicacion de la robotica.
4 CAP
ITULO 1. INTRODUCCI
ON
Figura 1.1: Clasicacion de los robots.
1.2. Robotica movil
El objetivo de un robot movil es que pueda moverse y desarrollar tareas en forma
autonoma con un proposito determinado, realizando una tarea especca y en benecio
del usuario. Estos robots son programados para que puedan desarrollar sus tareas con
la mayor autonoma posible, para lo cual son dotados con sensores y actuadores nece-
sarios para realizar la tarea encomendada, el robot adquiere informacion de su entorno
mediante sus sensores y de esa forma controla sus actuadores de acuerdo a una logica
de programacion determinada por el usuario.
En robotica movil existen diferentes formas de locomocion como son patas, orugas
y ruedas. La presente tesis esta orientado a los robot moviles de ruedas ya que son
una solucion mas simple para conseguir una buena movilidad en terrenos duros y li-
bres de obstaculos, permitiendo conseguir velocidades relativamente altas, pero tambien
presentan limitaciones debido a que la locomocion en terrenos blandos es poco eciente
[8].
Si realizamos un resumen historico, de los hechos mas importantes, sobre la robotica
1.2. ROB
OTICA M
OVIL 5
movil de ruedas tomando en cuenta su aplicacion, construccion y ultimas investigaciones
realizadas, que contribuyeron al avance en esta area, podemos tener el siguiente crono-
grama:
En 1953, el primer robot movil de la historia fue ELSIE (Electro Light Sensi-
tive Internal External), construido en Inglaterra, se limitaba a seguir una fuente
de luz utilizando un sistema mecanico realimentado sin incorporar inteligencia
adicional.
En 1968, aparecio el robot Shakey del SRI (Standford Research Institute), que
estaba provisto de una diversidad de sensores, as como una camara de vision y
sensores tactiles, y poda desplazarse por el suelo.
En 1970, se lanzo el Lunokhod-1, un robot movil dise nado por los rusos que fue
teledirigido desde la tierra, y realizo maniobras sobre la Luna. Desde entonces, la
robotica espacial no ha hecho mas que crecer y en la actualidad se tienen buenas
perspectivas de este sector.
En 1984, en el laboratorio de robotica movil del MIT
2
, Brooks Rodney Allen al
terminar su doctorado (1981) en la Universidad de Stanford, EE.UU., constru-
yo robots simples que podan ejecutar acciones imitando insectos, bajo la premisa
de que el aprendizaje practico se logra por la interacci on con el mundo real.
En 1995, Valentino Braitenberg, director del Max Planck Institute en T ubingen
Alemania, construyo un robot movil extremadamente simple, ya que ni siquiera
cuenta con un sistema de control que se pueda considerar inteligente. Se trata
basicamente de dos motores montados en un chasis y un peque no circuito elec-
tronico que invierte el sentido de movimiento de uno de ellos (polaridad) cuando
la intensidad luminosa es detectada por una celula.
En 1996, un grupo de estudiantes de la Universidad La Salle, Mexico D.F., crean
un robot movil peque no y rapido, dicho robot es guiado por fotosensores y es capaz
de seguir una trayectoria.
En 2002, los ingenieros en sistemas del Computing Culture Department (Depar-
tamento de Cultura Informatica) del MIT, crean el robot periodista denominado
Afghan Explorer que viene equipado con todo lo necesario para llevar a cabo en-
trevistas y recoger primicias.
En 2003, investigadores del Centro de Automatizacion, Robotica y Tecnologas de
la Informacion y de la Fabricaci on (CARTIF) de la cuidad de Valladolid en Espa na,
desarrollan un robot movil que puede inspeccionar de forma remota roturas o fugas,
en el interior de las tuberas de desag ue de municipios espa noles.
2
Estas siglas signican Massachusetts Institute of Thecnology ubicada en Cambridge Massachusetts.
6 CAP
ITULO 1. INTRODUCCI
ON
En 2004, se envi o a Marte el robot movil Spirit y su gemelo Opportunity con el
objetivo de explorar el planeta rojo durante tres meses.
En 2005, se desarrolla un robot movil llamado Horus en la Escuela de Ingeniera
de la Universidad Bonaterra de Aguascalientes de Mexico, que fue probado en la
exigente competencia internacional de robotica, SAE Robotic Systems Challenge,
celebrado en la Ecole Polytechnique en la ciudad de Montreal, Canada.
En 2006, investigadores de la Universidad Carnegie Mellon desarrollan un nuevo
tipo de robot movil que se balancea en una bola en vez de piernas, el creador de
la robopelota, es el profesor Ralph Hollis presentando de esta manera un nuevo
paradigma en la robotica movil.
En 2007, el Instituto Nacional de Astrofsica,
Optica y Electronica (INAOE) inau-
gura las instalaciones de su Laboratorio de robotica, en el cual se desarrollaran
principalmente proyectos de robots moviles.
En 2008, la Delegacion Mexicana realizo un proyecto de robotica movil y meca-
tronica, patrocinado por la empresa alemana Festo, se construyo un robot movil
llamado RoboTino que luego fue donado a la Universidad del Valle de Mexico
(UVM).
En 2009, el doctor del departamento de Informatica e Ingeniera de Sistemas de la
Universidad de Zaragoza, Javier Mnguez present o, en el III Congreso Internacional
sobre Domotica, Robotica y Teleasistencia para todos celebrado en Barcelona, dos
dispositivos roboticos de rehabilitacion basados en interfaces cerebro-ordenador:
una silla de ruedas y un robot para teleoperacion.
En 2010, Investigadores de la Universidad de Guanajuato trabajan en el dise no de
un control de locomocion para un robot movil de exterior tipo oruga, con el objetivo
de que este pueda ser utilizado para la exploracion de terrenos irregulares. Dicho
proyecto parte de la necesidad de contar con un robot movil capaz de desplazarse
en entornos donde no le es posible acceder al ser humano como de difcil acceso o
campos minados.
En 2011, La NASA enviara un robot movil llamado Curiosity el cual realizara
medidas de temperatura, humedad, presion y nivel de radiacion ultravioleta. El
robot recogera datos para hacer posible aterrizar una nave tripulada en el planeta
Marte, quiza el siguiente gran reto espacial de la Humanidad y un reto de la NASA.
El robot movil, equipado con una batera nuclear esta dise nado para desplazarse
a traves de todo tipo de terrenos gracias a sus seis ruedas.
Una vez revisado el resumen cronologico de la robotica movil de ruedas, es necesario
tambien denir los arreglos topologicos de las estructuras cinematicas mas utilizadas para
la investigaci on y aplicacion de los mismos, ya que nos permitiran ver las diferencias que
existe entre estos. De tal forma, que la eleccion de una estructura cinematica estara en
1.2. ROB
OTICA M
OVIL 7
funcion de las ventajas que presenten y la aplicacion para la cual este destinado el
robot movil. A continuacion se presenta una descripcion breve de dichas estructuras
cinematicas [9]:
Ackerman. Su locomocion se basa en cuatro ruedas convencionales como se muestra
en la Figura 1.2(a), el sistema consta en dos ruedas traseras de traccion y dos
ruedas delanteras para el direccionamiento que se utilizan para seguir la trayectoria
que se le impone al robot. En esta conguracion de robot movil se tienen dos
angulos de giro, uno asociado a cada rueda, los cuales genera mayor dicultad a
la hora de dise nar un control. Por lo anterior, es conveniente unicar los angulos
de direccionamiento de ambas ruedas en uno solo, por lo que los radios de giro
para los cuales el robot no muestra deslizamiento lateral son mayores que en otras
conguraciones. El mayor problema de esta conguracion es la limitacion de la
maniobrabilidad.
Triciclo clasico. El sistema de locomocion se basa en una rueda delantera que
sirve como de traccion y direccionamiento, las ruedas traseras son pasivas y se
mueven libremente, la rueda delantera le da mayor maniobrabilidad pero a su
vez causa que presente problemas de estabilidad en terrenos difciles, una de sus
limitaciones es que el centro de gravedad tiende a desplazarse cuando el vehculo
se mueve por una pendiente, provocando la falta de traccion, en la Figura 1.2(b)
se muestra el robot movil. Esta conguracion puede presentar variantes como el de
implementarle traccion en las ruedas traseras, y as presentar ventajas con respecto
al de traccion diferencial por su simplicidad.
Traccion diferencial. Se caracteriza por la diferencia de velocidades de las ruedas
laterales, cuenta con dos ruedas que proporcionan traccion y direccionamiento al
movil como se muestra en la Figura 1.2(c). Este sistema es muy util por la habilidad
de movimiento del movil permitiendo cambiar su orientacion sin movimientos de
traslacion. Las variables a controlar son las velocidades angulares de cada rueda,
izquierda y derecha. En este dise no es relativamente simple la programacion y
construccion. El robot con esta estructura es capaz de moverse sobre su propio eje y
de realizar movimientos de diversos tipos de curvas. Una consideracion importante
es el equilibrio que debera tener el robot, para lo cual se tiene que buscar un apoyo
adicional a las ruedas ya existentes pudiendo implementarse dos ruedas de apoyo
en una estructura.
Traccion omnidireccional. Se basa en la utilizacion de tres ruedas directrices y
motrices, por lo que tiene un amplio rango de movimiento y puede posicionarse en
cualquier orientaci on, se considera que cuenta con tres grados de libertad, el robot
movil se muestra en la Figura 1.2(d). Los robots omnidireccionales han sido am-
pliamente utilizados en diversas aplicaciones, especialmente academicas, tales como
competencias entre universidades. Estos robots son capaces de alcanzar cualquier
posicion sin necesidad de rotar previamente a traves de una trayectoria recta, por
8 CAP
ITULO 1. INTRODUCCI
ON
lo que proveen una alta movilidad. Estas estructuras cinematicas proveen por lo
tanto mayor utilidad respecto de aquellos no-omnidireccionales, principalmente
en ambientes complejos, tales como ambientes cerrados que presenten obstaculos
tanto estaticos como dinamicos.
(a) Robot movil de cuatro ruedas. (b) Robot movil tipo triciclo clasico.
(c) Robot movil de traccion
diferencial.
(d) Robot movil de traccion omnidirec-
cional.
Figura 1.2: Estructuras cinematicas de robots moviles.
De lo expuesto anteriormente, cabe mencionar que en el presente trabajo se uti-
lizara la estructura cinematica de traccion diferencial que adicionalmente tiene una vari-
ante ya que utiliza un par de ruedas de bolas en los extremos ortogonales a la posicion
de las ruedas de traccion para darle estabilidad y que pueda soportar el peso que tiene
encima y as simplicar el movimiento de giro tal como se explica en la tesis [10].
1.3. Estado del arte
Como se observo en la anterior seccion, en el transcurrir del tiempo se han realizado
avances signicativos en la robotica movil, y lo que tienen en com un todas las investi-
gaciones es que convergen en el problema de dotarle de total autonoma, para lo cual ya
1.3. ESTADO DEL ARTE 9
se han realizado varias tareas de investigaci on y aun as sigue siendo de interes y dig-
no de estudio el buscar e implementar nuevas leyes de control que le permitan realizar
tareas en forma autonoma. Dentro de estas tareas de investigaci on que se han venido
desarrollando en el area de robotica movil se pueden mencionar las siguientes:
Posicionamiento o localizacion
Planicacion de caminos o trayectorias
Seguimiento de trayectorias
Regulacion o estabilizacion a un punto de equilibrio
Evasion de obstaculos
En este trabajo el interes se enfoca en darle solucion al problema de seguimiento de
trayectorias, as sobre este problema se desarrolla el estado del arte. Cabe mencionar
que para la realizacion de esta seccion se utilizo material que tiene la caracterstica de
ser indizado, as como el uso de referencias bibliogracas.
1.3.1. Seguimiento de trayectoria de robots moviles
Antes de la decada de los 90s la planicacion de caminos se orientaba a soluciones
geometricas sin prestar atencion a las limitaciones impuestas por la no holonoma de los
sistemas moviles. En la actualidad se pueden considerar las restricciones dinamicas de
un robot movil para la planicacion de trayectorias [11].
En [12] se presenta una solucion a la planicacion de caminos basado en el metodo
de ecuaciones diferenciales parciales, donde los resultados obtenidos son aplicados a
un robot movil de ruedas mostrando su efectividad. En [13] se presenta un metodo
para la planicacion de caminos basados en obstaculos virtuales obteniendo resultados
experimentales en tiempo real.
Desde el punto de vista de la ingeniera de control el principal problema asocia-
do a sistemas no holonomicos es la estabilizacion, la planicacion de un camino y el
seguimiento de este camino [14], [15].
En [16] aborda el problema de seguimiento de trayectoria realizando un control para
un sistema no holonomico para el seguimiento de un camino pre-planicado, se presenta
un enfoque global para resolver este problema, el cual esta determinado de la siguiente
manera:
a) Planicacion del camino. En esta etapa se genera un camino desde un punto inicial
a un punto nal, tomando en cuenta las restricciones no-holonomicas.
b) Generacion de la trayectoria. En esta etapa se impone los perles de velocidad
angular para convertir el camino planicado en trayectoria deseada.
10 CAP
ITULO 1. INTRODUCCI
ON
c) Seguimiento de la trayectoria. En esta etapa se aplica el control en tiempo real
para el seguimiento de trayectorias.
Tambien se han realizado investigaciones en la b usqueda de caminos en terminos
geometricos introduciendo el concepto de espacio de conguraciones, que dene el espacio
fsico de trabajo del sistema y dentro del cual el robot movil esta localizado por su
posicion y orientaci on [17].
En lo referente al control de robots moviles de ruedas, el estudio de la planicacion
y seguimiento de trayectoria ha sido muy abordado por muchos investigadores, para lo
cual han desarrollado diferentes modelos (cinematico y dinamico), as como de diferentes
tecnicas de control automatico que permiten llevar a cabo de forma eciente su control.
Uno de los metodos mas empleados en el problema de seguimiento de trayectorias es
aquel que hace uso de metodos geometricos de seguimiento mediante persecucion pura
(pure pursuit) que consiste en generar arcos entre el punto de desplazamiento del movil
y los puntos de la trayectoria a seguir, dichos arcos son generados de 10 a 15 veces por
segundo lo que permite un seguimiento suave [18], otro metodo para el seguimiento de
trayectoria es el de ajuste de polinomios de quinto orden (Quintie Polinomial Fit) [19].
En robotica movil, es necesario planicar movimientos y controlarlos para garantizar
trayectorias seguras y precisas, lo cual conllevan a enfrentar diversos problemas entre
los que se destaca el seguimiento de caminos que, para los robots moviles de ruedas, se
determina teniendo en cuenta la posicion y la orientacion actual del vehculo con respecto
a un trayecto y coordenadas a seguir [20]. Una tecnica empleada para el seguimiento
de trayectorias es la linealizacion de entrada-salida que involucra retroalimentaci on no
lineal con denicion de nuevas entradas [21], lo cual impone que las variables de estado
tiendan asint oticamente a la trayectoria deseada. En [22] se utiliza esta tecnica para
denir trayectorias deseadas como las de una lnea recta y una curva de forma de espira,
en ambas deniciones se emplea un polinomio para el seguimiento de la trayectoria. En
[23] se utilizo el modelo cinematico y se desarrollo un control para un robot movil de
ruedas tipo diferencial, sin utilizar medidas de variables mecanicas en el control de sus
actuadores, basandose en el metodo de linealizacion de entrada-salida aplicada a una
trayectoria de una parabola y presentando resultados satisfactorios en simulaci on.
En algunos trabajos relacionados, para resolver el problema de seguimiento de trayec-
toria, utilizan mucho el dise no de control por el metodo de Lyapunov [24], linealizacion
aproximada [25] y linealizacion por entrada-salida [26], [27]; este ultimo metodo es muy
utilizado en robots moviles de ruedas.
En [28] se hace una investigacion para un robot movil de ruedas no holonomico
en el seguimiento de trayectoria con una ley de control que considere la dinamica del
movil, y pone en evidencia que puede presentar problemas en el dise no del control y
en el analisis de estabilidad, mostrando que la dinamica interna del movil juega un
rol importante en el seguimiento de trayectorias. En [29] se realiza el seguimiento de
trayectoria para un robot movil de ruedas considerando las limitaciones del torque de
entrada de los actuadores (motores) que se deben a las limitaciones de potencia de los
mismos, el dise no del control se basa en la dinamica del movil que permite planicar
perles de velocidad restringidas a cumplir limitaciones del torque de los motores del
1.4. PLANTEAMIENTO DEL PROBLEMA 11
movil. Tambien en los trabajos [30], [31] y [32] se proponen metodos de control como
son modos deslizantes y estructura variable, ambos metodos estan basados en el modelo
dinamico del robot movil para resolver el problema de seguimiento de trayectoria.
En [33] se presenta una estrategia de control en tiempo discreto para el seguimiento
de trayectoria de un robot movil controlado remotamente, donde la estrategia de control
se basa en el enfoque de modos deslizantes. En [34] propone un control de seguimiento de
trayectoria de un robot movil de ruedas usando sistemas de estructura variable, donde la
posicion del movil es representada por coordenadas polares, y se presenta un algoritmo
de control por modos deslizantes para la estabilizacion asintotica del robot movil a la
trayectoria deseada.
En [35] se presenta un metodo rapido para planicar una trayectoria y control de
la posicion de los robots moviles con ruedas en un partido de f utbol de robots, donde
se aprovecha una sencilla propuesta de algoritmo de planicacion de la trayectoria [36].
En el torneo de f utbol una camara capta las imagenes del juego que son enviadas y
procesadas por un ordenador y basandose en esta informacion y la estrategia del partido
de f utbol puede denir las posiciones de destino para los robots del equipo. Para cada
robot, el ordenador genera una referencia de tal forma que se evite cualquier obstaculo
y luego calcula las se nales de control aplicables a cada rueda y as llegar a su destino.
En la actualidad las nuevas herramientas de software ayudan mucho a la investi-
gacion y en este caso especco los lenguajes de programacion, que en combinacion de
algunas herramientas, permiten simular trayectorias deseadas de robots moviles. En [37]
se construye un ambiente simulado en computadora para llevar a cabo el seguimiento de
trayectoria de un robot movil utilizando algunas herramientas de programacion Basic 7
con rutinas de lectura de pantalla en lenguaje de ensamblador.
En [38] se considera un sistema mecanico no holonomico y se aplica un control basado
en pasividad para pruebas de estabilizacion, que posteriormente es aplicado a robots
moviles considerando el modelo dinamico.
Todos los trabajos mencionados anteriormente estan orientados a la b usqueda de una
sucesion de posiciones de un robot movil que permiten llevarlo de un estado inicial a uno
nal, entendiendose como estado a la ubicacion del robot en un plano de coordenadas
cartesianas denida por x y y, que representan la posicion del centro del robot, y que
es la orientacion angular del eje principal del robot movil.
1.4. Planteamiento del problema
En el ambito academico y de investigaci on, tanto universidades como tecnologicos y
centros de investigaci on, el resolver problemas asociados a robotica movil, como lo son
la regulacion, el seguimiento de trayectorias o la evasi on de obstaculos, generalmente
conlleva al empleo de kits comerciales, y si bien estos hacen uso extenso de sensores
que los hacen amigables y faciles de programar, y que en ocasiones emplean tecnicas
de control automatico para resolver algunos de los problemas mencionados, estos se
caracterizan por ser de arquitectura cerrada. En la Figura 1.3(a) y Figura 1.3(b), se
12 CAP
ITULO 1. INTRODUCCI
ON
muestra uno de estos kits de robotica y su aplicacion en seguimiento de una trayectoria
establecida.
(a) Kit de robotica movil
Lego.
(b) Robot movil Lego, en el seguimiento
de trayectoria.
Figura 1.3: Kit de robotica y su aplicacion
A diferencia de lo mencionado anteriormente, la robotica movil se puede considerar
como digna de estudio para aplicar conceptos teoricos de control basados en modelos
matematicos que describan el comportamiento del mismo, y de esta forma dotarle de la
mayor autonoma posible.
Se puede decir que para el seguimiento de trayectorias punto a punto existen dos
formas de solucion: La primera que no se reporta en este trabajo, pero no menos im-
portante se basa en la automatizacion utilizando sensores instalados en el robot movil
y de esa forma realizar el seguimiento de una trayectoria establecida. En contraparte,
la solucion a este problema consiste en dise nar leyes de control basadas en el modelo
matematico (como se ven en los artculos referenciados) que gobierne a los actuadores
del robot movil y de esa forma realice el seguimiento de una trayectoria deseada con el
mnimo de error posible.
El problema de llevar un robot movil de un punto a otro es que llegue, al punto
nal, con la misma direccion con la que partio en el punto inicial, si se tiene puntos
muy cercanos donde no varia mucho el angulo de direccion sera mas facil que el movil
llegue al otro punto manteniendo su direccion, pero si se tiene un punto mas lejano se
complica a un mas que el movil llegue al punto nal con la direccion inicial, esto se debe
que mientras mas alejado este el punto nal del inicial se incrementan las opciones por
donde el robot movil puede intentar llegar al punto nal. Para resolver el problema de
seguimiento de trayectoria algunos autores proponen un control muy extenso en cuanto
a su ecuacion matematica, que son muy difciles de instrumentar en un prototipo y
otros que son muy sencillos pero que carecen de fundamento matematico. El control que
se pretende implementar tendra la caracterstica de ser relativamente sencillo y que se
fundamente en un modelo matematico, en este trabajo se utiliza el modelo basado en la
dinamica del robot movil de ruedas a diferencia de otros trabajos donde generalmente se
utiliza el modelo basado en la cinematica de la estructura del robot movil bajo estudio,
1.5. OBJETIVOS DE LA TESIS 13
de tal manera que la ley de control tome en cuenta el torque asociado a cada motor
para realizar la actuacion del movil. Como se pudo observar en el estado del arte el
objetivo en robotica movil seguira siendo de dotarle de total autonoma al robot movil,
por lo tanto, cada publicacion y trabajo realizado referente a este tema contribuye en
gran medida en resolver las problematicas mencionadas anteriormente.
Con base en los trabajos desarrollados en el area de Mecatronica del CIDETEC-IPN
[39] y [10], donde se realizo la construccion de un prototipo del robot movil de ruedas de
tipo diferencial, para ejecutar el seguimiento de trayectorias y la evasion de obstaculos,
e incluyendo el presente trabajo, podran dar lugar a la replica de dicho prototipo y
aplicarlo a la ense nanza en universidades y tecnologicos del entorno regional de mi pas,
permitiendo de esta forma la transferencia tecnologica y de conocimientos en el marco
de la cooperacion educativa.
1.5. Objetivos de la tesis
En esta seccion se realiza el planteamiento de los objetivos de la tesis, los cuales se
dividen en objetivo general y objetivos especcos. Los objetivos responden a lo que se
desea lograr con el desarrollo de este trabajo.
1.5.1. Objetivo general
El prototipo de robot movil de ruedas, del cual se hizo uso en la presente tesis, fue
dise nado y construido con nes didacticos y para su aplicacion en futuras investigaciones.
Por lo tanto, el objetivo de este trabajo consiste en dise nar una ley de control, basada en
el modelo dinamico de un robot movil de ruedas de tipo diferencial, que permita realizar
la tarea de seguimiento de trayectoria punto a punto.
1.5.2. Objetivos especcos
Con la intenci on de lograr el objetivo general, a continuacion se describen los objetivos
especcos sobre el problema a desarrollar.
1. Estudiar y caracterizar el modelo dinamico del robot movil de ruedas tipo dife-
rencial.
2. Estudiar un controlador para el seguimiento de trayectoria punto a punto basado
en el modelo dinamico del robot movil, y realizar las simulaciones numericas con
la ayuda de Matlab
-Simulink
.
3. Dise nar un generador de trayectorias.
4. Integrar el controlador desarrollado en el numeral 2 con el generador de trayec-
torias del numeral 3, para el control del robot movil de ruedas, que permitan
realizar la tarea de seguimiento de trayectoria punto a punto. Asimismo, llevar a
14 CAP
ITULO 1. INTRODUCCI
ON
cabo las simulaciones correspondientes a la integracion del sistema completo, para
determinar su desempe no y eciencia.
5. Conectar el software Matlab
-Simulink
-Simulink
y
ControlDesk.
Una computadora con los siguientes requisitos mnimos, para un buen funciona-
miento y desempe no del DSP, Pentium 4 a 1.75 GHz con 1.50 Gb de RAM.
Equipos de laboratorio: Osciloscopio, multmetro y fuente de voltaje regulable.
El Software de simulacion Matlab
-Simulink
-Simulink
, as como la imple-
mentaci on experimental de la ley de control, en el prototipo del robot movil de ruedas
tipo diferencial, con la ayuda de Control Desk y la tarjeta DS1104.
En el Captulo 5 se presentan las conclusiones y trabajos a futuro sobre la tesis
desarrollada.
Finalmente, en el apendice A se presentan las publicaciones relacionadas con el
tema de tesis. En el apendice B se presenta el prototipo de robot movil de ruedas tipo
diferencial, mostrando la estructura mecanica y los circuitos electronicos utilizados. En
el apendice C se presentan las hojas tecnicas de la tarjeta de control DS1104.
16 CAP
ITULO 1. INTRODUCCI
ON
Captulo 2
Modelo dinamico del robot movil de
ruedas
Este captulo se dedica al estudio del modelo dinamico del robot movil de ruedas de
tipo traccion diferencial. Primero se aborda el problema de las restricciones no holonomi-
cas aplicado a sistemas moviles as como la metodologa para incluirlas en la dinamica
del sistema Euler-Lagrange. Posteriormente, se presenta el analisis del modelo dinamico
del robot movil bajo estudio. Finalmente se realiza la descripcion del prototipo que se
utiliza en la presente tesis, as como los parametros asociados al robot, los cuales seran
de gran utilidad en el proceso de validaci on de la ley de control que se dise n o en el
siguiente captulo, tanto a nivel simulacion como a nivel experimental.
2.1. Aspectos dinamicos en robotica movil
Por lo general, en robotica movil se estudia el movimiento que realizan estos sistemas
sin analizar las fuerzas que lo producen. Tomando en cuenta, que las velocidades lineales
y angulares vienen dadas por las fuerzas y pares que se aplican a la estructura mecanica y
dependen tambien de las magnitudes de las masas y su distribucion, el estudio del modelo
dinamico de un robot movil es por lo general mas difcil, y por eso la consideracion de
dicho modelo complica el desarrollo e implementacion de leyes de control, que muchas
veces han sido dise nadas utilizando el modelo cinematico, seg un se pudo ver en el estado
del arte presentado en el primer captulo. La consideracion del uso del modelo dinamico
en robotica movil se hace imprescindible cuando se requiere realizar movimientos rapidos
involucrando aceleraciones y masas de los mismos. En el estudio del comportamiento
dinamico de un robot movil es necesario tomar en cuenta conceptos relacionados con las
distribuciones de masas y las inercias.
17
18 CAP
OVIL DE RUEDAS
2.2. Restricciones no holonomicas
En robotica movil, los robots cuyos movimientos estan sujetos a una serie de restriccio-
nes no integrables que involucran las derivadas con respecto al tiempo del vector de
conguracion q estan clasicados como sistemas no holonomicos [40].
Considere la conguracion cinematica de traccion diferencial con un eje en com un,
pero con actuadores en las llantas en forma independiente como se muestra en la Figura
2.1. Suponiendo que no exista deslizamiento en las llantas, el movimiento en cada llanta
esta restringida a su direccion longitudinal con velocidades v
r
y v
l
, respectivamente,
mediante una simple restriccion no holonomica. En resumen, el movimiento no puede
acontecer a traves del eje coordenado del robot y
m
, pero si en la direccion del eje coor-
denado x
m
, donde v
c
es la velocidad del centro del robot movil.
o
X
Y
x
p
y
p
v
l
v
c
v
r
x
m
y
m
Figura 2.1: Cinematica de un robot no holonomo.
Entonces podemos decir que son aquellas restricciones que dependen de la veloci-
dad, ademas que exige no sea integrable y no se pueda obtener derivando una restric-
cion holonoma. En un robot de n grados de libertad, las variables que representan su
movimiento se agrupan en un vector q = [q
1
, q
2
, . . . , q
n
]
T
. Considerando la siguiente
restriccion lineal en las velocidades se tiene:
a
1
(q) q
1
+ a
2
(q) q
2
+ + a
n
(q) q
n
= 0. (2.1)
Si se supone que los terminos a(q) se pueden escribir como:
a
1
(q) =
h(q)
q
1
, a
2
(q) =
h(q)
q
2
, . . . , a
n
(q) =
h(q)
q
n
.
Entonces, la restriccion (2.1) se puede escribir como:
n
k=1
h(q)
q
k
q
k
=
dh(q)
dt
= 0, (2.2)
si se integra la ecuacion (2.2) implica que h(q) = constante. En este caso se dice que la
restriccion expresada por la ecuacion (2.1) es holonomica porque puede ser integrada. Si
no existe una funcion h(q) que pueda ser obtenida mediante integracion de la restriccion
(2.1) entonces se dice que dicha restriccion es no holonomica.
2.3. SISTEMA EULER-LAGRANGE Y RESTRICCIONES NO HOLON
OMICAS 19
2.3. Sistema Euler-Lagrange y restricciones no holo-
nomicas
Si un sistema Euler-Lagrange esta sometido a restricciones holonomicas, entonces las
conguraciones que puede alcanzar el sistema estan restringidas a un subespaciono
lineal por lo que las ecuaciones
d
dt
_
L
q
_
L
q
= , (2.3)
que pueden ser evaluadas en h(q) = constante para obtener un modelo matematico
simplicado que generalmente queda expresado en terminos de un n umero mas reducido
de variables. Se considera sistemas Euler-Lagrange que estan sometidos a m restricciones
no holonomicas, las cuales pueden expresarse de manera matricial como:
A(q) q = 0, (2.4)
notese que el i-esimo reglon de la matriz A(q) R
mn
, representado por A
i
, constituye la
i-esima restriccion no holonomica. Para incluir las restricciones (2.4) en las ecuaciones de
Euler-Lagrange (2.3) se procede del siguiente modo: Se considera que las m restricciones
ejercen fuerzas generalizadas externas,
i
, sobre el sistema Euler-Lagrange. Estas fuerzas
de restriccion deben ser conservativas, es decir, no deben realizar trabajo sobre el sistema,
esto signica que
T =
i
d = 0, (2.5)
donde T es el trabajo,
i
es la fuerza aplicada por la restriccion i y
d es la distancia
generalizada recorrida bajo la inuencia de la fuerza
i
. La condicion (2.5) signica que
la direccion en que se mueve el sistema Euler-Lagrange debe ser perpendicular a
i
, es
decir
i
q = 0, (2.6)
y de acuerdo a A(q) q = 0 esto implica que la fuerza generalizada ejercida por la res-
triccion i,
i
, debe ser paralela al i-esimo reglon de A(q). Por tanto, las ecuaciones
Euler-Lagrange representadas por (2.3) deben modicarse del siguiente modo:
d
dt
_
L
q
_
L
q
=
1
+
2
+ +
m
+, (2.7)
d
dt
_
L
q
_
L
q
= A
T
(q) +, (2.8)
= [
1
,
2
, . . . ,
m
]
T
, (2.9)
donde las
i
s son escalares que tienen que ver con la magnitud de la fuerza generalizada
ejercida por la restriccion i.
20 CAP
OVIL DE RUEDAS
2.4. Metodo para incluir las restricciones no holono-
micas en la dinamica del sistema Euler-Lagrange
Un sistema Euler-Lagrange con coordenadas generalizadas q R
mn
sometido a m
restricciones no holonomicas, linealmente independientes representadas por la ecuacion
(2.4), donde A(q) R
mn
tiene un rango m. Entonces existen nm vectores linealmente
independientes de n dimensiones, S
i
(q), tales que:
A(q)S
i
(q) = 0,
es decir, existe una matriz S(q) de n (n m) tal que
A(q)S(q) = 0, (2.10)
notese que S
i
(q) es la i-esima columna de S(q). Multiplicando la expresion anterior por
un vector (t) R
nm
se obtiene
A(q)S(q)(t) = 0, (2.11)
comparando la ecuacion (2.11) con (2.4) se observa que se puede escribir
q = S(q)(t). (2.12)
Considerando el modelo dinamico del sistema Euler-Lagrange sometido a las m restriccio-
nes:
d
dt
_
L
q
_
L
q
= A
T
(q) +, (2.13)
M(q) q + C(q, q) q + g(q) = A
T
(q) + B(q), (2.14)
donde B(q) R
nr
, con r el n umero de entradas y derivando la ecuacion (2.12) se tiene:
q =
S(q)(t) + S(q) (t). (2.15)
Sustituyendo (2.12) y (2.15) en (2.14) y multiplicando por S
T
(q) se obtiene:
S
T
(q)
_
M(q)
_
S(q)(t) + S(q) (t)
_
+ C(q, q) [S(q)(t)] + g(q)
_
= S
T
(q)
_
A
T
(q) + B(q)
_
. (2.16)
Usando la ecuacion (2.10) se obtiene:
A(q)S(q) = 0 = S
T
(q)A
T
(q) = 0. (2.17)
Sustituyendo (2.17) en (2.16) se tiene:
S
T
(q)
_
M(q)
_
S(q)(t) + S(q) (t)
_
+ C(q, q) [S(q)(t)] + g(q)
_
= S
T
(q) {B(q)} . (2.18)
2.5. AN
OVIL DE RUEDAS 21
De la ecuacion (2.18) obtenemos el siguiente modelo dinamico:
q = S(q)(t), (2.19)
M(q) (t) +
C(q, q)(t) + g(q) =
B(q), (2.20)
donde:
M(q) = S
T
(q)M(q)S(q),
C(q, q) = S
T
(q)
_
M(q)
S(q) + C(q, q)S(q)
_
,
g(q) = S
T
(q)g(q),
B(q) = S
T
(q)B(q).
2.5. Analisis del modelo dinamico del robot movil
de ruedas
El robot movil a utilizar cuenta con dos ruedas de radio r, cada una de las cuales es
actuada por un motor electrico independiente, y cuya separacion entre ambas es igual
a 2b. Las ruedas estan colocadas simetricamente una a cada lado del robot y giran de
forma independiente sobre el mismo eje de simetra. En esta estructura existen una o dos
ruedas mas del tipo de bolas, las cuales sirven para dar estabilidad a la estructura del
robot de tipo diferencial. Ademas, se supone que el robot bajo estudio se mueve sobre un
plano horizontal, por lo que no existe efecto de gravedad. En la Figura 2.2 se muestra el
robot movil de ruedas tipo diferencial. A continuacion se detallan el resto de las variables
involucradas con el movimiento del robot, las cuales se utilizan mas adelante:
o
X
Y
x
y
2
b
d
2
r
P
0
P
c
Figura 2.2: Robot movil de ruedas.
(x, y) son las coordenadas del punto P
0
, es decir, el punto com un al eje de simetra
longitudinal y al eje sobre el que giran ambas ruedas.
representa la orientaci on del movil. Se mide como el angulo entre el eje longitu-
dinal perpendicular al eje de simetra de las ruedas del movil y el eje X positivo.
22 CAP
OVIL DE RUEDAS
r
es el angulo descrito por la rueda derecha cuando se produce un desplazamiento
angular (debido a la vista de la Figura 2.2 no se ve esta variable en ella).
l
es el angulo descrito por la rueda izquierda cuando se produce un desplazamiento
angular (debido a la vista de la Figura 2.2 no se ve esta variable en ella).
P
c
representa la ubicacion del centro de masa de la plataforma principal del robot
movil. Este punto esta sobre el eje longitudinal perpendicular al eje de simetra de
las ruedas a una distancia d respecto al eje de las ruedas.
m
c
y m
w
son las masas de la plataforma principal del movil y de cada una de las
ruedas con su motor, respectivamente.
I
c
, I
w
e I
m
son las inercias de la plataforma principal del movil alrededor de un eje
vertical que pasa por P
c
, de cada rueda con su motor alrededor del eje de la rueda
(horizontal) y de cada rueda con su motor alrededor de un eje vertical que pasa
diametralmente sobre el centro de la rueda, respectivamente (ver Figura 2.7).
Existen tres restricciones asociadas al robot movil que involucran a las velocidades
de las ruedas. En la Figura 2.3 se muestran las velocidades asociadas a los centros de
cada una de las ruedas motrices.
o
X
Y
b
sen
x
y
P
0
b
b
b
cos
b
sen
b
cos
b
x
y
Figura 2.3: Velocidades de los centros de las ruedas.
A continuaci on se detallan las restricciones no holonomicas impuestas por las veloci-
dades asociadas a las ruedas motrices.
Restricci on 1: La velocidad del punto P
0
es sobre la direccion del eje longitudinal de
simetra
x = v cos , (2.21)
y = v sen , (2.22)
donde v es la velocidad de P
0
. Si multiplicamos la ecuacion (2.21) por sen y la
ecuacion (2.22) por cos , y luego de sumar ambas ecuaciones se tiene
y cos x sen = 0, (2.23)
2.5. AN
OVIL DE RUEDAS 23
Restriccion 2: La rueda izquierda no debe patinar o resbalar. Sea
_
.
x
2
+
.
y
2
= r
l
la
velocidad del centro de la rueda izquierda. Entonces, considerando que la plataforma del
movil es rgida y que la velocidad del centro de la rueda medida desde el punto P
0
es
b
, ver la Figura 2.3 se tiene
.
x = x b
cos = r
l
cos , (2.24)
.
y = y b
sen = r
l
sen , (2.25)
calculando
.
x cos y
.
y sen y sumando las expresiones resultantes, es decir,
x cos b
cos
2
= r
l
cos
2
, (2.26)
con
y sen b
sen
2
= r
l
sen
2
, (2.27)
se obtiene:
x cos + y sen b
= r
l
. (2.28)
Restriccion 3: La rueda derecha no debe patinar o resbalar y procediendo como en el
caso anterior se obtiene:
x cos + y sen + b
= r
r
. (2.29)
En resumen tenemos las tres restricciones no holonomicas (m = 3):
y cos x sen = 0, (2.30)
x cos + y sen + b
r
r
= 0, (2.31)
x cos + y sen b
r
l
= 0, (2.32)
que se puede escribir en forma matricial como A(q) q = 0 con cinco columnas y tres las:
A(q) =
_
_
sen cos 0 0 0
cos sen b r 0
cos sen b 0 r
_
_
, q =
_
_
x
y
l
_
_
.
De la condicion A(q)S(q) = 0 con S(q) una matriz de n m = 2 columnas linealmente
independientes se encuentra:
S(q) =
_
_
r
2
cos
r
2
cos
r
2
sen
r
2
sen
r
2b
r
2b
1 0
0 1
_
_
. (2.33)
24 CAP
OVIL DE RUEDAS
De la ecuacion (2.33) y q = S(q)(t) se concluye que:
=
_
r
,
l
_
T
.
En la mecanica clasica, la energa cinetica de una masa puntual depende de su masa m
y sus componentes de movimiento. Para realizar el analisis de esta energa en el robot
movil sera conveniente dividir la energa cinetica total en la suma de su energa cinetica
de traslacion y la energa de rotacion sobre los centros de masa. Por lo tanto la energa
cinetica total del robot movil esta dado por:
K(q, q) =
1
2
_
x
2
c
+ y
2
c
_
m
c
+
1
2
I
c
2
+
1
2
I
w
2
r
+
1
2
I
w
2
l
+
1
2
I
m
2
+
1
2
I
m
2
+
1
2
m
w
r
2
2
r
+
1
2
m
w
r
2
2
l
, (2.34)
que resulta de la suma de: Centro de masa de la plataforma principal (traslacional, P
c
),
plataforma principal (rotacional, P
c
), inercia de cada rueda con motor (eje de la rueda),
inercia de cada rueda con motor (eje vertical diametral) e inercia de cada rueda con
motor como partcula (traslacional).
Suponiendo que el robot es rgido y que la velocidad del punto P
c
medida desde el
punto P
0
es d
, como se muestra en la Figura 2.4, entonces se puede escribir:
x
c
= x d
sen (2.35)
y
c
= y + d
cos . (2.36)
o
X
Y
x
y
P
0
P
c
d
d
sen
d
cos
x
y
Figura 2.4: Relacion entre las velocidades de P
0
y de P
c
.
Sustituyendo las ecuaciones (2.35) y (2.36) en (2.34) se tiene:
K(q, q) =
1
2
m
c
x
2
+
1
2
m
c
y
2
+
1
2
m
c
d
2
2
m
c
d
x sen + m
c
d
y cos
+
1
2
I
c
2
+
1
2
I
w
2
r
+
1
2
I
w
2
l
+
1
2
I
m
2
+
1
2
I
m
2
+
1
2
m
w
r
2
2
r
+
1
2
m
w
r
2
2
l
. (2.37)
2.5. AN
OVIL DE RUEDAS 25
De la ecuacion (2.37) se obtiene la siguiente matriz de inercia
M(q) =
_
_
m
c
0 dm
c
sen 0 0
0 m
c
dm
c
cos 0 0
dm
c
sen dm
c
cos d
2
m
c
+ I
c
+ 2I
m
0 0
0 0 0 m
w
r
2
+ I
w
0
0 0 0 0 m
w
r
2
+ I
w
_
_
.
Usando la matriz M(q) y
C(q, q) q =
_
_
c
1
(q, q)
c
2
(q, q)
.
.
.
c
n
(q, q)
_
_
q, (2.38)
donde la matriz C
i
(q, q) esta representada por [41]:
C
i
(q, q) =
1
2
q
T
C
i
(q)
C
i
(q) =
_
M
i
(q)
q
_
T
+
M
i
(q)
q
M(q)
q
i
, i = 1, 2, . . . , n
se encuentra:
C
1
(q) =
_
_
0 0 0 0 0
0 0 0 0 0
0 0 2dm
c
cos 0 0
0 0 0 0 0
0 0 0 0 0
_
_
, (2.39)
C
2
(q) =
_
_
0 0 0 0 0
0 0 0 0 0
0 0 2dm
c
sen 0 0
0 0 0 0 0
0 0 0 0 0
_
_
, (2.40)
C
3
(q) =
_
_
0 0 dm
c
cos 0 0
0 0 dm
c
cos dm
c
sen 0 0
0 0 dm
c
sen 0 0
0 0 0 0 0
0 0 0 0 0
_
_
, (2.41)
C
4
(q) =
_
_
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
_
_
, (2.42)
26 CAP
OVIL DE RUEDAS
C
5
(q) =
_
_
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
_
_
. (2.43)
Entonces, sustituyendo (2.39)-(2.43) en (2.38) se tiene:
C(q, q) =
_
_
0 0 dm
c
cos 0 0
0 0 dm
c
sen 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
_
_
.
Por otro lado, g(q) = [0, 0, 0, 0, 0]
T
debido a que el robot se mueve en un plano horizontal.
En resumen se obtiene el siguiente modelo dinamico asociado al robot movil de ruedas
de tipo traccion diferencial:
q = S(q)(t),
M(q) (t) +
C(q, q)(t) + g(q) =
B(q),
donde:
= [
d
,
l
]
T
,
M(q) = S
T
(q)M(q)S(q),
C(q, q) = S
T
(q)
_
M(q)
S(q) + C(q, q)S(q)
_
,
g(q) = S
T
(q)g(q),
B(q) = S
T
(q)B(q).
Realizando calculos se obtiene lo siguiente:
M(q) =
_
r
2
4b
2
(mb
2
+ I) + I
w
r
2
4b
2
(mb
2
I)
r
2
4b
2
(mb
2
I)
r
2
4b
2
(mb
2
+ I) + I
w
_
,
C(q, q) =
_
0
r
2
2b
m
c
d
r
2
2b
m
c
d
0
_
,
B(q) =
_
1 0
0 1
_
,
donde:
m = m
c
+ 2m
w
,
I = m
c
d
2
+ 2m
w
b
2
+ I
c
+ 2I
m
.
2.6. DESCRIPCI
-Simulink
OVIL DE RUEDAS
Base para ruedas de bola, esta pieza es la que soporta al par de ruedas de bola
que brindan estabilidad al robot.
Barras de union entre soportes y estructura, cuenta con 3 piezas semejantes, las
cuales se distribuyen a lo largo del soporte de las ruedas de bolas.
Bridas de soporte para el motor, sirven como soporte para los motores permitiendo
sujetarlos a la base del robot, con el n de jarlos y puedan unirse a los ejes de las
ruedas.
Bases para el encoder, estas permiten la sujecion con la base del robot, para que
puedan conectarse de forma mecanica a las echas de los motores.
Motores, los actuadores corresponden al modelo GNM3150 del fabricante MicroMo
Electronics Inc., los cuales requieren de un voltaje nominal de 24 V. El par de salida
de los mismos es de 3.53 Nm, con un factor de reduccion de 20:1.
Encoders
1
, estos son de tipo incremental de la marca OMRON, modelo E6A2-
CW5, y permiten realizar la medicion del desplazamiento angular del movil, medi-
ante el acoplamiento a traves de un buje con las echas de los respectivos motores.
Baterias, el voltaje nominal de estas es de 12 V de capacidad de 12 Ah, se emplearon
dos de estas en el prototipo y son de la marca YUASA.
Figura 2.6: Estructura mecanica del robot movil.
1
El funcionamiento de un encoder consiste en un arreglo de fototransistor y fotodiodo, colocados en
ambos extremos de un disco que tiene sectores opacos y libres, el cual se monta en el rotor del motor y
al girar el disco, el n umero de pulsos por revolucion, determina la resolucion del encoder.
2.6. DESCRIPCI
OVIL DE RUEDAS
diametralmente sobre el centro de la rueda. En la Tabla 2.3 se muestran los valores.
No Parte Peso [kg]
1 Llanta 1 0.480
2 Buje llanta 1 0.224
3 Soporte buje 1 0.164
4 Llanta 2 0.488
5 Buje llanta 2 0.212
6 Soporte buje 2 0.164
Tabla 2.2: Pesos de las ruedas del robot movil.
No Inercias [kg-m
2
]
1 I
c
0.134982
2 I
z
0.000934
3 I
x
0.000476
4 I
w
0.003745
5 I
m
0.001494
Tabla 2.3: Inercias de las ruedas del robot movil.
De todos los parametros asociados a los momentos de inercias reportados en la Tabla
2.3, solo se hara uso de I
c
, I
w
e I
m
, pues los demas no son requeridos por el modelo
dinamico del robot movil. En la Figura 2.7 se muestran las direcciones de las inercias
que se utilizaran en el Captulo 4, donde se presentan las simulaciones numericas y los
resultados experimentales de la ley de control dise nada.
Figura 2.7: Inercias asociadas a la dinamica del robot movil.
2.6. DESCRIPCI
OVIL DE RUEDAS
Circuito Encoder, este circuito cuenta con optoacopladores y tiene la funcion de
tomar las se nales provenientes de los encoders y enviarlas a la tarjeta de control
para su procesamiento. El prototipo cuenta con dos de estos circuitos asociados a
cada uno de los encoders del robot movil.
2.6.4. Adquisicion de datos y control
La etapa de adquisicion de datos y control esta formada por una tarjeta de con-
trol DS1104 mas su panel de conexiones modelo CPL1104, un circuito interfaz y una
computadora de escritorio (ver Apendice C).
Tarjeta de control, la tarjeta utilizada corresponde al modelo DS1104 de la marca
dSPACE
_
r
2
cos
r
2
cos
r
2
sen
r
2
sen
r
2b
r
2b
1 0
0 1
_
_
, (3.3)
33
34 CAP
r
2
2b
m
c
d
0
_
, (3.5)
B(q) =
_
1 0
0 1
_
, (3.6)
y = [
d
,
i
]
T
son los torques
d
y
i
aplicados a las ruedas derecha e izquierda, respecti-
vamente. Asimismo, = [
d
,
i
]
T
representa las velocidades angulares derecha e izquierda
de cada rueda. Ademas, se ha hecho m = m
c
+ 2m
w
e I = m
c
d
2
+ 2m
w
b
2
+ I
c
+ 2I
m
. Si
se dene v =
_
x
2
+ y
2
, w =
se puede obtener de (3.1):
d
dt
_
_
x
y
_
_
=
_
_
cos 0
sen 0
0 1
_
_
_
v
w
_
,
_
v
w
_
= A
_
1
2
_
, A =
_
r
2
r
2
r
2b
r
2b
_
. (3.7)
Considerando las ecuaciones (3.1)-(3.7) se propone la siguiente ley de control.
= A
T
g
4
, (3.8)
g =
_
g
1
g
2
_
=
_
1
(x x
) cos() +
2
(y y
) sen()
3
f
3
(
)
_
, (3.9)
f = (
)
(x x
) sen() (y y
) cos()
(x x
)
2
+ (y y
)
2
,
donde x
y y
= arctan
_
y y
x x
_
. (3.10)
Se supone que (x(0) x
)
2
+ (y(0) y
)
2
>
0
, para alg un
0
> 0. Donde (x x
, y
y
,
T
) = (0, 0, 0, 0).
Demostracion: Hacemos incapie en que A es una matriz no singular. Reemplazando
(3.8) en (3.2) se obtiene:
M(q) + C(q, q) = A
T
g
4
. (3.11)
Por otro lado, de (3.10) obtenemos:
=
(x x
) sen() (y y
) cos()
(x x
)
2
+ (y y
)
2
v, (3.12)
as la dinamica de lazo cerrado esta dado por (3.7), (3.11) y
= w
(x x
) sen() (y y
) cos()
(x x
)
2
+ (y y
)
2
v. (3.13)
3.1. CONTROL DEL ROBOT M
OVIL DE RUEDAS 35
La dinamica de lazo cerrado representado por las ecuaciones (3.7), (3.11), (3.13) es
autonoma y pueden ser escritas como
= f() donde = (xx
, yy
,
T
) R
5
.
Los puntos de equilibrio de esta dinamica de lazo cerrado pueden ser encontrados de la
siguiente manera. Recordando que x
y y
= x y
y
y
= 0, esto
implica que:
tan() = tan(
) =
(x x
)
(y y
)
, (3.14)
y de la primera condicion se obtiene:
tan() =
1
(x x
2
(y y
)
=
sen()
cos()
. (3.15)
Igualando las ecuaciones (3.14) y (3.15) se tiene:
2
(x x
)
2
= (y y
)
2
. (3.16)
Debido a que
1
y
2
son positivos, entonces
1
2
> 0, por lo tanto la unica solucion para
(3.16) es x = x
y y = y
, y y
,
T
) = (0, 0, 0, 0)
es el unico punto de equilibrio de la dinamica de lazo cerrado dado por las ecuaciones
(3.7), (3.11), (3.13).
Si se consideran la siguiente funcion escalar denida positiva y radialmente desaco-
tada como una funcion candidata de Lyapunov:
V =
1
2
1
(x x
)
2
+
1
2
2
(y y
)
2
+
1
2
3
(
)
2
+
1
2
T
M(q). (3.17)
Si obtenemos la derivada temporal de V a lo largo de las trayectorias de (3.7), (3.11)
esta dado por:
V =
1
(x x
) x +
2
(y y
) y +
3
(
)(
) +
T
M(q) ,
V = [
1
(x x
) cos() +
2
(y y
) sen()
3
f] v +
3
(
)w
+
T
_
C(q, q) A
T
g
4
V = g
T
[v, w]
T
+
T
[C(q, q) A
T
g
4
]. (3.18)
De la ecuacion (3.5) se puede ver que la matriz C(q, q), es anti-simetrica, por lo tanto
T
C(q, q) = 0, R
2
, y
T
A
T
g = g
T
A = g
T
[v, w]
T
, en virtud de (3.7), de ah se
obtiene
V =
4
T
. (3.19)
36 CAP
= 0 y y y
= 0. As, si
4
> 0 en la ecuacion (3.19)
implica estabilidad y que se aproxime a cero siempre y cuando (xx
)
2
+(yy
)
2
>
0
para
0
> 0. As, aplicando el principio de invarianza de LaSalle, obtenemos la siguiente
cadena de implicaciones 0 g 0,
y
1
(xx
) cos()+
2
(yy
) sen()
3
f.
Si se consideran los siguientes casos:
i ) Se supone que x x
y y y
) cos() +
2
(y y
1
(x x
) cos() +
2
(y y
) sen()
3
f.
ii ) Se supone que ambos xx
y yy
) cos()+
2
(y y
) cos()+
2
(y y
) sen()
3
f.
iii ) Se supone que solo uno de x x
o y y
1
(x x
) cos() +
2
(y y
) cos() +
2
(y y
) sen()
3
f.
Se concluye que
1
(x x
) cos() +
2
(y y
) sen() 0, f 0 y 0. Por lo
tanto, la variable esta bien denida, a pesar de que (x x
)
2
+ (y y
)
2
se aproxime
a cero. Estos hechos permiten eliminar la condicion de x x
= 0, y y
= 0 y
(x x
)
2
+ (y y
)
2
>
0
introducido en el parrafo despues de la ecuacion (3.19). A un
mas si
1
(x x
) cos() +
2
(y y
) sen() 0 y
) =
1
(xx
2
(yy
)
=
yy
xx
0 y y y
, y y
,
T
) = (0, 0, 0, 0) es asint oticamente estable siempre y cuando la
condicion inicial sea seleccionada tal que (x(0) x
)
2
+(y(0) y
)
2
>
0
, para un
0
> 0.
3.2. Generacion de trayectorias
Generalmente cuando se realiza el control de seguimiento de trayectorias de robots
moviles esta generalmente es conocida y especca, determinada por una ecuacion ma-
tematica, sin embargo tambien es deseable que el movil siga cualquier otra trayectoria
como una denida por puntos en el plano. Se puede ver que existen dos formas basicas
para especicar la trayectoria [20]:
Suministrando puntos consecutivos e ignorando la trayectoria espacial que describe
el robot entre cada dos puntos.
Especicando la trayectoria por una curva parametrica en el tiempo, tal como una
recta o una parabola, que debe describir el robot en el espacio de trabajo.
La primera alternativa, denominada tradicionalmente control punto a punto, solo
tiene interes practico cuando los puntos estan sucientemente separados, ya que en caso
3.2. GENERACI
ON DE TRAYECTORIAS 37
contrario, seria muy laborioso especicar todos los puntos intermedios. Su contraparte
es que los puntos tampoco puedan estar muy separados ya que existe un alto riesgo
de que se generen movimientos imprevisibles o no controlados. En este control punto a
punto y en particular para resolver este problema, se propone un algoritmo que realiza
la interpolacion, utilizando splines c ubicos, entre los puntos especcos de esa forma es
posible realizar el control del robot movil para que pase por dichos puntos. La segunda
forma para realizar el seguimiento de trayectorias es utilizando curvas parametricas
en el tiempo como trayectoria deseada que se denomina tradicionalmente control de
trayectoria continua, el control debe hacer que el robot movil reproduzca lo mas exacto
posible la trayectoria especicada. Para la generacion de trayectorias, en ambos casos,
es necesario tener en cuenta lo siguiente:
Las restricciones cinematicas y dinamicas involucradas.
Las trayectorias generadas deben ser suaves, lo que implica restricciones sobre las
derivadas.
Al menos la primera derivada debe ser continua, pudiendo exigirse tambien la
continuidad en derivadas de orden superior.
La generacion de trayectorias deben ser computacionalmente ecientes.
En la presente seccion, para la generacion de trayectorias, se estudiara la interpolacion
de puntos en el plano cartesiano. Se ver an dos tipos de interpolacion: la interpolacion
polinomial, en particular el empleo de polinomios de tercer y quinto orden, y la inter-
polacion segmentara o splines
1
. Es importante mencionar, que si bien existen muchos
otros tipos de interpolacion como la de Lagrange, Taylor, Hermite, etc., pero no se men-
cionan en este trabajo, debido que se basan en aproximar a un polinomio de grado n el
cual crece mientras mas puntos se tengan y por tanto se tiene muchas oscilaciones que
producen datos erroneos para el seguimiento de la trayectoria.
3.2.1. Empleo de polinomios c ubicos
Teniendo una trayectoria cualquiera denida y continua en un intervalo se puede
encontrar una funcion que se aproxime lo mas posible a esta trayectoria. Una de las
funciones mas conocidas para realizar esto son los polinomios algebraicos de la forma
P
m
(x) = a
n
x
n
+a
n1
x
n1
. . . a
1
x+a
0
donde n es un n umero entero no negativo y a
0
. . . a
n
son constantes reales.
Empleando polinomios c ubicos se puede aproximar lo mas posible a una trayectoria
denida por puntos, pero si la trayectoria tiene muchos puntos de inexion el polinomio
c ubico ya no es representativo. Para demostrar lo anterior, se utilizo Matlab y con
ayuda de las instrucciones polyt y polyval, se evaluara el polinomio c ubico. Si se dene
los puntos en el plano cartesiano dados por la Tabla 3.1 obtenemos el siguiente polinomio
1
En el sub campo matematico del analisis numerico, un spline es una curva denida en porciones
mediante polinomios.
38 CAP
0.0593x
3
0.2636x
2
+4.216x. En la Figura 3.2(a), se puede ver como este polinomio de
quinto orden aproxima mejor que el c ubico pasando por todos lo puntos.
Ahora aumentando el n umero de puntos y si el polinomio de quinto orden no aproxi-
ma correctamente se puede seguir subiendo el grado del polinomio hasta encontrar uno
que s pase por todos los puntos. En la Figura 3.2(b), se muestra una comparacion de
tres polinomios donde P
1
(x), P
2
(x) y P
3
(x) son polinomios de quinto, septimo y noveno
3.2. GENERACI
ON DE TRAYECTORIAS 39
orden, y se puede ver que mientras mas se aumenta el grado del polinomio mas exacto
resulta la aproximacion pero tambien tiende mucho a oscilar [20].
(a) (b)
Figura 3.1: Aproximaci on utilizando polinomios c ubicos.
Figura 3.2: Aproximacion utilizando polinomios de distinto orden.
3.2.3. Empleo de funciones spline
La interpolacion polinomica se basa en la sustitucion de una funcion o una tabla de
valores por un polinomio que toma dichos valores. Cuando el n umero de puntos aumenta,
tambien aumenta el grado del polinomio, que se hace mas oscilante, lo cual se traduce en
un aumento de errores en la trayectoria generada. Un enfoque alternativo a la utilizacion
de polinomios de grado alto es el uso de polinomios de grado menor en subintervalos.
Esta es la base de la interpolacion con splines [42], [43], [44]. El procedimiento consiste
en dividir el intervalo en una serie de sub intervalos, y en cada subintervalo denir un
polinomio c ubico. A este metodo se le conoce como aproximaci on polinomica fragmen-
taria, o splines. Esta aproximacion consiste en unir una serie de puntos dados mediante
una serie de polinomios c ubicos, tal como se muestra en la Figura 3.3.
40 CAP
ON DE TRAYECTORIAS 41
debido a que el termino x
j+1
x
j
es usado continuamente, es conveniente introducir la
siguiente notacion mas simple
h
j
= x
j+1
x
j
. (3.21)
De esta forma sutituyendo (3.21) en (3.20) se obtiene
a
j+1
= a
j
+ b
j
h
j
+ c
j
h
2
j
+ d
j
h
3
j
. (3.22)
De manera similar como se hizo para a
j
, se dene
P
j
(x
j
) = b
j
, entonces
P
j
(x
j
+ 1) = b
j
+ 2c
j
(x
j+1
x
j
) + 3d
j
(x
j+1
x
j
)
2
, (3.23)
(3.24)
para cada j = 0, 1, ..., n 1. Aplicando la condicion 3 se obtiene
b
j+1
= b
j
+ 2c
j
h
j
+ 3d
j
h
2
j
. (3.25)
De manera similar como en los anteriores procedimientos ahora se dene
P
j
(x
j
) = 2c
j
y
aplicando la condicion 4 para cada j = 0, 1, ..., n 1 se tiene
c
j+1
= c
j
+ 3d
j
h
j
. (3.26)
Despejando d
j
de (3.26) y sustituyendo el valor en las ecuaciones (3.22) y (3.25), se tiene
las nuevas ecuaciones
a
j+1
= a
j
+ b
j
h
j
+
h
2
j
3
(2c
j
+ c
j+1
) , (3.27)
y
b
j+1
= b
j
+ h
j
(c
j
+ c
j+1
). (3.28)
Despejando b
j
de (3.27) se tiene
b
j
=
1
h
j
(a
j+1
a
j
)
h
j
3
(2c
j
+ c
j+1
) , (3.29)
y reduciendo el ndice para b
j1
b
j1
=
1
h
j1
(a
j
a
j1
)
h
j1
3
(2c
j1
+ c
j
) . (3.30)
Sustituyendo (3.30) en (3.28) con el ndice reducido se obtiene el sistema de ecuaciones
lineales
h
j1
c
j1
+ 2(h
j1
+ h
j
)c
j
+ h
j
c
j+1
=
3
h
j
(a
j+1
a
j
)
3
h
j1
(a
j
a
j1
) , (3.31)
para cada j = 0, 1, ..., n1. Este sistema tiene solo c
j
como incognitas y si se conoce estos
valores se puede encontrar las constantes restantes mediante las ecuaciones (3.27) para
b
j
y (3.26) para d
j
, y as construir el polinomio c ubico P
j
(x). Para resolver el sistema
(3.31) se plantea un sistema de ecuaciones lineales de la forma Ax = b y aplicando la
42 CAP
_
1 0 0 ... 0
h
0
2(h
0
+ h
1
) h
1
... 0
0 h
1
2(h
1
+ h
2
) h
2
0
... ... ... ... ...
0 ... h
n2
2(h
n2
+ h
n1
) h
n1
0 ... 0 0 1
_
_
,
b =
_
_
0
3
h
1
(a
2
a
1
)
3
h
0
(a
1
a
0
)
.
.
.
3
h
n1
(a
n
a
n1
)
3
h
n2
(a
n1
a
n2
)
0
_
_
, x =
_
_
c
0
c
1
.
.
.
c
n
_
_
,
donde A es una matriz diagonal (n 1) (n 1) y aplicando un metodo numerico se
puede encontrar los valores de c
0
, c
1
, ..., c
n
.
3.2.4. Denicion parametrica de algunas curvas de interes
Se puede usar las coordenadas x y y para describir la ubicacion del robot movil en
cualquier punto de su recorrido. Sin embargo, las coordenadas no incidan en el recorrido
cuando el movil se encuentra en diferente ubicacion, por tal motivo en ocasiones, dos
variables no son sucientes para describir completamente una situacion de graca. Una
alternativa de solucion es usar ecuaciones parametricas para describir las coordenadas
x y y de un punto como funciones de una tercera variable, tiempo, que se denomina
parametro. Por tanto una curva parametrica es la que esta denida por ecuaciones
parametricas.
A continuaci on se denen algunas de las curvas parametricas en el tiempo mas co-
munes.
y(t) = mx(t), (3.32)
x(t) = Asin
_
2
P
t
_
, (3.33)
y(t) = x
2
(t), (3.34)
x(t) = Asin
_
2
P
t
_
, (3.35)
y(t) = r cos
_
2
P
t + C
_
+ k, (3.36)
x(t) = r sin
_
2
P
t + C
_
+ h, (3.37)
3.2. GENERACI
ON DE TRAYECTORIAS 43
y(t) = r cos
_
P
t
_
, (3.38)
x(t) = r sin
_
2
P
t
_
. (3.39)
Las ecuaciones (3.32) y (3.33) representan a la recta donde m es la pendiente, A es la
amplitud y P es el tiempo en el que la curva completa su recorrido. Un extremo de la recta
es el punto (A, mA) y el otro es (A, mA). Las ecuaciones (3.34) y (3.35), representan
a la parabola con un extremo en el punto (A, A
2
) y otro en el punto (A, A
2
) y P es el
mismo que el usado en la ecuacion (3.33) . Las ecuaciones (3.36) y (3.37), representan a
la circunferencia con centro en la coordenada (h, k) y radio r. La constante C permite
denir la posicion de partida de la circunferencia y P es el mismo que el usado en la
ecuacion (3.33). Las ecuaciones (3.38) y (3.39), representan una curva en forma de ocho
que pasa por el origen y tiene un radio r y P es el mismo que el usado en la ecuacion
(3.33). En la Figura 3.4 se muestran todas las curvas mencionadas anteriormente.
e
e
e
e
Figura 3.4: Curvas parametrizadas en el tiempo.
44 CAP
i1
,
i
=
h
i
l
i
,
z
i
=
(
i
h
i1
z
i1
)
l
i
.
7. Se asigna l
n
= 1, z
n
= 0, c
n
= 0
8. Para j = n 1 hasta 0, se asigna
c
j
= z
j
j
c
j+1
,
b
j
=
(a
j+1
a
j
)
h
j
h
j
(c
j+1
+ 2c
j
)
3
,
d
j
=
(c
j+1
c
j
)
3h
j
.
3.3. GENERACI
, inicialmente se codico en un
archivo con extension *.m para efectos de prueba y simulacion. Posteriormente este
codigo se programo en un bloque Embedded Matlab Functionde Simulink para ser
probado con el prototipo en un experimento de seguimiento de trayectoria. El programa
esta dise nado para aceptar como entrada un vector de puntos [x
1
, x
2
. . . x
n
; y
1
, y
2
. . . y
n
] y
entrega a la salida un par ordenado (x, y) para cada instante de tiempo. Si se graca los
pares ordenados que entrega el programa, se obtiene una curva suave que pasa por todos
los puntos que recibio como entrada, a continuacion se presenta el codigo desarrollado
en Matlab.
function Trayectoria=Robot_spline(u)
t1=t/10;
X=[0 2 6 8 11 14; 0 5 7 5 3 5];
n=length(X(1,:));
for i=1:n;
a(i)=X(2,i);
end
for i=1:n-1;
h(i)=X(1,i+1)-X(1,i);
end
for i=2:n-1;
alfa(i)=3/h(i)*(a(i+1)-a(i))-3/h(i-1)*(a(i)-a(i-1));
end
l(1)=1;
mu(1)=0;
z(1)=0;
for i=2:n-1;
l(i)=2*(X(1,i+1)-X(1,i-1))-h(i-1)*mu(i-1);
mu(i)=h(i)/l(i);
46 CAP
-
Simulink
1
= 1000,
2
= 1000,
3
= 1000 y
4
= 1, los cuales corresponden a (3.8) y (3.9).
49
50 CAP
ITULO 4. SIMULACI
ON E INSTRUMENTACI
ON EN TIEMPO REAL
Bloque B: Representa la sntesis de la ley de control aplicada al robot, determinada
por la ecuacion (3.8). Se puede observar que el bloque acepta como entradas las
coordenadas deseadas (x
, y
, y
). Para solucionar lo
mencionado anteriormente se programo otro bloque de Simulink para la funcion
arctan como se explica en el Apendice D.
Bloque C: Es el encargado de generar las trayectorias deseadas (x
, y
), pudiendo
estas ser denidas por curvas parametricas en el tiempo (recta, parabola, circun-
ferencia, etc) Vease las ecuaciones (3.32)-(3.38) o curvas arbitrarias, denidas a
partir de puntos en el plano cartesiano (Vease la Seccion 3.3).
Bloque D: Representa la sntesis del modelo dinamico del robot movil de ruedas
tipo diferencial, determinada por la ecuacion (3.2). El bloque tiene como entradas
los torques derecho e izquierdo
r
y
l
respectivamente y como salida entrega valores
de (x, y, ,
d
,
i
).
Bloque E: Permite llevar los valores de cada variable al Workspacede Matlab
permitiendo la visualizacion graca de las variables de interes del sistema contro-
lado.
4.2. Simulacion del sistema en lazo cerrado
A continuacion se presentan las simulaciones realizadas del sistema en lazo cerrado.
Primero se muestra el estacionamiento del robot movil, luego se presenta el seguimiento
de una trayectoria parametrica en el tiempo y nalmente el seguimiento de una trayec-
toria denida por puntos.
4.2.1. Estacionamiento del robot movil
Se presenta la simulaci on del estacionamiento del robot movil. La idea es que el robot
puede alcanzar un punto deseado tanto en posicion como en orientacion partiendo de
cualquier condicion inicial. Las simulaciones se realizaron en los cuatro cuadrantes del
plano cartesiano, dando al robot movil una posicion inicial distinta del origen y una
orientacion inicial que fuese m ultiplo de /2, seg un se muestra a continuaci on.
En las Figuras 4.2 (a) y (b) se muestra como el movil parte de la posicion inicial
(x
0
, y
0
,
0
) = (1.5, 0, 3/2) y retorna al origen (x, y) = (0, 0) con una orientaci on
aproximada de = 2.
4.2. SIMULACI
i
, v
d
, v
i
,
d
,
i
y v permanecen constantes despues de un tiempo de establecimiento
de 4 segundos. De los resultados obtenidos en simulacion se observa que los valores de
(x, y, ) siguen a los valores deseados (x
, y
), en consecuencia el seguimiento de la
trayectoria se realiza satisfactoriamente. Tambien, se observa que los voltajes aplicados
a los motores v
d
y v
i
nunca sobrepasan el intervalo de voltaje (+24 V,-24 V), cumpliendo
de esta manera con las especicaciones tecnicas de los motores. Ademas, se observa que
los pares aplicados a los motores derecho e izquierdo
d
= 4.9 N-m y
i
= 2.9 N-m
respectivamente, tiene valores mayores a los voltajes esto debido a la caja de reduccion
que tienen los motores, permitiendo tener mayor torque con poco voltaje. Finalmente,
de los resultados obtenidos se tiene un maximo de velocidad lineal de v = 0.08 m/s.
De esta manera los resultados obtenidos a nivel simulacion del sistema en lazo cerrado
se muestran en la Figura 4.4.
4.2.3. Trayectoria denida por puntos
Ahora se denen puntos en el plano cartesiano y con la ayuda del generador de
trayectorias, implementado en un captulo anterior, se generan curvas suaves entre cada
punto, as el robot movil seguira la trayectoria generada. Los puntos que se proponen
para este experimento son los que se muestran en la Tabla 4.1, estos puntos pueden ser
cambiados por el usuario en el algoritmo. De los resultados obtenidos en simulacion se
observa que los valores de (x, y, ) siguen a los valores deseados (x
, y
), en conse-
cuencia el seguimiento de la trayectoria denida por puntos se realiza satisfactoriamente.
Tambien, se observa que el voltaje derecho v
d
presenta dos picos de voltaje de -7 V y
52 CAP
ITULO 4. SIMULACI
ON E INSTRUMENTACI
ON EN TIEMPO REAL
4 V y el voltaje izquierdo v
i
presenta otros picos de -6 V y 2 V pero nunca sobrepasan
el intervalo de voltaje (+24 V,-24 V), cumpliendo de esta manera con las especica-
ciones tecnicas de los motores. Ademas, se observa que los pares aplicados a los motores
derecho e izquierdo
d
y
i
respectivamente, tiene valores mayores a los voltajes como
se explico en la anterior subseccion. Finalmente, de los resultados obtenidos se tiene
un pico maximo de velocidad lineal de v = 0.28 m/s. De esta manera los resultados
obtenidos a nivel simulacion del sistema en lazo cerrado se muestran en la Figura 4.5.
No. Valor de x Valor de y
1 0 0
2 0.2 2
3 0.4 2.8
4 0.8 2
5 1.2 0.3
6 1.6 2
Tabla 4.1: Puntos que denen la trayectoria a seguir.
4.3. Diagrama de bloques desarrollado en Simulink
para experimentos en tiempo real
Despues de haber realizado las simulaciones utilizando el modelo dinamico del robot
movil, ahora se pone en practica la ley de control y el generador de trayectorias. Se
sustituye el modelo dinamico por los motores reales para actuar sobre ellos y de esta for-
ma realice la tarea de seguimiento de trayectoria. Debido a que el movil no cuenta con
sensores de localizacion se utilizo el modelo cinematico para obtener una aproximacion
de la localizacion del movil. Es importante mencionar que en todos los experimentos
presentados en esta seccion, el robot movil realiza su tarea en direccion de reversa y no
de frente, esto se debe a las caractersticas del controlador presentado en la ecuacion
(3.8) y mas especcamente por la ecuacion (3.10), donde se puede ver que si el movil
parte del origen y el valor de x
y y
4
= 1. Como se puede observar el controlador no hace uso de los valores de las
masas del robot movil.
Bloque B: Este bloque es el mismo que se utilizo en la simulacion, seccion 4.1.
4.3. EXPERIMENTOS EN TIEMPO REAL 53
Bloque C: Este bloque es el mismo que se utilizo en la simulaci on, seccion 4.1.
Bloque D: Esta compuesta de dos bloques que permiten realizar la conversi on de
torque a voltaje. De acuerdo a [10], el par de carga del motor esta dado por:
= nk
m
i,
donde n = 30 es la relacion entre el n umero de dientes de los engranes del eje del
motor y del eje de la carga, k
m
= 0.051 N-m es la constante de par del motor e
i es la corriente de armadura del motor. Utilizando la ley de Ohm que esta dado
por:
v = Ri,
donde R = 0.68 es la resistencia de armadura del motor, as se puede deducir
que:
v =
R
nk
m
.
Obteniendo de esta forma una relacion entre el torque y voltaje del motor de CD.
Bloque E: A su vez este bloque esta conformado por dos bloques que son los
motores del robot movil, estos reemplazan al modelo dinamico el cual se utilizo en
la simulaci on, que aceptan voltaje como entrada y entregan velocidad angular como
salida. Debido a que el motor tiene un rango de zona muerta
1
es necesario introducir
un voltaje de compensacion a cada uno de los motores, v
comp d
y v
comp i
son los
voltajes de compensacion de los motores derecho e izquierdo respectivamente.
Bloque F: Esta compuesto por el modelo cinematico y un peque no bloque que
permite calcular la velocidad lineal del robot movil. El modelo cinematico permite
realizar la aproximaci on de la localizacion del movil es decir calcular los valores de
x, y y .
4.4. Experimentos en tiempo real y analisis de los
resultados
A continuaci on se presentan los experimentos realizados en tiempo real y en lazo
cerrado. Primero se muestra el estacionamiento del robot movil, luego se presenta el
seguimiento de una trayectoria parametrica en el tiempo y nalmente el seguimiento de
una trayectoria denida por puntos. Los parametros que se utilizan en estos experimentos
son los mismos que se usaron en simulaci on.
1
La zona muerta de un motor es el rango en el que, a pesar de ser alimentado con un voltaje, el
motor no se mueve a causa de las fricciones involucradas en su accionamiento.
54 CAP
ITULO 4. SIMULACI
ON E INSTRUMENTACI
ON EN TIEMPO REAL
4.4.1. Estacionamiento del robot movil
Despues de realizar las simulaciones numericas, en esta subseccion se presentan los
experimentos en tiempo real del estacionamiento del robot movil. En las Figuras 4.7
(a), (b), (c) y (d) se presentan los experimentos en el eje x, donde se puede ver que son
similares a las presentadas en simulacion, en ambos casos el movil retorna al origen de
reversa. En las Figuras 4.8 (a), (b), (c) y (d) se presentan los experimentos en el eje
y y de igual forma que en los anteriores experimentos son similares a los obtenidos en
simulacion y logrando que el movil retorne al origen. De esta manera se demuestra que
el controlador tiene un buen desempe no.
4.4.2. Trayectoria parametrica en el tiempo
En esta subseccion se presenta el experimento en tiempo real del seguimiento de una
trayectoria denida por una circunferencia, donde los parametros son los mismos que los
utilizados en simulaci on de la subseccion 4.2.2. De los resultados obtenidos a nivel de
simulacion y experimentales se observa que son similares. En las Figuras 4.9 (a) y (b)
se pueden observar como el robot movil sigue a la trayectoria y orientacion deseados al
igual que en la simulaci on presentada en una seccion anterior. Las velocidades angulares,
voltajes y torques de los motores derecho e izquierdo mostrados en las Figuras 4.9 (c),
(d) y (e) presentan una oscilacion alrededor de un valor constante durante todo el experi-
mento y notese tambien que el valor de estas variables del motor derecho es mayor que
el izquierdo, es as que se puede deducir que el robot movil realiza una circunferencia.
Es importante mencionar que el signo negativo en los valores de estas variables denotan
la direccion del movil. Finalmente, en la Figura 4.9(f) se presenta la velocidad lineal que
adquiere el movil donde se puede ver que es constante a lo largo de todo el experimento.
4.4.3. Trayectoria denida por puntos
Se presenta el experimento en tiempo real del seguimiento de una trayectoria denida
por los puntos de la Tabla 4.1 donde los parametros son los mismos que los utilizados
en la simulaci on de la subseccion 4.2.3. De los resultado obtenidos a nivel de simulacion
y experimentales se observa que son similares. En la Figura 4.10 (a) y (b) se puede ver
como el robot movil sigue a la trayectoria y orientacion deseados, tambien el movil pasa
por cada uno de los puntos que se denio al principio. Las velocidades angulares, voltajes
y torques de los motores derecho e izquierdo mostrados en las Figuras 4.10 (c), (d) y
(e) presentan unas formas de onda similares a las de simulacion y en las que se puede
ver como cambian de valores a lo largo del experimento y no permanecen constantes,
en el periodo de tiempo comprendido entre 10 s t 25 s se puede ver que el movil
realiza el primer giro en la primera curva de la trayectoria y en el periodo de tiempo de
40 s t 50 s el movil realiza el segundo giro en la segunda curva de la trayectoria.
Finalmente, en la Figura 4.10(f) se presenta la velocidad lineal del movil donde se puede
ver que en los momentos donde el robot realiza el giro en una curva de la trayectoria
baja su velocidad para realizar un buen seguimiento de la trayectoria.
4.4. EXPERIMENTOS EN TIEMPO REAL 55
Figura 4.1: Simulaci on del sistema en Simulink.
56 CAP
ITULO 4. SIMULACI
ON E INSTRUMENTACI
ON EN TIEMPO REAL
(a) (b)
(c) (d)
Figura 4.2: Gracas de simulaci on del estacionamiento del robot movil en el eje x
4.4. EXPERIMENTOS EN TIEMPO REAL 57
(a) (b)
(c) (d)
Figura 4.3: Gracas de simulacion del estacionamiento del robot movil en el eje y
58 CAP
ITULO 4. SIMULACI
ON E INSTRUMENTACI
ON EN TIEMPO REAL
(a) (b)
(c) (d)
(e) (f)
Figura 4.4: Seguimiento de una trayectoria (circunferencia), simulaci on.
4.4. EXPERIMENTOS EN TIEMPO REAL 59
(a) (b)
(c) (d)
(e) (f)
Figura 4.5: Seguimiento de una trayectoria denida por puntos, simulacion.
60 CAP
ITULO 4. SIMULACI
ON E INSTRUMENTACI
ON EN TIEMPO REAL
4
Figura 4.6: Experimento en tiempo real.
4.4. EXPERIMENTOS EN TIEMPO REAL 61
(a) (b)
(c) (d)
Figura 4.7: Gracas de experimentos en tiempo real del estacionamiento del robot movil
en el eje x
62 CAP
ITULO 4. SIMULACI
ON E INSTRUMENTACI
ON EN TIEMPO REAL
(a) (b)
(c) (d)
Figura 4.8: Gracas de experimentos en tiempo real del estacionamiento del robot movil
en el eje y
4.4. EXPERIMENTOS EN TIEMPO REAL 63
(a) (b)
(c) (d)
(e) (f)
Figura 4.9: Seguimiento de una trayectoria (circunferencia), en tiempo real.
64 CAP
ITULO 4. SIMULACI
ON E INSTRUMENTACI
ON EN TIEMPO REAL
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6
0
0.5
1
1.5
2
2.5
3
3.5
x [m]
y
[
m
]
y
= f(x
)
y = f(x)
(a) (b)
(c) (d)
(e) (f)
Figura 4.10: Seguimiento de una trayectoria denida por puntos, en tiempo real.
Captulo 5
Conclusiones y trabajos a futuro
Como conclusion de este trabajo se debe decir que se cumplio con el objetivo general,
el cual consistio en el dise no de una ley de control basada en el modelo dinamico de un
robot movil de ruedas de tipo diferencial, que permitiera realizar la tarea de seguimiento
de trayectorias punto a punto. El estado del arte que se realizo fue importante porque
sent o las bases para abordar la investigaci on. As, teniendo la informacion relaciona-
da con el tema se procedio a resolver el problema planteado. Primero se propuso un
esquema de control que dio solucion al problema de seguimiento de trayectorias. Poste-
riormente, se dise no un algoritmo que permitio la generacion de trayectorias arbitrarias
basadas en puntos, ya que el controlador dise nado as lo requera. Despues se realizaron
las simulaciones asociadas al esquema de control propuesto junto con el generador de
trayectorias. Finalmente, se procedieron a validar estos resultados a nivel experimental.
A continuaci on se enlistan algunas de las conclusiones y actividades que se realizaron en
este trabajo, con la nalidad de lograr el objetivo inicialmente planteado:
En el presente trabajo se utilizo un prototipo de robot movil de ruedas ya cons-
truido y listo para funcionar [45]. Se estudio y caracterizo el modelo dinamico de
este prototipo, determinando sus parametros fsicos.
Se dise n o un controlador basado en el modelo dinamico del robot movil. Puesto
que el control dise nado esta determinado por los pares de carga
d
y
i
, mediante el
empleo de la ley de Ohm y la relacion que existe entre el par de carga y la corriente
de armadura i de un motor de CD (v =
R
nk
m
), se pudo realizar la conversi on de par
a voltaje v, ya que los motores de CD admiten como entrada voltajes. Mencionar
tambien que el controlador es capaz de lograr que (x, y) (x
, y
), pero no as a
la variable . No obstante el controlador muestra un buen desempe no haciendo
que todas las variables tiendan a sus valores deseados, ie., (x, y, ) (x
, y
).
Se dise n o un generador de trayectorias a partir de un algoritmo de interpolacion
basado en spline c ubicos. El algoritmo se codico en un bloque Embebido de
Matlab
-Simulink
-Simulink
-Simulink
.
Utilizar la tarjeta controladora DS1104 e interactuar con el software integrado
ControlDesk, en el entorno de Matlab
-Simulink
.
Minimizar los errores en el seguimiento de trayectoria punto a punto, y de esa
forma tener un control mas ecaz del robot movil, de tal forma que se desplazara
de un punto a otro con la mayor precision posible.
En cuanto a la parte electronica, fue necesario conocer y analizar el funciona-
miento de cada una de las tarjetas implementadas en el robot movil, realizando
medidas con los instrumentos adecuados (multmetro y osciloscopio) para vericar
su correcto funcionamiento.
Si bien es cierto que el tema de robotica movil es muy estudiado y existe bastante
informacion sobre el tema, no obstante hablar de robotica movil, es hablar de una tran-
sicion que poco a poco ha ido evolucionando y que hasta nuestros das, continua siendo
un tema de gran interes a nivel internacional. Las investigaciones que da a da se van
sucediendo, son solo un nuevo aporte signicativo al tema en cuestion, pues el lmite en
el desarrollo y concepcion de un robot movil, a un se divisa lejos. Por lo anterior, dentro
de los trabajos a futuro que podran desarrollarse, en esta area de la robotica, se podran
mencionar los siguientes:
68 CAP
ENDICE A. PUBLICACIONES
A.3. Artculos en Extenso (conferencias internacio-
nales)
1. E. R. Ramos-Silvestre, Automatizacion y supervision de un proceso neumatico
usando herramientas alternativas aplicadas al aprendizaje y la ense nanza , V Congreso
Internacional de Tendencias Tecnologicas en Computacion, Mexico, DF. Octubre 2010.
CIDETEC.
Apendice B
Prototipo de robot movil de ruedas
tipo diferencial
El prototipo de robot movil esta conformado por dos subsistemas, el correspondiente
a los actuadores y el correspondiente al dise no mecanico. Para controlar cada uno de estos
subsistemas, son necesarias una etapa de potencia y una etapa de control. La etapa de
potencia permite la interacci on entre las etapas de control y de los subsistemas, es decir,
la comunicaci on entre ambas etapas al momento del envo y recepcion de informacion;
de igual forma, la alimentaci on de voltaje de cada dispositivo electronico y la proteccion
de los actuadores, as como tambien la proteccion de la tarjeta de control a cualquier
sobrecarga ya sea de voltaje o bien de corriente electrica. Finalmente, en la etapa de
control se lleva a cabo la programacion de las leyes que gobernaran el funcionamiento
asociado a cada uno de estos subsistemas, es decir, es la etapa en la que se imponen
ciertas restricciones al funcionamiento del sistema en general. De manera general, en la
Figura B.1, se presentan las piezas maquinadas del robot. En la Figura B.2, se muestran
diferentes vistas del robot movil ensamblado
Figura B.1: Piezas maquinadas.
75
76 AP
OVIL DE RUEDAS
(a) Vista lateral.
(b) Vista inferior.
(c) Vista frontal.
(d) Vista isometrica.
Figura B.2: Prototipo de robot movil.
Apendice C
Hoja de datos de la tarjeta de
control
C.1. DS1104
Figura C.1: Tarjeta de control DS1104.
Entre las caractersticas mas importantes estan los siguientes:
Procesador PowerPC603 de 64 bits y reloj interno de 250 MHz, el cual le da
la capacidad de procesar los datos en forma independiente del procesador de la
computadora en la cual esta instalada la tarjeta.
Memoria fsica de 32 MB y memoria ash de 8 MB, que permite almacenar las
instrucciones para ejecutar una determinada aplicacion.
Temporizador 32 bits, permitiendo realizar un muestreo de 40 ns de resolucion.
Cuatro temporizadores de proposito general de 80 ns de resolucion.
77
78 AP
TMS320F240.
C.1. DS1104 79
80 AP
y y
son
mayores a 0, entonces se tendra que en la funcion arctan se presente un n umero negativo
en el numerador y denominador, esto hace referencia que el angulo deseado esta en el
tercer cuadrante.
Si se utilizo el bloque de la funcion arctan, que tiene por defecto Simulink, se
asumira que tanto el numerador y denominador son negativos por lo tanto realiza el
calculo de un valor positivo dando como resultado una direccion deseada
del robot
movil en el primer cuadrante, lo cual no es cierto y tambien ocasiona errores en el
seguimiento de la trayectoria cuando el movil pasa por /2. En la Figura D.1(a) se
muestra lo mencionado anteriormente. En contra parte, se codico una funcion en un
bloque Embedded de Simulink para el calculo de la funcion arctan donde se superan es-
tos problemas que presenta el calculo de la direccion deseada. A continuaci on se presenta
el codigo desarrollado para el calculo de la funcion.
if (y-yd)>=0
if (x-xd)>0
atnfunc=atan((y-yd)/(x-xd));
else
if (x-xd)==0
atnfunc=pi/2;
end
atnfunc=pi-atan((y-yd)/abs(x-xd));
end
else
if (x-xd)>=0
83
84 AP
ON ARCTAN EN SIMULINK
atnfunc=-atan(abs(y-yd)/(x-xd));
else
if (x-xd)==0
atnfunc=-pi/2;
end
atnfunc=atan(abs(y-yd)/abs(x-xd))-pi;
end
end
En la Figura D.1(b) se muestra el desempe no del controlador en el seguimiento de
una trayectoria con la funcion arctan modicada para superar los errores que presentaba.
(a) (b)
Figura D.1: Pruebas de la funcion arctan en el controlador para el seguimiento de una
trayectoria