Mini Robotic a ByPriale

75

Transcript of Mini Robotic a ByPriale

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 11

    Los tiempos modernos nos obligan a abordar nuevos temas que combinen electrnica con otras disciplinas. Hoy es comnhablar de mecatrnica (carrera que combina tcnicas de electricidad, electrnica y mecnica, entre otras); domtica (electrnicaaplicada al hogar); bioelectrnica, etc. En todos los casos mencionados, el uso de automatismos o robots es moneda corrientey por eso decidimos la edicin de este tomo de coleccin en el que intentamos dar herramientas para que cualquier persona pue-da dedicarse a la elaboracin de prototipos con poco dinero y poca dificultad.

    La robtica es, sin dudas, una de las disciplinas que ms llaman la atencin no slo a adolescentes y quienes estn realizan-do sus primeras armas en electrnica, sino a todas las personas que desean ver plasmado en un dispositivo todo lo que han idoimaginando para la obtencin de un autmata. Para la construccin de prototipos normalmente se emplean diferentes materiales,muchos de los cuales se obtienen de mquinas, juguetes, u otros equipos que normalmente estn en desuso. Lo que proponemosen esta obra es que el lector pierda el miedo a lo desconocido y sepa que es posible aprender una disciplina jugando, practi-cando, rompiendo o desarmando para armar un nuevo dispositivo.

    El estudio de la robtica es muy amplio y, por tal motivo, en Saber Electrnica N 233 (edicin Argentina) comenzamos lapublicacin de un curso que, en momentos de escribir este editorial llevaba 9 de las 36 entregas programadas. Sin embargo, cree-mos que es posible adentrarse en el mundo de los automatismos a travs de la mini-robtica, por medio de la construccin demviles y de la robtica beam, por medio de la construccin de alas electrnicas, escarabajos autnomos o cualquier otrobichito experimental que puede servir como base para el estudio y ensamblado de robots ms potentes.

    Decidimos que este tomo de coleccin deba tener 3 captulos, uno destinado a sentar las bases de la robtica, indicando cu-les son los distintos tipos de robots y qu lenguajes de programacin suelen emplearse en estas disciplinas, otro en el que nos in-troducimos en el mundo de la mini-robtica, explicando qu elementos suelen emplearse como sensores y detectores y brindan-do un primer proyecto para que Ud. aprenda mientras construye y por ltimo un captulo con 10 proyectos que hemos seleccio-nado de los diseados y comentados por el Ing. Juan Carlos Tllez Barrera (especialista en robtica, y uno de los autores de Sa-ber Electrnica). Recomendamos que preste especial atencin en cada uno de los proyectos propuestos ya que hemos cuidadodetalles para que no tenga inconvenientes tanto en conseguir las diferentes partes de un mini-robot como en construir el disposi-tivo sin inconvenientes.

    Por lo dicho, creemos que este texto ser de amplia utilidad para todos los amantes de la electrnica con deseos de montarproyectos sencillos de fcil armado.

    ISBN N: 978-987-1116-96-6CDD 629.892

    Director de la Coleccin Club SEIng. Horacio D. VallejoJefe de RedaccinPablo M. DoderoAutor de esta edicin: Ing. Juan Carlos TllezBarrera y Fernando Remiro Domnguez

    Club Saber Electrnica es una publicacinde Saber Internacional SA de CV de Mxicoy Editorial Quark SRL de Argentina

    Editor Responsable en Argentina y Mxico: Ing. Horacio D. VallejoAdministracin Argentina: Teresa C. JaraAdministracin Mxico: Patricia Rivero Rivero

    Comercio Exterior Argentina: Hilda JaraComercio Exterior Mxico: Margarita Rivero RiveroDirector Club Saber Electrnica: Luis LeguizamnResponsable de Atencin al Lector:Alejandro A. VallejoCoordinador InternacionalJos Mara NievesPublicidadArgentina: 4301-8804 - Mxico: 5839-5277

    StaffVctor Ramn Rivero RiveroOlga VargasLiliana Vallejo

    Mariela Vallejo

    Javier Isasmendi

    Ramn Mio

    Fernando Ducach

    Areas de Apoyo

    Teresa Ducach

    Disprof

    Fernando Flores

    Claudio Gorgoretti

    Paula Vidal

    Ral Romero

    Internet: www.webelectronica.com.ar

    Web Manager: Luis Leguizamn

    Club Saber Electrnica N 33. Fecha de publicacin: Septiembre de 2007. Publicacin mensual editada y publicada por Editorial Quark, Herrera 761 (1295) Capital Federal, Argentina(005411-43018804), en conjunto con Saber Internacional SA de CV, Av. Moctezuma N 2, Col. Sta. Agueda, Ecatepec de Morelos, Mxico (005255-58395277), con Certificado de Licituddel ttulo (en trmite). Distribucin en Mxico: REI SA de CV. Distribucin en Argentina: Capital: Carlos Cancellaro e Hijos SH, Gutenberg 3258 - Cap. 4301-4942 - Interior: Distri-buidora Bertrn S.A.C. Av. Vlez Srsfield 1950 - Cap. Distribucin en Uruguay: Rodesol SA Ciudadela 1416 Montevideo, 901-1184 La Editorial no se responsabiliza por el con-tenido de las notas firmadas. Todos los productos o marcas que se mencionan son a los efectos de prestar un servicio al lector, y no entraan responsabilidad de nuestra parte. Estprohibida la reproduccin total o parcial del material contenido en esta revista, as como la industrializacin y/o comercializacin de los aparatos o ideas que aparecen en los men-cionados textos, bajo pena de sanciones legales, salvo mediante autorizacin por escrito de la Editorial.Revista Club Saber Electrnica, ISSN: 1668-6004

  • 22 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    CAPITULO 1INTRODUCCION A LA ROBOTICA . . . . . . . . . . . . .3Definicin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4Tipos de robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4Brazos de robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5Beneficios de la robtica . . . . . . . . . . . . . . . . . . . . . . . .5Arquitectura de un robot . . . . . . . . . . . . . . . . . . . . . . . .6Capacidad de pensar e Inteligencia artificial . . . . . . . . . .7Compaas que producen robots . . . . . . . . . . . . . . . . . .7Primeras conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . .8Lenguaje de programacin de los robots . . . . . . . . . . . . .9Programacin gestual o directa . . . . . . . . . . . . . . . . . . .10Programacin textual explcita . . . . . . . . . . . . . . . . . . . .101. Nivel de movimiento elemental . . . . . . . . . . . . . . . . .112. Nivel estructurado . . . . . . . . . . . . . . . . . . . . . . . . . .11Programacin textual especificativa . . . . . . . . . . . . . . . . .11Programacin gestual punto a punto . . . . . . . . . . . . . . . .12Lenguajes de programacin a nivel de movimientos elemen-tales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12Lenguajes estructurados de programacin explcita . . . . . .13Lenguajes de programacin especificativa a nivel objeto . .14Lenguajes de programacin en funcin de los objetos . . . .15Caractersticas de un lenguaje ideal para robtica . . . . . .15

    CAPITULO 2PRIMEROS PASOS EN MINI-ROBOTICA . . . . . . . . .18Motores y servos para la construccin de un robot . . . . . .18Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18Motores de corriente continua . . . . . . . . . . . . . . . . . . . .18Motores de corriente continua con reductores . . . . . . . . . .18Servomotores de los utilizados en modelismo y radiocontrol 19Ms sobre servomotores . . . . . . . . . . . . . . . . . . . . . . . .21Funcionamiento del servo . . . . . . . . . . . . . . . . . . . . . . .22Construccin de robots mviles experimentales . . . . . . . . .23Estructura del microbot . . . . . . . . . . . . . . . . . . . . . . . . .23Movilidad de nuestra estructura . . . . . . . . . . . . . . . . . . .24Los sensores del microbot . . . . . . . . . . . . . . . . . . . . . . .25El sensor CNY70 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26El sistema de actuacin: control de motores . . . . . . . . . . .27

    Control de motores por medio de microcontrolador . . . . . .29Giro de dos motores en un nico sentido . . . . . . . . . . . . .30Giro de un motor en los dos sentidos . . . . . . . . . . . . . . . .31Montaje del driver L233B con el PIC . . . . . . . . . . . . . . . .31Otro control con micro . . . . . . . . . . . . . . . . . . . . . . . . .35Primer algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37Segundo algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . .37

    CAPITULO 3PROYECTOS BASICOS DE MINI-ROBOTICA . . . . . .42Proyecto 1. Estructuras mecnicas para prototiposde Mini-robtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42Definicin de estructuras . . . . . . . . . . . . . . . . . . . . . . . .43Diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43Sncrono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43Triciclo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43Carro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44Sistema de alimentacin . . . . . . . . . . . . . . . . . . . . . . . .45Sistema de control . . . . . . . . . . . . . . . . . . . . . . . . . . . .45Actuadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46Consideraciones de materiales, electrnica y mecanismos . .46Plataforma alternativas . . . . . . . . . . . . . . . . . . . . . . . . .47Estructura bsica del mvil . . . . . . . . . . . . . . . . . . . . . . .47Proyecto 2. Mvil para mini-robot . . . . . . . . . . . . . . . . . .50Proyecto 3. Mdulo de potencia para mvil mini-robot . . . .53Proyecto 4. Mdulo siguelneas . . . . . . . . . . . . . . . . . . .56Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56Proyecto 5. Bumpers para detectar obstculos . . . . . . . . . .60Proyecto 6. Bumpers infrarrojos para mini robot mvil . . . .62Una TV en el mini-robot? . . . . . . . . . . . . . . . . . . . . . . .62Proyecto 7. Mini-robot con LDR (Resistencia variable con la luz) . . . . . . . . . . . . . . . . . . .65Proyecto 8. Robtica Beam. Robot biolgico. . . . . . . . . . .67El funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68Proyecto 9. Nano robot siguelneas simplificado . . . . . . . .70Proyecto 10. Mini-robot con microcontrolador Picaxe . . . . .74Definicin del proyecto . . . . . . . . . . . . . . . . . . . . . . . . .74El microcontrolador y la disposicin de pines . . . . . . . . . .75Conexiones de la interfaz de programacin . . . . . . . . . . .75

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 33

    Atravs del tiempo, el hombre ha buscado nuevas for-mas de mejorar sus procesos productivos. A partir dela segunda mitad del siglo XX se desarrolla tecnologaque permite automatizar estos procesos. Surgen conceptos co-mo robots e inteligencia artificial. Pero, qu significan estostrminos? La primera impresin que se nos viene a la mente esautmata, automatizacin, es decir robot, o bien palabras aso-ciadas a sta como lo es robtica. Trataremos de dilucidar c-mo se han llegado a los robots actuales.

    Los robots llevan casi 50 aos de estar presentes en losprocesos industriales del ser humano; los primeros robots ver-daderos se dieron a conocer en los aos 50 y principios de los60, esto fue gracias a un nuevo desarrollo de tecnologa, esdecir la invencin de los transistores y los circuitos integrados.

    Hay varios tipos de robots. Cuando uno piensa en el futu-ro, se imagina una nueva tecnologa mucho ms sofisticada.La gran variedad de diferentes tipos y funciones programadasde un robot es impresionante. Existen robots de uso domstico,otros para ayuda mdica, otros para labores peligrosas, y losrobots de la industria. Pero los llamados Androides, es decir ro-bots que se asemejan a caractersticas humanas estn muy le-jos de ser una realidad en nuestro mundo.

    Daremos un enfoque introductorio acerca de la robtica,aplicaciones y consecuencias de su uso. Se comentaran lasperspectivas laborales que tiene la robtica en funcin del serhumano, cul es su funcionamiento en conjunto con las perso-nas para as obtener un trabajo ms rpido y mejor elabora-do, en vista de que la relacin de humano-robot es un hechocotidiano en las industrias modernas.

    Definicin

    Existen muchas formas de definir el trmino robot, pode-mos utilizar la definicin de 1979 del Robot Institute of Ameri-ca, que dice:

    Es un manipulador reprogramable y multifuncional dise-ado para mover material, partes, herramientas o bien dispo-sitivos especializados para desempear una variedad de labo-res a travs de movimientos diversos programados.

    Obviamente esta definicin es bastante rgida e inspida;de una forma ms personal se puede decir que un robot es undispositivo que permite realizar labores mecnicas normalmen-

  • 44 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    te asociadas con los huma-nos de una manera muchoms eficiente, y sin necesi-dad de poner en riesgo lavida humana.

    Historia

    La palabra robot, no esun trmino acuado recien-temente, el origen etimol-gico de esta palabra pro-viene del trmino checo"Robota", es decir trabajoforzado y su uso se remon-ta a la obra teatral (PLAY)

    de 1921 del checo Karel Capek titulada R.U.R., Robots Uni-versales de Rossum. En esta obra, Capek habla de la deshu-manizacin del hombre en un medio tecnolgico; a diferenciade los robots actuales, stos no eran de origen mecnico, si-no ms bien creados a travs de medios qumicos.

    Pero no fue sino hasta 1942 que el trmino robtica, esdecir el estudio y uso de robots, se utiliza por primera vez porel escritor y cientfico ruso-americano Isaac Asimov en una pe-quea historia titulada Runaround.

    Ahora surge la pregunta:

    Cundo nacen los robots tal y como los conocemos hoyen da?

    Hacia finales de la dcada de los 50 y principios de los60 salen a la luz los primeros robots industriales conocidoscomo Unimates diseados por George Devol y Joe Engelber-ger, este ltimo cre Unimation y fue el primero en comercia-lizar estas mquinas, por lo quel se gan el ttulo de "Padrede la Robtica".

    Ya en la dcada de los 80, los brazos industriales moder-nos incrementaron su capacidad y desempeo a travs de mi-crocontroladores y lenguajes de programacin ms avanza-dos.

    Estos avances se lograron gracias a las grandes inversio-nes de las empresas automovilsticas.

    Tipos de Robot

    Los robots tal y cmo se nos presentan en las pelculas, esdecir aquellos similares a los seres humanos, conocidos comoAndroides, se encuentran en un futuro muy lejano.

    A pesar de eso, los robots actuales son mquinas muy so-

    fisticadas que realizan labores productivas especializadas, re-volucionando el ambiente laboral. La gran mayora de los ro-bots actuales son manipuladores industriales es decir "brazos"y "manos" controlados por computadora siendo muy difcilesde asociar con la imagen tradicional de un robot, pero no s-lo existen estos dispositivos tipo robot ; la robtica incluye mu-chos otros productos como sensores, servos, sistemas de ima-gen, etc.

    Brazos Robot

    El noventa por ciento de los robots trabajan en fbricas, yms de la mitad hacen automviles; siendo las compaas au-tomotrices altamente automatizadas gracias al uso de los bra-zos robot y quedando la mayora de los seres humanos en la-bores de supervisin o mantenimiento de los robots y otrasmquinas.

    Otras de las labores realizadas por los brazos robots sonlabores en el campo de los alimentos, donde por ejemplo undispositivo de este tipo selecciona los chocolates que corres-ponden para armar una caja. Esto lo logran mediante el usode sensores que identifican los diferentes elementos que con-forman una caja del producto, luego de ser identificados sontomado uno a uno y depositados en las cajas.

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 55

    Sensores

    Los robots utilizan sensores para as obtener informacinacerca de su entorno. En general, un sensor mide una caracte-rstica del ambiente o espacio en el que est y proporciona se-ales elctricas. Estos dispositivos tratan de emular los sentidoshumanos, es decir el olfato, la visin, el tacto, etc. Pero estasmquinas tienen la ventaja de poder detectar informacin acer-ca de los campos magnticos u ondas ultrasnicas.

    Los sensores de luz para la robtica vienen en diferentesformas, fotorresistencias, fotodiodos, fototransistores, obtenien-do todos stos el mismo resultado, es decir cuando un haz deluz es detectado ellos responden ya sea creando o cambiandouna seal elctrica, la cual ser analizada y el dispositivo to-mar una decisin o bien proveer la informacin. Mediante eluso de un filtro, frente a un sensor de luz se puede crear una

    respuesta selectiva con lo cual el robot nicamente podr verdeterminados colores.

    El uso de sensores de luz le permite a los robots ubicarse,muchos de ellos utilizan tambin sensores infrarrojos para des-plazarse, emitiendo un rayo hacia un obstculo y midiendo ladistancia, es decir similar a un sonar o radar en los sistemasms complejos, por ejemplo eliminar un producto defectuosode una banda transportadora, los sensores de luz no son sufi-cientes, se necesita la intervencin de una computadora, lacual realizar la seleccin basndose en la informacin que elsensor le provee, una vez procesada la computadora enviarla informacin al dispositivo robtico para cumplir con la or-den.

    La visin robtica es uno de los grandes retos para los in-genieros de hoy en da. Es difcil programar un robot para quesepa qu ignorar y qu no. Estas mquinas tienen problemaspara interpretar sombras, cambio de luces o brillo, adems pa-ra poder tener percepcin de la profundidad es necesario quetengan visin esteroscpica al igual que los humanos.

    Otro de los grandes inconvenientes es el lograr resolverimgenes tridimensionales, para poder generar una imagen tri-dimensional a partir de dos imgenes muy similares en un tiem-po corto, se requiere de grandes cantidades de memoria y deun procesador muy poderoso.

    Los sensores de tacto tambin ayudan, a los robots sin ca-pacidad de visin, a caminar. Los sensores contactan y envanuna seal para que el robot sepa que ha "tocado" algn ob-jeto. El material ms usado es el "Piezoelectric".

    Los sensores de posicin hacen posible el ensear a un ro-bot a hacer una funcin respectiva en funcin de los movimien-tos. Los sensores en ciertos puntos del robot guardan informa-cin sobre el cambio de una serie de posiciones. El robot re-

    cuerda la informacin y repite el traba-jo de la misma manera que fue realiza-do inicialmente.

    Beneficios de la Robtica

    El beneficio que los robots generanes increble para los trabajadores, in-dustrias y pases. Obviamente estos be-neficios dependern de la correcta im-plementacin de los mismos, es decir, sedeben utilizar en las labores adecua-das, por ejemplo manipulando objetosmuy pesados, sustancias peligrosas obien trabajando en situaciones extremas

  • 66 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    o dainas para el hombre; y ms bien dejando a los seres hu-manos realizar las tareas de tcnicos, ingenieros, programa-dores y supervisores.

    Pero cules son esos beneficios?Podemos mencionar el mejoramiento en el manejo, control

    y productividad, todo esto asociado a una significativa mejo-ra en cuanto a la calidad del producto terminado, factor de-terminante en un mundo globalizado.

    Al ser los robots mquinas, pueden trabajar da y noche,en una lnea de ensamble sin perder un pice de su desempe-o, reduciendo los costos de produccin; otra enorme ventajacomparativa en el difcil mercado de hoy en da.

    Arquitectura de un Robot

    El concepto de arquitectura de un robot se refiere primor-dialmente, al software y hardware que definen el mbito decontrol de una mquina de este tipo. Una tarjeta controlado-ra que ejecuta algn software para operar motores no consti-tuye por s misma la arquitectura, ms bien, el desarrollo demdulos de software y la comunicacin entre ellos y el hard-ware es lo que la define realmente.

    Los sistemas robticos son complejos y tienden a ser dif-ciles de desarrollar, esto es debido a la gran variedad de sen-sores que deben integrar, as como delimitar su rango de ac-cin, por ejemplo en un brazo robot cul va a ser el radio degiro o la altura mxima a la que puede levantar algn objetoque est manipulando. Los desarrolladores de sistemas, tpica-mente se han basado en los esquemas tradicionales de desa-rrollo para construir dispositivos robticos pero ha quedadodemostrado la ineficiencia de este proceso, es decir un dise-o que ha funcionado muy bien para operaciones teledirigi-das -manejo de robots submarinos por seres humanos- no ha

    dado los resultados esperados para sistemas autnomos -ro-bots de exploracin espacial.

    La nueva tendencia para el desarrollo de arquitectura ro-btica se ha enfocado en lo que podemos nombrar sistemasreactivos o bien basados en el entorno, esto quiere decir quelos robots tendrn la capacidad de reaccionar sin necesidadde la intervencin humana ante ciertas situaciones de eventualpeligro para la mquina.

    Un claro ejemplo de este tipo de diseo es el robot utiliza-do para la exploracin en Marte, el cual mediante sensoresdetermina el ambiente que lo rodea y puede tomar la decisin

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 77

    ms acertada acerca de la ruta u operacin a realizar. Todo es-to est motivado por el tiempo que tomara en llegar a la super-ficie marciana las rdenes desde la Tierra.

    Capacidad de Pensar e Inteligencia Artificial

    La capacidad de pensar de los robots est lejos de ser unarealidad, los esfuerzos par imitar el pensamiento humano sehan centrando alrededor de lgica basada en reglas, es decirrespuestas afirmativas o negativas, y los datos son almacena-dos en formato binario -unos y ceros- para ser manipulado me-diante reglas preprogramadas; la mayora de los llamados "ce-rebros robots" estn basados tambin en reglas y muy frecuen-temente se encuentran codificadas en un nico microchip.

    Los sistemas basados en reglas pueden ser utilizados paracrear inteligencia artificial, esto se logra mediante la programa-cin de una enorme cantidad de datos dentro de la computa-dora y confiando en esos datos para lograr imitar la inteligen-cia. Por ejemplo una computadora puede ayudar a diagnosti-car una enfermedad mediante la comparacin de sntomas conaquellos que estn en su base de datos. Estos "sistemas exper-tos" pueden conocer ms hechos que un nico individuo, perosu utilidad es muy especfica y no pueden aprender, por lo tan-to nicamente podrn desempearse en la labor para la quefueron programados.

    Un nuevo acercamiento al tema de la inteligencia artificialse da mediante las llamadas redes neurales, estos sistemas hansido modelados a partir del cerebro humano y su ventaja res-pecto a los sistemas basados en reglas radica en que puedenmanejar conceptos un poco ambiguos, un sistema neural"aprende" mediante la exposicin a grandes cantidades depreguntas y respuestas; una vez entrenado puede dar una res-puesta a una pregunta relativamente acertada es decir dar larespuesta o respuestas ms probables.

    Un tercer enfoque y quizs el ms reciente en este campoes el llamado mecanismo de estmulo-respuesta, desarrolladospor Rodney Brooks del M.I.T. Estos mecanismos consisten, porejemplo, en conectar directamente sensores de luz a motores,haciendo posible que los motores se activen mediante el impul-so de bsqueda de luz, con esto se logra algo que se asemejala inteligencia.

    Compaas que Producen Robots

    El mercado actual de robots se encuentra dividido en dosreas principales:

    Robots mviles: dentro de este grupo podemos hallardos subgrupos de importancia:

    Los llamados AGV, por sus siglas en ingls "AutomaticGuided Vehicles", es decir Vehculos Guiados Automticos, es-tos robots se encargan de transportar materiales dentro de f-bricas permitiendo la automatizacin de las lneas de produc-cin, la mayora de estos robots utilizan cables que se encuen-tran en el piso como medio de ubicacin y determinar la ruta aseguir. Aunque ya existen algunos de stos, que prescinden delos cables como sistemas de gua. El primer AGV fue instaladoen 1954 por Cravens Company en la compaa Mercury Mo-tor Express en Carolina del Sur. Actualmente compaas comoCaterpillar, BT Systems y AGV Products. Robots para explora-cin marina: Estos dispositivos le han permitido al ser humanorealizar labores a profundidades y bajo condiciones extremaspara cualquier buzo; existen dispositivos operados mediante elsistema umbilical, es decir un cable que los une a la superficieo bien teleoperados. Compaas importantes son, por ejemplo,Oceaneering International Inc. y R.O.V. Technologies.

    Robots manipuladores: es decir brazos robots. Desta-ca la compaa ADEPT, prcticamente la nica sobreviviente eneste campo luego de la crisis de los 80; COMAU, Kawasaki yKomatsu.

  • 88 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    Primeras Conclusiones

    La robtica es un tema fascinante, mezcla conceptos de to-das las ramas de la ingeniera, pero su uso principal se da enlos procesos productivos, desde la seleccin automatizada depiezas hasta el ensamble de automviles es decir, todos aque-llos que son el rea de estudio de la ingeniera industrial. Laera industrial de la robtica de desarrollo se impuls en las l-timas dcadas. En lo que ser con respecto al futuro, creemosque en las prximas dcadas la produccin de la robtica seva a impulsar an ms, porque la tecnologa evoluciona, nun-ca se queda atrs, siempre va adelante. Esto significa paranosotros que una pieza de maquinaria del ao 2000, no vaa ser igual de efectiva que una mquina del ao 2002, y asse va a ir produciendo una inteligencia que cumpla con lasmetas que el usuario le va a dar; claro est que va hacer enuna manera mucho ms rpida y con mejor calidad.

    El beneficio que se obtiene con el uso de estas mquinases mejorar el nivel de productividad de las empresas, factorsumamente importante en un mundo globalizado, en donde ellograr llevar el producto de mejor calidad al mejor precio lepermitir dominar las ventas en el mercado mundial. Ademscon los avances en la programacin de estas mquinas, se lo-gra llegar de una manera ms eficaz a cumplir los requeri-mientos de un cliente, es decir le podemos dar a nuestro clien-te un servicio de acuerdo a sus necesidades.

    Acaso una mquina va asustituir totalmente la mano deobra humana?

    La respuesta es no, ya sesabe que una mquina se hizocon el propsito de realizar ac-ciones repetitivas que un huma-no pueda hacer, de esta mane-ra se puede esperar que un ro-bot llegue a realizar el trabajoque hace un armador o un pin-tor, pero siempre se va a nece-sitar de una persona para po-der corregir o revisar las fun-ciones de un robot.

    Es decir pensar, disear,crear, la inteligencia artificialse encuentra en una etapa muytemprana de su desarrollo, nose puede descartar la posibili-dad de que en un futuro las m-quinas lleguen a pensar, perosiempre habr seres humanos

    creando y diseando estas mquinas.Si los denominados pases del tercer mundo desean ser

    competitivos en el mbito productivo y dejar atrs el subde-sarrollo econmico, deben modernizar su estructura producti-va, utilizando los adelantos tecnolgicos que existen. Si bienes cierto que existen compaas que utilizan estos dispositivos,como Intel, stas son ms que todo mquinas, no son empre-sas de capital nacional que logren dejar en el pas gananciasque puedan ser reinvertidas en la adquisicin de nueva tecno-loga. Eso s, el apoyo claro por parte del gobierno viene aser un factor decisivo para poder obtener los resultados co-rrectos, y no se quiere decir que sea el gobierno el que invier-ta, sino ms bien que facilite, mediante incentivos tributarios,la inversin por parte de las empresas nacionales en el cam-po de la alta tecnologa.

    Los adelantos en el campo de la robtica industrial siem-pre van a influir en los procesos productivos y viceversa; al de-sarrollarse un nuevo circuito o procesador inmediatamente sepuede vislumbrar su efecto en el posible mejoramiento de unproceso industrial o bien las necesidades de un proceso pro-ductivo generan nuevas tecnologas.

    Estas necesidades siempre van a buscar una perfeccin,mientras mejor sea la mecnica en los robots ms beneficiosse obtendrn en el nivel de produccin, modificando de unamanera positiva las estadsticas estimadas de la venta de unproducto en una compaa.

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 99

    Lenguaje de Programacin de los Robots

    Un autmata programable es una mquina que recibe r-denes y acta en consecuencia para cumplir un proceso en fun-cin del programa almacenado.

    Existen tanto en la industria como en el mercado, PLC's queresponden al diseo de robots y stos a su vez, son programa-dos mediante tcnicas usuales.

    En las mquinas controladas por sistemas informticos, ellenguaje es el medio que utiliza el hombre para gobernar sufuncionamiento, por lo que su correcta adaptacin con la tareaa realizar y la sencillez de manejo, son factores determinantesdel rendimiento obtenido en los robots industriales.

    Hay varias maneras de comunicarse con un robot, y tres so-luciones generales para lograrlo, que son: reconocimiento depalabras separadas, enseanza y repeticin, y lenguajes deprogramacin de alto nivel.

    Los sistemas de reconocimiento de la voz en la tecnologamoderna son bastante primitivos y suelen depender de quienhabla. Estos sistemas pueden reconocer un conjunto de pala-bras concretas de un vocabulario muy limitado y en general exi-gen al usuario una pausa entre las palabras, aunque en la ac-tualidad es posible reconocer las palabras separadas en tiem-po real debido a los cada vez ms rpidos componentes de lascomputadoras y algoritmos de procesamiento ms eficientes, lautilidad del reconocimiento de palabras separadas para descri-bir la tarea de un robot es bastante limitada.

    La enseanza y repeticin, tambin conocida como guia-do, es la solucin ms comn utilizada en el presente para losrobots industriales. Este mtodo implica ensear al robot diri-gindole los movimientos que el usuario desea que realice. Laenseanza y repeticin se llevan a cabo normalmente con lossiguientes pasos:

    1) dirigiendo al robot con un movimiento lento, utilizandoel control manual para realizar la tarea completa y grabandolos ngulos del movimiento del robot en los lugares adecuadospara que vuelva a repetir el movimiento;

    2) reproduciendo y repitiendo el movimiento enseado; 3) si el movimiento enseado es correcto, entonces se hace

    funcionar al robot a la velocidad correcta en el modo repetiti-vo.

    Guiar al robot en movimiento lento puede ser, en general,llevado a cabo de varias maneras: usando un joystick, un con-

    junto de botones (uno para cada movimiento) o un sistema demanipulacin maestro-esclavo.

    Los lenguajes de programacin de alto nivel suministranuna solucin ms general para resolver el problema de comu-nicacin hombre-robot. En la dcada anterior, los robots fueronutilizados con xito en reas tales como soldadura por arco vol-taico o pintura con spray utilizando el guiado (Engelberger[1980]). Estas tareas no requieren interaccin entre el robot ysu entorno y pueden ser programadas fcilmente por guiado.Sin embargo, la utilizacin de robots para llevar a cabo las ta-reas requiere tcnicas de programacin en lenguajes de alto ni-vel ya que el robot de la lnea de produccin suele confiar enla realimentacin de los sensores y este tipo de interaccin s-lo puede ser mantenida por mtodos de programacin que con-tengan condiciones.

    Los lenguajes clsicos empleados en informtica, como elFORTRAN, BASIC, PASCAL, etc, no disponen de las instruccio-nes y comandos especficos que necesitan los robots, paraaproximarse a su configuracin y a los trabajos que han de rea-lizar. Esta circunstancia, ha obligado a los constructores de ro-bots e investigadores a disear lenguajes propios de la Robti-ca. Sin embargo, los lenguajes desarrollados hasta el momen-to, se han dirigido a un determinado modelo de manipulador ya una tarea concreta, lo que ha impedido la aparicin de len-guajes transportables entre mquinas y por lo tanto de carcteruniversal.

    La estructura del sistema informtico del robot vara nota-blemente, segn el nivel y complejidad del lenguaje y de la ba-se de datos que requiera.

    La programacin empleada en Robtica puede tener un ca-rcter explcito, en el que el operador es el responsable de lasacciones de control y de las instrucciones adecuadas que lasimplementan, o estar basada en la modelacin del mundo ex-terior, cuando se describe la tarea y el entorno y el propio sis-tema toma las decisiones.

    La programacin explcita es la utilizada en las aplicacio-nes industriales y consta de dos tcnicas fundamentales:

    A. Programacin Gestual. B. Programacin Textual.

    La programacin gestual consiste en guiar el brazo del ro-bot directamente a lo largo de la trayectoria que debe seguir.Los puntos del camino se graban en memoria y luego se repi-ten. Este tipo de programacin, exige el empleo del manipula-dor en la fase de enseanza, o sea, trabaja "on-line".

    En la programacin textual, las acciones que ha de realizarel brazo se especifican mediante las instrucciones de un lengua-je. En esta labor no participa la mquina (off-line). Las trayec-

  • 1100 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    torias del manipulador se calculan matemticamente con granprecisin y se evita el posicionamiento a ojo, muy corriente enla programacin gestual.

    Los lenguajes de programacin textual se encuadran envarios niveles, segn se realice la descripcin del trabajo delrobot. Se relacionan a continuacin, en orden creciente decomplejidad:

    1. Lenguajes elementales, que controlan directamente elmovimiento de las articulaciones del manipulador.

    2. Lenguajes dirigidos a posicionar el elemento terminaldel manipulador.

    3. Lenguajes orientados hacia el objeto sobre el que ope-ra el sistema.

    4. Lenguajes enfocados a la tarea que realiza el robot.

    Programacin Gestual o Directa

    En este tipo de programacin, el propio brazo intervieneen el trazado del camino y en las acciones a desarrollar en latarea de la aplicacin. Esta caracterstica determina, inexcu-sablemente, la programacin "on-line".

    La programacin gestual se subdivide en dos clases:

    * Programacin por aprendizaje directo. * Programacin mediante un dispositivo de enseanza. En el aprendizaje directo, el punto final del brazo se tras-

    lada con ayuda de un dispositivo especial colocado en su mu-eca, o utilizando un brazo maestro o maniqu, sobre el quese efectan los desplazamientos que, tras ser memorizados,sern repetidos por el manipulador.

    La tcnica de aprendizaje directo se utiliza, extensamen-te, en labores de pintura. El operario conduce la mueca delmanipulador o del brazo maestro, determinando los tramos arecorrer y aquellos en los que la pistola debe expulsar unacierta cantidad de pintura. Con esta programacin, los opera-rios sin conocimientos de "software", pero con experiencia enel trabajo a desarrollar, pueden preparar los programas efi-cazmente.

    La programacin por aprendizaje directo tiene pocas po-sibilidades de edicin, ya que, para generar una trayectoriacontinua, es preciso almacenar o definir una gran cantidad depuntos, cuya reduccin origina discontinuidades. El "softwa-re" se organiza, aqu, en forma de intrprete.

    La programacin, usando un dispositivo de enseanza,consiste en determinar las acciones y movimientos del brazomanipulador, a travs de un elemento especial para este co-

    metido. En este caso, las operaciones ordenadas se sincroni-zan para conformar el programa de trabajo.

    El dispositivo de enseanza suele estar constituido por bo-tones, teclas, pulsadores, luces indicadoras, ejes giratorios o"joystick".

    Dependiendo del algoritmo de control que se utilice, el ro-bot pasa por los puntos finales de la trayectoria enseada.Hay que tener en cuenta que los dispositivos de enseanzamodernos no slo permiten controlar los movimientos de lasarticulaciones del manipulador, sino que pueden, tambin, ge-nerar funciones auxiliares, como:

    - Seleccin de velocidades- Generacin de retardos- Sealizacin del estado de los sensores- Borrado y modificacin de los puntos de trabajo- Funciones especiales

    Al igual que con la programacin directa, en la que seemplea un elemento de enseanza, el usuario no necesita co-nocer ningn lenguaje de programacin. Simplemente, debehabituarse al empleo de los elementos que constituyen el dis-positivo de enseanza. De esta forma, se pueden editar pro-gramas, aunque como es lgico, muy simples.

    La estructura del "software" es del tipo intrprete; sin em-bargo, el sistema operativo que controla el procesador puedeposeer rutinas especficas, que suponen la posibilidad de rea-lizar operaciones muy eficientes.

    Los lenguajes de programacin gestual, adems de nece-sitar al propio robot en la confeccin del programa, carecende adaptabilidad en tiempo real con el entorno y no puedentratar, con facilidad, interacciones de emergencia.

    Programacin Textual Explcita

    El programa queda constituido por un texto de instruccio-nes o sentencias, cuya confeccin no requiere de la interven-cin del robot; es decir, se efectan "off-line". Con este tipo deprogramacin, el operador no define, prcticamente, las ac-ciones del brazo manipulado, sino que se calculan, en el pro-grama, mediante el empleo de las instrucciones textuales ade-cuadas.

    En una aplicacin tal como el ensamblaje de piezas, enla que se requiere una gran precisin, los posicionamientos se-leccionados mediante la programacin gestual no son sufi-cientes, debiendo ser sustituidos por clculos ms perfectos ypor una comunicacin con el entorno que rodea al sistema.

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 1111

    En la programacin textual, la posibilidad de edicin es to-tal. El robot debe intervenir, slo, en la puesta a punto final.

    Segn las caractersticas del lenguaje, pueden confeccio-narse programas de trabajo complejos, con inclusin de saltoscondicionales, empleo de bases de datos, posibilidad de crea-cin de mdulos operativos intercambiables, capacidad deadaptacin a las condiciones del mundo exterior, etc.

    Dentro de la programacin textual, existen dos grandesgrupos, de caractersticas netamente diferentes:

    1. Programacin textual explcita. 2. Programacin textual especificativa.

    En la programacin textual explcita, el programa constade una secuencia de rdenes o instrucciones concretas, quevan definiendo con rigor las operaciones necesarias para llevara cabo la aplicacin. Se puede decir que la programacin ex-plcita engloba a los lenguajes que definen los movimientospunto por punto, similares a los de la programacin gestual, pe-ro bajo la forma de un lenguaje formal. Con este tipo de pro-gramacin, la labor del tratamiento de las situaciones anorma-les, colisiones, etc, queda a cargo del programador.

    Dentro de la programacin explcita, hay dos niveles:

    1. Nivel de movimiento elemental

    Comprende los lenguajes dirigidos a controlar los movi-mientos del brazo manipulador. Existen dos tipos:

    a. Articular, cuando el lenguaje se dirige al control de losmovimientos de las diversas articulaciones del brazo.

    b. Cartesiano, cuando el lenguaje define los movimientosrelacionados con el sistema de manufactura, es decir, los delpunto final del trabajo (TCP).

    Los lenguajes del tipo cartesiano utilizan transformacioneshomogneas. Este hecho confiere "popularidad" al programa,independizando a la programacin del modelo particular delrobot, puesto que un programa confeccionado para uno, encoordenadas cartesianas, puede utilizarse en otro, con diferen-tes coordenadas, mediante el sistema de transformacin corres-pondiente. Son lenguajes que se parecen al BASIC, sin poseeruna unidad formal y careciendo de estructuras a nivel de datosy de control.

    Por el contrario, los lenguajes del tipo articular indican losincrementos angulares de las articulaciones. Aunque esta ac-cin es bastante simple para motores de paso a paso y corrien-

    te continua, al notener una referen-cia general de laposicin de las arti-culaciones con rela-cin al entorno, esdifcil relacionar alsistema con piezasmviles, obstcu-los, cmaras de TV, etc.

    Los lenguajes correspondientes al nivel de movimientos ele-mentales aventaja, principalmente, a los de punto a punto, enla posibilidad de realizar bifurcaciones simples y saltos a subru-tinas, as como de tratar informaciones sensoriales.

    2. Nivel estructurado

    Intenta introducir relaciones entre el objeto y el sistema delrobot, para que los lenguajes se desarrollen sobre una estructu-ra formal.

    Se puede decir que los lenguajes correspondientes a este ti-po de programacin adoptan la filosofa del PASCAL. Descri-ben objetos y transformaciones con objetos, disponiendo, mu-chos de ellos, de una estructura de datos arborescente.

    El uso de lenguajes con programacin explcita estructura-da aumenta la comprensin del programa, reduce el tiempo deedicin y simplifica las acciones encaminadas a la consecucinde tareas determinadas. En los lenguajes estructurados, es tpi-co el empleo de las transformaciones de coordenadas, que exi-gen un cierto nivel de conocimientos. Por este motivo, dichoslenguajes no son populares hoy en da.

    Programacin Textual Especificativa

    Se trata de una programacin del tipo no procesal, en laque el usuario describe las especificaciones de los productosmediante una modelizacin, al igual que las tareas que hayque realizar sobre ellos.

    El sistema informtico para la programacin textual especi-ficativa ha de disponer del modelo del universo, o mundo don-de se encuentra el robot. Este modelo ser, normalmente, unabase de datos ms o menos compleja, segn la clase de apli-cacin, pero que requiere, siempre, computadoras potentes pa-ra el procesado de una abundante informacin.

    El trabajo de la programacin consistir, simplemente, enla descripcin de las tareas a realizar, lo que supone poder lle-var a cabo trabajos complicados.

  • 1122 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    Actualmente, los modelos del universo son del tipo geom-trico, no fsico.

    Dentro de la programacin textual especificativa, hay dosclases, segn que la orientacin del modelo se refiera a losobjetos a los objetivos.

    Si el modelo se orienta al nivel de los objetos, el lenguajetrabaja con ellos y establece las relaciones entre ellos. La pro-gramacin se realiza "off-line" y la conexin CAM es posible.

    Dada la inevitable imprecisin de los clculos del ordena-dor y de las medidas de las piezas, se precisa de una ejecu-cin previa, para ajustar el programa al entorno del robot. Loslenguajes con un modelo del universo orientado a los objetosson de alto nivel, permitiendo expresar las sentencias en unlenguaje similar al usado comnmente.

    Por otra parte, cuando el modelo se orienta hacia los ob-jetivos, se define el producto final. La creacin de lenguajesde muy alto nivel transferir una gran parte del trabajo de pro-gramacin, desde el usuario hasta el sistema informtico; s-te resolver la mayora de los problemas, combinando la Au-tomtica y la Inteligencia Artificial.

    Programacin Gestual Punto a Punto

    Se aplican con el robot "in situ", recordando a las normasde funcionamiento de un magnetofn domstico, ya que dis-ponen de unas instrucciones similares: PLAY (reproducir), RE-CORD (grabar), FF (adelantar), FR (atrasar), PAUSE, STOP,etc. Adems, puede disponer de instrucciones auxiliares, co-mo INSERT (insertar un punto o una operacin de trabajo) yDELETE (borrar).

    Conceptualmente, al estar el manipulador en lnea funcio-na como un digitalizador de posiciones.

    Los lenguajes ms conocidos en programacin gestualpunto a punto son el FUNKY, creado por IBM para uno de susrobots, y el T3, original de CINCINNATI MILACROM para surobot T3.

    En el lenguaje FUNKY se usa un mando del tipo "joystick"para el control de los movimientos, mientras que el T3 dispo-ne de un dispositivo de enseanza ("teach pendant").

    Como en un grabador de casetes, y en los dos lenguajesmencionados, los movimientos pueden tener lugar en sistemasde coordenadas cartesianas, cilndricas o de unin, siendoposible insertar y borrar las instrucciones que se desee. Es po-sible, tambin, implementar funciones relacionadas con senso-res externos, as como revisar el programa paso a paso, ha-cia delante y hacia atrs.

    El lenguaje FUNKY dispone de un comando especial pa-

    ra centrar a la pinza sobre el objeto. El procesador usado enT3 es el AMD 29000 ("bit slice"), mientras que en el FUNKYest constituido por el IBM SYSTEM-7 (Macintosh).

    Lenguajes de Programacin a Nivel de Movimientos Elementales

    Como ya se mencion, se tratan los movimientos de pun-to a punto, expresados en forma de lenguaje. Se citan, entrelos ms importantes:

    ANORADEMILYRCLRPLSIGLAVALMAL

    Todos ellos mantienen el nfasis en los movimientos primi-tivos, ya sea en coordenadas articulares, o cartesianas. Encomparacin, tienen, como ventajas destacables, los saltoscondicionales y a subrutina, adems de un aumento de lasoperaciones con sensores, aunque siguen manteniendo pocasposibilidades de programacin "off-line".

    Estos lenguajes son, por lo general, del tipo intrprete, conexcepcin del RPL, quetiene un compilador. Lamayora dispone decomandos de trata-miento a sensores bsi-cos: tacto, fuerza, mo-vimiento, proximidad ypresencia. El RPL dispo-ne de un sistema com-plejo de visin, capazde seleccionar una pin-tura y reconocer obje-tos presentes en su ba-se de datos.

    Los lenguajesEMILY y SIGLA sontransportables y admi-ten el proceso en para-lelo simple. Otros da-tos interesantes de estegrupo de lenguajes sonlos siguientes: Figura 1

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 1133

    ANORAD.- Se trata de una transformacin de un lengua-je de control numrico de la casa ANORAD CORPORATION,utilizado para robot ANOMATIC. Utiliza, como procesador, almicroprocesador 68000 de Motorola de 16/32 bits (figura 1).El Motorola MC68000 es un microprocesador de 16/32 bits(16 bits externos, 32 bits internos) cabeza de la familia M68K.

    Posee 19 registros de los cuales 17 pueden ser usados porel programador, su espacio de direccionamiento es de 16 MBy-tes, tiene 56 instrucciones con 14 modos de direccionamiento.Hay modelos para frecuencias de reloj de 8, 10, 12,5 y16MHz.

    Viene en varios encapsulados, pero el ms usado es el DIPde 64 Pines.

    VAL.- Fue diseado por UNIMATION INC para sus robotsUNIMATE y PUMA. Emplea, como CPU, un LSI-II, que se comu-nica con procesadores individuales que regulan el servocontrolde cada articulacin. Las instrucciones, en idioma ingls, sonsencillas e intuitivas, como se puede apreciar por el programasiguiente:

    LISPTPROGRAM PICKUP

    1. APRO PART, 25.02. MOVES PART3. CLOSE, 0.0.04. APRO PART, -50.05. APRO DROP, 100.06. MOVES DROP7. OPEN, 0.0.08. APRO DROP, -100.0.END

    RPL.- Dotado con un LSI-II como procesador central, y apli-cado a los robots PUMA, ha sido diseado por SRI INTERNA-TIONAL.

    EMILY.- Es un lenguaje creado por IBM para el control deuno de sus robots. Usa el procesador IBM 370/145 SYSTEM 7y est escrito en Ensamblador.

    SIGLA.- Desarrollado por OLIVETTI para su robot SUPERSIGMA, emplea un mini-ordenador con 8 K de memoria. Escri-to en Ensamblador, es del tipo intrprete.

    MAL.- Se ha creado en el Politcnico de Miln para el ro-bot SIGMA, con un Mini-multiprocesador. Es un lenguaje del ti-po intrprete, escrito en FORTRAN.

    RCL.- Aplicado al robot PACS y desarrollado por RPI, em-plea, como CPU, un PDP 11/03. Es del tipo intrprete y estescrito en Ensamblador.

    Lenguajes Estructurados de Programacin Explcita

    Teniendo en cuenta las importantsimas caractersticas quepresenta este tipo de programacin, merecen destacarse los si-guientes lenguajes:

    ALHELPMAPLEPALMCLMAL EXTENDIDO

    Un sencillo ejemplo, de carcter didctico, utilizando el len-guaje AL, puede mostrar el inters del control estructurado. Par-tiendo de la definicin de unos objetos, se puede lograr una es-tructura superior que los relacione. Supongamos que se dispo-ne de los objetos 01 y 02, y se intenta colocar al primero enci-ma del segundo.

    En la figura 2 se muestra la configuracin del sistema deeste ejemplo. 01T y 01B sealan, respectivamente, la parte su-perior e inferior del objeto 01, mientras que 01AS indica su po-sicin de asimiento. Las partes del objeto 02 se denominan dela misma forma. Un programa "orientativo", en AL, que colo-que 01 sobre 02, podra ser:

    MOVE ARM TO 01AS El brazo se desplaza hasta la po-sicin de asimiento de 01.

    Figura 2

  • 1144 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    GRASP agarra a 01.AFFIX 01B TO ARM Fija el sistema de coordenadas de

    01 con el de la pinza del brazo.MOVE 01B TO 02T Mueve la parte inferior de 01 has-

    ta la parte superior de 02.RELEASE Suelta 01 sobre 02.UNIFIX 01 Destruye la relacin entre el sistema de coor-

    denadas del brazo y 01.

    Con excepcin de HELP, todos los lenguajes de este gru-po estn provistos de estructuras de datos del tipo complejo.As, el AL utiliza vectores, posiciones y transformaciones; elPAL usa, fundamentalmente, transformaciones y el MAPLE per-mite la definicin de puntos, lneas, planos y posiciones.

    Slo el PAL, y el HELP carecen de capacidad de adapta-cin sensorial. Los lenguajes AL, MAPLE y MCL, tienen coman-dos para el control de la sensibilidad del tacto de los dedos(fuerza, movimiento, proximidad, etc.). Adems, el MCL po-see comandos de visin para identificar e inspeccionar obje-tos.

    A continuacin, se exponen las caractersticas ms repre-sentativas de los lenguajes dedicados a la programacin es-tructurada.

    AL.- Trata de proporcionar definiciones acerca de los mo-vimientos relacionados con los elementos sobre los que el bra-zo trabaja.

    Fue diseado por el laboratorio de Inteligencia Artificialde la Universidad de Stanford, con estructuras de bloques yde control similares al ALGOL, lenguaje en el que se escribi.Est dedicado al manipulador de Stanford, utilizando comoprocesadores centrales, a un PDP 11/45 y un PDP KL-10.

    HELP.- Creado por GENERAL ELECTRIC para su robotALLEGRO y escrito en PASCAL/FORTRAN, permite el movi-miento simultneo de varios brazos. Dispone, asimismo, de unconjunto especial de subrutinas para la ejecucin de cualquiertarea. Utilizando como CPU, a un PDP 11.

    MAPLE.- Escrito, como intrprete, en lenguaje PL-1, porIBM para el robot de la misma empresa, tiene capacidad pa-ra soportar informaciones de sensores externos. Utiliza, comoCPU a un IBM 370/145 SYSTEM 7.

    PAL.- Desarrollado por la Universidad de Purdure para elmanipulador de Stanford, es un intrprete escrito en FORTRANy Ensamblador, capaz de aceptar sensores de fuerza y de vi-

    sin. Cada una de sus instrucciones, para mover el brazo delrobot en coordenadas cartesianas, es procesada para que sa-tisfaga la ecuacin del procesamiento. Como CPU, usan unPDP 11/70.

    MCL.- Lo cre la compaa MC DONALL DOUGLAS, co-mo ampliacin de su lenguaje de control numrico APT. Es unlenguaje compilable que se puede considerar apto para laprogramacin de robots "off-line".

    MAL EXTENDIDO.- Procede del Politcnico de Miln, aligual que el MAL, al que incorpora elementos de programa-cin estructurada que lo potencian notablemente. Se aplica,tambin, al robot SIGMA.

    Lenguajes de Programacin Especificativa a Nivel Objeto

    En este grupo se encuentran tres lenguajes interesantes:

    RAPTAUTOPASSLAMA

    RAPT.- Su filosofa se basa en definir una serie de planos,cilindros y esferas, que dan lugar a otros cuerpos derivados.Para modelar a un cuerpo, se confecciona una biblioteca consus rasgos ms representativos. Seguidamente, se define losmovimientos que ligan a los cuerpos a ensamblar (alinear pla-nos, encajar cilindros, etc.).

    As, si se desea definir un cuerpo C1, se comienza defi-niendo sus puntos ms importantes, por ejemplo:

    P1 = < x, 0, 0 >P2 = < 0, y, 0 >P3 = < x/2, y, 0 >P4 = < 0, 0, z >

    Si, en el cuerpo, existen crculos de inters, se especificanseguidamente:

    C1 = CIRCLE/P2, R;C2 = CIRCLE/P4, R;

    A continuacin, se determinan sus aristas:

    L1 = L/P1, P2;L2 = L/P3, P4;

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 1155

    Si, anlogamente al cuerpo C1, se define otro, como elC2, una accin entre ambos podra consistir en colocar la ca-ra inferior de C1 alineada con la superior de C2. Esto se escri-bira.

    AGAINST / BOT / OF C1, TOP / OF C2;

    El lenguaje RAPT fue creado en la Universidad de Edimbur-go, departamento de Inteligencia Artificial est orientado, enespecial, al ensamblaje de piezas. Destinado al robot FREDY,utiliza, como procesador central, a un PDP 10. Es un intrpretey est escrito en lenguaje APT.

    AUTOPASS.- Creado por IBM para el ensamblaje de pie-zas; utiliza instrucciones, muy comunes, en el idioma ingls.Precisa de un ordenador de varios Megabytes de capacidadde memoria y, adems de indicar, como el RAPT, puntos espe-cficos, prev, tambin, colisiones y genera acciones a partir delas situaciones reales.

    Un pequeo ejemplo, que puede proporcionar una idea dela facilidad de relacionar objetos, es el programa siguiente,que coloca la parte inferior del cuerpo C1 alineada con la par-te superior del cuerpo C2. Asimismo, alinea los orificios A1 yA2 de C1, con los correspondientes de C2.

    PLACE C1SUCH THAT C1 BOT CONTACTS C2TOPAND B1 A1 IS ALIGNED WITH C2A1AND B1 A2 IS ALIGNED WITH C2A2

    El AUTOPASS realiza todos sus clculos sobre una base dedatos, que define a los objetos como poliedros de un mximode 20,000 caras. Est escrito en PL/1 y es intrprete y compi-lable.

    LAMA.- Procede del laboratorio de Inteligencia Artificialdel MIT, para el robot SILVER, orientndose hacia el ajuste deconjuntos mecnicos.

    Aporta ms inteligencia que el AUTOPASS y permite unabuena adaptacin al entorno.

    La operatividad del LAMA se basa en tres funciones princi-pales a saber:

    1 Creacin de la funcin de trabajo. Operacin inteli-gente.

    2 Generacin de la funcin de manipulacin.3 Interpretacin y desarrollo, de una forma interactiva, de

    una estrategia de realimentacin para la adaptacin al entor-no de trabajo.

    Lenguajes de Programacin en Funcin de los Objetvos

    La filosofa de estos lenguajes consiste en definir la situa-cin final del producto a fabricar, a partir de la cual se gene-ran los planes de accin tendentes a conseguirla, obtenindo-se, finalmente, el programa de trabajo. Estos lenguajes, de tiponatural, suponiendo una potenciacin extraordinaria de la Inte-ligencia Artificial, para descargar al usuario de las labores deprogramacin. Prevn, incluso, la comunicacin hombre-mqui-na a travs de la voz.

    Los lenguajes ms conocidos de este grupo son:

    STRIPSHILAIRE

    STRIPS.- Fue diseado, en la Universidad de Stanford, pa-ra el robot mvil SHAKEY. Se basa en un modelo del universoligado a un conjunto de planteamientos aritmtico-lgicos quese encargan de obtener las subrutinas que conforman el progra-ma final.

    Es intrprete y compilable, utilizando, como procesadores,a un PDP-10 y un PDP-15.

    HILAIRE.- Procedente del laboratorio de Automtica YAnlisis de Sistemas (LAAS) de Toulouse, est escrito en lengua-je LISP. Es uno de los lenguajes naturales ms interesantes, porsus posibilidades de ampliacin e investigacin.

    Caractersticas de un Lenguaje Ideal para Robtica

    Las seis caractersticas bsicas de un lenguaje ideal, ex-puestas por Pratt, son:

    1. Claridad y sencillez. 2. Claridad de la estructura del programa.3. Sencillez de aplicacin.4. Facilidad de ampliacin.5. Facilidad de correccin y mantenimiento.6. Eficacia.

    Estas caractersticas son insuficientes para la creacin deun lenguaje "universal" de programacin en la robtica, por loque es preciso aadir las siguientes:

    - Transportabilidad sobre cualquier equipo mecnico o in-formtico.

    - Adaptabilidad a sensores (tacto, visin, etc.).

  • 1166 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    - Posibilidad de descripcin de todo tipo de herramientasacoplables al manipulador.

    - Interaccin con otros sistemas.

    En el aspecto de claridad y sencillez, la programacingestual es la ms eficaz, pero impide la confeccin de progra-mas propiamente dichos. Los lenguajes a nivel de movimien-tos elementales, como el VAL, disponen de bastantes coman-dos para definir acciones muy parecidas que fueron surgien-do segn las necesidades y que, en gran medida, oscurecensu comprensin y conocimiento. Aunque, inicialmente, las tc-nicas de programacin estructurada son ms difciles de do-minar, facilitan, extraordinariamente, la comprensin y correc-cin de los programas.

    Respecto a la sencillez de aplicacin, hay algunos lengua-jes (como el MCL) dedicados a las mquinas herramienta(APT), que pueden ser valorados, positivamente, por los usua-rios conocedores de este campo. El PAL, estructurado sobre lamatemtica matricial, slo es adecuado para quienes estn fa-miliarizados con el empleo de este tipo de transformaciones.

    Uno de los lenguajes ms fciles de utilizar es el AUTO-PASS, que posee un juego de comandos con una sintaxis simi-lar a la del ingls corriente.

    Es imprescindible que los lenguajes para los robots seanfcilmente ampliables, por lo que se les debe dotar de una es-

    tructura modular, con inclusin de subrutinas que sern defini-das por el mismo usuario.

    La adaptabilidad a sensores externos implica la posibili-dad de una toma de decisiones, algo muy interesante en laslabores de ensamblaje. Esta facultad precisa de un modelo di-nmico del entorno, as como de una buena dosis de Inteligen-cia Artificial, como es el caso del AUTOPASS.

    Aunque los intrpretes son ms lentos que los compilado-res, a la hora de la ejecucin de un programa, resultan msadecuados para las aplicaciones de la robtica. Las razonesson las siguientes:

    1) El intrprete ejecuta el cdigo como lo encuentra,mientras que el compilador recorre el programa varias veces,antes de generar el cdigo ejecutable.

    2) Los intrpretes permiten una ejecucin parcial del pro-grama.

    3) La modificacin de alguna instruccin es ms rpidacon intrpretes, ya que un cambio en una de ellas no suponela compilacin de las dems.

    4) Finalmente, el camino para la superacin de los pro-blemas propios de los lenguajes actuales ha de pesar, necesa-riamente, por la potenciacin de los modelos dinmicos delentorno que rodea al robot, acompaado de un aumento sus-tancial de la Inteligencia Artificial. *****************

  • 1188 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    Introduccin

    A la hora de elegir un motor para aplicaciones de micro-btica, debemos tener en cuenta que existen varios factorescomo son la velocidad, el par, el frenado, la inercia y el mo-

    do de control. Si lo que queremos es utilizar un motor de co-rriente continua, existen varias posibilidades en el mercado.

    * Motores de corriente continua. Dentro de la granvariedad de tipos existentes en el mercado, los ms econmi-

    cos son los que se utilizan en algunos ju-guetes, pero tienen el inconveniente deque su nmero de revoluciones por segun-do (RPS) es muy elevado, lo que nos loshace muy apropiados para la construc-cin de un microbot que por ejemplo, si-ga una lnea, si no se utilizan reductoresadicionales o un sistema de regulacinelectrnico. Vea las figs. 1 y 2.

    * Motores de corriente continuacon reductores, en los juguetes del tipo

    Motores y Servos para la Construccin de un RobotPara aplicaciones de mini-robtica, tanto los motores de pequeo porte

    como los servomecanismos son dispositivos de uso normal, conocer su funcio-namiento permitir realizar la eleccin del mecanismo adecuado para cadauso. En esta captulo describimos algunos de estos elementos.

    Figura 1 - Motor de C.C.utilizados en juguetes.

    Figura 2 - Motor de C.C. utilizado en un Casete.

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 1199

    Mecano o Lego, podemos encontrar motores con reductores osistemas reductores para acoplar a los motores. Esta es unabuena opcin si se dispone de ellos, en caso contrario, existenen el mercado motores reductores como los que se muestran enla siguiente tabla con figuras, que adems de disminuir la velo-cidad le dan ms potencia al microbot para mover por su es-tructura y la batera (que proporcionalmente pesa mucho) yotros objetos para lo cual se necesita disponer de motores conbuen par de arranque. En las figuras 3 a 6 podemos observardiferentes tipos de motores.

    * Servomotores de los utilizados en modelismo yradiocontrol, se trata de unos motores con un circuito electr-nico al que dedicaremos un captulo cuando intentemos cons-truir un microbot del tipo hexpodo (es decir un criatura de 6

    patas como los in-sectos), estos servo-motores cumplenuna caractersticasque los hacen id-

    neos para la construccin de nuestro microbot, tales como unbuen par de salida, potencia suficiente para trasladar objetoso una batera, baja inercia, son capaces de mover 3,5 Kg xcm, incluyen multitud de accesorios para poder fijar las ruedasdel microbot, son fciles de fijar a una estructura plana al irdentro de una carca-sa de plstico rec-tangular con sopor-tes para fijar los tor-nillos.

    Pero tienen unpequeo inconve-niente y es que hayque trucarlos paraque el eje del motorpueda girar los360 ya que normal-mente no giran msde 180 por motivosde seguridad en las

    Figura 3 - Motor reductor de relacin194:1 con doble eje 2,4x6 mm, ten-

    sin de trabajo entere 1,5V y 12V.

    Figura 4 - Motor reductor de relacin23:1 con doble eje 4x40 mm, tensinde trabajo entre 1,5V y 12V.

    Figura 5 - Motor con reductor de rela-cin 17:1 con doble eje de 4x20 mm,tensin de trabajo entre 1,5V y 12V.

    Figura 6 - Motor reductor de relacin10:1 con doble eje de 2x20 mm, ten-sin de trabajo entere 1,5V y 12V.

  • 2200 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    aplicaciones para las que estn diseados. El trucado de losservomotores los har inservibles para su uso en radiocontrol,pero desde luego para nuestro fin no tiene ningn problema.Seguidamente se muestran los pasos a realizar para convertirlos servomotores en motores con desmultiplicadores es decir,

    cmo trucar elservomotor. Casitodos los servo-motores son igua-les, nosotros va-mos a trucar elque tenemos amano que es Hi-tec modelo HS-300BB.

    Los servomo-tores de origenson tan slo ca-

    paces de girar, como mucho, hasta 180 como es requeridopara las aplicaciones para las que estn pensadas inicialmen-te, esta restriccin viene impuesta por unos topes mecnicosque limitan el giro a 180 y un circuito electrnico. Si elimina-mos las dos cosas podemos conseguir el giro de 360 y porlo tanto que se comporte como un motor de DC con caja re-ductora. Se quitan los cuatro tornillos de la tapa posterior y alquitarla se pueden ver un circuito electrnico que en nuestrocaso est metido a presin, para poder quitarlo hay que qui-tar el tornillo que sujeta el eje potencimetro por la parte delos engranajes que estn en la cara opuesta a la que hemosabierto. Ver figura 9.

    En la figura 10 podemos apreciar los engranajes de la eta-pa reductora, cuya misin es reducir la velocidad del motor ydar mayor potencia y par de arranque al sistema.

    Desmontar las ruedas dentadas, teniendo mucho cuidadode no perder ninguna de ellas, prestar atencin al pequeoeje que hay entre las ruedas intermedias, en algunos modelos

    de servomotores es mvil, en nuestrocaso est fijado a la carcasa. Conunos alicates de punta plana, pode-mos quitar ahora la tuerca que sujetael potencimetro. Ver figura 11.

    Ahora ya podemos desmontar laplaca del circuito impreso y el poten-cimetro, ayudndonos con un destor-nillador haciendo un poco de palan-ca.

    Desoldamos los cables que estnconectados al motor para desprender-lo del circuito impreso.

    Hacemos lo mismo con los cablesque conectan el exterior a la placa decircuito impreso, para poder reutili-zarlos. Seguidamente conectaremosdos de estos tres cables al motor, co-nectar el rojo al terminal con el puntorojo y el negro al otro, eliminando eltercero que no se utiliza, como se veen la figura 13.

    Ahora eliminamos el limitador me-cnico que consiste en una pestaade la rueda dentada, para ello utili-zamos unos alicates de corte tal y co-mo se muestra en la figura 14. Utili-zar una lima para eliminar los restosde la pestaa. Tener mucho cuidadopara no romper la rueda porque se

    Figura 8 - Quitamos el tornillo que suje-ta el soporte de la rueda tractora al ejeque es estriado, por lo que habr quesacarla despus a presin.

    Figura 7

    Figura 11

    Figura 9

    Figura 10

    Figura 12

    Figura 13

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 2211

    volvera inservible el servomotor. En caso de partir la ruedase puede intentar pegar con un pegamento de contacto, co-mo se ve en fig. 14.

    Volver a montar las ruedas dentadas de la caja reductorafijndose en la figura para no confundirse y tener mucho cui-dado de no forzar ninguno de los engranajes, de maneraque puedan deteriorarse. La tapa superior deber de entrarsin forzarla, en nuestro caso tener cuidado con el eje de lasruedas superior e inferior que est en la propia carcasa. Verla figura 15.

    Atornillar nuevamente la tapa inferior, pero es aconsejablehacer antes un nudo en los cables del mo-tor y dejar el nudo en el interior para queproteja las soldaduras en el caso de tirardel cable, como vemos en la figura 16.

    Pues bien, ya tenemos uno de los mo-tores preparados para nuestro microbot,deberemos hacer lo mismo con el otro pa-ra tener la pareja necesaria.

    Para fijar esta estructura al chasis denuestro microbot, tan slo tendremos queconseguir unas escuadras con unos tala-dros o hacerlas nosotros mismos con untrozo de aluminio y la ayuda de un torni-llo de banco. Si utilizamos cualquiera delos otros tipos de motores de corrientecontinua que se han mostrado la fijacinal chasis puede ser ms o menos comple-ja, nosotros te damos dos. Si el motor tie-ne una carcasa redonda, que es lo nor-mal, se puede utilizar una grapa de lasutilizadas para fijar el tubo de las instala-ciones elctricas de superficie, tal y comose muestra en la foto de la figura 17. Otraopcin por ejemplo es utilizar bridas deplstico, tambin conocidas como conec-tores unex para la fijacin de los motoresal chasis del microbot.

    Fijar el motor de la figura 18 es relati-vamente fcil debido a que es prctica-mente plano, adems tiene unas peque-as muescas para poder fijar en la super-ficie del chasis. En este caso (figura 19)hemos colocado una escuadra de un me-cano sobre las que se fijan en motor conayuda de una bridas. Esto permite atorni-llar el motor al chasis en la mejor posiciny con bastante robustez.

    A continuacin publicamos una breve

    resea de servomotores ya que son los mecanismos que utiliza-remos para la construccin del robot y son usados en la mayo-ra de los proyectos de robtica.

    Ms sobre Servomotores

    Los servos son un tipo especial de motor (figura 20) que secaracterizan por su capacidad para posicionarse, de forma in-mediata, en cualquier posicin dentro de su rango de opera-cin. Cada dia son ms utilizados en la mayora de los dispo-

    Figura 14

    Figura 15

    Figura 17

    Figura 16

    Figura 18

    Figura 19

    Figura 20

  • 2222 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    sitivos electrnicos del hogar. Para su funcionamiento, el servo espera un tren de pulsos

    que se corresponden con el movimiento a realizar (figura 21). Estn generalmente formados por un amplificador, un mo-

    tor, la reduccin de engranaje y la realimentacin, todo en unmisma caja de pequeas dimensiones. El resultado es un ser-vo de posicin con un margen de operacin de 180 aproxi-madamente.

    Disponen de tres conexiones elctricas: Vcc (roja), GND-(negra) y entrada de control (amarilla) (figura 22). Estos colo-res de identificacin y el orden de las conexiones dependendel fabricante del servo. Es importante identificar las conexio-nes ya que un voltaje de polaridad contraria podra daar elservo.

    Funcionamiento del Servo

    El control de un servo se limita a indicar en qu posicinse debe situar. Estas "rdenes" consisten en una serie de pul-sos. La duracin del pulso indica el ngulo de giro del motor.

    Cada servo tiene sus mrgenes de opera-cin, que se corresponden con el ancho delpulso mximo y mnimo que el servo entien-de. Los valores ms generales correspondecon valores entre 1 ms y 2 ms, que dejaranal motor en ambos extremos. El valor 1,5ms indicara la posicin central, mientrasque otros valores del pulso lo dejan en po-siciones intermedias. Estos valores suelenser los recomendados, sin embargo, es po-sible emplear pulsos menores de 1 ms o ma-yores de 2 ms, pudindose conseguir ngu-

    los mayores de 180. Si se sobrepasan los lmites de movi-miento del servo, ste comenzar a emitir un zumbido, indi-cando que se debe cambiar la longitud del pulso.

    El perodo entre pulso y pulso no es crtico, e incluso pue-de ser distinto entre uno y otro pulso. Se suelen emplear valo-res entre 10 ms y 30 ms. Si el intervalo entre pulso y pulso esinferior al mnimo, puede interferir con la temporizacin inter-na del servo, causando un zumbido, y la vibracin del brazode salida. Si es mayor que el mximo, entonces el servo pa-sar a estado dormido, entre pulsos. Esto provoca que se mue-va con intervalos pequeos.

    Es importante destacar que para que un servo se manten-ga en la misma posicin durante un cierto tiempo, es necesa-rio enviarle continuamente el pulso correspondiente. De estemodo, si existe alguna fuerza que le obligue a abandonar es-ta posicin, intentar resistirse.

    Si se deja de enviar pulsos (o el intervalo entre pulsos esmayor del mximo) entonces el servo perder fuerza y dejarde intentar mantener su posicin, de modo que cualquier fuer-za externa podra desplazarlo.

    Estructura del Microbot

    Figura 21

    Figura 22

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 2233

    Para la construccin de nuestro microbot podemos utilizarmuchos tipos de estructuras, que dependern de la funcin quequerramos realizar, no es lo mismo disear un robot bpedoque un rastreador. Unas de las estructuras ms utilizadas es lade los juegos educacionales de construccin tipo Lego, Meca-no o Eitech interesantes por su flexibilidad, y de forma un po-co ms profesional las estructura de los Fischertechnik quefueron diseadas originariamente para aplicaciones tcnicas,tanto estticas como de estructuras mecnicas con movimiento.

    En la figura 1 vemos la estructura de un microbot realizadocon una estructura Fischertechnik.

    Una estructura realizada con un Mecano es, por ejemplo, elcaso del Pvot-1 de la empresa Microsystems Engineering, don-de podemos ver cmo sus diseadores han integrado hbilmen-te la placa de circuito impreso de control en la estructura mec-nica y justamente debajo de l se encuentra alojada una bate-ra de plomo de 12V y 0,8mA/h.

    Para el caso de nuestro rastreador, que no debe salvar obs-tculos y que ser un microbot experimental de bajo costo, po-demos utilizar una estructura ms sencilla, como por ejemplo untrozo de metacrilato, poliestireno, PVC, placa de circuito impre-so o incluso puede servirnos la caja deplstico de un Compact Disc. En nuestro ca-so vamos a utilizar dos placas de poliestire-no blanco de 180 x 13,5 mm, pero pue-den utilizarse otras medidas, el hecho deutilizar dos placas, es por que de esta ma-nera, como luego se ver, se pueden ponerlas bateras en el piso inferior y el circuitode control de los motores y sensores en elsuperior.

    A la hora de disear la traccin del microbot utilizando rue-das, podemos pensar en varias opciones que podemos utilizardependiendo de la aplicacin que se le quiera dar a nuestromicrobot de investigacin. As pues, podemos optar por unaestructura formada por dos ruedas a traccin independientes yuna rueda loca co-mo la que se mues-tra en el diagramade la figura 2a, opor una arquitecturade triciclo, como lade la figura 2b, for-mada por dos rue-das de traccin yuna de direccin in-dependientes o poruna estructura simi-lar a los coches tra-dicionales formadapor dos ruedas trac-toras con control dela direccin y dos

    CCOONNSSTTRRUUCCCCIINN DDEE RROOBBOOTTSS MMVVIILLEESSEEXXPPEERRIIMMEENNTTAALLEESS

    En este captulo aprenderemos mini-robtica armando paso a paso diferentesproyectos. Comenzaremos montando un pequeo mini-robot aprovechando los con-ceptos vertidos en el captulo anterior sobre el funcionamiento de servomecanismosy minimotores. Este desarrollo se ha expuesto de diversas maneras en distintas pu-blicaciones y su funcionamiento es similar al siguelneas que publicramos enClub SE N 5. Nuestro mini-robot, al que hemos bautizado MICROBOT , ser arma-do teniendo en cuenta tres etapas: Estructura, Sensores y Actuadores. Indicaremoscmo montar nuestra estructura, cules son los sensores adecuados y daremos di-ferentes opciones para manejar a los motores (actuadores).

    Figura 1

    Figura 2a

    Figura 2b

  • 2244 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    ruedas sin traccin, como la que se muestra en la figura 2c.En la figura 2d vemos la estructura para el diseo de nues-

    tro microbot. Las ruedas locas, deben ser capaces de rodary pivotar sobre s mismas, al igual que las ruedas motrices de-bern de ser capaces de adaptarse a los obstculos del terre-no. Su movimiento alrededor del eje sobre el que pivota debeser lo ms suave posible, para no dificultar la rotacin del mi-crobot, de lo contrario es posible que se bloquee y patine sino se elige de forma adecuada. Las soluciones para este tipode ruedas pueden ser muchas, nosotros hemos optado poruna rueda que gira libremente sobre su eje, gracias a una pe-quea plataforma con rodamientos de las que podemos en-contrar casi en cualquier ferretera, adems hay un gran surti-do de ellas en lo referente a tamaos. Otra opcin podra serutilizar la bola de un roln de desodorante, a la que se leadapten una pequeas escuadras para fijarla a la estructura.Respecto a las ruedas motrices que hemosutilizado para la traccin del microbot,son de las utilizadas en juguetes y que sepueden encontrar fcilmente en las tien-das que venden material a los centros de

    educacin secundara para la asignatura de Tecnologa, tam-bin pueden fabricarse de madera o utilizar unos discos com-pactos estropeados y por supuesto tambin pueden comprar-se en tiendas de modelismo, stas suelen ser mejores pero mu-cho ms caras.

    Movilidad de Nuestra Estructura

    La estructura que hemos elegido para nuestro microbot nospermitir realizar movimientos hacia adelante, hacia atrs, gi-ro a la derecha, giro a la izquierda, las placas con un rotula-dor, para poder luego taladrar a 10 mm de cada esquina. Es-to lo haremos sin quitar el plstico protector contra araazosque llevan pegadas por encima las placas de poliestireno, deesta manera, despus quedarn totalmente limpias y sin ara-

    Figura 2d

    Figura 2c

    Figura 3a.- Movimiento hacia delante, sehacen girar los dos motores en la mismadireccin hacia delante (sentido horario).Esto provoca un movimiento rectilnea su-poniendo que los dos motores son exacta-mente iguales.

    Figura 3b.- Movimiento hacia atrs, se ha-cen girar los dos motores en la misma di-reccin hacia atrs (sentido contrario a laagujas del reloj). Esto provoca un movi-miento rectilnea suponiendo que los dosmotores son exactamente iguales.

    Figura 3c.- Movimiento de giro a la dere-cha, se hacen girar el motor izquierdo ensentido horario (hacia delante) y el motorde la derecha en sentido antihorario (ha-cia atrs). Esto provoca un movimientode giro a la derecha de la estructura.

    Figura 3d.- Movimiento de giro a la izquier-da, se hacen girar el motor izquierdo ensentido antihorario (hacia atrs) y el motorde la derecha en sentido horario (hacia ade-lante). Esto provoca un movimiento de giroa la izquierda de la estructura.

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 2255

    azos, como muestra la figura 4. Una vez marcadas las pla-cas, pasamos a taladrar cada una de las placas utilizando untaladro de sobremesa.

    Utilizaremos una broca para metal de 3 mm, ya que estostaladros son para fijar posteriormente unos separadores metli-cos de los utilizados para fijar las placas de circuito impreso alos chasis o cajas. Ver figura 5.

    En este primer montaje utilizaremos dos motores que vamosde corriente continua con caja reductora de 17:1 con doble ejeque trabaja con tensiones de 1,5V a 12V, previamente le hare-mos tambin unos taladros de 3 mm como los que se muestranen la figura 6 para su posterior fijacin a la placa base median-te tornillos.

    Estos motores tienen la ventaja de su bajo precio, pero el in-conveniente de que la velocidad que alcanzan es grande y porlo tanto son ms difciles de controlar.

    Antes de realizar el montaje, se recomienda soldar unos ca-bles flexibles a los terminales del motor, ya que ahora ser masfcil que cuando est montado.

    Como tercer punto de apoyo de nuestra estructura vamos autilizar una rueda loca, de las que se pueden encontrar prc-ticamente en cualquier ferretera, utilizaremos la ms pequeaque es la que mejor se adaptaba a nuestra estructura.

    Como rueda loca puede incluso, utilizarse un roln de deso-dorante con la oportuna adaptacin para fijarla en la estructu-ra. Ver figura 7

    El siguiente paso es fijar los motores y la rueda loca a nues-tra estructura utilizando tornillos, es recomendable que todoslos tornillos sean del mismo paso por ejem-plo de mtrica 3, de esa forma podremos in-tercambiarlos y adems de esta forma conuna sola broca podremos hacer todos los ta-ladros. En la figura 8 vemos los motores consus ruedas y la rueda loca fijadas a la estruc-tura inferior del microbot Estamos ya prepa-rados para montar el piso superior.

    Empleamos separadores de los utilizadospor los circuitos impresos para fijarlos a loschasis metlicos. Para conseguir una sepa-racin de 30 mm hemos utilizado cuatro se-paradores de 20 mm y otros cuatro de 10mm y los correspondientes tornillos de 20 y10 mm. En la figura 9 vemos las dos plata-formas montadas y preparadas para sopor-tar la batera o bateras del microbot y su cir-cuitera electrnica.

    Los Sensores del Microbot

    Esta etapa o ni-vel est formadapor el conjunto desensores, as co-mo los sistemasbsicos para sumanejo. Vamos aconstruir un siste-ma de control pa-ra conseguir unmvil reactivo,que no est con-trolado por un mi-crocontro lador,pero que nos ser-vir como pasoprevio para obte-ner conocimientossobre cmo hacerfuncionar estoscacharros.

    Comenza re -mos de una mane-ra sencilla constru-yendo un circuitoque dependiendode una seal de

    Figura 3e.- El movimiento de giro com-pleto sobre su propio eje, abarca unasuperficie muy grande que no hace laestructura muy adecuada para moverseen recintos muy pequeos, como po-dra ser el caso de movimientos enpruebas de laberintos.

    Figura 4

    Figura 6

    Figura 7

    Figura 8

    Figura 5

  • 2266 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    entrada 0 o 1haga girar un mo-tor de corrientecontinua hacia de-lante o hacia atrs,es decir en sentidohorario o en senti-do antihorario.

    El circuito queutilizamos para el primer robot reactivo no utiliza ningn mi-crocontrolador y lo hemos diseado as para empezar a com-prender el funcionamiento de los sensores de infrarrojosCNY70, cuyas caractersticas se incluyen en este mismo nme-ro y el circuito de control de potencia para los motores.

    El primer circuito que hemos utilizado ha sido el de la figu-ra 10, que no es ms que un puente en H de transistores con-trolado por los sensores CNY70 y unos inversores Schmitt Tri-gger, que se encargan de conformar las seales del sensor aniveles lgicos ms estables.

    El Sensor CNY70El CNY70 es un sensor de infrarrojos de corto alcance ba-

    sado en un diodo emisor de luz infrarroja y un receptor forma-

    do por un foto-transistor, ambosapuntando en lamisma direccin,y cuyo funciona-miento se basaen la capacidadde reflexin delobjeto, y la de-teccin del rayoreflectado por elreceptor. El dis-positivo dispone de cuatro pines de conexin. Dos de ellos secorresponden con el nodo y ctodo del emisor, y las otrasdos se corresponden con el colector y el emisor del fototran-sistor, que hace las veces de receptor. Los valores de las resis-tencias son tpicamente de RT=10k para el fototransistor,mientras que para el diodo emisor es RD=220, siendo tpi-cos los dos montajes que se indican en la figura 11.

    En el circuito por el que nos hemos inclinado en el diseoes el de la opcin a, de manera que cuando el sensor estsobre la lnea negra la luz es absorbida y el fototransistor semantiene en corte, por lo que a la salida el circuito entrega un

    nivel bajo, mientras que cuando el sen-sor est sobre el fondo blanco que refle-ja la luz, el fototransistor se satura y ala salida del circuito obtenemos un nivelalto. El funcionamiento del circuito bes justamente al contrario, cuando elsensor est sobre la lnea negra, el foto-transistor permanece en corte y entre-gando a la salida un nivel alto en el co-lector, mientras que si se encuentra so-bre un fondo blanco, el haz infrarrojose refleja y el fototransistor se satura en-tregando a la salida del circuito un ni-vel bajo.

    Para obtener seales digitales des-de estos sensores utilizamos puertas in-versoras Schmitt Trigger, que tienen laventaja de que en el mismo chip nos en-contramos con seis inversores(CD4016). Estos dispositivos tienen unacaracterstica de transferencia, como laque se muestra en la figura 12. En estacurva se aprecia que si la tensin de en-trada asciende desde 0V hasta un nivelalto, la transicin se produce siguiendo

    Figura 10

    Figura 11

    Figura 9

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 2277

    la curva A y se produce para el valor VT+ denominado umbralascendente. Por el contrario, si la entrada est a un nivel alto yse va disminuyendo hasta 0V, la transicin se produce siguien-do la curva B, cuando se alcanza el denominado umbral des-cendente VT-.

    Los valores de VT+ y de VT- para las puertas de tecnologaTTL, son de 4,7V y 0,9V respectivamente, pero para el caso del40106 depende de la tensin de alimentacin y puede tomarlos valores de la tabla 1.

    Estas compuertas son de gran utilidad cuando se desea con-trolar un circuito digital con seales provenientes de sensorescomo los infrarrojos. En la figura 13 se muestra cmo acta uncircuito no inversor, el circuito frente a una seal que no es pu-

    ramente digital.Cuando la sealV1 alcanza elvalor VT+ la sa-lida VO basculaa un nivel alto,y no vuelve a to-mar un nivel ba-jo hasta que laentrada no lle-gue a VT-.

    El Sistema de Actuacin: Control de Motores

    En nuestro Microbot, uno de los motores est controladopor un puente en H, formado por cuatro transistores de poten-cia montados en antiparalelo.

    Los transistores trabajan en conmutacin y se comportan co-mo interruptores controlados por la seal que les llega desde elsensor a travs del inversor. Su funcionamiento es el siguiente:en la figura 14 vemos el puente de transistores controlado porel sensor y su inversor asociado, si el sensor con su puerta in-versora entrega un nivel alto, a la base de los transistores TR3y TR2 (NPN y PNP) les llega respectivamente un nivel alto y unnivel bajo, lo que les hace entrar simultneamente en satura-cin mientras que aTR1 y TR4 que lesllegan las mismasseales se quedanen corte por ser designo contrario (PNPy NPN respectiva-mente), en estascondiciones el mo-tor gira en un senti-do como puede

    TABLA 1Parmetro Vdd Mnimo Tpico Mximo UnidadesVT+ 5.0 2.2 2.9 3.6 V

    10 4.6 5.9 7.1 15 6.8 8.8 10.8

    VT- 5.0 0.9 1.9 2.8 10 2.5 3.9 5.2 15 4.0 5.8 7.4

    Figura 13

    Figura 14

    Figura 15a

    Figura 15b

    Figura 12

  • 2288 CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA

    verse en la figura 15a. Cuando cambian elvalor de la seal que entrega el sensor, lostransistores que se saturan son TR1 y TR4,mientras que los que pasan al estado decorte son TR3 y TR2, como puede verse enla figura 15b.

    El problema de este tipo de circuitos esla cada de tensin real que hay en los tran-sistores y que habr que compensarla con la batera, que porsupuesto va disminuyendo en la medida que sta se va ago-tando. Para evitar estos problemas en el diseo final hemosutilizado un puente integrado, el LM293B. Este circuito es un

    driver de 4 canales, capaz de proporcionar una corriente desalida de hasta 1A por canal. Cada canal es controlado porseales de entrada compatibles TTL y cada pareja de canalesdispone de una entrada de habilitacin que desconecta las sa-

    lidas de los mismos. El circuito dispo-ne, adems, de una patita para la ali-mentacin de las cargas que se estncontrolando, de forma que dicha ali-

    Figura 16

    TABLA 2Pin Nombre Descripcin1 Chip Enable 1 Habilitacin de los canales 1 y 2 2 Input 1 Entrada del canal 1 3 Output 1 Salida del canal 1 4 GND Tierra de alimentacin 5 GND Tierra de alimentacin 6 Output 2 Salida del canal 2 7 Input 2 Entrada del Canal 2 8 VS Alimentacin de las cargas 9 Chip Enable 2 Habilitacin de los canales 3 y 4 10 Input 3 Entrada del canal 3 11 Output 3 Salida del canal 3 12 GND Tierra de alimentacin 13 GND Tierra de alimentacin 14 Output 4 Salida del Canal 4 15 Input 4 Entrada del Canal 4 16 VSS Alimentacin del C.I.

    Figura 17

    Figura 18

    Figura 19

  • CCLLUUBB SSAABBEERR EELLEECCTTRROONNIICCAA 2299

    mentacin es independiente de la lgica de control. En la figu-ra 16 se muestran su encapsulado de 16 pines, y en la tabla 2su distribucin de patillas y la descripcin de las mismas.

    En base a las diferentes etapas descriptas, el circuito finalde nuestro Microbot siguelneas es el que se muestra en la figu-ra 17 que posee el circuito de deteccin (sensores), las puertasSchmitt Trigger para conformar los impulsos y el driver LM293para el control de los motores. En las figuras 18 y 19, se mues-tra el circuito montado sobre placa de prototipo (experimenta-dor digital) y el montaje final de nuestro microbot, en el quepuede verse cmo se ha colocado una escuadra de aluminiocomo soporte para los sensores CNY70 y para sujetarlos he-mos utilizado una cinta adhesiva por las dos caras, que es unsistema muy econmico y sencillo de sujecin. Para sujetar laplaca del circuito y las bateras hemos utilizado unas gomaselsticas. Las bateras, despus de tomar la foto, las hemos me-tido entre las dos placas de poliestireno para que no estorben.Para poder utilizarlos en otros montajes los hemos conectado atravs de un cable plano a un conector tipo poste hembra y enla placa hemos colocado el conector macho correspondiente.

    Control de Motores por Medio de Microcontrolador

    Si construy el Microbot habr observado que enseguida to-ma velocidad, ya que tiene poco coeficiente de reduccin delos motores y que cabecea mucho en el seguimiento de la lneanegra sobre fondo blanco.

    Vamos a hacer un anlisis detallado del funcionamiento deldriver L293 y su control a travs de un microcontrolador, parael manejo de motores de corriente continua. Cuando analice-mos los motores paso a paso, veremos cmo utilizarlo en estetipo de motores.

    Para el control del motor hemos elegido el PIC16F84 paraello. El L293B es undriver de 4 canalescapaz de proporcio-nar una corriente desalida de hasta 1Apor canal. Cada ca-nal es controlado porseales de entradacompatibles TTL y ca-da pareja de cana-les dispone de unaseal de habilitacinque desconecta lassalidas de los mis-

    mos. Dispone de una pata para la alimentacin de las cargasque se estn controlando, de manera que dicha alimentacines independiente de la lgica de control.

    En la tabla 2 se describe la funcin de cada pata o termi-nal.

    En la figura 20, se muestra el diagrama de bloques delL293B. La seal de control 1EN1 activa la pareja de canalesformada por los drivers 1 y 2. La seal EN2 activa la pareja dedrivers 3 y 4.

    Las salidas OUTn se asocian con las correspondientes INn.Las seales de salida son amplificadas respecto a las de entra-da tanto en tensin, como en corriente (mximo: 1A) y la tabla3 es la de funcionamiento para cada uno de los drivers.

    H= Nivel alto "1", L= Nivel bajo "0", Z = Alta Impedancia

    En la tabla 4 se describen los valores absolutos mximos deldriver L293B.

    En la tabla 5 vemos las caractersticas elctricas para cadacanal para los siguiente parmetros: VS = 24V, VSS =5V, Tamb= 25C.

    Veamos, seguidamente, algunas formas de conectar los mo-tores de corriente continua al driver.

    Figura 20

    TABLA 3VInn VOUTn VENn Do