Sei sulla pagina 1di 15

Instituto Tecnolgico de Chihuahua Divisin de Estudios de Posgrado e Investigacin

La computacin en la robtica

Nombre: Marcos Samuel Gmez Garca No. de control: G10061257

Chihuahua, Chihuahua Junio de 2011

Introduccin
Hoy en da las computadoras son parte indispensable en la vida del ser humano. Con las computadoras se pueden simplificar muchas tareas, factor que las ha hecho tan atractivas y necesarias. Es comn encontrar computadoras en las empresas ya que con estas se pueden realizar ciertas funciones en un menor tiempo en que lo hara un ser humano sin la ayuda de ellas. Una de las desventajas de las computadoras es que aunque posean inteligencia artificial solo sirven para el proceso y control de datos, es aqu donde entran los robots, los cuales pueden auxiliar en tareas que requieren algn esfuerzo fsico. Aunque existen herramientas que pueden ser operadas por un ser humano para realizar trabajos que requieren una fuerza fsica mayor, los robots pueden realizar el mismo trabajo pero sin la intervencin de un humano ya que tienen la capacidad de realizar tareas peligrosas debido a que poseen una inteligencia artificial parecida a la de las computadoras. Si bien algunos robots en la actualidad tienen una inteligencia artificial muy avanzada, an existen robots que realizan tareas simples pero necesarias como es el caso de los robots dentro de la industria manufacturera. Son robots que agilizan la produccin y que adems protegen al trabajador de realizar tareas peligrosas. Generalmente los fabricantes de estos robots proporcionan un controlador predeterminado para cada tipo de robot por lo que la interaccin usuario-robot se ve limitada a lo que el fabricante disponga. Es aqu donde se podra integrar una computadora personal para el manejo del robot y para el procesamiento de los datos provenientes del mismo. En este documento se describe una forma de lograr dicha integracin haciendo uso de diversas herramientas de propsito general.

Justificacin
Esta prctica se realiza con la finalidad de conocer algunos de los elementos bsicos necesarios para poder lograr interactuar con un robot a travs de una computadora personal. Se pretende personalizar lo ms posible la forma en que se integrarn todos estos elementos, esto con el fin de hacer un sistema modular al cual se le puedan agregar componentes adicionales en caso de que se requiera.

Metodologa
Se estudiarn las caractersticas del robot para entender su modo de operacin, para esto se realizarn varias prcticas en donde se programar al robot de manera que sea capaz de realizar distintas rutinas. Inicialmente la comunicacin con el robot se dar a travs del controlador proporcionado por el fabricante y se reproducirn las actividades contenidas en el manual de usuario, las cuales servirn como ejercicios de prctica. Una vez que se aprenda a operar el robot mediante el controlador, se proceder a realizar la comunicacin con la computadora. Primeramente se realizarn las conexiones fsicas, por lo que se analizar que tipo de interfaces de comunicacin pueden ser tiles para dicho fin y se elegir la que ms se adece a la ocasin. El siguiente paso despus de haber seleccionado el canal de comunicacin entre computadora y robot ser desarrollar un software de aplicacin con el cual el usuario podr interactuar. Esta interface de usuario deber permitir enviar comandos al robot y adems mostrar en pantalla el estado de las seales emitidas por el mismo.

Controlador XRC

Figura 1. Controlador XRC

El controlador XRC permite operar al robot mediante el procesamiento de seales de entrada y salida. Entre sus funciones est el mantener ntegro el flujo de datos, la conversin numrica de las coordenadas de sistema, la activacin y control de servos, la coordinacin de funciones lgicas y el abastecimiento de corriente elctrica hacia el robot. El controlador posee un panel frontal desde el cual se pueden enviar instrucciones de operacin bsicas hacia el robot. Ese mismo panel contiene indicadores luminosos, los cuales sirven para informar al usuario sobre las actividades que se estn realizando tanto en modo de operacin como en modo de programacin. Los indicadores y botones que posee el controlador son: - Modo de operacin - Modo de programacin - Modo remoto - Botn Inicio - Botn Hold - Activar servos - Botn de paro de emergencia - Indicador de alarma

Teach Pendant

Figura 2. Descripcin de los componentes del Teach Pendant

