Está en la página 1de 292

¡CONVIE

RTA SU
PASI
EN REA ÓN
LIDAD!

ROBOTICA
Guía Teórica
y Práctica

EL MONTAJE DE LA PIEZAS
● Las partes que componen un robot
● Los pasos para ensamblarlas

LA INTELIGENCIA
● Trabajar con microcontroladores
● Lenguajes de programación

ROBOTS AUTÓNOMOS
● Utilización de sensores
● Mecanismos para generar movimiento

Gonzalo Zabala

APRENDA A ARMAR ROBOTS DESDE CERO


Léalo antes Gratis!
En nuestro sitio puede obtener, en forma gratuita,
un capítulo de cada uno de nuestros libros:
usershop.redusers.com

Nuestros libros incluyen guías 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 tecnología.

ARGENTINA
Conéctese con nosotros! ✆ (011)4110-8700
CHILE
✆ (2)810-7400
usershop.redusers.com ESPAÑA
✆ (93)635-4120
MÉXICO
✆ (55)5350-3099

o por e-mail a: lectores@redusers.com


TÍTULO: ROBÓTICA

AUTOR: Gonzalo Zabala

COLECCIÓN: USERS Express

FORMATO: 22 x 15,5 cm

PÁGINAS: 288

Copyright © MMVII. Es una publicación de Gradi S.A. Hecho el depósito que marca
la ley 11723. Todos los derechos reservados. No se permite la reproducción parcial o
total, el almacenamiento, el alquiler, la transmisión o la transformación de este libro,
en cualquier forma o por cualquier medio, sea electrónico o mecánico, mediante fo-
tocopias, digitalización u otros métodos, sin el permiso previo y escrito del editor. Su
infracción está penada por las leyes 11723 y 25446. La editorial no asume responsa-
bilidad alguna por cualquier consecuencia derivada de la fabricación, funcionamien-
to y/o utilización de los servicios y productos que se describen y/o analizan. Todas las
marcas mencionadas en este libro son propiedad exclusiva de sus respectivos due-
ños. Impreso en Argentina. Libro de edición argentina. Primera impresión realizada
en Sevagraf, Costa Rica 5226, Grand Bourg, Malvinas Argentinas, Pcia. de Buenos Ai-
res en noviembre de MMIX.

ISBN 978-987-1347-56-8

Zabala, Gonzalo
Robótica. - 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. Título
CDD 005.3
PRELIMINARES

Gonzalo Zabala

Profesor de Enseñanza Primaria (Normal No. 1) y Licencia-


do en Ciencias de la Computación (UBA, Ciencias Exactas),
ha conjugado ambas vocaciones en la educación tecnológica
y el uso de tecnología para la educación. Trabajó durante mu-
chos años como docente de diversas ramas de la informática,
y a fines del siglo pasado comenzó a usar robots para la en-
señanza de programación. En el año 2000 creó la Roboliga,
Olimpíada Argentina de Robótica, que ya lleva siete eventos
con participación de alumnos y docentes de toda la Argenti-
na. En 2004 ingresó en el Centro de Investigaciones de la Fa-
cultad de Tecnología Informática de la Universidad Abierta
Interamericana, donde creó el Grupo de Investigación de
Robótica Autónoma. Fue coordinador de diversos equipos de
alumnos que han participado en forma nacional e interna-
cional en competencias de robótica, y obtuvieron excelentes
resultados en fútbol de robots y pruebas de rescate. Actual-
mente, continúa en el Centro de Investigaciones y es repre-
sentante de Argentina de la RoboCup Junior, director técni-
co y pedagógico del proyecto Lego Education en el país, co-
ordinador del Campeonato Argentino de Fútbol de Robots,
miembro del Consejo Latinoamericano de RoboCup y Co-
chair de la categoría SimuroSot de la FIRA.

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

4
Sobre el autor

Agradecimientos

Son muchas las personas que entran en juego en la confección de un libro,


aunque luego aparezca sólo una en la tapa. Aquí mencionaré a algunas de
ellas, pero seguramente me olvidaré de muchas más, que espero que me
perdonen y me lo recriminen, para no olvidarme la próxima vez.

Antes que nada, quiero agradecerles a Néstor Balich y a Gonzalo Mon por
la colaboración en los capítulos en los que están mencionados, en especial
a Néstor por su aporte del controlador y por todas las dudas que disipó
cuando probábamos las cosas. Otra heroína es Iris, mi compañera del al-
ma, que soportó abandonos familiares y responsabilidades extras para de-
jarme tiempo libre para escribir el libro.

Un capítulo aparte merecen Paula Budris y Diego Spaciuk por aceptar mis
constantes incumplimientos, por alentarme cuando me quería bajar del
tren y por guiarme en todo este camino.

También quiero agradecerles a Darío Cardacci y a Carolina Soleil del CAETI


(Centro de Investigaciones en Tecnología Informática de la UAI), que también
soportaron incumplimientos de mi parte para que yo llevara adelante esta tarea.

Por último, agradezco a todos mis alumnos de estos años, porque gran parte de
lo que aprendí fue gracias a sus preguntas. Para ellos, mi más dulce recuerdo.

5
PRELIMINARES

Prólogo
Si Ud. tiene este libro en sus manos, es por alguna o algunas de las siguien-
tes razones:
a) Ha sido alcanzado por el sueño eterno de la humanidad de crear un ser
a su imagen y semejanza.
b) Desea bajar los costos de producción de su industria, para darles más
horas libres a sus fieles obreros.
c) Quiere entender de qué hablan sus hijos o nietos cuando están reunidos
en la mesa, y dejarle de temer a ese ser espeluznante que de vez en vez
le habla con voz metálica y le solicita un hueso, una pelotita o simple-
mente que lo enchufen para recargar sus baterías.
d) Quiere armar, de una vez por todas, un robot que funcione, que siga la
línea o la pelota, que busque la luz, sin tener que comprar 999 fascícu-
los con destino incierto.

Aunque este libro les será de utilidad a los tres primeros grupos, segura-
mente el que quedará más conforme es el lector que pertenece al último de
ellos. Nuestro objetivo es poder describir, paso a paso, la electrónica, la
mecánica y la programación necesarias para poder construir un robot sen-
cillo y de bajo costo, que permita realizar tareas simples en forma autóno-
ma. Para ello, presentaremos todos los aspectos esenciales que conforman
la arquitectura de un robot, inclusive más allá de los que necesitaremos pa-
ra la construcción de nuestro modelo, de manera tal que el lector pueda
perfeccionar su creación con nuevos sensores, actuadores y procesadores.

Nuestro punto de partida será mínimo, pero es necesario cierto conoci-


miento básico (muy básico) de programación para poder definir el com-
portamiento del robot. Para este fin, hemos elegido un lenguaje tan senci-
llo como el Basic, pero dado que no es un libro de programación, le dedi-
caremos pocos capítulos a este aspecto. El uso de estructuras de decisión,
de ciclos de repetición y el manejo de variables sencillas es el requerimien-
to para poder comprender los algoritmos presentados sin problemas.

También es bueno tener una base de electrónica, aunque no es imprescindi-


ble. De hecho, si no tiene ningún conocimiento en este campo, probable-

6
Prólogo

mente le parezca mágico el funcionamiento de ciertos aspectos del robot. Sin


embargo, como seguiremos la descripción de la construcción de forma deta-
llada, podrá construirlo sin saber el por qué profundo de esa construcción.

Con respecto a la mecánica, nuestro robot es tan sencillo que no necesita-


mos ningún conocimiento vinculado a ese tema. Si en algún momento nos
encontramos en una lucha de sumo de robots, con seguridad los que se-
pan más de mecánica nos vencerán pero, para seguir una línea, basta con
ubicar las ruedas en forma razonable.

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


profundo deseo que al finalizar estas páginas, tenga dando vueltas por su
casa un pequeño robot independiente y que nos podamos encontrar en al-
guna de las tantas competencias de robótica que existen en nuestro país (¡o
en el planeta!). Y por qué no, que un día, al golearnos con su equipo de
robots en un partido de cinco contra cinco, nos honre al contarnos que su
primera experiencia fue con esta humilde obra. Le podemos asegurar que
ese día, a pesar de la derrota, ¡tocaremos el cielo con las manos!

Lic. Gonzalo Zabala y colaboradores.

7
PRELIMINARES

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

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

8
El libro de un vistazo

de sensores y los probaremos con nuestro fútbol de robots. Explicaremos el por qué
controlador. Del mar de componentes digi- de tanta pasión y cómo podemos usar
tales y analógicos, seleccionaremos un nuestro robot para participar de compe-
subconjunto para aplicarlo a nuestro robot. tencias nacionales e internacionales.

Capítulo 8 Apéndice A
EL CUERPO DEL ROBOT CONCEPTOS BÁSICOS DE ELECTRÓNICA
En este punto, tenemos el robot casi termi- Si nos quedan dudas sobre cómo ocurre lo
nado pero desmembrado. ¿Qué materiales que hemos visto en este libro, aquí encon-
usamos para construir el cuerpo del robot? traremos material. Desde qué es la electri-
¿Qué ventajas y desventajas presenta cada cidad hasta la historia y el funcionamiento
uno? ¿Qué herramientas necesitamos? Aquí de los circuitos integrados, esclareceremos
intentaremos responder estas preguntas. los temas electrónicos fundamentales.

Capítulo 9 Apéndice B
SALIR AL RUEDO SITIOS WEB
Presentamos desafíos y proyectos de apli- Y como todo esto es el comienzo, presenta-
cación con sus respectivas modificaciones remos una lista de sitios de electrónica y
electrónicas, mecánicas y de programación. robótica donde podremos profundizar nues-
Analizaremos las características de las tros estudios y conocimientos.
pruebas de robots autónomos y los proble-
mas que hay que enfrentar para superarlas. Servicios al lector
BIBLIOGRAFÍA
Capítulo 10 Como bien decía Newton, podemos ver lejos
JUGAR AL FÚTBOL porque nos hemos parado en hombros de
Uno de los campos más atrayentes de gigantes. Aquí presentaremos las fuentes
aplicación de la robótica autónoma es el de nuestras investigaciones y estudios.

! INFORMACIÓN COMPLEMENTARIA

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

CURIOSIDADES ATENCIÓN DATOS ÚTILES SITIOS WEB


❴❵ ✱ ❘❘❘

E IDEAS Y NOVEDADES

9
PRELIMINARES

Contenido

Sobre el autor 4 Objetivos de nuestro robot 47


Agradecimientos 5 Tipo de procesamiento
Prólogo 6 seleccionado 48
El libro de un vistazo 8 ¿Cómo le damos movimiento
Introducción 14 a nuestro robot? 50
¿Y cómo captamos el mundo
Capítulo 1 que nos rodea? 53
CONCEPTOS FUNDAMENTALES Materiales para la mecánica 55
Introducción a la robótica 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

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

10
Contenido

Listado de componentes PicBasic Pro 95


del controlador 68 Compilador CCS C 97
Descripción del circuito 69 MikroBasic 98
Placa experimental 71 Editor de código fuente
El programador 71 de mikroBasic 100
Nuestro programador 71 Explorador de código 103
Resumen 75 Depurador 103
Actividades 76 Manos a la obra 106
Elementos del léxico 108
Organización de los módulos 110
Alcance y visibilidad 111
Variables, constantes y tipos 112
Estructuras 115
Operadores 116
Sentencias 117
Resumen 123
Actividades 124

Capítulo 4
COMIDA DE ROBOTS
La fuente de energía 78
Características de las celdas
de las baterías 79
Tipos de baterías 81
Calidad de las baterías 86
Cargadores 87
Ayudar a que no sólo
las baterías duren más 89 Capítulo 6
Resumen 91 RECORRER EL MUNDO
Actividades 92 El movimiento del robot 126
Tipos de motores 126
Capítulo 5 Motores de corriente continua 127
HABLAR CON NUESTRO ROBOT Motores paso a paso (Motores PaP) 135
Comunicación con el robot 94 Servos 140
Lenguajes de programación Resumen 145
para robots 95 Actividades 146

11
PRELIMINARES

Características mecánicas
de un robot autónomo 169
Robots aéreos 173
Robots subacuáticos 174
Robots terrestres 174
Sistemas con ruedas 179
Estructura de nuestro robot 184
Mecanismos de transmisión
y reducción 190
Cinemática de un robot 194
Capítulo 7 Odometría 196
SENSAR EL MUNDO Resumen 197
Adaptación al entorno 148 Actividades 198
Tipos de sensores 148
Características esenciales
de los sensores 149
Sensores digitales 152
Los sensores analógicos 158
Tipos de sensores analógicos 162
Resumen 165
Actividades 166

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

12
Contenido

Características comunes de las Apéndice A


pruebas de robots autónomos 200 CONCEPTOS BÁSICOS DE ELECTRÓNICA
Pruebas tradicionales La electrónica 248
para robots autónomos 210 Conceptos de electricidad 248
¡La luz, la luz, he visto la luz! 213 Componentes que utilizamos
Resumen 219 en nuestros circuitos 251
Actividades 220 Herramientas fundamentales 256
Consejos para soldar 258

Capítulo 10
JUGAR AL FÚTBOL
Fútbol de robots 222 Apéndice B
Características del fútbol SITIOS WEB
de robots 222 Listado de sitios 260
Ligas nacionales e internacionales Aplicaciones útiles 267
de fútbol de robots 232
Modificaciones para
que nuestro robot pueda jugar 242
Una pelota infrarroja 244
Resumen 245
Actividades 246

Servicios al lector
Bibliografía 270
Indice temático 275
Equivalencia de términos 277
Abreviaturas comúnmente
utilizadas 279

13
PRELIMINARES

Introducción
Decir que la robótica es un tema del futuro es una prueba fehaciente de miopía.
Los robots están entrando por nuestras puertas, ventanas, cerraduras, y es inevita-
ble que así sea. Desde los lavarropas hasta los vehículos espaciales utilizan tecno-
logías muy vinculadas con la disciplina. Seguramente, comenzaron con investiga-
ciones que en ese momento parecían 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 después de algunos años de investiga-
ción sobre este tema, y luego de escribir algunos artículos inentendibles, tuvimos
ganas de abrir el juego. La gente de esta editorial nos invitó a presentar el tema en
forma más amena y al alcance de más lectores.

Mi relación con la robótica comenzó desde el ámbito educativo como un recurso con-
creto y tangible para enseñarles programación a jóvenes entre 13 y 17 años. En mi ex-
periencia como docente de programación había llegado a una conclusión terrible: cuan-
do enseñamos 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 sólo 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, más abultado, que a pesar de todos los recursos, inventos y triquiñuelas
didácticos, no lograban superar el PRINT “HOLA MUNDO”. Por lo tanto, mi tarea
como docente era inútil en los dos casos: en el primer grupo, porque no me necesita-
ban, y en el segundo, porque no les podía aportar cosas nuevas. En ese momento co-
mencé a buscar algún mecanismo para que nadie se diera cuenta de esto y, a conti-
nuación, un recurso que permitiera mejorar la enseñanza de programación. Allí me
crucé con los robots y con los entornos de objetos. Con el primer tema me casé y con
el segundo tengo una relación de amante que espero oficializar en un próximo libro.

Tengo la suerte de que en las últimas investigaciones que he desarrollado, ambos aspec-
tos se han unido y manejamos los robots desde un ambiente de objetos. La robótica 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 mía y de mi familia. Pero ante todo,
me ha brindado la posibilidad de sorprenderme día tras día. Siempre hay algo nuevo,
siempre hay otro desafío. Espero que este libro sirva como un punto de partida sencillo
para viajar a obras mucho más completas que nos regalarán experiencias maravillosas.

14
Robótica Capítulo 1
Conceptos
fundamentales
¿Qué es un robot? ¿Cuándo

conviviremos con ellos? ¿Tendremos

diversos tipos de robots entre nosotros?

¿Lavarán los platos? En este primer

capítulo intentaremos responder estas

y otras preguntas, con el objetivo

de entender cuáles son

los alcances posibles de nuestro

primer proyecto robótico.

Introducción a la robótica 16
¿Qué es un robot? 16
Tipos de robots 19
Unidades de un robot 23
Colaborador: Procesamiento 24
Ing. Gonzalo Mon Sensores 33
Actuadores 39
Resumen 43
SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com Actividades 44
1. CONCEPTOS FUNDAMENTALES

INTRODUCCIÓN bargo, probablemente gracias a la li-


A LA ROBÓTICA teratura y al cine de ciencia ficción,
el concepto de lo que es un robot,
Día a día, nos sorprendemos con las sus posibilidades y sus limitaciones
noticias que aparecen en los medios reales están desdibujados en el ima-
de comunicación vinculadas a la ginario colectivo. Es por eso que en
presencia de robots en diversos cam- este primer capítulo haremos una
pos de la vida cotidiana. Robots en- introducción a los conceptos funda-
fermeros, mascotas, repositores de mentales de la robótica.
supermercados, detectores de explo-
sivos, aspiradoras hogareñas, o sim- ¿Qué es un robot?
ples jugadores de fútbol, son algu- Sueño de muchas generaciones, la
nos de los ejemplos que podemos explosión tecnológica nos ha puesto
encontrar en el mercado de la tecno- al alcance de poder concretarlo.
logía de última generación. Para comenzar nuestro recorrido,
En síntesis, la robótica ya no es hagamos un repaso de la historia de
parte de nuestro futuro sino de la robótica para comprender hacia
nuestro presente tangible. Sin em- dónde nos dirigimos.

Figura 1. Roomba, la aspiradora robótica más popular y económica del mercado.

16
Introducción a la robótica

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

17
1. CONCEPTOS FUNDAMENTALES

to de robótica en diversos relatos de


ciencia ficción de su autoría. En sus
obras, Asimov muestra facetas hu-
manas de los robots y define un con-
junto de leyes para que estos seres
nuevos nunca se rebelen contra los
humanos. Luego, el cine y la televi-
sión generaron cientos de robots de
diversa índole, algunos simpáticos
(como R2D2 y Cortocircuito), y
otros definitivamente en contra de
sus creadores (Terminator, HAL).
A partir de la creación de las prime-
ras computadoras comenzó el verda-
dero desarrollo de los robots primi-
tivos. En 1974, la empresa Cinci-
nnati Milacron realizó el primer ro- Figura 4. Isaac Asimov, creador
bot industrial, conocido como The de cientos de cuentos sobre robots
Tomorrow Tool. A partir de ese mo- y de la palabra robótica.
mento, junto con la evolución de los
sistemas de procesamiento, el creci- gún la Asociación Japonesa de Robó-
miento de la robótica ha sido expo- tica Industrial (JIRA), los robots son
nencial. La reducción de tamaño y dispositivos capaces de moverse de mo-
de costos, y el aumento de la capa- do flexible, análogo al que poseen los
cidad de cálculo de los procesadores, organismos vivos, con o sin funciones
han permitido la creación de robots intelectuales, lo que permite la realiza-
cada vez más sofisticados, rápidos y ción de operaciones en respuesta a ór-
autónomos. Sin embargo, aún esta- denes recibidas por humanos. Vemos
mos lejos de crear un robot a nues- que en esta definición se encuentra
tra imagen y semejanza. resaltada la capacidad de movimien-
to de los robots y su analogía con los
Definición de la palabra robot seres de la naturaleza. Sin embargo,
Existen muchas definiciones de la a la JIRA no le interesa la inteligen-
palabra robot. En cada una de ellas, cia artificial aplicada al robot, dado
encontramos destacado algún aspec- que su función fundamental es ser
to en particular, que es el que cada operado por un humano. Por su par-
autor quiere resaltar en su obra. Se- te, el Instituto de Robótica de Nor-

18
Introducción a la robótica

teamérica (RIA) define a un robot comenzar a introducirnos en el tipo


industrial como un manipulador de robot sobre el que vamos a centrar-
multifuncional y reprogramable dise- nos en el desarrollo del libro.
ñado para desplazar materiales, com-
ponentes, herramientas o dispositivos Tipos de robots
especializados por medio de movimien- De la misma manera que con las de-
tos programados variables, con el fin de finiciones, podemos encontrar mu-
realizar diversas tareas. En este caso, chas clasificaciones distintas de ro-
el acento está puesto en la capacidad bots. En esta obra, al presentarlos,
de programación del robot y, por lo intentaremos acercarnos a los diver-
tanto, en cierta independencia de sos problemas mecánicos, electróni-
funcionamiento con respecto a la cos y de software que encontramos
operación humana. Como dijo Jo- en el desarrollo de un robot. Las cla-
seph Engelberg, padre de la robótica sificaciones elegidas son:
industrial: es posible que no sea ca-
paz de definir qué es un robot, pe- Según el uso del robot
ro sé cuándo veo uno. A continuación presentaremos una
Particularmente, y ya que nos hemos clasificación posible de los robots se-
ganado el derecho dado que estamos gún su utilidad específica.
escribiendo un libro sobre robótica, • Industriales: se utilizan dentro de
agregaremos una definición más de un proceso de trabajo industrial. Es
robot a la larga lista preexistente: un el tipo de robot que más ha sido de-
robot es un dispositivo con un de- sarrollado en la historia (Figura 5).
terminado grado de movilidad, que • Espaciales: deben desenvolverse en
puede realizar un conjunto de ta- zonas inexploradas y a larga distan-
reas en forma independiente y que cia de su centro de control.
se adapta al mundo en el que ope- • Médicos: son utilizados como
ra. El objetivo de esta definición es apoyo en la intervención médica

✱ UN ROBOT QUE JUGABA AL AJEDREZ


Uno de los primeros robots reales fue el jugador de ajedrez autómata de Wolfgang
von Kempelen, en 1769. Éste consistía en una cabina de madera de 1,20 metros de
largo, 60 centímetros de profundidad y 90 centímetros de altura. Cuando se abrían
las puertas de la máquina, se podía ver un complejo mecanismo de engranajes que,
supuestamente, permitían jugar un partido de ajedrez de buen nivel. En realidad,
dentro de la estructura se escondía un pequeño jugador humano.

19
1. CONCEPTOS FUNDAMENTALES

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


plemento para las personas con ca- tera, que modifican su comporta-
pacidades disminuidas. miento en forma autónoma según
• Domésticos: el sueño de todo amo el ambiente en el que trabajan.
o ama de casa, un robot que reali- • Sociales: robots utilizados en ám-
ce alguna o todas las tareas del ho- bitos sociales (como películas,
gar. Ya hay entre nosotros aspira- eventos y supermercados) con fun-
ciones de comunicación intensiva
con los humanos. En estos casos,
uno de los elementos de investiga-
ción fundamental es el aspecto es-
tético del robot, el estudio de la in-
terfaz con el humano para realizar
una comunicación completa, con
gestos, tonos, silencios, etcétera.
• Agrícolas: así como en sus co-
mienzos la robótica tuvo amplia
aplicación en la industria, en los
últimos años ha comenzado a cre-
cer en forma exponencial el uso de
robots y de la inteligencia artificial
en el sector agrícola-ganadero. Las
cosechadoras autónomas, las sem-
bradoras controladas por mapas
satelitales, los fumigadores roboti-
zados y otros dispositivos hicieron
su aparición dentro de lo que ac-
Figura 5. Kit de brazo robótico tualmente se conoce como agri-
RA-01 con 5 servos. cultura de precisión (Figura 6).

❘❘❘ ROBOTS INSECTOS


Como si no fueran suficientes los insectos que nos perturban durante todo el año, los
ingenieros han decidido que, antes de imitar a un humano, es necesario lograr un in-
secto robótico. Los sistemas de visión y de vuelo de los insectos son dos fuentes de
inspiración 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
Introducción a la robótica

Según el medio en el que desarro-


lla la actividad
• Acuáticos: se caracterizan por movi-
mientos tridimensionales en un am-
biente hostil desde el punto de vista
mecánico y electrónico (Figura 8).
• Terrestres: son los más populares
y económicos. Podemos, a su vez,
subclasificarlos por sistema de lo-
comoción: fijos, ruedas, orugas,
patas, arrastre, etcétera. Figura 6. Demeter, un robot de
• Aéreos: con movimientos tridi- aplicación agrícola desarrollado
mensionales, como el acuático, pe- en la Universidad de Carnegie Mellon.
ro con una exigencia mucho ma-
yor en el control en tiempo real del En esta clasificación, las característi-
sistema de levitación (Figura 7). cas mecánicas del robot se modifi-
• Híbridos: combinación de algu- can en forma sustancial entre uno u
nos de los anteriores. otro medio. Prácticamente, es impo-

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

21
1. CONCEPTOS FUNDAMENTALES

Figura 8. Robot
acuático japonés,
que imita la
estructura de
algunos seres
acuáticos.

sible utilizar la mecánica de un ro- robots las acciones que deben rea-
bot construido en un medio para lizar. Un ejemplo de este modelo
que funcione en otro, salvo en el ca- es la categoría Mirosot de fútbol
so de algunos híbridos. de robots de la FIRA.
• Híbridos: son robots autónomos
Según la ubicación de la inteligen- que, en ciertos momentos del pro-
cia del robot ceso, pueden ser controlados por
• Autónomos: la inteligencia está humanos o por un sistema central.
ubicada en el mismo robot. Puede Un ejemplo son los robots que se
comunicarse con otros o con un utilizan en misiones espaciales, que
sistema central, pero los aspectos operan en forma autónoma pero
esenciales de funcionamiento se que, ante un percance, pueden ser
resuelven en forma independiente dirigidos desde nuestro planeta.
en el propio robot.
• Control automatizado (semiautó- También podríamos clasificar a los
nomos): la mayor parte de la inte- robots por sus características estruc-
ligencia del robot está ubicada en turales, por el tipo de sensado del
un sistema central. Los sensores mundo, etcétera. De todas maneras,
pueden ser locales, es decir que le todos los robots comparten la mis-
envían la información obtenida a ma arquitectura básica, desde el más
ese sistema central, o globales. El pequeño hasta Terminator. A conti-
sistema central les comunica a los nuación veremos la fuerte analogía

22
Introducción a la robótica

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


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

23
1. CONCEPTOS FUNDAMENTALES

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


como puede ser una cámara de video, artesanal toda la electrónica que los
exigen de parte del procesador un complementa para poder procesar
mayor tiempo de trabajo para poder las entradas y salidas, hasta costosos
obtener un conjunto de información kits que tienen absolutamente todo
que resulte significativo. De la misma resuelto. Está claro que con éstos úl-
manera, el control de los actuadores timos podremos hacer que nuestro
sofisticados, como cierto tipo de mo- robot funcione en algunas horas, pe-
tores, consume tiempo de procesa- ro es en el primer caso donde tendre-
miento que es absolutamente necesa- mos un control absoluto y de bajo
rio para que el robot opere en tiem- nivel de las capacidades de procesa-
po real. En síntesis, es imprescindible miento de nuestro dispositivo.
lograr el equilibrio entre velocidad De todas maneras, analizaremos en
y precisión, en especial en aquellos forma detallada las ventajas y las
robots que operan en entornos muy desventajas de ambas propuestas: el
dinámicos. Es por eso que, habitual- desarrollo con el uso de kits frente a
mente, se utilizan ciertos procesado- la construcción en forma artesanal
res específicos para el filtrado de la in- de los robots. Además, conoceremos
formación de entrada y para el con- brevemente algunos kits y micros
trol de los actuadores, y así se libera disponibles en el mercado, y hare-
de esta tarea al procesador central y mos una lista de los sitios web don-
se complementa su función. de se puede conseguir información
En las próximas páginas, analizare- más detallada y completa.
mos cada una de estas unidades en
profundidad, de forma tal que poda- Kits
mos realizar la elección adecuada se- Los kits para la construcción de ro-
gún los objetivos específicos que bots, en general, presentan los si-
tengamos para nuestro robot. guientes elementos:
• Un procesador o conjunto de pro-
Procesamiento cesadores con toda la electrónica de
Cuando comenzamos a analizar lo entrada y salida de los sensores re-
que nos ofrece el mercado de la ro- suelta. Además, poseen un sistema
bótica con respecto a procesamiento, operativo dentro del controlador
probablemente nos encontremos (firmware), que eleva el nivel de pro-
confundidos ante la diversidad de gramación de los procesadores, lo
posibilidades. Podemos encontrar que posibilita el uso de lenguajes de
desde micros de muy bajo precio, en alto nivel o interfaces gráficas para el

24
Introducción a la robótica

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

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


tro robot en forma muy sencilla. permite la elaboración de la física del
• Un conjunto de sensores que robot mediante la aplicación de co-
aprovechan la electrónica ya re- nocimientos de nuestra infancia.
suelta, y que con una simple cone- Si tenemos en cuenta este conjunto
xión funcionan de manera casi de materiales, es sencillo notar que las
mágica. Por ejemplo, sensores de ventajas que nos presenta el uso de
luz donde el firmware interpreta el kits para la construcción de nuestro
voltaje que entrega el sensor como robot son las siguientes:
un valor entre 0 y 100. • Menor tiempo de construcción
• Un conjunto de motores que del robot: en pocas horas, podemos
también utilizan la electrónica de obtener robots poderosos para los
salida, que se alimentan directa- desafíos habituales en robótica.
mente de la misma fuente que ali- • Alta reusabilidad del material:
menta al procesador, y que gracias una vez terminado el desafío, po-
al firmware podemos indicarle di- demos desarmar el robot y utilizar
rección, velocidad, etcétera, sin la todas las piezas, los sensores, los
necesidad de cálculos complejos. motores y el procesador para armar
• Material constructivo para resolver un robot completamente distinto.
la mecánica del robot, altamente • Baja necesidad de conocimientos

25
1. CONCEPTOS FUNDAMENTALES

la relación puede ser de 20 a 1 con


respecto a un desarrollo manual. El
robot que construiremos en este li-
bro mantiene esta relación con los
kits más económicos de robótica.
• La imposiblidad, en muchos casos,
de poder realizar modificaciones de
bajo nivel en el hardware o el firm-
ware del robot. A pesar de todos los
esfuerzos de documentación que ha-
ga la empresa creadora del kit, es im-
posible que todo sea altamente mo-
dificable, por la misma necesidad de
mantener la arquitectura intrínseca
del robot. Su elaboración artesanal
desde cero nos permite modificar
hasta el más mínimo detalle.
• Baja precisión y calidad final de
Figura 10. Un humanoide realizado los robots: dado que los kits son
con el Lego Nxt. para el desarrollo de robots de di-
versos propósitos, en todos los ca-
técnicos: sin saber electrónica y sos perdemos precisión y calidad.
prácticamente sin saber programa- Por ejemplo, los motores sirven
ción, podemos desarrollar un robot para moverse en un determinado
poderoso. Desde ya que para aque- ambiente con alto margen de
llos usuarios que sí tengan esos co- error, pero no son veloces ni per-
nocimientos, el aprovechamiento miten movimientos de precisión
será mucho mayor. Más aún si los como lo pueden exigir ciertos ob-
desarrolladores del kit tuvieron la jetivos. En general, los sensores
precaución de dejar abiertos tanto el son económicos, y el rango de va-
firmware como el hardware del pro- lores que devuelven es pobre.
cesador y los sensores.
Los kits de robótica más conocidos
De todas formas, no todas son cosas en el mercado son los siguientes:
positivas. Las desventajas que tene- • Lego Nxt: sucesor del modelo
mos con el uso de kits son: Mindstorms, es el kit de mayor di-
• El alto o altísimo costo de un kit: fusión en todo el mundo (Figura 9).

26
Introducción a la robótica

Su procesador es un ARM7 de 32 guaje de programación es un am-


bits. Cuenta con 256 Kb de Flash y biente gráfico muy sencillo, similar
64 Kb de RAM. Se comunica por al Robolab de las versiones anterio-
Bluetooth clase 2 y por USB. Tiene res, pero con mayor potencia y ver-
4 entradas para sensores y 3 salidas satilidad. Para finalizar, una de las
para actuadores. En el kit se inte- mejores decisiones que ha tomado la
gran 3 motores servo con encoders firma Lego es publicar muchísima
incorporados para controlar su mo- información sobre el desarrollo tan-
vimiento con precisión. to de hardware como de software del
Además, cuenta con un sensor de kit, lo que ha permitido que en po-
tacto, uno de sonido, otro de luz y co tiempo (salió a la venta en agos-
por último un sensor ultrasónico. to de 2006) las personas de todo el
Para la mecánica del robot cuenta mundo que tienen este hobby hayan
con piezas de las denominadas desarrollado hardware y software es-
Technic, que permiten diseñar dife- pecífico fuera del oficial. Para obte-
rentes estructuras según el destino ner más información, podemos visi-
del robot creado (Figura 10). El len- tar http://mindstorms.lego.com.

Figura 11. Placa educativa del Basic Stamp de Parallax.

27
1. CONCEPTOS FUNDAMENTALES

queta de experimentación), donde


