Вы находитесь на странице: 1из 91

Este documento se publica bajo licencia de Creative Commons (Reconocimiento-No comercial-Compartir

bajo la misma licencia 3.0 Unported). Para cualquier duda respecto a la licencia contactar con el autor en
http://about.me/koldo_olaskoaga.

Contacto
Si deseas ponerte en contacto con su autor (sugerencias, propuestas de mejora) lo encontrars en
http://about.me/koldo_olaskoaga.

LEGO, TECHNIC, MINDSTORMS, y el logotipo LEGO son marcas registradas de The LEGO
Group

Donostia, 16 de octubre de 2013


Contenido
1 INTRODUCCIN ................................................................................................................................................. 1

2 LA FLL ................................................................................................................................................................ 2
LOS EQUIPOS .............................................................................................................................................................. 2
EL RETO .................................................................................................................................................................... 2
CMO SE DESARROLLA LA COMPETICIN ........................................................................................................................... 2
LOS VALORES .............................................................................................................................................................. 2
EL JUEGO DEL ROBOT .................................................................................................................................................... 3
L A PRESENTACIN TCNICA ............................................................................................................................................ 3
EL PROYECTO CIENTFICO ............................................................................................................................................... 3
LOS RECONOCIMIENTOS ................................................................................................................................................ 4
3 POR DNDE EMPEZAR ....................................................................................................................................... 5
PRIMER PASO ............................................................................................................................................................. 5
ESTRATEGIAS .............................................................................................................................................................. 5
EVALUAR LAS IDEAS ...................................................................................................................................................... 5
PASO A PASO .............................................................................................................................................................. 6
4 EL ROBOT........................................................................................................................................................... 7
EL CENTRO DE GRAVEDAD .............................................................................................................................................. 7
SISTEMAS DE DIRECCIN ................................................................................................................................................ 7
UN POCO DE FSICA .....................................................................................................................................................10
RECURSOS ................................................................................................................................................................11
5 NAVEGACIN BSICA .......................................................................................................................................12
ALGORITMOS ............................................................................................................................................................12
PROGRAMACIN BSICA CON NXTPROGRAM ....................................................................................................................12
PROGRAMACIN CON NXT-G........................................................................................................................................13
BLOQUES PARA MOVER EL ROBOT ...................................................................................................................................14
MOVIMIENTOS BSICOS ...............................................................................................................................................16
COMENTARIOS EN LOS PROGRAMAS.................................................................................................................................17
POTENCIA MNIMA DE ARRANQUE ...................................................................................................................................18
REINICIAR MOTORES ....................................................................................................................................................18
UNA PEQUEA MEJORA ...............................................................................................................................................19
CONTROL DEL FLUJO DEL PROGRAMA ...............................................................................................................................19
MIS BLOQUES ...........................................................................................................................................................22
COMPARTIR PROGRAMAS..............................................................................................................................................24
ACTIVIDADES .............................................................................................................................................................25
RECURSOS ................................................................................................................................................................25
6 MEJORAS EN LA NAVEGACIN..........................................................................................................................27
CABLEADOS EN NXT-G ................................................................................................................................................ 27
MEJORA EN LA PRECISIN DE LOS GIROS ...........................................................................................................................28
ARRANQUE Y PARADA EN RAMPA ....................................................................................................................................29
USO DE FORMULAS MATEMTICAS ..................................................................................................................................30
MOVER HASTA EL TOPE ................................................................................................................................................31
CMO HACER DOS COSAS A LA VEZ ..................................................................................................................................32
ACTIVIDADES .............................................................................................................................................................32
7 USO BSICO DE SENSORES ...............................................................................................................................34
QU ES UN SENSOR .....................................................................................................................................................34
CMO TESTEAR SENSORES ............................................................................................................................................34
CARACTERSTICAS DE LOS SENSORES ................................................................................................................................35
CMO MONITORIZAR SENSORES .....................................................................................................................................39
ROBOT QUE SIGUE UNA LNEA ........................................................................................................................................41
CALIBRACIN DEL SENSOR DE LUZ ...................................................................................................................................42
ERRORES FRECUENTES .................................................................................................................................................43
ACTIVIDADES .............................................................................................................................................................44
RECURSOS ................................................................................................................................................................44
8 USO COMBINADO DE SENSORES ......................................................................................................................45
LGEBRA DE BOOLE ....................................................................................................................................................45
MONITORIZAR UN SENSOR ............................................................................................................................................48
CMO MONITORIZAR DOS SENSORES ...............................................................................................................................49
SEGUIR LNEA II ..........................................................................................................................................................50
MLTIPLE CALIBRACIN DE SENSORES DE LUZ.....................................................................................................................51
ACTIVIDADES .............................................................................................................................................................58
RECURSOS ................................................................................................................................................................59
9 NEUMTICA......................................................................................................................................................60
NEUMTICA Y FLL ......................................................................................................................................................60
ELEMENTOS NECESARIOS ..............................................................................................................................................61
10 DIBUJO DE MODELOS LEGO ..............................................................................................................................62
POR QU DIBUJAR .......................................................................................................................................................62
CON QU DIBUJAR ......................................................................................................................................................62
LEGO DIGITAL DESIGNER .............................................................................................................................................63
LDRAW....................................................................................................................................................................63
SR 3D BUILDER .........................................................................................................................................................64
RECURSOS ................................................................................................................................................................64
APNDICE 1: PIECERO ...............................................................................................................................................66
EL NXT ...................................................................................................................................................................66
MOTORES ................................................................................................................................................................68
SENSORES ................................................................................................................................................................68
ESTRUCTURAS ...........................................................................................................................................................70
ELEMENTOS DE UNIN .................................................................................................................................................75
TRANSMISIONES MECNICAS ......................................................................................................................................... 76
COMPRA DE NUEVAS PIEZAS ..........................................................................................................................................84
RECURSOS ................................................................................................................................................................86
1 Introduccin
Desde el inicio de la FLL Euskadi colaboro con Innobasque en su organizacin asumiendo responsabilidades en los
aspectos relacionados con la competicin de la mesa y ofreciendo formacin y soporte a los entrenadores. Disfruto de
ello y considero un lujo poder ser parte de este proyecto de personas e innovacin.
Esta gua es una recopilacin de recursos que he ido publicando en modo pblico o privado en el marco de la FLL
Euskadi y en la revista on-line Hispabrick Magazine y pretende ser una herramienta de ayuda para entrenadores y
entranadoras.

Manual de robtica FLL 1


2 La FLL
La FLL es un programa de promocin de la ciencia y tecnologa acompaado de un importante componente de
innovacin. Fue puesto en marcha por FIRST (fundacin que promueve el reconocimiento de la ciencia y tecnologa) y
LEGO en 1998 en Estados Unidos y Canad y ha ido creciendo al paso de los aos para llegar en esta edicin a superar
los 60 pases.
S, pero cmo hacen FIRST y LEGO para generar un contexto motivador de aprendizaje que haga que nios, nias y
adolescentes a los que hasta entonces les pareca que la ciencia y tecnologa era para otros piensen que ah puede estar
su futuro?: Todos los aos la organizacin internacional de la FLL elige un tema de alcance global, es decir, que nos
afecte a todos independientemente del pas en que vivamos. Alrededor de este tema central establece dos lneas bsicas
de trabajo, el proyecto cientfico y el diseo del robot, a lo que hay que sumar el aglutinante de todo lo anterior que
suponen los valores de la FLL.

Los equipos
La mayora de los equipos estn creados en torno a centros escolares de secundaria, aunque tambin los hay promovidos
desde diferentes asociaciones o formados por grupos de amigos. Un equipo est constituido por un mximo de 10
jugadores que deben unir sus esfuerzos, con la ayuda de su entrenador, para enfrentarse a un problema y buscar
soluciones utilizando la creatividad y el pensamiento analtico.
Los equipos pueden recibir el apoyo de mentores que ofrecen de modo voluntario su apoyo al equipo en aspectos de
carcter tcnico, cientfico o incluso en el diseo de elementos que identifiquen al equipo.

El reto
El punto de partida de la FLL es un desafo que todos los aos es desvelado a los equipos participantes entre finales de
agosto e inicios de septiembre.
Aunque hay quin podra pensar que la FLL es slo una competicin de robots, es algo ms que eso. El reto no se reduce
a la competicin entre robots, aunque probablemente sea la parte que mayor motivacin genera, sino que los equipos
han de investigar y presentar un proyecto cientfico relacionado con el tema central. Adems de la parte tcnica y
cientfica la FLL cuenta con un cdigo de comportamiento que resume el espritu de esta competicin
Todo esto se ve reflejado en la propia competicin, la parte tcnica, la cientfica y los valores se valoran por igual en la
valoracin final. La organizacin de la FLL lo resume de la siguiente manera: el juego del robot y el proyecto son lo que
los equipos hacen, y los valores FLL el cmo lo hacen.

Cmo se desarrolla la competicin


Tras un mnimo de 8 semanas de trabajo en equipo llega el da del torneo. Los equipos llegan a la sede del torneo con su
robot, ordenador y elementos de repuesto adems de con ganas y muchos nervios. Para muchos equipos es la primera
vez, as que tienen mucho que aprender.
En el da de la competicin, los equipos disponen de un espacio reservado en el que pueden hacer sus ltimas pruebas y
ajustes. A partir del momento en que las pruebas comienzan, un exigente horario dirige los pasos de los equipos entre
las presentaciones y la competicin con los robots.

Los valores
Los valores son bsicos en la FLL y as ha de ser comprendido e interiorizado por equipos, entrenadores, escuelas,
familias y han de impregnar toda la actividad que se desarrolla en la FLL:
Somos un equipo
Trabajamos para encontrar soluciones con la ayuda de nuestros entrenadores
Honramos el espritu de una competencia amigable
Lo que descubrimos es ms importante que lo que ganamos
Compartimos nuestras experiencias con los dems

Manual de robtica FLL 2


Mostramos un profesionalismo atento en todo lo que hacemos
Nos divertimos!
Los valores son evaluados por los jueces de la misma manera que lo hacen con el proyecto cientfico y proyecto tcnico.

El juego del robot


El juego del robot es la parte ms llamativa de la FLL, en ella se concentra la mayor atencin aunque, de hecho, no es
ms importante que el proyecto cientfico o los valores.
Los equipos han de disear un robot que les permita enfrentarse a las misiones propuestas por la organizacin. Las
misiones son tareas que dan puntos y el equipo ha de tratar de completar todas las que pueda en un tiempo mximo de
dos minutos y medio. Cada equipo decide en funcin de su experiencia y de la valoracin que hace de la dificultad de
las misiones cules tratar de resolver y en qu orden.
Hay un reglamento que impone una serie de restricciones que han de ser respetadas durante la competicin, pero a la
vez ofrece toda una serie de libertades que permiten a los equipos desarrollar muy diferentes soluciones as como
aplicar diferentes estrategias.
Cara a la creatividad hay un punto muy importante en el reglamento que dice as:
"Si un detalle no es mencionado, entonces no importa. Asumiendo que habis ledo todas las misiones, reglas, y
Preguntas y Respuestas
Si no se requiere de un mtodo en particular, entonces cualquier mtodo est bien.
Si no se requiere especficamente algo, entonces no tenis que hacerlo.
Si no hay restricciones contra algo, entonces est permitido
No hay requerimientos o restricciones escondidas.
Pero hay libertades escondidas lo que las reglas no dicen."
El juego del robot no se acaba con la competicin en la mesa, sino que los equipos han de presentara ante un jurado las
soluciones elegidas en el diseo del robot, es lo que se conoce como la presentacin tcnica.

La presentacin tcnica
Si bien el resultado es importante, en un proceso de aprendizaje lo es mucho ms el camino recorrido.
Este es un aspecto relacionado con la competicin de robots, pero aqu lo importante no es la cantidad de puntos
conseguida sino la metodologa y estrategias utilizadas para resolver los problemas y las soluciones innovadoras
aplicadas (incluso si su xito ha sido limitado). Los equipos han de presentar al jurado aquello que ellos consideren
significativo en el proceso de diseo del robot: soluciones que consideren innovadoras, problemas que hayan
encontrado y estrategias utilizadas para resolverlos, resultados de aprendizaje...
Del mismo modo que sucede con el proyecto cientfico, el equipo tiene 5 minutos para exponer sus soluciones y otros 5
minutos para responder a las preguntas del jurado. La exposicin se realiza en torno a una mesa de competicin en la
que el jurado puede pedir que se muestre el resultado de alguna de las soluciones propuestas.

El proyecto cientfico
Cada equipo ha de identificar un problema relacionado con el tema central del reto. Se trata de un proceso de
observacin, recogida de informacin y anlisis en el entorno cercano.
Una vez que han seleccionado un problema hay que crear una solucin innovadora. Ello exige poner a trabajar la
imaginacin y el ingenio. Siempre es posible encontrar nuevas soluciones. A veces tras desarrollar una idea nos
preguntaremos cmo no se le haba ocurrido a nadie antes.
Durante este proceso de identificacin de problemas y creacin de soluciones innovadoras es importante buscar
contactos en otros pases, equipos con los que compartir inquietudes, y tratar de buscar soluciones que puedan ser
vlidas tanto en nuestro entorno como en otras comunidades.
Esto no es slo un trabajo acadmico as que es importante compartir con la comunidad nuestras propuestas:
presentaciones a padres y madres, crear una web...

Manual de robtica FLL 3


Durante este proceso el equipo puede recurrir a la colaboracin de expertos sobre el tema (padres y madres cuya
profesin o formacin tenga relacin con el tema, profesionales de empresas del entorno...).
En el da del torneo los equipos presentan el proyecto ante un jurado compuesto por voluntarios y voluntarias, en
muchos casos ingenieros, cientficos, docentes... El equipo dispone de 5 minutos para exponer su propuesta y durante
otros 5 minutos el jurado har las preguntas que considere pertinentes. En la presentacin es muy importante lo
siguiente:
describir el problema, la comunidad en la que se presenta y la solucin.
mostrar que ha sido un trabajo del equipo e incluir las fuentes de informacin utilizadas
mostrar que ha sido compartida con alguien externo al equipo.
La presentacin puede hacerse utilizando una presentacin por ordenador, un pster, un poema, una cancin, una
representacin teatral... el lmite nicamente lo pone la imaginacin y la creatividad de cada equipo.

Los reconocimientos
Aunque en un programa de promocin de ciencia y tecnologa como este lo importante es la experiencia, la oportunidad
de compartirla con jvenes de otros orgenes aqu tambin los equipos que han marcado la diferencia se ven
reconocidos.
Aproximadamente la mitad de los equipos participantes en un torneo reciben un trofeo. Entre ellos, los que hayan
conseguido un mejor resultado entre el juego del robot, el proyecto cientfico y los valores, tendrn la oportunidad de
pasar a la fase siguiente, nacional o internacional.
La falta de respeto a los valores FLL puede hacer que un equipo no reciba ningn trofeo a pesar de haber obtenido el
mejor resultado en alguna de las categoras.

Manual de robtica FLL 4


3 Por dnde empezar

El primer ao enfrentarse a la tarea que supone el reto de la FLL puede llegar a superarnos. Es por ello que me permito
dar algunas ideas que pueden ser tiles para algn equipo. Aqu s0olo me voy a referir a las misiones que ha de afrontar
el robot.

Primer paso
La lectura de los documentos bsicos es algo que hay que hacer una y otra vez a lo largo del proceso de construir el
robot, programarlo, probarlo y mejorarlo. Conviene empezar por ah, empaparse en el reglamento, conocer las
misiones y aclarar las dudas que se han presentado en esas primeras lecturas.
Una tcnica que se puede utilizar a la hora de estudiar las misiones puede ser la tcnica del puzle, es decir: repartir las
misiones en grupos de tres para que cada grupo analice las misiones que les correspondan, para a continuacin
explicrselas a los dems.

Estrategias
Si el reto del robot fuese resolver una misin, no habra mucho que hablar, pero desde el momento que es un conjunto
de misiones a desarrollar en un tiempo limitado, es importante reflexionar, analizar diferentes opciones y decidir cul
es la estrategia a desarrollar.
Pero alguno se preguntar, Qu quiere decir con lo de la estrategia? Bueno, hay una serie de misiones que, en la
mayora de los equipos, podemos pensar complicado resolver en su totalidad. Eso quiere decir que hay que analizarlas,
valorar su grado de dificultad, ordenarlas y establecer prioridades. El acuerdo que se llegue en el equipo ayudar a
planificar y repartir las tareas de construccin y programacin del robot y a obtener un mayor rendimiento del esfuerzo
que se haga.
Podemos imaginar que somos una persona que ha perdido su visin y que como mucho tengo unas ayudas que me
permiten saber si me voy a chocar pero nada ms. Vamos a pensar en una sucesin de acciones que nos permitir
conseguir el objetivo. Y si se nos ocurre ms de una para cada misin, pues mucho mejor, siempre hay tiempo para
optar por una u otra.
Y todava no hemos montado nada excepto la mesa. Para pensar en clave de estrategias no necesitamos ningn robot,
el robot nos va a distraer en el anlisis. Antes de montar nada pensaremos en los mecanismos que necesitaremos disear
para aplicar las estrategias que hemos recogido en esta primera ronda: palancas, levas, mecanismos compuestos de
engranajes

Evaluar las ideas


Una vez que tenemos un buen conjunto de ideas toca evaluar lo que supondr el llevarlas a cabo en clave de los
requerimientos que implican:
Velocidad
Precisin
Potencia
Complejidad
Tamao
Necesidad de sensores
Programacin
El resultado de todo esto deber ser una toma de decisiones que dar como resultado una serie de ideas a desarrollar,
con una planificacin. Podemos empezar por las ms sencillas y dejar las complicadas para ms adelante.

Manual de robtica FLL 5


Paso a paso
A la hora de resolver las misiones, conviene comenzar paso a paso, tratar de resolver problemas elementales de modo
que poco a poco podamos combinar soluciones para resolver problemas ms complejos.
Conviene empezar intentando resolver misiones de modo independiente y, una vez seamos capaces de resolverlas,
podremos plantearnos cmo ordenarlas, y si es posible combinar ms de una misin en un solo programa. Dependiendo
de las decisiones que tomemos, el resultado final podr variar .
Hay que evitar empecinarse en resolver una misin que se nos resiste, los puntos conseguidos con una tienen el mismo
valor que con cualquier otra, y obsesionarnos con un problema en particular puede retrasarnos e impedir el progreso por
otros caminos.

Manual de robtica FLL 6