La interaccin con el robot desde el panel del controlador est orientada al monitoreo y a la puesta en marcha de operaciones bsicas. Para poder realizar tareas ms avanzadas se utiliza un aditamento conocido como Teach Pendant, desde el cual se pueden ingresar los programas de las rutinas que el robot deber seguir. Dentro de las funciones principales que se pueden realizar con el Teach Pendant est el posicionamiento del robot, programacin de rutinas, monitoreo de entradas y salidas, configuracin de los modos de operacin, calibracin de servos, seleccin de tipo de coordenadas, entre otros. El Teach Pendant consta de un panel con botones, los cuales permiten ingresar datos y navegar por el men. Tambin cuenta con una pantalla que muestra el men y sus distintas opciones. Interactuar con el men es muy intuitivo una vez que se conocen los principios bsicos ya que las opciones que se muestran en pantalla son grficas y explcitas.
La interfaz de usuario del Teach Pendant ofrece varios modos de navegacin a travs del men, estos modos son definidos como medida de seguridad para separar las funciones del operador de

las funciones de programacin y mantenimiento. Existen opciones en el men que solo se habilitan cuando se ingresa en modo de mantenimiento. Para ingresar a este modo es necesaria una clave, esto con el fin de proteger tanto al robot como al operador y prevenir algn tipo de accidente en caso de una mala administracin.

Programas Este tipo de controladores utiliza el lenguaje Inform II para la creacin de los programas. Este lenguaje es muy parecido al lenguaje ensamblador ya que para cada comando se coloca primero la instruccin y luego el componente adicional, por ejemplo para mover el robot de una coordenada a otra se utilizara la siguiente lnea de cdigo: MOVJ VJ=50.00 Todos los programas comienzan con la etiqueta NOP y terminan con la etiqueta END. La estructura de un programa tpico sera la siguiente: 0001 NOP 0002 MOVJ VJ=25.00 0003 END Antes de cada instruccin se encuentra un nmero identificador, el cual indica cuantas instrucciones van hasta el momento. As como el lenguaje ensamblador, Inform II soporta instrucciones tales como IF, saltos, llamadas a subrutinas, pero adems permite activar salidas y recibir entradas directas del robot. Las salidas se identifican con la instruccin OUT y las entradas con la instruccin IN. Las salidas y entradas pueden ser tanto analgicas como digitales.

Robot Motoman

Figura 3. Robot Motoman UP6

Los robots que ofrece la compaa Yaskawa son diversos, en esta ocasin se trabajar con un brazo robtico. Este tipo de robots son altamente utilizados en las industrias manufactureras debido a que son tiles para realizar distintas tareas tales como cargar piezas, ensamble, soldadura, pintura, entre muchas otras ms. Estos robots al igual que muchos tienen cierta libertad de movimiento a distintas velocidades dependiendo del tipo de servos que posean. En este caso el robot tiene 6 servos los cuales le permiten seguir trayectorias en 3 dimensiones, 3 de ellos estn destinados al movimiento del brazo y los otros 3 para el manejo de la herramienta la cual va colocada en el extremo del brazo. Las herramientas que se pueden agregar al robot son diversas y pueden ser activadas mediante vlvulas elctricas, neumticas, mecnicas y la combinacin de estas dependiendo de las necesidades del usuario. Las herramientas ms utilizadas son de soldadura y de colocacin de piezas. En el caso particular del robot que se encuentra en las instalaciones del Instituto Tecnolgico de Chihuahua se tiene asignada la salida OUT5 del controlador para activar la vlvula electroneumtica la cual se encarga de abrir o cerrar una pinza de sujecin de piezas, adems cuenta con sensores de presencia que indican cuando se abre o cierra la herramienta, estos sensores envan informacin sobre el estado de la pinza. El sensor de la pinza del lado izquierdo est conectado a la entrada IN04 del controlador mientras que el del lado derecho est conectado a la entrada IN05. El robot responder a los programas contenidos en la memoria del controlador, de esta manera seguir una trayectoria definida ya sea en una rutina simple o cclica dependiendo de lo programado. El robot puede seguir trayectorias lineales, circulares y elpticas segn sea necesario,

las trayectorias circulares son las ms utilizadas debido a la maniobrabilidad que se presenta al utilizarlas. Las colisiones estn previstas, por lo que se cuenta con un sistema de paro de emergencia en caso de que ocurra alguna. Los servos se desactivarn una vez que los sensores de choque se activen y no podrn activarse de nuevo hasta que el usuario corrija el problema manualmente y proceda a energizar de nuevo los servos una vez que el robot se encuentre fuera de cualquier situacin de dao.

Interface de comunicacin
Hasta el momento se ha visto la manera de operar al robot a travs del controlador porporcionado por el fabricante. Controlar al robot de esta manera es vlida y efectiva pero si se piensa llevar un registro ms dinmico de las actividades que realiza el robot se debe pensar en incluir una herramienta que permita recibir datos por parte del robot e interpretarlos a conveniencia. Una computadora personal puede servir para este fin, pero se necesita de un canal de comunicacin entre PC y robot. Existen varias formas de poder lograr tal comunicacin, pueden utilizarse protocolos o estndares ya definidos como RS-232, Ethernet, Wi-Fi, IEEE 1284 entre otros.