podremos realizar todas nuestras ex-
periencias. Viene con un servo, leds,
capacitores, resistencias y otros com-
ponentes para diseñar nuestro robot.
Las guías que acompañan a este y
otros kits son excelentes (¡y algunas
están en castellano!), y pueden con-
seguirse en forma gratuita en el sitio
de la empresa. La última creación de
Parallax ha sido el micro de nombre
Propeller, con 8 procesadores para-
Figura 12. Aquí podemos ver uno
lelos en su interior. Tiene una arqui-
de los modelos constructivos de XiOR,
tectura de 32 bits, 80 Mhz, con 32
conocido como N10.
pines de E/S direccionables por cual-
quiera de los 8 procesadores. Para
• Parallax: el producto más popular de buscar más información, podemos
esta empresa es el micro Basic Stamp visitar www.parallax.com.
(Figura 11). Aunque uno puede adqui- • XiOR: en América Latina, conta-
rir solamente el micro y realizar el ro- mos con nuestro propio kit de ro-
bot desde cero como comentaremos bótica. XiOR (www.xior.org) es
más adelante, hay tantos desarrollos una empresa argentina de tecnolo-
y tantas presentaciones de productos gía y entre sus trabajos ha desarro-
de la firma Parallax que hemos deci- llado un sistema constructivo para
dido presentarlo dentro de esta sec- la fabricación de robots móviles au-
ción. El Basic Stamp Starter Kit es- tónomos. El modelo N10 es el pri-
tá desarrollado para iniciarse en el mer robot desarrollado con él (Figu-
mundo de la robótica. Incluye un Ba- ra 12). Una de sus principales carac-
sic Stamp II, que tiene una velocidad terísticas es la posibilidad de que el
de procesamiento de 20 Mhz, con 2 usuario reconfigure toda su morfo-
Kb de EEPROM (electrically-erasable logía física para adaptarlo a diferen-
programmable read-only memory, tes entornos y experimentos. Inclu-
ROM programable y borrable eléc- so es posible combinarlo con otros
tricamente) y 16 E/S (entradas y sa- robots similares para formar parte
lidas) más 2 dedicadas. Este micro es- de estructuras mayores.
tá instalado en una placa educativa Normalmente, está equipado con
con una pequeña protoboard (pla- 2 o 4 celdas de Li-Ion de 900 mAh,

28
Introducción a la robótica

agrupadas en packs de a dos. En


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

OTROS KITS LATINOAMERICANOS


Además de los kits mencionados, a continuación presentamos links donde se pue-


den encontrar otros kits desarrollados en Latinoamérica:
•NeoRobotic: kits de robótica autónoma (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
1. CONCEPTOS FUNDAMENTALES

Además, debemos tener en cuenta Microcontroladores


que es necesario complementar el El procesamiento más habitual en los
procesador con un circuito de con- robots pequeños y de bajo costo es el
trol adecuado para realizar las cone- provisto por microcontroladores.
xiones de entrada, salida, alimenta- Los micros más utilizados son los de
ción y control de dispositivos. la familia PIC, de la firma Micro-
chip. De todos los modelos que se
ofrecen, el más popular para la cons-
trucción 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 más que
accesible. Dado que desarrollaremos
nuestro robot con PIC, dejaremos
para más adelante una descripción
más detallada de éstos.
Figura 14. Otro de los micros La empresa Atmel fabrica otro tipo
de la firma Microchip, creadora de microcontroladores, que también
del 16F84. son de uso habitual en la construc-
ción de robots. De todas sus líneas, la
denominada AVR de 8 bits es la más
recomendada para el procesamiento
en esta disciplina. Toda la línea AVR
presenta características como bajo
poder de consumo, arquitectura
RISC y Harvard, 32 registros de 8
bits de propósito general y facilidad
de implementación de lenguajes de
alto nivel para la programación.
En particular, el micro ATMega8 (Figu-
ra 15) es ideal, dado que presenta una
memoria de 8 KB de programa, 1 KB
Figura 15. ATMega8 en una placa de SRAM y 512 bytes de EEPROM,
de prototipado rápido. seis canales de PWM, USART progra-

30
Introducción a la robótica

mable, conversor analógico digital de


cuatro canales multiplexados de 10 u 8
bits y dos canales de 8 bits, entre otras
características que se pueden encontrar
en la página de la firma.

PDA
Si no tenemos una base de conoci-
miento y experiencia en electrónica
para utilizar los microcontroladores
que presentamos pero contamos con Figura 16. Arduino, una plataforma
una Palm o una PocketPC, podemos abierta en software y hardware para
destinar parte de su tiempo de uso pa- el desarrollo de robots.
ra que actúe como cerebro de nuestra
creación. En los últimos años, estos mundo se utiliza una cámara que se
dispositivos han bajado de precio en conecta en el puerto de tarjetas de me-
forma notable y, además, algunos mo- moria. En síntesis, con poco dinero
delos han caído en desuso, aunque podemos tener un robot humanoide.
pueden adaptarse perfectamente para Se puede obtener más información en
ser empleados con nuestros robots. www.informatik.uni-freiburg.de/
Uno de los ejemplos más interesantes ~nimbro/media.html.
en este punto es la adaptación del ro- El Instituto de Robótica de Car-
bot Robosapien (Figura 17) de la fir- negie Mellon desarrolló un proyec-
ma Wow Wee para que pueda ser to para la construcción de un robot
controlado desde una PocketPC por autónomo móvil de bajo costo, y se
infrarrojo, con lo cual utilizamos la utilizó una Palm como procesador (Fi-
PDA como control remoto inteligen- gura 18). En el sitio www.cs.cmu.edu/
te que puede generar su propio pro- ~reshko/PILOT podemos encontrar
cesamiento. Para la detección del todos los pasos y los materiales nece-

❘❘❘ ARDUINO, UNA PLATAFORMA OPEN HARDWARE PARA ROBÓTICA


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

31
1. CONCEPTOS FUNDAMENTALES

sarios para construirlo, incluido el


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

32
Introducción a la robótica

de fanáticos de estos modelos, no só-


lo en robótica, sino también en los
dispositivos más extraños. En www.
epiacenter.com se analizan muchos
mothers de este tipo, de diferentes
marcas, y se ofrecen los links a tiendas
en línea donde adquirirlos. La enorme
ventaja de utilizar este tipo de tecno-
logía es la potencia que nos brinda una
PC para el procesamiento de la infor-
mación de los sensores y la toma de
decisiones, la posibilidad de progra-
mar cómodamente en lenguajes de al- Figura 19. Nano-itx, un motherboard
to nivel, y la facilidad de desarrollar y de la empresa Via, de 12 cm por 12 cm.
de testear en nuestra computadora de
escritorio. Por otra parte, tanto losseer algún mecanismo de modifica-
sensores como los actuadores que que-ción de su comportamiento según el
ramos conectar pueden desarrollarse ambiente en el que se encuentra. Pa-
sobre plataformas muy conocidas, co- ra esto, tiene que contar con disposi-
mo serial, paralelo o USB. Cualquier tivos que le permitan sentir el mun-
cámara web puede conectarse en se- do que lo rodea, según la tarea que
deba realizar. Por ejemplo, en am-
gundos, y todos los drivers de los dis-
positivos ya desarrollados funcionan bientes muy dinámicos, es probable
sin problema en nuestro robot. que deseemos sensores que puedan
captar rápidamente la información,
Sensores aunque perdamos precisión. Si esto
Una de las características fundamen- no fuera así, la información recibida
tales que debe tener un robot es po- no sería útil, porque representaría un

❘❘❘ ROBOTS CON NOTEBOOKS


Gracias a la baja de su precio y a su tamaño, no es sorprendente encontrar robots
cuyo procesamiento lo realiza una notebook. Permite utilizar lenguajes de alto ni-
vel, muy buena velocidad de procesamiento y entradas y salidas estándares como
serial, paralelo, USB o firewire. Además, es posible desarrollar todo el comporta-
miento del robot desde una PC convencional, y cualquier desperfecto es fácil de sal-
var con la instalación una nueva notebook.

33
1. CONCEPTOS FUNDAMENTALES

estado antiguo que, con seguridad, dispositivos que nos permiten medir
ha sido modificado por el alto dina- alguna característica del ambiente, co-
mismo del ambiente. Un ejemplo de mo la temperatura, la distancia, la po-
esto es el fútbol de robots. sición, el sonido, la intensidad de la
En otros casos, necesitamos la mayor luz, los colores, la altitud, la velocidad,
precisión posible por la operación que la rotación, etcétera. Lamentablemen-
realizamos y para lograrlo, tendremos te, en la realidad no existe el sensor
que utilizar sensores de mayor fiabili- perfecto, y por lo tanto debemos com-
dad, aunque su tiempo de respuesta pletar y corregir la información con la
sea bajo. En realidad, cuando cons- utilización de algoritmos de correc-
truimos un robot, siempre luchamos ción y redundancia de sensores.
con esta dualidad (y, seguramente, Otro aspecto importante para tener
con muchas variables más). Es por en cuenta es que, según el tipo de
eso que la elección de los sensores controlador que utilicemos para
que utilicemos estará determinada nuestro robot, deberemos diseñar
por la tarea que vayamos a realizar y circuitos intermedios entre el sen-
sus requerimientos particulares. sor y el controlador, con el fin de
Los sensores pueden definirse como convertir la señal del sensor en un

30

25

20
Valor

15

10

0
0 5 10 15 20 25 30
Tiempo

Figura 20. En este caso, los valores son los de un sensor analógico.

34
Introducción a la robótica

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

30

25

20
Valor

15

10

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

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

35
1. CONCEPTOS FUNDAMENTALES

te tipo de sensor es el ultrasónico, que


envía una señal sonora que, al rebotar
con un objeto, vuelve al robot, y al cal-
cular el tiempo de demora, puede in-
terpretar la distancia al objeto. Desde
ya que los sensores activos necesitan
mucha más electrónica para su funcio-
namiento, pero la información que nos
brindan es mucho más rica que la que
Figura 22. Aquí podemos apreciar nos ofrecen los sensores pasivos.
un sensor de efecto hall.
Tipos de sensores
Otra clasificación posible de los sen- Hacer una lista de todos los tipos de
sores es internos y externos. Los in- sensores existentes sería imposible.
ternos son aquellos que nos brindan Los que nombraremos a continua-
información del propio robot, como ción son los más utilizados en robó-
la velocidad, la rotación, la posición, tica de bajo costo:
la altura, etcétera; en tanto que los ex-
ternos son los que proporcionan da- • Sensores de interrupción: simple-
tos del ambiente, como las distancias, mente, detectan si pasa corriente o
la temperatura, la presión, etcétera. no. Se utilizan como sensores de
Por último, también podemos dividir choque o contadores de eventos
los sensores en pasivos y activos. Los (vueltas de una rueda, por ejemplo).
activos son los que necesitan enviar una • Sensores de posición: determinan la
señal hacia el ambiente para luego reci- posición del robot. Un sensor de es-
bir el rebote de esa señal y, de esta ma- te tipo puede ser un potenciómetro
nera, interpretar el estado del mundo que cambia su valor por la rotación
que lo rodea. Un ejemplo clásico de es- de las ruedas; u ópticos, como los que

SIMULADORES

Existen cientos de simuladores de distintos tipos de robots: humanoides, autóno-


mos, robots para fútbol, etcétera. Por ejemplo, uno de los más interesantes en el
fútbol de robots lo podemos conseguir en el sitio www.fira.net/soccer/simurosot/
R_Soccer_ v15a_030204.exe. Sin embargo, un simulador no es lo mismo que la ro-
bótica física. Creer que la experiencia física es igual a la simulada es pensar que
Second Life es igual a la vida misma. Y no es así, ¿no?

36
Introducción a la robótica

se usan en un mouse tradicional, que


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

❴❵ ROBOTS ADAPTATIVOS
Una de las dificultades más complejas en el desarrollo de robots es la de darles la
capacidad de adaptarse en tiempo real al mundo que los rodea. Por ejemplo, los sis-
temas de visión son muy dependientes de la luz que existe en el ambiente. Por esa
razón, es habitual que en las competencias de robots, los equipos que han tenido un
gran desempeño en días anteriores, ante un leve cambio de iluminación no puedan
realizar prácticamente ninguna tarea.

37
1. CONCEPTOS FUNDAMENTALES

Figura 24. En esta imagen podemos ver un insecto robótico que,


en lugar de motores, utiliza músculos de alambre.

El procesamiento de imágenes es un nómica para nuestras creaciones. Las


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

❘❘❘ MÚSCULOS DE ALAMBRE


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

38
Introducción a la robótica

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


donde podremos encontrar con más el motor. La etapa de elección de un
claridad el dilema a resolver entre motor puede ser una tarea muy com-
velocidad y precisión. plicada según las limitaciones de
nuestro proyecto, si tenemos en
Actuadores cuenta todas las características que
Si nuestro robot sólo observara el definen al motor. Éstas son: tamaño,
mundo sin actuar en él, sería un robot peso, velocidad (revoluciones por mi-
sumamente limitado. Nuestro deseo nuto, RPM), torque (kilogramo por
es que modifique su estado y el del centímetro) tensión y, la más sensi-
ambiente según la información que ble: el costo. En la actualidad, existen
obtiene en el proceso. Con este fin, diferentes tipos de motores, que des-
disponemos de motores, músculos de cribiremos a continuación:
alambre, lámparas, displays, buzzers,
etcétera. Al conjunto de estos disposi- Motores de corriente
tivos se lo denomina actuadores. continua (CC)
Los actuadores más sencillos de utili- Son los motores más comunes y que
zar son las lámparas, que no ameritan casi todos conocemos (Figura 25). En
demasiada descripción para su uso. general, los encontramos en cualquier
Simplemente, con conectarlas a algu-
na salida del procesador y proveer la ❘❘❘ LEYES DE LA ROBÓTICA
alimentación necesaria para su fun-
Dentro de su producción literaria basa-
cionamiento, podremos encenderlas
da en la robótica, Asimov definió tres
y apagarlas con nuestro programa.
leyes para la protección de los huma-
Sin embargo, pondremos nuestro fo-
nos que los robots de ficción tienen al-
co de atención en los motores, dado
macenadas en su cerebro positrónico.
que definen en gran medida nuestra
Éstas son:
capacidad de desplazamiento, los
1. Un robot no puede hacerle daño a un
grados de libertad y otros aspectos
ser humano o, por inacción, permitir que
vinculados al movimiento del robot.
un ser humano sufra daño.
Por definición, el motor eléctrico es
2. Un robot debe obedecer las órdenes
un dispositivo electromotriz, es decir,
de un humano, salvo que alguna de és-
que convierte la energía eléctrica en
tas entre en conflicto con la primera ley.
energía motriz. Todos los motores
3. Un robot debe proteger su propia
disponen de un eje de salida para aco-
existencia, salvo que esto viole la pri-
plar un engranaje, una rueda, una po-
mera o la segunda ley.
lea o cualquier mecanismo capaz de

39
1. CONCEPTOS FUNDAMENTALES

Un detalle importante es que, casi


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

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


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

FANÁTICOS DE LEGO

Como comentamos anteriormente, Lego tuvo la precaución de liberar muchísima


información sobre sus diseños de manera que otros pudieran desarrollar material
para sus kits. Es por eso que podemos encontrar varios lenguajes para poder pro-
gramar los robots de esta firma. Además, también se pueden conseguir los planos
de los sensores de todo tipo. Una de las páginas más conocidas de sensores case-
ros es www.extremenxt.com/lego.htm.

40
Introducción a la robótica

ve otra bobina, lo cual hace avanzar


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

❘❘❘ BUZZERS PARA DETECTAR ERRORES


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

41
1. CONCEPTOS FUNDAMENTALES

Figura 27. Servomotor tradicional de la marca Hitec.

la mayoría de ellos, pero se puede mo- sos) interno para compararlo con la
dificar con facilidad para tener un re- entrada PWM externa del servo, me-
corrido libre de 360º y, entonces, ac- diante un sistema diferencial y así,
tuar como un motor común. modificar la posición del eje de sali-
El control de posición lo efectúa el da hasta que los valores se igualen y
servo en forma interna mediante un el servo se detenga en la posición in-
potenciómetro que va conectado en dicada. En esta posición, el motor del
forma mecánica al eje de salida. Éste servo deja de consumir corriente y
controla un PWM (Pulse Width Mo- sólo circula una pequeña cantidad
duler, modulador de anchura de pul- hasta el circuito interno. Si en ese

✱ NANOBOTS
Los nanobots son robots de tamaño microscópico, cuyas dimensiones están en el or-
den de una millonésima de milímetro. Se realizan con técnicas de nanotecnología y,
aunque aún son ensayos y especulaciones teóricas, ya se han dado pasos para su con-
creción. Esencialmente, se han desarrollado nanobots químicos o moleculares con fun-
ciones limitadas. La aplicación para estos futuros robotitos está apuntada a la medici-
na, la industria, la ecología y la producción de alimentos.

42
Introducción a la robótica

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

… RESUMEN
En este primer capítulo hemos hecho una breve introducción a los conceptos fun-
damentales de la robótica. Un robot no es más que un dispositivo con un deter-
minado grado de movilidad, que puede realizar un conjunto de tareas en forma
independiente y se puede adaptar al mundo en el que opera. Existen diversos ti-
pos de robots, según el uso para el cual se han destinado, el medio en el que se
mueven, la capacidad de autonomía que presentan, etcétera.
Cualquiera de estos robots está dirigido por una unidad de procesamiento, que se
puede adquirir en forma completa con todas sus comunicaciones de entrada y sa-
lida resueltas, o que podemos desarrollar desde cero con micros, dispositivos
portátiles o, simplemente, motherboards de PC.
Además, necesita de sensores para poder captar el mundo. Cuanto más complejo
sea un sensor y más datos nos provea, tendremos que renunciar a ciertos aspec-
tos de velocidad para obtener información más precisa. Por último, para que el ro-
bot pueda trasladarse y actuar sobre el entorno, necesitamos de los actuadores.
Los esenciales y más usados son los motores, de los cuales tenemos diversos ti-
pos según el objetivo de nuestro robot y la cantidad de dinero que poseamos.

43
✔ ACTIVIDADES

TEST DE AUTOEVALUACIÓN

1 ¿Cuál es nuestra definición de robot? 6 ¿Qué es un sensor? ¿Cuál es la diferen-


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

44
Robótica Capítulo 2
Componentes
del robot
Antes de comenzar a construir nuestro

robot, daremos una mirada general

a todos los componentes

que lo conformarán. Desde

ya que elegiremos puntualmente

alguno de ellos, pero con este capítulo

nos será sencillo seleccionar otras

variantes según el objetivo que

tengamos para nuestro robot. Una mirada global a nuestro


futuro robot 46
Objetivos de nuestro robot 47
Tipo de procesamiento
seleccionado 48
¿Cómo le damos movimiento
a nuestro robot? 50
¿Y cómo captamos el mundo
que nos rodea? 53
Materiales para la mecánica 55
Resumen 59
SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com Actividades 60
2. COMPONENTES DEL ROBOT

UNA MIRADA prescindibles a la hora de construir el


GLOBAL A NUESTRO controlador de nuestro robot. Luego
FUTURO ROBOT veremos el tipo de motores que vamos
a utilizar y dónde podemos conse-
Como hemos podido ver en el primer guirlos. Para esto podremos desarmar
capítulo, la cantidad de variantes que algún equipo electrónico antiguo, co-
tenemos para construir nuestro robot mo disqueteras, impresoras, etcétera.
es inmensa. Es por eso que en este Luego, haremos lo mismo con los
capítulo, presentaremos los materia- sensores, siempre con el objetivo de
les que hemos decidido utilizar para gastar la menor cantidad de dinero
nuestra primera creación, y justifica- posible en nuestro primer proyecto
remos la elección que hemos realiza- (¡luego vendrán proyectos multimi-
do. En primer lugar, vamos a dar un llonarios!). Y por último, echaremos
paseo por el mundo de los micropro- una mirada sobre el material que po-
cesadores, introduciremos un conjun- demos utilizar para la construcción
to de conceptos que nos serán im- del cuerpo de nuestro robot.

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

46
Una mirada global a nuestro futuro robot

Objetivos de nuestro robot


Para la elección de todos los compo-
nentes de nuestro robot, es necesario
que fijemos claramente cuáles serán
los objetivos, es decir, las tareas que
queremos que nuestro robot realice.
La primera decisión fundamental es
definir si vamos a utilizar un kit o
construiremos nuestro robot desde
cero en forma artesanal. Es una deci-
sión fundamental porque implica un
presupuesto mucho más alto en el pri-
mer caso y, de alguna manera, tam-
bién acota las posibilidades de lo que
vamos a diseñar. Por otra parte, en el
primer capítulo ya enumeramos las
ventajas que brinda el uso de un kit,
pero en nuestro proyecto vamos a de-
sarrollar el robot desde cero, paso a Figura 2. Partido de fútbol de robots
paso, componente por componente. donde se utiliza una pelota infrarroja.
En nuestro caso, la primera razón por
la que lo haremos de esta manera es tos y esquivarlos, seguir una línea
porque así vamos a aprender mucho negra, y buscar una luz.
más sobre todas las capas que com- Cuando decimos diferentes adaptacio-
ponen al robot. La segunda razón, no nes, lo que queremos acentuar es que
menos importante, es el costo de no necesariamente hará las tres cosas el
nuestro proyecto. La idea es que po- mismo robot. Vamos a organizar dife-
damos reutilizar elementos que en- rentes proyectos, con mínimas modi-
contremos en desuso. Un humilde ficaciones entre uno y otro, para lograr
aporte ecológico de nuestra parte. los tres objetivos. Luego, si combina-
Bien, ahora que hemos decidido ar- mos la capacidad de tocar objetos con
mar en forma artesanal nuestro pri- la detección de la línea negra, podre-
mer robot, tenemos que dejar en cla- mos construir un luchador de sumo. Y
ro qué es lo que queremos que haga. para realizar un sencillo jugador de fút-
En este libro, nuestro objetivo es re- bol, uniremos la detección de luz con
alizar un robot que pueda, en dife- el tacto de los objetos, dado que nos
rentes adaptaciones, detectar obje- prepararemos para una categoría que

47
2. COMPONENTES DEL ROBOT

de encontrar en cualquier casa u ofi-


cina una computadora, con sus uni-
dades de entrada, de salida y de pro-
cesamiento. Y estas computadoras,
para nuestra alegría, se reducen cada
vez más en precio y tamaño. ¿Pero,
cuál es el límite de esta reducción?
Aquellos que usaron un dispositivo
portátil, como una PDA, habrán no-
tado que la pantalla y el teclado son,
en estos momentos, los puntos crí-
Figura 3. Uno de los micros ticos de reducción. Ahora bien, si no
de la firma Atmel. necesitáramos información por una
pantalla y el ingreso por teclado,
usa una pelota infrarroja (Figura 2). Pe- ¿podríamos tener una computadora
ro ya llegaremos a este punto dentro de mucho más pequeña? Sí, podemos,
unas cuantas páginas. Comencemos y de alguna manera eso es un mi-
con el procesamiento. crocontrolador, un circuito integra-
do, con CPU, memoria y conexión
Tipo de procesamiento para entradas y salidas. Todo esto, en
seleccionado un tamaño muy reducido, no mayor
Si seguimos la línea que acabamos al de una estampilla.
de presentar, decidimos realizar Si lo vemos de esta manera, pode-
nuestro controlador basándonos en mos confundir un microcontrolador
un microcontrolador que fuera con un microprocesador. ¿En qué se
económico y de uso popular. Pero, diferencian? Principalmente, en que
para empezar, veamos qué es esto de el microcontrolador suma a un mi-
los microcontroladores. A esta al- croprocesador un conjunto de ca-
tura del siglo XXI, no nos sorpren- racterísticas electrónicas que lo ha-

❘❘❘ SEGUIDOR DE LÍNEA (LINETRACKER)


La primera prueba sorprendente que realizaremos con un robot, y la competencia
más habitual en los torneos de robots, es el seguimiento de una línea. En general,
esta prueba está condimentada con otras dificultades, como la presencia de obstá-
culos que tenemos que esquivar, variaciones de iluminación o de colores en la lí-
nea, secciones donde la línea desaparece, etcétera.

48
Una mirada global a nuestro futuro robot

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


de apoyo. Por ejemplo, la memoria, controladores no pueden ser reprogra-
los conversores analógico digitales y mados, por lo que también contamos
el reloj, ya están incluidos dentro de con micros de propósito general, que
los microcontroladores. pueden ser programados en diversos
¿Y para qué sirve un microcontrola- lenguajes y con destinos de todo tipo.
dor? Bueno, tener una computadora Las empresas de microprocesadores de
de ese tamaño nos permitiría contro- propósito general más conocidas son
lar en forma medianamente inteligen- Microchip (PIC) y Atmel (AVR).
te diversos dispositivos. Y esto es lo Pondremos nuestra atención en la pri-
que ocurre alrededor nuestro: en el au- mera de las dos, dado que el micro que
to, en la heladera, en el microondas o usaremos será el PIC 16F88. Micro-
en el lavarropas, con seguridad podre- chip Technology Inc. es una empre-
mos encontrar uno o más microcon- sa de electrónica de Estados Unidos,
troladores, que hacen muchísimo más surgida de la empresa GI (General Ins-
sencilla la electrónica del aparato. truments). Del conjunto de productos
Algunos de los microcontroladores son que ha fabricado, la línea PIC (Perip-
de propósito específico, es decir, fueron heral Interface Controller, Controlador
diseñados y optimizados para una tarea de Interfaz Periférico) de microcon-

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

49
2. COMPONENTES DEL ROBOT

troladores ha sido su bastión funda- • Memoria Rom y Flash.


mental (Figura 4). Una de las carac- • Temporizadores.
terísticas más importantes de estos mi- • Periféricos serie.
cros es que son de tipo RISC (Redu-
ced Instruction Set Computer, Compu- La arquitectura básica de todos los
tadora con Conjunto de Instruccio- PICs contiene una memoria de datos,
nes Reducido) en contraposición con una memoria de programa, una unidad
la arquitectura CISC (Complex Ins- aritmético lógica, una unidad de con-
truction Set Computer, Computadora trol y puertos de E/S (entrada y salida).
con Conjunto de Instrucciones Com- De todos los modelos, hemos elegido
plejo). Esto implica que tienen un el 16F88 para realizar nuestro robot. Es
conjunto reducido de instrucciones por eso que en el próximo capítulo nos
de tamaño fijo con respecto a la can- detendremos a analizar en forma deta-
tidad de ciclos de reloj (en general, to- llada este micro en particular.
das las instrucciones necesitan de un
solo ciclo de reloj) y que sólo las ins- ¿Cómo le damos movimiento
trucciones de carga y almacenamien- a nuestro robot?
to acceden a la memoria. Las ventajas En el primer capítulo, ya hemos des-
que estas (y otras) características nos cripto el tipo de actuadores que po-
brindan son que la ejecución es más demos encontrar en un robot. En
rápida y que permite el paralelismo nuestro caso, usaremos motores de
entre instrucciones mediante una téc- corriente continua (cc) entre 8V y
nica llamada pipelined. 12V, con un consumo no superior a
La desventaja radica en que la pro- 100 mAmp, que describiremos en
gramación con este reducido conjun- profundidad más adelante. Estos mo-
to de instrucciones tan atómicas im- tores son más económicos y sencillos
plicará más trabajo. Con respecto a de controlar, pero en general carecen
los PIC, las características fundamen- de precisión y fuerza (Figura 5). Para
tales que podemos encontrar entre los solucionar este problema, recomenda-
diferentes modelos son: mos los motores con caja de reducción
• Núcleo de 8/16 bits con arquitec- incorporada (conocidos como moto-
tura Harvard (las memorias de ins- rreductores), que poseen un pequeño
trucciones y de datos están separa- motor que gira a muchísimas revolu-
das, y la CPU accede a ella por bu- ciones, unido a un sistema de reduc-
ses distintos). ción que permite obtener fuerza con
• Puertos de E/S con conversores menor velocidad. Para nuestro robot
analógicos/digitales. utilizaremos un sistema de tracción

50
Una mirada global a nuestro futuro robot

diferencial, dado que es el más senci-


llo de controlar desde nuestro pro-
grama (Figura 6). Este sistema utiliza
dos ruedas convencionales ubicadas
en el centro del robot, una de cada la-
do, conectadas directamente a los
motores. Esto nos dará la posibilidad
de ir para adelante o para atrás, de
aplicar la misma energía en ambos
motores, o de realizar giros según la
diferencia de velocidad de cada mo-
tor. El recorrido en forma recta es
difícil de conseguir en esta arquitec-
tura dado que siempre encontramos Figura 5. Motores de corriente
diferencias de velocidad entre los mo- continua de tamaño reducido.
tores o en el giro de las ruedas, des-
plazamientos, etcétera. Una de las electrónica específica para este con-
maneras de controlar esto es realizar trol, algo que escapa a nuestro pri-
un sensado del mundo. Por ejemplo, mer proyecto. Por eso, por ahora nos
si tenemos que seguir una línea ne- conformaremos con que vaya me-
gra, bastaría con tener uno o dos sen- dianamente en línea recta.
sores de luz que nos permitan detec- Otra arquitectura de movimiento in-
tar nuestra desviación de la línea pa- teresante es la omnidireccional. Con
ra modificar la velocidad de los mo- tres ruedas especiales ubicadas como
tores. Otra manera es sensar el movi- podemos ver en la Figura 7, podemos
miento de las ruedas con encoders si- dirigir al robot hacia cualquier punto,
milares a los que se utilizaban en un sin necesidad de girarlo en esa direc-
mouse antiguo. El problema de este ción. Esta forma de navegación es
mecanismo es que necesitamos de muchísimo más efectiva, ya que aho-

❘❘❘ PICS ESPECIALES


En la actualidad, tenemos modelos muy sorprendentes como el rfPIC, que incorpo-
ra la posibilidad de comunicación wireless (¡en el mismo micro!) y los dsPIC, que
tienen un bus de datos de 16 bits que permiten realizar operaciones de procesa-
miento digital de señales. También podemos encontrar clones, más baratos o con
mejoras, como los que realiza la empresa Ubicom.

51
2. COMPONENTES DEL ROBOT

tipo de motor y la arquitectura de las


ruedas que vamos a usar, ¿dónde po-
demos conseguir los motores? Desde
ya, una de las formas más sencillas de
conseguirlos es comprarlos.
Sin embargo, si tratamos de ahorrar
ese dinero, va a ser necesario extraer
los motores de algún aparato que ten-
gamos en desuso. El problema de ha-
cer esto es que como estos motores no
tienen reducción, tendremos que in-
geniárnosla para darles fuerza (desde
ya, se perderá velocidad). Los apara-
Figura 6. Vista desde abajo tos de donde podemos conseguir mo-
de un robot de tracción diferencial. tores de corriente continua son:

• Impresoras: habitualmente con-


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

Figura 7. Arquitectura de un robot Si tenemos algún servo desperdicia-


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

52
Una mirada global a nuestro futuro robot

caja reductora que posee. Los pasos


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

¿Y cómo captamos el mundo


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

MOTORES DE CORRIENTE CONTINUA


Si no sabemos dónde conseguir motores de corriente continua, podemos visitar los


sitios de los proveedores de este tipo de motores:
• Ignis: www.ignis.com.ar.
• Baldor: www.baldordistribuidora.com.
• Telco: www.telcointercon.com/telcomotion/brushed/micro_dc.htm.
• Micro-Drives: www.micro-drives.com.

53
2. COMPONENTES DEL ROBOT

del final de carrera, según el tamaño


y la posición del objeto que es nece-
sario detectar. Como se puede ver en
la Figura 10, el espacio de detección
es muy pequeño, por lo que necesi-
tamos construir un paragolpes
(bumper). También podemos cons-
truir nosotros este sensor con la ar-
Figura 10. Micro switch utilizado quitectura que más nos plazca. Sim-
habitualmente como sensor de contacto. plemente, tiene que cerrar (o abrir)
el circuito cuando se activa, y volver
a su situación inicial cuando está de-
sactivado. Los interruptores de final
de carrera se pueden adquirir en ne-
gocios de electrónica, y también se
pueden extraer de elementos como:
• Mouse: podemos usar los inte-
Figura 11. rruptores que son presionados por
Un LDR los botones. El problema es que la
utilizado para amplificación es complicada de re-
la detección alizar por la forma de éstos.
de luz en • Impresoras: para detectar si la ta-
un robot. pa está cerrada o no, o para el mo-
vimiento del cabezal, en general se
Este sensor debe tener algún meca- utilizan estos mecanismos.
nismo para que, una vez activado, • Celulares: aquí podemos hallar
luego vuelva a su posición inicial. versiones pequeñas de los inte-
Por otra parte, es necesario utilizar rruptores para detectar el cierre de
algún amplificador de la mecánica la tapa del celular.

❘❘❘ SENSORES DE CONTACTO ESPECIALES


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

54
Una mirada global a nuestro futuro robot

Para la detección de luz, podemos uti-


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

55
2. COMPONENTES DEL ROBOT

nuación presentaremos una lista de


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

Piezas de Lego, Mecano


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

Juguetes usados
Cuando queramos construir un robot
Figura 14. Aquí podemos ver que imite algún vehículo tradicional,
un Robosapien modificado, donde una muy buena opción es montarlo
el controlador es una Pocket PC. sobre un juguete usado, o por qué no,

56
Una mirada global a nuestro futuro robot

comprar uno con este propósito. Por


ejemplo, para construir un humanoi-
de es más sencillo comprar uno ya ar-
mado y montar la inteligencia sobre
la mecánica ya resuelta, que cons-
truirlo desde cero (Figura 14).
Si partimos de un juguete abando-
nado, podemos considerarlo como
costo cero. De todas formas, con se-
guridad tendremos que añadir par-
tes desarrolladas por nosotros para
poder adaptar el controlador, los
sensores, etcétera. En este caso, una Figura 15. Planchas de aglomerado.
desventaja puede ser la dificultad de
ensamblar la estructura del juguete manera, podremos manipularlo con
con las nuevas partes del robot. Otro cierto cuidado. Para unir piezas, se uti-
problema es que, en general, las pie- lizan pegamentos del tipo cianocrila-
zas del juguete son frágiles, por lo to. Se puede cortar con una sierrita de
que deberemos tratarlas con cuida- dientes pequeños, y es posible quitar
do. Es recomendable incorporar las las rebabas con una lija fina.
partes nuevas con un pegamento
adecuado, y no agujerear el juguete. Aglomerado
Por último, la reusabilidad de los Es una plancha realizada con fibras de
materiales que utilicemos es muy madera pegadas a presión con una re-
baja, dado que están adaptados a es- sina sintética (Figura 15). También es
te proyecto en particular. conocido como MDF (Medium Den-
sity Fibreboard, Tablero de fibra de
PVC densidad media). Es económico como
Es un material plástico muy económi- el PVC y puede conseguirse en cual-
co que se presenta en formato rígido o quier maderera. Es fácil de manipular
flexible. Es muy fuerte y resistente, pero es más complejo conseguir ter-
aunque se puede cortar y taladrar con minaciones prolijas. Los chasis reali-
facilidad. Para las carcasas cilíndricas, zados con este material son robustos,
podemos utilizar caños de este mate- pero su peso es una desventaja que hay
rial. Si necesitamos deformarlo, el que tener en cuenta. Tampoco es
PVC se ablanda al llegar a los 80º (por aconsejable que el material se moje,
ejemplo, sobre una hornalla) y de esta aunque es resistente a salpicaduras.

57
2. COMPONENTES DEL ROBOT

les. Es muy liviano y absorbe muy


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

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

58
Una mirada global a nuestro futuro robot

relativo bajo precio. Si tenemos que zas más complejas debemos contar
hacer cortes sencillos, podemos traba- con un torno específico. Por otra par-
jar el aluminio con herramientas con- te, para moldearlo necesitamos hor-
vencionales, pero si necesitamos pie- nos especiales a altas temperaturas.

Figura 17. Robot


con chasis de
aluminio.

… RESUMEN
En este capítulo presentamos los objetivos de nuestro robot y los materiales nece-
sarios para construirlo. Hemos decidido construirlo en forma artesanal desde cero,
para tener costos más bajos y para lograr un conocimiento más profundo de la ar-
quitectura del robot. El objetivo de nuestro trabajo es conseguir un robot autónomo,
capaz de seguir una línea negra, dirigirse a sitios más iluminados y detectar objetos
que se interpongan en su camino. Para ello, utilizaremos un procesador PIC 16F88
de la empresa Microchip. El movimiento lo lograremos con dos motores de corrien-
te continua de 12 Voltios. Para detectar el mundo, vamos a agregarle sensores de
contacto para obstáculos físicos y fotorresistencias, y sensores infrarrojos para la
detección de luces y líneas de colores. Para la construcción del chasis de nuestro
robot, hemos elegido el aglomerado, dado que nos permite construir una estructu-
ra robusta, con herramientas sencillas y a muy bajo precio.

59
✔ ACTIVIDADES

TEST DE AUTOEVALUACIÓN

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


en forma artesanal? los motores de corriente continua?

2 ¿Cuáles son los objetivos de nuestro 8 ¿Qué características presenta la trac-


robot? ción diferencial?

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

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


un microprocesador? rrojo sobre el LDR?

5 ¿Qué características presentan los mi- 11 ¿Cuáles son los tipos de materiales
cros con tecnología RISC? que presentamos para la construcción
del chasis?
6 ¿Cuál es la arquitectura básica de to-
do PIC?

60
Robótica Capítulo 3
La inteligencia
del robot
Antes de comenzar a construir

nuestro robot, daremos una mirada

general a todos los componentes

que lo conformarán. Desde ya que

elegiremos puntualmente alguno

de ellos, pero con este capítulo nos El cerebro 62


Componentes de nuestro robot 63
Objetivos del controlador 64
será sencillo seleccionar otras
El microcontrolador,
cerebro del cerebro 64
variantes según el objetivo que Conceptos fundamentales
de un PIC 65
tengamos para nuestro robot. Características del PIC16F88 66
Compatibilidad con el 16F84 67
Puente H para el control
de los motores 67
Listado de componentes
del controlador 68
Descripción del circuito 69
Colaborador: Placa experimental 71
Ing. Néstor Adrián Balich El programador 71
Nuestro programador 71
Resumen 75
SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com Actividades 76
3. LA INTELIGENCIA DEL ROBOT

EL CEREBRO robot. Esencialmente, varían en fun-


ción de nuestra necesidad y de lo que
Cuando Asimov creó sus primeros queremos hacer con él. Los primeros
robots de ficción, aún no existían las robots fueron simples autómatas, co-
computadoras. Tuvo que inventar los mo el jugador de ajedrez, que no son
cerebros positrónicos, que son dis- más que una sucesión de combina-
positivos con inteligencia artificial ciones de engranajes, poleas y otros
que le permiten al robot almacenar artilugios electromecánicos, en donde
información, realizar operaciones ló- el creador articula el robot en forma
gicas y tomar sus propias decisiones. mecánica, y gobierna así sus movi-
Con esa capacidad sorprendente de mientos. Luego surgieron los robots
adelantarse décadas en el tiempo, con electrónica analógica (transisto-
Asimov realizó una descripción que, res) y compuertas digitales, que en al-
en muchos casos, coincide con los gunos casos hasta pueden programar-
controladores que tenemos en la ac- se en forma muy primitiva con álge-
tualidad. De este tema, y con la in- bra de boole. Por último, en la ac-
tención de emular la genialidad de tualidad, nuestros robots poseen mi-
Asimov, hablaremos en este capítulo. crocontroladores y computadores, co-
Hay diversas formas de controlar un mo comentamos en el primer capítu-

Figura 1. Robot con cerebro positrónico de la película


Yo, robot, inspirado en la obra de Asimov.

62
El cerebro

lo. En nuestro caso, cuando elegimos • Chasis: éste es el armazón que


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

Componentes
de nuestro robot
A la hora de diseñar nuestro contro-
lador, es necesario tener presente Figura 2. Un robot cuyo cerebro
qué tipo de robot deseamos cons- es nuestro controlador.
truir, porque esto nos dará una no-
ción de la cantidad de actuadores y ❘❘❘ CEREBROS POSITRÓNICOS
sensores que necesitaremos. Como
Todos los robots de la obra de Asimov
definimos en el capítulo anterior,
poseían cerebros positrónicos, que
nuestro robot tendrá dos ruedas con
consistían en una malla de platino don-
dos motores, que nos permitirán
de la actividad cerebral estaba dada
controlar la dirección de manera di-
por un flujo de positrones. Si no tene-
ferencial. Contará con dos bumpers
mos en cuenta el punto de vista litera-
(sensores de choque) y un sensor
rio, es difícil imaginar que el positrón
analógico para poder seguir una lí-
(antipartícula del electrón) no destruya
nea (robot rastreador). Si tenemos
la malla de platino, en una colisión ma-
en cuenta esto, podemos definir las
teria – antimateria.
partes de nuestro robot en:

63
3. LA INTELIGENCIA DEL ROBOT

• Poder configurar las entradas y las


salidas según el objetivo del robot.
• Permitir controlar una gran varie-
dad de robots.

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

64
El cerebro

Conceptos fundamentales Programmable Read-Only Memory,


de un PIC ROM que se puede programar y
Como en el punto siguiente quere- borrar eléctricamente): en esta me-
mos realizar una presentación del moria se almacenan los datos que
16F88 y compararlo con otros mi- deben conservarse aun cuando ha-
cros, a continuación describiremos ya pérdida de energía. Puede ser
un conjunto de términos necesarios reescrita en más oportunidades
para poder comprender mejor. Los que la memoria flash.
conceptos que vamos a explicar son • I/O Ports (Input/Output Ports,
fundamentales en la arquitectura y puertos de entrada/salida): es la
el funcionamiento de un PIC. Si ya comunicación del PIC con el
tenemos experiencia, esto nos resul- mundo que lo rodea. Desde allí
tará conocido y podremos continuar podrá enviar señales a la electróni-
hasta el punto siguiente. ca externa y recibir datos de ésta.
Si no, aquí encontraremos un buen • Timers (temporizadores): en ge-
diccionario de palabras vinculadas al neral, todos los PICs poseen hasta
que podremos recurrir en los próxi- tres temporizadores, con diversas
mos capítulos. capacidades y funciones. Se utili-
zan como contadores, relojes y ge-
• Memoria flash: es el área de alma- neradores de interrupciones.
cenamiento de los programas. Pue- • USART (Universal Synchronous
de ser reescrita miles de veces, lo que Asynchronous Receiver Transmitter,
presenta una gran ventaja para reu- transmisor y receptor sincrónico y
tilizar el controlador y para progra- asincrónico universal): módulo
mar sin temor al error. que presentan los PIC que nos
• RAM (Random Access Memory, me- brindan un puerto serie.
moria de acceso aleatorio): almace- • CCP (Capture/Compare/PWM, Cap-
na todas las variables y los datos in- tura/Comparación/Modulación
termedios del programa. por ancho de pulso): este módulo
• EEPROM (Electrically-Erasable tiene tres modos de comparación.

❘❘❘ MODULACIÓN POR ANCHO DE PULSO


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

65
3. LA INTELIGENCIA DEL ROBOT

• ICSP (In Circuit Serial Program-


ming, programación en circuito):
los PICs se pueden programar sin
tener que sacarlos del controlador,
conectándolos con el programador
mediante un cable especial que des-
cribiremos más adelante.

Características del PIC16F88


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

❘❘❘ REDES NEURONALES


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

66
El cerebro

de entrada con conversor analógico este último modelo ha sido lanzado a


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

CHIP INHIBIT 1 16 VSS


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

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

67
3. LA INTELIGENCIA DEL ROBOT

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

68
El cerebro

componentes, podemos usar una


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

Descripción del circuito


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

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

69
3. LA INTELIGENCIA DEL ROBOT

diodo D1 permite tener una protec- entradas RA3 y RA4 permiten sen-
ción contra la inversión accidental sar los dos switch (llaves) que indi-
de la tensión de alimentación. Los can cuándo nuestro robot colisiona
electrolíticos y condensadores cerá- con algún objeto. Se encuentran co-
micos actúan de filtros y el led L1 nectadas al positivo mediante dos
sólo nos sirve para indicar que el cir- resistencias R3 y R4 de 1K, que nos
cuito se encuentra alimentado. sirven de pullup para disminuir el
El ISCP es un conector para la pro- disparo por ruido eléctrico que pro-
gramación del micro, que cuenta viene de los motores.
con un cristal oscilador (XTAL) de Por su parte, RB1, RB2, RB4 y RB5
4Mhz (lo podemos evitar en el caso se utilizan para controlar dos moto-
del 16F88 gracias a que contiene un res de corriente continua de 12 V y
oscilador interno, pero ya que es de 300 miliamperes. RB6 y RB7 están
bajo costo y más preciso, preferimos destinados al programador.
mantenerlo en el esquema), y un Además de esto, nos quedan libres 4
pulsador de reset para bloqueos o pines (RB0, RA0, RA1, RA2) que
reinicialización del sistema. El led podemos utilizar para propósitos di-
L2 se utiliza para monitorear los di- versos y la posibilidad de utilizar los
ferentes ciclos del programa (lo po- del cristal o de conmutar los de pro-
dremos usar para depuración y tes- gramación, entre otras modificacio-
teos) y está controlado por RB3. Las nes posibles.

Motor 1

Batería 9 V Driver H

Motor 2

Fuente
Controlador L2
Regulada 5 V

Sensor 2 Sensor 1

Figura 8. En esta figura podemos observar los bloques


lógicos que componen nuestro controlador.

70
El cerebro

Placa experimental
A modo de ejemplo, en la Figura 9
mostramos la placa experimental bá-
sica realizada para las pruebas preli-
minares, en donde puede observarse
el regulador 7805, los integrados
16F84 y L293D y, en la parte inferior
a la izquierda y debajo del 16F84, la
salida para el programador ICSP. Figura 9. Visión final del controlador
desarrollado sobre una placa
El programador experimental.
Cuando diseñamos el controlador del
robot, uno de los objetivos fundamen-
tales fue que pudiera ser programado Figura 10.
de diversas maneras según el propósi- Picaxe 8, la
to final del robot. De esta forma, po- versión más
demos reutilizar nuestro controlador pequeña de la
en la misma estructura mecánica o en línea PICAXE.
otras, con otros sensores, motores,
etcétera. Por eso, nos decidimos a tra- de nuevo, para lo cual se necesita ¡un
bajar con el PIC y no con el PICAXE programador! Por lo tanto, tarde o tem-
(Figura 10), a pesar de que éste último prano, este recurso nos es indispensa-
también es una opción. El PICAXE es ble, y ya que compramos componentes
un micro que ya tiene grabado un pe- y hacemos circuitos, agregamos el pro-
queño firmware, algo así como un sis- gramador para quedarnos tranquilos.
tema operativo mínimo, que permite Además, si alguna vez queremos cam-
cargarle nuestro programa por el puer- biar de micro, cargar un firmware de-
to serie del computador. Es una buena sarrollado por otro o por nosotros, u
ayuda porque nos evitamos la cons- otra variante, podremos hacerlo con
trucción del programador. El proble- nuestro programador sin problemas.
ma es que si utilizamos un PICAXE
dependemos totalmente de este Nuestro programador
firmware y si por cualquier proble- En Internet podemos encontrar un
ma eléctrico se desprogramara el mi- mundo de aficionados y profesionales
cro, estaríamos en problemas. que desarrollan sus actividades con
La única solución sería comprar un PIC. Por esa razón, la oferta de pro-
nuevo PICAXE o grabarle el firmware gramadores es amplia y si lo deseamos,

71
3. LA INTELIGENCIA DEL ROBOT

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

Figura 12. Esquema del programador GTP LITE.

72
El cerebro

podemos comprar un programador en


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

OTROS PROGRAMADORES

Uno de los programadores más populares del momento es el GTP USB Lite que, como
su nombre lo indica, nos permite programar mediante la utilización del puerto USB.
Podemos encontrar la información para diseñarlo en www.todopic.com.ar/foros/
index.php?topic=1716.0. En el siguiente foro podremos encontrar toda la información
sobre diversos grabadores de PICs: www.todopic.com.ar/foros/index.php?board=7.0.

73
3. LA INTELIGENCIA DEL ROBOT

WinPIC800. La forma más tradicio- nuestra placa programadora y enviar-


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

PIN DESCRIPCIÓN FUNCIÓN TIPO DESCRIPCIÓN


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

74
El cerebro

pruebas con él en forma constante. En los 70 centímetros de longitud. No


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

Figura 15. El mismo


programador, con
una toma desde la
parte inferior.

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

75
✔ ACTIVIDADES

TEST DE AUTOEVALUACIÓN

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

76
Robótica Capítulo 4
Comida
de robots
Hemos visto maravillas en el aumento

de la potencia de los procesadores,

en la mejora de la calidad de los

materiales y en la reducción de los costos

de todos estos componentes. Pero

lamentablemente hay un punto en el que

aún no hemos hecho grandes progresos:

la energía portátil. En este capítulo

presentaremos los diferentes tipos de


La fuente de energía 78
baterías para utilizar en nuestro robot.
Características de las celdas
de las baterías 79
Tipos de baterías 81
Calidad de las baterías 86
Cargadores 87
Ayudar a que no sólo
las baterías duren más 89
Resumen 91
SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com Actividades 92
4. COMIDA DE ROBOTS

LA FUENTE DE ENERGÍA buscado la piedra filosofal de la


energía: carbón, petróleo, electrici-
Volvamos a nuestros sueños de robots. dad, biocombustibles, baterías, hidró-
Soñamos con un robot veloz, ágil, y geno, energía nuclear, etcétera. Mucha
que recorra el universo sin desgaste. agua ha pasado debajo del puente y sin
Soñamos con un robot poderoso, con embargo, la ecuación que planteamos
alta tracción que le permita subir los al comienzo es irresoluble: si aumen-
caminos más inhóspitos. Soñamos tamos la autonomía, necesitamos
con un robot de mucha autonomía, mayor tamaño y peso, y por lo tan-
que pueda dar varias vueltas al uni- to, mayor consumo. Si queremos ma-
verso sin necesidad de pasar por el en- yor potencia, también consumimos
chufe. Soñamos con la máquina de las cargas más rápidamente. Por aho-
movimiento perpetuo, y no somos los ra, nos tendremos que arreglar con lo
primeros. Desde que construimos que tenemos a nuestro alcance para
nuestros primeros mecanismos autó- darle energía a nuestro robot, y esto es
nomos con desplazamiento, hemos lo que presentaremos en este capítulo.

Figura 1. Aibo, el perro robot


de Sony, con un juguete que
podría ser su comida simbólica.

78
La fuente de energía

Características nas empiece a descargarse la batería,


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

❘❘❘ VITRIFICACIÓN DE PILAS


Una propuesta para el procesamiento de las pilas desechadas es lo que se conoce como
vitrificación. Una vez eliminados, mediante calor, todos sus elementos combustibles, se
separan los metales y los electrodos internos, y los químicos tóxicos se convierten en óxi-
do, en forma de polvo. Este polvo se mezcla con vidrio, lo que permite un desecho que, de
1000 a 2000 años, comenzará a incorporarse en forma gradual a la biósfera.

79
4. COMIDA DE ROBOTS

Figura 2. Una muestra de todos los tamaños clásicos de las baterías recargables.

mA durante dos horas, etcétera, an- ligroso en los casos de los robots acuá-
tes de que caiga su voltaje. ticos. Cuando la curva tiene un des-
censo parejo, muchas veces nos en-
Densidad de energía contramos rápidamente con dificulta-
Éste es uno de los puntos más im- des para determinar un comporta-
portantes de análisis en los robots miento consistente en el robot. En ese
móviles autónomos. Con la densidad caso, nos es imprescindible modificar
de energía representamos la relación el accionar de nuestro robot median-
de la capacidad por unidad de vo- te la lectura de sensores, y no debemos
lumen. En nuestro caso, necesitamos confiar en los valores absolutos.
la mayor relación posible, para lograr
mayor autonomía y potencia. Pero Resistencia interna
seguramente, aparecerá algún otro Todo generador de energía eléctrica
problema, como los costos. también se comporta como un con-
ductor y, por lo tanto, ofrece cierta
Curva de descarga resistencia al pasaje de corriente. A es-
Es la curva que nos indica el voltaje de to se lo llama resistencia interna. Por
la batería en relación con el tiempo de ejemplo, es una gran ventaja que las
consumo. En general, si la curva es baterías de auto tengan baja resisten-
plana, la batería baja su voltaje de gol- cia, dado que necesitamos mucha co-
pe, lo que en general es bueno (man- rriente de golpe para encender el mo-
tenemos la performance de los robots tor. En nuestro caso, las baterías con
pareja durante largo tiempo), pero pe- baja resistencia interna pueden ser pe-

80
La fuente de energía

ligrosas porque ante un corto entre- tanto, la próxima vez considerará que
gan mucha corriente, aumentan el ca- está descargada cuando llegue a este
lor de la batería y pueden ocasionar- punto. Aunque no hay una postura de-
les problemas a nuestros circuitos y, finida sobre este concepto, siempre se
en casos extremos, una explosión. A aconseja que, antes de recargar estas ba-
medida que las celdas se desgastan, la terías, se las descargue por completo.
resistencia interna crece, y por lo tan-
to, la tensión disminuye. Costo
Y por último, nos encontramos con el
Capacidad de recarga factor común de todos los análisis: el
Otra característica fundamental de costo. La relación entre la calidad de
nuestras baterías es si son recargables las baterías y el precio es directamente
o no, y cuántas veces se pueden re- proporcional. Por suerte, la aparición
cargar. Dado que las baterías son de las cámaras digitales, los reproduc-
muy contaminantes, esta caracterís- tores portátiles, los celulares y otros
tica no sólo es una cuestión de cos- dispositivos que consumen baterías a
tos, sino que también nos propone granel, ha masificado la producción de
una actitud ecológica que considera- éstas, y hoy encontramos en el merca-
remos más adelante. Lamentable- do una gran variedad de calidad y pre-
mente, las baterías con mayor densi- cio para nuestras necesidades.
dad de energía no son recargables. Antes de empezar a realizar una
comparación con respecto a estos
Efecto memoria conceptos presentados, vamos a des-
Es un término vinculado específica- cribir los tipos de baterías que po-
mente a las baterías de Níquel cadmio. demos utilizar en nuestros robots.
Cuando una batería de este tipo no se
descarga en forma completa antes de Tipos de baterías
ser recargada, tiende a recordar este ni- A continuación haremos un recorrido
vel de descarga como el nivel 0. Por lo por los diversos tipos de baterías que

❘❘❘ LOS CARGADORES TAMBIÉN SE FALSIFICAN


Como si no tuviéramos suficiente con la falsificación de baterías, también debemos
tener cuidado con los cargadores, que no siempre son originales. En general, son
muy parecidos y la diferencia está dada por el embalaje. Para protegernos, pode-
mos consultar guías de compras que se brindan en los sitios de compra por Inter-
net, o dirigirnos a los comercios de prestigio de nuestra zona.

81
4. COMIDA DE ROBOTS

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

Figura 3. En esta imagen podemos ver baterías de Iones de Litio.

82
La fuente de energía

Baterías de Níquel Cadmio (Ni-Cd)


Fueron las primeras baterías recarga-
bles que usamos en nuestros disposi-
tivos (Figura 4). Su uso ha disminui-
do a favor de las baterías de Níquel
Metal (Ni/Mh), principalmente por
su efecto memoria y por la contami-
nación que produce el cadmio.
Una ventaja que poseen es la cantidad Figura 4. Batería de Niquel Cadmio
de ciclos de carga, que ronda los para luces de emergencia.
1.500 ciclos. Otra característica posi-
tiva es el costo, que ronda en la cuar-
ta parte de las de Ni/Mh, aunque es-
ta diferencia se reduce día a día.

Baterías de Níquel Metal (Ni/Mh)


Son las baterías de moda en este mo- Figura 5. Pequeñas baterías
mento (Figura 6). Tienen un 40% más recargables de Ni/Mh y Ni-Cd.
de capacidad que las de Ni-Cd.
Además, poseen baja resistencia in-
terna, lo que permite una carga más
rápida y una baja tasa de autodescar-
ga. El problema es que luego de los
300 ciclos, su capacidad cae drástica-
mente, y luego de los 600 la resisten-
cia interna aumenta en forma tan
Figura 6.
abrupta que se considera que el lími-
Baterías AA de
te de los ciclos de carga es cercano a
Níquel Metal
500. Sin embargo, al tener mayor ca-
de 2500 mAh.
pacidad y no sufrir de efecto memo-

❘❘❘ BATERÍAS DE POLÍMERO DE LITIO


Las baterías de polímero de litio son muy parecidas a las de litio que ya describi-
mos, pero se pueden producir en láminas de un milímetro de espesor y poseen un
ciclo de carga y descarga más prolongado, por lo que se obtiene una batería más
pequeña, más liviana y de mayor capacidad.

83
4. COMIDA DE ROBOTS

Baterías de Plomo–ácido
Son las baterías que podemos encon-
trar en nuestros vehículos (Figura 7).
Están compuestas por celdas de 2 V,
en general agrupadas en múltiplos de
3 (lo que brinda múltiplos de 6 V).
Tienen un depósito de ácido sulfúrico
donde se insertan unas placas de plo-
mo. Cuando las celdas están cargadas,
los electrodos son de plomo metálico
y óxido de plomo, sumergidos en el
Figura 7. Una UPS alimentada
ácido sulfúrico (diluido en agua).
por una batería de plomo-ácido.
En el proceso de liberación de
energía, ambos electrodos se convier-
ten en sulfato de plomo y disminuyen
así la presencia del ácido en el agua.
En la carga, en el polo negativo el sul-
fato de plomo vuelve a convertirse en
plomo metálico, mientras que en el
positivo se forma óxido de plomo, y
aumenta la presencia de ácido sulfú-
rico en el electrolito. Tienen una gran
capacidad de corriente con una baja
Figura 8. Batería recargable
resistencia interna, lo que las hace es-
de gel de 12 V.
pecialmente útiles para los motores de
arranque. Son económicas pero de
ria, la cantidad de ciclos necesaria es gran peso, lo que no las hace reco-
menor. Otra ventaja es que son más mendables para los robots autónomos
ecológicas que las de Ni-Cd. de tamaño mediano o pequeño.

EN EUROPA NO SE CONSIGUE

En Latinoamérica también tenemos desarrollo e investigación relacionados con las cel-


das de combustible. Lo curioso es que uno de los grupos dedicados a este tema surge
de un colegio de nivel medio. Allí desarrollaron una celda electroquímica circular para
generar hidrógeno y oxígeno que alimentan una celda combustible, que será uno de sus
próximos proyectos. Más información en http://electrolizadoro7.110mb.com.

84
La fuente de energía

Baterías de gel de una celda de hidrógeno, los reacti-


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

85
4. COMIDA DE ROBOTS

• Densidad de energía. da uno. En el capítulo en el que haga-


• Peso. mos el montaje, vamos a ver cómo los
ubicamos, pero antes de eso, los co-
Antes de presentar nuestra elección, nectaremos con nuestro controlador
queremos aclarar que cualquier fuen- para comenzar las primeras pruebas.
te de corriente continua entre 9 V y
12 V es perfectamente utilizable en Calidad de las baterías
nuestro diseño. Por lo tanto, no es ne- Un factor fundamental en el éxito de
cesario comprar lo mismo que men- nuestra fuente de energía es su cali-
cionamos aquí, ya que podemos reu- dad. Es tan masivo el uso de las pi-
tilizar baterías que tengamos en nues- las recargables, que podemos encon-
tro hogar. Por otro lado, en los mo- trar ofertas muy diversas a la hora de
mentos en los que realizamos pruebas comprarlas. En un documento reali-
con nuestra computadora, podemos zado para su tienda de Ebay, Javier
conectar una fuente de corriente con- Martínez nos da algunas recomen-
tinua de 12 V para no consumir la daciones muy interesantes que pre-
energía de nuestras baterías. sentamos a continuación.
En nuestro caso, hemos elegido las pi- En general, las pilas más económicas
las AA de Ni/Mh de 2.500 mA/H, no brindan información real con
porque son las que presentan la mejor respecto a su capacidad. La manera
combinación de las características que de comprobar esto es utilizar algún
hemos usado para nuestro análisis. Da- cargador con medidor de capacidad,
do que proporcionan 1,25 V, usaremos pero en general son muy costosos,
un pack de 8 a 12 pilas para alimen- además de que no pueden realizar la
tar a nuestro robot. Para ello, podemos medición en forma instantánea.
adquirir 2 ó 3 portapilas de 4 pilas ca- Una segunda opción, inmediata y
económica, es ¡pesar las pilas! Efec-
tivamente, dado que la capacidad
está relacionada con los componen-
tes internos de la pila, una pila con
mayor capacidad debe ser más pesa-
da. En la próxima página vemos la
Tabla 2, creada por Javier, con testeos
que ha realizado con diversas pilas
de Ni/Mh. En todos los casos, las pi-
las medidas son AA. Lamentable-
Figura 9. Portapilas para 8 pilas AA. mente, otro problema que tenemos es

86
La fuente de energía

que también se comercializan pilas de CAPACIDAD EN MAH PESO EN GRAMOS

marcas conocidas que, en realidad, 1700 – 1800 27


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

Figura 10. En el sitio de MercadoLibre podemos encontrar


guías especiales para detectar falsificaciones.

87
4. COMIDA DE ROBOTS

el deterioro de las baterías. De todas


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

88
La fuente de energía

dad, específicos para un modelo de ba-


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

89
4. COMIDA DE ROBOTS

Figura 15. Batería flexible, una propuesta ecológica para la generación de energía.

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


para evitar este tipo de contamina- viar lo que hemos apartado. El pro-
ción. La solución ideal para el dese- ceso de reciclado no es directamen-
cho de las baterías parte de un tra- te rentable, por lo que es necesario
bajo en conjunto de la sociedad, que que las empresas que realicen este
debe apartarlas de la basura común, proceso pertenezcan al Estado o
y del Estado, que debe proveer plan- estén subvencionadas por él. Hasta

❘❘❘ LO BARATO SALE CARO


El INTI (Instituto Nacional de Tecnología Industrial, de Argentina) realizó un estudio
comparativo de pilas alcalinas y de carbón, que incluía tanto las marcas reconoci-
das como las de venta callejera. Las conclusiones son que, aunque las de venta ca-
llejera sean más baratas, la duración es mucho menor, por lo que no son conve-
nientes económicamente. Además, las de carbón drenan su contenido al exterior y
son mucho más tóxicas que las de mayor valor.

90
La fuente de energía

que no se tome conciencia de este • No quemar pilas ni baterías de


peligro, los consejos que dan las ningún tipo.
ONGs vinculadas a la ecología son: • No dejarlas en lugares a los que pue-
• No juntar pilas porque así se con- den acceder los niños.
centran los riesgos. • Reemplazar, en la medida de lo po-
• No tirar las pilas a la cloaca porque sible, el uso de pilas por corriente
pueden contaminar el agua. eléctrica.

… RESUMEN
Hay un conjunto amplio de variantes para alimentar a nuestro robot. Desde las tra-
dicionales baterías de plomo, demasiado pesadas para nuestros pequeños móviles,
hasta las nuevas celdas de combustible que no sólo aportan más capacidad, sino que
colaboran con un mundo más limpio. En particular, hemos optado por el tipo de ba-
terías que consideramos de uso más popular y más económico: las baterías de Ni/Mh.
Aunque tengamos que usar entre 8 y 10 baterías, el peso y la capacidad que tienen
serán de gran utilidad para mover a nuestro robot. Y además, probablemente no ten-
gamos que comprar un cargador, porque las cargaremos con lo que ya tenemos en
nuestra casa. Por último, no debemos olvidar el impacto de todo tipo de baterías en
nuestra biósfera. Es por eso que recomendamos el uso de una fuente para alimen-
tar a nuestro robot, y sólo en aquellos momentos en los que necesitemos indepen-
dencia de cables, utilizar las baterías.

91
✔ ACTIVIDADES

TEST DE AUTOEVALUACIÓN

1 ¿A qué llamamos capacidad de una ba- 6 ¿Cuáles son las desventajas que pre-
tería? sentan las baterías de Plomo–ácido?

2 ¿Qué es la densidad de energía? 7 ¿Qué son las celdas de combustible?

3 ¿A qué se llama resistencia interna de 8 ¿Qué tipo de baterías elegimos para


una batería? nuestro proyecto y por qué?

4 ¿En qué tipo de pilas nos encontramos 9 ¿Qué factores podemos analizar para
con el famoso efecto memoria? determinar la autenticidad de una ba-
tería?
5 Realice una comparación entre las ba-
terías de Li-Ion, las de Ni-Cd y las de 10¿Cuáles son los factores que analizan
Ni/Mh. los cargadores inteligentes?

92
Robótica Capítulo 5
Hablar con
nuestro robot
Cuando ya desarrollamos el controlador

y tomamos la decisión de cómo lo vamos

a alimentar, comienza el desafío de

programar el controlador. Los lenguajes

no son sencillos y necesitamos procesos


Comunicación con el robot 94
lógicos para poder expresar, en el Lenguajes de programación
para robots 95
PicBasic Pro 95
lenguaje del robot, lo que deseamos que
Compilador CCS C 97
MikroBasic 98
realice. En este capítulo presentaremos Editor de código fuente
de mikroBasic 100
los diferentes lenguajes y elegiremos uno Explorador de código 103
Depurador 103
Manos a la obra 106
para explicar lo que necesitamos al
Elementos del léxico 108
Organización de los módulos 110
programar el comportamiento del robot. Alcance y visibilidad 111
Variables, constantes y tipos 112
Estructuras 115
Operadores 116
Sentencias 117
Resumen 123
SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com Actividades 124
5. HABLAR CON NUESTRO ROBOT

COMUNICACIÓN para obedecer a nuestras órdenes. ¿No


CON EL ROBOT tiene incorporadas las tres leyes de la
robótica? Tal vez fue demasiado com-
Ya hemos logrado construir el cerebro plejo el pedido. Intentamos con cosas
de nuestro robot y lo hemos dotado más sencillas: que nos traiga el con-
de energía. Sólo nos falta encenderlo trol remoto, que atienda la puerta,
para darle vida a nuestra criatura. Pre- que saque a pasear al perro, que re-
sionamos un botón y en un primer suelva esas integrales dobles que nos
momento, nada ocurre. Pero de pron- fastidian, y nuestro robot sigue allí,
to, algunos músculos tiemblan y sus sin obedecer. ¿No será que no entien-
ojos se abren. ¡Hemos logrado el mi- de castellano? Probamos con inglés,
lagro! Sólo basta con solicitar lo que alemán, francés, aymará y, sin embar-
deseamos que haga y nuestros sueños go, no obtenemos respuesta. Es hora
se cumplirán. Entonces le pedimos de que nos detengamos a tratar de
que nos traiga el periódico, que nos comprender a nuestro robot. Es hora
prepare una buena cena y que luego de que nos demos cuenta de que aún
deje la cocina en orden. Nada ocurre. es pequeño, y que sólo entenderá ins-
Sigue allí, con sus lucecitas parpade- trucciones muy sencillas, instruccio-
antes, sin demostrar buena voluntad nes de muy bajo nivel.

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


nuestra capacidad de programar con poca memoria y baja velocidad.

94
Comunicación con el robot

Lenguajes de programación ❘❘❘ ALTO Y BAJO NIVEL


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

95
5. HABLAR CON NUESTRO ROBOT

sic Stamp y posee librerías similares a Si en el puerto tuviéramos conectado


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

ENCONTRAR LOS LENGUAJES PARA PROGRAMAR LOS PICS


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

96
Comunicación con el robot

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

sitemos un programador para nuestro conversor mencionado. Podemos de-


micro. Sólo 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 diseñado exclusivamente para la código assembler en el medio de
línea PIC. Se considera el compila- nuestro programa en C, y hacer refe-
dor más optimizado para estos mi- rencia a las variables de éste. Para te-
cros. Tiene una librería de funciones ner una idea de la sintaxis, desarrolla-
predefinidas, lo que facilita la pro- remos el mismo ejemplo que mostra-
gramación en un lenguaje de bajo ni- mos antes con PicBasic.
vel como el C. Sin estas funciones,
sería muy engorroso programar el while (TRUE) {
micro. Cuenta con controladores de output_high(PIN_B0); ‘enciende
reloj en tiempo real y conversores el puerto
analógicos digitales. Por ejemplo, delay_us(500); ‘espera 500
contamos con la instrucción READ_ milisegundos
ADC(), que permite leer un valor del

97
5. HABLAR CON NUESTRO ROBOT

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


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

Figura 3. Vista del editor C Aware de CCS.

98
Comunicación con el robot

un IDE que facilita mucho la progra- Instalación de mikroBasic


mación, ya que presenta las carac- Para instalar el programa en nuestra
terísticas que hemos mencionado, co- computadora, debemos dirigirnos a
mo coloreo de sintaxis, ayuda sensible la dirección www.mikroe.com/en/
al contexto, estadísticas sobre el uso compilers/mikrobasic/pic/ y en-
del micro y muchas otras más. Por trar en la sección Download, donde
otra parte, los desarrolladores nos per- podremos bajar la última versión.
miten bajar un demo gratuito com- Los pasos de instalación son muy
pletamente funcional, donde sólo te- sencillos, clásicos en cualquier pro-
nemos un límite de 2Kb en el códi- grama de Windows (Figura 5).
go fuente, lo que es suficiente para to- En la misma sección del sitio pode-
dos los proyectos que desarrollaremos mos encontrar actualizaciones y par-
en nuestro libro. Soporta una gran ches, por lo que recomendamos visi-
cantidad de modelos de PICs y pro- tar periódicamente el sitio. También
porciona librerías para RS-232, cone- podemos encontrar un conjunto de
xiones USB, interfaz para displays, manuales, muy claros y didácticos,
etcétera. Dado que es el lenguaje y la que nos permitirán completar nuestra
IDE que vamos a utilizar, comence- breve mirada sobre la herramienta.
mos a estudiar en detalle cada una de En nuestro caso, todos los ejemplos
sus herramientas. que mostraremos y las indicaciones

Figura 4. Asistente de proyectos del PCW.

99
5. HABLAR CON NUESTRO ROBOT

de operación del mikroBasic están Éstas y otras opciones se pueden confi-


basados en la versión 5.0.0.2, del 31 gurar desde Tool/Preferences… o al ha-
de octubre de 2006. cer clic sobre el icono Tools (Figura 6).
Para utilizar el asistente de código, una
Editor de código fuente vez que ingresamos las primeras letras
de mikroBasic de lo que deseamos escribir, presiona-
Uno de los puntos más fuertes de la mos CTRL + ESPACIO y todos los iden-
IDE es el editor que nos proporciona. tificadores válidos que comiencen con
Como todo editor de texto, presenta esas letras se desplegarán en un cuadro
las utilidades clásicas como cortar, co- de lista. Allí podremos elegir lo que
piar y pegar, y búsquedas y reempla- íbamos a escribir o, simplemente, con-
zos masivos. Pero además, nos ofrece: tinuar con el texto deseado si no lo en-
contramos (Figura 7). Es necesario rea-
• Coloreo de sintaxis. lizar una primera compilación para
• Asistente de código. que funcione el asistente.
• Asistente para parámetros de fun- También podemos activar un asis-
ciones. tente para los parámetros de las fun-
• Plantillas prearmadas. ciones (Figura 8). Para ello, escribi-
• Autocorrección de tipos. mos la llamada a la función y, cuan-
• Bookmarks. do abrimos el paréntesis, automáti-

Figura 5. Durante la instalación, es recomendable dejar todo como está en la


selección de componentes para mikroBasic, ya que no ocupa demasiado espacio.

100
Comunicación con el robot

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

Figura 7. Ejemplo de la lista presentada por el asistente


de código cuando escribimos de y luego CTRL + ESPACIO.

❘❘❘ CINTA ADHESIVA, PEGAMENTO, BANDAS ELÁSTICAS, ¡TODO VALE!


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

101
5. HABLAR CON NUESTRO ROBOT

camente aparecerá un pequeño car- Para las estructuras más complejas,


tel con el o los parámetros corres- como las funciones, los procedi-
pondientes, que nos indicará con mientos, los encabezados u otras,
nombre:tipo qué función cumple el podemos utilizar las plantillas (Figu-
parámetro y de qué tipo es. ra 9). Por ejemplo, si escribimos func
y presionamos CTRL + J, automáti-
camente se escribirá la estructura
completa de una función para que
completemos con los datos necesa-
rios. También tenemos la posibili-
dad de crear nuestras propias plan-
tillas en la opción Auto Complete de
Tools/Preferences….
Por otro lado, cabe mencionar que
además de las características que ya
presentamos, tenemos herramientas
para realizar autocorrección, co-
mentar o descomentar un conjunto
de líneas de código, insertar marcas
Figura 8. Asistente que informa y saltar de una a otra e ir a un nú-
los parámetros de las funciones. mero de línea de código.

Figura 9. Editor de las plantillas de código.

102
Comunicación con el robot

Explorador de código que es a nivel de código y no tiene


El explorador de código (Code Explo- lectura real del micro, no permite si-
rer) se encuentra en la zona izquierda mular ciertas propiedades intrínsecas
de la ventana. Nos proporciona una del procesador, como temporizado-
lista de los ítems declarados en el có- res, interrupciones, etcétera.
digo. Desde allí podemos saltar a cual- Una vez que hemos compilado nues-
quiera de las declaraciones con sólo tro programa (Project/Build), ejecuta-
hacer doble clic sobre ella. En la par- mos el depurador en Run/Start Debug-
te superior del explorador podemos ger. Automáticamente nos marca la
encontrar dos solapas más. La solapa primera línea de código y nos aparece
QHelp nos proporciona ayuda sobre la la ventana Watch, que nos permitirá re-
librería de funciones. La última sola- alizar el control de la depuración. En
pa (Keyboard) nos proporciona una esta ventana podemos visualizar varia-
lista de los atajos de teclado del editor. bles y registros del PIC, actualizados
según la ejecución del programa. En la
Depurador parte superior de la ventana encontra-
MikroBasic proporciona un depura- mos iconos para el control de la ejecu-
dor a nivel de código fuente (Figura ción del depurador (arranque, pausa,
11). Esto nos permite simular el com- detención) y mecanismos de ejecución
portamiento del micro y nos asiste del código paso a paso. Debajo de es-
para la depuración de errores. Dado ta barra tenemos un cuadro de lista pa-

Figura 10. Aquí podemos ver la parte de la ventana


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

103
5. HABLAR CON NUESTRO ROBOT

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

Completemos el nombre, el sendero


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

Figura 12. Creación de un proyecto nuevo.

104
Comunicación con el robot

aparecen en la parte inferior las de- de la ventana podremos ver cómo se


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

105
5. HABLAR CON NUESTRO ROBOT

Por último, cuando procedemos a Manos a la obra


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

Figura 14. Una mirada sobre todas las herramientas


que presenta la IDE de mikroBasic.

106
Comunicación con el robot

• hex: archivo estilo Intel. Con él ❘❘❘ WINPIC800


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

Figura 15. Aquí podemos ver el assembler del código que enciende el led.
Los comentarios que tiene lo hacen más legible.

107
5. HABLAR CON NUESTRO ROBOT

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


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

Figura 16. MikroBasic nos brinda magníficos gráficos estadísticos


sobre el código de máquina que genera nuestro fuente.

108
Comunicación con el robot

Dim a as byte • =: operador de asignación.


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

Es equivalente a Los literales son aquellas expresiones


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

• Keywords (palabras clave). 0. ‘=0.0


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

109
5. HABLAR CON NUESTRO ROBOT

caracteres de la A a la Z, el carácter ‘Declaración de variables


_ (guión bajo), y los dígitos del 0 al dim…
9. La primera letra debe ser un
carácter o el guión bajo. No se dis- ‘Declaraciones de procedimientos
tingue mayúsculas, por lo tanto var, sub procedure <nombre
Var y vAr son el mismo identificador. procedimiento>(<param1>, …)
<declaraciones locales>
Organización de los módulos …
Un proyecto en mikroBasic consiste end sub
en un módulo principal y en un con-
junto de módulos adicionales (optati- ‘Declaraciones de funciones
vos) con librerías de funciones, decla- sub function <nombre
raciones, etcétera. El módulo princi- función>(<param1>, …)
pal tiene una estructura como la que <declaraciones locales>
presentamos a continuación: …
end sub
program <nombre>
include <otros módulos incluidos> ‘**********************
‘Cuerpo de programa
‘********************** ‘**********************
‘Declaraciones
‘********************** main:
‘aquí va nuestra obra
‘Declaración de símbolos maestra…
symbol… end.

‘Declaración de constantes
const… Las otras unidades deberían tener el
siguiente aspecto:

❘❘❘ LIMITACIONES DE ANIDACIÓN


Cada vez que desde una función o un procedimiento llamamos a otra rutina (o a sí
mismo en el caso de recursividad), decimos que aumentamos el nivel de anidación
en uno. Lamentablemente, las llamadas recursivas no son soportadas por mikro-
Basic. De todas maneras, también tenemos un límite en los niveles de anidación,
que en el caso de la familia PIC16, es de 8 niveles.

110
Comunicación con el robot

module <nombre> ‘Declaraciones de procedimientos


include <otros módulos sub procedure <nombre
incluidos> procedimiento>(<param1>, …)
<declaraciones locales>
‘********************** …
‘Interface (globales): end sub
‘**********************
‘Declaraciones de funciones
‘Declaración de símbolos sub function <nombre
symbol… función>(<param1>, …)
<declaraciones locales>
‘Declaración de constantes …
const… end sub

‘Declaración de variables end.


dim…

‘prototipos de procedimientos Alcance y visibilidad


sub procedure <nombre Llamamos alcance de un identifica-
procedimiento>(<param1>, …) dor a la parte del programa donde el
identificador se puede utilizar para
‘prototipos de funciones acceder al objeto al que apunta.
sub function <nombre Hay diversos alcances según el lugar
función>(<param1>, …) donde hacemos la declaración del
identificador, veamos:
‘**********************
‘Implementación • Si el identificador se declara en la
‘********************** sección de declaraciones del módu-
lo principal, fuera de toda función
implements o todo procedimiento, el alcance se
extiende desde la declaración hasta
‘Declaración de constantes el final del archivo, y se incluyen to-
const… das las rutinas que allí se encuen-
tran. Diremos que estos identifica-
‘Declaración de variables dores tienen un alcance global.
dim… • Si en cambio se declara en una
función o un procedimiento, su al-

111
5. HABLAR CON NUESTRO ROBOT

cance se extiende hasta el final de cal tiene su mismo nombre. Sin em-
la rutina. En este caso, los identi- bargo, el objeto identificado sigue
ficadores son locales. presente, aunque no es accesible. En
• Si se declara en la sección interfaz síntesis, la visibilidad nunca exce-
de un módulo, su alcance se ex- de al alcance, pero sí puede ocurrir
tiende desde donde se declara has- que el alcance exceda a la visibilidad.
ta el final, y a todo módulo que use
el módulo donde se encuentra la No profundizaremos más sobre el
declaración. La única excepción desarrollo de programas modulares,
son los símbolos, que tienen un al- dado que realizaremos programas
cance limitado al archivo donde pequeños. Cuando veamos cuestio-
fueron declarados. nes sobre fútbol de robots, progra-
• Si se declara en la sección imple- maremos algunos módulos de detec-
mentación de un módulo, pero no ción del piso y de la pelota.
dentro de una función o un pro-
cedimiento, el alcance va desde la Variables, constantes y tipos
declaración hasta el final del ar- Las variables, como ya sabemos, son
chivo, y está disponible en todas simplemente un identificador o un
las funciones y en todos los proce- apuntador a una zona de memoria de
dimientos del módulo. contenido plausible de ser modificado.
Todas las variables se deben declarar
Llamamos visibilidad de un identi- antes de usar. Para ello escribimos:
ficador a las regiones del fuente don-
de podemos acceder a los objetos dim lista_de_nombres_de_
apuntados por él. En general, alcan- variables as tipo
ce y visibilidad coinciden, pero no
necesariamente. Podríamos tener un
identificador que se vuelva invisible La lista_ de_nombres_de_variables es
en una función o en un procedi- una lista delimitada por comas de
miento porque un identificador lo- identificadores válidos, que serán

❘❘❘ LÍMITES DE TAMAÑO EN LAS RUTINAS


En las aplicaciones sobre PIC16 (que es nuestro caso), una rutina no puede exceder
una página (aproximadamente, 2000 instrucciones). Si la rutina no entra en una pági-
na, se producirá un error de compilación. Si nos encontramos con este problema, bas-
ta con rediseñar nuestro código para obtener rutinas más pequeñas.

112
Comunicación con el robot

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

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


dim contador as word const MIN = 100 ‘el compilador
asume el tipo word
const LETRA=’a’ ‘el compilador
Las constantes son datos que no asume char
varían en la ejecución del programa, cont ERROR=”Error grave” ‘el
es decir, no consumen memoria compilador asume string
RAM. Se declaran de la siguiente const meses as byte[12]=(31, 28,
manera: 31, 30, 31, 30, 31, 31, 30,
31, 30, 31)
const NOMBRE_DE_CONSTANTE [as
tipo] = valor
Basic es un lenguaje con tipos es-
trictos. Esto significa que en el mo-
El nombre de la constante debe ser mento de la compilación se debe po-
un identificador válido. Por conven- der definir un tipo específico para
ción, se ponen todas las letras de su cada identificador.
nombre en mayúscula, para identi- En estos lenguajes, los tipos sirven
ficarlas rápidamente en el código. para determinar la cantidad de me-
moria necesaria, interpretar los bits
Aunque la declaración de tipo es op- que encuentran en el objeto cuando
cional, cabe aclarar que si no lo ha- acceden y para asegurar asignaciones
cemos, elegirá el tipo más chico que y pasajes de parámetros correctos.
TIPO TAMAÑO RANGO
byte 8 bits 0 .. 255
char 8 bits 0 .. 255
word 16 bits 0 .. 65535
short 8 bits -128 .. 127
integer 16 bits -32768 .. 32767
longint 32 bits -2147483648 .. 2147483647
float 32 bits ±1.17549435082*1038 ..
±6.80564774407*1038
Tabla 1. Tipos simples de variables.

113
5. HABLAR CON NUESTRO ROBOT

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


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

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

Figura 17. Un arreglo es una colección de elementos


del mismo tipo identificados por un índice.

❘❘❘ CICLOS INFINITOS


A pesar de que en la programación tradicional un ciclo infinito trasluce algún error, en
el caso de los robots es habitual su uso. Como el robot hará lo mismo hasta que se
apague o se quede sin baterías, en general la tarea principal, y otras tareas que se
estén ejecutando en forma paralela, están dentro de una estructura while true… wend.
De esta manera, se ejecutará infinitamente hasta que el robot se detenga.

114
Comunicación con el robot

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


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

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

structure nombre_estructura dim posicion as punto


dim miembro1 as tipo dim esquina as punto

115
5. HABLAR CON NUESTRO ROBOT

Para acceder a cada elemento de la es- demos ver en la Tabla 2. Cabe men-
tructura, simplemente escribimos cionar que el operador – también
identificador.campo_de_estructura. puede usarse delante de un núme-
ro para cambiar su signo.
Por ejemplo: • Relacionales: los operadores rela-
cionales comparan dos expresiones
posicion.x=12 y devuelven verdadero o falso según
esquina.y=posicion.y la comparación realizada. Ellos son
los que se muestran en la Tabla 3.
• De bits: operan sobre bits individua-
Operadores les de los operandos.
En mikroBasic podemos encontrar Ambos operandos deben ser de tipos
los siguientes operadores: con signo o sin signo simultánea-
mente. Los operadores de bits son los
• Aritméticos: estos operadores per- de la Tabla 4.
miten realizar cómputos matemá-
ticos. Sus operandos son numéri- Los operadores and, or y not tam-
cos y también retornan un resulta- bién se pueden utilizar con expre-
do numérico. Ellos son los que po- siones lógicas, es decir, cuyo valor
OPERADOR OPERACIÓN EJEMPLO
+ Suma 5 + 3 retorna 8
- Resta 2 - 3 retorna -1
* Multiplicación 5 * 4 retorna 20
/ División 14/4 retorna 3.5
div División entera 14 div 4 retorna 3
mod Resto de la división entera 14 mod 4 retorna 2
Tabla 2. Operadores aritméticos.

OPERADOR OPERACIÓN EJEMPLO


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

116
Comunicación con el robot

evaluado es verdadero o falso. Lo ❘❘❘ DIVISIÓN POR CERO


que retornan tiene la misma lógica
Si se utiliza de manera explícita el lite-
que en los operadores a nivel de bits.
ral 0 como segundo operando, el com-
Es decir, podemos pensar en verda-
pilador reportará un error y no gene-
dero como 1 y en falso como 0, y a
rará código. Pero en el caso de que es-
partir de allí, analizar el resultado de
te problema se produzca en forma
la operación como si fuera una ope-
implícita (por ejemplo, cuando tene-
ración a nivel de bits.
mos una variable que toma fortuita-
mente el valor 0 y está como dividendo)
Sentencias
el resultado será el máximo valor posi-
Como en todo lenguaje de progra-
ble para el tipo apropiado.
mación procedural, tenemos un pe-
queño conjunto de sentencias que el
compilador convierte en las instruc- partir de esa librería comenzaremos
ciones de código máquina corres- a construir la propia para aumentar
pondientes. En general, este con- el poder de nuestro lenguaje en el
junto es mínimo, y se enriquece con ámbito específico de nuestro traba-
la librería de funciones y procedi- jo. Veamos las sentencias que nos
mientos que ofrece el ambiente. A proporciona este Basic.
OPERADOR OPERACIÓN EJEMPLO
and Retorna 1 si ambos bits en la misma 12 (%1100) and
posición están en 1. 10 (%1010) retorna
8 (%1000)
or Retorna 1 si por lo menos uno de los 2 bits 12 (%1100) or
en la misma posición está en 1. 10 (%1010) retorna
14 (%1110)
xor Retorna 1 si uno de los 2 bits en la misma 12 (%1100) xor
posición está en 1 y el otro no. 10 (%1010) retorna
6 (%0110)
not Invierte cada bit del número. not 6 (%0110) retorna 9 (%1001)
<< Mueve los bits una posición hacia la izquierda. 7 (%0111) << 2 retorna 28 (%11100)
Los bits ubicados más a la izquierda se
descartan y a la derecha se rellena con ceros.
>> Igual a << pero a la derecha. 35 (%100011) >> 3 retorna 4 (%100)
Tabla 4. En esta tabla podemos observar los operadores
de bits con los que podemos trabajar.

117
5. HABLAR CON NUESTRO ROBOT

Sentencia asm relacional homónimo. Simplemente, el


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

asm Sentencias condicionales


conjunto de instrucciones Como en otros lenguajes procedura-
en assembler les, contamos con sentencias condi-
end asm cionales que nos permiten seguir uno
u otro curso de acción según deter-
minada condición. La más conocida
Dentro de esta sentencia, debemos es la sentencia if, cuya sintaxis es:
comenzar los comentarios con pun-
to y coma. Luego, al compilar, este if expresión then
código quedará directamente tradu- sentencias
cido a los valores correspondientes …
de código máquina. [ else
otras sentencias ]
Asignación end if
Aunque ya la hemos usado, no pode-
mos dejar de presentar la asignación
que tiene la siguiente forma: La expresión del if debe ser una ex-
presión booleana, es decir, que de-
variable=expresión vuelva verdadero o falso. En el caso
de retornar el valor verdadero, se eje-
cutan las sentencias que están den-
La expresión se evalúa y asigna su re- tro del primer grupo. Si el segundo
sultado a la variable. No debemos con- grupo de sentencias está definido
fundir este operador con el operador (los corchetes no deben escribirse,

✱ VARIABLES DENTRO DEL CÓDIGO EN ASSEMBLER


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

118
Comunicación con el robot

sólo nos muestra que esa sección es case valor_2


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

Supongamos que el bit 3 del puerto El selector es la expresión que se


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

HOJA DE DATOS DE LOS PICS


Para tener información 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 descripción profunda del micro, su diagrama de pines en todos los modelos,
diagramas internos, organización de la memoria, funcionamiento de los timers, etcétera.

119
5. HABLAR CON NUESTRO ROBOT

case 0 que esté definido en valor_salto. Si el


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

for contador = valor_inicial to


valor_final [step Cada vez que se está por ejecutar el
valor_salto] conjunto de sentencias, se evalúa la
sentencias expresión. Si su resultado es verda-
next contador dero, se ejecutan. Si es falso, se con-
tinúa la ejecución con las sentencias
posteriores al wend.
El contador es una variable que au- Con este comportamiento, pode-
mentará en cada repetición según lo mos tener casos en los que las sen-

120
Comunicación con el robot

tencias no se ejecutan nunca, porque evaluar la expresión luego de la eje-


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

En este ejemplo, logramos exacta- En este caso, no sólo el momento de


mente que lo que hicimos en el an- evaluación varía con respecto al while.
terior. En general, cuando la condi- También la lógica se invierte. Si al lle-
ción de corte está basada en alguna gar a loop until la expresión es falsa, se
variable que aumenta en forma line- vuelve a ejecutar el ciclo. De lo con-
al (de 1 en 1, de N en N) se utiliza trario, se continúa con las sentencias
la sentencia for. En otro caso, cuan- posteriores a loop until. Tomemos el
do la condición es más compleja y el mismo ejemplo anterior y traduzcá-
comportamiento de las variables que moslo a esta nueva estructura, como
entran en juego en la condición es vemos a continuación:
más complejo y menos lineal que un
aumento de N en N, es necesaria i=0
una estructura while. do
a[i]=255
Si necesitamos que el conjunto de i=i+1
sentencias que se van a repetir se eje- loop until i>7
cute por lo menos una vez, debemos

✱ DAR VUELTAS POR LA ETERNIDAD


Es fundamental analizar si las expresiones que escribimos para ser evaluadas en
las estructuras de repetición tienen alguna o algunas variables que puedan modifi-
car su contenido en algún momento de la ejecución del programa. Si la expresión
puede tener el mismo resultado eternamente, tenemos algún error conceptual en
ella o en el ciclo de repetición. También puede ocurrir que utilicemos métodos des-
prolijos como el break, pero no es recomendable.

121
5. HABLAR CON NUESTRO ROBOT

❘❘❘ INTELIGENCIA ARTIFICIAL El robot quedará con sus actuadores en


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

122
Comunicación con el robot

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

nombre_etiqueta:

… RESUMEN
En este capítulo hemos realizado un primer acercamiento a los diferentes len-
guajes que podemos utilizar para la programación de los micros de Microchip. De
todos ellos, nos hemos quedado con el que consideramos más sencillo, y que pro-
bablemente resulte familiar a todos los que alguna vez programaron en algún
lenguaje. MikroBasic, además de brindarnos un lenguaje Basic muy accesible, po-
see una IDE muy completa y amable para este duro proceso de programación. He-
mos presentado los elementos esenciales del lenguaje y nos hemos introducido
en la estructura de los programas y sus sentencias. Los ejemplos que hemos
mostrado son pequeños, dado que en el próximo capítulo, al conectar los moto-
res, podremos comenzar a darle vida a nuestro robot.

123
✔ ACTIVIDADES

TEST DE AUTOEVALUACIÓN

1 ¿A qué llamamos lenguajes de bajo y al- 9 ¿Qué son los tokens y los espacios en
to nivel? ¿Qué ventajas y limitaciones blanco?
presenta cada uno?
10 ¿Qué módulos encontramos en un pro-
2 ¿Qué características presenta el Pic- yecto mikroBasic?
Basic Pro?
11 Defina el alcance y la visibilidad de las
3 ¿Cuál es la IDE de PicBasic Pro? ¿Qué variables.
características presenta?
12 ¿Cuáles son los tipos de operadores que
4 ¿Qué es el ICD? podemos encontrar en mikroBasic?

5 ¿Para qué es útil programar en CCS C? 13 Compare las sentencias for, while y
do. Para cada una de ellas, construya
6 Recuerde tres razones por las cuales una estructura con el mismo compor-
elegimos mikroBasic para programar tamiento mediante la utilización de
nuestro robot. cada una de las otras dos. Por ejem-
plo, construya una estructura for con
7 ¿Qué características presenta el edi- while y otra con do.
tor de mikroBasic?

8 ¿Cómo es la organización de archivos


de un proyecto en mikroBasic?

124
Robótica Capítulo 6
Recorrer
el mundo
Una de las características fundamentales

de los robots autónomos móviles es la

habilidad de transportarse por el

ambiente en el que desempeñan sus

tareas. La navegación 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 capítulo es

aprender qué tipo de motores


El movimiento del robot 126
podemos utilizar en nuestro robot Tipos de motores 126
Motores de corriente continua 127
y cómo programarlos. Motores paso a paso
(Motores PaP) 135
Servos 140
Resumen 145
SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com Actividades 146
6. RECORRER EL MUNDO

EL MOVIMIENTO bientes donde puede moverse nues-


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

Tipos de motores
Como hemos comentado en capítu-
los anteriores, la arquitectura de
nuestro robot con respecto a sus me-
canismos de locomoción será extre-
madamente sencilla. Usaremos rue-
Figura 1. Determinación de los polos das laterales, que nos permiten tener
por el pasaje de corriente en la bobina. control mediante un sistema de pro-
gramación al alcance de todos, y que
desde el punto de vista mecánico
son fáciles de implementar. En el
Capítulo 8, donde construiremos el
cuerpo de nuestra criatura, analiza-
remos todas las posibilidades de lo-
comoción que tenemos con nuestro
robot, pero por ahora pondremos
nuestro esfuerzo en controlar los
Figura 2. Si invertimos la polaridad motores, que no es poco.
de la bobina, cambiamos los polos Aunque ya hicimos una introducción
del núcleo. muy breve de cada uno de los tipos de

126
El movimiento del robot

motores clásicos que podremos utili- tricidad y los imanes que se encuen-
zar, ahora presentaremos en forma tran alrededor de ellas. Veamos cómo
profunda cada uno de ellos, y desa- se produce esta interacción. Cuando
rrollaremos la electrónica necesaria la corriente eléctrica pasa por la bobi-
para conectarlos con nuestro contro- na, genera en el núcleo un campo
lador. Además, veremos un conjunto magnético con una orientación de-
de ejemplos de programación para terminada, es decir, un polo Norte y
poder manejarlos en forma efectiva. uno Sur (Figura 1). Si cambiamos la
Es posible que al principio resulte un polaridad de la bobina, se invierte la
poco complejo, pero creemos que los dirección de los polos (Figura 2). Los
ejemplos aclararán el panorama. dos imanes que se encuentran en la
carcasa tienen polos distintos.
Motores de corriente continua
Los motores de corriente continua Si aprovechamos el efecto magnético
(CC) son los actuadores que podre- de que los polos iguales se rechazan
mos conseguir con mayor facilidad, y y los opuestos se atraen, cambiamos
que seguramente estarán presentes en la polaridad de la bobina, y genera-
muchos de nuestros robots. En gene- mos rechazo o atracción entre ellas y
ral, están formados por dos imanes los imanes de la carcasa (Figura 3). De
pegados a la carcasa del motor y un esta manera, y si consideramos que
conjunto de bobinas de cobre en el tenemos más de una bobina, genera-
eje del motor. El funcionamiento se mos el movimiento del motor con su
basa en la atracción o la repulsión en- respectivo torque. Este último con-
tre el campo magnético que se gene- cepto se refiere a la potencia o la
ra en las bobinas por el paso de la elec- fuerza que tiene el giro del motor, y

RECICLADO

El reciclado es una tendencia que, además de proteger el medio ambiente, nos permi-
te ahorrar dinero. Además de todas las recomendaciones que hacemos aquí para recu-
perar partes de equipos o juguetes que ya no utilicemos, Internet es una fuente adicio-
nal de ideas. Estos son algunos sitios interesantes donde se explica cómo reciclar com-
ponentes de aparatos en desuso. Muchos de ellos serán útiles para nuestros robots:
•Reciclaje y proyectos electrónicos: 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
6. RECORRER EL MUNDO

S S II II

Torque

Figura 3. Efecto de giro del motor gracias a la atracción/el rechazo


del núcleo de la bobina y los imanes de la carcasa.

que depende de la cantidad de algún dispositivo físico! Por lo tanto,


energía que pasa por las bobinas, la necesitamos algún artilugio electró-
cantidad de vueltas del bobinado, el nico que nos permita determinarlo al
grosor del alambre, etcétera. enviar una señal con nuestro micro.
En este momento podríamos pensar
Los motores de CC tienen dos pun- en conectar directamente el motor al
tos de conexión para la fuente de ali- 16F88. ¡Error! Los motores absorben
mentación, y según cómo lo conec- demasiada corriente. Si los conecta-
temos, el motor girará en un sentido mos directamente al micro, se que-
o en otro. El problema es que noso- marán (que es algo que con seguridad
tros queremos lograr esto en el mo- no queremos hacer). Es por eso que
mento en que el robot está en fun- entre el micro y los motores incorpo-
cionamiento. ¡Sería desprolijo correr ramos una etapa intermedia, conoci-
detrás del robot para invertir la di- da como etapa de potencia. Cuando
rección de sus motores mediante utilizamos una fuente de alimenta-

PARA VER EL FUNCIONAMIENTO INTERNO DE UN MOTOR CC


En la Web podemos encontrar varios sitios con información más detallada sobre el fun-
cionamiento de los motores CC. Uno de los más completos es www.walter-fendt.
de/ph11s/electricmotor_s.htm, donde vemos en una simulación en Java los pasos que
realiza el motor en su giro. Allí podremos cambiar algunas variables que nos permi-
tirán comprender en forma más precisa las características de estos motores.

128
El movimiento del robot

+ Vcc

PNP PNP

C1 C2

NPN NPN

GND

Figura 4. Esquema básico de un puente H.

ción simple, como es nuestro caso, se


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

129
6. RECORRER EL MUNDO

Vc
M

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

4, 5, 12, 13

Figura 5. Diseño de conexiones para controlar un motor


con inversión de giro mediante el uso del L293D.

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


propuesto para esta función es el del motor, su freno o un estado de
L293D, que cuenta con cuatro dri- punto muerto, como podemos ob-
vers de potencia y diodos de protec- servar en la Tabla 1.
ción para los motores (Figura 5). De
la misma manera, podríamos utilizar En este punto, ya sabemos cómo
otros integrados como el UCN5804, controlar el sentido de los motores,
el BA6286, el L293B, etcétera. y si están frenados o libres, pero to-
davía no hemos resuelto el tema de
Con el L293D podremos controlar la velocidad. Es importante recordar
cuatro motores con un solo sentido que estos motores tienen poca fuer-
de giro, es decir, que gire o esté de- za y mucha velocidad, con lo cual es
tenido, o dos motores con inversión necesario agregarles un sistema de
de giro. Este último caso es el que reducción para aumentar la fuerza y
más nos interesa a nosotros para reducir la velocidad. Más adelante
construir un vehículo móvil. Si co- veremos una solución interna al mo-
nectamos el motor en los pines 3 y tor y, en el Capítulo 8, opciones para
6, según el estado de los pines 1, 2 soluciones externas. De todas for-

130
El movimiento del robot

PIN 1 PIN 2 PIN 7 ESTADO DEL MOTOR


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

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


electrónico de control para poder Para dar un ejemplo más sencillo,
modificar la velocidad del motor. imaginemos que tenemos el motor
Uno de ellos es la modulación por conectado a un interruptor que con-
ancho de pulso (Pulse With Modu- trolamos con la mano. Con una fre-
lation, PWM), que ya mencionamos cuencia de dos segundos, encende-
para el control de los servos. mos (señal alta) y apagamos (señal
baja) el motor dentro de ese tiempo.
También en los motores de CC uti- Por ejemplo, podríamos tenerlo un
lizamos PWM, pero en un sentido segundo prendido y un segundo
distinto al que se usa con los servos. apagado. O un segundo y medio
Dado que necesitamos generar los prendido y medio segundo apagado.
pulsos, es necesario entender cómo En el primer caso, se lograría mayor
funciona esta modulación. En la Fi- velocidad que en el segundo ejem-
gura 6 podemos ver un ejemplo grá- plo. La velocidad mayor se da cuan-
fico de esto. En PWM, la frecuencia do lo tenemos prendido práctica-
de los pulsos se mantiene constante. mente los dos segundos completos.
Lo que se modifica es el tiempo en
el que la señal está alta dentro de Con este control, la cantidad de co-
esos pulsos. Cuanto más largo sea el rriente es constante, la tensión no
tiempo en el que la señal esté alta, varía y, por lo tanto, el torque es el

Velocidad Velocidad
Mínima Máxima

Figura 6. Ejemplo gráfico de la modulación por ancho de pulsos.

131
6. RECORRER EL MUNDO

mismo. Como veremos más adelan- la frecuencia, la potencia aumenta.


te, lograremos el control del motor No entraremos en detalle porque no
con PWM mediante la programación será el mecanismo que utilizaremos
de nuestro micro. Gracias al L293D, en nuestro robot.
no necesitaremos más electrónica que
la presente en nuestra controladora, Ejemplos de programación de un
dado que los diodos de protección motor CC con nuestro controlador
del motor se encuentran incorpora- Como podemos observar en la cons-
dos en el integrado. trucción del controlador, el motor 1
Otro mecanismo habitual para el está conectado a los pines 11 y 14
control de la velocidad de los moto- del L293D (Output 3 y 4, respecti-
res de CC es la modulación por fre- vamente) y el motor 2 a los pines 3
cuencia de pulsos (Pulse Frequency y 6 (Output 1 y 2). Para realizar
Modulation, PFM). En este caso, la nuestros ejemplos trabajaremos so-
proporción de la señal alta y baja bre el motor 1, pero desde ya que lo
dentro del pulso se mantiene cons- que veamos sobre este motor es apli-
tante. Lo que cambia es la frecuen- cable al otro. El control de los pines
cia de los pulsos. Cuanta más alta es 11 y 14 está dado por los inputs 3 y
4, ubicados en los pines 10 y 15 del
❘❘❘ PROBLEMAS FÍSICOS L293D. Si seguimos las conexiones
de nuestro controlador, podemos
Cuando construimos nuestros robots,
ver que estas dos entradas están con-
aparecen problemas físicos que segura-
troladas por RB1 y RB2 del 16F88
mente hemos visto en nuestros estudios,
(pines 7 y 8). De esta manera, po-
pero que tal vez no vinculamos. Por
demos reformular la tabla que vimos
ejemplo, uno de los problemas es el te-
antes para mostrar cómo se com-
ma de la reducción. ¿Por qué si aumen-
portará el motor 1 según el estado
tamos la fuerza disminuye la velocidad?
de los pines 7 y 8 del 16F88. El re-
¿Cómo deben ser los engranajes para
sultado de esta reformulación lo po-
lograr esto? De la misma manera, otros
demos ver en la Tabla 2.
conceptos tecnológicos fundamentales
que surgen de nuestra obra serán las
Sin embargo, como detalle adicio-
poleas, las cadenas de transmisión, las
nal, cabe aclarar que no podremos
estructuras rígidas y flexibles, las palan-
lograr este último estado en nuestro
cas, etcétera. Tal vez no esté nada mal
controlador porque el pin 9 del
repasar estos conceptos para entender
L293D está en alto constantemente
por qué funciona o no nuestro robot.
y no está controlado por el 16F88.

132
El movimiento del robot

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


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

Ejemplos de código en mikroBasic delay_ms(500)


Aunque los ejemplos más completos ‘ Espera 500 milisegundos
estarán incluidos en los capítulos PORTB.3 = 0
donde haremos robots para cumplir ‘ Apaga RB3
misiones específicas, ya podemos delay_ms(500)
comenzar a realizar algunos progra- ‘ Nuevamente espera 500
mas para empezar a testear a nuestro milisegundos
robot. En el capítulo pasado en- wend
cendíamos y apagábamos todo el end.
PORTB para encender y apagar el led.
A partir de ahora comenzaremos a
ser más delicados, y sólo encendere- Con la misma lógica, podemos hacer
mos los bits que sean necesarios pa- que el motor 1 encienda un segundo en
ra cada caso. Por ejemplo, en el ca- un sentido, otro segundo en el sentido
so del programa que titila el led, só- contrario, y un segundo se encuentre
lo deberíamos encender el Rb3, co- detenido (¡No nos olvidemos de que
mo vemos a continuación: debemos conectar el motor en 1!).

program TitilaLedPreciso program mueveMotorCC

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

133
6. RECORRER EL MUNDO

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

DÓNDE CONSEGUIR MOTORREDUCTORES


Los motorreductores son más difíciles de conseguir que los motores de CC con-
vencionales. Sin embargo, una forma sencilla de hacerlo es convertir un servo co-
mo veremos al final de este capítulo. Si queremos comprar directamente uno, aquí
van algunas páginas web de proveedores:
•Ignis (fabricante): www.ignis.com.ar.
•Robodacta (proveedor de elementos de robótica): www.robodacta.com.

134
El movimiento del robot

nes por minuto (RPM: a mayor


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

En algunos casos, es posible conse-


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

Figura 8. Un motorreductor con sinfín


es lento pero tiene muchísima fuerza.

135
6. RECORRER EL MUNDO

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

motor de ese tipo. Los motores de del rotor, fricción interna del motor,
CC tardan un tiempo en lograr la temperatura, etcétera.
velocidad buscada y cuando se los
deja de alimentar, poseen inercia y Para lograr esta precisión necesita-
tardan en detenerse. Por lo tanto, es mos un motor PaP (Figura 9) o un
una cuestión de suerte lograr un nú- servo. Los motores PaP tienen un
mero preciso de vueltas. Si necesita- mecanismo que les permite girar un
mos fracciones de vueltas, esto es ángulo determinado. Los más comu-
aún más complejo. Si le agregamos nes están formados por un rotor (un
un sistema de reducción al motor imán permanente) y un conjunto de
podremos disminuir el problema, bobinados en el estator. No giran li-
pero no desaparece por completo bremente por sí mismos, sino que
por la cantidad de variables que en- avanzan al girar pequeños pasos por
tran en juego: fricción de los engra- cada pulso que se aplica. El tamaño
najes del sistema de reducción, peso del paso, en grados, es lo que defi-

❘❘❘ ELEMENTOS QUE SE OBTIENEN AL RECICLAR APARATOS


Disqueteras de 3 1/2: motor paso a paso del cabezal, motor de cc del giro del disco
y electrónica 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
El movimiento del robot

nirá la precisión que tendremos en No. DE PASO 1A 1B 2A 2B

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

Los bipolares son más complejos de Para realizar este control usaremos el
controlar que los unipolares, pero son L293D. En este caso, podremos con-
más livianos y tienen mejor torque. El trolar sólo un motor paso a paso, da-
control ha dejado de ser un problema do que tendremos que usar los cua-
gracias a integrados como el L293D. tro puentes H que ofrece el integra-
Una vez que consigamos un motor de do para lograr la secuencia. Debería-
este tipo, debemos distinguir los ca- mos conectar cada uno de los 4 ca-

1a 1a
M Com1 M
1b 1b

2a 2b
Com2

2a 2b

Motor-PaP Bipolar Motor-PaP Unipolar

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

137
6. RECORRER EL MUNDO

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

Figura 12. Ejemplo de motor


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

138
El movimiento del robot

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


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

❘❘❘ DETECTAR EL TIPO DE MOTOR PASO A PASO A SIMPLE VISTA


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

139
6. RECORRER EL MUNDO

Servos ● Terminal de control: es por donde


Un servo es un motor de CC pero ingresamos la señal que permite de-
con dos características fundamenta- terminar el ángulo del motor.
les que lo diferencian: una caja de
reducción interna al motor que le Los colores de estos cables varían
brinda un gran torque y un sistema según cada fabricante, pero en la Ta-
electrónico de control que le per- bla 7 presentamos un detalle con los
mite posicionar al motor en el án- colores utilizados por los principales
gulo deseado. Se utilizan con mucha fabricantes de servos.
frecuencia en aparatos radiocontro-
lados como aviones, barcos y autos Habitualmente, la capacidad de gi-
a control remoto. También se usan ro de un servo es de 180 grados, pe-
mucho en robótica por su bajo peso ro más adelante veremos cómo eli-
y sus altas prestaciones (Figura 13). minar este límite. El circuito de con-
trol posiciona al eje y compara la
Los servos tienen 3 cables o terminales: señal que recibe de un potencióme-
tro interno con la señal de control
● Terminal positivo: recibe la energía externa. Cuando gira el eje, también
que alimenta al motor (usualmente, gira el potenciómetro. Por último, el
de 4 a 8 voltios). ángulo va a estar determinado por la
● Terminal negativo: dirigido a tierra. duración de un pulso que se aplica

Figura 13. Servomotor Hitec, muy utilizado en robótica.

140
El movimiento del robot

FABRICANTE TERMINAL POSITIVO TERMINAL NEGATIVO ENTRADA DE SEÑAL


Futaba Rojo Negro Blanco
Fleet Rojo Negro Blanco
Hitec Rojo Negro Amarillo
Airtronics Rojo Negro Naranja
JR Rojo Marrón Naranja
Kraft Rojo Negro Naranja
Tabla 7. Los colores de los tres cables de los servos de las marcas más conocidas.

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


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

Figura 14. Un servo visto por dentro.

141
6. RECORRER EL MUNDO

más fuerza. Como contrapartida, son CC con caja reductora integrada, co-
más caros y el consumo de energía es mo los que hemos presentado al co-
mayor que en los analógicos. mienzo de este capítulo.
Una de las modificaciones posibles
Modificación de los servos es eliminar el circuito de control y
Como ya hemos comentado, los ser- cortar los topes mecánicos. De esta
vos tienen un radio de giro de apro- forma, lo convertiremos en un mo-
ximadamente 180 grados. Su sistema tor de CC con caja reductora. El ca-
de control nos permite definir su án- ble de control desaparece y sólo te-
gulo de rotación en forma precisa y nemos dos cables donde se aplica co-
sencilla, pero muchas veces necesita- rriente. A mayor corriente tendre-
mos que el motor gire 360° en forma mos mayor velocidad y, si modifica-
continua, como en el caso de las rue- mos la polaridad, podemos cambiar
das. Para ello vamos a tener que rea- el sentido del giro. A continuación
lizar un conjunto de modificaciones veremos los pasos necesarios para re-
en el servo. Estas modificaciones pue- alizar la modificación, pero cabe
den dañar el servo (de por sí lo dañan aclarar que las imágenes sólo son de
porque cambian su funcionalidad), referencia, ya que debemos buscar
por lo que sólo recomendamos reali- los pasos correspondientes para
zarlas si no conseguimos motores de nuestro servo específico.

■ Modificar un servo PASO A PASO

Si el servo posee un engranaje externo en el eje, desatorníllelo con cuida-


do, sin forzar el giro del eje más allá de su tope de rotación.

142
El movimiento del robot

Abra la tapa posterior del servo desenroscando los cuatro tornillos y


desmóntelo en forma completa.

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

143
6. RECORRER EL MUNDO

Corte o extraiga cuidadosamente el tope físico que tiene el engranaje de


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

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


modelo del servo en cuestión. En algunos casos, basta con desvincular
uno de los engranajes del potenciómetro. En otros, habrá que encontrar
el modo de comunicación de los engranajes con el sistema de control.
Para ello, es conveniente buscar en Internet los pasos necesarios para
modificar el servo específico que desee adaptar.

144
El movimiento del robot

Volvemos a repetir: sólo es necesario MODIFICAR SERVOS


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

… RESUMEN
Hemos llegado al hermoso momento en que nuestra criatura sale a recorrer el mun-
do. Pero no todo es tan sencillo. En este capítulo hemos analizado los diferentes ti-
pos de motores que pueden usarse con nuestra alimentación de corriente continua.
Los motores de CC son sencillos de conseguir y fáciles de controlar, pero tienen po-
co torque. Por lo tanto, debemos agregarles una caja de reducción para poder mo-
ver las ruedas a una velocidad razonable y con la fuerza necesaria. Por suerte con-
tamos con motorreductores, que ya nos ofrecen ese sistema en forma interna en la
caja del motor, aunque con un costo mayor. También podemos utilizar motores pa-
so a paso, que en general están presentes en disqueteras, impresoras, discos rígi-
dos, etcétera. El control es un poco más complejo, pero nos brindan precisión en sus
movimientos. Si queremos mayor precisión y no necesitamos giros completos, los
servos son la tercera opción para los movimientos de nuestro robot.

145
✔ ACTIVIDADES

TEST DE AUTOEVALUACIÓN EJERCICIOS

1 ¿Qué es el torque? ¿Cómo se logra en 1 Mediante la utilización de la modula-


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

11 ¿Cuál es el objetivo de modificar un ser-


vo? ¿Por qué no se recomienda hacerlo?

146
Robótica Capítulo 7
Sensar el mundo
Cuando construimos robots autónomos,

uno de los desafíos más importantes es

la habilidad de adaptarse al mundo que

los rodea. Si no incorporamos sentidos

a nuestro dispositivo, sólo tendremos

un juguete a control remoto, donde

la inteligencia y la captación del ambiente

están en nuestras manos. En este

capítulo conoceremos los tipos

de sensores que podemos encontrar y

veremos la electrónica y la programación


Adaptación al entorno 148
que usaremos en los próximos capítulos. Tipos de sensores 148
Características esenciales
de los sensores 149
Sensores digitales 152
Los sensores analógicos 158
Tipos de sensores analógicos 162
Resumen 165
SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com Actividades 166
7. SENSAR EL MUNDO

ADAPTACIÓN poder captar el mundo que lo rodea.


AL ENTORNO ¿El olfato será de utilidad? Muchas
dudas nos preocupan, pero nos lanza-
Ya piensa, ya camina… La obra con- mos decididos a buscar qué es lo que
tinúa creciendo. Y sin embargo, cada nos puede ayudar. Y encontramos que
vez que lo ponemos a nuestro lado pa- en el mundo de la electrónica, los sen-
ra que nos acompañe, se lleva por de- tidos se multiplican infinitamente.
lante una pared, se pierde por lugares
insólitos o se cae por una escalera. Al- Tipos de sensores
go nos falta, algún soplo de creación Los sensores tienen como objetivo
nos hemos olvidado de brindarle a captar alguna señal brindada por el
nuestro robot. ¡Nos hemos olvidado ambiente que rodea al robot, y
de incorporarle sentidos! Sin ver, sin transformar esa señal en un impul-
tocar y sin escuchar, es imposible que so eléctrico que reciba nuestro con-
se separe de nuestra mano y de nues- trolador. Luego, desde el programa
tros ojos. Y es por eso que empezamos que usemos para darle comporta-
a pensar cuáles serían los sentidos miento, interpretaremos este impul-
esenciales que podemos brindarle. ¿Le so para actuar en consecuencia.
agregamos la vista? Es un desafío Cuando hablamos de señales del
complejo, demasiada información ambiente, nos referimos a la infor-
para su pequeña inteligencia. ¿El tac- mación habitual que, como huma-
to será suficiente? Tendrá una vida nos, podemos captar: imágenes vi-
dura, golpeándose contra todo para suales, olores, información táctil, so-

Figura 1. Kephera es un robot con ocho sensores


infrarrojos y una cámara de visión lineal.

148
Adaptación al entorno

nidos y sabores. Pero esto no termi- ❘❘❘ NARICES ELECTRÓNICAS


na aquí: podemos utilizar otros me-
canismos que superen al sistema De todos los sentidos, es probable que el
sensorial humano. Contamos con olfato y el gusto sean los más complica-
sensores ultrasónicos para medir dis- dos de emular. Sin embargo, existen las
tancias, sensores de metales, detec- narices electrónicas. Esos instrumentos
tores de diversos gases, etcétera. permiten realizar análisis de una mezcla
de gases, vapores y olores en tiempo re-
La oferta es muy grande, y cada ti- al. Sirven para el control de la calidad
po de sensor nos obliga a incorporar alimenticia, el diagnóstico médico, la de-
algo de electrónica y de programa- tección de escape de gases, procesos in-
ción en nuestro robot. En este capí- dustriales, usos militares, etcétera.
tulo veremos los tipos de sensores
que podemos encontrar habitual-
mente en el mercado, sus caracterís- table, podremos utilizar sensores
ticas y cómo podríamos incorporar- de menor calidad porque sabemos
los a nuestro robot. Luego nos de- que los resultados, luego de cali-
tendremos en los sensores que va- brar el sensor, se mantendrán pa-
mos a utilizar para los desafíos que rejos y podremos confiar en ellos.
hemos planteado en este libro. En cambio, en los ambientes don-
de las condiciones se modifican en
Características esenciales forma constante, los sensores que
de los sensores utilicemos deben poseer mecanis-
Los sensores determinan en forma mos electrónicos de balanceo que
precisa el comportamiento de nuestro permitan superar estas dificulta-
robot. Es por eso que cuando elegi- des. Si los valores devueltos por el
mos el tipo de sensor que incorpora- sensor no son fiables, necesitare-
mos, debemos analizar un conjunto mos compensar este problema con
de características que nos permitirán programación, para lo que utiliza-
definir si es o no el que necesitamos mos varias muestras y distintos
para nuestra tarea. Éstas son: métodos estadísticos que ajusten al
mínimo el margen de error. Cabe
● Fiabilidad: esta característica está aclarar que esto se paga con mayor
muy vinculada al ambiente en el tiempo de procesamiento.
que se mueve nuestro robot. Por ● Rango de valores: el rango de va-
ejemplo, si utilizamos un sensor de lores es el valor mínimo y máximo
luz o brillo en un lugar con luz es- que puede devolver el sensor.

149
7. SENSAR EL MUNDO

● Precisión: aun si se tiene el mis- ● Velocidad de muestreo: es la fre-


mo rango de valores, los sensores cuencia con la que el sensor refres-
pueden devolver más o menos es- ca su lectura del ambiente. A ma-
tados intermedios dentro de ese yor velocidad, mejor adaptación a
rango. Llamamos precisión a la los cambios del mundo en el que se
cantidad de valores distintos que mueve nuestro robot. Pero por otro
nos puede devolver el sensor en su lado, nos exige mayor procesa-
rango de valores. Por ejemplo, no miento de los valores de entrada.
es lo mismo un sensor de brillo De todas formas, si el sensor tiene
con un rango de 0 a 100 con una una alta velocidad y no nos da
precisión de 1, que uno con una tiempo para procesar los datos, po-
precisión de 0.1. En el segundo ca- demos desechar valores de lectura y
so, podremos detectar variaciones lograr la velocidad de muestreo que
mínimas que en el primero se le- necesitemos. En el caso contrario,
erían como valores idénticos. no podemos solucionar el proble-
ma. Es decir, nos conviene un sen-
sor con la mayor velocidad de
muestreo posible, que luego regula-
remos al tomar todos los valores o
sólo un conjunto de ellos.
● Costo: aunque en nuestros prime-
ros proyectos tal vez no parezca un
elemento fundamental de análisis,
cuando desarrollemos robots más
complejos nos encontraremos con
limitaciones de este tipo. Y lamen-
tablemente, veremos que hay una
relación lineal entre el costo y las
demás características: los sensores
más caros son mejores.
● Sencillez de uso: en estos prime-
ros pasos, es fundamental que tan-
to la interfaz electrónica que debe-
Figura 2. Sick es un escáner láser muy mos desarrollar entre el sensor y el
usado en robótica que permite medir micro, como su programación pa-
distancias con precisión milimétrica y ra la interpretación de los datos,
realizar mapeos de objetos próximos. sea lo más sencilla posible.

150
Adaptación al entorno

● Tamaño y forma: en el momento adapten a nuestras necesidades en


en el que queramos insertar el sen- el conjunto de sensores que cum-
sor en nuestro robot, con seguri- plen la misma función.
dad querremos realizarle la menor ● Calibración: en este caso, tam-
cantidad de modificaciones posi- bién tenemos el problema de que
bles a la arquitectura que ya tene- cuanto más sencillo sea el sensor,
mos definida. Por otra parte, es ne- más trabajo de calibración tendre-
cesario que el sensor esté a la dis- mos que hacer con el software. En
tancia precisa para poder captar lo general, la calibración no está
sensado. Por ejemplo, el sensor que brindada directamente por el sen-
utilizaremos para el seguimiento sor, sino que es en la electrónica de
de línea es sencillo, pero con un al- la conexión donde podemos agre-
cance muy bajo. Por lo tanto, será gar elementos que nos permitan
necesario ubicarlo lo más cerca po- modificar, con una simple vuelta
sible de la línea debajo del robot. de potenciómetro, las señales de
Otro ejemplo son los sensores de entrada o la sensibilidad de lectu-
tacto: es habitual tener que ampli- ra. Aunque le agreguemos más tra-
ficar la mecánica del sensor para bajo al diseño inicial del robot,
detectar con mayor facilidad los luego agradeceremos que con un
objetos. Para ello es fundamental destornillador podamos readaptar
elegir el tamaño y la forma que se al robot a diversos ambientes.

Figura 3. Lego provee diferentes sensores,


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

151
7. SENSAR EL MUNDO

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


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

Señal discreta

14.0

12.0

10.0

8.0

6.0

4.0

2.0

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

Figura 4. Ejemplo gráfico de los valores que entrega un sensor digital.

152
Adaptación al entorno

nos permite representar el sentido del de detectar colisiones contra objetos


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

+5

R3
1K R4
1K Sensor 1

1
2
3
Sensores
Sensor 2

Figura 5. Conexión de los dos interruptores en nuestro controlador.

❘❘❘ SENSORES DE ESTACIONAMIENTO


Muchos de los sensores que se utilizan para robots, luego desembarcan en la vida
cotidiana. Un ejemplo de esto son los sensores de estacionamiento. Por poco dine-
ro podemos agregarle a nuestro vehículo un sensor de este tipo que nos indica, con
un display o con sonidos, la proximidad de los objetos en la parte trasera de nues-
tro auto. Sólo se activan con la marcha atrás, y nos dan información de distancia
mediante luces, textos o cantidad de bips.

153
7. SENSAR EL MUNDO

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


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

154
Adaptación al entorno

Esencialmente, consiste en un emisor


de señal infrarroja (un led) y un foto-
transistor. Si ambos apuntan hacia el
mismo lado, tenemos un sensor re-
flectivo, dado que el fototransistor será
estimulado cuando la luz del led se re-
fleje sobre una superficie. Esto es útil
para detectar colores muy distintos
(por ejemplo, una línea negra sobre un
papel blanco) o sensar si el robot está Figura 8. Sensor infrarrojo
por caer al vacío (el sensor detecta la re- de tamaño reducido.
flectancia de la mesa, pero al acercarse
a un borde deja de recibir la señal). Otra forma de utilizar el sensor infra-
Uno de los problemas que podemos rrojo es enfrentar el led con el foto-
encontrar es que el fototransistor pue- transistor. Por lo tanto, lo que pode-
de estar estimulado por las luces del mos detectar allí es el corte de visión
ambiente. Para evitarlo, debemos en- entre ambos. A este tipo de arquitec-
capsularlo de manera tal que sólo el re- tura se la conoce como sensor de ra-
flejo de su led lo estimule. El más co- nura. Podemos utilizarlo simplemente
nocido y económico de todos es el para la detección de objetos (como se
CNY70, que también podemos utilizar usa en ciertos estacionamientos para
como sensor analógico, dado que de- avisar la salida de un auto) o para con-
vuelve un valor entre 0 V (reflejo abso- tar los pasos de una rueda asociada al
luto) hasta 3.3 V (absorción absoluta). eje de un motor y, de esta manera, ar-
Lo analizaremos más adelante cuando mar un sensor de rotación. Depen-
veamos los sensores analógicos. diendo de cómo está acanalada la rue-

❘❘❘ RECICLAR SENSORES PARA NUESTRO ROBOT

En el capítulo anterior ya vimos cómo podíamos reciclar los motores de nuestros an-
tiguos dispositivos. Ahora veamos qué ocurre con los sensores:
Disquetera 5 1/4: detector infrarrojo de ranura para detectar pista cero, fototransisto-
res, led emisor de infrarrojo, detectores de efecto hall.
Disquetera 3 1/2: detector infrarrojo de ranura muy pequeño, microswitches.
Video VHS: led emisor de infrarrojo, receptores de infrarrojo, receptor del IR del con-
trol remoto, microswitches, infrarrojos de ranura, sensores de efecto hall.

155
7. SENSAR EL MUNDO

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


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

❘❘❘ SENSORES DIGITALES CASEROS


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

156
Adaptación al entorno

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

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

+5

R1

1
Infrarrojo Photo
LED2 PNP
2
R3
R2

Figura 10. Circuito básico de conexión del infrarrojo a nuestro controlador.

157
7. SENSAR EL MUNDO

el sensor 1 vel de precisión se los conoce como


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

Señal analógica

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. Gráfico ejemplo de los valores que entrega un sensor analógico.

158
Adaptación al entorno

VOLTAJE ENTRADA SALIDA


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

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


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

HOJAS DE DATOS

Si buscamos información sobre algún integrado, seguramente llegaremos a su res-


pectivo datasheet (hoja de datos). Cada fabricante tiene la hoja de datos de sus propios
integrados, pero tenemos sitios que juntan y clasifican las hojas más comunes:
•Universidad Nacional del Sur: www.ceia.uns.edu.ar/integrados/index.asp.
•Catálogo completo de hojas de datos: www.datasheetcatalog.net/es/.

159
7. SENSAR EL MUNDO

pines 2 y 3 ya mencionadas. Como


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

❘❘❘ CONVERSIÓN ANALÓGICO-DIGITAL


Aunque parezca un tema novedoso y desconocido, vivimos rodeados de conversio-
nes de este tipo. Por ejemplo, la música en CD es una conversión a lo digital de las
señales sonoras, que son analógicas. Cuando grabamos con un micrófono en la
computadora, cuando escaneamos una imagen, cuando sacamos una foto digital,
convertimos el mundo analógico real en un formato digital. En todos los casos, ne-
cesitamos pasar del infinito continuo al finito discreto.

160
Adaptación al entorno

● ADCON0 y ADCON1: registros de con- ❘❘❘ SENSORES ULTRASÓNICOS


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

161
7. SENSAR EL MUNDO

mos a continuación, y que nos brin-


5V
darán la riqueza de la precisión que
los sensores digitales no tenían.
20 K Masa
Tipos de sensores analógicos
Uno de los sensores más sencillos de
utilizar y más económicos es el fa-
moso CNY70, que ya hemos men-
cionado. Para usarlo, sólo lo conec-
tamos como indica la Figura 13, don-
E D de la señal debe ir hacia la entrada
analógica.

Otro sensor conocido y económico


es el LDR, que consiste en una re-
Señal
sistencia que varía su valor resistivo
Masa 20 K en función de la luz que recibe. De
esta manera, podemos obtener infor-
5V mación compleja del entorno donde
el robot realiza su tarea. También po-
demos agregarle un led específico del
Figura 13. Conexión del CNY70 color que deseamos detectar, para
para usarlo como sensor analógico. que los valores de rebote sean más
significativos. En la Figura 14 pode-
deben preocupar, ya que los realizará mos ver la conexión del sensor a
en forma automática. nuestro controlador, y más adelante
Con estos pasos, podemos tomar los veremos cómo programar la detec-
valores de los sensores que describire- ción de su valor analógico.

❘❘❘ PIEL PARA ROBOTS


El gran avance de la tecnología nunca terminará de sorprendernos. Unos científicos
japoneses desarrollaron una piel artificial flexible con capacidades sensoriales. Por
ahora sólo son sensibles a la presión, pero en breve tendremos pieles que además
detecten temperatura, fuerza, tensión, etcétera. Esto permitiría una manipulación
mucho más fina de los objetos por parte de un robot, sin necesidad de hacer pro-
cesamiento de imágenes para lograrlo.

162
Adaptación al entorno

OSC1/TCLKIN

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

16F88 / 16F84
+5

LDR

R1

Figura 14. Conexión del LDR a nuestro controlador.

Otro sensor analógico corriente es el ● De luz o color: fotodiodos, foto-


potenciómetro. Conectado a un transistores y CCD (integrado que
motor, lo podemos utilizar como posee una matriz de celdas que son
sensor de rotación, principalmente sensibles a la luz).
si es multivuelta. ● De presión.
En la Figura 15 podemos ver el es- ● Táctiles: a diferencia de los senso-
quema de conexión. res de tacto, pueden determinar el
Otros sensores analógicos que pode- grado de presión y la zona donde
mos encontrar en el mercado son: se produce el contacto.

❘❘❘ DETECTOR DE MENTIRAS


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

163
7. SENSAR EL MUNDO

VCC ● Termistores: para medir temperaturas.


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

program LDR

dim resu as word


Figura 16. Uno de los tantos sensores
ultrasónicos que hay en el mercado. main:
ADCON1 = $80 ‘ configuro
● Micrófonos. la forma de lectura del
● Ultrasónicos: permiten medir distan- valor digital
cias con el mismo mecanismo que ‘ y que utilizaré
utilizan los murciélagos (Figura 16). Vss y Vdd como
● Acelerómetros: detectan acelera- valores de
ción y vibración. referencia.
● Inclinómetros: sensan la posición
vertical.

164
Adaptación al entorno

TRISA = $FF ‘ defino PORTA PORTB.3=1


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

… RESUMEN
Los sensores son uno de los núcleos fundamentales de los robots autónomos. Sin
embargo, presentan diversas dificultades, desde la conexión electrónica hasta el
procesamiento de la información que nos entregan. En este capítulo hemos visto
las características fundamentales de un sensor a la luz que debemos analizar
según el objetivo de nuestro robot. En el conjunto de sensores, tenemos los digi-
tales, que nos devuelven valores discretos, habitualmente, 1 y 0. Entre estos sen-
sores, de fácil procesamiento, podemos encontrar microswitches y sensores de
luz. También tenemos sensores analógicos, que devuelven un valor dentro de un
rango continuo. Dado que nuestros procesadores trabajan en forma digital, de-
bemos pasar este valor de entrada por un conversor analógico digital. Afortuna-
damente, varios micros ya proveen en forma interna ese conversor, como el
16F88 que recomendamos en este libro.

165
✔ ACTIVIDADES

TEST DE AUTOEVALUACIÓN EJERCICIOS

1 ¿Cuáles son las características esen- 1 Realizar un programa donde el led se


ciales de los sensores? encienda si los dos interruptores
están en el mismo estado (los dos
2 ¿Qué es un sensor digital? ¿Cómo con- presionados o sueltos).
vertimos un sensor analógico en uno
digital? 2 Realizar un programa donde el led se en-
cienda cada 3 pulsaciones. Es decir, si se
3 Describa los interruptores o micros- pulsa una vez o dos veces no se encien-
witches. de. A la tercera pulsación se enciende.
Luego se apaga en la cuarta y quinta, y
4 ¿Cuáles son los conectores de un mi- vuelve a encenderse en la sexta.
croswitch y cómo se conectan?
3 Conecte ocho leds al puerto B del mi-
5 ¿Cuáles son los tipos de sensores in- cro y un potenciómetro a una entrada
frarrojos que podemos utilizar según analógica. Realice un programa que
su arquitectura? encienda los leds según la salida digi-
tal del valor del potenciómetro (es de-
6 Describa los sensores de efecto hall. cir, que los leds representen los 8 bits
menos significativos de la salida).
7 ¿Qué es un sensor analógico? ¿Qué es
un conversor A/D? 4 Conecte un CNY70 y programe el mi-
cro para que el motor 1 se encienda y
8 ¿Cómo se utiliza el conversor ADC0804? el 2 se apague si el sensor está sobre
una línea negra, y al revés si está so-
9 ¿Cómo funciona el conversor A/D del bre una superficie blanca.
16F88?

10 Describir cuatro tipos de sensores


analógicos.

166
Robótica Capítulo 8
El cuerpo
del robot
Llegó la hora de armar una estructura que

permita optimizar el funcionamiento del

robot. Para eso buscaremos un equilibrio

entre el peso, la funcionalidad, la

estabilidad y el tamaño. Analizaremos las

arquitecturas posibles y nos detendremos

en los mecanismos de locomoción de los

robots. Ubicaremos los sensores para Cuerpo a cuerpo 168


Características mecánicas
captar el ambiente, y dejaremos todo listo de un robot autónomo 169
Robots aéreos 173
Robots subacuáticos 174
para los próximos capítulos.
Robots terrestres 174
Sistemas con ruedas 179
Estructura de nuestro robot 184
Mecanismos de transmisión
Colaborador: y reducción 190
Ing. Néstor Balich Cinemática de un robot 194
Odometría 196
Resumen 197
SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com Actividades 198
8. EL CUERPO DEL ROBOT

CUERPO A CUERPO simas opciones: ¿ruedas, orugas o


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

Figura 1. Dos equipos formados para comenzar


un partido de fútbol de siete contra siete.

168
Cuerpo a cuerpo

sos aspectos de la construcción de ❘❘❘ CÓMO UBICAR LAS PILAS


manera tal que más adelante, se pue-
da desarrollar el robot que mejor se Para poder ubicar las pilas de la forma
adapte a la tarea final. que más nos convenga, podemos com-
prar los portapilas en diferentes confi-
Características mecánicas guraciones. En general, existen porta-
de un robot autónomo pilas de cuatro pilas, pero podemos
Cuando desarrollamos la estructura conseguir de dos, de seis y de ocho.
de un robot, tenemos que tener en Una vez que tengamos determinada la
cuenta un conjunto de variables configuración que nos será más útil pa-
que, en muchas ocasiones, se con- ra nuestro robot, no tenemos que olvi-
traponen. Desde ya, la variable por dar conectarlos entre sí en serie para
excelencia, lo que tenemos que tener obtener un negativo y un positivo con el
en mente constantemente, es el ob- voltaje necesario.
jetivo o la misión del robot. En
nuestro caso, dado que queremos
cumplir diversas pruebas con el mis- agregamos esto, necesitamos ubi-
mo robot, tenemos que elegir una car las baterías en algún lugar don-
estructura que nos permita acceder de podamos sacarlas y ponerlas sin
con facilidad a los sensores y cam- tener que desarmar todo.
biarlos de lugar con sencillez, entre ● Ubicación del controlador: tene-
otras cosas. Pero como nuestro ob- mos un problema similar al de las
jetivo es que luego de leer este libro baterías. Si desarrollamos la pro-
podamos comenzar a realizar dife- gramación en circuito (como es
rentes diseños de robots, a conti- nuestro caso), basta con dejar el
nuación presentaremos cuáles son conector para comunicarnos con
las características que debemos tener el programador. Pero si tenemos el
en cuenta en el desarrollo. micro en un zócalo, tendremos
que poder acceder a él para llevar-
● Ubicación de las baterías: ya he- lo al programador y regresarlo.
mos comentado que éste es un te- ● Tipos de locomoción: otro aspec-
ma especial y molesto. Si en nues- to fundamental es el ambiente
tro robot agregamos la electrónica donde el robot debe desarrollar la
de la carga de la batería, podemos actividad. Son tantas las modifica-
ubicarla en algún lugar inaccesible ciones que debemos tener en cuen-
mientras podamos enchufar el ca- ta, que trataremos este tema en
ble de alimentación. Pero si no forma detallada más adelante.

169
8. EL CUERPO DEL ROBOT

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


Aquí tenemos un robusto luchador de sumo.

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


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

170
Cuerpo a cuerpo

Figura 3. La superficie de la cancha determinará


el tipo de ruedas a utilizar.

actividad: el tipo de superficie tam- ❴❵ TESTEO DEL ROBOT


bién genera problemas con respecto
al comportamiento inercial del robot Para poder observar el comportamien-
y su adherencia. Tendremos que de- to inercial del robot, es necesario que
tenernos a analizar cómo son nues- lo probemos en los siguientes estados:
tras ruedas, de qué material están he-
chas, si no es mejor utilizar orugas, si •A toda velocidad hacia delante y hacia
son de goma, de metal, etcétera. atrás, y luego frenar bruscamente.
También en esta oportunidad es más •A toda velocidad hacia delante y hacia
conveniente tener el material real de atrás, y luego dejar las ruedas sin ali-
la superficie, porque el comporta- mentación.
miento cambia completamente. ¡Y •Girar a toda velocidad para un lado y
no nos podemos dar el lujo de tener para el otro y luego hacerlo frenar de
juegos de botines completos! manera brusca.
● Ubicación de los sensores: en el •Girar a toda velocidad para un lado y
capítulo de los sensores hemos co- para el otro y luego dejar las ruedas
mentado algo sobre esto. Según el ti- sin alimentación.
po de sensor, será necesario ubicarlo

171
8. EL CUERPO DEL ROBOT

más cerca o más lejos de los objetos las ruedas. Además, cualquier mo-
que tendrá que detectar. Por ejemplo, vimiento o vibración de los moto-
si usamos un CNY70 para seguir una res no contemplado, comenzará a
línea, prácticamente lo tendremos deteriorar el sistema de transmi-
que pegar al piso. Por otro lado, tam- sión. Tanto los motores como los
bién es necesario que la ubicación nos ejes donde se asiente la transmi-
permita aislarlo lo más posible de las sión deben estar robustamente an-
interferencias del ambiente. Por clados para evitar estos problemas.
ejemplo, los sensores de luz de cual- ● Ubicación del sistema de comu-
quier tipo tienen que estar lo más ais- nicación: si tenemos el placer de
lados posible de la luz ambiente para añadir un sistema de comunica-
poder tener uniformidad. ción inalámbrico, tenemos que
● Ubicación de los motores y de la ubicarlo en algún lugar donde no
transmisión: éste es otro proble- tengamos interferencias y donde
ma importante, en especial si podamos cambiar de canal con fa-
nuestro presupuesto no nos ha cilidad si es necesario (por ejem-
permitido comprar micromotores plo, en el caso de uso de radio).
o motorreductores. La ubicación ● Tamaño y peso: todo lo que hemos
de los motores nos complicará el descripto también está acotado por
mecanismo de transmisión hasta estos dos factores, que se presentan
como límites habituales en las com-
petencias de robots. Tal vez el más
sencillo de solucionar es el peso, ya
que si modificamos los materiales
de la estructura del robot, lo
podemos lograr. Pero con
respecto al tamaño, mu-
chas veces, si no hemos pre-
visto con antelación el pro-
blema, estamos obligados a
desarmar el robot en forma ca-
si completa.

Figura 4. No siempre nuestro robot es


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

172
Cuerpo a cuerpo

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

Figura 5. Marvin MarkII, un robot aéreo autónomo desarrollado por el Departamento


de Ciencias de Computación de la Universidad Técnica de Berlín.

173
8. EL CUERPO DEL ROBOT

fisticados para poder ubicarse en 3D. un medio más complejo e inestable.


Los robots aéreos más versátiles son los Podemos encontrar partículas suspen-
helicópteros, pero también se han de- didas que modifican todo tipo de señal.
sarrollado aviones y zeppelines, que También la comunicación se hace más
son más estables y fáciles de controlar. compleja, con lo cual el riesgo de per-
der el robot es más grande (¡no se rom-
Otro problema fundamental es tener pe pero se pierde en el mar!).
información constante en tierra so- Con respecto a las baterías, el proble-
bre la batería restante o algún meca- ma es similar al caso aéreo. Para su-
nismo automático de aterrizaje en mergirse utiliza sistemas de flotabili-
caso de que nos quedemos sin dad que, con la entrada o la salida de
energía. En los robots terrestres, si agua, permiten modificar la profun-
nos quedamos sin batería, dejarán de didad del robot. Con respecto al mo-
funcionar. En los aéreos, las conse- vimiento, con motores desplaza el
cuencias son imaginables, ¿no? agua que lo circunda.

Robots subacuáticos Robots terrestres


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

❘❘❘ COMPETENCIA INTERNACIONAL DE ROBOTS AÉREOS


La Asociación Internacional de Vehículos Autónomos (AUVSI) organiza competencias
de robots aéreos autónomos. En cada una de ellas se plantea una misión sobre un
ambiente determinado, como un rescate en el mar o el ingreso a una zona donde se
produjo un desastre nuclear para tomar imágenes. El objetivo es volar hasta una zo-
na distante a tres kilómetros del punto de partida e identificar una estructura en
particular. Podemos encontrar la información completa en el sitio http://avdil.gtri.
gatech.edu/AUVS/IARCLaunchPoint.html.

174
Cuerpo a cuerpo

Figura 6. Explorador subacuático realizado por alumnos de una escuela


media de Argentina. No es autónomo, pero resuelve
todas las dificultades mecánicas de un robot submarino.

❴❵ ROBOT SUBACUÁTICO HECHO POR ALUMNOS DE UNA ESCUELA


Ex.Su.Ac. (Explorador SubAcuático) es un robot desarrollado por alumnos de la Es-
cuela Técnica No. 3 de Buenos Aires. El robot se realizó con la utilización de pro-
ductos prefabricados de PVC y puede sumergirse hasta 15 metros de profundidad.
Tiene como objetivo colaborar en la búsqueda de problemas de residuos en tanques
y conductos de agua, en el rescate de cuerpos u objetos sumergidos, y en la gene-
ración de mapas del suelo subacuático. Podemos encontrar más información en
www.oni.escuelas. edu.ar/2005/GCBA/972/.

175
8. EL CUERPO DEL ROBOT

Orugas CUBE REVOLUTIONS


Los sistemas de oruga unen la rueda
trasera con la delantera (Figura 7). Tie- Este proyecto de la Universidad Autóno-
nen como ventaja una mayor adhe- ma de Madrid se basa en la construcción
rencia a la superficie y la capacidad de de un robot ápodo y modular. El robot
adaptarse a terrenos irregulares. En está compuesto por 8 módulos idénticos
general son de goma, pero también con la misma orientación, y puede adop-
podemos hallar orugas metálicas que tar diversas formas. Logra su locomo-
le permiten clavarse en superficies de- ción por medio de ondas periódicas, por
masiado pulidas. La desventaja que semiondas o al convertirse en una rue-
presentan es la imposibilidad de rea- da que rota sobre sí misma. El desarro-
lizar trayectorias curvas. La única for- llo del robot es completamente abierto y
ma de rotar es si se giran las orugas de libre, y fue diseñado con herramientas
cada lado en sentido opuesto, lo que de las mismas características. El control
logra un giro en el lugar, pero el avan- se realiza desde una PC mediante el
ce sólo puede ser en línea recta. puerto serial. Podemos encontrarlo en
www.iearobotics.com/personal/juan/
Patas doctorado/cube-revolutions/index.html.
Los robots con patas son el resultado
de un enfoque biológico de la arqui- En general, presentan 3 grados de li-
tectura, y van de la mano del sueño bertad en cada pierna: cadera, rodi-
de la criatura humana (Figura 8). Tam- lla y tobillo. En las dos ligas inter-
bién tienen como ventaja una mayor nacionales de fútbol de robots en-
adaptación a terrenos complejos, pe- contramos categorías de robots con
ro eso aún no se ha logrado. El siste- patas, pero aún no juegan verdade-
ma de equilibrio en estos robots es ros partidos, sino pruebas de destre-
complicado, y necesitan de una coor- za. Una forma de aumentar el equi-
dinación muy precisa de los mecanis- librio consiste en incrementar el nú-
mos de control de los motores. mero de patas. En este sentido, los

Figura 7. Robot
NR3 con sistema
de orugas
desarrollado por
Francisco
Carabaza Piñeiro.

176
Cuerpo a cuerpo

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


desarrollado por la Universidad de Freiburg.

❴❵ JUGADORES DE FÚTBOL CON PATAS


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

177
8. EL CUERPO DEL ROBOT

Figura 9. Robot hexápodo desarrollado por un aficionado


en Japón, con el uso de ¡dieciocho servos!

esquemas tradicionales son bípedos, ferentes tipos de robots ápodos al


cuadrúpedos y hexápodos (Figura 9). conectar varios de estos módulos.
Los ejemplos más conocidos son
Asimo de Honda y Qrio de Sony en El movimiento en línea recta se lo-
el caso de los bípedos, y Aibo de gra con un efecto de onda a partir de
Sony en el caso de cuadrúpedos. la cola. Comienza con una contrac-
ción inicial que se propaga en cada
Ápodos módulo. En esta arquitectura, lo
Los ápodos son robots que no em- complejo es la coordinación de los
plean ruedas, orugas o patas (Figura módulos. Además, necesitamos sen-
10). El modelo a seguir es el de los sores en los módulos para poder
gusanos o serpientes. Están com- adaptarlos a distintos terrenos. Otro
puestos por partes pequeñas, articu- problema complejo es agregarles
ladas en forma completamente mo- grados de libertad a los módulos pa-
dular. Pueden moverse sobre super- ra obtener movimientos en superfi-
ficies muy diversas y tomar configu- cies y no sólo en línea recta. En ge-
raciones distintas para entrar en lu- neral, se usa al intercalar módulos en
gares complicados. La idea es di- diferentes fases (uno hacia arriba y
señar un módulo básico y crear di- otro hacia el costado).

178
Cuerpo a cuerpo

Figura 10. Robot ápodo desarrollado por la Escuela Politécnica


Superior de la Universidad Autónoma de Madrid.

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


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

igual que la repartición de la carga del


Éstos son algunos sitios interesantes don-
robot. Sin embargo, no se adaptan a
de se explica cómo reciclar componentes
cualquier tipo de terreno. Si los desni-
de aparatos en desuso. Muchos de ellos
veles superan el radio de las ruedas, se
serán útiles para nuestros robots:
hace muy difícil superarlos. Ahora ve-
amos cada tipo de arquitectura.
•Reciclaje y proyectos electrónicos:
http://heli.xbot.es/wp/.
Configuración diferencial
•Proyecto EconoBot (un robot de costo
Ésta es la configuración de ruedas más
cero): http://mundobot.com/blog/.
sencilla, y es la que utilizaremos en
•Disquetera convertida en robot:
nuestro robot (Figura 11). Es econó-
www.sorgonet.com/trashing
mica y la transmisión no es tan com-

179
8. EL CUERPO DEL ROBOT

Figura 11. Robot diferencial


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

Cuando el motor que alimenta la rue- el recorrido. Ésta es una navegación


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

180
Cuerpo a cuerpo

Figura 12. Robot


Chebot, jugador de fútbol
con tracción diferencial
desarrollado en la Universidad
de Buenos Aires, Argentina.

forma, puede avanzar en línea recta problema del frente del chasis, pero la
hacia cualquier punto, pero no puede navegación es más lenta.
trazar curvas. Al funcionar de esta
manera, el frente del robot siempre
estaría para el mismo lado. Es posible
que esto no sea un problema, pero si
necesitamos apuntar su frente en dis-
tintas direcciones, tenemos que agre-
gar un mecanismo que permita rotar
el chasis en la dirección de las ruedas.
Otra arquitectura de la configuración
síncrona sólo permite dos posiciones
de las tres ruedas. En una de ellas, el Figura 13. Un robot de configuración
robot avanza en línea recta, y en la síncrona hecho con Lego. Se puede
otra posición, 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 rotación del soporte de ésta.

181
8. EL CUERPO DEL ROBOT

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

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

Figura 14. Esquema


de un robot con
arquitectura de triciclo.

182
Cuerpo a cuerpo

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

Por lo tanto, con tres ruedas ubica-


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

Figura 16. Rueda omnidireccional.


Los rodillos permiten que la rueda
se desplace en forma lateral
con mínimo rozamiento.

EAGLE KNIGHTS

En el Instituto Tecnológico Autónomo de México, el laboratorio de robótica ha desarro-


llado un equipo de fútbol de robots para competir en la categoría F-180 de la RoboCup.
El equipo está conformado por cinco robots omnidireccionales que están controlados por
un sistema central de inteligencia artificial. Este sistema central realiza el procesamiento
de imágenes de las cámaras ubicadas sobre el terreno de juego, define las estrategias y
los comportamientos de los robots, y les envía las instrucciones por radio. Podemos en-
contrar el proyecto completo en http://robotica.itam.mx/espanol/.

183
8. EL CUERPO DEL ROBOT

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


velocidad de cada rueda para dirigir- Una vez que lo tengamos armado y
se con un ángulo determinado es sen- podamos comenzar a probarlo, estu-
cillo y consume mínimo tiempo de diaremos algunos conceptos físicos y
procesamiento. Las desventajas son matemáticos para lograr una navega-
que no es sencillo moverse en línea ción eficiente.
recta en forma precisa, y que es algo
compleja la arquitectura del robot Especificaciones
El diseño que propondremos en este
con respecto a la ubicación de los mo-
libro tiene como objetivo cumplir con
tores y las ruedas. ¡Pero es un buen de-
safío para afrontar más adelante! Es las especificaciones del Campeonato
muy interesante ver cómo se mueven Argentino de Fútbol de Robots, de
los robots con estas ruedas. manera tal que podamos utilizarlo pa-
ra participar en la competencia. Está
Estructura de nuestro robot diseñado para la categoría Junior, aun-
Antes de continuar con otros con- que el tamaño también cumple con las
ceptos teóricos relacionados con los especificaciones de la categoría Senior.
movimientos, desarrollaremos el cha- Los chasis presentados (Figura 18) son

Figura 17. Arquitectura


de un robot con tres ruedas omnidireccionales.

184
Cuerpo a cuerpo

a modo de sugerencia, y dependen del ❘❘❘ CAETI


uso que se le quiera dar al robot. Para
poder calificar en cualquiera de las ca- El CAETI (Centro de Altos Estudios en Tec-
tegorías del CAFR, el robot tiene que nología Informática) es el centro de inves-
entrar en un cilindro de 18 cm de diá- tigación de la UAI (Universidad Abierta In-
metro por 15 cm de alto. teramericana), donde los autores de este
libro desarrollamos y probamos todo lo
No hay restricciones en cuanto a la que contamos en estas páginas. La rama
cantidad de ruedas, motores y ba- de investigación en la que participamos es
terías, siempre y cuando el robot se la de robótica autónoma, y hemos forma-
adecue a las limitaciones del regla- do el GIRA, Grupo de Investigación en
mento. Las principales limitaciones Robótica Autónoma. Uno de los campos
son que quepa dentro del cilindro de trabajo es el fútbol de robots y cada año
mencionado y que no lastime o per- organizamos, junto con otras universida-
judique intencionalmente a un robot des e instituciones educativas, el Campe-
contrario (¡Fairplay!). Para mayor de- onato Argentino de Fútbol de Robots.
talle del reglamento, podemos visitar Nuestro centro está abierto para todos los
la página del CAFR (www.cafr. estudiantes e investigadores que quieran
com.ar), donde están las reglas origi- trabajar dentro de este campo. Para más
nales de la RoboCup y la adaptación información se puede consultar la página
para nuestro campeonato local. web: http://caeti.uai.edu.ar/.

Tracción diferencial
A la hora de elegir el tipo de transmi-
sión, la más fácil de implementar y con
grandes ventajas es la tracción diferen-
cial. Para lograrla, ubicaremos dos mo-
tores en el centro del robot conectados
en forma directa a sus ruedas. De esta
manera, podremos controlar la direc-
ción del robot mediante el giro de los
dos motores, de la siguiente manera:

Figura 18. Ejemplo de chasis propuesto.


El parche en la parte superior permite
reconocer al robot en un sistema de visión.

185
8. EL CUERPO DEL ROBOT

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

186
Cuerpo a cuerpo

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

Figura 20. Soportes principales Figura 21. Soporte de las baterías


de la estructura de nuestro robot. y rueda de estabilización.

187
8. EL CUERPO DEL ROBOT

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

■ Realizar el montaje PASO A PASO

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

Monte la plataforma central con el primer soporte.

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


les rigidez a los soportes laterales.


188
Cuerpo a cuerpo

Monte el soporte para las baterías. En este caso, los portapilas de pilas AA.

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


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

189
8. EL CUERPO DEL ROBOT

Podemos ver que el armado de la es- Mecanismos de transmisión


tructura es sencillo, y cada uno lo y reducción
puede hacer a su medida. Si quere- Muchas veces, los motores no se en-
mos variar de configuración, es reco- cuentran directamente vinculados
mendable utilizar piezas como las de con las ruedas o el mecanismo que se
Lego, Rasti o Mecano, junto con al- quiere mover. También tenemos ca-
gunos soportes de aglomerado para sos en los que queremos alimentar,
los motores. Lo ideal es armar una con un mismo motor, a un conjun-
pieza para cada motor que luego sea to de ruedas, como en la configura-
fácilmente vinculable con los ladri- ción síncrona. Entonces, tenemos
llos o las piezas del juego. Las plata- que desarrollar algún mecanismo de
formas para las baterías o el contro- transmisión del movimiento del mo-
lador son mucho más sencillas de re- tor. Además, muchas veces el motor
alizar con las piezas. no tiene el torque (fuerza de rota-
ción) o la velocidad que deseamos.
Para ello, utilizamos mecanismos de
reducción. Ambos están muy rela-
cionados. Presentaremos cada meca-
nismo y comentaremos cómo fun-
ciona la transmisión y la reducción
en cada caso.

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

❴❵ IMPRESORAS 3D
Cuando trabajamos con software, estamos acostumbrados a diseñar nuestros progra-
mas con libertad, y podemos cambiar cualquier bit sin problemas. Pero en cuestión de
hardware, de lo que tenemos en mente hasta obtener el objeto físico hay un largo tre-
cho. Sin embargo, ya se han inventado las impresoras 3D, que nos permiten crear, en
diversos materiales, las piezas que necesitemos para nuestro robot. Por lo tanto, casi
no quedan barreras para poder llevar cumplir nuestros sueños. ¡Sólo tenemos que de-
jar volar nuestra imaginación, contar con estas maravillas y ponernos a trabajar! Po-
demos ver un modelo de estas impresoras en www.zcorp.com.

190
Cuerpo a cuerpo

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


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

Figura 23.
Un ejemplo típico
de reducción

191
8. EL CUERPO DEL ROBOT

La primera ecuación sería: nuestras necesidades. Los engranajes


solidarios son los tradicionales, que
RR = RM * DEE / DES. comparten un plano pero que tienen
ejes distintos, como vemos en la Figura
Si seguimos nuestro ejemplo de un 23. Los engranajes cónicos permiten
engranaje de 8 dientes en la entrada y cambiar la dirección de la rotación y
32 dientes en la salida, ¿cuántas RPM modificar así el plano de ésta. Podemos
(revoluciones por minuto) tendrá la ver un ejemplo en la Figura 24.
rueda si el motor es de 20 RPM?
Los sinfín o gusanos permiten realizar
RR = 20 * 8 / 32 = 5 RPM una caja de reducción que aumenta
poderosamente la fuerza y disminuye
En el caso del torque la ecuación es: notoriamente la velocidad. Podemos
ver un ejemplo de caja de reducción
TR = TM / DEE * DES en la Figura 25.

En nuestro ejemplo, si nuestro motor Los engranajes de piñón y cremallera


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

Figura 24. En esta imagen


podemos observar un ejemplo
de engranajes cónicos que fueron
desarrollados por la empresa
Arrow Gear.

192
Cuerpo a cuerpo

Figura 25. Aquí podemos ver Figura 26. Engranajes de piñón


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

Cuando usamos engranajes solida- de considerarse en el cálculo de la ve-


rios, el sentido de rotación del de sa- locidad y la fuerza. Es decir, cuando
lida es inverso al de entrada. tenemos ruedas más grandes, obtene-
Si queremos mantener el mismo mos mayor velocidad, pero disminui-
sentido, tenemos que incorporar en mos la fuerza, y viceversa.
el medio engranajes libres, de mane-
ra tal que los que tienen la misma Transmisión por poleas
paridad (es decir, los pares por un la- Si necesitamos realizar la transmi-
do y los impares por otro) manten- sión a una distancia mayor, utiliza-
gan el mismo sentido de rotación, mos poleas unidas por correas o elás-
como podemos ver en la Figura 27. ticos, como podemos ver en la Figu-
El tamaño de la rueda también pue- ra 28 de la próxima página.

Figura 27. Sentido de rotación de cada engranaje


en un conjunto de engranajes solidarios.

193
8. EL CUERPO DEL ROBOT

Figura 28. Transmisión por poleas. Cuanto más gruesa es la correa


de transmisión, nos aseguramos menor probabilidad de deslizamiento.

En este caso, la polea de entrada tie- Cinemática de un robot


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

194
Cuerpo a cuerpo

Figura 29. En esta imagen podemos observar cómo funciona


la inversión del sentido de rotación de la polea de salida.

sabemos la posición inicial del robot ción, debemos aclarar que en los ro-
y los movimientos que realiza, de- bots móviles, tenemos tres grados de
terminar la posición final. A esto se libertad: posición en el plano (X e Y)
lo llama cinemática directa. y rotación (ver Figura 30).
Cuando queremos saber qué movi-
mientos hacer para llevar al robot de En el caso de los robots diferencia-
una posición inicial a una posición les, los de configuración síncrona y
final, estudiamos la cinemática in- los de ruedas omnidireccionales, las
versa. Éste es el campo que a noso- restricciones cinemáticas son ho-
tros más nos interesa, porque con el lonómicas, lo que significa que los
robot queremos llegar a un punto diferentes grados de libertad son in-
determinado del espacio y realizar la dependientes. En este caso, posición
mejor trayectoria posible desde es independiente de rotación.
nuestro punto inicial.
En el caso de la arquitectura triciclo
Cada una de las arquitecturas que y Ackerman, decimos que la restric-
presentamos tiene una cinemática ción no es holonómica. Necesaria-
distinta, que establece ciertas res- mente, para girar afectamos la posi-
tricciones en el movimiento. ción (X,Y) del robot. En cada uno
Antes de analizar las restricciones y de ellos el estudio de la cinemática
estudiar los mecanismos de navega- presenta características distintas.

195
8. EL CUERPO DEL ROBOT

(X,Y)

Figura 30. Grados de libertad que tenemos en un robot terrestre móvil.

Odometría esto es sencillo de realizar con sen-


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

196
Cuerpo a cuerpo

las ruedas, etcétera. Y no sistemáti-


cos, cuando están vinculados a he-
chos casuales como los comentados:
una rueda que patina, fuerzas exter-
nas que retienen o levantan al robot,
suelos desnivelados, etcétera.

A pesar de todo, por su bajo costo y


su facilidad de cálculo, es uno de los
métodos más utilizados. Lo que reco-
mendamos es sumar alguna toma de
información más que permita reducir Figura 31. Rueda con encoder para
los errores de este proceso. desarrollar algoritmos de odometría.

… RESUMEN
La arquitectura de nuestro robot definirá un conjunto de variables relacionadas
con su navegación. La decisión del tipo de mecanismo utilizado para el movi-
miento deberá estar basada en la superficie en la que se desplazará. Desde ya,
los aéreos y los acuáticos son los más complejos de resolver, pero el movimien-
to en tierra también presenta un conjunto de desafíos. 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
más sencillo de implementar y el de menor costo. Esto nos obligará a detener-
nos a estudiar la cinemática inversa de nuestro robot, para obtener la navegación
más precisa posible. Pero cuando hayamos superado las primeras pruebas, po-
dremos intentar con otros sistemas de ruedas como las síncronas o las omnidi-
reccionales. En todos los casos, tendremos que resolver el problema de la trans-
misión del giro de los motores hacia las ruedas, con engranajes o poleas. Y si es
posible, agregarles encoders a las ruedas para que nos permitan obtener infor-
mación sobre los movimientos de nuestro robot.

197
✔ ACTIVIDADES

TEST DE AUTOEVALUACIÓN EJERCICIOS

1 ¿Cuáles son las características que hay 1 Construya el cuerpo del robot y prográ-
que tener en cuenta para el diseño del melo para que funcione en línea recta.
cuerpo del robot? ¿Qué diferencias tuvo que determinar
en los pulsos de cada motor para igua-
2 ¿Cuáles son los problemas más impor- lar la velocidad?
tantes en el diseño de los robots aéreos?
2 Realice un programa para que el robot
3 ¿Cuáles son los problemas más impor- gire sobre sí mismo.
tantes en el diseño de los subacuáticos?
3 Incorpore un sensor de tacto en la par-
4 ¿Cuáles son los mecanismos de despla- te delantera (puede usar un micro-
zamiento de los robots terrestres? switch con una palanca grande), pro-
grame el robot para que cada vez que
5 ¿Cómo se componen los robots ápodos detecte un objeto retroceda, gire y se
y cómo generan el movimiento? dirija a otro lado.

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


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

9 ¿Cómo funcionan las ruedas omnidi- 5 Describa el comportamiento de los


reccionales? engranajes para la transmisión y la
reducción.
10 ¿Cuál fue el sistema de desplazamien-
to que elegimos para nuestro robot y 6 Compare las ventajas y desventajas en-
por qué? tre el uso de engranajes y poleas.

198
Robótica Capítulo 9
Salir al ruedo
Ya tenemos nuestro robot armado. Ahora

nos toca probar cómo se comporta en las

pruebas de robótica autónoma móvil.

Para ello presentaremos un conjunto de

desafíos, veremos los problemas que

tendremos que resolver y propondremos

un código para programar nuestro robot.

¡Pero el ambiente no será siempre igual!

Por lo tanto, hay que experimentar una y

otra vez hasta encontrarles la solución a

los problemas. Y luego, modificar nuestro

robot para mejorar los resultados. Presentarse a competir 200


Características comunes de las
pruebas de robots autónomos 200
Pruebas tradicionales
para robots autónomos 210
¡La luz, la luz, he visto la luz! 213
Resumen 219
SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com Actividades 220
9. SALIR AL RUEDO

PRESENTARSE En este capítulo presentaremos las


A COMPETIR pruebas clásicas para robots autóno-
mos móviles y nos detendremos a
Ahí está, ¿no es bonito? Toda una ma- analizarlas para ver dónde se encuen-
ravilla, independiente, solícito y muy tran las dificultades. También vere-
inteligente. Nuestro robot está listo mos algunos aspectos de navegación
para comenzar a representarnos en el para que el movimiento de nuestro
mundo. Ahora tiene que salir al rue- robot sea lo más fluido posible y nos
do, porque allí es donde se ven los adentraremos un poco en el fútbol de
buenos caballos. Pero eso es pan co- robots, que es el tema de nuestro pró-
mido. Le colocamos dos sensores de ximo capítulo. Si hemos tenido la pa-
luz, lo ponemos sobre una línea negra ciencia de llegar hasta este capítulo, lo
para que la siga y… ¡Se va a cualquier que nos espera ¡es apasionante!
lado! Lo ubicamos sobre una mesa y
al llegar al final no detecta el borde y Características comunes
cae con sus trágicas consecuencias. Le de las pruebas de robots
ponemos una linterna adelante para autónomos
que la siga y nada, da vueltas deses- Cada prueba de robótica presenta
perado sin hallar la luz que lo guíe. cuestiones particulares que debemos
Evidentemente, hemos subestimado resolver, pero en general hay un con-
la dificultad de las pruebas y nos fal- junto de principios básicos comunes.
ta entrenamiento, horas y horas de Antes de encarar cada una de ellas,
entrenamiento para hacer de nuestro presentaremos cuáles son los puntos
robot un buen contrincante. que tenemos que tener presentes tan-

Figura 1. Robot seguidor de líneas.

200
Presentarse a competir

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


re de nuestro robot. velocidad es lenta. Por lo tanto, si al
llegar a probar nuestro robot en el es-
Problemas mecánicos cenario real nos encontramos con
Es posible que éstos sean los proble- una rampa de menor inclinación, es
mas más habituales y más difíciles de posible que un sistema diferencial
superar. Es fundamental e imprescin- nos permita subirla sin las otras difi-
dible crear un espacio de pruebas lo cultades. En resumen, debemos te-
más parecido posible al lugar donde ner la capacidad de cambiar entre
se ejecutará la competencia. Lamen- dos o tres sistemas de tracción en el
tablemente, es habitual que no tenga- momento de la competencia.
mos la descripción completa del te-
rreno, sino una aproximación con co- Otra dificultad es el tipo se superficie
tas de mínima y máxima en diferen- donde nos movemos y la presencia de
tes aspectos. Dada esta información, escombros u objetos que estorben
para poder completar la misión en el nuestro recorrido. Para ello, contar con
ambiente más exigente, testeamos to- diferentes sistemas de tracción también
do con las cotas más duras. Esto trae puede ser una solución. Si los objetos
aparejado que nuestro robot sea más son fijos, deberemos añadir sistemas de
lento o impreciso en otros aspectos. sensado para poder esquivarlos.
Por ejemplo, si tenemos que subir una
rampa de un ángulo de inclinación Otro aspecto complicado es la distri-
importante, las orugas brindan buena bución de los pesos en el robot. Esto
tracción. El problema es que su capa- influye en el comportamiento de los

Figura 2. Seguimiento de línea con obstáculos.

201
9. SALIR AL RUEDO

giros, en cómo se ubican los sensores desempeño. Como no teníamos peso


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

Figura 3. Sensor casero que utilizamos en el Primer Campeonato


Argentino de Robótica IEEE. ¡Qué pesado que era!

202
Presentarse a competir

fluir en la ubicación de los sensores ❘❘❘ ROBOLIGA


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

203
9. SALIR AL RUEDO

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


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

❘❘❘ CONSEJO LATINOAMERICANO DE ROBÓTICA IEEE – RAS


El Consejo Latinoamericano de Robótica (LARC) tiene como objetivo organizar, con
la colaboración de organismos locales, competencias y simposios de robótica lati-
noamericanos a nivel regional y nacional de manera anual. El consejo promueve la
programación de estos eventos, define las bases para las competencias, e interactúa
con los voluntarios locales que luego desarrollan estas actividades por sí mismos.
Este consejo trabaja principalmente en Internet, y está apoyado por la sociedad de
robótica y automatización RAS que pertenece a la IEEE mediante los capítulos pro-
fesionales y estudiantiles de la región. Para más datos podemos visitar www.ewh.
ieee.org/reg/9/ robotica/indexsp.htm.

204
Presentarse a competir

te tipo de salida, si así lo deseamos.


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

Problemas de programación
Uno de los problemas más comunes
cuando sensamos el mundo que nos
rodea con nuestro robot, es la nece-
sidad de estar atentos a dos o más
sensores al mismo tiempo. Por ejem-
plo, si realizamos un seguidor de lí-
nea con un par de sensores y además
tenemos un sensor de tacto en caso
de que encontremos un objeto de-
lante de nosotros, las estructuras de Figura 4. Buzzer piezoeléctrico para
decisiones se vuelven complejas o analizar valores de sensores analógicos.

Figura 5. Capacímetro digital basado en un 16F84


con display de LCD, desarrollado por Sonytel Argentina.

205
9. SALIR AL RUEDO

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


binación de todos los estados posi- presenta el sensor, y luego volvamos
bles de las entradas. Es por eso que a a nuestra rutina habitual. En el caso
continuación presentaremos un me- del seguidor de línea con obstáculos,
canismo muy utilizado en los proce- el programa principal ejecuta el se-
sadores: las interrupciones. guimiento y al bit de interrupción le
asociamos nuestro sensor de tacto.
La idea de una interrupción es po- Por lo tanto, si encuentra un obstá-
der vincular algún proceso interno culo, se detiene el seguimiento de la
del micro, como el estado de un pin línea, se esquiva el objeto, y al vol-
de entrada o el valor de un timer, ver sobre la línea se continúa con el
con un procedimiento de nuestro programa principal.
programa. Es decir, ante un cambio Las interrupciones pueden produ-
en el estado del pin o ante el des- cirse por alguna acción externa, co-
bordamiento de un timer, se ejecuta mo la activación de un sensor, o por
el procedimiento indicado. Por una interna, como el caso de un ti-
ejemplo, de esta manera podemos mer o desbordamiento de un regis-
asociar nuestro sensor principal a un tro. En el 16F84/8 tenemos cuatro
bit con interrupción, de forma tal fuentes de interrupciones:
que cuando se active, se invoque en
forma automática al procedimiento ● RB0/INT (externa).
● Pines RB4 a RB7, al cambiar de
estado si están configurados como
❘❘❘ ROBOGAMES entrada (externa).
Es la competencia de robótica más gran- ● Desbordamiento del registro TMR0,
de del mundo. En su edición de 2007 se cuando pasa de 255 a 0 (interna).
presentaron setenta categorías distin- ● Al completar la escritura de la EE-
tas, desde el simple seguidor de líneas PROM (interna).
hasta combates cuerpo a cuerpo entre
robots. Algunas de ellas son con robots En nuestro caso, las tres primeras
controlados por humanos y en otros ca- son las que podremos aprovechar en
sos, el desafío es autónomo. Ese año es- nuestro robot. Cuando se producen,
tuvieron representados veintiocho paí- se modifica el estado de un flag de
ses de todos los continentes, y para el interrupciones, lo que nos permite
año que viene se esperan alrededor de saber cuál se ha producido. Este flag
veinte países más. es el registro INTCON, donde el bit
que cambia es el siguiente:

206
Presentarse a competir

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

207
9. SALIR AL RUEDO

Figura 6. Subir una rampa mientras se sigue una línea,


cambia el comportamiento del robot.

program interrupcionRB tarse cuando se desactiva RB7


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

208
Presentarse a competir

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

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

209
9. SALIR AL RUEDO

antRB = 0 ‘ Valor inicial presiones en láser empalmadas con


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

Pruebas tradicionales para


robots autónomos
A continuación presentaremos un
conjunto de pruebas clásicas para los
robots autónomos móviles, junto
con algunos consejos desde el punto
de vista mecánico, electrónico y de la
programación. Para construir las pis-
tas de prueba, aconsejamos utilizar
lona vinílica blanca y realizar los cir-
cuitos con pintura negra especial pa-
ra esta superficie. Puede ser costoso
pero es más sencillo de transportar
que la madera u otros materiales. En Figura 7. Robot seguidor de una línea
el peor de los casos, unas buenas im- muy delgada. ¡Eso es complicado!

210
Presentarse a competir

económica y confiable para este de- cidad de recorrido con un único sen-
safío es la de las ruedas laterales con sor, si la línea negra a seguir es del-
movimiento diferencial. gada, podemos realizar el siguiente
algoritmo:
Si se cuenta con un único sensor, la
solución más sencilla es la que co- 1) Ponemos el robot con el sensor a
nocemos como ciego con bastón, la derecha de la línea negra.
dado que aplica la misma mecánica 2) Encendemos el MD y apagamos
que los no videntes cuando tantean el MI.
paredes o el piso con su bastón 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 línea, con el sensor que apunte a sensor.
blanco, encendemos el motor dere- 5) Encendemos el MI y apagamos el
cho (MD), y dejamos apagado el iz- MD.
quierdo (MI). Cuando el sensor de- 6) Esperamos a ver negro con el sensor.
tecta negro, invertimos el encendido 7) Esperamos a ver blanco con el
de los motores, dejamos apagado el sensor.
MD y encendido el MI. 8) Saltamos al paso 2.
Allí esperamos hasta encontrar blan-
co y así sucesivamente. Es un meca- De esta manera, mejoramos la veloci-
nismo sencillo, efectivo, pero muy dad de recorrido, pero es más sensible
lento (Figura 8). Para mejorar la velo- a las curvas cerradas (Figura 9).

