Download as pdf
Download as pdf
You are on page 1of 8
Investigacion La seccién de Difusién de Investigacién en Ingenieria, como su nombre lo indica, pretende divulgar el trabajo de investigacién y desarrollo que se haga en esta Facultad y otras Facultades de Ingenieria del pais. Esperamos que esta seccién pueda servir para aumentar los mecanismos de comunicacién de la comunidad cientifico-tecnoldgica en el pais. Consecuentes con lo anterior invitamos a investigadores de otras universidades para que usen este espacio para divulgar resultados que sean de interés para un sector amplio de Ia ingenieria. Jorge A. Villalobos Resumen Us robot indusiial se puede [programar de tres formas, coda une correspondiente aun nivel de abstraccién distinto: de monera gestucl. de manera textual explcita o de manera implcite, Un ombiente de progromacién de robots fuera de linea debe incluir un conjunto de hortamientes que permita tabojar en cualquiera de les tres niveles, ‘goraniizondo le compatibiidad entre ellos y entie los productos ‘que se obtienen. MSIM, por su arquitectuia y disefio, constituye Unc propuesta de solucion al problema de programacién de robots siguiendo este enfoque. Es Unsisteme modular, general, portable y con una estructura faclimonte extendible, que Interactéc amigablemente con el usuario, Ademés de una plotaforma de programacién, MSIM se ha utlizado para estudiar os problemas informaticos de implementar de manera eficiente algaritmos. como los de planificocion de toreos, muy MSIM: Un Ambiente de Programacién de Robots con Capacidad de Planificacién de Tareas* pesados computacionoimente, Una presentacién formal det ‘trabajo se puede encontrar en (20) yen (13) JORGE VILLALOBOS: ing fe Sess Unincee. DEA nah. {Uo Nacorai Petsenco de Greno- ‘be, Franla.Prlacr do! Dp. Ingenta do Setoras, Usndes ‘Aas 60 espocaizaca: Progra: ‘naan Oveniade # Obes, Pro (romain de Reboss “Este trobojo ho sido paxciaimonte \ desariolodo por el Grupo de | Robética del Instituto de Cibemética (Universidad —— Politécnica de Cataluto) y parcioimente financiado por la industria se utilza sobre todo CColciencias on ol marco del para la manipulacion de proyecto PIDAI (Universidad de los. matetiales. carga de maquines. Andes). pintura y sellado, soldaduro, ____ mecanizado, ensamblodo © Introducci6n — specci6n (16) La propiedad més importante de los tobols dentro dela ‘qutomatizacién industrial es su capacidad do sor reprogramades. Esto los hace flexibles y poderosos. porque se adapatan alos necesidades de produccion sin que sea indispensable modificar ffsicamente las maquinas que elaboran el producto, come si Segun lo difinicién adoptada por la RIA (Robot Industry Association) un’ robot industrial es "un manipuledor reprogramable muitfuncional disefade para mover materiales, pplezas, herramientas, 0 ortefactos ‘especiales mediante movimientos vatiables progromados para la ejecucion de toreas. potenciolmente muy diversas. "En aaa era | curtvia con la automatizacién figido. Esto oparente ventoja se ‘Puedie convertion una desventoja sila labor de progromacion se ‘wualve demasiado dispendiosa o s Jos costas de reprogramar el robot resulion muy altos. Ses necesorlo detener und linea complota de produccién durante varias semanas para hacer y probar un programa de robet, su utlzacién ploide rentoblided y defo de ser Una soluclén atactvo. Los ombientes de programacién de robots son un intento por resolver este probleme (4) (17) Para esto reenfocan toda la Ingenieria tradicional de software pensando en los problemas ‘especifices de la progiomacién de robots y creando herramientas de. ‘apoyo. MSIM fué concebido Inicialmonte en el institute de Cibemétice de Borcelons (8) como una herramienta de programacion fuera de fines, Actuaimente ha evolucionado hasla convertise en un ambiente de programacién de robots. con un nuevo paredigma que permite {usuario manejar borradores de solucion y moverse sobre diferentes niveles de abstraccién en el momento de resolver cada una de {as subtoreas pianteadas on la soluciéon. El ambiente est’ apoyado por un Conjunto de planificadores de tor6as que faciitan la labor de progromacién de acuerdo al ‘@squoma piantsado ‘antariommente. Uno de los objetivos bbésicos del diserio fué conseguir una estructura general, para que el ambiente pudiera trabajar con un nirnero considerable de robots Industialas sin grondos cambios en la programecién. El objetivo del articulo es presentor de manera gicbal el ambiente MSIM y se encuentra estructurado de a siguiente manera: primero so presenta la problematica de lo rogramacién de robots. Luego so muestra la funclonalidad y la arquitecture del ambiente propuesto como una respuesta a 6) en mec ts Jos problemas mostrados en ta primera parte. Por ditimo, se rofundiza un poco en la manera do ultlizar planificadores de tareas ylenguojes de alto nivel de Gbstracclén como harramientas de ‘apoyo ala labor de programacién de robots. Para una presentacién més formal y detallada del trabajo s@ recomlenda consuitar (20) y (13), donde se incluye una doscripcion de los principales ‘algoritmos Implementados on ol stoma, Programacién De Robots Desde la perspective del robot, un programa as una secuencia de osiciones y acciones de bajo nive! (abi y cerror la pinza, por elemplo) que se le expeciica de olguna manero. para que el robot tesuelva un problema. El robot, Utilzando diferentes algoriimos de. Control, envia a los motores de los ‘articulaciones las seficles ‘adecuadas para olcanzar los posiclones pedidas y alterar de ove ‘modo Ia escena o realizar algtin ‘to tipo de accion como sokdar 0 pintor. Desde la perspectiva del programador, esta visién puede ‘cambiar un poco. Existen diferontes niveles do abstaccion en los cuales 6! puede expresor la tarea que debe ejecutar el robot: desde la especiiicacion fisica de coda posicién, hasta la forrnulackin de Ia torea a raves de dos situaciones una inicial y otra final, sin Indicar de manera expliciia la forma do pasar de lo una la otra, Estas dos formas nos dofinen los limites del especto de posblidades que se utiizan para programar robots: programacién Qestual y programacién Impicitc. Ademés de estas, existe una manera intermedia conocide ‘come progromacion textual ‘expicita, equivalente de clerta forma cla programacién Imperativa en informética, En a programacién gestual ol programador guia fisicamente al robot para enseatle la manera do. ejecutor la tare: el robot ‘memorize las posiciones y movimientos y luego los repite. Es la manera mas facily econémice de programar un robet, pero tiene muchas limitaciones, Enla progamacién textual ‘explicita, el programader utilze un Jenguale como VALI (15) o LM @)con instrucciones de movimiento y. valiindose do un complador, genera las posiciones fisicos que envio al robot. Es més general y poderosa que la programaciin gestual. pero todavia resulta insuficiente, como se muestra més adelante. Existon muchos lenguajes comerciaias de programacion expicita de robots y su utllaacién se encuentro bastante difuncida. Elsiguiente es Un fragmento de programe escrito, fen VALI, que tome une pieza y lo lleva a ota posicion, y puede dar Una idea del tipo de insttucciones de estos lenguojes: MOVE #PPOINT(0,90,90,60.45,30) APPRO #POS1.-100 OPEN 60 DEPARTS -100 CLOSE! 20, MOVE #POS2 La progromacién implicita, por su parte, es el equivolente alo programacién autométice en informatica y todavia se encuentra, en fose de investigacién. E1 Programador especifica. con ‘algun formatsmo, la torec que des90 resolver (con dos esconas. por ejemplo), y el sistema. con, ‘algunas poutas genorales y la descripcién cinematica y geométrica dol robot, genera los instrucciones de movimiento que resueiven la torea, Esto tiltima forma de programar es muy poderosa, porque es independionte del robot, facil de mantener, r6pido, etc... pero tiene varios problemas que no se han lograde rasolver todavia de manera satistactoria, sobre todo en fo concemiente a eficiencia. Existon versiones comerciales de Implomentaciones parcicies de estos lenguajes (AUTOPASS (8), LAMA (9)) pero, debido a fas lo linea de produccion. Es ‘grandes restricciones que tienen, _Indlspensable, enfones, que el son muy poco ullzados robot est6 reciblendo ‘comerciaimente, Elsigulente esun _constantemente informacion sobre frogmento de cédigo ullizado por__ el estado del mundo y la manera: AUTOPASS para ensombiar dos ‘como va evolucionando Ia tarea. ‘objetos y colocaralos sobre oto: Para esto se han integrado a los ‘especitice tres tareas, perono se robots sensores de visién, de fuera. teflere en ningin momento alas _de proximidad, de tacto, etc. que pposiclones que debe alcanzorel_ lo ayudan a identificar situaciones, robot pora resolverias: potencialmente peligrosas y Poder, asi, adoptar a tlempo las (GRASP OBJETOV acciones corractivas necesatios. INSERT OBJETOI INTO OBJETOZ ‘Tombién puede utlizar la PLACE OBJETO2 ON OBJETOS: Informacién sensorial para corregir en ejecuctén algunas posiciones Independiente dela forma que se fsicas del programa que no hoya escogido para programar el _commesponden con la realidad, robot existe un problema que no se ha considerado y que genera Elprobloma es.z.cémo integrar esta ‘grandes complicaciones: la nueva informacién en el momento, Incertidumbre acerca del estado de hacer el programa? En ‘del mundo. En los ambientes programacién gestual no hay Industioles, que son bastante monera de hacerlo y, por 650. 52 Controlados y poco variables, esta considera ton limitada. En lo Incertidumbre disminuye, pero.ain —_pragramacién textual expicita se 3, 25 uno de Jos factores mas debe escribir un programa aporte ificles de manejar en el proceso —_—para el manejo de los sensores que de programacién( Qué pasa s!la__ se ejecute en paraielo con el pieza que debe agarar el robot se programa del robot y que de encuentra desplazada unos forma sincronizads informe al otro milimotros de donde deberia fo que va perciblendo de! mundo. estar’, El robot podria chocar Esto no solo no es sencilo, sino que contra olla y producir resultados en muchos casos es mas Inesperades y peligrosos para toda complicado que la misma Conte abet Sanne sansows | = Nae 3 Figura 1, Estructura funcional de MSM progromacién del robot, exigiendo al programador bastante conecimiento en eslralegias de movimiento asada en informacion sensovial y reduciendo por tanto el personal capacitade para llevar a cabo esta labor. En programacién impicita existen varios enfoques lstintos sobre la manera de ulilzar lainformacion sensorial, pero todos Incluyen la generacién automética del programa de sensores y su sincronizacién con el programe det robot. Algunos sistornas, como el que se presenta, van més alld y son copaces de replaniicar paries Ge Ia tarea segiin las condiciones ‘especiales que se vayan otectando mediante los sensores. Le programacién de un robot se puade hacer en tinea. utilzando Gkectamente el robot, o fuera de neo, utilzando herramientas CAD. simuladores grofices y volidadores de programas. Por costo, comodidad y seguridad es mas Conveniente esta tilima opcién, MSIM esta diseriado para lo programacién tuere do nea de rob0}s, utllzando los tres niveles de ‘abstraccién y permitiendo que se combinen los resultados obtenidos, desde cualquiera de ellos. Funcionalidad Del Ambiente Desde un punto de visto puromente funcional, el ambiente ‘e310 compuesto por cuctio médulos que se comunican y sincronizan a través de un ‘coardinador, come se muestra en lo figua 1 Elcooraiinader, ademas de Intoractuar con el usuatio, montiene un modelo actualzado dol robot y de su entomo. y ‘administra el flujo de informacion y do control entre los diferentes médulos. EI médulo de comunicacién con el robot 8 el reponsable de envior los comands adecuades al controlador fisico del robot para que ejecute un movimiento. Este médulo es dependiente del robot fo rare nic que se utliza y se debe ‘esciibir para cada robot {que se quiera manejor desde ei omblente. E1 médulo de sansores, por su parte, recibe Peticionos det ‘coordinador pore: ‘establecer algin hecho del entomo y retoma la Informacion pedida, Por ‘ahora funciona con sonsores monovaluados (fetomnan un solo valor. ‘como puede ser lo proximidad a un objeto), pero se busca también Integror sensores como los de vislén sobre los cuales es necesario hacer reconocimiento de formas ‘antes de responder al requerimiento del coordinador. E1 Pregame ‘Compiador cameo _|*y|_devaci Proganaain Sonal Figuio 2-structura funcional del médulo de progromacién, Impiicita generando un plan global do solucin y resolviendo cada subtorea utilzando los problema de esto titimo tipo de_—_—planificadores disponibles. En (13) sensores es el flempo que gosta un _9Parece une propuesta de igoriimo en reconocer. a partirde _lenguoje de planes basado en tuna imagen. fa posicion y 10sg0s y un esquema de ‘otientactin de un objeto de le Inleraccién y traduccién hacia ‘escena, 0 alguna otra caracteristica de dicho cuerpo. Es importante recalcar que toda la sincronizacién entre ol robot y los. sensores pasa por el coordinador. El médulo de progromocién tiene la estructura interna mostrada en la figura 2, que corresponde alos tes niveles de programacisn Presentados anteriormente. VALI Incluyendo la manera de generar el programa de sensoves. Se presenta también la forma de repioniicar subtareas, cuando la Informacién sensorial indica ka Inaplicabiidad de ta solucién ‘encontiade anterior mente por un Ploniticador, Por ejemplo, s!la piezo que desea agarrar so ‘encuentra rotada algunos grados Y por esta rotacién Ia pinza no Eade Cronica Ear eat Robot ‘elfotoe et tt Tmunao | | (~Gaonen ote 20, dsirotot Toseaaor i Set Mass igur0 3. Estructura funcional del méculo de simulocién, El progromador puede trabsjor de manera gestual apoyéndose en simulador, de manera textual expiicita utlizando el editor de texto del ambiente © de manera puede alcanzar el punto de ogore que se habia seleccionado (Porque colsiona contra otra pleza del entomno, por ejemplo), ef coordinader pide a los A ere = teens anor planificadores otras soluclones ‘aplicables a las nuevos condiciones y continda con la ejecucién. Mediante Ia utlizacion del lenguoje de plones propuesto, 1 programador puede manejor borradores de solucién y trabojar de lo abstracto alo concreto faciltondo de esta manera la labor do progromacién. Por otra parte, existe el médulo de simulacién y volidacién de programas que tiene Ia estructura funclonal mostrada en la figura 3 Esto médulo permite ol usuario visuolizar de manera giéfica 3D {Wwes dimensiones) la ejecucién de Un programa de robol y verificor colisiones entre los elementos presentes en Ia escena. E! simulador cuenta con el modelo cinemético del robo! definido mediante los parémetios do Denavit-Hortenberg (16) y con los modelos geométticos del robot y de su entomo oproximados por poliedros de caras planas definidos ‘con CGS (geometiia constructive ‘do sélidos) y con una fepresentacion por Ia trontera (1). Toma como entrada cédigo generado por el complador de VALAIy hace una simulacién {grafico de! movimiento del :obot. Montiene desplegadia informacion dol estado det robot, permite situar de manera interactive ol ‘observador, tener visualizacién en clomibre 0 realsta, colocar al ‘observador en la pinza para visuolizacién de aproximacién y cogare, etc. Cuenta, ademés, con Un sistema de ayuda en linea. Arquitectura Del Ambiente Desde un punto de vista Informético, MSIM fu6 constuido con und arquitectura de copos sobre un modelo ofentado por ‘obletos (12). Esto facia incluir en ‘I nuevas opciones y faciidades, sin necesidad de modiicar lo ya coxsstonta También permite ‘monejar miltiples vistas del mismo modelo, segin las necesidades, ‘aumentande ast as posbiidades de expresar problemas de diferentes tipos, en diferentes Administer modelo maneja un primer nivel de tazonamiento geométtice (14) que ertmite al robot agamrar plezas, ‘fransportar ensambles decidir s1 hay ung collsion, etc. y constituye ‘01 soporte de todo ol ambiente. Cubsiondo este niicleo aparece una piimera copa, que ‘comtesponde al dminisador del modelo. encargado de la Interaccién del nécleo del sistema con el robot fisico, los sonsores y el Usuario, y cuya mision es garantizar ‘en todo momento, la coherencia ‘entve 1 situacion actual del robot. lo que perciben los sensores del ‘entomno del robot y lo que ve y quiere hacer el usuario, Lo comunicacién con el usuario se ‘encuentra en ia segunda copa de! sistema, en relacion directa con el edminshador del nicleo: 36 puede didi en dos partes: Comunicaiia Figura 4.-Arquitecturainformética de MSM Elnicleo del sistema es un modelo operacional del robot y de su mundo, que simul su comportomiento. Eso quiere decir que responde exoctomente igual {.como responderia en la realidad al robot a astimulos externos (insttucclones del programoder, choque con una piezo, etc). Este Proprmeciin Imptota Propmactin Bla Veuaciin vsuallzacién y programacién gestudi o interactiva. La visuolizacién mantiene Informado 01 programador sobre el estado el modelo utlizando una representacién grética 30. De esto forma el usuario obtiane una vison dinamica, completa y octualizada: de Ia escena, Incluyendo la Informacion obtenida por los sensores. La monipulacién gestual permite al usuario operar ditectamente sobre ol robot, enviatle érdenes de bojo nivel, ‘mover sus articulaciones, manipular las plezas, etc. Esta capa toma fos eventos generados, or el usuario (mover un Gta, primi un botén, etc.). os Interprota y comunica la orden of administrador. ‘Sobre la copa de monipulacion Interactiva se tiene Ia parte de programacién explcito: est ‘compuesta por un editor de programes y un compliador de VALI que traduce a cédigo de ‘més bajo nivel las instrucciones de movimiento dadas por el programadsx. Este codigo os ‘enviode ala cape inferior como érdenes dol usuario. Esto ‘compiiador fué escrito ultilzando YACC y LEX. horramlentos UNIX para ia generacién de onalizadores sintacticos y léxicos. Lo.uttima cope de! sistema, de programacién Implicit, se encuentra localzada sobre lo de programacién textual ‘explicta, Est& compuesto, porun conjunto de planificadores que generan cédigo VALI se ‘explican en detalle en la siguiente seccién. MSIM est6 escrito en C utilzando la ibreria gratica PHIGS. Es completamente portable entre méquinas UNIX y actualmente se ‘encuentra funcionando ‘en estaciones gréficas ‘Apollo, Sun @ IBM- RT. Existe ‘también una version en C##2.0y uno version sobre la INbrexia grdfico CORE de Sun, utllzadas para estudior los problemas de mantenimiento y Portabliidad de ombientes gréticos cotlentados por objetos, fern oe eres tea La Planificaci6n Como Herramienta De Programacién Para escribir un programa en MSIM. 01 usuario sigue el siguionio ‘proceso: crea en el ecitor de planes una primera aproximacion de la solucion stamade un borrador o un bosquejo- en la cual. 2 grandes rasgos. resueive 6! problema partiéndolo en sublareas més sencillos. Luego, comienze a resolver coda sublorea y a alustar el plan globo a medida que se vayan concretando las soluclones parcioles, utilzando todas los herramientas del ambiente. En articular puede utiizor los plonificadores que son copaces de sugerie de manera interactive soluciones a tareas sencillos. Toda la coherencia entre el bortador y sus Portes la gorantiza el sistema, reesctibiendo el borrador hasta llegar ale solucion expresada en un lenguaje que se puede considerar de nivel Impfcito, Elombiente cuenta con cuatio planificadores: dos pore encontrar ‘trayectorias libres da colsién (uno para movimientos grandes y otro ara movimientos finos) un’ planificador de agarre y un planificador de tareas simples. EI planiicador de movimiontos fines sin colisiOn est bosado en la idea de potenciales. En esto ‘aigositmo se simula unc fuerze de repulsi6n de los obstéculos y una fuerza de atraccién hacis lo Posicion final. El algormo esté ‘opoyado por heutsticas que impiden que el robot se quede en minimos locales. La funcion de potencial fué una modiicacién de a propuesta en (6). Este planificador ha demostrado su eficiencia para hacer movimientos Cortos pues genera trayectoris suoves y seguras, de manera rapida y a un costo: computacional bajo. Para los movimientos grandes, se ee ome Seo ‘cuenta con un planificador de trayectorias que trabaja sobre un ‘espacio de configuiaciones Glscretizado y oproximado(10 (1) La idea de fondo es camblar ef espacio de bisqueda de soluciones a un espacio generado or os tres primeros grades de ertad de robot (dos de posicionamiento) aproximando los demés grades de libertad (los de otientacion) a través de una estera que los incluya. De esta manera el problema se reduce a encontrarla manera de mover un punto en un espacio de 3 dimensiones donde cada ee coresponde a los valores de uno arficulacion. Este planificador requlere grandes recursos computacionaies y toma {agin tiempo en encontrar una. solucién debido, mas que todo, {que los algoritmos para el cambio de espacio tienen altos complejidades. Ei planificador muestra grétficomente lo solucién ‘encontrada y le presenta al rogromador toda la informacion ‘sociada con la trayectoria, para que este pida la ganeracién de cédigo en VALI, solicte ofta soluci6n. o fie restricciones adicionaies. Eiplonificador de ogarre es copaz de suger ol progromador ‘ferentes puntos para tomar unc peza, ya sea para ensambiarc © pare transportoria(18)(2).1rob9je ppora pinzas con dedes paxcielos y funciona buscando posiciones stables, Localiza todas las parejos de cares poralelas cuyos proyecciones de una sobre a otto $e infersecten. Busca también Parejas cara-

You might also like