4 El robot
El diseo de la estructura del robot es un factor que condiciona su comportamiento. Hay varios factores que hay que
tener en cuenta:
La rigidez limitar las deformaciones cuando se encuentre en movimiento y la robustez impedir que haya
partes que se desmonten inesperadamente.
La combinacin motor-transmisin-rueda hace que el robot sea ms rpido o ms lento y que sea capaz de
desarrollar mayores o menores esfuerzos.
El sistema de direccin junto al tipo de ruedas utilizadas har que el robot tenga una mayor o menor
maniobrabilidad.
La posicin del centro de gravedad tanto de la base mvil como del conjunto base-cargo condicionar la
estabilidad del robot.
La estructura, sistema motor... tiene que estar adaptado a la funcin que ha de cumplir. En la FLL deber de buscarse un
compromiso entre los diferentes factores anteriormente mencionados para conseguir un robot eficiente y fiable.
En este captulo vamos a conocer las diferentes alternativas de control de direccin en robots mviles y aprender a
analizar una base mvil con criterios de movilidad, estabilidad y solidez.

El centro de gravedad
Hay un factor muy importante que siempre hay que tener en cuenta en cualquier diseo mecnico: la posicin en que se
encuentra el centro de gravedad. El centro de gravedad va a condicionar el comportamiento del robot, sobre todo en los
arranques, paradas y giros. Un robot aparentemente estable puede balancearse o incluso volcar al arrancar si tiene el
centro de gravedad muy retrasado.
Puede volcar lateralmente al girar si lo tiene muy alto...
El centro de gravedad siempre se tiene que encontrar sobre el polgono que describen los apoyos del robot en el suelo
(tringulo, cuadriltero), pero no solo eso, cuando el robot se pone en marcha, se detiene o gira aparecen nuevas
fuerzas que pueden hacer que el robot se balancee o vuelque, esta es la razn de que, como con los coches, convenga
que el centro de gravedad est lo ms bajo posible.

Sistemas de direccin
Una de las primeras decisiones que hay que tomar al montar un robot es el sistema de locomocin que utilizar. Es algo
que condiciona tanto la complejidad de la construccin de un robot como su programacin, pero no solo eso, sino que
tambin su maniobrabilidad.

Podemos fijarnos en nuestro entorno para ver los sistemas que utilizan los automviles, los triciclos, las sillas de nios y

Manual de robtica FLL 7


sillas de ruedas para discapacitados... Utilizan diferentes sistemas para desplazarse en lnea recta y girar. Cada uno tiene
ventajas e inconvenientes que habr que tener en cuenta en funcin de la aplicacin.
Sin pretender ser exhaustivo, veamos algunos de los sistemas.

Direccin diferencial
Este sistema se basa en conectar un motor a la rueda o ruedas de cada uno de los lados del robot. Si los dos motores
giran a la misma velocidad el robot avanzar en lnea recta, si giran a diferentes velocidades el robot girar a uno u otro
lado.
Es el sistema ms sencillo de implementar, tanto si quiere controlarse la posicin del robot en base a los giros de las
ruedas utilizando formulacin matemtica como si se controla a tanteo.
Es importante tener en cuenta tanto la superficie sobre la que se mover el robot como la carga que ha de llevar antes de
decidirse por uno u otro. A continuacin se presentan cuatro soluciones diferentes.

Robot con dos ruedas y apoyos deslizantes


Esta primera construccin es la ms bsica, sencilla de montar y programar, aunque no se mueve bien por superficies
irregulares o poco deslizantes. Los robots de la figura se apoyan en las dos ruedas y otros dos puntos que deslizarn
mejor o peor dependiendo de las caractersticas de la superficie sobre la que se mueva.

Robot con dos ruedas y un apoyo


El apoyo delantero del sistema anterior se puede sustituir por un tercer apoyo como el de la imagen, aunque su montaje
es ms complejo. En este caso la base de apoyo es un tringulo.

Manual de robtica FLL 8


Actualizacin!!!: LEGO ha creado una nueva pieza para el nuevo sistema LMS Educacin EV3 que pone mucho
ms fcil montar un robot con este sistema (referencia para pedidos 4610380). Dicha pieza est dotada de una esfera de
acero de 18mm de dimetro..

Robot con dos ruedas y rueda loca


En esta configuracin el robot tambin tiene tres apoyos, pero en este caso se trata de una rueda que puede girar
libremente y se posiciona por s misma para facilitar los giros. A consecuencia de ello, el tercer apoyo se desplaza hacia
uno y otro lado dependiendo del avance y la direccin. Si el robot va a llevar una carga que puede variar en el tiempo
(ya sea en magnitud o posicin) hay que tenerlo muy en cuenta para que mantenga el equilibrio tanto cuando se mueve
en lnea recta como cuando gira..
Por otra parte el diseo del mecanismo de la rueda loca condiciona su eficiencia, su tamao, la distancia entre el eje
vertical de giro y el apoyo en el suelo...
Es posible tambin utilizar dos en lugar de una del mismo modo que lo hacen las sillas de ruedas y sillas para nios.
Este es el sistema de direccin del modelo bsico de LMS Educacin.

Robot con sistema de arrastre por orugas


Este sistema ofrece una base muy estable. Este es un robot sencillo de construir. Es un sistema de arrastre compatible
con diferentes tipos de suelo, alfombra, terrazo, parquet y permite al robot superar pequeos obstculos. En la imagen
puede verse un modelo que lo usa.

Manual de robtica FLL 9


Otros sistemas
Otro sistema bien conocido es el que utilizan los coches. Este sistema utiliza dos motores, uno para el avance-retroceso
y otro para el sistema de giro. Son robots estables pero de maniobrabilidad ms reducida.
Los robots con patas merecen ser considerarlos aparte y corresponden a un nivel ms avanzado.

Accesorios
El reglamento de la FLL define lo que es el robot a efectos de la competicin (lo hace as a partir del reto Senior
Solutions). Toma como elemento central la controladora y establece que todo aquellos elementos que se hayan unido a
la controladora con las manos (durante el proceso de montaje del robot) y que est diseado para no separarse de la
misma, excepto con las manos (desmontaje manual, no partes del robot diseadas para ser liberadas por l mismo),
forman parte del robot.
Eso quiere decir que tambin son robot todos los accesorios que se vayan montando a lo largo de la ronda siempre y
cuando estn diseados para no poder ser separados de otro modo que por las manos.
Es importante disear sistemas de enganche rpidos para los accesorios, de tal modo que se pierda el menor tiempo
posible.

Un poco de fsica
No est de ms recordar algunos conceptos de mecnica tiles a la hora de analizar el comportamiento de un robot.

Distribucin horizontal de cargas


La posicin del centro de gravedad condiciona el modo en el que el peso del robot se distribuye entre ruedas y apoyos.
Hay que tener en cuenta que la fuerza de rozamiento es directamente proporcional a la normal y el coeficiente de
rozamiento.
La normal en cada apoyo depender de la posicin del centro de gravedad. Conociendo la posicin del centro
de gravedad planteando un equilibrio de fuerzas y momentos se puede calcular la distribucin del peso entre
los diferentes apoyos (para simplificar el ejercicio conviene que el robot sea simtrico, o al menos considerar
que lo es).
El coeficiente de rozamiento depender tanto del material con que est hecha la rueda o apoyo como del
material de la superficie sobre la que se mover.

Distribucin vertical de cargas


La posicin en el eje vertical del centro de gravedad (su altura respecto al suelo) condicionar el comportamiento
dinmico del robot.
Arranque y parada: En el arranque y parada la fuerza aplicada por los motores producen una aceleracin. La

Manual de robtica FLL 10


segunda Ley de Newton establece que la aceleracin es proporcional a la fuerza aplicada, mientras que la
tercera establece que "con toda accin ocurre siempre una reaccin igual y contraria". As que una fuerza igual
a la aplicada por los motores para acelerar el robot pero de sentido contrario aparecer aplicada sobre el centro
de gravedad. Si su posicin es muy elevada el robot podra llegar a volcar.
Giros: Mientras el movimiento sea rectilneo uniforme no aparecern fuerzas que generen problemas, pero
cuando un vehculo describe una curva se generan fuerzas derivadas de las aceleraciones que aparecen en
cualquier giro (incluso si el movimiento es circular uniforme). En todo giro se produce una aceleracin
proporcional al cuadrado de la velocidad lineal e inversamente proporcional al radio de giro. Esta aceleracin
apunta al centro de giro. Si tomamos en cuenta la tercera Ley de Newton se producir una reaccin igual y
contraria que es la que genera que un vehculo pueda volcar en una curva. Si el centro de gravedad est en una
posicin elevada habr que tenerlo en cuenta en los giros.