Figura 8.
Método de
seguimiento de
líneas versión 1.

Figura 9.
Método de
seguimiento de
líneas versión 2.

211
9. SALIR AL RUEDO

Si podemos contar con dos sensores, ❘❘❘ ROBOCUP JUNIOR


las mejoras pueden ser considerables.
En este caso, ubicamos un sensor del La RoboCup Junior es una división de la
lado izquierdo de la línea y otro del la- RoboCup dedicada a estimular el estudio
do derecho, ambos sobre blanco. En el de la robótica en los jóvenes de hasta 19
programa principal, sólo tenemos un años, y organiza las competencias para
ciclo infinito con los dos motores estas edades dentro de la RoboCup. Los
prendidos. Además, conectamos los desafíos presentados son tres: fútbol,
sensores a alguno de los pines de RB4 rescate y danza. Está enfocado en la
a RB7, para atenderlos mediante una educación y no en la competencia. Los
interrupción. Cuando uno de los dos robots que participan deben ser autóno-
vea negro, ésta se lanzará. Analizamos mos y deben cumplir con límites de pe-
cuál de los dos cambió de estado, y de- so, tamaño, etcétera. Su sitio oficial es
finimos los estados de los motores de www.robocupjunior.org.
manera tal que el robot gire para el la-
do correspondiente hasta que el sensor
vuelva a ver blanco. Allí retornamos de Si la línea posee espacios en blanco
la interrupción y se vuelven a encender (gaps), nos conviene utilizar un me-
ambos sensores. Este mecanismo es canismo de un solo sensor. Además,
muy efectivo, y podemos mejorarlo debemos activar el timer 0 y esta-
con más sensores, y usar algunos sobre blecer que si durante determinado
negro y otros sobre blanco. período no se ve negro con alguno
de los dos sensores, el robot debe
avanzar en línea recta hasta encon-
trar negro nuevamente (Figura 11).

