Documentos de Académico
Documentos de Profesional
Documentos de Cultura
qxp
16/11/2009
12:51
Pgina 1
CONVIE
RTA SU
PASI
EN REA N
LIDAD!
CONTENIDO
1 | INTRODUCCIN
Qu es un robot? Cundo conviviremos con ellos?
Tendremos diversos tipos de robots entre nosotros?
Lavarn los platos? En este primer captulo
intentaremos responder stas y otras preguntas.
cia ficcin y las nuevas tecnologas, cada uno de los temas es desarrollado desde
un robot y cada uno de los pasos por seguir para armarlo y programarlo a nuestro gusto. Destinado a entusiastas y aficionados de la cien-
cero, y con la mayor claridad y profundidad. Su autor, coordinador del campeonato argentino de Ftbol de Robots y miembro del Consejo Latinoamericano de
RoboCup y Cochair de la FIRA, vuelca en este libro su vasta experiencia.
NIVEL
EXPERTO
ROBOTICA
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
AVANZADO
Gua Terica
y Prctica
7 | ADAPTACIN AL ENTORNO
Sensores analgicos y digitales | Tipos y caractersticas
8 | EL CUERPO DEL ROBOT
Caractersticas de un robot autnomo | Robots areos |
Robots subacuticos | Robots terrestres | Sistemas con
ruedas | El montaje de los elementos | Mecanismos de
transmisin y reduccin | Cinemtica | Odometra
9 | SALIR AL RUEDO
Presentarnos a competir | Problemas frecuentes |
Pruebas tradicionales
10 | FTBOL DE ROBOTS
Arquitectura y navegacin de los robots | Sensado y
deteccin del ambiente | Comportamiento colaborativo
| Ligas nacionales e internacionales
APNDICE | LA ELECTRNICA
PRINCIPIANTE
redusers.com
En este sitio encontrar una gran variedad de recursos y software relacionado,
que le servirn como complemento al contenido del libro.
Adems, tendr la posibilidad de estar en contacto con los editores, y de participar del foro de lectores, en donde podr intercambiar opiniones y experiencias.
ROBOTICS
This science is no longer part of a distant future, it is a part
of a very real and concrete present. This manual offers the
fundamentals to be a member of this new reality through
practical projects and by learning the theory behind them.
INTERMEDIO
6 | RECORRER EL MUNDO
El movimiento de los robots | Motor de corriente
continua | Motor paso a paso | Servos
EL MONTAJE DE LA PIEZAS
Las partes que componen un robot
Los pasos para ensamblarlas
LA INTELIGENCIA
Trabajar con microcontroladores
Lenguajes de programacin
ROBOTS AUTNOMOS
Utilizacin de sensores
Mecanismos para generar movimiento
Gonzalo Zabala
Untitled-3 1
06/11/2009 16:10:43
Av_Pag01
10/23/07
11:04 PM
Page 1
usershop.redusers.com
Nuestros libros incluyen guas visuales, explicaciones paso a paso, recuadros complementarios, ejercicios,
glosarios, atajos de teclado y todos los elementos necesarios para asegurar un aprendizaje exitoso y estar
conectado con el mundo de la tecnologa.
ARGENTINA
(011)4110-8700
CHILE
(2)810-7400
ESPAA
(93)635-4120
MXICO
(55)5350-3099
00_robotica.qxp
18/11/2009
10:52
TTULO:
ROBTICA
AUTOR:
Gonzalo Zabala
COLECCIN:
USERS Express
FORMATO:
22 x 15,5 cm
PGINAS:
288
Pgina 2
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 fotocopias, 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 responsabilidad alguna por cualquier consecuencia derivada de la fabricacin, funcionamiento 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 dueos. Impreso en Argentina. Libro de edicin argentina. Primera impresin realizada
en Sevagraf, Costa Rica 5226, Grand Bourg, Malvinas Argentinas, Pcia. de Buenos Aires 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
00_robotica.qxp
24/10/2007
01:57 p.m.
Pgina 3
00_robotica.qxp
24/10/2007
01:57 p.m.
Pgina 4
PRELIMINARES
Gonzalo Zabala
Profesor de Enseanza Primaria (Normal No. 1) y Licenciado 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 muchos aos como docente de diversas ramas de la informtica,
y a fines del siglo pasado comenz a usar robots para la enseanza 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 Argentina. En 2004 ingres en el Centro de Investigaciones de la Facultad 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 internacional en competencias de robtica, y obtuvieron excelentes
resultados en ftbol de robots y pruebas de rescate. Actualmente, contina en el Centro de Investigaciones y es representante de Argentina de la RoboCup Junior, director tcnico y pedaggico del proyecto Lego Education en el pas, coordinador del Campeonato Argentino de Ftbol de Robots,
miembro del Consejo Latinoamericano de RoboCup y Cochair de la categora SimuroSot de la FIRA.
Dedicatoria
A Laura y Gastn, porque sus constantes preguntas me hacen 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 maravilloso mundo de la robtica. Y porque disfruta de todo esto ms que cualquiera de nosotros.
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 alma, que soport abandonos familiares y responsabilidades extras para dejarme 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.
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 siguientes 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 simplemente 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 fascculos con destino incierto.
Aunque este libro les ser de utilidad a los tres primeros grupos, seguramente 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 sencillo y de bajo costo, que permita realizar tareas simples en forma autnoma. Para ello, presentaremos todos los aspectos esenciales que conforman
la arquitectura de un robot, inclusive ms all de los que necesitaremos para 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 conocimiento bsico (muy bsico) de programacin para poder definir el comportamiento del robot. Para este fin, hemos elegido un lenguaje tan sencillo como el Basic, pero dado que no es un libro de programacin, le dedicaremos pocos captulos a este aspecto. El uso de estructuras de decisin,
de ciclos de repeticin y el manejo de variables sencillas es el requerimiento para poder comprender los algoritmos presentados sin problemas.
Tambin es bueno tener una base de electrnica, aunque no es imprescindible. De hecho, si no tiene ningn conocimiento en este campo, probable6
00_robotica.qxp
24/10/2007
01:57 p.m.
Pgina 7
Prlogo
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 profundamente los conceptos que entran en juego. En los siguientes captulos estudiaremos paso a paso los elementos necesarios para llevar a cabo esta tarea con xito.
Captulo 1
Captulo 4
CONCEPTOS FUNDAMENTALES
COMIDA DE ROBOTS
Captulo 5
Captulo 2
Captulo 6
RECORRER EL MUNDO
Captulo 3
bot por la parte ms delicada: el controlador, que es el director de todo lo que realiza
Captulo 7
SENSAR EL MUNDO
00_robotica.qxp
24/10/2007
01:57 p.m.
Pgina 9
El libro de un vistazo
Captulo 8
Apndice A
Captulo 9
Apndice B
SALIR AL RUEDO
SITIOS WEB
pruebas de robots autnomos y los problemas que hay que enfrentar para superarlas.
Servicios al lector
BIBLIOGRAFA
Captulo 10
JUGAR AL FTBOL
INFORMACIN COMPLEMENTARIA
A lo largo de este manual encontrar una serie de recuadros que le brindarn informacin complementaria: curiosidades, trucos, ideas y consejos sobre los temas tratados. Cada recuadro est identificado con uno de los siguientes iconos:
CURIOSIDADES
E IDEAS
ATENCIN
DATOS TILES
Y NOVEDADES
SITIOS WEB
00_robotica.qxp
24/10/2007
01:57 p.m.
Pgina 10
PRELIMINARES
Contenido
Sobre el autor
Agradecimientos
Tipo de procesamiento
Prlogo
seleccionado
El libro de un vistazo
Introduccin
14
a nuestro robot?
47
48
50
Captulo 1
CONCEPTOS FUNDAMENTALES
Introduccin a la robtica
53
55
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
63
64
El microcontrolador,
cerebro del cerebro
64
Conceptos fundamentales
de un PIC
65
66
67
Captulo 2
futuro robot
10
46
de los motores
67
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
69
MikroBasic
98
Placa experimental
71
El programador
71
de mikroBasic
100
71
Explorador de cdigo
103
Resumen
Nuestro programador
75
Depurador
103
Actividades
76
Manos a la obra
106
108
110
Alcance y visibilidad
111
112
Estructuras
115
Operadores
116
Sentencias
117
Resumen
123
Actividades
124
Captulo 4
COMIDA DE ROBOTS
La fuente de energa
78
79
Tipos de bateras
81
86
Cargadores
87
89
Captulo 6
Resumen
91
RECORRER EL MUNDO
Actividades
92
Captulo 5
HABLAR CON NUESTRO ROBOT
Comunicacin con el robot
126
127
Lenguajes de programacin
para robots
126
Tipos de motores
95
Servos
140
Resumen
145
Actividades
146
11
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
179
184
Mecanismos de transmisin
y reduccin
Captulo 7
SENSAR EL MUNDO
Adaptacin al entorno
148
Tipos de sensores
148
190
Cinemtica de un robot
194
Odometra
196
Resumen
197
Actividades
198
Caractersticas esenciales
de los sensores
149
Sensores digitales
152
158
162
Resumen
165
Actividades
166
Captulo 8
Captulo 9
12
SALIR AL RUEDO
168
Presentarse a competir
200
00_robotica.qxp
24/10/2007
01:57 p.m.
Pgina 13
Contenido
Apndice A
200
Pruebas tradicionales
248
210
Conceptos de electricidad
213
248
Resumen
219
en nuestros circuitos
251
Actividades
220
Herramientas fundamentales
256
258
Captulo 10
JUGAR AL FTBOL
Ftbol de robots
222
SITIOS WEB
222
Apndice B
Listado de sitios
260
Aplicaciones tiles
267
232
Modificaciones para
que nuestro robot pueda jugar
Una pelota infrarroja
242
244
Resumen
245
Actividades
246
Servicios al lector
Bibliografa
270
Indice temtico
275
Equivalencia de trminos
277
Abreviaturas comnmente
utilizadas
279
13
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 inevitable que as sea. Desde los lavarropas hasta los vehculos espaciales utilizan tecnologas muy vinculadas con la disciplina. Seguramente, comenzaron con investigaciones 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 investigacin 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 concreto y tangible para ensearles programacin a jvenes entre 13 y 17 aos. En mi experiencia como docente de programacin haba llegado a una conclusin terrible: cuando 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 necesitaban, y en el segundo, porque no les poda aportar cosas nuevas. En ese momento comenc a buscar algn mecanismo para que nadie se diera cuenta de esto y, a continuacin, 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 aspectos 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
01_ROBOTICA.qxd
24/10/2007
02:01 p.m.
Pgina 15
Robtica
Captulo
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.
Colaborador:
Introduccin a la robtica
Qu es un robot?
Tipos de robots
Unidades de un robot
Procesamiento
Sensores
Actuadores
Resumen
Actividades
16
16
19
23
24
33
39
43
44
01_ROBOTICA.qxd
24/10/2007
02:01 p.m.
Pgina 16
1. CONCEPTOS FUNDAMENTALES
INTRODUCCIN
A LA ROBTICA
Da a da, nos sorprendemos con las
noticias que aparecen en los medios
de comunicacin vinculadas a la
presencia de robots en diversos campos de la vida cotidiana. Robots enfermeros, mascotas, repositores de
supermercados, detectores de explosivos, aspiradoras hogareas, o simples jugadores de ftbol, son algunos de los ejemplos que podemos
encontrar en el mercado de la tecnologa de ltima generacin.
En sntesis, la robtica ya no es
parte de nuestro futuro sino de
nuestro presente tangible. Sin em-
Qu es un robot?
Sueo de muchas generaciones, la
explosin tecnolgica nos ha puesto
al alcance de poder concretarlo.
Para comenzar nuestro recorrido,
hagamos un repaso de la historia de
la robtica para comprender hacia
dnde nos dirigimos.
16
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, podemos 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 personas, que luego se vuelve contra l.
Si nos apartamos de la literatura, en
el antiguo Egipto encontramos estatuas de dioses que incorporaban brazos mecnicos operados por los sacerdotes. En el siglo XIX, tambin se
hicieron conocidas las creaciones de
robots que jugaban ajedrez, aunque
en realidad stos ocultaban a un ser
humano de baja estatura que operaba la mquina desde su interior (Figura 2). Es decir, el deseo de creacin
de un ser a nuestra imagen y semejanza est presente desde los primeros tiempos de la humanidad.
El origen de la palabra robot se remonta 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 cientfico para realizar tareas pesadas y
aburridas. En checo, idioma original
de la obra, el trmino robota significa trabajo tedioso. Pero fue el escritor Isaac Asimov quien populariz el trmino e introdujo el concep-
17
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 18
1. CONCEPTOS FUNDAMENTALES
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 19
Introduccin a la robtica
Tipos de robots
De la misma manera que con las definiciones, podemos encontrar muchas clasificaciones distintas de robots. En esta obra, al presentarlos,
intentaremos acercarnos a los diversos problemas mecnicos, electrnicos y de software que encontramos
en el desarrollo de un robot. Las clasificaciones elegidas son:
Segn el uso del robot
A continuacin presentaremos una
clasificacin posible de los robots segn su utilidad especfica.
Industriales: se utilizan dentro de
un proceso de trabajo industrial. Es
el tipo de robot que ms ha sido desarrollado en la historia (Figura 5).
Espaciales: deben desenvolverse en
zonas inexploradas y a larga distancia de su centro de control.
Mdicos: son utilizados como
apoyo en la intervencin mdica
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
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 20
1. CONCEPTOS FUNDAMENTALES
sobre los humanos y como comdoras, lavarropas, heladeras, etcplemento para las personas con catera, que modifican su comportapacidades 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 mce alguna o todas las tareas del hobitos sociales (como pelculas,
gar. Ya hay entre nosotros aspiraeventos y supermercados) con funciones de comunicacin intensiva
con los humanos. En estos casos,
uno de los elementos de investigacin fundamental es el aspecto esttico del robot, el estudio de la interfaz con el humano para realizar
una comunicacin completa, con
gestos, tonos, silencios, etctera.
Agrcolas: as como en sus comienzos la robtica tuvo amplia
aplicacin en la industria, en los
ltimos aos ha comenzado a crecer en forma exponencial el uso de
robots y de la inteligencia artificial
en el sector agrcola-ganadero. Las
cosechadoras autnomas, las sembradoras controladas por mapas
satelitales, los fumigadores robotizados y otros dispositivos hicieron
su aparicin dentro de lo que acFigura 5. Kit de brazo robtico
tualmente se conoce como agriRA-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 insecto 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
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 21
Introduccin a la robtica
En esta clasificacin, las caractersticas mecnicas del robot se modifican en forma sustancial entre uno u
otro medio. Prcticamente, es impo-
21
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.
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 23
Introduccin a la robtica
23
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 24
1. CONCEPTOS FUNDAMENTALES
Procesamiento
Cuando comenzamos a analizar lo
que nos ofrece el mercado de la robtica con respecto a procesamiento,
probablemente nos encontremos
confundidos ante la diversidad de
posibilidades. Podemos encontrar
desde micros de muy bajo precio, en
24
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.
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 26
1. CONCEPTOS FUNDAMENTALES
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 27
Introduccin a la robtica
Su procesador es un ARM7 de 32
bits. Cuenta con 256 Kb de Flash y
64 Kb de RAM. Se comunica por
Bluetooth clase 2 y por USB. Tiene
4 entradas para sensores y 3 salidas
para actuadores. En el kit se integran 3 motores servo con encoders
incorporados para controlar su movimiento con precisin.
Adems, cuenta con un sensor de
tacto, uno de sonido, otro de luz y
por ltimo un sensor ultrasnico.
Para la mecnica del robot cuenta
con piezas de las denominadas
Technic, que permiten disear diferentes estructuras segn el destino
del robot creado (Figura 10). El len-
27
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 28
1. CONCEPTOS FUNDAMENTALES
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 29
Introduccin a la robtica
Adems de los kits mencionados, a continuacin presentamos links donde se pueden 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
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 30
1. CONCEPTOS FUNDAMENTALES
30
Microcontroladores
El procesamiento ms habitual en los
robots pequeos y de bajo costo es el
provisto por microcontroladores.
Los micros ms utilizados son los de
la familia PIC, de la firma Microchip. De todos los modelos que se
ofrecen, el ms popular para la construccin 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.
La empresa Atmel fabrica otro tipo
de microcontroladores, que tambin
son de uso habitual en la construccin 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 (Figura 15) es ideal, dado que presenta una
memoria de 8 KB de programa, 1 KB
de SRAM y 512 bytes de EEPROM,
seis canales de PWM, USART progra-
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 31
Introduccin a la 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 completamente libres. En su sitio web, www.arduino.cc, podemos encontrar los planos para 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
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 32
1. CONCEPTOS FUNDAMENTALES
32
Computadoras (PC)
Por ltimo, no queremos dejar de presentar la posibilidad de usar motherboards de PC convencionales pero de
tamaos reducidos, conocidos como
Mini y Nano-ITX (Figura 19). Por
ejemplo, la conocida firma VIA ha desarrollado la lnea EPIA, de bajo consumo y con un tamao que oscila entre 12 y 17 centmetros de lado. Uno
de sus modelos, el VIA EPIA NL, posee 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
toda la potencialidad de una PC en 12
x 12 centmetros! En el sitio www.
mini-itx.com se muestran desarrollos
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 33
Introduccin a la robtica
33
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 34
1. CONCEPTOS FUNDAMENTALES
30
25
Valor
20
15
10
0
0
10
15
Tiempo
20
25
Figura 20. En este caso, los valores son los de un sensor analgico.
34
30
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 35
Introduccin a la robtica
valor interpretable por nuestro procesador. Por lo tanto, aunque podamos utilizar un mismo sensor para
diferentes plataformas de controladores, con seguridad tendremos que
disear estas interfaces en forma dedicada para cada procesador.
Clasificacin
Podemos dividir a los sensores en dos
grandes grupos: analgicos y digitales. Los analgicos entregan un valor
(por ejemplo, una tensin) dentro de
un determinado rango continuo (Figura 20). Un ejemplo de este tipo es una
fotorresistencia, que mide la intensidad de la luz, y que podemos adaptar
para que entregue un valor de 0 a 5 Vol-
30
25
Valor
20
15
10
0
0
5 6
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
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 36
1. CONCEPTOS FUNDAMENTALES
Otra clasificacin posible de los sensores es internos y externos. Los internos son aquellos que nos brindan
informacin del propio robot, como
la velocidad, la rotacin, la posicin,
la altura, etctera; en tanto que los externos son los que proporcionan datos del ambiente, como las distancias,
la temperatura, la presin, etctera.
Por ltimo, tambin podemos dividir
los sensores en pasivos y activos. Los
activos son los que necesitan enviar una
seal hacia el ambiente para luego recibir el rebote de esa seal y, de esta manera, interpretar el estado del mundo
que lo rodea. Un ejemplo clsico de es-
SIMULADORES
Existen cientos de simuladores de distintos tipos de robots: humanoides, autnomos, 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 robtica 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
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 37
Introduccin a la robtica
ROBOTS ADAPTATIVOS
37
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 38
1. CONCEPTOS FUNDAMENTALES
El procesamiento de imgenes es un
tema muy complejo y apasionante al
mismo tiempo, y escapa a la arquitectura y los costos de fabricacin de los
robots que nos hemos propuesto para este libro. Pero seguramente, en
poco tiempo podremos utilizar nuestras webcam en forma sencilla y eco-
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 dispositivos. Es por eso que se ha desarrollado otro tipo de sistema de movimiento conocido 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
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 39
Introduccin a la robtica
Actuadores
Si nuestro robot slo observara el
mundo sin actuar en l, sera un robot
sumamente limitado. Nuestro deseo
es que modifique su estado y el del
ambiente segn la informacin que
obtiene en el proceso. Con este fin,
disponemos de motores, msculos de
alambre, lmparas, displays, buzzers,
etctera. Al conjunto de estos dispositivos se lo denomina actuadores.
Los actuadores ms sencillos de utilizar son las lmparas, que no ameritan
demasiada descripcin para su uso.
Simplemente, con conectarlas a alguna salida del procesador y proveer la
alimentacin necesaria para su funcionamiento, podremos encenderlas
y apagarlas con nuestro programa.
Sin embargo, pondremos nuestro foco de atencin en los motores, dado
que definen en gran medida nuestra
capacidad de desplazamiento, los
grados de libertad y otros aspectos
vinculados al movimiento del robot.
Por definicin, el motor elctrico es
un dispositivo electromotriz, es decir,
que convierte la energa elctrica en
energa motriz. Todos los motores
disponen de un eje de salida para acoplar un engranaje, una rueda, una polea o cualquier mecanismo capaz de
LEYES DE LA ROBTICA
39
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 40
1. CONCEPTOS FUNDAMENTALES
tipo de juguete (un buen lugar donde ir a buscarlos!). El funcionamiento del motor se basa en la accin de
campos magnticos opuestos que hacen girar el rotor (eje interno) en direccin opuesta al estator (imn externo o bobina). De este modo, si sujetamos la cubierta del motor por medio de soportes o bridas, el rotor con
el eje de salida ser lo nico que girar. Para cambiar la direccin de giro
en un motor de corriente continua,
tan slo debemos invertir la polaridad
de su alimentacin elctrica.
FANTICOS DE LEGO
40
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 41
Introduccin a la robtica
41
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 42
1. CONCEPTOS FUNDAMENTALES
la mayora de ellos, pero se puede modificar con facilidad para tener un recorrido libre de 360 y, entonces, actuar como un motor comn.
El control de posicin lo efecta el
servo en forma interna mediante un
potencimetro que va conectado en
forma mecnica al eje de salida. ste
controla un PWM (Pulse Width Moduler, modulador de anchura de pul-
NANOBOTS
Los nanobots son robots de tamao microscpico, cuyas dimensiones estn en el orden 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 concrecin. Esencialmente, se han desarrollado nanobots qumicos o moleculares con funciones limitadas. La aplicacin para estos futuros robotitos est apuntada a la medicina, la industria, la ecologa y la produccin de alimentos.
42
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 43
Introduccin a la robtica
rencial interno ponga el servo en la posicin indicada por la anchura del pulso. Los servomotores son una muy
buena alternativa, ya que traen integrado un sistema reductor que nos
ahorrar dolores de cabeza a la hora de
buscar fuerza. La desventaja para algunas aplicaciones es que, en general,
son lentos. Se utilizan mucho en los
automviles y aviones radiocontrolados, principalmente para accionar el
mecanismo que les da la direccin.
RESUMEN
En este primer captulo hemos hecho una breve introduccin a los conceptos fundamentales de la robtica. Un robot no es ms que un dispositivo con un determinado 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 tipos 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 salida 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 aspectos de velocidad para obtener informacin ms precisa. Por ltimo, para que el robot pueda trasladarse y actuar sobre el entorno, necesitamos de los actuadores.
Los esenciales y ms usados son los motores, de los cuales tenemos diversos tipos segn el objetivo de nuestro robot y la cantidad de dinero que poseamos.
43
01_ROBOTICA.qxd
24/10/2007
02:02 p.m.
Pgina 44
ACTIVIDADES
TEST DE AUTOEVALUACIN
1 Cul es nuestra definicin de robot?
2 Qu clasificaciones encontramos de
los diferentes tipos de robots?
ta un robot?
8 Qu ventajas y desventajas presenta
4 Compare las ventajas y desventajas del
uso de un kit de robtica o el desarrollo
44
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 45
Robtica
Captulo
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.
46
47
48
50
53
55
59
60
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 46
UNA MIRADA
GLOBAL A NUESTRO
FUTURO ROBOT
Como hemos podido ver en el primer
captulo, la cantidad de variantes que
tenemos para construir nuestro robot
es inmensa. Es por eso que en este
captulo, presentaremos los materiales que hemos decidido utilizar para
nuestra primera creacin, y justificaremos la eleccin que hemos realizado. En primer lugar, vamos a dar un
paseo por el mundo de los microprocesadores, introduciremos un conjunto de conceptos que nos sern im-
46
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 47
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 48
usa una pelota infrarroja (Figura 2). Pero ya llegaremos a este punto dentro de
unas cuantas pginas. Comencemos
con el procesamiento.
Tipo de procesamiento
seleccionado
Si seguimos la lnea que acabamos
de presentar, decidimos realizar
nuestro controlador basndonos en
un microcontrolador que fuera
econmico y de uso popular. Pero,
para empezar, veamos qu es esto de
los microcontroladores. A esta altura del siglo XXI, no nos sorpren-
de encontrar en cualquier casa u oficina una computadora, con sus unidades de entrada, de salida y de procesamiento. 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 notado que la pantalla y el teclado son,
en estos momentos, los puntos crticos de reduccin. Ahora bien, si no
necesitramos informacin por una
pantalla y el ingreso por teclado,
podramos tener una computadora
mucho ms pequea? S, podemos,
y de alguna manera eso es un microcontrolador, un circuito integrado, con CPU, memoria y conexin
para entradas y salidas. Todo esto, en
un tamao muy reducido, no mayor
al de una estampilla.
Si lo vemos de esta manera, podemos confundir un microcontrolador
con un microprocesador. En qu se
diferencian? Principalmente, en que
el microcontrolador suma a un microprocesador un conjunto de caractersticas electrnicas que lo ha-
48
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 49
determinada. En general, estos microcontroladores no pueden ser reprogramados, por lo que tambin contamos
con micros de propsito general, que
pueden ser programados en diversos
lenguajes y con destinos de todo tipo.
Las empresas de microprocesadores de
propsito general ms conocidas son
Microchip (PIC) y Atmel (AVR).
Pondremos nuestra atencin en la primera de las dos, dado que el micro que
usaremos ser el PIC 16F88. Microchip Technology Inc. es una empresa de electrnica de Estados Unidos,
surgida de la empresa GI (General Instruments). Del conjunto de productos
que ha fabricado, la lnea PIC (Peripheral Interface Controller, Controlador
de Interfaz Perifrico) de microcon-
49
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 50
troladores ha sido su bastin fundamental (Figura 4). Una de las caractersticas ms importantes de estos micros es que son de tipo RISC (Reduced Instruction Set Computer, Computadora con Conjunto de Instrucciones Reducido) en contraposicin con
la arquitectura CISC (Complex Instruction Set Computer, Computadora
con Conjunto de Instrucciones Complejo). Esto implica que tienen un
conjunto reducido de instrucciones
de tamao fijo con respecto a la cantidad de ciclos de reloj (en general, todas las instrucciones necesitan de un
solo ciclo de reloj) y que slo las instrucciones de carga y almacenamiento acceden a la memoria. Las ventajas
que estas (y otras) caractersticas nos
brindan son que la ejecucin es ms
rpida y que permite el paralelismo
entre instrucciones mediante una tcnica llamada pipelined.
La desventaja radica en que la programacin con este reducido conjunto de instrucciones tan atmicas implicar ms trabajo. Con respecto a
los PIC, las caractersticas fundamentales que podemos encontrar entre los
diferentes modelos son:
Ncleo de 8/16 bits con arquitectura Harvard (las memorias de instrucciones y de datos estn separadas, y la CPU accede a ella por buses distintos).
Puertos de E/S con conversores
analgicos/digitales.
50
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 51
diferencial, dado que es el ms sencillo de controlar desde nuestro programa (Figura 6). Este sistema utiliza
dos ruedas convencionales ubicadas
en el centro del robot, una de cada lado, 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 motor. El recorrido en forma recta es
difcil de conseguir en esta arquitectura dado que siempre encontramos
diferencias de velocidad entre los motores o en el giro de las ruedas, desplazamientos, etctera. Una de las
maneras de controlar esto es realizar
un sensado del mundo. Por ejemplo,
si tenemos que seguir una lnea negra, bastara con tener uno o dos sensores de luz que nos permitan detectar nuestra desviacin de la lnea para modificar la velocidad de los motores. Otra manera es sensar el movimiento de las ruedas con encoders similares a los que se utilizaban en un
mouse antiguo. El problema de este
mecanismo es que necesitamos de
electrnica especfica para este control, algo que escapa a nuestro primer proyecto. Por eso, por ahora nos
conformaremos con que vaya medianamente en lnea recta.
Otra arquitectura de movimiento interesante es la omnidireccional. Con
tres ruedas especiales ubicadas como
podemos ver en la Figura 7, podemos
dirigir al robot hacia cualquier punto,
sin necesidad de girarlo en esa direccin. Esta forma de navegacin es
muchsimo ms efectiva, ya que aho-
PICS ESPECIALES
En la actualidad, tenemos modelos muy sorprendentes como el rfPIC, que incorpora 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 procesamiento digital de seales. Tambin podemos encontrar clones, ms baratos o con
mejoras, como los que realiza la empresa Ubicom.
51
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 52
Si tenemos algn servo desperdiciado, podemos modificarlo para utilizarlo como motor CC. Los servos
son un motor de ese tipo con una caja reductora y un circuito de control
y tope fsico, que limita su giro a 180
grados. Para convertirlo en lo que
necesitamos, debemos eliminar el
circuito de control y la limitacin fsica, y de esta manera aprovechar la
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 53
53
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 54
Figura 11.
Un LDR
utilizado para
la deteccin
de luz en
un robot.
Este sensor debe tener algn mecanismo para que, una vez activado,
luego vuelva a su posicin inicial.
Por otra parte, es necesario utilizar
algn amplificador de la mecnica
54
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 55
Para la deteccin de luz, podemos utilizar un sensor de luz convencional, conocido como fotorresistencia (LDR,
Light-Dependent Resistor, resistencia
que depende de la luz). ste es un
componente electrnico cuya resistencia disminuye a medida que la luz
incide sobre l (Figura 11).
Es econmico y sencillo de usar, pero
es altamente sensible a la luz ambiente. 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 problema de la luz ambiente, podemos
utilizar un sensor infrarrojo. El funcionamiento es similar al anterior, pero son menos sensibles a la luz ambiente, ya que slo detectan luz dentro
del rango del infrarrojo. Est compuesto por un diodo emisor infrarrojo
en una determinada longitud de onda
y un receptor (en general un fototransistor) que apunta en la misma direccin que el emisor. Un buen ejemplo
es el sensor activo CNY70, que puede
captar objetos entre 5mm y 10mm de
distancia (Figura 12).
Ambos sensores son econmicos, y
pueden conseguirse en cualquier negocio de electrnica. Es posible conseguir alguno de ellos si desarmamos
algn juguete (por ejemplo, los
muecos que detectan la presencia de
un objeto por delante y emiten algn
sonido), pero son tan econmicos que
no vale la pena tomarse ese trabajo.
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 56
56
Juguetes usados
Cuando queramos construir un robot
que imite algn vehculo tradicional,
una muy buena opcin es montarlo
sobre un juguete usado, o por qu no,
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 57
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 58
Poliestireno expandido
Este material es conocido universalmente, pero denominado de diversas
formas en todo el mundo: telgopor,
porexpan, corcho blanco, unicel,
estereofn o tecnopor son algunas
de las denominaciones ms habitua-
58
Acrlico
En realidad, llamamos acrlico al metacrilato compuesto por cido metacrlico. Cuando vemos un robot realizado ntegramente en este material, y en especial si es transparente,
todos nos enamoramos. Es muy
atractivo, muy resistente, liviano, y
de fcil corte con sierras y caladoras,
aunque hay que realizarlo con paciencia porque el calor de la friccin
puede derretir el material (Figura 16).
Otro problema del corte es el polvillo que genera, por lo que se recomienda el uso de mascarillas para hacerlo. El moldeo es un poco ms
complicado, ya que necesita de calor
local, y se realiza con pistolas de aire
caliente o bandas resistivas. La desventaja ms grave de este material es
el precio, que supera ampliamente
los materiales que ya comentamos.
Aluminio
Es el material ms usado en la fabricacin de las versiones finales de los
robots. Es muy resistente, liviano y de
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 59
RESUMEN
En este captulo presentamos los objetivos de nuestro robot y los materiales necesarios para construirlo. Hemos decidido construirlo en forma artesanal desde cero,
para tener costos ms bajos y para lograr un conocimiento ms profundo de la arquitectura 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 corriente 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 estructura robusta, con herramientas sencillas y a muy bajo precio.
59
02_ROBOTICA.qxd
24/10/2007
05:02 p.m.
Pgina 60
ACTIVIDADES
TEST DE AUTOEVALUACIN
1 Por qu decidimos desarrollar el robot
en forma artesanal?
2 Cules son los objetivos de nuestro
robot?
3 Qu es un microcontrolador?
9 Qu es un final de carrera?
4 Qu diferencia un microcontrolador de
un microprocesador?
5 Qu caractersticas presentan los micros con tecnologa RISC?
60
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 61
Robtica
Captulo
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
ser sencillo seleccionar otras
variantes segn el objetivo que
tengamos para nuestro robot.
Colaborador:
El cerebro
Componentes de nuestro robot
Objetivos del controlador
El microcontrolador,
cerebro del cerebro
Conceptos fundamentales
de un PIC
Caractersticas del PIC16F88
Compatibilidad con el 16F84
Puente H para el control
de los motores
Listado de componentes
del controlador
Descripcin del circuito
Placa experimental
El programador
Nuestro programador
Resumen
Actividades
62
63
64
64
65
66
67
67
68
69
71
71
71
75
76
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 62
EL CEREBRO
Cuando Asimov cre sus primeros
robots de ficcin, an no existan las
computadoras. Tuvo que inventar los
cerebros positrnicos, que son dispositivos con inteligencia artificial
que le permiten al robot almacenar
informacin, realizar operaciones lgicas y tomar sus propias decisiones.
Con esa capacidad sorprendente de
adelantarse dcadas en el tiempo,
Asimov realiz una descripcin que,
en muchos casos, coincide con los
controladores que tenemos en la actualidad. De este tema, y con la intencin de emular la genialidad de
Asimov, hablaremos en este captulo.
Hay diversas formas de controlar un
62
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 63
El cerebro
Componentes
de nuestro robot
A la hora de disear nuestro controlador, es necesario tener presente
qu tipo de robot deseamos construir, porque esto nos dar una nocin de la cantidad de actuadores y
sensores que necesitaremos. Como
definimos en el captulo anterior,
nuestro robot tendr dos ruedas con
dos motores, que nos permitirn
controlar la direccin de manera diferencial. Contar con dos bumpers
(sensores de choque) y un sensor
analgico para poder seguir una lnea (robot rastreador). Si tenemos
en cuenta esto, podemos definir las
partes de nuestro robot en:
CEREBROS POSITRNICOS
63
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 64
Driver H: interfaz de potencia para los motores de corriente continua con inversin de giro.
Sensores: dos sensores de colisin
ubicados al frente del robot.
Monitor: un led de monitoreo del
programa.
Sensor analgico: para futuras
aplicaciones.
El microcontrolador, cerebro
del cerebro
Como comentamos antes, el principal componente de nuestra placa controladora es el microcontrolador. De
su eleccin depende el tiempo de utilidad de sta, ya que nos permitir aumentar la complejidad y adoptar diferentes configuraciones de robots,
simplemente preocupndonos por
cambiar la mecnica/electromecnica
cuando sea necesario. En sntesis, el
objetivo es contar con nuestro propio
controlador universal de robots.
En el Captulo 2 adelantamos nuestra
eleccin por el micro 16F88 de la
firma Microchip (Figura 3). Cabe
mencionar que aunque el 16F84 es
el micro ms difundido de esta empresa, hemos decidido dar un paso
adelante por dos razones: el nuevo
modelo nos da muchas prestaciones
adicionales, y todo lo desarrollado
para 16F88 que no utilicen esas
prestaciones es absolutamente compatible con el 16F84.
En el presente libro, en gran parte
usaremos del micro nuevo aquellas
funcionalidades que sean compatibles con el anterior. Pero as nos queda armado un controlador con amplia capacidad de expansin.
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 65
El cerebro
Conceptos fundamentales
de un PIC
Como en el punto siguiente queremos realizar una presentacin del
16F88 y compararlo con otros micros, a continuacin describiremos
un conjunto de trminos necesarios
para poder comprender mejor. Los
conceptos que vamos a explicar son
fundamentales en la arquitectura y
el funcionamiento de un PIC. Si ya
tenemos experiencia, esto nos resultar conocido y podremos continuar
hasta el punto siguiente.
Si no, aqu encontraremos un buen
diccionario de palabras vinculadas al
que podremos recurrir en los prximos captulos.
Memoria flash: es el rea de almacenamiento de los programas. Pue-
de ser reescrita miles de veces, lo que
presenta una gran ventaja para reutilizar el controlador y para programar sin temor al error.
RAM (Random Access Memory, memoria de acceso aleatorio): almace-
na todas las variables y los datos intermedios del programa.
EEPROM (Electrically-Erasable
La modulacin por ancho de pulso (PWM, Pulse With Modulation) se utiliza para determinar la velocidad de giro de los motores elctricos. En el pulso tenemos un momento alto (con corriente) y un momento bajo (sin corriente). Segn la longitud de
estos pulsos, logramos la velocidad de nuestro motor.
65
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 66
REDES NEURONALES
66
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 67
El cerebro
CHIP INHIBIT
16
VSS
INPUT 1
15
INPUT 4
OUPUT 1
14
OUPUT 4
GND
13
GND
GND
12
GND
OUTPUT 2
11
OUTPUT 3
INPUT 2
10
INPUT 3
VC
CHIP INHIBIT 2
67
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 68
minado Puente H. Este curioso nombre proviene de la forma en la que antiguamente se posicionaban los transistores al realizar el puente. La
electrnica ha avanzado y en la actuaIDENTIFICADOR
VALOR
C1
100uF / 50V
C2
.1uF
C3
.1uF
C4
47uF / 25V
C5
.1uf
C6
.1uf
C7
22p
C8
22p
D1
DIODE
IC1
16F88
IC3
L78L05
IC4
L293D
ISCP Programador
Conector 5 pines
J3
Bornera 3
L1
LED Verde
L2
LED Rojo
Motor1
Bornera 2
Motor2
Bornera 2
POWER
Bornera 2
R1
390
R2
390
R3
1K
R4
1K
R5
10K
Reset
Microswitch
Sensor1
Microswitch
Sensor2
Microswitch
XTAL 4Mhz
4Mhz
68
Listado de componentes
del controlador
La mayora de los componentes que
vamos a utilizar (Tabla 1) se puede
conseguir en cualquier negocio de
electrnica, y se puede reemplazar
por otros de valores aproximados.
Los elementos ms costosos son los
dos procesadores, el 16F84 16F88
y el L293D. Otro componente de
costo alto es la batera recargable de
9 V, de la cual hablaremos ms adelante. Para poder conectar todos estos
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 69
El cerebro
69
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 70
entradas RA3 y RA4 permiten sensar los dos switch (llaves) que indican cundo nuestro robot colisiona
con algn objeto. Se encuentran conectadas al positivo mediante dos
resistencias R3 y R4 de 1K, que nos
sirven de pullup para disminuir el
disparo por ruido elctrico que proviene de los motores.
Por su parte, RB1, RB2, RB4 y RB5
se utilizan para controlar dos motores de corriente continua de 12 V y
300 miliamperes. RB6 y RB7 estn
destinados al programador.
Adems de esto, nos quedan libres 4
pines (RB0, RA0, RA1, RA2) que
podemos utilizar para propsitos diversos y la posibilidad de utilizar los
del cristal o de conmutar los de programacin, entre otras modificaciones posibles.
Motor 1
Batera 9 V
Driver H
Motor 2
Fuente
Regulada 5 V
L2
Controlador
Sensor 2
Sensor 1
70
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 bsica realizada para las pruebas preliminares, 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.
El programador
Cuando diseamos el controlador del
robot, uno de los objetivos fundamentales fue que pudiera ser programado
de diversas maneras segn el propsito final del robot. De esta forma, podemos reutilizar nuestro controlador
en la misma estructura mecnica o en
otras, con otros sensores, motores,
etctera. Por eso, nos decidimos a trabajar con el PIC y no con el PICAXE
(Figura 10), a pesar de que ste ltimo
tambin es una opcin. El PICAXE es
un micro que ya tiene grabado un pequeo firmware, algo as como un sistema operativo mnimo, que permite
cargarle nuestro programa por el puerto serie del computador. Es una buena
ayuda porque nos evitamos la construccin del programador. El problema es que si utilizamos un PICAXE
dependemos totalmente de este
firmware y si por cualquier problema elctrico se desprogramara el micro, estaramos en problemas.
La nica solucin sera comprar un
nuevo PICAXE o grabarle el firmware
Figura 10.
Picaxe 8, la
versin ms
pequea de la
lnea PICAXE.
Nuestro programador
En Internet podemos encontrar un
mundo de aficionados y profesionales
que desarrollan sus actividades con
PIC. Por esa razn, la oferta de programadores es amplia y si lo deseamos,
71
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 72
72
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 73
El cerebro
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
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 74
WinPIC800. La forma ms tradicio- nuestra placa programadora y enviarnal 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 prograC1
100uF/63v
macin en circuito ICSP (In circuit seC2
100nF
rial programming, programacin en
C3
100nF
circuito) es ideal para trabajar con proD1
Verde
totipos, ya que de manera rpida poD2
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 prograIC2
78L12
mador para la programacin directa,
J1
CONN DB25M
pero con un circuito muy simple que
PD1
Diodo Puente 1A
permite programar el integrado direcQ1
BC558B
tamente en nuestra placa controladoRG1
ICSP
ra. Para esto ser necesario un conecRG2
15VAC
tor especial que posee la placa del proR1
1k
gramador con salida para ICSP. De esR3
1k
ta manera, si conectamos el programaR5
1k
dor a nuestro controlador por este coR2
4.7k
nector, el mismo programa WinR8
4.7k
pic800 podr grabar el 16F88 sin teR4
1.5k
ner que desarmar nuestro robot. CoU1
74LS04
mo dijimos, esto es muy prctico porTabla 2. Lista de componentes
que al ser un robot experimental, cardel programador.
garemos muchos programas y haremos
PIN
DESCRIPCIN
FUNCIN
TIPO
DESCRIPCIN
12
RB6
Clock
Pulsos de reloj
13
RB7
Data
E/S
E/S de datos
MCLR
Vtest
MODE
Seleccin de modo
VSS
Vss
Masa (Gnd)
74
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 75
El cerebro
RESUMEN
Hemos llegado al punto de poner manos a la obra. En este captulo, conocimos todos los detalles de nuestro controlador y el programador correspondiente. Finalmente, 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 posibilidad de programarlo en circuito, sin necesidad de sacarlo de nuestro controlador. Para poder realizar esto, construimos un programador conocido como GTPLITE, de uso muy difundido entre los usuarios de PIC, y de bajo costo. Para poder realizar la programacin, utilizaremos el software Winpic800, que nos permite programar diversos modelos de PICs y de otros tipos de micros.
75
03_ROBOTICA.qxd
24/10/2007
02:12 p.m.
Pgina 76
ACTIVIDADES
TEST DE AUTOEVALUACIN
1 Cules fueron los tipos de control que
tuvieron los robots a lo largo de la his-
toria?
7 Por qu elegimos el microcontrola2 Cules son, esencialmente, los com-
dor PIC16F88?
lador?
9 Qu es un puente H? Con qu inte4 Cules son los tipos de memorias que
grado lo implementamos?
76
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 77
Robtica
Captulo
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
bateras para utilizar en nuestro robot.
La fuente de energa
Caractersticas de las celdas
de las bateras
Tipos de bateras
Calidad de las bateras
Cargadores
Ayudar a que no slo
las bateras duren ms
Resumen
Actividades
78
79
81
86
87
89
91
92
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 78
4. COMIDA DE ROBOTS
LA FUENTE DE ENERGA
Volvamos a nuestros sueos de robots.
Soamos con un robot veloz, gil, y
que recorra el universo sin desgaste.
Soamos con un robot poderoso, con
alta traccin que le permita subir los
caminos ms inhspitos. Soamos
con un robot de mucha autonoma,
que pueda dar varias vueltas al universo sin necesidad de pasar por el enchufe. Soamos con la mquina de
movimiento perpetuo, y no somos los
primeros. Desde que construimos
nuestros primeros mecanismos autnomos con desplazamiento, hemos
78
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 79
La fuente de energa
Caractersticas
de las celdas de las bateras
En el caso de los robots pequeos, la
obtencin de energa por sistemas de
combustin o la energa nuclear
constituyen un sistema un poco desproporcionado. Es por eso que nos
inclinamos por las bateras compuestas por una o ms celdas, con
determinadas caractersticas que las
hacen convenientes o no segn el
proyecto en el que trabajemos. Por
esa razn, antes de analizar los tipos
de bateras, haremos una breve presentacin de los conceptos fundamentales que las distinguen.
Voltaje
Todas las celdas que presentaremos
utilizan procesos qumicos para la liberacin de energa. El tipo de material utilizado para esa reaccin es el
que determinar el voltaje producido. Pero mientras se descarga, el voltaje puede variar. Es por esto que aparece el concepto de voltaje nominal,
que indica el valor ms estable en el
que permanecer una batera cuando
se descargue. Puede ocurrir que ape-
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 xido, 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
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 acutes de que caiga su voltaje.
ticos. Cuando la curva tiene un descenso parejo, muchas veces nos enDensidad de energa
contramos rpidamente con dificultaste es uno de los puntos ms im- des para determinar un comportaportantes 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 mediande 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 conductor y, por lo tanto, ofrece cierta
Curva de descarga
resistencia al pasaje de corriente. A esEs 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 resistenplana, la batera baja su voltaje de gol- cia, dado que necesitamos mucha cope, lo que en general es bueno (man- rriente de golpe para encender el motenemos la performance de los robots tor. En nuestro caso, las bateras con
pareja durante largo tiempo), pero pe- baja resistencia interna pueden ser pe80
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 81
La fuente de energa
ligrosas porque ante un corto entregan mucha corriente, aumentan el calor de la batera y pueden ocasionarles problemas a nuestros circuitos y,
en casos extremos, una explosin. A
medida que las celdas se desgastan, la
resistencia interna crece, y por lo tanto, la tensin disminuye.
Capacidad de recarga
Otra caracterstica fundamental de
nuestras bateras es si son recargables
o no, y cuntas veces se pueden recargar. Dado que las bateras son
muy contaminantes, esta caracterstica no slo es una cuestin de costos, sino que tambin nos propone
una actitud ecolgica que consideraremos ms adelante. Lamentablemente, las bateras con mayor densidad de energa no son recargables.
Efecto memoria
Es un trmino vinculado especficamente a las bateras de Nquel cadmio.
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
81
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 82
4. COMIDA DE ROBOTS
tenemos para poder alimentar un robot, y veremos sus ventajas y desventajas. Por ltimo, definiremos un conjunto de elecciones posibles para
nuestro modelo en particular.
Batera de Iones de Litio (Li-Ion)
Estas bateras aparecieron recientemente y se utilizan mucho en los celulares (Figura 3). Poseen una elevada densidad de energa y, en general, se presentan en placas rectangulares de menos de 5mm de espesor. Tienen un voltaje de 3,7 V, y carecen de efecto memoria. La tasa de autodescarga es baja,
con lo cual podemos sacarla del robot
y guardarla aparte, y as se pierde slo
un 6% de su carga cada mes. La curva
de descarga es lineal, con las ventajas y
desventajas que presentamos antes.
82
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 83
La fuente de energa
Figura 6.
Bateras AA de
Nquel Metal
de 2500 mAh.
Las bateras de polmero de litio son muy parecidas a las de litio que ya describimos, 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
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 84
4. COMIDA DE ROBOTS
Bateras de Plomocido
Son las bateras que podemos encontrar 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 plomo. 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 convierten en sulfato de plomo y disminuyen
as la presencia del cido en el agua.
En la carga, en el polo negativo el sulfato de plomo vuelve a convertirse en
plomo metlico, mientras que en el
positivo se forma xido de plomo, y
aumenta la presencia de cido sulfrico en el electrolito. Tienen una gran
capacidad de corriente con una baja
Figura 8. Batera recargable
resistencia interna, lo que las hace esde 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 recomenor. 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 celdas 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
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 85
La fuente de energa
Bateras de gel
Esencialmente, son una modificacin
de las bateras de plomo-cido, donde
se le aade un agente gelificante al electrolito para disminuir su movimiento
dentro de la carcasa (Figura 8). Adems,
presentan un mecanismo por el cual
los gases internos no se liberan al exterior, sino que se recombinan con el
agua de la batera. De esta manera,
estn selladas y pueden estar orientadas en cualquier direccin. Para su recarga, se recomienda utilizar un cargador de bateras especial de cuatro etapas, dado que en este proceso puede
desprender gases o reducir su vida til.
Tienen una autodescarga muy baja y
su carga til dura hasta casi medio ao.
Celdas de combustible
Es un dispositivo electroqumico similar a una batera, pero se reabastece
a partir de una fuente externa de combustible y oxgeno. Por otra parte, los
electrodos no se modifican como en
una batera convencional, sino que se
mantienen estables. En el caso clsico
DENSIDAD
TIPO
VOLTAJE
RESISTENCIA
CAPACIDAD
COSTO
POR CELDA
DE ENERGA
INTERNA
DE RECARGA
1,5 V
Baja
Alta
No
Muy bajo
Pila alcalina
1,5V
Alta
Alta
No
Moderado
Li-Ion
3,7V
Alta
Media
Alto
Ni-Cd
1,2V
Moderada
Baja
Moderado
Ni/Mh
1,2V
Alta
Baja
Moderado
Plomo cido
2,0V
Moderada
Muy baja
Bajo
85
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 86
4. COMIDA DE ROBOTS
Densidad de energa.
Peso.
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 87
La fuente de energa
Cargadores
El cargador de bateras es un dispositivo que permite recargar bateras aptas para tal fin, y fuerza el ingreso de
corriente elctrica dentro de ellas. El
cargador ms sencillo (Figura 11) es
CAPACIDAD EN MAH
PESO EN GRAMOS
1700 1800
27
1800 2000
27,5
2000 2200
28
2200 2300
29
2300 2600
30
2600 2800
31
2950
33
aquel que introduce una corriente continua en la batera que debe ser cargada sin modificar la corriente segn el
tiempo o la carga producida hasta el
momento. Es econmico, pero el resultado deja bastante que desear. En
general, son de carga lenta para evitar
87
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 88
4. COMIDA DE ROBOTS
Figura 11.
Cargador
de bateras
tradicional.
Figura 12.
Cargador
inteligente
para bateras
de diferentes
capacidades.
88
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 89
La fuente de energa
podemos usar nuestro robot conectado a la corriente elctrica. As cuidaremos nuestro bolsillo y nuestro
planeta. De esta forma, los ciclos de
carga de las bateras se realizarn especficamente cuando sean necesarios. Por otra parte, el uso de bateras recargables (en lugar de alcalinas, de carbn, etctera) ya es un
89
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.
tas de reciclado donde podamos enviar lo que hemos apartado. El proceso de reciclado no es directamente rentable, por lo que es necesario
que las empresas que realicen este
proceso pertenezcan al Estado o
estn subvencionadas por l. Hasta
90
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 91
La fuente de energa
RESUMEN
Hay un conjunto amplio de variantes para alimentar a nuestro robot. Desde las tradicionales 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 bateras 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 tengamos 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 alimentar a nuestro robot, y slo en aquellos momentos en los que necesitemos independencia de cables, utilizar las bateras.
91
04_ROBOTICA.qxd
24/10/2007
02:16 p.m.
Pgina 92
ACTIVIDADES
TEST DE AUTOEVALUACIN
1 A qu llamamos capacidad de una batera?
2 Qu es la densidad de energa?
una batera?
4 En qu tipo de pilas nos encontramos
con el famoso efecto memoria?
5 Realice una comparacin entre las bateras de Li-Ion, las de Ni-Cd y las de
Ni/Mh.
92
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 93
Robtica
Captulo
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
lgicos para poder expresar, en el
lenguaje del robot, lo que deseamos que
realice. En este captulo presentaremos
los diferentes lenguajes y elegiremos uno
para explicar lo que necesitamos al
programar el comportamiento del robot.
94
95
95
97
98
100
103
103
106
108
110
111
112
115
116
117
123
124
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 94
COMUNICACIN
CON EL ROBOT
Ya hemos logrado construir el cerebro
de nuestro robot y lo hemos dotado
de energa. Slo nos falta encenderlo
para darle vida a nuestra criatura. Presionamos un botn y en un primer
momento, nada ocurre. Pero de pronto, algunos msculos tiemblan y sus
ojos se abren. Hemos logrado el milagro! Slo basta con solicitar lo que
deseamos que haga y nuestros sueos
se cumplirn. Entonces le pedimos
que nos traiga el peridico, que nos
prepare una buena cena y que luego
deje la cocina en orden. Nada ocurre.
Sigue all, con sus lucecitas parpadeantes, sin demostrar buena voluntad
94
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 95
Lenguajes de programacin
para robots
Para aquellos que hemos trabajado
con computadoras de baja capacidad
de procesamiento y poca cantidad de
memoria, programar los micros de los
robots nos resulta familiar, dado que
volvemos a tener las limitaciones de
aquellos viejos tiempos.
Con la aparicin de las PCs, la velocidad de procesamiento y la memoria
de las que disponemos nos permiten
utilizar lenguajes que no hagan un
aprovechamiento preciso de todos los
recursos. Gracias a estas ventajas, aparecen los lenguajes de alto nivel, que
nos brindan un mayor poder de expresividad a cambio de gastar mucha
memoria y procesamiento.
En el caso de los robots, carecemos
de estos dos recursos. Por eso, necesitamos lenguajes que aprovechen al
mximo cada byte de memoria y cada ciclo de procesador para realizar
nuestra tarea. De esta forma, los micros utilizan habitualmente lenguajes de bajo nivel. Estos lenguajes
son pobres en capacidad expresiva,
pero muy potentes a la hora de utilizar cada componente de nuestro
controlador. El problema es que
aprender a utilizarlos es complicado.
Pero no temamos, vamos a hacer
una recorrida por los lenguajes ms
comunes, desde los ms potentes
hasta los ms sencillos de utilizar, y
nos quedaremos, para nuestras pri-
Nuestro robot no es ms que una computadora, y tenemos que darle un conjunto de instrucciones para que realice
una tarea. Los lenguajes de alto nivel
nos permiten describir la tarea en un nivel de abstraccin cercano a nuestro
proceso humano de razonamiento, pero
son ms lentos y menos poderosos porque no tienen acceso a instrucciones tan
detalladas y precisas. Los lenguajes de
bajo nivel son complejos de entender y
utilizar porque nos obligan a expresar lo
que queremos que realice el robot en
instrucciones muy cercanas a procesos
electrnicos y mecnicos, pero nos brindan un poder mucho mayor por el nivel
de detalle que podemos lograr.
PicBasic Pro
Uno de los lenguajes ms populares
para los micros PIC es el PicBasic Pro
(PBP), de microEngineering Labs.
Como su nombre lo indica, es un
compilador Basic que posibilita la
programacin en un lenguaje mucho
ms sencillo que el ensamblador de
MicroChip. Es similar al Basic del Ba95
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 96
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:
CCS C: www.ccsinfo.com.
MikroBasic: www.mikroe.com/en/.
96
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 97
Figura 2. Vista del MicroCode Studio Plus, IDE para el PicBasic Pro.
sitemos un programador para nuestro conversor mencionado. Podemos demicro. 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 refedor ms optimizado para estos mi- rencia a las variables de ste. Para tecros. Tiene una librera de funciones ner una idea de la sintaxis, desarrollapredefinidas, lo que facilita la pro- remos el mismo ejemplo que mostragramacin 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
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 98
MikroBasic
La firma CCS tambin ofrece IDEs
para Windows, llamadas PCW y
PCWH. La nica diferencia es que
PCWH soporta la serie PIC 18. Poseen un editor de cdigo fuente (C
Aware Editor, Figura 3), que realiza coloreo de sintaxis, control de tabula-
Por ltimo, llegamos al lenguaje elegido para nuestros ejemplos de proyectos. La empresa MikroElectrnica ha desarrollado un conjunto de
compiladores para micros, tanto para
lenguaje C como para Basic. Lo ms
interesante de ambos es que integran
98
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 99
un IDE que facilita mucho la programacin, ya que presenta las caractersticas que hemos mencionado, como coloreo de sintaxis, ayuda sensible
al contexto, estadsticas sobre el uso
del micro y muchas otras ms. Por
otra parte, los desarrolladores nos permiten bajar un demo gratuito completamente funcional, donde slo tenemos un lmite de 2Kb en el cdigo fuente, lo que es suficiente para todos los proyectos que desarrollaremos
en nuestro libro. Soporta una gran
cantidad de modelos de PICs y proporciona libreras para RS-232, conexiones USB, interfaz para displays,
etctera. Dado que es el lenguaje y la
IDE que vamos a utilizar, comencemos a estudiar en detalle cada una de
sus herramientas.
Instalacin de mikroBasic
Para instalar el programa en nuestra
computadora, debemos dirigirnos a
la direccin www.mikroe.com/en/
compilers/mikrobasic/pic/ y entrar en la seccin Download, donde
podremos bajar la ltima versin.
Los pasos de instalacin son muy
sencillos, clsicos en cualquier programa de Windows (Figura 5).
En la misma seccin del sitio podemos encontrar actualizaciones y parches, por lo que recomendamos visitar peridicamente el sitio. Tambin
podemos encontrar un conjunto de
manuales, muy claros y didcticos,
que nos permitirn completar nuestra
breve mirada sobre la herramienta.
En nuestro caso, todos los ejemplos
que mostraremos y las indicaciones
99
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 100
de operacin del mikroBasic estn stas y otras opciones se pueden confibasados en la versin 5.0.0.2, del 31 gurar desde Tool/Preferences o al hacer clic sobre el icono Tools (Figura 6).
de octubre de 2006.
Para utilizar el asistente de cdigo, una
Editor de cdigo fuente
vez que ingresamos las primeras letras
de mikroBasic
de lo que deseamos escribir, presionaUno de los puntos ms fuertes de la mos CTRL + ESPACIO y todos los idenIDE 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, conzos masivos. Pero adems, nos ofrece: tinuar con el texto deseado si no lo encontramos (Figura 7). Es necesario realizar una primera compilacin para
Coloreo de sintaxis.
que funcione el asistente.
Asistente de cdigo.
Asistente para parmetros de fun- Tambin podemos activar un asistente para los parmetros de las funciones.
ciones (Figura 8). Para ello, escribi Plantillas prearmadas.
mos la llamada a la funcin y, cuan Autocorreccin de tipos.
do abrimos el parntesis, automti Bookmarks.
100
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 101
101
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 102
camente aparecer un pequeo cartel con el o los parmetros correspondientes, que nos indicar con
nombre:tipo qu funcin cumple el
parmetro y de qu tipo es.
102
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 103
Explorador de cdigo
El explorador de cdigo (Code Explorer) se encuentra en la zona izquierda
de la ventana. Nos proporciona una
lista de los tems declarados en el cdigo. Desde all podemos saltar a cualquiera de las declaraciones con slo
hacer doble clic sobre ella. En la parte superior del explorador podemos
encontrar dos solapas ms. La solapa
QHelp nos proporciona ayuda sobre la
librera de funciones. La ltima solapa (Keyboard) nos proporciona una
lista de los atajos de teclado del editor.
Depurador
MikroBasic proporciona un depurador a nivel de cdigo fuente (Figura
11). Esto nos permite simular el comportamiento del micro y nos asiste
para la depuracin de errores. Dado
103
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 104
Para poder probar las opciones del depurador, realicemos nuestro primer
programa sencillo, idntico al que hemos utilizado en cada ejemplo del
compilador. Para comenzar, luego de
abrir mikroBasic, cerremos el proyecto que tengamos abierto y vayamos al
men Project/Close Project. Creemos
un proyecto nuevo en Project/New
Project, donde nos aparecer la ventana que podemos ver en la Figura 12.
Completemos el nombre, el sendero
y la descripcin del proyecto y eligamos el procesador (utilicemos el PIC
16F88) y la velocidad de reloj (en
nuestro caso, 4.0). Las banderas que
104
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 105
aparecen en la parte inferior las dejaremos como estn por defecto. Automticamente nos aparecer un
fuente con el encabezado del programa. Debajo del encabezado escribiremos el siguiente cdigo:
main:
TRISB = 0
Configura
los pines de PORTB como salida
while true
PORTB.3 = 255 Enciende
los pines de PORTB
delay_ms(500) Espera
500 milisegundos
PORTB.3 = 0
Apaga
PORTB
delay_ms(500)
Nuevamente espera 500
milisegundos
wend
end.
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 106
Manos a la obra
Como ya hemos visto, mikroBasic
organiza sus aplicaciones en proyectos. Estos proyectos estn compuestos por un archivo .PBP descriptor
del proyecto y uno o ms archivos de
cdigo fuente con extensin .PBAS.
Cabe aclarar que slo podemos
compilar un fuente si ste forma
parte de un proyecto.
Una vez que tenemos creado el proyecto, como vimos en el punto anterior, podemos editarlo si vamos a
Project/Edit project, donde nos aparecer la misma ventana que usamos
para crearlo. Cuando compilamos
nuestro proyecto, se nos generan los
siguientes archivos:
106
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 107
WINPIC800
Figura 15. Aqu podemos ver el assembler del cdigo que enciende el led.
Los comentarios que tiene lo hacen ms legible.
107
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 108
un rango de 32 bits, podemos acceder a cualquiera de ellos si escribimos mivar.n, donde n es un nmero
entre 0 y 31, que indica el bit al cual
accedemos. Este acceso es tanto a nivel de lectura como de escritura.
108
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 109
Dim
Dim
a
b
as
as
byte
longint
Es equivalente a
Dim a as byte
Dim b as longint
=: operador de asignacin.
23: literal.
newline: fin de la sentencia.
Los literales son aquellas expresiones
que no deben ser evaluadas, que ya
tienen valor por s mismas. En el caso de los literales que representan nmeros enteros, pueden estar antecedidos por un signo ms o un signo menos. Tambin podemos escribir literales enteros en hexadecimal si anteponemos el prefijo $ 0x ($3F 0x3F)
o en binario, si anteponemos %
(%100101). Los literales de punto
flotante representan el signo decimal
con un punto. La estructura es: parteEntera.parteDecimalExponente, si
utilizamos la notacin cientfica tradicional. Algunos ejemplos:
0.
=0.0
-1.43
=-1.43
12.55e6
=12.55 * 1000000
2e-5
=2 * 10^-5 o lo
que es igual, 2 / 100000
.04e33
=0.04 * 10^33
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 110
caracteres de la A a la Z, el carcter
_ (guin bajo), y los dgitos del 0 al
9. La primera letra debe ser un
carcter o el guin bajo. No se distingue maysculas, por lo tanto var,
Var y vAr son el mismo identificador.
Declaracin de variables
dim
Declaraciones de procedimientos
sub procedure <nombre
procedimiento>(<param1>, )
<declaraciones locales>
end sub
Declaraciones de funciones
sub function <nombre
funcin>(<param1>, )
<declaraciones locales>
end sub
**********************
Cuerpo de programa
**********************
main:
aqu va nuestra obra
maestra
end.
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 mikroBasic. 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
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 111
module <nombre>
include <otros mdulos
incluidos>
**********************
Interface (globales):
**********************
Declaracin de smbolos
symbol
Declaracin de constantes
const
Declaracin de variables
dim
prototipos de procedimientos
sub procedure <nombre
procedimiento>(<param1>, )
prototipos de funciones
sub function <nombre
funcin>(<param1>, )
**********************
Implementacin
**********************
implements
Declaracin de constantes
const
Declaracin de variables
dim
Declaraciones de procedimientos
sub procedure <nombre
procedimiento>(<param1>, )
<declaraciones locales>
end sub
Declaraciones de funciones
sub function <nombre
funcin>(<param1>, )
<declaraciones locales>
end sub
end.
Alcance y visibilidad
Llamamos alcance de un identificador a la parte del programa donde el
identificador se puede utilizar para
acceder al objeto al que apunta.
Hay diversos alcances segn el lugar
donde hacemos la declaracin del
identificador, veamos:
Si el identificador se declara en la
seccin de declaraciones del mdulo principal, fuera de toda funcin
o todo procedimiento, el alcance se
extiende desde la declaracin hasta
el final del archivo, y se incluyen todas las rutinas que all se encuentran. Diremos que estos identificadores tienen un alcance global.
Si en cambio se declara en una
funcin o un procedimiento, su al111
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 112
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 pgina, se producir un error de compilacin. Si nos encontramos con este problema, basta con redisear nuestro cdigo para obtener rutinas ms pequeas.
112
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 113
todas del mismo tipo de datos. Por permita el valor asignado. Aqu teejemplo:
nemos algunos ejemplos:
dim dias, edad, curso as byte
dim contador as word
Basic es un lenguaje con tipos estrictos. Esto significa que en el momento de la compilacin se debe poder definir un tipo especfico para
cada identificador.
En estos lenguajes, los tipos sirven
para determinar la cantidad de memoria necesaria, interpretar los bits
que encuentran en el objeto cuando
acceden y para asegurar asignaciones
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
113
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 114
semana[2] = 12
ndice:
CICLOS INFINITOS
114
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 115
EFICIENCIA DE TIPOS
tuacin. Cada modelo de procesador tiene diferentes comportamientos en su unidad aritmtico lgica, pero siempre es
bueno usar tipos ajustados a lo necesario.
Estructuras
Para representar objetos cuya inforstructure punto
macin es un conjunto de datos de
dim x as integer
diversos tipos, utilizamos estructudim y as integer
ras. Por ejemplo, si queremos repreend structure
sentar un punto, necesitamos la coordenada x y la coordenada y comprendida por un nombre nico. La Una vez creada la estructura, se la utideclaracin de la estructura es la que liza como si fuera un tipo en la declaracin de identificadores. Por ejemplo:
podemos ver a continuacin:
structure nombre_estructura
dim miembro1 as tipo
115
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 116
OPERACIN
EJEMPLO
Suma
5 + 3 retorna 8
Resta
2 - 3 retorna -1
Multiplicacin
5 * 4 retorna 20
Divisin
div
Divisin entera
14 div 4 retorna 3
mod
14 mod 4 retorna 2
OPERACIN
EJEMPLO
Igual
<>
Distinto
>
Mayor que
<
Menor que
>=
Mayor o igual
<=
Menor o igual
116
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 117
Si se utiliza de manera explcita el literal 0 como segundo operando, el compilador reportar un error y no generar cdigo. Pero en el caso de que este problema se produzca en forma
implcita (por ejemplo, cuando tenemos una variable que toma fortuitamente el valor 0 y est como dividendo)
Sentencias
Como en todo lenguaje de programacin procedural, tenemos un pequeo conjunto de sentencias que el
compilador convierte en las instrucciones de cdigo mquina correspondientes. En general, este conjunto es mnimo, y se enriquece con
la librera de funciones y procedimientos que ofrece el ambiente. A
OPERADOR
and
OPERACIN
EJEMPLO
12 (%1100) and
posicin estn en 1.
10 (%1010) retorna
12 (%1100) or
10 (%1010) retorna
8 (%1000)
or
14 (%1110)
xor
12 (%1100) xor
10 (%1010) retorna
6 (%0110)
not
<<
117
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 118
Sentencia asm
La primera sentencia que presentaremos es asm, que permite incorporar cdigo assembler en nuestro cdigo Basic. Su sintaxis es:
Sentencias condicionales
Como en otros lenguajes proceduraconjunto de instrucciones
les, contamos con sentencias condien assembler
cionales que nos permiten seguir uno
end asm
u otro curso de accin segn determinada condicin. La ms conocida
Dentro de esta sentencia, debemos es la sentencia if, cuya sintaxis es:
comenzar los comentarios con punto y coma. Luego, al compilar, este
if expresin then
cdigo quedar directamente tradusentencias
cido a los valores correspondientes
de cdigo mquina.
[ else
asm
otras sentencias ]
Asignacin
end if
Aunque ya la hemos usado, no podemos dejar de presentar la asignacin
La expresin del if debe ser una exque tiene la siguiente forma:
presin booleana, es decir, que devuelva verdadero o falso. En el caso
variable=expresin
de retornar el valor verdadero, se ejecutan las sentencias que estn denLa 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,
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 variable 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
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 119
case valor_2
sentencias_2
case valor_n
sentencias_n
[case else
sentencias_por_
defecto
]
end select
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
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 120
next i
Sentencias de iteracin
Las sentencias de iteracin nos permiten 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 ejecusentencias
tarse, de la siguiente manera:
wend
for contador = valor_inicial to
valor_final [step
valor_salto]
sentencias
next contador
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 121
tencias no se ejecutan nunca, porque evaluar la expresin luego de la ejela expresin retorna falso en la pri- cucin de las sentencias.
mera evaluacin. Por ejemplo:
Para ello tenemos la sentencia do,
con la siguiente sintaxis:
i=0
while i<=7
a[i]=255
i=i+1
wend
En este ejemplo, logramos exactamente que lo que hicimos en el anterior. En general, cuando la condicin de corte est basada en alguna
variable que aumenta en forma lineal (de 1 en 1, de N en N) se utiliza
la sentencia for. En otro caso, cuando la condicin es ms compleja y el
comportamiento de las variables que
entran en juego en la condicin es
ms complejo y menos lineal que un
aumento de N en N, es necesaria
una estructura while.
Si necesitamos que el conjunto de
sentencias que se van a repetir se ejecute por lo menos una vez, debemos
do
sentencias
loop until expresin
121
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 122
INTELIGENCIA ARTIFICIAL
122
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 123
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 entendemos que violan demasiado el flusintaxis es la siguiente:
jo del programa y porque son fcilmente reemplazables por alguna de
goto nombre_etiqueta
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 essiguiente donde est ubicada la eti- te punto, es que todas estas sentenqueta. 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 lenguajes 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 probablemente resulte familiar a todos los que alguna vez programaron en algn
lenguaje. MikroBasic, adems de brindarnos un lenguaje Basic muy accesible, posee una IDE muy completa y amable para este duro proceso de programacin. Hemos 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 motores, podremos comenzar a darle vida a nuestro robot.
123
05_robotica.qxd
24/10/2007
02:21 p.m.
Pgina 124
ACTIVIDADES
TEST DE AUTOEVALUACIN
1 A qu llamamos lenguajes de bajo y alto nivel? Qu ventajas y limitaciones
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?
5 Para qu es til programar en CCS C?
nuestro robot.
cada una de las otras dos. Por ejemplo, construya una estructura for con
124
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 125
Robtica
Captulo
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
podemos utilizar en nuestro robot
y cmo programarlos.
126
126
127
135
140
145
146
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 126
6. RECORRER EL MUNDO
EL MOVIMIENTO
DEL ROBOT
Nuestro robot crece. Despus de varios intentos le hemos podido brindar una inteligencia precaria. Puede
encender o apagar un led, lo que nos
emociona cada vez que ocurre. Pero
nada nos conforma.
Queremos que empiece a andar, a
hacer su propio camino. Y es por eso
que analizamos con cuidado cules
sern sus futuros pasos. Lgicamente, en los diferentes tipos de am-
bientes donde puede moverse nuestro robot necesita de diversos mecanismos de locomocin. Volar hacia
otros planetas? Se sumergir en busca de tesoros? Reptar en pantanos
movedizos? O slo se trasladar sobre un piso pulido, sin rebordes ni
pelos que traben sus motores?
Como ya habr tiempo de hazaas y
proezas, por ahora nos basta con recorrer con dos ruedas sencillas una
superficie que no presente problemas. Cuando veamos que ya domina el mundo de dos dimensiones del
piso, estaremos en condiciones de
proyectar otros horizontes.
Tipos de motores
126
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 127
RECICLADO
El reciclado es una tendencia que, adems de proteger el medio ambiente, nos permite ahorrar dinero. Adems de todas las recomendaciones que hacemos aqu para recuperar partes de equipos o juguetes que ya no utilicemos, Internet es una fuente adicional de ideas. Estos son algunos sitios interesantes donde se explica cmo reciclar componentes 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
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 128
6. RECORRER EL MUNDO
II
II
Torque
En la Web podemos encontrar varios sitios con informacin ms detallada sobre el funcionamiento 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 permitirn comprender en forma ms precisa las caractersticas de estos motores.
128
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 129
+ Vcc
PNP
PNP
C2
C1
NPN
NPN
GND
EL L293D Y EL L293B
129
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 130
6. RECORRER EL MUNDO
Vc
M
l2
7
l1
2
16
Vss
8
1
Chip Inhibit
4, 5, 12, 13
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 131
PIN 1
PIN 2
PIN 7
H
H
H
L
Pin 2=Pin 7
X
Motor frenado.
Motor en punto muerto.
Tabla 1. Cmo lograr cada estado del motor con los pines
del L293D. H: high (alto); L: low (bajo).
Velocidad
Mnima
Velocidad
Mxima
131
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 132
6. RECORRER EL MUNDO
PROBLEMAS FSICOS
132
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 133
L293D-PIN 9
L293D-PIN 10
L293DPIN 15
16F88-PIN 8
16F88-PIN 7
H
L
H
Pines en mismo estado
delay_ms(500)
Espera 500 milisegundos
PORTB.3 = 0
Apaga RB3
delay_ms(500)
Nuevamente espera 500
milisegundos
wend
end.
program TitilaLedPreciso
program mueveMotorCC
main:
TRISB = 0
Configura los pines de PORTB
como salida
while true
PORTB.3 = 1
Enciende RB3 donde est
conectado el led
main:
TRISB = 0
Configura los pines
de PORTB como salida
while true
Configuramos el Pin 7
y el 8 para girar en
un sentido
133
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 134
6. RECORRER EL MUNDO
PORTB.1 = 1
Enciende RB1
(Pin 7 del 16F88)
PORTB.2 = 0
Apaga RB2 (Pin 8
del 16F88)
delay_ms(1000)
Espera 1 segundo
Configuramos
el Pin 7 y el 8
para girar en el
otro sentido
PORTB.2 = 1
Enciende RB2
(Pin 8 del 16F88)
PORTB.1 = 0
Apaga RB1 (Pin 7
del 16F88)
delay_ms(1000)
Espera 1 segundo
Configuramos el Pin
7 y el 8 para
que el motor se
detenga
PORTB.1 = 0
Enciende RB1
(Pin 7 del 16F88)
PORTB.2 = 0
Enciende RB2
(Pin 8 del 16F88)
delay_ms(1000)
Espera 1 segundo
wend
end.
Motorreductores CC
Como ya comentamos, los motores
CC tienen mucha velocidad y poca
fuerza, por lo que se hace necesario
el uso de un sistema de reduccin
para poder equilibrar estas variables.
Una de las soluciones es construir
una caja reductora externa al motor.
Sin embargo, en los ltimos aos
han surgido motores de CC que ya
proveen esta solucin a nivel interno. A estos motores se los conoce como motorreductores. Consisten en
un micromotor de CC con una caja reductora que usa el sistema de tipo planetario en un compartimiento sellado, lo que libera al sistema de
la suciedad que podra afectar su
funcionamiento (Figura 7).
Los motorreductores son ms difciles de conseguir que los motores de CC convencionales. Sin embargo, una forma sencilla de hacerlo es convertir un servo como 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
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 135
135
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 136
6. RECORRER EL MUNDO
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
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 137
No. DE PASO
1A
1B
2A
2B
+Vcc
Gnd
+Vcc
Gnd
+Vcc
Gnd
Gnd
+Vcc
Gnd
+Vcc
Gnd
+Vcc
Gnd
+Vcc
+Vcc
Gnd
1a
1a
Com1
1b
2a
2b
Motor-PaP Bipolar
2a
Com2
M
1b
2b
Motor-PaP Unipolar
137
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 138
6. RECORRER EL MUNDO
138
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 139
biamos el sentido de giro. El control quemas podemos duplicar la cantims 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
1A
1B
2A
2B
139
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 140
6. RECORRER EL MUNDO
Servos
140
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 141
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.
141
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, coms caros y el consumo de energa es mo los que hemos presentado al comayor 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 moximadamente 180 grados. Su sistema tor de CC con caja reductora. El cade control nos permite definir su n- ble de control desaparece y slo tegulo de rotacin en forma precisa y nemos dos cables donde se aplica cosencilla, pero muchas veces necesita- rriente. A mayor corriente tendremos que el motor gire 360 en forma mos mayor velocidad y, si modificacontinua, 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 reen 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 cuidado, sin forzar el giro del eje ms all de su tope de rotacin.
142
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 143
Saque la tapa superior que encierra la caja reductora y preste mucha atencin a la disposicin de los engranajes para volver a ubicarlos en su lugar.
143
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 144
6. RECORRER EL MUNDO
144
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 145
MODIFICAR SERVOS
A continuacin presentamos las direcciones de algunos sitios donde se proporcionan los pasos para modificar diversos modelos de servos:
Futaba 3003:
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 mundo. Pero no todo es tan sencillo. En este captulo hemos analizado los diferentes tipos 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 poco torque. Por lo tanto, debemos agregarles una caja de reduccin para poder mover las ruedas a una velocidad razonable y con la fuerza necesaria. Por suerte contamos 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 paso a paso, que en general estn presentes en disqueteras, impresoras, discos rgidos, 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
06_robotica.qxp
24/10/2007
02:27 p.m.
Pgina 146
ACTIVIDADES
TEST DE AUTOEVALUACIN
1 Qu es el torque? Cmo se logra en
un motor de corriente continua?
EJERCICIOS
1 Mediante la utilizacin de la modulacin por pulsos, haga un programa
que, segn el valor de una variable,
4 Qu es el PWM?
to a un motor de CC convencional?
3 Mediante la utilizacin de la modula7 Cmo funciona un motor paso a paso?
146
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 147
Robtica
Captulo
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
que usaremos en los prximos captulos.
Adaptacin al entorno
Tipos de sensores
Caractersticas esenciales
de los sensores
Sensores digitales
Los sensores analgicos
Tipos de sensores analgicos
Resumen
Actividades
148
148
149
152
158
162
165
166
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 148
7. SENSAR EL MUNDO
ADAPTACIN
AL ENTORNO
Ya piensa, ya camina La obra contina creciendo. Y sin embargo, cada
vez que lo ponemos a nuestro lado para que nos acompae, se lleva por delante una pared, se pierde por lugares
inslitos o se cae por una escalera. Algo nos falta, algn soplo de creacin
nos hemos olvidado de brindarle a
nuestro robot. Nos hemos olvidado
de incorporarle sentidos! Sin ver, sin
tocar y sin escuchar, es imposible que
se separe de nuestra mano y de nuestros ojos. Y es por eso que empezamos
a pensar cules seran los sentidos
esenciales que podemos brindarle. Le
agregamos la vista? Es un desafo
complejo, demasiada informacin
para su pequea inteligencia. El tacto ser suficiente? Tendr una vida
dura, golpendose contra todo para
Tipos de sensores
Los sensores tienen como objetivo
captar alguna seal brindada por el
ambiente que rodea al robot, y
transformar esa seal en un impulso elctrico que reciba nuestro controlador. Luego, desde el programa
que usemos para darle comportamiento, interpretaremos este impulso para actuar en consecuencia.
Cuando hablamos de seales del
ambiente, nos referimos a la informacin habitual que, como humanos, podemos captar: imgenes visuales, olores, informacin tctil, so-
148
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 149
Adaptacin al entorno
nidos y sabores. Pero esto no termina aqu: podemos utilizar otros mecanismos que superen al sistema
sensorial humano. Contamos con
sensores ultrasnicos para medir distancias, sensores de metales, detectores de diversos gases, etctera.
NARICES ELECTRNICAS
Caractersticas esenciales
de los sensores
Los sensores determinan en forma
precisa el comportamiento de nuestro
robot. Es por eso que cuando elegimos el tipo de sensor que incorporamos, debemos analizar un conjunto
de caractersticas que nos permitirn
definir si es o no el que necesitamos
para nuestra tarea. stas son:
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 150
7. SENSAR EL MUNDO
150
Velocidad de muestreo: es la frecuencia con la que el sensor refresca su lectura del ambiente. A mayor velocidad, mejor adaptacin a
los cambios del mundo en el que se
mueve nuestro robot. Pero por otro
lado, nos exige mayor procesamiento de los valores de entrada.
De todas formas, si el sensor tiene
una alta velocidad y no nos da
tiempo para procesar los datos, podemos desechar valores de lectura y
lograr la velocidad de muestreo que
necesitemos. En el caso contrario,
no podemos solucionar el problema. Es decir, nos conviene un sensor con la mayor velocidad de
muestreo posible, que luego regularemos al tomar todos los valores o
slo un conjunto de ellos.
Costo: aunque en nuestros primeros proyectos tal vez no parezca un
elemento fundamental de anlisis,
cuando desarrollemos robots ms
complejos nos encontraremos con
limitaciones de este tipo. Y lamentablemente, veremos que hay una
relacin lineal entre el costo y las
dems caractersticas: los sensores
ms caros son mejores.
Sencillez de uso: en estos primeros pasos, es fundamental que tanto la interfaz electrnica que debemos desarrollar entre el sensor y el
micro, como su programacin para la interpretacin de los datos,
sea lo ms sencilla posible.
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 151
Adaptacin al entorno
151
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 152
7. SENSAR EL MUNDO
Sensores digitales
Los sensores digitales son aquellos
que, como salida de su sensado del
mundo, nos devuelven hacia el controlador un valor discreto (Figura 4).
El modelo ms sencillo de este tipo
de sensores es aquel que directamente nos devuelve un uno o un cero. En
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
152
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 153
Adaptacin al entorno
+5
R3
1K
R4
1K
Sensor 1
1
2
3
Sensores
Sensor 2
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 dinero 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 nuestro auto. Slo se activan con la marcha atrs, y nos dan informacin de distancia
mediante luces, textos o cantidad de bips.
153
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 154
7. SENSAR EL MUNDO
Figura 6. Un modelo de
microswitch con palanca grande.
154
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 155
Adaptacin al entorno
Otra forma de utilizar el sensor infrarrojo es enfrentar el led con el fototransistor. Por lo tanto, lo que podemos detectar all es el corte de visin
entre ambos. A este tipo de arquitectura se la conoce como sensor de ranura. Podemos utilizarlo simplemente
para la deteccin de objetos (como se
usa en ciertos estacionamientos para
avisar la salida de un auto) o para contar los pasos de una rueda asociada al
eje de un motor y, de esta manera, armar un sensor de rotacin. Dependiendo de cmo est acanalada la rue-
En el captulo anterior ya vimos cmo podamos reciclar los motores de nuestros antiguos dispositivos. Ahora veamos qu ocurre con los sensores:
Disquetera 5 1/4: detector infrarrojo de ranura para detectar pista cero, fototransistores, 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 control remoto, microswitches, infrarrojos de ranura, sensores de efecto hall.
155
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 156
7. SENSAR EL MUNDO
da y de la cantidad de sensores que podamos utilizar, la deteccin que podemos hacer puede ir desde contar la cantidad de pasos que se han dado, hasta
la codificacin de la posicin absoluta.
Si queremos conectar un infrarrojo
a nuestro controlador para detectar
Es posible armar sensores digitales caseros con slo disear un dispositivo que cierre o abra el circuito segn la deteccin que se quiera hacer. Por ejemplo, para detectar unos discos de metal que se encontraban pegados al piso, cuyo borde era conductor, realizamos un sensor muy sencillo con escobillas de autitos de carrera. Slo pusimos bajo una madera 14 pedazos de escobilla en forma paralela con una distancia 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 sensor ganamos un campeonato de robtica latinoamericano!
156
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 temagntico, 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 magnetiprogram Sensorescapitulo7
zado, aumenta el voltaje. Y si se acerca 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
if PORTA.3=1 then
Verifica el estado del
pin donde est conectado
Vss
17
18
1
2
3
RA0
RA1
RA2
RA3
RA4/TOCKL
+5
R1
1
Infrarrojo
LED2
Photo
PNP
2
R3
R2
157
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 158
7. SENSAR EL MUNDO
el sensor 1
PORTB.3=1
si est encendido
(el sensor activado)
enciende el led
else
PORTB.3=0
si no, lo apaga
end if
wend
end.
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
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 159
Adaptacin al entorno
VOLTAJE ENTRADA
SALIDA
MIN
MAX
BINARIA
DECIMAL
0,3125
0000
0,3125
0,625
0001
0,625
0,9375
0010
0,9375
1,25
0011
1,25
1,5625
0100
1,5625
1,875
0101
1,875
2,1875
0110
2,1875
2,5
0111
2,5
2,8125
1000
2,8125
3,125
1001
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
1111
15
HOJAS DE DATOS
Si buscamos informacin sobre algn integrado, seguramente llegaremos a su respectivo 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
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 160
7. SENSAR EL MUNDO
CONVERSIN ANALGICO-DIGITAL
Aunque parezca un tema novedoso y desconocido, vivimos rodeados de conversiones 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, necesitamos pasar del infinito continuo al finito discreto.
160
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 161
Adaptacin al entorno
SENSORES ULTRASNICOS
Los pasos de operacin del ADC son receptor por separado o utilizar el miscomplicados. Por suerte, como ya mo piezoelctrico para ambas cosas.
comentamos, mikroBasic nos pro- Podemos conseguirlos en algunas cporcionar 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 baso, debemos poner un valor que de- jo consumo.
termine los cuatro bits ms significativos (del 4 al 7). Los bits 4 y 5 determinan los valores de referencia word que devuelve la lectura digital.
Como sabemos que son 10 bits que
segn la siguiente tabla:
quedarn en ADRESH y ADRESL, enVALOR
VREF+
VREFtonces, 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 sig10
Vref+ (RA2)
Avss
nificativos de ADRESH. En el caso
11
Vref+ (RA2)
Vref- (RA3)
contrario, sern los 6 menos signifiTabla 2. Valores a ser seteados
cativos de ADRESL.
en ADCON1 para definir los valores
de referencia Vref+ y Vref- en
la conversin A/D.
Como paso siguiente, debemos indicar los pines que sern de entrada
en A con TRISA o en B con TRISB.
Para finalizar, leemos el valor del canal donde tengamos la entrada con
la funcin Adc_Read(nro de canal),
que devuelve un valor de tipo word.
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 162
7. SENSAR EL MUNDO
5V
20 K
Masa
162
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 163
Adaptacin al entorno
OSC1/TCLKIN
OSC2/CLKOUT
Vss
17
18
1
2
3
RA0
RA1
RA2
RA3
RA4/TOCKL
16F88 / 16F84
R3
1K
+5
LDR
R1
DETECTOR DE MENTIRAS
Si queremos usar nuestro robot para combatir el crimen organizado, adems de ponerle 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, sudamos, y por lo tanto cambiamos esta medida, aunque a veces nos parece que hay gente que miente sin que se le mueva un pelo.
163
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 164
7. SENSAR EL MUNDO
VCC
330
Potencimetro
al conversor A/D
10 K
Ejemplo de programacin
de la lectura de un LDR
en una entrada analgica
Este ejemplo es una de las pocas cosas que no podremos hacer si tenemos
un 16F84, y es por eso que recomendamos hacer el pasaje de micro. En el
ejemplo que dimos, tenamos conectado 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.
Micrfonos.
Ultrasnicos: permiten medir distancias con el mismo mecanismo que
utilizan los murcilagos (Figura 16).
Acelermetros: detectan aceleracin y vibracin.
Inclinmetros: sensan la posicin
vertical.
164
main:
ADCON1 = $80 configuro
la forma de lectura del
valor digital
y que utilizar
Vss y Vdd como
valores de
referencia.
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 165
Adaptacin al entorno
PORTB.3=1
Enciendo el led
else
PORTB.3=0
Y si no, lo apago
end if
wend
end.
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 digitales, que nos devuelven valores discretos, habitualmente, 1 y 0. Entre estos sensores, 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, debemos pasar este valor de entrada por un conversor analgico digital. Afortunadamente, varios micros ya proveen en forma interna ese conversor, como el
16F88 que recomendamos en este libro.
165
07_robotica.qxp
24/10/2007
02:35 p.m.
Pgina 166
ACTIVIDADES
TEST DE AUTOEVALUACIN
1 Cules son las caractersticas esenciales de los sensores?
EJERCICIOS
1 Realizar un programa donde el led se
encienda si los dos interruptores
estn en el mismo estado (los dos
presionados o sueltos).
su arquitectura?
encienda los leds segn la salida digital del valor del potencimetro (es de-
7 Qu es un sensor analgico? Qu es
un conversor A/D?
166
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 167
Robtica
Captulo
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
captar el ambiente, y dejaremos todo listo
para los prximos captulos.
Colaborador:
Cuerpo a cuerpo
Caractersticas mecnicas
de un robot autnomo
Robots areos
Robots subacuticos
Robots terrestres
Sistemas con ruedas
Estructura de nuestro robot
Mecanismos de transmisin
y reduccin
Cinemtica de un robot
Odometra
Resumen
Actividades
168
169
173
174
174
179
184
190
194
196
197
198
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 168
CUERPO A CUERPO
168
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 169
Cuerpo a cuerpo
Caractersticas mecnicas
de un robot autnomo
Ubicacin de las bateras: ya hemos comentado que ste es un tema especial y molesto. Si en nuestro robot agregamos la electrnica
de la carga de la batera, podemos
ubicarla en algn lugar inaccesible
mientras podamos enchufar el cable de alimentacin. Pero si no
agregamos esto, necesitamos ubicar las bateras en algn lugar donde podamos sacarlas y ponerlas sin
tener que desarmar todo.
Ubicacin del controlador: tenemos un problema similar al de las
bateras. Si desarrollamos la programacin en circuito (como es
nuestro caso), basta con dejar el
conector para comunicarnos con
el programador. Pero si tenemos el
micro en un zcalo, tendremos
que poder acceder a l para llevarlo al programador y regresarlo.
Tipos de locomocin: otro aspecto fundamental es el ambiente
donde el robot debe desarrollar la
actividad. Son tantas las modificaciones que debemos tener en cuenta, que trataremos este tema en
forma detallada ms adelante.
169
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 170
Equilibrio del robot: cada ambiente en particular aade caractersticas especficas a la actividad.
Por ejemplo, uno de los problemas
habituales son las rampas o los
obstculos. En el caso de las rampas,
tenemos que analizar con atencin
si la potencia de los motores nos
permitir subirlas o bajarlas sin caernos o quedarnos estancados. Y esto no hay que hacerlo mediante el
encendido de los motores y luego
colocar al robot al comienzo de la
rampa para ver si la sube, dado que
si debe sensar para poder subir, el
comportamiento de los motores
ser mucho ms complejo y con seguridad no alcanzaremos la poten-
170
cia necesaria. Al probarlo es necesario tener en cuenta todos los problemas que se encontrar en el trayecto de subida. Lo mismo ocurre
con los obstculos. Puede ocurrir
que nuestro robot supere uno de
ellos cuando lo ponemos directamente frente a l, pero si llega inclinado o mientras analiza los sensores, es posible que fracase en su intento. Es por eso que el verdadero
comportamiento lo vamos a obtener en la arena real. Una buena idea
es construir un espacio lo ms parecido posible al que va a tener el robot como ambiente, para poder testearlo en forma robusta.
Superficie donde se desarrolla la
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 171
Cuerpo a cuerpo
171
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 172
las ruedas. Adems, cualquier movimiento o vibracin de los motores no contemplado, comenzar a
deteriorar el sistema de transmisin. Tanto los motores como los
ejes donde se asiente la transmisin deben estar robustamente anclados para evitar estos problemas.
Ubicacin del sistema de comunicacin: si tenemos el placer de
aadir un sistema de comunicacin inalmbrico, tenemos que
ubicarlo en algn lugar donde no
tengamos interferencias y donde
podamos cambiar de canal con facilidad si es necesario (por ejemplo, en el caso de uso de radio).
Tamao y peso: todo lo que hemos
descripto tambin est acotado por
estos dos factores, que se presentan
como lmites habituales en las competencias 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, muchas veces, si no hemos previsto con antelacin el problema, estamos obligados a
desarmar el robot en forma casi completa.
172
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 173
Cuerpo a cuerpo
Todo lo que hemos descripto se aplica a robots terrestres. Imaginemos todos los problemas que surgen en los
areos y submarinos! Como el nivel de
complejidad de estos robots supera
nuestro humilde libro, comentaremos
de forma muy simple algunas cuestiones de los robots de este tipo, para luego profundizar en los terrestres.
Robots areos
Uno de los problemas fundamentales
que podemos encontrar en el desarrollo de estos robots es la necesidad
de obtener informacin del ambiente
con una frecuencia mucho mayor que
en el caso de los robots terrestres. En
estos casos, el robot no puede hacer
nada y debe quedar en estado de reposo. Necesariamente tiene que recibir informacin de su movimiento en
3D y adaptar la velocidad de sus motores y posicionamiento de sus alas o
rotores en forma constante.
En general, utilizan un sistema redundante de sensores para su posicionamiento, de forma tal que ante cualquier interrupcin momentnea de
uno o ms de ellos, pueda recuperarse de la prdida. Por otra parte, con
esta redundancia se logra mayor fiabilidad y precisin en la informacin.
En general utilizan GPS (Global Positioning System, Sistema de Posicionamiento Global), acelermetros, girscopos, telmetros y otros sensores so-
173
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 174
Robots subacuticos
Robots terrestres
174
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 175
Cuerpo a cuerpo
Ex.Su.Ac. (Explorador SubAcutico) es un robot desarrollado por alumnos de la Escuela Tcnica No. 3 de Buenos Aires. El robot se realiz con la utilizacin de productos 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 generacin de mapas del suelo subacutico. Podemos encontrar ms informacin en
www.oni.escuelas. edu.ar/2005/GCBA/972/.
175
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 176
Orugas
Los sistemas de oruga unen la rueda
trasera con la delantera (Figura 7). Tienen como ventaja una mayor adherencia a la superficie y la capacidad de
adaptarse a terrenos irregulares. En
general son de goma, pero tambin
podemos hallar orugas metlicas que
le permiten clavarse en superficies demasiado pulidas. La desventaja que
presentan es la imposibilidad de realizar trayectorias curvas. La nica forma de rotar es si se giran las orugas de
cada lado en sentido opuesto, lo que
logra un giro en el lugar, pero el avance slo puede ser en lnea recta.
CUBE REVOLUTIONS
Patas
Los robots con patas son el resultado
de un enfoque biolgico de la arquitectura, y van de la mano del sueo
de la criatura humana (Figura 8). Tambin tienen como ventaja una mayor
adaptacin a terrenos complejos, pero eso an no se ha logrado. El sistema de equilibrio en estos robots es
complicado, y necesitan de una coordinacin muy precisa de los mecanismos de control de los motores.
doctorado/cube-revolutions/index.html.
En general, presentan 3 grados de libertad en cada pierna: cadera, rodilla y tobillo. En las dos ligas internacionales de ftbol de robots encontramos categoras de robots con
patas, pero an no juegan verdaderos partidos, sino pruebas de destreza. Una forma de aumentar el equilibrio consiste en incrementar el nmero de patas. En este sentido, los
Figura 7. Robot
NR3 con sistema
de orugas
desarrollado por
Francisco
Carabaza Pieiro.
176
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 177
Cuerpo a cuerpo
177
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 178
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 179
Cuerpo a cuerpo
Configuracin diferencial
sta es la configuracin de ruedas ms
sencilla, y es la que utilizaremos en
nuestro robot (Figura 11). Es econmica y la transmisin no es tan com-
RECICLADO
stos son algunos sitios interesantes donde se explica cmo reciclar componentes
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
179
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 180
Cuando el motor que alimenta la rueda da las vueltas necesarias para completar una vuelta de esta ltima, no
necesariamente ha girado su circunferencia por problemas de rozamiento.
De este modo, la nica forma de verificar que ambas ruedas giran sincronizadas es sensar el comportamiento
interno o externo del robot.
Otra dificultad es la navegacin hacia un punto determinado. Es un
desafo complejo e interesante hacer
que un robot llegue lo ms rpido
posible a su destino. Una forma sencilla es rotar hasta apuntar al objetivo final, y luego navegar en forma
recta, corrigiendo de tanto en tanto
180
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 181
Cuerpo a cuerpo
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 distintas direcciones, tenemos que agregar 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
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 182
Triciclo
En este caso tenemos dos ruedas alimentadas por un motor para darle
traccin al robot, y una tercera rueda
en la parte anterior o posterior del robot, sin traccin, pero con giro sobre
su eje, que le permite darle direccin
al dispositivo (Figura 14). Tiene buena
estabilidad y su mecnica es sencilla.
Puede ir recto en forma precisa gracias a que las ruedas de traccin estn
alimentadas por un nico motor. El
problema que se presenta es que el
movimiento curvo es complejo, dado
que el radio de las curvas que puede
realizar es muy grande. No puede girar sobre s mismo ni hacer curvas cerradas. Esto, para los robots que se
mueven en ambientes pequeos, puede ser un problema insalvable.
Ackerman
Esta arquitectura es la que encontramos en los automviles convencionales
(Figura 15). Tenemos dos ruedas traseras con traccin y dos ruedas delanteras que definen direccin. Tiene la misma filosofa que el triciclo, pero agrega
mayor estabilidad. La desventaja es que
necesitamos desarrollar el sincronismo
entre las dos ruedas delanteras, pero no
es complicado. Tambin se mueve en
lnea recta con absoluta precisin y tiene dificultades para realizar las curvas.
Otra diferencia con el triciclo es que las
ruedas traseras utilizan un mecanismo
llamado diferencial que asegura que, a
pesar de que la alimentacin de ambas
ruedas se realice con el mismo motor,
una rueda pueda girar menos que la
otra cuando sea necesario.
Ruedas omnidireccionales
Como podemos ver en la Figura 16,
las ruedas ominidireccionales presentan una estructura muy peculiar.
Se comportan como una rueda convencional pero no ofrecen resistencia para su desplazamiento lateral.
182
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 183
Cuerpo a cuerpo
Por lo tanto, con tres ruedas ubicadas como se observa en la Figura 17,
y con determinada velocidad en cada rueda, podemos lograr que el robot 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 desarrollado 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 encontrar el proyecto completo en http://robotica.itam.mx/espanol/.
183
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 184
Especificaciones
El diseo que propondremos en este
libro tiene como objetivo cumplir con
las especificaciones del Campeonato
Argentino de Ftbol de Robots, de
manera tal que podamos utilizarlo para participar en la competencia. Est
Estructura de nuestro robot
diseado para la categora Junior, aunAntes 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
184
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 185
Cuerpo a cuerpo
CAETI
El CAETI (Centro de Altos Estudios en Tecnologa Informtica) es el centro de investigacin de la UAI (Universidad Abierta Interamericana), donde los autores de este
libro desarrollamos y probamos todo lo
Traccin diferencial
A la hora de elegir el tipo de transmisin, la ms fcil de implementar y con
grandes ventajas es la traccin diferencial. Para lograrla, ubicaremos dos motores en el centro del robot conectados
en forma directa a sus ruedas. De esta
manera, podremos controlar la direccin del robot mediante el giro de los
dos motores, de la siguiente manera:
185
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 186
Chasis troquelado
Este chasis est realizado en aglomerado de 2 milmetros, inspirado en las figuras de cartn que venan troqueladas
para armar. La plancha de aglomerado
de ese espesor se puede cortar con un
cter, pero nos puede dar algo de trabajo. Si usamos una caladora de madera, podremos lograr nuestro objetivo
con ms facilidad.
Al finalizar la secuencia de armado,
podremos pegar las piezas o encastrarlas. De elegir la primera opcin, podemos dejar de lado algunas piezas cuya finalidad es darle rigidez estructu186
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.
187
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 188
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
Monte el segundo soporte en la plataforma y la pieza superior para darles rigidez a los soportes laterales.
188
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.
189
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 190
Mecanismos de transmisin
y reduccin
Muchas veces, los motores no se encuentran directamente vinculados
con las ruedas o el mecanismo que se
quiere mover. Tambin tenemos casos en los que queremos alimentar,
con un mismo motor, a un conjunto de ruedas, como en la configuracin sncrona. Entonces, tenemos
que desarrollar algn mecanismo de
transmisin del movimiento del motor. Adems, muchas veces el motor
no tiene el torque (fuerza de rotacin) o la velocidad que deseamos.
Para ello, utilizamos mecanismos de
reduccin. Ambos estn muy relacionados. Presentaremos cada mecanismo y comentaremos cmo funciona la transmisin y la reduccin
en cada caso.
Engranajes
Los engranajes son ruedas dentadas
que empalman en forma directa una
con otra. Los dientes se enganchan
IMPRESORAS 3D
Cuando trabajamos con software, estamos acostumbrados a disear nuestros programas 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 trecho. 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 dejar volar nuestra imaginacin, contar con estas maravillas y ponernos a trabajar! Podemos ver un modelo de estas impresoras en www.zcorp.com.
190
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 191
Cuerpo a cuerpo
Figura 23.
Un ejemplo tpico
de reduccin
191
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 192
192
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 193
Cuerpo a cuerpo
Cuando usamos engranajes solidarios, el sentido de rotacin del de salida es inverso al de entrada.
Si queremos mantener el mismo
sentido, tenemos que incorporar en
el medio engranajes libres, de manera tal que los que tienen la misma
paridad (es decir, los pares por un lado y los impares por otro) mantengan el mismo sentido de rotacin,
como podemos ver en la Figura 27.
El tamao de la rueda tambin pue-
193
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 194
Cinemtica de un robot
Cuando comenzamos a estudiar el
comportamiento de los movimientos de nuestro robot, nos damos
cuenta de que tenemos que tener en
cuenta un conjunto muy amplio de
variables, propias y externas de
nuestro dispositivo. Al estudio de
todos estos aspectos en nuestra criatura se lo conoce como dinmica
del robot. Como es un campo complejo para encarar en este primer paso, vamos a estudiar el movimiento
del robot sin considerar las fuerzas
involucradas (inercia, pesos, rozamientos), slo tomaremos el comportamiento de las ruedas, con adherencia perfecta. A este campo se lo
conoce como cinemtica del robot.
Ahora bien, podemos encarar dos tipos de estudios. Uno de ellos es, si
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 195
Cuerpo a cuerpo
cin, debemos aclarar que en los robots mviles, tenemos tres grados de
libertad: posicin en el plano (X e Y)
y rotacin (ver Figura 30).
En el caso de los robots diferenciales, los de configuracin sncrona y
los de ruedas omnidireccionales, las
restricciones cinemticas son holonmicas, lo que significa que los
diferentes grados de libertad son independientes. En este caso, posicin
es independiente de rotacin.
En el caso de la arquitectura triciclo
y Ackerman, decimos que la restriccin no es holonmica. Necesariamente, para girar afectamos la posicin (X,Y) del robot. En cada uno
de ellos el estudio de la cinemtica
presenta caractersticas distintas.
195
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 196
(X,Y)
Odometra
Ahora bien, cmo podemos saber la
posicin de nuestro robot en todo
momento? Como comentamos antes, una de las formas es analizar el
contexto que rodea al robot constantemente. El problema es que no
siempre contamos con informacin
externa y, por otra parte, esto nos
exige tomar datos en forma constante con sensores que pueden necesitar una tasa de procesamiento muy
alta. Es por eso que la odometra es
el mecanismo ms utilizado para determinar en forma aproximada la
posicin del robot. Consiste en incorporar encoders situados en las
ruedas de los robots, de la misma
manera que los antiguos mouses detectaban el giro de la bolita inferior
(Figura 31). Como ya mencionamos,
196
esto es sencillo de realizar con sensores de ranura y un disco acanalado que permita el conteo de los cortes de seal, o que posibilite el clculo de rotacin por los sensores que
se encuentran activados. Esto resulta econmico, pero sin informacin
externa, y se produce una acumulacin de errores que nos puede llevar
a datos inexactos. Por ejemplo, si la
rueda resbala sobre el piso, el encoder detectar el giro y supuestamente un avance lineal, cuando en realidad no se produjo.
Los tipos de errores que podemos
encontrar en la odometra son sistemticos, cuando son intrnsecos
al mecanismo de toma de datos, como pueden ser problemas en la tasa
de muestreo, mal alineamiento de
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 197
Cuerpo a cuerpo
las ruedas, etctera. Y no sistemticos, cuando estn vinculados a hechos casuales como los comentados:
una rueda que patina, fuerzas externas 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 recomendamos es sumar alguna toma de
informacin ms que permita reducir
los errores de este proceso.
RESUMEN
La arquitectura de nuestro robot definir un conjunto de variables relacionadas
con su navegacin. La decisin del tipo de mecanismo utilizado para el movimiento 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 movimiento 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 detenernos a estudiar la cinemtica inversa de nuestro robot, para obtener la navegacin
ms precisa posible. Pero cuando hayamos superado las primeras pruebas, podremos intentar con otros sistemas de ruedas como las sncronas o las omnidireccionales. En todos los casos, tendremos que resolver el problema de la transmisin 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 informacin sobre los movimientos de nuestro robot.
197
08_robotica.qxp
24/10/2007
02:42 p.m.
Pgina 198
ACTIVIDADES
TEST DE AUTOEVALUACIN
EJERCICIOS
lar la velocidad?
te delantera (puede usar un microswitch con una palanca grande), programe el robot para que cada vez que
198
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 199
Robtica
Captulo
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
Caractersticas comunes de las
pruebas de robots autnomos
Pruebas tradicionales
para robots autnomos
La luz, la luz, he visto la luz!
Resumen
Actividades
200
200
210
213
219
220
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 200
9. SALIR AL RUEDO
PRESENTARSE
A COMPETIR
Ah est, no es bonito? Toda una maravilla, independiente, solcito y muy
inteligente. Nuestro robot est listo
para comenzar a representarnos en el
mundo. Ahora tiene que salir al ruedo, porque all es donde se ven los
buenos caballos. Pero eso es pan comido. Le colocamos dos sensores de
luz, lo ponemos sobre una lnea negra
para que la siga y Se va a cualquier
lado! Lo ubicamos sobre una mesa y
al llegar al final no detecta el borde y
cae con sus trgicas consecuencias. Le
ponemos una linterna adelante para
que la siga y nada, da vueltas desesperado sin hallar la luz que lo gue.
Evidentemente, hemos subestimado
la dificultad de las pruebas y nos falta entrenamiento, horas y horas de
entrenamiento para hacer de nuestro
robot un buen contrincante.
Caractersticas comunes
de las pruebas de robots
autnomos
Cada prueba de robtica presenta
cuestiones particulares que debemos
resolver, pero en general hay un conjunto de principios bsicos comunes.
Antes de encarar cada una de ellas,
presentaremos cules son los puntos
que tenemos que tener presentes tan-
200
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 201
Presentarse a competir
201
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 202
9. SALIR AL RUEDO
202
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 203
Presentarse a competir
ROBOLIGA
Problemas de sensores
Con respecto a los sensores, tambin
se nos presenta un conjunto de problemas diversos. As como la superficie de la competencia puede variar
llegado el juego, con seguridad las
luces ambiente, los colores, la capacidad reflectiva, etctera, las podremos definir recin en ese momento.
Incluso pueden variar en el transcurso de la competencia! Por lo tanto, debemos tener algn mecanismo
que nos permita testear los valores y
modificar nuestro programa para
que se comporte en forma correcta.
Ahora, cmo hacemos para saber si
el sensor se activa o no, o cul es el
rango analgico en el que se debe activar? Con el control que hemos realizado, pareciera que no tenemos
forma alguna de monitorear los valores de lectura. Pero vamos a ver algunos trucos que nos pueden ayudar.
La primera forma de monitorear un
sensor digital es usar el led que hemos
conectado para nuestras pruebas. Por
ejemplo, con el siguiente programa
podemos verificar si el sensor CNY70
detecta la variacin entre negro y
blanco. Consideramos, como vimos
en el Captulo 7, que hemos conectado
el led infrarrojo en RA1 y el sensor
Robtica, la Feria de Proyectos de Robtica y Control Automatizado, y el Encuentro Docente para la Enseanza de Robtica. Est dirigido a los alumnos de escuelas primarias y medias, se organiza
desde el ao 2000 y se cuenta con la presencia de ms de 40 escuelas de todo el
pas. Para tener ms informacin podemos visitar www.roboliga.edu.ar.
Declaro RB
RA1 (donde
infrarrojo)
Lo enciendo
Declaro RA2
203
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 204
9. SALIR AL RUEDO
if PORTA.2 = 1 then
Si RA2 est
encendido, apago
el led
PORTB.3=0
else
PORTB.3=1
Si no, lo enciendo
end if
delay_ms(200)
wend
end.
inicializa el pin
para salida. Por ejemplo: Sound_
Init (PORTB, 2). En este caso, se encarga de inicializar RB2.
Sound_Play(dim periodo_div_10 as
byte, dim num_de_periodos as word):
el primer parmetro indica la frecuencia, y para simplificar su definicin, slo debemos dividir la frecuencia que queramos por 1 y multiplicar el resultado por 100000 para obtener el valor final. El segundo
parmetro indica la cantidad de ciclos de duracin del sonido.
204
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 205
Presentarse a competir
205
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 206
9. SALIR AL RUEDO
imposibles para representar la combinacin de todos los estados posibles de las entradas. Es por eso que a
continuacin presentaremos un mecanismo muy utilizado en los procesadores: las interrupciones.
La idea de una interrupcin es poder vincular algn proceso interno
del micro, como el estado de un pin
de entrada o el valor de un timer,
con un procedimiento de nuestro
programa. Es decir, ante un cambio
en el estado del pin o ante el desbordamiento de un timer, se ejecuta
el procedimiento indicado. Por
ejemplo, de esta manera podemos
asociar nuestro sensor principal a un
bit con interrupcin, de forma tal
que cuando se active, se invoque en
forma automtica al procedimiento
ROBOGAMES
RB0/INT (externa).
Pines RB4 a RB7, al cambiar de
estado si estn configurados como
entrada (externa).
Desbordamiento del registro TMR0,
cuando pasa de 255 a 0 (interna).
Al completar la escritura de la EEPROM (interna).
206
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 207
Presentarse a competir
mismo tiempo. Al finalizar nuestra rutina de atencin, debemos volver a poner en 0 el flag correspondiente (0 a 2)
para que no se vuelva a producir la llamada. El retorno de la rutina nos habilitar de nuevo GIE para una nueva
llamada. Slo el contador de programa
ser almacenado en el momento de llamar a la rutina, para luego saber dnde retornar, con lo cual es problema
nuestro almacenar el estado de otros registros que puedan llegar a modificarse
en la ejecucin de nuestra rutina.
A continuacin presentamos un
ejemplo general de cdigo para la
atencin de las interrupciones por
cambio de estado en RB4 a RB7. De
esta manera, podemos tener sensores conectados a uno de estos 4 pines, de forma tal que el programa
general se ejecute, y cuando se produzca la activacin de alguno de los
sensores, la rutina de la interrupcin
atienda la llamada y luego retorne al
punto en el que se encontraba.
No.
NOMBRE DESCRIPCIN
GIE
EEIE
T0IE
INTE
RBIE
TOIF
INTF
RBIF
207
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 208
9. SALIR AL RUEDO
208
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 209
Presentarse a competir
end if
case %00100000
Cambi
RB5
if ((PORTB and %00100000)
= 0) then
RB5
desactivado
Cdigo a
ejecutarse cuando
se desactiva RB5
else
RB5 activado
Cdigo a
ejecutarse cuando
se activa RB5
end if
case %00010000
Cambi
RB4
if ((PORTB and %00010000)
= 0) then
RB4
desactivado
Cdigo a ejecutar
se cuando se
desactiva RB4
else
RB4 activado
Cdigo a
ejecutarse cuando
se activa RB4
end if
end select
antRB = PORTB
Almaceno
el estado actual de PORTB
para compararlo luego
INTCON.RBIF = 0
Reseteo
el flag de la interrupcin
end if
end sub
main:
TRISB = %11110001
RB 0
entrada, 1-3 salidas,
4-7 entradas
INTCON = %10001000
Habilito interrupciones
en general y las de RB4 a 7
PORTB = 0
Valor inicial
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 procesador 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 proceso. Cuando no exista este mecanismo, el CPU deba dedicar mucho tiempo para
verificar si era necesaria esa atencin. Al pasar la responsabilidad a los dispositivos, el rendimiento del CPU es mucho mayor.
209
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 210
9. SALIR AL RUEDO
antRB = 0
Valor inicial
de estado previo de PORTB
while(true)
{
Mientras no se
produzca una interrupcin
el programa se ejecuta en
un loop infinito
Aqu va el cdigo
que atiende a la
tarea principal
Seguidor de lnea
sta es la primera prueba por excelencia. En principio, comenzaremos
por utilizar un solo sensor de luz que
apunte hacia abajo para recorrer la
}
pista. Al momento de construir la
mecnica de nuestro robot, debeend.
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.
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 sensafo es la de las ruedas laterales con sor, si la lnea negra a seguir es delmovimiento 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 izMD.
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 blanco y as sucesivamente. Es un meca- De esta manera, mejoramos la velocinismo 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
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 212
9. SALIR AL RUEDO
212
ROBOCUP JUNIOR
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 213
Presentarse a competir
cuando volvamos sobre la lnea, el ro- guno de los dos sentidos. Si aumenbot quede en una posicin adecuada ta el valor de luz hacia ese lado, manpara 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 encontracon la bsqueda o el seguimiento de do la fuente de luminosidad.
una fuente de luz. El problema ms Otra prueba algo ms compleja es sesencillo es posicionar el robot en un guir una luz originada por una linterlugar 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 utiliPara 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, consiversor). El robot debe tomar el valor deramos que la fuente de luz est frendel sensor en la posicin en la que se te al robot y nos dirigimos hacia deencuentra y girar lentamente en al- lante. Si la diferencia entre el valor de
213
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 214
9. SALIR AL RUEDO
214
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 reglamentos en el mundo del sumo
robtico. Es interesante conocer el
reglamento del Campeonato Uruguay o de Sumo de Robots, organizado por el Instituto de Computacin de la Facultad de Ingeniera de
la Universidad de la Repblica de
Uruguay. ste se basa en el Torneo de
sumo de robots FSI-ALL de Japn.
Este campeonato es muy interesante,
y en el sitio (www.fing.edu.uy/inco/
eventos/sumo.uy/index.html) podemos bajar un simulador y templates en diferentes lenguajes para poder jugar en nuestra computadora.
Luego, si deseamos participar de la
competencia, podemos llevar nuestro propio robot, o utilizar uno provisto por los organizadores, que tie-
Desde el ao 2004, el Instituto de Computacin de la Facultad de Ingeniera de la Universidad de la Repblica de Uruguay organiza el campeonato de sumo robtico. El objetivo 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 simulador y luego, en el momento de luchar, volcamos esa estrategia a un robot real.
215
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
color blanco. Fuera del Doyho, el
piso ser de cualquier color excepto
blanco o marrn. Cada categora en
particular determinar un lmite para el tamao y el peso del robot.
Una partida consta de tres sets de un
minuto cada uno. El primer participante en ganar dos puntos yuko (ya veremos qu son) es el ganador de la partida. Cuando ningn participante recibe puntos, el jurado decide quin es el
ganador. Para comenzar el partido, los
robots se ubican sobre las lneas de inicio o detrs de stas, para lo cual disponen de dos minutos. El robot no
puede realizar ningn movimiento antes de recibir la seal de comienzo.
Los puntos yuko se consiguen por medio de alguna de las siguientes acciones: cuando un robot saca a su oponente del Doyho, cuando el oponente
sale del Doyho por sus propios medios
o cuando un robot es descalificado o
recibe dos advertencias o ms.
Un set se puede cancelar y repetir si
los robots se encuentran trabados de
forma tal que no exista movimiento
posible, a criterio del jurado.
Si ambos robots tocan el exterior del
Doyho al mismo tiempo o ante cualquier otra condicin en la que el jurado no pueda definir un ganador, el
set se reinicia, se ubican los robots
en la lnea de inicio, y se cuenta con
dos minutos para hacerlo desde la
indicacin del rbitro.
216
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 217
Presentarse a competir
En resumen, stas son las reglas bsicas de juego. Como vemos, las reglas
no son complejas y esencialmente es
un desafo mecnico y electrnico,
con algoritmos sencillos para el control del robot. Los problemas que debemos resolver son tres: cmo detectar la lnea lmite del Doyho para no
salir de ella (y que esa deteccin sea
en toda la circunferencia del robot),
cmo detectar la distancia al contrincante para poder abalanzarnos sobre l y cmo detectarlo cuando lo
tocamos para ir hacia l o huir de l,
segn convenga. No agregamos el tema del posicionamiento dentro del
Doyho porque es muy complejo de
realizar con la informacin tan pobre
que nos brinda la arena. En realidad,
slo es absolutamente necesario resolver el primer problema para sobrevivir en la lucha. En el caso de la
deteccin del oponente, si no deseamos hacerlo, podemos recorrer en
forma aleatoria el Doyho de un lado
a otro para ver si logramos cruzar al
otro robot en algn momento.
El grupo de robtica del Departamento de Ingeniera Elctrica de la Universidad Tecnolgica Nacional de Baha Blanca, Argentina, todos los aos organiza un campeonato de sumo 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
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 218
9. SALIR AL RUEDO
dizar si buscamos en la Web. En este listado, dejamos el ftbol de robots para el captulo siguiente.
Tiralatas: en una arena rectangular o
circular. Se ubica un conjunto de latas con cierto peso que el robot debe
sacar en el menor tiempo posible.
Laberinto: el robot debe encontrar la
salida del laberinto en el menor tiempo posible. En general, la salida est
indicada con una luz, de manera tal
que el robot pueda intentar realizar el
camino ms corto hacia sta.
Carrera de postas: un conjunto de
robots debe comunicarse entre s para completar un recorrido definido
por una lnea negra.
Rescate: este tema incluye infinidad
de pruebas (Figura 15).
Figura 15.
Competencia
de rescate del
Campeonato
Latinoamericano
de Robtica IEEE.
218
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 lisastre, o rescatar vveres y medicinas berada. Adems, estas pruebas pueque han cado en una zona conta- den ser solitarias o colaborativas.
RESUMEN
Ha llegado la hora de sacar nuestro robot al ruedo. Todas las pruebas son diferentes, 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 habitualmente difiere del que utilizamos para preparar a nuestros robots. Es por eso
que tenemos que utilizar mecanismos robustos que puedan trabajar sobre valores relativos del ambiente y no con valores absolutos. Por otra parte, la ubicacin de los sensores debe aislar al mximo las perturbaciones del entorno. Con
respecto a la programacin, presentamos el uso de interrupciones, que nos permitirn 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 sumo de robots, son las que nos permitirn poner en juego toda la capacidad y las
caractersticas de nuestro robot.
219
09_robotica.qxp
24/10/2007
03:10 p.m.
Pgina 220
ACTIVIDADES
TEST DE AUTOEVALUACIN
EJERCICIOS
competencia?
del ciego con bastn. Probar con diferentes grados en las curvas.
en el que compite?
cio anterior.
220
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
Actividades
246
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 222
FTBOL DE ROBOTS
Para el ao 2050, desarrollar un
equipo de robots humanoides completamente autnomos, que en un
partido de ftbol puedan vencer al
equipo campen mundial humano.
ste es el lema de la organizacin
RoboCup, una de las dos ligas mundiales de ftbol de robots. Puede parecer un lema de ciencia ficcin, pero puede dejar de serlo si realizamos
el siguiente clculo. En el momento
en el que se lee este libro, cunto
falta para el ao 2050? Cuarenta y
tres, cuarenta y dos aos? Bien. Aho-
222
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 223
Ftbol de robots
OTROS DEPORTES
Un buen estado fsico: llegar antes a la pelota, patear fuerte y poder ir de un punto a otro de la cancha en forma veloz, nos permitir
tener un control del juego mucho
ms efectivo.
Una lectura precisa y veloz del
juego: es una caracterstica fundamental que el jugador se anticipe
a la jugada. Por ejemplo, que vaya
al encuentro de la pelota donde la
pueda ganar y tambin quede mejor parado para el gol. O que pueda saber dnde conviene estar parado para recibir un pase.
Juego colectivo: el equipo no puede comportarse como un conjunto
de nios que corre detrs de la pe-
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 224
Arquitectura y navegacin
de los robots
Como hemos visto antes, con frecuencia en las competencias tenemos un lmite vinculado al peso y el
tamao de los robots. En el ftbol
ocurre lo mismo. Por lo tanto, nuestro objetivo es lograr el robot ms
robusto y ms rpido en el pequeo
espacio que nos brindan. Lamentablemente, en el caso de la electrnica y los motores, ms pequeo significa ms costoso, y es aqu que
nuestro bolsillo ser otro lmite que
deberemos contemplar.
Con respecto a los robots para ftbol,
la arquitectura clsica consiste en: patas (para ciertas categoras especficas),
omnidireccional y diferencial. En el
caso de los robots con navegacin omnidireccional (Figura 2), las ventajas son
conocidas, pero incorporar tres motores en el espacio que tenemos, ms uno
de un pateador si fuera necesario, es
complejo y el valor de los motores y las
ruedas puede ser costoso.
En general, para comenzar utilizaremos navegacin diferencial (Figura 3),
como la que tenemos en nuestro robot. Por lo tanto, tenemos que analizar cmo realizamos la navegacin
con ruedas diferenciales. Esta navegacin depender de la informacin que
podemos extraer del ambiente. En el
caso de los robots ms sencillos, pro-
224
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 225
Ftbol de robots
PROYECCIN DE LA PELOTA
Est claro que en el ftbol es fundamental llegar a la pelota lo antes posible. Para ello, es necesario ir hacia el punto de
cruce con ella que ms nos convenga. Es
decir, proyectar el comportamiento de la
pelota a futuro para determinar cul es
el mejor momento de cruzarla. La linealidad en el movimiento de la pelota hace sencillo esto, si no fuera por la presencia de las paredes, nuestros robots y
los contrarios. Con respecto a las paredes, podemos considerarlas en varios
pasos futuros porque estn all en forma constante. Pero con respecto a los
otros robots, despus de una proyeccin
de 4 5 cuadros, nos conviene dejar de
tenerlos en cuenta, porque no sabemos
con precisin dnde estarn ubicados.
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 226
La navegacin que acabamos de presentar no es complicada de implementar, pero dista mucho de ser rpida y eso, en el ftbol, es un problema. Para optimizar nuestra navegacin tenemos que hacer un anlisis
profundo de la fsica implicada en el
juego. Es decir, tenemos que determinar cmo funciona la inercia del
robot, cunto tarda en alcanzar diversas velocidades, cunto tarda en
realizar giros de diversas amplitudes
partiendo de diferentes estados, etctera. En esto influir la arquitectura
del robot (ms all de que sea diferencial, cmo est repartido el peso
del robot y cmo se ubican las ruedas
son puntos esenciales), los materiales
de las ruedas y el piso de la cancha.
Como vemos, tenemos que invertir
226
un largo tiempo de estudio para realizar pruebas en el campo con el objetivo de pulir la navegacin. Por ltimo, tenemos que poder desarrollar
un modelo donde para llegar a un
punto determinado, en lugar de girar
y luego ir en forma recta, determinemos velocidades diferentes en las ruedas para trazar una curva optimizada
hacia el destino. Una vez hecho esto,
podemos seguir nuestro estudio mediante la realizacin de navegaciones
donde nos interese con qu ngulo
llegamos al final, desde qu lado llegamos al punto, etctera.
Sensado y deteccin del ambiente
Este punto es fundamental. Aqu tenemos mucho trabajo apasionante
por delante. En el caso de usar sensores sencillos, como ultrasnicos,
sensores de luz, de tacto y otros sensores locales, la informacin que obtendremos es bastante imprecisa. La
imagen que conseguiremos del ambiente no nos permitir navegar con
total exactitud. Todo lo que podremos hacer es buscar la pelota con
algn sensor, acercarnos a ella, y una
vez que nos encontramos cerca, intentar llegar hasta el arco contrario.
Lo que hemos utilizado para obtener
mayor precisin en la captacin del
ambiente son los sistemas de visin.
En este caso, tenemos que realizar un
delicado equilibrio entre la cantidad
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 227
Ftbol de robots
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 228
VISIN INDUSTRIAL
Con un poco ms de dinero, podemos adquirir una cmara de visin industrial con
salida firewire para que en nuestra computadora ingresen los datos en forma digital y no sea necesario un framegrabber
(prcticamente todas las computadoras
ya vienen con entrada firewire, y de lo contrario compramos una placa con esa entrada). Un aspecto importante es que la
lente tenga un montaje (la forma de conectarse a la cmara) que sea estndar,
como el montaje CS, de manera tal que
podamos cambiar de lentes segn el ambiente y la distancia a la cancha. Otra ca-
228
Aun as, el robot puede tener informacin incompleta porque otros le tapan
la pelota, el arco o algn otro objeto. Es
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 229
Ftbol de robots
por eso que en todos los sistemas de visin, complementamos lo que captamos en el cuadro con informacin del
historial, como haramos con nuestros
propios ojos y cerebro. Si vemos que
viene la pelota y en un momento la dejamos de ver porque queda detrs de un
jugador, realizamos una proyeccin de
su movimiento y prevemos encontrarla en un punto posterior, ya que conocemos cmo se estaba moviendo y podemos anticiparnos a su comportamiento futuro. De la misma manera lo
hacemos (o por lo menos lo intentamos!) en el ftbol de robots.
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 230
230
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 231
Ftbol de robots
El comportamiento emergente tambin puede aplicarse para el seguimiento de objetos en un video. El White Glove Tracking Project (Proyecto de Seguimiento del Guante 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 tener 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 mouse, 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
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 232
en nuestra programacin. En realidad, en general usamos una combinacin de stos y otros mecanismos
de organizacin en equipo. La eleccin de uno u otro depender, en especial, de los buenos resultados que
logremos con ese comportamiento.
internacional y no hacen falta demasiadas palabras para que nos podamos encontrar en un partido. Y
luego, entre goles y tiros libres, compartimos los ltimos resultados de
nuestros trabajos en los campos que
presentamos en el punto anterior. A
continuacin comentaremos cada
una de las ligas y las categoras vinculadas al ftbol que presentan.
RoboCup
Segn se detalla en su propio sitio, la
RoboCup es un proyecto de colaboracin internacional para promover
el desarrollo de la robtica, la inteligencia artificial y los campos afines.
Fomenta la investigacin de estos temas y provee problemas estndares,
donde una amplia gama de tecnologas puede integrarse y ponerse a
prueba. Ha elegido el ftbol de robots como tema central con el objetivo de aplicar los resultados de las investigaciones a problemas sociales
significativos y a la industria. La meta final es lograr hacer un equipo de
once robots autnomos para el 2050,
que le gane un partido a la ltima seleccin campeona del mundo.
Dado que muchas de las tecnologas
estudiadas son aplicables a la bsqueda y el rescate de personas en situaciones de desastre, se ha agregado a las
competencias de rescate (RoboCup
Rescue) como una forma de aplica-
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 233
Ftbol de robots
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 234
Small size (tamao pequeo), tambin conocido como F180: aqu tenemos un partido de ftbol fsico entre dos equipos de cinco jugadores
cada uno (Figura 9). Cada robot debe
poder entrar en un cilindro de 180
mm de dimetro, con una altura no
mayor a 15 cm, salvo que tenga su
propio sistema de visin. De no ser
as, se utiliza un sistema de visin
global con comunicacin inalmbrica entre el procesador de imgenes y
los robots. El campo de juego es de
234
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 235
Ftbol de robots
Middle size (tamao medio): en esta categora fsica los robots tambin
son autnomos en el sistema de visin. Cada equipo cuenta con cuatro jugadores que se comunican entre ellos en forma inalmbrica (Figura 10). No puede haber ninguna intervencin externa, salvo para insertar o remover robots del campo de
juego. Cada robot debe poder entrar
en una caja de 50 cm de ancho, 50
cm de largo y 85 cm de alto. Por momentos, puede crecer hasta 60 cm
235
10_robotica.qxp
24/10/2007
03:13 p.m.
Pgina 236
236
humanas (Figura 12). Las reglas proporcionan un conjunto de frmulas que determinan los lmites de
mnimo y mximo para cada parte
del cuerpo. Adems de jugar partidos, deben realizar pruebas de destreza como esquivar obstculos, recorrer caminos, etctera.
10_robotica.qxp
24/10/2007
03:14 p.m.
Pgina 237
Ftbol de robots
PLATAFORMA ROBOCUP
237
10_robotica.qxp
24/10/2007
03:14 p.m.
Pgina 238
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 contra once de 400 cm por 280 cm (Fi- SimuroSot: categora simulada que
gura 14). La cmara colocada en la paremula a MiroSot de cinco contra
te superior de la cancha captura las
cinco y de once contra once. El siimgenes, que luego son procesadas
mulador (Figura 16) provee los datos
del ambiente cada 16 milisegundos
por una computadora externa. sta
y nuestro equipo (una dll hecha en
ltima, una vez procesada la imagen
C++) toma sus decisiones e informa
y analizado el ambiente, determina el
la velocidad de la rueda izquierda y
comportamiento de los robots y le
derecha de cada robot.
enva las rdenes a cada uno en forma
inalmbrica. Por el tamao del robot
y las reglas de cubrimiento de la pe- NaroSot: es una versin mini de
MiroSot (Figura 15). Aqu los rolota, es imposible capturarla, por lo
bots deben ser de 4 cm de ancho,
que el transporte es bastante comple-
238
10_robotica.qxp
24/10/2007
03:14 p.m.
Pgina 239
Ftbol de robots
239
10_robotica.qxp
24/10/2007
03:14 p.m.
Pgina 240
240
10_robotica.qxp
24/10/2007
03:14 p.m.
Pgina 241
Ftbol de robots
241
10_robotica.qxp
24/10/2007
03:14 p.m.
Pgina 242
242
10_robotica.qxp
24/10/2007
03:14 p.m.
Pgina 243
Ftbol de robots
243
10_robotica.qxp
24/10/2007
03:14 p.m.
Pgina 244
244
10_robotica.qxp
24/10/2007
03:14 p.m.
Pgina 245
Ftbol de robots
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 comportamiento colaborativo. sta es la razn por la que ha crecido tanto la actividad en los centros de investigacin. Cada liga de ftbol de robots presenta diferentes reglamentos y categoras, lo que permite tener una amplia variedad de
oportunidades para ingresar en este mundo. La propuesta ms econmica y sencilla para comenzar son las competencias simuladas. En ellas, con una computadora 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 ajuste a nuestros deseos y nuestras posibilidades. Y ojal nos encontremos en algn
potrero robtico para compartir un buen partido.
245
10_robotica.qxp
24/10/2007
03:14 p.m.
Pgina 246
ACTIVIDADES
TEST DE AUTOEVALUACIN
EJERCICIOS
miento de imgenes?
4 Instale el simulador de ftbol de la FIRA
5 Cmo son las arquitecturas de visin
global y de visin local?
246
do el programa.
11_apendice a_robotica.qxp
24/10/2007
03:32 p.m.
Pgina 247
Robtica
Apndice
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
Conceptos de electricidad
Componentes que utilizamos
en nuestros circuitos
Herramientas fundamentales
Consejos para soldar
248
248
251
256
258
11_apendice a_robotica.qxp
24/10/2007
03:32 p.m.
Pgina 248
LA ELECTRNICA
Motor del siglo XX, la electrnica ha
jugado un papel fundamental en las
caractersticas actuales del mundo en
el que vivimos. Todo lo que nos rodea
est compuesto en algn punto por
componentes electrnicos: automviles, aviones, computadoras, juguetes,
televisores, reproductores de mp3,
etctera. Y cada da que pasa, gracias
a las maravillas de la evolucin tecnolgica, la electrnica se vuelve ms
pequea, ms robusta y ms econmica. Probablemente, en algn momento de nuestras vidas sentimos curiosidad por este tema y nos adentramos en l con alguna revista, algn kit
especfico o por qu no, mediante estudios formales. Para aquellos que nos
hemos acercado porque lo tenamos
como un simple hobby, la aparicin
de los integrados nos ha facilitado
an ms la tarea. Muchas veces, cuando necesitamos algo, en lugar de tener que disearlo, basta con buscar en
los catlogos un integrado que cumpla esa funcin. Basta un ejemplo: un
grupo de alumnos haba desarrollado
un rgano electrnico controlado
desde el puerto paralelo de una PC.
Cuando le presentaron el proyecto al
profesor, con decenas de transistores,
resistencias, diodos y otros componentes, el docente los felicit porque
el trabajo era muy interesante. Y luego de charlar con ellos les dijo que no
248
quera que gastaran ni dinero ni tiempo dems. Que todo lo que haban
desarrollado se poda resolver con un
integrado. Todo, menos un conjunto
de leds, quedaba encapsulado en un
integrado especfico. Como diran los
programadores de objetos, todo est
hecho, slo hay que encontrar las piezas y ensamblarlas.
Este apndice tiene como objetivo
aclarar algunos conceptos de electrnica bsica y dar algunas recetas primitivas que seguramente nos ahorrarn muchos dolores de cabeza. Todo lector que alguna vez haya construido un circuito ya ha pasado por
esto, y no creemos que su lectura
pueda aportarle nada nuevo. Pero si
es la primera vez que vamos a hacer
una soldadura, este apndice ser
una tabla de salvacin.
Conceptos de electricidad
Para comenzar con nuestro aprendizaje de electrnica, debemos conocer
una serie de conceptos fundamentales. En primer lugar, veremos aquellos
relacionados con la electricidad.
Corriente elctrica
La corriente elctrica no es ms que
un flujo ordenado de electrones que
atraviesa un material de un punto
a otro. Algunos de ellos, al tener un
electrn libre en su nivel superior,
permiten el pasaje de un punto a otro
en forma mucho ms simple y con
11_apendice a_robotica.qxp
24/10/2007
03:32 p.m.
Pgina 249
La electrnica
249
11_apendice a_robotica.qxp
24/10/2007
03:32 p.m.
Pgina 250
brinda una pila o batera. En otro caso, si el flujo corre primero en un sentido y luego en el contrario, se lo llama corriente alterna. Un ejemplo de
este caso es la corriente que recibimos
en los enchufes de nuestras casas, la
corriente elctrica de la red. Podemos
buscar en Internet la historia de por
qu se eligi la alterna y no la continua para las casas, ya que es una lucha interesante entre Nikola Tesla y
Thomas Edison (Figura 2).
La corriente se mide en Amperios
(A). Esta unidad mide la cantidad de
electrones que fluyen en un material
en una unidad de tiempo. Una corriente tiene una intensidad de 1 A
cuando, al pasar por una solucin
acuosa de nitrato de plata, deposita
0,001118 gramos de plata por segundo (esto podemos olvidarlo rpidamente, slo es para aclarar que existe
un patrn). En electrnica, esa unidad es demasiado grande, por lo que
utilizamos los submltiplos. Un Mi-
250
11_apendice a_robotica.qxp
24/10/2007
03:32 p.m.
Pgina 251
La electrnica
Resistividad / Resistencia
La resistividad de un material es la propiedad que tiene de oponerse al paso
de corriente. Se mide en Ohms-metro y depende de un conjunto de factores, como por ejemplo la temperatura. En un componente concreto, su resistencia est definida por la resistividad
del material, su longitud y el rea transversal del componente. A mayor longitud y menor rea transversal, ms resistencia. En este caso, la unidad es el
Ohm (). Al inverso de la resistividad
se lo llama conductividad.
11_apendice a_robotica.qxp
24/10/2007
03:32 p.m.
Pgina 252
Para describir el valor e indicarlo sobre el componente se utiliza un cdigo de colores que determina la resistencia y la tolerancia.
Los tres primeros (Tabla 1) definen el
valor de la resistencia y cada uno representa un dgito decimal. Entre
stos, los dos primeros indican el valor en y el tercero es el multiplicador del valor anterior para obtener
el valor final. Por su parte, el cuarto
dgito representa la tolerancia del
componente (Tabla 2).
COLOR
DGITO
MULTIPLICADOR
Negro
Marrn
10
Rojo
100
Naranja
1000
Amarillo
10000
Verde
100000
Azul
1000000
Violeta
10000000
Gris
Blanco
Dorado
0,1
Plateado
0,01
TOLERANCIA
Dorado
5%
Plateado
10%
Sin color
20%
252
VALOR Y TOLERANCIA
Marrnnegromarrndorado 100 al 5%
Rojorojorojoplateado
2,2 K al 10%
Amarillovioletarojodorado
4,7 K al 5%
11_apendice a_robotica.qxp
24/10/2007
03:32 p.m.
Pgina 253
La electrnica
FACTOR DE MULTIPLICACIN
10
100
1000
10000
100000
0.01
0.1
253
11_apendice a_robotica.qxp
24/10/2007
03:32 p.m.
Pgina 254
Luego de este nmero aparece una le- en una sola direccin (Figura 6). Detra que indica la tolerancia en por- bajo de cierta diferencia de potencial,
centaje, como vemos en la Tabla 5.
no conduce. Si superamos ese umbral, lo hace con una resistencia muy
LETRA
PORCENTAJE DE TOLERANCIA
baja. Tambin se lo conoce como recD
+/- 0.5 pF
tificador, dado que puede convertir
F
+/- 1%
una corriente alterna en continua.
G
+/- 2%
+/- 3%
+/- 5%
+/- 10%
+/- 20%
+100% ,-0%
+80%, -20%
Los primeros diodos fueron las vlvulas de vaco, con aspecto similar al
de una lmpara elctrica. Tienen un
filamento (el ctodo) por donde circula la corriente que los calienta. Al
ocurrir esto, comienzan a emitir electrones 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 pacermico.
ra aumentar la temperatura antes de
prestar su servicio. Por otra parte, en
el pasado se quemaban muy seguiDiodo
do. Por suerte, los diodos han evoEl diodo es un componente que perlucionado notablemente y ahora no
mite que el flujo de corriente vaya
presentan estas dificultades.
254
11_apendice a_robotica.qxp
24/10/2007
03:32 p.m.
Pgina 255
La electrnica
PNP
PNP
Colector
Colector
Base
Base
Emisor
Emisor
255
11_apendice a_robotica.qxp
24/10/2007
03:32 p.m.
Pgina 256
Herramientas fundamentales
Ahora que ya hemos visto los componentes ms significativos de nuestro proyecto, presentaremos una lista de las herramientas que consideramos imprescindibles para armar
Circuitos integrados
nuestro pequeo taller de electrniComo bien dice su nombre, es un ca y as llevar a nuestros primeros rocircuito plasmado en una pequea bots a buen puerto.
pastilla de silicio con miles o millones de componentes, principalmen- Estao: recomendamos el que tiene
almas de resina, en forma de alamte diodos y transistores (Figura 8).
Como ejemplo tenemos los microbre, de 0,8 mm de grosor, 60% de
procesadores, las memorias, los amestao y 40% de plomo. Como seplificadores, los osciladores, etcteguramente lo usaremos en gran canra. A pesar de que existe un conjuntidad, es mejor comprar un rollo (Figura 9) que nos durar largo tiempo.
to de barreras fsicas a la reduccin
de tamao de los integrados, da a
da se mejoran los materiales y las
tcnicas de fabricacin, lo que permite el crecimiento del nmero de
componentes del circuito. Su inventor, Jack Kilby, recibi el premio
Nobel en el ao 2000, 42 aos despus de la aparicin de su invento.
Figura 9. Rollo de estao.
256
11_apendice a_robotica.qxp
24/10/2007
03:32 p.m.
Pgina 257
La electrnica
Desoldador: es un succionador de
estao que nos permite, en forma
sencilla cuando queremos corregir o
desoldar un componente, aspirar rpidamente el estao cuando se ablanda. En nuestros primeros fracasos
cuando soldemos, se convertir en un
aliado fundamental (Figura 12).
Morsita o pinzas para manos libres: cuando tenemos que soldar necesitamos que las partes estn en una
posicin cmoda. Con alguno de estos implementos podemos ubicarlas
en el aire y sin contactos molestos.
Pinzas y alicates: permiten tomar
objetos para manipularlos con precisin, doblar las patitas de los componentes, cortar y pelar cables, etctera.
Destornilladores: planos y philips,
nos permitirn ajustar potencimetros variables, borneras, separar integrados de sus zcalos, etctera.
Tester: pieza fundamental de nuestro
taller, nos permitir medir la continuidad, la resistencia, la corriente y la
tensin de nuestro circuito (Figura 13).
11_apendice a_robotica.qxp
24/10/2007
03:32 p.m.
Pgina 258
258
12_Apendice B_robotica.qxp
24/10/2007
03:33 p.m.
Robtica
Pgina 259
Apndice
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
Aplicaciones tiles
260
267
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
RobotIA
www.robotia.com.ar
Sitio desarrollado por Nstor Balich, uno de los colaboradores de este libro. Presenta videos, noticias y proyectos de robtica autnoma y controlada. Tiene informacin de los equipos del CAETI que participan en campeonatos de ftbol.
260
12_Apendice B_robotica.qxp
24/10/2007
03:33 p.m.
Pgina 261
Listado de sitios
Si nuestros conocimientos de electrnica son muy bsicos, en este sitio podemos encontrar un buen tutorial que nos ayudar a esclarecer el mgico
funcionamiento de nuestros circuitos. Comienza con conceptos fundamentales y recorre una amplia gama de temas electrnicos.
FIRA
www.fira.net
12_Apendice B_robotica.qxp
24/10/2007
03:33 p.m.
Pgina 262
B. SITIOS WEB
RoboCup
www.robocup.org
A nuestro humilde entender, el centro de robtica ms importante del planeta 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 para divertirnos por el resto de nuestras vidas.
262
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 materiales sobre robtica coordinado por Eduardo J. Carletti. Podemos encontrar informacin de sensores, actuadores, circuitos, bateras, controladores
y todo lo que necesitemos para construir nuestros robots.
Microchip
www.microchip.com
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 competidora, 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
12_Apendice B_robotica.qxp
24/10/2007
03:34 p.m.
Pgina 265
Listado de sitios
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 espaciales, mviles y otros. La lista de artculos presentados es notable, y algunos de ellos estn disponibles para nuestra lectura.
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 robots, de rescate y otros. Tambin nos preocupa la insercin de la robtica en la
educacin y para ello trabajamos mucho en ambientes educativos.
265
12_Apendice B_robotica.qxp
24/10/2007
03:34 p.m.
Pgina 266
B. SITIOS WEB
El ITESM ha participado asiduamente de la RoboCup. En este sitio podemos encontrar informacin sobre los diversos equipos participantes, cdigos
fuentes para comenzar a trabajar, videos, reglamentos y muchas cosas ms para empezar a soar con la posibilidad de participar en la liga.
Wowwee
www.wowwee.com
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/
Proyecto Rossum
http://rossum.sourceforge.net/
12_Apendice B_robotica.qxp
24/10/2007
03:34 p.m.
Pgina 268
B. SITIOS WEB
Webots
www.cyberbotics.com
CCS
www.ccsinfo.com
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
Indice temtico
Equivalencia de trminos
Abreviaturas comnmente
utilizadas
270
275
277
279
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
13_Apendice C_robotica.qxp
24/10/2007
03:49 p.m.
Pgina 271
Bibliografa
271
13_Apendice C_robotica.qxp
24/10/2007
03:49 p.m.
Pgina 272
SERVICIOS AL LECTOR
272
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
13_Apendice C_robotica.qxp
24/10/2007
03:49 p.m.
Pgina 274
SERVICIOS AL LECTOR
274
13_Apendice C_robotica.qxp
24/10/2007
03:49 p.m.
Pgina 275
ndice temtico
NDICE TEMTICO
A
Actuadores
Diodo
23, 39
Acuticos
21, 174
Areos
21, 173
Alcance
111
Analgico
Arreglo
114
Assembler
Autnomos
22
254
Display
23, 41
E
EEPROM
28, 65
Efecto hall
156
Electricidad
248
Encoder
23, 196
Engranajes
190
Estator
40
B
Bateras
79, 169
Bipolar
41, 137
Bootloader
67, 96
Bumpers
63, 153
Buzzers
23
F
Final de carrera
Firmware
24, 26
Fotorresistencia
35, 55
Funciones
C
127
Hbridos
Capacitor
252
Holonmica
Cargador
87
CCP
65
Cianocrilato
57
Cinemtica
194
34
Cdigo fuente
100
Comparador
66
Compilador
22
Controlador
Corriente continua
Digital
195
ICSP
66, 74
Industriales
19
Infrarrojo
Interrupciones
206
K
Kits
24
L
LDR
55, 162
Leds
23
103, 105
Lego
26, 56
35, 152
Litio
82
D
Depurador
21, 22
96, 98
Control automatizado
102
Campo magntico
Circuitos intermedios
53
275
13_Apendice C_robotica.qxp
24/10/2007
03:49 p.m.
Pgina 276
SERVICIOS AL LECTOR
Puente H
MDF
57
PVC
Memoria
65
PWM
Metacrilato
58
MicroBasic
95, 98
Microcontrolador
30, 48, 64
Micromotor
134
Motor
Motorreductores
50, 134
67, 129
57
42, 65, 131, 141
R
RAM
65
Recargar
87
Resistencia
251
Reusabilidad
25, 56
Rotor
40, 136
N
Nquel
81, 83
Sensor
O
Odometra
196
Omnidireccional
Operadores
116
Sentencias
117
Servo
140
Servomotor
P
Palm
Paso a paso
41
Soldar
258
T
31
40, 135
Tensin
250
Terrestres
21, 174
PDA
31
Timer
65
PFM
132
Tokens
108
PIC
49
Torque
Pinout
67
Traccin diferencial
Pipelined
50
Transistor
Placa experimental
71
Plantillas
Plomo
Pocket PC
Poleas
Portapilas
Potencimetro
255
102
84
Ultrasonido
31
Unipolar
193
127
51, 185, 224
37
41, 137
USART
65
86
163
Procesador
24
Variables
Procesamiento
23
Visibilidad
108, 112
112
Programador
71, 96
Vitrificacin
79
Protoboard
28, 69
Voltaje nominal
79
276
13_Apendice C_robotica.qxp
24/10/2007
03:49 p.m.
Pgina 277
Equivalencia de trminos
EQUIVALENCIA DE TRMINOS
Otras formas
En este libro
Acceso dial up
En ingls
Acceso de marcacin
Actualizacin
Update, Upgrade
Actualizar
Refresh
Ancho de banda
Bandwidth
Archivos
Files
Archivos adjuntos
Attach, Attachment
Backup
Balde de pintura
Bote de pintura
Base de datos
Booteo
Database
Inicio/Arranque
Buscador
Boot
Search engine
Captura de pantalla
Snapshot
Carpeta
Folder
Casilla de correo
Buzn de correo
CD-ROM
Disco compacto
Compact disk
Chequear
Check
Chip
Pastilla
Cibercaf
Caf de Internet
Clipboard
Portapapeles
Cliquear
Pinchar
Colgar
Trabar
Controlador
Adaptador
Correo electrnico
Tilt
Driver
E-Mail,
Electronic Mail, Mail
Descargar programas
Desfragmentar
Download
Defrag
Destornillador
Desarmador
Disco de inicio
Disco de arranque
Startup disk
Disco rgido
Hard disk
Disquete
Disco flexible
Floppy drive
Firewall
Cortafuego
Formatear
Format
Fuente
Font
Gabinete
Chasis, Cubierta
Grabadora de CD
Quemadora de CD
Grupo de noticias
CD Burn
Newsgroup
277
13_Apendice C_robotica.qxp
24/10/2007
03:49 p.m.
Pgina 278
SERVICIOS AL LECTOR
Otras formas
En este libro
Handheld
En ingls
Computadora de mano
Hipertexto
HyperText
Hospedaje de sitios
Alojamiento de sitios
Hub
Concentrador
Impresora
Hosting
Printer
Inalmbrico
Wireless
Libro electrnico
E-Book
Lista de correo
Lista de distribucin
Motherboard
Mouse
Ratn
Navegador
Mailing list
Browser
Notebook
Computadora de mano,
Offline
Fuera de lnea
Online
En lnea
Computadora porttil
Pgina de inicio
Home page
Panel de control
Control panel
Parlantes
Bocinas, Altavoces
PC
Personal Computer
Ficha, Solapa
Pila
Batera
Placa de sonido
Battery
Soundboard
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
Sitio web
Site
Tarjeta de video
Placa de video
Tipear
Vnculo
278
Link
13_Apendice C_robotica.qxp
24/10/2007
03:49 p.m.
Pgina 279
Abreviatura
Definicin
ADSL
AGP
ANSI
ASCII
BASIC
BIOS
Bit
Bps
CD
Compact Disk
CGI
CPU
CRC
DNS
DPI
DVD
FTP
GB
Gigabyte
HTML
HTTP
IDE
IEEE
IP
Internet Protocol
IR
Infra Red
IRC
IRQ
ISO
ISP
KB
Kilobyte
Internacionales
LAN
LCD
LPT
MB
Megabyte
MBR
MHz
Megahertz
279
13_Apendice C_robotica.qxp
24/10/2007
03:49 p.m.
Pgina 280
SERVICIOS AL LECTOR
Abreviatura
Definicin
NETBEUI
OEM
OS
Operative System
OSI
PCMCIA
PDA
Perl
PGP
PHP
POP3
PPP
RAM
ROM
SMTP
SPX/IPX
SQL
SSL
TCP/IP
UML
UDP
UPS
URL
USB
VGA
WAN
WAP
WWW
XML
280
381-388_Catalogo155x220.qxd
10/23/07
10:57 PM
Page 381
Sobre el autor
y la editorial
Preste atencin
al diseo
Compare
precios
Tiene valores
agregados?
Verifique
el idioma
u s e r s h o p . r e d u s e r s .com
Revise la fecha
de publicacin
e-mail a: usershop@redusers.com
381-388_Catalogo155x220.qxd
10/23/07
10:57 PM
Page 382
>> usershop.redusers.com
Redes GNU/Linux
Mundo Linux
Administrador de Redes
Este manual contiene informes, secretos, consejos y trucos que nos permitirn descubrir y aprovechar todo el potencial que posee este sistema operativo. Est destinado a usuarios que ya
tienen alguna experiencia y desean
dominar sus herramientas.
Este libro nos permitir acelerar el funcionamiento de nuestra PC, convertirla en una fortaleza frente a los ataques, optimizar el rendimiento, navegar ms rpido por Internet, aprovechar al mximo las nuevas caractersticas de Office 2007 y mucho ms.
>
>
>
>
>
>
381-388_Catalogo155x220.qxd
10/23/07
10:57 PM
Page 383
>
>
>
>
>
Excel 2007
Inteligencia Artificial
PC Total
En este libro empezaremos a descubrir la esencia detrs de esta metodologa del desarrollo de videojuegos y a
crear algoritmos que tomen decisiones o las apoyen de manera inteligente. Una obra prctica reforzada con teora para aprender ms rpido.
Este libro contiene cientos de actividades, procedimientos, ideas y consejos que nos permitirn obtener el mximo potencial de nuestra PC. Destinado a quienes utilizan su computadora
especialmente en la oficina o en su
casa para trabajar o estudiar.
Secretos PC
Windows Vista
Videojuegos
En esta obra presentamos una seleccin de los mejores secretos, soluciones, ideas y actividades para aprovechar nuestra computadora al mximo.
Con explicaciones desarrolladas a travs de procedimientos paso a paso, guas visuales y consejos de los expertos.
>
>
>
>
>
>
381-388_Catalogo155x220.qxd
10/23/07
10:57 PM
Page 384
>> usershop.redusers.com
Redes avanzadas
Tcnico en Redes
3D Max Master
Este manual nos brindar los conocimientos y las herramientas necesarias para implementar soluciones basadas en Ajax. Veremos los lenguajes
JavaScript, PHP, .NET, Java, XML, y
JSON. Conceptos tericos y casos
prcticos listos para implementar.
>
>
>
>
381-388_Catalogo155x220.qxd
10/23/07
10:57 PM
Page 385
>
>
>
>
>
Gestin empresarial
Un material imperdible con las caractersticas para comparar las grabadoras del mercado; la instalacin y configuracin para obtener el mximo
rendimiento; y el software y los secretos de los expertos para exprimir la
grabadora al mximo.
Hardware
Edicin de video
Proyectos Web
Este manual brinda las habilidades para dar solucin a los problemas que
pueda tener una PC. Una obra a todo
color, con ilustraciones y fotografas
de los procedimientos, que no puede
faltar en la biblioteca de ningn tcnico o amante del hardware.
>
>
>
>
>
>
>
381-388_Catalogo155x220.qxd
10/23/07
10:57 PM
Page 386
>> usershop.redusers.com
Photoshop Master
Actualizar la PC
Este manual explica los mayores secretos de esta poderosa herramienta para
crear los efectos ms increbles: convertir fotografas en historietas, crear objetos realistas, incorporar cambios climticos, retocar las imgenes de personas,
mejorar la iluminacin y mucho ms.
DirectX
Con este manual aprenderemos a disear y armar sitios web utilizando Fireworks, Flash y Dreamweaver. Cmo
planificar y armar la estructura de las
pginas, preparar las imgenes, registrar y publicar el sitio. Resultados sorprendentes en cada trabajo.
>
>
>
>
381-388_Catalogo155x220.qxd
10/23/07
10:57 PM
Page 387
>
>
>
>
>
ADO.NET
Tcnico en Hardware
Tcnico en Windows
Esta obra brinda las habilidades necesarias para diagnosticar y reparar fallas de hardware. Imprescindible para hacer frente a conflictos con el
motherboard, el microprocesador o la
memoria; fallas en la fuente de alimentacin, perifricos y ms.
Implementacin y debugging
PHP5
Cmo proteger la PC
>
>
>
>
>
>
>
381-388_Catalogo155x220.qxd
10/23/07
10:58 PM
Page 388
>> usershop.redusers.com
Este libro brinda las herramientas necesarias para convertirse en un verdadero experto en el desarrollo de
aplicaciones web con Java. Destinado a todos aquellos desarrolladores
que posean conocimientos de programacin orientada a objetos.
Freeware
Mi PC
> COLECCIN: MI PC
> COLECCIN: MI PC
Untitled-4 1
06/11/2009 17:24:55
opcion2.qxp
16/11/2009
12:51
Pgina 1
CONVIE
RTA SU
PASI
EN REA N
LIDAD!
CONTENIDO
1 | INTRODUCCIN
Qu es un robot? Cundo conviviremos con ellos?
Tendremos diversos tipos de robots entre nosotros?
Lavarn los platos? En este primer captulo
intentaremos responder stas y otras preguntas.
cia ficcin y las nuevas tecnologas, cada uno de los temas es desarrollado desde
un robot y cada uno de los pasos por seguir para armarlo y programarlo a nuestro gusto. Destinado a entusiastas y aficionados de la cien-
cero, y con la mayor claridad y profundidad. Su autor, coordinador del campeonato argentino de Ftbol de Robots y miembro del Consejo Latinoamericano de
RoboCup y Cochair de la FIRA, vuelca en este libro su vasta experiencia.
NIVEL
EXPERTO
ROBOTICA
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
AVANZADO
Gua Terica
y Prctica
7 | ADAPTACIN AL ENTORNO
Sensores analgicos y digitales | Tipos y caractersticas
8 | EL CUERPO DEL ROBOT
Caractersticas de un robot autnomo | Robots areos |
Robots subacuticos | Robots terrestres | Sistemas con
ruedas | El montaje de los elementos | Mecanismos de
transmisin y reduccin | Cinemtica | Odometra
9 | SALIR AL RUEDO
Presentarnos a competir | Problemas frecuentes |
Pruebas tradicionales
10 | FTBOL DE ROBOTS
Arquitectura y navegacin de los robots | Sensado y
deteccin del ambiente | Comportamiento colaborativo
| Ligas nacionales e internacionales
APNDICE | LA ELECTRNICA
PRINCIPIANTE
redusers.com
En este sitio encontrar una gran variedad de recursos y software relacionado,
que le servirn como complemento al contenido del libro.
Adems, tendr la posibilidad de estar en contacto con los editores, y de participar del foro de lectores, en donde podr intercambiar opiniones y experiencias.
ROBOTICS
This science is no longer part of a distant future, it is a part
of a very real and concrete present. This manual offers the
fundamentals to be a member of this new reality through
practical projects and by learning the theory behind them.
INTERMEDIO
6 | RECORRER EL MUNDO
El movimiento de los robots | Motor de corriente
continua | Motor paso a paso | Servos
EL MONTAJE DE LA PIEZAS
Las partes que componen un robot
Los pasos para ensamblarlas
LA INTELIGENCIA
Trabajar con microcontroladores
Lenguajes de programacin
ROBOTS AUTNOMOS
Utilizacin de sensores
Mecanismos para generar movimiento
Gonzalo Zabala