* Facultad de Ingeniera Mecnica y Elctrica, UANL. JESS DE LEN MORALES*, CSAR GUERRA TORRES* xploraciones al espacio con lanza- mientos de sondas espaciales, control de satlites, aviones teleoperados y telecontrol de misiles son ejemplos de tecnologas que, hoy en da, entremezclan las tcnicas de los sistemas de control y los sistemas de comunicaciones. Sin embargo, y aunque pareciera que esta tec- nologa vanguardista slo es accesible a un grupo selecto de personas, debido a las fuertes inversio- nes econmicas, gracias a la Internet, a la reduc- cin de precios de microprocesadores y tarjetas de adquisicin de datos, al considerable aumento potencial de las computadoras personales, entre otros, el uso de estas mezclas tecnolgicas se vuel- ve ms y ms accesible. De modo que ahora se utiliza en universidades para implementar labora- torios a distancia; en empresas para mantenimien- to, programacin y control de dispositivos en for- ma remota, y en la implementacin de casas, ho- teles y restaurantes inteligentes, todos de una manera relativamente muy accesible. Asimismo, los beneficios del control a distan- cia han impactado en forma muy positiva el rea de investigacin en robtica, de modo que los robots ya no slo son utilizados para movimien- tos bsicos, sino que son capaces de interactuar con personas a distancia. 1,2 Hoy es ms comn escuchar el trmino "telerrobtica", esto no es ms que una aplicacin del control de los robots a distancia, se utiliza tanto en la docencia como en la investigacin y en la industria. Actualmente, este inters se ha incrementado debido al acceso a la tecnologa de Internet como medio de comunicacin entre hom- bre y robot. De modo que la telerrobtica, en conjunto con el Internet como medio de comunicacin, se conoce como Internet robots, y provee de dife- rentes aplicaciones en distintas reas, por ejem- plo: servicios en el hogar, entretenimiento, tele- medicina, la industria de automatizacin, servi- cios militares, educacin a distancia y laborato- rios remotos de investigacin. En este trabajo se detalla la metodologa, los requerimientos, as como los resultados de la im- plementacin y puesta en marcha de una platafor- ma computacional para el control de un manipu- lador a distancia, usando el Internet como medio de comunicacin. Esta plataforma tiene como objetivo facilitar el acceso a la experimentacin remota en el rea de robtica, en beneficio de estudiantes, maestros e investigadores, como se muestra en la figura 1. Plataforma computacional para el control Plataforma computacional para el control Plataforma computacional para el control Plataforma computacional para el control Plataforma computacional para el control de un robot va Internet de un robot va Internet de un robot va Internet de un robot va Internet de un robot va Internet E CIENCIA UANL / VOL. XII, No. 2, ABRIL - JUNIO 2009 159 Metodologa La plataforma se basa, principalmente, en el uso de una computadora dotada con un conjunto de programas computacionales, que en su mayora son servidores de medios, http, bases de datos, RS232 y VNC. Esta plataforma rene las siguientes caractersticas: En su mayora se realiza con software de uso libre o, en cierta manera, gratuito. Lo que permite reducir costos de implementacin, sobre todo a nivel educativo, donde una variedad de programas computacionales permite su uso sin ningn costo. Permite experimentar usando los tres es- quemas de telecomunicacin: telecontrol, teleoperacin y teleprogramacin. Muchas de las plataformas hablan de telecontrol cuando en rea- lidad es una teleoperacin, pocas le dan impor- tancia a la teleprogramacin. sta permite experi- mentar bajo los tres esquemas. Se utiliza una interfase diseada con un microcontrolador de bajo costo y alto rendimien- to llamado Picaxe. Este microcontrolador, relati- vamente reciente, ha despertado un gran inters en la comunidad estudiantil, pero ahora varias em- presas ven en l un "pequeo gigante" de bajo cos- to, fcil programacin e importantes caractersti- cas en su interfase, ya que acepta entradas y salidas analgicas y digitales. Programacin "In System Programmabilit". Utiliza una interfase con un microcontrolador Picaxe que permite la programacin sin necesidad JESS DE LEN MORALES, CSAR GUERRA TORRES de programadores especiales, es decir, se progra- ma y se ejecuta en lnea. Software de control proporcionado por la plataforma para el telecontrol. Se puede utilizar el programador gratuito del Picaxe, ya sea para programar el dispositivo a dis- tancia, o bien para realizar programas de interac- cin con algn otro software. Esto es, se puede programar el Picaxe para interactuar con progra- mas propios del cliente o usuario de la platafor- ma. Requerimientos Para implementar esta la plataforma se tuvo una serie de requerimientos, tanto en software (SW) como en hardware (HW). De modo que la buena seleccin de estos elementos repercute en la efi- ciencia, robustez y mantenimiento del mismo. La mayor aportacin en SW la dan como ser- vidores de medios, que permiten compartir los recursos de una computadora, o bien como ele- mentos integradores entre SW o HW. 3 En lo que respecta a HW, el principal requeri- miento consiste en que la interfase que comunica la computadora con los servomotores del robot disponga de un microcontrolador programable en lnea (In System Programmabality) usando el pro- tocolo RS232, es decir, que no requiera de pro- gramadores especiales y que se tenga que extraer de la interfase. En cuanto al SW, se requieren cuatro elemen- tos: servidor HTTP, servidor de bases de datos, servidor serial y lenguaje a nivel servidor. Ser vidor HTTP. Es un programa que implementa el protocolo HTTP diseado para transferir lo que llamamos hipertextos, pginas web o pginas HTML "hypertext markup language": textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de sonidos, elementos integradores. Fig. 1. Telerrobtica CIENCIA UANL / VOL. XII, No. 2, ABRIL - JUNIO 2009 160 PLATAFORMA COMPUTACIONAL PARA EL CONTROL DE UN ROBOT VA INTERNET Servidor de bases de datos. Es un programa que permite almacenar, administrar y compartir informacin sobre una red de computadoras. Servidor VNC. Las aplicaciones de VNC (Vir- tual Network Computing) permiten compartir el escritorio de una computadora (pantalla visual de trabajo) mediante un protocolo simple, de acce- so a interfaces grficas llamado RFB (Remote Frame Buffer). En resumen, estas aplicaciones permiten que una computadora que llamaremos PcClient se co- necte a otra que llamaremos PcServer y tomar el control de la misma como si se estuviera presencialmente en ella, como se puede apreciar en la figura 2. al cliente la manera en que lo hace. Los lenguajes ms usados a nivel servidor son: Java, Net, PHP y ASP. In System Programmability. Este trmino se utiliza actualmente en dispositivos electrnicos que pueden ser programados en lnea, sin necesi- dad de programadores especiales ni de ser extra- dos del hardware donde trabajan. Implementacin Una vez vistos los requerimientos de la platafor- ma, se detalla el procedimiento utilizado para la implementacin de la misma, se especifica el tipo de SW y el HW utilizado para cumplir con di- chos requerimientos. Apache Friends Este software, cuya licencia es GNU/GLP, cum- ple con varios de los requerimientos vistos con anterioridad, pues en un solo paso instala, entre otros, los siguientes componentes: 1. Servidor http Apache 2. Servidor de bases de datos MySQL 3. Lenguaje de servidor PHP. Para mayor referencia consltese la pgina oficial.4 TCP-Com Para compartir los recursos del puerto serial a tra- vs de la Internet se utiliz un software llamado TCP-Com.5 Este sencillo programa puede utili- zarse como cliente o como servidor (figura 3). La configuracin del TCPCom es simple, y los parmetros necesarios a modificar sern: Connector. Se refiere al puerto RS232, se se- lecciona el puerto fsico, si es que la PC es un servidor; o bien un puerto virtual, si es que la PC es cliente. En caso de utilizar un puesto virtual (slo para PC cliente), ser necesario activar la ca- silla "Create Virtual COM port". Servidor RS232 o servidor serial. Los servidores seriales son pequeos programas que permiten compartir el puerto serial de una computadora por medio de la red; por lo tanto, para hacer uso de ellos es necesario disponer de una PC dedica- da. Estos servidores tambin son conocidos como convertidores de protocolo en software de RS232 a TCP/IP, ya que adems existen en hardware, donde no es necesario utilizar una computadora dedicada. Lenguaje a nivel servidor. ste permite ejecu- tar aplicaciones en el servidor, y permite crear p- ginas dinmicas. Los cdigos de estos programas permanecen ocultos al cliente, por lo que ste slo enva una peticin, el servidor ejecuta una serie de comandos y devuelve los resultados, y oculta Fig. 2. Servidores VNC. CIENCIA UANL / VOL. XII, No. 2, ABRIL - JUNIO 2009 161 Baud Rate. Deber estar a 9600, en caso de teleprogramacin, y 2400 en caso de telecontrol. Create Virtual COM port. sta se activa en caso de que sea un cliente, y es necesario crear un puerto virtual de comunicacin remota. This PC will act as TCP Client. Esta opcin se aplica para el caso de que la PC sea cliente. This PC will act as TCP Server. Esta opcin se aplica para el caso de que la PC sea servidor. Remote Host IP Address. Aqu se coloca la direccin URL en la que se va a realizar comuni- cacin, se aplica al caso de una PC cliente; en caso de servidor, sta es indistinta. Remote Port. Es la puerta de enlace, se deber asignar un host por puerto, iniciando desde el 1000 de preferencia. Es importante consultar con el responsable del rea de sistemas, para verificar si cuenta con los permisos de comunicacin por estos hosts. Activate. Activa el servicio, ya sea cliente o ser- vidor. rpidamente, tanto en la industria como en la educacin. El Picaxe es un sistema de programacin de microcontroladores altamente poderoso, pero muy econmico, diseado para el uso educacional y aficionado de los microcontroladores. Una de las caractersticas nicas del sistema Picaxe es que los programas pueden descargarse directamente al microcontrolador mediante un cable conectado al mismo, por lo tanto, no se requiere el uso de equipos programadores/ eliminadores de alto costo. Adems, el software es fcil de utilizar y gratis; por lo tanto, los estudiantes pueden trabajar sus proyectos utilizando el sistema de programacin completo en casa. El microcontrolador Picaxe dispone de una ter- minal exclusiva para su programacin, ste se conecta al RS232 de la computadora con unos simples componentes electrnicos; sin embargo, se puede utilizar cualquier entrada y salida del mismo para interactuar "en tiempo real", a travs del puerto serial, en este caso es necesario agregar un dispositivo convertidor del voltaje del RS232 de la computadora, a uno de TTL, el MAX232 es una buena opcin. Resultados y discusiones La figura 4 muestra los robots utilizados para pres- tar el servicio en esta plataforma, dos robots de la marca CRYA . JESS DE LEN MORALES, CSAR GUERRA TORRES Microcontrolador Picaxe Estos microcontroladores son nuevos y apasionantes "computadoras de un solo chip" electrnicos, que estn incursionando Fig. 3. Servidor RS232. Fig. 4. Robots CRYA. CIENCIA UANL / VOL. XII, No. 2, ABRIL - JUNIO 2009 162 PLATAFORMA COMPUTACIONAL PARA EL CONTROL DE UN ROBOT VA INTERNET La figura 5 muestra la plataforma web en fun- cionamiento, sta proporciona los medios nece- sarios para la experimentacin, ya que cuenta con la informacin necesaria y una gua para su uso; adems, permite la descarga de los programas para su utilizacin. Para su comprensin, dispone de una ayuda que permite comprender y distinguir los trmi- nos telecontrol, teleoperacin y teleprogramacin. Incluso se puede emplear el hyperterminal de Windows. Lo anterior, gracias a que la interfase fue dota- da con dos canales de comunicacin serial: uno, utilizado como medio de programacin, mientras el otro es el medio de interaccin en tiempo real. Hablando del retardo, cuando se tiene un es- quema de teleoperacin, el retardo prcticamen- te no es considerado, ya que slo se enva la infor- macin de lo que se desea hacer, el resto lo hace el programa de control del lado del servidor. Mien- tras que para el caso de telecontrol, ste puede ser importante dependiendo el tipo de experimentacin. Sin embargo, considerando slo el tiempo de respuesta del movimiento del robot, en esta pla- taforma es ms rpido el esquema de telecontrol que el de teleoperacin, ya que utiliza pocos re- Fig. 5. Plataforma Web. Prcticamente, la diferencia entre telecontrol y teleoperacin radica en la ubicacin del progra- ma de control; si ste se encuentra del lado del cliente; entonces se tiene un telecontrol; en caso de que est del lado del servidor, entonces habla- remos de teleoperacin. En cuanto a la teleoperacin, la plataforma cuenta con un servicio de VNC, mediante la cul es posible acceder a ciertos recursos de la compu- tadora para utilizar el robot a distancia, pero como si estuviera "fsicamente" en l (figura 6). Para el caso de telecontrol se puede hacer uso del programa proporcionado por la misma plata- forma (figura 7), o bien se puede disear una interfase a la medida con algn lenguaje de pro- gramacin que soporte la comunicacin serial. Fig. 6. Servicio de VNC para la teleoperacin. Fig. 7. Servicio de telecontrol. CIENCIA UANL / VOL. XII, No. 2, ABRIL - JUNIO 2009 163 JESS DE LEN MORALES, CSAR GUERRA TORRES cursos para el envo de instruccin, ste se trans- porta prcticamente al instante; sin embargo, para visualizar los resultados, la velocidad de transfe- rencia de imgenes depender de la velocidad de conexin, as como de los recursos de la misma computadora. No as en el caso de teleoperacin, ya que uti- liza los servicios del VNC mediante, y mediante la cual enva una serie de imgenes que muestra lo que ocurre en el escritorio de la computadora ser- vidora. En lo que respecta a la teleprogramacin, se puede usar la herramienta de programacin del mismo fabricante del Picaxe, sta es gratuita y se puede descargar de su pgina oficial. 6 Esta herra- mienta posee tres formas de programacin: el len- guaje Basic, mediante diagramas de flujo y me- diante diagrama esquemtico TTL. Juntando las caractersticas del Picaxe con las de su herramienta de programacin se puede ha- cer interfase a la medida para la operacin del ro- bot. Conclusiones En este trabajo se analizaron los elementos que permiten implementar una plataforma computa- cional para la experimentacin en telerrobtica. Aunque la dinmica presente por el uso del Inter- net como medio de comunicacin pudiera afec- tar los experimentos, aqu se limit exclusivamente a proporcionar las caractersticas de la platafor- ma, y deja dichos efectos como parte de las inves- tigaciones futuras. Primero se hizo un estudio detallado de los elementos tanto en software, como en hardware, que pueden ser utilizados para la implementacin de este tipo de plataformas. Posteriormente, se mencionaron los elemen- tos utilizados tanto en HW como en SW para implementar la plataforma computacional, la com- binacin de los elementos utilizados le dan cier- tas caractersticas nicas a la plataforma. Por ltimo, se mostr una serie de imgenes de la plataforma en operacin, mediante la cual se revel cmo es posible experimentar bajo los esquemas de telecontrol, tele operacin y teleprogramacin. Agradecimientos El presente trabajo se realiz gracias al apoyo brindado por las instituciones SEP, Conacyt, ANUIES, as como por el Institut de Recherche en Communication et Cyberntique de Nantes (IRCCyN) para una estancia de investigacin en Nantes, Francia. Resumen Actualmente los robots ya no son utilizados slo para movimientos bsicos, sino que ahora son capaces de interactuar con personas en tiempo real y a distancia, siendo el Internet un excelente me- dio de comunicacin. En este trabajo se presen- tan los resultados de implementacin de una pla- taforma computacional para el control de un ro- bot va Internet, con fines de investigacin y do- cencia. Palabras clave: Telecontrol, Telerrobtica, Inter- net, Robots. Abstract Currently robots are no longer used for basic movements alone, they are now capable of inter- acting with people at a distance and in real time, being the Internet an excellent way of communi- cation. In this work we show the results of the implementation of a computer based platform for the control of a robot via Internet, for research and teaching purposes. Keywords: Telecontrol, Telerobot, Internet, Ro- bots. CIENCIA UANL / VOL. XII, No. 2, ABRIL - JUNIO 2009 164 PLATAFORMA COMPUTACIONAL PARA EL CONTROL DE UN ROBOT VA INTERNET Referencias 1. K. Taylor, J. Trevelyan. "Australias telerobot on the web" in: International Symposium on Industrial Robots, 1995, pp. 39-44. 2. P. Saucy, F. Mondada, "KhepOnTheWeb: open access to a mobile robot on the Inter- net", IEEE Rob. Autom. Mag 7 (March(1)),2000, pp.41-47. 3. Csar Guerra, Jess de Len. "Elementos SW para el telecontrol o teleoperacin va Inter- net", memorias del congreso AMCA2006, www.amca.org.mx. 4. Apache friends, http:// www.apachefriends.org/, consultado en mar- zo 2007. 5. Tal Tech, "http://www.taltech.com/", revisa- do en marzo 2007. 6. PICAXE,http://www.rev-ed.co.uk/picaxe/ es/index.htm, revisado en marzo 2007. Recibido: 26 de agosto de 2008 Aceptado: 22 de enero de 2009