Otra prueba típica es el seguimiento


de una línea con obstáculos. En este
caso, podemos sumar un sensor de to-
que en el frente del robot, también
conectado a una de las entradas que
activan interrupciones. De esta ma-
nera, ante la detección del objeto, de-
tenemos el seguimiento de la línea, es-
Figura 10. Sensores quivamos el obstáculo y, al volver so-
en un robot seguidor de línea bre la línea negra, retomamos la ruti-
creado por David Cook. na. Una precaución a tomar es que

212
Presentarse a competir

Figura 11. Seguimiento de línea con detección


de víctimas y saltos en las marcas (Roboliga).

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

213
9. SALIR AL RUEDO

uno y otro sensor es grande, giramos un robot insecto que busque el lugar
hacia el lado donde se recibe el mayor con mejor luz de la sala, otro que no
valor. Si no hay una diferencia impor- se caiga de una mesa, etcétera. ¡Todo
tante y no están ambos iluminados, queda librado a nuestra imaginación!
consideramos que la luz está detrás y Como hemos visto, a medida que
giramos en cualquiera de los dos sen- nuestras pruebas se vuelven más
tidos. Podríamos seguir con muchas complejas, es necesario un micro
pruebas de este tipo, como realizar más poderoso, como el 16F88.

Figura 12. Competencia de rescate de la


