You are on page 1of 6
HERRAMIENTA MATLAB/SIMULINK PARA LA SIMULACION Y EL CONTROL DE ROBOTS MANIPULADORES Y MOVILES J. Ivén Maza Aleaniz, Anibal Ollero Baturone Escuela Superior de Ingenieros Camino de tos Descubrimientos s/n, 41092-Sevilla (Espaiia) Teléfono: +34 9544487349 e-mail: imaza@cartuja.us.es, aollero@cartujaus.es Resumen Enel campo de la Robética es necesarioefectuar gran cantidad de cailculos vectorialesy matrciales, que son de muy facil implementacién’ mediante MATLAB/ Simulink. Por esa razon, éste ha sido el entorno es- cogido para desarrollar la herramienta que se presen- ta en este articulo, Dicha herramienta facilica las ‘operaciones mis comunes que se presentan al traba- ‘Jar con robots manipuladores y movies. Palabras Clave: Cinemética de robots, control adap- tativo, control con aprendizaje, dinémica de robots, generacién de trayectorias, MATLAB, par computa do, robots manipuladores, robots méviles, seguimien- to de trayectorias, simulacién de robots, Simulink 1 INTRODUCCION En Corke [3] se presenta un conjunto de funciones MATLAB de utilidad para la simulacién y el andlisis de experimentos con robots manipuladores reales. Ciertamente, los. célculos relacionados con la cinemética y la dinémica de los robots manipuladores pueden ser implementados fécilmente mediante MAY LAB, Ademés las funciones escritas en MATLAB son de fil comprensién debido a que son casi una trans- cripcién directa de las formulas en las que se basan, Por tanto, dichas funciones pueden ser fécilmente re- visadas y mejoradas por otros usuarios, incluso si em- plean distintos sistemas operativos, ya que MATLAB ‘std disponible en gran niimero de plataformas. Asi- mismo, trabajar en el entorno MATLAB, permite un ‘tratamiento muy flexible de los resultados obtenidos, de modo que se puede efectuar cierto procesamiento sobre ellos, asi como cualquier tipo de representacién grifica. El principal inconveniente del trabajo de Corke era que précticamente no abordaba el control de robots, ‘manipuladores. Solamente se explicaba el modo de hacer el control mediante la técnica del par computa do, y resultaba ademas evidente, que implementar ‘cualquier otra técnica mediante el uso exclusivo de funciones MATLAB, resultaria para el usuario dificil ¥ tedioso. Ademas, no se recogia la posibilidad de que Ja base de! manipulador fuera movil, ytampoco se tra- taba ningtin aspecto de robstica mévil Por otra parte en 18] se presenta una libreria para Simulink que permite implementar cierto nimero de ‘éenicas complejas para ef control de robots manipu- ladores. En efecto, el uso de Simulink es una buena ‘opcién para la simulaciGn de entornos de control de ro: bots de cara a incrementar la flexibilidad y la facilidad de manejo. Sin embargo, la librerfa desarrollada en [8). tiene el inconveniente de que el usuario debe pro- sgramar funciones en MATLAB para evaluar diversas, ‘matrices relacionadas con la dinmica y el control. Por tanto, es necesario que calcule previamente dichas ma- tices de modo simbélico para cada manipulador que Quicra simular, lo cual constituye una {area tediosa cuando el nimero de enlaces del robot es elevado. Laherramienta que se presenta en este articulo ha sido claborada con la idea de facilitar los célculos mas fre- ccuentes relacionados con la representacién de la po- sicién y Ia orientacién, la cinematica, la dinamica y el control de los robots manipuladores. Asimismo se in- cluyen algunas funciones para la generacién de trayec- torias para manipuladores. También se han tratado ciertos aspectos de Robitica m6vil. ara lograr todo esto se ha optado por una solucién ‘mixta, compuesta por herramientas desarrolladas para MATLAB directamente y por otras que deberdn ser ‘empleadas por el usuario desde Simulink (que es una extensién de MATLAB), De este modo se pretende conseguir un entorno lo mis fécil posible de manejar Asf por ejemplo, las herramientas correspondientes la cinemtica del robot estin disponibles en MATLAB. directamente, mientras que aquellas que permiten la aplicacién de diversas téenicas de control habrin de ser utilizadas dentro de Simulink. En el caso de la dindmica es posible emplear indistintamente MAT- LAB 0 Simulink. Las herramientas desarrolladas se pueden aplicar a cualquier robot manipulador sin mas que conocer sus pardmetros cinematicos y dinémicos (parémetros de Denavit-Hartenberg [1], masas de los enlaces, centros de masas de dichos enlaces,..). Para ello simplemente tendremos que introducir dichos parimetros en una matriz en un formato dado, Estas matrices proporcio- nan una forma concisa de deseribir un robot y cons- tituyen un medio facil de compartir modelos de robots, centre distintos investigadores. 2 ROBOTS MANIPULADORES 2.1 REPRESENTACION DE LA POSICION Y LA ORIENTACION La manipulacién mediante robots implica el mo: Vimiento de s6lidos a través del espacio. Por tanto parece evidente Ia necesidad de representar adecuada- ‘mente las posiciones y orientaciones de los elementos que componen un robot, por Jo cual se incluyen una serie de funciones de MATLAB que facilitan el ‘manejo de las matrices que representan la posiciGn y la orientacién. Asimismo, se pueden visualizar los cuadros de referencia y comprobar grficamente cémo Jes afectan las transformaciones de rotacién y traslacién (ver Figura 1). Figura 1: RepresentaciGn grfica de sistemas de referencia. ‘También es posible calcular los éngulos RPY o los én- gulos de Buler que corresponden a una determinada transformacién y viceversa 2.2 CINEMATICA Y DINAMICA DE ROBOTS MANIPULADORES Las herramientas que facilitan el tratamiento de la cinemética y la dinmica de los robots manipuladores than sida desarrolladas como funciones MATLAB. No obstante, la dindmica también esti disponible en ‘Simulink, que es un entorno mas intuitive. 2.2.1 Cinematica de robots manipuladores Para tratar la cinematica se ha optado por emplear ex- ivamente MATLAB, ya que en este caso resulta ‘més cémodo que Simulink. Eso es debido a que la ‘mayoria de datos involucrados en la cinemética son ‘matrices, que pueden ser tratadas de un modo relativa- mente facil mediante el uso de funciones de MAT: LAB, mientras que hubiera resultado mas engorraso tratarlas con Simulink a efectos de resolver los proble- ‘mas cineméticos clisicos, Dentro de Ia cinemitica de los robots manipuladores se cubren aspectos tales como la obtencién del modelo directo, del modelo inverso y del Jacobiano, También ‘es posible obtener una representacién esquemstica del brazo manipulador y det sistema de referencia asocia- do al efector final (ver Figura 2). ‘Trayectoria que sigue el manipulador Enlaces Get ‘manipulador Sistema dé refere asociado al efector final Figura 2: Representacién esquemética de un ‘manipulador plano con dos articulaciones de rotacién. Para todo ello se han elaborado una serie de funciones MATLAB, que necesitarin como parimetro. una ratriz que contenga los. parimetros de Denavit- Hortenberg, segin Ia notaciGn de Craig [5], del mani- pulador en cuestin. Dichamatriz deberé tener una fila por cada enlace del manipulador y en cada fila conten- w enlace 10 Ix in ly lementos del tensor de a2, zz | ‘inercia referido al centro B is cde masas del enlace 14 xz 15 yz 16 Im — | Inercia de la armadura 7 G | Velocidad articulacién / Velocidad enlace 18 B | Friceién viscosa, referida al motor 19 ‘Tet | Frccidn de Coutom Gotcion stv}, referida al motor 20 ‘Te. | Friccin de Coulomb roacion nega), referida al motor Las entradas (, 00" y V" presentes en Ia mayorfa de los bloques son las velocidades y aceleraciones co- rrespondientes la base del robot manipulador, ya que se ha considerado la posibilidad de que el brazo esté situado sobre una plataforma mévil ven 2 oa catigos bgrtest e204, meme ncaaeccnreanh Je PEE ag Pal ‘vat eae i Figura 3: Bloques de Simulink relacionados con la dinmica de los robots manipuladares. Cada blogue dispone de un cuadro de didlogo en el que cs necesario introdueir los parmetros requeridos. Asi por ejemplo, el bloque “Trayectorias artculares” pre- senta el cuadro de didlogo de la Figura 4, Figura 4: Cuadro de dislogo correspondiente al bloque “Trayectorias articulares”. En Ia seccisn 4 se presenta un ejemplo en el que se puede observar la utilizacién de algunos de los bloques que aparecen en la Figura 3, 23 CONTROL DE ROBOTS MANIPU- LADORES Es posible simular el contro! del brazo mediante diver- sas téenicas, entre las que cabe destacar el control me- diante ef par computado, el control adaptative y el control con aprendizaje. Todas ellas han sido desarro- lladas en el entorno Simulink con la idea de lograr la ‘mayor facilidad de manejo posible. Fn eelacisn al contol adaptaivo, se ha implementado 4a técnica de Slotne-Li [7] y e ha comprobado eémo dicho algoritmo es capaz de estimar certs parémettos desconocidos del manipulador. Los bloques de Simulink que pueden wilizarse para implementa esta téonica de contol son fos que aparecen en a Figura 5. Dichos bloques permiten Ia estimacién de las masas de los enlaces y de los parémetros de froin (tanto vs cosa como de Coulomb) en fas articlaciones, ‘Tam bign se recoge Ia posiblidad de que la base del manipulador sea mévil sie [Po Figura 5: Bloques Simulink para implementar el control adaptativo, Para el control con aprendizaje se ha empleado un al- goritmo desarrollado por Craig [4], y se ha comproba- ‘do que en muy pocas iteraciones (4.65 porlo general), dicho algoritmo es capaz de compensar gran parte de la dinémica desconocida del manipulador. El bloque ‘que implementa la ley de aprendizaje aparece en el ejemplo de la seccién 4, Se ha conseguido que a la hora de disefiar un contro: lador, ef usuario solamente tenga que introducir los parametros cuyo valor 6ptimo hay que determinar por prueba y error. El resto de matrices necesarias se cal culan autométicamente. Asi, por ejemplo, en los bloques referentes al control adaptativo, el usuario da los valores de las matrices constantes (Ky, Py A), el resto de matrices y vectores (tales como la matriz. de regresidn y el vector de actualizaci6n), son determina dos por las funciones que componen la libreria, 2.4 GENERACION DE TRAYECTORIAS ‘Se han incluido también una serie de funciones MAT- LAB que permiten la generacién de trayectorias carte- sianas y articulares En relacién ala generacién de trayectorias cartesianas, se dispone de una funcién que dados unos cuadros de referencia inicial y final, calcula las transformaciones intermedias que nos pueden llevar del origen al destino (ver Figura 6). Figura 6; Generacién de trayectorias cartesianas. En cuanto a la generacién de trayectorias articulares, se pueden emplear funciones lineales con enlaces pa rabolicos, polinomios cibicos, polinomios de grado cinco, ete, 3 ROBOTS MOVILES Esta seccién esté disponible en Simulink y cubre prin- cipalmente la cinemética y el control de robots, miéviles, 3.1 CINEMATICA DE ROBOTS MOVILES, Se ha incluido la cinemética de ciertos modelos muy frecuentes en la literatura, como son el modelo de la bicicleta, el guiado diferencial, el triciclo clisico, ete Se han implementad tanto los modelos cineméticos directos como os inversos (ver Figura 7), Estos mo- delos pueden ser integrados con la dinmica de un bra- 70 manipulador (ver seccién 4), logrando simular de este modo el comportamiento del brazo sobre una plataforma mévil Figura 7: Modelos cinemsticos directos e inversos de diversos robots méviles. 3.2 CONTROL DE ROBOTS MOVILES ‘Se han implementado ciertas técnicas que permiten controlar los movimientos de un robot mévil en el plano, con objeto de que dicho robot siga un determi- nado camino. En primer lugar, se pueden simular estrategias para el seguimiento de caminos basadas en métodos geo- métricos, como son el seguimiento mediante perse- cucién pura, y el control geométrico mediante gene racién de potinomios de otden cinco. ‘También se pueden emplear métodos basados en Ia ‘Teorfa de Control, como los que se encuentran en Ca- nudas [2], que emplean realimentacién lineal y no li- neal para el seguimiento de caminos. Finalmente, ¢s posible simular un método conocido como seguimiento predictivo generalizado, basado en la aplicacién al seguimiento de caminos de la teor del control predictivo generalizado (Ollero y Amidi, (6p. 4 EJEMPLO DE APLICACION Supéngase que se tiene un brazo manipulador monta- do sobre un vehiculo con guiado diferencial. Para este vehicula puede especificarse una trayecioria que pase junto a una pared. Al mismo tiempo que la plataforma pasa junto a la pared puede pretenderse que el brazo siga con su efector final el contorno de una pieza ‘cuadrada situada en dicha pared. | Eshee Figura 8: Diagrama Simulink que implementa el control con aprendizaje de un brazo manipulador sobre una plataforma mévil, En primer lugares neceserio calcular el modeto inver- so del manipulador cuando pasa junto al cuadrado, teniondo presente que mientras se realiza esta ope- racién, la base del manipulador va cambiando de po- sici6n. Como resultado se obtiene una matriz.que con- tiene en cada fila los conjuntos de variables articulares necesarios. Sino se ha calculado el modelo inverso en ‘un ndimero suficientemente elevado de puntos, es posi- ble emplear, por ejemplo, funciones lineales con en- laces parabélicos para unir adecuadamente los conjuntos de variables articulares obtenidos. Una vez que se tiene la trayectoria de variables articu- lares deseada, es posible emplear la técnica de aprendizaje para seguirla (ver Figura 8). En dicha fi- ‘qura se aprecia como aparecen integradas la cinemsti cea de Ia base mévil con la dindmica del manipulador colocado sobre ella 5 CONCLUSIONES La herramienta desarrotlada puede ser aplicada al de- sarrollo de otros proyectos de Robética (de hecho ya se ha empezado a aplicar en las fases mas tempranas {de un proyecto en el que se modela una maquina exca vvadora como un robot manipulador), Existe también la posibilidad de aplicarlaen el campo docente, de tal modo que podria constituir para los alumnos un medio eficaz de realizar ejercicios en nu- merosos temas de los programas de un buen aimero de cursos de Robstica de diferentes universidades. Agradecimientos Se agradece a la Sociedad Siglo XI por la beca de in- vestigacién concedida al primer autor. Este trabajo ha sido parcialmente financiado por la CICYT en el proyecto TAP 99-0926-CO4-01 Referencias [1] Hantenberg, R.S., Denavit, J. (1955), “A kine matic notation for lower ‘pair mechanisms based on matrices", Jounal of Applied Mechanics, vol. 77, pp. 215-221. [2] Canudas de Wit, Siciliano, B., Bastin, G, (199%), Theory of Robot Conizol, Springer. [3] Corke, P1,, (1996), “A Robotics, Toolbox for MATLAB®, JEE Robotics and Automation ‘Magazine, vol. 3, no. 1, pp 24-32. [4] Craig, 14, (1988), Adaptive control of mecha- nica manipulators, Addison Wesley. [5] Craig. J4,, (1989), Introduction to robotics, ‘Addison Wesley, segunda ed. [6] Ollero, A., Amidi,O., (1991), “Predictive Path ‘Tracking of Mobile”Robots._ Applications 10 the CMU Navlab”, Proc. of the Fifth Interna- tional Conference on Advanced Robotics, Pisa, Vol. Il, pp. 1081-1086. (71 Stine 5, Li, We (1988), torleonuol a cae stad ‘Automatte Control, Vol. 33, pp 98: 1003, [8] Valera, A, Tomero, J., Salt, Ji., (1999) “Desafrolld de una Libreria. de’ Control de Robots para MATLAB/Simulink”, XX Jorna- das de Automética, Salamanca, pp' 131-136.

You might also like