Puerto paralelo Dentro del rea de automatizacin se utiliza frecuentemente el puerto paralelo para poder comunicar las computadoras con robots y otros dispositivos. La preferencia por este puerto se debe a la gran cantidad de posibles instrucciones que pueden ser enviadas a travs del mismo. A diferencia del puerto serie que solo puede enviar un carcter sencillo a la vez, por el puerto paralelo se pueden enviar palabras completas de n bits de longitud as como utilizar pines destinados al control de los datos que se envan. La configuracin ms comn de este puerto se da al utilizar conectores de 25 pines. 8 de esos pines estn destinados para el envo de datos, los cuales corresponden a los pines del 2 al 9 y se identifican con una letra D, desde el menos significativo que sera el pin 2 (D0) hasta el ms significativo que sera el pin 9 (D7). Estos pines solo sirven como pines de salida por lo que existen 5 pines asignados para la lectura de datos, estos pines van del 10 al 15 excepto por el pin 14. Estos pines de entrada se representan por una letra E donde uno de ellos (pin 11) se encuentra en estado negado al momento de ser activado. Adems de los pines de entrada y salida el puerto paralelo cuenta con otros 4 pines destinados al control de los datos, estos pines sirven tanto de

salida como de entrada y son los pines: 1, 12, 16 y 17, los cuales se encuentran en estado negado al momento de su activacin exceptuando el pin 16. La letra que los representa es la C. Quedan libres los pines del 18 al 25 por lo que estos van conectados directamente a tierra.

Figura 4. Configuracin del puerto paralelo de 25 pines

Puerto paralelo-Controlador XRC Para lograr la interaccin entre la computadora y el robot ser necesario hacer las conexiones debidas desde el puerto paralelo de la computadora hacia el controlador del robot. Cada pin del puerto ser conectado a los respectivos conectores del controlador. El conector CN12 contiene pines de entrada y salida correspondientes a las funciones que se pueden encontrar en el panel frontal del controlador. Estas funciones pueden ser activadas con una seal de voltaje de 24V por lo que es necesario un circuito de amplificacin de voltaje ya que el voltaje que emite y admite puerto paralelo es de 5V.

Figura 5. Circuito que convierte una seal de 5V a 24V

Figura 6. Configuracin del conector CN12 del Controlador XRC

La siguiente tabla muestra a que pin de los conectores del controlador corresponden los pines del puerto paralelo en el caso del robot que se encuentra en el Instituto Tecnolgico de Chihuahua: Pin 1 (-C0) 2 (D0) 3 (D1) 4 (D2) 5 (D3) 6 (D4) Funcin Sin uso Alarm Reset - A2 (CN12) Select Remote Mode - B3 (CN12) Select Teach Mode B4 (CN12) Select Play Mode A3 (CN12) Servo ON(CN5) - EXSVON1+,EXSON1-, EXSVON2+,EXSVON2- (CN05)

7 (D5) 8 (D6) 9 (D7) 10 (S6) 11 (-S7) 12 (S5) 13 (S4) 14 (-C1) 15 (S3) 16 (C2) 17 (-C3)

Call Master Job B2 (CN12) Start B1 (CN12) Sin uso Teach Mode Selected A11 (CN12) Play Mode Selected B11 (CN12) Servo is ON A8(CN12) Remote Mode Selected A10 (CN12) Sin uso Running B8(CN12) Sin uso Muestra indicadores de operacin o

programacin segn su estado 18-25 Tierra

Figura 7. Tabla de relacin entre pines del puerto paralelo y pines del conector CN12

Interface de usuario Una vez que se tienen las conexiones debidas entre puerto paralelo y controlador ser necesario un software de aplicacin para poder manipular los datos que se envan y se reciben a travs del puerto. Para este fin se desarrollar una aplicacin en Visual Basic 6.0 y se agregar una librera al proyecto la cual permitir la comunicacin entre la aplicacin

de Visual Basic y el puerto paralelo sin tener que adentrarse de manera exhaustiva en el cdigo de conversin de datos entre compilador y componentes de hardware. La librera utilizada lleva por nombre Inpout32.dll la cual es compatible con sistemas operativos de Microsoft anteriores a Windows XP. Para hacer uso de esta librera se debe crear un nuevo proyecto de Visual Basic 6.0, agregar un mdulo y colocar las siguientes lneas de cdigo en l:

Public Declare Function Inp Lib "C:\Paralelo\inpout32.dll" _ Alias "Inp32" (ByVal PortAddress As Integer) As Integer Public Declare Sub Out Lib "inpout32.dll" _ Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