Roboliga, Olimpíada Argentina de Robótica.

✱ BEAM ROBOTICS (ROBOTS BEAM)


BEAM es el acrónimo de Biology, Electronics, Aesthetics and Mechanics (Biología,
Electrónica, Estética y Mecánica). Es un término que se refiere a la construcción de
robots que usan circuitos análogos en vez de digitales, que tienen un diseño simple
y que imitan a los organismos de la naturaleza. Los circuitos analógicos imitan a los
bloques biológicos como las neuronas. Las tres reglas principales son: usar el me-
nor número de elementos electrónicos (y sencillos); reciclar y reutilizar componen-
tes; y usar sistemas de energía radiante, como la energía solar. Dentro de los di-
versos diseños realizados, es un clásico el Phototrope (fotótropo), un pequeño ro-
bot que busca la luz dentro de un ambiente o escapa de ésta.

214
Presentarse a competir

Luchador de sumo
Una de las competencias que más
apasionan a los participantes, y que
no exige demasiada capacidad de
procesamiento por parte del robot, es
la lucha de sumo. Hay diferentes re-
glamentos en el mundo del sumo
robótico. Es interesante conocer el
reglamento del Campeonato Uru-
guay o de Sumo de Robots, organi- Figura 13. Competencia de Sumo
zado por el Instituto de Computa- de la Universidad Tecnológica Nacional
ción de la Facultad de Ingeniería de de Bahía Blanca, Argentina.
la Universidad de la República de
Uruguay. Éste se basa en el Torneo de ne las mismas características que el
sumo de robots FSI-ALL de Japón. utilizado en el simulador.
Este campeonato es muy interesante,
y en el sitio (www.fing.edu.uy/inco/ La arena de competencia se llama
eventos/sumo.uy/index.html) po- Dohyo. Es un cilindro de 5 cm de
demos bajar un simulador y templa- altura y 154 cm de diámetro de un
tes en diferentes lenguajes para po- color distinto al blanco y al marrón
der jugar en nuestra computadora. (en general, negro). Las líneas de
Luego, si deseamos participar de la inicio, donde se ubican los robots en
competencia, podemos llevar nues- el comienzo de la lucha, se indican
tro propio robot, o utilizar uno pro- por líneas marrones de 2 cm por 20
visto por los organizadores, que tie- cm, a 20 cm del centro del Doyho.

