Sie sind auf Seite 1von 280

opcion2.

qxp 16/11/2009 12:51 Pgina 1

CONVIE
RTA SU
PASI
CONTENIDO La ROBTICA ya no es parte de un futuro EN REA N
LIDAD!
1 | INTRODUCCIN lejano sino de nuestro presente tangible.
Qu es un robot? Cundo conviviremos con ellos? Y este manual es, sin dudas, la mejor forma de acceder
Tendremos diversos tipos de robots entre nosotros?
Lavarn los platos? En este primer captulo a ella. En su interior encontraremos un recorrido terico
intentaremos responder stas y otras preguntas.
y prctico por cada uno de los conceptos fundamentales.
2 | COMPONENTES DEL ROBOT Se explican en detalle cules son las partes que componen
Tipos de procesamiento | Cmo le damos movimiento
a nuestro robot? | Cmo captamos el mundo que nos un robot y cada uno de los pasos por seguir para armar-
rodea? | Materiales para la mecnica
lo y programarlo a nuestro gusto. Destinado a entusiastas y aficionados de la cien-

ROBOTICA
3 | LA INTELIGENCIA DEL ROBOT cia ficcin y las nuevas tecnologas, cada uno de los temas es desarrollado desde
Componentes de nuestro robot | Objetivos del
controlador | Conceptos fundamentales de un PIC | cero, y con la mayor claridad y profundidad. Su autor, coordinador del campeona-
Listado de componentes del controlador | Descripcin
to argentino de Ftbol de Robots y miembro del Consejo Latinoamericano de
del circuito | Placa experimental | El programador
RoboCup y Cochair de la FIRA, vuelca en este libro su vasta experiencia.
4 | COMIDA DE ROBOTS
La fuente de energia | Tipos de batera | Cargadores |
Caractersticas de las celdas de las bateras | Voltaje |
Capacidad | Densidad | Curva de descarga | Resistencia
| Capacidad de recarga | Costo | Efecto memoria
NIVEL Gua Terica
5 | HABLAR CON NUESTRO ROBOT
Lenguajes de programacin para robots | PicBasic Pro |
Compilador CCS C | MikroBasic
EXPERTO

AVANZADO

INTERMEDIO
y Prctica

Gua Terica y Prctica


6 | RECORRER EL MUNDO
PRINCIPIANTE
El movimiento de los robots | Motor de corriente
continua | Motor paso a paso | Servos

7 | ADAPTACIN AL ENTORNO
Sensores analgicos y digitales | Tipos y caractersticas EL MONTAJE DE LA PIEZAS
8 | EL CUERPO DEL ROBOT
redusers.com Las partes que componen un robot
Caractersticas de un robot autnomo | Robots areos | En este sitio encontrar una gran variedad de recursos y software relacionado, Los pasos para ensamblarlas
Robots subacuticos | Robots terrestres | Sistemas con que le servirn como complemento al contenido del libro.
ruedas | El montaje de los elementos | Mecanismos de Adems, tendr la posibilidad de estar en contacto con los editores, y de parti-
transmisin y reduccin | Cinemtica | Odometra
cipar del foro de lectores, en donde podr intercambiar opiniones y experiencias. LA INTELIGENCIA
9 | SALIR AL RUEDO Trabajar con microcontroladores
Presentarnos a competir | Problemas frecuentes |
Pruebas tradicionales
Lenguajes de programacin
ROBOTICS
10 | FTBOL DE ROBOTS
This science is no longer part of a distant future, it is a part
Arquitectura y navegacin de los robots | Sensado y
of a very real and concrete present. This manual offers the
ROBOTS AUTNOMOS
deteccin del ambiente | Comportamiento colaborativo
| Ligas nacionales e internacionales fundamentals to be a member of this new reality through
Utilizacin de sensores
practical projects and by learning the theory behind them. Mecanismos para generar movimiento
APNDICE | LA ELECTRNICA

Gonzalo Zabala

APRENDA A ARMAR ROBOTS DESDE CERO APRENDA A ARMAR ROBOTS DESDE CERO
www.FreeLibros.me
00_robotica.qxp 18/11/2009 10:52 Pgina 2

TTULO: ROBTICA

AUTOR: Gonzalo Zabala

COLECCIN: USERS Express

FORMATO: 22 x 15,5 cm

PGINAS: 288

Copyright MMVII. Es una publicacin de Gradi S.A. Hecho el depsito que marca
la ley 11723. Todos los derechos reservados. No se permite la reproduccin parcial o
total, el almacenamiento, el alquiler, la transmisin o la transformacin de este libro,
en cualquier forma o por cualquier medio, sea electrnico o mecnico, mediante fo-
tocopias, digitalizacin u otros mtodos, sin el permiso previo y escrito del editor. Su
infraccin est penada por las leyes 11723 y 25446. La editorial no asume responsa-
bilidad alguna por cualquier consecuencia derivada de la fabricacin, funcionamien-
to y/o utilizacin de los servicios y productos que se describen y/o analizan. Todas las
marcas mencionadas en este libro son propiedad exclusiva de sus respectivos due-
os. Impreso en Argentina. Libro de edicin argentina. Primera impresin realizada
en Sevagraf, Costa Rica 5226, Grand Bourg, Malvinas Argentinas, Pcia. de Buenos Ai-
res en noviembre de MMIX.

ISBN 978-987-1347-56-8

Zabala, Gonzalo
Robtica. - 1a ed. - Banfield - Lomas de Zamora: Gradi, 2007.
288 p.; 22 x 16 cm. (Users Express; 29)

ISBN 978-987-1347-56-8

1. Informatica. I. Ttulo
CDD 005.3

www.FreeLibros.me
00_robotica.qxp 24/10/2007 01:57 p.m. Pgina 3

www.FreeLibros.me
00_robotica.qxp 24/10/2007 01:57 p.m. Pgina 4

PRELIMINARES

Gonzalo Zabala

Profesor de Enseanza Primaria (Normal No. 1) y Licencia-


do en Ciencias de la Computacin (UBA, Ciencias Exactas),
ha conjugado ambas vocaciones en la educacin tecnolgica
y el uso de tecnologa para la educacin. Trabaj durante mu-
chos aos como docente de diversas ramas de la informtica,
y a fines del siglo pasado comenz a usar robots para la en-
seanza de programacin. En el ao 2000 cre la Roboliga,
Olimpada Argentina de Robtica, que ya lleva siete eventos
con participacin de alumnos y docentes de toda la Argenti-
na. En 2004 ingres en el Centro de Investigaciones de la Fa-
cultad de Tecnologa Informtica de la Universidad Abierta
Interamericana, donde cre el Grupo de Investigacin de
Robtica Autnoma. Fue coordinador de diversos equipos de
alumnos que han participado en forma nacional e interna-
cional en competencias de robtica, y obtuvieron excelentes
resultados en ftbol de robots y pruebas de rescate. Actual-
mente, contina en el Centro de Investigaciones y es repre-
sentante de Argentina de la RoboCup Junior, director tcni-
co y pedaggico del proyecto Lego Education en el pas, co-
ordinador del Campeonato Argentino de Ftbol de Robots,
miembro del Consejo Latinoamericano de RoboCup y Co-
chair de la categora SimuroSot de la FIRA.

Dedicatoria
A Laura y Gastn, porque sus constantes preguntas me ha-
cen pensar una y otra vez mi impreciso modelo del universo.
A Ignacio Luppi, porque es un mago que logra que sus
alumnos construyan robots maravillosos de la nada.
Y a Marcelo De Vincenzi, porque me abri las puertas
para que continuara mis investigaciones en este maravi-
lloso mundo de la robtica. Y porque disfruta de todo es-
to ms que cualquiera de nosotros.

4
www.FreeLibros.me
00_robotica.qxp 24/10/2007 01:57 p.m. Pgina 5

Sobre el autor

Agradecimientos

Son muchas las personas que entran en juego en la confeccin de un libro,


aunque luego aparezca slo una en la tapa. Aqu mencionar a algunas de
ellas, pero seguramente me olvidar de muchas ms, que espero que me
perdonen y me lo recriminen, para no olvidarme la prxima vez.

Antes que nada, quiero agradecerles a Nstor Balich y a Gonzalo Mon por
la colaboracin en los captulos en los que estn mencionados, en especial
a Nstor por su aporte del controlador y por todas las dudas que disip
cuando probbamos las cosas. Otra herona es Iris, mi compaera del al-
ma, que soport abandonos familiares y responsabilidades extras para de-
jarme tiempo libre para escribir el libro.

Un captulo aparte merecen Paula Budris y Diego Spaciuk por aceptar mis
constantes incumplimientos, por alentarme cuando me quera bajar del
tren y por guiarme en todo este camino.

Tambin quiero agradecerles a Daro Cardacci y a Carolina Soleil del CAETI


(Centro de Investigaciones en Tecnologa Informtica de la UAI), que tambin
soportaron incumplimientos de mi parte para que yo llevara adelante esta tarea.

Por ltimo, agradezco a todos mis alumnos de estos aos, porque gran parte de
lo que aprend fue gracias a sus preguntas. Para ellos, mi ms dulce recuerdo.

5
www.FreeLibros.me
00_robotica.qxp 24/10/2007 01:57 p.m. Pgina 6

PRELIMINARES

Prlogo
Si Ud. tiene este libro en sus manos, es por alguna o algunas de las siguien-
tes razones:
a) Ha sido alcanzado por el sueo eterno de la humanidad de crear un ser
a su imagen y semejanza.
b) Desea bajar los costos de produccin de su industria, para darles ms
horas libres a sus fieles obreros.
c) Quiere entender de qu hablan sus hijos o nietos cuando estn reunidos
en la mesa, y dejarle de temer a ese ser espeluznante que de vez en vez
le habla con voz metlica y le solicita un hueso, una pelotita o simple-
mente que lo enchufen para recargar sus bateras.
d) Quiere armar, de una vez por todas, un robot que funcione, que siga la
lnea o la pelota, que busque la luz, sin tener que comprar 999 fasccu-
los con destino incierto.

Aunque este libro les ser de utilidad a los tres primeros grupos, segura-
mente el que quedar ms conforme es el lector que pertenece al ltimo de
ellos. Nuestro objetivo es poder describir, paso a paso, la electrnica, la
mecnica y la programacin necesarias para poder construir un robot sen-
cillo y de bajo costo, que permita realizar tareas simples en forma autno-
ma. Para ello, presentaremos todos los aspectos esenciales que conforman
la arquitectura de un robot, inclusive ms all de los que necesitaremos pa-
ra la construccin de nuestro modelo, de manera tal que el lector pueda
perfeccionar su creacin con nuevos sensores, actuadores y procesadores.

Nuestro punto de partida ser mnimo, pero es necesario cierto conoci-


miento bsico (muy bsico) de programacin para poder definir el com-
portamiento del robot. Para este fin, hemos elegido un lenguaje tan senci-
llo como el Basic, pero dado que no es un libro de programacin, le dedi-
caremos pocos captulos a este aspecto. El uso de estructuras de decisin,
de ciclos de repeticin y el manejo de variables sencillas es el requerimien-
to para poder comprender los algoritmos presentados sin problemas.

Tambin es bueno tener una base de electrnica, aunque no es imprescindi-


ble. De hecho, si no tiene ningn conocimiento en este campo, probable-

6
www.FreeLibros.me
00_robotica.qxp 24/10/2007 01:57 p.m. Pgina 7

Prlogo

mente le parezca mgico el funcionamiento de ciertos aspectos del robot. Sin


embargo, como seguiremos la descripcin de la construccin de forma deta-
llada, podr construirlo sin saber el por qu profundo de esa construccin.

Con respecto a la mecnica, nuestro robot es tan sencillo que no necesita-


mos ningn conocimiento vinculado a ese tema. Si en algn momento nos
encontramos en una lucha de sumo de robots, con seguridad los que se-
pan ms de mecnica nos vencern pero, para seguir una lnea, basta con
ubicar las ruedas en forma razonable.

Bienvenido entonces, estimado lector, a esta nueva aventura. Es nuestro


profundo deseo que al finalizar estas pginas, tenga dando vueltas por su
casa un pequeo robot independiente y que nos podamos encontrar en al-
guna de las tantas competencias de robtica que existen en nuestro pas (o
en el planeta!). Y por qu no, que un da, al golearnos con su equipo de
robots en un partido de cinco contra cinco, nos honre al contarnos que su
primera experiencia fue con esta humilde obra. Le podemos asegurar que
ese da, a pesar de la derrota, tocaremos el cielo con las manos!

Lic. Gonzalo Zabala y colaboradores.

7
www.FreeLibros.me
00_robotica.qxp 24/10/2007 01:57 p.m. Pgina 8

PRELIMINARES

El libro de un vistazo
La robtica ha llegado a nuestros hogares y trabajos. Antes de que nos inviten a dejar
nuestro living o escritorio, proponemos crear nuestro primer robot para entender pro-
fundamente los conceptos que entran en juego. En los siguientes captulos estudiare-
mos paso a paso los elementos necesarios para llevar a cabo esta tarea con xito.

Captulo 1 Captulo 4
CONCEPTOS FUNDAMENTALES COMIDA DE ROBOTS
Presentaremos los conceptos fundamenta- ste es uno de los problemas fundamenta-
les de la robtica en general y de los robots les de la robtica autnoma. Estudiaremos
autnomos en particular. Conoceremos los las ventajas y desventajas de los diversos ti-
primeros intentos de la historia, veremos la pos de bateras, y seleccionaremos la que
arquitectura bsica de un robot e intoduci- nos convenga para nuestro proyecto.
remos la terminologa que utilizaremos.
Captulo 5
Captulo 2 HABLAR CON NUESTRO ROBOT
COMPONENTES DEL ROBOT Comenzaremos a programar el controlador
Antes del desarrollo, es fundamental tener con un lenguaje tan sencillo como el Basic.
una visin de los objetivos y los alcances de Veremos las similitudes y diferencias con la
nuestro robot, y de las etapas y dificultades programacin tradicional y otros lenguajes.
que encontraremos. Aqu presentaremos el
proyecto y prepararemos los implementos Captulo 6
necesarios. Introduciremos el microcontro- RECORRER EL MUNDO
lador, los motores, los sensores y los mate- Dentro de la robtica autnoma, uno de los
riales para construir la carcasa. objetivos esenciales es trasladarse en el
ambiente donde se desarrolla la tarea. Para
Captulo 3 ello, tenemos diversos sistemas de locomo-
LA INTELIGENCIA DEL ROBOT cin que difieren en costo, eficiencia, ta-
Empezamos la construccin de nuestro ro- mao, consumo y otras variables.
bot por la parte ms delicada: el controla-
dor, que es el director de todo lo que realiza Captulo 7
nuestro robot. Desarrollaremos los aspec- SENSAR EL MUNDO
tos para construirlo desde cero y veremos Tenemos que ver qu pasa a nuestro alre-
cmo construir un programador para incor- dedor para no chocarnos, salirnos del ca-
porarle programas al microcontrolador. mino o perdernos. Analizaremos los tipos

8
www.FreeLibros.me
00_robotica.qxp 24/10/2007 01:57 p.m. Pgina 9

El libro de un vistazo

de sensores y los probaremos con nuestro ftbol de robots. Explicaremos el por qu


controlador. Del mar de componentes digi- de tanta pasin y cmo podemos usar
tales y analgicos, seleccionaremos un nuestro robot para participar de compe-
subconjunto para aplicarlo a nuestro robot. tencias nacionales e internacionales.

Captulo 8 Apndice A
EL CUERPO DEL ROBOT CONCEPTOS BSICOS DE ELECTRNICA
En este punto, tenemos el robot casi termi- Si nos quedan dudas sobre cmo ocurre lo
nado pero desmembrado. Qu materiales que hemos visto en este libro, aqu encon-
usamos para construir el cuerpo del robot? traremos material. Desde qu es la electri-
Qu ventajas y desventajas presenta cada cidad hasta la historia y el funcionamiento
uno? Qu herramientas necesitamos? Aqu de los circuitos integrados, esclareceremos
intentaremos responder estas preguntas. los temas electrnicos fundamentales.

Captulo 9 Apndice B
SALIR AL RUEDO SITIOS WEB
Presentamos desafos y proyectos de apli- Y como todo esto es el comienzo, presenta-
cacin con sus respectivas modificaciones remos una lista de sitios de electrnica y
electrnicas, mecnicas y de programacin. robtica donde podremos profundizar nues-
Analizaremos las caractersticas de las tros estudios y conocimientos.
pruebas de robots autnomos y los proble-
mas que hay que enfrentar para superarlas. Servicios al lector
BIBLIOGRAFA
Captulo 10 Como bien deca Newton, podemos ver lejos
JUGAR AL FTBOL porque nos hemos parado en hombros de
Uno de los campos ms atrayentes de gigantes. Aqu presentaremos las fuentes
aplicacin de la robtica autnoma es el de nuestras investigaciones y estudios.

! INFORMACIN COMPLEMENTARIA

A lo largo de este manual encontrar una serie de recuadros que le brindarn infor-
macin complementaria: curiosidades, trucos, ideas y consejos sobre los temas tra-
tados. Cada recuadro est identificado con uno de los siguientes iconos:

CURIOSIDADES
ATENCIN
DATOS TILES SITIOS WEB

E IDEAS Y NOVEDADES

9
www.FreeLibros.me
00_robotica.qxp 24/10/2007 01:57 p.m. Pgina 10

PRELIMINARES

Contenido

Sobre el autor 4 Objetivos de nuestro robot 47


Agradecimientos 5 Tipo de procesamiento
Prlogo 6 seleccionado 48
El libro de un vistazo 8 Cmo le damos movimiento
Introduccin 14 a nuestro robot? 50
Y cmo captamos el mundo
Captulo 1 que nos rodea? 53
CONCEPTOS FUNDAMENTALES Materiales para la mecnica 55
Introduccin a la robtica 16 Resumen 59
Qu es un robot? 16 Actividades 60
Tipos de robots 19
Unidades de un robot 23
Procesamiento 24
Sensores 33
Actuadores 39
Resumen 43
Actividades 44

Captulo 3
LA INTELIGENCIA DEL ROBOT
El cerebro 62
Componentes de nuestro robot 63
Objetivos del controlador 64
El microcontrolador,
cerebro del cerebro 64
Conceptos fundamentales
de un PIC 65
Captulo 2 Caractersticas del PIC16F88 66
COMPONENTES DEL ROBOT Compatibilidad con el 16F84 67
Una mirada global a nuestro Puente H para el control
futuro robot 46 de los motores 67

10
www.FreeLibros.me
00_robotica.qxp 24/10/2007 01:57 p.m. Pgina 11

Contenido

Listado de componentes PicBasic Pro 95


del controlador 68 Compilador CCS C 97
Descripcin del circuito 69 MikroBasic 98
Placa experimental 71 Editor de cdigo fuente
El programador 71 de mikroBasic 100
Nuestro programador 71 Explorador de cdigo 103
Resumen 75 Depurador 103
Actividades 76 Manos a la obra 106
Elementos del lxico 108
Organizacin de los mdulos 110
Alcance y visibilidad 111
Variables, constantes y tipos 112
Estructuras 115
Operadores 116
Sentencias 117
Resumen 123
Actividades 124

Captulo 4
COMIDA DE ROBOTS
La fuente de energa 78
Caractersticas de las celdas
de las bateras 79
Tipos de bateras 81
Calidad de las bateras 86
Cargadores 87
Ayudar a que no slo
las bateras duren ms 89 Captulo 6
Resumen 91 RECORRER EL MUNDO
Actividades 92 El movimiento del robot 126
Tipos de motores 126
Captulo 5 Motores de corriente continua 127
HABLAR CON NUESTRO ROBOT Motores paso a paso (Motores PaP) 135
Comunicacin con el robot 94 Servos 140
Lenguajes de programacin Resumen 145
para robots 95 Actividades 146

11
www.FreeLibros.me
00_robotica.qxp 24/10/2007 01:57 p.m. Pgina 12

PRELIMINARES

Caractersticas mecnicas
de un robot autnomo 169
Robots areos 173
Robots subacuticos 174
Robots terrestres 174
Sistemas con ruedas 179
Estructura de nuestro robot 184
Mecanismos de transmisin
y reduccin 190
Cinemtica de un robot 194
Captulo 7 Odometra 196
SENSAR EL MUNDO Resumen 197
Adaptacin al entorno 148 Actividades 198
Tipos de sensores 148
Caractersticas esenciales
de los sensores 149
Sensores digitales 152
Los sensores analgicos 158
Tipos de sensores analgicos 162
Resumen 165
Actividades 166

Captulo 8 Captulo 9
EL CUERPO DEL ROBOT SALIR AL RUEDO
Cuerpo a cuerpo 168 Presentarse a competir 200

12
www.FreeLibros.me
00_robotica.qxp 24/10/2007 01:57 p.m. Pgina 13

Contenido

Caractersticas comunes de las Apndice A


pruebas de robots autnomos 200 CONCEPTOS BSICOS DE ELECTRNICA
Pruebas tradicionales La electrnica 248
para robots autnomos 210 Conceptos de electricidad 248
La luz, la luz, he visto la luz! 213 Componentes que utilizamos
Resumen 219 en nuestros circuitos 251
Actividades 220 Herramientas fundamentales 256
Consejos para soldar 258

Captulo 10
JUGAR AL FTBOL
Ftbol de robots 222 Apndice B
Caractersticas del ftbol SITIOS WEB
de robots 222 Listado de sitios 260
Ligas nacionales e internacionales Aplicaciones tiles 267
de ftbol de robots 232
Modificaciones para
que nuestro robot pueda jugar 242
Una pelota infrarroja 244
Resumen 245
Actividades 246

Servicios al lector
Bibliografa 270
Indice temtico 275
Equivalencia de trminos 277
Abreviaturas comnmente
utilizadas 279

13
www.FreeLibros.me
00_robotica.qxp 24/10/2007 01:57 p.m. Pgina 14

PRELIMINARES

Introduccin
Decir que la robtica es un tema del futuro es una prueba fehaciente de miopa.
Los robots estn entrando por nuestras puertas, ventanas, cerraduras, y es inevita-
ble que as sea. Desde los lavarropas hasta los vehculos espaciales utilizan tecno-
logas muy vinculadas con la disciplina. Seguramente, comenzaron con investiga-
ciones que en ese momento parecan desconectadas de la realidad (vieja excusa que
utilizamos para aquellos que entran a nuestros laboratorios y nos preguntan y eso
que hacen para qu sirve?). Es por eso que despus de algunos aos de investiga-
cin sobre este tema, y luego de escribir algunos artculos inentendibles, tuvimos
ganas de abrir el juego. La gente de esta editorial nos invit a presentar el tema en
forma ms amena y al alcance de ms lectores.

Mi relacin con la robtica comenz desde el mbito educativo como un recurso con-
creto y tangible para ensearles programacin a jvenes entre 13 y 17 aos. En mi ex-
periencia como docente de programacin haba llegado a una conclusin terrible: cuan-
do enseamos a programar, dentro del aula tenemos dos grupos de alumnos. Los que
entienden todo sin que se les explique demasiado porque tienen una suerte de gen del
programador y, con slo recibir un par de ideas y algunos apuntes, al cabo de un mes
regresaban con un sistema de control de centrales termonucleares. Y el otro conjunto
de alumnos, ms abultado, que a pesar de todos los recursos, inventos y triquiuelas
didcticos, no lograban superar el PRINT HOLA MUNDO. Por lo tanto, mi tarea
como docente era intil en los dos casos: en el primer grupo, porque no me necesita-
ban, y en el segundo, porque no les poda aportar cosas nuevas. En ese momento co-
menc a buscar algn mecanismo para que nadie se diera cuenta de esto y, a conti-
nuacin, un recurso que permitiera mejorar la enseanza de programacin. All me
cruc con los robots y con los entornos de objetos. Con el primer tema me cas y con
el segundo tengo una relacin de amante que espero oficializar en un prximo libro.

Tengo la suerte de que en las ltimas investigaciones que he desarrollado, ambos aspec-
tos se han unido y manejamos los robots desde un ambiente de objetos. La robtica me
ha dado inmensas satisfacciones, me ha permitido viajar a lugares que nunca cre que
iba a conocer y ha pagado alguna que otra comida ma y de mi familia. Pero ante todo,
me ha brindado la posibilidad de sorprenderme da tras da. Siempre hay algo nuevo,
siempre hay otro desafo. Espero que este libro sirva como un punto de partida sencillo
para viajar a obras mucho ms completas que nos regalarn experiencias maravillosas.

14
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:01 p.m. Pgina 15

Robtica Captulo 1
Conceptos
fundamentales
Qu es un robot? Cundo

conviviremos con ellos? Tendremos

diversos tipos de robots entre nosotros?

Lavarn los platos? En este primer

captulo intentaremos responder estas

y otras preguntas, con el objetivo

de entender cules son

los alcances posibles de nuestro

primer proyecto robtico.

Introduccin a la robtica 16
Qu es un robot? 16
Tipos de robots 19
Unidades de un robot 23
Colaborador: Procesamiento 24
Ing. Gonzalo Mon Sensores 33
Actuadores 39
Resumen 43
SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com Actividades 44

www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:01 p.m. Pgina 16

1. CONCEPTOS FUNDAMENTALES

INTRODUCCIN bargo, probablemente gracias a la li-


A LA ROBTICA teratura y al cine de ciencia ficcin,
el concepto de lo que es un robot,
Da a da, nos sorprendemos con las sus posibilidades y sus limitaciones
noticias que aparecen en los medios reales estn desdibujados en el ima-
de comunicacin vinculadas a la ginario colectivo. Es por eso que en
presencia de robots en diversos cam- este primer captulo haremos una
pos de la vida cotidiana. Robots en- introduccin a los conceptos funda-
fermeros, mascotas, repositores de mentales de la robtica.
supermercados, detectores de explo-
sivos, aspiradoras hogareas, o sim- Qu es un robot?
ples jugadores de ftbol, son algu- Sueo de muchas generaciones, la
nos de los ejemplos que podemos explosin tecnolgica nos ha puesto
encontrar en el mercado de la tecno- al alcance de poder concretarlo.
loga de ltima generacin. Para comenzar nuestro recorrido,
En sntesis, la robtica ya no es hagamos un repaso de la historia de
parte de nuestro futuro sino de la robtica para comprender hacia
nuestro presente tangible. Sin em- dnde nos dirigimos.

Figura 1. Roomba, la aspiradora robtica ms popular y econmica del mercado.

16
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 17

Introduccin a la robtica

A imagen y semejanza
Desde los orgenes del hombre, po-
demos encontrar varios relatos sobre
la creacin de vida artificial. Por
ejemplo, en la leyenda del Golem,
un rabino de Praga le infunde vida a
una estatua de barro. Asimismo, en
la obra literaria Frankenstein, el
doctor de dicho nombre crea un ser
a partir de rganos de otras perso-
nas, que luego se vuelve contra l.
Si nos apartamos de la literatura, en
el antiguo Egipto encontramos esta-
tuas de dioses que incorporaban bra- Figura 2. El Turco, un robot que simulaba
zos mecnicos operados por los sa- jugar al ajedrez y que, en realidad, tena
cerdotes. En el siglo XIX, tambin se un jugador humano adentro.
hicieron conocidas las creaciones de
robots que jugaban ajedrez, aunque
en realidad stos ocultaban a un ser
humano de baja estatura que opera-
ba la mquina desde su interior (Fi-
gura 2). Es decir, el deseo de creacin
de un ser a nuestra imagen y seme-
janza est presente desde los prime-
ros tiempos de la humanidad.
El origen de la palabra robot se re-
monta a comienzos del siglo XIX. El
dramaturgo Karel Capek utiliz por
primera vez este trmino en su obra
Opilek para referirse a un conjunto
de mquinas inventadas por un cien-
tfico para realizar tareas pesadas y
aburridas. En checo, idioma original
de la obra, el trmino robota signi-
fica trabajo tedioso. Pero fue el es- Figura 3. ste es un robot que apareca
critor Isaac Asimov quien populari- en la adaptacin de la obra de Karel
z el trmino e introdujo el concep- Capek: Rossum's Universal Robot.

17
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 18

1. CONCEPTOS FUNDAMENTALES

to de robtica en diversos relatos de


ciencia ficcin de su autora. En sus
obras, Asimov muestra facetas hu-
manas de los robots y define un con-
junto de leyes para que estos seres
nuevos nunca se rebelen contra los
humanos. Luego, el cine y la televi-
sin generaron cientos de robots de
diversa ndole, algunos simpticos
(como R2D2 y Cortocircuito), y
otros definitivamente en contra de
sus creadores (Terminator, HAL).
A partir de la creacin de las prime-
ras computadoras comenz el verda-
dero desarrollo de los robots primi-
tivos. En 1974, la empresa Cinci-
nnati Milacron realiz el primer ro- Figura 4. Isaac Asimov, creador
bot industrial, conocido como The de cientos de cuentos sobre robots
Tomorrow Tool. A partir de ese mo- y de la palabra robtica.
mento, junto con la evolucin de los
sistemas de procesamiento, el creci- gn la Asociacin Japonesa de Rob-
miento de la robtica ha sido expo- tica Industrial (JIRA), los robots son
nencial. La reduccin de tamao y dispositivos capaces de moverse de mo-
de costos, y el aumento de la capa- do flexible, anlogo al que poseen los
cidad de clculo de los procesadores, organismos vivos, con o sin funciones
han permitido la creacin de robots intelectuales, lo que permite la realiza-
cada vez ms sofisticados, rpidos y cin de operaciones en respuesta a r-
autnomos. Sin embargo, an esta- denes recibidas por humanos. Vemos
mos lejos de crear un robot a nues- que en esta definicin se encuentra
tra imagen y semejanza. resaltada la capacidad de movimien-
to de los robots y su analoga con los
Definicin de la palabra robot seres de la naturaleza. Sin embargo,
Existen muchas definiciones de la a la JIRA no le interesa la inteligen-
palabra robot. En cada una de ellas, cia artificial aplicada al robot, dado
encontramos destacado algn aspec- que su funcin fundamental es ser
to en particular, que es el que cada operado por un humano. Por su par-
autor quiere resaltar en su obra. Se- te, el Instituto de Robtica de Nor-

18
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 19

Introduccin a la robtica

teamrica (RIA) define a un robot comenzar a introducirnos en el tipo


industrial como un manipulador de robot sobre el que vamos a centrar-
multifuncional y reprogramable dise- nos en el desarrollo del libro.
ado para desplazar materiales, com-
ponentes, herramientas o dispositivos Tipos de robots
especializados por medio de movimien- De la misma manera que con las de-
tos programados variables, con el fin de finiciones, podemos encontrar mu-
realizar diversas tareas. En este caso, chas clasificaciones distintas de ro-
el acento est puesto en la capacidad bots. En esta obra, al presentarlos,
de programacin del robot y, por lo intentaremos acercarnos a los diver-
tanto, en cierta independencia de sos problemas mecnicos, electrni-
funcionamiento con respecto a la cos y de software que encontramos
operacin humana. Como dijo Jo- en el desarrollo de un robot. Las cla-
seph Engelberg, padre de la robtica sificaciones elegidas son:
industrial: es posible que no sea ca-
paz de definir qu es un robot, pe- Segn el uso del robot
ro s cundo veo uno. A continuacin presentaremos una
Particularmente, y ya que nos hemos clasificacin posible de los robots se-
ganado el derecho dado que estamos gn su utilidad especfica.
escribiendo un libro sobre robtica, Industriales: se utilizan dentro de
agregaremos una definicin ms de un proceso de trabajo industrial. Es
robot a la larga lista preexistente: un el tipo de robot que ms ha sido de-
robot es un dispositivo con un de- sarrollado en la historia (Figura 5).
terminado grado de movilidad, que Espaciales: deben desenvolverse en
puede realizar un conjunto de ta- zonas inexploradas y a larga distan-
reas en forma independiente y que cia de su centro de control.
se adapta al mundo en el que ope- Mdicos: son utilizados como
ra. El objetivo de esta definicin es apoyo en la intervencin mdica

UN ROBOT QUE JUGABA AL AJEDREZ


Uno de los primeros robots reales fue el jugador de ajedrez autmata de Wolfgang
von Kempelen, en 1769. ste consista en una cabina de madera de 1,20 metros de
largo, 60 centmetros de profundidad y 90 centmetros de altura. Cuando se abran
las puertas de la mquina, se poda ver un complejo mecanismo de engranajes que,
supuestamente, permitan jugar un partido de ajedrez de buen nivel. En realidad,
dentro de la estructura se esconda un pequeo jugador humano.

19
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 20

1. CONCEPTOS FUNDAMENTALES

sobre los humanos y como com- doras, lavarropas, heladeras, etc-


plemento para las personas con ca- tera, que modifican su comporta-
pacidades disminuidas. miento en forma autnoma segn
Domsticos: el sueo de todo amo el ambiente en el que trabajan.
o ama de casa, un robot que reali- Sociales: robots utilizados en m-
ce alguna o todas las tareas del ho- bitos sociales (como pelculas,
gar. Ya hay entre nosotros aspira- eventos y supermercados) con fun-
ciones de comunicacin intensiva
con los humanos. En estos casos,
uno de los elementos de investiga-
cin fundamental es el aspecto es-
ttico del robot, el estudio de la in-
terfaz con el humano para realizar
una comunicacin completa, con
gestos, tonos, silencios, etctera.
Agrcolas: as como en sus co-
mienzos la robtica tuvo amplia
aplicacin en la industria, en los
ltimos aos ha comenzado a cre-
cer en forma exponencial el uso de
robots y de la inteligencia artificial
en el sector agrcola-ganadero. Las
cosechadoras autnomas, las sem-
bradoras controladas por mapas
satelitales, los fumigadores roboti-
zados y otros dispositivos hicieron
su aparicin dentro de lo que ac-
Figura 5. Kit de brazo robtico tualmente se conoce como agri-
RA-01 con 5 servos. cultura de precisin (Figura 6).

ROBOTS INSECTOS
Como si no fueran suficientes los insectos que nos perturban durante todo el ao, los
ingenieros han decidido que, antes de imitar a un humano, es necesario lograr un in-
secto robtico. Los sistemas de visin y de vuelo de los insectos son dos fuentes de
inspiracin muy importantes, dado que con mecanismos sumamente sencillos, logran
captar el mundo que los rodea y volar sobre l de una manera altamente adaptativa.

20
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 21

Introduccin a la robtica

Segn el medio en el que desarro-


lla la actividad
Acuticos: se caracterizan por movi-
mientos tridimensionales en un am-
biente hostil desde el punto de vista
mecnico y electrnico (Figura 8).
Terrestres: son los ms populares
y econmicos. Podemos, a su vez,
subclasificarlos por sistema de lo-
comocin: fijos, ruedas, orugas,
patas, arrastre, etctera. Figura 6. Demeter, un robot de
Areos: con movimientos tridi- aplicacin agrcola desarrollado
mensionales, como el acutico, pe- en la Universidad de Carnegie Mellon.
ro con una exigencia mucho ma-
yor en el control en tiempo real del En esta clasificacin, las caractersti-
sistema de levitacin (Figura 7). cas mecnicas del robot se modifi-
Hbridos: combinacin de algu- can en forma sustancial entre uno u
nos de los anteriores. otro medio. Prcticamente, es impo-

Figura 7. Robot insecto volador desarrollado en la Universidad de Berkeley.

21
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 22

1. CONCEPTOS FUNDAMENTALES

Figura 8. Robot
acutico japons,
que imita la
estructura de
algunos seres
acuticos.

sible utilizar la mecnica de un ro- robots las acciones que deben rea-
bot construido en un medio para lizar. Un ejemplo de este modelo
que funcione en otro, salvo en el ca- es la categora Mirosot de ftbol
so de algunos hbridos. de robots de la FIRA.
Hbridos: son robots autnomos
Segn la ubicacin de la inteligen- que, en ciertos momentos del pro-
cia del robot ceso, pueden ser controlados por
Autnomos: la inteligencia est humanos o por un sistema central.
ubicada en el mismo robot. Puede Un ejemplo son los robots que se
comunicarse con otros o con un utilizan en misiones espaciales, que
sistema central, pero los aspectos operan en forma autnoma pero
esenciales de funcionamiento se que, ante un percance, pueden ser
resuelven en forma independiente dirigidos desde nuestro planeta.
en el propio robot.
Control automatizado (semiaut- Tambin podramos clasificar a los
nomos): la mayor parte de la inte- robots por sus caractersticas estruc-
ligencia del robot est ubicada en turales, por el tipo de sensado del
un sistema central. Los sensores mundo, etctera. De todas maneras,
pueden ser locales, es decir que le todos los robots comparten la mis-
envan la informacin obtenida a ma arquitectura bsica, desde el ms
ese sistema central, o globales. El pequeo hasta Terminator. A conti-
sistema central les comunica a los nuacin veremos la fuerte analoga

22
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 23

Introduccin a la robtica

que encontramos entre un robot y to y realiza sus acciones al mover


una computadora convencional. motores y encender luces y buzzers.
Tomemos como ejemplo a uno de los
Unidades de un robot robots ms conocidos: Terminator.
En la arquitectura de cualquier com- En este caso, sus sensores son las c-
putadora, podemos encontrar las si- maras que le permiten mirar, su siste-
guientes unidades que la componen: ma auditivo y los sensores de tacto
que tiene su piel. No recordamos que
Unidades de procesamiento: es el tenga olfato o que alguna vez haya co-
conjunto de dispositivos que se mentado lo sabroso de alguna comi-
encargan de realizar la transforma- da. Sus actuadores esenciales son los
cin de los datos de entrada para motores o los msculos de alambre
obtener los datos de salida. que conforman su cuerpo.
Unidades de entrada: son las uni- Uno de los problemas ms apasio-
dades que permiten realizar el in- nantes de la robtica es el equilibrio
greso de informacin para su pos- que es necesario obtener entre las tres
terior procesamiento. unidades, para lograr que el robot
Unidades de salida: son las unida- cumpla con su objetivo. Por ejemplo,
des que se ocupan de comunicarle los sensores ms sofisticados o que
los resultados del procesamiento al
usuario u operador. GENERACIONES DE ROBOTS
En un robot podemos encontrar la As como hablamos de generaciones de
misma arquitectura. A las unidades computadoras, tambin se ha definido
de entrada de un robot las llamamos el grado de evolucin de los robots in-
sensores, que pueden ser externos, dustriales como vemos a continuacin:
como un sensor de tacto, o internos, Primera generacin: repiten una ta-
como un encoder que permite deter- rea sin considerar las modificaciones
minar la distancia recorrida por una que ocurren en su entorno.
rueda. A las unidades de salida se las Segunda generacin: toman informa-
conoce como actuadores. Aqu po- cin limitada de su entorno y modifican
demos mencionar leds de sealiza- su comportamiento.
cin, buzzers, motores, displays, Tercera generacin: son programados
etctera. En sntesis, el robot recibe en lenguaje natural y organizan sus tareas
informacin del ambiente mediante en forma automtica en un nivel ms alto
sus sensores, procesa la informa- que los de Segunda generacin.
cin con su unidad de procesamien-

23
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 24

1. CONCEPTOS FUNDAMENTALES

entregan mayor cantidad de datos, los que debemos construir en forma


como puede ser una cmara de video, artesanal toda la electrnica que los
exigen de parte del procesador un complementa para poder procesar
mayor tiempo de trabajo para poder las entradas y salidas, hasta costosos
obtener un conjunto de informacin kits que tienen absolutamente todo
que resulte significativo. De la misma resuelto. Est claro que con stos l-
manera, el control de los actuadores timos podremos hacer que nuestro
sofisticados, como cierto tipo de mo- robot funcione en algunas horas, pe-
tores, consume tiempo de procesa- ro es en el primer caso donde tendre-
miento que es absolutamente necesa- mos un control absoluto y de bajo
rio para que el robot opere en tiem- nivel de las capacidades de procesa-
po real. En sntesis, es imprescindible miento de nuestro dispositivo.
lograr el equilibrio entre velocidad De todas maneras, analizaremos en
y precisin, en especial en aquellos forma detallada las ventajas y las
robots que operan en entornos muy desventajas de ambas propuestas: el
dinmicos. Es por eso que, habitual- desarrollo con el uso de kits frente a
mente, se utilizan ciertos procesado- la construccin en forma artesanal
res especficos para el filtrado de la in- de los robots. Adems, conoceremos
formacin de entrada y para el con- brevemente algunos kits y micros
trol de los actuadores, y as se libera disponibles en el mercado, y hare-
de esta tarea al procesador central y mos una lista de los sitios web don-
se complementa su funcin. de se puede conseguir informacin
En las prximas pginas, analizare- ms detallada y completa.
mos cada una de estas unidades en
profundidad, de forma tal que poda- Kits
mos realizar la eleccin adecuada se- Los kits para la construccin de ro-
gn los objetivos especficos que bots, en general, presentan los si-
tengamos para nuestro robot. guientes elementos:
Un procesador o conjunto de pro-
Procesamiento cesadores con toda la electrnica de
Cuando comenzamos a analizar lo entrada y salida de los sensores re-
que nos ofrece el mercado de la ro- suelta. Adems, poseen un sistema
btica con respecto a procesamiento, operativo dentro del controlador
probablemente nos encontremos (firmware), que eleva el nivel de pro-
confundidos ante la diversidad de gramacin de los procesadores, lo
posibilidades. Podemos encontrar que posibilita el uso de lenguajes de
desde micros de muy bajo precio, en alto nivel o interfaces grficas para el

24
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 25

Introduccin a la robtica

Figura 9. Lego Nxt con el conjunto de motores y sensores que vienen con el kit.

desarrollo de la inteligencia de nues- reutilizable y que en poco tiempo


tro robot en forma muy sencilla. permite la elaboracin de la fsica del
Un conjunto de sensores que robot mediante la aplicacin de co-
aprovechan la electrnica ya re- nocimientos de nuestra infancia.
suelta, y que con una simple cone- Si tenemos en cuenta este conjunto
xin funcionan de manera casi de materiales, es sencillo notar que las
mgica. Por ejemplo, sensores de ventajas que nos presenta el uso de
luz donde el firmware interpreta el kits para la construccin de nuestro
voltaje que entrega el sensor como robot son las siguientes:
un valor entre 0 y 100. Menor tiempo de construccin
Un conjunto de motores que del robot: en pocas horas, podemos
tambin utilizan la electrnica de obtener robots poderosos para los
salida, que se alimentan directa- desafos habituales en robtica.
mente de la misma fuente que ali- Alta reusabilidad del material:
menta al procesador, y que gracias una vez terminado el desafo, po-
al firmware podemos indicarle di- demos desarmar el robot y utilizar
reccin, velocidad, etctera, sin la todas las piezas, los sensores, los
necesidad de clculos complejos. motores y el procesador para armar
Material constructivo para resolver un robot completamente distinto.
la mecnica del robot, altamente Baja necesidad de conocimientos

25
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 26

1. CONCEPTOS FUNDAMENTALES

la relacin puede ser de 20 a 1 con


respecto a un desarrollo manual. El
robot que construiremos en este li-
bro mantiene esta relacin con los
kits ms econmicos de robtica.
La imposiblidad, en muchos casos,
de poder realizar modificaciones de
bajo nivel en el hardware o el firm-
ware del robot. A pesar de todos los
esfuerzos de documentacin que ha-
ga la empresa creadora del kit, es im-
posible que todo sea altamente mo-
dificable, por la misma necesidad de
mantener la arquitectura intrnseca
del robot. Su elaboracin artesanal
desde cero nos permite modificar
hasta el ms mnimo detalle.
Baja precisin y calidad final de
Figura 10. Un humanoide realizado los robots: dado que los kits son
con el Lego Nxt. para el desarrollo de robots de di-
versos propsitos, en todos los ca-
tcnicos: sin saber electrnica y sos perdemos precisin y calidad.
prcticamente sin saber programa- Por ejemplo, los motores sirven
cin, podemos desarrollar un robot para moverse en un determinado
poderoso. Desde ya que para aque- ambiente con alto margen de
llos usuarios que s tengan esos co- error, pero no son veloces ni per-
nocimientos, el aprovechamiento miten movimientos de precisin
ser mucho mayor. Ms an si los como lo pueden exigir ciertos ob-
desarrolladores del kit tuvieron la jetivos. En general, los sensores
precaucin de dejar abiertos tanto el son econmicos, y el rango de va-
firmware como el hardware del pro- lores que devuelven es pobre.
cesador y los sensores.
Los kits de robtica ms conocidos
De todas formas, no todas son cosas en el mercado son los siguientes:
positivas. Las desventajas que tene- Lego Nxt: sucesor del modelo
mos con el uso de kits son: Mindstorms, es el kit de mayor di-
El alto o altsimo costo de un kit: fusin en todo el mundo (Figura 9).

26
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 27

Introduccin a la robtica

Su procesador es un ARM7 de 32 guaje de programacin es un am-


bits. Cuenta con 256 Kb de Flash y biente grfico muy sencillo, similar
64 Kb de RAM. Se comunica por al Robolab de las versiones anterio-
Bluetooth clase 2 y por USB. Tiene res, pero con mayor potencia y ver-
4 entradas para sensores y 3 salidas satilidad. Para finalizar, una de las
para actuadores. En el kit se inte- mejores decisiones que ha tomado la
gran 3 motores servo con encoders firma Lego es publicar muchsima
incorporados para controlar su mo- informacin sobre el desarrollo tan-
vimiento con precisin. to de hardware como de software del
Adems, cuenta con un sensor de kit, lo que ha permitido que en po-
tacto, uno de sonido, otro de luz y co tiempo (sali a la venta en agos-
por ltimo un sensor ultrasnico. to de 2006) las personas de todo el
Para la mecnica del robot cuenta mundo que tienen este hobby hayan
con piezas de las denominadas desarrollado hardware y software es-
Technic, que permiten disear dife- pecfico fuera del oficial. Para obte-
rentes estructuras segn el destino ner ms informacin, podemos visi-
del robot creado (Figura 10). El len- tar http://mindstorms.lego.com.

Figura 11. Placa educativa del Basic Stamp de Parallax.

27
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 28

1. CONCEPTOS FUNDAMENTALES

queta de experimentacin), donde


podremos realizar todas nuestras ex-
periencias. Viene con un servo, leds,
capacitores, resistencias y otros com-
ponentes para disear nuestro robot.
Las guas que acompaan a este y
otros kits son excelentes (y algunas
estn en castellano!), y pueden con-
seguirse en forma gratuita en el sitio
de la empresa. La ltima creacin de
Parallax ha sido el micro de nombre
Propeller, con 8 procesadores para-
Figura 12. Aqu podemos ver uno
lelos en su interior. Tiene una arqui-
de los modelos constructivos de XiOR,
tectura de 32 bits, 80 Mhz, con 32
conocido como N10.
pines de E/S direccionables por cual-
quiera de los 8 procesadores. Para
Parallax: el producto ms popular de buscar ms informacin, podemos
esta empresa es el micro Basic Stamp visitar www.parallax.com.
(Figura 11). Aunque uno puede adqui- XiOR: en Amrica Latina, conta-
rir solamente el micro y realizar el ro- mos con nuestro propio kit de ro-
bot desde cero como comentaremos btica. XiOR (www.xior.org) es
ms adelante, hay tantos desarrollos una empresa argentina de tecnolo-
y tantas presentaciones de productos ga y entre sus trabajos ha desarro-
de la firma Parallax que hemos deci- llado un sistema constructivo para
dido presentarlo dentro de esta sec- la fabricacin de robots mviles au-
cin. El Basic Stamp Starter Kit es- tnomos. El modelo N10 es el pri-
t desarrollado para iniciarse en el mer robot desarrollado con l (Figu-
mundo de la robtica. Incluye un Ba- ra 12). Una de sus principales carac-
sic Stamp II, que tiene una velocidad tersticas es la posibilidad de que el
de procesamiento de 20 Mhz, con 2 usuario reconfigure toda su morfo-
Kb de EEPROM (electrically-erasable loga fsica para adaptarlo a diferen-
programmable read-only memory, tes entornos y experimentos. Inclu-
ROM programable y borrable elc- so es posible combinarlo con otros
tricamente) y 16 E/S (entradas y sa- robots similares para formar parte
lidas) ms 2 dedicadas. Este micro es- de estructuras mayores.
t instalado en una placa educativa Normalmente, est equipado con
con una pequea protoboard (pla- 2 o 4 celdas de Li-Ion de 900 mAh,

28
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 29

Introduccin a la robtica

agrupadas en packs de a dos. En


cuanto a las capacidades de procesa-
miento, el controlador XiOR.0107
tiene un procesador AVR ATMega8
(Atmel, 2003) de 16 MIPS aproxi-
madamente, y 8 KB de RAM de
programa, e incorpora comunica-
ciones RS-232, 2WI y drivers de po-
tencia para agregar dos motores adi-
cionales de corriente continua o un
motor paso a paso.
El sistema constructivo Mltiplo
ofrece piezas de aluminio y plsti- Figura 13. Sphinx, otro modelo de XiOR
co cuidadosamente diseadas para para el control de pozos de petrleo.
desarrollar robots de tamao redu-
cido, pero con una precisin y ro- Robtica sin kits
bustez sorprendentes. Podemos Como comentamos antes, realizar
encontrar ms informacin en un robot sin la ayuda de un kit nos
www.xior.org. proporciona mayor versatilidad, ro-
Adems de estos kits que mencio- bustez, potencia, precisin, veloci-
namos, el mercado de la robtica dad y adaptabilidad. El problema
educativa crece da a da, y en la esencial es que nos exige mayor co-
Web podemos encontrar muchos nocimiento y trabajo. Cuando co-
otros que tal vez se ajusten mejor mencemos un desarrollo de este tipo,
a nuestras necesidades. Aunque lo primero que debemos analizar es
aqu describimos los ms conoci- el procesador que vamos a utilizar,
dos, podemos navegar para buscar segn la funcionalidad y el costo que
ms informacin sobre el tema. deseamos que tenga nuestro robot.

OTROS KITS LATINOAMERICANOS


Adems de los kits mencionados, a continuacin presentamos links donde se pue-
den encontrar otros kits desarrollados en Latinoamrica:
NeoRobotic: kits de robtica autnoma (www.neorobotic.com).
Arbot: robots controlados desde la PC por puerto paralelo (www.dutten.com.ar).
Blocky-tronic: sistema constructivo con microcontrolador, sensores y motores
(www.blockymania.com.ar/blockytronic/).

29
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 30

1. CONCEPTOS FUNDAMENTALES

Adems, debemos tener en cuenta Microcontroladores


que es necesario complementar el El procesamiento ms habitual en los
procesador con un circuito de con- robots pequeos y de bajo costo es el
trol adecuado para realizar las cone- provisto por microcontroladores.
xiones de entrada, salida, alimenta- Los micros ms utilizados son los de
cin y control de dispositivos. la familia PIC, de la firma Micro-
chip. De todos los modelos que se
ofrecen, el ms popular para la cons-
truccin de robots es el PIC16F84.
Posee una memoria de programa
Flash de 1 KB con palabras de 14 bits,
una memoria RAM de datos de 68
bytes y una EEPROM de 64 bytes, y
13 pines de E/S.
Por otra parte, su precio es ms que
accesible. Dado que desarrollaremos
nuestro robot con PIC, dejaremos
para ms adelante una descripcin
ms detallada de stos.
Figura 14. Otro de los micros La empresa Atmel fabrica otro tipo
de la firma Microchip, creadora de microcontroladores, que tambin
del 16F84. son de uso habitual en la construc-
cin de robots. De todas sus lneas, la
denominada AVR de 8 bits es la ms
recomendada para el procesamiento
en esta disciplina. Toda la lnea AVR
presenta caractersticas como bajo
poder de consumo, arquitectura
RISC y Harvard, 32 registros de 8
bits de propsito general y facilidad
de implementacin de lenguajes de
alto nivel para la programacin.
En particular, el micro ATMega8 (Figu-
ra 15) es ideal, dado que presenta una
memoria de 8 KB de programa, 1 KB
Figura 15. ATMega8 en una placa de SRAM y 512 bytes de EEPROM,
de prototipado rpido. seis canales de PWM, USART progra-

30
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 31

Introduccin a la robtica

mable, conversor analgico digital de


cuatro canales multiplexados de 10 u 8
bits y dos canales de 8 bits, entre otras
caractersticas que se pueden encontrar
en la pgina de la firma.

PDA
Si no tenemos una base de conoci-
miento y experiencia en electrnica
para utilizar los microcontroladores
que presentamos pero contamos con Figura 16. Arduino, una plataforma
una Palm o una PocketPC, podemos abierta en software y hardware para
destinar parte de su tiempo de uso pa- el desarrollo de robots.
ra que acte como cerebro de nuestra
creacin. En los ltimos aos, estos mundo se utiliza una cmara que se
dispositivos han bajado de precio en conecta en el puerto de tarjetas de me-
forma notable y, adems, algunos mo- moria. En sntesis, con poco dinero
delos han cado en desuso, aunque podemos tener un robot humanoide.
pueden adaptarse perfectamente para Se puede obtener ms informacin en
ser empleados con nuestros robots. www.informatik.uni-freiburg.de/
Uno de los ejemplos ms interesantes ~nimbro/media.html.
en este punto es la adaptacin del ro- El Instituto de Robtica de Car-
bot Robosapien (Figura 17) de la fir- negie Mellon desarroll un proyec-
ma Wow Wee para que pueda ser to para la construccin de un robot
controlado desde una PocketPC por autnomo mvil de bajo costo, y se
infrarrojo, con lo cual utilizamos la utiliz una Palm como procesador (Fi-
PDA como control remoto inteligen- gura 18). En el sitio www.cs.cmu.edu/
te que puede generar su propio pro- ~reshko/PILOT podemos encontrar
cesamiento. Para la deteccin del todos los pasos y los materiales nece-

ARDUINO, UNA PLATAFORMA OPEN HARDWARE PARA ROBTICA


Arduino es una placa basada en el micro Atmel ATmega8, programable por serial o
USB, con entradas y salidas analgicas y digitales. Su diseo y distribucin son com-
pletamente libres. En su sitio web, www.arduino.cc, podemos encontrar los planos pa-
ra armar la placa y el software necesarios para su programacin. Si no nos animamos
a construirlos desde cero, podemos adquirir los componentes en el mismo sitio.

31
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 32

1. CONCEPTOS FUNDAMENTALES

sarios para construirlo, incluido el


software que es indispensable bajar
en la Palm para la programacin. Si
bien utiliza ruedas omnidirecciona-
les, servos y otros materiales que
pueden ser costosos en el mercado
local, con ellos obtendremos un ro-
bot mvil de excelente calidad.
Comprar una PDA pura y exclusiva-
mente para la construccin de un ro-
bot es demasiado costoso en compa-
racin con las otras variantes. Pero si
disponemos de una, o si los precios
de estos dispositivos continan ba-
jando, puede ser una posibilidad
muy interesante por su potencia de
procesamiento y tamao.
Figura 17. Robot Robosapien
hackeado con una PDA en Computadoras (PC)
su cabeza como procesador. Por ltimo, no queremos dejar de pre-
sentar la posibilidad de usar mother-
boards de PC convencionales pero de
tamaos reducidos, conocidos como
Mini y Nano-ITX (Figura 19). Por
ejemplo, la conocida firma VIA ha de-
sarrollado la lnea EPIA, de bajo con-
sumo y con un tamao que oscila en-
tre 12 y 17 centmetros de lado. Uno
de sus modelos, el VIA EPIA NL, po-
see placa de video de S3, zcalo para
memoria DDR 266/333/400, un slot
mini PCI, un puerto S-ATA y dos
P-ATA, placa de sonido, LAN, puerto
serie, USB y otros, que permiten tener
Figura 18. Palm Pilot Robot Kit toda la potencialidad de una PC en 12
es un kit de robtica cuyo x 12 centmetros! En el sitio www.
procesador es una Palm Pilot. mini-itx.com se muestran desarrollos

32
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 33

Introduccin a la robtica

de fanticos de estos modelos, no s-


lo en robtica, sino tambin en los
dispositivos ms extraos. En www.
epiacenter.com se analizan muchos
mothers de este tipo, de diferentes
marcas, y se ofrecen los links a tiendas
en lnea donde adquirirlos. La enorme
ventaja de utilizar este tipo de tecno-
loga es la potencia que nos brinda una
PC para el procesamiento de la infor-
macin de los sensores y la toma de
decisiones, la posibilidad de progra-
mar cmodamente en lenguajes de al- Figura 19. Nano-itx, un motherboard
to nivel, y la facilidad de desarrollar y de la empresa Via, de 12 cm por 12 cm.
de testear en nuestra computadora de
escritorio. Por otra parte, tanto losseer algn mecanismo de modifica-
sensores como los actuadores que que-cin de su comportamiento segn el
ramos conectar pueden desarrollarse ambiente en el que se encuentra. Pa-
sobre plataformas muy conocidas, co- ra esto, tiene que contar con disposi-
mo serial, paralelo o USB. Cualquier tivos que le permitan sentir el mun-
cmara web puede conectarse en se- do que lo rodea, segn la tarea que
deba realizar. Por ejemplo, en am-
gundos, y todos los drivers de los dis-
positivos ya desarrollados funcionan bientes muy dinmicos, es probable
sin problema en nuestro robot. que deseemos sensores que puedan
captar rpidamente la informacin,
Sensores aunque perdamos precisin. Si esto
Una de las caractersticas fundamen- no fuera as, la informacin recibida
tales que debe tener un robot es po- no sera til, porque representara un

ROBOTS CON NOTEBOOKS


Gracias a la baja de su precio y a su tamao, no es sorprendente encontrar robots
cuyo procesamiento lo realiza una notebook. Permite utilizar lenguajes de alto ni-
vel, muy buena velocidad de procesamiento y entradas y salidas estndares como
serial, paralelo, USB o firewire. Adems, es posible desarrollar todo el comporta-
miento del robot desde una PC convencional, y cualquier desperfecto es fcil de sal-
var con la instalacin una nueva notebook.

33
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 34

1. CONCEPTOS FUNDAMENTALES

estado antiguo que, con seguridad, dispositivos que nos permiten medir
ha sido modificado por el alto dina- alguna caracterstica del ambiente, co-
mismo del ambiente. Un ejemplo de mo la temperatura, la distancia, la po-
esto es el ftbol de robots. sicin, el sonido, la intensidad de la
En otros casos, necesitamos la mayor luz, los colores, la altitud, la velocidad,
precisin posible por la operacin que la rotacin, etctera. Lamentablemen-
realizamos y para lograrlo, tendremos te, en la realidad no existe el sensor
que utilizar sensores de mayor fiabili- perfecto, y por lo tanto debemos com-
dad, aunque su tiempo de respuesta pletar y corregir la informacin con la
sea bajo. En realidad, cuando cons- utilizacin de algoritmos de correc-
truimos un robot, siempre luchamos cin y redundancia de sensores.
con esta dualidad (y, seguramente, Otro aspecto importante para tener
con muchas variables ms). Es por en cuenta es que, segn el tipo de
eso que la eleccin de los sensores controlador que utilicemos para
que utilicemos estar determinada nuestro robot, deberemos disear
por la tarea que vayamos a realizar y circuitos intermedios entre el sen-
sus requerimientos particulares. sor y el controlador, con el fin de
Los sensores pueden definirse como convertir la seal del sensor en un

30

25

20
Valor

15

10

0
0 5 10 15 20 25 30
Tiempo

Figura 20. En este caso, los valores son los de un sensor analgico.

34
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 35

Introduccin a la robtica

valor interpretable por nuestro pro- tios. Los sensores digitales entregan una
cesador. Por lo tanto, aunque poda- seal discreta dentro de un conjunto
mos utilizar un mismo sensor para posible de valores (Figura 21). Es decir,
diferentes plataformas de controla- este conjunto de valores se modifica de
dores, con seguridad tendremos que un rango a otro por saltos discretos y
disear estas interfaces en forma de- no continuos.
dicada para cada procesador. Un ejemplo clsico es el sensor de to-
que, que devuelve valor 1 ( 0 Vol-
Clasificacin tios) si est apretado y 0 ( 5 Voltios)
Podemos dividir a los sensores en dos si no es as.
grandes grupos: analgicos y digita- Desde ya que, a pesar de que el sen-
les. Los analgicos entregan un valor sor sea analgico, finalmente, en la
(por ejemplo, una tensin) dentro de lectura del controlador, obtendremos
un determinado rango continuo (Figu- un valor discreto. Es decir, se realiza-
ra 20). Un ejemplo de este tipo es una r una conversin analgico/digital
fotorresistencia, que mide la intensi- dentro del controlador o en la inter-
dad de la luz, y que podemos adaptar faz que construyamos para la adapta-
para que entregue un valor de 0 a 5 Vol- cin del sensor al controlador.

30

25

20
Valor

15

10

0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Tiempo

Figura 21. Aqu podemos ver un ejemplo de valores tomados por un sensor digital.

35
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 36

1. CONCEPTOS FUNDAMENTALES

te tipo de sensor es el ultrasnico, que


enva una seal sonora que, al rebotar
con un objeto, vuelve al robot, y al cal-
cular el tiempo de demora, puede in-
terpretar la distancia al objeto. Desde
ya que los sensores activos necesitan
mucha ms electrnica para su funcio-
namiento, pero la informacin que nos
brindan es mucho ms rica que la que
Figura 22. Aqu podemos apreciar nos ofrecen los sensores pasivos.
un sensor de efecto hall.
Tipos de sensores
Otra clasificacin posible de los sen- Hacer una lista de todos los tipos de
sores es internos y externos. Los in- sensores existentes sera imposible.
ternos son aquellos que nos brindan Los que nombraremos a continua-
informacin del propio robot, como cin son los ms utilizados en rob-
la velocidad, la rotacin, la posicin, tica de bajo costo:
la altura, etctera; en tanto que los ex-
ternos son los que proporcionan da- Sensores de interrupcin: simple-
tos del ambiente, como las distancias, mente, detectan si pasa corriente o
la temperatura, la presin, etctera. no. Se utilizan como sensores de
Por ltimo, tambin podemos dividir choque o contadores de eventos
los sensores en pasivos y activos. Los (vueltas de una rueda, por ejemplo).
activos son los que necesitan enviar una Sensores de posicin: determinan la
seal hacia el ambiente para luego reci- posicin del robot. Un sensor de es-
bir el rebote de esa seal y, de esta ma- te tipo puede ser un potencimetro
nera, interpretar el estado del mundo que cambia su valor por la rotacin
que lo rodea. Un ejemplo clsico de es- de las ruedas; u pticos, como los que

SIMULADORES
Existen cientos de simuladores de distintos tipos de robots: humanoides, autno-
mos, robots para ftbol, etctera. Por ejemplo, uno de los ms interesantes en el
ftbol de robots lo podemos conseguir en el sitio www.fira.net/soccer/simurosot/
R_Soccer_ v15a_030204.exe. Sin embargo, un simulador no es lo mismo que la ro-
btica fsica. Creer que la experiencia fsica es igual a la simulada es pensar que
Second Life es igual a la vida misma. Y no es as, no?

36
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 37

Introduccin a la robtica

se usan en un mouse tradicional, que


cuentan la cantidad de veces que re-
cibe seal el sensor ptico de una rue-
dita que tiene ventanitas cada deter-
minado ngulo (podemos abrir uno
para verlo, el mecanismo es sencillo).
Sensores de efecto hall: estos sen-
sores utilizan una propiedad de los
imanes, que modifican su conduc-
tividad cuando encuentran un ob-
jeto metlico (Figura 22).
Sensores de luz o brillo: detectan
la cantidad de luz que reciben. Se-
gn el tipo de sensor utilizado, por
este mecanismo podemos detectar
diferencias entre los colores, si s-
tos no son brillantes.
Sensores infrarrojos: envan una
seal infrarroja y determinan el
tiempo que tardan en volver a reci-
birla. Permiten detectar obstculos Figura 23. Laser Sick, usado como
(si la seal vuelve) o medir distan- sensor por su magnfica precisin.
cias si el sensor es preciso.
Sensores de ultrasonido: como En los ltimos tiempos, gracias a la
explicamos antes, envan una seal posibilidad de contar con mucha ca-
sonora y captan el rebote, de la pacidad de procesamiento en tamao
misma manera en que lo hace un reducido, se ha comenzado a utilizar
Sonar en el mar. el video como sensor de los robots.

ROBOTS ADAPTATIVOS
Una de las dificultades ms complejas en el desarrollo de robots es la de darles la
capacidad de adaptarse en tiempo real al mundo que los rodea. Por ejemplo, los sis-
temas de visin son muy dependientes de la luz que existe en el ambiente. Por esa
razn, es habitual que en las competencias de robots, los equipos que han tenido un
gran desempeo en das anteriores, ante un leve cambio de iluminacin no puedan
realizar prcticamente ninguna tarea.

37
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 38

1. CONCEPTOS FUNDAMENTALES

Figura 24. En esta imagen podemos ver un insecto robtico que,


en lugar de motores, utiliza msculos de alambre.

El procesamiento de imgenes es un nmica para nuestras creaciones. Las


tema muy complejo y apasionante al cmaras son los sensores que ms da-
mismo tiempo, y escapa a la arquitec- tos nos proveen en un lapso de tiem-
tura y los costos de fabricacin de los po muy breve. El problema funda-
robots que nos hemos propuesto pa- mental es que necesitamos mucho
ra este libro. Pero seguramente, en tiempo de procesamiento en algorit-
poco tiempo podremos utilizar nues- mos complejos para extraer informa-
tras webcam en forma sencilla y eco- cin til de semejante cantidad de

MSCULOS DE ALAMBRE
Hasta hoy, el movimiento de los robots se ha realizado con motores. Pero si queremos
imitar el movimiento de organismos vivos, ninguno de ellos utiliza este tipo de dispo-
sitivos. Es por eso que se ha desarrollado otro tipo de sistema de movimiento conoci-
do como msculos de alambre (wired muscles). Los msculos de alambre son, como
su nombre lo indica, alambres que cambian su longitud cuando se calientan, lo que se
puede lograr al pasar corriente elctrica por ellos (Figura 24).

38
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 39

Introduccin a la robtica

bits. Es en este tipo de algoritmos transmitir el movimiento creado por


donde podremos encontrar con ms el motor. La etapa de eleccin de un
claridad el dilema a resolver entre motor puede ser una tarea muy com-
velocidad y precisin. plicada segn las limitaciones de
nuestro proyecto, si tenemos en
Actuadores cuenta todas las caractersticas que
Si nuestro robot slo observara el definen al motor. stas son: tamao,
mundo sin actuar en l, sera un robot peso, velocidad (revoluciones por mi-
sumamente limitado. Nuestro deseo nuto, RPM), torque (kilogramo por
es que modifique su estado y el del centmetro) tensin y, la ms sensi-
ambiente segn la informacin que ble: el costo. En la actualidad, existen
obtiene en el proceso. Con este fin, diferentes tipos de motores, que des-
disponemos de motores, msculos de cribiremos a continuacin:
alambre, lmparas, displays, buzzers,
etctera. Al conjunto de estos disposi- Motores de corriente
tivos se lo denomina actuadores. continua (CC)
Los actuadores ms sencillos de utili- Son los motores ms comunes y que
zar son las lmparas, que no ameritan casi todos conocemos (Figura 25). En
demasiada descripcin para su uso. general, los encontramos en cualquier
Simplemente, con conectarlas a algu-
na salida del procesador y proveer la LEYES DE LA ROBTICA
alimentacin necesaria para su fun-
Dentro de su produccin literaria basa-
cionamiento, podremos encenderlas
da en la robtica, Asimov defini tres
y apagarlas con nuestro programa.
leyes para la proteccin de los huma-
Sin embargo, pondremos nuestro fo-
nos que los robots de ficcin tienen al-
co de atencin en los motores, dado
macenadas en su cerebro positrnico.
que definen en gran medida nuestra
stas son:
capacidad de desplazamiento, los
1. Un robot no puede hacerle dao a un
grados de libertad y otros aspectos
ser humano o, por inaccin, permitir que
vinculados al movimiento del robot.
un ser humano sufra dao.
Por definicin, el motor elctrico es
2. Un robot debe obedecer las rdenes
un dispositivo electromotriz, es decir,
de un humano, salvo que alguna de s-
que convierte la energa elctrica en
tas entre en conflicto con la primera ley.
energa motriz. Todos los motores
3. Un robot debe proteger su propia
disponen de un eje de salida para aco-
existencia, salvo que esto viole la pri-
plar un engranaje, una rueda, una po-
mera o la segunda ley.
lea o cualquier mecanismo capaz de

39
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 40

1. CONCEPTOS FUNDAMENTALES

Un detalle importante es que, casi


siempre, se utilizan acompaados de
un sistema de engranajes que reducen
la velocidad y proporcionan mayor
fuerza, dado que este tipo de motores
carece de esta cualidad. Es convenien-
te conseguir el conjunto completo
porque las adaptaciones son compli-
cadas y pocas veces se obtienen muy
buenos resultados.

Figura 25. Motores y motorreductores Motores paso a paso (PAP)


de corriente continua. Un motor paso a paso (Figura 26) se
diferencia de uno convencional por-
tipo de juguete (un buen lugar don- que puede ubicar su eje en posicio-
de ir a buscarlos!). El funcionamien- nes fijas o pasos, con lo cual es ca-
to del motor se basa en la accin de paz de mantener la posicin. Esta
campos magnticos opuestos que ha- peculiaridad se debe a la construc-
cen girar el rotor (eje interno) en di- cin del motor en s: por un lado,
reccin opuesta al estator (imn ex- tiene el rotor constituido por un
terno o bobina). De este modo, si su- imn permanente, y por el otro, el
jetamos la cubierta del motor por me- estator construido por bobinas. Al
dio de soportes o bridas, el rotor con alimentar alguna de esas bobinas, se
el eje de salida ser lo nico que gira- atrae el polo magntico del rotor
r. Para cambiar la direccin de giro opuesto al polo generado por la bo-
en un motor de corriente continua, bina, y ste permanece en esta posi-
tan slo debemos invertir la polaridad cin hasta que la bobina deje de ge-
de su alimentacin elctrica. nerar el campo magntico y se acti-

FANTICOS DE LEGO
Como comentamos anteriormente, Lego tuvo la precaucin de liberar muchsima
informacin sobre sus diseos de manera que otros pudieran desarrollar material
para sus kits. Es por eso que podemos encontrar varios lenguajes para poder pro-
gramar los robots de esta firma. Adems, tambin se pueden conseguir los planos
de los sensores de todo tipo. Una de las pginas ms conocidas de sensores case-
ros es www.extremenxt.com/lego.htm.

40
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 41

Introduccin a la robtica

ve otra bobina, lo cual hace avanzar


o retroceder al rotor. De esta mane-
ra, al variar los campos magnticos
en torno al eje del motor, se logra
que gire. Los motores PAP pueden
ser de dos tipos:
Bipolar: lleva dos bobinados indepen-
dientes. Para controlarlo se necesita in-
vertir la polaridad de cada una de las
bobinas en la secuencia adecuada.
Unipolar: dispone, normalmente,
de 5 6 cables, dependiendo de si el
comn est unido en forma interna Figura 26. Vista interna
o no. Para controlar este tipo de mo- de un motor paso a paso.
tores existen tres mtodos con sus
correspondientes secuencias de en- de CD, unos ms pequeos pero
cendido de bobinas. El comn ir siempre acompaados de buenos me-
conectado a +VCC o masa segn el canismos reductores.
circuito de control usado y, luego,
slo tendremos que alimentar la bo- Servomotores
bina correcta para que el motor El servo (Figura 27) es un pequeo pe-
avance o retroceda segn avancemos ro potente dispositivo que dispone en
o retrocedamos en la secuencia. Es- su interior de un pequeo motor con
tos motores son muy utilizados en un reductor de velocidad y un multi-
disqueteras, lectoras de CD e impre- plicador de fuerza. Tambin cuenta
soras. En las antiguas disqueteras de con un pequeo circuito elctrico en-
51/4, podemos encontrar algunos cargado de gobernar el sistema. El re-
bastante poderosos, y en las lectoras corrido del eje de salida es de 180 en

BUZZERS PARA DETECTAR ERRORES


Una de las herramientas fundamentales para detectar errores en nuestro robot es
la posibilidad de mostrar en un display el valor de los sensores, las variables, etc-
tera. El problema es que como se trata de un ente autnomo, tendramos que co-
rrer detrs de l para ver qu ocurre y leer los valores que se muestran en el dis-
play. Es por eso que usualmente al robot se le agrega un buzzer que nos permite
emitir sonidos y enterarnos de lo que sucede.

41
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 42

1. CONCEPTOS FUNDAMENTALES

Figura 27. Servomotor tradicional de la marca Hitec.

la mayora de ellos, pero se puede mo- sos) interno para compararlo con la
dificar con facilidad para tener un re- entrada PWM externa del servo, me-
corrido libre de 360 y, entonces, ac- diante un sistema diferencial y as,
tuar como un motor comn. modificar la posicin del eje de sali-
El control de posicin lo efecta el da hasta que los valores se igualen y
servo en forma interna mediante un el servo se detenga en la posicin in-
potencimetro que va conectado en dicada. En esta posicin, el motor del
forma mecnica al eje de salida. ste servo deja de consumir corriente y
controla un PWM (Pulse Width Mo- slo circula una pequea cantidad
duler, modulador de anchura de pul- hasta el circuito interno. Si en ese

NANOBOTS
Los nanobots son robots de tamao microscpico, cuyas dimensiones estn en el or-
den de una millonsima de milmetro. Se realizan con tcnicas de nanotecnologa y,
aunque an son ensayos y especulaciones tericas, ya se han dado pasos para su con-
crecin. Esencialmente, se han desarrollado nanobots qumicos o moleculares con fun-
ciones limitadas. La aplicacin para estos futuros robotitos est apuntada a la medici-
na, la industria, la ecologa y la produccin de alimentos.

42
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 43

Introduccin a la robtica

momento forzamos el servo (al mo- rencial interno ponga el servo en la po-
ver el eje de salida con la mano), el sicin indicada por la anchura del pul-
control diferencial interno lo detecta so. Los servomotores son una muy
y manda la corriente necesaria al mo- buena alternativa, ya que traen inte-
tor para corregir la posicin. grado un sistema reductor que nos
Para controlar un servo, tenemos que ahorrar dolores de cabeza a la hora de
aplicar un pulso de duracin y una buscar fuerza. La desventaja para al-
frecuencia especficos. Todos los ser- gunas aplicaciones es que, en general,
vos disponen de tres cables: dos pa- son lentos. Se utilizan mucho en los
ra la alimentacin y uno para aplicar automviles y aviones radiocontrola-
el tren de pulsos de control que ha- dos, principalmente para accionar el
rn que el circuito de control dife- mecanismo que les da la direccin.

RESUMEN
En este primer captulo hemos hecho una breve introduccin a los conceptos fun-
damentales de la robtica. Un robot no es ms que un dispositivo con un deter-
minado grado de movilidad, que puede realizar un conjunto de tareas en forma
independiente y se puede adaptar al mundo en el que opera. Existen diversos ti-
pos de robots, segn el uso para el cual se han destinado, el medio en el que se
mueven, la capacidad de autonoma que presentan, etctera.
Cualquiera de estos robots est dirigido por una unidad de procesamiento, que se
puede adquirir en forma completa con todas sus comunicaciones de entrada y sa-
lida resueltas, o que podemos desarrollar desde cero con micros, dispositivos
porttiles o, simplemente, motherboards de PC.
Adems, necesita de sensores para poder captar el mundo. Cuanto ms complejo
sea un sensor y ms datos nos provea, tendremos que renunciar a ciertos aspec-
tos de velocidad para obtener informacin ms precisa. Por ltimo, para que el ro-
bot pueda trasladarse y actuar sobre el entorno, necesitamos de los actuadores.
Los esenciales y ms usados son los motores, de los cuales tenemos diversos ti-
pos segn el objetivo de nuestro robot y la cantidad de dinero que poseamos.

43
www.FreeLibros.me
01_ROBOTICA.qxd 24/10/2007 02:02 p.m. Pgina 44

ACTIVIDADES

TEST DE AUTOEVALUACIN

1 Cul es nuestra definicin de robot? 6 Qu es un sensor? Cul es la diferen-


cia entre sensores activos y pasivos?
2 Qu clasificaciones encontramos de
los diferentes tipos de robots? 7 Cules son los tipos de sensores con
los que podemos contar en la elabora-
3 Cules son las unidades que presen- cin de nuestro robot?
ta un robot?
8 Qu ventajas y desventajas presenta
4 Compare las ventajas y desventajas del el uso de video como entrada de datos
uso de un kit de robtica o el desarrollo de un robot?
desde cero del procesamiento del robot.
9 A qu llamamos actuadores?
5 Si desarrollamos la unidad de procesa-
miento por nuestros propios medios, 10 Qu tipos de motores encontramos
qu dispositivos podemos utilizar? en el mercado?

44
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 45

Robtica Captulo 2
Componentes
del robot
Antes de comenzar a construir nuestro

robot, daremos una mirada general

a todos los componentes

que lo conformarn. Desde

ya que elegiremos puntualmente

alguno de ellos, pero con este captulo

nos ser sencillo seleccionar otras

variantes segn el objetivo que

tengamos para nuestro robot. Una mirada global a nuestro


futuro robot 46
Objetivos de nuestro robot 47
Tipo de procesamiento
seleccionado 48
Cmo le damos movimiento
a nuestro robot? 50
Y cmo captamos el mundo
que nos rodea? 53
Materiales para la mecnica 55
Resumen 59
SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com Actividades 60

www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 46

2. COMPONENTES DEL ROBOT

UNA MIRADA prescindibles a la hora de construir el


GLOBAL A NUESTRO controlador de nuestro robot. Luego
FUTURO ROBOT veremos el tipo de motores que vamos
a utilizar y dnde podemos conse-
Como hemos podido ver en el primer guirlos. Para esto podremos desarmar
captulo, la cantidad de variantes que algn equipo electrnico antiguo, co-
tenemos para construir nuestro robot mo disqueteras, impresoras, etctera.
es inmensa. Es por eso que en este Luego, haremos lo mismo con los
captulo, presentaremos los materia- sensores, siempre con el objetivo de
les que hemos decidido utilizar para gastar la menor cantidad de dinero
nuestra primera creacin, y justifica- posible en nuestro primer proyecto
remos la eleccin que hemos realiza- (luego vendrn proyectos multimi-
do. En primer lugar, vamos a dar un llonarios!). Y por ltimo, echaremos
paseo por el mundo de los micropro- una mirada sobre el material que po-
cesadores, introduciremos un conjun- demos utilizar para la construccin
to de conceptos que nos sern im- del cuerpo de nuestro robot.

Figura 1. Ejemplo de un robot artesanal con diversos sensores.

46
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 47

Una mirada global a nuestro futuro robot

Objetivos de nuestro robot


Para la eleccin de todos los compo-
nentes de nuestro robot, es necesario
que fijemos claramente cules sern
los objetivos, es decir, las tareas que
queremos que nuestro robot realice.
La primera decisin fundamental es
definir si vamos a utilizar un kit o
construiremos nuestro robot desde
cero en forma artesanal. Es una deci-
sin fundamental porque implica un
presupuesto mucho ms alto en el pri-
mer caso y, de alguna manera, tam-
bin acota las posibilidades de lo que
vamos a disear. Por otra parte, en el
primer captulo ya enumeramos las
ventajas que brinda el uso de un kit,
pero en nuestro proyecto vamos a de-
sarrollar el robot desde cero, paso a Figura 2. Partido de ftbol de robots
paso, componente por componente. donde se utiliza una pelota infrarroja.
En nuestro caso, la primera razn por
la que lo haremos de esta manera es tos y esquivarlos, seguir una lnea
porque as vamos a aprender mucho negra, y buscar una luz.
ms sobre todas las capas que com- Cuando decimos diferentes adaptacio-
ponen al robot. La segunda razn, no nes, lo que queremos acentuar es que
menos importante, es el costo de no necesariamente har las tres cosas el
nuestro proyecto. La idea es que po- mismo robot. Vamos a organizar dife-
damos reutilizar elementos que en- rentes proyectos, con mnimas modi-
contremos en desuso. Un humilde ficaciones entre uno y otro, para lograr
aporte ecolgico de nuestra parte. los tres objetivos. Luego, si combina-
Bien, ahora que hemos decidido ar- mos la capacidad de tocar objetos con
mar en forma artesanal nuestro pri- la deteccin de la lnea negra, podre-
mer robot, tenemos que dejar en cla- mos construir un luchador de sumo. Y
ro qu es lo que queremos que haga. para realizar un sencillo jugador de ft-
En este libro, nuestro objetivo es re- bol, uniremos la deteccin de luz con
alizar un robot que pueda, en dife- el tacto de los objetos, dado que nos
rentes adaptaciones, detectar obje- prepararemos para una categora que

47
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 48

2. COMPONENTES DEL ROBOT

de encontrar en cualquier casa u ofi-


cina una computadora, con sus uni-
dades de entrada, de salida y de pro-
cesamiento. Y estas computadoras,
para nuestra alegra, se reducen cada
vez ms en precio y tamao. Pero,
cul es el lmite de esta reduccin?
Aquellos que usaron un dispositivo
porttil, como una PDA, habrn no-
tado que la pantalla y el teclado son,
en estos momentos, los puntos cr-
Figura 3. Uno de los micros ticos de reduccin. Ahora bien, si no
de la firma Atmel. necesitramos informacin por una
pantalla y el ingreso por teclado,
usa una pelota infrarroja (Figura 2). Pe- podramos tener una computadora
ro ya llegaremos a este punto dentro de mucho ms pequea? S, podemos,
unas cuantas pginas. Comencemos y de alguna manera eso es un mi-
con el procesamiento. crocontrolador, un circuito integra-
do, con CPU, memoria y conexin
Tipo de procesamiento para entradas y salidas. Todo esto, en
seleccionado un tamao muy reducido, no mayor
Si seguimos la lnea que acabamos al de una estampilla.
de presentar, decidimos realizar Si lo vemos de esta manera, pode-
nuestro controlador basndonos en mos confundir un microcontrolador
un microcontrolador que fuera con un microprocesador. En qu se
econmico y de uso popular. Pero, diferencian? Principalmente, en que
para empezar, veamos qu es esto de el microcontrolador suma a un mi-
los microcontroladores. A esta al- croprocesador un conjunto de ca-
tura del siglo XXI, no nos sorpren- ractersticas electrnicas que lo ha-

SEGUIDOR DE LNEA (LINETRACKER)


La primera prueba sorprendente que realizaremos con un robot, y la competencia
ms habitual en los torneos de robots, es el seguimiento de una lnea. En general,
esta prueba est condimentada con otras dificultades, como la presencia de obst-
culos que tenemos que esquivar, variaciones de iluminacin o de colores en la l-
nea, secciones donde la lnea desaparece, etctera.

48
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 49

Una mirada global a nuestro futuro robot

cen menos dependiente de los chips determinada. En general, estos micro-


de apoyo. Por ejemplo, la memoria, controladores no pueden ser reprogra-
los conversores analgico digitales y mados, por lo que tambin contamos
el reloj, ya estn incluidos dentro de con micros de propsito general, que
los microcontroladores. pueden ser programados en diversos
Y para qu sirve un microcontrola- lenguajes y con destinos de todo tipo.
dor? Bueno, tener una computadora Las empresas de microprocesadores de
de ese tamao nos permitira contro- propsito general ms conocidas son
lar en forma medianamente inteligen- Microchip (PIC) y Atmel (AVR).
te diversos dispositivos. Y esto es lo Pondremos nuestra atencin en la pri-
que ocurre alrededor nuestro: en el au- mera de las dos, dado que el micro que
to, en la heladera, en el microondas o usaremos ser el PIC 16F88. Micro-
en el lavarropas, con seguridad podre- chip Technology Inc. es una empre-
mos encontrar uno o ms microcon- sa de electrnica de Estados Unidos,
troladores, que hacen muchsimo ms surgida de la empresa GI (General Ins-
sencilla la electrnica del aparato. truments). Del conjunto de productos
Algunos de los microcontroladores son que ha fabricado, la lnea PIC (Perip-
de propsito especfico, es decir, fueron heral Interface Controller, Controlador
diseados y optimizados para una tarea de Interfaz Perifrico) de microcon-

Figura 4. Un microcontrolador PIC montado en una placa controladora GoGo.

49
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 50

2. COMPONENTES DEL ROBOT

troladores ha sido su bastin funda- Memoria Rom y Flash.


mental (Figura 4). Una de las carac- Temporizadores.
tersticas ms importantes de estos mi- Perifricos serie.
cros es que son de tipo RISC (Redu-
ced Instruction Set Computer, Compu- La arquitectura bsica de todos los
tadora con Conjunto de Instruccio- PICs contiene una memoria de datos,
nes Reducido) en contraposicin con una memoria de programa, una unidad
la arquitectura CISC (Complex Ins- aritmtico lgica, una unidad de con-
truction Set Computer, Computadora trol y puertos de E/S (entrada y salida).
con Conjunto de Instrucciones Com- De todos los modelos, hemos elegido
plejo). Esto implica que tienen un el 16F88 para realizar nuestro robot. Es
conjunto reducido de instrucciones por eso que en el prximo captulo nos
de tamao fijo con respecto a la can- detendremos a analizar en forma deta-
tidad de ciclos de reloj (en general, to- llada este micro en particular.
das las instrucciones necesitan de un
solo ciclo de reloj) y que slo las ins- Cmo le damos movimiento
trucciones de carga y almacenamien- a nuestro robot?
to acceden a la memoria. Las ventajas En el primer captulo, ya hemos des-
que estas (y otras) caractersticas nos cripto el tipo de actuadores que po-
brindan son que la ejecucin es ms demos encontrar en un robot. En
rpida y que permite el paralelismo nuestro caso, usaremos motores de
entre instrucciones mediante una tc- corriente continua (cc) entre 8V y
nica llamada pipelined. 12V, con un consumo no superior a
La desventaja radica en que la pro- 100 mAmp, que describiremos en
gramacin con este reducido conjun- profundidad ms adelante. Estos mo-
to de instrucciones tan atmicas im- tores son ms econmicos y sencillos
plicar ms trabajo. Con respecto a de controlar, pero en general carecen
los PIC, las caractersticas fundamen- de precisin y fuerza (Figura 5). Para
tales que podemos encontrar entre los solucionar este problema, recomenda-
diferentes modelos son: mos los motores con caja de reduccin
Ncleo de 8/16 bits con arquitec- incorporada (conocidos como moto-
tura Harvard (las memorias de ins- rreductores), que poseen un pequeo
trucciones y de datos estn separa- motor que gira a muchsimas revolu-
das, y la CPU accede a ella por bu- ciones, unido a un sistema de reduc-
ses distintos). cin que permite obtener fuerza con
Puertos de E/S con conversores menor velocidad. Para nuestro robot
analgicos/digitales. utilizaremos un sistema de traccin

50
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 51

Una mirada global a nuestro futuro robot

diferencial, dado que es el ms senci-


llo de controlar desde nuestro pro-
grama (Figura 6). Este sistema utiliza
dos ruedas convencionales ubicadas
en el centro del robot, una de cada la-
do, conectadas directamente a los
motores. Esto nos dar la posibilidad
de ir para adelante o para atrs, de
aplicar la misma energa en ambos
motores, o de realizar giros segn la
diferencia de velocidad de cada mo-
tor. El recorrido en forma recta es
difcil de conseguir en esta arquitec-
tura dado que siempre encontramos Figura 5. Motores de corriente
diferencias de velocidad entre los mo- continua de tamao reducido.
tores o en el giro de las ruedas, des-
plazamientos, etctera. Una de las electrnica especfica para este con-
maneras de controlar esto es realizar trol, algo que escapa a nuestro pri-
un sensado del mundo. Por ejemplo, mer proyecto. Por eso, por ahora nos
si tenemos que seguir una lnea ne- conformaremos con que vaya me-
gra, bastara con tener uno o dos sen- dianamente en lnea recta.
sores de luz que nos permitan detec- Otra arquitectura de movimiento in-
tar nuestra desviacin de la lnea pa- teresante es la omnidireccional. Con
ra modificar la velocidad de los mo- tres ruedas especiales ubicadas como
tores. Otra manera es sensar el movi- podemos ver en la Figura 7, podemos
miento de las ruedas con encoders si- dirigir al robot hacia cualquier punto,
milares a los que se utilizaban en un sin necesidad de girarlo en esa direc-
mouse antiguo. El problema de este cin. Esta forma de navegacin es
mecanismo es que necesitamos de muchsimo ms efectiva, ya que aho-

PICS ESPECIALES
En la actualidad, tenemos modelos muy sorprendentes como el rfPIC, que incorpo-
ra la posibilidad de comunicacin wireless (en el mismo micro!) y los dsPIC, que
tienen un bus de datos de 16 bits que permiten realizar operaciones de procesa-
miento digital de seales. Tambin podemos encontrar clones, ms baratos o con
mejoras, como los que realiza la empresa Ubicom.

51
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 52

2. COMPONENTES DEL ROBOT

tipo de motor y la arquitectura de las


ruedas que vamos a usar, dnde po-
demos conseguir los motores? Desde
ya, una de las formas ms sencillas de
conseguirlos es comprarlos.
Sin embargo, si tratamos de ahorrar
ese dinero, va a ser necesario extraer
los motores de algn aparato que ten-
gamos en desuso. El problema de ha-
cer esto es que como estos motores no
tienen reduccin, tendremos que in-
genirnosla para darles fuerza (desde
ya, se perder velocidad). Los apara-
Figura 6. Vista desde abajo tos de donde podemos conseguir mo-
de un robot de traccin diferencial. tores de corriente continua son:

Impresoras: habitualmente con-


tienen motores de corriente conti-
nua y paso a paso.
Juguetes: autos o cualquier juguete
con movimiento. En general, son
motores muy pequeos.
Limpiaparabrisas: hay de 12V y
de 24V. Debemos conseguir los
del primer grupo.
Reproductores de casetes y videos.

Figura 7. Arquitectura de un robot Si tenemos algn servo desperdicia-


con ruedas omnidireccionales. do, podemos modificarlo para utili-
zarlo como motor CC. Los servos
rramos tiempo al movernos siempre son un motor de ese tipo con una ca-
en lnea recta. Pero el costo de las rue- ja reductora y un circuito de control
das es elevado, y se necesita de algo- y tope fsico, que limita su giro a 180
ritmos algo ms complejos para cal- grados. Para convertirlo en lo que
cular la velocidad que debe tener ca- necesitamos, debemos eliminar el
da rueda para tener la direccin dese- circuito de control y la limitacin f-
ada. Una vez que hemos decidido el sica, y de esta manera aprovechar la

52
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 53

Una mirada global a nuestro futuro robot

caja reductora que posee. Los pasos


necesarios para llevar a cabo esta ta-
rea los veremos ms adelante.
Como dijimos previamente, para
construir nuestro robot utilizaremos
dos motores de CC de 12V, con un
consumo de 100 mAH.

Y cmo captamos el mundo


que nos rodea?
Como ya vimos en el captulo ante-
rior, un robot sin sensores es incapaz
de cambiar su comportamiento para Figura 8. Motor paso a paso unipolar.
adaptarse al medio que lo rodea, por-
que no puede captarlo. Es por eso que
la eleccin que haremos de los senso-
res es fundamental. En nuestro caso,
utilizaremos sensores de contacto pa-
ra detectar colisiones y sensores de luz
o infrarrojos para detectar las lneas
negras y la pelota infrarroja.
Comencemos con el detector de co-
lisiones. Qu podemos utilizar para
ello? En realidad, cualquier dispositi-
vo que funcione como interruptor es
suficiente. Los sensores de contacto
que se utilizan en robtica industrial Figura 9. Un ejemplo de sensor
se conocen como final de carrera. de final de carrera.

MOTORES DE CORRIENTE CONTINUA


Si no sabemos dnde conseguir motores de corriente continua, podemos visitar los
sitios de los proveedores de este tipo de motores:
Ignis: www.ignis.com.ar.
Baldor: www.baldordistribuidora.com.
Telco: www.telcointercon.com/telcomotion/brushed/micro_dc.htm.
Micro-Drives: www.micro-drives.com.

53
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 54

2. COMPONENTES DEL ROBOT

del final de carrera, segn el tamao


y la posicin del objeto que es nece-
sario detectar. Como se puede ver en
la Figura 10, el espacio de deteccin
es muy pequeo, por lo que necesi-
tamos construir un paragolpes
(bumper). Tambin podemos cons-
truir nosotros este sensor con la ar-
Figura 10. Micro switch utilizado quitectura que ms nos plazca. Sim-
habitualmente como sensor de contacto. plemente, tiene que cerrar (o abrir)
el circuito cuando se activa, y volver
a su situacin inicial cuando est de-
sactivado. Los interruptores de final
de carrera se pueden adquirir en ne-
gocios de electrnica, y tambin se
pueden extraer de elementos como:
Mouse: podemos usar los inte-
Figura 11. rruptores que son presionados por
Un LDR los botones. El problema es que la
utilizado para amplificacin es complicada de re-
la deteccin alizar por la forma de stos.
de luz en Impresoras: para detectar si la ta-
un robot. pa est cerrada o no, o para el mo-
vimiento del cabezal, en general se
Este sensor debe tener algn meca- utilizan estos mecanismos.
nismo para que, una vez activado, Celulares: aqu podemos hallar
luego vuelva a su posicin inicial. versiones pequeas de los inte-
Por otra parte, es necesario utilizar rruptores para detectar el cierre de
algn amplificador de la mecnica la tapa del celular.

SENSORES DE CONTACTO ESPECIALES


Podemos realizar un sensor para detectar piezas metlicas si utilizamos escobillas
de autitos de pistas de carrera. En este caso, las escobillas impares estn conecta-
das a uno de los cables, y las pares al otro. De esta manera, cuando dos escobillas
tocan el objeto metlico que se encuentra en el piso, se cierra el circuito y el con-
trolador determina que se ha detectado un objeto.

54
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 55

Una mirada global a nuestro futuro robot

Para la deteccin de luz, podemos uti-


lizar un sensor de luz convencional, co-
nocido como fotorresistencia (LDR,
Figura 12. CNY70,
Light-Dependent Resistor, resistencia
un sensor
que depende de la luz). ste es un
infrarrojo muy
componente electrnico cuya resis-
popular.
tencia disminuye a medida que la luz
incide sobre l (Figura 11).
Es econmico y sencillo de usar, pero
es altamente sensible a la luz ambien-
te. Por esa razn, es bueno aadirle un
led emisor para poder captar el rebote
de la luz de este componente sobre la
superficie a detectar. Para evitar el pro-
blema de la luz ambiente, podemos
utilizar un sensor infrarrojo. El fun-
cionamiento es similar al anterior, pe-
ro son menos sensibles a la luz am-
biente, ya que slo detectan luz dentro
del rango del infrarrojo. Est com- Figura 13. Aqu podemos ver un robot
puesto por un diodo emisor infrarrojo hecho con piezas de Lego, pero con
en una determinada longitud de onda sensores y controlador propios.
y un receptor (en general un fototran-
sistor) que apunta en la misma direc- Materiales para la mecnica
cin que el emisor. Un buen ejemplo A la hora de construir el chasis de
es el sensor activo CNY70, que puede nuestro robot, tenemos mltiples
captar objetos entre 5mm y 10mm de opciones con respecto a los materia-
distancia (Figura 12). les que usaremos. Es importante te-
Ambos sensores son econmicos, y ner en cuenta que cuanto ms livia-
pueden conseguirse en cualquier ne- no sea el robot, necesitaremos mo-
gocio de electrnica. Es posible con- tores menos potentes y, por lo tan-
seguir alguno de ellos si desarmamos to, menos bateras, lo que finalmen-
algn juguete (por ejemplo, los te es ms econmico. Excepto en los
muecos que detectan la presencia de casos en los que el peso del robot
un objeto por delante y emiten algn presente una ventaja, como puede
sonido), pero son tan econmicos que ser la lucha de sumo, un robot ms
no vale la pena tomarse ese trabajo. liviano siempre es mejor. A conti-

55
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 56

2. COMPONENTES DEL ROBOT

nuacin presentaremos una lista de


los que se pueden conseguir con ms
facilidad en el mercado, con sus res-
pectivas ventajas y desventajas.

Piezas de Lego, Mecano


u otros juguetes constructivos
Seguramente, en algn rincn de
nuestro bal de los recuerdos tene-
mos una bolsa con las piezas de nues-
tro querido sistema de construccin
de la infancia. Si hemos cometido el
error de prometerlas como regalo a
un vecino pequeo o al hermanito de
nuestra novia, debemos olvidarlo.
Estas piezas son muy prcticas para
realizar prototipos de nuestros robots
(que muchas veces quedan como
versiones finales!). Una de las venta-
jas fundamentales es su facilidad de
uso y su versatilidad para lograr las
formas deseadas (Figura 13). Otra ven-
taja es la reusabilidad: una vez ter-
minado el robot, podemos desarmar-
lo y volver a usar el material.
Por el lado de las desventajas, la ms
importante es la fragilidad de la es-
tructura que podemos lograr. Y si no
tenemos las piezas de antemano, su
valor es muy alto en comparacin con
los otros tipos de materiales.

Juguetes usados
Cuando queramos construir un robot
Figura 14. Aqu podemos ver que imite algn vehculo tradicional,
un Robosapien modificado, donde una muy buena opcin es montarlo
el controlador es una Pocket PC. sobre un juguete usado, o por qu no,

56
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 57

Una mirada global a nuestro futuro robot

comprar uno con este propsito. Por


ejemplo, para construir un humanoi-
de es ms sencillo comprar uno ya ar-
mado y montar la inteligencia sobre
la mecnica ya resuelta, que cons-
truirlo desde cero (Figura 14).
Si partimos de un juguete abando-
nado, podemos considerarlo como
costo cero. De todas formas, con se-
guridad tendremos que aadir par-
tes desarrolladas por nosotros para
poder adaptar el controlador, los
sensores, etctera. En este caso, una Figura 15. Planchas de aglomerado.
desventaja puede ser la dificultad de
ensamblar la estructura del juguete manera, podremos manipularlo con
con las nuevas partes del robot. Otro cierto cuidado. Para unir piezas, se uti-
problema es que, en general, las pie- lizan pegamentos del tipo cianocrila-
zas del juguete son frgiles, por lo to. Se puede cortar con una sierrita de
que deberemos tratarlas con cuida- dientes pequeos, y es posible quitar
do. Es recomendable incorporar las las rebabas con una lija fina.
partes nuevas con un pegamento
adecuado, y no agujerear el juguete. Aglomerado
Por ltimo, la reusabilidad de los Es una plancha realizada con fibras de
materiales que utilicemos es muy madera pegadas a presin con una re-
baja, dado que estn adaptados a es- sina sinttica (Figura 15). Tambin es
te proyecto en particular. conocido como MDF (Medium Den-
sity Fibreboard, Tablero de fibra de
PVC densidad media). Es econmico como
Es un material plstico muy econmi- el PVC y puede conseguirse en cual-
co que se presenta en formato rgido o quier maderera. Es fcil de manipular
flexible. Es muy fuerte y resistente, pero es ms complejo conseguir ter-
aunque se puede cortar y taladrar con minaciones prolijas. Los chasis reali-
facilidad. Para las carcasas cilndricas, zados con este material son robustos,
podemos utilizar caos de este mate- pero su peso es una desventaja que hay
rial. Si necesitamos deformarlo, el que tener en cuenta. Tampoco es
PVC se ablanda al llegar a los 80 (por aconsejable que el material se moje,
ejemplo, sobre una hornalla) y de esta aunque es resistente a salpicaduras.

57
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 58

2. COMPONENTES DEL ROBOT

les. Es muy liviano y absorbe muy


bien los impactos, pero su resistencia
es limitada. Es fcil de manipular
con cortadores en caliente, aunque
sus terminaciones son complicadas.
Por su bajo costo, es ideal para rea-
lizar prototipos, pero su baja resis-
tencia no permite la construccin del
modelo final de un robot.

Acrlico
En realidad, llamamos acrlico al me-
tacrilato compuesto por cido me-
Figura 16. Robot con piezas de acrlico. tacrlico. Cuando vemos un robot re-
alizado ntegramente en este mate-
Poliestireno expandido rial, y en especial si es transparente,
Este material es conocido universal- todos nos enamoramos. Es muy
mente, pero denominado de diversas atractivo, muy resistente, liviano, y
formas en todo el mundo: telgopor, de fcil corte con sierras y caladoras,
porexpan, corcho blanco, unicel, aunque hay que realizarlo con pa-
estereofn o tecnopor son algunas ciencia porque el calor de la friccin
de las denominaciones ms habitua- puede derretir el material (Figura 16).
Otro problema del corte es el polvi-
LOS MICROS DE ATMEL llo que genera, por lo que se reco-
mienda el uso de mascarillas para ha-
La familia de micros de Atmel se llama
cerlo. El moldeo es un poco ms
AVR. Tambin son RISC con 32 regis-
complicado, ya que necesita de calor
tros de 8 bits. Fueron diseados para
local, y se realiza con pistolas de aire
ejecutar en forma eficiente cdigo C
caliente o bandas resistivas. La des-
compilado. Aunque el ncleo de ins-
ventaja ms grave de este material es
trucciones es el mismo, existen diver-
el precio, que supera ampliamente
sos modelos, que van desde los ms
los materiales que ya comentamos.
pequeos con 1KB de memoria flash y
sin RAM, hasta los ms poderosos con
Aluminio
256 KB de memoria flash, 8KB de RAM,
Es el material ms usado en la fabri-
4 KB de EEPROM, conversor analgico
cacin de las versiones finales de los
digital y otras maravillas.
robots. Es muy resistente, liviano y de

58
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 59

Una mirada global a nuestro futuro robot

relativo bajo precio. Si tenemos que zas ms complejas debemos contar


hacer cortes sencillos, podemos traba- con un torno especfico. Por otra par-
jar el aluminio con herramientas con- te, para moldearlo necesitamos hor-
vencionales, pero si necesitamos pie- nos especiales a altas temperaturas.

Figura 17. Robot


con chasis de
aluminio.

RESUMEN
En este captulo presentamos los objetivos de nuestro robot y los materiales nece-
sarios para construirlo. Hemos decidido construirlo en forma artesanal desde cero,
para tener costos ms bajos y para lograr un conocimiento ms profundo de la ar-
quitectura del robot. El objetivo de nuestro trabajo es conseguir un robot autnomo,
capaz de seguir una lnea negra, dirigirse a sitios ms iluminados y detectar objetos
que se interpongan en su camino. Para ello, utilizaremos un procesador PIC 16F88
de la empresa Microchip. El movimiento lo lograremos con dos motores de corrien-
te continua de 12 Voltios. Para detectar el mundo, vamos a agregarle sensores de
contacto para obstculos fsicos y fotorresistencias, y sensores infrarrojos para la
deteccin de luces y lneas de colores. Para la construccin del chasis de nuestro
robot, hemos elegido el aglomerado, dado que nos permite construir una estructu-
ra robusta, con herramientas sencillas y a muy bajo precio.

59
www.FreeLibros.me
02_ROBOTICA.qxd 24/10/2007 05:02 p.m. Pgina 60

ACTIVIDADES

TEST DE AUTOEVALUACIN

1 Por qu decidimos desarrollar el robot 7 Qu ventajas y desventajas presentan


en forma artesanal? los motores de corriente continua?

2 Cules son los objetivos de nuestro 8 Qu caractersticas presenta la trac-


robot? cin diferencial?

3 Qu es un microcontrolador? 9 Qu es un final de carrera?

4 Qu diferencia un microcontrolador de 10 Qu ventajas presenta el sensor infra-


un microprocesador? rrojo sobre el LDR?

5 Qu caractersticas presentan los mi- 11 Cules son los tipos de materiales


cros con tecnologa RISC? que presentamos para la construccin
del chasis?
6 Cul es la arquitectura bsica de to-
do PIC?

60
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 61

Robtica Captulo 3
La inteligencia
del robot
Antes de comenzar a construir

nuestro robot, daremos una mirada

general a todos los componentes

que lo conformarn. Desde ya que

elegiremos puntualmente alguno

de ellos, pero con este captulo nos El cerebro 62


Componentes de nuestro robot 63
Objetivos del controlador 64
ser sencillo seleccionar otras
El microcontrolador,
cerebro del cerebro 64
variantes segn el objetivo que Conceptos fundamentales
de un PIC 65
tengamos para nuestro robot. Caractersticas del PIC16F88 66
Compatibilidad con el 16F84 67
Puente H para el control
de los motores 67
Listado de componentes
del controlador 68
Descripcin del circuito 69
Colaborador: Placa experimental 71
Ing. Nstor Adrin Balich El programador 71
Nuestro programador 71
Resumen 75
SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com Actividades 76

www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 62

3. LA INTELIGENCIA DEL ROBOT

EL CEREBRO robot. Esencialmente, varan en fun-


cin de nuestra necesidad y de lo que
Cuando Asimov cre sus primeros queremos hacer con l. Los primeros
robots de ficcin, an no existan las robots fueron simples autmatas, co-
computadoras. Tuvo que inventar los mo el jugador de ajedrez, que no son
cerebros positrnicos, que son dis- ms que una sucesin de combina-
positivos con inteligencia artificial ciones de engranajes, poleas y otros
que le permiten al robot almacenar artilugios electromecnicos, en donde
informacin, realizar operaciones l- el creador articula el robot en forma
gicas y tomar sus propias decisiones. mecnica, y gobierna as sus movi-
Con esa capacidad sorprendente de mientos. Luego surgieron los robots
adelantarse dcadas en el tiempo, con electrnica analgica (transisto-
Asimov realiz una descripcin que, res) y compuertas digitales, que en al-
en muchos casos, coincide con los gunos casos hasta pueden programar-
controladores que tenemos en la ac- se en forma muy primitiva con lge-
tualidad. De este tema, y con la in- bra de boole. Por ltimo, en la ac-
tencin de emular la genialidad de tualidad, nuestros robots poseen mi-
Asimov, hablaremos en este captulo. crocontroladores y computadores, co-
Hay diversas formas de controlar un mo comentamos en el primer captu-

Figura 1. Robot con cerebro positrnico de la pelcula


Yo, robot, inspirado en la obra de Asimov.

62
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 63

El cerebro

lo. En nuestro caso, cuando elegimos Chasis: ste es el armazn que


el controlador que vamos a presentar contiene el controlador, los moto-
en este libro, optamos por una solu- res y las bateras.
cin del ltimo espectro, pero con la Alimentacin: batera de 9 V, con-
suficiente sencillez para su construc- junto de pilas, o batera de gel de
cin y la suficiente complejidad pa- 12 V.
ra poder lograr comportamientos Control: controlador programa-
medianamente inteligentes. ble multipropsito.
Para el desarrollo de nuestro robot
necesitamos algunas habilidades de
electrnica que podremos adquirir
con facilidad. Esto es necesario por-
que as tendremos un robot con pres-
taciones iguales o mayores que las de
algunos de los kits que se pueden
comprar y principalmente nos per-
mitir dar los primeros pasos en la
utilizacin de microcontroladores.

Componentes
de nuestro robot
A la hora de disear nuestro contro-
lador, es necesario tener presente Figura 2. Un robot cuyo cerebro
qu tipo de robot deseamos cons- es nuestro controlador.
truir, porque esto nos dar una no-
cin de la cantidad de actuadores y CEREBROS POSITRNICOS
sensores que necesitaremos. Como
Todos los robots de la obra de Asimov
definimos en el captulo anterior,
posean cerebros positrnicos, que
nuestro robot tendr dos ruedas con
consistan en una malla de platino don-
dos motores, que nos permitirn
de la actividad cerebral estaba dada
controlar la direccin de manera di-
por un flujo de positrones. Si no tene-
ferencial. Contar con dos bumpers
mos en cuenta el punto de vista litera-
(sensores de choque) y un sensor
rio, es difcil imaginar que el positrn
analgico para poder seguir una l-
(antipartcula del electrn) no destruya
nea (robot rastreador). Si tenemos
la malla de platino, en una colisin ma-
en cuenta esto, podemos definir las
teria antimateria.
partes de nuestro robot en:

63
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 64

3. LA INTELIGENCIA DEL ROBOT

Poder configurar las entradas y las


salidas segn el objetivo del robot.
Permitir controlar una gran varie-
dad de robots.

El microcontrolador, cerebro
Figura 3. Una de las versiones del cerebro
del PIC16F88. Como comentamos antes, el princi-
pal componente de nuestra placa con-
Driver H: interfaz de potencia pa- troladora es el microcontrolador. De
ra los motores de corriente conti- su eleccin depende el tiempo de uti-
nua con inversin de giro. lidad de sta, ya que nos permitir au-
Sensores: dos sensores de colisin mentar la complejidad y adoptar di-
ubicados al frente del robot. ferentes configuraciones de robots,
Monitor: un led de monitoreo del simplemente preocupndonos por
programa. cambiar la mecnica/electromecnica
Sensor analgico: para futuras cuando sea necesario. En sntesis, el
aplicaciones. objetivo es contar con nuestro propio
controlador universal de robots.
Objetivos del controlador En el Captulo 2 adelantamos nuestra
Dados los objetivos que hemos defi- eleccin por el micro 16F88 de la
nido, el controlador debe cumplir firma Microchip (Figura 3). Cabe
con las siguientes caractersticas: mencionar que aunque el 16F84 es
Poder controlar dos motores de el micro ms difundido de esta em-
corriente continua de 12 V de has- presa, hemos decidido dar un paso
ta 400 miliamperes. adelante por dos razones: el nuevo
Permitir que el robot se desplace en modelo nos da muchas prestaciones
todas direcciones mediante una adicionales, y todo lo desarrollado
traccin diferencial (de dos ruedas). para 16F88 que no utilicen esas
Ser programable en circuito me- prestaciones es absolutamente com-
diante un programador conectado patible con el 16F84.
a la computadora. En el presente libro, en gran parte
Utilizar bateras comunes de dife- usaremos del micro nuevo aquellas
rente voltaje entre 7 y 12 V. funcionalidades que sean compati-
Poseer la capacidad de conectar bles con el anterior. Pero as nos que-
sensores de diversos tipos, tanto da armado un controlador con am-
analgicos como digitales. plia capacidad de expansin.

64
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 65

El cerebro

Conceptos fundamentales Programmable Read-Only Memory,


de un PIC ROM que se puede programar y
Como en el punto siguiente quere- borrar elctricamente): en esta me-
mos realizar una presentacin del moria se almacenan los datos que
16F88 y compararlo con otros mi- deben conservarse aun cuando ha-
cros, a continuacin describiremos ya prdida de energa. Puede ser
un conjunto de trminos necesarios reescrita en ms oportunidades
para poder comprender mejor. Los que la memoria flash.
conceptos que vamos a explicar son I/O Ports (Input/Output Ports,
fundamentales en la arquitectura y puertos de entrada/salida): es la
el funcionamiento de un PIC. Si ya comunicacin del PIC con el
tenemos experiencia, esto nos resul- mundo que lo rodea. Desde all
tar conocido y podremos continuar podr enviar seales a la electrni-
hasta el punto siguiente. ca externa y recibir datos de sta.
Si no, aqu encontraremos un buen Timers (temporizadores): en ge-
diccionario de palabras vinculadas al neral, todos los PICs poseen hasta
que podremos recurrir en los prxi- tres temporizadores, con diversas
mos captulos. capacidades y funciones. Se utili-
zan como contadores, relojes y ge-
Memoria flash: es el rea de alma- neradores de interrupciones.
cenamiento de los programas. Pue- USART (Universal Synchronous
de ser reescrita miles de veces, lo que Asynchronous Receiver Transmitter,
presenta una gran ventaja para reu- transmisor y receptor sincrnico y
tilizar el controlador y para progra- asincrnico universal): mdulo
mar sin temor al error. que presentan los PIC que nos
RAM (Random Access Memory, me- brindan un puerto serie.
moria de acceso aleatorio): almace- CCP (Capture/Compare/PWM, Cap-
na todas las variables y los datos in- tura/Comparacin/Modulacin
termedios del programa. por ancho de pulso): este mdulo
EEPROM (Electrically-Erasable tiene tres modos de comparacin.

MODULACIN POR ANCHO DE PULSO


La modulacin por ancho de pulso (PWM, Pulse With Modulation) se utiliza para de-
terminar la velocidad de giro de los motores elctricos. En el pulso tenemos un mo-
mento alto (con corriente) y un momento bajo (sin corriente). Segn la longitud de
estos pulsos, logramos la velocidad de nuestro motor.

65
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 66

3. LA INTELIGENCIA DEL ROBOT

ICSP (In Circuit Serial Program-


ming, programacin en circuito):
los PICs se pueden programar sin
tener que sacarlos del controlador,
conectndolos con el programador
mediante un cable especial que des-
cribiremos ms adelante.

Caractersticas del PIC16F88


Figura 4. Otros modelos de PIC El PIC16F88 es un salto importan-
vinculados al 16F84 y el 16F88. te con respecto al PIC16F84, una
suerte de hermano mayor ms avan-
En el primer caso (Capture) nos zado. En realidad, es un reemplazo
permite capturar el tiempo de un de los 16F87X, que mantiene com-
evento. En el segundo (Compare) patibilidad con sus antecesores para
genera una salida cuando el timer 1 hacer ms sencilla la migracin. Tie-
alcanza un valor. El ltimo nos ne 35 instrucciones de una sola pa-
brinda una salida de 10 bits de re- labra, de 200 nanosegundos de eje-
solucin sin consumo de ciclos con cucin. Adems, cuenta con un os-
una determinada frecuencia, confi- cilador interno de 8MHz, 256 bytes
gurada por el timer 2. de memoria EEPROM, 368 bytes
Comparador: es un mdulo que de RAM y 4 Kb de memoria flash.
brinda dos comparadores analgicos, Viene con un USART, un puerto se-
de manera tal que las entradas anal- rie sincrnico, tres timers, un m-
gicas o digitales se puedan comparar dulo CCP y un comparador. Para los
con los voltajes de referencia. sensores disponemos de siete canales

REDES NEURONALES
Existen diferentes propuestas de emulacin del procesamiento de nuestro cerebro.
Entre otras, las redes neuronales son un sistema de interconexin de nodos que si-
mulan neuronas que puede implementarse por hardware o por software. Estas neu-
ronas reciben diversas entradas de informacin y mediante un conjunto de funcio-
nes determinan la salida de la neurona. El arquitecto de la red define su estructu-
ra y luego, mediante un sistema de aprendizaje, entrena a la red para los datos que
luego deber procesar. Luego del aprendizaje, la red es capaz de interpretar los da-
tos de entrada y brindar una salida acorde.

66
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 67

El cerebro

de entrada con conversor analgico este ltimo modelo ha sido lanzado a


digital. Su consumo es muy bajo, menor precio que su antecesor. Para es-
para suerte de nuestras bateras ta versin del controlador hemos ar-
(aunque los motores sern nuestros mado una placa experimental en la
enemigos en este aspecto). que no es necesario tener el 16F88 ya
que es compatible con el 16F84. Por
Compatibilidad con el 16F84 lo tanto, podremos usar el antiguo
A pesar de las grandes capacidades que micro (incluso los primeros progra-
hemos mostrado del 16F88, la compa- mas estarn desarrollados para el
tibilidad con el 16F84 es muy alta, lo 16F84). La necesidad del 16F88 se
que permite utilizar hardware y soft- har presente a medida que avance-
ware desarrollado para el micro ms an- mos en la utilizacin de sensores
tiguo. En primer lugar, tienen el mis- analgicos, la utilizacin del bootloa-
mo pinout (asignacin de los pines). El der o el agregado de una interfaz se-
16F88 puede ejecutar el mismo cdigo rial RS232, entre otras cosas.
que el 16F84 con mnimas variantes, y
se puede programar con el mismo Puente H para el control
hardware. Es decir, si tenemos un ro- de los motores
bot con un 16F84, es posible que po- Para poder controlar la velocidad y la
damos hacerlo funcionar con el 16F88, direccin de los motores de corriente
y a un precio menor! Efectivamente, continua, se utiliza un circuito deno-

CHIP INHIBIT 1 16 VSS


INPUT 1 2 15 INPUT 4
OUPUT 1 3 14 OUPUT 4
GND 4 13 GND
GND 5 12 GND
OUTPUT 2 6 11 OUTPUT 3
INPUT 2 7 10 INPUT 3
VC 8 9 CHIP INHIBIT 2

Figura 5. Esquema del integrado controlador de los motores L293D.

67
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 68

3. LA INTELIGENCIA DEL ROBOT

minado Puente H. Este curioso nom- lidad utilizamos integrados que nos
bre proviene de la forma en la que an- proporcionan esa funcionalidad, en
tiguamente se posicionaban los tran- un espacio menor y a bajo costo. En
sistores al realizar el puente. La nuestro caso, la interfaz de potencia
electrnica ha avanzado y en la actua- se basa en el chip L293D, que cuen-
ta con diodos de proteccin para los
motores (Figura 5). Adems, posee
IDENTIFICADOR VALOR cuatro drivers de potencia que nos
C1 100uF / 50V permiten controlar dos motores de
C2 .1uF hasta 600 miliampers de pico (con in-
C3 .1uF versin de giro) o cuatro motores sim-
C4 47uF / 25V ples, controlados por dos lneas de co-
C5 .1uf mando de 5 V por motor conectados
C6 .1uf directamente al micro.
C7 22p Los pines 2, 7, 10 y 15 son entradas
C8 22p digitales que sirven para controlar la
D1 DIODE direccin de los motores. Los pines
IC1 16F88 CHIP INHIBIT (1 y 9) permiten
IC3 L78L05 controlar la velocidad con la tcnica
IC4 L293D PWM ya mencionada. Los motores
ISCP Programador Conector 5 pines se conectan a 3, 6, 11 y 14. VSS
J3 Bornera 3 (voltaje lgico) es la que alimentar
L1 LED Verde o dar potencia al motor.
L2 LED Rojo
Motor1 Bornera 2 Listado de componentes
Motor2 Bornera 2 del controlador
POWER Bornera 2 La mayora de los componentes que
R1 390 vamos a utilizar (Tabla 1) se puede
R2 390 conseguir en cualquier negocio de
R3 1K electrnica, y se puede reemplazar
R4 1K por otros de valores aproximados.
R5 10K Los elementos ms costosos son los
Reset Microswitch dos procesadores, el 16F84 16F88
Sensor1 Microswitch y el L293D. Otro componente de
Sensor2 Microswitch costo alto es la batera recargable de
XTAL 4Mhz 4Mhz 9 V, de la cual hablaremos ms ade-
Tabla 1. Lista de componentes. lante. Para poder conectar todos estos

68
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 69

El cerebro

componentes, podemos usar una


protoboard (Figura 6) o directamente
armar el circuito en una plaqueta ex-
perimental. En el primer caso, el ta-
mao de nuestro controlador ser
incmodo para montarlo sobre el ro-
bot, pero puede ser til para realizar
un primer prototipo de prueba. Una
vez que tengamos todo en funciona-
miento, podemos pasar nuestro desa-
rrollo a una placa experimental.

Descripcin del circuito


El circuito es muy sencillo (Figura 7).
Consta de una fuente de alimenta-
cin regulada, basada en un 7805
que nos permite obtener a la salida
una tensin estable de 5 V para ali-
mentar a los circuitos integrados, in- Figura 6. Protoboard de buen
dependientemente de que la tensin tamao que nos permite armar
de entrada est entre 7 V y 12 V. El el circuito sin usar soldaduras.

Figura 7. Esquema del circuito del controlador de nuestro robot.

69
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 70

3. LA INTELIGENCIA DEL ROBOT

diodo D1 permite tener una protec- entradas RA3 y RA4 permiten sen-
cin contra la inversin accidental sar los dos switch (llaves) que indi-
de la tensin de alimentacin. Los can cundo nuestro robot colisiona
electrolticos y condensadores cer- con algn objeto. Se encuentran co-
micos actan de filtros y el led L1 nectadas al positivo mediante dos
slo nos sirve para indicar que el cir- resistencias R3 y R4 de 1K, que nos
cuito se encuentra alimentado. sirven de pullup para disminuir el
El ISCP es un conector para la pro- disparo por ruido elctrico que pro-
gramacin del micro, que cuenta viene de los motores.
con un cristal oscilador (XTAL) de Por su parte, RB1, RB2, RB4 y RB5
4Mhz (lo podemos evitar en el caso se utilizan para controlar dos moto-
del 16F88 gracias a que contiene un res de corriente continua de 12 V y
oscilador interno, pero ya que es de 300 miliamperes. RB6 y RB7 estn
bajo costo y ms preciso, preferimos destinados al programador.
mantenerlo en el esquema), y un Adems de esto, nos quedan libres 4
pulsador de reset para bloqueos o pines (RB0, RA0, RA1, RA2) que
reinicializacin del sistema. El led podemos utilizar para propsitos di-
L2 se utiliza para monitorear los di- versos y la posibilidad de utilizar los
ferentes ciclos del programa (lo po- del cristal o de conmutar los de pro-
dremos usar para depuracin y tes- gramacin, entre otras modificacio-
teos) y est controlado por RB3. Las nes posibles.

Motor 1

Batera 9 V Driver H

Motor 2

Fuente
Controlador L2
Regulada 5 V

Sensor 2 Sensor 1

Figura 8. En esta figura podemos observar los bloques


lgicos que componen nuestro controlador.

70
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 71

El cerebro

Placa experimental
A modo de ejemplo, en la Figura 9
mostramos la placa experimental b-
sica realizada para las pruebas preli-
minares, en donde puede observarse
el regulador 7805, los integrados
16F84 y L293D y, en la parte inferior
a la izquierda y debajo del 16F84, la
salida para el programador ICSP. Figura 9. Visin final del controlador
desarrollado sobre una placa
El programador experimental.
Cuando diseamos el controlador del
robot, uno de los objetivos fundamen-
tales fue que pudiera ser programado Figura 10.
de diversas maneras segn el propsi- Picaxe 8, la
to final del robot. De esta forma, po- versin ms
demos reutilizar nuestro controlador pequea de la
en la misma estructura mecnica o en lnea PICAXE.
otras, con otros sensores, motores,
etctera. Por eso, nos decidimos a tra- de nuevo, para lo cual se necesita un
bajar con el PIC y no con el PICAXE programador! Por lo tanto, tarde o tem-
(Figura 10), a pesar de que ste ltimo prano, este recurso nos es indispensa-
tambin es una opcin. El PICAXE es ble, y ya que compramos componentes
un micro que ya tiene grabado un pe- y hacemos circuitos, agregamos el pro-
queo firmware, algo as como un sis- gramador para quedarnos tranquilos.
tema operativo mnimo, que permite Adems, si alguna vez queremos cam-
cargarle nuestro programa por el puer- biar de micro, cargar un firmware de-
to serie del computador. Es una buena sarrollado por otro o por nosotros, u
ayuda porque nos evitamos la cons- otra variante, podremos hacerlo con
truccin del programador. El proble- nuestro programador sin problemas.
ma es que si utilizamos un PICAXE
dependemos totalmente de este Nuestro programador
firmware y si por cualquier proble- En Internet podemos encontrar un
ma elctrico se desprogramara el mi- mundo de aficionados y profesionales
cro, estaramos en problemas. que desarrollan sus actividades con
La nica solucin sera comprar un PIC. Por esa razn, la oferta de pro-
nuevo PICAXE o grabarle el firmware gramadores es amplia y si lo deseamos,

71
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 72

3. LA INTELIGENCIA DEL ROBOT

Figura 11. Pantalla principal del WinPic800, configurada para el 16F88.

Figura 12. Esquema del programador GTP LITE.

72
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 73

El cerebro

podemos comprar un programador en


algn negocio de electrnica. Pero pa-
ra cumplir nuestra promesa de que el
robot ser completamente artesanal,
presentamos el programador GTP Li-
te. Este programador fue diseado por
Jaime Fernndez-Caro Belmonte de
HobbyPic (www.hobbypic.com). Est
basado en un desarrollo anterior del
grupo Todopic (www.todopic.com.
ar) llamado GTP (Grabador TodoPic).
Para realizar la grabacin de lo que pro-
gramamos en nuestra PC hacia el mi-
cro, utilizaremos el soft WinPic800
(www.winpic800.com), que nos per-
mite acceder a muchos micros distin-
tos (Figura 11). Ms adelante, nos ex- Figura 13. En esta imagen podemos
tenderemos en el uso de este software ver el board del GTP LITE.
para bajar nuestros programas al con-
trolador. Con respecto a los programa-
dores, existen otros modelos como el
GTP-USB, pero elegimos el mencio-
nado por una cuestin de costos.
El GTP Lite (Figura 12) es un grabador
ICSP para PICs y memorias que uti-
liza un puerto paralelo y alimentacin
externa. Con l se pueden grabar los
PICs que soporten el modo de graba- Figura 14. Programador GTP LITE
cin ICSP y que se encuentren en el terminado, visto desde arriba.

OTROS PROGRAMADORES
Uno de los programadores ms populares del momento es el GTP USB Lite que, como
su nombre lo indica, nos permite programar mediante la utilizacin del puerto USB.
Podemos encontrar la informacin para disearlo en www.todopic.com.ar/foros/
index.php?topic=1716.0. En el siguiente foro podremos encontrar toda la informacin
sobre diversos grabadores de PICs: www.todopic.com.ar/foros/index.php?board=7.0.

73
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 74

3. LA INTELIGENCIA DEL ROBOT

WinPIC800. La forma ms tradicio- nuestra placa programadora y enviar-


nal de grabar el programa en el micro le el programa desde la PC con un
es poner el integrado en el zcalo de software de grabacin de PIC, como
el Winpic800. Pero en nuestro robot
IDENTIFICADOR VALOR presentamos otra variante. La progra-
C1 100uF/63v macin en circuito ICSP (In circuit se-
C2 100nF rial programming, programacin en
C3 100nF circuito) es ideal para trabajar con pro-
D1 Verde totipos, ya que de manera rpida po-
D2 Rojo dremos programar nuestro robot sin
D3 1N4007 necesidad de sacar el microprocesador
D4 1N4007 cada vez que cambiemos el programa.
D5 1N4007 Esta programacin se basa en utilizar
IC1 78L05 los mismos pines que usa el progra-
IC2 78L12 mador para la programacin directa,
J1 CONN DB25M pero con un circuito muy simple que
PD1 Diodo Puente 1A permite programar el integrado direc-
Q1 BC558B tamente en nuestra placa controlado-
RG1 ICSP ra. Para esto ser necesario un conec-
RG2 15VAC tor especial que posee la placa del pro-
R1 1k gramador con salida para ICSP. De es-
R3 1k ta manera, si conectamos el programa-
R5 1k dor a nuestro controlador por este co-
R2 4.7k nector, el mismo programa Win-
R8 4.7k pic800 podr grabar el 16F88 sin te-
R4 1.5k ner que desarmar nuestro robot. Co-
U1 74LS04 mo dijimos, esto es muy prctico por-
Tabla 2. Lista de componentes que al ser un robot experimental, car-
del programador. garemos muchos programas y haremos

PIN DESCRIPCIN FUNCIN TIPO DESCRIPCIN


12 RB6 Clock E Pulsos de reloj
13 RB7 Data E/S E/S de datos
4 MCLR Vtest MODE Seleccin de modo
5 VSS Vss P Masa (Gnd)
Tabla 3. Pines del cable para conectar el programador a la controladora.

74
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 75

El cerebro

pruebas con l en forma constante. En los 70 centmetros de longitud. No


la Tabla 2 describimos la lista de com- necesitaremos 5 V ya que usamos
ponentes del programador. Para co- masa comn entre el programador y
nectar el programador a nuestra con- la controladora, con la nica condi-
troladora, ser necesario fabricar un ca- cin de que nuestro robot deber es-
ble (podemos utilizar alguno de los ca- tar encendido al momento de pro-
bles planos que nos sobran de una PC gramarlo. Este cable es el que conec-
antigua) con los pines de la Tabla 3. Re- tar nuestra controladora al conector
comendamos que el cable no supere que tenemos debajo del micro.

Figura 15. El mismo


programador, con
una toma desde la
parte inferior.

RESUMEN
Hemos llegado al punto de poner manos a la obra. En este captulo, conocimos to-
dos los detalles de nuestro controlador y el programador correspondiente. Final-
mente, nos decidimos por el micro PIC16F88 de la firma Microchip, en especial por
su bajo costo, su buena performance, la compatibilidad con el PIC16F84 y por la po-
sibilidad de programarlo en circuito, sin necesidad de sacarlo de nuestro controla-
dor. Para poder realizar esto, construimos un programador conocido como GTP-
LITE, de uso muy difundido entre los usuarios de PIC, y de bajo costo. Para poder re-
alizar la programacin, utilizaremos el software Winpic800, que nos permite pro-
gramar diversos modelos de PICs y de otros tipos de micros.

75
www.FreeLibros.me
03_ROBOTICA.qxd 24/10/2007 02:12 p.m. Pgina 76

ACTIVIDADES

TEST DE AUTOEVALUACIN

1 Cules fueron los tipos de control que 6 Qu significa ICSP y qu ventajas pre-
tuvieron los robots a lo largo de la his- senta?
toria?
7 Por qu elegimos el microcontrola-
2 Cules son, esencialmente, los com- dor PIC16F88?
ponentes de nuestro robot?
8 En qu aspectos es compatible el
3 Qu objetivos tendr nuestro contro- 16F88 con el 16F84?
lador?
9 Qu es un puente H? Con qu inte-
4 Cules son los tipos de memorias que grado lo implementamos?
podemos encontrar en un PIC?
10 Por qu no usamos el PICAXE?
5 Qu es el USART?

76
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 77

Robtica Captulo 4
Comida
de robots
Hemos visto maravillas en el aumento

de la potencia de los procesadores,

en la mejora de la calidad de los

materiales y en la reduccin de los costos

de todos estos componentes. Pero

lamentablemente hay un punto en el que

an no hemos hecho grandes progresos:

la energa porttil. En este captulo

presentaremos los diferentes tipos de


La fuente de energa 78
bateras para utilizar en nuestro robot.
Caractersticas de las celdas
de las bateras 79
Tipos de bateras 81
Calidad de las bateras 86
Cargadores 87
Ayudar a que no slo
las bateras duren ms 89
Resumen 91
SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com Actividades 92

www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 78

4. COMIDA DE ROBOTS

LA FUENTE DE ENERGA buscado la piedra filosofal de la


energa: carbn, petrleo, electrici-
Volvamos a nuestros sueos de robots. dad, biocombustibles, bateras, hidr-
Soamos con un robot veloz, gil, y geno, energa nuclear, etctera. Mucha
que recorra el universo sin desgaste. agua ha pasado debajo del puente y sin
Soamos con un robot poderoso, con embargo, la ecuacin que planteamos
alta traccin que le permita subir los al comienzo es irresoluble: si aumen-
caminos ms inhspitos. Soamos tamos la autonoma, necesitamos
con un robot de mucha autonoma, mayor tamao y peso, y por lo tan-
que pueda dar varias vueltas al uni- to, mayor consumo. Si queremos ma-
verso sin necesidad de pasar por el en- yor potencia, tambin consumimos
chufe. Soamos con la mquina de las cargas ms rpidamente. Por aho-
movimiento perpetuo, y no somos los ra, nos tendremos que arreglar con lo
primeros. Desde que construimos que tenemos a nuestro alcance para
nuestros primeros mecanismos aut- darle energa a nuestro robot, y esto es
nomos con desplazamiento, hemos lo que presentaremos en este captulo.

Figura 1. Aibo, el perro robot


de Sony, con un juguete que
podra ser su comida simblica.

78
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 79

La fuente de energa

Caractersticas nas empiece a descargarse la batera,


de las celdas de las bateras su voltaje nominal comience a bajar,
En el caso de los robots pequeos, la o que se mantenga durante un tiem-
obtencin de energa por sistemas de po para luego descender ms brusca-
combustin o la energa nuclear mente sus valores. Consideraremos
constituyen un sistema un poco des- que la batera est descargada cuando
proporcionado. Es por eso que nos el voltaje disminuye alrededor del
inclinamos por las bateras com- 20% de su valor nominal.
puestas por una o ms celdas, con Por ejemplo, las bateras de autos
determinadas caractersticas que las tienen seis celdas de plomo cido,
hacen convenientes o no segn el cada una con un voltaje nominal de
proyecto en el que trabajemos. Por 2 voltios, y as nos proveen de 12
esa razn, antes de analizar los tipos voltios nominales finales.
de bateras, haremos una breve pre- De todas formas, es posible que nues-
sentacin de los conceptos funda- tro robot pueda funcionar con un
mentales que las distinguen. voltaje menor al 80% del valor no-
minal. Esto depender esencialmen-
Voltaje te de los motores que utilicemos.
Todas las celdas que presentaremos
utilizan procesos qumicos para la li- Capacidad
beracin de energa. El tipo de mate- En general, cuanto ms grande es la
rial utilizado para esa reaccin es el batera, mayor capacidad posee (es
que determinar el voltaje produci- ms pesada, pero nada es perfecto).
do. Pero mientras se descarga, el vol- Se mide en Ampere/hora (A/h) o
taje puede variar. Es por esto que apa- miliampere/hora (mA/h) y se re-
rece el concepto de voltaje nominal, presenta con la letra C. Por ejemplo,
que indica el valor ms estable en el si en la batera aparece C=250, esto
que permanecer una batera cuando nos indica que puede suministrar
se descargue. Puede ocurrir que ape- 250 mA durante una hora, 125

VITRIFICACIN DE PILAS
Una propuesta para el procesamiento de las pilas desechadas es lo que se conoce como
vitrificacin. Una vez eliminados, mediante calor, todos sus elementos combustibles, se
separan los metales y los electrodos internos, y los qumicos txicos se convierten en xi-
do, en forma de polvo. Este polvo se mezcla con vidrio, lo que permite un desecho que, de
1000 a 2000 aos, comenzar a incorporarse en forma gradual a la bisfera.

79
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 80

4. COMIDA DE ROBOTS

Figura 2. Una muestra de todos los tamaos clsicos de las bateras recargables.

mA durante dos horas, etctera, an- ligroso en los casos de los robots acu-
tes de que caiga su voltaje. ticos. Cuando la curva tiene un des-
censo parejo, muchas veces nos en-
Densidad de energa contramos rpidamente con dificulta-
ste es uno de los puntos ms im- des para determinar un comporta-
portantes de anlisis en los robots miento consistente en el robot. En ese
mviles autnomos. Con la densidad caso, nos es imprescindible modificar
de energa representamos la relacin el accionar de nuestro robot median-
de la capacidad por unidad de vo- te la lectura de sensores, y no debemos
lumen. En nuestro caso, necesitamos confiar en los valores absolutos.
la mayor relacin posible, para lograr
mayor autonoma y potencia. Pero Resistencia interna
seguramente, aparecer algn otro Todo generador de energa elctrica
problema, como los costos. tambin se comporta como un con-
ductor y, por lo tanto, ofrece cierta
Curva de descarga resistencia al pasaje de corriente. A es-
Es la curva que nos indica el voltaje de to se lo llama resistencia interna. Por
la batera en relacin con el tiempo de ejemplo, es una gran ventaja que las
consumo. En general, si la curva es bateras de auto tengan baja resisten-
plana, la batera baja su voltaje de gol- cia, dado que necesitamos mucha co-
pe, lo que en general es bueno (man- rriente de golpe para encender el mo-
tenemos la performance de los robots tor. En nuestro caso, las bateras con
pareja durante largo tiempo), pero pe- baja resistencia interna pueden ser pe-

80
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 81

La fuente de energa

ligrosas porque ante un corto entre- tanto, la prxima vez considerar que
gan mucha corriente, aumentan el ca- est descargada cuando llegue a este
lor de la batera y pueden ocasionar- punto. Aunque no hay una postura de-
les problemas a nuestros circuitos y, finida sobre este concepto, siempre se
en casos extremos, una explosin. A aconseja que, antes de recargar estas ba-
medida que las celdas se desgastan, la teras, se las descargue por completo.
resistencia interna crece, y por lo tan-
to, la tensin disminuye. Costo
Y por ltimo, nos encontramos con el
Capacidad de recarga factor comn de todos los anlisis: el
Otra caracterstica fundamental de costo. La relacin entre la calidad de
nuestras bateras es si son recargables las bateras y el precio es directamente
o no, y cuntas veces se pueden re- proporcional. Por suerte, la aparicin
cargar. Dado que las bateras son de las cmaras digitales, los reproduc-
muy contaminantes, esta caracters- tores porttiles, los celulares y otros
tica no slo es una cuestin de cos- dispositivos que consumen bateras a
tos, sino que tambin nos propone granel, ha masificado la produccin de
una actitud ecolgica que considera- stas, y hoy encontramos en el merca-
remos ms adelante. Lamentable- do una gran variedad de calidad y pre-
mente, las bateras con mayor densi- cio para nuestras necesidades.
dad de energa no son recargables. Antes de empezar a realizar una
comparacin con respecto a estos
Efecto memoria conceptos presentados, vamos a des-
Es un trmino vinculado especfica- cribir los tipos de bateras que po-
mente a las bateras de Nquel cadmio. demos utilizar en nuestros robots.
Cuando una batera de este tipo no se
descarga en forma completa antes de Tipos de bateras
ser recargada, tiende a recordar este ni- A continuacin haremos un recorrido
vel de descarga como el nivel 0. Por lo por los diversos tipos de bateras que

LOS CARGADORES TAMBIN SE FALSIFICAN


Como si no tuviramos suficiente con la falsificacin de bateras, tambin debemos
tener cuidado con los cargadores, que no siempre son originales. En general, son
muy parecidos y la diferencia est dada por el embalaje. Para protegernos, pode-
mos consultar guas de compras que se brindan en los sitios de compra por Inter-
net, o dirigirnos a los comercios de prestigio de nuestra zona.

81
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 82

4. COMIDA DE ROBOTS

tenemos para poder alimentar un ro- Con respecto a su vida til, indepen-
bot, y veremos sus ventajas y desven- dientemente del uso que hagamos de
tajas. Por ltimo, definiremos un con- ella, su duracin es de tres aos.
junto de elecciones posibles para A pesar de todas las recomendaciones
nuestro modelo en particular. que nos dan al comprar celulares, no es
necesario cargarla durante 12 horas en
Batera de Iones de Litio (Li-Ion) su primera carga. De hecho, las bateras
Estas bateras aparecieron reciente- ms nuevas no necesitan ms que 8 ho-
mente y se utilizan mucho en los celu- ras para cargarse completamente. Tam-
lares (Figura 3). Poseen una elevada den- poco es real que los primeros ciclos de
sidad de energa y, en general, se pre- carga y descarga deben ser completos.
sentan en placas rectangulares de me- Descargar en forma completa antes de
nos de 5mm de espesor. Tienen un vol- cargarla puede ocasionar un mecanis-
taje de 3,7 V, y carecen de efecto me- mo de bloqueo en sus circuitos. Siem-
moria. La tasa de autodescarga es baja, pre es preferible cargar la batera cuan-
con lo cual podemos sacarla del robot do la capacidad sea parcial.
y guardarla aparte, y as se pierde slo A pesar de que an son caras, el uso
un 6% de su carga cada mes. La curva masivo en los celulares ha permitido
de descarga es lineal, con las ventajas y que estn a nuestro alcance para ali-
desventajas que presentamos antes. mentar a nuestro robot.

Figura 3. En esta imagen podemos ver bateras de Iones de Litio.

82
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 83

La fuente de energa

Bateras de Nquel Cadmio (Ni-Cd)


Fueron las primeras bateras recarga-
bles que usamos en nuestros disposi-
tivos (Figura 4). Su uso ha disminui-
do a favor de las bateras de Nquel
Metal (Ni/Mh), principalmente por
su efecto memoria y por la contami-
nacin que produce el cadmio.
Una ventaja que poseen es la cantidad Figura 4. Batera de Niquel Cadmio
de ciclos de carga, que ronda los para luces de emergencia.
1.500 ciclos. Otra caracterstica posi-
tiva es el costo, que ronda en la cuar-
ta parte de las de Ni/Mh, aunque es-
ta diferencia se reduce da a da.

Bateras de Nquel Metal (Ni/Mh)


Son las bateras de moda en este mo- Figura 5. Pequeas bateras
mento (Figura 6). Tienen un 40% ms recargables de Ni/Mh y Ni-Cd.
de capacidad que las de Ni-Cd.
Adems, poseen baja resistencia in-
terna, lo que permite una carga ms
rpida y una baja tasa de autodescar-
ga. El problema es que luego de los
300 ciclos, su capacidad cae drstica-
mente, y luego de los 600 la resisten-
cia interna aumenta en forma tan
Figura 6.
abrupta que se considera que el lmi-
Bateras AA de
te de los ciclos de carga es cercano a
Nquel Metal
500. Sin embargo, al tener mayor ca-
de 2500 mAh.
pacidad y no sufrir de efecto memo-

BATERAS DE POLMERO DE LITIO


Las bateras de polmero de litio son muy parecidas a las de litio que ya describi-
mos, pero se pueden producir en lminas de un milmetro de espesor y poseen un
ciclo de carga y descarga ms prolongado, por lo que se obtiene una batera ms
pequea, ms liviana y de mayor capacidad.

83
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 84

4. COMIDA DE ROBOTS

Bateras de Plomocido
Son las bateras que podemos encon-
trar en nuestros vehculos (Figura 7).
Estn compuestas por celdas de 2 V,
en general agrupadas en mltiplos de
3 (lo que brinda mltiplos de 6 V).
Tienen un depsito de cido sulfrico
donde se insertan unas placas de plo-
mo. Cuando las celdas estn cargadas,
los electrodos son de plomo metlico
y xido de plomo, sumergidos en el
Figura 7. Una UPS alimentada
cido sulfrico (diluido en agua).
por una batera de plomo-cido.
En el proceso de liberacin de
energa, ambos electrodos se convier-
ten en sulfato de plomo y disminuyen
as la presencia del cido en el agua.
En la carga, en el polo negativo el sul-
fato de plomo vuelve a convertirse en
plomo metlico, mientras que en el
positivo se forma xido de plomo, y
aumenta la presencia de cido sulf-
rico en el electrolito. Tienen una gran
capacidad de corriente con una baja
Figura 8. Batera recargable
resistencia interna, lo que las hace es-
de gel de 12 V.
pecialmente tiles para los motores de
arranque. Son econmicas pero de
ria, la cantidad de ciclos necesaria es gran peso, lo que no las hace reco-
menor. Otra ventaja es que son ms mendables para los robots autnomos
ecolgicas que las de Ni-Cd. de tamao mediano o pequeo.

EN EUROPA NO SE CONSIGUE
En Latinoamrica tambin tenemos desarrollo e investigacin relacionados con las cel-
das de combustible. Lo curioso es que uno de los grupos dedicados a este tema surge
de un colegio de nivel medio. All desarrollaron una celda electroqumica circular para
generar hidrgeno y oxgeno que alimentan una celda combustible, que ser uno de sus
prximos proyectos. Ms informacin en http://electrolizadoro7.110mb.com.

84
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 85

La fuente de energa

Bateras de gel de una celda de hidrgeno, los reacti-


Esencialmente, son una modificacin vos que se utilizan son hidrgeno en
de las bateras de plomo-cido, donde el lado del nodo y oxgeno en el c-
se le aade un agente gelificante al elec- todo. Al generar electricidad, el dese-
trolito para disminuir su movimiento cho resultante es agua y calor, con lo
dentro de la carcasa (Figura 8). Adems, cual la contaminacin producida por
presentan un mecanismo por el cual estas celdas es mnima. Aunque an
los gases internos no se liberan al exte- son muy costosas, en los ltimos cin-
rior, sino que se recombinan con el co aos han bajado 25 veces su precio.
agua de la batera. De esta manera, Quedan como una buena propuesta
estn selladas y pueden estar orienta- para seguir atentamente en el futuro.
das en cualquier direccin. Para su re- En la Tabla 1 presentamos una tabla
carga, se recomienda utilizar un carga- comparativa entre las bateras que po-
dor de bateras especial de cuatro eta- demos encontrar en el mercado. En
pas, dado que en este proceso puede ella, podemos ver todas sus carac-
desprender gases o reducir su vida til. tersticas en forma ms sencilla.
Tienen una autodescarga muy baja y
su carga til dura hasta casi medio ao. Nuestra eleccin
Como vemos, tenemos muchas va-
Celdas de combustible riantes al momento de elegir la fuen-
Es un dispositivo electroqumico si- te de energa de nuestros robots. Pa-
milar a una batera, pero se reabastece ra hacer nuestra eleccin, tuvimos
a partir de una fuente externa de com- en mente los siguientes aspectos:
bustible y oxgeno. Por otra parte, los Costo.
electrodos no se modifican como en Capacidad de recarga.
una batera convencional, sino que se Masividad de uso (es decir, que pue-
mantienen estables. En el caso clsico dan usarse en otros dispositivos).
TIPO VOLTAJE DENSIDAD RESISTENCIA CAPACIDAD COSTO
POR CELDA DE ENERGA INTERNA DE RECARGA
Pila carbn zinc 1,5 V Baja Alta No Muy bajo
Pila alcalina 1,5V Alta Alta No Moderado
Li-Ion 3,7V Alta Media S Alto
Ni-Cd 1,2V Moderada Baja S Moderado
Ni/Mh 1,2V Alta Baja S Moderado
Plomo cido 2,0V Moderada Muy baja S Bajo
Tabla 1. Tabla comparativa entre las bateras ms comunes.

85
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 86

4. COMIDA DE ROBOTS

Densidad de energa. da uno. En el captulo en el que haga-


Peso. mos el montaje, vamos a ver cmo los
ubicamos, pero antes de eso, los co-
Antes de presentar nuestra eleccin, nectaremos con nuestro controlador
queremos aclarar que cualquier fuen- para comenzar las primeras pruebas.
te de corriente continua entre 9 V y
12 V es perfectamente utilizable en Calidad de las bateras
nuestro diseo. Por lo tanto, no es ne- Un factor fundamental en el xito de
cesario comprar lo mismo que men- nuestra fuente de energa es su cali-
cionamos aqu, ya que podemos reu- dad. Es tan masivo el uso de las pi-
tilizar bateras que tengamos en nues- las recargables, que podemos encon-
tro hogar. Por otro lado, en los mo- trar ofertas muy diversas a la hora de
mentos en los que realizamos pruebas comprarlas. En un documento reali-
con nuestra computadora, podemos zado para su tienda de Ebay, Javier
conectar una fuente de corriente con- Martnez nos da algunas recomen-
tinua de 12 V para no consumir la daciones muy interesantes que pre-
energa de nuestras bateras. sentamos a continuacin.
En nuestro caso, hemos elegido las pi- En general, las pilas ms econmicas
las AA de Ni/Mh de 2.500 mA/H, no brindan informacin real con
porque son las que presentan la mejor respecto a su capacidad. La manera
combinacin de las caractersticas que de comprobar esto es utilizar algn
hemos usado para nuestro anlisis. Da- cargador con medidor de capacidad,
do que proporcionan 1,25 V, usaremos pero en general son muy costosos,
un pack de 8 a 12 pilas para alimen- adems de que no pueden realizar la
tar a nuestro robot. Para ello, podemos medicin en forma instantnea.
adquirir 2 3 portapilas de 4 pilas ca- Una segunda opcin, inmediata y
econmica, es pesar las pilas! Efec-
tivamente, dado que la capacidad
est relacionada con los componen-
tes internos de la pila, una pila con
mayor capacidad debe ser ms pesa-
da. En la prxima pgina vemos la
Tabla 2, creada por Javier, con testeos
que ha realizado con diversas pilas
de Ni/Mh. En todos los casos, las pi-
las medidas son AA. Lamentable-
Figura 9. Portapilas para 8 pilas AA. mente, otro problema que tenemos es

86
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 87

La fuente de energa

que tambin se comercializan pilas de CAPACIDAD EN MAH PESO EN GRAMOS

marcas conocidas que, en realidad, 1700 1800 27


son imitaciones. Para detectarlas, la 1800 2000 27,5
variable peso tambin es til. Por otro 2000 2200 28
lado, es importante mencionar que las 2200 2300 29
marcas Sony y Panasonic no han pro- 2300 2600 30
ducido pilas de ms de 2700 mAh. Po- 2600 2800 31
demos consultar varias pginas web 2950 33
que nos alertan, mes a mes, sobre las Tabla 2. Relacin entre el peso
falsificaciones que aparecen en el mer- y la capacidad de las pilas AA.
cado (Figura 10).
aquel que introduce una corriente con-
Cargadores tinua en la batera que debe ser carga-
El cargador de bateras es un dispositi- da sin modificar la corriente segn el
vo que permite recargar bateras ap- tiempo o la carga producida hasta el
tas para tal fin, y fuerza el ingreso de momento. Es econmico, pero el re-
corriente elctrica dentro de ellas. El sultado deja bastante que desear. En
cargador ms sencillo (Figura 11) es general, son de carga lenta para evitar

Figura 10. En el sitio de MercadoLibre podemos encontrar


guas especiales para detectar falsificaciones.

87
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 88

4. COMIDA DE ROBOTS

el deterioro de las bateras. De todas


formas, si las dejamos mayor tiempo
que el indicado, podemos debilitar-
las o deteriorarlas por sobrecarga.
Un modelo algo ms complejo es
aquel que detiene su carga luego de un
tiempo predefinido. Se utilizaron mu-
cho con las bateras de Ni-Cd a fines
de la dcada del 90. Frecuentemente,
se comercializa el pack de bateras jun-
to al cargador, que viene configurado
con el tiempo acorde para las bateras
Figura 11. asociadas. Si utilizamos otro tipo de
Cargador bateras, corremos riesgos de sobrecar-
de bateras ga si son de menor capacidad o de car-
tradicional. ga parcial en el caso contrario.
Tambin podemos contar con carga-
dores inteligentes (Figura 12), donde el
dispositivo monitorea en forma cons-
tante el voltaje de la batera, su tempe-
ratura o el tiempo de carga, y determi-
na el momento de corte ptimo para
cada caso en particular. Para las bateras
de Ni-Cd y Ni/Mh, el voltaje sobre la
batera crece en forma lenta durante el
proceso de carga, y decrece cuando
estn llenas. Esto le indica al cargador
que han llegado a su punto mximo de
carga. Sin embargo, monitorear la
temperatura nos asegura no tener
ningn tipo de problemas con las ba-
Figura 12. teras que se encuentren en corto. En
Cargador estos cargadores, es ideal que las ba-
inteligente teras no se ubiquen en serie, sino de
para bateras forma independiente, para que el mo-
de diferentes nitoreo sea especfico en cada unidad.
capacidades. Los cargadores rpidos de buena cali-

88
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 89

La fuente de energa

dad, especficos para un modelo de ba-


tera, usan circuitos de control interno
de las bateras que permiten acelerar el
proceso de carga. Muchos de ellos in-
cluyen un sistema de ventilacin para
impedir el sobrecalentamiento. De to-
das formas, cuando se utilizan con ba-
teras de otras marcas, realizan una car-
ga normal. Si el cargador rpido no uti-
liza este sistema de control interno,
puede daar las bateras. Existen algu-
nos cargadores especiales que pueden
realizar esta carga rpida sobre cual-
quier batera, pero son de marcas reco-
nocidas y su precio es elevado.
Como novedad, han comenzado a
aparecer cargadores que utilizan el Figura 13. Cargador para bateras de 9 V.
puerto USB de la computadora para
evitar la necesidad de otro enchufe (Fi-
gura 14). Incluso hay pilas que tienen
un adaptador USB para conectarlas
directamente a nuestra PC. Si perte-
necemos a la clase de fanticos que
tiene un hub USB de muchas bocas,
tal vez nos quede algn lugar para co-
nectar estos nuevos juguetes. Figura 14. Cargadores
de bateras por USB.
Ayudar a que no slo
las bateras duren ms podemos usar nuestro robot conec-
Todos los dispositivos que hemos tado a la corriente elctrica. As cui-
mencionado, en menor o mayor me- daremos nuestro bolsillo y nuestro
dida, son contaminantes. Es por eso planeta. De esta forma, los ciclos de
que queremos ofrecer algunos con- carga de las bateras se realizarn es-
sejos con respecto a la forma de de- pecficamente cuando sean necesa-
sechar las bateras para que su poder rios. Por otra parte, el uso de ba-
contaminante se reduzca. Antes que teras recargables (en lugar de alcali-
nada, en los momentos de testeo, nas, de carbn, etctera) ya es un

89
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 90

4. COMIDA DE ROBOTS

Figura 15. Batera flexible, una propuesta ecolgica para la generacin de energa.

punto de partida muy interesante tas de reciclado donde podamos en-


para evitar este tipo de contamina- viar lo que hemos apartado. El pro-
cin. La solucin ideal para el dese- ceso de reciclado no es directamen-
cho de las bateras parte de un tra- te rentable, por lo que es necesario
bajo en conjunto de la sociedad, que que las empresas que realicen este
debe apartarlas de la basura comn, proceso pertenezcan al Estado o
y del Estado, que debe proveer plan- estn subvencionadas por l. Hasta

LO BARATO SALE CARO


El INTI (Instituto Nacional de Tecnologa Industrial, de Argentina) realiz un estudio
comparativo de pilas alcalinas y de carbn, que inclua tanto las marcas reconoci-
das como las de venta callejera. Las conclusiones son que, aunque las de venta ca-
llejera sean ms baratas, la duracin es mucho menor, por lo que no son conve-
nientes econmicamente. Adems, las de carbn drenan su contenido al exterior y
son mucho ms txicas que las de mayor valor.

90
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 91

La fuente de energa

que no se tome conciencia de este No quemar pilas ni bateras de


peligro, los consejos que dan las ningn tipo.
ONGs vinculadas a la ecologa son: No dejarlas en lugares a los que pue-
No juntar pilas porque as se con- den acceder los nios.
centran los riesgos. Reemplazar, en la medida de lo po-
No tirar las pilas a la cloaca porque sible, el uso de pilas por corriente
pueden contaminar el agua. elctrica.

RESUMEN
Hay un conjunto amplio de variantes para alimentar a nuestro robot. Desde las tra-
dicionales bateras de plomo, demasiado pesadas para nuestros pequeos mviles,
hasta las nuevas celdas de combustible que no slo aportan ms capacidad, sino que
colaboran con un mundo ms limpio. En particular, hemos optado por el tipo de ba-
teras que consideramos de uso ms popular y ms econmico: las bateras de Ni/Mh.
Aunque tengamos que usar entre 8 y 10 bateras, el peso y la capacidad que tienen
sern de gran utilidad para mover a nuestro robot. Y adems, probablemente no ten-
gamos que comprar un cargador, porque las cargaremos con lo que ya tenemos en
nuestra casa. Por ltimo, no debemos olvidar el impacto de todo tipo de bateras en
nuestra bisfera. Es por eso que recomendamos el uso de una fuente para alimen-
tar a nuestro robot, y slo en aquellos momentos en los que necesitemos indepen-
dencia de cables, utilizar las bateras.

91
www.FreeLibros.me
04_ROBOTICA.qxd 24/10/2007 02:16 p.m. Pgina 92

ACTIVIDADES

TEST DE AUTOEVALUACIN

1 A qu llamamos capacidad de una ba- 6 Cules son las desventajas que pre-
tera? sentan las bateras de Plomocido?

2 Qu es la densidad de energa? 7 Qu son las celdas de combustible?

3 A qu se llama resistencia interna de 8 Qu tipo de bateras elegimos para


una batera? nuestro proyecto y por qu?

4 En qu tipo de pilas nos encontramos 9 Qu factores podemos analizar para


con el famoso efecto memoria? determinar la autenticidad de una ba-
tera?
5 Realice una comparacin entre las ba-
teras de Li-Ion, las de Ni-Cd y las de 10Cules son los factores que analizan
Ni/Mh. los cargadores inteligentes?

92
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 93

Robtica Captulo 5
Hablar con
nuestro robot
Cuando ya desarrollamos el controlador

y tomamos la decisin de cmo lo vamos

a alimentar, comienza el desafo de

programar el controlador. Los lenguajes

no son sencillos y necesitamos procesos


Comunicacin con el robot 94
lgicos para poder expresar, en el Lenguajes de programacin
para robots 95
PicBasic Pro 95
lenguaje del robot, lo que deseamos que
Compilador CCS C 97
MikroBasic 98
realice. En este captulo presentaremos Editor de cdigo fuente
de mikroBasic 100
los diferentes lenguajes y elegiremos uno Explorador de cdigo 103
Depurador 103
Manos a la obra 106
para explicar lo que necesitamos al
Elementos del lxico 108
Organizacin de los mdulos 110
programar el comportamiento del robot. Alcance y visibilidad 111
Variables, constantes y tipos 112
Estructuras 115
Operadores 116
Sentencias 117
Resumen 123
SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com Actividades 124

www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 94

5. HABLAR CON NUESTRO ROBOT

COMUNICACIN para obedecer a nuestras rdenes. No


CON EL ROBOT tiene incorporadas las tres leyes de la
robtica? Tal vez fue demasiado com-
Ya hemos logrado construir el cerebro plejo el pedido. Intentamos con cosas
de nuestro robot y lo hemos dotado ms sencillas: que nos traiga el con-
de energa. Slo nos falta encenderlo trol remoto, que atienda la puerta,
para darle vida a nuestra criatura. Pre- que saque a pasear al perro, que re-
sionamos un botn y en un primer suelva esas integrales dobles que nos
momento, nada ocurre. Pero de pron- fastidian, y nuestro robot sigue all,
to, algunos msculos tiemblan y sus sin obedecer. No ser que no entien-
ojos se abren. Hemos logrado el mi- de castellano? Probamos con ingls,
lagro! Slo basta con solicitar lo que alemn, francs, aymar y, sin embar-
deseamos que haga y nuestros sueos go, no obtenemos respuesta. Es hora
se cumplirn. Entonces le pedimos de que nos detengamos a tratar de
que nos traiga el peridico, que nos comprender a nuestro robot. Es hora
prepare una buena cena y que luego de que nos demos cuenta de que an
deje la cocina en orden. Nada ocurre. es pequeo, y que slo entender ins-
Sigue all, con sus lucecitas parpade- trucciones muy sencillas, instruccio-
antes, sin demostrar buena voluntad nes de muy bajo nivel.

Figura 1. Una Sinclair Spectrum que, con 48 Kb de RAM, desafiaba


nuestra capacidad de programar con poca memoria y baja velocidad.

94
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 95

Comunicacin con el robot

Lenguajes de programacin ALTO Y BAJO NIVEL


para robots
Para aquellos que hemos trabajado Nuestro robot no es ms que una com-
con computadoras de baja capacidad putadora, y tenemos que darle un con-
de procesamiento y poca cantidad de junto de instrucciones para que realice
memoria, programar los micros de los una tarea. Los lenguajes de alto nivel
robots nos resulta familiar, dado que nos permiten describir la tarea en un ni-
volvemos a tener las limitaciones de vel de abstraccin cercano a nuestro
aquellos viejos tiempos. proceso humano de razonamiento, pero
Con la aparicin de las PCs, la velo- son ms lentos y menos poderosos por-
cidad de procesamiento y la memoria que no tienen acceso a instrucciones tan
de las que disponemos nos permiten detalladas y precisas. Los lenguajes de
utilizar lenguajes que no hagan un bajo nivel son complejos de entender y
aprovechamiento preciso de todos los utilizar porque nos obligan a expresar lo
recursos. Gracias a estas ventajas, apa- que queremos que realice el robot en
recen los lenguajes de alto nivel, que instrucciones muy cercanas a procesos
nos brindan un mayor poder de ex- electrnicos y mecnicos, pero nos brin-
presividad a cambio de gastar mucha dan un poder mucho mayor por el nivel
memoria y procesamiento. de detalle que podemos lograr.
En el caso de los robots, carecemos
de estos dos recursos. Por eso, nece-
sitamos lenguajes que aprovechen al meras experiencias, con uno de esta
mximo cada byte de memoria y ca- ltima categora: MikroBasic. Ms
da ciclo de procesador para realizar adelante, cuando ya nos quede claro
nuestra tarea. De esta forma, los mi- el funcionamiento de nuestro mi-
cros utilizan habitualmente lengua- cro, podremos aventurarnos a hori-
jes de bajo nivel. Estos lenguajes zontes ms complejos.
son pobres en capacidad expresiva,
pero muy potentes a la hora de uti- PicBasic Pro
lizar cada componente de nuestro Uno de los lenguajes ms populares
controlador. El problema es que para los micros PIC es el PicBasic Pro
aprender a utilizarlos es complicado. (PBP), de microEngineering Labs.
Pero no temamos, vamos a hacer Como su nombre lo indica, es un
una recorrida por los lenguajes ms compilador Basic que posibilita la
comunes, desde los ms potentes programacin en un lenguaje mucho
hasta los ms sencillos de utilizar, y ms sencillo que el ensamblador de
nos quedaremos, para nuestras pri- MicroChip. Es similar al Basic del Ba-

95
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 96

5. HABLAR CON NUESTRO ROBOT

sic Stamp y posee libreras similares a Si en el puerto tuviramos conectado


ste. Produce cdigo para una gran va- un led, tendramos una bonita luz que
riedad de PIC de 8 a 68 pines. se enciende y apaga indefinidamente.
Para crear un programa a ser compi- Los creadores de PBP han desarrolla-
lado por PBP, utilizamos nuestro edi- do una suite, MicroCode Studio
tor de texto plano preferido, y graba- Plus (Figura 2), que une todas las he-
mos el archivo con extensin .BAS. rramientas necesarias en una nica
Luego llevamos ese archivo donde IDE. El editor posee coloreado de sin-
est el compilador pbp.exe y all eje- taxis y ayuda sensible al contexto. Su
cutamos Pbp nombreDelArchivo. explorador de cdigo permite saltar
Si el cdigo es sintcticamente co- con rapidez a secciones especficas,
rrecto, se crear un cdigo interme- como declaracin de variables, cons-
dio de extensin .ASM, que invo- tantes, smbolos y etiquetas inclui-
car al ensamblador para generar, dos en el cdigo fuente. Posee todas
por ltimo, un archivo .HEX. En las funcionalidades convencionales de
este archivo est el cdigo del micro, los editores de texto como cortar, co-
y lo bajaremos luego con el softwa- piar, pegar, bsquedas y reemplazos,
re programador. Veamos un ejemplo entre otros. Adems, la IDE nos per-
de cdigo en PicBasic Pro: mite realizar In Circuit Debugger
(ICD, depuracin en circuito), y re-
while true saltar cada lnea de cdigo cuando se
high PORTB.0 enciende el puerto ejecuta en el micro. Podemos definir
pause 500 espera 500 puntos de corte y ejecucin de cdi-
milisegundos go paso a paso, lo que facilita en gran
low PORTB.0 apaga el puerto medida la depuracin de nuestro pro-
pause 500 espera otros 500 grama. MicroCode Studio Plus tam-
milisegundos bin nos brinda un cargador de cdi-
wend go (bootloader) para incorporar a
nuestro PIC, de manera que no nece-

ENCONTRAR LOS LENGUAJES PARA PROGRAMAR LOS PICS


Como casi todas las cosas de este universo, en la red podemos encontrar demos de
los lenguajes e IDEs que estamos comentando. Aqu van los sitios:
PicBasic Pro: www.melabs.com/index.htm.
CCS C: www.ccsinfo.com.
MikroBasic: www.mikroe.com/en/.

96
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 97

Comunicacin con el robot

Figura 2. Vista del MicroCode Studio Plus, IDE para el PicBasic Pro.

sitemos un programador para nuestro conversor mencionado. Podemos de-


micro. Slo lo necesitaremos la pri- finir variables estructuradas cuyos
mera vez, para cargar este bootloader. componentes se correspondan uno a
uno con registros del micro.
Compilador CCS C Es integrable con simuladores de PIC
Este compilador de lenguaje C ha si- como el MPLAB y podemos mezclar
do diseado exclusivamente para la cdigo assembler en el medio de
lnea PIC. Se considera el compila- nuestro programa en C, y hacer refe-
dor ms optimizado para estos mi- rencia a las variables de ste. Para te-
cros. Tiene una librera de funciones ner una idea de la sintaxis, desarrolla-
predefinidas, lo que facilita la pro- remos el mismo ejemplo que mostra-
gramacin en un lenguaje de bajo ni- mos antes con PicBasic.
vel como el C. Sin estas funciones,
sera muy engorroso programar el while (TRUE) {
micro. Cuenta con controladores de output_high(PIN_B0); enciende
reloj en tiempo real y conversores el puerto
analgicos digitales. Por ejemplo, delay_us(500); espera 500
contamos con la instruccin READ_ milisegundos
ADC(), que permite leer un valor del

97
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 98

5. HABLAR CON NUESTRO ROBOT

output_low(PIN_B0); apaga ciones, provee ayuda sensible al con-


el puerto texto y pareo de llaves y parntesis.
delay_us(500); espera otros Brinda un asistente (Figura 4) para nue-
500 milisegundos vos proyectos donde, en pocos pasos,
} Todo esto se repite podemos generar la estructura bsica
eternamente del programa. Tambin permite reali-
zar depuracin, pero requiere de
hardware especial para su uso. En sn-
Cabe aclarar que las funciones que tesis, para programacin en bajo ni-
se presentan en este ejemplo desen- vel, es la opcin que presenta ms he-
cadenan cdigo mucho ms optimi- rramientas para facilitar el desarrollo.
zado que el generado por Basic.
MikroBasic
La firma CCS tambin ofrece IDEs Por ltimo, llegamos al lenguaje ele-
para Windows, llamadas PCW y gido para nuestros ejemplos de pro-
PCWH. La nica diferencia es que yectos. La empresa MikroElectrni-
PCWH soporta la serie PIC 18. Po- ca ha desarrollado un conjunto de
seen un editor de cdigo fuente (C compiladores para micros, tanto para
Aware Editor, Figura 3), que realiza co- lenguaje C como para Basic. Lo ms
loreo de sintaxis, control de tabula- interesante de ambos es que integran

Figura 3. Vista del editor C Aware de CCS.

98
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 99

Comunicacin con el robot

un IDE que facilita mucho la progra- Instalacin de mikroBasic


macin, ya que presenta las carac- Para instalar el programa en nuestra
tersticas que hemos mencionado, co- computadora, debemos dirigirnos a
mo coloreo de sintaxis, ayuda sensible la direccin www.mikroe.com/en/
al contexto, estadsticas sobre el uso compilers/mikrobasic/pic/ y en-
del micro y muchas otras ms. Por trar en la seccin Download, donde
otra parte, los desarrolladores nos per- podremos bajar la ltima versin.
miten bajar un demo gratuito com- Los pasos de instalacin son muy
pletamente funcional, donde slo te- sencillos, clsicos en cualquier pro-
nemos un lmite de 2Kb en el cdi- grama de Windows (Figura 5).
go fuente, lo que es suficiente para to- En la misma seccin del sitio pode-
dos los proyectos que desarrollaremos mos encontrar actualizaciones y par-
en nuestro libro. Soporta una gran ches, por lo que recomendamos visi-
cantidad de modelos de PICs y pro- tar peridicamente el sitio. Tambin
porciona libreras para RS-232, cone- podemos encontrar un conjunto de
xiones USB, interfaz para displays, manuales, muy claros y didcticos,
etctera. Dado que es el lenguaje y la que nos permitirn completar nuestra
IDE que vamos a utilizar, comence- breve mirada sobre la herramienta.
mos a estudiar en detalle cada una de En nuestro caso, todos los ejemplos
sus herramientas. que mostraremos y las indicaciones

Figura 4. Asistente de proyectos del PCW.

99
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 100

5. HABLAR CON NUESTRO ROBOT

de operacin del mikroBasic estn stas y otras opciones se pueden confi-


basados en la versin 5.0.0.2, del 31 gurar desde Tool/Preferences o al ha-
de octubre de 2006. cer clic sobre el icono Tools (Figura 6).
Para utilizar el asistente de cdigo, una
Editor de cdigo fuente vez que ingresamos las primeras letras
de mikroBasic de lo que deseamos escribir, presiona-
Uno de los puntos ms fuertes de la mos CTRL + ESPACIO y todos los iden-
IDE es el editor que nos proporciona. tificadores vlidos que comiencen con
Como todo editor de texto, presenta esas letras se desplegarn en un cuadro
las utilidades clsicas como cortar, co- de lista. All podremos elegir lo que
piar y pegar, y bsquedas y reempla- bamos a escribir o, simplemente, con-
zos masivos. Pero adems, nos ofrece: tinuar con el texto deseado si no lo en-
contramos (Figura 7). Es necesario rea-
Coloreo de sintaxis. lizar una primera compilacin para
Asistente de cdigo. que funcione el asistente.
Asistente para parmetros de fun- Tambin podemos activar un asis-
ciones. tente para los parmetros de las fun-
Plantillas prearmadas. ciones (Figura 8). Para ello, escribi-
Autocorreccin de tipos. mos la llamada a la funcin y, cuan-
Bookmarks. do abrimos el parntesis, automti-

Figura 5. Durante la instalacin, es recomendable dejar todo como est en la


seleccin de componentes para mikroBasic, ya que no ocupa demasiado espacio.

100
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 101

Comunicacin con el robot

Figura 6. Editor de preferencias de la IDE de mikroBasic.

Figura 7. Ejemplo de la lista presentada por el asistente


de cdigo cuando escribimos de y luego CTRL + ESPACIO.

CINTA ADHESIVA, PEGAMENTO, BANDAS ELSTICAS, TODO VALE!


Muchas veces se puede salir de situaciones problemticas gracias a estos materiales. Si
no nos presentamos en concursos de belleza, cuando el tiempo nos corre y debemos pre-
sentarnos en el torneo, todo lo que una fuertemente a nuestras piezas ser vlido!

101
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 102

5. HABLAR CON NUESTRO ROBOT

camente aparecer un pequeo car- Para las estructuras ms complejas,


tel con el o los parmetros corres- como las funciones, los procedi-
pondientes, que nos indicar con mientos, los encabezados u otras,
nombre:tipo qu funcin cumple el podemos utilizar las plantillas (Figu-
parmetro y de qu tipo es. ra 9). Por ejemplo, si escribimos func
y presionamos CTRL + J, automti-
camente se escribir la estructura
completa de una funcin para que
completemos con los datos necesa-
rios. Tambin tenemos la posibili-
dad de crear nuestras propias plan-
tillas en la opcin Auto Complete de
Tools/Preferences.
Por otro lado, cabe mencionar que
adems de las caractersticas que ya
presentamos, tenemos herramientas
para realizar autocorreccin, co-
mentar o descomentar un conjunto
de lneas de cdigo, insertar marcas
Figura 8. Asistente que informa y saltar de una a otra e ir a un n-
los parmetros de las funciones. mero de lnea de cdigo.

Figura 9. Editor de las plantillas de cdigo.

102
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 103

Comunicacin con el robot

Explorador de cdigo que es a nivel de cdigo y no tiene


El explorador de cdigo (Code Explo- lectura real del micro, no permite si-
rer) se encuentra en la zona izquierda mular ciertas propiedades intrnsecas
de la ventana. Nos proporciona una del procesador, como temporizado-
lista de los tems declarados en el c- res, interrupciones, etctera.
digo. Desde all podemos saltar a cual- Una vez que hemos compilado nues-
quiera de las declaraciones con slo tro programa (Project/Build), ejecuta-
hacer doble clic sobre ella. En la par- mos el depurador en Run/Start Debug-
te superior del explorador podemos ger. Automticamente nos marca la
encontrar dos solapas ms. La solapa primera lnea de cdigo y nos aparece
QHelp nos proporciona ayuda sobre la la ventana Watch, que nos permitir re-
librera de funciones. La ltima sola- alizar el control de la depuracin. En
pa (Keyboard) nos proporciona una esta ventana podemos visualizar varia-
lista de los atajos de teclado del editor. bles y registros del PIC, actualizados
segn la ejecucin del programa. En la
Depurador parte superior de la ventana encontra-
MikroBasic proporciona un depura- mos iconos para el control de la ejecu-
dor a nivel de cdigo fuente (Figura cin del depurador (arranque, pausa,
11). Esto nos permite simular el com- detencin) y mecanismos de ejecucin
portamiento del micro y nos asiste del cdigo paso a paso. Debajo de es-
para la depuracin de errores. Dado ta barra tenemos un cuadro de lista pa-

Figura 10. Aqu podemos ver la parte de la ventana


que contiene el explorador, la ayuda y los atajos de teclado.

103
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 104

5. HABLAR CON NUESTRO ROBOT

ra poder agregarle variables y registros Para poder probar las opciones del de-
al cuadro inferior, que nos permitir purador, realicemos nuestro primer
seguir el comportamiento de ellos pa- programa sencillo, idntico al que he-
so a paso. En ese cuadro, cuando agre- mos utilizado en cada ejemplo del
gamos una variable o un registro, po- compilador. Para comenzar, luego de
demos ver el nombre, el valor y la di- abrir mikroBasic, cerremos el proyec-
reccin de memoria que ocupa. to que tengamos abierto y vayamos al
men Project/Close Project. Creemos
un proyecto nuevo en Project/New
Project, donde nos aparecer la ven-
tana que podemos ver en la Figura 12.

Completemos el nombre, el sendero


y la descripcin del proyecto y eliga-
mos el procesador (utilicemos el PIC
Figura 11. Ventana del controlador 16F88) y la velocidad de reloj (en
de la depuracin. nuestro caso, 4.0). Las banderas que

Figura 12. Creacin de un proyecto nuevo.

104
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 105

Comunicacin con el robot

aparecen en la parte inferior las de- de la ventana podremos ver cmo se


jaremos como estn por defecto. Au- simula el paso del tiempo. Si hace-
tomticamente nos aparecer un mos doble clic sobre una variable,
fuente con el encabezado del progra- podremos modificar su valor en el
ma. Debajo del encabezado escribi- formato numrico que deseemos.
remos el siguiente cdigo: Otras ventanas de depuracin que
podemos encontrar si nos dirigimos
main: a View/Debug windows son:
TRISB = 0 Configura
los pines de PORTB como salida Stopwatch: esta ventana nos mues-
while true tra la cantidad de ciclos/tiempo
PORTB.3 = 255 Enciende utilizados hasta la ejecucin del l-
los pines de PORTB timo comando (Figura 13). El valor
delay_ms(500) Espera Delta nos muestra el nmero de ci-
500 milisegundos clos/tiempo entre la ltima lnea
PORTB.3 = 0 Apaga ejecutada y la lnea activa. Con el
PORTB botn Reset To Zero podemos po-
delay_ms(500) ner en 0 el valor de Stopwatch, pe-
Nuevamente espera 500 ro continuaremos acumulando en
milisegundos el cuadro Current Count.
wend RAM: nos muestra el contenido de la
end. RAM e indica los ltimos valores
cambiados en color rojo.
History: presenta las ltimas N lne-
Si luego de realizar la compilacin as de nuestro fuente que se han eje-
(CTRL + F9) ejecutamos el depurador cutado, pero en cdigo assembler.
(F9), podremos ver cmo seala la
primera lnea posterior a main y abre
la ventana Watch Window. All po-
dremos aadir las variables TRISB y
PORTB para realizar el seguimiento
de sus valores. Si ejecutamos paso a
paso, nos indicar en qu lnea nos
encontramos y la resaltar con color,
y veremos la modificacin de los va-
lores de las variables. Cuando lle-
guemos a delay, en la parte inferior Figura 13. Ventana del Stopwatch.

105
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 106

5. HABLAR CON NUESTRO ROBOT

Por ltimo, cuando procedemos a Manos a la obra


compilar, si tenemos errores en Como ya hemos visto, mikroBasic
nuestro cdigo, aparecern en la organiza sus aplicaciones en proyec-
parte inferior de nuestra pantalla, en tos. Estos proyectos estn compues-
la ventana de errores. tos por un archivo .PBP descriptor
All se nos indicar la lnea del error, del proyecto y uno o ms archivos de
su mensaje y la unidad donde se pro- cdigo fuente con extensin .PBAS.
dujo. Si hacemos doble clic sobre es- Cabe aclarar que slo podemos
ta lnea, iremos directamente a su compilar un fuente si ste forma
posicin en el cdigo fuente. parte de un proyecto.
Una vez que tenemos creado el pro-
Probablemente, todas estas carac- yecto, como vimos en el punto an-
tersticas del depurador de mikroBa- terior, podemos editarlo si vamos a
sic lo convierten en la IDE ms po- Project/Edit project, donde nos apa-
derosa del mercado para la progra- recer la misma ventana que usamos
macin de PICs. Ahora que ya co- para crearlo. Cuando compilamos
nocemos la herramienta, pasemos a nuestro proyecto, se nos generan los
crear nuestros propios programas. siguientes archivos:

Figura 14. Una mirada sobre todas las herramientas


que presenta la IDE de mikroBasic.

106
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 107

Comunicacin con el robot

hex: archivo estilo Intel. Con l WINPIC800


programaremos el micro.
mcl: archivo binario de distribu- Para poder bajar nuestros programas
cin. Puede agregarse a otros pro- al programador y de all a nuestro con-
yectos sin entregar el fuente. trolador, debemos usar el WinPic800,
asm: archivo en cdigo assembler que podemos conseguir en forma gra-
(Figura 15), pero con un conjunto tuita en el sitio www.winpic800.com.
de comentarios que lo hace muy Est todo en castellano y su forma de
legible y ms fcil de entender. Por uso es muy sencilla. De todas maneras,
ejemplo, para cada instruccin del si se presenta alguna duda, es reco-
fuente en Basic aparece la lista de mendable consultar la ayuda y los fo-
comandos en assembler. Tambin ros que hay en el sitio.
podemos verlo una vez que se ha- De nuestra parte, una nica recomen-
ya generado desde el men View/ dacin que no encontramos en la docu-
View Assembly. Para aprender, es mentacin: en la solapa Config, probar
recomendable que miremos el con las diferentes opciones de Osc, y
.ASM generado por el ejemplo que dejar activo slo WDT.
utilizamos para el depurador.

Figura 15. Aqu podemos ver el assembler del cdigo que enciende el led.
Los comentarios que tiene lo hacen ms legible.

107
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 108

5. HABLAR CON NUESTRO ROBOT

MikroBasic nos proporciona un un rango de 32 bits, podemos acce-


conjunto de variables globales y der a cualquiera de ellos si escribi-
constantes predefinidas. Todos los mos mivar.n, donde n es un nmero
registros estn implcitamente de- entre 0 y 31, que indica el bit al cual
clarados como variables globales de accedemos. Este acceso es tanto a ni-
tipo byte y son visibles en todo el vel de lectura como de escritura.
proyecto. Tambin nos proporciona
constantes como PORTB, TMR1, etc- Elementos del lxico
tera. Todos los identificadores estn Cuando un cdigo fuente es compi-
en mayscula, tal como se los iden- lado, la primera fase que se produce
tifica en las hojas de datos de Mi- es la de tokenizacin. En este mo-
crochip. Para ver la lista completa de mento, una herramienta llamada par-
predefiniciones, podemos abrir el ser recorre el archivo de texto y reco-
archivo .DEF correspondiente al noce unidades significativas (tokens),
micro utilizado. Estos archivos se como palabras clave, literales, varia-
encuentran dentro de la carpeta bles, etctera, y los espacios en blan-
defs, donde se instal mikroBasic. co. En realidad, se llama espacios en
Con respecto a las variables, pode- blanco a todos los espacios, tabula-
mos acceder a ellas a nivel de bit. Por ciones, fines de lnea y comentarios.
ejemplo, si declaramos la variable Todos ellos determinan el comienzo o
mivar de tipo longint, lo cual define el fin de un token. Por ejemplo:

Figura 16. MikroBasic nos brinda magnficos grficos estadsticos


sobre el cdigo de mquina que genera nuestro fuente.

108
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 109

Comunicacin con el robot

Dim a as byte =: operador de asignacin.


Dim b as longint 23: literal.
newline: fin de la sentencia.

Es equivalente a Los literales son aquellas expresiones


que no deben ser evaluadas, que ya
Dim a as byte tienen valor por s mismas. En el ca-
Dim b as longint so de los literales que representan n-
meros enteros, pueden estar antecedi-
dos por un signo ms o un signo me-
Para los comentarios se utiliza el nos. Tambin podemos escribir litera-
apstrofe como iniciacin y se fina- les enteros en hexadecimal si antepo-
liza con el fin de lnea. No podemos nemos el prefijo $ 0x ($3F 0x3F)
poner comentarios de ms de una l- o en binario, si anteponemos %
nea, excepto que comencemos cada (%100101). Los literales de punto
lnea con un apstrofe. flotante representan el signo decimal
Los tokens son los elementos ms con un punto. La estructura es: par-
pequeos que tienen significado por teEntera.parteDecimalExponente, si
s mismos en Basic. MikroBasic re- utilizamos la notacin cientfica tra-
conoce los siguientes tokens: dicional. Algunos ejemplos:

Keywords (palabras clave). 0. =0.0


Identificadores. -1.43 =-1.43
Constantes. 12.55e6 =12.55 * 1000000
Operadores. 2e-5 =2 * 10^-5 o lo
Separadores. que es igual, 2 / 100000
.04e33 =0.04 * 10^33
Por ejemplo, si tenemos el siguiente
cdigo:
Los literales de caracteres y de cade-
mivar=23 na se encierran entre comillas. Las
comillas consecutivas, , se consi-
deran como un carcter nulo. Con
Esto se convierte en los siguientes respecto a los identificadores (nom-
tokens: bres de variables, de funciones,
constantes, etctera), pueden tener
mivar: variable. una longitud arbitraria y contener

109
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 110

5. HABLAR CON NUESTRO ROBOT

caracteres de la A a la Z, el carcter Declaracin de variables


_ (guin bajo), y los dgitos del 0 al dim
9. La primera letra debe ser un
carcter o el guin bajo. No se dis- Declaraciones de procedimientos
tingue maysculas, por lo tanto var, sub procedure <nombre
Var y vAr son el mismo identificador. procedimiento>(<param1>, )
<declaraciones locales>
Organizacin de los mdulos
Un proyecto en mikroBasic consiste end sub
en un mdulo principal y en un con-
junto de mdulos adicionales (optati- Declaraciones de funciones
vos) con libreras de funciones, decla- sub function <nombre
raciones, etctera. El mdulo princi- funcin>(<param1>, )
pal tiene una estructura como la que <declaraciones locales>
presentamos a continuacin:
end sub
program <nombre>
include <otros mdulos incluidos> **********************
Cuerpo de programa
********************** **********************
Declaraciones
********************** main:
aqu va nuestra obra
Declaracin de smbolos maestra
symbol end.

Declaracin de constantes
const Las otras unidades deberan tener el
siguiente aspecto:

LIMITACIONES DE ANIDACIN
Cada vez que desde una funcin o un procedimiento llamamos a otra rutina (o a s
mismo en el caso de recursividad), decimos que aumentamos el nivel de anidacin
en uno. Lamentablemente, las llamadas recursivas no son soportadas por mikro-
Basic. De todas maneras, tambin tenemos un lmite en los niveles de anidacin,
que en el caso de la familia PIC16, es de 8 niveles.

110
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 111

Comunicacin con el robot

module <nombre> Declaraciones de procedimientos


include <otros mdulos sub procedure <nombre
incluidos> procedimiento>(<param1>, )
<declaraciones locales>
**********************
Interface (globales): end sub
**********************
Declaraciones de funciones
Declaracin de smbolos sub function <nombre
symbol funcin>(<param1>, )
<declaraciones locales>
Declaracin de constantes
const end sub

Declaracin de variables end.


dim

prototipos de procedimientos Alcance y visibilidad


sub procedure <nombre Llamamos alcance de un identifica-
procedimiento>(<param1>, ) dor a la parte del programa donde el
identificador se puede utilizar para
prototipos de funciones acceder al objeto al que apunta.
sub function <nombre Hay diversos alcances segn el lugar
funcin>(<param1>, ) donde hacemos la declaracin del
identificador, veamos:
**********************
Implementacin Si el identificador se declara en la
********************** seccin de declaraciones del mdu-
lo principal, fuera de toda funcin
implements o todo procedimiento, el alcance se
extiende desde la declaracin hasta
Declaracin de constantes el final del archivo, y se incluyen to-
const das las rutinas que all se encuen-
tran. Diremos que estos identifica-
Declaracin de variables dores tienen un alcance global.
dim Si en cambio se declara en una
funcin o un procedimiento, su al-

111
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 112

5. HABLAR CON NUESTRO ROBOT

cance se extiende hasta el final de cal tiene su mismo nombre. Sin em-
la rutina. En este caso, los identi- bargo, el objeto identificado sigue
ficadores son locales. presente, aunque no es accesible. En
Si se declara en la seccin interfaz sntesis, la visibilidad nunca exce-
de un mdulo, su alcance se ex- de al alcance, pero s puede ocurrir
tiende desde donde se declara has- que el alcance exceda a la visibilidad.
ta el final, y a todo mdulo que use
el mdulo donde se encuentra la No profundizaremos ms sobre el
declaracin. La nica excepcin desarrollo de programas modulares,
son los smbolos, que tienen un al- dado que realizaremos programas
cance limitado al archivo donde pequeos. Cuando veamos cuestio-
fueron declarados. nes sobre ftbol de robots, progra-
Si se declara en la seccin imple- maremos algunos mdulos de detec-
mentacin de un mdulo, pero no cin del piso y de la pelota.
dentro de una funcin o un pro-
cedimiento, el alcance va desde la Variables, constantes y tipos
declaracin hasta el final del ar- Las variables, como ya sabemos, son
chivo, y est disponible en todas simplemente un identificador o un
las funciones y en todos los proce- apuntador a una zona de memoria de
dimientos del mdulo. contenido plausible de ser modificado.
Todas las variables se deben declarar
Llamamos visibilidad de un identi- antes de usar. Para ello escribimos:
ficador a las regiones del fuente don-
de podemos acceder a los objetos dim lista_de_nombres_de_
apuntados por l. En general, alcan- variables as tipo
ce y visibilidad coinciden, pero no
necesariamente. Podramos tener un
identificador que se vuelva invisible La lista_ de_nombres_de_variables es
en una funcin o en un procedi- una lista delimitada por comas de
miento porque un identificador lo- identificadores vlidos, que sern

LMITES DE TAMAO EN LAS RUTINAS


En las aplicaciones sobre PIC16 (que es nuestro caso), una rutina no puede exceder
una pgina (aproximadamente, 2000 instrucciones). Si la rutina no entra en una pgi-
na, se producir un error de compilacin. Si nos encontramos con este problema, bas-
ta con redisear nuestro cdigo para obtener rutinas ms pequeas.

112
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 113

Comunicacin con el robot

todas del mismo tipo de datos. Por permita el valor asignado. Aqu te-
ejemplo: nemos algunos ejemplos:

dim dias, edad, curso as byte const MAX as longint = 16348


dim contador as word const MIN = 100 el compilador
asume el tipo word
const LETRA=a el compilador
Las constantes son datos que no asume char
varan en la ejecucin del programa, cont ERROR=Error grave el
es decir, no consumen memoria compilador asume string
RAM. Se declaran de la siguiente const meses as byte[12]=(31, 28,
manera: 31, 30, 31, 30, 31, 31, 30,
31, 30, 31)
const NOMBRE_DE_CONSTANTE [as
tipo] = valor
Basic es un lenguaje con tipos es-
trictos. Esto significa que en el mo-
El nombre de la constante debe ser mento de la compilacin se debe po-
un identificador vlido. Por conven- der definir un tipo especfico para
cin, se ponen todas las letras de su cada identificador.
nombre en mayscula, para identi- En estos lenguajes, los tipos sirven
ficarlas rpidamente en el cdigo. para determinar la cantidad de me-
moria necesaria, interpretar los bits
Aunque la declaracin de tipo es op- que encuentran en el objeto cuando
cional, cabe aclarar que si no lo ha- acceden y para asegurar asignaciones
cemos, elegir el tipo ms chico que y pasajes de parmetros correctos.
TIPO TAMAO RANGO
byte 8 bits 0 .. 255
char 8 bits 0 .. 255
word 16 bits 0 .. 65535
short 8 bits -128 .. 127
integer 16 bits -32768 .. 32767
longint 32 bits -2147483648 .. 2147483647
float 32 bits 1.17549435082*1038 ..
6.80564774407*1038
Tabla 1. Tipos simples de variables.

113
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 114

5. HABLAR CON NUESTRO ROBOT

Los tipos simples son los que pode- semana[2] = 12


mos observar en la Tabla 1.
En mikroBasic tambin contamos Esto le asigna al tercer elemento de la
con arreglos. Un arreglo (Figura 17) es coleccin (recordemos que el primer
una coleccin de elementos del mis- elemento es el 0) el valor 12.
mo tipo, identificados en su conjun-
to con un nombre e individualmente Tambin podemos crear arreglos
con un ndice. Por ejemplo: multidimensionales. Para poder re-
crear una imagen sencilla, podemos
dim semana as byte[7] pensar un arreglo de dos dimensiones
como una planilla, donde un ndice
indica la fila y el otro la columna. Por
Esto declara un arreglo de nombre ejemplo, para declarar un arreglo de
semana que contiene siete elementos dos dimensiones escribimos:
de tipo byte. Cada elemento estar
identificado como semana[i], donde dim sueldos as integer[23][12]
i es un nmero entre 0 y 6. De esta
manera, accedemos a cada elemen-
to, tanto para su lectura como para De esta manera, tenemos una varia-
su escritura. Por ejemplo: ble sueldos que tiene 23 filas y 12 co-

5 6 2 3 4 1 4 8
ndice: 0 1 2 3 4 5 6 7

Figura 17. Un arreglo es una coleccin de elementos


del mismo tipo identificados por un ndice.

CICLOS INFINITOS
A pesar de que en la programacin tradicional un ciclo infinito trasluce algn error, en
el caso de los robots es habitual su uso. Como el robot har lo mismo hasta que se
apague o se quede sin bateras, en general la tarea principal, y otras tareas que se
estn ejecutando en forma paralela, estn dentro de una estructura while true wend.
De esta manera, se ejecutar infinitamente hasta que el robot se detenga.

114
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 115

Comunicacin con el robot

lumnas, desde sueldos[0][0] hasta EFICIENCIA DE TIPOS


sueldos[22][11]. Es decir, 276 ele-
mentos. Las cadenas son arreglos La unidad aritmtico lgica de los PICs se
de caracteres, y se las declara de esa ha optimizado para trabajar a nivel de by-
manera. Por ejemplo: tes. Aunque con mikroBasic podemos tra-
bajar tipos de datos muy complejos, esto
dim nombre as string[14] aumenta dramticamente el tiempo de
procesamiento. Siempre conviene usar el
tipo de datos ms pequeo para cada si-
Esto declara una variable nombre que tuacin. Cada modelo de procesador tie-
apuntar a una cadena de 14 caracte- ne diferentes comportamientos en su uni-
res. De todas formas, podemos acce- dad aritmtico lgica, pero siempre es
der a la cadena como un solo ele- bueno usar tipos ajustados a lo necesario.
mento, como podemos ver aqu:

nombre=Iris
dim miembron as tipo
end structure
En este ejemplo, le asignamos una
cadena de 4 caracteres a la variable
nombre. El lmite de cadena a asig- Donde nombre_estructura y miem-
nar es de 14 caracteres. bro1 son nombres vlidos para los
identificadores. Por ejemplo:
Estructuras
Para representar objetos cuya infor- structure punto
macin es un conjunto de datos de dim x as integer
diversos tipos, utilizamos estructu- dim y as integer
ras. Por ejemplo, si queremos repre- end structure
sentar un punto, necesitamos la co-
ordenada x y la coordenada y com-
prendida por un nombre nico. La Una vez creada la estructura, se la uti-
declaracin de la estructura es la que liza como si fuera un tipo en la decla-
podemos ver a continuacin: racin de identificadores. Por ejemplo:

structure nombre_estructura dim posicion as punto


dim miembro1 as tipo dim esquina as punto

115
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 116

5. HABLAR CON NUESTRO ROBOT

Para acceder a cada elemento de la es- demos ver en la Tabla 2. Cabe men-
tructura, simplemente escribimos cionar que el operador tambin
identificador.campo_de_estructura. puede usarse delante de un nme-
ro para cambiar su signo.
Por ejemplo: Relacionales: los operadores rela-
cionales comparan dos expresiones
posicion.x=12 y devuelven verdadero o falso segn
esquina.y=posicion.y la comparacin realizada. Ellos son
los que se muestran en la Tabla 3.
De bits: operan sobre bits individua-
Operadores les de los operandos.
En mikroBasic podemos encontrar Ambos operandos deben ser de tipos
los siguientes operadores: con signo o sin signo simultnea-
mente. Los operadores de bits son los
Aritmticos: estos operadores per- de la Tabla 4.
miten realizar cmputos matem-
ticos. Sus operandos son numri- Los operadores and, or y not tam-
cos y tambin retornan un resulta- bin se pueden utilizar con expre-
do numrico. Ellos son los que po- siones lgicas, es decir, cuyo valor
OPERADOR OPERACIN EJEMPLO
+ Suma 5 + 3 retorna 8
- Resta 2 - 3 retorna -1
* Multiplicacin 5 * 4 retorna 20
/ Divisin 14/4 retorna 3.5
div Divisin entera 14 div 4 retorna 3
mod Resto de la divisin entera 14 mod 4 retorna 2
Tabla 2. Operadores aritmticos.

OPERADOR OPERACIN EJEMPLO


= Igual 5 = 5 retorna Verdadero (true)
<> Distinto 5 4 < > 6 - 2 retorna Falso (false)
> Mayor que 3.5 + 7.2 > 5.2 + 9.3 retorna Falso
< Menor que 9 > 3 retorna Verdadero
>= Mayor o igual 3 + 2 > = 1 + 4 retorna Verdadero
<= Menor o igual 13.6 < = 12.8 retorna Falso
Tabla 3. Operadores relacionales.

116
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 117

Comunicacin con el robot

evaluado es verdadero o falso. Lo DIVISIN POR CERO


que retornan tiene la misma lgica
Si se utiliza de manera explcita el lite-
que en los operadores a nivel de bits.
ral 0 como segundo operando, el com-
Es decir, podemos pensar en verda-
pilador reportar un error y no gene-
dero como 1 y en falso como 0, y a
rar cdigo. Pero en el caso de que es-
partir de all, analizar el resultado de
te problema se produzca en forma
la operacin como si fuera una ope-
implcita (por ejemplo, cuando tene-
racin a nivel de bits.
mos una variable que toma fortuita-
mente el valor 0 y est como dividendo)
Sentencias
el resultado ser el mximo valor posi-
Como en todo lenguaje de progra-
ble para el tipo apropiado.
macin procedural, tenemos un pe-
queo conjunto de sentencias que el
compilador convierte en las instruc- partir de esa librera comenzaremos
ciones de cdigo mquina corres- a construir la propia para aumentar
pondientes. En general, este con- el poder de nuestro lenguaje en el
junto es mnimo, y se enriquece con mbito especfico de nuestro traba-
la librera de funciones y procedi- jo. Veamos las sentencias que nos
mientos que ofrece el ambiente. A proporciona este Basic.
OPERADOR OPERACIN EJEMPLO
and Retorna 1 si ambos bits en la misma 12 (%1100) and
posicin estn en 1. 10 (%1010) retorna
8 (%1000)
or Retorna 1 si por lo menos uno de los 2 bits 12 (%1100) or
en la misma posicin est en 1. 10 (%1010) retorna
14 (%1110)
xor Retorna 1 si uno de los 2 bits en la misma 12 (%1100) xor
posicin est en 1 y el otro no. 10 (%1010) retorna
6 (%0110)
not Invierte cada bit del nmero. not 6 (%0110) retorna 9 (%1001)
<< Mueve los bits una posicin hacia la izquierda. 7 (%0111) << 2 retorna 28 (%11100)
Los bits ubicados ms a la izquierda se
descartan y a la derecha se rellena con ceros.
>> Igual a << pero a la derecha. 35 (%100011) >> 3 retorna 4 (%100)
Tabla 4. En esta tabla podemos observar los operadores
de bits con los que podemos trabajar.

117
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 118

5. HABLAR CON NUESTRO ROBOT

Sentencia asm relacional homnimo. Simplemente, el


La primera sentencia que presenta- contexto de uso de cada uno determi-
remos es asm, que permite incorpo- na la semntica que utilizar el compi-
rar cdigo assembler en nuestro c- lador para tomarlo como una asigna-
digo Basic. Su sintaxis es: cin o un operador.

asm Sentencias condicionales


conjunto de instrucciones Como en otros lenguajes procedura-
en assembler les, contamos con sentencias condi-
end asm cionales que nos permiten seguir uno
u otro curso de accin segn deter-
minada condicin. La ms conocida
Dentro de esta sentencia, debemos es la sentencia if, cuya sintaxis es:
comenzar los comentarios con pun-
to y coma. Luego, al compilar, este if expresin then
cdigo quedar directamente tradu- sentencias
cido a los valores correspondientes
de cdigo mquina. [ else
otras sentencias ]
Asignacin end if
Aunque ya la hemos usado, no pode-
mos dejar de presentar la asignacin
que tiene la siguiente forma: La expresin del if debe ser una ex-
presin booleana, es decir, que de-
variable=expresin vuelva verdadero o falso. En el caso
de retornar el valor verdadero, se eje-
cutan las sentencias que estn den-
La expresin se evala y asigna su re- tro del primer grupo. Si el segundo
sultado a la variable. No debemos con- grupo de sentencias est definido
fundir este operador con el operador (los corchetes no deben escribirse,

VARIABLES DENTRO DEL CDIGO EN ASSEMBLER


Dentro del cdigo en assembler, podemos usar variables que estn declaradas en
la parte Basic de nuestro fuente. Una recomendacin es estar seguros de que la va-
riable est inicializada en el momento que se use de esta manera. Si no, se puede
producir un error y el programa se puede colgar.

118
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 119

Comunicacin con el robot

slo nos muestra que esa seccin es case valor_2


optativa), entonces se ejecuta este sentencias_2
segundo grupo. Si no est, se con-
tina con las sentencias posteriores
al end if. Por ejemplo: case valor_n
sentencias_n
if PORTA.3=1 then [case else
PORTB.2=1 sentencias_por_
else defecto
PORTB.3=1
endif ]
end select

Supongamos que el bit 3 del puerto El selector es la expresin que se


A est definido como entrada y los evala para luego determinar si coin-
bits 2 y 3 del puerto B como salidas. cide con alguno de los valores de las
Lo que hacemos aqu es encender el sentencias case. Esos valores pueden
bit 2 de B si la entrada registrada en ser literales, constantes o expresio-
el 3 de A se enciende, y encender el nes. El case else es optativo, y sus
bit 3 de B en el otro caso. sentencias se ejecutan si no ingres
en ninguno de los case anteriores. En
Otra sentencia que define el flujo del los valores podemos agrupar un con-
programa segn una condicin es la junto de ellos separados por una co-
sentencia select case. Su sintaxis es: ma, para que se ejecuten sus senten-
cias cuando el selector coincida con
select case selector cualquiera de ellos. Por ejemplo:
case valor_1
sentencias_1 select case resu

HOJA DE DATOS DE LOS PICS


Para tener informacin completa y detallada de cada PIC, podemos recurrir a sus hojas
de datos (datasheet). Microchip las ofrece en su sitio www.microchip.com. Estas hojas
tienen una descripcin profunda del micro, su diagrama de pines en todos los modelos,
diagramas internos, organizacin de la memoria, funcionamiento de los timers, etctera.

119
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 120

5. HABLAR CON NUESTRO ROBOT

case 0 que est definido en valor_salto. Si el


oper=0 step no se define, el salto es de uno
case 1, 4, 7, 9 en uno. El contador comienza con el
oper=1 valor indicado en valor_inicial, y si
case 2,5,8 en algn momento supera el
oper=2 valor_final, el ciclo deja de repetirse.
case else Es decir, cada vez que se llega a next
oper=3 contador, el contador aumenta lo in-
end select dicado por valor_salto y se evala si
ha superado el valor_final. De ser as,
no vuelven a ejecutarse las sentencias
En el caso de que resu valga 0, oper del ciclo. Por ejemplo, en el siguien-
tomar el valor 0. Si vale 1, 4, 7 9, te caso, el arreglo a toma el valor 255
oper tomar el valor 1. En el caso de en cada posicin del 0 al 7.
que sea 2, 5 u 8, el valor de oper ser
2. Y en otro caso, oper saldr de esta for i= 0 to 7
estructura con valor 3. a[i]=255
next i
Sentencias de iteracin
Las sentencias de iteracin nos per-
miten repetir un conjunto de sen- Otra sentencia que podemos usar
tencias una determinada cantidad para una repeticin es la estructura
de veces o segn se produzca una while, que se define de esta manera:
condicin o no. En el primer caso,
la sentencia for nos permite definir while expresin
un nmero de repeticiones a ejecu- sentencias
tarse, de la siguiente manera: wend

for contador = valor_inicial to


valor_final [step Cada vez que se est por ejecutar el
valor_salto] conjunto de sentencias, se evala la
sentencias expresin. Si su resultado es verda-
next contador dero, se ejecutan. Si es falso, se con-
tina la ejecucin con las sentencias
posteriores al wend.
El contador es una variable que au- Con este comportamiento, pode-
mentar en cada repeticin segn lo mos tener casos en los que las sen-

120
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 121

Comunicacin con el robot

tencias no se ejecutan nunca, porque evaluar la expresin luego de la eje-


la expresin retorna falso en la pri- cucin de las sentencias.
mera evaluacin. Por ejemplo:
Para ello tenemos la sentencia do,
i=0 con la siguiente sintaxis:
while i<=7
a[i]=255 do
i=i+1 sentencias
wend loop until expresin

En este ejemplo, logramos exacta- En este caso, no slo el momento de


mente que lo que hicimos en el an- evaluacin vara con respecto al while.
terior. En general, cuando la condi- Tambin la lgica se invierte. Si al lle-
cin de corte est basada en alguna gar a loop until la expresin es falsa, se
variable que aumenta en forma line- vuelve a ejecutar el ciclo. De lo con-
al (de 1 en 1, de N en N) se utiliza trario, se contina con las sentencias
la sentencia for. En otro caso, cuan- posteriores a loop until. Tomemos el
do la condicin es ms compleja y el mismo ejemplo anterior y traduzc-
comportamiento de las variables que moslo a esta nueva estructura, como
entran en juego en la condicin es vemos a continuacin:
ms complejo y menos lineal que un
aumento de N en N, es necesaria i=0
una estructura while. do
a[i]=255
Si necesitamos que el conjunto de i=i+1
sentencias que se van a repetir se eje- loop until i>7
cute por lo menos una vez, debemos

DAR VUELTAS POR LA ETERNIDAD


Es fundamental analizar si las expresiones que escribimos para ser evaluadas en
las estructuras de repeticin tienen alguna o algunas variables que puedan modifi-
car su contenido en algn momento de la ejecucin del programa. Si la expresin
puede tener el mismo resultado eternamente, tenemos algn error conceptual en
ella o en el ciclo de repeticin. Tambin puede ocurrir que utilicemos mtodos des-
prolijos como el break, pero no es recomendable.

121
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 122

5. HABLAR CON NUESTRO ROBOT

INTELIGENCIA ARTIFICIAL El robot quedar con sus actuadores en


el estado en el que se encontraba antes
Si nos interesa conocer ms sobre el de llegar al loop, y cuando se produzca
tema, debemos saber que existen mi- la activacin del sensor, continuar con
les de libros de divulgacin vinculados las sentencias que le siguen.
a la inteligencia artificial y que lo hacen
desde diversos puntos de vista. Sentencias de salto de ejecucin
Tal vez el ms completo de ellos es La de programa
mente nueva del emperador, de Roger Estas sentencias permiten redirigir
Penrose. En esta obra, su autor se ocu- el flujo de ejecucin de un progra-
pa de criticar la postura de la inteli- ma. Ninguna de ellas es altamente
gencia artificial fuerte que plantea que aconsejable. Para ser rigurosos aun-
nuestro cerebro es absolutamente imi- que tengamos que trabajar un poco
table por una combinacin artificial de ms, tendramos que reemplazarlas
hardware y software. por las sentencias ya vistas, dado que
La belleza del libro est dada en que en es difcil realizar el seguimiento pa-
sus pginas, el autor hace un recorrido ra la depuracin de estos programas.
por diferentes ciencias, como la fsica, Un salto a otro lado en algn mo-
la lgica, la matemtica, la biologa y mento marea a cualquiera.
otras, para presentar y sostener su
postura. Como adelantamos, la sentencia
break permite salir de cualquier es-
Como podemos ver, el conjunto de tructura. Por ejemplo:
sentencias se ejecuta s o s una vez
en este caso. Un uso muy habitual while true
de esta sentencia es la espera de un if PORTA.1=1 then
estado de un sensor. break
Por ejemplo, si conectamos un sen- end if
sor de tacto en el bit 3 del puerto B,
podemos esperar que se active mien- wend
tras mantenemos el estado del robot,
de la siguiente manera:
En este caso, el conjunto de senten-
do cias posterior al if se ejecutara infi-
loop until PORTB.3=1 nitamente. Pero, si en algn mo-
mento el segundo bit del puerto A
se enciende, el break obliga a la sali-

122
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 123

Comunicacin con el robot

da del ciclo y contina con las sen- Otra sentencia de salto es exit, que
tencias posteriores al wend. nos permite salir de una funcin o
de un procedimiento y volver al
Otra sentencia de salto es el goto, punto en el que se haba invocado a
que nos permite saltar incondicio- la rutina. Tambin contamos con
nalmente a la etiqueta referida. Su gosub y continue, pero como enten-
sintaxis es la siguiente: demos que violan demasiado el flu-
jo del programa y porque son fcil-
goto nombre_etiqueta mente reemplazables por alguna de
las opciones que ya presentamos, no
vamos a ver detalles sobre ellas. Lo
De esta manera, salta a la sentencia nico que nos interesa resaltar en es-
siguiente donde est ubicada la eti- te punto, es que todas estas senten-
queta. La sintaxis de la etiqueta es la cias de salto hacen ms compleja la
que vemos a continuacin, y cabe depuracin y la lectura del cdigo,
aclarar que debemos incluir los dos por lo que aconsejamos evitarlas
puntos en la sintaxis. siempre que sea posible.

nombre_etiqueta:

RESUMEN
En este captulo hemos realizado un primer acercamiento a los diferentes len-
guajes que podemos utilizar para la programacin de los micros de Microchip. De
todos ellos, nos hemos quedado con el que consideramos ms sencillo, y que pro-
bablemente resulte familiar a todos los que alguna vez programaron en algn
lenguaje. MikroBasic, adems de brindarnos un lenguaje Basic muy accesible, po-
see una IDE muy completa y amable para este duro proceso de programacin. He-
mos presentado los elementos esenciales del lenguaje y nos hemos introducido
en la estructura de los programas y sus sentencias. Los ejemplos que hemos
mostrado son pequeos, dado que en el prximo captulo, al conectar los moto-
res, podremos comenzar a darle vida a nuestro robot.

123
www.FreeLibros.me
05_robotica.qxd 24/10/2007 02:21 p.m. Pgina 124

ACTIVIDADES

TEST DE AUTOEVALUACIN

1 A qu llamamos lenguajes de bajo y al- 9 Qu son los tokens y los espacios en


to nivel? Qu ventajas y limitaciones blanco?
presenta cada uno?
10 Qu mdulos encontramos en un pro-
2 Qu caractersticas presenta el Pic- yecto mikroBasic?
Basic Pro?
11 Defina el alcance y la visibilidad de las
3 Cul es la IDE de PicBasic Pro? Qu variables.
caractersticas presenta?
12 Cules son los tipos de operadores que
4 Qu es el ICD? podemos encontrar en mikroBasic?

5 Para qu es til programar en CCS C? 13 Compare las sentencias for, while y


do. Para cada una de ellas, construya
6 Recuerde tres razones por las cuales una estructura con el mismo compor-
elegimos mikroBasic para programar tamiento mediante la utilizacin de
nuestro robot. cada una de las otras dos. Por ejem-
plo, construya una estructura for con
7 Qu caractersticas presenta el edi- while y otra con do.
tor de mikroBasic?

8 Cmo es la organizacin de archivos


de un proyecto en mikroBasic?

124
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 125

Robtica Captulo 6
Recorrer
el mundo
Una de las caractersticas fundamentales

de los robots autnomos mviles es la

habilidad de transportarse por el

ambiente en el que desempean sus

tareas. La navegacin de un robot

de ruedas laterales no es sencilla si

queremos optimizar el tiempo que nos

lleva llegar hasta un punto determinado.

Nuestro objetivo en este captulo es

aprender qu tipo de motores


El movimiento del robot 126
podemos utilizar en nuestro robot Tipos de motores 126
Motores de corriente continua 127
y cmo programarlos. Motores paso a paso
(Motores PaP) 135
Servos 140
Resumen 145
SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com Actividades 146

www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 126

6. RECORRER EL MUNDO

EL MOVIMIENTO bientes donde puede moverse nues-


DEL ROBOT tro robot necesita de diversos meca-
nismos de locomocin. Volar hacia
Nuestro robot crece. Despus de va- otros planetas? Se sumergir en bus-
rios intentos le hemos podido brin- ca de tesoros? Reptar en pantanos
dar una inteligencia precaria. Puede movedizos? O slo se trasladar so-
encender o apagar un led, lo que nos bre un piso pulido, sin rebordes ni
emociona cada vez que ocurre. Pero pelos que traben sus motores?
nada nos conforma. Como ya habr tiempo de hazaas y
Queremos que empiece a andar, a proezas, por ahora nos basta con re-
hacer su propio camino. Y es por eso correr con dos ruedas sencillas una
que analizamos con cuidado cules superficie que no presente proble-
sern sus futuros pasos. Lgicamen- mas. Cuando veamos que ya domi-
te, en los diferentes tipos de am- na el mundo de dos dimensiones del
piso, estaremos en condiciones de
proyectar otros horizontes.

Tipos de motores
Como hemos comentado en captu-
los anteriores, la arquitectura de
nuestro robot con respecto a sus me-
canismos de locomocin ser extre-
madamente sencilla. Usaremos rue-
Figura 1. Determinacin de los polos das laterales, que nos permiten tener
por el pasaje de corriente en la bobina. control mediante un sistema de pro-
gramacin al alcance de todos, y que
desde el punto de vista mecnico
son fciles de implementar. En el
Captulo 8, donde construiremos el
cuerpo de nuestra criatura, analiza-
remos todas las posibilidades de lo-
comocin que tenemos con nuestro
robot, pero por ahora pondremos
nuestro esfuerzo en controlar los
Figura 2. Si invertimos la polaridad motores, que no es poco.
de la bobina, cambiamos los polos Aunque ya hicimos una introduccin
del ncleo. muy breve de cada uno de los tipos de

126
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 127

El movimiento del robot

motores clsicos que podremos utili- tricidad y los imanes que se encuen-
zar, ahora presentaremos en forma tran alrededor de ellas. Veamos cmo
profunda cada uno de ellos, y desa- se produce esta interaccin. Cuando
rrollaremos la electrnica necesaria la corriente elctrica pasa por la bobi-
para conectarlos con nuestro contro- na, genera en el ncleo un campo
lador. Adems, veremos un conjunto magntico con una orientacin de-
de ejemplos de programacin para terminada, es decir, un polo Norte y
poder manejarlos en forma efectiva. uno Sur (Figura 1). Si cambiamos la
Es posible que al principio resulte un polaridad de la bobina, se invierte la
poco complejo, pero creemos que los direccin de los polos (Figura 2). Los
ejemplos aclararn el panorama. dos imanes que se encuentran en la
carcasa tienen polos distintos.
Motores de corriente continua
Los motores de corriente continua Si aprovechamos el efecto magntico
(CC) son los actuadores que podre- de que los polos iguales se rechazan
mos conseguir con mayor facilidad, y y los opuestos se atraen, cambiamos
que seguramente estarn presentes en la polaridad de la bobina, y genera-
muchos de nuestros robots. En gene- mos rechazo o atraccin entre ellas y
ral, estn formados por dos imanes los imanes de la carcasa (Figura 3). De
pegados a la carcasa del motor y un esta manera, y si consideramos que
conjunto de bobinas de cobre en el tenemos ms de una bobina, genera-
eje del motor. El funcionamiento se mos el movimiento del motor con su
basa en la atraccin o la repulsin en- respectivo torque. Este ltimo con-
tre el campo magntico que se gene- cepto se refiere a la potencia o la
ra en las bobinas por el paso de la elec- fuerza que tiene el giro del motor, y

RECICLADO
El reciclado es una tendencia que, adems de proteger el medio ambiente, nos permi-
te ahorrar dinero. Adems de todas las recomendaciones que hacemos aqu para recu-
perar partes de equipos o juguetes que ya no utilicemos, Internet es una fuente adicio-
nal de ideas. Estos son algunos sitios interesantes donde se explica cmo reciclar com-
ponentes de aparatos en desuso. Muchos de ellos sern tiles para nuestros robots:
Reciclaje y proyectos electrnicos: http://heli.xbot.es/wp/.
Proyecto EconoBot (un robot de costo cero): http://mundobot.com/blog/.
Disquetera convertida en robot: www.sorgonet.com/trashing/madmaxfloppy/.

127
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 128

6. RECORRER EL MUNDO

S S II II

Torque

Figura 3. Efecto de giro del motor gracias a la atraccin/el rechazo


del ncleo de la bobina y los imanes de la carcasa.

que depende de la cantidad de algn dispositivo fsico! Por lo tanto,


energa que pasa por las bobinas, la necesitamos algn artilugio electr-
cantidad de vueltas del bobinado, el nico que nos permita determinarlo al
grosor del alambre, etctera. enviar una seal con nuestro micro.
En este momento podramos pensar
Los motores de CC tienen dos pun- en conectar directamente el motor al
tos de conexin para la fuente de ali- 16F88. Error! Los motores absorben
mentacin, y segn cmo lo conec- demasiada corriente. Si los conecta-
temos, el motor girar en un sentido mos directamente al micro, se que-
o en otro. El problema es que noso- marn (que es algo que con seguridad
tros queremos lograr esto en el mo- no queremos hacer). Es por eso que
mento en que el robot est en fun- entre el micro y los motores incorpo-
cionamiento. Sera desprolijo correr ramos una etapa intermedia, conoci-
detrs del robot para invertir la di- da como etapa de potencia. Cuando
reccin de sus motores mediante utilizamos una fuente de alimenta-

PARA VER EL FUNCIONAMIENTO INTERNO DE UN MOTOR CC


En la Web podemos encontrar varios sitios con informacin ms detallada sobre el fun-
cionamiento de los motores CC. Uno de los ms completos es www.walter-fendt.
de/ph11s/electricmotor_s.htm, donde vemos en una simulacin en Java los pasos que
realiza el motor en su giro. All podremos cambiar algunas variables que nos permi-
tirn comprender en forma ms precisa las caractersticas de estos motores.

128
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 129

El movimiento del robot

+ Vcc

PNP PNP

C1 C2

NPN NPN

GND

Figura 4. Esquema bsico de un puente H.

cin simple, como es nuestro caso, se


utiliza un puente H (H Bridge), cu- EL L293D Y EL L293B
yo esquema electrnico bsico es el
En general, cuando vamos a comprar el
que podemos ver en la Figura 4.
integrado L293D nos informan que tie-
nen el L293B. Qu diferencia existe
Cuando C1 no tiene corriente (est
entre ellos? Es lo mismo llevar el que
en 0) y C2 s la tiene (est en 1), el
nos ofrecen? El L293D provee 600 mA
motor gira en el sentido de las agu-
por canal, mientras que el otro nos
jas del reloj. En el caso contrario, el
ofrece 1 A. Por otra parte, el D tiene los
motor invierte el sentido de su giro.
diodos de proteccin en forma interna,
Cabe aclarar que el esquema es ms
que en el caso del B, debemos agre-
complejo que el que vimos. Por
garlos nosotros para evitar que el inte-
ejemplo, necesitamos un mecanismo
grado se queme ante cualquier even-
que impida que las dos seales se ac-
tualidad que tenga el motor.
tiven, porque estaran en riesgo los
Una combinacin de ambos es el TI
transistores y la fuente. Para estos y
SN754410, que combina lo mejor de los
otros problemas, la solucin ms
dos. Este integrado es un reemplazo
sencilla es utilizar un integrado que
plug and play del L293D, as que pode-
una todos estos componentes en un
mos comprarlo sin problema.
solo chip, y as se soluciona todo en

129
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 130

6. RECORRER EL MUNDO

Vc
M

l2 l1
7 6 3 2
16
8 Vss
1
Chip Inhibit

4, 5, 12, 13

Figura 5. Diseo de conexiones para controlar un motor


con inversin de giro mediante el uso del L293D.

un solo componente. El integrado y 7, lograremos el sentido del giro


propuesto para esta funcin es el del motor, su freno o un estado de
L293D, que cuenta con cuatro dri- punto muerto, como podemos ob-
vers de potencia y diodos de protec- servar en la Tabla 1.
cin para los motores (Figura 5). De
la misma manera, podramos utilizar En este punto, ya sabemos cmo
otros integrados como el UCN5804, controlar el sentido de los motores,
el BA6286, el L293B, etctera. y si estn frenados o libres, pero to-
dava no hemos resuelto el tema de
Con el L293D podremos controlar la velocidad. Es importante recordar
cuatro motores con un solo sentido que estos motores tienen poca fuer-
de giro, es decir, que gire o est de- za y mucha velocidad, con lo cual es
tenido, o dos motores con inversin necesario agregarles un sistema de
de giro. Este ltimo caso es el que reduccin para aumentar la fuerza y
ms nos interesa a nosotros para reducir la velocidad. Ms adelante
construir un vehculo mvil. Si co- veremos una solucin interna al mo-
nectamos el motor en los pines 3 y tor y, en el Captulo 8, opciones para
6, segn el estado de los pines 1, 2 soluciones externas. De todas for-

130
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 131

El movimiento del robot

PIN 1 PIN 2 PIN 7 ESTADO DEL MOTOR


H H L Gira como las agujas del reloj.
H L H Gira en sentido contrario a las agujas del reloj.
H Pin 2=Pin 7 Motor frenado.
L X X Motor en punto muerto.
Tabla 1. Cmo lograr cada estado del motor con los pines
del L293D. H: high (alto); L: low (bajo).

mas, necesitamos un mecanismo mayor ser la velocidad del motor.


electrnico de control para poder Para dar un ejemplo ms sencillo,
modificar la velocidad del motor. imaginemos que tenemos el motor
Uno de ellos es la modulacin por conectado a un interruptor que con-
ancho de pulso (Pulse With Modu- trolamos con la mano. Con una fre-
lation, PWM), que ya mencionamos cuencia de dos segundos, encende-
para el control de los servos. mos (seal alta) y apagamos (seal
baja) el motor dentro de ese tiempo.
Tambin en los motores de CC uti- Por ejemplo, podramos tenerlo un
lizamos PWM, pero en un sentido segundo prendido y un segundo
distinto al que se usa con los servos. apagado. O un segundo y medio
Dado que necesitamos generar los prendido y medio segundo apagado.
pulsos, es necesario entender cmo En el primer caso, se lograra mayor
funciona esta modulacin. En la Fi- velocidad que en el segundo ejem-
gura 6 podemos ver un ejemplo gr- plo. La velocidad mayor se da cuan-
fico de esto. En PWM, la frecuencia do lo tenemos prendido prctica-
de los pulsos se mantiene constante. mente los dos segundos completos.
Lo que se modifica es el tiempo en
el que la seal est alta dentro de Con este control, la cantidad de co-
esos pulsos. Cuanto ms largo sea el rriente es constante, la tensin no
tiempo en el que la seal est alta, vara y, por lo tanto, el torque es el

Velocidad Velocidad
Mnima Mxima

Figura 6. Ejemplo grfico de la modulacin por ancho de pulsos.

131
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 132

6. RECORRER EL MUNDO

mismo. Como veremos ms adelan- la frecuencia, la potencia aumenta.


te, lograremos el control del motor No entraremos en detalle porque no
con PWM mediante la programacin ser el mecanismo que utilizaremos
de nuestro micro. Gracias al L293D, en nuestro robot.
no necesitaremos ms electrnica que
la presente en nuestra controladora, Ejemplos de programacin de un
dado que los diodos de proteccin motor CC con nuestro controlador
del motor se encuentran incorpora- Como podemos observar en la cons-
dos en el integrado. truccin del controlador, el motor 1
Otro mecanismo habitual para el est conectado a los pines 11 y 14
control de la velocidad de los moto- del L293D (Output 3 y 4, respecti-
res de CC es la modulacin por fre- vamente) y el motor 2 a los pines 3
cuencia de pulsos (Pulse Frequency y 6 (Output 1 y 2). Para realizar
Modulation, PFM). En este caso, la nuestros ejemplos trabajaremos so-
proporcin de la seal alta y baja bre el motor 1, pero desde ya que lo
dentro del pulso se mantiene cons- que veamos sobre este motor es apli-
tante. Lo que cambia es la frecuen- cable al otro. El control de los pines
cia de los pulsos. Cuanta ms alta es 11 y 14 est dado por los inputs 3 y
4, ubicados en los pines 10 y 15 del
PROBLEMAS FSICOS L293D. Si seguimos las conexiones
de nuestro controlador, podemos
Cuando construimos nuestros robots,
ver que estas dos entradas estn con-
aparecen problemas fsicos que segura-
troladas por RB1 y RB2 del 16F88
mente hemos visto en nuestros estudios,
(pines 7 y 8). De esta manera, po-
pero que tal vez no vinculamos. Por
demos reformular la tabla que vimos
ejemplo, uno de los problemas es el te-
antes para mostrar cmo se com-
ma de la reduccin. Por qu si aumen-
portar el motor 1 segn el estado
tamos la fuerza disminuye la velocidad?
de los pines 7 y 8 del 16F88. El re-
Cmo deben ser los engranajes para
sultado de esta reformulacin lo po-
lograr esto? De la misma manera, otros
demos ver en la Tabla 2.
conceptos tecnolgicos fundamentales
que surgen de nuestra obra sern las
Sin embargo, como detalle adicio-
poleas, las cadenas de transmisin, las
nal, cabe aclarar que no podremos
estructuras rgidas y flexibles, las palan-
lograr este ltimo estado en nuestro
cas, etctera. Tal vez no est nada mal
controlador porque el pin 9 del
repasar estos conceptos para entender
L293D est en alto constantemente
por qu funciona o no nuestro robot.
y no est controlado por el 16F88.

132
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 133

El movimiento del robot

L293D-PIN 9 L293D-PIN 10 L293DPIN 15 ESTADO DEL MOTOR


16F88-PIN 8 16F88-PIN 7
H H L Gira como las agujas del reloj.
H L H Gira en sentido contrario a las agujas del reloj.
H Pines en mismo estado Motor frenado.
L X X Motor en punto muerto.
Tabla 2. Estados del motor de CC al utilizar la programacin de nuestro 16F88.

Ejemplos de cdigo en mikroBasic delay_ms(500)


Aunque los ejemplos ms completos Espera 500 milisegundos
estarn incluidos en los captulos PORTB.3 = 0
donde haremos robots para cumplir Apaga RB3
misiones especficas, ya podemos delay_ms(500)
comenzar a realizar algunos progra- Nuevamente espera 500
mas para empezar a testear a nuestro milisegundos
robot. En el captulo pasado en- wend
cendamos y apagbamos todo el end.
PORTB para encender y apagar el led.
A partir de ahora comenzaremos a
ser ms delicados, y slo encendere- Con la misma lgica, podemos hacer
mos los bits que sean necesarios pa- que el motor 1 encienda un segundo en
ra cada caso. Por ejemplo, en el ca- un sentido, otro segundo en el sentido
so del programa que titila el led, s- contrario, y un segundo se encuentre
lo deberamos encender el Rb3, co- detenido (No nos olvidemos de que
mo vemos a continuacin: debemos conectar el motor en 1!).

program TitilaLedPreciso program mueveMotorCC

main: main:
TRISB = 0 TRISB = 0
Configura los pines de PORTB Configura los pines
como salida de PORTB como salida
while true while true
PORTB.3 = 1 Configuramos el Pin 7
Enciende RB3 donde est y el 8 para girar en
conectado el led un sentido

133
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 134

6. RECORRER EL MUNDO

PORTB.1 = 1 PORTB.2 = 0
Enciende RB1 Enciende RB2
(Pin 7 del 16F88) (Pin 8 del 16F88)
PORTB.2 = 0 delay_ms(1000)
Apaga RB2 (Pin 8 Espera 1 segundo
del 16F88) wend
delay_ms(1000) end.
Espera 1 segundo
Configuramos
el Pin 7 y el 8 Motorreductores CC
para girar en el Como ya comentamos, los motores
otro sentido CC tienen mucha velocidad y poca
PORTB.2 = 1 fuerza, por lo que se hace necesario
Enciende RB2 el uso de un sistema de reduccin
(Pin 8 del 16F88) para poder equilibrar estas variables.
PORTB.1 = 0 Una de las soluciones es construir
Apaga RB1 (Pin 7 una caja reductora externa al motor.
del 16F88) Sin embargo, en los ltimos aos
delay_ms(1000) han surgido motores de CC que ya
Espera 1 segundo proveen esta solucin a nivel inter-
Configuramos el Pin no. A estos motores se los conoce co-
7 y el 8 para mo motorreductores. Consisten en
que el motor se un micromotor de CC con una ca-
detenga ja reductora que usa el sistema de ti-
PORTB.1 = 0 po planetario en un compartimien-
Enciende RB1 to sellado, lo que libera al sistema de
(Pin 7 del 16F88) la suciedad que podra afectar su
funcionamiento (Figura 7).

DNDE CONSEGUIR MOTORREDUCTORES


Los motorreductores son ms difciles de conseguir que los motores de CC con-
vencionales. Sin embargo, una forma sencilla de hacerlo es convertir un servo co-
mo veremos al final de este captulo. Si queremos comprar directamente uno, aqu
van algunas pginas web de proveedores:
Ignis (fabricante): www.ignis.com.ar.
Robodacta (proveedor de elementos de robtica): www.robodacta.com.

134
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 135

El movimiento del robot

nes por minuto (RPM: a mayor


RPM, menor fuerza, como ya hemos
visto). Funcionan desde los 6 hasta los
12 V, pero toda la informacin de su
hoja de datos est basada en una ali-
mentacin de 12 V (Figura 8).

En algunos casos, es posible conse-


guir un reductor para conectar en
forma externa a un motor de CC,
Figura 7. Vista interna de la caja de pero en trminos de costos y de
reduccin de un motorreductor pendular. complejidad en la conexin de ma-
teriales, no es aconsejable.
Como ejemplo de estos motorreduc-
tores, podemos presentar el modelo Motores paso a paso
MR-4 de Ignis, que tiene un torque (Motores PaP)
de 0,12 a 2 Kgf*cm, segn el mode- Como hemos visto, el control de un
lo, con un consumo de 100 mA. Los motor CC es relativamente sencillo.
modelos existentes son el 4-15, 4-50, Pero, si necesitramos precisin en
4-100 y 4-200, donde el ltimo n- la cantidad de rotaciones del motor,
mero indica la cantidad de revolucio- sera casi imposible lograrlo con un

Figura 8. Un motorreductor con sinfn


es lento pero tiene muchsima fuerza.

135
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 136

6. RECORRER EL MUNDO

Figura 9. En esta imagen podemos ver ejemplos de motores paso a paso.

motor de ese tipo. Los motores de del rotor, friccin interna del motor,
CC tardan un tiempo en lograr la temperatura, etctera.
velocidad buscada y cuando se los
deja de alimentar, poseen inercia y Para lograr esta precisin necesita-
tardan en detenerse. Por lo tanto, es mos un motor PaP (Figura 9) o un
una cuestin de suerte lograr un n- servo. Los motores PaP tienen un
mero preciso de vueltas. Si necesita- mecanismo que les permite girar un
mos fracciones de vueltas, esto es ngulo determinado. Los ms comu-
an ms complejo. Si le agregamos nes estn formados por un rotor (un
un sistema de reduccin al motor imn permanente) y un conjunto de
podremos disminuir el problema, bobinados en el estator. No giran li-
pero no desaparece por completo bremente por s mismos, sino que
por la cantidad de variables que en- avanzan al girar pequeos pasos por
tran en juego: friccin de los engra- cada pulso que se aplica. El tamao
najes del sistema de reduccin, peso del paso, en grados, es lo que defi-

ELEMENTOS QUE SE OBTIENEN AL RECICLAR APARATOS


Disqueteras de 3 1/2: motor paso a paso del cabezal, motor de cc del giro del disco
y electrnica de control de los motores.
Disquetera de 5 1/4: lo mismo que en la disquetera de 3 1/2.
Reproductor de DVD: distintos drivers para motores, motor paso a paso del cabezal,
motor de CC del giro del disco, motor CC de la carga del disco.
Impresora: motor paso a paso de avance del papel, motor paso a paso del cabezal,
drivers de los motores paso a paso.

136
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 137

El movimiento del robot

nir la precisin que tendremos en No. DE PASO 1A 1B 2A 2B

nuestro motor. Los pasos ms comu- 1 +Vcc Gnd +Vcc Gnd


nes que podemos encontrar son: 2 +Vcc Gnd Gnd +Vcc
0,72; 1,8; 3,6; 7,5; 15 y 90. En 3 Gnd +Vcc Gnd +Vcc
el primer caso, para dar un giro com- 4 Gnd +Vcc +Vcc Gnd
pleto necesitaremos 500 pasos. En Tabla 3. Secuencia de pasos para poder
cambio, en el ltimo, con 4 pasos ha- controlar un motor paso a paso bipolar.
bremos dado la vuelta entera. En ge-
neral, en la carcasa del motor se in- bles 1a, 1b, 2a y 2b. Esto es sencillo
dica la cantidad de grados por paso. con un tester, dado que podemos de-
Si esto no es as, aparecer la canti- tectar continuidad entre los cables
dad de pasos por revolucin. Para que pertenecen a la misma bobina.
calcular los grados por paso, dividi- Para lograr el giro del motor bipolar,
mos 360 por la cantidad de pasos. debemos invertir las polaridades de las
Dentro de los motores de imn per- bobinas 1 y 2 en una determinada se-
manente, nos encontramos con dos cuencia para girar a favor de las agujas
tipos distintos, los unipolares y los del reloj, y en la secuencia invertida
bipolares, que exigen circuitos de para girar en sentido contrario. La se-
control distintos (Figura 10). cuencia es la que vemos en la Tabla 3.

Los bipolares son ms complejos de Para realizar este control usaremos el


controlar que los unipolares, pero son L293D. En este caso, podremos con-
ms livianos y tienen mejor torque. El trolar slo un motor paso a paso, da-
control ha dejado de ser un problema do que tendremos que usar los cua-
gracias a integrados como el L293D. tro puentes H que ofrece el integra-
Una vez que consigamos un motor de do para lograr la secuencia. Debera-
este tipo, debemos distinguir los ca- mos conectar cada uno de los 4 ca-

1a 1a
M Com1 M
1b 1b
Com2

2a 2b 2a 2b

Motor-PaP Bipolar Motor-PaP Unipolar

Figura 10. Esquemas de las bobinas de los motores bipolares y unipolares.

137
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 138

6. RECORRER EL MUNDO

bles en los conectores del motor 1 y bles tienen una resistencia baja (y
el motor 2 de nuestro controlador adems, habitualmente, son los nicos
(Figura 11). Luego, si programamos dos que tienen el mismo color). Si la
las salidas del 16F88 que se corres- medicin no marca nada, hemos co-
ponden con los inputs del L293D nectado cables de bobinas distintas.
para seguir la secuencia anterior, lo- Por lo tanto, ya tenemos definidas las
graremos el giro del motor. Cuanto parejas y el cable comn.
ms rpida suceda esa secuencia, ms Ahora, para determinar cul es cul,
rpido ser el movimiento del motor. alimentamos al motor por el quinto
Los motores unipolares cuentan con cable o por el cable comn con la ten-
5 6 cables, segn cmo sea el cone- sin correspondiente. Tomamos uno
xionado interno. Si es de 6 cables, ten- de los otros cuatro cables, le ponemos
dremos que detectar cules represen- la etiqueta 1A y lo conectamos a ma-
tan a Com1 y Com2 (Figura 10). Al sa. Luego tomamos otro y tambin lo
unir esos dos cables, tendremos la mis- conectamos a masa. Si gira en senti-
ma configuracin que en los motores do de las agujas del reloj, lo nombra-
de 5 cables (Figura 12). Para detectar las mos 1B, si gira al revs, 2B y si no gi-
parejas 1A y 1B, y 2A y 2B, medimos ra, 2A. De esta manera, podemos eti-
la resistencia. Cuando encontremos la quetar todos los cables.
resistencia ms alta, habremos deter- Tenemos tres formas distintas de con-
minado la pareja correspondiente. Los trolar los motores unipolares. En todas
cables Com1 y Com2 contra esos ca- ellas, si invertimos la secuencia cam-

Figura 12. Ejemplo de motor


Figura 11. Un ejemplo de motor unipolar con 5 cables, que tiene
bipolar, con 4 cables. los dos rojos comunes.

138
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 139

El movimiento del robot

biamos el sentido de giro. El control quemas podemos duplicar la canti-


ms habitual es encender de a dos las dad de pasos de este motor, como
bobinas, de la siguiente manera: podemos ver a continuacin:
No. DE PASO 1A 1B 2A 2B No. DE PASO 1A 1B 2A 2B
1 H H L L 1 H L L L
2 L H H L 2 H H L L
3 L L H H 3 L H L L
4 H L L H 4 L H H L
Tabla 4. Secuencia de pasos 5 L L H L
para controlar un motor unipolar. 6 L L H H
7 L L L H
Al encender las bobinas de a dos, el 8 H L L H
campo magntico es ms fuerte, y el Tabla 6. Combinacin de los dos
motor tiene mayor torque y ms fuer- mecanismos anteriores que nos
za al ser frenado. Otro control es en- permiten mayor precisin en los giros.
cender las bobinas de a 1:
De esta forma, duplicamos la cantidad
No. DE PASO 1A 1B 2A 2B
de pasos al girar el rotor en cada bobi-
1 H L L L na y entre dos bobinas contiguas. A es-
2 L H L L ta secuencia se la conoce como se-
3 L L H L cuencia de medio paso. Hay que te-
4 L L L H ner en cuenta que en los tres tipos de
Tabla 5. Otra secuencia para controles debemos ser cuidadosos con
controlar un motor bipolar, ms la velocidad en el cambio de los esta-
sencilla pero con menos torque. dos, porque si es muy veloz podemos
no alcanzar el tiempo necesario para
Es ms sencillo que el esquema an- que el rotor se acomode en la nueva po-
terior, pero el motor tiene menos sicin. Si es as, obtendremos un mo-
torque. Si combinamos estos dos es- vimiento extrao, aleatorio del motor.

DETECTAR EL TIPO DE MOTOR PASO A PASO A SIMPLE VISTA


Un motor PaP con 5 cables es casi seguro de 4 fases y unipolar.
Un motor PaP con 6 cables probablemente sea de 4 fases y unipolar, con 2 cables co-
munes para la alimentacin. Buscar si dos cables tienen el mismo color y unirlos.
Un motor PaP con 4 cables con seguridad es bipolar.

139
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 140

6. RECORRER EL MUNDO

Servos Terminal de control: es por donde


Un servo es un motor de CC pero ingresamos la seal que permite de-
con dos caractersticas fundamenta- terminar el ngulo del motor.
les que lo diferencian: una caja de
reduccin interna al motor que le Los colores de estos cables varan
brinda un gran torque y un sistema segn cada fabricante, pero en la Ta-
electrnico de control que le per- bla 7 presentamos un detalle con los
mite posicionar al motor en el n- colores utilizados por los principales
gulo deseado. Se utilizan con mucha fabricantes de servos.
frecuencia en aparatos radiocontro-
lados como aviones, barcos y autos Habitualmente, la capacidad de gi-
a control remoto. Tambin se usan ro de un servo es de 180 grados, pe-
mucho en robtica por su bajo peso ro ms adelante veremos cmo eli-
y sus altas prestaciones (Figura 13). minar este lmite. El circuito de con-
trol posiciona al eje y compara la
Los servos tienen 3 cables o terminales: seal que recibe de un potencime-
tro interno con la seal de control
Terminal positivo: recibe la energa externa. Cuando gira el eje, tambin
que alimenta al motor (usualmente, gira el potencimetro. Por ltimo, el
de 4 a 8 voltios). ngulo va a estar determinado por la
Terminal negativo: dirigido a tierra. duracin de un pulso que se aplica

Figura 13. Servomotor Hitec, muy utilizado en robtica.

140
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 141

El movimiento del robot

FABRICANTE TERMINAL POSITIVO TERMINAL NEGATIVO ENTRADA DE SEAL


Futaba Rojo Negro Blanco
Fleet Rojo Negro Blanco
Hitec Rojo Negro Amarillo
Airtronics Rojo Negro Naranja
JR Rojo Marrn Naranja
Kraft Rojo Negro Naranja
Tabla 7. Los colores de los tres cables de los servos de las marcas ms conocidas.

al cable de control. Esta seal es una ne en 1,5 ms, el eje se ubicar en el


onda cuadrada de 1,5 ms que se re- ngulo 0, y vamos hacia -90 cuan-
pite a un ritmo de entre 10 a 22 ms, do disminuimos el ancho del pulso
y con un valor de pico entre 3 y 5 V. y hacia 90 en el caso contrario.
La frecuencia puede variar entre
marcas distintas, pero debe ser una La descripcin que hemos hecho se
seal estable para poder conseguir la refiere a los servos analgicos (que son
rotacin precisa. Aqu aplicaremos los ms comunes). Los servos digita-
de nuevo lo aprendido en PWM. La les tienen, en su placa de control, un
posicin del eje depender del ancho micro que analiza la seal, la procesa
del pulso de la seal de control. Por y controla el motor. Reaccionan mu-
ejemplo, cuando el pulso se mantie- cho ms rpido a los cambios y tienen

Figura 14. Un servo visto por dentro.

141
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 142

6. RECORRER EL MUNDO

ms fuerza. Como contrapartida, son CC con caja reductora integrada, co-


ms caros y el consumo de energa es mo los que hemos presentado al co-
mayor que en los analgicos. mienzo de este captulo.
Una de las modificaciones posibles
Modificacin de los servos es eliminar el circuito de control y
Como ya hemos comentado, los ser- cortar los topes mecnicos. De esta
vos tienen un radio de giro de apro- forma, lo convertiremos en un mo-
ximadamente 180 grados. Su sistema tor de CC con caja reductora. El ca-
de control nos permite definir su n- ble de control desaparece y slo te-
gulo de rotacin en forma precisa y nemos dos cables donde se aplica co-
sencilla, pero muchas veces necesita- rriente. A mayor corriente tendre-
mos que el motor gire 360 en forma mos mayor velocidad y, si modifica-
continua, como en el caso de las rue- mos la polaridad, podemos cambiar
das. Para ello vamos a tener que rea- el sentido del giro. A continuacin
lizar un conjunto de modificaciones veremos los pasos necesarios para re-
en el servo. Estas modificaciones pue- alizar la modificacin, pero cabe
den daar el servo (de por s lo daan aclarar que las imgenes slo son de
porque cambian su funcionalidad), referencia, ya que debemos buscar
por lo que slo recomendamos reali- los pasos correspondientes para
zarlas si no conseguimos motores de nuestro servo especfico.

Modificar un servo PASO A PASO

Si el servo posee un engranaje externo en el eje, desatornllelo con cuida-


do, sin forzar el giro del eje ms all de su tope de rotacin.

142
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 143

El movimiento del robot

Abra la tapa posterior del servo desenroscando los cuatro tornillos y


desmntelo en forma completa.

Saque la tapa superior que encierra la caja reductora y preste mucha aten-
cin a la disposicin de los engranajes para volver a ubicarlos en su lugar.

143
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 144

6. RECORRER EL MUNDO

Corte o extraiga cuidadosamente el tope fsico que tiene el engranaje de


salida del servo. Lije con una lija fina para no dejar rebordes o muescas
que provoquen fricciones hostiles al movimiento de la caja reductora.

Elimine el circuito de control. La forma de hacer esto va a depender del


modelo del servo en cuestin. En algunos casos, basta con desvincular
uno de los engranajes del potencimetro. En otros, habr que encontrar
el modo de comunicacin de los engranajes con el sistema de control.
Para ello, es conveniente buscar en Internet los pasos necesarios para
modificar el servo especfico que desee adaptar.

144
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 145

El movimiento del robot

Volvemos a repetir: slo es necesario


MODIFICAR SERVOS
realizar esto si no conseguimos un
motorreductor. De todas maneras, A continuacin presentamos las direc-
este procedimiento era ms habitual ciones de algunos sitios donde se pro-
cuando no se conseguan con facili- porcionan los pasos para modificar di-
dad, pero hoy es mucho ms sencillo versos modelos de servos:
comprar directamente uno de ellos Futaba 3003:
que modificar un servo. www.kronosrobotics.com/an116/
GAN116_3003.htm.
Hitec HS 300:
www.kronosrobotics.com/an116/
GAN116_hs300.shtml.
Futaba S148:
www.seattlerobotics.org/
encoder/200304/Futaba%20S148%20
Servo%20mod%20for%20PWM.htm.
Sub micro CS21:
www.dprg.org/projects/1998-04b/
index.html.

RESUMEN
Hemos llegado al hermoso momento en que nuestra criatura sale a recorrer el mun-
do. Pero no todo es tan sencillo. En este captulo hemos analizado los diferentes ti-
pos de motores que pueden usarse con nuestra alimentacin de corriente continua.
Los motores de CC son sencillos de conseguir y fciles de controlar, pero tienen po-
co torque. Por lo tanto, debemos agregarles una caja de reduccin para poder mo-
ver las ruedas a una velocidad razonable y con la fuerza necesaria. Por suerte con-
tamos con motorreductores, que ya nos ofrecen ese sistema en forma interna en la
caja del motor, aunque con un costo mayor. Tambin podemos utilizar motores pa-
so a paso, que en general estn presentes en disqueteras, impresoras, discos rgi-
dos, etctera. El control es un poco ms complejo, pero nos brindan precisin en sus
movimientos. Si queremos mayor precisin y no necesitamos giros completos, los
servos son la tercera opcin para los movimientos de nuestro robot.

145
www.FreeLibros.me
06_robotica.qxp 24/10/2007 02:27 p.m. Pgina 146

ACTIVIDADES

TEST DE AUTOEVALUACIN EJERCICIOS

1 Qu es el torque? Cmo se logra en 1 Mediante la utilizacin de la modula-


un motor de corriente continua? cin por pulsos, haga un programa
que, segn el valor de una variable,
2 Qu integrado utilizamos para controlar encienda con mayor o menor potencia
los motores de CC? Por qu no los con- el led de la controladora.
trolamos directamente desde el 16F88?
2 Realice un programa para controlar los
3 Qu es un puente H? dos motores: los primeros 3 segundos
ambos motores deben moverse en un
4 Qu es el PWM? sentido (lo consideramos avance), lue-
go deben retroceder otros 3 segundos,
5 Cules son los cuatro estados del motor posteriormente girar para un lado, de-
de CC? Cmo lo logramos con el L293D? jar un motor para adelante y otro para
atrs, y por ltimo invertir el sentido del
6 Qu es un motorreductor? Qu venta- giro. Estas ltimas dos etapas, tambin
jas y desventajas presenta con respec- de 3 segundos cada una.
to a un motor de CC convencional?
3 Mediante la utilizacin de la modula-
7 Cmo funciona un motor paso a paso? cin por pulsos, haga un programa que,
segn el valor de una variable, modifi-
8 Qu caractersticas tienen los motores que la velocidad del motor 1.
PaP bipolares y unipolares?
4 Conecte un motor bipolar en los conec-
9 Cmo se distingue el cableado de los tores de motor 1 y motor 2, y programe
motores PaP? su funcionamiento con la tcnica vista
en la seccin correspondiente.
10 Qu componentes tiene un servo?

11 Cul es el objetivo de modificar un ser-


vo? Por qu no se recomienda hacerlo?

146
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 147

Robtica Captulo 7
Sensar el mundo
Cuando construimos robots autnomos,

uno de los desafos ms importantes es

la habilidad de adaptarse al mundo que

los rodea. Si no incorporamos sentidos

a nuestro dispositivo, slo tendremos

un juguete a control remoto, donde

la inteligencia y la captacin del ambiente

estn en nuestras manos. En este

captulo conoceremos los tipos

de sensores que podemos encontrar y

veremos la electrnica y la programacin


Adaptacin al entorno 148
que usaremos en los prximos captulos. Tipos de sensores 148
Caractersticas esenciales
de los sensores 149
Sensores digitales 152
Los sensores analgicos 158
Tipos de sensores analgicos 162
Resumen 165
SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com Actividades 166

www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 148

7. SENSAR EL MUNDO

ADAPTACIN poder captar el mundo que lo rodea.


AL ENTORNO El olfato ser de utilidad? Muchas
dudas nos preocupan, pero nos lanza-
Ya piensa, ya camina La obra con- mos decididos a buscar qu es lo que
tina creciendo. Y sin embargo, cada nos puede ayudar. Y encontramos que
vez que lo ponemos a nuestro lado pa- en el mundo de la electrnica, los sen-
ra que nos acompae, se lleva por de- tidos se multiplican infinitamente.
lante una pared, se pierde por lugares
inslitos o se cae por una escalera. Al- Tipos de sensores
go nos falta, algn soplo de creacin Los sensores tienen como objetivo
nos hemos olvidado de brindarle a captar alguna seal brindada por el
nuestro robot. Nos hemos olvidado ambiente que rodea al robot, y
de incorporarle sentidos! Sin ver, sin transformar esa seal en un impul-
tocar y sin escuchar, es imposible que so elctrico que reciba nuestro con-
se separe de nuestra mano y de nues- trolador. Luego, desde el programa
tros ojos. Y es por eso que empezamos que usemos para darle comporta-
a pensar cules seran los sentidos miento, interpretaremos este impul-
esenciales que podemos brindarle. Le so para actuar en consecuencia.
agregamos la vista? Es un desafo Cuando hablamos de seales del
complejo, demasiada informacin ambiente, nos referimos a la infor-
para su pequea inteligencia. El tac- macin habitual que, como huma-
to ser suficiente? Tendr una vida nos, podemos captar: imgenes vi-
dura, golpendose contra todo para suales, olores, informacin tctil, so-

Figura 1. Kephera es un robot con ocho sensores


infrarrojos y una cmara de visin lineal.

148
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 149

Adaptacin al entorno

nidos y sabores. Pero esto no termi- NARICES ELECTRNICAS


na aqu: podemos utilizar otros me-
canismos que superen al sistema De todos los sentidos, es probable que el
sensorial humano. Contamos con olfato y el gusto sean los ms complica-
sensores ultrasnicos para medir dis- dos de emular. Sin embargo, existen las
tancias, sensores de metales, detec- narices electrnicas. Esos instrumentos
tores de diversos gases, etctera. permiten realizar anlisis de una mezcla
de gases, vapores y olores en tiempo re-
La oferta es muy grande, y cada ti- al. Sirven para el control de la calidad
po de sensor nos obliga a incorporar alimenticia, el diagnstico mdico, la de-
algo de electrnica y de programa- teccin de escape de gases, procesos in-
cin en nuestro robot. En este cap- dustriales, usos militares, etctera.
tulo veremos los tipos de sensores
que podemos encontrar habitual-
mente en el mercado, sus caracters- table, podremos utilizar sensores
ticas y cmo podramos incorporar- de menor calidad porque sabemos
los a nuestro robot. Luego nos de- que los resultados, luego de cali-
tendremos en los sensores que va- brar el sensor, se mantendrn pa-
mos a utilizar para los desafos que rejos y podremos confiar en ellos.
hemos planteado en este libro. En cambio, en los ambientes don-
de las condiciones se modifican en
Caractersticas esenciales forma constante, los sensores que
de los sensores utilicemos deben poseer mecanis-
Los sensores determinan en forma mos electrnicos de balanceo que
precisa el comportamiento de nuestro permitan superar estas dificulta-
robot. Es por eso que cuando elegi- des. Si los valores devueltos por el
mos el tipo de sensor que incorpora- sensor no son fiables, necesitare-
mos, debemos analizar un conjunto mos compensar este problema con
de caractersticas que nos permitirn programacin, para lo que utiliza-
definir si es o no el que necesitamos mos varias muestras y distintos
para nuestra tarea. stas son: mtodos estadsticos que ajusten al
mnimo el margen de error. Cabe
Fiabilidad: esta caracterstica est aclarar que esto se paga con mayor
muy vinculada al ambiente en el tiempo de procesamiento.
que se mueve nuestro robot. Por Rango de valores: el rango de va-
ejemplo, si utilizamos un sensor de lores es el valor mnimo y mximo
luz o brillo en un lugar con luz es- que puede devolver el sensor.

149
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 150

7. SENSAR EL MUNDO

Precisin: aun si se tiene el mis- Velocidad de muestreo: es la fre-


mo rango de valores, los sensores cuencia con la que el sensor refres-
pueden devolver ms o menos es- ca su lectura del ambiente. A ma-
tados intermedios dentro de ese yor velocidad, mejor adaptacin a
rango. Llamamos precisin a la los cambios del mundo en el que se
cantidad de valores distintos que mueve nuestro robot. Pero por otro
nos puede devolver el sensor en su lado, nos exige mayor procesa-
rango de valores. Por ejemplo, no miento de los valores de entrada.
es lo mismo un sensor de brillo De todas formas, si el sensor tiene
con un rango de 0 a 100 con una una alta velocidad y no nos da
precisin de 1, que uno con una tiempo para procesar los datos, po-
precisin de 0.1. En el segundo ca- demos desechar valores de lectura y
so, podremos detectar variaciones lograr la velocidad de muestreo que
mnimas que en el primero se le- necesitemos. En el caso contrario,
eran como valores idnticos. no podemos solucionar el proble-
ma. Es decir, nos conviene un sen-
sor con la mayor velocidad de
muestreo posible, que luego regula-
remos al tomar todos los valores o
slo un conjunto de ellos.
Costo: aunque en nuestros prime-
ros proyectos tal vez no parezca un
elemento fundamental de anlisis,
cuando desarrollemos robots ms
complejos nos encontraremos con
limitaciones de este tipo. Y lamen-
tablemente, veremos que hay una
relacin lineal entre el costo y las
dems caractersticas: los sensores
ms caros son mejores.
Sencillez de uso: en estos prime-
ros pasos, es fundamental que tan-
to la interfaz electrnica que debe-
Figura 2. Sick es un escner lser muy mos desarrollar entre el sensor y el
usado en robtica que permite medir micro, como su programacin pa-
distancias con precisin milimtrica y ra la interpretacin de los datos,
realizar mapeos de objetos prximos. sea lo ms sencilla posible.

150
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 151

Adaptacin al entorno

Tamao y forma: en el momento adapten a nuestras necesidades en


en el que queramos insertar el sen- el conjunto de sensores que cum-
sor en nuestro robot, con seguri- plen la misma funcin.
dad querremos realizarle la menor Calibracin: en este caso, tam-
cantidad de modificaciones posi- bin tenemos el problema de que
bles a la arquitectura que ya tene- cuanto ms sencillo sea el sensor,
mos definida. Por otra parte, es ne- ms trabajo de calibracin tendre-
cesario que el sensor est a la dis- mos que hacer con el software. En
tancia precisa para poder captar lo general, la calibracin no est
sensado. Por ejemplo, el sensor que brindada directamente por el sen-
utilizaremos para el seguimiento sor, sino que es en la electrnica de
de lnea es sencillo, pero con un al- la conexin donde podemos agre-
cance muy bajo. Por lo tanto, ser gar elementos que nos permitan
necesario ubicarlo lo ms cerca po- modificar, con una simple vuelta
sible de la lnea debajo del robot. de potencimetro, las seales de
Otro ejemplo son los sensores de entrada o la sensibilidad de lectu-
tacto: es habitual tener que ampli- ra. Aunque le agreguemos ms tra-
ficar la mecnica del sensor para bajo al diseo inicial del robot,
detectar con mayor facilidad los luego agradeceremos que con un
objetos. Para ello es fundamental destornillador podamos readaptar
elegir el tamao y la forma que se al robot a diversos ambientes.

Figura 3. Lego provee diferentes sensores,


como los de tacto, luz y sonido, entre otros.

151
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 152

7. SENSAR EL MUNDO

Si tenemos en mente estos principios, todos los casos, necesitamos de algu-


podremos salir en la bsqueda del na interfaz electrnica entre el sensor
sensor que solucione nuestros pro- y el micro. A veces, esta electrnica
blemas. Vamos a dividir nuestro de- puede ser una simple resistencia y en
sarrollo en dos grandes grupos de otros casos puede ser un desarrollo
sensores: los digitales y los analgi- mucho ms complejo, dependiendo
cos. Tambin podemos clasificarlos del tipo de sensor.
como internos y externos, activos y Hay una gran variedad de sensores
pasivos, etctera, pero hemos elegido digitales en el mercado, e incluso po-
la primera taxonoma porque nos de- demos convertir sensores analgicos
termina diferencias sustanciales en la en digitales, como por ejemplo con
electrnica y la programacin. el uso del integrado 74HC14. Mu-
chos se conectan de forma similar,
Sensores digitales con la utilizacin de una resistencia
Los sensores digitales son aquellos de pull-up conectada a Vcc para
que, como salida de su sensado del mantener la seal en nivel alto, o a
mundo, nos devuelven hacia el con- GND para mantenerla en nivel ba-
trolador un valor discreto (Figura 4). jo. Cuando el sensor se activa, la
El modelo ms sencillo de este tipo seal pasa al nivel contrario.
de sensores es aquel que directamen- Uno de los sensores digitales ms pri-
te nos devuelve un uno o un cero. En mitivos es el interruptor o switch, que

Seal discreta

14.0

12.0

10.0

8.0

6.0

4.0

2.0

0.0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Figura 4. Ejemplo grfico de los valores que entrega un sensor digital.

152
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 153

Adaptacin al entorno

nos permite representar el sentido del de detectar colisiones contra objetos


tacto. Este sentido parece ser uno de para permitir el cambio de sentido de
los ms simples de implementar, pero nuestro robot. Estos sensores se co-
en realidad para reproducirlo en toda nocen en el mundo de la robtica co-
su expresin deberamos sensar tem- mo bumpers. En nuestro controlador
peratura, contacto y fuerza (por ejem- ya tenemos el conexionado y la
plo, no es sencillo reproducir la pre- electrnica necesarios para conectar
sin ejercida por nuestra mano cuan- dos de estos sensores (Figura 5).
do tomamos un objeto frgil, que se Estos sensores son dos interruptores
puede deformar por un excesivo nivel sencillos (abierto/cerrado) que se co-
de fuerza). Por ahora nos ocuparemos nectan a +5 V con una resistencia
del sensado de contacto, con la idea (Pull-Up) o a GND (Pull-Down). La

+5

R3
1K R4
1K Sensor 1

1
2
3
Sensores
Sensor 2

Figura 5. Conexin de los dos interruptores en nuestro controlador.

SENSORES DE ESTACIONAMIENTO
Muchos de los sensores que se utilizan para robots, luego desembarcan en la vida
cotidiana. Un ejemplo de esto son los sensores de estacionamiento. Por poco dine-
ro podemos agregarle a nuestro vehculo un sensor de este tipo que nos indica, con
un display o con sonidos, la proximidad de los objetos en la parte trasera de nues-
tro auto. Slo se activan con la marcha atrs, y nos dan informacin de distancia
mediante luces, textos o cantidad de bips.

153
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 154

7. SENSAR EL MUNDO

diferencia se producir si queremos de- consideramos el valor TRUE como 1


tectar un 0 lgico (entre 0 V y +1,5 V lgico, que representa +5 V en el pin
aproximadamente) cuando se produz- del microcontrolador, producto de la
ca un cambio en el estado del switch o accin Chocar y el 0 como FALSE en
si, por el contrario, queremos detectar el caso contrario. Como podemos
un 1 lgico (de +2 V a +5 V). observar en el controlador, nuestra
Otra variante es usar contactos nor- entrada est asociada en forma di-
malmente cerrados o normalmente recta a RA3 en el caso del sensor 1,
abiertos, que se comportarn como y a RA4 en el caso del sensor 2. Po-
una compuerta NOT o directa, si demos agregarle un condensador de
bajo valor (0.1uF a 1uF) en paralelo
con los contactos del interruptor pa-
ra reducir los efectos de rebote.
Con respecto a los interruptores que
podemos utilizar, la variedad es muy
grande. Uno de los ms usados en
robtica es el microswitch. Este sen-
sor cuenta con 3 conectores: C (Co-
mmon, comn), NC (Normal Closed,
normalmente cerrado) y NO (Normal
Opened, normalmente abierto).
Cuando el sensor est en reposo, est
Figura 6. Un modelo de cerrado el circuito de C a NC.
microswitch con palanca grande. Al presionar la extensin metlica que
sirve de amplificador mecnico de la
seal, cerramos el circuito entre C y
NO. Esta extensin metlica puede te-
ner una palanca suficientemente gran-
de (Figura 6) como para poder usarlo de
sensor de tacto sin modificaciones ex-
tras. Tambin puede contar con un pe-
queo rodillo en la punta que nos per-
mita realizar tacto sobre las superficies
sin provocar rozamiento entre el sen-
sor y lo sensado (Figura 7).
Figura 7. Otro modelo con rueda Otro sensor que podemos utilizar en
en el extremo de la palanca. forma digital es el infrarrojo (Figura 8).

154
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 155

Adaptacin al entorno

Esencialmente, consiste en un emisor


de seal infrarroja (un led) y un foto-
transistor. Si ambos apuntan hacia el
mismo lado, tenemos un sensor re-
flectivo, dado que el fototransistor ser
estimulado cuando la luz del led se re-
fleje sobre una superficie. Esto es til
para detectar colores muy distintos
(por ejemplo, una lnea negra sobre un
papel blanco) o sensar si el robot est Figura 8. Sensor infrarrojo
por caer al vaco (el sensor detecta la re- de tamao reducido.
flectancia de la mesa, pero al acercarse
a un borde deja de recibir la seal). Otra forma de utilizar el sensor infra-
Uno de los problemas que podemos rrojo es enfrentar el led con el foto-
encontrar es que el fototransistor pue- transistor. Por lo tanto, lo que pode-
de estar estimulado por las luces del mos detectar all es el corte de visin
ambiente. Para evitarlo, debemos en- entre ambos. A este tipo de arquitec-
capsularlo de manera tal que slo el re- tura se la conoce como sensor de ra-
flejo de su led lo estimule. El ms co- nura. Podemos utilizarlo simplemente
nocido y econmico de todos es el para la deteccin de objetos (como se
CNY70, que tambin podemos utilizar usa en ciertos estacionamientos para
como sensor analgico, dado que de- avisar la salida de un auto) o para con-
vuelve un valor entre 0 V (reflejo abso- tar los pasos de una rueda asociada al
luto) hasta 3.3 V (absorcin absoluta). eje de un motor y, de esta manera, ar-
Lo analizaremos ms adelante cuando mar un sensor de rotacin. Depen-
veamos los sensores analgicos. diendo de cmo est acanalada la rue-

RECICLAR SENSORES PARA NUESTRO ROBOT

En el captulo anterior ya vimos cmo podamos reciclar los motores de nuestros an-
tiguos dispositivos. Ahora veamos qu ocurre con los sensores:
Disquetera 5 1/4: detector infrarrojo de ranura para detectar pista cero, fototransisto-
res, led emisor de infrarrojo, detectores de efecto hall.
Disquetera 3 1/2: detector infrarrojo de ranura muy pequeo, microswitches.
Video VHS: led emisor de infrarrojo, receptores de infrarrojo, receptor del IR del con-
trol remoto, microswitches, infrarrojos de ranura, sensores de efecto hall.

155
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 156

7. SENSAR EL MUNDO

da y de la cantidad de sensores que po- una lnea negra en el piso o un ob-


damos utilizar, la deteccin que pode- jeto muy cercano a nuestro robot,
mos hacer puede ir desde contar la can- podemos utilizar la electrnica que
tidad de pasos que se han dado, hasta vemos en la Figura 10. Es posible ver
la codificacin de la posicin absoluta. que por un lado tenemos conectado
Si queremos conectar un infrarrojo el led infrarrojo a RA1, al que lo de-
a nuestro controlador para detectar clararemos de salida para poder en-
cender o apagar el led segn nues-
tras necesidades. Si queremos que el
led est encendido todo el tiempo,
directamente podemos conectarlo a
5 V. El fototransistor est en RA2,
para lo cual deberemos declararlo de
entrada. Queda claro que, en estos
transistores, la base no est conecta-
da, sino que es el mismo sensor el
que activa la seal ante la luz.
Otro sensor digital interesante es el
sensor de efecto hall. Este efecto con-
Figura 9. Rueda de posicionamiento siste en la aparicin de un campo elc-
absoluto con sensores infrarrojos. trico en un conductor ante la presen-
Con siete sensores podemos determinar cia de un campo magntico. El inte-
128 posiciones distintas de la rueda. grado UGN3503 puede detectar
En ese caso, tenemos una precisin cambios magnticos con precisin.
de algo menos de 3 grados. Tiene 3 conexiones: alimentacin,

SENSORES DIGITALES CASEROS


Es posible armar sensores digitales caseros con slo disear un dispositivo que cie-
rre o abra el circuito segn la deteccin que se quiera hacer. Por ejemplo, para de-
tectar unos discos de metal que se encontraban pegados al piso, cuyo borde era con-
ductor, realizamos un sensor muy sencillo con escobillas de autitos de carrera. S-
lo pusimos bajo una madera 14 pedazos de escobilla en forma paralela con una dis-
tancia menor al dimetro de los discos. Conectamos los pedazos impares entre s y
stos a la entrada del sensor, y los pares los conectamos a masa. Cuando un disco
tocaba dos de las escobillas, cerraba el circuito y lo detectaba. Gracias a este sen-
sor ganamos un campeonato de robtica latinoamericano!

156
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 157

Adaptacin al entorno

tierra y salida. Si no hay campo tivacin del sensor de tacto 1 que te-
magntico, la tensin en la salida es nemos en nuestro controlador.
de la mitad de la entrada. Si se acerca
el polo sur de un elemento magneti- program Sensorescapitulo7
zado, aumenta el voltaje. Y si se acer-
ca el norte disminuye. Si queremos main:
utilizarlo de esta manera, deberemos TRISA = 255
prestar atencin cuando veamos c- Configura los pines
mo usar sensores analgicos. Pero si de PORTA como entrada
slo queremos detectar la presencia o TRISB = 0
no de un elemento magntico, nos al- Configura los pines
canza con un procesamiento digital. de PORTB como salida
while true
Programacin de los switches if PORTA.3=1 then
de nuestro controlador Verifica el estado del
A continuacin presentamos un pro- pin donde est conectado
grama muy sencillo que nos permite
encender el led cuando detecta la ac-

RA0 17
RA1 18
RA2 1
RA3 2
5 Vss RA4/TOCKL 3

+5

R1

1
Infrarrojo Photo
LED2 PNP
2
R3
R2

Figura 10. Circuito bsico de conexin del infrarrojo a nuestro controlador.

157
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 158

7. SENSAR EL MUNDO

el sensor 1 vel de precisin se los conoce como


PORTB.3=1 analgicos (Figura 11). Por ejemplo,
si est encendido una fotorresistencia nos puede entre-
(el sensor activado) gar un valor entre 0 y 5 V.
enciende el led Ahora, el problema que tenemos es
else que, a pesar de todo lo bueno que
PORTB.3=0 pueda ser nuestro micro, siempre
si no, lo apaga trabaja en forma digital. Por lo tan-
end if to, necesitamos convertir esta seal
wend analgica en un valor digital. Para
end. ello existen los conversores analgi-
cos/digitales (A/D). Estos dispositi-
vos, a partir del valor de entrada, nos
Los sensores analgicos devuelven un nmero de 8, 10 ms
A medida que nuestro robot evolucio- bits. Veamos una tabla de un su-
na, nos encontramos con la necesidad puesto conversor A/D que provee
de captar el ambiente con mayor pre- una salida de 4 bits. Esto significa
cisin. Ya no nos alcanza con uno o que tenemos 16 estados distintos po-
ms sensores digitales. Queremos re- sibles de salida. Si la entrada es un
cibir un valor dentro de un rango. A valor entre 0 V y 5 V, el esquema
los sensores que nos permiten este ni- podra ser el que vemos en la Tabla 1.

Seal analgica

5.0

4.0

3.0

2.0

1.0

0.0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Figura 11. Grfico ejemplo de los valores que entrega un sensor analgico.

158
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 159

Adaptacin al entorno

VOLTAJE ENTRADA SALIDA


MIN MAX BINARIA DECIMAL
0 0,3125 0000 0
0,3125 0,625 0001 1
0,625 0,9375 0010 2
0,9375 1,25 0011 3
1,25 1,5625 0100 4
1,5625 1,875 0101 5
1,875 2,1875 0110 6
2,1875 2,5 0111 7
2,5 2,8125 1000 8
2,8125 3,125 1001 9
3,125 3,4375 1010 10
3,4375 3,75 1011 11
3,75 4,0625 1100 12
4,0625 4,375 1101 13
4,375 4,6875 1110 14
4,6875 5 1111 15
Tabla 1. Relacin de valores en la conversin de una seal
analgica entre 0 V y 5 V a una seal digital de 4 bits.

Existe una inmensa variedad de con- lo que se quiere medir) y en el pin 7


versores A/D. Habitualmente, se con 0 V. En los pines 8 y 10 se co-
usan de 8 bits con los micros, como necta a tierra.
por ejemplo el ADC0804 (Figura 12). En el pin 6 tenemos la entrada anal-
Este conversor acepta una entrada de gica y en los pines 11 a 18 tenemos
0 V a 5 V. los 8 bits de la salida digital, que en
En su pin 20 alimentamos con 5 V, nuestro caso deberamos conectar,
en el 9 con 2.5 V (la mitad exacta de por ejemplo, con RB0 a RB7 (nos

HOJAS DE DATOS
Si buscamos informacin sobre algn integrado, seguramente llegaremos a su res-
pectivo datasheet (hoja de datos). Cada fabricante tiene la hoja de datos de sus propios
integrados, pero tenemos sitios que juntan y clasifican las hojas ms comunes:
Universidad Nacional del Sur: www.ceia.uns.edu.ar/integrados/index.asp.
Catlogo completo de hojas de datos: www.datasheetcatalog.net/es/.

159
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 160

7. SENSAR EL MUNDO

pines 2 y 3 ya mencionadas. Como


ADC0804
vemos, tener un conversor A/D nos
CS 1 20 agrega algunas cuestiones electrni-
Vcc
cas y nos consume una cantidad im-
RD1 2 19 CLK R portante de entradas digitales. Pero
WR 3 18 D0 la electrnica avanza, y es aqu don-
CLK IN 4 17
de podemos encontrar la mayor di-
D1
ferencia (para este libro) entre el
INTR 5 16 D2 16F84 y el 16F88. Este ltimo mi-
Vin+ 6 15 D3 cro de Microchip, tiene un conver-
sor A/D incorporado!
Vin- 7 14 D4
En el 16F88 tenemos siete entradas
A GN D 8 13 D5 analgicas (siete canales), asociadas
Vref/2 9 12 D6 las cinco primeras a RA0 a RA4 y las
ltimas dos a RB6 y RB7, respecti-
D GN D 10 11 D7
vamente. Cada una de ellas nos pro-
porciona un resultado digital de 10
Figura 12. Esquema del conversor bits, es decir, un valor entre 0 y
A/D ADC0804. 1023. Las referencias positivas y ne-
gativas (Vref+ y Vref-) son seleccio-
consume un montn de entradas un nables mediante RA2 y RA3.
nico sensor!). Para que inicie la Los registros de control son:
conversin, debemos enviar al pin 3
primero un 1 y luego un 0, y al pin ADRESH y ADRESL: parte alta y ba-
2, al mismo tiempo, lo contrario. ja del resultado, que en nuestro ca-
All toma la entrada analgica y rea- so, con mikroBasic, podremos ob-
liza la salida digital hasta que se vuel- tener de manera directa con la lla-
van a producir las activaciones de los mada a la funcin ADC_read.

CONVERSIN ANALGICO-DIGITAL
Aunque parezca un tema novedoso y desconocido, vivimos rodeados de conversio-
nes de este tipo. Por ejemplo, la msica en CD es una conversin a lo digital de las
seales sonoras, que son analgicas. Cuando grabamos con un micrfono en la
computadora, cuando escaneamos una imagen, cuando sacamos una foto digital,
convertimos el mundo analgico real en un formato digital. En todos los casos, ne-
cesitamos pasar del infinito continuo al finito discreto.

160
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 161

Adaptacin al entorno

ADCON0 y ADCON1: registros de con- SENSORES ULTRASNICOS


trol que describiremos ms adelante.
ANSEL: registro de seleccin de en- mulos del mecanismo de ubicacin de
tradas analgicas. Tambin resuel- los murcilagos, los sensores ultras-
to por mikroBasic. nicos nos permiten medir distancias a
bajo costo. Pueden tener el emisor y el
Los pasos de operacin del ADC son receptor por separado o utilizar el mis-
complicados. Por suerte, como ya mo piezoelctrico para ambas cosas.
comentamos, mikroBasic nos pro- Podemos conseguirlos en algunas c-
porcionar una solucin. Para operar maras antiguas con foco automtico, o
el ADC desde mikroBasic, en pri- utilizar la serie SRF de Devantech.
mer lugar debemos inicializar el re- El ms adecuado en este caso es el
gistro de control ADCON1. En este ca- SRF08, que funciona con 5 V y tiene ba-
so, debemos poner un valor que de- jo consumo.
termine los cuatro bits ms signifi-
cativos (del 4 al 7). Los bits 4 y 5 de-
terminan los valores de referencia word que devuelve la lectura digital.
segn la siguiente tabla: Como sabemos que son 10 bits que
quedarn en ADRESH y ADRESL, en-
VALOR VREF+ VREF- tonces, si ponemos este bit en 1, los
00 AVdd AVss 6 bits que quedan en 0 son los ms
01 AVdd Vref- (RA3) importantes, es decir, los 6 ms sig-
10 Vref+ (RA2) Avss nificativos de ADRESH. En el caso
11 Vref+ (RA2) Vref- (RA3) contrario, sern los 6 menos signifi-
Tabla 2. Valores a ser seteados cativos de ADRESL.
en ADCON1 para definir los valores
de referencia Vref+ y Vref- en Como paso siguiente, debemos in-
la conversin A/D. dicar los pines que sern de entrada
en A con TRISA o en B con TRISB.
En el caso de usar RA2 y RA3, de- Para finalizar, leemos el valor del ca-
ben ser configurados como entradas nal donde tengamos la entrada con
analgicas. El bit 6 determina si la la funcin Adc_Read(nro de canal),
fuente del reloj de la A/D se divide que devuelve un valor de tipo word.
por 2 cuando se usa el reloj del sis-
tema (habitualmente lo ponemos en Cabe mencionar que en el llamado
0). El bit 7 determina cules son los a esta funcin se realizan muchos
bits que quedarn en 0 en el valor pasos ms que, por suerte, no nos

161
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 162

7. SENSAR EL MUNDO

mos a continuacin, y que nos brin-


5V
darn la riqueza de la precisin que
los sensores digitales no tenan.
20 K Masa
Tipos de sensores analgicos
Uno de los sensores ms sencillos de
utilizar y ms econmicos es el fa-
moso CNY70, que ya hemos men-
cionado. Para usarlo, slo lo conec-
tamos como indica la Figura 13, don-
E D de la seal debe ir hacia la entrada
analgica.

Otro sensor conocido y econmico


es el LDR, que consiste en una re-
Seal
sistencia que vara su valor resistivo
Masa 20 K en funcin de la luz que recibe. De
esta manera, podemos obtener infor-
5V macin compleja del entorno donde
el robot realiza su tarea. Tambin po-
demos agregarle un led especfico del
Figura 13. Conexin del CNY70 color que deseamos detectar, para
para usarlo como sensor analgico. que los valores de rebote sean ms
significativos. En la Figura 14 pode-
deben preocupar, ya que los realizar mos ver la conexin del sensor a
en forma automtica. nuestro controlador, y ms adelante
Con estos pasos, podemos tomar los veremos cmo programar la detec-
valores de los sensores que describire- cin de su valor analgico.

PIEL PARA ROBOTS


El gran avance de la tecnologa nunca terminar de sorprendernos. Unos cientficos
japoneses desarrollaron una piel artificial flexible con capacidades sensoriales. Por
ahora slo son sensibles a la presin, pero en breve tendremos pieles que adems
detecten temperatura, fuerza, tensin, etctera. Esto permitira una manipulacin
mucho ms fina de los objetos por parte de un robot, sin necesidad de hacer pro-
cesamiento de imgenes para lograrlo.

162
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 163

Adaptacin al entorno

OSC1/TCLKIN

RA0 17 R3
OSC2/CLKOUT RA1 18 1K
RA2 1
RA3 2
Vss RA4/TOCKL 3

16F88 / 16F84
+5

LDR

R1

Figura 14. Conexin del LDR a nuestro controlador.

Otro sensor analgico corriente es el De luz o color: fotodiodos, foto-


potencimetro. Conectado a un transistores y CCD (integrado que
motor, lo podemos utilizar como posee una matriz de celdas que son
sensor de rotacin, principalmente sensibles a la luz).
si es multivuelta. De presin.
En la Figura 15 podemos ver el es- Tctiles: a diferencia de los senso-
quema de conexin. res de tacto, pueden determinar el
Otros sensores analgicos que pode- grado de presin y la zona donde
mos encontrar en el mercado son: se produce el contacto.

DETECTOR DE MENTIRAS
Si queremos usar nuestro robot para combatir el crimen organizado, adems de po-
nerle una capa y un antifaz, podemos agregarle un sensor que nos permita detectar
mentiras. Este sensor es, simplemente, un medidor de la resistencia que tenemos en
la piel, que se modifica cuando transpiramos. Supuestamente, cuando mentimos, su-
damos, y por lo tanto cambiamos esta medida, aunque a veces nos parece que hay gen-
te que miente sin que se le mueva un pelo.

163
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 164

7. SENSAR EL MUNDO

VCC Termistores: para medir temperaturas.


Termorresistencias: de la misma
manera que los termistores, permi-
330 ten medir temperaturas, pero en
Potencimetro
condiciones mucho ms extremas.
Pirosensores: divisan fuego por su
al conversor A/D capacidad para detectar ciertos
rangos de ultravioletas.
10 K Humedad.
GPS.
Figura 15. Conexin del potencimetro Proximidad.
a nuestro controlador.
Ejemplo de programacin
de la lectura de un LDR
en una entrada analgica
Este ejemplo es una de las pocas co-
sas que no podremos hacer si tenemos
un 16F84, y es por eso que recomen-
damos hacer el pasaje de micro. En el
ejemplo que dimos, tenamos conec-
tado el LDR en RA2. Por lo tanto,
tendremos que leer el canal 2.

program LDR

dim resu as word


Figura 16. Uno de los tantos sensores
ultrasnicos que hay en el mercado. main:
ADCON1 = $80 configuro
Micrfonos. la forma de lectura del
Ultrasnicos: permiten medir distan- valor digital
cias con el mismo mecanismo que y que utilizar
utilizan los murcilagos (Figura 16). Vss y Vdd como
Acelermetros: detectan acelera- valores de
cin y vibracin. referencia.
Inclinmetros: sensan la posicin
vertical.

164
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 165

Adaptacin al entorno

TRISA = $FF defino PORTA PORTB.3=1


como entrada Enciendo el led
TRISB = $00 defino PORTB else
como salida PORTB.3=0
while true Y si no, lo apago
resu = ADC_read(2) end if
if resu>300 then Si el wend
valor del ldr es end.
mayor a 300

RESUMEN
Los sensores son uno de los ncleos fundamentales de los robots autnomos. Sin
embargo, presentan diversas dificultades, desde la conexin electrnica hasta el
procesamiento de la informacin que nos entregan. En este captulo hemos visto
las caractersticas fundamentales de un sensor a la luz que debemos analizar
segn el objetivo de nuestro robot. En el conjunto de sensores, tenemos los digi-
tales, que nos devuelven valores discretos, habitualmente, 1 y 0. Entre estos sen-
sores, de fcil procesamiento, podemos encontrar microswitches y sensores de
luz. Tambin tenemos sensores analgicos, que devuelven un valor dentro de un
rango continuo. Dado que nuestros procesadores trabajan en forma digital, de-
bemos pasar este valor de entrada por un conversor analgico digital. Afortuna-
damente, varios micros ya proveen en forma interna ese conversor, como el
16F88 que recomendamos en este libro.

165
www.FreeLibros.me
07_robotica.qxp 24/10/2007 02:35 p.m. Pgina 166

ACTIVIDADES

TEST DE AUTOEVALUACIN EJERCICIOS

1 Cules son las caractersticas esen- 1 Realizar un programa donde el led se


ciales de los sensores? encienda si los dos interruptores
estn en el mismo estado (los dos
2 Qu es un sensor digital? Cmo con- presionados o sueltos).
vertimos un sensor analgico en uno
digital? 2 Realizar un programa donde el led se en-
cienda cada 3 pulsaciones. Es decir, si se
3 Describa los interruptores o micros- pulsa una vez o dos veces no se encien-
witches. de. A la tercera pulsacin se enciende.
Luego se apaga en la cuarta y quinta, y
4 Cules son los conectores de un mi- vuelve a encenderse en la sexta.
croswitch y cmo se conectan?
3 Conecte ocho leds al puerto B del mi-
5 Cules son los tipos de sensores in- cro y un potencimetro a una entrada
frarrojos que podemos utilizar segn analgica. Realice un programa que
su arquitectura? encienda los leds segn la salida digi-
tal del valor del potencimetro (es de-
6 Describa los sensores de efecto hall. cir, que los leds representen los 8 bits
menos significativos de la salida).
7 Qu es un sensor analgico? Qu es
un conversor A/D? 4 Conecte un CNY70 y programe el mi-
cro para que el motor 1 se encienda y
8 Cmo se utiliza el conversor ADC0804? el 2 se apague si el sensor est sobre
una lnea negra, y al revs si est so-
9 Cmo funciona el conversor A/D del bre una superficie blanca.
16F88?

10 Describir cuatro tipos de sensores


analgicos.

166
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 167

Robtica Captulo 8
El cuerpo
del robot
Lleg la hora de armar una estructura que

permita optimizar el funcionamiento del

robot. Para eso buscaremos un equilibrio

entre el peso, la funcionalidad, la

estabilidad y el tamao. Analizaremos las

arquitecturas posibles y nos detendremos

en los mecanismos de locomocin de los

robots. Ubicaremos los sensores para Cuerpo a cuerpo 168


Caractersticas mecnicas
captar el ambiente, y dejaremos todo listo de un robot autnomo 169
Robots areos 173
Robots subacuticos 174
para los prximos captulos.
Robots terrestres 174
Sistemas con ruedas 179
Estructura de nuestro robot 184
Mecanismos de transmisin
Colaborador: y reduccin 190
Ing. Nstor Balich Cinemtica de un robot 194
Odometra 196
Resumen 197
SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com Actividades 198

www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 168

8. EL CUERPO DEL ROBOT

CUERPO A CUERPO simas opciones: ruedas, orugas o


patas? Y si son ruedas, diferenciales
Nuestra criatura est creciendo. Es u omnidireccionales? Y si son patas,
inteligente, se mueve (an en forma dos, cuatro, seis, cien?
torpe), puede detectar el mundo que
la rodea. Pero sabemos que no esta- Como vemos, no es fcil decidir la
remos a su lado toda la vida, y que- estructura de nuestro robot, y esta
remos preparar a nuestro robot para decisin est fuertemente vinculada
vencer distintos tipos de dificulta- con su destino final. En nuestro ca-
des: seguir una lnea, detectar las lu- so, haremos un equilibrio entre el
ces encendidas y apagadas, jugar al costo y la estructura, y tendremos en
ftbol con sus compaeritos, luchar mente la posibilidad de encarar di-
con ellos ante un problema. versos desafos con la misma forma.
El armado incompleto que tiene en Pero como ya hemos comentado, el
este momento es demasiado frgil que mucho abarca, poco aprieta.
para afrontar todos estos desafos. El cuerpo que vamos a desarrollar
Por eso, necesitamos acomodar to- nos permitir realizar muchas fun-
das sus piezas y darle una arquitec- ciones distintas, pero en ningn ca-
tura que sea fuerte, robusta y veloz. so ser la mejor estructura posible.
Pero como siempre, tenemos much- Es por eso que presentaremos diver-

Figura 1. Dos equipos formados para comenzar


un partido de ftbol de siete contra siete.

168
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 169

Cuerpo a cuerpo

sos aspectos de la construccin de CMO UBICAR LAS PILAS


manera tal que ms adelante, se pue-
da desarrollar el robot que mejor se Para poder ubicar las pilas de la forma
adapte a la tarea final. que ms nos convenga, podemos com-
prar los portapilas en diferentes confi-
Caractersticas mecnicas guraciones. En general, existen porta-
de un robot autnomo pilas de cuatro pilas, pero podemos
Cuando desarrollamos la estructura conseguir de dos, de seis y de ocho.
de un robot, tenemos que tener en Una vez que tengamos determinada la
cuenta un conjunto de variables configuracin que nos ser ms til pa-
que, en muchas ocasiones, se con- ra nuestro robot, no tenemos que olvi-
traponen. Desde ya, la variable por dar conectarlos entre s en serie para
excelencia, lo que tenemos que tener obtener un negativo y un positivo con el
en mente constantemente, es el ob- voltaje necesario.
jetivo o la misin del robot. En
nuestro caso, dado que queremos
cumplir diversas pruebas con el mis- agregamos esto, necesitamos ubi-
mo robot, tenemos que elegir una car las bateras en algn lugar don-
estructura que nos permita acceder de podamos sacarlas y ponerlas sin
con facilidad a los sensores y cam- tener que desarmar todo.
biarlos de lugar con sencillez, entre Ubicacin del controlador: tene-
otras cosas. Pero como nuestro ob- mos un problema similar al de las
jetivo es que luego de leer este libro bateras. Si desarrollamos la pro-
podamos comenzar a realizar dife- gramacin en circuito (como es
rentes diseos de robots, a conti- nuestro caso), basta con dejar el
nuacin presentaremos cules son conector para comunicarnos con
las caractersticas que debemos tener el programador. Pero si tenemos el
en cuenta en el desarrollo. micro en un zcalo, tendremos
que poder acceder a l para llevar-
Ubicacin de las bateras: ya he- lo al programador y regresarlo.
mos comentado que ste es un te- Tipos de locomocin: otro aspec-
ma especial y molesto. Si en nues- to fundamental es el ambiente
tro robot agregamos la electrnica donde el robot debe desarrollar la
de la carga de la batera, podemos actividad. Son tantas las modifica-
ubicarla en algn lugar inaccesible ciones que debemos tener en cuen-
mientras podamos enchufar el ca- ta, que trataremos este tema en
ble de alimentacin. Pero si no forma detallada ms adelante.

169
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 170

8. EL CUERPO DEL ROBOT

Figura 2. La arquitectura del robot depender de su objetivo.


Aqu tenemos un robusto luchador de sumo.

Equilibrio del robot: cada am- cia necesaria. Al probarlo es necesa-


biente en particular aade carac- rio tener en cuenta todos los pro-
tersticas especficas a la actividad. blemas que se encontrar en el tra-
Por ejemplo, uno de los problemas yecto de subida. Lo mismo ocurre
habituales son las rampas o los con los obstculos. Puede ocurrir
obstculos. En el caso de las rampas, que nuestro robot supere uno de
tenemos que analizar con atencin ellos cuando lo ponemos directa-
si la potencia de los motores nos mente frente a l, pero si llega in-
permitir subirlas o bajarlas sin ca- clinado o mientras analiza los sen-
ernos o quedarnos estancados. Y es- sores, es posible que fracase en su in-
to no hay que hacerlo mediante el tento. Es por eso que el verdadero
encendido de los motores y luego comportamiento lo vamos a obte-
colocar al robot al comienzo de la ner en la arena real. Una buena idea
rampa para ver si la sube, dado que es construir un espacio lo ms pare-
si debe sensar para poder subir, el cido posible al que va a tener el ro-
comportamiento de los motores bot como ambiente, para poder tes-
ser mucho ms complejo y con se- tearlo en forma robusta.
guridad no alcanzaremos la poten- Superficie donde se desarrolla la

170
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 171

Cuerpo a cuerpo

Figura 3. La superficie de la cancha determinar


el tipo de ruedas a utilizar.

actividad: el tipo de superficie tam- TESTEO DEL ROBOT


bin genera problemas con respecto
al comportamiento inercial del robot Para poder observar el comportamien-
y su adherencia. Tendremos que de- to inercial del robot, es necesario que
tenernos a analizar cmo son nues- lo probemos en los siguientes estados:
tras ruedas, de qu material estn he-
chas, si no es mejor utilizar orugas, si A toda velocidad hacia delante y hacia
son de goma, de metal, etctera. atrs, y luego frenar bruscamente.
Tambin en esta oportunidad es ms A toda velocidad hacia delante y hacia
conveniente tener el material real de atrs, y luego dejar las ruedas sin ali-
la superficie, porque el comporta- mentacin.
miento cambia completamente. Y Girar a toda velocidad para un lado y
no nos podemos dar el lujo de tener para el otro y luego hacerlo frenar de
juegos de botines completos! manera brusca.
Ubicacin de los sensores: en el Girar a toda velocidad para un lado y
captulo de los sensores hemos co- para el otro y luego dejar las ruedas
mentado algo sobre esto. Segn el ti- sin alimentacin.
po de sensor, ser necesario ubicarlo

171
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 172

8. EL CUERPO DEL ROBOT

ms cerca o ms lejos de los objetos las ruedas. Adems, cualquier mo-


que tendr que detectar. Por ejemplo, vimiento o vibracin de los moto-
si usamos un CNY70 para seguir una res no contemplado, comenzar a
lnea, prcticamente lo tendremos deteriorar el sistema de transmi-
que pegar al piso. Por otro lado, tam- sin. Tanto los motores como los
bin es necesario que la ubicacin nos ejes donde se asiente la transmi-
permita aislarlo lo ms posible de las sin deben estar robustamente an-
interferencias del ambiente. Por clados para evitar estos problemas.
ejemplo, los sensores de luz de cual- Ubicacin del sistema de comu-
quier tipo tienen que estar lo ms ais- nicacin: si tenemos el placer de
lados posible de la luz ambiente para aadir un sistema de comunica-
poder tener uniformidad. cin inalmbrico, tenemos que
Ubicacin de los motores y de la ubicarlo en algn lugar donde no
transmisin: ste es otro proble- tengamos interferencias y donde
ma importante, en especial si podamos cambiar de canal con fa-
nuestro presupuesto no nos ha cilidad si es necesario (por ejem-
permitido comprar micromotores plo, en el caso de uso de radio).
o motorreductores. La ubicacin Tamao y peso: todo lo que hemos
de los motores nos complicar el descripto tambin est acotado por
mecanismo de transmisin hasta estos dos factores, que se presentan
como lmites habituales en las com-
petencias de robots. Tal vez el ms
sencillo de solucionar es el peso, ya
que si modificamos los materiales
de la estructura del robot, lo
podemos lograr. Pero con
respecto al tamao, mu-
chas veces, si no hemos pre-
visto con antelacin el pro-
blema, estamos obligados a
desarmar el robot en forma ca-
si completa.

Figura 4. No siempre nuestro robot es


prolijo y ordenado en los primeros
intentos. Lo importante es que podamos
cambiar su configuracin con facilidad.

172
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 173

Cuerpo a cuerpo

Todo lo que hemos descripto se apli- nada y debe quedar en estado de re-
ca a robots terrestres. Imaginemos to- poso. Necesariamente tiene que reci-
dos los problemas que surgen en los bir informacin de su movimiento en
areos y submarinos! Como el nivel de 3D y adaptar la velocidad de sus mo-
complejidad de estos robots supera tores y posicionamiento de sus alas o
nuestro humilde libro, comentaremos rotores en forma constante.
de forma muy simple algunas cuestio- En general, utilizan un sistema re-
nes de los robots de este tipo, para lue- dundante de sensores para su posicio-
go profundizar en los terrestres. namiento, de forma tal que ante cual-
quier interrupcin momentnea de
Robots areos uno o ms de ellos, pueda recuperar-
Uno de los problemas fundamentales se de la prdida. Por otra parte, con
que podemos encontrar en el desa- esta redundancia se logra mayor fia-
rrollo de estos robots es la necesidad bilidad y precisin en la informacin.
de obtener informacin del ambiente En general utilizan GPS (Global Posi-
con una frecuencia mucho mayor que tioning System, Sistema de Posiciona-
en el caso de los robots terrestres. En miento Global), acelermetros, girs-
estos casos, el robot no puede hacer copos, telmetros y otros sensores so-

Figura 5. Marvin MarkII, un robot areo autnomo desarrollado por el Departamento


de Ciencias de Computacin de la Universidad Tcnica de Berln.

173
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 174

8. EL CUERPO DEL ROBOT

fisticados para poder ubicarse en 3D. un medio ms complejo e inestable.


Los robots areos ms verstiles son los Podemos encontrar partculas suspen-
helicpteros, pero tambin se han de- didas que modifican todo tipo de seal.
sarrollado aviones y zeppelines, que Tambin la comunicacin se hace ms
son ms estables y fciles de controlar. compleja, con lo cual el riesgo de per-
der el robot es ms grande (no se rom-
Otro problema fundamental es tener pe pero se pierde en el mar!).
informacin constante en tierra so- Con respecto a las bateras, el proble-
bre la batera restante o algn meca- ma es similar al caso areo. Para su-
nismo automtico de aterrizaje en mergirse utiliza sistemas de flotabili-
caso de que nos quedemos sin dad que, con la entrada o la salida de
energa. En los robots terrestres, si agua, permiten modificar la profun-
nos quedamos sin batera, dejarn de didad del robot. Con respecto al mo-
funcionar. En los areos, las conse- vimiento, con motores desplaza el
cuencias son imaginables, no? agua que lo circunda.

Robots subacuticos Robots terrestres


Los problemas planteados por este tipo Dentro del conjunto de robots terres-
de robots son similares a los areos. Te- tres, tenemos diversos tipos de formas
nemos movimiento 3D, pero en este de locomocin. Cada una de ellas po-
caso, tenemos mayor estabilidad en el see ventajas y desventajas, y depende
medio. Es decir, podemos usar ms del tipo de superficie que recorramos.
tiempo para tomar decisiones, dado Vamos a describir genricamente ca-
que a lo sumo nos sumergiremos ms da una de ellas para detenernos, ms
o menos cuando no hacemos nada. adelante, en los sistemas con ruedas,
Aqu las dificultades surgen en los tipos que son los que podremos imple-
de sensores a usar, dado que el agua es mentar en nuestro robot.

COMPETENCIA INTERNACIONAL DE ROBOTS AREOS


La Asociacin Internacional de Vehculos Autnomos (AUVSI) organiza competencias
de robots areos autnomos. En cada una de ellas se plantea una misin sobre un
ambiente determinado, como un rescate en el mar o el ingreso a una zona donde se
produjo un desastre nuclear para tomar imgenes. El objetivo es volar hasta una zo-
na distante a tres kilmetros del punto de partida e identificar una estructura en
particular. Podemos encontrar la informacin completa en el sitio http://avdil.gtri.
gatech.edu/AUVS/IARCLaunchPoint.html.

174
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 175

Cuerpo a cuerpo

Figura 6. Explorador subacutico realizado por alumnos de una escuela


media de Argentina. No es autnomo, pero resuelve
todas las dificultades mecnicas de un robot submarino.

ROBOT SUBACUTICO HECHO POR ALUMNOS DE UNA ESCUELA


Ex.Su.Ac. (Explorador SubAcutico) es un robot desarrollado por alumnos de la Es-
cuela Tcnica No. 3 de Buenos Aires. El robot se realiz con la utilizacin de pro-
ductos prefabricados de PVC y puede sumergirse hasta 15 metros de profundidad.
Tiene como objetivo colaborar en la bsqueda de problemas de residuos en tanques
y conductos de agua, en el rescate de cuerpos u objetos sumergidos, y en la gene-
racin de mapas del suelo subacutico. Podemos encontrar ms informacin en
www.oni.escuelas. edu.ar/2005/GCBA/972/.

175
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 176

8. EL CUERPO DEL ROBOT

Orugas


CUBE REVOLUTIONS
Los sistemas de oruga unen la rueda
trasera con la delantera (Figura 7). Tie- Este proyecto de la Universidad Autno-
nen como ventaja una mayor adhe- ma de Madrid se basa en la construccin
rencia a la superficie y la capacidad de de un robot podo y modular. El robot
adaptarse a terrenos irregulares. En est compuesto por 8 mdulos idnticos
general son de goma, pero tambin con la misma orientacin, y puede adop-
podemos hallar orugas metlicas que tar diversas formas. Logra su locomo-
le permiten clavarse en superficies de- cin por medio de ondas peridicas, por
masiado pulidas. La desventaja que semiondas o al convertirse en una rue-
presentan es la imposibilidad de rea- da que rota sobre s misma. El desarro-
lizar trayectorias curvas. La nica for- llo del robot es completamente abierto y
ma de rotar es si se giran las orugas de libre, y fue diseado con herramientas
cada lado en sentido opuesto, lo que de las mismas caractersticas. El control
logra un giro en el lugar, pero el avan- se realiza desde una PC mediante el
ce slo puede ser en lnea recta. puerto serial. Podemos encontrarlo en
www.iearobotics.com/personal/juan/
Patas doctorado/cube-revolutions/index.html.
Los robots con patas son el resultado
de un enfoque biolgico de la arqui- En general, presentan 3 grados de li-
tectura, y van de la mano del sueo bertad en cada pierna: cadera, rodi-
de la criatura humana (Figura 8). Tam- lla y tobillo. En las dos ligas inter-
bin tienen como ventaja una mayor nacionales de ftbol de robots en-
adaptacin a terrenos complejos, pe- contramos categoras de robots con
ro eso an no se ha logrado. El siste- patas, pero an no juegan verdade-
ma de equilibrio en estos robots es ros partidos, sino pruebas de destre-
complicado, y necesitan de una coor- za. Una forma de aumentar el equi-
dinacin muy precisa de los mecanis- librio consiste en incrementar el n-
mos de control de los motores. mero de patas. En este sentido, los

Figura 7. Robot
NR3 con sistema
de orugas
desarrollado por
Francisco
Carabaza Pieiro.

176
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 177

Cuerpo a cuerpo

Figura 8. Nimbro, humanoide participante de la RoboCup 2006,


desarrollado por la Universidad de Freiburg.

JUGADORES DE FTBOL CON PATAS


En todas las competencias de ftbol de robots encontramos categoras de jugadores
con patas. En el caso de la Robocup, estn presentes las categoras Four-legged
(cuatro patas), donde cada equipo est formado por cuatro Aibos, y Humanoid (hu-
manoide), donde el equipo est compuesto por un arquero y un jugador, ambos con
dos patas. En la FIRA, la categora se llama HuroSot, y los humanoides no juegan
partidos, sino que realizan pruebas de destreza.

177
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 178

8. EL CUERPO DEL ROBOT

Figura 9. Robot hexpodo desarrollado por un aficionado


en Japn, con el uso de dieciocho servos!

esquemas tradicionales son bpedos, ferentes tipos de robots podos al


cuadrpedos y hexpodos (Figura 9). conectar varios de estos mdulos.
Los ejemplos ms conocidos son
Asimo de Honda y Qrio de Sony en El movimiento en lnea recta se lo-
el caso de los bpedos, y Aibo de gra con un efecto de onda a partir de
Sony en el caso de cuadrpedos. la cola. Comienza con una contrac-
cin inicial que se propaga en cada
podos mdulo. En esta arquitectura, lo
Los podos son robots que no em- complejo es la coordinacin de los
plean ruedas, orugas o patas (Figura mdulos. Adems, necesitamos sen-
10). El modelo a seguir es el de los sores en los mdulos para poder
gusanos o serpientes. Estn com- adaptarlos a distintos terrenos. Otro
puestos por partes pequeas, articu- problema complejo es agregarles
ladas en forma completamente mo- grados de libertad a los mdulos pa-
dular. Pueden moverse sobre super- ra obtener movimientos en superfi-
ficies muy diversas y tomar configu- cies y no slo en lnea recta. En ge-
raciones distintas para entrar en lu- neral, se usa al intercalar mdulos en
gares complicados. La idea es di- diferentes fases (uno hacia arriba y
sear un mdulo bsico y crear di- otro hacia el costado).

178
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 179

Cuerpo a cuerpo

Figura 10. Robot podo desarrollado por la Escuela Politcnica


Superior de la Universidad Autnoma de Madrid.

Sistemas con ruedas pleja. Se utilizan dos ruedas, una de


Los robots con ruedas son los ms cada lado. Adems se agrega una rue-
econmicos y sencillos de implemen- da libre o un punto de apoyo en la
tar. De todas formas, hay diversas ar- parte trasera o delantera para mante-
quitecturas que analizaremos detenida- ner el equilibrio. Al tener las ruedas
mente, y pueden tener alta compleji- alimentadas por dos motores inde-
dad. En ellas, uno de los problemas pendientes, es complicado mantener
fundamentales que tambin trataremos un movimiento rectilneo sin el uso
en profundidad son los mecanismos de de sensores internos (encoders vincu-
transmisin desde los motores hasta las lados a las ruedas) o externos.
ruedas. En general, la estabilidad del
robot con ruedas no es problema, al

RECICLADO
igual que la reparticin de la carga del
stos son algunos sitios interesantes don-
robot. Sin embargo, no se adaptan a
de se explica cmo reciclar componentes
cualquier tipo de terreno. Si los desni-
de aparatos en desuso. Muchos de ellos
veles superan el radio de las ruedas, se
sern tiles para nuestros robots:
hace muy difcil superarlos. Ahora ve-
amos cada tipo de arquitectura.
Reciclaje y proyectos electrnicos:
http://heli.xbot.es/wp/.
Configuracin diferencial
Proyecto EconoBot (un robot de costo
sta es la configuracin de ruedas ms
cero): http://mundobot.com/blog/.
sencilla, y es la que utilizaremos en
Disquetera convertida en robot:
nuestro robot (Figura 11). Es econ-
www.sorgonet.com/trashing
mica y la transmisin no es tan com-

179
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 180

8. EL CUERPO DEL ROBOT

Figura 11. Robot diferencial


con una rueda libre, desarrollado
por Garnet Hertz. Es la base
de un robot que luego
se control con una cucaracha!

Cuando el motor que alimenta la rue- el recorrido. sta es una navegacin


da da las vueltas necesarias para com- muy lenta para los ambientes din-
pletar una vuelta de esta ltima, no micos, como el del ftbol (Figura 12).
necesariamente ha girado su circunfe- Es por eso que ms adelante hare-
rencia por problemas de rozamiento. mos un estudio detenido de la nave-
De este modo, la nica forma de ve- gacin en estos casos, y veremos al-
rificar que ambas ruedas giran sincro- gunas alternativas a la navegacin
nizadas es sensar el comportamiento con trayectos curvos.
interno o externo del robot.
Otra dificultad es la navegacin ha- Configuracin sncrona
cia un punto determinado. Es un En este caso, el robot tiene tres rue-
desafo complejo e interesante hacer das alimentadas por un mismo motor
que un robot llegue lo ms rpido (Figura 13). Gracias a esto, avanza en
posible a su destino. Una forma sen- lnea recta en forma precisa. Para po-
cilla es rotar hasta apuntar al objeti- der girar, incorpora un segundo mo-
vo final, y luego navegar en forma tor, que tambin afecta a las tres rue-
recta, corrigiendo de tanto en tanto das, para rotarlas en su eje. De esta

180
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 181

Cuerpo a cuerpo

Figura 12. Robot


Chebot, jugador de ftbol
con traccin diferencial
desarrollado en la Universidad
de Buenos Aires, Argentina.

forma, puede avanzar en lnea recta problema del frente del chasis, pero la
hacia cualquier punto, pero no puede navegacin es ms lenta.
trazar curvas. Al funcionar de esta
manera, el frente del robot siempre
estara para el mismo lado. Es posible
que esto no sea un problema, pero si
necesitamos apuntar su frente en dis-
tintas direcciones, tenemos que agre-
gar un mecanismo que permita rotar
el chasis en la direccin de las ruedas.
Otra arquitectura de la configuracin
sncrona slo permite dos posiciones
de las tres ruedas. En una de ellas, el Figura 13. Un robot de configuracin
robot avanza en lnea recta, y en la sncrona hecho con Lego. Se puede
otra posicin, las ruedas se acomodan observar el engranaje que alimenta
de tal manera que el robot gira sobre el giro de la rueda y el que alimenta
su eje. De esta manera, evitamos el la rotacin del soporte de sta.

181
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 182

8. EL CUERPO DEL ROBOT

Triciclo Ackerman
En este caso tenemos dos ruedas ali- Esta arquitectura es la que encontra-
mentadas por un motor para darle mos en los automviles convencionales
traccin al robot, y una tercera rueda (Figura 15). Tenemos dos ruedas trase-
en la parte anterior o posterior del ro- ras con traccin y dos ruedas delante-
bot, sin traccin, pero con giro sobre ras que definen direccin. Tiene la mis-
su eje, que le permite darle direccin ma filosofa que el triciclo, pero agrega
al dispositivo (Figura 14). Tiene buena mayor estabilidad. La desventaja es que
estabilidad y su mecnica es sencilla. necesitamos desarrollar el sincronismo
Puede ir recto en forma precisa gra- entre las dos ruedas delanteras, pero no
cias a que las ruedas de traccin estn es complicado. Tambin se mueve en
alimentadas por un nico motor. El lnea recta con absoluta precisin y tie-
problema que se presenta es que el ne dificultades para realizar las curvas.
movimiento curvo es complejo, dado Otra diferencia con el triciclo es que las
que el radio de las curvas que puede ruedas traseras utilizan un mecanismo
realizar es muy grande. No puede gi- llamado diferencial que asegura que, a
rar sobre s mismo ni hacer curvas ce- pesar de que la alimentacin de ambas
rradas. Esto, para los robots que se ruedas se realice con el mismo motor,
mueven en ambientes pequeos, pue- una rueda pueda girar menos que la
de ser un problema insalvable. otra cuando sea necesario.

Ruedas omnidireccionales
Como podemos ver en la Figura 16,
las ruedas ominidireccionales pre-
sentan una estructura muy peculiar.
Se comportan como una rueda con-
vencional pero no ofrecen resisten-
cia para su desplazamiento lateral.

Figura 14. Esquema


de un robot con
arquitectura de triciclo.

182
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 183

Cuerpo a cuerpo

Figura 15. Arquitectura de un robot con control de ruedas Ackerman.

Por lo tanto, con tres ruedas ubica-


das como se observa en la Figura 17,
y con determinada velocidad en ca-
da rueda, podemos lograr que el ro-
bot se dirija hacia cualquier punto o
que gire sobre su eje.

Figura 16. Rueda omnidireccional.


Los rodillos permiten que la rueda
se desplace en forma lateral
con mnimo rozamiento.

EAGLE KNIGHTS
En el Instituto Tecnolgico Autnomo de Mxico, el laboratorio de robtica ha desarro-
llado un equipo de ftbol de robots para competir en la categora F-180 de la RoboCup.
El equipo est conformado por cinco robots omnidireccionales que estn controlados por
un sistema central de inteligencia artificial. Este sistema central realiza el procesamiento
de imgenes de las cmaras ubicadas sobre el terreno de juego, define las estrategias y
los comportamientos de los robots, y les enva las instrucciones por radio. Podemos en-
contrar el proyecto completo en http://robotica.itam.mx/espanol/.

183
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 184

8. EL CUERPO DEL ROBOT

El algoritmo necesario para calcular la sis y la arquitectura de nuestro robot.


velocidad de cada rueda para dirigir- Una vez que lo tengamos armado y
se con un ngulo determinado es sen- podamos comenzar a probarlo, estu-
cillo y consume mnimo tiempo de diaremos algunos conceptos fsicos y
procesamiento. Las desventajas son matemticos para lograr una navega-
que no es sencillo moverse en lnea cin eficiente.
recta en forma precisa, y que es algo
compleja la arquitectura del robot Especificaciones
con respecto a la ubicacin de los mo-
El diseo que propondremos en este
tores y las ruedas. Pero es un buen de-
libro tiene como objetivo cumplir con
safo para afrontar ms adelante! Es las especificaciones del Campeonato
muy interesante ver cmo se mueven Argentino de Ftbol de Robots, de
los robots con estas ruedas. manera tal que podamos utilizarlo pa-
ra participar en la competencia. Est
Estructura de nuestro robot diseado para la categora Junior, aun-
Antes de continuar con otros con- que el tamao tambin cumple con las
ceptos tericos relacionados con los especificaciones de la categora Senior.
movimientos, desarrollaremos el cha- Los chasis presentados (Figura 18) son

Figura 17. Arquitectura


de un robot con tres ruedas omnidireccionales.

184
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 185

Cuerpo a cuerpo

a modo de sugerencia, y dependen del CAETI


uso que se le quiera dar al robot. Para
poder calificar en cualquiera de las ca- El CAETI (Centro de Altos Estudios en Tec-
tegoras del CAFR, el robot tiene que nologa Informtica) es el centro de inves-
entrar en un cilindro de 18 cm de di- tigacin de la UAI (Universidad Abierta In-
metro por 15 cm de alto. teramericana), donde los autores de este
libro desarrollamos y probamos todo lo
No hay restricciones en cuanto a la que contamos en estas pginas. La rama
cantidad de ruedas, motores y ba- de investigacin en la que participamos es
teras, siempre y cuando el robot se la de robtica autnoma, y hemos forma-
adecue a las limitaciones del regla- do el GIRA, Grupo de Investigacin en
mento. Las principales limitaciones Robtica Autnoma. Uno de los campos
son que quepa dentro del cilindro de trabajo es el ftbol de robots y cada ao
mencionado y que no lastime o per- organizamos, junto con otras universida-
judique intencionalmente a un robot des e instituciones educativas, el Campe-
contrario (Fairplay!). Para mayor de- onato Argentino de Ftbol de Robots.
talle del reglamento, podemos visitar Nuestro centro est abierto para todos los
la pgina del CAFR (www.cafr. estudiantes e investigadores que quieran
com.ar), donde estn las reglas origi- trabajar dentro de este campo. Para ms
nales de la RoboCup y la adaptacin informacin se puede consultar la pgina
para nuestro campeonato local. web: http://caeti.uai.edu.ar/.

Traccin diferencial
A la hora de elegir el tipo de transmi-
sin, la ms fcil de implementar y con
grandes ventajas es la traccin diferen-
cial. Para lograrla, ubicaremos dos mo-
tores en el centro del robot conectados
en forma directa a sus ruedas. De esta
manera, podremos controlar la direc-
cin del robot mediante el giro de los
dos motores, de la siguiente manera:

Figura 18. Ejemplo de chasis propuesto.


El parche en la parte superior permite
reconocer al robot en un sistema de visin.

185
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 186

8. EL CUERPO DEL ROBOT

Uno detenido y el otro que gire: ral, como es el caso del soporte supe-
giro sobre radio exterior. rior. En la Figura 19 podemos ver el
Uno que gire en un sentido y otro conjunto total de 14 piezas, el con-
en el sentido opuesto: giro sobre trolador, la batera, los motores y las
su centro. dos ruedas (que utilizan unos bujes,
Los dos que giren en el mismo sen- que pueden ser reemplazados segn
tido pero uno a menor velocidad: las ruedas y los motores que utilice-
giro sobre un arco. mos). Como vemos, en este caso hici-
Los dos motores que giren a la mis- mos el robot con una batera de 12 V
ma velocidad: avance o retroceso en porque no tenamos portapilas para 8
lnea recta. Como ya comentamos, pilas de 1,5 V, pero nuestra sugeren-
esta opcin es tericamente posible, cia es que conviene usar 8 12 pilas
pero en su ejecucin siempre nos como comentamos en el captulo de
encontramos con diversos proble- las bateras, as aprovechamos las pilas
mas, como la diferencia de veloci- AA recargables convencionales.
dad entre los motores, los roza-
mientos desparejos, etctera. Nece- Estructura de soporte
sitaremos de mecanismos de sensa- En primer lugar, cortaremos los so-
do del mundo o de las ruedas, de portes laterales que tienen por funcin
manera tal que podamos corregir principal el montaje de los motores.
los errores que se producen. No olvidemos que el robot no debe
superar los 15 cm de altura y 18 cm
Chasis troquelado de dimetro. Los laterales son sim-
Este chasis est realizado en aglomera- tricos en espejo entre s, y lo pode-
do de 2 milmetros, inspirado en las fi- mos observar en las ranuras en don-
guras de cartn que venan troqueladas de se encajan las otras piezas (Figura
para armar. La plancha de aglomerado 20). A continuacin, procederemos a
de ese espesor se puede cortar con un cortar la pieza circular, que es la pla-
cter, pero nos puede dar algo de tra- taforma central donde se colocar la
bajo. Si usamos una caladora de made- placa controladora. Por ltimo, la
ra, podremos lograr nuestro objetivo pieza rectangular es un soporte que
con ms facilidad. tiene por funcin darle rigidez al con-
Al finalizar la secuencia de armado, junto. La ltima pieza que cortare-
podremos pegar las piezas o encastrar- mos es el soporte para la batera. All
las. De elegir la primera opcin, po- montaremos la rueda de estabiliza-
demos dejar de lado algunas piezas cu- cin, que tambin es de madera, co-
ya finalidad es darle rigidez estructu- mo podemos ver en la Figura 21.

186
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 187

Cuerpo a cuerpo

Figura 19. Conjunto total con las 14 piezas que componen nuestro robot.

Figura 20. Soportes principales Figura 21. Soporte de las bateras


de la estructura de nuestro robot. y rueda de estabilizacin.

187
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 188

8. EL CUERPO DEL ROBOT

El montaje
Para poder realizar el montaje de nuestro robot, debemos llevar a cabo los
pasos que veremos a continuacin.

Realizar el montaje PASO A PASO

En primer lugar, debe montar el motor en los soportes laterales.

Monte la plataforma central con el primer soporte.

Monte el segundo soporte en la plataforma y la pieza superior para dar-


les rigidez a los soportes laterales.


188
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 189

Cuerpo a cuerpo

Monte el soporte para las bateras. En este caso, los portapilas de pilas AA.

Ubique el controlador en la parte superior del robot, o en el lugar que quede


disponible si agreg otros componentes. As queda el robot terminado.

189
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 190

8. EL CUERPO DEL ROBOT

Podemos ver que el armado de la es- Mecanismos de transmisin


tructura es sencillo, y cada uno lo y reduccin
puede hacer a su medida. Si quere- Muchas veces, los motores no se en-
mos variar de configuracin, es reco- cuentran directamente vinculados
mendable utilizar piezas como las de con las ruedas o el mecanismo que se
Lego, Rasti o Mecano, junto con al- quiere mover. Tambin tenemos ca-
gunos soportes de aglomerado para sos en los que queremos alimentar,
los motores. Lo ideal es armar una con un mismo motor, a un conjun-
pieza para cada motor que luego sea to de ruedas, como en la configura-
fcilmente vinculable con los ladri- cin sncrona. Entonces, tenemos
llos o las piezas del juego. Las plata- que desarrollar algn mecanismo de
formas para las bateras o el contro- transmisin del movimiento del mo-
lador son mucho ms sencillas de re- tor. Adems, muchas veces el motor
alizar con las piezas. no tiene el torque (fuerza de rota-
cin) o la velocidad que deseamos.
Para ello, utilizamos mecanismos de
reduccin. Ambos estn muy rela-
cionados. Presentaremos cada meca-
nismo y comentaremos cmo fun-
ciona la transmisin y la reduccin
en cada caso.

Engranajes
Los engranajes son ruedas dentadas
Figura 22. Robot listo para jugar un que empalman en forma directa una
partido en la categora Junior del CAFR. con otra. Los dientes se enganchan

IMPRESORAS 3D
Cuando trabajamos con software, estamos acostumbrados a disear nuestros progra-
mas con libertad, y podemos cambiar cualquier bit sin problemas. Pero en cuestin de
hardware, de lo que tenemos en mente hasta obtener el objeto fsico hay un largo tre-
cho. Sin embargo, ya se han inventado las impresoras 3D, que nos permiten crear, en
diversos materiales, las piezas que necesitemos para nuestro robot. Por lo tanto, casi
no quedan barreras para poder llevar cumplir nuestros sueos. Slo tenemos que de-
jar volar nuestra imaginacin, contar con estas maravillas y ponernos a trabajar! Po-
demos ver un modelo de estas impresoras en www.zcorp.com.

190
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 191

Cuerpo a cuerpo

entre s, y el giro del engranaje de de 8 dientes y la salida de 32, ante


entrada (conectado al motor) se un giro de la entrada, slo tendre-
transmite al engranaje de salida (co- mos un giro de 1/4 de vuelta en la
nectado a la rueda). Cada uno de salida. Por lo tanto, las revoluciones
ellos transmite su sentido e invierte de la rueda con respecto a las del
el sentido del engranaje asociado. La motor disminuyen. Sin embargo, al
transmisin es muy fiable, dado que tener el punto de apoyo ms cerca
si la conexin es correcta, no se pro- del centro en el caso del engranaje
duce ningn tipo de falla en la trans- pequeo, y ms lejos en el que tiene
misin de los giros. conectado, aumenta el torque en la
Uno de sus defectos es que el alcan- misma proporcin.
ce de la transmisin es corto, y es ne- Por lo tanto, si queremos calcular
cesario introducir engranajes inter- cmo se comportan el torque y la ve-
medios (conocidos como engrana- locidad en la transmisin entre dos
jes solidarios) para alcanzar mayo- engranajes, debemos realizar ecua-
res distancias (Figura 27). ciones, pero primero veamos lo que
significa cada sigla.
Adems de ser usados para este fin,
con los engranajes tambin pode- RR: Revoluciones de la rueda.
mos hacer reducciones. Un engra- RM: Revoluciones del motor.
naje pequeo de entrada contra un DEE: Dientes de engranaje de entrada.
engranaje ms grande en la salida, DES: Dientes de engranaje de salida.
aumenta la potencia y reduce la ve- TM: Torque del motor.
locidad. Por ejemplo, si la entrada es TR: Torque de la rueda.

Figura 23.
Un ejemplo tpico
de reduccin

191
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 192

8. EL CUERPO DEL ROBOT

La primera ecuacin sera: nuestras necesidades. Los engranajes


solidarios son los tradicionales, que
RR = RM * DEE / DES. comparten un plano pero que tienen
ejes distintos, como vemos en la Figura
Si seguimos nuestro ejemplo de un 23. Los engranajes cnicos permiten
engranaje de 8 dientes en la entrada y cambiar la direccin de la rotacin y
32 dientes en la salida, cuntas RPM modificar as el plano de sta. Podemos
(revoluciones por minuto) tendr la ver un ejemplo en la Figura 24.
rueda si el motor es de 20 RPM?
Los sinfn o gusanos permiten realizar
RR = 20 * 8 / 32 = 5 RPM una caja de reduccin que aumenta
poderosamente la fuerza y disminuye
En el caso del torque la ecuacin es: notoriamente la velocidad. Podemos
ver un ejemplo de caja de reduccin
TR = TM / DEE * DES en la Figura 25.

En nuestro ejemplo, si nuestro motor Los engranajes de pin y cremallera


tiene 2 kgf, entonces, qu torque permiten transformar un movimien-
tendremos en las ruedas? to circular en traslacin, como vemos
en la Figura 26. Por ltimo, tambin
FR=2 / 8 * 32 = 8 kgf contamos con engranajes antitrabas,
que si la transmisin supera determi-
Podemos encontrar diversos tipos de nada cantidad de fuerza, comienzan a
engranajes, que nos permitirn realizar girar en falso y ponen a salvo al mo-
distintos tipos de conexiones segn tor que genera dicha fuerza.

Figura 24. En esta imagen


podemos observar un ejemplo
de engranajes cnicos que fueron
desarrollados por la empresa
Arrow Gear.

192
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 193

Cuerpo a cuerpo

Figura 25. Aqu podemos ver Figura 26. Engranajes de pin


una caja reductora hecha y cremallera desarrollados
con engranajes de Lego. por la empresa Gaes.

Cuando usamos engranajes solida- de considerarse en el clculo de la ve-


rios, el sentido de rotacin del de sa- locidad y la fuerza. Es decir, cuando
lida es inverso al de entrada. tenemos ruedas ms grandes, obtene-
Si queremos mantener el mismo mos mayor velocidad, pero disminui-
sentido, tenemos que incorporar en mos la fuerza, y viceversa.
el medio engranajes libres, de mane-
ra tal que los que tienen la misma Transmisin por poleas
paridad (es decir, los pares por un la- Si necesitamos realizar la transmi-
do y los impares por otro) manten- sin a una distancia mayor, utiliza-
gan el mismo sentido de rotacin, mos poleas unidas por correas o els-
como podemos ver en la Figura 27. ticos, como podemos ver en la Figu-
El tamao de la rueda tambin pue- ra 28 de la prxima pgina.

Figura 27. Sentido de rotacin de cada engranaje


en un conjunto de engranajes solidarios.

193
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 194

8. EL CUERPO DEL ROBOT

Figura 28. Transmisin por poleas. Cuanto ms gruesa es la correa


de transmisin, nos aseguramos menor probabilidad de deslizamiento.

En este caso, la polea de entrada tie- Cinemtica de un robot


ne el mismo sentido de rotacin que Cuando comenzamos a estudiar el
la polea de salida, salvo que cruce- comportamiento de los movimien-
mos la correa como se puede ver en tos de nuestro robot, nos damos
la Figura 29. Tambin tenemos un cl- cuenta de que tenemos que tener en
culo de reduccin relacionado con la cuenta un conjunto muy amplio de
proporcin entre las poleas conecta- variables, propias y externas de
das. La diferencia fundamental es nuestro dispositivo. Al estudio de
que durante la transmisin, puede todos estos aspectos en nuestra cria-
haber prdida de movimiento por tura se lo conoce como dinmica
deslizamiento de las correas o pole- del robot. Como es un campo com-
as, lo que no ocurre en los engrana- plejo para encarar en este primer pa-
jes excepto que stos se rompan. so, vamos a estudiar el movimiento
del robot sin considerar las fuerzas
Si necesitamos combinar las venta- involucradas (inercia, pesos, roza-
jas de ambos mecanismos, es decir, mientos), slo tomaremos el com-
si queremos transmitir a larga dis- portamiento de las ruedas, con ad-
tancia pero sin tener deslizamientos, herencia perfecta. A este campo se lo
entonces tenemos que utilizar cade- conoce como cinemtica del robot.
nas con piones, como las que po- Ahora bien, podemos encarar dos ti-
demos encontrar en las bicicletas. pos de estudios. Uno de ellos es, si

194
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 195

Cuerpo a cuerpo

Figura 29. En esta imagen podemos observar cmo funciona


la inversin del sentido de rotacin de la polea de salida.

sabemos la posicin inicial del robot cin, debemos aclarar que en los ro-
y los movimientos que realiza, de- bots mviles, tenemos tres grados de
terminar la posicin final. A esto se libertad: posicin en el plano (X e Y)
lo llama cinemtica directa. y rotacin (ver Figura 30).
Cuando queremos saber qu movi-
mientos hacer para llevar al robot de En el caso de los robots diferencia-
una posicin inicial a una posicin les, los de configuracin sncrona y
final, estudiamos la cinemtica in- los de ruedas omnidireccionales, las
versa. ste es el campo que a noso- restricciones cinemticas son ho-
tros ms nos interesa, porque con el lonmicas, lo que significa que los
robot queremos llegar a un punto diferentes grados de libertad son in-
determinado del espacio y realizar la dependientes. En este caso, posicin
mejor trayectoria posible desde es independiente de rotacin.
nuestro punto inicial.
En el caso de la arquitectura triciclo
Cada una de las arquitecturas que y Ackerman, decimos que la restric-
presentamos tiene una cinemtica cin no es holonmica. Necesaria-
distinta, que establece ciertas res- mente, para girar afectamos la posi-
tricciones en el movimiento. cin (X,Y) del robot. En cada uno
Antes de analizar las restricciones y de ellos el estudio de la cinemtica
estudiar los mecanismos de navega- presenta caractersticas distintas.

195
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 196

8. EL CUERPO DEL ROBOT

(X,Y)

Figura 30. Grados de libertad que tenemos en un robot terrestre mvil.

Odometra esto es sencillo de realizar con sen-


Ahora bien, cmo podemos saber la sores de ranura y un disco acanala-
posicin de nuestro robot en todo do que permita el conteo de los cor-
momento? Como comentamos an- tes de seal, o que posibilite el cl-
tes, una de las formas es analizar el culo de rotacin por los sensores que
contexto que rodea al robot cons- se encuentran activados. Esto resul-
tantemente. El problema es que no ta econmico, pero sin informacin
siempre contamos con informacin externa, y se produce una acumula-
externa y, por otra parte, esto nos cin de errores que nos puede llevar
exige tomar datos en forma cons- a datos inexactos. Por ejemplo, si la
tante con sensores que pueden nece- rueda resbala sobre el piso, el enco-
sitar una tasa de procesamiento muy der detectar el giro y supuestamen-
alta. Es por eso que la odometra es te un avance lineal, cuando en reali-
el mecanismo ms utilizado para de- dad no se produjo.
terminar en forma aproximada la
posicin del robot. Consiste en in- Los tipos de errores que podemos
corporar encoders situados en las encontrar en la odometra son sis-
ruedas de los robots, de la misma temticos, cuando son intrnsecos
manera que los antiguos mouses de- al mecanismo de toma de datos, co-
tectaban el giro de la bolita inferior mo pueden ser problemas en la tasa
(Figura 31). Como ya mencionamos, de muestreo, mal alineamiento de

196
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 197

Cuerpo a cuerpo

las ruedas, etctera. Y no sistemti-


cos, cuando estn vinculados a he-
chos casuales como los comentados:
una rueda que patina, fuerzas exter-
nas que retienen o levantan al robot,
suelos desnivelados, etctera.

A pesar de todo, por su bajo costo y


su facilidad de clculo, es uno de los
mtodos ms utilizados. Lo que reco-
mendamos es sumar alguna toma de
informacin ms que permita reducir Figura 31. Rueda con encoder para
los errores de este proceso. desarrollar algoritmos de odometra.

RESUMEN
La arquitectura de nuestro robot definir un conjunto de variables relacionadas
con su navegacin. La decisin del tipo de mecanismo utilizado para el movi-
miento deber estar basada en la superficie en la que se desplazar. Desde ya,
los areos y los acuticos son los ms complejos de resolver, pero el movimien-
to en tierra tambin presenta un conjunto de desafos. Podemos utilizar patas,
orugas, ruedas, o construir un robot similar al funcionamiento de un gusano. En
nuestro primer robot, utilizamos un sistema de ruedas diferencial, ya que es el
ms sencillo de implementar y el de menor costo. Esto nos obligar a detener-
nos a estudiar la cinemtica inversa de nuestro robot, para obtener la navegacin
ms precisa posible. Pero cuando hayamos superado las primeras pruebas, po-
dremos intentar con otros sistemas de ruedas como las sncronas o las omnidi-
reccionales. En todos los casos, tendremos que resolver el problema de la trans-
misin del giro de los motores hacia las ruedas, con engranajes o poleas. Y si es
posible, agregarles encoders a las ruedas para que nos permitan obtener infor-
macin sobre los movimientos de nuestro robot.

197
www.FreeLibros.me
08_robotica.qxp 24/10/2007 02:42 p.m. Pgina 198

ACTIVIDADES

TEST DE AUTOEVALUACIN EJERCICIOS

1 Cules son las caractersticas que hay 1 Construya el cuerpo del robot y progr-
que tener en cuenta para el diseo del melo para que funcione en lnea recta.
cuerpo del robot? Qu diferencias tuvo que determinar
en los pulsos de cada motor para igua-
2 Cules son los problemas ms impor- lar la velocidad?
tantes en el diseo de los robots areos?
2 Realice un programa para que el robot
3 Cules son los problemas ms impor- gire sobre s mismo.
tantes en el diseo de los subacuticos?
3 Incorpore un sensor de tacto en la par-
4 Cules son los mecanismos de despla- te delantera (puede usar un micro-
zamiento de los robots terrestres? switch con una palanca grande), pro-
grame el robot para que cada vez que
5 Cmo se componen los robots podos detecte un objeto retroceda, gire y se
y cmo generan el movimiento? dirija a otro lado.

6 Describa los sensores de efecto hall. 4 Incorpore un sensor de luz en la parte


inferior delantera del robot, realice un
7 Cmo es la configuracin diferencial programa para que se mueva sobre una
de las ruedas? mesa blanca (o con un papel blanco) y
si se est por caer (es decir, el sensor
8 Qu diferencias y similitudes tienen la deja de recibir seal), frene, retroceda
arquitectura de triciclo y la Ackerman? y se dirija a otro lado.

9 Cmo funcionan las ruedas omnidi- 5 Describa el comportamiento de los


reccionales? engranajes para la transmisin y la
reduccin.
10 Cul fue el sistema de desplazamien-
to que elegimos para nuestro robot y 6 Compare las ventajas y desventajas en-
por qu? tre el uso de engranajes y poleas.

198
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 199

Robtica Captulo 9
Salir al ruedo
Ya tenemos nuestro robot armado. Ahora

nos toca probar cmo se comporta en las

pruebas de robtica autnoma mvil.

Para ello presentaremos un conjunto de

desafos, veremos los problemas que

tendremos que resolver y propondremos

un cdigo para programar nuestro robot.

Pero el ambiente no ser siempre igual!

Por lo tanto, hay que experimentar una y

otra vez hasta encontrarles la solucin a

los problemas. Y luego, modificar nuestro

robot para mejorar los resultados. Presentarse a competir 200


Caractersticas comunes de las
pruebas de robots autnomos 200
Pruebas tradicionales
para robots autnomos 210
La luz, la luz, he visto la luz! 213
Resumen 219
SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com Actividades 220

www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 200

9. SALIR AL RUEDO

PRESENTARSE En este captulo presentaremos las


A COMPETIR pruebas clsicas para robots autno-
mos mviles y nos detendremos a
Ah est, no es bonito? Toda una ma- analizarlas para ver dnde se encuen-
ravilla, independiente, solcito y muy tran las dificultades. Tambin vere-
inteligente. Nuestro robot est listo mos algunos aspectos de navegacin
para comenzar a representarnos en el para que el movimiento de nuestro
mundo. Ahora tiene que salir al rue- robot sea lo ms fluido posible y nos
do, porque all es donde se ven los adentraremos un poco en el ftbol de
buenos caballos. Pero eso es pan co- robots, que es el tema de nuestro pr-
mido. Le colocamos dos sensores de ximo captulo. Si hemos tenido la pa-
luz, lo ponemos sobre una lnea negra ciencia de llegar hasta este captulo, lo
para que la siga y Se va a cualquier que nos espera es apasionante!
lado! Lo ubicamos sobre una mesa y
al llegar al final no detecta el borde y Caractersticas comunes
cae con sus trgicas consecuencias. Le de las pruebas de robots
ponemos una linterna adelante para autnomos
que la siga y nada, da vueltas deses- Cada prueba de robtica presenta
perado sin hallar la luz que lo gue. cuestiones particulares que debemos
Evidentemente, hemos subestimado resolver, pero en general hay un con-
la dificultad de las pruebas y nos fal- junto de principios bsicos comunes.
ta entrenamiento, horas y horas de Antes de encarar cada una de ellas,
entrenamiento para hacer de nuestro presentaremos cules son los puntos
robot un buen contrincante. que tenemos que tener presentes tan-

Figura 1. Robot seguidor de lneas.

200
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 201

Presentarse a competir

to en el hardware como en el softwa- cidad de giro es muy limitada, y la


re de nuestro robot. velocidad es lenta. Por lo tanto, si al
llegar a probar nuestro robot en el es-
Problemas mecnicos cenario real nos encontramos con
Es posible que stos sean los proble- una rampa de menor inclinacin, es
mas ms habituales y ms difciles de posible que un sistema diferencial
superar. Es fundamental e imprescin- nos permita subirla sin las otras difi-
dible crear un espacio de pruebas lo cultades. En resumen, debemos te-
ms parecido posible al lugar donde ner la capacidad de cambiar entre
se ejecutar la competencia. Lamen- dos o tres sistemas de traccin en el
tablemente, es habitual que no tenga- momento de la competencia.
mos la descripcin completa del te-
rreno, sino una aproximacin con co- Otra dificultad es el tipo se superficie
tas de mnima y mxima en diferen- donde nos movemos y la presencia de
tes aspectos. Dada esta informacin, escombros u objetos que estorben
para poder completar la misin en el nuestro recorrido. Para ello, contar con
ambiente ms exigente, testeamos to- diferentes sistemas de traccin tambin
do con las cotas ms duras. Esto trae puede ser una solucin. Si los objetos
aparejado que nuestro robot sea ms son fijos, deberemos aadir sistemas de
lento o impreciso en otros aspectos. sensado para poder esquivarlos.
Por ejemplo, si tenemos que subir una
rampa de un ngulo de inclinacin Otro aspecto complicado es la distri-
importante, las orugas brindan buena bucin de los pesos en el robot. Esto
traccin. El problema es que su capa- influye en el comportamiento de los

Figura 2. Seguimiento de lnea con obstculos.

201
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 202

9. SALIR AL RUEDO

giros, en cmo se ubican los sensores desempeo. Como no tenamos peso


ante los objetos a detectar, etctera. para agregarle (slo podamos utilizar
Los pesos ms significativos estn da- fichas del kit de Lego), le pusimos un
dos por las bateras y los motores. Co- controlador adicional (el RCX de Le-
mo los motores no se pueden reubi- go) con seis pilas en la parte posterior,
car con facilidad, sera bueno que y as logramos el equilibrio necesario.
contemos con abrojos en el robot
donde podamos pegar las bateras de Cuando obtuvimos el primer pues-
diversas formas para la distribucin to, nos felicitaron por la compleji-
del peso. Si usamos pilas, es bueno te- dad del robot que utilizaba dos con-
nerlas en portapilas separados, de dos troladores que se comunicaban en-
pilas cada uno, de manera tal que po- tre s. Nuestra honestidad (y la
damos reubicarlos con mayor liber- alegra del primer puesto!), nos llev
tad. Una ancdota con respecto a es- a aclarar que el segundo controlador
te punto: en el Primer Campeonato estaba apagado y que su nica fun-
Latinoamericano de Robtica IEEE, cin era de servir de contrapeso, con
utilizamos un sensor casero muy pe- lo cual las risas colmaron el saln.
sado, hecho de madera y escobillas de
autitos de carrera, que haca que el ro- Para cada uno de los sistemas de
bot volcara hacia delante. Esto per- traccin que construyamos, tendre-
turbaba el giro del robot. Muchas ve- mos que analizar en forma detallada
ces quedaba trabado sobre imperfec- la forma en que nuestro robot reali-
ciones del piso y arruinaba nuestro zar los giros. Esto tambin va a in-

Figura 3. Sensor casero que utilizamos en el Primer Campeonato


Argentino de Robtica IEEE. Qu pesado que era!

202
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 203

Presentarse a competir

fluir en la ubicacin de los sensores ROBOLIGA


y en la programacin. Por lo tanto,
tambin tendremos que poder reu- La Roboliga consiste en tres eventos que
bicar los sensores con facilidad. se realizan en el mes de noviembre en
Argentina: la Olimpada Argentina de
Problemas de sensores Robtica, la Feria de Proyectos de Rob-
Con respecto a los sensores, tambin tica y Control Automatizado, y el Encuen-
se nos presenta un conjunto de pro- tro Docente para la Enseanza de Rob-
blemas diversos. As como la super- tica. Est dirigido a los alumnos de es-
ficie de la competencia puede variar cuelas primarias y medias, se organiza
llegado el juego, con seguridad las desde el ao 2000 y se cuenta con la pre-
luces ambiente, los colores, la capa- sencia de ms de 40 escuelas de todo el
cidad reflectiva, etctera, las podre- pas. Para tener ms informacin pode-
mos definir recin en ese momento. mos visitar www.roboliga.edu.ar.
Incluso pueden variar en el trans-
curso de la competencia! Por lo tan-
to, debemos tener algn mecanismo propiamente dicho en RA2. Por lo
que nos permita testear los valores y tanto, tendremos que configurar RA1
modificar nuestro programa para como bit de salida, y RA2 como bit
que se comporte en forma correcta. de entrada. Un detalle fundamental a
Ahora, cmo hacemos para saber si tener en cuenta es que la resistencia
el sensor se activa o no, o cul es el que va del sensor a +5 puede ser mo-
rango analgico en el que se debe ac- dificada para obtener mayor o menor
tivar? Con el control que hemos re- sensibilidad en la deteccin.
alizado, pareciera que no tenemos
forma alguna de monitorear los va- program testCNY
lores de lectura. Pero vamos a ver al-
gunos trucos que nos pueden ayudar. TRISB=0 Declaro RB
La primera forma de monitorear un de salida
sensor digital es usar el led que hemos TRISA.1=0 RA1 (donde
conectado para nuestras pruebas. Por est el led infrarrojo)
ejemplo, con el siguiente programa de salida
podemos verificar si el sensor CNY70 PORTA.1=1 Lo enciendo
detecta la variacin entre negro y TRISA.2=1 Declaro RA2
blanco. Consideramos, como vimos de entrada
en el Captulo 7, que hemos conectado while true
el led infrarrojo en RA1 y el sensor

203
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 204

9. SALIR AL RUEDO

if PORTA.2 = 1 then dim pin as byte): inicializa el pin


Si RA2 est para salida. Por ejemplo: Sound_
encendido, apago Init (PORTB, 2). En este caso, se en-
el led carga de inicializar RB2.
PORTB.3=0
Sound_Play(dim periodo_div_10 as
else byte, dim num_de_periodos as word):
PORTB.3=1 el primer parmetro indica la fre-
Si no, lo enciendo cuencia, y para simplificar su defini-
end if cin, slo debemos dividir la fre-
delay_ms(200) cuencia que queramos por 1 y mul-
wend tiplicar el resultado por 100000 pa-
end. ra obtener el valor final. El segundo
parmetro indica la cantidad de ci-
clos de duracin del sonido.
Tambin podemos utilizar un parlan-
te piezoelctrico para generar diversosDe esta forma, podemos vincular el
sonidos que nos permitan conocer el valor de un sensor analgico con di-
valor de un sensor (Figura 4). stos seferentes sonidos, y as monitorear el
pueden conectar directamente, una de comportamiento de los sensores.
sus conexiones a GND y la otra a un Por ltimo, lo ms interesante puede
pin. Para generar sonido desde mikro- ser conectar un display a nuestro mi-
Basic podemos utilizar las siguientes cro (Figura 5). El problema es que pa-
funciones de librera: ra controlarlo utilizamos casi todos
los puertos de salida. Ser necesario
Sound_Init(dim byref port as byte, utilizar un micro aparte para tener es-

CONSEJO LATINOAMERICANO DE ROBTICA IEEE RAS


El Consejo Latinoamericano de Robtica (LARC) tiene como objetivo organizar, con
la colaboracin de organismos locales, competencias y simposios de robtica lati-
noamericanos a nivel regional y nacional de manera anual. El consejo promueve la
programacin de estos eventos, define las bases para las competencias, e interacta
con los voluntarios locales que luego desarrollan estas actividades por s mismos.
Este consejo trabaja principalmente en Internet, y est apoyado por la sociedad de
robtica y automatizacin RAS que pertenece a la IEEE mediante los captulos pro-
fesionales y estudiantiles de la regin. Para ms datos podemos visitar www.ewh.
ieee.org/reg/9/ robotica/indexsp.htm.

204
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 205

Presentarse a competir

te tipo de salida, si as lo deseamos.


Escapa al alcance de este libro, pero se
puede encontrar mucha informacin
vinculada a este tema en Internet.

Problemas de programacin
Uno de los problemas ms comunes
cuando sensamos el mundo que nos
rodea con nuestro robot, es la nece-
sidad de estar atentos a dos o ms
sensores al mismo tiempo. Por ejem-
plo, si realizamos un seguidor de l-
nea con un par de sensores y adems
tenemos un sensor de tacto en caso
de que encontremos un objeto de-
lante de nosotros, las estructuras de Figura 4. Buzzer piezoelctrico para
decisiones se vuelven complejas o analizar valores de sensores analgicos.

Figura 5. Capacmetro digital basado en un 16F84


con display de LCD, desarrollado por Sonytel Argentina.

205
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 206

9. SALIR AL RUEDO

imposibles para representar la com- asociado, se atienda la necesidad que


binacin de todos los estados posi- presenta el sensor, y luego volvamos
bles de las entradas. Es por eso que a a nuestra rutina habitual. En el caso
continuacin presentaremos un me- del seguidor de lnea con obstculos,
canismo muy utilizado en los proce- el programa principal ejecuta el se-
sadores: las interrupciones. guimiento y al bit de interrupcin le
asociamos nuestro sensor de tacto.
La idea de una interrupcin es po- Por lo tanto, si encuentra un obst-
der vincular algn proceso interno culo, se detiene el seguimiento de la
del micro, como el estado de un pin lnea, se esquiva el objeto, y al vol-
de entrada o el valor de un timer, ver sobre la lnea se contina con el
con un procedimiento de nuestro programa principal.
programa. Es decir, ante un cambio Las interrupciones pueden produ-
en el estado del pin o ante el des- cirse por alguna accin externa, co-
bordamiento de un timer, se ejecuta mo la activacin de un sensor, o por
el procedimiento indicado. Por una interna, como el caso de un ti-
ejemplo, de esta manera podemos mer o desbordamiento de un regis-
asociar nuestro sensor principal a un tro. En el 16F84/8 tenemos cuatro
bit con interrupcin, de forma tal fuentes de interrupciones:
que cuando se active, se invoque en
forma automtica al procedimiento RB0/INT (externa).
Pines RB4 a RB7, al cambiar de
estado si estn configurados como
ROBOGAMES entrada (externa).
Es la competencia de robtica ms gran- Desbordamiento del registro TMR0,
de del mundo. En su edicin de 2007 se cuando pasa de 255 a 0 (interna).
presentaron setenta categoras distin- Al completar la escritura de la EE-
tas, desde el simple seguidor de lneas PROM (interna).
hasta combates cuerpo a cuerpo entre
robots. Algunas de ellas son con robots En nuestro caso, las tres primeras
controlados por humanos y en otros ca- son las que podremos aprovechar en
sos, el desafo es autnomo. Ese ao es- nuestro robot. Cuando se producen,
tuvieron representados veintiocho pa- se modifica el estado de un flag de
ses de todos los continentes, y para el interrupciones, lo que nos permite
ao que viene se esperan alrededor de saber cul se ha producido. Este flag
veinte pases ms. es el registro INTCON, donde el bit
que cambia es el siguiente:

206
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 207

Presentarse a competir

Bit 1, INTF, cuando se produce una mismo tiempo. Al finalizar nuestra ru-
interrupcin por RB0. tina de atencin, debemos volver a po-
Bit 0, RBIF, cuando se produce por ner en 0 el flag correspondiente (0 a 2)
cambio en RB4 a RB7. para que no se vuelva a producir la lla-
Bit 2, T0IF, cuando se produce por mada. El retorno de la rutina nos ha-
TMR0. bilitar de nuevo GIE para una nueva
llamada. Slo el contador de programa
Para tener una mirada general del re- ser almacenado en el momento de lla-
gistro INTCON y su funcionalidad, mar a la rutina, para luego saber dn-
podemos observar la Tabla 1. de retornar, con lo cual es problema
nuestro almacenar el estado de otros re-
Los bits 3 a 7 nos permiten determi- gistros que puedan llegar a modificarse
nar si se atender la interrupcin co- en la ejecucin de nuestra rutina.
rrespondiente o no (0: deshabilitado;
1: habilitado). En el caso de GIE, si A continuacin presentamos un
est en 0 se deshabilitan todas las in- ejemplo general de cdigo para la
terrupciones. Los bits del 0 al 2 se en- atencin de las interrupciones por
cienden en el caso de que se produz- cambio de estado en RB4 a RB7. De
ca la interrupcin en cada caso. esta manera, podemos tener senso-
Cuando se produce una interrupcin y res conectados a uno de estos 4 pi-
el programa salta a la rutina que la nes, de forma tal que el programa
atiende, como veremos ms adelante, general se ejecute, y cuando se pro-
podemos examinar los bits del 0 al 2 duzca la activacin de alguno de los
para saber la fuente que la ha causado. sensores, la rutina de la interrupcin
El GIE se pondr automticamente en atienda la llamada y luego retorne al
0 para no atender otra interrupcin al punto en el que se encontraba.
No. NOMBRE DESCRIPCIN
7 GIE Global Interrupt Enable (Habilitacin general de interrupciones).
6 EEIE EEPROM Write Interrupt Enable (Habilitacin de interrupcin por escritura de la EEPROM).
5 T0IE TMR0 Interrupt Enable (Habilitacin de interrupcin del timer TMR0).
4 INTE INT Interrupt Enable (Habilitacin de interrupcin de RB0/INT).
3 RBIE RBIF Interrupt Enable (Habilitacin de interrupcin por cambio en RB4 al RB7).
2 TOIF TMR0 Overflow Interrupt Flag (Bandera de interrupcin por desbordamiento de TMR0).
1 INTF INT Interrupt Flag (Bandera de interrupcin de RB0/INT).
0 RBIF RB Port Interrupt Flag (Bandera de interrupcin por cambio en RB4 al RB7).
Tabla 1. Funcionalidad del registro INTCON.

207
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 208

9. SALIR AL RUEDO

Figura 6. Subir una rampa mientras se sigue una lnea,


cambia el comportamiento del robot.

program interrupcionRB tarse cuando se desactiva RB7


else RB7 activado
dim antRB as byte Cdigo a
ejecutarse cuando
sub procedure interrupt se activa RB7
Rutina de atencin de end if
interrupciones case %01000000 Cambi
if (INTCON.RBIF = 1) then RB6
Cambio en RB4-RB7 if ((PORTB and %01000000)
select case (antRB xor = 0) then
PORTB) Se fija cul RB6 desactivado
cambi comparando con el Cdigo a
estado anterior de PORTB ejecutarse cuando
case %10000000 Cambi se desactiva RB6
RB7 else RB6 activado
if ((PORTB and %10000000) Cdigo a
= 0) then ejecutarse cuando
RB7 desactivado se activa RB6
Cdigo a ejecu

208
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 209

Presentarse a competir

end if Cdigo a
case %00100000 Cambi ejecutarse cuando
RB5 se activa RB4
if ((PORTB and %00100000) end if
= 0) then RB5 end select
desactivado antRB = PORTB Almaceno
Cdigo a el estado actual de PORTB
ejecutarse cuando para compararlo luego
se desactiva RB5 INTCON.RBIF = 0 Reseteo
else RB5 activado el flag de la interrupcin
Cdigo a end if
ejecutarse cuando end sub
se activa RB5
end if main:
case %00010000 Cambi
RB4 TRISB = %11110001 RB 0
if ((PORTB and %00010000) entrada, 1-3 salidas,
= 0) then RB4 4-7 entradas
desactivado INTCON = %10001000
Cdigo a ejecutar Habilito interrupciones
se cuando se en general y las de RB4 a 7
desactiva RB4 PORTB = 0 Valor inicial
else RB4 activado de PORTB

LAS INTERRUPCIONES
Las interrupciones son un mecanismo habitual en las computadoras para que los
dispositivos le avisen al CPU que deben ser atendidos. De esta manera, el procesa-
dor no tiene que estar atento a las necesidades de stos, y simplemente procesa la
informacin entrante en el momento en que se lo solicitan. En el momento en que
atiende una interrupcin, almacena el estado del procesamiento en ese instante, y
luego de atenderla, contina exactamente en el punto en el que haba dejado el pro-
ceso. Cuando no exista este mecanismo, el CPU deba dedicar mucho tiempo para
verificar si era necesaria esa atencin. Al pasar la responsabilidad a los dispositi-
vos, el rendimiento del CPU es mucho mayor.

209
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 210

9. SALIR AL RUEDO

antRB = 0 Valor inicial presiones en lser empalmadas con


de estado previo de PORTB cinta transparente pueden ser sufi-
cientes. Lo importante es que los co-
while(true) lores sean muy distinguibles, y que
{ no haya ondulaciones o muescas en
Mientras no se la pista que traben el funcionamien-
produzca una interrupcin to de nuestro robot.
el programa se ejecuta en
un loop infinito Seguidor de lnea
sta es la primera prueba por exce-
Aqu va el cdigo
que atiende a la lencia. En principio, comenzaremos
tarea principal por utilizar un solo sensor de luz que
} apunte hacia abajo para recorrer la
pista. Al momento de construir la
end. mecnica de nuestro robot, debe-
mos tener en cuenta que debe girar
con facilidad. Esto es fundamental
Con este ejemplo general, prctica- cuando las curvas son muy cerradas.
mente puede aplicarse el uso de in- Por lo tanto, la arquitectura ms
terrupciones en todos los casos en
los que sea necesario.

Pruebas tradicionales para


robots autnomos
A continuacin presentaremos un
conjunto de pruebas clsicas para los
robots autnomos mviles, junto
con algunos consejos desde el punto
de vista mecnico, electrnico y de la
programacin. Para construir las pis-
tas de prueba, aconsejamos utilizar
lona vinlica blanca y realizar los cir-
cuitos con pintura negra especial pa-
ra esta superficie. Puede ser costoso
pero es ms sencillo de transportar
que la madera u otros materiales. En Figura 7. Robot seguidor de una lnea
el peor de los casos, unas buenas im- muy delgada. Eso es complicado!

210
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 211

Presentarse a competir

econmica y confiable para este de- cidad de recorrido con un nico sen-
safo es la de las ruedas laterales con sor, si la lnea negra a seguir es del-
movimiento diferencial. gada, podemos realizar el siguiente
algoritmo:
Si se cuenta con un nico sensor, la
solucin ms sencilla es la que co- 1) Ponemos el robot con el sensor a
nocemos como ciego con bastn, la derecha de la lnea negra.
dado que aplica la misma mecnica 2) Encendemos el MD y apagamos
que los no videntes cuando tantean el MI.
paredes o el piso con su bastn blan- 3) Esperamos a ver negro con el sensor.
co. Ponemos el robot a la derecha de 4) Esperamos a ver blanco con el
la lnea, con el sensor que apunte a sensor.
blanco, encendemos el motor dere- 5) Encendemos el MI y apagamos el
cho (MD), y dejamos apagado el iz- MD.
quierdo (MI). Cuando el sensor de- 6) Esperamos a ver negro con el sensor.
tecta negro, invertimos el encendido 7) Esperamos a ver blanco con el
de los motores, dejamos apagado el sensor.
MD y encendido el MI. 8) Saltamos al paso 2.
All esperamos hasta encontrar blan-
co y as sucesivamente. Es un meca- De esta manera, mejoramos la veloci-
nismo sencillo, efectivo, pero muy dad de recorrido, pero es ms sensible
lento (Figura 8). Para mejorar la velo- a las curvas cerradas (Figura 9).

Figura 8.
Mtodo de
seguimiento de
lneas versin 1.

Figura 9.
Mtodo de
seguimiento de
lneas versin 2.

211
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 212

9. SALIR AL RUEDO

Si podemos contar con dos sensores, ROBOCUP JUNIOR


las mejoras pueden ser considerables.
En este caso, ubicamos un sensor del La RoboCup Junior es una divisin de la
lado izquierdo de la lnea y otro del la- RoboCup dedicada a estimular el estudio
do derecho, ambos sobre blanco. En el de la robtica en los jvenes de hasta 19
programa principal, slo tenemos un aos, y organiza las competencias para
ciclo infinito con los dos motores estas edades dentro de la RoboCup. Los
prendidos. Adems, conectamos los desafos presentados son tres: ftbol,
sensores a alguno de los pines de RB4 rescate y danza. Est enfocado en la
a RB7, para atenderlos mediante una educacin y no en la competencia. Los
interrupcin. Cuando uno de los dos robots que participan deben ser autno-
vea negro, sta se lanzar. Analizamos mos y deben cumplir con lmites de pe-
cul de los dos cambi de estado, y de- so, tamao, etctera. Su sitio oficial es
finimos los estados de los motores de www.robocupjunior.org.
manera tal que el robot gire para el la-
do correspondiente hasta que el sensor
vuelva a ver blanco. All retornamos de Si la lnea posee espacios en blanco
la interrupcin y se vuelven a encender (gaps), nos conviene utilizar un me-
ambos sensores. Este mecanismo es canismo de un solo sensor. Adems,
muy efectivo, y podemos mejorarlo debemos activar el timer 0 y esta-
con ms sensores, y usar algunos sobre blecer que si durante determinado
negro y otros sobre blanco. perodo no se ve negro con alguno
de los dos sensores, el robot debe
avanzar en lnea recta hasta encon-
trar negro nuevamente (Figura 11).

Otra prueba tpica es el seguimiento


de una lnea con obstculos. En este
caso, podemos sumar un sensor de to-
que en el frente del robot, tambin
conectado a una de las entradas que
activan interrupciones. De esta ma-
nera, ante la deteccin del objeto, de-
tenemos el seguimiento de la lnea, es-
Figura 10. Sensores quivamos el obstculo y, al volver so-
en un robot seguidor de lnea bre la lnea negra, retomamos la ruti-
creado por David Cook. na. Una precaucin a tomar es que

212
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 213

Presentarse a competir

Figura 11. Seguimiento de lnea con deteccin


de vctimas y saltos en las marcas (Roboliga).

cuando volvamos sobre la lnea, el ro- guno de los dos sentidos. Si aumen-
bot quede en una posicin adecuada ta el valor de luz hacia ese lado, man-
para continuar con el seguimiento. tiene su giro. Si no, intenta para el
otro lado. En el momento en que al
La luz, la luz, he visto la luz! girar para ambos lados disminuya el
Otro desafo tpico est relacionado valor de luz, es que hemos encontra-
con la bsqueda o el seguimiento de do la fuente de luminosidad.
una fuente de luz. El problema ms Otra prueba algo ms compleja es se-
sencillo es posicionar el robot en un guir una luz originada por una linter-
lugar y que gire hasta encontrar una na o por alguna pelota que emita una
luz que hemos ubicado cerca de l. seal infrarroja, como las que se utili-
Para ello, es necesario utilizar un sen- zan en ftbol de robots junior. Para
sor analgico que nos permita detec- ello es til que usemos dos sensores
tar los diferentes grados de luminosi- analgicos conectados a pines de este
dad que tenemos en el ambiente (y tipo. Si el valor de lectura de ambos
por lo tanto, el 16F88 por su con- sensores supera cierto umbral, consi-
versor). El robot debe tomar el valor deramos que la fuente de luz est fren-
del sensor en la posicin en la que se te al robot y nos dirigimos hacia de-
encuentra y girar lentamente en al- lante. Si la diferencia entre el valor de

213
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 214

9. SALIR AL RUEDO

uno y otro sensor es grande, giramos un robot insecto que busque el lugar
hacia el lado donde se recibe el mayor con mejor luz de la sala, otro que no
valor. Si no hay una diferencia impor- se caiga de una mesa, etctera. Todo
tante y no estn ambos iluminados, queda librado a nuestra imaginacin!
consideramos que la luz est detrs y Como hemos visto, a medida que
giramos en cualquiera de los dos sen- nuestras pruebas se vuelven ms
tidos. Podramos seguir con muchas complejas, es necesario un micro
pruebas de este tipo, como realizar ms poderoso, como el 16F88.

Figura 12. Competencia de rescate de la


Roboliga, Olimpada Argentina de Robtica.

BEAM ROBOTICS (ROBOTS BEAM)


BEAM es el acrnimo de Biology, Electronics, Aesthetics and Mechanics (Biologa,
Electrnica, Esttica y Mecnica). Es un trmino que se refiere a la construccin de
robots que usan circuitos anlogos en vez de digitales, que tienen un diseo simple
y que imitan a los organismos de la naturaleza. Los circuitos analgicos imitan a los
bloques biolgicos como las neuronas. Las tres reglas principales son: usar el me-
nor nmero de elementos electrnicos (y sencillos); reciclar y reutilizar componen-
tes; y usar sistemas de energa radiante, como la energa solar. Dentro de los di-
versos diseos realizados, es un clsico el Phototrope (fottropo), un pequeo ro-
bot que busca la luz dentro de un ambiente o escapa de sta.

214
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 215

Presentarse a competir

Luchador de sumo
Una de las competencias que ms
apasionan a los participantes, y que
no exige demasiada capacidad de
procesamiento por parte del robot, es
la lucha de sumo. Hay diferentes re-
glamentos en el mundo del sumo
robtico. Es interesante conocer el
reglamento del Campeonato Uru-
guay o de Sumo de Robots, organi- Figura 13. Competencia de Sumo
zado por el Instituto de Computa- de la Universidad Tecnolgica Nacional
cin de la Facultad de Ingeniera de de Baha Blanca, Argentina.
la Universidad de la Repblica de
Uruguay. ste se basa en el Torneo de ne las mismas caractersticas que el
sumo de robots FSI-ALL de Japn. utilizado en el simulador.
Este campeonato es muy interesante,
y en el sitio (www.fing.edu.uy/inco/ La arena de competencia se llama
eventos/sumo.uy/index.html) po- Dohyo. Es un cilindro de 5 cm de
demos bajar un simulador y templa- altura y 154 cm de dimetro de un
tes en diferentes lenguajes para po- color distinto al blanco y al marrn
der jugar en nuestra computadora. (en general, negro). Las lneas de
Luego, si deseamos participar de la inicio, donde se ubican los robots en
competencia, podemos llevar nues- el comienzo de la lucha, se indican
tro propio robot, o utilizar uno pro- por lneas marrones de 2 cm por 20
visto por los organizadores, que tie- cm, a 20 cm del centro del Doyho.

CAMPEONATO DE SUMO ROBTICO DE URUGUAY


Desde el ao 2004, el Instituto de Computacin de la Facultad de Ingeniera de la Uni-
versidad de la Repblica de Uruguay organiza el campeonato de sumo robtico. El ob-
jetivo de esta competencia es crear un espacio para investigar diversos aspectos de la
robtica mvil autnoma. Las caractersticas particulares que presenta esta prueba
son: un ambiente muy dinmico, comportamiento en tiempo real, y reglas sencillas y
precisas. Una ventaja que tiene este campeonato es que no necesitamos de un robot
para participar, dado que est provisto por la organizacin. Antes de la competencia,
podemos programar el comportamiento de nuestro representante mediante un simu-
lador y luego, en el momento de luchar, volcamos esa estrategia a un robot real.

215
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 216

9. SALIR AL RUEDO

El borde de la arena es de 5 cm de Los puntos yuko se consiguen por me-


color blanco. Fuera del Doyho, el dio de alguna de las siguientes accio-
piso ser de cualquier color excepto nes: cuando un robot saca a su opo-
blanco o marrn. Cada categora en nente del Doyho, cuando el oponente
particular determinar un lmite pa- sale del Doyho por sus propios medios
ra el tamao y el peso del robot. o cuando un robot es descalificado o
recibe dos advertencias o ms.
Una partida consta de tres sets de un Un set se puede cancelar y repetir si
minuto cada uno. El primer partici- los robots se encuentran trabados de
pante en ganar dos puntos yuko (ya ve- forma tal que no exista movimiento
remos qu son) es el ganador de la par- posible, a criterio del jurado.
tida. Cuando ningn participante reci- Si ambos robots tocan el exterior del
be puntos, el jurado decide quin es el Doyho al mismo tiempo o ante cual-
ganador. Para comenzar el partido, los quier otra condicin en la que el ju-
robots se ubican sobre las lneas de ini- rado no pueda definir un ganador, el
cio o detrs de stas, para lo cual dis- set se reinicia, se ubican los robots
ponen de dos minutos. El robot no en la lnea de inicio, y se cuenta con
puede realizar ningn movimiento an- dos minutos para hacerlo desde la
tes de recibir la seal de comienzo. indicacin del rbitro.

Figura 14. Competencia tradicional de sumo en la Roboliga.

216
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 217

Presentarse a competir

En resumen, stas son las reglas bsi- Desde el punto de vista mecnico, en
cas de juego. Como vemos, las reglas general, si un robot tiene mucha
no son complejas y esencialmente es fuerza, con seguridad ser lento, co-
un desafo mecnico y electrnico, mo vimos en los captulos anteriores.
con algoritmos sencillos para el con- Por lo tanto, recorrer toda la arena
trol del robot. Los problemas que de- ser complicado. Es mejor tener un
bemos resolver son tres: cmo detec- sistema de deteccin del contrincan-
tar la lnea lmite del Doyho para no te para ir hacia donde se encuentra.
salir de ella (y que esa deteccin sea Para ello, es bueno y no es complica-
en toda la circunferencia del robot), do implementar el uso de un sensor
cmo detectar la distancia al con- de ultrasonido. Slo con detectar la
trincante para poder abalanzarnos so- presencia (es decir, hacer un uso di-
bre l y cmo detectarlo cuando lo gital del sensor) nos alcanza para po-
tocamos para ir hacia l o huir de l, ner en movimiento el robot hacia el
segn convenga. No agregamos el te- oponente. Con respecto a la detec-
ma del posicionamiento dentro del cin de los lmites del Doyho, alcan-
Doyho porque es muy complejo de za con un sensor de luz de los que he-
realizar con la informacin tan pobre mos usado. Tenemos que tener en
que nos brinda la arena. En realidad, cuenta que podemos encontrarnos
slo es absolutamente necesario re- con el lmite no slo si vamos hacia
solver el primer problema para so- delante, dado que el contrincante
brevivir en la lucha. En el caso de la puede empujarnos. Por eso sugeri-
deteccin del oponente, si no desea- mos usar varios sensores que recorran
mos hacerlo, podemos recorrer en el borde del robot. Tambin necesita-
forma aleatoria el Doyho de un lado remos sensores de tacto que rodeen a
a otro para ver si logramos cruzar al nuestro representante, de forma tal
otro robot en algn momento. que al ser presionados por uno de los

COMPETENCIA DE SUMO DE ROBOTS EN ARGENTINA


El grupo de robtica del Departamento de Ingeniera Elctrica de la Universidad Tecnol-
gica Nacional de Baha Blanca, Argentina, todos los aos organiza un campeonato de su-
mo de robots. Se presentan tres categoras, entre las que se destaca la categora libre. El
Doyho en este caso es de 1,75 m y los robots deben poder entrar en una caja de 20 cm por
20 cm. Adems, no pueden superar los 3 kg de peso. El procesamiento se debe realizar
por un microcontrolador de 4 Kb mximo y no se permite el uso de microprocesadores.
Para mayor informacin podemos visitar www.frbb.utn.edu.ar/robotica/.

217
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 218

9. SALIR AL RUEDO

costados, huyamos o empujemos con dizar si buscamos en la Web. En es-


ms fuerza segn la estrategia que ha- te listado, dejamos el ftbol de ro-
yamos desarrollado. bots para el captulo siguiente.
Un tema fundamental en la presta- Tiralatas: en una arena rectangular o
cin mecnica de nuestro luchador circular. Se ubica un conjunto de la-
es la potencia de los motores. Segn tas con cierto peso que el robot debe
los lmites que presente la categora, sacar en el menor tiempo posible.
nos va a convenir utilizar los moto- Laberinto: el robot debe encontrar la
res ms potentes posibles, junto con salida del laberinto en el menor tiem-
un buen sistema de reduccin. Para po posible. En general, la salida est
ello tendremos que contar con ba- indicada con una luz, de manera tal
teras poderosas, y por lo tanto, pe- que el robot pueda intentar realizar el
sadas. Lgicamente, todo depender camino ms corto hacia sta.
de cules sean los pesos y los ta- Carrera de postas: un conjunto de
maos que nos impongan las reglas robots debe comunicarse entre s pa-
del juego. Pero no dudemos en in- ra completar un recorrido definido
vertir en ello si queremos triunfar. por una lnea negra.
Rescate: este tema incluye infinidad
Otras pruebas clsicas de pruebas (Figura 15).
A continuacin describiremos otras
pruebas clsicas de robots mviles Esencialmente, se basa en dos de-
autnomos, que podremos profun- safos: detectar o rescatar un con-

Figura 15.
Competencia
de rescate del
Campeonato
Latinoamericano
de Robtica IEEE.

218
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 219

Presentarse a competir

junto de vctimas en una zona de de- minada para llevarlos a una zona li-
sastre, o rescatar vveres y medicinas berada. Adems, estas pruebas pue-
que han cado en una zona conta- den ser solitarias o colaborativas.

Figura 16. Pista


de la competencia
de rescate de la
RoboCup Junior.

RESUMEN
Ha llegado la hora de sacar nuestro robot al ruedo. Todas las pruebas son dife-
rentes, pero hay un conjunto de caractersticas o de problemas habituales. Estos
problemas pueden ser de ndole mecnica, como el tipo de arquitectura elegido
para nuestro robot o su punto de equilibrio. Tambin tendremos problemas con
los sensores, dado que el ambiente en el que se desarrollan los desafos habi-
tualmente difiere del que utilizamos para preparar a nuestros robots. Es por eso
que tenemos que utilizar mecanismos robustos que puedan trabajar sobre valo-
res relativos del ambiente y no con valores absolutos. Por otra parte, la ubica-
cin de los sensores debe aislar al mximo las perturbaciones del entorno. Con
respecto a la programacin, presentamos el uso de interrupciones, que nos per-
mitirn estar atentos a ms de un sensor en nuestro programa. De las pruebas
clsicas, el seguimiento de la lnea, la bsqueda o el seguimiento de luz, y el su-
mo de robots, son las que nos permitirn poner en juego toda la capacidad y las
caractersticas de nuestro robot.

219
www.FreeLibros.me
09_robotica.qxp 24/10/2007 03:10 p.m. Pgina 220

ACTIVIDADES

TEST DE AUTOEVALUACIN EJERCICIOS

1 Cules son los problemas mecnicos 1 Modifique el robot y progrmelo para


que puede presentar un robot en una que siga una lnea negra con el mtodo
competencia? del ciego con bastn. Probar con dife-
rentes grados en las curvas.
2 Qu mecanismos tenemos para lo-
grar que nuestro robot sea menos 2 Realice un robot con dos sensores pa-
sensible a los cambios del ambiente ra realizar el seguimiento de la lnea
en el que compite? lo ms rpido posible. Compare los
tiempos con los logrados en el ejerci-
3 De qu manera podemos visualizar el cio anterior.
comportamiento de los sensores?
Cul se usara en un sensor digital y 3 Ponga un obstculo sobre la pista del
cul en uno analgico? punto anterior y realice un robot que
pueda esquivarlo. El obstculo debe
4 Para qu sirven las interrupciones? ser algo pesado, como una caja con
una piedra dentro.
5 Cules son los tipos de interrupciones
que podemos encontrar en un 16F84/88? 4 Realice un robot que siga la luz de una
linterna.
6 Qu funcin cumple el registro INT-
CON? 5 Realice un robot que recorra una mesa
sin caerse de ella.
7 Describa los algoritmos tradicionales
de seguimiento de lnea. 6 Realice un robot con un sensor de ul-
trasonido que, ante la cercana de un
8 Cules son los problemas que debe- objeto, cambie de direccin.
mos afrontar en un robot luchador de
sumo?

220
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 221

Robtica Captulo 10
Jugar al ftbol
El ftbol de robots es una actividad

donde se presentan todos los problemas

de la robtica situada, en un marco

divertido, meditico y de reglas

conocidas a nivel internacional.

Es por eso que hemos decidido cerrar

nuestro libro con este captulo, al

presentar las reglas y las caractersticas

del desafo, para invitarlos a sumarse

a la investigacin dentro de esta

maravillosa rama de la robtica. Ftbol de robots 222


Caractersticas del ftbol
de robots 222
Ligas nacionales e internacionales
de ftbol de robots 232
Modificaciones para
que nuestro robot pueda jugar 242
Una pelota infrarroja 244
Resumen 245
SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com Actividades 246

www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 222

10. JUGAR AL FTBOL

FTBOL DE ROBOTS ra restemos del ao actual la canti-


dad de aos que faltan para el 2050.
Para el ao 2050, desarrollar un Cmo eran las computadoras en esa
equipo de robots humanoides com- poca? No era de ciencia ficcin
pletamente autnomos, que en un pensar en lo que tenemos hoy en da,
partido de ftbol puedan vencer al los robots que se han desarrollado,
equipo campen mundial humano. Internet, las notebooks, los celula-
res, etctera? Entonces, si vemos las
ste es el lema de la organizacin cosas desde este punto de vista, tal
RoboCup, una de las dos ligas mun- vez pensar en un equipo de ftbol de
diales de ftbol de robots. Puede pa- robots que jueguen un buen partido
recer un lema de ciencia ficcin, pe- de ftbol no es locura.
ro puede dejar de serlo si realizamos Por lo tanto, no perdamos el tiem-
el siguiente clculo. En el momento po, empecemos desde ahora a pre-
en el que se lee este libro, cunto parar a nuestro pequeo. Ense-
falta para el ao 2050? Cuarenta y mosle los rudimentos de este depor-
tres, cuarenta y dos aos? Bien. Aho- te para que comience con sus prc-
ticas de tiro libre, de penales, de
amagues y fintas. Quin nos quita la
ilusin de que en un futuro no muy
lejano, lo acompaemos por todo el
mundo en sus viajes con la Seleccin
Mundial de Ftbol de Robots.

Caractersticas del ftbol


de robots
Dentro del campo de la robtica
autnoma mvil, en los ltimos
aos ha surgido una disciplina co-
nocida como robtica situada. Su
objeto de estudio es el desarrollo de
robots autnomos mviles en am-

Figura 1. Podemos imaginar


un equipo de robots que enfrenten
a un equipo humano en el ao 2050.
Hagamos apuestas.

222
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 223

Ftbol de robots

bientes muy dinmicos. Ejemplos OTROS DEPORTES


de esto son los vehculos terrestres,
areos y acuticos, los robots enfer- No slo de ftbol viven los robots. Ya se
meros y todos aquellos que tengan estn desarrollando nuevas criaturas
que desenvolverse en un mundo que para otros deportes u otras competen-
cambia segundo a segundo. cias como el sumo, que ya hemos men-
El ftbol de robots es el deporte que cionado, el basquetbol y la lucha libre,
presenta los problemas ms impor- entre otros. En este ltimo caso, hay
tantes que podemos encontrar en la muchos tipos de torneos pero cuidado!
robtica situada y aunque existen En general, las luchas que pasan por la
diversas categoras donde estos pro- televisin no son de robots autnomos,
blemas pueden ser ms o menos sig- sino que estn controlados por un ser
nificativos, de alguna manera u otra, humano. En este caso, se enfrentan
estn presentes en todas. problemas mecnicos y electrnicos,
Para hacer una analoga con respec- pero se carece de sistemas de inteli-
to al ftbol convencional, podemos gencia y sensado del mundo dado que
decir que para jugar bien necesita- esa funcin la cumple la persona que
mos las siguientes virtudes: controla al robot. Por lo tanto, eso no
es robtica situada.
Un buen estado fsico: llegar an-
tes a la pelota, patear fuerte y po- lota. Debemos tener un rol que
der ir de un punto a otro de la can- cumplir, que ese rol sea dinmico
cha en forma veloz, nos permitir y que el conjunto de roles deter-
tener un control del juego mucho mine el comportamiento del equi-
ms efectivo. po optimizado para nuestro objeti-
Una lectura precisa y veloz del vo final: el gol en el arco contrario.
juego: es una caracterstica funda-
mental que el jugador se anticipe stos son los tres problemas que te-
a la jugada. Por ejemplo, que vaya nemos en el ftbol de robots, y en
al encuentro de la pelota donde la general en la robtica situada: la ar-
pueda ganar y tambin quede me- quitectura de los robots, el sensado
jor parado para el gol. O que pue- y el procesamiento de la informa-
da saber dnde conviene estar pa- cin del ambiente y el comporta-
rado para recibir un pase. miento colaborativo. A continua-
Juego colectivo: el equipo no pue- cin presentaremos cules son las di-
de comportarse como un conjunto ficultades en cada uno de ellos y cu-
de nios que corre detrs de la pe- les son las soluciones propuestas.

223
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 224

10. JUGAR AL FTBOL

Arquitectura y navegacin omnidireccional y diferencial. En el


de los robots caso de los robots con navegacin om-
Como hemos visto antes, con fre- nidireccional (Figura 2), las ventajas son
cuencia en las competencias tene- conocidas, pero incorporar tres moto-
mos un lmite vinculado al peso y el res en el espacio que tenemos, ms uno
tamao de los robots. En el ftbol de un pateador si fuera necesario, es
ocurre lo mismo. Por lo tanto, nues- complejo y el valor de los motores y las
tro objetivo es lograr el robot ms ruedas puede ser costoso.
robusto y ms rpido en el pequeo
espacio que nos brindan. Lamenta- En general, para comenzar utilizare-
blemente, en el caso de la electrni- mos navegacin diferencial (Figura 3),
ca y los motores, ms pequeo sig- como la que tenemos en nuestro ro-
nifica ms costoso, y es aqu que bot. Por lo tanto, tenemos que anali-
nuestro bolsillo ser otro lmite que zar cmo realizamos la navegacin
deberemos contemplar. con ruedas diferenciales. Esta navega-
Con respecto a los robots para ftbol, cin depender de la informacin que
la arquitectura clsica consiste en: pa- podemos extraer del ambiente. En el
tas (para ciertas categoras especficas), caso de los robots ms sencillos, pro-

Figura 2. Un jugador de ftbol del equipo alemn FU-Fighters


con ruedas omnidireccionales.

224
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 225

Ftbol de robots

bablemente nuestro funcionamiento PROYECCIN DE LA PELOTA


ser menos proyectado y calculado,
ms primitivo. Cuando tenemos ms Est claro que en el ftbol es fundamen-
informacin del ambiente, como la tal llegar a la pelota lo antes posible. Pa-
posicin X e Y de la pelota, y X, Y y ra ello, es necesario ir hacia el punto de
la rotacin de nuestros robots, pode- cruce con ella que ms nos convenga. Es
mos realizar un clculo de navegacin decir, proyectar el comportamiento de la
ms preciso. En este punto tenemos pelota a futuro para determinar cul es
dos situaciones que estudiar: la nave- el mejor momento de cruzarla. La line-
gacin hacia un punto fijo y hacia un alidad en el movimiento de la pelota ha-
punto mvil (como puede ser la pe- ce sencillo esto, si no fuera por la pre-
lota). La diferencia sustancial en los sencia de las paredes, nuestros robots y
dos casos es que en el caso del punto los contrarios. Con respecto a las pare-
mvil, si es posible, debemos realizar des, podemos considerarlas en varios
una proyeccin del comportamiento pasos futuros porque estn all en for-
del punto en el futuro para navegar ma constante. Pero con respecto a los
hacia esa proyeccin, de la misma for- otros robots, despus de una proyeccin
ma que cuando nos lanzan un centro de 4 5 cuadros, nos conviene dejar de
en el ftbol real corremos hacia don- tenerlos en cuenta, porque no sabemos
de caer la pelota, y no detrs de ella. con precisin dnde estarn ubicados.
De esta manera, el sistema de nave-
gacin para los dos casos ser el mis-
mo, slo que en el punto mvil nues- movimiento nos har pasar de largo
tro destino final ser un punto calcu- en el giro y nos quedaremos oscilan-
lado a partir del historial del punto y do para corregir el error), y luego del
no del estado actual. Desde ya que es- giro, avanzar hacia el punto. Al te-
te mecanismo sirve para los objetos ner definido un umbral de error,
mviles con comportamiento relati- cuando avancemos hacia el destino,
vamente lineal, como es el caso de la llegar un momento en el que su-
pelota. En el caso de los robots con- peraremos ese umbral, y por lo tan-
trarios, no tiene demasiado sentido to, el robot volver a girar para co-
dado que es imposible predecir el fu- rregir su desvo, y as sucesivamen-
turo de su comportamiento. te. Tambin tendremos que deter-
Un algoritmo de navegacin trivial minar un umbral de distancia don-
es girar hasta ver el punto de desti- de consideraremos que hemos llega-
no (siempre con un umbral de error do al punto para no oscilar yendo y
porque si no la misma inercia de viniendo hacia el punto de destino.

225
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 226

10. JUGAR AL FTBOL

La navegacin que acabamos de pre- un largo tiempo de estudio para re-


sentar no es complicada de imple- alizar pruebas en el campo con el ob-
mentar, pero dista mucho de ser r- jetivo de pulir la navegacin. Por l-
pida y eso, en el ftbol, es un pro- timo, tenemos que poder desarrollar
blema. Para optimizar nuestra nave- un modelo donde para llegar a un
gacin tenemos que hacer un anlisis punto determinado, en lugar de girar
profundo de la fsica implicada en el y luego ir en forma recta, determine-
juego. Es decir, tenemos que deter- mos velocidades diferentes en las rue-
minar cmo funciona la inercia del das para trazar una curva optimizada
robot, cunto tarda en alcanzar di- hacia el destino. Una vez hecho esto,
versas velocidades, cunto tarda en podemos seguir nuestro estudio me-
realizar giros de diversas amplitudes diante la realizacin de navegaciones
partiendo de diferentes estados, etc- donde nos interese con qu ngulo
tera. En esto influir la arquitectura llegamos al final, desde qu lado lle-
del robot (ms all de que sea dife- gamos al punto, etctera.
rencial, cmo est repartido el peso
del robot y cmo se ubican las ruedas Sensado y deteccin del ambiente
son puntos esenciales), los materiales Este punto es fundamental. Aqu te-
de las ruedas y el piso de la cancha. nemos mucho trabajo apasionante
Como vemos, tenemos que invertir por delante. En el caso de usar sen-
sores sencillos, como ultrasnicos,
sensores de luz, de tacto y otros sen-
sores locales, la informacin que ob-
tendremos es bastante imprecisa. La
imagen que conseguiremos del am-
biente no nos permitir navegar con
total exactitud. Todo lo que podre-
mos hacer es buscar la pelota con
algn sensor, acercarnos a ella, y una
vez que nos encontramos cerca, in-
tentar llegar hasta el arco contrario.

Lo que hemos utilizado para obtener


mayor precisin en la captacin del
ambiente son los sistemas de visin.
Figura 3. Ejemplo de robot de ftbol En este caso, tenemos que realizar un
con ruedas diferenciales. delicado equilibrio entre la cantidad

226
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 227

Ftbol de robots

Figura 4. Sistema de visin global en una cancha de ftbol de robots.


Podemos ver las cmaras conectadas en la parte superior.

de cuadros por segundo que proce- precisin si queremos obtener el es-


samos y la precisin que obtenemos tado del ambiente actual, y no el que
al final. Aqu encontramos la gran exista hace 30 segundos!
diferencia entre los sistemas de vi-
sin industriales tradicionales y los El sistema de visin puede ser global
que tenemos que aplicar en robtica o local a los robots. En el primer caso
situada. En el primer caso, podemos (Figura 4), un procesador externo reali-
tomar mayor tiempo de procesa- za el procesamiento y luego les enva el
miento, con lo cual el resultado final resultado a los robots para que tomen
es mucho ms preciso. En nuestro sus decisiones, o directamente ste u
juego, tenemos que complementar y otro procesador externo, a partir de los
corregir la informacin de la cmara datos captados, define la estrategia y les
con datos previos del ambiente y con enva rdenes a los robots como la ve-
proyeccin del estado actual en el ca- locidad de las ruedas, etctera. En la vi-
so de los objetos de comportamien- sin local, cada robot capta el ambien-
to lineal. Y desde ya, renunciar a la te. Como decamos antes, si esto se ha-

227
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 228

10. JUGAR AL FTBOL

Figura 5. Ejemplos de robots seguidores de una pelota infrarroja.

VISIN INDUSTRIAL ce mediante sensores, la calidad de la


informacin es bastante baja. Si en el
Con un poco ms de dinero, podemos ad- robot tenemos un sistema de visin, los
quirir una cmara de visin industrial con datos que tenemos del ambiente son
salida firewire para que en nuestra com- mayores, pero esto exige que cada ro-
putadora ingresen los datos en forma di- bot realice el arduo procesamiento de
gital y no sea necesario un framegrabber la imagen. Por otra parte, la visin lo-
(prcticamente todas las computadoras cal en general es parcial, porque los ro-
ya vienen con entrada firewire, y de lo con- bots apuntan a una direccin determi-
trario compramos una placa con esa en- nada. Para superar esto, es habitual que
trada). Un aspecto importante es que la la cmara se apunte hacia arriba y que
lente tenga un montaje (la forma de co- se coloque un espejo cnico o se-
nectarse a la cmara) que sea estndar, miesfrico en la parte superior para te-
como el montaje CS, de manera tal que ner una captura de 360 grados (Figura
podamos cambiar de lentes segn el am- 6). La deformacin que se produce en
biente y la distancia a la cancha. Otra ca- esta imagen es muy fcil de solucionar.
racterstica interesante es la posibilidad
de aplicar filtros desde el hardware, lo Aun as, el robot puede tener informa-
cual hace mucho ms rpido el proceso. cin incompleta porque otros le tapan
la pelota, el arco o algn otro objeto. Es

228
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 229

Ftbol de robots

Figura 6. Un equipo con sistema de visin local.


La cmara apunta hacia una semiesfera en la parte superior.

por eso que en todos los sistemas de vi-


objetivo determinado, es necesario
sin, complementamos lo que capta- algn mecanismo de organizacin
mos en el cuadro con informacin delque permita que cada uno realice
historial, como haramos con nuestros
una o ms tareas determinadas en
propios ojos y cerebro. Si vemos queforma dinmica, en pos de ese obje-
viene la pelota y en un momento la de-
tivo. Existen muchas formas de lo-
jamos de ver porque queda detrs de un
grar esto, pero plantearemos dos: el
jugador, realizamos una proyeccin de
comportamiento emergente y el
su movimiento y prevemos encontrar- comportamiento dirigido.
la en un punto posterior, ya que cono-
El comportamiento emergente den-
cemos cmo se estaba moviendo y po- tro de un sistema es el que surge de la
demos anticiparnos a su comporta- interaccin de sus componentes, y no
miento futuro. De la misma manera lopuede explicarse a partir de los com-
hacemos (o por lo menos lo intenta-portamientos individuales. Por ejem-
mos!) en el ftbol de robots. plo, ninguna hormiga puede realizar
una colonia por s misma, ni organi-
Comportamiento colaborativo zarla dndoles rdenes a otras hormi-
Adems de todo lo que vimos, nece- gas. Pero su comportamiento indivi-
sitamos que jueguen en equipo. En dual sencillo en conjunto con las otras
un conjunto de robots que tienen un hormigas, les permite lograr un tra-

229
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 230

10. JUGAR AL FTBOL

bajo en equipo muy complejo (Figura mer aplauso, que luego comienza a
7). Otro ejemplo es el de las bandadas crecer y que, mgicamente, toma una
de pjaros. Muchas veces nos queda- cadencia general a partir de la senci-
mos maravillados ante las hermosas lla actitud de cada uno de nosotros al
figuras geomtricas que logran al vo- golpear nuestras manos.
lar en grupo. Sin embargo, ninguna En un grupo de robots, podemos de-
mente superior ordena ese vuelo. Un terminar cierto conjunto de acciones
conjunto de reglas sencillas de ubica- primitivas, como ir a un punto o ir a
cin de cada pjaro en la bandada, la pelota, y que cada robot decida por
que permite minimizar la resistencia s mismo qu hacer segn las condi-
del aire, es la que logra esa organiza- ciones del ambiente. Por ejemplo, ca-
cin que nos sorprende. Un ltimo da robot, segn la cantidad de cua-
ejemplo que podemos presentar es el dros que tardara en llegar a la pelota,
de la generacin del aplauso y su rit- podra decidir si va hacia ella o no. De
mo. En un recital o en una obra de te- la misma forma, podramos determi-
atro, no nos organizamos para aplau- nar un grupo de acciones posibles que
dir. Alguna seal, como el final de la estn condicionadas por el estado del
cancin o de un acto, genera un pri- robot dentro del ambiente. El proble-

Figura 7. Las hormigas, un maravilloso ejemplo de comportamiento emergente.

230
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 231

Ftbol de robots

ma que podemos tener es que varios tarnos un mundo ms gris y represivo,


robots decidan hacer lo mismo o que pero infinitamente ms ejecutivo.
ninguno ejerza alguna funcin vital,
como la de arquero. La ventaja es que As surge el comportamiento dirigi-
con slo agregar alguna o algunas ac- do. En este esquema, un robot del
ciones ms, y si pulimos el sistema de equipo, o un agente externo, toma de-
decisiones de cada robot, el compor- cisiones, elige una estrategia y le asig-
tamiento puede cambiar en forma na un rol a cada robot. En el caso de
notable. Adems, todos los robots son los sistemas de visin global, donde
iguales, y por lo tanto no necesitamos un computador externo realiza el pro-
programar diversos comportamientos cesamiento de imgenes, el mismo
para cada uno de ellos. procesador, o uno que est comuni-
cado con l, toma estas decisiones y
El comportamiento emerge en forma slo comunica a cada robot la veloci-
espontnea. Es muy sorprendente ver- dad que debe tomar su rueda izquier-
los organizarse por ellos mismos y da y derecha. De esta manera, la asig-
cumplir determinados roles cuando nacin de roles y el comportamiento
nosotros nunca lo hicimos en forma es muchsimo ms preciso y las deci-
explcita. Es algo mgico! El proble- siones se toman en forma veloz. Pero
ma es que muchas veces, este com- es necesario que imaginemos todos
portamiento no surge en forma tan los mundos posibles, porque nuestro
precisa ni veloz como lo necesitamos conjunto de robots nunca saldr de lo
en un ambiente dinmico. Y es en ese puramente establecido por nuestro al-
momento cuando pensamos que tener goritmo. Todo comportamiento de-
un director de orquesta puede presen- pender de lo que hayamos previsto

SEGUIR EL GUANTE BLANCO DE MICHAEL JACKSON


El comportamiento emergente tambin puede aplicarse para el seguimiento de obje-
tos en un video. El White Glove Tracking Project (Proyecto de Seguimiento del Guan-
te Blanco) fue un proyecto respaldado por Rhizome.org, en donde un gran nmero de
usuarios deban marcar el lugar donde vean el guante blanco de Michael en un video
de 5 minutos y medio. Con la informacin de cada uno, que individualmente poda te-
ner un buen margen de error, se determin la posicin con una precisin completa. Es
decir, a partir del comportamiento sencillo de seguir el guante con el puntero del mou-
se, el software levant los datos en tiempo real y los ponder para definir la posicin
perfecta del guante. ste es otro ejemplo de comportamiento emergente.

231
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 232

10. JUGAR AL FTBOL

en nuestra programacin. En reali- internacional y no hacen falta de-


dad, en general usamos una combi- masiadas palabras para que nos po-
nacin de stos y otros mecanismos damos encontrar en un partido. Y
de organizacin en equipo. La elec- luego, entre goles y tiros libres, com-
cin de uno u otro depender, en es- partimos los ltimos resultados de
pecial, de los buenos resultados que nuestros trabajos en los campos que
logremos con ese comportamiento. presentamos en el punto anterior. A
continuacin comentaremos cada
Ligas nacionales e internacio- una de las ligas y las categoras vin-
nales de ftbol de robots culadas al ftbol que presentan.
Como dice el sabio adagio, todo lo
que hacemos los investigadores es RoboCup
para conquistar a las muchachas que Segn se detalla en su propio sitio, la
en nuestra juventud, con nuestro as- RoboCup es un proyecto de colabo-
pecto de nerds, nunca pudimos se- racin internacional para promover
ducir. Debido a que pasamos das el desarrollo de la robtica, la inteli-
enteros detrs de nuestros inventos, gencia artificial y los campos afines.
es fcil suponer que nuestro estado Fomenta la investigacin de estos te-
fsico deja bastante que desear. Es mas y provee problemas estndares,
por eso que decidimos crear los cam- donde una amplia gama de tecno-
peonatos de ftbol de robots: quere- logas puede integrarse y ponerse a
mos ser famosos, reconocidos por la prueba. Ha elegido el ftbol de ro-
calle y conseguir novias modelos, co- bots como tema central con el obje-
mo los jugadores de ftbol reales. tivo de aplicar los resultados de las in-
Luego de doce aos de competencias vestigaciones a problemas sociales
no hemos logrado ninguno de estos significativos y a la industria. La me-
objetivos, pero no hemos perdido las ta final es lograr hacer un equipo de
esperanzas. Por lo menos, en las reu- once robots autnomos para el 2050,
niones sociales hemos logrado algu- que le gane un partido a la ltima se-
nos minutos de atencin al comen- leccin campeona del mundo.
tar nuestra extraa profesin.
Ahora, hablando en serio, los cam- Dado que muchas de las tecnologas
peonatos de ftbol de robots son estudiadas son aplicables a la bsque-
una buena excusa para intercambiar da y el rescate de personas en situa-
conocimientos con otros investiga- ciones de desastre, se ha agregado a las
dores de la misma disciplina. Las re- competencias de rescate (RoboCup
glas del ftbol son conocidas a nivel Rescue) como una forma de aplica-

232
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 233

Ftbol de robots

Figura 8. Imagen de uno de los monitores para el simulador de la RoboCup.

cin significativa de los resultados de mediante mensajes de texto por


las investigaciones. Adems de las ca- sockets. Adems, contamos con un
tegoras de ftbol, tambin presenta visualizador grfico del ambiente.
categoras fsicas y simuladas de resca- Es decir, cuando se juega un parti-
te y categoras de ftbol, rescate y dan- do tenemos 26 procesos que co-
za para jvenes entre 10 y 18 aos. Las rren: 22 jugadores, 2 entrenadores,
categoras de ftbol que ofrece son: 1 simulador y 1 visualizador.
La comunicacin entre los jugado-
Simulacin: en estos momentos res y el tcnico se realiza mediante
hay dos subcategoras, una de 2D gritos entre ellos. Por lo tanto, te-
y otra de 3D. En esta categora, de- nemos un comando que podemos
bemos controlar los once jugadores ejecutar en nuestro agente que gri-
y al entrenador, cada uno con un ta un mensaje y desde ya, tambin
proceso independiente entre s y puede escucharlo. Adems, tene-
sin comunicacin directa entre mos comandos de movimiento, pa-
ellos. El partido se desarrolla en un teo, giro, etctera. El servidor,
simulador de la fsica del ambien- adems de recibir los comandos pa-
te, con el cual los procesos que ra los robots, nos provee informa-
controlan al equipo se comunican cin de sensado (particular de cada

233
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 234

10. JUGAR AL FTBOL

agente), como lo que ve, la energa del simulador es poder solucionar


del jugador, la velocidad, etctera. todos los aspectos fsicos y de vi-
Esta informacin de los sensores sin, para que nos podamos con-
puede estar contaminada por el rui- centrar en los temas vinculados al
do (errores), como en un sensor re- comportamiento colaborativo.
al. Es importante recordar que el
servidor no espera que le enviemos Small size (tamao pequeo), tam-
los comandos para los robots, sino bin conocido como F180: aqu te-
que funciona como un sistema de nemos un partido de ftbol fsico en-
tiempo real con ciclos discretos, y tre dos equipos de cinco jugadores
que aqu tambin tenemos el com- cada uno (Figura 9). Cada robot debe
promiso de equilibrar precisin y poder entrar en un cilindro de 180
velocidad. Si nuestra heurstica tar- mm de dimetro, con una altura no
da demasiado tiempo en definir el mayor a 15 cm, salvo que tenga su
comportamiento del robot, vamos propio sistema de visin. De no ser
a entregar acciones para un mundo as, se utiliza un sistema de visin
que ha cambiado, y con una fre- global con comunicacin inalmbri-
cuencia demasiado lenta para la vi- ca entre el procesador de imgenes y
talidad del ambiente. El objetivo los robots. El campo de juego es de

Figura 9. Equipo Small size del ITAM de Mxico.

234
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 235

Ftbol de robots

4,9 m de largo por 3,4 m de ancho y por 60 cm cuando patea. El peso


se utiliza una pelota de golf naranja. mximo del robot es de 80 kg.
A pesar de que la visin puede ser lo-
cal, todos los equipos que hemos vis- Standard platform league (liga de
to en los torneos tienen visin global. plataforma estndar): en esta cate-
gora se selecciona un robot estn-
Middle size (tamao medio): en es- dar que debe ser usado por todos los
ta categora fsica los robots tambin equipos. Hasta el ao 2007, la pla-
son autnomos en el sistema de vi- taforma seleccionada fue el Aibo de
sin. Cada equipo cuenta con cua- Sony, y por eso esta categora se co-
tro jugadores que se comunican en- noca como four legged (cuatro pa-
tre ellos en forma inalmbrica (Figu- tas). En 2008 se utilizar el robot
ra 10). No puede haber ninguna in- Aldebaran Nao (Figura 11). Cada
tervencin externa, salvo para inser- equipo debe ser de cuatro jugadores
tar o remover robots del campo de autnomos mediante la utilizacin
juego. Cada robot debe poder entrar de esta plataforma bsica. De esta
en una caja de 50 cm de ancho, 50 manera, se pone el acento en el de-
cm de largo y 85 cm de alto. Por mo- sarrollo del software para solucionar
mentos, puede crecer hasta 60 cm el aspecto fsico del robot.

Figura 10. Un partido a punto de comenzar en la Middle size de la RoboCup.

235
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:13 p.m. Pgina 236

10. JUGAR AL FTBOL

Humanoid (humanoide): aqu, los humanas (Figura 12). Las reglas pro-
equipos deben estar formados por porcionan un conjunto de frmu-
dos humanoides, donde uno ser el las que determinan los lmites de
arquero. Existen dos subcategoras mnimo y mximo para cada parte
(kidsize y teensize), donde slo hay del cuerpo. Adems de jugar parti-
diferencias de tamao. Cada robot dos, deben realizar pruebas de des-
debe tener proporciones en su treza como esquivar obstculos, re-
cuerpo similares a las proporciones correr caminos, etctera.

Figura 11. En esta imagen Figura 12. Robotina, el humanoide


vemos un prototipo avanzado de la categora TeenSize del equipo
del Aldebaran Nao. Nimbro de la Universidad de Freiburg.

236
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:14 p.m. Pgina 237

Ftbol de robots

FIRA (Federacin Internacional PLATAFORMA ROBOCUP


de Ftbol de Robots)
La FIRA es una liga futbolera. Los El robot Aldebaran Nao es un desarro-
robots de sus diversas categoras son llo de origen francs que comenz en
de complejidad menor que los de la el ao 2005 y fue presentado dos aos
RoboCup, con caractersticas menos ms tarde. El objetivo que persigue es
cercanas al ftbol real. Por ejemplo, el de lograr un humanoide que se en-
en sus canchas no hay laterales. La cuentre disponible para el pblico, de
dinmica es ms parecida al ftbol de costo accesible, con las caractersticas
saln. Con estas caractersticas, sus que vemos a continuacin:
partidos son ms vistosos y emocio- Cmara digital incorporada.
nantes, ya que la pelota est cons- Reconocimiento de voz.
tantemente en juego y sus robots se Sintetizador de voz.
mueven a una velocidad sorprenden- Expresiones de emocin.
te. Las categoras que presenta son: Comunicacin por WiFi.
Veinticinco grados de libertad.
MiroSot: en esta categora, los ro- Para obtener ms informacin, pode-
bots tienen un lmite de 7,5 cm de mos visitar la siguiente direccin:
lado (sin incluir la antena de comu- www.aldebaran-robotics.com.
nicacin). Se juega con una pelota
de golf naranja y la visin es global.

Figura 13. Ejemplo de


robot MiroSot para esta
categora de la FIRA.

237
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:14 p.m. Pgina 238

10. JUGAR AL FTBOL

Existe una subcategora de cinco con- jo, y se juega mucho con los rebotes
tra cinco donde la cancha es de 220 y el transporte colectivo.
cm por 180 cm, y otra de once con-
tra once de 400 cm por 280 cm (Fi- SimuroSot: categora simulada que
gura 14). La cmara colocada en la par- emula a MiroSot de cinco contra
te superior de la cancha captura las cinco y de once contra once. El si-
imgenes, que luego son procesadas mulador (Figura 16) provee los datos
por una computadora externa. sta del ambiente cada 16 milisegundos
ltima, una vez procesada la imagen y nuestro equipo (una dll hecha en
y analizado el ambiente, determina el C++) toma sus decisiones e informa
comportamiento de los robots y le la velocidad de la rueda izquierda y
enva las rdenes a cada uno en forma derecha de cada robot.
inalmbrica. Por el tamao del robot
y las reglas de cubrimiento de la pe- NaroSot: es una versin mini de
lota, es imposible capturarla, por lo MiroSot (Figura 15). Aqu los ro-
que el transporte es bastante comple- bots deben ser de 4 cm de ancho,

Figura 14. Partido de cinco contra cinco en la categora MiroSot de la FIRA.

238
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:14 p.m. Pgina 239

Ftbol de robots

4 cm de largo y 5,5 cm de alto (sin


contar la antena). El sistema de vi-
sin tambin es global y juegan
cinco contra cinco con una pelota
de golf naranja.

RoboSot: sta es la categora con


visin local. Cada equipo est for-
mado por tres robots que deben
caber en un cilindro de 20 cm de
dimetro y con una altura no ma-
yor a 40 cm. La pelota es de tenis

Figura 15. Pequeos robots de la


categora NaroSot de la Universidad de
Tecnologa de Viena.

Figura 16. Simulador de 5 contra 5 que se utiliza


en la categora SimuroSot de la FIRA.

239
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:14 p.m. Pgina 240

10. JUGAR AL FTBOL

color amarillo y ya pueden incor- KepheraSot: en esta categora, que


porar a su arquitectura sistemas de est en vas de desaparicin, los
acarreo de la pelota (con restric- equipos utilizan una arquitectura
ciones) y sistemas de pateo. conocida como Kephera. Juegan
HuroSot: sta es la categora de uno contra uno con un sistema de
humanoides de la FIRA (Figura 17). visin local muy interesante, ya que
An no se juegan partidos de ft- posee una cmara con captura de
bol, sino que el robot debe cum- una sola lnea. Es por eso que los ju-
plir ciertas pruebas de destreza co- gadores se identifican con un cilin-
mo realizar un recorrido, patear dro de rayas negras y blancas, y la
penales, etctera. La altura mxi- pelota es de color verde.
ma es de 150 cm y 30 kg de peso.
Las proporciones del robot deben Campeonato Latinoamericano IEEE
ser similares a las humanas, como El Campeonato Latinoamericano
en la RoboCup. IEEE comenz en el ao 2002 y no

Figura 17. Robot de la categora HuroSot de la FIRA


intentando resolver un problema.

240
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:14 p.m. Pgina 241

Ftbol de robots

contaba con pruebas de ftbol de ro- Concurso Mexicano de Robtica


bots. Sin embargo, en las ltimas Versin local del Concurso IEEE La-
tres ediciones ha incorporado la Ro- tinoamericano que agrega a sus com-
boCup Latinoamericana. petencias las categoras Junior de la
De esta manera, se hacen presentes RoboCup (para menores de 18 aos)
las categoras Small Size, Four Le- y un concurso de robots limpiadores,
gged y Simulacin. Adems, pro- tambin con diversas categoras. Con
pone una categora inicial donde se respecto al ftbol en particular, estn
utiliza el kit de Lego para la cons- presentes Small Size y Junior.
truccin de los robots, con desafos
de rescate o colaborativos, y una ca- Campeonato Argentino de Ftbol
tegora abierta, donde los robots de- de Robots (CAFR)
ben ser desarrollados por los propios El CAFR combina pruebas de am-
participantes, con determinadas res- bas ligas internacionales. Con res-
tricciones en los procesadores. pecto a la FIRA, presenta su cate-

Figura 18. El equipo argentino del CAETI recibiendo


su premio por el cuarto puesto en la categora SimuroSot.

241
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:14 p.m. Pgina 242

10. JUGAR AL FTBOL

gora SimuroSot, donde tiene el ma- cias, que se modifican ao a ao, con
yor nmero de participantes. De la frecuencia aparecen pruebas de resca-
RoboCup presenta una versin ms te, sumo, y destrezas de ftbol de ro-
pequea que la Small Size (con me- bots, que utilizan el mismo campo y
nos cantidad de robots) y la Junior las mismas caractersticas que la Ro-
con pelota infrarroja (Figura 19). boCup Junior (Figura 20).

Roboliga (Olimpada Argentina Modificaciones para que


de Robtica) nuestro robot pueda jugar
La Roboliga es una competencia des- Con nuestro robot podramos parti-
tinada a alumnos menores de 18 aos. cipar de la categora Small Size de la
Es la competencia de robtica ms RoboCup y de la competencia de ft-
antigua de Latinoamrica y conjuga bol de la RoboCup Junior. En el pri-
pruebas de destreza con presentacin mer caso, deberamos desarrollar un
de proyectos de investigacin de los sistema de visin para poder realizar
alumnos. Dentro de las competen- el seguimiento de nuestro equipo y

Figura 19. Categora Senior del Campeonato Argentino de Ftbol de Robots.

242
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:14 p.m. Pgina 243

Ftbol de robots

sumar algn sistema de comunica- en marcha el sistema con aquellas que


ciones para enviar las rdenes de la tienen chip bt878, como la antigua
computadora central hacia los robots PCTV de Pinnacle. Conectada a es-
(y desde ya, programar todo esto!). ta placa, podemos utilizar cualquier
Con respecto al sistema de visin, ya cmara con las salidas mencionadas,
existe un servidor de procesamiento como cualquier handycam que ten-
de imgenes de distribucin libre y gamos en nuestras casas. Hemos te-
gratuita que nos puede ser til: Do- nido varias luchas para que funcione,
raemon. Fue desarrollado por el De- pero una vez que se logra darle arran-
partamento de Ciencias de la Com- que y se configuran los colores en for-
putacin de la Universidad de Mani- ma correcta, nos provee los datos con
toba, corre en Linux y necesita de una buena precisin. Los datos del am-
placa capturadora de video con en- biente y de los robots los comunica
trada compuesta o SVHS. De las cap- mediante un socket UDP, por lo que
turadoras de video que tienen drivers podemos capturarlos desde otro pro-
en Linux, nosotros logramos poner ceso en el mismo Linux o en otra m-

Figura 20. Competencia colaborativa en la Roboliga.

243
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:14 p.m. Pgina 244

10. JUGAR AL FTBOL

quina con cualquier sistema opera- cia) o bluetooth a nuestro robot. La-
tivo y cualquier lenguaje que pueda mentablemente, este tema escapa a la
acceder a sockets (todos los lengua- complejidad de este libro, pero po-
jes pueden hacerlo!). demos encontrar muchsima infor-
macin en Internet sobre l, en es-
Ahora, si estamos completamente pecial con respecto a la conexin de
lanzados a la construccin de nues- mdulos RF con el PIC.
tras propias herramientas para lo
que es el procesamiento de imge- Una pelota infrarroja
nes, es recomendable detenerse a es- Si queremos evitar el arduo procesa-
tudiar la librera OpenCV, desarro- miento de imgenes, podemos po-
llada por los laboratorios de Intel. ner a nuestra criatura al servicio de
sta es una librera desarrollada en la categora Junior. Aqu, la visin es
C++ que nos proporciona todos los local y muy sencilla. Para jugar se
algoritmos bsicos de procesamien- utiliza una pelota con leds infrarro-
to como filtros, balances, deteccin jos. Esta pelota emite constante-
de bordes, tracking, etctera. Reali- mente y, de esta manera, uno o ms
zar nuestro propio sistema de visin sensores de luz la pueden detectar
implicar combinar un conjunto de con facilidad (es mejor usar por lo
las funciones provistas por OpenCV menos dos para poder saber si la pe-
con algunas buenas ideas de uso del lota se fue de nuestro frente para un
historial del ambiente y el compor- lado o para el otro).
tamiento lineal de la pelota. Para ubicarse a nivel espacial, el pi-
Con respecto al sistema de comu- so de la cancha de esta categora tie-
nicaciones, tendremos que incorpo- ne un degrad de blanco a negro,
rarle un mdulo RF (radiofrecuen- con lo que podemos saber si nos di-

UNA BUENA FORMA DE COMENZAR CON EL FTBOL DE ROBOTS


El Grupo de Robtica Cognitiva de la Universidad Nacional del Sur, en Argentina, ha
colaborado en el desarrollo de una liga de la RoboCup que luego fue dejada de lado.
Sin embargo, toda su experiencia con Doraemon (y con su compleja instalacin!)
puede encontrarse en su sitio web: http://cs.uns.edu.ar/~ajg/matebots/. Adems,
all podemos encontrar informacin sobre la programacin del comportamiento del
equipo en Prolog y sobre el uso de Lego Mindstorms para jugar al ftbol. Lamenta-
blemente, la E-league (Entry League) no continu con su desarrollo en la RoboCup,
lo que hubiera permitido un ingreso menos complejo a la liga.

244
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:14 p.m. Pgina 245

Ftbol de robots

rigimos hacia nuestro arco o hacia el cuenta del grado de rotacin de


contrario con el uso de uno o ms nuestro robot por la diferencia cap-
sensores de luz que apuntan hacia tada por cada uno de los sensores. Si
abajo. Si queremos ser ms exquisi- apunta hacia el arco, los valores cap-
tos, al usar tres o cuatro sensores en tados por los sensores que miran ha-
forma analgica podemos darnos cia abajo tendran que ser similares.

RESUMEN
El ftbol no slo es una buena excusa para una reunin de amigos. En el caso de
los robots, nos permite poner a prueba las soluciones que hayamos encontrado
a un conjunto de problemas habituales en la robtica situada, como la captacin
del ambiente en tiempo real, la navegacin hacia puntos fijos y mviles, y el com-
portamiento colaborativo. sta es la razn por la que ha crecido tanto la activi-
dad en los centros de investigacin. Cada liga de ftbol de robots presenta dife-
rentes reglamentos y categoras, lo que permite tener una amplia variedad de
oportunidades para ingresar en este mundo. La propuesta ms econmica y sen-
cilla para comenzar son las competencias simuladas. En ellas, con una computa-
dora convencional y muchas horas de programacin, podremos lograr un equipo
para salir a la cancha. Pero el sueo siempre es trabajar con elementos fsicos,
y en ese caso tenemos plataformas estndares, humanoides, robots pequeos,
robots grandes, etctera. Con seguridad, encontraremos el proyecto que se ajus-
te a nuestros deseos y nuestras posibilidades. Y ojal nos encontremos en algn
potrero robtico para compartir un buen partido.

245
www.FreeLibros.me
10_robotica.qxp 24/10/2007 03:14 p.m. Pgina 246

ACTIVIDADES

TEST DE AUTOEVALUACIN EJERCICIOS

1 Cules son las tres caractersticas que 1 Imprima un degrad de blanco a negro
podemos transpolar del ftbol conven- en una hoja oficio y construya un robot
cional al ftbol de robots? que, al comenzar en cualquier posicin,
se ubique en forma recta y apunte ha-
2 Qu problemas presenta la arquitectu- cia el borde negro.
ra y la navegacin de los robots de ftbol?
2 Agrguele un tercer motor al robot con
3 Qu mtodo se utiliza habitualmente algn mecanismo sencillo de pateo.
en la deteccin del ambiente de juego, y
qu problemas trae esto aparejado? 3 Instale Doraemon en Linux segn las
indicaciones de la Universidad del Sur,
4 A qu nos referimos con equilibrio en- y escuche el socket configurado para
tre velocidad y precisin en el procesa- entender cmo se envan los paquetes.
miento de imgenes?
4 Instale el simulador de ftbol de la FIRA
5 Cmo son las arquitecturas de visin y desarrolle un pequeo equipo basn-
global y de visin local? dose en el ejemplo que se descomprime
en la misma carpeta donde est instala-
6 A qu llamamos comportamiento co- do el programa.
laborativo? Qu problemas presenta?

7 Qu es el comportamiento emergente?

8 Qu es el comportamiento dirigido?

9 Cules son las caractersticas de las


categoras de la RoboCup?

10 Cules son las caractersticas de las


categoras de la FIRA?

246
www.FreeLibros.me
11_apendice a_robotica.qxp 24/10/2007 03:32 p.m. Pgina 247

Robtica Apndice A
Conceptos
bsicos
de electrnica
Este apndice permitir conocer algunos

conceptos que aparecen explcita o

implcitamente involucrados en los

captulos anteriores. Aunque podemos

llegar a buen puerto sin leerlo, la

comprensin de lo que construimos ser

ms profunda si lo hacemos. Y en algunos

casos, como los consejos para soldar, nos

ahorraremos muchos dolores de cabeza.

La electrnica 248
Conceptos de electricidad 248
Componentes que utilizamos
en nuestros circuitos 251
Herramientas fundamentales 256
SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com Consejos para soldar 258

www.FreeLibros.me
11_apendice a_robotica.qxp 24/10/2007 03:32 p.m. Pgina 248

A. CONCEPTOS BSICOS DE ELECTRNICA

LA ELECTRNICA quera que gastaran ni dinero ni tiem-


po dems. Que todo lo que haban
Motor del siglo XX, la electrnica ha desarrollado se poda resolver con un
jugado un papel fundamental en las integrado. Todo, menos un conjunto
caractersticas actuales del mundo en de leds, quedaba encapsulado en un
el que vivimos. Todo lo que nos rodea integrado especfico. Como diran los
est compuesto en algn punto por programadores de objetos, todo est
componentes electrnicos: automvi- hecho, slo hay que encontrar las pie-
les, aviones, computadoras, juguetes, zas y ensamblarlas.
televisores, reproductores de mp3, Este apndice tiene como objetivo
etctera. Y cada da que pasa, gracias aclarar algunos conceptos de electr-
a las maravillas de la evolucin tec- nica bsica y dar algunas recetas pri-
nolgica, la electrnica se vuelve ms mitivas que seguramente nos aho-
pequea, ms robusta y ms econ- rrarn muchos dolores de cabeza. To-
mica. Probablemente, en algn mo- do lector que alguna vez haya cons-
mento de nuestras vidas sentimos cu- truido un circuito ya ha pasado por
riosidad por este tema y nos adentra- esto, y no creemos que su lectura
mos en l con alguna revista, algn kit pueda aportarle nada nuevo. Pero si
especfico o por qu no, mediante es- es la primera vez que vamos a hacer
tudios formales. Para aquellos que nos una soldadura, este apndice ser
hemos acercado porque lo tenamos una tabla de salvacin.
como un simple hobby, la aparicin
de los integrados nos ha facilitado Conceptos de electricidad
an ms la tarea. Muchas veces, cuan- Para comenzar con nuestro aprendi-
do necesitamos algo, en lugar de te- zaje de electrnica, debemos conocer
ner que disearlo, basta con buscar en una serie de conceptos fundamenta-
los catlogos un integrado que cum- les. En primer lugar, veremos aquellos
pla esa funcin. Basta un ejemplo: un relacionados con la electricidad.
grupo de alumnos haba desarrollado
un rgano electrnico controlado Corriente elctrica
desde el puerto paralelo de una PC. La corriente elctrica no es ms que
Cuando le presentaron el proyecto al un flujo ordenado de electrones que
profesor, con decenas de transistores, atraviesa un material de un punto
resistencias, diodos y otros compo- a otro. Algunos de ellos, al tener un
nentes, el docente los felicit porque electrn libre en su nivel superior,
el trabajo era muy interesante. Y lue- permiten el pasaje de un punto a otro
go de charlar con ellos les dijo que no en forma mucho ms simple y con

248
www.FreeLibros.me
11_apendice a_robotica.qxp 24/10/2007 03:32 p.m. Pgina 249

La electrnica

menos resistencia. De all el nombre mos el material neutro entre un


de materiales conductores. A los cuerpo con muchos electrones (car-
materiales que no permiten el flujo ga negativa) y uno con pocos (carga
de electrones en condiciones norma- positiva), los electrones atravesarn
les se los conoce como materiales el material para ir del potencial ne-
aislantes. Pero cuidado!: ante ciertos gativo al positivo. Del negativo al
factores un material aislante puede positivo? No era al revs? En efecto
convertirse en conductor. El ejemplo es as, pero histricamente se la de-
ms conocido es el de la cermica fini como un flujo de cargas posi-
usada en los viejos tapones por su ca- tivas, lo que luego result incorrec-
pacidad aislante, que ante una tem- to. De todas maneras, cuando se
peratura muy baja, no slo conduce, piensa en el pasaje de corriente elc-
sino que superconduce! Para profun- trica, con frecuencia se lo describe al
dizar este tema, es recomendable bus- revs porque lo que se considera es
car informacin sobre la supercon- el flujo del potencial positivo.
ductividad y sus propiedades.
Si queremos producir este flujo (Fi- Si el flujo se desplaza en forma conti-
gura 1) en un material elctricamen- nua de un punto a otro, se lo conoce
te neutro, tenemos que utilizar una como corriente continua. Un ejem-
fuente de energa externa. Si coloca- plo de este tipo de corriente es la que

+ +

Figura 1. Esquema del flujo de la corriente elctrica.

249
www.FreeLibros.me
11_apendice a_robotica.qxp 24/10/2007 03:32 p.m. Pgina 250

A. CONCEPTOS BSICOS DE ELECTRNICA

brinda una pila o batera. En otro ca- liampere (mA) es la milsima parte
so, si el flujo corre primero en un sen- de un ampere. Un Microampere
tido y luego en el contrario, se lo lla- (A) es la millonsima parte.
ma corriente alterna. Un ejemplo de
este caso es la corriente que recibimos Tensin (voltaje)
en los enchufes de nuestras casas, la Para que los electrones fluyan de un
corriente elctrica de la red. Podemos terminal a otro, debemos tener algu-
buscar en Internet la historia de por na fuente que genere ese movimien-
qu se eligi la alterna y no la conti- to o, como se dice habitualmente, de-
nua para las casas, ya que es una lu- bemos aplicarle energa al conductor.
cha interesante entre Nikola Tesla y Para lograrlo, en un terminal debe-
Thomas Edison (Figura 2). mos tener una carga negativa y en la
La corriente se mide en Amperios otra una positiva. La tensin es la di-
(A). Esta unidad mide la cantidad de ferencia de potencial que hay entre
electrones que fluyen en un material dichas terminales. El ejemplo ms
en una unidad de tiempo. Una co- habitual es el curso del agua de un
rriente tiene una intensidad de 1 A ro. Para que el agua corra, es necesa-
cuando, al pasar por una solucin rio un desnivel entre la vertiente y la
acuosa de nitrato de plata, deposita desembocadura. Ese desnivel es el
0,001118 gramos de plata por segun- que determinar la tensin.
do (esto podemos olvidarlo rpida- La unidad de medida es el Voltio o
mente, slo es para aclarar que existe volt (V). Una pila AA alcalina tiene
un patrn). En electrnica, esa uni- una tensin de 1,5 V. En las tomas
dad es demasiado grande, por lo que elctricas de nuestras casas solemos
utilizamos los submltiplos. Un Mi- tener 110 V 220 V.

Figura 2. Nikola Tesla


y Thomas Edison, uno
de los enfrentamientos
ms grandes en la
historia de la ciencia
a partir de la corriente
continua y la alterna.

250
www.FreeLibros.me
11_apendice a_robotica.qxp 24/10/2007 03:32 p.m. Pgina 251

La electrnica

Resistividad / Resistencia Componentes que utilizamos


La resistividad de un material es la pro- en nuestros circuitos
piedad que tiene de oponerse al paso A continuacin vamos a describir los
de corriente. Se mide en Ohms-me- componentes pasivos y activos ms im-
tro y depende de un conjunto de fac- portantes que hemos utilizado en nues-
tores, como por ejemplo la temperatu- tros circuitos. Llamamos componen-
ra. En un componente concreto, su re- tes activos a aquellos que proporcio-
nan excitacin elctrica, ganancia o
sistencia est definida por la resistividad
control. Esencialmente, son los gene-
del material, su longitud y el rea trans-
versal del componente. A mayor longi- radores elctricos, los diodos y ciertos
tud y menor rea transversal, ms re- semiconductores. En contraposicin,
sistencia. En este caso, la unidad es ellos pasivos son los que no generan in-
Ohm (). Al inverso de la resistividad tensidad ni tensin en nuestro cir-
se lo llama conductividad. cuito, como los cables, las resisten-
cias, los interruptores, los capacito-
Ley de Ohm res, los transformadores, etctera. Ve-
Una de las leyes ms importantes de amos qu funcin cumplen algunos
la electrnica es la Ley de Ohm. Si to- componentes que hemos utilizado.
mamos una fuente variable de co-
rriente continua y un cable conduc- Resistencia
tor que ofrezca cierta resistencia, po- Es un componente pasivo que ubi-
dremos ver que al aumentar la ten- camos en el paso de una corriente y
sin, la corriente aumenta en forma que se opone a que sta circule. Se re-
directamente proporcional. El co- presentan con la letra R y su valor se
ciente que obtenemos entre tensin mide en Ohms o en sus mltiplos,
y corriente es la resistencia del ma- KiloOhms (1 K = 1000 ) o Me-
terial. En sntesis: R= V / I. gaOhms (1 M = 1000 K). Hay
R: resistencia. una gran variedad de tipos de resis-
V: tensin. tencias y de valores posibles (Figura 3).
I: corriente.
Desde ya que con esta frmula po-
demos calcular cualquiera de los
parmetros si conocemos los otros
dos. Por ejemplo, la frmula V=R*I
nos permite calcular cuntos voltios
cae la tensin a lo largo de un con- Figura 3. Resistencia de 62 5%
ductor con resistencia. y smbolo electrnico de la resistencia.

251
www.FreeLibros.me
11_apendice a_robotica.qxp 24/10/2007 03:32 p.m. Pgina 252

A. CONCEPTOS BSICOS DE ELECTRNICA

Para describir el valor e indicarlo so- En la Tabla 3 podemos ver algunos


bre el componente se utiliza un c- ejemplos que nos permiten compren-
digo de colores que determina la re- der cmo se interpretan los colores de
sistencia y la tolerancia. los cdigos de las resistencias.
Los tres primeros (Tabla 1) definen el
valor de la resistencia y cada uno re- COLORES VALOR Y TOLERANCIA

presenta un dgito decimal. Entre Marrnnegromarrndorado 100 al 5%


stos, los dos primeros indican el va- Rojorojorojoplateado 2,2 K al 10%
lor en y el tercero es el multipli- Amarillovioletarojodorado 4,7 K al 5%
cador del valor anterior para obtener Tabla 3. Ejemplos de la interpretacin
el valor final. Por su parte, el cuarto de los colores de las resistencias.
dgito representa la tolerancia del
componente (Tabla 2). En lo que respecta a los diferentes ti-
pos de resistencias, tenemos las fijas,
COLOR DGITO MULTIPLICADOR cuyo valor nominal no se altera. Las
Negro 0 1 variables, en cambio, pueden modi-
Marrn 1 10 ficar su valor de resistencia por un
Rojo 2 100 ajuste humano o por algn elemento
Naranja 3 1000 del circuito o del ambiente. stas l-
Amarillo 4 10000 timas tambin se usan como senso-
Verde 5 100000 res, dado que alteran su comporta-
Azul 6 1000000 miento por factores externos. Por
Violeta 7 10000000 ejemplo, tenemos resistencias varia-
Gris 8 bles de presin, de luz (que ya hemos
Blanco 9 visto), de temperatura, etctera.
Dorado 0,1 Cuando soldamos una resistencia de-
Plateado 0,01 bemos tener cuidado porque el calor
Tabla 1. Interpretacin de las puede modificar sustancialmente su
tres primeras bandas de colores capacidad resistiva. Por eso es aconse-
de las resistencias. jable soldarlas con rapidez y utilizar
algn disipador que permita dismi-
COLOR TOLERANCIA nuir el calor que recibe la resistencia.
Dorado 5%
Plateado 10% Capacitor (Condensador)
Sin color 20% Es un componente que almacena
Tabla 2. Interpretacin de la cuarta energa en forma de campo elctri-
banda de color de las resistencias. co. Est formado por dos placas met-

252
www.FreeLibros.me
11_apendice a_robotica.qxp 24/10/2007 03:32 p.m. Pgina 253

La electrnica

licas separadas por un aislante conoci-


do como dielctrico. La unidad de
medida de su capacidad es el Faradio
(F) y sus submltiplos, como el Mili-
Faradio (1 mF = 1 F/1.000), el Mi-
croFaradio (1 uF = 1F / 1.000.000 =
10-6F), el NanoFaradio (1nF = 10-9F)
y el PicoFaradio (1 pF = 10-12F).
Adems de su capacidad, otra carac-
terstica fundamental es la mxima
tensin que soporta. Nunca debemos Figura 4. Capacitor electroltico y smbolo
conectar un capacitor a un voltaje su- electrnico del capacitor. Podemos ver la
perior porque puede explotar. marca de la patita que debe ir a tierra.
En los capacitores tambin encontra-
mos fijos y variables. Con respecto a En los capacitores cermicos (Figura 5),
los fijos, la diferencia entre ellos de- que son los ms pequeos, cuando la
pende del dielctrico que utilizan. No capacidad es menor a 1uF, se usa la uni-
vamos a entrar en detalles, pero las ca- dad picoFaradio (pF) y se expresa en el
ractersticas que difieren entre ellos por componente con el valor completo si es
el tipo de dielctrico son esencialmen- pequeo, o con una notacin de 3 n-
te la capacidad, la fuga, la resistencia a meros en caso contrario. Los dos pri-
los cambios de voltaje y la robustez. En meros representan su valor, y el tercero
particular, los capacitores electrolticos nos informa de un factor de multipli-
(Figura 4) son polarizados, y hay que cacin, como lo muestra la Tabla 4.
tener en cuenta cmo los conectamos
(dnde ponemos el positivo y dnde TERCER NMERO FACTOR DE MULTIPLICACIN

el negativo) porque una conexin in- 0 1


vertida los puede hacer explotar (tie- 1 10
nen una vlvula de seguridad que los 2 100
hace bullir en lugar de explotar, con 3 1000
esa imagen tan caracterstica de un ca- 4 10000
pacitor al que se le ha salido la tapa de 5 100000
la cabeza). Entre los capacitores varia- 8 0.01
bles podemos encontrar los girato- 9 0.1
rios, que se utilizan mucho en la sin- Tabla 4. Factor de multiplicacin
tona de radios, y los trimmers, que representado por el tercer nmero
permiten un ajuste muy fino. que aparece en un capacitor.

253
www.FreeLibros.me
11_apendice a_robotica.qxp 24/10/2007 03:32 p.m. Pgina 254

A. CONCEPTOS BSICOS DE ELECTRNICA

Luego de este nmero aparece una le- en una sola direccin (Figura 6). De-
tra que indica la tolerancia en por- bajo de cierta diferencia de potencial,
centaje, como vemos en la Tabla 5. no conduce. Si superamos ese um-
bral, lo hace con una resistencia muy
LETRA PORCENTAJE DE TOLERANCIA baja. Tambin se lo conoce como rec-
D +/- 0.5 pF tificador, dado que puede convertir
F +/- 1% una corriente alterna en continua.
G +/- 2%
H +/- 3%
J +/- 5%
K +/- 10%
M +/- 20%
P +100% ,-0%
Z +80%, -20%
Tabla 5. Tolerancia que representa
cada letra al final de los nmeros
que indican el valor del capacitor. Figura 6. Un diodo y su smbolo.

Demos algunos ejemplos. Si encon- Los primeros diodos fueron las vl-
tramos un capacitor con el nmero vulas de vaco, con aspecto similar al
104G, nos indica que tiene una capa-de una lmpara elctrica. Tienen un
cidad de 100.000 pF y una toleranciafilamento (el ctodo) por donde cir-
del +/- 2%. Si encontramos otro con cula la corriente que los calienta. Al
332, representa 3.300 pF, sin infor-ocurrir esto, comienzan a emitir elec-
macin de la tolerancia. trones al vaco que los rodea. Estos
electrones se dirigen hacia una placa
cargada positivamente (nodo), y se
Figura 5.
logra as el pasaje de corriente. Si el
En esta imagen
ctodo no se calienta, nada de esto
vemos un
funciona. Por ende, los circuitos que
capacitor
lo usan necesitan de un tiempo pa-
cermico.
ra aumentar la temperatura antes de
prestar su servicio. Por otra parte, en
el pasado se quemaban muy segui-
Diodo
do. Por suerte, los diodos han evo-
El diodo es un componente que per-
lucionado notablemente y ahora no
mite que el flujo de corriente vaya
presentan estas dificultades.

254
www.FreeLibros.me
11_apendice a_robotica.qxp 24/10/2007 03:32 p.m. Pgina 255

La electrnica

Existen diversos tipos de diodos. El emplazo del triodo (una vlvula de


led (Light Emmiting Diode, diodo tres patas con las mismas funciones
emisor de luz) es un diodo que emi- pero con los problemas que ya vimos
te luz monocromtica cuando la co- que presenta ese componente). El ms
rriente lo atraviesa. El color, curiosa- comn (y que nosotros usamos en
mente, no depende del plstico que nuestros circuitos) tiene tres patitas,
lo rodea sino del material empleado que se conocen como emisor, colec-
en la construccin del diodo. Los pri- tor y base. En forma simplificada, la
meros leds fueron infrarrojos y de co- corriente que aplicamos en el colector
lor rojo, naranja, amarillo y verde. sale amplificada en el emisor si es que
Hace poco tiempo se han logrado la base recibe corriente continua. Es
leds azules, con lo cual podemos cre- ms, la corriente que sale por el emi-
ar cualquier color con la combina- sor puede ser regulada por la corrien-
cin de rojo, verde y azul. El voltaje te que ingresa por la base. Estos tran-
de operacin de un led vara entre 1,5 sistores, que se conocen como bipo-
V y 2,2 V, la intensidad vara entre 10 lares, son los ms comunes y los po-
mA y 20 mA en los rojos, y entre 20 demos encontrar en dos variantes:
mA y 40 mA en los otros. NPN y PNP. La diferencia entre es-
tos dos modelos es la polaridad de sus
Transistor electrodos. En el primer caso, la base
El transitor es un componente semi- va a positivo y el emisor a negativo, y
conductor activo que se puede utili- es al revs en el otro caso, como po-
zar como amplificador, oscilador, demos ver en la Figura 7. Adems, en
rectificador o conmutador. Lo po- NPN, el colector debe ser ms positi-
demos encontrar en prcticamente el vo que la base y en PNP, ms negati-
100% de los productos electrnicos vo. La aparicin del transistor fue un
que nos rodean. Fue creado en los la- salto muy significativo para la electr-
boratorios de Bell en 1947 como re- nica digital, en reemplazo de las vl-

PNP PNP
Colector Colector
Base Base

Emisor Emisor

Figura 7. Un transistor y los smbolos para NPN


(en el que la flecha va hacia fuera) y PNP.

255
www.FreeLibros.me
11_apendice a_robotica.qxp 24/10/2007 03:32 p.m. Pgina 256

A. CONCEPTOS BSICOS DE ELECTRNICA

vulas de vaco y el surgimiento de apa- Herramientas fundamentales


ratos electrnicos de menor tamao, Ahora que ya hemos visto los com-
costo y temperatura. Luego, con el ponentes ms significativos de nues-
surgimiento de los integrados, estas tro proyecto, presentaremos una lis-
caractersticas se acentuaron an ms. ta de las herramientas que conside-
ramos imprescindibles para armar
Circuitos integrados nuestro pequeo taller de electrni-
Como bien dice su nombre, es un ca y as llevar a nuestros primeros ro-
circuito plasmado en una pequea bots a buen puerto.
pastilla de silicio con miles o millo-
nes de componentes, principalmen- Estao: recomendamos el que tiene
te diodos y transistores (Figura 8). almas de resina, en forma de alam-
Como ejemplo tenemos los micro- bre, de 0,8 mm de grosor, 60% de
procesadores, las memorias, los am- estao y 40% de plomo. Como se-
plificadores, los osciladores, etcte- guramente lo usaremos en gran can-
ra. A pesar de que existe un conjun- tidad, es mejor comprar un rollo (Fi-
to de barreras fsicas a la reduccin gura 9) que nos durar largo tiempo.
de tamao de los integrados, da a
da se mejoran los materiales y las
tcnicas de fabricacin, lo que per-
mite el crecimiento del nmero de
componentes del circuito. Su inven-
tor, Jack Kilby, recibi el premio
Nobel en el ao 2000, 42 aos des-
pus de la aparicin de su invento.
Figura 9. Rollo de estao.

Soldador: nos va a alcanzar con


un soldador de 35 a 40 W con una
punta de 2 a 3 mm. El tipo de sol-
dador ms econmico es el de l-
piz (Figura 10), que es suficiente pa-
ra nuestras primeras experiencias.
El nico problema que tiene es
que tarda en levantar temperatura,
Figura 8. Un circuito integrado pero slo nos consumir un po-
por dentro. quito de paciencia.

256
www.FreeLibros.me
11_apendice a_robotica.qxp 24/10/2007 03:32 p.m. Pgina 257

La electrnica

Figura 10. Soldador tipo lpiz. Figura 12. Desoldador de succin o vaco.

Soporte de soldador: si no quere- Morsita o pinzas para manos li-


mos dejar marcas en todas las mesas bres: cuando tenemos que soldar ne-
sobre las que trabajemos, el soporte cesitamos que las partes estn en una
de soldador (Figura 11) nos permitir posicin cmoda. Con alguno de es-
dejarlo en funcionamiento sin que- tos implementos podemos ubicarlas
mar la superficie donde lo apoye- en el aire y sin contactos molestos.
mos. No es imprescindible, pero se- Pinzas y alicates: permiten tomar
guro ser ms caro hacer una res- objetos para manipularlos con preci-
tauracin de la mesa. sin, doblar las patitas de los compo-
nentes, cortar y pelar cables, etctera.
Destornilladores: planos y philips,
nos permitirn ajustar potencime-
tros variables, borneras, separar inte-
grados de sus zcalos, etctera.
Tester: pieza fundamental de nuestro
taller, nos permitir medir la conti-
nuidad, la resistencia, la corriente y la
tensin de nuestro circuito (Figura 13).

Por ltimo, recomendamos buscar un


lugar cmodo para poder trabajar, don-
Figura 11. Soporte de soldador tpico. de podamos dejar nuestro proyecto a
medio terminar sin tener que guardar-
Desoldador: es un succionador de lo y sacarlo cada vez. Es necesario que
estao que nos permite, en forma seamos ordenados con nuestros com-
sencilla cuando queremos corregir o ponentes, y para ello podemos utilizar
desoldar un componente, aspirar r- diversas cajitas que nos permitan clasi-
pidamente el estao cuando se ablan- ficar los elementos para encontrarlos
da. En nuestros primeros fracasos con rapidez cuando los necesitemos.
cuando soldemos, se convertir en un Tener todos los componentes en un
aliado fundamental (Figura 12). frasco nos har perder mucho tiempo.

257
www.FreeLibros.me
11_apendice a_robotica.qxp 24/10/2007 03:32 p.m. Pgina 258

A. CONCEPTOS BSICOS DE ELECTRNICA

Figura 13. Tester digital.

Consejos para soldar punta del soldador. Cuando aplicamos


Para finalizar este apndice, daremos al- el estao, lo debemos hacer sobre la su-
gunos consejos tiles para soldar, dado perficie calentada y no sobre la punta
que todo error que cometamos en este del soldador. Una caracterstica que po-
punto har que detectar dnde se pro- demos usar para verificar la calidad de
duce la falla sea mucho ms complica- nuestra soldadura es su color: si su aca-
do. Adems, una soldadura mal hecha bado es brillante, es un buen signo. La
puede ocasionar problemas en el cir- unin mate nos indica una posible sol-
cuito en un momento inesperado. dadura fra. Otro problema habitual es
Uno de los errores ms habituales es el creer que el estao nos servir no slo
de la soldadura fra, que ocurre cuan- para la conduccin sino tambin para
do no aplicamos el calor en forma co- el sostn mecnico de la unin. Esto no
rrecta y el estao est soldado en forma es as. Es fcil de comprobar al ver c-
parcial y muy dbil. Para evitarlo, de- mo se comporta el material cuando lo
bemos usar un soldador con la poten- tenemos en el rollo: es blando y muy
cia adecuada para el tipo de estao que maleable. Por lo tanto, la unin mec-
utilicemos. Tambin el estao debe ser nica entre los componentes debe estar
el adecuado para las uniones que reali- dada por otros aspectos de la conexin.
cemos. Todas las superficies que una- El estao slo sirve para unir de forma
mos deben estar limpias, igual que la elctrica, pero no de forma mecnica.

258
www.FreeLibros.me
12_Apendice B_robotica.qxp 24/10/2007 03:33 p.m. Pgina 259

Robtica Apndice B
Sitios web
En este apartado conoceremos un

listado de los sitios que nos ayudarn

a encontrar informacin adicional

sobre cuestiones relacionadas con

la robtica. Adems, conoceremos

algunas aplicaciones que podemos

utilizar para ampliar nuestras

posibilidades de programacin.

Listado de sitios 260


SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com Aplicaciones tiles 267

www.FreeLibros.me
12_Apendice B_robotica.qxp 24/10/2007 03:33 p.m. Pgina 260

B. SITIOS WEB

LISTADO DE SITIOS
Pablin
www.pablin.com.ar

Un buen lugar para profundizar aquellos aspectos vinculados a la electrnica que


no hayamos comprendido de nuestro robot. Tiene cursos de programacin y pla-
nos de circuitos que podemos fabricar para usar en nuestra creacin.

RobotIA
www.robotia.com.ar

Sitio desarrollado por Nstor Balich, uno de los colaboradores de este libro. Pre-
senta videos, noticias y proyectos de robtica autnoma y controlada. Tiene in-
formacin de los equipos del CAETI que participan en campeonatos de ftbol.

260
www.FreeLibros.me
12_Apendice B_robotica.qxp 24/10/2007 03:33 p.m. Pgina 261

Listado de sitios

Curso bsico de electrnica


www.electronica2000.net

Si nuestros conocimientos de electrnica son muy bsicos, en este sitio po-


demos encontrar un buen tutorial que nos ayudar a esclarecer el mgico
funcionamiento de nuestros circuitos. Comienza con conceptos funda-
mentales y recorre una amplia gama de temas electrnicos.

FIRA
www.fira.net

FIRA (Federation of International Robosoccer Association) es una de las


dos ligas internacionales sobre ftbol de robots. En su sitio podemos en-
contrar el reglamento de todas las categoras, los programas de simulacin,
y noticias y videos de todos los torneos que se llevan a cabo.

261
www.FreeLibros.me
12_Apendice B_robotica.qxp 24/10/2007 03:33 p.m. Pgina 262

B. SITIOS WEB

RoboCup
www.robocup.org

sta es la otra liga internacional de ftbol de robots, que incluye competencias


de rescate. En su sitio podemos ver imgenes y videos de las competencias, en-
terarnos de las ltimas novedades y conocer los sitios de los participantes.

Carnegie Mellon The Robotics Institute


www.ri.cmu.edu

A nuestro humilde entender, el centro de robtica ms importante del pla-


neta en todos los niveles. A pesar de que el MIT tiene grandes desarrollos
en software, con respecto al hardware estos muchachos nos hacen sacar el
sombrero. En este sitio podemos encontrar miles de artculos y enlaces pa-
ra divertirnos por el resto de nuestras vidas.

262
www.FreeLibros.me
12_Apendice B_robotica.qxp 24/10/2007 03:33 p.m. Pgina 263

Listado de sitios

Robots en Argentina
http://robots-argentina.com.ar

Un espacio lleno de noticias, artculos, enlaces, desarrollos y otros mate-


riales sobre robtica coordinado por Eduardo J. Carletti. Podemos encon-
trar informacin de sensores, actuadores, circuitos, bateras, controladores
y todo lo que necesitemos para construir nuestros robots.

Microchip
www.microchip.com

La cuna de nuestro querido PIC16F84 y todos sus primos y hermanos. Aqu


encontraremos todas las hojas de datos, descripciones, comparaciones, bench-
marks y dems sobre la lnea de micros de esta empresa. Si queremos fami-
liarizarnos con estos productos, no podemos dejar de visitar este sitio.

263
www.FreeLibros.me
12_Apendice B_robotica.qxp 24/10/2007 03:34 p.m. Pgina 264

B. SITIOS WEB

Atmel
www.atmel.com

Y si nombramos a Microchip, no podemos dejar de lado a su empresa com-


petidora, los micros de Atmel. De la misma manera, en este sitio podemos
encontrar toda la informacin sobre los micros que algunos prefieren por
sobre los PICs por sus cualidades y buen precio.

FIRST
www.usfirst.org

Sitio de la competencia FIRST (For Inspiration and Recognition of Science and


Technology). Esta liga incluye diversas categoras de robtica inspiradas en pro-
blemas cientficos concretos. Incluye la FLL, First Lego League, orientada a j-
venes de 9 a 14 aos que compiten con los robots de Lego.

264
www.FreeLibros.me
12_Apendice B_robotica.qxp 24/10/2007 03:34 p.m. Pgina 265

Listado de sitios

Laboratorio de robtica del MIT


http://robots.mit.edu

El MIT tampoco es un mal lugar para investigar sobre estos temas. En este
sitio especfico encontraremos los detalles de todos sus proyectos de robots es-
paciales, mviles y otros. La lista de artculos presentados es notable, y algu-
nos de ellos estn disponibles para nuestra lectura.

Grupo de Investigacin en Robtica Autnoma de la UAI


www.caeti.uai.edu.ar/gidra/

ste es nuestro grupo de robtica del Centro de Altos Estudios de la UAI. All
investigamos sobre robtica situada, y aplicamos estos estudios a ftbol de ro-
bots, de rescate y otros. Tambin nos preocupa la insercin de la robtica en la
educacin y para ello trabajamos mucho en ambientes educativos.

265
www.FreeLibros.me
12_Apendice B_robotica.qxp 24/10/2007 03:34 p.m. Pgina 266

B. SITIOS WEB

Robocup en el Instituto Tecnolgico de Monterrey


www.cem.itesm.mx/robocup/

El ITESM ha participado asiduamente de la RoboCup. En este sitio pode-


mos encontrar informacin sobre los diversos equipos participantes, cdigos
fuentes para comenzar a trabajar, videos, reglamentos y muchas cosas ms pa-
ra empezar a soar con la posibilidad de participar en la liga.

Wowwee
www.wowwee.com

El mayor creador y fabricante de robots de produccin masiva. Creadores


del Robosapiens, Flytech y otros robots que parecen de juguete pero que
permiten desarrollar muchsimas investigaciones con los aspectos mecni-
cos y electrnicos solucionados.

266
www.FreeLibros.me
12_Apendice B_robotica.qxp 24/10/2007 03:34 p.m. Pgina 267

Aplicaciones tiles

APLICACIONES TILES
Microsoft Robotics Studio
http://msdn.microsoft.com/robotics/

Entorno de robtica basado en Windows para desarrollos acadmicos, hobbistas


y comerciales. Permite vincularse con diversas plataformas de hardware y cuen-
ta con un motor de simulacin basado en fsica muy potente.

Proyecto Rossum
http://rossum.sourceforge.net/

Rossum es un proyecto para el desarrollo open source de plataformas de


software para robtica. Ya est en funcionamiento un simulador donde po-
demos poner en prctica nuestros conocimientos.

267
www.FreeLibros.me
12_Apendice B_robotica.qxp 24/10/2007 03:34 p.m. Pgina 268

B. SITIOS WEB

Webots
www.cyberbotics.com

Webots es el software comercial ms popular de prototipacin y simulacin


de robots mviles. Puede vincularse con diversas plataformas de hardware, de
manera tal que al finalizar la simulacin podamos bajar el cdigo al robot re-
al. Tiene modelado a Aibo, Qrio y otros robots de amplia fama internacional.

CCS
www.ccsinfo.com

Si el Basic no nos alcanza, aqu podemos encontrar diversos compiladores


para PIC. Tenemos versiones para los micros ms importantes de Micro-
chip. En todos los casos, estn basados en el lenguaje C. Podemos usarlos
en lnea o con una IDE en Windows muy potente.

268
www.FreeLibros.me
13_Apendice C_robotica.qxp 24/10/2007 03:49 p.m. Pgina 269

Robtica

Servicios
al lector
En este ltimo apartado conoceremos

el listado de publicaciones que nos

ayudaron a obtener conocimientos

y que, sin dudas, sern de utilidad para

continuar con nuestro aprendizaje.

Bibliografa 270
Indice temtico 275
Equivalencia de trminos 277
Abreviaturas comnmente
SERVICIO DE ATENCIN AL LECTOR: lectores@redusers.com utilizadas 279

www.FreeLibros.me
13_Apendice C_robotica.qxp 24/10/2007 03:49 p.m. Pgina 270

SERVICIOS AL LECTOR

BIBLIOGRAFA
General
Santos, J. y Duro, R. (2004). Evolucin Artificial y Robtica Autnoma.
Coedicin: Alfaomega-Rama.
Meystel, A. (1991). Autonomous Mobile Robots. Vehicles with Cognitive
Control. Singapore: World Scientific.
Connell, J. H. (1990). Minimalist Mobile Robotics: A Colony-style
Architecture for a Mobile Robot. Cambridge: Academic Press.
Barrientos, A. y otros. (1997). Fundamentos de Robtica. Mc Graw Hill.
Angulo Usategui, J. M. (1999). Robtica Prctica. Madrid: Paraninfo.
Ollero Baturone, A. (2001). Robtica: Manipuladores y robots mviles.
Espaa: Marcombo.
Angulo J. M., Romero Yesa S. y Angulo Martnez I. (2002). Microbtica.
Tecnologa, aplicaciones y montaje prctico. Madrid: Thomson - Paraninfo.
Torres Medina F., Gil P., Pomares J. y Puente S. (2002).
Robots y sistemas sensoriales. Prentice Hall.
Artculos diversos de Wikipedia.

Captulo 1
Zabala, G. y Mon, G. (2005, mayo). Introduccin a la robtica.
Revista Power Users #20.
Zabala, G. y Mon, G. (2005, junio). Primeros pasos en Robtica Autnoma.
Revista Power Users #21.
Zabala, G. y Mon, G. (2005, julio). Kit Lego Mindstorms.
Revista Power Users #22.
Zabala, G. y Mon, G. (2005, agosto). Basic Stamp.
Revista Power Users #23.
Zabala, G. y Mon, G. (2005, octubre). Kits Latinoamericanos.
Revista Power Users #25.

270
www.FreeLibros.me
13_Apendice C_robotica.qxp 24/10/2007 03:49 p.m. Pgina 271

Bibliografa

Zabala, G. y Mon, G. (2005, noviembre). Kit BlockyTronic


y Fischer Technik. Revista Power Users #26.
Zabala, G. y Mon, G. (2006, enero). Robtica sin kits (I).
Revista Power Users #28.
Zabala, G. y Mon, G. (2006, marzo). Robtica sin kits (II).
Revista Power Users #30.
Ramos, J., Gonzlez Florentino, R. y Melndez S. Clasificacin de los robots.
Consultado el 21 de enero de 2007, Robotec Tecnologa Robtica, pgina
web: http://robotec11.tripod.com/id4.html.

Captulo 2
Lindsay, A. (2004). Robotics with the Boe-Bot. California: Parallax.
Gonzlez Gmez, J. y Prieto-Moreno Torres, A. (2004, noviembre).
Robtica en la Universidad. Madrid: Universidad Autnoma de Madrid.
Lindsay, A. (2004). Whats a Microcontroller. Rocklin, California: Parallax.

Captulo 3
Zabala, G., Mon, G. y Balich, N. (2006, abril).
Astro: construyendo nuestro primer robot (I). Revista Power Users #31.
Zabala, G., Mon, G. y Balich, N. (2006, mayo).
Astro: construyendo nuestro primer robot (II). Revista Power Users #32.
Zabala, G., Mon, G. y Balich, N. (2006, junio).
Astro: construyendo nuestro primer robot (III). Revista Power Users #33.
Microchip (2005). Datasheet PIC16F87/88. Chandler, Arizona: Microchip.

Captulo 4
Upadhye, R. S. (2004, abril). Selection of Batteries and Fuel Cells
for Yucca Mountain Robots. 10th International Conference on Robotics
and Remote Systems For Hazardous Environments. Gainesville, FL:
American Nuclear Society.

271
www.FreeLibros.me
13_Apendice C_robotica.qxp 24/10/2007 03:49 p.m. Pgina 272

SERVICIOS AL LECTOR

Young, J. y Bennett, J. (2000). Elec 201: Course Notes. Batteries.


Houston, Texas: Rice University. Obtenido el 14 de abril de 2007 de
www.owlnet.rice.edu/~elec201/Course_Notes.htm#contents.
MIT 6.270 book. (1997). Obtenido el 14 de abril de 2007
de http://mil.ufl.edu/imdl/6270/DEFAULT.HTM.

Captulo 5
MikroElektronika (2006). Manual del usuario de mikroBasic.
Belgrado: mikroElektronika.

Captulo 6
Wikipedia. Motor de corriente continua. Obtenido el 2 de junio de 2007
de http://es.wikipedia.org/wiki/Motor_de_corriente_continua.
Motor de corriente continua C.C. Obtenido el 2 de junio de 2007
de www.unicrom.com/Tut_MotorCC.asp.
Motor de corriente continua. Obtenido el 2 de junio de 2007
de http://personales.com/peru/arequipa/compupari/.
Rueda, L. Secuencia para Motores-PaP Unipolares.
Obtenido el 4 de junio de 2007
de http://r-luis.xbot.es/ebasica2/mpap_03.html.
Tutorial sobre motores paso a paso. Obtenido el 4 de junio de 2007
de www.todorobot.com.ar/informacion/tutorial%20stepper/
stepper-tutorial.htm.
Cubas Garca, A. Introduccin a los motores paso a paso. Obtenido el 4
de junio de 2007 de www.redeya.com/electronica/tutoriales/
mpp/mpp.htm.
Teora del funcionamiento de los servomotores. Obtenido el 4 de junio
de 2007 de www.todorobot.com.ar/documentos/servomotor.pdf.
Balias Santos, J. (2006). Trucaje de Servomotores Futaba 3003. Seminario
de diseo y construccin de microrrobots. Universidad de Alcal.
Fernndez, J. (2006). Qu es un servomotor?. Obtenido el 4 de junio
de 2007 de www.zonabot.com/actuadores/que-es-un-servomotor-.html.

272
www.FreeLibros.me
13_Apendice C_robotica.qxp 24/10/2007 03:49 p.m. Pgina 273

Bibliografa

Captulo 7
Abad Cartn, G. (2006). Sensores en robtica. Seminario de diseo
y construccin de microrrobots. Universidad de Alcal.
Microchip (1998). Datasheet PIC16F84A. Chandler, Arizona: Microchip.
Lpez, G. y Margni, S. (2003). Motores y Sensores en Robtica.
Proyecto de grado de la Facultad de Ingeniera de la Universidad
de la Repblica Oriental del Uruguay.
Zabala, G., Mon, G. y Balich, N. (2006, junio). Astro: construyendo
nuestro primer robot (III). Revista Power Users #33.
Manuel Fernando Campos Cerda, M. F., Castaeda Prez R.
y Contreras Torres A. C. (1998). Implementacin de un sistema
de desarrollo utilizando los microcontroladores PIC Microchip Technology.
Universidad de Guadalajara.

Captulo 8
Lober, J. A. V. (2003). Tcnicas de inteligencia artificial en la construccin
de robots mviles autnomos. Trabajo de grado. Facultad de Ciencias
de la Universidad de Salamanca.
Martin, F. (1995). El arte del diseo con Lego. Documento interno
de Lego con traduccin del Ing. Hazel Daz.
Carreras, M., Hospital, E., Salellas, J. y Batlle, J. (2000). Arquitectura
mecnica de un prototipo de robot bpedo. Comunicacin de un proyecto
de investigacin de la Universidad de Girona.
Arango Saveedra A., Satizbal Meja, H. F. y Loaiza Correa, H. (2004)
Diseo e implementacin de un robot mvil hexpodo.
Universidad del Valle, Colombia.
Sucar, L. E. Robtica Mvil: Arquitecturas. Presentacin
para el Departamento de Computacin del ITESM Cuernavaca.
Gonzlez Gmez, J. (2004). Diseo de robots podos: Cube revolutions.
Escuela Politcnica Superior de la Universidad Autnoma de Madrid.
Presentacin en la Semana de la Ciencia Andaluza.

273
www.FreeLibros.me
13_Apendice C_robotica.qxp 24/10/2007 03:49 p.m. Pgina 274

SERVICIOS AL LECTOR

Ruiz del Solar, J., Zagal, J. C. Documentacin de la materia EL710


Robtica Mvil. Universidad de Chile. Obtenida el 24 de junio
de http://robotica.li2.uchile.cl/el710/.

Captulo 9
Zabala, G. (2004, julio). Roboliga - Publicacin del artculo presentado
en el 14 Encuentro de Actualizacin Docente.
En Revista Novedades Educativas.
Remiro, F. Microcontroladores: las interrupciones. Obtenido el 30 de julio
de 2007 de www.terra.es/personal/fremiro/interrupciones.htm.

Captulo 10
Martins da Silva Aparicio, P. M. (2000). Design and implementation of
a population of cooperative autonomous robots. Tesis de grado.
Universidad Tcnica de Lisboa.
Zabala, G. (2004, noviembre). Programacin en Ftbol de Robots.
Revista .Code #7.
Sotelo Iniesta, E. D. (2006). Diseo e implementacin de los robots F180
del ITAM. Tesis de grado. Instituto Tecnolgico Autnomo de Mxico.

Apndice A
Gonzlez Romero N. (2005). Manual de soldadura. Universidad
Politcnica de Madrid. Documento presentado en Cybertech 2005.
Bodington, C. (2007). Lectura de capacitores. Obtenido el 14
de septiembre de 2007 de
www.conexionelectronica.com/content/view/23/29/.
Palazzesi, A. (2007). Herramientas necesarias para el taller del hobbista
de la electrnica. Obtenido el 14 de septiembre de 2007
de www.ucontrol.com.ar.

274
www.FreeLibros.me
13_Apendice C_robotica.qxp 24/10/2007 03:49 p.m. Pgina 275

ndice temtico

NDICE TEMTICO
A Diodo 254
Actuadores 23, 39 Display 23, 41
Acuticos 21, 174
Areos 21, 173 E
Alcance 111 EEPROM 28, 65
Analgico 35, 64, 158 Efecto hall 156
Arreglo 114 Electricidad 248
Assembler 97, 107, 118 Encoder 23, 196
Autnomos 22 Engranajes 190
Estator 40
B
Bateras 79, 169 F
Bipolar 41, 137 Final de carrera 53
Bootloader 67, 96 Firmware 24, 26
Bumpers 63, 153 Fotorresistencia 35, 55
Buzzers 23 Funciones 102

C H
Campo magntico 127 Hbridos 21, 22
Capacitor 252 Holonmica 195
Cargador 87
CCP 65 I
Cianocrilato 57 ICSP 66, 74
Cinemtica 194 Industriales 19
Circuitos intermedios 34 Infrarrojo 37, 55, 154
Cdigo fuente 100 Interrupciones 206
Comparador 66
Compilador 96, 98 K
Control automatizado 22 Kits 24
Controlador 64, 157, 169
Corriente continua 39, 127, 249 L
LDR 55, 162
D Leds 23
Depurador 103, 105 Lego 26, 56
Digital 35, 152 Litio 82

275
www.FreeLibros.me
13_Apendice C_robotica.qxp 24/10/2007 03:49 p.m. Pgina 276

SERVICIOS AL LECTOR

M Puente H 67, 129


MDF 57 PVC 57
Memoria 65 PWM 42, 65, 131, 141
Metacrilato 58
MicroBasic 95, 98 R
Microcontrolador 30, 48, 64 RAM 65
Micromotor 134 Recargar 87
Motor 23, 25, 39, 126, 172 Resistencia 251
Motorreductores 50, 134 Reusabilidad 25, 56
Rotor 40, 136
N
Nquel 81, 83 S
Sensor 23, 25, 33, 53, 64, 148, 171, 203
O Sentencias 117
Odometra 196 Servo 140
Omnidireccional 51, 182, 224 Servomotor 41
Operadores 116 Soldar 258

P T
Palm 31 Tensin 250
Paso a paso 40, 135 Terrestres 21, 174
PDA 31 Timer 65
PFM 132 Tokens 108
PIC 49 Torque 127
Pinout 67 Traccin diferencial 51, 185, 224
Pipelined 50 Transistor 255
Placa experimental 71
Plantillas 102 U
Plomo 84 Ultrasonido 37
Pocket PC 31 Unipolar 41, 137
Poleas 193 USART 65
Portapilas 86
Potencimetro 163 V
Procesador 24 Variables 108, 112
Procesamiento 23 Visibilidad 112
Programador 71, 96 Vitrificacin 79
Protoboard 28, 69 Voltaje nominal 79

276
www.FreeLibros.me
13_Apendice C_robotica.qxp 24/10/2007 03:49 p.m. Pgina 277

Equivalencia de trminos

EQUIVALENCIA DE TRMINOS

En este libro Otras formas En ingls
Acceso dial up Acceso de marcacin
Actualizacin Update, Upgrade
Actualizar Refresh
Ancho de banda Bandwidth
Archivos Filas, Ficheros, Archivos electrnicos Files
Archivos adjuntos Archivos anexados o anexos Attach, Attachment
Backup Copia de respaldo, Copia de seguridad
Balde de pintura Bote de pintura
Base de datos Database
Booteo Inicio/Arranque Boot
Buscador Search engine
Captura de pantalla Snapshot
Carpeta Folder
Casilla de correo Buzn de correo
CD-ROM Disco compacto Compact disk
Chequear Checar, Verificar, Revisar Check
Chip Pastilla
Cibercaf Caf de Internet
Clipboard Portapapeles
Cliquear Pinchar
Colgar Trabar Tilt
Controlador Adaptador Driver
Correo electrnico E-Mail,
Electronic Mail, Mail
Descargar programas Bajar programas, Telecargar programas Download
Desfragmentar Defrag
Destornillador Desarmador
Disco de inicio Disco de arranque Startup disk
Disco rgido Disco duro, Disco fijo Hard disk
Disquete Disco flexible Floppy drive
Firewall Cortafuego
Formatear Format
Fuente Font
Gabinete Chasis, Cubierta
Grabadora de CD Quemadora de CD CD Burn
Grupo de noticias Newsgroup

277
www.FreeLibros.me
13_Apendice C_robotica.qxp 24/10/2007 03:49 p.m. Pgina 278

SERVICIOS AL LECTOR


En este libro Otras formas En ingls
Handheld Computadora de mano
Hipertexto HyperText
Hospedaje de sitios Alojamiento de sitios Hosting
Hub Concentrador
Impresora Printer
Inalmbrico Wireless
Libro electrnico E-Book
Lista de correo Lista de distribucin Mailing list
Motherboard Placa madre, Placa base
Mouse Ratn
Navegador Browser
Notebook Computadora de mano,
Computadora porttil
Offline Fuera de lnea
Online En lnea
Pgina de inicio Home page
Panel de control Control panel
Parlantes Bocinas, Altavoces
PC Computador, Ordenador, Computadora Personal Computer
Personal, Equipo de cmputo
Pestaa Ficha, Solapa
Pila Batera Battery
Placa de sonido Soundboard
Plug & Play Enchufar y usar
Por defecto Por predefinicin By default
Programas Aplicacin, Utilitarios Software, Applications
Protector de pantalla Screensaver
Proveedor de acceso Internet Service
a Internet Provider
Puente Bridge
Puerto Serial Serial Port
Ranura Slot
Red Net, Network
Servidor Server
Sistema operativo SO Operating System (OS)
Sitio web Site
Tarjeta de video Placa de video
Tipear Teclear, Escribir, Ingresar, Digitar
Vnculo Liga, Enlace, Hipervnculo, Hiperenlace Link

278
www.FreeLibros.me
13_Apendice C_robotica.qxp 24/10/2007 03:49 p.m. Pgina 279

Abreviaturas comnmente utilizadas

ABREVIATURAS COMNMENTE UTILIZADAS



Abreviatura Definicin
ADSL Asymmetric Digital Subscriber Line o Lnea de abonado digital asimtrica
AGP Accelerated Graphic Port o Puerto acelerado para grficos
ANSI American National Standards Institute
ASCII American Standard Code of Information Interchange
o Cdigo americano estndar para el intercambio de informacin
BASIC Beginners All-Purpose Symbolic Instruction Code
BIOS Basic Input/Output System
Bit Binary digit (Dgito binario)
Bps Bits por segundo
CD Compact Disk
CGI Common Gateway Interface
CPU Central Processing Unit o Unidad central de proceso
CRC Cyclic Redundancy Checking
DNS Domain Name System o Sistema de nombres de dominios
DPI Dots per inch o puntos por pulgada
DVD Digital Versatile Disc
FTP File Transfer Protocol o Protocolo de transferencia de archivos
GB Gigabyte
HTML HyperText Mark-up Language
HTTP HyperText Transfer Protocol
IDE Integrated Device Electronic
IEEE Institute of Electrical and Electronics Engineers
IP Internet Protocol
IR Infra Red
IRC Internet Relay Chat
IRQ Interrupt Request Line o Lnea de peticin de interrupcin
ISO International Organization Standard u Organizacin de Estndares
Internacionales
ISP Internet Service Provider o Proveedor de acceso a Internet
KB Kilobyte
LAN Local Area Network o Red de rea local
LCD Liquid Crystal Display o Pantalla de cristal lquido
LPT Line Print Terminal
MB Megabyte
MBR Master Boot Record
MHz Megahertz

279
www.FreeLibros.me
13_Apendice C_robotica.qxp 24/10/2007 03:49 p.m. Pgina 280

SERVICIOS AL LECTOR


Abreviatura Definicin
NETBEUI Network Basic Extended User Interface o Interfaz de usuario extendida NETBios
OEM Original Equipment Manufacturer
OS Operative System
OSI Open Systems Interconnection o Interconexin de sistemas abiertos
PCMCIA Personal Computer Memory Card International Association
PDA Personal Digital Assistant
PDF Portable Document Format
Perl Practical Extraction and Report Language
PGP Pretty Good Privacy
PHP Personal Home Page Tools, ahora llamado PHP Hypertext Preprocessor
POP3 Post Office Protocol 3 o versin 3 del Protocolo de oficina de correo
PPP Point to Point Protocol o Protocolo punto a punto
RAM Random Access Memory
ROM Read Only Memory
SMTP Simple Mail Transport Protocol o Protocolo simple
de transferencia de correo
SPX/IPX Sequence Packet eXchange/Internetwork Packet eXchange o Intercambio
de paquetes secuenciales/Intercambio de paquetes entre redes
SQL Structured Query Language
SSL Secure Socket Layer
TCP/IP Transfer Control Protocol / Internet Protocol o Protocolo de control de
transferencia / Protocolo de Internet
UML Lenguaje de Modelado Unificado
UDP User Datagram Protocol
UPS Uninterruptible Power Supply
URL Uniform Resource Locator
USB Universal Serial Bus
VGA Video Graphic Array
WAN Wide Area Network o Red de rea extensa
WAP Wireless Application Protocol
WWW World Wide Web
XML Extensible Markup Language

280
www.FreeLibros.me

Das könnte Ihnen auch gefallen