Se puede observar en la primera lnea una ruta de directorio. Esta ruta indicar la direccin en donde se encuentra alojada la librera en el disco de almacenamiento de preferencia, en este caso se coloc en una carpeta cuyo nombre es Paralelo en la unidad C: del sistema. Teniendo agregado dicho mdulo se procede al desarrollo de la interfaz con la cual interactuar el usuario. Para enviar datos por el puerto se utiliza la instruccin OUT seguida de la direccin de salida del puerto y despus separado por una coma se coloca el dato a ser enviado en formato decimal. Por ejemplo en la siguiente lnea se enviar un 1 lo que corresponde a enviar ceros en todos los pines a excepcin del pin 2 (D0).

Private Sub Button_Click() Out &H378, 1 End Sub

Los pines del puerto se activan en cantidades de potencias de 2, por ejemplo si se quiere activar el pin 5 habra que enviar un 8 por el puerto. Al querer enviar un 9 se activaran el pin 5 y el pin 2 ya que sera la sumatoria de 8+1. Para el caso de lectura de datos se utiliza la instruccin INP, la cual leer los datos contenidos en la direccin del puerto que se le determine. Por ejemplo las siguientes lneas de cdigo harn posible

leer los datos que haya en las direccines 379 y 37A que son las direcciones asignadas al registro de control y estado del puerto paralelo.

Dim dato As Byte Private Sub Button_Click() Dato = Inp(&H379) Dato = Inp(&H37A) End Sub

Una vez identificado cada pin del puerto paralelo se podr disear una interfaz grfica la cual active las salidas y entradas del puerto dependiendo de las opciones que el usuario elija. Una posible interfaz podra ser la que se muestra en la imagen:

Figura 8. Interfaz de usuario para el control del robot desde la computadora

Para utilizar el software de aplicacin personalizado en vez del controlador, se debe de seleccionar la opcin de Modo Remoto, as de esa manera el control del robot pasa al dispositivo remoto que est conectado al controlador. Antes de comenzar a utilizar esta aplicacin se debe de dejar programado en la memoria del controlador un programa conocido como Master Job, el cual ser llamado desde la interfaz grfica

y es el que se ejecutar una vez que se ponga al robot en modo de operacin y que se elija la opcin de Iniciar. Con una interfaz grfica ejecutndose en la PC crecen las posibilidades de integrar aplicaciones para expandir las funciones de interaccin con el robot. Por ejemplo se puede tener otra aplicacin destinada al control de una banda transportadora de piezas, la cual posea un sensor que de aviso a la interface de que la pieza se encuentra lista para ser tomada, as de esa manera se podra enviar una seal a travs de sockets entre la aplicacin de la banda transportadora y la aplicacin del robot para comenzar a sujetar piezas al tiempo que la banda se detiene. Posiblemente se podra integrar una aplicacin que maneje bases de datos para llevar un control de las piezas que han sido transportadas, entre otras tareas, ya quedara a las necesidades y a criterios del usuario final.

Resultados y trabajo a futuro


Se logr el objetivo principal el cual era controlar al robot desde una computadora personal, aunque se vio limitada la forma de enviar instrucciones al robot debido a los pocos pines de salida que posee el puerto paralelo. Sera buen ejercicio el conectar alguno de los pines de salida del puerto a salidas directas del robot para poder controlar el comportamiento de las herramientas del mismo sin tener que depender por completo de lo contenido en el Programa Maestro definido en el Teach Pendant. Ya que se ha podido controlar al robot a travs de la computadora haciendo uso de conexiones y aplicaciones personalizadas sera interesante buscar que aplicaciones comerciales pueden ser tiles para lograr la interaccin con el robot. Uno de los paquetes orientados al desarrollo de aplicaciones para robots es Microsoft Robotics Studio. Esta suite permite crear programas en un lenguaje visual en el cual se pueden utilizar servicios para controlar el flujo del programa. Como funcin adicional se pueden realizar simulaciones de entornos reales para probar como se comportara el robot ante diversas situaciones. Lo interesante de este entorno de desarrollo es que es compatible con otras plataformas de Windows tales como Visual Studio.NET, SQL Server, Microsoft Windows Foundation, etc. Ya se ha comenzado el desarrollo de aplicaciones orientadas a la automatizacin y a la manufactura haciendo uso de esta suite por lo que Microsoft Robotics Studio parece prometedor

y lo mejor de todo es que es un software de libre distribucin por lo que no hay que pagar grandes cantidades de dinero para poder tener un buen entorno de desarrollo al alcance.

Sitios de inters
Microsoft Robotics Studio: http://www.microsoft.com/robotics/ Yaskawa Motoman Robotics: http://www.motoman.com/

Potrebbero piacerti anche