❘❘❘ CAMPEONATO DE SUMO ROBÓTICO DE URUGUAY


Desde el año 2004, el Instituto de Computación de la Facultad de Ingeniería de la Uni-
versidad de la República de Uruguay organiza el campeonato de sumo robótico. El ob-
jetivo de esta competencia es crear un espacio para investigar diversos aspectos de la
robótica móvil autónoma. Las características particulares que presenta esta prueba
son: un ambiente muy dinámico, 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 organización. Antes de la competencia,
podemos programar el comportamiento de nuestro representante mediante un simu-
lador y luego, en el momento de luchar, volcamos esa estrategia a un robot real.

215
9. SALIR AL RUEDO

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


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

Figura 14. Competencia tradicional de sumo en la Roboliga.

216
Presentarse a competir

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

❘❘❘ COMPETENCIA DE SUMO DE ROBOTS EN ARGENTINA


El grupo de robótica del Departamento de Ingeniería Eléctrica de la Universidad Tecnoló-
gica Nacional de Bahía Blanca, Argentina, todos los años organiza un campeonato de su-
mo de robots. Se presentan tres categorías, entre las que se destaca la categoría 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. Además, no pueden superar los 3 kg de peso. El procesamiento se debe realizar
por un microcontrolador de 4 Kb máximo y no se permite el uso de microprocesadores.
Para mayor información podemos visitar www.frbb.utn.edu.ar/robotica/.

217
9. SALIR AL RUEDO

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


más fuerza según la estrategia que ha- te listado, dejamos el fútbol de ro-
yamos desarrollado. bots para el capítulo siguiente.
Un tema fundamental en la presta- Tiralatas: en una arena rectangular o
ción mecánica de nuestro luchador circular. Se ubica un conjunto de la-
es la potencia de los motores. Según tas con cierto peso que el robot debe
los límites que presente la categoría, sacar en el menor tiempo posible.
nos va a convenir utilizar los moto- Laberinto: el robot debe encontrar la
res más potentes posibles, junto con salida del laberinto en el menor tiem-
un buen sistema de reducción. Para po posible. En general, la salida está
ello tendremos que contar con ba- indicada con una luz, de manera tal
terías poderosas, y por lo tanto, pe- que el robot pueda intentar realizar el
sadas. Lógicamente, todo dependerá camino más corto hacia ésta.
de cuáles sean los pesos y los ta- Carrera de postas: un conjunto de
maños que nos impongan las reglas robots debe comunicarse entre sí pa-
del juego. Pero no dudemos en in- ra completar un recorrido definido
vertir en ello si queremos triunfar. por una línea negra.
Rescate: este tema incluye infinidad
Otras pruebas clásicas de pruebas (Figura 15).
A continuación describiremos otras
pruebas clásicas de robots móviles Esencialmente, se basa en dos de-
autónomos, que podremos profun- safíos: detectar o rescatar un con-

Figura 15.
Competencia
de rescate del
Campeonato
Latinoamericano
de Robótica IEEE.

218
Presentarse a competir

junto de víctimas en una zona de de- minada para llevarlos a una zona li-
sastre, o rescatar víveres y medicinas berada. Además, estas pruebas pue-
que han caído en una zona conta- den ser solitarias o colaborativas.

Figura 16. Pista


de la competencia
de rescate de la
RoboCup Junior.

… RESUMEN
Ha llegado la hora de sacar nuestro robot al ruedo. Todas las pruebas son dife-
rentes, pero hay un conjunto de características o de problemas habituales. Estos
problemas pueden ser de índole mecánica, como el tipo de arquitectura elegido
para nuestro robot o su punto de equilibrio. También tendremos problemas con
los sensores, dado que el ambiente en el que se desarrollan los desafíos habi-
tualmente difiere del que utilizamos para preparar a nuestros robots. Es por eso
que tenemos que utilizar mecanismos robustos que puedan trabajar sobre valo-
res relativos del ambiente y no con valores absolutos. Por otra parte, la ubica-
ción de los sensores debe aislar al máximo las perturbaciones del entorno. Con
respecto a la programación, presentamos el uso de interrupciones, que nos per-
mitirán estar atentos a más de un sensor en nuestro programa. De las pruebas
clásicas, el seguimiento de la línea, la búsqueda o el seguimiento de luz, y el su-
mo de robots, son las que nos permitirán poner en juego toda la capacidad y las
características de nuestro robot.

219
✔ ACTIVIDADES

TEST DE AUTOEVALUACIÓN EJERCICIOS

1 ¿Cuáles son los problemas mecánicos 1 Modifique el robot y prográmelo para


que puede presentar un robot en una que siga una línea negra con el método
competencia? del ciego con bastón. Probar con dife-
rentes grados en las curvas.
2 ¿Qué mecanismos tenemos para lo-
grar que nuestro robot sea menos 2 Realice un robot con dos sensores pa-
sensible a los cambios del ambiente ra realizar el seguimiento de la línea
en el que compite? lo más rápido posible. Compare los
tiempos con los logrados en el ejerci-
3 ¿De qué manera podemos visualizar el cio anterior.
comportamiento de los sensores?
¿Cuál se usaría en un sensor digital y 3 Ponga un obstáculo sobre la pista del
cuál en uno analógico? punto anterior y realice un robot que
pueda esquivarlo. El obstáculo debe
4 ¿Para qué sirven las interrupciones? ser algo pesado, como una caja con
una piedra dentro.
5 ¿Cuáles son los tipos de interrupciones
que podemos encontrar en un 16F84/88? 4 Realice un robot que siga la luz de una
linterna.
6 ¿Qué función cumple el registro INT-
CON? 5 Realice un robot que recorra una mesa
sin caerse de ella.
7 Describa los algoritmos tradicionales
de seguimiento de línea. 6 Realice un robot con un sensor de ul-
trasonido que, ante la cercanía de un
8 ¿Cuáles son los problemas que debe- objeto, cambie de dirección.
mos afrontar en un robot luchador de
sumo?

220
Robótica Capítulo 10
Jugar al fútbol
El fútbol de robots es una actividad

donde se presentan todos los problemas

de la robótica situada, en un marco

divertido, mediático y de reglas

conocidas a nivel internacional.

Es por eso que hemos decidido cerrar

nuestro libro con este capítulo, al

presentar las reglas y las características

del desafío, para invitarlos a sumarse

a la investigación dentro de esta

maravillosa rama de la robótica. Fútbol de robots 222


Características del fútbol
de robots 222
Ligas nacionales e internacionales
de fútbol de robots 232
Modificaciones para
que nuestro robot pueda jugar 242
Una pelota infrarroja 244
Resumen 245
SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com Actividades 246
10. JUGAR AL FÚTBOL

FÚTBOL DE ROBOTS ra restemos del año actual la canti-


dad de años que faltan para el 2050.
Para el año 2050, desarrollar un ¿Cómo eran las computadoras en esa
equipo de robots humanoides com- época? ¿No era de ciencia ficción
pletamente autónomos, que en un pensar en lo que tenemos hoy en día,
partido de fútbol puedan vencer al los robots que se han desarrollado,
equipo campeón mundial humano. Internet, las notebooks, los celula-
res, etcétera? Entonces, si vemos las
Éste es el lema de la organización cosas desde este punto de vista, tal
RoboCup, una de las dos ligas mun- vez pensar en un equipo de fútbol de
diales de fútbol de robots. Puede pa- robots que jueguen un buen partido
recer un lema de ciencia ficción, pe- de fútbol no es locura.
ro puede dejar de serlo si realizamos Por lo tanto, no perdamos el tiem-
el siguiente cálculo. En el momento po, empecemos desde ahora a pre-
en el que se lee este libro, ¿cuánto parar a nuestro pequeño. Enseñé-
falta para el año 2050? ¿Cuarenta y mosle los rudimentos de este depor-
tres, cuarenta y dos años? Bien. Aho- te para que comience con sus prác-
ticas de tiro libre, de penales, de
amagues y fintas. Quién nos quita la
ilusión de que en un futuro no muy
lejano, lo acompañemos por todo el
mundo en sus viajes con la Selección
Mundial de Fútbol de Robots.

Características del fútbol


de robots
Dentro del campo de la robótica
autónoma móvil, en los últimos
años ha surgido una disciplina co-
nocida como robótica situada. Su
objeto de estudio es el desarrollo de
robots autónomos móviles en am-

Figura 1. Podemos imaginar


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

222
Fútbol de robots

bientes muy dinámicos. Ejemplos ❘❘❘ OTROS DEPORTES


de esto son los vehículos terrestres,
aéreos y acuáticos, los robots enfer- No sólo de fútbol viven los robots. Ya se
meros y todos aquellos que tengan están desarrollando nuevas criaturas
que desenvolverse en un mundo que para otros deportes u otras competen-
cambia segundo a segundo. cias como el sumo, que ya hemos men-
El fútbol de robots es el deporte que cionado, el basquetbol y la lucha libre,
presenta los problemas más impor- entre otros. En este último caso, hay
tantes que podemos encontrar en la muchos tipos de torneos pero ¡cuidado!
robótica situada y aunque existen En general, las luchas que pasan por la
diversas categorías donde estos pro- televisión no son de robots autónomos,
blemas pueden ser más o menos sig- sino que están controlados por un ser
nificativos, de alguna manera u otra, humano. En este caso, se enfrentan
están presentes en todas. problemas mecánicos y electrónicos,
Para hacer una analogía con respec- pero se carece de sistemas de inteli-
to al fútbol convencional, podemos gencia y sensado del mundo dado que
decir que para jugar bien necesita- esa función la cumple la persona que
mos las siguientes virtudes: controla al robot. Por lo tanto, eso no
es robótica situada.
● Un buen estado físico: llegar an-
tes a la pelota, patear fuerte y po- lota. Debemos tener un rol que
der ir de un punto a otro de la can- cumplir, que ese rol sea dinámico
cha en forma veloz, nos permitirá y que el conjunto de roles deter-
tener un control del juego mucho mine el comportamiento del equi-
más efectivo. po optimizado para nuestro objeti-
● Una lectura precisa y veloz del vo final: el gol en el arco contrario.
juego: es una característica funda-
mental que el jugador se anticipe Éstos son los tres problemas que te-
a la jugada. Por ejemplo, que vaya nemos en el fútbol de robots, y en
al encuentro de la pelota donde la general en la robótica situada: la ar-
pueda ganar y también quede me- quitectura de los robots, el sensado
jor parado para el gol. O que pue- y el procesamiento de la informa-
da saber dónde conviene estar pa- ción del ambiente y el comporta-
rado para recibir un pase. miento colaborativo. A continua-
● Juego colectivo: el equipo no pue- ción presentaremos cuáles son las di-
de comportarse como un conjunto ficultades en cada uno de ellos y cuá-
de niños que corre detrás de la pe- les son las soluciones propuestas.

223
10. JUGAR AL FÚTBOL

Arquitectura y navegación omnidireccional y diferencial. En el


de los robots caso de los robots con navegación om-
Como hemos visto antes, con fre- nidireccional (Figura 2), las ventajas son
cuencia en las competencias tene- conocidas, pero incorporar tres moto-
mos un límite vinculado al peso y el res en el espacio que tenemos, más uno
tamaño de los robots. En el fútbol de un pateador si fuera necesario, es
ocurre lo mismo. Por lo tanto, nues- complejo y el valor de los motores y las
tro objetivo es lograr el robot más ruedas puede ser costoso.
robusto y más rápido en el pequeño
espacio que nos brindan. Lamenta- En general, para comenzar utilizare-
blemente, en el caso de la electróni- mos navegación diferencial (Figura 3),
ca y los motores, más pequeño sig- como la que tenemos en nuestro ro-
nifica más costoso, y es aquí que bot. Por lo tanto, tenemos que anali-
nuestro bolsillo será otro límite que zar cómo realizamos la navegación
deberemos contemplar. con ruedas diferenciales. Esta navega-
Con respecto a los robots para fútbol, ción dependerá de la información que
la arquitectura clásica consiste en: pa- podemos extraer del ambiente. En el
tas (para ciertas categorías específicas), caso de los robots más sencillos, pro-

Figura 2. Un jugador de fútbol del equipo alemán FU-Fighters


con ruedas omnidireccionales.

224
Fútbol de robots

bablemente nuestro funcionamiento ❘❘❘ PROYECCIÓN DE LA PELOTA


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

225
10. JUGAR AL FÚTBOL

La navegación que acabamos de pre- un largo tiempo de estudio para re-


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

Lo que hemos utilizado para obtener


mayor precisión en la captación del
ambiente son los sistemas de visión.
Figura 3. Ejemplo de robot de fútbol En este caso, tenemos que realizar un
con ruedas diferenciales. delicado equilibrio entre la cantidad

226
Fútbol de robots

Figura 4. Sistema de visión global en una cancha de fútbol de robots.


Podemos ver las cámaras conectadas en la parte superior.

de cuadros por segundo que proce- precisión si queremos obtener el es-


samos y la precisión que obtenemos tado del ambiente actual, ¡y no el que
al final. Aquí encontramos la gran existía hace 30 segundos!
diferencia entre los sistemas de vi-
sión industriales tradicionales y los El sistema de visión puede ser global
que tenemos que aplicar en robótica o local a los robots. En el primer caso
situada. En el primer caso, podemos (Figura 4), un procesador externo reali-
tomar mayor tiempo de procesa- za el procesamiento y luego les envía el
miento, con lo cual el resultado final resultado a los robots para que tomen
es mucho más preciso. En nuestro sus decisiones, o directamente éste u
juego, tenemos que complementar y otro procesador externo, a partir de los
corregir la información de la cámara datos captados, define la estrategia y les
con datos previos del ambiente y con envía órdenes a los robots como la ve-
proyección del estado actual en el ca- locidad de las ruedas, etcétera. En la vi-
so de los objetos de comportamien- sión local, cada robot capta el ambien-
to lineal. Y desde ya, renunciar a la te. Como decíamos antes, si esto se ha-

227
10. JUGAR AL FÚTBOL

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

❘❘❘ VISIÓN INDUSTRIAL ce mediante sensores, la calidad de la


información es bastante baja. Si en el
Con un poco más de dinero, podemos ad- robot tenemos un sistema de visión, los
quirir una cámara de visión industrial con datos que tenemos del ambiente son
salida firewire para que en nuestra com- mayores, pero esto exige que cada ro-
putadora ingresen los datos en forma di- bot realice el arduo procesamiento de
gital y no sea necesario un framegrabber la imagen. Por otra parte, la visión lo-
(prácticamente todas las computadoras cal en general es parcial, porque los ro-
ya vienen con entrada firewire, y de lo con- bots apuntan a una dirección determi-
trario compramos una placa con esa en- nada. Para superar esto, es habitual que
trada). Un aspecto importante es que la la cámara se apunte hacia arriba y que
lente tenga un montaje (la forma de co- se coloque un espejo cónico o se-
nectarse a la cámara) que sea estándar, miesférico en la parte superior para te-
como el montaje CS, de manera tal que ner una captura de 360 grados (Figura
podamos cambiar de lentes según el am- 6). La deformación que se produce en
biente y la distancia a la cancha. Otra ca- esta imagen es muy fácil de solucionar.
racterística interesante es la posibilidad
de aplicar filtros desde el hardware, lo Aun así, el robot puede tener informa-
cual hace mucho más rápido el proceso. ción incompleta porque otros le tapan
la pelota, el arco o algún otro objeto. Es

228
Fútbol de robots

Figura 6. Un equipo con sistema de visión local.


La cámara apunta hacia una semiesfera en la parte superior.

por eso que en todos los sistemas de vi-


objetivo determinado, es necesario
sión, complementamos lo que capta- algún mecanismo de organización
mos en el cuadro con información delque permita que cada uno realice
historial, como haríamos con nuestros
una o más tareas determinadas en
propios ojos y cerebro. Si vemos queforma dinámica, en pos de ese obje-
viene la pelota y en un momento la de-
tivo. Existen muchas formas de lo-
jamos de ver porque queda detrás de un
grar esto, pero plantearemos dos: el
jugador, realizamos una proyección de
comportamiento emergente y el
su movimiento y prevemos encontrar- comportamiento dirigido.
la en un punto posterior, ya que cono-
El comportamiento emergente den-
cemos cómo se estaba moviendo y po- tro de un sistema es el que surge de la
demos anticiparnos a su comporta- interacción de sus componentes, y no
miento futuro. De la misma manera lopuede explicarse a partir de los com-
hacemos (¡o por lo menos lo intenta-portamientos individuales. Por ejem-
mos!) en el fútbol de robots. plo, ninguna hormiga puede realizar
una colonia por sí misma, ni organi-
Comportamiento colaborativo zarla dándoles órdenes a otras hormi-
Además de todo lo que vimos, nece- gas. Pero su comportamiento indivi-
sitamos que jueguen en equipo. En dual sencillo en conjunto con las otras
un conjunto de robots que tienen un hormigas, les permite lograr un tra-

229
10. JUGAR AL FÚTBOL

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

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

230
Fútbol de robots

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

✱ SEGUIR EL GUANTE BLANCO DE MICHAEL JACKSON


El comportamiento emergente también puede aplicarse para el seguimiento de obje-
tos en un video. El White Glove Tracking Project (Proyecto de Seguimiento del Guan-
te Blanco) fue un proyecto respaldado por Rhizome.org, en donde un gran número de
usuarios debían marcar el lugar donde veían el guante blanco de Michael en un video
de 5 minutos y medio. Con la información de cada uno, que individualmente podía te-
ner un buen margen de error, se determinó la posición con una precisión completa. Es
decir, a partir del comportamiento sencillo de seguir el guante con el puntero del mou-
se, el software levantó los datos en tiempo real y los ponderó para definir la posición
perfecta del guante. Éste es otro ejemplo de comportamiento emergente.

231
10. JUGAR AL FÚTBOL

en nuestra programación. En reali- internacional y no hacen falta de-


dad, en general usamos una combi- masiadas palabras para que nos po-
nación de éstos y otros mecanismos damos encontrar en un partido. Y
de organización en equipo. La elec- luego, entre goles y tiros libres, com-
ción de uno u otro dependerá, en es- partimos los últimos resultados de
pecial, de los buenos resultados que nuestros trabajos en los campos que
logremos con ese comportamiento. presentamos en el punto anterior. A
continuación comentaremos cada
Ligas nacionales e internacio- una de las ligas y las categorías vin-
nales de fútbol de robots culadas al fútbol que presentan.
Como dice el sabio adagio, todo lo
que hacemos los investigadores es RoboCup
para conquistar a las muchachas que Según se detalla en su propio sitio, la
en nuestra juventud, con nuestro as- RoboCup es un proyecto de colabo-
pecto de nerds, nunca pudimos se- ración internacional para promover
ducir. Debido a que pasamos días el desarrollo de la robótica, la inteli-
enteros detrás de nuestros inventos, gencia artificial y los campos afines.
es fácil suponer que nuestro estado Fomenta la investigación de estos te-
físico deja bastante que desear. Es mas y provee problemas estándares,
por eso que decidimos crear los cam- donde una amplia gama de tecno-
peonatos de fútbol de robots: quere- logías puede integrarse y ponerse a
mos ser famosos, reconocidos por la prueba. Ha elegido el fútbol de ro-
calle y conseguir novias modelos, co- bots como tema central con el obje-
mo los jugadores de fútbol reales. tivo de aplicar los resultados de las in-
Luego de doce años de competencias vestigaciones a problemas sociales
no hemos logrado ninguno de estos significativos y a la industria. La me-
objetivos, pero no hemos perdido las ta final es lograr hacer un equipo de
esperanzas. Por lo menos, en las reu- once robots autónomos para el 2050,
niones sociales hemos logrado algu- que le gane un partido a la última se-
nos minutos de atención al comen- lección campeona del mundo.
tar nuestra extraña profesión.
Ahora, hablando en serio, los cam- Dado que muchas de las tecnologías
peonatos de fútbol de robots son estudiadas son aplicables a la búsque-
una buena excusa para intercambiar da y el rescate de personas en situa-
conocimientos con otros investiga- ciones de desastre, se ha agregado a las
dores de la misma disciplina. Las re- competencias de rescate (RoboCup
glas del fútbol son conocidas a nivel Rescue) como una forma de aplica-

232
Fútbol de robots

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

ción significativa de los resultados de mediante mensajes de texto por


las investigaciones. Además de las ca- sockets. Además, contamos con un
tegorías de fútbol, también presenta visualizador gráfico del ambiente.
categorías físicas y simuladas de resca- Es decir, cuando se juega un parti-
te y categorías de fútbol, rescate y dan- do tenemos 26 procesos que co-
za para jóvenes entre 10 y 18 años. Las rren: 22 jugadores, 2 entrenadores,
categorías de fútbol que ofrece son: 1 simulador y 1 visualizador.
La comunicación entre los jugado-
● Simulación: en estos momentos res y el técnico se realiza mediante
hay dos subcategorías, una de 2D gritos entre ellos. Por lo tanto, te-
y otra de 3D. En esta categoría, de- nemos un comando que podemos
bemos controlar los once jugadores ejecutar en nuestro agente que gri-
y al entrenador, cada uno con un ta un mensaje y desde ya, también
proceso independiente entre sí y puede escucharlo. Además, tene-
sin comunicación directa entre mos comandos de movimiento, pa-
ellos. El partido se desarrolla en un teo, giro, etcétera. El servidor,
simulador de la física del ambien- además de recibir los comandos pa-
te, con el cual los procesos que ra los robots, nos provee informa-
controlan al equipo se comunican ción de sensado (particular de cada

233
10. JUGAR AL FÚTBOL

agente), como lo que ve, la energía del simulador es poder solucionar


del jugador, la velocidad, etcétera. todos los aspectos físicos y de vi-
Esta información de los sensores sión, para que nos podamos con-
puede estar contaminada por el rui- centrar en los temas vinculados al
do (errores), como en un sensor re- comportamiento colaborativo.
al. Es importante recordar que el
servidor no espera que le enviemos ● Small size (tamaño pequeño), tam-
los comandos para los robots, sino bién conocido como F180: aquí te-
que funciona como un sistema de nemos un partido de fútbol físico en-
tiempo real con ciclos discretos, y tre dos equipos de cinco jugadores
que aquí también tenemos el com- cada uno (Figura 9). Cada robot debe
promiso de equilibrar precisión y poder entrar en un cilindro de 180
velocidad. Si nuestra heurística tar- mm de diámetro, con una altura no
da demasiado tiempo en definir el mayor a 15 cm, salvo que tenga su
comportamiento del robot, vamos propio sistema de visión. De no ser
a entregar acciones para un mundo así, se utiliza un sistema de visión
que ha cambiado, y con una fre- global con comunicación inalámbri-
cuencia demasiado lenta para la vi- ca entre el procesador de imágenes y
talidad del ambiente. El objetivo los robots. El campo de juego es de

Figura 9. Equipo Small size del ITAM de México.

234
Fútbol de robots

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


se utiliza una pelota de golf naranja. máximo del robot es de 80 kg.
A pesar de que la visión puede ser lo-
cal, todos los equipos que hemos vis- ● Standard platform league (liga de
to en los torneos tienen visión global. plataforma estándar): en esta cate-
goría se selecciona un robot están-
● Middle size (tamaño medio): en es- dar que debe ser usado por todos los
ta categoría física los robots también equipos. Hasta el año 2007, la pla-
son autónomos en el sistema de vi- taforma seleccionada fue el Aibo de
sión. Cada equipo cuenta con cua- Sony, y por eso esta categoría se co-
tro jugadores que se comunican en- nocía como four legged (cuatro pa-
tre ellos en forma inalámbrica (Figu- tas). En 2008 se utilizará el robot
ra 10). No puede haber ninguna in- Aldebaran Nao (Figura 11). Cada
tervención externa, salvo para inser- equipo debe ser de cuatro jugadores
tar o remover robots del campo de autónomos mediante la utilización
juego. Cada robot debe poder entrar de esta plataforma básica. De esta
en una caja de 50 cm de ancho, 50 manera, se pone el acento en el de-
cm de largo y 85 cm de alto. Por mo- sarrollo del software para solucionar
mentos, puede crecer hasta 60 cm el aspecto físico del robot.

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

235
10. JUGAR AL FÚTBOL

● Humanoid (humanoide): aquí, los humanas (Figura 12). Las reglas pro-
equipos deben estar formados por porcionan un conjunto de fórmu-
dos humanoides, donde uno será el las que determinan los límites de
arquero. Existen dos subcategorías mínimo y máximo para cada parte
(kidsize y teensize), donde sólo hay del cuerpo. Además de jugar parti-
diferencias de tamaño. Cada robot dos, deben realizar pruebas de des-
debe tener proporciones en su treza como esquivar obstáculos, re-
cuerpo similares a las proporciones correr caminos, etcétera.

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


vemos un prototipo avanzado de la categoría TeenSize del equipo
del Aldebaran Nao. Nimbro de la Universidad de Freiburg.

236
Fútbol de robots

FIRA (Federación Internacional ❘❘❘ PLATAFORMA ROBOCUP


de Fútbol de Robots)
La FIRA es una liga futbolera. Los El robot Aldebaran Nao es un desarro-
robots de sus diversas categorías son llo de origen francés que comenzó en
de complejidad menor que los de la el año 2005 y fue presentado dos años
RoboCup, con características menos más tarde. El objetivo que persigue es
cercanas al fútbol real. Por ejemplo, el de lograr un humanoide que se en-
en sus canchas no hay laterales. La cuentre disponible para el público, de
dinámica es más parecida al fútbol de costo accesible, con las características
salón. Con estas características, sus que vemos a continuación:
partidos son más vistosos y emocio- •Cámara digital incorporada.
nantes, ya que la pelota está cons- •Reconocimiento de voz.
tantemente en juego y sus robots se •Sintetizador de voz.
mueven a una velocidad sorprenden- •Expresiones de emoción.
te. Las categorías que presenta son: •Comunicación por WiFi.
•Veinticinco grados de libertad.
● MiroSot: en esta categoría, los ro- Para obtener más información, pode-
bots tienen un límite de 7,5 cm de mos visitar la siguiente dirección:
lado (sin incluir la antena de comu- www.aldebaran-robotics.com.
nicación). Se juega con una pelota
de golf naranja y la visión es global.

Figura 13. Ejemplo de


robot MiroSot para esta
categoría de la FIRA.

237
10. JUGAR AL FÚTBOL