Recursos
Blog BrickEngineer (http://goo.gl/zbN1cb): muestra cmo determinar el centro de gravedad de un motor, algo
que puede aplicarse para otros elementos o conjuntos de piezas.
Fsica en la wikipedia:
Leyes de Newwton (http://es.wikipedia.org/wiki/Leyes_de_Newton)
Movimiento rectilneo uniforme (http://goo.gl/Ob9yj6)
Movimiento circular uniforme (http://goo.gl/YAxvTJ)

Manual de robtica FLL 11


5 Navegacin bsica
El hardware sin el software no es nada, as que una base mvil no se convertir en un robot mientras no tenga un
programa que defina sus comportamientos.
En este captulo vamos a ver cmo crear programas que permitan a un robot llegar a una posicin determinada y evitar
obstculos analizando los factores del entorno que puedan perturbar el movimiento. No hay que olvidar que cuando se
trabaja con robots que se mueven por un espacio real el entorno afecta a su comportamiento y hay pequeos factores
que pueden influir en la repetibilidad.
El proceso de crear un programa comienza por escribir un algoritmo por lo que veremos como escribir el algoritmo de
una tarea sencilla compuesta de pasos que se realizan de modo secuencial, por ejemplo, el algoritmo correspondiente al
movimiento de un robot que sigue una trayectoria compuesta de tramos rectos y curvos combinados.

Algoritmos
La definicin que da la wikipedia de algoritmo1 es la siguiente: "un algoritmo (...) es un conjunto pre-escrito de
instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos
que no generen dudas a quien deba realizar dicha actividad".
Todos los das utilizamos algoritmos de modo ms o menos consciente para vestirnos, asearnos, alimentarnos... A
continuacin se pueden leer los pasos dados para limpiarse los dientes (fuente: Programacin de Computadores con
Scratch Cuaderno de Trabajo para estudiantes 3 Edicin):
1. Coger la pasta de dientes
2. Destapar la pasta de dientes
3. Coger el cepillo de dientes
4. Aplicar la pasta de dientes al cepillo
5. Tapar la pasta de dientes
6. Abrir el grifo
7. Remojar el cepillo con la pasta de dientes
8. Cerrar el grifo
9. Frotar los dientes con el cepillo
10. Abrir el grifo
11. Enjuagarse la boca
12. Enjuagar el cepillo
13. Cerrar el grifo
14. Secarse la cara y las manos con una toalla
Reflexiona! Hay un nico algoritmo para cada tarea?
No, los puede haber muy diferentes del mismo modo que puede haber diferentes soluciones para un problema. A veces
decidirse por un algoritmo u otro ser cosa de gustos, pero otras veces un algoritmo ser ms eficiente que otro. Por
cierto, Estaba completo el anterior algoritmo? Dnde ha acabado el cepillo de dientes?

Programacin bsica con NXTProgram


El NXT dispone de una aplicacin denominada NXTProgram que permite desarrollar pequeos programas sin
necesidad del ordenador. Es til cuando se dan los primeros pasos en programacin y para testear de un modo rpido el
robot montado.
Los programas constan de 5 pasos con la siguiente estructura:

1 Algoritmo: http://es.wikipedia.org/wiki/Algoritmo

Manual de robtica FLL 12


1. Accin: esta accin puede ser movimiento (avance, giro, retroceso por un tiempo determinado o de
modo indefinido para combinarlo con tiempo o sensores), sonido o vaco.
2. Control: vaco, temporizador o hasta que un sensor cumple una condicin
3. Accin: esta accin puede ser movimiento (avance, giro, retroceso por un tiempo determinado o de
modo indefinido para combinarlo con tiempo o sensores), sonido o vaco.
4. Control: vaco, temporizador o hasta que un sensor cumple una condicin
5. Finalizar o Bucle (el programa se repite hasta que se detiene con el botn gris)
Para que el programa funcione correctamente es importante que las conexiones sean las siguientes (de otra manera no se
conseguir el comportamiento deseado):
Puerto 1: sensor de contacto
Puerto 2: sensor de sonido
Puerto 3: sensor de luz
Puerto 4: sensor de ultrasonidos
Puerto B: motor izquierdo
Puerto C: motor derecho
Los programas se editan seleccionando de modo secuencial el contenido de los cinco pasos para ejecutarlo al final. Para
modificarlo hay que ir hacia atrs pulsando el botn gris. Estos programas no se pueden almacenar.

Actividad
Crea un programa que haga avanzar el robot hasta una posicin y a continuacin retroceda hasta encontrarse en la
posicin inicial.

Programacin con NXT-G


Una vez que ya estn definidos los pasos que tiene que completar el robot para desarrollar su tarea (el algoritmo), es
hora de convertirlo en un programa que el robot pueda ejecutar. La oferta de lenguajes para programar un robot LEGO
MINDSTORMS es muy amplia, sin embargo aqu vamos a centrarnos en NXT-G ya que junto a Robolab es uno de los
dos nicos lenguajes permitidos en la FLL.
NXT-G es un entorno de programacin grfico desarrollado por National Instruments a partir de LabView. La primera
vez que se accede a NXT-G conviene ver los vdeos y tutoriales que ofrece el mismo programa.

Acceso al NXT
NXT-G ofrece acceso a los siguientes datos del NXT:
Nombre del NXT: es posible modificarlo. Conviene poner un nombre a cada uno (el nombre se visualiza en el
display del NXT).
Versin del firmware: la ltima 1.31.
Volumen de memoria libre
Directorio de archivos agrupados en Programas, Sonidos, Grficos y Otros. Se pueden subir, descargar o
eliminar archivos.
Para acceder al panel de control pulsar sobre el botn superior izquierda del controlador que aparece en el escritorio
cuando se abre un programa.

Manual de robtica FLL 13


A continuacin podremos acceder primero a las conexiones:

y a continuacin a la memoria:

Bloques para mover el robot


Para programar un robot para que se mueva, lo primero es conocer bien los motores que se van a utilizar para ello. Es
posible conectar al NXT diferentes motores pero en la FLL solo se permite utilizar el motor expresamente diseado para
l.

El motor
El motor LMS tiene un motor de corriente continua y una reductora en su interior. Adems de ello un encder que enva
informacin a la controladora de tal modo que esta puede conocer la magnitud del giro realizado.
En la web de Philippe E. Hurbain (Philo en Internet) puede obtenerse completa informacin sobre el motor, con grficas
de su eficiencia y fotos de su interior. Muy interesantes las grficas potencia-velocidad en diferentes condiciones de uso.

El bloque "Motor"
El bloque Motor se encuentra en el men Accin de la paleta Completa.

Manual de robtica FLL 14


Este bloque controla el movimiento de un solo motor. Bsicamente seleccionaremos en su panel el puerto en el que est
conectado el motor (A, B o C), el sentido de giro y la potencia (de 0 a 100).

Adems tambin ofrece las siguientes opciones:


Accin:
Constante: al ponerse en marcha alcanza inmediatamente el nivel de potencia seleccionado
Rampa arriba: aumentar la velocidad lentamente hasta alcanzar la especificada
Rampa abajo: disminuir la velocidad lentamente hasta detenerse.
Control: Si se selecciona Potencia del motor compensa la prdida de potencia causada por la descarga de la
batera. Si se utiliza conviene que la potencia seleccionada sea inferior a 100.
Esperar: Si se selecciona la casilla el programa no contina adelante mientras no finalice la ejecucin del
bloque. En caso contrario inicia el movimiento y sin esperar a completarlo contina la ejecucin del programa
con el siguiente bloque.
Siguiente Accin: Siempre que no se ha seleccionado Duracin ilimitada o que est seleccionada la casilla
Esperar hasta la finalizacin, se puede optar por Freno (los motores se bloquean) o Flotacin (deja de
alimentar los motores, as que puede continuar movindose a consecuencia de la inercia).

Ejemplo
Imaginemos que hemos diseado un brazo que ha de girar un ngulo de 30 y que el motor est conectado directamente
al brazo. Habremos de calcular cul es la potencia ms adecuada para que no sea demasiado brusco, algo que se puede
hacer por tanteo. Dependiendo de la configuracin lo detendremos frenando o en flotacin. la solucin podra ser la
siguiente:

Manual de robtica FLL 15


El bloque "Mover"
El bloque Mover se encuentra en la paleta Comn, aunque tambin es posible acceder a l por medio del men Accin
de la paleta Completa.

Este bloque permite controlar dos motores de modo sincronizado. Dichos motores pueden ser seleccionados por medio
del panel de control estableciendo cul es el de la izquierda y cul el de la derecha, facilitando de esa manera el control
del giro. El resto de las opciones son similares a las del bloque Motor. Es un bloque muy til para mover un robot mvil
aunque hay quien prefiere hacerlo utilizando dos bloques motor.

Movimientos bsicos
Para fijar cunto han de girar los motores, NXT-G permite hacerlo por tiempo, grados de giro del motor (con precisin
de 1 grado) y rotaciones. Adems de estas tres opciones tiene una cuarta, ilimitado, muy til para trabajar con sensores.
Los comportamientos ms bsicos a programar son el desplazamiento en lnea recta y el giro.

Movimientos en lnea recta


Cuando se desea que un robot se mueva en lnea recta hay que tener en cuenta que hay diversos factores que pueden
generar desviaciones. No todos los motores son iguales as que conviene primero testearlos para conocer qu par de
ellos se comportan del modo ms similar. Otro factor que tambin puede afectar al comportamiento es el relacionado
con los rozamientos internos: incluso con una estructura perfectamente simtrica, los roces no deseados pueden hacer
que se generen desviaciones.
A continuacin se presentan dos opciones diferentes para hacer que un motor se mueva en lnea recta la distancia
correspondiente a una rotacin del motor. Si la rueda est directamente conectada al motor el desplazamiento ser el
correspondiente a la longitud del permetro de esta, mientras que si entre la rueda y el motor hay una transmisin con
una relacin de transmisin diferente a la unidad habr que hacer el clculo correspondiente para saber la magnitud del
desplazamiento esperado.

Manual de robtica FLL 16


Este programa utiliza el bloque Mover, pero tambin puede hacerse utilizando el bloque Motor. El bloque Motor
ofrece una caracterstica de la que el bloque Mover carece, la posibilidad del arranque en rampa, es decir, un arranque
gradual. Es importante que en el primero de los bloques la casilla correspondiente a Esperar hasta finalizacin no est
seleccionada. Observar el comportamiento si se selecciona Freno o Flotacin, vara.

Movimiento en curva
Si utilizamos un robot con direccin diferencial, lo nico que hay que hacer para que gire es establecer diferentes
velocidades para los dos motores. En el bloque Mover se consigue desplazando el control deslizante de la opcin
Volante del panel de control a uno u otro lado mientras que si se utilizan los bloques motor con configurarlos con
diferentes velocidades se conseguir el objetivo. Los resultados deseados se pueden conseguir por tanteo.

Comentarios en los programas


Cuando se crea un programa y ese programa va creciendo, puede suceder que en algn momento no recordemos porqu
hemos dado un paso de una manera y no de otro. Por otra parte, en la FLL se trabaja en grupo y un mismo programa
puede necesitar ser modificado una y otra vez por diferentes personas a lo largo de 8 semanas.
Para poder recordad porqu se ha hecho algo de una manera determinada y facilitar la lectura del programa conviene
comentarlos programas, es decir, escribir comentarios en el mismo programa. Para ello primero seleccionaremos la
herramienta Comentarios en la barra de herramientas:

Manual de robtica FLL 17


En la imagen siguiente puede verse un ejemplo:

Potencia mnima de arranque


No toda la energa que desarrolla un motor se convierte se convierte en trabajo til. Parte de ella se pierde se utiliza para
superar las resistencias internas de las transmisiones.
Cuando las transmisiones son complejas las perdidas pueden crecer debido al rozamiento entre los distintos elementos
que la componen. Ingenieros e ingenieras tratan con sus diseos mejorar el rendimiento de diferentes mquinas.
Por otra parte, el peso del robot tambin va a influir en el rendimiento. Estos dos factores harn que el robot requiera
una potencia mnima para moverse, por debajo de ella no podr ponerse en marcha.

Reiniciar motores
El bloque Reiniciar motor se encuentra en el men Avanzado de la paleta Completa.

Este bloque que permite reiniciar los motores, es decir, poner los encoders (los que controlan el giro) a cero. Es un
bloque que conviene incluir entes de los bloques Motor o Mover si nos parece que hay problemas de control del giro
de los motores. Hay quien incluso recomienda meterlo entre los bloques de movimiento cada vez que los utilizamos..
En el panel de control de configuracin se puede seleccionar uno, dos o los tres motores.

Manual de robtica FLL 18


Una pequea mejora
Si bien desarrolla la tarea asignada, el movimiento no es fluido, sino que cuando la ejecucin pasa de un bloque al
siguiente los motores se paran y arrancan otra vez. Por defecto el bloque Mover tiene seleccionada la casilla Freno en
su panel de control, lo que hace que finalice su ejecucin bloqueando los motores y ponindolos en marcha otra vez con
el siguiente bloque.
Se puede mejorar algo su comportamiento seleccionando la casilla Flotacin en lugar de la de Freno. De este modo al
final de la ejecucin del bloque en lugar de bloquear los motores lo que hace es dejar de alimentarlos de tal modo que
incluso podra seguir movindose gracias a su inercia.

Control del flujo del programa


A veces el algoritmo para realizar una tarea puede ser tan sencillo como el siguiente:
1. Avanza un metro
2. Cierra la pinza
3. Retrocede un metro
Es una tarea con tres pasos a ejecutar de modo secuencial, no tiene ms. Pero en otros casos, hay pasos que se repiten,
hay que esperar a que se cumpla alguna condicin o se toman decisiones que dan lugar a una u otra accin.
En esos casos el flujo deja de ser lineal y se utilizan lo que se llaman estructuras de control, dos de las cuales vamos a
ver en este captulo.
Los bloques que permiten programar utilizando estas estructuras se encuentran en el men Flujo. Es importante
observar que los bloques de este grupo tienen una franja naranja que los identifica, del mismo modo que los de sensores
la tienen amarilla.

Manual de robtica FLL 19


Bloque "Bucle"
El bloque Bucle se encuentra en la paleta Comn, aunque tambin es posible acceder a l por medio del men Flujo de
la paleta Completa.

La funcin del bloque Bucle es ejecutar una y otra vez un conjunto de bloques mientras una condicin se cumpla. Para
ello lo nico que hay que hacer es arrastrar a su interior el conjunto de bloques cuya ejecucin ha de repetirse.

En el panel de control la opcin Control ofrece un men desplegable por medio del cul puede seleccionarse el
comportamiento deseado:
Siempre: El bucle se ejecutar sin fin, ser necesario utilizar el botn gris del NXT para detenerlo. Aunque hay
una opcin ms avanzada que tambin permitira detenerlo desde el mismo programa.
Sensor: El bucle repetir su ejecucin hasta que la lectura del sensor cumpla la condicin establecida.
Tiempo: El bucle se repetir durante el periodo de tiempo deseado. Una vez que el tiempo pase, el programa
continuar con el bloque que encuentre a continuacin del Bucle.
Contar: El bucle se repetir durante un determinado nmero.
Lgica: Es una opcin avanzada de uso que se ver en prximas unidades.
Al seleccionar una u otra de las anteriores opciones, el panel de control muestra un aspecto adaptado a las necesidades
de configuracin de cada una de ellas.
La opcin Contador que puede verse en la parte inferior permite acceder al nmero de veces que se ha repetido el bucle
desde el programa y utilizar o visualizar dicho valor.

Ejemplo
Un ejercicio de iniciacin con este bloque es hacer que un robot se mueva describiendo un cuadrado. Es algo que se
podra hacer utilizando el siguiente algoritmo:
1. Avanza
2. Gira 90 (a la derecha)
3. Avanza
4. Gira 90 (a la derecha)

Manual de robtica FLL 20


5. Avanza
6. Gira 90 (a la derecha)
7. Avanza
8. Gira 90 (a la derecha)
No se escapa a nadie que la secuencia avance-giro se repite 4 veces, as que el algoritmo podra ser el siguiente:
1. Repite 4 veces
Avanza
Gira a la derecha
Si lo convertimos en un programa en NXT-G tendremos lo siguiente:

Bloque "Espera"
El bloque Espera se encuentra en la paleta Comn, aunque tambin es posible acceder a l por medio del men Flujo
de la paleta Completa.

En la paleta Comn se puede elegir el bloque directamente adaptado al uso (espera tiempo o los diferentes sensores)
mientras que si lo utilizamos va la paleta completa lo primero que deberemos hacer ser seleccionar el control deseado,
sensor o tiempo.

Manual de robtica FLL 21


La imagen a continuacin es el aspecto del bloque cuando se selecciona la opcin sensor de contacto.

Funcionamiento
Cuando el programa llega a un bloque Esperar, la ejecucin no pasa al bloque siguiente hasta que la condicin que
establece se cumpla. Puede ser tanto tiempo como la lectura de un sensor. Su uso ms habitual est ligado a los
sensores.
Tanto el bloque Mover como el bloque Motor llevan incluido la funcin Espera (la duracin en tiempo, giro en grados
o rotaciones) aunque no seamos conscientes de ello. No lo lleva si seleccionamos la opcin Ilimitado.
Los dos programas siguientes son equivalentes en su funcionamiento solo que en el primero el tiempo de ejecucin se
controla va el bloque Espera.

Mis Bloques
Cuando se programa un robot para describir un recorrido determinado en la mesa de competicin suele haber
fragmentos de programa que se repiten en varias misiones. NXT-G ofrece una herramienta que facilita la reutilizacin
de estos fragmentos de cdigo permitiendo convertirlos en un nuevo bloque de programacin que podremos utilizar
siempre que lo necesitemos en un mismo programa o en varios programas.
Convertir un fragmento de cdigo en un nuevo bloque de programacin ofrece las siguientes ventajas:
Comodidad: una vez creado cuando necesitemos ese fragmento de cdigo no habr que crearlo otra vez. Se
podr utilizar desde cualquier programa.
Programa ms legible: a la vez de reducir el nmero de bloques que constituye el programa lo estructura en
pasos que permiten comprenderlo mejor.
Mejor uso de la memoria: el NXT tiene una memoria limitada. Cuando se crea un bloque propio y se reutiliza
en un programa el consumo de memoria es inferior al que supondra el mismo programa sin utilizar bloques
propios.

Manual de robtica FLL 22


Los nuevos bloques pueden tener entradas y salidas de datos si es necesario. En la siguiente imagen se puede ver una
pequea parte del bloque g_selecctlevel del programa anterior.

El proceso de crear un nuevo bloque de programacin es bastante sencillo. Se empieza escribiendo el fragmento de
cdigo que habr de ejecutar el nuevo bloque. Por ejemplo una secuencia de notas que reproducirn una meloda.

A continuacin se seleccionan el fragmento de cdigo que ha de ejecutar el nuevo bloque y se selecciona Crear un
nuevo Mi bloque en el men Edicin.

En la ventana de dilogo que se abre se puede dar un nombre personalizado al bloque y escribir una descripcin. Si a
continuacin se pulsa el botn Finalizar, NXT-G crea un nuevo bloque con un icono genrico. Si se desea modificar el

Manual de robtica FLL 23


icono habr de pulsarse el botn Siguiente.

A partir de este momento se podr acceder al nuevo bloque desde la paleta Personalizada.

Compartir programas
Compartir un programa es una tarea bien sencilla, es suficiente con enviar el archivo del programa a quien deseemos,
pero esto no es as cuando se han utilizado bloques creados por uno mismo. En dicho caso hay que hacerlo como se
explica a continuacin.
NXT-G incorpora a partir de la versin 2.0 la herramienta Pack and Go que permite crear un archivo que contenga el
programa y los nuevos bloques. Para utilizarla primero hay que abrir el programa a empaquetar y acceder a
Herramientas > Crear Pack and Go.

La opcin Crear Pack and Go abre un cuadro de dilogo que muestra los archivos que empaquetar. Es posible
modificar el nombre del archivo y el directorio donde lo ha de guardar. Pulsando Aceptar finaliza el proceso.

Manual de robtica FLL 24


Actividades

Actividad 1
Programar un robot que sea capaz de desplazarse hasta un punto determinado de modo preciso evitando todo contacto
con los objetos que pueda haber en el camino. Se puede utilizar con campo de operaciones un suelo con varias sillas o la
misma mesa de la FLL.
Es muy importante que aun siendo una actividad sencilla se siga el procedimiento propuesto: crear primero el algoritmo
y despus el programa.
Una vez superada la actividad se testearn las consecuencias en el comportamiento del robot al aadir algn accesorio a
cargo.

Actividad 2
El robot ha de desplazarse utilizando como referencia la pared. La clave est en la estructura y apoyarse en la pared con
una ligera deriva hacia el lado en el que se encuentra la pared que se ver compensada con la resistencia de ella.

Actividad 3
El robot ha de desplazarse hasta cierto punto con rapidez. Es una actividad de compromiso entre rapidez y precisin.
Permite analizar los efectos de las aceleraciones e influencia de la posicin del centro de gravedad en ello.
Los modos para obtener velocidad pueden ser utilizando ruedas grandes o por medio de una transmisin por engranajes.
Un ejercicio que se puede hacer de modo adicional es calcular las equivalencias entre un grado de giro del encder y el
desplazamiento longitudinal.

Actividad 4
El robot ha de describir una trayectoria con giros precisos. Esta es una actividad de construccin y sistemas de giro que
permite apreciar el efecto de utilizar diferentes tipos de ruedas, el del rozamiento...
Si se hace con diferentes sistemas de direccin y diferentes posiciones del centro de gravedad facilita compararlos y
sacar conclusiones.

Recursos
Estos documentos son de carcter general, no hacen referencias a NXT-G, pero son muy tiles a la hora de iniciarse en
el aprendizaje de la programacin. Los tres los ofrece Eduteka en su web.
Gua de Algoritmos y Programacin para docentes en http://www.eduteka.org/modulos/9/298/
Programacin de Computadores con Scratch. Cuaderno de Trabajo para estudiantes (Tercera
Edicin) en http://www.eduteka.org/modulos/9/298/
Currculum Algoritmos y Programacin en http://goo.gl/BmybBj
Los siguientes libros pueden ser adquiridos tanto en papel como en versin eBook.
"Winning Design!: LEGO MINDSTORMS NXT Design Patterns for Fun and Competition", James
Jeffrey Trobaug: Interesante libro dirigido a equipos de la FLL.
"Winning LEGO MINDSTORMS Programming LEGO MINDSTORMS NXT-G Programming for Fun
and Competition", James Trobaugh, Mannie Lowe: Este libro tambin dirigido a la FLL en el aspecto ms
especfico de la programacin.
"The Art of LEGO MINDSTORMS NXT-G Programming", Terry Griffin: Libro sobre programacin en
NXT-G
Vdeos:
Presentacin de NXT-G http://youtu.be/swWzEI0CVoo
Cmo crear un nuevo bloque http://youtu.be/9SKzBTFQ8UA

Manual de robtica FLL 25


Web
Web de Philippe E. Hurbain (http://www.philohome.com/nxtmotor/nxtmotor.htm): abundante informacin
sobre LEGO MINDSTORMS y en particular sobre las caractersticas de los motores.

Manual de robtica FLL 26


6 Mejoras en la navegacin
Para mejorar en la navegacin tambin hay que mejorar el conocimiento de las herramientas de programacin.
En esta unidad se dan algunas ideas de mejora, pero todava sin llegar a utilizar sensores.
Se introduce el uso de cableados, algo que da precisin y cuyo uso es necesario cuando se quiere programar con
variables y operaciones matemticas.

Cableados en NXT-G
NXT-G est basado en LabView, un lenguaje de programacin grfico que utiliza cables para unir los diferentes
bloques de programacin y transportar datos (valores numricos, cadenas de texto, valores lgicos verdadero/falso...).

NXT-G tambin utiliza cables para transportar datos, aunque no son necesarios al iniciarse en su programacin. Sin
embargo, si se quiere avanzar en el dominio de NXT-G y desarrollar programas ms complejos es necesario dominar el
uso de cables de datos.
Para las conexiones hay que desplegar los concentradores de datos de los bloques de programacin haciendo clic en su
parte inferior. En la siguiente imagen puede verse el bloque Visualizar con el concentrador cerrado y abierto.

Un ejercicio bsico de cableado es el convertir un nmero en texto para poder mostrarlo en el monitor del NXT, por
ejemplo la lectura del sensor de ultrasonidos. El programa ser el siguiente:

Manual de robtica FLL 27


Los cables presentan diferentes colores en funcin del tipo de datos que transportan. El amarillo se corresponde a
valores numricos, el naranja a texto y el verde a valores lgicos. Si se realizan conexiones ilegales, las que unen
conectores de diferentes tipos, el cable adquiere el aspecto de la siguiente figura. En dicho ejemplo se ha intentado unir
una salida con valor numrico con una entrada que espera un texto.

Mejora en la precisin de los giros


El control deslizante del panel del bloque Mover ofrece 10 posiciones diferentes para giros a la izquierda y 10 para
giros a la derecha. Esto puede ser suficiente en muchas ocasiones, pero puede darse el caso de que en una posicin se
pase y en la anterior no llegue.
El giro tambin puede establecerse con valores numricos entre 0 y 100 en un sentido y entre 0 y -100 en el otro. Hay
que recordad que el valor 100 supone que el robot girar sobre s mismo en un sentido y con -100 en el otro.
Para dar la entrada del valor deberemos utilizaremos una variable en la que almacenaremos la magnitud del giro
deseado. Una vez que tengamos abierto un nuevo programa iremos a Edicin > Definir nueva variable. Crearemos
una nueva llamada Giro tipo Numrica (ha de almacenar un valor numrico).

Manual de robtica FLL 28


En la siguiente imagen puede verse un pequeo fragmento de cdigo que muestra cmo almacenar un valor en la
variable previamente definida y utilizarla para establecer la magnitud de giro (una curva ms abierta o ms cerrada). Se
puede cambiar el valor de una variable siempre que se desee.

El primer bloque guarda en la variable Giro el valor deseado. El segundo lee el contenido de la variable y va el cable
amarillo asigna dicho valor a la toma de datos Volante.

Arranque y parada en rampa


Si bien conviene que el centro de gravedad est bajo, en ocasiones la necesidad a cubrir puede impedir que est tan bajo
como se desea. En dichos casos, los arranques y paradas pueden hacer que se balancee o vuelque (del mismo modo que
puede suceder con una motocicleta o una bicicleta al frenar en seco).
Un modo de evitar esta situacin es utilizando un arranque en rampa, es decir, en lugar de meter toda la potencia a la
vez hacerlo progresivamente hasta llegar al valor deseado. El bloque Motor tiene esta opcin incluida, pero dado que el
bloque Mover no la tiene tendremos que hacerlo de otro modo. Veamos el algoritmo para que el robot arranque
acelerando progresivamente, avance durante dos segundos y frene de la misma manera.
1. Definir una variable que guarde el valor de la potencia a asignar al bloque Mover.
2. Asignar a la nueva variable el valor inicial 0
3. Repetir lo siguiente 100 veces (para llegar a potencia 100)
Asignar el valor almacenado a la toma de datos Potencia del bloque Mover
Sumar una unidad a la variable
Esperar 0,01s (as dado que se va a repetir 100 veces pasar de 0 a 100 en 1s).
4. Avanzar durante 2 segundos a potencia 100
5. Repetir lo siguiente 100 veces (para bajar a 0)
Asignar el valor almacenado a la toma de datos Potencia del bloque Mover (el ltimo era 100)
Restar una unidad a la variable
Esperar 0,01s (as dado que se va a repetir 100 veces pasar de 100 a 0 en 1s).
Una vez que tengamos abierto un nuevo programa hemos de crear la nueva variable. Le he puesto como nombre
potencia y ser del tipo Numrica (ya que ha de almacenar un valor numrico).
En la siguiente imagen pueden verse los pasos 2 y 3 del algoritmo.

Manual de robtica FLL 29


Se asigna el valor 0 por medio del bloque Variable y se abre un bucle. En el panel de control del bucle se selecciona la
opcin Control > Contar hasta 100 veces. En su interior la secuencia de bloques comienza asignando el valor
contenido en la variable al bloque Mover, le suma una unidad y espera una centsima antes de volver a empezar.
El resto del programa:

Para avanzar utilizaremos el bloque Mover con potencia 100 y la opcin duracin en ilimitado, y a continuacin un
bloque Esperar con la opcin Tiempo 2s. Si en lugar de hacerlo as utilizsemos solo el bloque Mover con la opcin
duracin 2s no podramos controlar la frenada de este modo. El resto es similar al bucle inicial, solo que en este caso se
resta una unidad en lugar de sumar.

Actividad
Ahora se trata de practicar, intenta hacer esto ltimo sin utilizar una variable. Para ello fjate lo que sucede cuando en el
panel de control de la estructura Bucle (Loop) hacemos clic sobre la casilla de la parte inferior Contador.

Uso de formulas matemticas


Hay ocasiones en los que hay que realizar clculos matemticos de diferentes tipos. Veamos cmo se puede hacer con
NXT-G.
Imaginemos que tenemos un robot con unas ruedas de dimetro 40mm y queremos que el robot se desplace una
distancia de 210mm.
En lugar de tantear la magnitud del giro que la rueda ha de dar para ello utilizaremos las matemticas para calcularlo en
grados. La frmula a utilizar ser la siguiente:
Distancia
Giro en grados= 360
Diametro
Voy a utilizar dos variables para las entradas (distancia y dimetro), as que lo primero ser crearlas, del modo en que se
ha visto en uno de los apartados anteriores. Estas variables sern del tipo numrico.
Para crear las frmulas se utiliza en bloque Matemticas del men Datos. Este bloque permite hacer las siguientes

Manual de robtica FLL 30


operaciones: suma, resta, multiplicacin, divisin, valor absoluto y raz cuadrada. El programa ser el siguiente:

Mover hasta el tope


Cuando se quiere sujetar un objeto con una pinza o llevar un elemento mvil hasta que llegue a un tope, desconocemos
la magnitud del giro con la que tenemos que configurar el bloque Motor (o Mover).
Reflexionemos un momento sobre cmo agarramos algo con la mano: la cerramos hasta que sentimos un nivel de
presin determinado en nuestros dedos, y cerramos cada uno de los dedos ms o menos dependiendo de la forma del
objeto. El disear y fabricar sistemas de aprensin mecnicos cuya funcionalidad se acerque a la de una mano es un
importante reto tecnolgico.
Imaginemos un dispositivo que ha de cerrarse alrededor de un objeto y sujetarlo. Cuando lo montamos con recursos
limitados normalmente su diseo es algo similar a una mandbula que se cierra hasta que no puede ms. Dependiendo si
el objeto queda ms cerca o ms lejos de la articulacin el motor deber girar ms o menos para llegar al tope, as que la
magnitud del giro ser desconocida.
Veamos cmo programar el motor para que gire hasta que llegue al tope. Lo que podemos hacer es leer el ngulo una y
otra vez y calcular la velocidad del giro. Cuando llegue al tope esta velocidad se reducir drsticamente indicando que
ya ha llegado al tope. El algoritmo podra ser el siguiente:
1. Crear una variable que almacene la lectura del sensor de rotacin
2. Poner en marcha el motor (en modo ilimitado)
3. Repetir hasta que el incremento de giro en una dcima de segundo sea inferior a 5
Leer el sensor de rotacin y asignar su valor a la variable Lectura
Esperar una dcima de segundo
Leer el sensor de rotacin, restarle el valor de la variable Lectura. Calcular el valor absoluto
de la diferencia nos asegura que no vamos a tener un resultado negativo.
Comparar el resultado del clculo anterior con 5
4. Detener el motor
El programa ser el siguiente (no es una mala idea convertirlo en un Mi Bloque):

El bucle se configura con Control Lgica hasta Verdadero.

Manual de robtica FLL 31


Cmo hacer dos cosas a la vez
NXT-G es un software multitarea, es decir, puede ejecutar ms de una secuencia de bloques a la vez. Puede ser que
mientras el robot avance queramos que a la vez mueva un dispositivo dependiente del tercer motor. Esto se puede hacer
desde el inicio del programa o a partir de cualquier punto de l.
En la figura aparece un ejemplo en el que se ha convertido el cdigo del apartado anterior en un nuevo bloque (Cierra a
tope) que se ejecuta dos veces en dos puntos diferentes del programa de modo simultneo al movimiento.
Para ello colocaremos primero el bloque o bloques en paralelo con la lnea principal de ejecucin. Para el bloque de la
izquierda nicamente se trata de enganchar el bloque con el inicio haciendo clic en el botn izquierdo del ratn y
arrastrando la viga de enlace. Para el caso de la derecha tendremos que pulsar tambin de modo simultneo la tecla
Mayscula del teclado.

Actividades

Actividad 1
Si bien la potencia de los motores puede fijarse entre 0 y 100, el robot no comenzar a moverse con potencia 1 sino que
necesitar un mnimo para ponerse en marcha, algo que depender de su peso y diseo mecnico. Si el robot utiliza
diferentes accesorios para diferentes tareas, tal y como se hace en la FLL, esa potencia mnima puede variar. Desarrolla
un programa que permita conocerla, se puede utilizar la pantalla del NXT para mostrarla.

Actividad 2
Trazar un recorrido con varios obstculos y tratar de que el robot lo recorra con precisin y vuelva al punto de inicio.
Se puede colocar una pelota sobre el robot, de un modo en el que si el arranque o parada es brusco la pelota caiga, e
intentar que se mueva sin que la pelota caiga.

Actividad 3
Cuando se utiliza una pinza o dispositivo asimilable, en la mayora de los casos tiene una posicin de inicio que
ajustamos a mano. Esto se puede hacer de modo automtico al iniciar el programa de tal modo que se asegura que
siempre lo hace en la misma posicin. Para ello lo que se puede hacer es primero cerrarla del modo que se ha visto en a
Mover hasta el tope y despus abrirla el ngulo deseado. Es algo que incluso se puede hacer mientras el robot est ya en
marcha.
Crea el programa de inicializa una pinza y despus convirtela en un nuevo bloque que puedes llamar "Inicializar
Pinza".

Manual de robtica FLL 32


Actividad 4
A algn programa previamente creado aadirle una secuencia de sonidos que se reproduzca mientras se mueva.
Puede ser cualquiera de las siguientes ideas:
Cuando el robot se mueve hacia atrs reproduce un sonido intermitente al modo que lo hacen los camiones.
Mientras se mueve reproduce una secuencia al modo de sirena de ambulancia.

Manual de robtica FLL 33


7 Uso bsico de sensores
Un robot que nicamente disponga de una controladora programable y motores para moverse es un robot que ha de
desarrollar sus tareas a ciegas, no puede obtener ninguna informacin sobre su entorno.
En ocasiones es cierto que hay tareas que pueden realizarse de una manera ms eficiente sin sensores e incluso sin
controladora (por ejemplo, el robot de la siguiente figura es capaz de seguir una pared sin necesidad de ningn sensor).
Sin embargo es importante conocer su uso, ya que a menudo va a ser el nico modo de obtener informacin del entorno
y desarrollar la tarea asignada.

Qu es un sensor
Si vamos a la wikipedia2 encontramos la siguiente definicin de sensor: "Un sensor es un dispositivo capaz de detectar
magnitudes fsicas o qumicas (..) y transformarlas en variables elctricas."
Entre ellos los hay ms sencillos en su construccin y otros mucho ms complejos. Estas magnitudes pueden ser de muy
diferentes tipos: distancia, luminosidad, nivel de ruido, temperatura...
Diariamente, aunque sea de modo inconsciente, utilizamos sensores: de temperatura en el calentador de agua para
regular la temperatura, el acelermetro que detecta la orientacin de un smartphone o tablet, el pulsador con el que
tocamos el timbre, y muchos ms.
La oferta de sensores para utilizar con robots LEGO MINDSTORMS NXT es muy extensa, adems de LEGO hay otras
empresas que los comercializan aumentando la potencialidad del sistema.

Cmo testear sensores


Cuando se usan sensores como el de color o ultrasonidos suele ser necesario tomar medidas de prueba antes de decidir
los valores lmite que se utilizarn en los programas. El NXT ofrece dispone de dos pequeas aplicaciones que permiten
leer los sensores y probar los motores: Try me y View. Se puede acceder a ellas al encender el NXT y navegar con las
flechas grises.

2 http://es.wikipedia.org/wiki/Sensor

Manual de robtica FLL 34


View
Permite leer en tiempo real los sensores (incluidos los sensores de rotacin de que disponen de modo interno los
motores). Para ello lo nico que hay que hacer es lo siguiente:
1. Conecta el sensor al puerto deseado
2. Selecciona en el submen View el tipo de sensor que deseas leer
3. Selecciona el puerto al que est conectado
4. la pantalla mostrar las lecturas en tiempo real

Try Me
Es otro modo de hacer pequeos test de un motor y sensores aunque es mucho menos til que View. Su utilidad no vas
ms all se saber si un conjunto sensor-cable funcionan.
Para hacerlo es necesario que las conexiones sean las siguientes:
Motor: puerto A
Sensor de contacto: Puerto 1
Sensor de sonido: Puerto 2
Sensor de luz: Puerto 3
Sensor de color: Puerto 3
Sensor de ultrasonidos: Puerto 4

Caractersticas de los sensores


Es muy importante conocer las caractersticas de los sensores a utilizar y los factores que pueden perturbar las lecturas.
Los sensores pueden dar sorpresas inesperadas, as que hay que practicar con ellos.
Para empezar ser suficiente con conectar el sensor al NXT y observar las lecturas en diferentes situaciones. Siempre
habremos de tener en cuenta que la actividad de un robot se va a desarrollar en el mundo real, eso quiere decir que el
entorno afectar a su funcionamiento en mayor o menor medida.

Sensor de contacto
Este sensor sirve para detectar un objeto cuando se choca con l. Es el ms sencillo de todos, de hecho no es mas que un
pulsador que al apretar cierra un contacto y al soltarlo lo abre.
Adems de para detectar obstculos, tambin puede ser til para actuar sobre un programa en lugar de utilizar los
botones del NXT, o para detectar cuando un robot llega al borde de una mesa y evitar caerse. Su posicin de inicio
puede ser tanto pulsado como sin pulsar, dependiendo de lo que se desee hacer.
Valores de las lecturas
El valor que NXT-G ofrece como lectura del sensor de contacto es un 0 (no est presionado) o un 1 (presionado) aunque
normalmente no se necesita acceder al valor numrico.
Bloques de programacin
Si bien hay dos bloques de programacin que acceden a la lectura de los sensores, por ahora vamos a ver solo uno, el
que permite controlar el flujo de un programa utilizando sensores: el bloque Esperar que puede ser configurado tanto
para que el flujo de ejecucin del programa se detenga durante un determinado periodo de tiempo como para que espere
hasta que el sensor elegido cumpla la condicin que se desee.

Manual de robtica FLL 35


Su funcin es detener el flujo del programa hasta que la condicin que se establezca en el panel de control sea
verdadera.

La condicin ser una de las siguientes:


Presionado: el flujo del programa se detiene hasta que el sensor de contacto conectado en el puerto elegido sea
presionado.
Liberado: el flujo del programa se detiene hasta que el sensor de contacto conectado en el puerto elegido sea
liberado. En ocasiones la configuracin de un sensor de contacto es que est presionado mientras no se acte
sobre l. En dichos casos esta ser la condicin a utilizar.
Chocado: el flujo del programa se detiene hasta que el sensor de contacto conectado en el puerto elegido sea
presionado y liberado.
Factores perturbadores
Lo nico con lo que hay que tener cuidado es que el mecanismo responda eficientemente. Habitualmente despus de
chocar el sensor ha de volver a su posicin original sin necesidad de realizar un esfuerzo.

Sensor de luz
El sensor de luz puede medir la intensidad de luz en un ambiente determinado o la luz reflejada por una superficie. Para
esto ltimo dispone de un led rojo que emite la luz que dicha superficie reflejar. Si la superficie es oscura reflejar
menos luz que si es clara. Si es necesario, es posible mantener este led emisor de luz apagado.
Valores de las lecturas
El valor que NXT-G ofrece como lectura del sensor est comprendido entre 0 y 100. El valor 0 se corresponde con una
baja luminosidad (poca luz) mientras que 100 es la lectura para altas luces. Son los lmites que pocas veces veremos.
Bloques de programacin
Si bien hay dos bloques de programacin que acceden a la lectura de los sensores, por ahora vamos a ver solo uno, el
que permite controlar el flujo de un programa utilizando sensores: el bloque Espera que puede ser configurado tanto
para que el flujo de ejecucin del programa se detenga durante un determinado periodo de tiempo como para que espere
hasta que el sensor elegido cumpla la condicin que se desee.

Manual de robtica FLL 36


Su funcin es detener el flujo del programa hasta que la condicin que se establezca en el panel de control sea
verdadera. El panel de control permite apagar el led rojo del sensor.

Factores perturbadores
Normalmente el robot va a desarrollar su tarea en entornos iluminados de un modo muy diferente. Incluso a medida que
el tiempo avanza, las condiciones de iluminacin pueden variar: el sol se mueve, las nubes lo ocultan, se enciende una
luz...
Si el robot ha de seguir una lnea, encontrar una zona oscura sobre un fondo claro... la luz del entorno va a ser un
elemento perturbador que alterar las lecturas del sensor provocando resultados inesperados.
Cmo evitarlos? Uno de los modos es montar el sensor lo ms cerca posible del suelo y protegido de tal modo que el
mnimo de luz del entorno llegue al sensor. Adems de ello conviene calibrar el sensor, es decir, indicarle lo que bajo
dichas condiciones de luz es blanco y lo que es negro.
Atencin!!! Si el sensor est demasiado cerca del suelo no ser capaz de ver el reflejo de la luz que genera el LED
rojo. Como consecuencia la lectura ser siempre "oscuro" independientemente del color de la superficie a la que mira.

Sensor de color
El sensor de color es el resultado de la evolucin del sensor de luz. Adems de cumplir las funciones del sensor de luz
es capaz de identificar 4 color diferentes adems del negro y blanco.
Valores de las lecturas
El sensor de color puede ser utilizado tanto como sensor de color o de luz. Si se utiliza como sensor de luz las lecturas
estarn comprendidas entre 0 y 100, de la misma manera que con el de luz.
Cuando se utiliza como sensor de color las lecturas sern Negro, Azul, Verde, Amarillo, Rojo o Blanco.
Bloques de programacin
Si bien hay dos bloques de programacin que acceden a la lectura de los sensores, por ahora vamos a ver solo uno, el
que permite controlar el flujo de un programa utilizando sensores: el bloque Esperar que puede ser configurado tanto
para que el flujo de ejecucin del programa se detenga durante un determinado periodo de tiempo como para que espere
hasta que el sensor elegido cumpla la condicin que se desee.

Su funcin es detener el flujo del programa hasta que la condicin que se establezca en el panel de control sea
verdadera. El panel de control permite seleccionar el modo en el que se desea utilizar el sensor (color o luz) as como
los rangos de color que determinan la condicin.

Manual de robtica FLL 37


Factores perturbadores
Dado que es un sensor que utiliza la luz, los problemas que puede generar son similares a los que genera el sensor de
luz. As que es muy importante que adems de estar perpendicular a la superficie cuyo color ha de apreciar, que la
distancia sea reducida y est protegido en la medida que se pueda de la luz ambiente.

Sensor de ultrasonidos
El sensor de ultrasonidos es muy til para detectar objetos sin necesidad de tocarlos. Mide la distancia a los objetos que
se encuentran frente a l. Para ello, emite ultrasonidos que rebotan sobre los objetos que se interponen y mide el tiempo
que les cuesta volver tras rebotar. La medida de ese tiempo se convierte en distancia.
Valores de las lecturas
El valor que NXT-G ofrece como lectura del sensor de ultrasonidos la distancia al objeto que se interpone en
centmetros o pulgadas (mximo 2,50m).
Bloques de programacin
Si bien hay dos bloques de programacin que acceden a la lectura de los sensores, por ahora vamos a ver solo uno, el
que permite controlar el flujo de un programa utilizando sensores: el bloque Esperar que puede ser configurado tanto
para que el flujo de ejecucin del programa se detenga durante un determinado periodo de tiempo como para que espere
hasta que el sensor elegido cumpla la condicin que se desee.

Su funcin es detener el flujo del programa hasta que la condicin que se establezca en el panel de control sea
verdadera. El panel de control permite seleccionar adems de la distancia que define la condicin en centmetros o
pulgadas.

Factores perturbadores
Uno de los factores que puede generar problemas cuando se mide una distancia con un sensor de ultrasonidos es el
material del que est constituido el objeto interpuesto. Por ejemplo, ciertos tejidos no reflejan los ultrasonidos, as que el
robot no los ve. Las paredes tampoco son todas iguales y un sensor de ultrasonidos no dara el mismo valor de distancia

Manual de robtica FLL 38


si la pared est fabricada en Pladour o ladrillo.

Sensor de rotacin
Los motores LEGO MINDSTORMS NXT disponen de un sensor de rotacin interno que ofrece una precisin de 1. El
giro de estos sensores pueden ser monitorizados de modo independiente y es posible utilizar las mismas herramientas de
programacin que se utilizan con el resto de los sensores.
Valores de las lecturas
El valor que NXT-G ofrece como lectura del sensor de rotacin en grados, aunque tambin puede pueden obtenerse las
lecturas por rotaciones.
Bloques de programacin
Si bien hay dos bloques de programacin que acceden a la lectura de los sensores, por ahora vamos a ver solo uno, el
que permite controlar el flujo de un programa utilizando sensores: el bloque Espera que puede ser configurado tanto
para que el flujo de ejecucin del programa se detenga durante un determinado periodo de tiempo como para que espere
hasta que el sensor elegido cumpla la condicin que se desee.

Su funcin es detener el flujo del programa hasta que la condicin que se establezca en el panel de control sea
verdadera. El panel de control permite seleccionar adems de el giro que define la condicin tanto en grados como en
rotaciones.

Cmo monitorizar sensores


Cuando se programa con sensores en muchos casos lo significativo no es el valor que lee el sensor, sino saber si esa
lectura cumple una condicin, por ejemplo, si la distancia que mide el sensor de ultrasonidos es menor que 20 cm o no.
En otros casos el valor de lectura s ser importante, por ejemplo si queremos que un robot vaya reduciendo su
velocidad cuando se acerca a una pared.
Por ahora vamos a centrarnos en en el primero de los casos.
Algunos ejemplos de condiciones
Veamos algunos ejemplos de condiciones de la vida diaria que pueden ayudar a entender lo que va a continuacin:
La temperatura en el balcn supera los 20
La luz del bao est apagada
Ha sonado el timbre de la puerta
Han pasado ms de 5 minutos desde que la clase ha empezado

Manual de robtica FLL 39


Endika ha llegado tarde
Todas estas condiciones se cumplirn o no, es decir, el resultado al comprobarlas ser Verdadero o Falso.

Ejemplo
El programa ms bsico con sensores es hacer avanzar un robot hasta que choque con una pared y que se detenga en ese
momento. El algoritmo correspondiente sera el siguiente:
1. Poner en marcha el robot
2. Esperar a que el sensor de contacto choque con la pared
3. Detener el robot
Este algoritmo se convertir en el siguiente programa (en este caso un bloque por cada lnea de algoritmo, observar que
el bloque Mover est configurado con duracin ilimitada, ya que al desconocer el espacio a recorrer ser otro bloque el
que se encargue de detenerlo). En estos programas el uso del bloque Espera (visto en la unidad anterior) resulta
imprescindible.

Mejora n 1
Veamos cmo hay que modificar el programa si queremos que despus de chocar el robot retroceda cierta distancia y
gire. El nuevo algoritmo ser el siguiente:
1. Poner en marcha el robot
2. Esperar a que el sensor de contacto choque con la pared
3. Detener el robot
4. Retroceder (por ejemplo una rotacin)
5. Girar (por ejemplo una rotacin)
El nuevo programa ser el siguiente:

Mejora n 2
Ahora vamos a hacer que se mueva por un entorno con obstculos de modo continuo, es decir, que repita lo anterior sin
fin. Para ello utilizaremos el bloque bucle en el que incluiremos todo lo anterior.

Manual de robtica FLL 40


Robot que sigue una lnea
Montar y programar un robot sigue-lneas es un clsico. Se puede hacer con un sensor, con dos o se puede utilizar un
dispositivo como el de la figura que dispone de 8 sensores de luz en lnea.

En el caso de la FLL deberemos hacerlo con sensores de luz o color. Si se hace con un solo sensor de luz el robot no
puede saber por qu lado se desva de la lnea as que hay que antes de nada hay que reflexionar y definir una estrategia
que nos permita hacerlo. Veamos un par de ellas:
Seguir el borde: El robot sigue uno de los bordes de la lnea, por ejemplo, el lado izquierdo de la lnea. De
este modo a la izquierda del sensor est el fondo blanco mientras que a la derecha est la lnea negra. Se puede
programar el robot de tal modo que cuando vea negro gire a la izquierda y cuando vea blanco gire a la derecha.
De este modo se puede seguir la linea.
Seguir la lnea: El robot sigue la lnea. Cuando lee blanco busca la lnea otra vez, girando primero hacia un
lado durante un determinado plazo de tiempo y si no la encuentra gira hacia el otro lado hasta encontrarla.
En general el primero ser ms eficiente y aqu veremos el modo bsico de abordarlo.

El algoritmo
Imaginemos que el robot tiene el motor izquierdo conectado al puerto A mientras que el derecho al puerto C.
El algoritmo para que el robot siga el borde izquierdo de la lnea ser el siguiente:
1. Repetir los siguientes pasos una y otra vez
Si se ve oscuro girar a la izquierda (esto se puede hacer deteniendo el motor izquierdo)
Si se ve claro girar a la derecha (esto se puede hacer deteniendo el motor derecho)
Mediremos la luz reflejada en una zona negra y en una zona blanca y tomaremos como referencia un valor intermedio.
En el ejemplo ese valor es 40. Si el valor supera 40 ser que est sobre blanco y habr girar a la derecha, en caso
contrario a la izquierda.

El programa
Que en NXT-G ser lo siguiente:

Manual de robtica FLL 41


Calibracin del sensor de luz
Cuando se utiliza un sensor de luz, la luz ambiente, y su variabilidad en el tiempo y el espacio, pueden generar
resultados inesperados. No es lo mismo que el robot desarrolle su tarea en un espacio u otro, la iluminacin es un factor
importante.
Para mejorar su comportamiento por una parte conviene proteger el sensor de tal manera que le llegue la menor
cantidad de luz ambiente. Por otra, conviene calibrar el sensor en el mismo espacio en el que el robot desarrollar su
tarea.
Calibrar un sensor es adaptarlo a las condiciones de luz del entorno particular en el que va a desarrollar su tarea, es
decirle al robot lo que es blanco y lo que es negro en ese lugar. La calibracin conviene hacerla al inicio de cada ronda
si se sospecha que ha podido haber algn cambio en el nivel de luminosidad: en la FLL Euskadi hay un ventanal a un
lado del escenario, as que a lo largo de la maana la luminosidad vara en mayor o menor medida.
El software NXT-G dispone de un bloque de programacin especfico para calibrar sensores que facilita desarrollar un
pequeo programa para ello. Este programa almacena un pequeo archivo en el NXT que se convierte en referencia
para los programas que utilizan el sensor de luz (o en su caso el de sonido). Sin embargo, dado que se ha observado que
en ocasiones este sistema de calibracin bloquea el robot, es mejor hacerlo tal y como se propone a continuacin.

Procedimiento de calibracin
Para calibrar el sensor desde el NXT se utiliza el siguiente bloque que puede encontrarse en la paleta de bloques
Completa > Avanzado.

Este bloque se puede configurar va el panel correspondiente (puede verse en la siguiente imagen).

Manual de robtica FLL 42


El programa a utilizar podra ser el siguiente:

El primer bloque elimina la calibracin previa.


El segundo bloque inicia una espera para permitir colocar el sensor sobre una zona oscura. No est en espera hasta que
se pulse sino que hasta que se pulse y se suelte, esto es imprescindible en los dos bloques espera sensor, ya que sino, el
programa se ejecuta de un tirn sin permitir moverlo de una zona negra a una blanca..
El tercer bloque establece el lmite inferior de luz (oscuro).
El cuarto bloque inicia una nueva espera para dar tiempo a colocar el sensor en una zona blanca.
El quinto lee el sensor y establece el lmite superior (altas luces). En la ayuda del NXT-G se explican todos los aspectos
relacionados con el uso de este bloque.

Errores frecuentes
Los dos bloques de programacin tienen un aspecto muy similar lo que hace que sea una fuente de errores.

El primero de ellos tiene una franja amarilla sobre l. Su funcin es conocer la lectura del sensor en el momento que el
programa pasa por l.
El segundo tiene una franja naranja y un reloj de arena sobre la mano. Su funcin es detener la ejecucin del programa
hasta que la condicin se cumpla (Espera), en este caso hasta que el sensor de contacto sea presionado.
Lo mismo ocurre con el resto de los sensores, as que en el caso de que se de un comportamiento inesperado
relacionado con sensores y flujo de programa conviene comprobar cul de los bloques se ha utilizado.

Manual de robtica FLL 43


Actividades

Actividad 1
Conecta las luces a los puertos A, B y C y un sensor de contacto a uno de los puertos de sensores.
Crea un programa que reproduzca el siguiente comportamiento tras poner en ejecucin el programa:
al pulsar el sensor se enciende la luz conectada al puerto A
al pulsar de nuevo el sensor se apaga la luz conectada al puerto A y se enciende la conectada al B
al pulsar de nuevo el sensor se apaga la luz conectada al puerto B y se enciende la conectada al C
al pulsar de nuevo el sensor las tres se encienden y apagan tres veces en periodos de 0,3 segundos tras lo que el
programa finaliza.

Actividad 2
El robot ha de desplazarse hasta la pared este y detenerse en contacto con ella. Sin eliminar ningn obstculo has de
programar una sucesin de movimientos de tal manera que llegue a la pared este sin derribar nada y se quede pegado a
ella.
Lo importante en esta actividad es trabajar con los encders y crear nuevos bloques que agrupen fragmentos de
programa que pudiesen sen reutilizados en otro momento. Utilizar un sensor de contacto para determinar cuando entra
en contacto con el muro pero hay que tener cuidado para que no rebote, ya que en ese caso no acabar en contacto

Actividad 3
Material necesario: un robot mvil con un un sensor de luz apuntando hacia el suelo para detectar zonas claras y
oscuras.
Escenario: una hoja de papel blanco, puede ser una de tamao A4, pegada a un fondo oscuro (puede ser una mesa de
madera, cualquiera que ofrezca un contraste claro-oscuro).
Comportamiento deseado: Colocar el robot sobre el papel. Al poner en ejecucin el programa el robot hace lo siguiente:
1. el robot avanza hasta el borde del papel
2. el robot retrocede hasta el otro borde del papel
3. el robot repite lo anterior indefinidamente

Actividad 4
El robot ha de avanzar hasta cruzar dos lneas negras, hacer un giro de 180 y detenerse.

Recursos
Oferta de sensores para el NXT (http://lrobotikas.net/wiki/index.php?title=Sensores): listado y caractersticas
de sensores utilizables con LEGO MINDSTORMS NXT.

Manual de robtica FLL 44


8 Uso combinado de sensores
El siguiente paso en el uso de sensores es aprender a mirar a varios sensores de modo simultaneo (monitorizar varios
sensores). Para ello es necesario conocer cmo operar con datos lgicos y cmo transportar datos por medio de
cableados.
Aunque sea una propuesta con un solo sensor, se ha incluido tambin un nuevo modo de seguir una lnea con un solo
sensor, ya que pienso que no era adecuado para la unidad de uso bsico de sensores.

lgebra de Boole
Las funciones del lgebra de Boole son muy tiles en programacin y NXT-G permite utilizar varias de ellas. Estas
funciones permiten operar con valores lgicos, es decir, con valores tales como Verdadero o Falso (estos valores
tambin pueden ser representados como 1 o 0).
Los resultados de las condiciones mencionadas anteriormente (por ejemplo, la temperatura en el balcn ha superado
220) son valores lgicos. Si se utiliza una sola condicin, o un solo sensor, se puede programar sin recurrir a estas
funciones, pero cuando se combinan dos o ms condiciones, como en este reto, las funciones del lgebra de Boole son
muy tiles.
En los cuatro operadores que se presentan a continuacin, se indica cmo se calcula el resultado y se presenta la
correspondiente tabla la verdad. Una tabla de verdad es algo similar a lo que en aritmtica es la tabla de multiplicar,
esta tabla nos da el resultado de aplicar estos operadores para distintos valores de entrada.
Bloques de programacin
Los bloques a utilizar con valores lgicos se encuentran en el men Datos que puede verse desplegado en la siguiente
figura. En los siguientes ejemplos se utilizar el primero de ellos, denominado Lgica.

Operador Y (AND)
El operador Y relaciona dos entradas. Para que el resultado sea Verdadero las dos entradas debern tener el valor
Verdadero. Si cualquiera de las dos es Falso la salida tambin ser Falso. La tabla de verdad de este operador es la
siguiente:

A B Resultado
Verdadero Verdadero Verdadero
Verdadero Falso Falso
Falso Verdadero Falso
Falso Falso Falso

En la imagen siguiente puede verse el modo en el que se utiliza este operador. Los maletines representan variables que
contienen valores lgicos.

Manual de robtica FLL 45


Operador O (OR)
El operador O relaciona dos entradas. La salida es Verdadero en el caso en que al menos una de las entradas sea
Verdadero. La tabla de verdad de este operador es la siguiente:

A B Resultado
Verdadero Verdadero Verdadero
Verdadero Falso Verdadero
Falso Verdadero Verdadero
Falso Falso Falso

En la imagen siguiente puede verse el modo en el que se utiliza este operador. Los maletines representan variables que
contienen valores lgicos.

Un ejemplo de uso de este operador es el caso en el que un robot tiene dos sensores de contacto en la parte frontal uno
en cada lado. Utilizando este operador el robot podr controlar los dos sensores a la vez tal y como se muestra en el
siguiente programa:

Manual de robtica FLL 46


El robot se pone en marcha y lee continuamente los dos sensores, combina sus lecturas por medio de la funcin O y
repite este proceso hasta que el resultado de la operacin es Verdadero.

Operador O exclusivo
En este caso para que el resultado sea Verdadero una y solo una de las condiciones ha de ser Verdadero, en el resto de
los casos el resultado ser Falso.

A B Resultado
Verdadero Verdadero Falso
Verdadero Falso Verdadero
Falso Verdadero Verdadero
Falso Falso Falso

En la imagen siguiente puede verse el modo en el que se utiliza este operador. Los maletines representan variables que
contienen valores lgicos.

Operador NO (NOT)
El operador NO da como resultado el valor opuesto al de entrada, es decir, si la entrada es Verdadero, la salida ser
Falso.

Manual de robtica FLL 47


La tabla de verdad de este operador ser la siguiente:

A Resultado
Verdadero Falso
Falso Verdadero

En la siguiente imagen puede verse un ejemplo con NXT-G:

Monitorizar un sensor
Aunque ya se vio en el captulo anterior cmo utilizar el bloque de programacin Espera para controlar el flujo de un
programa utilizando sensores, vamos a ver aqu otro modo que ser muy til cuando se necesite monitorizar ms de un
sensor de modo simultneo.
Si utilizamos el sensor de contacto para controlar cundo un robot choca con un obstculo podemos utilizar el bloque
Esperar, aunque tambin lo podemos hacer de los otros dos modos que se ven en la figura:

La funcionalidad es exactamente la misma, sin embargo, la tercera opcin nos abre el camino para la monitorizacin de
varios sensores de modo simultneo.
Si se monta un robot que deba evitar obstculos detectndolos por medio de un sensor de contacto el programa podra
ser el siguiente:

Manual de robtica FLL 48


Cmo monitorizar dos sensores
En ciertas ocasiones es necesario controlar la lectura de ms de un sensor de modo simultneo. En el apartado anterior
el robot evitaba obstculos utilizando un solo sensor de contacto. Con dos sensores el robot podr saber si el obstculo
est a su izquierda o derecha y obrar en consecuencia.
Para saber si uno u otro de los dos sensores ha hecho contacto utilizaremos el siguiente fragmento de cdigo:

En el interior del bucle lee continuamente los dos sensores y por medio de una operacin lgica (en este caso O),
combina dichas lecturas generando un valor lgico que ser Verdadero si alguno de los dos sensores o los dos de modo
simultaneo detectan un contacto.
Una vez detectado un contacto el robot girar hacia un lado u otro en funcin de cul de los dos sensores ha entrado en
contacto. El fragmento de cdigo para ello ser el siguiente (se encontrar en el programa a continuacin del anterior):

Manual de robtica FLL 49


Si el sensor conectado al puerto 1 detecta un contacto, retroceder y girar hacia la derecha, sino (ser el caso en el que
el sensor conectado al puerto 2 ha detectado el contacto) retroceder y girar a la izquierda. Este cdigo no contempla el
caso en que los dos sensores detectan contacto de modo simultneo, algo que requerira trabajar ms el cdigo.

Seguir lnea II
Aunque esta propuesta utilice un solo sensor, se ha querido presentarla aqu ya que superaba los objetivos del uso bsico
de sensores.
El robot tiene el motor izquierdo conectado al puerto A y el derecho al B. El sensor de luz est conectado al puerto 3.
Vamos a seguir la lnea por el borde izquierdo pero vamos a intentar que el movimiento sea ms fluido que lo
conseguido en la unidad didctica 4. En ese caso el motor detena el motor derecho o izquierdo para volver al borde. Lo
que vamos a hacer ahora es definir ms situaciones intermedias entre el blanco y negro.
Primero calibraremos el sensor de luz para que negro sea 0 y blanco 100. Dividiremos 100 entre 5 para definir 5 estados
(se podra hacer con otros valores). A partir de ello definiremos un comportamiento para cada tramo de valores que se
presentan en la tabla siguiente:

Rango de valores Comportamiento


0 Detener motor izquierdo para un giro brusco a la izquierda
1 Velocidad reducida del motor izquierdo para un giro suave a la izquierda
2 Seguir recto con velocidades iguales
3 Velocidad reducida del motor derecho para un giro suave a la derecha
4 Detener motor derecho para un giro brusco a la derecha

El programa ser el siguiente:

El valor de lectura se divide entre 20, el valor se redondear al entrar en el bloque Bifurcacin. Para poder configurar el
bloque Bifurcacin para que pueda elegir el comportamiento en funcin del varios valores, tras seleccionar Control por
Valor, Visualizar Vista Plana deber configurarse como en la figura.
Junto a la condicin 5 aparece una marca que seala que si alguno de los resultados difiere de los de la lista esa ser la
opcin que ejecutar.

Manual de robtica FLL 50


Mltiple calibracin de sensores de luz
Hay dos mtodos estndar para calibrar un sensor de luz en NXT-G. El primero es por medio de la opcin Calibrar
sensores que podemos encontrar en el men Herramientas de NXT-G y la segunda creando un pequeo programa con
el bloque de programacin Calibrar del men Avanzado.

Estos dos mtodos permiten una nica calibracin para todos los sensores de luz conectados al NXT, as que si
deseamos una distinta calibracin para diferentes sensores o dos diferentes para uno de ellos tendremos que recurrir a
otra estrategia; lo haremos utilizando la capacidad que tiene el NXT de registrar datos en un archivo y despus leerlos.
Antes de entrar en cmo hacerlo vamos a ver cmo utilizar archivos.

Uso de archivos con NXT-G


NXT-G permite almacenar informacin en archivos de texto. Estos archivos se pueden leer desde el mismo u otro
programa y ser transferidos al ordenador para su posterior tratamiento.
Esta informacin puede ser tanto de tipo numrico como textual, por ejemplo, las lecturas de un sensor...
Con carcter general, los pasos para utilizar archivos son los siguientes:
1. Escribir en el archivo
2. Cerrar el archivo
3. Leer los datos.
En todos los casos se utiliza el mismo bloque de programacin, Acceso a archivos, configurado del modo que se
necesite en cada caso.

Crear un archivo
El primer paso ser crear el archivo. Dado que probablemente ejecutaremos el programa en ms de una ocasin, lo
primero que habr que hacer ser eliminar el archivo creado previamente, en caso contrario, aadir los nuevos datos al
archivo antiguo.

En la imagen se puede ver el bloque Acceso a archivos configurando para que elimine el archivo de nombre

Manual de robtica FLL 51


MiArchivo.
Una vez eliminado el archivo podemos crear el nuevo y comenzar a escribir en l. No hay un modo de configurar el
bloque especfico para la creacin de un archivo, el archivo se crea cuando se escribe el primer dato en l.
Los datos que puede almacenar un archivo pueden ser de tipo texto o numrico. El bloque de la imagen siguiente
escribe un valor numrico en un archivo denominado Datos.

Utilizaremos este dato tantas veces como sea necesario para almacenar nuevos valores en el archivo.

Cerrar el archivo
Antes de leer los datos hay que cerrar el archivo, configurando el bloque Acceso a archivos tal y como se ve en la
siguiente imagen.

Ejemplo
Veamos cmo se puede aplicar lo anterior por medio de un ejemplo. La idea es registrar la variacin de la temperatura a
lo largo del tiempo: durante un proceso de enfriamiento o calentamiento, la temperatura atmosfrica... Para ello se
utiliza el sensor de temperatura para LEGO MINDSTORMS NXT.
Una vez registrados los valores, transferiremos el archivo al ordenador y los convertiremos en un grfico que ayude en
su interpretacin.
Esto es algo que se puede hacer de un modo ms sencillo con la aplicacin de registro de datos de NXT-G Educacin,
no as con su versin comercial. Por otra parte el uso de archivos permite un registro de datos ms flexible.
En el ejemplo, cuyo cdigo puede verse en la siguiente imagen, se mide la temperatura cada segundo durante 100
segundos. Esto significa que se registrarn 100 valores.

Manual de robtica FLL 52


Este programa, tras eliminar el archivo (denominado en este caso DatosTemp), abre un bucle (bloque Bucle configurado
en modo Contador) que se repetir 100 veces. En el bucle lee el sensor de temperatura conectado al puerto 1, registra el
valor en el archivo y espera 1 segundos antes de volver al inicio del bucle. Tras la repeticin nmero 100 cierra el
archivo y finaliza el programa.
Para transferir el archivo al ordenador primero deberemos abrir la ventana NXT, pulsando sobre el botn superior
izquierdo del controlador.

En la ventana NXT seleccionaremos la pestaa Memoria y en ella Otros y podremos ver varios de los archivos que
contiene el NXT, entre ellos el creado en este ejemplo.

Si pulsamos sobre el botn Cargar, podremos transferir el archivo (DataTemp.txt) al directorio que deseemos en nuestro
ordenador.
Una vez hecho esto, abriremos el archivo desde una hoja de clculo, en mi caso desde LibreOffice Calc. Una vez
abierto podremos observar que el separador que utiliza NXT-G para los decimales es un punto, por lo que la versin
espaola de LibreOffice Calc no interpretar como valores numricos las temperaturas; as que tendremos que sustituir
los puntos por comas (Buscar y reemplazar). Utilizando la herramienta Insertar Grfico podremos obtener una
representacin grfica de las temperaturas, tal y como puede verse en la siguiente imagen.

Manual de robtica FLL 53


Leer los datos
Veamos ahora cmo podemos leer los datos almacenados previamente en un archivo. Antes de ello cabe sealar que la
lectura ser secuencial, es decir, se leern en el orden en que han sido registrados, no podremos leer el tercer dato sin
antes haber ledo el primero y el segundo.
Se pueden leer los datos almacenados en un archivo desde el mismo programa que los registra o desde cualquier otro
programa. En este caso lo vamos a hacer desde el segundo programa; vamos a leer los valores almacenados en el
archivo DataTemp y los vamos a representar en la pantalla del NXT.
El programa es el siguiente:

El programa consta de un bucle que se repite tantas veces como datos ha de leer. Para permitir que se visualice el
grfico todo el tiempo que se desee se ha aadido un bloque Espera configurado para un sensor de contacto. En
realidad no hace falta montar ninguno, ya que de este modo se mantendr la ejecucin del programa hasta que se pulse
el botn gris del NXT.
El bloque Visualizar permite dibujar puntos en la posicin que se desee a partir de las coordenadas x e y del punto. En
este caso la x ser el nmero de orden de la toma de temperatura y la y la temperatura. Se configura el bloque
Acceso archivos en modo lectura y se conecta su toma de salida Nmero de salida con la toma de entrada y del
bloque Visualizar. La x la obtendremos del contador del bucle.
De este modo tendremos el mismo grfico que anteriormente hemos representado en el ordenador, en la misma pantalla
del NXT.

Manual de robtica FLL 54


Calibracin de ms de un sensor
Ahora que ya tenemos una idea de cmo utilizar archivos desde NXT-G vamos a ver otro modo de calibrar un sensor.
En los modos de calibracin mencionados al principio del artculo, el programa crea automticamente un archivo y lo
lee cada vez que se utiliza un sensor de luz sin que siquiera seamos conscientes de ello. Ahora lo que vamos a hacer es
crear un archivo con los datos necesarios para la calibracin y utilizarlo cada vez que lo necesitemos.

Crear el archivo de calibracin


Para crear el archivo de calibracin hemos de leer y registrar los valores mximos y mnimos que pueda leer el sensor
en la situacin real. Habitualmente se hace posicionando el sensor sobre la zona ms clara y a continuacin sobre la ms
oscura, pero aqu lo vamos a hacer de otra manera: moveremos el robot del mismo modo que se mover cuando realice
su tarea y registremos los valores mximo y mnimo. A continuacin los guardaremos en el archivo correspondiente.
Veamos primero cules son los pasos a dar:
1. Crear dos variables (valorMAX y valorMIN) que almacenarn los valores mximo y mnimo de luminosidad
leda.
2. Inicializar las variables con los valores valorMAX=0 y valorMIN=1023 (en lugar de utilizar el valor de lectura
porcentual, utilizaremos el valor directo que est comprendido entre 0 y 1023).
3. Eliminar el archivo de calibracin (Calibra1).
4. Iniciar un bucle, que se ejecutar durante 5 segundos, con los pasos siguientes:
a. leer el valor del sensor de luz
b. comparar la lectura con la variable valorMAX, si es mayor que ella almacenar la nueva lectura en la
variable
c. comparar la lectura con la variable valorMIN. Si es menor que ella almacenar la nueva lectura en la
variable.
5. Una vez cerrado el bucle escribir el contenido de la variable valorMIN en el archivo de nombre Calibra1 y a
continuacin lo mismo con valorMAX.
6. Cerrar el archivo Calibra1.
Una vez hecho esto el archivo de calibracin estar almacenado en el NXT. Este sera el algoritmo bsico, al que si se
quiere se puede aadir movimiento, para que en lugar de ser el usuario el que mueve el robot sobre las zonas clara y
oscura, sea el mismo robot el que se mueva (as se asegura que el movimiento del robot sobre la lnea ser
completamente real).

Tras crear las variables va la opcin Definir variables del men Edicin, haremos los pasos 2 y 3 tal y como se ve en la

Manual de robtica FLL 55


figura anterior.

Se puede ver en este fragmento de cdigo (pasos 3a y 3b) cmo se obtiene el valor directo de la lectura del sensor de luz
conectado al puerto 1 y se compara con el valor almacenado en la variable valorMIN. Si es menor que dicho valor lo
almacena en ella, sino sigue adelante (los cableados aparecen en la imagen un poco revueltos debido a la organizacin
automtica que les da NXT-G).

A continuacin compara con el contenido de la variable valorMAX y si es mayor almacena la lectura en la variable
(paso 3c).

Una vez que se registren los dos contenidos de las variables en el archivo y se cierre, esta primera parte del proceso se
puede dar como finalizada.
Esto mismo lo podramos hacer con ms sensores conectados a otros puertos del NXT, crearamos un nuevo archivo de
calibracin para cada sensor que deseemos calibrar de un modo diferente. Cara al programa que va a hacer uso de estas
calibraciones he tomado como regla para los nombres de archivo Calibra1 para el sensor conectado al puerto 1,
Calibra2 para el segundo...

Uso del archivo de calibracin


Vamos a ver primero cmo vamos a utilizar los valores registrados en el archivo. Tenemos almacenados los valores
mximo y mnimo de las lecturas tomadas en unas condiciones especficas de iluminacin. Ahora vamos a utilizar las
matemticas para que esos dos valores se conviertan uno en 0 (que se corresponder con la lectura ms oscuro negro)
y el otro en 100 (la lectura de mayor luminosidad o blanco).

Manual de robtica FLL 56


Para llegar a ello tenemos que dar dos pasos:
1. Tras medir el nivel de luminosidad con el sensor, aplicar una regla de proporcionalidad que calcule el resultado
deseado con un rango entre 0 y 100.
2. El valor directo de luminosidad que provee el sensor est comprendido entre 0 y 1023 (dado que al crear el
archivo hemos utilizado este valor, aqu habremos de hacer lo mismo) pero el valor 0 se corresponde a alta
luminosidad (blanco) y 1023 a ausencia de luz (negro). Si queremos convertirlo al estndar que utiliza NXT-G
(de 0 oscuro a 100 brillante) habremos de restar el valor anterior de 100.
Veamos un programa ejemplo que sirve para testear todo lo anterior, y que puede ser reciclado para cualquier otra
aplicacin. El programa, vase la siguiente figura, lo que har ser mostrar en pantalla el valor calibrado de una lectura
en tiempo real.

En el programa de la imagen, el nuevo bloque denominado Calibra lee el sensor conectado al puerto 1 y devuelve el
valor calibrado. El resto del cdigo es para mostrar de modo continuo las lecturas en la pantalla del NXT. As que
vamos a ver cmo es por dentro el nuevo bloque Calibra.
Este bloque tiene como entrada un nmero que se corresponde al puerto al que est conectado el sensor que queremos
leer. Si hemos nombrado los archivos del modo anteriormente mencionado, podr devolver el valor calibrado de
sensores conectados en diferentes puertos con diferentes calibraciones.
El algoritmo correspondiente a este bloque es el siguiente:
1. Crea el nombre de archivo a leer por medio de una operacin de texto: convierte el nmero de entrada en texto
y se lo suma a la palabra Calibra de tal manera que si el sensor es el 1 el archivo a leer ser Calibra1.
2. Lee el primer dato del archivo y lo almacena en la variable Vmin previamente creada.
3. Lee el segundo dato del archivo y lo almacena en la variable Vmax previamente creada.
4. Cierra el archivo.
5. Lee el sensor de luz conectado al puerto correspondiente al nmero de entrada (Valor directo)..
6. Convierte la lectura en un valor calibrado entre 0 y 100 para almacenarlo en la variable Vcal, para lo que
aplica la siguiente frmula:

7. Comprueba si el resultado es inferior a 0, en cuyo caso lo convierte en 0


8. Comprueba si el resultado es superior a 100, en cuyo caso lo convierte en 100.
9. Resta de 100 el valor anterior para conseguir el valor de salida.

Manual de robtica FLL 57


En esta primera imagen podemos ver los 5 primeros pasos.

A continuacin se hace el clculo.

Para acabar comprobando que el resultado est dentro del rango deseado y normalizando el resultado.
A partir de aqu cada uno ha de adaptarlo a sus necesidades, diferentes calibraciones para diferentes sensores o
diferentes calibraciones para un mismo sensor. Esto supondr que sern necesarios tantos archivos como diferentes
calibraciones se necesiten.

Actividades

Actividad 1
El robot se mueve por la mesa y llegado a una posicin determinada ha de posicionarse perpendicular a la pared sur
orientado hacia el norte. Para ello una vez que alcanza la posicin de giro gira y retrocede hacia atrs hasta encontrar la
pared con uno de los sensores. Se gira hasta que el otro contacta con la pared.

Actividad 2
El robot ha de avanzar hasta cierta posicin cruzando una lnea negra (cuando lo haga que emita un sonido para sealar
que la ha detectado) y detenindose cuando llega a la segunda. En ese momento se posicionar perpendicular a ella
utilizando dos sensores de luz.
Una actividad alternativa puede ser alinear el robot con la lnea, para lo que necesitar una configuracin diferente de
los sensores.

Actividad 3
Monta y programa un robot que siga una lnea utilizando dos sensores de luz.

Manual de robtica FLL 58


Recursos
Qu es una tabla de verdad: http://es.wikipedia.org/wiki/Tabla_de_verdad

Manual de robtica FLL 59


9 Neumtica
Los actuadores que utilizan los robots pueden utilizar diversas fuentes de energa. Esta energa puede estar acumulada
en bateras a modo de energa qumica o tambin en un depsito de aire comprimido.
La energa almacenada en un depsito de aire comprimido puede ser transformada en trabajo utilizando diversos
actuadores, entre ellos los cilindros de simple o doble efecto. Para su control se utilizan vlvulas de diferentes tipos que
abren y cierran el paso del aire.
LEGO ofrece diversos elementos que facilitan el montaje de circuitos neumticos y vamos a ver aqu en qu modo
pueden ser utilizados en la FLL.

Neumtica y FLL
Vamos a ver algunos de los puntos que hay que tener en cuenta para utilizar la neumtica en un robot para la FLL.

Produccin de aire
Cuando se disea un circuito neumtico una de las cosas en las que hay que pensar es en la produccin de aire
comprimido. LEGO ofrece para ello un cilindro que de modo manual permite producirlo y otro destinado a ser
motorizado. Dado que el uso de motores en un robot FLL est limitado a tres parece que lo ms adecuado ser elegir la
primera opcin, es decir, producirlo a mano.

Dado que no se puede tocar el robot una vez que sale de la base, la produccin de aire deber ser previa, as que ser
necesario un depsito para almacenarlo. Para ello se utilizar uno o ms depsitos de aire. Si se utiliza ms de un

depsito pueden ser montados en serie o paralelo.

Control
La segunda cosa en la que hay que pensar es en el control, para lo que se utilizan las vlvulas. Las vlvulas son las que
dejarn pasar el aire de tal modo que el actuador haga su trabajo.

Manual de robtica FLL 60


Pero cmo cambiar la posicin de la vlvula? De la misma manera que hemos dicho en el punto anterior, el
motorizarla no es una buena solucin as que hay que pensar otra cosa. Cules pueden ser las soluciones? En esto se
trata de darle a la imaginacin, un elemento que al chocar con una pared modifique la posicin de la vlvula podra ser
una solucin.
Otra solucin podra ser conectar directamente el cilindro al depsito, y disear un mecanismo que mantenga el cilindro
en una posicin de tal modo que al chocar con algo... lo libere y desarrolle su trabajo.

Los actuadores
LEGO ofrece cilindros de doble efecto de dos tamaos diferentes aunque en un robot FLL probablemente haya que
utilizarlos para que trabaje solo en un sentido.

Elementos necesarios
Los elementos imprescindibles para montar un circuito neumtico para la FLL son los siguientes:
Un cilindro compresor manual
Tubo
Un depsito
Un cilindro de doble efecto (grande o pequeo)
Adems de estos elementos puede haber otros opcionales, por ejemplo una unin T si se quieren montar dos depsitos
en paralelo, o incluso un manmetro como el que se puede encontrar en la caja "Set adicional de neumtica LEGO
Educacin" de referencia 9641. Esta caja ofrece todo lo necesario mas algunas piezas adicionales.

Manual de robtica FLL 61


10 Dibujo de modelos LEGO
En cualquier proyecto de ingeniera su representacin es un paso muy importante. A la hora de abordar la FLL no es un
paso imprescindible, pero s recomendable por las razones que se presentan en esta unidad.

Por qu dibujar
El dibujo es una herramienta de registro y comunicacin en los proyectos en ingeniera. Permite ir registrando los pasos
que se dan en un diseo as como comunicar una solucin con todos los datos necesarios para su fabricacin.
En la FLL puede haber diversas razones para dibujar un robot montado con LEGO, veamos algunas:
Experimentar y generar ideas: probablemente la mayora de los participantes en la FLL no disponen de
material propio para montar robots. Solo pueden explorar ideas cuando se juntan con el resto del equipo en la
escuela o local que utilicen. Los programas de dibujo permiten representar ideas sin necesidad de ninguna
pieza.
Registrar prototipos: teniendo en cuenta que normalmente se desarrollan las ideas con recursos limitados,
cuando se monta un prototipo y se quieren hacer cambios no queda otra que desmontar. El dibujo de los
modelos junto al uso de las cmaras digitales permite registrar el modelo, de tal modo que podremos volver
atrs si es lo que queremos.
Utilizar el dibujo en la presentacin del proyecto tcnico: mostrar en la presentacin del proyecto tcnico
dibujos del robot o de prototipos desechados puede ser algo interesante. Tambin puede hacerse con fotos, pero
el dibujo en ocasiones puede llegar a marcar la diferencia con una buena justificacin de su uso.

Con qu dibujar
Hay varios programas que permiten dibujar proyectos. Algunos de ellos estn especialmente creados para dibujar
modelos con piezas LEGO, mientras que hay otros de uso profesional que tambin permiten hacerlo.
Aqu nos vamos a centrar en tres programas de uso libre aunque primero vamos a ver una lista de otros tres que tambin
pueden ser muy interesantes:
Pro/ENGINEER y SolidWorks: La Robotics Academy de Carnegie Mellon University ofrece en su web las
piezas del NXT para dibujar robots LEGO con el software de dibujo 3D profesional Pro/ENGINEER tanto
en su versin comercial como educativa y con SolidWorks.
Google SketchUp: Google SketchUp es una herramienta de software de 3D de Google. Una vez que tienes
instalado Google SketchUp hay que descargar las piezas LEGO Technic y MINDSTORMS NXT.

Manual de robtica FLL 62


LEGO Digital Designer
LEGO Digital Designer (LDD de aqu en adelante) es el software oficial para dibujo con piezas LEGO. Se trata de un
software de dibujo en 3D en el que se pueden ensamblar las piezas como se hace en la realidad, aunque aqu pierden
toda su elasticidad, son completamente rgidas. Esto quiere decir que hay cosas que se pueden hacer en el mundo real
que LDD no permite.
Ofrece un conjunto de piezas basado en sus modelos. Se puede encontrar entre ellos LEGO MINDSTORMS NXT
educacin y otros.
Est preparado para generar instrucciones, tanto animadas en el monitor como en formato HTML aunque es un aspecto
en el que tiene que mejorar.
Su uso es muy intuitivo, aunque no est de ms acceder a la ayuda para ver qu es lo que se puede hacer con l. El uso
de combinacin de teclas y del ratn con el teclado hace ms gil la creacin de nuevos modelos.

Descarga e Instalacin
La aplicacin puede descargarse de la web de LDD (http://ldd.lego.com/). Existen versiones para Windows y Mac,
desde Linux puede utilizarse el programa mediante el emulador Wine. La instalacin no ofrece ninguna dificultad.
Si la aplicacin se ejecuta mientras se est conectado a Internet, comprueba automticamente la existencia de
actualizaciones.

Ventajas e Inconvenientes
LDD es un programa fcil de usar, probablemente el ms sencillo de todos los que se presentan aqu, as que de entrada
es el ms recomendable.
Sin embargo adolece de varios inconvenientes. Por una parte la limitacin en las piezas, aunque va mejorando con el
tiempo, hay piezas que no se encuentran. Por otra parte el control sobre el modo que genera las instrucciones de
montaje es nulo, algo que debera mejorar.

LDraw
LDraw es un proyecto colectivo que ha ido creciendo en el tiempo. A lo largo de los aos ha contado con las
aportaciones desinteresadas de una amplia comunidad que ha trabajado en el desarrollo de este software. Se pueden
utilizar diferentes interfaces con LDraw, dependiendo de gustos: MLCad o LeoCAD.
Una vez que se ha representado un proyecto es posible generar instrucciones o renderizarlo para conseguir un aspecto
ms real.
LDraw no trabaja directamente en 3D, sino que lo hace sobre las proyecciones didricas (alzado, planta y perfil).
Adems, de modo complementario, muestra una vista en isomtrico que nos permite tener una visin del modelo en 3D.

Manual de robtica FLL 63


Descarga e Instalacin
LDraw ofrece un instalador que contiene las diferentes aplicaciones necesarias para dibujar, renderizar modelos y
generar instrucciones. Este instalador ofrece diferentes opciones, desde la instalacin bsica hasta la instalacin de un
completo conjunto de aplicaciones. Para empezar es mejor quedarse con lo bsico.
Peridicamente se publican actualizaciones de piezas.

Ventajas e Inconvenientes
LDraw permite poner las piezas como se quieran y es posible controlar las coordenadas de las piezas con precisin. Es
posible montar submodelos que pueden ser reutilizables, adems de facilitar un montaje modular. Para montajes grandes
es ms sencillo de manejar que LDD gracias al montaje modular. El conjunto de aplicaciones generado alrededor de l
ha aumentado su potencial, siendo una herramienta excelente para generar instrucciones de montaje.
Entre sus pegas una es que no evita interferencias entre piezas, as que es posible colocar ms de una pieza en el mismo
lugar. Por otra parte, se trabaja sobre proyecciones didricas en lugar de sobre una vista 3D.

SR 3D Builder
SR 3D Builder es un programa de dibujo de modelos LEGO en 3D que entre otras cosas permite generar animaciones a
partir de modelos. El software est en desarrollo y promete seguir creciendo de la mano de Sergio Reano, su autor.
Est disponible un manual de uso en castellano en la misma web del autor.

Descarga e Instalacin
Descarga el fichero de instalacin de la web de SR 3D Builder y sigue las instrucciones del instalador. Si tienes algn
problema comprueba primero las indicaciones que Sergio ofrece en su web. Es un software en desarrollo as que puede
dar ciertos problemas.
El software se puede descargar de modo gratuito, aunque habr versin de pago.

Ventajas e Inconvenientes
Uno de los mayores puntos a favor de este software es la posibilidad de generar animaciones de mecanismos.
La pega es que no es tan intuitivo y el aprendizaje es ms largo.

Recursos
Hispabrick Magazine (http://goo.gl/li5BWv): hay varios artculos sobre el uso de Ldraw en la revista
Wiki Lrobotikas (http://wiki.lrobotikas.net): dispone de una seccin sobre herramientas de dibujo

Manual de robtica FLL 64


Robotics Academy de Carnegie Mellon University (http://goo.gl/i7jDHQ)
Piezas del NXT para dibujar robots LEGO con el software de dibujo 3D profesional Pro/ENGINEER tanto
en su versin comercial como educativa y con SolidWorks (http://goo.gl/uRHIC5)
Sketchup (http://www.sketchup.com/intl/es/)
Piezas LEGO Technic y MINDSTORMS NXT(http://goo.gl/DgMniD)
Wine (http://www.winehq.org/)
Instalador de Ldraw (http://www.ldraw.org/article/104.html)
SR3Builder (http://sr3dbuilder.altervista.org/)

Manual de robtica FLL 65


Apndice 1: Piecero
Antes de comenzar a montar un robot es importante conocer para qu sirven las piezas que ofrece el sistema, en este
caso las que se encuentran en LEGO MINDSTORMS Educacin (en adelante LMS Educacin).
En este captulo se presentan las piezas agrupadas en base a su uso ms comn. Eso no quiere decir que sea su nico
uso, ya que ello queda a la imaginacin de cada usuario.
Adems se han incorporado a la relacin de piezas otras piezas, no presentes en LMS Educacin, que pueden resultar
muy tiles en el montaje de los robots (aquellas que la celda que contiene la referencia aparece coloreada). Se sugieren
diferentes vas para conseguir nuevas piezas y se ofrecen recursos en formato libro o web que pueden ser tiles a la hora
de combinar las piezas de distintas maneras.

El NXT
NXT es el nombre de la controladora de LEGO MINDSTORMS. Se puede decir que es un pequeo ordenador
(procesador, memoria, salidas, entradas...) que podemos programar para que realice diferentes tareas.
As como un ordenador necesita de su sistema operativo, el NXT necesita de su firmware que es susceptible de ser
actualizado (conviene tenerlo actualizado a la ltima versin disponible).
Una vez que se descargue un programa en el NXT (va conexin USB o bluetooth), ya no se necesitar del ordenador

para ejecutar el programa y el robot podr actuar de modo autnomo.

Especificaciones tcnicas
Microprocesador principal de 32 bits ARM7TDMI|AT91SAM7S256 (256 KB de memoria flash y 64 KB
RAM)
Microcontrolador de 8-bit Atmel AVR|ATmega48 @ 4 MHz (4 KB de memoria flash y 512 Bytes RAM)
Pantalla matricial LCD de 100x64 pixeles
Puerto USB 2.0
Conectividad inalmbrica va Bluetooth (Class II)
4 puertos de entrada (1,2,4 y 4), cable digital de 6 hilos
3 salidas (A, B y C), cable digital de 6 cables
Altavoz, calidad de sonido de 8 KHz
Alimentacin, 6 pilas AA o batera recargable

Actualizacin del firmware


Peridicamente y cuando se compra un nuevo NXT conviene comprobar si el firmware est actualizado.
Se puede comprobar la versin del firmware instalada en el NXT por medio del men Settings en el mismo NXT. Uno
de los submens es NXT Versin que en la primera lnea presenta la versin del firmware del siguiente modo: FW
1.31.
Tambin se puede comprobar desde el software de programacin de LEGO (en adelante NXT-G). Para ello
conectaremos el NXT al ordenador con el cable USB, lo encenderemos y abriremos NXT-G. Tras iniciar un nuevo
programa pulsaremos sobre el botn Ventana NXT.

Manual de robtica FLL 66


De este modo se abrir el cuadro de dilogo que entre otras cosas muestra la versin del firmware.

Cmo actualizar el firmware


Lo primero que hay que hacer es acceder al cuadro de dilogo correspondiente va Herramientas > Actualizar
firmware del NXT.

Para comprobar si hay alguna versin nueva y descargarla pulsar sobre Comprobar. En una ventana del navegador de
Internet se abre la pgina de actualizaciones de LEGO Educacin. Seleccionar en el men de la parte izquierda
Firmware y la pgina se ver del siguiente modo:

Manual de robtica FLL 67


Si es necesario descargar el archivo deseado. A continuacin en NXT-G seleccionarlo e instalarlo va el botn
Descargar. A lo largo del proceso el NXT se apagar y volver a encender. Conviene hacerlo con la batera cargada y
no desconectarlo durante el proceso.
Nota: La pgina de LEGO Educacin tambin ofrece actualizaciones para NXT-G (va la opcin Software Updates /
Patch).

Motores
Un motor NXT es un conjunto formado por un motor de corriente continua, una reductora y un sensor de rotacin
interno.
Gracias a la reductora interna es posible conectarlo directamente a una rueda sin necesidad de reducir ms su velocidad.
El sensor de rotacin interno permite que controlar el movimiento con una precisin de 1. Estos motores pueden
configurarse para que giren en un sentido u otro un nmero determinado de vueltas, grados o tiempo.

Adems del motor des sistema NXT tambin puede ser utilizado el nuevo motor del LEGO MINDSTORMS EV3, ms
compacto que el anterior (su referencia para pedidos es 6008577).

Sensores
Los sensores disponibles en LEGO NXT Educacin son dos sensores de contacto, uno de luz, el de ultrasonidos y el de
sonido. Adems de estos hay otro sensor oficial de LEGO que es el de color.
Adems de LEGO, hay otras empresas que tambin comercializan sensores para el NXT con los que se pueden medir
muy diversas magnitudes. Sin embargo en la FLL nicamente se pueden utilizar los sensores fabricados por LEGO.
Dado que el de sonido no es til en un ambiente de alto nivel de ruido no se presenta aqu.

Manual de robtica FLL 68


Sensor de contacto
El sensor de contacto incluido en LMS Educacin es bsicamente un pulsador como el que se utiliza para llamar el
timbre de casa. Tiene un orificio en la parte frontal que permite encajar ejes u otras piezas con la misma seccin. En la
figura puede verse cul es su funcionamiento interno.

Sensor de luz
El sensor de luz mide el nivel de luminosidad que llega a l. Dispone de un led rojo que emite luz y que es muy til para
detectar zonas negras y blancas en el suelo sin depender de la luz ambiente midiendo la luz reflejada. Este led puede ser
apagado va software de tal modo que pueda medir la luz ambiente de su entorno.
Cuando se utiliza para seguir una lnea sobre el suelo, hay que prever la influencia de la luz ambiente. Para ello, por una
parte conviene proteger el sensor de la luz externa y posicionarlo de tal modo que vaya lo ms cerca del suelo posible
(aunque tampoco en exceso ya que en ese caso no el sensor no podr ver la luz reflejada). Por otra parte tambin
conviene calibrarlo en el lugar en el que debe realizar su tarea ya que las condiciones del entorno influyen en el
resultado.
Da valores bajos cuando recibe poca luz (oscuridad o lnea negra) y altos cuando el brillo es alto (ofrece valores entre 0
y 100).

Sensor de color
Este sensor puede identificar hasta seis colores: Negro, Azul, Verde, Amarillo, Rojo y Blanco.
Tambin puede ser utilizado como sensor de luz. En este caso puede utilizarse para medir la luz ambiente o la luz
reflejada (en este caso se puede seleccionar que emita luz roja, verde o azul).
Algunas versiones de NXT-G no disponen del bloque de programacin de este sensor, en ese caso habr que
descargarlos de la web de LEGO Educacin3 (seleccionar Blocks en el men de la izquierda).

Sensor de ultrasonidos
Este es un sensor capaz de medir distancias por medio de ultrasonidos. Emite ultrasonidos y espera su retorno (el cul se
produce si encuentra algn obstculo intermedio). Basndose en el tiempo
transcurrido entre la emisin y la recepcin puede determinar la distancia.
Con este sensor es ms fcil montar robots que eviten obstculos sin tener que chocar contra ellos o encontrar objetos
sin tener que tocarlos previamente.
Los mejores resultados los obtiene cuando el objeto est en frente, aunque tambin puede medir distancias a objetos en
una posicin lateral.
Hay que tener en cuenta que no todos los objetos reflejan del mismo modo los ultrasonidos, por ejemplo paredes de
pladour o ladrillo no los reflejan igual e incluso hay otros materiales (como ciertos tejidos) que no se pueden detectar
por medio de estos sensores. As que conviene hacer algn test si los valores son inesperados.

Sensores RCX
El RCX fue la primera generacin de LEGO MINDSTORMS. Tanto el RCX como los motores y sensores que lo
acompaaban estaban adaptados al sistema clsico de construccin LEGO y fueron renovados para facilitar su montaje
con las nuevas piezas de construccin Technic (diferentes a los tradicionales ladrillos de LEGO).
Los sensores del RCX pueden ser utilizados con el NXT conectados va el cable adaptador que contiene la caja de
LEGO MINDSTORMS Educacin (es el mismo cable que se utiliza para conectar las bombillas).
Son sensores ms pequeos que en algn caso podran ser utilizados sustituyendo a los sensores del NXT.

3 http://goo.gl/J7SekV

Manual de robtica FLL 69


Sensor Descripcin
Sensor de contacto: sus caractersticas son las mismas que las del sensor de
contacto NXT.

Sensor de luz: sus caractersticas bsicas las mismas que las del sensor de luz
NXT.

Sensor de rotacin: Con este sensor es posible controlar giros con una precisin
de 2230', es decir, 16 puntos por giro. Si se utiliza este sensor en la FLL no
puede ser utilizado de modo simultneo con ms de dos motores (el lmite es
utilizar tres sensores de rotacin en un robot y dado que los motores ya contienen
uno, el uso de un sensor como este reduce el nmero de motores que se pueden
utilizar).

Para poder utilizarlos desde NXT-G habr que instalar primero los bloques de programacin correspondientes que
pueden ser descargados desde la web de LEGO Educacin4 (seleccionar Blocks en el men de la izquierda y buscar
RCX Legacy Sensor Blocks for NXT).

Estructuras
Un robot necesita de una estructura que soporte los motores, sensores, controladora... Estas estructuras pueden tener
diferente apariencia en funcin de las tareas que el robot haya de desarrollar y del entorno en el que se mueva.
Uno de los puntos a tener en cuenta cuando se disea una estructura es la rigidez. Siempre dentro de los lmites de
tamao y peso deseados, es importante que sea una estructura robusta y que as se mantenga cuando se somete a
esfuerzos deformndose lo menos posible. Tambin conviene ofrecer buenos apoyos a los ejes para que al apoyarlo
sobre el suelo se mantengan rectos y no se doblen por el peso.
Se tratar de limitar los grados de libertad de los mecanismos que se construyan a los estrictamente necesarios con el
objeto de conseguir una mayor precisin en los movimientos.

Vigas rectas
Vigas rectas tiles para montar estructuras aunque las dos primeras, por su corta longitud, son bsicamente para uniones
entre otras piezas. Se muestra solo la imagen de la de 7.

Cdigo Descripcin
4177444 Vga de 2
4142822 Vga de 3
4142135 Vga de 5
4495935 Vga de 7
4645732 Vga de 9
4156150 Vga de 11
4522933 Vga de 13
4542573 Vga de 15

4 http://goo.gl/J7SekV

Manual de robtica FLL 70


Otras vigas
Estas vigas, adems de facilitar el cambio de direccin de una estructura, pueden utilizarse para aumentar la rigidez.
El ngulo en la 4, 5 y 6 es de 53,13.

Pieza Cdigo Descripcin


4552349 Viga en T 3x3

4120017 Viga en L 2x4

4142823 Viga en L 3x5

4128593 Viga en ngulo 4x4

4281516 Viga en ngulo 3x7

4112282 Viga en ngulo 4x6

4210668 Viga con doble ngulo 3x3,8x7

Otros elementos para estructuras


Las dos piezas de este grupo, no presentes en LMS Educacin, pueden utilizarse para crear estructuras rgidas con
mayor facilidad y menos piezas. Las dos ltimas pueden ser tiles tanto para construir estructuras como para disear
dispositivos para empujar, arrastrar, recoger, contener... modelos de misin.

Manual de robtica FLL 71


Pieza Cdigo Descripcin
4539880 Viga 5x7 con abertura central 3x5

4540797 Viga 5x11 con abertura central 3x5

4566243 Panel 1x5x11

4525727 Panel Cuarto de Cilindro 11 x 3

Elementos para cambios de direccin


Con las siguientes se pueden cruzar vigas en estructuras de tal modo que la cara agujereada ya no est en el mismo
plano.

Pieza Cdigo Descripcin


6008527 Conector en escuadra

4121667 Conector perpendicular con 2 ejes

4210857 Conector perpendicular con 2


agujeros

4211775 Conector perpendicular

4210655 Conector perpendicular doble

4538007 Conector perpendicular triple

4211714 Conector perpendicular 2x2


agujeros

4162857 Conector perpendicular doble


partido

Manual de robtica FLL 72


Estructuras con ejes
Estos conectores pueden utilizarse para montar estructuras con ejes ms o menos rgidas. El agujero del que disponen
facilita la conexin con otras partes del robot.
Tambin puede ser utilizado con todos ellos un Conector-eje con friccin o sin ella (ver Elementos de unin >
Conectores bsicos).

Pieza Cdigo Descripcin


4512360 Conector de ejes liso: Se puede utilizar para unir dos ejes.

4113805 Conector de ejes: Bsicamente su uso es el mismo que el anterior, pero tambin
se utiliza en sistemas de cambio de marcha.

4107085 Conector angular #1: Elemento inicial o final de una estructura con ejes.

4107783 Conector angular #2: Este y los siguientes permiten unir dos ejes con la
posibilidad de fijarlos a la estructura del robot.

4610666 Conector angular #3

4210688 Conector angular #4

4107084 Conector angular #5

4107767 Conector angular #6

Ejes flexibles
Los ejes flexibles pueden ser tiles para construir dispositivos que ayuden a realizar diferentes misiones. Pueden ser
combinados con las piezas del grupo Estructuras para ejes adems de con los diferentes tipos de conectores, ya que el
extremo de estos ejes encajan en ellos (solo se muestra el de longitud 7)

Manual de robtica FLL 73


Cdigo Descripcin
4569751 Eje flexible de 7
4234438 Eje flexible de 11
4296264 Eje flexible de 12
4501304 Eje flexible de 14
4566049 Eje flexible de 16
4614802 Eje flexible de 19

Ladrillos Technic
Si bien estas piezas han sido sustituidas en muchos casos por las nuevas vigas, todava estn presenten en LEGO
MINDSTORMS Educacin.
Si la resistencia de la estructura a construir es un factor crtico, se pueden consultar los estudios que comparan la
resistencia de las vigas y los ladrillos Technic (ver Recursos).

Cuando se utilizan los Ladrillos Technic es necesario asegurar la estructura por medio de vigas dispuestas en sentido
perpendicular a las primeras. Pero para ellos hay que intercalar placas para que la distancia entre los agujeros sea la
adecuada (solo se muestran el dey 4 de longitud).

Cdigo Descripcin
4211440 Ladrillo Technic de 2
4211441 Ladrillo Technic de 4
4211466 Ladrillo Technic de 6
4211442 Ladrillo Technic de 8
273001 Ladrillo Technic de 10
4210963 Ladrillo Technic de 12
4107558 Ladrillo Technic de 14
4211443 Ladrillo Technic de 16

Placas
A estas piezas se les puede dar diferentes usos, entre ellos intercalarlas entre los ladrillos Technic para crear una
estructura fuerte y resistente.
Las hay de diferentes longitudes y anchuras, y dada su abundancia aqu solo se dan ejemplos de ellas. En Peeron se
puede ver la variedad existente. Las hay tambin de mayor anchura.

Manual de robtica FLL 74


Pieza Descripcin
Placa de 1x2. De una unidad de ancho las hay de las siguientes longitudes: 1,
2, 3, 4, 6, 8, 10, 12

Placa de 2x2. De dos unidades de ancho las hay de las siguientes longitudes:2,
3, 4, 6, 8, 10, 12, 16. Tambin las hay de mayor anchura.

Placa Technic de 2x6. La diferencia con las anteriores son los agujeros. Las
hay de las siguientes longitudes:4, 6, 8, 10

Elementos de unin
De la misma manera que en otros mbitos de la tecnologa se utilizan sistemas de unin tornillo-tuerca, remaches,
soldadura, colas... en las construcciones LEGO hay una serie de elementos cuya funcin es unir los distintos elementos
que las conforma.
Aunque no aparezcan en esta seccin los ejes tambin pueden ser utilizados para uniones.

Conectores bsicos
Las siguientes piezas se utilizan como elementos de unin. Por s solas pueden mantener unidas otras dos piezas.
Hay que tener en cuenta que adems de las siguientes piezas, los ejes de cualquier medida tambin pueden mantener
unidas piezas con agujeros en forma de cruz.

Pieza Cdigo Descripcin


4121715 Conector con friccin: Permite unir dos piezas entre s. Utilizando varias de
ellas puede conseguirse una unin rgida
4211807 Conector: Si bien pueda parecer que sea igual al anterior, el color gris indica la
ausencia de friccin con la pieza en la que se inserte. Ello hace que este conector
se utilice en articulaciones.
4514553 Conector largo con friccin: Permite unir hasta tres piezas. No sirve para
uniones articuladas.
------- Conector largo con friccin: Igual que el anterior pero en color negro (color
antiguo).
4514554 Conector largo: Si bien puede utilizarse como el anterior, su diseo est
destinado a uniones articuladas.
------- Conector largo: Igual que el anterior pero en color antiguo

4206482 Conector-eje con friccin: Para unir una pieza con un agujero en forma de cruz
y otra con agujero cilndrico.
4186017 Conector-eje: Lo mismo que el anterior pero para cuando la unin va a ser una
articulacin. Anteriormente eran grises.
4140801 Conector largo con separador con tope: Adems de poder unir dos piezas
puede combinarse con el conector-eje o con un eje para prolongar la unin.

Otros conectores
Los siguientes conectores adems de facilitar la unin de piezas, pueden ser combinadas con los conectores bsicos para
unir piezas en sus laterales. Los dos primeros son muy tiles para construir estructuras.

Manual de robtica FLL 75


Pieza Cdigo Descripcin
4296059 Escuadra 3 x 3 con conectores: Esta pieza s est presente en la
caja de LMS que se comercializa actualmente, no as en la primera
versin. Muy til para unir vigas perpendiculares entre s adems
de permitir acoplar otras en los laterales.

4225033 Conector cruzado con 4 conectores: muy til para crear


estructuras rgidas. Montando dos conectores largos en los dos
agujeros, permite montar estructuras muy rgidas.

4560175 Conector largo con agujero central: permite tener un agujero


orientable entre las dos vigas que conecta.
4211688 Viga 3 x 0,5 con conector y encaje para eje: El conector puede
ser utilizado como articulacin.
4119589 Conector largo doble con agujero en cruz: til para dar rigidez a
estructuras.

Transmisiones mecnicas
La transmisin de movimiento y esfuerzos es un aspecto muy importante en la concepcin de un robot. Engranajes,
poleas, mecanismos biela-manivela, levas, palancas... son sistemas que permiten generar una ganancia o modificar el
movimiento (circular a lineal...).
En esta seccin se presentan una serie de piezas diseadas expresamente para transmitir movimiento. Sin embargo, hay
otras piezas que combinadas de diferentes maneras tambin pueden ser utilizadas con el mismo propsito.

Engranajes
Los engranajes permiten reducir o aumentar la velocidad ofrecida por los motores as como cambiar la direccin o
sentido del movimiento.
Para hacer moverse el robot, en la mayora de los casos, no hace falta utilizar engranajes pudiendo conectarse las ruedas
directamente a los motores.
No es recomendable utilizar largos trenes de engranajes ya que las holguras harn que pierdan precisin.
Transmisin entre ejes paralelos 1
Los siguientes engranajes permiten obtener una amplia gama de relaciones de transmisin, aunque puede adolecer de
excesivas holguras. No est de ms probar las diferentes combinaciones de engranajes antes de decidirse por una de
ellas.

Pieza Cdigo Descripcin


4514559 Engranaje de 8 dientes

4640536 Engranaje de 16 dientes

4514558 Engranaje de 24 dientes

4285634 Engranaje de 40 dientes

Manual de robtica FLL 76


Transmisin entre ejes paralelos 2
Los engranajes de este grupo pueden utilizarse tanto para transmitir movimiento entre ejes paralelos como entre ejes
que se cortan entre s. Su uso presenta menos holguras que los del grupo1.

Pieza Cdigo Descripcin


4177431 Engranaje de 12 dientes

4211635 Engranaje de 20 dientes

4255563 Engranaje de 36 dientes

Transmisin entre ejes no paralelos


Si lo que se desea es cambiar la direccin del movimiento se puede hacer utilizando diferentes combinaciones de
engranajes.
Para transmitir el movimiento entre ejes perpendiculares que se cortan se pueden utilizar los del grupo "Transmisin
entre ejes paralelos 2", con cualquier combinacin entre ellos. Adems estn los siguientes:

Pieza Cdigo Descripcin


4565452 Engranaje cnico de 12 dientes: Este engranaje puede combinarse tanto con el
cnico de 20 dientes como con cualquiera del grupo "Transmisin entre ejes paralelos
2", y por supuesto, consigo mismo.
4514557 Engranaje cnico de 20 dientes: Este engranaje puede combinarse tanto con el
cnico de 12 dientes como con cualquiera del grupo "Transmisin entre ejes paralelos
2", y por supuesto, consigo mismo.

4558690 Engranaje cnico de 20 dientes con agujero: A diferencia del anterior no arrastra o
es arrastrado por el eje que lo atraviesa.

4248204 Engranaje de 4 dientes: Este engranaje ha de ser combinado con s mismo, tanto si
se usa entre ejes paralelos como entre ejes perpendiculares entre s.

4211434 Corona de 24 dientes: Este engranaje puede ser combinado con cualquiera del grupo
"Transmisin entre ejes paralelos 1" para transmitir el movimiento a un eje
perpendicular.

Si lo que se desea es conseguir una reduccin muy importante en la velocidad de un eje, lo ms adecuado es utilizar una
combinacin sinfn-corona. Para ello LEGO dispone de un engranaje sinfn que puede combinarse con cualquiera del
grupo "Transmisiones entre ejes paralelos 1".

Manual de robtica FLL 77


Pieza Cdigo Descripcin
4211510 Engranaje sinfn de 1 entrada

Cremallera
Combinando la cremallera y un engranaje se puede convertir un movimiento circular generado por un motor en un
movimiento rectilneo o un desplazamiento rectilneo en un giro. O viceversa. Se pueden combinar con cualquier
engranaje del grupo Trasmisin entre ejes paralelos 1.

Pieza Cdigo Descripcin


3743 (Peeron) Cremallera 1x4

4562009 Cremallera 1x7 con agujeros y agujeros eje

4540906 Cremallera 1x13 con agujeros y agujeros eje

Limitador de par
El engranaje de la figura permite limitar el par transmitido. De este modo el motor podr seguir girando sin daar partes
del robot cuando la resistencia supera un valor determinado. Conviene hacer pruebas con l.

Pieza Cdigo Descripcin


4540381 Engranaje limitador de par: Este engranaje de 24 dientes limita el par a unos
valores comprendidos entre 2,5 y 5 Nxcm. Este engranaje se puede combinar con
cualquiera del grupo "Transmisiones entre ejes paralelos 1".

Manual de robtica FLL 78


Otros engranajes
Las siguientes ruedas dentadas no encajan en ninguno de los grupos anteriores y tienen un uso muy especfico.

Pieza Cdigo Descripcin


4237267 Engranaje de 24 dientes con embrague: Este engranaje puede girar libremente
alrededor de un eje, lo cul permite montarlo sobre un eje que gire de modo
independiente. Asimismo es til cuando se quiere montar un cambio de marchas o
asociar a un solo motor dos mecanismos diferentes que que podrn ser seleccionados
de modo manual.
4525184 Diferencial: Junto a tres engranajes cnicos de 12 dientes facilita montar un
diferencial.

4624645 Corona giratoria: permite montar una estructura en cada uno de sus lados de tal
modo que una puede girar respecto a la otra.

Cadena
En los casos en que la distancia entre los ejes entre los que hay que transmitir el movimiento sea grande, una de las
soluciones es utilizar una cadena para ello. No es un elemento que soporte grandes esfuerzos pero puede ser til en
ocasiones. Estas piezas se combinan con los engranajes del grupo Transmisin entre ejes paralelos 1.

Pieza Cdigo Descripcin


371126 Eslabn de cadena

387326 Eslabn de cadena para oruga

4566742 Eslabn para oruga: esta ltima pieza se usa


bsicamente para montar una oruga que facilite el
movimiento de una mquina por superficies irregulares.
Sin embargo, gracias a los agujeros de que dispone es
posible darle otras utilidades, por ejemplo, como cinta
transportadora.

6036424 Combinando esta pieza con el eslabn para oruga se


puede conseguir un sistema de avance con orugas con
gran adherencia.

Piezas complementarias
Las piezas del primer grupo han sido diseadas para montar engranajes de un modo compacto, mientras que las del
segundo se utilizan para montar cambios de marcha.

Manual de robtica FLL 79


Pieza Cdigo Descripcin
4142824 Caja Reductora: Se utiliza para montar una reductora
sinfn-corona (utiliza un engranaje de 24 dientes del grupo
Transmisin entre ejes paralelos 1)

4558692 Conector en U para engranajes cnicos: tanto este como


el siguiente facilitan el montaje de una transmisin entre ejes
perpendiculares tal y como puede verse en las siguientes
imgenes.
48496 (Peeron) Conector en U para engranajes cnicos con conectores

Las siguientes piezas se utilizan para cambio de marchas en modelos Technic as como en mecanismos en los que con
un solo motor de desee conseguir diferentes efectos (no de modo simultaneo y con necesidad de modificar la funcin de
modo manual). Para este propsito tambin son necesarios el engranaje de 24 dientes con embrague (vase en el
grupo Otros Engranajes) y el conector de ejes (vase en el grupo Accesorios para ejes; el liso no, el otro). Pueden
encontrarse muy buenos ejemplos de cmo montar estos mecanismos en las instrucciones de montaje de la mayora
de las cajas de LEGO Technic (a excepcin de las pequeas).

Pieza Cdigo Descripcin


4278957 Anillo de embrague: la palanca de cambio acta sobre esta pieza para
seleccionar el eje al que hay que transmitir el movimiento

4278756 Extensin del anillo de embrague: se combina a la anterior si se necesita


extender el acoplamiento del que dispone en los dos lados.

4270473 Palanca de cambio: permite controlar la posicin del anillo de embrague a lo


largo de un eje.

Ejes
Adems del uso como ejes, las siguientes piezas pueden utilizarse como elementos de unin, como separadores o
incluso para dar rigidez a estructuras.

Manual de robtica FLL 80


En la FLL se utilizan a menudo para construir elementos que faciliten la recoleccin de modelos de misin. Se ofrecen
nicamente las imgenes de los 7 primeros.

Pieza Cdigo Descripcin


4142865 Eje de 2

4211815 Eje de 3

4566927 Eje de 3 con stud

370526 Eje de 4

4560177 Eje de 4 con tope

4211639 Eje de 5

4508553 Eje de 5,5 con tope

370626 Eje de 6
4211805 Eje de 7
370726 Eje de 8
4499858 Eje de 8 con tope
4535768 Eje de 9
373726 Eje de 10
370826 Eje de 12
50451 (Peeron) Eje de 16
4233937 Eje de 32

Accesorios para ejes


Estos elementos de unin permiten unir dos ejes de tal modo que giren de modo solidario.

Pieza Cdigo Descripcin


4525904 Junta Cardan: para unir ejes no alineados entre s y mantener la
transmisin de movimiento entre ellos.

4512360 Conector de ejes liso: une dos ejes.

4207456 Conector de ejes: Bsicamente su uso es el mismo que el anterior,


pero tambin se utiliza en sistemas de cambio de marcha.

Manual de robtica FLL 81


Separadores
Estas piezas se pueden utilizar para mantener en su posicin un engranaje, rueda o cualquier otro elemento que se
monte en un eje, tanto como tope como separador. La anchura del segundo es la misma que la de los engranajes, vigas...
mientras que la de la primera es la mitad.

Pieza Cdigo Descripcin


4239601 Separador de 1/2: esta pieza puede encontrarse en color gris o
amarillo, siendo su uso el mismo en los dos casos.

4211622 Separador

Poleas
Se pueden utilizar poleas para transmitir movimiento, aunque hay que comprobar que cumple su funcin de modo
adecuado. En caso contrario son ms eficientes las transmisiones por engranajes.
Se pueden utilizar las siguientes piezas junto a gomas como elemento de transmisin.

Pieza Cdigo Descripcin


4239601 Separador 1/2: Esta pieza puede utilizarse tanto como separador o
elemento de fijacin para ejes como polea. Puede combinarse con otra
pieza igual o con la siguiente.
4494222 Polea: Esta pieza puede utilizarse tanto como polea como rueda.
Puede combinarse con la anterior para conseguir una reduccin de
velocidad.

Ruedas
Siendo LEGO la empresa que mayor nmero de ruedas fabrica al ao en el mundo (380 millones anuales), el nmero de
diferentes ruedas disponibles para los modelos LEGO es extenso. Sin embargo, no todas ellas son adecuadas para
construir robots. Veamos los factores que hay que tener en cuenta en su seleccin.

La anchura del apoyo de la rueda en el suelo: Las ruedas anchas con un buen apoyo sobre el suelo (como lo son las
de F1) ofrecen muy buen agarre y una excelente traccin. Para vehculos que han de moverse rectos y que al girar lo
hacen con grandes radios de giro son muy eficientes, no as para robots que giran en espacios reducidos.

Manual de robtica FLL 82


La razn es que cuando el robot gira, el recorrido de los puntos de apoyo ms cercanos al centro de giro es ms corto
que el de los puntos ms alejados. En consecuencia, parte del apoyo de la rueda deber deslizar. Por ello, conviene
seleccionar ruedas con un perfil circular (apoyo estrecho) en lugar de ruedas con un perfil rectangular (apoyo ancho).
El dimetro de la rueda: El dimetro de la rueda condiciona la velocidad, con ruedas mayores el robot podr
desplazarse ms rpido, aunque la precisin puede disminuir.

Otras ruedas
A parte de las ruedas que se encuentran en la caja de LMS Educacin, hay un tipo muy interesante por su tamao y
forma. Esta rueda tambin se encuentra en la Caja de Recursos LMS Educacin. Otra opcin es el sistema de oruga.

Pieza Cdigo Descripcin


290226 Neumtico 81.6 x 15: este neumtico tiene un perfil
redondeado, as que el apoyo es estrecho.

290301 Llanta 81,6 x 15: esta llanta se monta con el neumtico 81,6 x
15

680c01 (Peeron) Oruga: Esta pieza puede ser combinada con las llantas
contenidas en la caja LMS Educacin para construir un
sistema de movimiento basado en oruga.

Manual de robtica FLL 83


Levas
A esta pieza pueden se le pueden dar diferentes usos. Entre ellos se encuentra el de leva pudiendo conectarla a un eje
por cualquiera de los 4 agujeros que dispone.

Pieza Cdigo Descripcin


4210759 Leva

Neumtica
Una instalacin neumtica necesita de un sistema que genere aire comprimido, un recipiente en el que almacenar el aire
comprimido y un actuador que ser capaz de realizar trabajo cuando se le suministra aire comprimido.
LEGO dispone de todos estos elementos que con un poco de imaginacin se pueden motorizar para disear un sistema
automtico. Dada la limitacin en el uso de motores en la FLL no es posible utilizar dichos motores para generar el aire
comprimido (a no ser que un motor se utilice para ms de una funcin de modo simultneo). Pero eso no quiere decir
que no sean tiles para la FLL como se ver en la Unidad correspondiente.

Pieza Cdigo Descripcin


74720 Cilindro compresor de uso manual

4652842 Cilindro compresor (el cdigo corresponde al nuevo


cilindro compresor de color gris y algo ms largo)
4563144 Cilindro neumtico

4625540 Cilindro neumtico pequeo

4211508 Unin T para circuito neumtico

67c01 Depsito de aire comprimido


(Peeron)

4631293 Tubo flexible para circuito neumtico

Compra de nuevas piezas


Si se necesitan ms piezas, ya sea porque no se dispone de ninguna de un tipo o porque se necesitan ms, hay diferentes
medios para conseguirlas.
El primero para quien solo dispone de la caja de LMS Educacin es comprar la Caja de Recursos MINDSTORMS
Educacin (ref. 9695) con un precio por debajo de 100 euros. En este enlace puede verse el listado de piezas que
contiene.

Manual de robtica FLL 84


En esta seccin se presentan otros medios alternativos para conseguir piezas.

Servicio de atencin al cliente LEGO


LEGO ofrece piezas sueltas por medio de su Servicio de Atencin al Consumidor (va telefnica en castellano y
llamada gratuita 00-800-5346-1111) y por medio de su pgina web (Pick-a-Brick).
En el caso de piezas nuevas este es el mejor medio, ya que al ser escasas en Bricklink suelen estar caras. Para hacer el
pedido es necesario conocer el cdigo de las piezas.
Dichos cdigos aparecen en el listado de piezas que se encuentra en las instrucciones de montaje de LEGO Technic que
puedes descargar de la web de LEGO Technic. Si no se dispone del cdigo de LEGO, tambin es posible utilizar el
cdigo Peeron. Peeron es un repositorio no oficial de modelos y piezas de LEGO, de tal modo que es posible ver qu
piezas contiene una caja. La fuente de estos inventarios son los propios usuarios as que no hay un 100% de garanta de
que no contengan errores pero a pesar de ello son muy tiles. Si encontramos la referencia de la pieza que buscamos la
podemos utilizar en Bricklink para localizarla.

Bricklink
BrickLink es un portal que rene un amplio conjunto de tiendas on-line que venden piezas LEGO por unidades. Se
encuentran en ms de 60 pases y muchas de ellas aceptan pedidos internacionales. En realidad cualquiera puede poner
sus piezas en venta en Bricklink.

Los precios los pone cada vendedor y la disponibilidad de piezas vara de un vendedor a otro. Esto quiere decir que es
importante explorar, y tras encontrar lo que buscamos valorar los precios, sin olvidar los gastos de envo (siempre hay
que mirar en ms de una tienda).
La bsqueda se puede hacer de distintas maneras, por el nombre, el cdigo de pieza de LEGO o utilizando el cdigo
Peeron de la pieza. Qu es Peeron? Es un repositorio no oficial de modelos y piezas de LEGO, de tal modo que es
posible ver qu piezas contiene una caja. La fuente de estos inventarios son los propios usuarios as que no hay un
100% de garanta de que no contengan errores pero a pesar de ello son muy tiles. Si encontramos la referencia de la
pieza que buscamos la podemos utilizar en Bricklink para localizarla.
Los precios suelen estar en dlares americanos, as que en las tiendas europeas conviene comprobar primero cul es el
cambio que aplica el vendedor para evitar sorpresas. Cada vendedor establece los medios de pago que considera
conveniente.
Una vez se hace el pedido se recibe una notificacin automtica. Tras ella, al poco tiempo, el vendedor se pone en
contacto con el comprador para que efecte el pago. Generalmente el proceso es rpido.

Manual de robtica FLL 85


Cajas de LEGO Technic
Comprar cajas de LEGO Technic es un buen modo de conseguir nuevas piezas adems de que permiten conocer cmo
utilizan las diferentes piezas los diseadores de LEGO. La pega es que si necesitamos alguna pieza en particular en una
cantidad determinada (y en algunos casos de un color determinado) puede suceder que este medio no resulte el ms
adecuado.

eBay
eBay es un portal en el que se pueden encontrar piezas de LEGO de segunda mano. A veces son modelos completos y
otras son diversas cantidades de piezas (individuales o mezcladas de mltiples orgenes). Aqu la pega, o la ventaja, es
que en muchos casos hay que pujar por ellas. A veces hay suerte y se puede conseguir material muy interesante. Tanto
en eBay como en Bricklink conviene mirar primero la reputacin del vendedor basada en la opinin de los usuarios que
le han comprado algo.

Recursos
Resultados de la investigacin sobre resistencia de las vigas y ladrillos Technic
(http://eprints.usq.edu.au/20528/)
Eficiencia en estructuras LEGO. Mediciones y consejos en mecnica Technic artculo publicado en el
nmero 12 de Hispabrick Magazine (http://goo.gl/WjRh2f)
"LEGO Technic Tora no Maki" by ISOGAWA Yoshihito 2007 (http://goo.gl/WhrMWe): Este libro es un
compendio de pequeas mecanismos con piezas LEGO que puede ser muy til para obtener ideas sobre cmo
combinar las piezas. Se puede obtener tanto en formato digital como en papel. Organiza los contenidos de
modo sistemtico basndose en el tipo de transmisin. Es un libro para ver imgenes, sin texto, imprescindible.
Los manuales de instrucciones de los modelos de LEGO Technic ofrecen muchas ideas tiles a la hora de
montar robots. (http://goo.gl/HkgIeQ)
Bricklink (http://www.bricklink.com/)
Peeron (http://www.peeron.com)

Manual de robtica FLL 86

Вам также может понравиться