Existe una subcategoría de cinco con- jo, y se juega mucho con los rebotes
tra cinco donde la cancha es de 220 y el transporte colectivo.
cm por 180 cm, y otra de once con-
tra once de 400 cm por 280 cm (Fi- ● SimuroSot: categoría simulada que
gura 14). La cámara colocada en la par- emula a MiroSot de cinco contra
te superior de la cancha captura las cinco y de once contra once. El si-
imágenes, que luego son procesadas mulador (Figura 16) provee los datos
por una computadora externa. Ésta del ambiente cada 16 milisegundos
última, una vez procesada la imagen y nuestro equipo (una dll hecha en
y analizado el ambiente, determina el C++) toma sus decisiones e informa
comportamiento de los robots y le la velocidad de la rueda izquierda y
envía las órdenes a cada uno en forma derecha de cada robot.
inalámbrica. Por el tamaño del robot
y las reglas de cubrimiento de la pe- ● NaroSot: es una versión mini de
lota, es imposible capturarla, por lo MiroSot (Figura 15). Aquí los ro-
que el transporte es bastante comple- bots deben ser de 4 cm de ancho,

Figura 14. Partido de cinco contra cinco en la categoría MiroSot de la FIRA.

238
Fútbol de robots

4 cm de largo y 5,5 cm de alto (sin


contar la antena). El sistema de vi-
sión también es global y juegan
cinco contra cinco con una pelota
de golf naranja.

● RoboSot: ésta es la categoría con


visión local. Cada equipo está for-
mado por tres robots que deben
caber en un cilindro de 20 cm de
diámetro y con una altura no ma-
yor a 40 cm. La pelota es de tenis

Figura 15. Pequeños robots de la


categoría NaroSot de la Universidad de
Tecnología de Viena.

Figura 16. Simulador de 5 contra 5 que se utiliza


en la categoría SimuroSot de la FIRA.

239
10. JUGAR AL FÚTBOL

color amarillo y ya pueden incor- ● KepheraSot: en esta categoría, que


porar a su arquitectura sistemas de está en vías de desaparición, los
acarreo de la pelota (con restric- equipos utilizan una arquitectura
ciones) y sistemas de pateo. conocida como Kephera. Juegan
● HuroSot: ésta es la categoría de uno contra uno con un sistema de
humanoides de la FIRA (Figura 17). visión local muy interesante, ya que
Aún no se juegan partidos de fút- posee una cámara con captura de
bol, sino que el robot debe cum- una sola línea. Es por eso que los ju-
plir ciertas pruebas de destreza co- gadores se identifican con un cilin-
mo realizar un recorrido, patear dro de rayas negras y blancas, y la
penales, etcétera. La altura máxi- pelota es de color verde.
ma es de 150 cm y 30 kg de peso.
Las proporciones del robot deben Campeonato Latinoamericano IEEE
ser similares a las humanas, como El Campeonato Latinoamericano
en la RoboCup. IEEE comenzó en el año 2002 y no

Figura 17. Robot de la categoría HuroSot de la FIRA


intentando resolver un problema.

240
Fútbol de robots

contaba con pruebas de fútbol de ro- Concurso Mexicano de Robótica


bots. Sin embargo, en las últimas Versión local del Concurso IEEE La-
tres ediciones ha incorporado la Ro- tinoamericano que agrega a sus com-
boCup Latinoamericana. petencias las categorías Junior de la
De esta manera, se hacen presentes RoboCup (para menores de 18 años)
las categorías Small Size, Four Le- y un concurso de robots limpiadores,
gged y Simulación. Además, pro- también con diversas categorías. Con
pone una categoría inicial donde se respecto al fútbol en particular, están
utiliza el kit de Lego para la cons- presentes Small Size y Junior.
trucción de los robots, con desafíos
de rescate o colaborativos, y una ca- Campeonato Argentino de Fútbol
tegoría abierta, donde los robots de- de Robots (CAFR)
ben ser desarrollados por los propios El CAFR combina pruebas de am-
participantes, con determinadas res- bas ligas internacionales. Con res-
tricciones en los procesadores. pecto a la FIRA, presenta su cate-

Figura 18. El equipo argentino del CAETI recibiendo


su premio por el cuarto puesto en la categoría SimuroSot.

241
10. JUGAR AL FÚTBOL

goría SimuroSot, donde tiene el ma- cias, que se modifican año a año, con
yor número de participantes. De la frecuencia aparecen pruebas de resca-
RoboCup presenta una versión más te, sumo, y destrezas de fútbol de ro-
pequeña que la Small Size (con me- bots, que utilizan el mismo campo y
nos cantidad de robots) y la Junior las mismas características que la Ro-
con pelota infrarroja (Figura 19). boCup Junior (Figura 20).

Roboliga (Olimpíada Argentina Modificaciones para que


de Robótica) nuestro robot pueda jugar
La Roboliga es una competencia des- Con nuestro robot podríamos parti-
tinada a alumnos menores de 18 años. cipar de la categoría Small Size de la
Es la competencia de robótica más RoboCup y de la competencia de fút-
antigua de Latinoamérica y conjuga bol de la RoboCup Junior. En el pri-
pruebas de destreza con presentación mer caso, deberíamos desarrollar un
de proyectos de investigación de los sistema de visión para poder realizar
alumnos. Dentro de las competen- el seguimiento de nuestro equipo y

Figura 19. Categoría Senior del Campeonato Argentino de Fútbol de Robots.

242
Fútbol de robots

sumar algún sistema de comunica- en marcha el sistema con aquellas que


ciones para enviar las órdenes de la tienen chip bt878, como la antigua
computadora central hacia los robots PCTV de Pinnacle. Conectada a es-
(y desde ya, ¡programar todo esto!). ta placa, podemos utilizar cualquier
Con respecto al sistema de visión, ya cámara con las salidas mencionadas,
existe un servidor de procesamiento como cualquier handycam que ten-
de imágenes de distribución libre y gamos en nuestras casas. Hemos te-
gratuita que nos puede ser útil: Do- nido varias luchas para que funcione,
raemon. Fue desarrollado por el De- pero una vez que se logra darle arran-
partamento de Ciencias de la Com- que y se configuran los colores en for-
putación de la Universidad de Mani- ma correcta, nos provee los datos con
toba, corre en Linux y necesita de una buena precisión. Los datos del am-
placa capturadora de video con en- biente y de los robots los comunica
trada compuesta o SVHS. De las cap- mediante un socket UDP, por lo que
turadoras de video que tienen drivers podemos capturarlos desde otro pro-
en Linux, nosotros logramos poner ceso en el mismo Linux o en otra má-

Figura 20. Competencia colaborativa en la Roboliga.

243
10. JUGAR AL FÚTBOL

quina con cualquier sistema opera- cia) o bluetooth a nuestro robot. La-
tivo y cualquier lenguaje que pueda mentablemente, este tema escapa a la
acceder a sockets (¡todos los lengua- complejidad de este libro, pero po-
jes pueden hacerlo!). demos encontrar muchísima infor-
mación en Internet sobre él, en es-
Ahora, si estamos completamente pecial con respecto a la conexión de
lanzados a la construcción de nues- módulos RF con el PIC.
tras propias herramientas para lo
que es el procesamiento de imáge- Una pelota infrarroja
nes, es recomendable detenerse a es- Si queremos evitar el arduo procesa-
tudiar la librería OpenCV, desarro- miento de imágenes, podemos po-
llada por los laboratorios de Intel. ner a nuestra criatura al servicio de
Ésta es una librería desarrollada en la categoría Junior. Aquí, la visión es
C++ que nos proporciona todos los local y muy sencilla. Para jugar se
algoritmos básicos de procesamien- utiliza una pelota con leds infrarro-
to como filtros, balances, detección jos. Esta pelota emite constante-
de bordes, tracking, etcétera. Reali- mente y, de esta manera, uno o más
zar nuestro propio sistema de visión sensores de luz la pueden detectar
implicará combinar un conjunto de con facilidad (es mejor usar por lo
las funciones provistas por OpenCV menos dos para poder saber si la pe-
con algunas buenas ideas de uso del lota se fue de nuestro frente para un
historial del ambiente y el compor- lado o para el otro).
tamiento lineal de la pelota. Para ubicarse a nivel espacial, el pi-
Con respecto al sistema de comu- so de la cancha de esta categoría tie-
nicaciones, tendremos que incorpo- ne un degradé de blanco a negro,
rarle un módulo RF (radiofrecuen- con lo que podemos saber si nos di-

✱ UNA BUENA FORMA DE COMENZAR CON EL FÚTBOL DE ROBOTS


El Grupo de Robótica Cognitiva de la Universidad Nacional del Sur, en Argentina, ha
colaborado en el desarrollo de una liga de la RoboCup que luego fue dejada de lado.
Sin embargo, toda su experiencia con Doraemon (¡y con su compleja instalación!)
puede encontrarse en su sitio web: http://cs.uns.edu.ar/~ajg/matebots/. Además,
allí podemos encontrar información sobre la programación del comportamiento del
equipo en Prolog y sobre el uso de Lego Mindstorms para jugar al fútbol. Lamenta-
blemente, la E-league (Entry League) no continuó con su desarrollo en la RoboCup,
lo que hubiera permitido un ingreso menos complejo a la liga.

244
Fútbol de robots

rigimos hacia nuestro arco o hacia el cuenta del grado de rotación de


contrario con el uso de uno o más nuestro robot por la diferencia cap-
sensores de luz que apuntan hacia tada por cada uno de los sensores. Si
abajo. Si queremos ser más exquisi- apunta hacia el arco, los valores cap-
tos, al usar tres o cuatro sensores en tados por los sensores que miran ha-
forma analógica podemos darnos cia abajo tendrían que ser similares.

… RESUMEN
El fútbol no sólo es una buena excusa para una reunión 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 robótica situada, como la captación
del ambiente en tiempo real, la navegación hacia puntos fijos y móviles, y el com-
portamiento colaborativo. Ésta es la razón por la que ha crecido tanto la activi-
dad en los centros de investigación. Cada liga de fútbol de robots presenta dife-
rentes reglamentos y categorías, lo que permite tener una amplia variedad de
oportunidades para ingresar en este mundo. La propuesta más económica y sen-
cilla para comenzar son las competencias simuladas. En ellas, con una computa-
dora convencional y muchas horas de programación, podremos lograr un equipo
para salir a la cancha. Pero el sueño siempre es trabajar con elementos físicos,
y en ese caso tenemos plataformas estándares, humanoides, robots pequeños,
robots grandes, etcétera. Con seguridad, encontraremos el proyecto que se ajus-
te a nuestros deseos y nuestras posibilidades. Y ojalá nos encontremos en algún
potrero robótico para compartir un buen partido.

245
✔ ACTIVIDADES

TEST DE AUTOEVALUACIÓN EJERCICIOS

1 ¿Cuáles son las tres características que 1 Imprima un degradé de blanco a negro
podemos transpolar del fútbol conven- en una hoja oficio y construya un robot
cional al fútbol de robots? que, al comenzar en cualquier posición,
se ubique en forma recta y apunte ha-
2 ¿Qué problemas presenta la arquitectu- cia el borde negro.
ra y la navegación de los robots de fútbol?
2 Agréguele un tercer motor al robot con
3 ¿Qué método se utiliza habitualmente algún mecanismo sencillo de pateo.
en la detección del ambiente de juego, y
qué problemas trae esto aparejado? 3 Instale Doraemon en Linux según las
indicaciones de la Universidad del Sur,
4 ¿A qué nos referimos con equilibrio en- y escuche el socket configurado para
tre velocidad y precisión en el procesa- entender cómo se envían los paquetes.
miento de imágenes?
4 Instale el simulador de fútbol de la FIRA
5 ¿Cómo son las arquitecturas de visión y desarrolle un pequeño equipo basán-
global y de visión local? dose en el ejemplo que se descomprime
en la misma carpeta donde está instala-
6 ¿A qué llamamos comportamiento co- do el programa.
laborativo? ¿Qué problemas presenta?

7 ¿Qué es el comportamiento emergente?

8 ¿Qué es el comportamiento dirigido?

9 ¿Cuáles son las características de las


categorías de la RoboCup?

10 ¿Cuáles son las características de las


categorías de la FIRA?

246
Robótica Apéndice A
Conceptos
básicos
de electrónica
Este apéndice permitirá conocer algunos

conceptos que aparecen explícita o

implícitamente involucrados en los

capítulos anteriores. Aunque podemos

llegar a buen puerto sin leerlo, la

comprensión de lo que construimos será

más profunda si lo hacemos. Y en algunos

casos, como los consejos para soldar, nos

ahorraremos muchos dolores de cabeza.

La electrónica 248
Conceptos de electricidad 248
Componentes que utilizamos
en nuestros circuitos 251
Herramientas fundamentales 256
SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com Consejos para soldar 258
A. CONCEPTOS BÁSICOS DE ELECTRÓNICA

LA ELECTRÓNICA quería que gastaran ni dinero ni tiem-


po demás. Que todo lo que habían
Motor del siglo XX, la electrónica ha desarrollado se podía resolver con un
jugado un papel fundamental en las integrado. Todo, menos un conjunto
características actuales del mundo en de leds, quedaba encapsulado en un
el que vivimos. Todo lo que nos rodea integrado específico. Como dirían los
está compuesto en algún punto por programadores de objetos, todo está
componentes electrónicos: automóvi- hecho, sólo hay que encontrar las pie-
les, aviones, computadoras, juguetes, zas y ensamblarlas.
televisores, reproductores de mp3, Este apéndice tiene como objetivo
etcétera. Y cada día que pasa, gracias aclarar algunos conceptos de electró-
a las maravillas de la evolución tec- nica básica y dar algunas recetas pri-
nológica, la electrónica se vuelve más mitivas que seguramente nos aho-
pequeña, más robusta y más econó- rrarán muchos dolores de cabeza. To-
mica. Probablemente, en algún mo- do lector que alguna vez haya cons-
mento de nuestras vidas sentimos cu- truido un circuito ya ha pasado por
riosidad por este tema y nos adentra- esto, y no creemos que su lectura
mos en él con alguna revista, algún kit pueda aportarle nada nuevo. Pero si
específico o por qué no, mediante es- es la primera vez que vamos a hacer
tudios formales. Para aquellos que nos una soldadura, este apéndice será
hemos acercado porque lo teníamos una tabla de salvación.
como un simple hobby, la aparición
de los integrados nos ha facilitado Conceptos de electricidad
aún más la tarea. Muchas veces, cuan- Para comenzar con nuestro aprendi-
do necesitamos algo, en lugar de te- zaje de electrónica, debemos conocer
ner que diseñarlo, basta con buscar en una serie de conceptos fundamenta-
los catálogos un integrado que cum- les. En primer lugar, veremos aquellos
pla esa función. Basta un ejemplo: un relacionados con la electricidad.
grupo de alumnos había desarrollado
un órgano electrónico controlado Corriente eléctrica
desde el puerto paralelo de una PC. La corriente eléctrica no es más que
Cuando le presentaron el proyecto al un flujo ordenado de electrones que
profesor, con decenas de transistores, atraviesa un material de un punto
resistencias, diodos y otros compo- a otro. Algunos de ellos, al tener un
nentes, el docente los felicitó porque electrón libre en su nivel superior,
el trabajo era muy interesante. Y lue- permiten el pasaje de un punto a otro
go de charlar con ellos les dijo que no en forma mucho más simple y con

248
La electrónica

menos resistencia. De allí el nombre mos el material neutro entre un


de materiales conductores. A los cuerpo con muchos electrones (car-
materiales que no permiten el flujo ga negativa) y uno con pocos (carga
de electrones en condiciones norma- positiva), los electrones atravesarán
les se los conoce como materiales el material para ir del potencial ne-
aislantes. Pero ¡cuidado!: ante ciertos gativo al positivo. ¿Del negativo al
factores un material aislante puede positivo? ¿No era al revés? En efecto
convertirse en conductor. El ejemplo es así, pero históricamente se la de-
más conocido es el de la cerámica finió como un flujo de cargas posi-
usada en los viejos tapones por su ca- tivas, lo que luego resultó incorrec-
pacidad aislante, que ante una tem- to. De todas maneras, cuando se
peratura muy baja, no sólo conduce, piensa en el pasaje de corriente eléc-
sino que ¡superconduce! Para profun- trica, con frecuencia se lo describe al
dizar este tema, es recomendable bus- revés porque lo que se considera es
car información sobre la supercon- el flujo del potencial positivo.
ductividad y sus propiedades.
Si queremos producir este flujo (Fi- Si el flujo se desplaza en forma conti-
gura 1) en un material eléctricamen- nua de un punto a otro, se lo conoce
te neutro, tenemos que utilizar una como corriente continua. Un ejem-
fuente de energía externa. Si coloca- plo de este tipo de corriente es la que

+ +

— —

Figura 1. Esquema del flujo de la corriente eléctrica.

249
A. CONCEPTOS BÁSICOS DE ELECTRÓNICA

brinda una pila o batería. En otro ca- liampere (mA) es la milésima parte
so, si el flujo corre primero en un sen- de un ampere. Un Microampere
tido y luego en el contrario, se lo lla- (µA) es la millonésima parte.
ma corriente alterna. Un ejemplo de
este caso es la corriente que recibimos Tensión (voltaje)
en los enchufes de nuestras casas, la Para que los electrones fluyan de un
corriente eléctrica de la red. Podemos terminal a otro, debemos tener algu-
buscar en Internet la historia de por na fuente que genere ese movimien-
qué se eligió la alterna y no la conti- to o, como se dice habitualmente, de-
nua para las casas, ya que es una lu- bemos aplicarle energía al conductor.
cha interesante entre Nikola Tesla y Para lograrlo, en un terminal debe-
Thomas Edison (Figura 2). mos tener una carga negativa y en la
La corriente se mide en Amperios otra una positiva. La tensión es la di-
(A). Esta unidad mide la cantidad de ferencia de potencial que hay entre
electrones que fluyen en un material dichas terminales. El ejemplo más
en una unidad de tiempo. Una co- habitual es el curso del agua de un
rriente tiene una intensidad de 1 A río. Para que el agua corra, es necesa-
cuando, al pasar por una solución rio un desnivel entre la vertiente y la
acuosa de nitrato de plata, deposita desembocadura. Ese desnivel es el
0,001118 gramos de plata por segun- que determinará la tensión.
do (esto podemos olvidarlo rápida- La unidad de medida es el Voltio o
mente, sólo es para aclarar que existe volt (V). Una pila AA alcalina tiene
un patrón). En electrónica, esa uni- una tensión de 1,5 V. En las tomas
dad es demasiado grande, por lo que eléctricas de nuestras casas solemos
utilizamos los submúltiplos. Un Mi- tener 110 V ó 220 V.

Figura 2. Nikola Tesla


y Thomas Edison, uno
de los enfrentamientos
más grandes en la
historia de la ciencia
a partir de la corriente
continua y la alterna.

250
La electrónica

Resistividad / Resistencia Componentes que utilizamos


La resistividad de un material es la pro- en nuestros circuitos
piedad que tiene de oponerse al paso A continuación vamos a describir los
de corriente. Se mide en Ohms-me- componentes pasivos y activos más im-
tro y depende de un conjunto de fac- portantes que hemos utilizado en nues-
tores, como por ejemplo la temperatu- tros circuitos. Llamamos componen-
ra. En un componente concreto, su re- tes activos a aquellos que proporcio-
nan excitación eléctrica, ganancia o
sistencia está definida por la resistividad
control. Esencialmente, son los gene-
del material, su longitud y el área trans-
versal del componente. A mayor longi- radores eléctricos, los diodos y ciertos
tud y menor área transversal, más re- semiconductores. En contraposición,
sistencia. En este caso, la unidad es ellos pasivos son los que no generan in-
Ohm (Ω). Al inverso de la resistividad tensidad ni tensión en nuestro cir-
se lo llama conductividad. cuito, como los cables, las resisten-
cias, los interruptores, los capacito-
Ley de Ohm res, los transformadores, etcétera. Ve-
Una de las leyes más importantes de amos qué función cumplen algunos
la electrónica es la Ley de Ohm. Si to- componentes que hemos utilizado.
mamos una fuente variable de co-
rriente continua y un cable conduc- Resistencia
tor que ofrezca cierta resistencia, po- Es un componente pasivo que ubi-
dremos ver que al aumentar la ten- camos en el paso de una corriente y
sión, la corriente aumenta en forma que se opone a que ésta circule. Se re-
directamente proporcional. El co- presentan con la letra R y su valor se
ciente que obtenemos entre tensión mide en Ohms o en sus múltiplos,
y corriente es la resistencia del ma- KiloOhms (1 KΩ = 1000 Ω) o Me-
terial. En síntesis: R= V / I. gaOhms (1 MΩ = 1000 KΩ). Hay
R: resistencia. una gran variedad de tipos de resis-
V: tensión. tencias y de valores posibles (Figura 3).
I: corriente.
Desde ya que con esta fórmula po-
demos calcular cualquiera de los
parámetros si conocemos los otros
dos. Por ejemplo, la fórmula V=R*I
nos permite calcular cuántos voltios
cae la tensión a lo largo de un con- Figura 3. Resistencia de 62Ω ± 5%
ductor con resistencia. y símbolo electrónico de la resistencia.

251
A. CONCEPTOS BÁSICOS DE ELECTRÓNICA

Para describir el valor e indicarlo so- En la Tabla 3 podemos ver algunos


bre el componente se utiliza un có- ejemplos que nos permiten compren-
digo de colores que determina la re- der cómo se interpretan los colores de
sistencia y la tolerancia. los códigos de las resistencias.
Los tres primeros (Tabla 1) definen el
valor de la resistencia y cada uno re- COLORES VALOR Y TOLERANCIA

presenta un dígito decimal. Entre Marrón–negro–marrón–dorado 100Ω al 5%


éstos, los dos primeros indican el va- Rojo–rojo–rojo–plateado 2,2 KΩ al 10%
lor en Ω y el tercero es el multipli- Amarillo–violeta–rojo–dorado 4,7 KΩ al 5%
cador del valor anterior para obtener Tabla 3. Ejemplos de la interpretación
el valor final. Por su parte, el cuarto de los colores de las resistencias.
dígito representa la tolerancia del
componente (Tabla 2). En lo que respecta a los diferentes ti-
pos de resistencias, tenemos las fijas,
COLOR DÍGITO MULTIPLICADOR cuyo valor nominal no se altera. Las
Negro 0 1 variables, en cambio, pueden modi-
Marrón 1 10 ficar su valor de resistencia por un
Rojo 2 100 ajuste humano o por algún elemento
Naranja 3 1000 del circuito o del ambiente. Éstas úl-
Amarillo 4 10000 timas también se usan como senso-
Verde 5 100000 res, dado que alteran su comporta-
Azul 6 1000000 miento por factores externos. Por
Violeta 7 10000000 ejemplo, tenemos resistencias varia-
Gris 8 bles de presión, de luz (que ya hemos
Blanco 9 visto), de temperatura, etcétera.
Dorado 0,1 Cuando soldamos una resistencia de-
Plateado 0,01 bemos tener cuidado porque el calor
Tabla 1. Interpretación de las puede modificar sustancialmente su
tres primeras bandas de colores capacidad resistiva. Por eso es aconse-
de las resistencias. jable soldarlas con rapidez y utilizar
algún disipador que permita dismi-
COLOR TOLERANCIA nuir el calor que recibe la resistencia.
Dorado ±5%
Plateado ±10% Capacitor (Condensador)
Sin color ±20% Es un componente que almacena
Tabla 2. Interpretación de la cuarta energía en forma de campo eléctri-
banda de color de las resistencias. co. Está formado por dos placas metá-

252
La electrónica

licas separadas por un aislante conoci-


do como dieléctrico. La unidad de
medida de su capacidad es el Faradio
(F) y sus submúltiplos, como el Mili-
Faradio (1 mF = 1 F/1.000), el Mi-
croFaradio (1 uF = 1F / 1.000.000 =
10-6F), el NanoFaradio (1nF = 10-9F)
y el PicoFaradio (1 pF = 10-12F).
Además de su capacidad, otra carac-
terística fundamental es la máxima
tensión que soporta. Nunca debemos Figura 4. Capacitor electrolítico y símbolo
conectar un capacitor a un voltaje su- electrónico del capacitor. Podemos ver la
perior porque puede explotar. marca de la patita que debe ir a tierra.
En los capacitores también encontra-
mos fijos y variables. Con respecto a En los capacitores cerámicos (Figura 5),
los fijos, la diferencia entre ellos de- que son los más pequeños, cuando la
pende del dieléctrico que utilizan. No capacidad es menor a 1uF, se usa la uni-
vamos a entrar en detalles, pero las ca- dad picoFaradio (pF) y se expresa en el
racterísticas que difieren entre ellos por componente con el valor completo si es
el tipo de dieléctrico son esencialmen- pequeño, o con una notación de 3 nú-
te la capacidad, la fuga, la resistencia a meros en caso contrario. Los dos pri-
los cambios de voltaje y la robustez. En meros representan su valor, y el tercero
particular, los capacitores electrolíticos nos informa de un factor de multipli-
(Figura 4) son polarizados, y hay que cación, como lo muestra la Tabla 4.
tener en cuenta cómo los conectamos
(dónde ponemos el positivo y dónde TERCER NÚMERO FACTOR DE MULTIPLICACIÓN

el negativo) porque una conexión in- 0 1


vertida los puede hacer explotar (tie- 1 10
nen una válvula de seguridad que los 2 100
hace bullir en lugar de explotar, con 3 1000
esa imagen tan característica de un ca- 4 10000
pacitor al que se le ha salido la tapa de 5 100000
la cabeza). Entre los capacitores varia- 8 0.01
bles podemos encontrar los girato- 9 0.1
rios, que se utilizan mucho en la sin- Tabla 4. Factor de multiplicación
tonía de radios, y los trimmers, que representado por el tercer número
permiten un ajuste muy fino. que aparece en un capacitor.

253
A. CONCEPTOS BÁSICOS DE ELECTRÓNICA

Luego de este número aparece una le- en una sola dirección (Figura 6). De-
tra que indica la tolerancia en por- bajo de cierta diferencia de potencial,
centaje, como vemos en la Tabla 5. no conduce. Si superamos ese um-
bral, lo hace con una resistencia muy
LETRA PORCENTAJE DE TOLERANCIA baja. También se lo conoce como rec-
D +/- 0.5 pF tificador, dado que puede convertir
F +/- 1% una corriente alterna en continua.
G +/- 2%
H +/- 3%
J +/- 5%
K +/- 10%
M +/- 20%
P +100% ,-0%
Z +80%, -20%
Tabla 5. Tolerancia que representa
cada letra al final de los números
que indican el valor del capacitor. Figura 6. Un diodo y su símbolo.

Demos algunos ejemplos. Si encon- Los primeros diodos fueron las vál-
tramos un capacitor con el número vulas de vacío, con aspecto similar al
104G, nos indica que tiene una capa-de una lámpara eléctrica. Tienen un
cidad de 100.000 pF y una toleranciafilamento (el cátodo) por donde cir-
del +/- 2%. Si encontramos otro con cula la corriente que los calienta. Al
332, representa 3.300 pF, sin infor-ocurrir esto, comienzan a emitir elec-
mación de la tolerancia. trones al vacío 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
cátodo no se calienta, nada de esto
vemos un
funciona. Por ende, los circuitos que
capacitor
lo usan necesitan de un tiempo pa-
cerámico.
ra aumentar la temperatura antes de
prestar su servicio. Por otra parte, en
el pasado se quemaban muy segui-
Diodo
do. Por suerte, los diodos han evo-
El diodo es un componente que per-
lucionado notablemente y ahora no
mite que el flujo de corriente vaya
presentan estas dificultades.

254
La electrónica

Existen diversos tipos de diodos. El emplazo del triodo (una válvula de


led (Light Emmiting Diode, diodo tres patas con las mismas funciones
emisor de luz) es un diodo que emi- pero con los problemas que ya vimos
te luz monocromática cuando la co- que presenta ese componente). El más
rriente lo atraviesa. El color, curiosa- común (y que nosotros usamos en
mente, no depende del plástico que nuestros circuitos) tiene tres patitas,
lo rodea sino del material empleado que se conocen como emisor, colec-
en la construcción del diodo. Los pri- tor y base. En forma simplificada, la
meros leds fueron infrarrojos y de co- corriente que aplicamos en el colector
lor rojo, naranja, amarillo y verde. sale amplificada en el emisor si es que
Hace poco tiempo se han logrado la base recibe corriente continua. Es
leds azules, con lo cual podemos cre- más, la corriente que sale por el emi-
ar cualquier color con la combina- sor puede ser regulada por la corrien-
ción de rojo, verde y azul. El voltaje te que ingresa por la base. Estos tran-
de operación de un led varía entre 1,5 sistores, que se conocen como bipo-
V y 2,2 V, la intensidad varía entre 10 lares, son los más comunes y los po-
mA y 20 mA en los rojos, y entre 20 demos encontrar en dos variantes:
mA y 40 mA en los otros. NPN y PNP. La diferencia entre es-
tos dos modelos es la polaridad de sus
Transistor electrodos. En el primer caso, la base
El transitor es un componente semi- va a positivo y el emisor a negativo, y
conductor activo que se puede utili- es al revés en el otro caso, como po-
zar como amplificador, oscilador, demos ver en la Figura 7. Además, en
rectificador o conmutador. Lo po- NPN, el colector debe ser más positi-
demos encontrar en prácticamente el vo que la base y en PNP, más negati-
100% de los productos electrónicos vo. La aparición del transistor fue un
que nos rodean. Fue creado en los la- salto muy significativo para la electró-
boratorios de Bell en 1947 como re- nica digital, en reemplazo de las vál-

PNP PNP
Colector Colector
Base Base

Emisor Emisor

Figura 7. Un transistor y los símbolos para NPN


(en el que la flecha va hacia fuera) y PNP.

255
A. CONCEPTOS BÁSICOS DE ELECTRÓNICA

vulas de vacío y el surgimiento de apa- Herramientas fundamentales


ratos electrónicos de menor tamaño, Ahora que ya hemos visto los com-
costo y temperatura. Luego, con el ponentes más significativos de nues-
surgimiento de los integrados, estas tro proyecto, presentaremos una lis-
características se acentuaron aún más. ta de las herramientas que conside-
ramos imprescindibles para armar
Circuitos integrados nuestro pequeño taller de electróni-
Como bien dice su nombre, es un ca y así llevar a nuestros primeros ro-
circuito plasmado en una pequeña bots a buen puerto.
pastilla de silicio con miles o millo-
nes de componentes, principalmen- ● Estaño: recomendamos el que tiene
te diodos y transistores (Figura 8). almas de resina, en forma de alam-
Como ejemplo tenemos los micro- bre, de 0,8 mm de grosor, 60% de
procesadores, las memorias, los am- estaño y 40% de plomo. Como se-
plificadores, los osciladores, etcéte- guramente lo usaremos en gran can-
ra. A pesar de que existe un conjun- tidad, es mejor comprar un rollo (Fi-
to de barreras físicas a la reducción gura 9) que nos durará largo tiempo.
de tamaño de los integrados, día a
día se mejoran los materiales y las
técnicas de fabricación, lo que per-
mite el crecimiento del número de
componentes del circuito. Su inven-
tor, Jack Kilby, recibió el premio
Nobel en el año 2000, 42 años des-
pués de la aparición de su invento.
Figura 9. Rollo de estaño.

● Soldador: nos va a alcanzar con


un soldador de 35 a 40 W con una
punta de 2 a 3 mm. El tipo de sol-
dador más económico es el de lá-
piz (Figura 10), que es suficiente pa-
ra nuestras primeras experiencias.
El único problema que tiene es
que tarda en levantar temperatura,
Figura 8. Un circuito integrado pero sólo nos consumirá un po-
por dentro. quito de paciencia.

256
La electrónica

Figura 10. Soldador tipo lápiz. Figura 12. Desoldador de succión o vacío.

● Soporte de soldador: si no quere- ● Morsita o pinzas para manos li-


mos dejar marcas en todas las mesas bres: cuando tenemos que soldar ne-
sobre las que trabajemos, el soporte cesitamos que las partes estén en una
de soldador (Figura 11) nos permitirá posición cómoda. Con alguno de es-
dejarlo en funcionamiento sin que- tos implementos podemos ubicarlas
mar la superficie donde lo apoye- en el aire y sin contactos molestos.
mos. No es imprescindible, pero se- ● Pinzas y alicates: permiten tomar
guro será más caro hacer una res- objetos para manipularlos con preci-
tauración de la mesa. sión, doblar las patitas de los compo-
nentes, cortar y pelar cables, etcétera.
● Destornilladores: planos y philips,
nos permitirán ajustar potencióme-
tros variables, borneras, separar inte-
grados de sus zócalos, etcétera.
● Tester: pieza fundamental de nuestro
taller, nos permitirá medir la conti-
nuidad, la resistencia, la corriente y la
tensión de nuestro circuito (Figura 13).

Por último, recomendamos buscar un


lugar cómodo para poder trabajar, don-
Figura 11. Soporte de soldador típico. de podamos dejar nuestro proyecto a
medio terminar sin tener que guardar-
● Desoldador: es un succionador de lo y sacarlo cada vez. Es necesario que
estaño que nos permite, en forma seamos ordenados con nuestros com-
sencilla cuando queremos corregir o ponentes, y para ello podemos utilizar
desoldar un componente, aspirar rá- diversas cajitas que nos permitan clasi-
pidamente el estaño cuando se ablan- ficar los elementos para encontrarlos
da. En nuestros primeros fracasos con rapidez cuando los necesitemos.
cuando soldemos, se convertirá en un Tener todos los componentes en un
aliado fundamental (Figura 12). frasco nos hará perder mucho tiempo.

257
A. CONCEPTOS BÁSICOS DE ELECTRÓNICA

Figura 13. Tester digital.

Consejos para soldar punta del soldador. Cuando aplicamos


Para finalizar este apéndice, daremos al- el estaño, lo debemos hacer sobre la su-
gunos consejos útiles para soldar, dado perficie calentada y no sobre la punta
que todo error que cometamos en este del soldador. Una característica que po-
punto hará que detectar dónde se pro- demos usar para verificar la calidad de
duce la falla sea mucho más complica- nuestra soldadura es su color: si su aca-
do. Además, una soldadura mal hecha bado es brillante, es un buen signo. La
puede ocasionar problemas en el cir- unión mate nos indica una posible sol-
cuito en un momento inesperado. dadura fría. Otro problema habitual es
Uno de los errores más habituales es el creer que el estaño nos servirá no sólo
de la soldadura fría, que ocurre cuan- para la conducción sino también para
do no aplicamos el calor en forma co- el sostén mecánico de la unión. Esto no
rrecta y el estaño está soldado en forma es así. Es fácil de comprobar al ver có-
parcial y muy débil. Para evitarlo, de- mo se comporta el material cuando lo
bemos usar un soldador con la poten- tenemos en el rollo: es blando y muy
cia adecuada para el tipo de estaño que maleable. Por lo tanto, la unión mecá-
utilicemos. También el estaño debe ser nica entre los componentes debe estar
el adecuado para las uniones que reali- dada por otros aspectos de la conexión.
cemos. Todas las superficies que una- El estaño sólo sirve para unir de forma
mos deben estar limpias, igual que la eléctrica, pero no de forma mecánica.

258
Robótica Apéndice B
Sitios web
En este apartado conoceremos un

listado de los sitios que nos ayudarán

a encontrar información adicional

sobre cuestiones relacionadas con

la robótica. Además, conoceremos

algunas aplicaciones que podemos

utilizar para ampliar nuestras

posibilidades de programación.

Listado de sitios 260


SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com Aplicaciones útiles 267
B. SITIOS WEB

LISTADO DE SITIOS
Pablin
www.pablin.com.ar

Un buen lugar para profundizar aquellos aspectos vinculados a la electrónica que


no hayamos comprendido de nuestro robot. Tiene cursos de programación y pla-
nos de circuitos que podemos fabricar para usar en nuestra creación.

RobotIA
www.robotia.com.ar

Sitio desarrollado por Néstor Balich, uno de los colaboradores de este libro. Pre-
senta videos, noticias y proyectos de robótica autónoma y controlada. Tiene in-
formación de los equipos del CAETI que participan en campeonatos de fútbol.

260
Listado de sitios

Curso básico de electrónica


www.electronica2000.net

Si nuestros conocimientos de electrónica son muy básicos, en este sitio po-


demos encontrar un buen tutorial que nos ayudará a esclarecer el mágico
funcionamiento de nuestros circuitos. Comienza con conceptos funda-
mentales y recorre una amplia gama de temas electrónicos.

FIRA
www.fira.net

FIRA (Federation of International Robosoccer Association) es una de las


dos ligas internacionales sobre fútbol de robots. En su sitio podemos en-
contrar el reglamento de todas las categorías, los programas de simulación,
y noticias y videos de todos los torneos que se llevan a cabo.

261
B. SITIOS WEB

RoboCup
www.robocup.org

Ésta es la otra liga internacional de fútbol de robots, que incluye competencias


de rescate. En su sitio podemos ver imágenes y videos de las competencias, en-
terarnos de las últimas novedades y conocer los sitios de los participantes.

Carnegie Mellon – The Robotics Institute


www.ri.cmu.edu

A nuestro humilde entender, el centro de robótica más importante del pla-


neta en todos los niveles. A pesar de que el MIT tiene grandes desarrollos
en software, con respecto al hardware estos muchachos nos hacen sacar el
sombrero. En este sitio podemos encontrar miles de artículos y enlaces pa-
ra divertirnos por el resto de nuestras vidas.

262
Listado de sitios

Robots en Argentina
http://robots-argentina.com.ar

Un espacio lleno de noticias, artículos, enlaces, desarrollos y otros mate-


riales sobre robótica coordinado por Eduardo J. Carletti. Podemos encon-
trar información de sensores, actuadores, circuitos, baterías, controladores
y todo lo que necesitemos para construir nuestros robots.

Microchip
www.microchip.com

La cuna de nuestro querido PIC16F84 y todos sus primos y hermanos. Aquí


encontraremos todas las hojas de datos, descripciones, comparaciones, bench-
marks y demás sobre la línea de micros de esta empresa. Si queremos fami-
liarizarnos con estos productos, no podemos dejar de visitar este sitio.

263
B. SITIOS WEB

Atmel
www.atmel.com

Y si nombramos a Microchip, no podemos dejar de lado a su empresa com-


petidora, los micros de Atmel. De la misma manera, en este sitio podemos
encontrar toda la información sobre los micros que algunos prefieren por
sobre los PICs por sus cualidades y buen precio.

FIRST
www.usfirst.org

Sitio de la competencia FIRST (For Inspiration and Recognition of Science and


Technology). Esta liga incluye diversas categorías de robótica inspiradas en pro-
blemas científicos concretos. Incluye la FLL, First Lego League, orientada a jó-
venes de 9 a 14 años que compiten con los robots de Lego.

264
Listado de sitios

Laboratorio de robótica del MIT


http://robots.mit.edu

El MIT tampoco es un mal lugar para investigar sobre estos temas. En este
sitio específico encontraremos los detalles de todos sus proyectos de robots es-
paciales, móviles y otros. La lista de artículos presentados es notable, y algu-
nos de ellos están disponibles para nuestra lectura.

Grupo de Investigación en Robótica Autónoma de la UAI


www.caeti.uai.edu.ar/gidra/

Éste es nuestro grupo de robótica del Centro de Altos Estudios de la UAI. Allí
investigamos sobre robótica situada, y aplicamos estos estudios a fútbol de ro-
bots, de rescate y otros. También nos preocupa la inserción de la robótica en la
educación y para ello trabajamos mucho en ambientes educativos.

265
B. SITIOS WEB

Robocup en el Instituto Tecnológico de Monterrey


www.cem.itesm.mx/robocup/

El ITESM ha participado asiduamente de la RoboCup. En este sitio pode-


mos encontrar información sobre los diversos equipos participantes, códigos
fuentes para comenzar a trabajar, videos, reglamentos y muchas cosas más pa-
ra empezar a soñar con la posibilidad de participar en la liga.

Wowwee
www.wowwee.com

El mayor creador y fabricante de robots de producción masiva. Creadores


del Robosapiens, Flytech y otros robots que parecen de juguete pero que
permiten desarrollar muchísimas investigaciones con los aspectos mecáni-
cos y electrónicos solucionados.

266
Aplicaciones útiles

APLICACIONES ÚTILES
Microsoft Robotics Studio
http://msdn.microsoft.com/robotics/

Entorno de robótica basado en Windows para desarrollos académicos, hobbistas


y comerciales. Permite vincularse con diversas plataformas de hardware y cuen-
ta con un motor de simulación basado en física muy potente.

Proyecto Rossum
http://rossum.sourceforge.net/

Rossum es un proyecto para el desarrollo open source de plataformas de


software para robótica. Ya está en funcionamiento un simulador donde po-
demos poner en práctica nuestros conocimientos.

267
B. SITIOS WEB

Webots
www.cyberbotics.com

Webots es el software comercial más popular de prototipación y simulación


de robots móviles. Puede vincularse con diversas plataformas de hardware, de
manera tal que al finalizar la simulación podamos bajar el código al robot re-
al. Tiene modelado a Aibo, Qrio y otros robots de amplia fama internacional.

CCS
www.ccsinfo.com

Si el Basic no nos alcanza, aquí podemos encontrar diversos compiladores


para PIC. Tenemos versiones para los micros más importantes de Micro-
chip. En todos los casos, están basados en el lenguaje C. Podemos usarlos
en línea o con una IDE en Windows muy potente.

268
Robótica

Servicios
al lector
En este último apartado conoceremos

el listado de publicaciones que nos

ayudaron a obtener conocimientos

y que, sin dudas, serán de utilidad para

continuar con nuestro aprendizaje.

Bibliografía 270
Indice temático 275
Equivalencia de términos 277
Abreviaturas comúnmente
SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers.com utilizadas 279
SERVICIOS AL LECTOR

BIBLIOGRAFÍA
General
Santos, J. y Duro, R. (2004). Evolución Artificial y Robótica Autónoma.
Coedición: 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 Robótica. Mc Graw Hill.
Angulo Usategui, J. M. (1999). Robótica Práctica. Madrid: Paraninfo.
Ollero Baturone, A. (2001). Robótica: Manipuladores y robots móviles.
España: Marcombo.
Angulo J. M., Romero Yesa S. y Angulo Martínez I. (2002). Microbótica.
Tecnología, aplicaciones y montaje práctico. Madrid: Thomson - Paraninfo.
Torres Medina F., Gil P., Pomares J. y Puente S. (2002).
Robots y sistemas sensoriales. Prentice Hall.
Artículos diversos de Wikipedia.

Capítulo 1
Zabala, G. y Mon, G. (2005, mayo). Introducción a la robótica.
Revista Power Users #20.
Zabala, G. y Mon, G. (2005, junio). Primeros pasos en Robótica Autónoma.
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
Bibliografía

Zabala, G. y Mon, G. (2005, noviembre). Kit BlockyTronic


y Fischer Technik. Revista Power Users #26.
Zabala, G. y Mon, G. (2006, enero). Robótica sin kits (I).
Revista Power Users #28.
Zabala, G. y Mon, G. (2006, marzo). Robótica sin kits (II).
Revista Power Users #30.
Ramos, J., González Florentino, R. y Meléndez S. Clasificación de los robots.
Consultado el 21 de enero de 2007, Robotec Tecnología Robótica, página
web: http://robotec11.tripod.com/id4.html.

Capítulo 2
Lindsay, A. (2004). Robotics with the Boe-Bot. California: Parallax.
González Gómez, J. y Prieto-Moreno Torres, A. (2004, noviembre).
Robótica en la Universidad. Madrid: Universidad Autónoma de Madrid.
Lindsay, A. (2004). What´s a Microcontroller. Rocklin, California: Parallax.

Capítulo 3
Zabala, G., Mon, G. y Balich, N. (2006, abril).
Astro: construyendo nuestro primer robot (I). Revista Power Users #31.
Zabala, G., Mon, G. y Balich, N. (2006, mayo).
Astro: construyendo nuestro primer robot (II). Revista Power Users #32.
Zabala, G., Mon, G. y Balich, N. (2006, junio).
Astro: construyendo nuestro primer robot (III). Revista Power Users #33.
Microchip (2005). Datasheet PIC16F87/88. Chandler, Arizona: Microchip.

Capítulo 4
Upadhye, R. S. (2004, abril). Selection of Batteries and Fuel Cells
for Yucca Mountain Robots. 10th International Conference on Robotics
and Remote Systems For Hazardous Environments. Gainesville, FL:
American Nuclear Society.

271
SERVICIOS AL LECTOR

Young, J. y Bennett, J. (2000). Elec 201: Course Notes. Batteries.


Houston, Texas: Rice University. Obtenido el 14 de abril de 2007 de
www.owlnet.rice.edu/~elec201/Course_Notes.htm#contents.
MIT 6.270 book. (1997). Obtenido el 14 de abril de 2007
de http://mil.ufl.edu/imdl/6270/DEFAULT.HTM.

Capítulo 5
MikroElektronika (2006). Manual del usuario de mikroBasic.
Belgrado: mikroElektronika.

Capítulo 6
Wikipedia. Motor de corriente continua. Obtenido el 2 de junio de 2007
de http://es.wikipedia.org/wiki/Motor_de_corriente_continua.
Motor de corriente continua C.C. Obtenido el 2 de junio de 2007
de www.unicrom.com/Tut_MotorCC.asp.
Motor de corriente continua. Obtenido el 2 de junio de 2007
de http://personales.com/peru/arequipa/compupari/.
Rueda, L. Secuencia para Motores-PaP Unipolares.
Obtenido el 4 de junio de 2007
de http://r-luis.xbot.es/ebasica2/mpap_03.html.
Tutorial sobre motores paso a paso. Obtenido el 4 de junio de 2007
de www.todorobot.com.ar/informacion/tutorial%20stepper/
stepper-tutorial.htm.
Cubas García, A. Introducción a los motores paso a paso. Obtenido el 4
de junio de 2007 de www.redeya.com/electronica/tutoriales/
mpp/mpp.htm.
Teoría del funcionamiento de los servomotores. Obtenido el 4 de junio
de 2007 de www.todorobot.com.ar/documentos/servomotor.pdf.
Baliñas Santos, J. (2006). Trucaje de Servomotores Futaba 3003. Seminario
de diseño y construcción de microrrobots. Universidad de Alcalá.
Fernández, J. (2006). ¿Qué es un servomotor?. Obtenido el 4 de junio
de 2007 de www.zonabot.com/actuadores/que-es-un-servomotor-.html.

272
Bibliografía

Capítulo 7
Abad Cartón, G. (2006). Sensores en robótica. Seminario de diseño
y construcción de microrrobots. Universidad de Alcalá.
Microchip (1998). Datasheet PIC16F84A. Chandler, Arizona: Microchip.
López, G. y Margni, S. (2003). Motores y Sensores en Robótica.
Proyecto de grado de la Facultad de Ingeniería de la Universidad
de la República 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., Castañeda Pérez R.
y Contreras Torres A. C. (1998). Implementación de un sistema
de desarrollo utilizando los microcontroladores PIC Microchip Technology.
Universidad de Guadalajara.

Capítulo 8
Lober, J. A. V. (2003). Técnicas de inteligencia artificial en la construcción
de robots móviles autónomos. Trabajo de grado. Facultad de Ciencias
de la Universidad de Salamanca.
Martin, F. (1995). El arte del diseño con Lego. Documento interno
de Lego con traducción del Ing. Hazel Díaz.
Carreras, M., Hospital, E., Salellas, J. y Batlle, J. (2000). Arquitectura
mecánica de un prototipo de robot bípedo. Comunicación de un proyecto
de investigación de la Universidad de Girona.
Arango Saveedra A., Satizábal Mejía, H. F. y Loaiza Correa, H. (2004)
Diseño e implementación de un robot móvil hexápodo.
Universidad del Valle, Colombia.
Sucar, L. E. Robótica Móvil: Arquitecturas. Presentación
para el Departamento de Computación del ITESM Cuernavaca.
González Gómez, J. (2004). Diseño de robots ápodos: Cube revolutions.
Escuela Politécnica Superior de la Universidad Autónoma de Madrid.
Presentación en la Semana de la Ciencia Andaluza.

273
SERVICIOS AL LECTOR

Ruiz del Solar, J., Zagal, J. C. Documentación de la materia EL710


Robótica Móvil. Universidad de Chile. Obtenida el 24 de junio
de http://robotica.li2.uchile.cl/el710/.

Capítulo 9
Zabala, G. (2004, julio). Roboliga - Publicación del artículo presentado
en el 14 Encuentro de Actualización Docente.
En Revista Novedades Educativas.
Remiro, F. Microcontroladores: las interrupciones. Obtenido el 30 de julio
de 2007 de www.terra.es/personal/fremiro/interrupciones.htm.

Capítulo 10
Martins da Silva Aparicio, P. M. (2000). Design and implementation of
a population of cooperative autonomous robots. Tesis de grado.
Universidad Técnica de Lisboa.
Zabala, G. (2004, noviembre). Programación en Fútbol de Robots.
Revista .Code #7.
Sotelo Iniesta, E. D. (2006). Diseño e implementación de los robots F180
del ITAM. Tesis de grado. Instituto Tecnológico Autónomo de México.

Apéndice A
González Romero N. (2005). Manual de soldadura. Universidad
Politécnica de Madrid. Documento presentado en Cybertech 2005.
Bodington, C. (2007). Lectura de capacitores. Obtenido el 14
de septiembre de 2007 de
www.conexionelectronica.com/content/view/23/29/.
Palazzesi, A. (2007). Herramientas necesarias para el taller del hobbista
de la electrónica. Obtenido el 14 de septiembre de 2007
de www.ucontrol.com.ar.

274
Índice temático

ÍNDICE TEMÁTICO
A Diodo 254
Actuadores 23, 39 Display 23, 41
Acuáticos 21, 174
Aéreos 21, 173 E
Alcance 111 EEPROM 28, 65
Analógico 35, 64, 158 Efecto hall 156
Arreglo 114 Electricidad 248
Assembler 97, 107, 118 Encoder 23, 196
Autónomos 22 Engranajes 190
Estator 40
B
Baterías 79, 169 F
Bipolar 41, 137 Final de carrera 53
Bootloader 67, 96 Firmware 24, 26
Bumpers 63, 153 Fotorresistencia 35, 55
Buzzers 23 Funciones 102

C H
Campo magnético 127 Híbridos 21, 22
Capacitor 252 Holonómica 195
Cargador 87
CCP 65 I
Cianocrilato 57 ICSP 66, 74
Cinemática 194 Industriales 19
Circuitos intermedios 34 Infrarrojo 37, 55, 154
Código fuente 100 Interrupciones 206
Comparador 66
Compilador 96, 98 K
Control automatizado 22 Kits 24
Controlador 64, 157, 169
Corriente continua 39, 127, 249 L
LDR 55, 162
D Leds 23
Depurador 103, 105 Lego 26, 56
Digital 35, 152 Litio 82

275
SERVICIOS AL LECTOR

M Puente H 67, 129


MDF 57 PVC 57
Memoria 65 PWM 42, 65, 131, 141
Metacrilato 58
MicroBasic 95, 98 R
Microcontrolador 30, 48, 64 RAM 65
Micromotor 134 Recargar 87
Motor 23, 25, 39, 126, 172 Resistencia 251
Motorreductores 50, 134 Reusabilidad 25, 56
Rotor 40, 136
N
Níquel 81, 83 S
Sensor 23, 25, 33, 53, 64, 148, 171, 203
O Sentencias 117
Odometría 196 Servo 140
Omnidireccional 51, 182, 224 Servomotor 41
Operadores 116 Soldar 258

P T
Palm 31 Tensión 250
Paso a paso 40, 135 Terrestres 21, 174
PDA 31 Timer 65
PFM 132 Tokens 108
PIC 49 Torque 127
Pinout 67 Tracción diferencial 51, 185, 224
Pipelined 50 Transistor 255
Placa experimental 71
Plantillas 102 U
Plomo 84 Ultrasonido 37
Pocket PC 31 Unipolar 41, 137
Poleas 193 USART 65
Portapilas 86
Potenciómetro 163 V
Procesador 24 Variables 108, 112
Procesamiento 23 Visibilidad 112
Programador 71, 96 Vitrificación 79
Protoboard 28, 69 Voltaje nominal 79

276
Equivalencia de términos

EQUIVALENCIA DE TÉRMINOS

En este libro Otras formas En inglés


▲ ▲ ▲
Acceso dial up Acceso de marcación
Actualización Update, Upgrade
Actualizar Refresh
Ancho de banda Bandwidth
Archivos Filas, Ficheros, Archivos electrónicos Files
Archivos adjuntos Archivos anexados o anexos Attach, Attachment
Backup Copia de respaldo, Copia de seguridad
Balde de pintura Bote de pintura
Base de datos Database
Booteo Inicio/Arranque Boot
Buscador Search engine
Captura de pantalla Snapshot
Carpeta Folder
Casilla de correo Buzón de correo
CD-ROM Disco compacto Compact disk
Chequear Checar, Verificar, Revisar Check
Chip Pastilla
Cibercafé Café de Internet
Clipboard Portapapeles
Cliquear Pinchar
Colgar Trabar Tilt
Controlador Adaptador Driver
Correo electrónico E-Mail,
Electronic Mail, Mail
Descargar programas Bajar programas, Telecargar programas Download
Desfragmentar Defrag
Destornillador Desarmador
Disco de inicio Disco de arranque Startup disk
Disco rígido Disco duro, Disco fijo Hard disk
Disquete Disco flexible Floppy drive
Firewall Cortafuego
Formatear Format
Fuente Font
Gabinete Chasis, Cubierta
Grabadora de CD Quemadora de CD CD Burn
Grupo de noticias Newsgroup

277
SERVICIOS AL LECTOR

En este libro Otras formas En inglés


▲ ▲ ▲
Handheld Computadora de mano
Hipertexto HyperText
Hospedaje de sitios Alojamiento de sitios Hosting
Hub Concentrador
Impresora Printer
Inalámbrico Wireless
Libro electrónico E-Book
Lista de correo Lista de distribución Mailing list
Motherboard Placa madre, Placa base
Mouse Ratón
Navegador Browser
Notebook Computadora de mano,
Computadora portátil
Offline Fuera de línea
Online En línea
Página de inicio Home page
Panel de control Control panel
Parlantes Bocinas, Altavoces
PC Computador, Ordenador, Computadora Personal Computer
Personal, Equipo de cómputo
Pestaña Ficha, Solapa
Pila Batería Battery
Placa de sonido Soundboard
Plug & Play Enchufar y usar
Por defecto Por predefinición By default
Programas Aplicación, Utilitarios Software, Applications
Protector de pantalla Screensaver
Proveedor de acceso Internet Service
a Internet Provider
Puente Bridge
Puerto Serial Serial Port
Ranura Slot
Red Net, Network
Servidor Server
Sistema operativo SO Operating System (OS)
Sitio web Site
Tarjeta de video Placa de video
Tipear Teclear, Escribir, Ingresar, Digitar
Vínculo Liga, Enlace, Hipervínculo, Hiperenlace Link

278
Abreviaturas comúnmente utilizadas

ABREVIATURAS COMÚNMENTE UTILIZADAS

Abreviatura Definición
▲ ▲
ADSL Asymmetric Digital Subscriber Line o Línea de abonado digital asimétrica
AGP Accelerated Graphic Port o Puerto acelerado para gráficos
ANSI American National Standards Institute
ASCII American Standard Code of Information Interchange
o Código americano estándar para el intercambio de información
BASIC Beginner´s All-Purpose Symbolic Instruction Code
BIOS Basic Input/Output System
Bit Binary digit (Dígito binario)
Bps Bits por segundo
CD Compact Disk
CGI Common Gateway Interface
CPU Central Processing Unit o Unidad central de proceso
CRC Cyclic Redundancy Checking
DNS Domain Name System o Sistema de nombres de dominios
DPI Dots per inch o puntos por pulgada
DVD Digital Versatile Disc
FTP File Transfer Protocol o Protocolo de transferencia de archivos
GB Gigabyte
HTML HyperText Mark-up Language
HTTP HyperText Transfer Protocol
IDE Integrated Device Electronic
IEEE Institute of Electrical and Electronics Engineers
IP Internet Protocol
IR Infra Red
IRC Internet Relay Chat
IRQ Interrupt Request Line o Línea de petición de interrupción
ISO International Organization Standard u Organización de Estándares
Internacionales
ISP Internet Service Provider o Proveedor de acceso a Internet
KB Kilobyte
LAN Local Area Network o Red de área local
LCD Liquid Crystal Display o Pantalla de cristal líquido
LPT Line Print Terminal
MB Megabyte
MBR Master Boot Record
MHz Megahertz

279
SERVICIOS AL LECTOR

Abreviatura Definición
▲ ▲
NETBEUI Network Basic Extended User Interface o Interfaz de usuario extendida NETBios
OEM Original Equipment Manufacturer
OS Operative System
OSI Open Systems Interconnection o Interconexión de sistemas abiertos
PCMCIA Personal Computer Memory Card International Association
PDA Personal Digital Assistant
PDF Portable Document Format
Perl Practical Extraction and Report Language
PGP Pretty Good Privacy
PHP Personal Home Page Tools, ahora llamado PHP Hypertext Preprocessor
POP3 Post Office Protocol 3 o versión 3 del Protocolo de oficina de correo
PPP Point to Point Protocol o Protocolo punto a punto
RAM Random Access Memory
ROM Read Only Memory
SMTP Simple Mail Transport Protocol o Protocolo simple
de transferencia de correo
SPX/IPX Sequence Packet eXchange/Internetwork Packet eXchange o Intercambio
de paquetes secuenciales/Intercambio de paquetes entre redes
SQL Structured Query Language
SSL Secure Socket Layer
TCP/IP Transfer Control Protocol / Internet Protocol o Protocolo de control de
transferencia / Protocolo de Internet
UML Lenguaje de Modelado Unificado
UDP User Datagram Protocol
UPS Uninterruptible Power Supply
URL Uniform Resource Locator
USB Universal Serial Bus
VGA Video Graphic Array
WAN Wide Area Network o Red de área extensa
WAP Wireless Application Protocol
WWW World Wide Web
XML Extensible Markup Language

280
CLAVES PARA COMPRAR
UN LIBRO DE
COMPUTACIÓN

1 Sobre el autor
y la editorial
Revise que haya un cuadro
"sobre el autor", en el que se
informe sobre su experiencia
en el tema. En cuanto a la
editorial, es conveniente que
sea especializada en
computación.

2 Preste atención
al diseño
Compruebe que el libro tenga
guías visuales, explicaciones
paso a paso, recuadros con
información adicional y gran
cantidad de pantallas. Su u s e r s h o p . r e d u s e r s .com
lectura será más ágil y
atractiva que la de un libro
de puro texto.
Visite nuestro sitio web

3 Compare
precios
Suele haber grandes
Utilice nuestro sitio usershop.redusers.com:
• Vea información más detallada sobre cada libro de este catálogo.
diferencias de precio entre • Obtenga un capítulo gratuito para evaluar la posible compra
libros del mismo tema; si no
tiene el valor en la tapa, de un ejemplar.
pregunte y compare. • Conozca qué opinaron otros lectores.
• Compre los libros sin moverse de su casa y con importantes
4 ¿Tiene valores
agregados?
Desde un sitio exclusivo en la
descuentos.
Red hasta un CD-ROM, desde • Publique su comentario sobre el libro que leyó.
un Servicio de Atención al • Manténgase informado acerca de las últimas novedades
Lector hasta la posibilidad de
leer el sumario en la Web y los próximos lanzamientos.
para evaluar con tranquilidad
la compra, o la presencia de > También puede conseguir nuestros libros en kioscos o puestos
buenos índices temáticos,
todo suma al valor de un
de periódicos, librerías, cadenas comerciales, supermercados y
buen libro. casas de computación de todo el país.

5 Verifique
el idioma
No sólo el del texto; también
revise que las pantallas
incluidas en el libro estén en
Compra Directa! usershop.redusers.com
el mismo idioma del >> Conéctese con nosotros y obtenga beneficios exclusivos:
programa que usted utiliza.
ARGENTINA ✆ (011) 4110-8700 CHILE ✆ (2) 810-7400 ESPAÑA ✆ (93) 635-4120

6 Revise la fecha
de publicación
Está en letra pequeña en las
MÉXICO ✆ (55) 5350-3099, desde el interior sin costo al 01-800-2888-010
e-mail a: usershop@redusers.com
primeras páginas; si es un libro
traducido, la que vale es la
fecha de la edición original.
Visite nuestro sitio en la Web
>> usershop.redusers.com

Redes GNU/Linux Mundo Linux Administrador de Redes


En las páginas de este libro encon- Este manual contiene informes, secre- En este manual encontraremos en for-
traremos un recorrido por aquellos tos, consejos y trucos que nos permiti- ma didáctica, clara y precisa todos los
temas vinculados al armado de redes rán descubrir y aprovechar todo el po- conceptos vinculados a la planifica-
profesionales, y descubriremos ca- tencial que posee este sistema opera- ción, instalación y puesta en funcio-
da una de las herramientas que tivo. Está destinado a usuarios que ya namiento de una red en una empresa
GNU/Linux posee para su adminis- tienen alguna experiencia y desean pequeña utilizando Windows Small
tración avanzada. dominar sus herramientas. Business Server.

> COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS
> 336 páginas / ISBN 978-987-1347-55-1 > 256 páginas / ISBN 978-987-1347-54-4 > 336 páginas / ISBN 978-987-1347-53-7

101 Trucos para la PC El gran libro del desarrollador 202 Secretos de Linux
Este libro nos permitirá acelerar el fun- En este libro encontraremos el mejor Cómo optimizar el sistema y volverlo
cionamiento de nuestra PC, convertir- material para estar actualizados con más seguro, aumentar el rendimiento
la en una fortaleza frente a los ata- las últimas tecnologías, herramientas del equipo, habilitar funciones espe-
ques, optimizar el rendimiento, nave- y recursos del mundo de la progra- ciales y automatizar tareas cotidianas,
gar más rápido por Internet, aprove- mación. 256 páginas a todo color donde son sólo algunos de los objetivos que
char al máximo las nuevas caracterís- los expertos desarrollan los conceptos lograremos con los más de 200 secre-
ticas de Office 2007 y mucho más. fundamentales de cada plataforma. tos revelados en este libro.
> COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS
> 336 páginas / ISBN 978-987-1347-48-3 > 256 páginas / ISBN 978-987-1347-47-6 > 320 páginas / ISBN 978-987-1347-41-4

I Un servicio exclusivo para responder a sus consultas sobre nuestros productos > > > > >
¡GRATIS LÉALO ANTES! >> En nuestro sitio puede obtener en forma
gratuita un capítulo del libro que quiera.

Excel 2007 Inteligencia Artificial PC Total


Este manual brinda los conocimientos En este libro empezaremos a descu- Este libro contiene cientos de activi-
necesarios para dominar la nueva ver- brir la esencia detrás de esta metodo- dades, procedimientos, ideas y conse-
sión de Excel. Está destinado tanto a logía del desarrollo de videojuegos y a jos que nos permitirán obtener el máx-
quienes nunca utilizaron Excel, como crear algoritmos que tomen decisio- imo potencial de nuestra PC. Destina-
también a quienes buscan conocer y nes o las apoyen de manera inteligen- do a quienes utilizan su computadora
dominar las novedades de esta pode- te. Una obra práctica reforzada con te- especialmente en la oficina o en su
rosa herramienta. oría para aprender más rápido. casa para trabajar o estudiar.

> COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS
> 352 páginas / ISBN 978-987-1347-50-6 > 320 páginas / ISBN 978-987-1347-51-3 > 224 páginas / ISBN 978-987-1347-49-0

Secretos PC Windows Vista Videojuegos


En esta obra presentamos una selec- Este manual contiene un material imper- En este libro encontrará todas las
ción de los mejores secretos, solucio- dible para aprovechar al máximo todo el claves para aprender a programar un
nes, ideas y actividades para aprove- potencial del nuevo Windows Vista. En videojuego desde cero utilizando Visu-
char nuestra computadora al máximo. sus páginas encontraremos cientos de al C++ Express. Un material imperdible
Con explicaciones desarrolladas a tra- trucos, claves y secretos para dominar de principio a fin para quienes quieren
vés de procedimientos paso a paso, guí- nuestra PC en el trabajo y el hogar con hacer sus primeras armas en el mun-
as visuales y consejos de los expertos. el nuevo sistema operativo. do de la creación de videojuegos.

> COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS
> 224 páginas / ISBN 978-987-1347-42-1 > 384 páginas / ISBN 978-987-1347-40-7 > 416 páginas / ISBN 978-987-1347-38-4

> > > > > > > > > > > > Servicio de Atención al Lector >> lectores@redusers.com
Visite nuestro sitio en la Web
>> usershop.redusers.com

Redes avanzadas Técnico en Redes Diseño Web con Flash


Un libro especialmente pensado para Este libro brinda los conocimientos Esta obra está destinada a usuarios
instalar, configurar y administrar necesarios para planificar, instalar, que no conocen Flash y desean dom-
grandes redes. Siguiendo un ejemplo configurar y administrar redes de inarlo, y a quienes buscan conocer los
concreto, veremos todos los pasos a computadoras para el hogar y la ofi- pasos a seguir para hacer que un sitio
seguir para comprar el equipamiento, cina. Veremos cómo comprar e insta- web luzca profesional. El material más
instalar el cableado, configurar los lar, armar la red, compartir y adminis- completo sobre la herramienta elegi-
servidores y administrar la red trar los recursos y protegerla. da por los profesionales.

> COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS
> 256 páginas / ISBN 978-987-1347-36-0 > 256 páginas / ISBN 978-987-1347-37-7 > 384 páginas / ISBN 978-987-1347-34-6

3D Max Master Producción musical con la PC AJAX Web 2.0


En las páginas de este libro encon- Este libro nos ofrece las herramientas Este manual nos brindará los conoci-
traremos un recorrido por aquellos teóricas y prácticas necesarias para mientos y las herramientas necesa-
temas vinculados al armado de redes poder componer y grabar música por rias para implementar soluciones ba-
profesionales, y descubriremos ca- computadora. Cada capítulo contiene sadas en Ajax. Veremos los lenguajes
da una de las herramientas que ideas para dominar Ableton Live, Rea- JavaScript, PHP, .NET, Java, XML, y
GNU/Linux posee para su adminis- son y Soundforge. Gracias al proyec- JSON. Conceptos teóricos y casos
tración avanzada. to integrador, dominaremos este arte. prácticos listos para implementar.

> COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS
> 352 páginas / ISBN 978-987-1347-28-5 > 320 páginas / ISBN 978-987-1347-24-7 > 416 páginas / ISBN 978-987-1347-20-9

I Un servicio exclusivo para responder a sus consultas sobre nuestros productos > > > >
¡GRATIS LÉALO ANTES! >> En nuestro sitio puede obtener en forma
gratuita un capítulo del libro que quiera.

Visual Basic 20055 Grabación de CDs y DVDs Gestión empresarial


En este libro encontraremos los prin- Un material imperdible con las carac- El objetivo de esta obra es brindar las
cipales conceptos de .NET y Visual terísticas para comparar las grabado- habilidades necesarias para la elabo-
Basic: .NET Framework, control de ras del mercado; la instalación y con- ración de proyectos que permitan me-
errores, orientación a objetos, desa- figuración para obtener el máximo jorar la gestión de la empresa utilizan-
rrollo de aplicaciones Windows y rendimiento; y el software y los secre- do Microsoft Excel, una herramienta
Web, acceso a datos con ADO.NET y tos de los expertos para exprimir la indiscutida para llevar a cabo esta
todo lo que necesita el desarrollador grabadora al máximo. tarea en la compañía.

> COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS > COLECCIÓN: PROFESSIONAL TOOLS
> 368 páginas / ISBN 978-987-1347-32-2 > 353 páginas / ISBN 978-987-1347-31-5 > 272 páginas / ISBN 978-987-1347-30-8

Hardware Edición de video Proyectos Web


Este manual brinda las habilidades pa- En este manual encontrará las claves A través del desarrollo de proyectos,
ra dar solución a los problemas que y los secretos para procesar un video esta obra combina todo el potencial
pueda tener una PC. Una obra a todo desde cero. Desde la captura de las de cuatro poderosas tecnologías:
color, con ilustraciones y fotografías imágenes, analizaremos todos los pa- Flash del lado del cliente, PHP del la-
de los procedimientos, que no puede sos que se deben seguir para proce- do del servidor, XML como nexo entre
faltar en la biblioteca de ningún técni- sar, editar y grabar un video utilizan- cliente y servidor, y MySQL como ba-
co o amante del hardware. do Adobe Premiere Pro. se de datos.

> COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS
> 352 páginas / ISBN 987-1347-18-9 > 320 páginas / ISBN 987-1347-14-6 > 384 páginas / ISBN 987-1347-15-4

> > > > > > > > > > > > Servicio de Atención al Lector >> lectores@redusers.com
Visite nuestro sitio en la Web
>> usershop.redusers.com

Photoshop Master Web Services con C# Actualizar la PC


Este manual explica los mayores secre- Entender Web Services es fundamen- Este libro es el mejor material para
tos de esta poderosa herramienta para tal para todo arquitecto, ingeniero, aprender a actualizar nuestra PC des-
crear los efectos más increíbles: conver- analista y desarrollador de software. de cero. Descubriremos cómo evaluar
tir fotografías en historietas, crear obje- En este libro se brindan las habilida- las características técnicas de cada
tos realistas, incorporar cambios climá- des necesarias para introducirse en equipo, y reemplazar los componen-
ticos, retocar las imágenes de personas, el desarrollo, diseño y administración tes internos y los periféricos, sin tener
mejorar la iluminación y mucho más. de Web Services empleando C#. conocimientos previos.
> COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS
> 320 páginas / ISBN 987-1347-12-x > 368 páginas / ISBN 987-1347-11-1 > 320 páginas / ISBN 987-1347-10-3

DirectX 101 secretos de Windows Creación de sitios Web


En este libro se abordan los conceptos Una obra imperdible con más de 100 Con este manual aprenderemos a di-
fundamentales vinculados a la progra- trucos que nos permitirán personali- señar y armar sitios web utilizando Fi-
mación de gráficos 3D con DirectX, el zar y optimizar el funcionamiento de reworks, Flash y Dreamweaver. Cómo
API más utilizado para el desarrollo de Windows XP. Todas las claves y los se- planificar y armar la estructura de las
aplicaciones interactivas y videojue- cretos para modificar el entorno grá- páginas, preparar las imágenes, regis-
gos. Técnicas y procedimientos para fico, acelerar las tareas, resolver fa- trar y publicar el sitio. Resultados sor-
crear objetos 3D profesionales. llas y mejorar el trabajo en red. prendentes en cada trabajo.

> COLECCIÓN: MANUALES USERS > COLECCIÓN: USERS EXPRESS > COLECCIÓN: MANUALES USERS
> 320 páginas / ISBN 987-1347-04-9 > 272 páginas / ISBN 987-1347-01-4 > 320 páginas / ISBN 987-22995-9-5

I Un servicio exclusivo para responder a sus consultas sobre nuestros productos > > > >
¡GRATIS LÉALO ANTES! >> En nuestro sitio puede obtener en forma
gratuita un capítulo del libro que quiera.

ADO.NET Técnico en Hardware Técnico en Windows


Con el objetivo fundamental de apro- Esta obra brinda las habilidades nece- En esta obra se desarrolla el camino
vechar las optimizaciones que existen sarias para diagnosticar y reparar fa- a seguir para implementar la solución
en cada una de las versiones de llas de hardware. Imprescindible pa- adecuada a los problemas, y respon-
ADO.NET, este libro brinda las habilida- ra hacer frente a conflictos con el der en forma profesional a las necesi-
des necesarias para introducirse en motherboard, el microprocesador o la dades de clientes potenciales y em-
las diferentes partes que lo componen. memoria; fallas en la fuente de alimen- presas. Una guía con todo lo que un
Una obra ideal para el desarrollador. tación, periféricos y más. técnico debe saber sobre Windows.

> COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS
> 320 páginas / ISBN 987-1347-07-3 > 224 páginas / ISBN 987-1347-05-7 > 224 páginas / ISBN 987-1347-06-5

Implementación y debugging PHP5 Cómo proteger la PC


Ésta es una obra de consulta perma- PHP es uno de los lenguajes de pro- Virus, spyware, troyanos y muchas
nente para el desarrollador. En ella se gramación elegidos a nivel mundial amenazas más circulan por la Web
abordan dos etapas clave del ciclo de para el desarrollo de sitios web. Este buscando nuevas víctimas. ¿Cómo
vida de un software: la implementa- manual brinda el conocimiento para evitar intrusiones? ¿Cómo eliminar el
ción de un proyecto y su debugging. comprender las mejoras introducidas spam? En este libro, las respuestas a
Codificación exitosa y técnicas de de- en esta versión y aplicarlas en los pro- estas preguntas y los fundamentos
bugging sin errores. yectos personales y profesionales. para evitarlas en el futuro.

> COLECCIÓN: USERS.CODE > COLECCIÓN: USERS.CODE > COLECCIÓN: MANUALES USERS
> 320 páginas / ISBN 987-22995-7-9 > 416 páginas / ISBN 987-22995-6-0 > 352 páginas / ISBN 987-22995-4-4

> > > > > > > > > > > > Servicio de Atención al Lector >> lectores@redusers.com
Visite nuestro sitio en la Web
>> usershop.redusers.com

Linux para todos Computación para fanáticos Programación Web Java


Esta obra explica, desde cero, cómo 256 páginas destinadas a conocer los Este libro brinda las herramientas ne-
instalar y configurar Linux en nuestra secretos para elegir e instalar dispo- cesarias para convertirse en un ver-
PC. Personalización, optimización, sitivos, descubrir las mejores opcio- dadero experto en el desarrollo de
mantenimiento, seguridad, las mejo- nes para optimizar el sistema operati- aplicaciones web con Java. Destina-
res aplicaciones y mucho más. ¡Llegó vo y hacer que nuestra PC vuele. El li- do a todos aquellos desarrolladores
el momento de dar el gran paso y hac- bro perfecto para quienes no nos con- que posean conocimientos de progra-
er el cambio formamos con sólo usar la PC. mación orientada a objetos.

> COLECCIÓN: MANUALES USERS > COLECCIÓN: MANUALES USERS > COLECCIÓN: USERS.CODE
> 320 páginas / ISBN 987-526-396-6 > 256 páginas / ISBN 987-226-71-3-8 > 352 páginas / ISBN 987-526-391-5

El gran Libro del Software Freeware Mi PC


En este libro encontrará los tutoriales Una recopilación de los mejores pro- 256 páginas que lo introducirán en el
de las mejores herramientas, trucos y gramas de licencia libre, explicados mundo de la informática. Sepa cómo
secretos para aprovechar al máximo en detalle. Guías visuales y procedi- manejarse en el entorno Windows, y
su computadora. Explicaciones deta- mientos paso a paso para llevar el uso aprenda a configurar sus principales
lladas, con divisiones por categorías de la PC a una nueva dimensión. En el elementos y aplicaciones. Entienda
para facilitar el aprendizaje de las dis- CD incluido en el libro encontrará los cómo funcionan la PC y sus compo-
tintas áreas de la informática actual. programas listos para su instalación. nentes. La guía inicial de la PC.

> COLECCIÓN: MI PC > COLECCIÓN: USERS EXPRESS > COLECCIÓN: MI PC


> 256 páginas / ISBN 987-526-385-7 > 368 páginas / ISBN 987-526-370-2 > 256 páginas / ISBN 987-526-369-9

I Un servicio exclusivo para responder a sus consultas sobre nuestros productos


CONTENIDO La ROBÓTICA ya no es parte de un futuro

1 | INTRODUCCIÓN lejano sino de nuestro presente tangible.


¿Qué es un robot? ¿Cuándo conviviremos con ellos? Y este manual es, sin dudas, la mejor forma de acceder
¿Tendremos diversos tipos de robots entre nosotros?
¿Lavarán los platos? En este primer capítulo a ella. En su interior encontraremos un recorrido teórico
intentaremos responder éstas y otras preguntas.
y práctico por cada uno de los conceptos fundamentales.
2 | COMPONENTES DEL ROBOT Se explican en detalle cuáles son las partes que componen
Tipos de procesamiento | ¿Cómo le damos movimiento
a nuestro robot? | ¿Cómo captamos el mundo que nos un robot y cada uno de los pasos por seguir para armar-
rodea? | Materiales para la mecánica
lo y programarlo a nuestro gusto. Destinado a entusiastas y aficionados de la cien-

ROBOTICA
3 | LA INTELIGENCIA DEL ROBOT cia ficción y las nuevas tecnologías, cada uno de los temas es desarrollado desde
Componentes de nuestro robot | Objetivos del
controlador | Conceptos fundamentales de un PIC | cero, y con la mayor claridad y profundidad. Su autor, coordinador del campeona-
Listado de componentes del controlador | Descripción
to argentino de Fútbol de Robots y miembro del Consejo Latinoamericano de
del circuito | Placa experimental | El programador
RoboCup y Cochair de la FIRA, vuelca en este libro su vasta experiencia.
4 | COMIDA DE ROBOTS
La fuente de energia | Tipos de batería | Cargadores |
Características de las celdas de las baterías | Voltaje |
Capacidad | Densidad | Curva de descarga | Resistencia
NIVEL
| Capacidad de recarga | Costo | Efecto memoria
EXPERTO
5 | HABLAR CON NUESTRO ROBOT
Lenguajes de programación para robots | PicBasic Pro | AVANZADO
Compilador CCS C | MikroBasic
INTERMEDIO
6 | RECORRER EL MUNDO
PRINCIPIANTE
El movimiento de los robots | Motor de corriente
continua | Motor paso a paso | Servos

7 | ADAPTACIÓN AL ENTORNO
Sensores analógicos y digitales | Tipos y características

8 | EL CUERPO DEL ROBOT


redusers.com
Características de un robot autónomo | Robots aéreos | En este sitio encontrará una gran variedad de recursos y software relacionado,
Robots subacuáticos | Robots terrestres | Sistemas con que le servirán como complemento al contenido del libro.
ruedas | El montaje de los elementos | Mecanismos de Además, tendrá la posibilidad de estar en contacto con los editores, y de parti-
transmisión y reducción | Cinemática | Odometría
cipar del foro de lectores, en donde podrá intercambiar opiniones y experiencias.
9 | SALIR AL RUEDO
Presentarnos a competir | Problemas frecuentes |
Pruebas tradicionales
ROBOTICS
10 | FÚTBOL DE ROBOTS
This science is no longer part of a distant future, it is a part
Arquitectura y navegación de los robots | Sensado y
detección del ambiente | Comportamiento colaborativo of a very real and concrete present. This manual offers the
| Ligas nacionales e internacionales fundamentals to be a member of this new reality through
practical projects and by learning the theory behind them.
APÉNDICE | LA ELECTRÓNICA

APRENDA A ARMAR ROBOTS DESDE CERO

También podría gustarte