Manual de Robotica Lego Mindstorms Nxt

16
Manual de ROBOTICA LEGO MINDSTORMS NXT Engranajes : tipos de engranajes y relaciones  Qué es un engranaje? Es una rueda dentada que encaja con otros engranajes Para qué sirven? Los engranajes sirven para cambiar: •velocidad •torque (f uerza de rotación) •dirección de los ejes. Diferentes tipos de engranajes Engranaje RECTO Engranajes LIBRES o INTERMEDIOS Engranaje GUSANO o SIN FIN

Transcript of Manual de Robotica Lego Mindstorms Nxt

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 1/16

Manual de ROBOTICA LEGO MINDSTORMS NXT

Engranajes : tipos de engranajes y relaciones 

Qué es un engranaje?

Es una rueda dentada que encaja

con otros engranajes

Para qué sirven?

Los engranajes sirven para

cambiar:

•velocidad•torque (fuerza de rotación)

•dirección de los ejes.

Diferentes tipos de engranajes

Engranaje RECTO

Engranajes LIBRES o

INTERMEDIOS

Engranaje GUSANO o SIN FIN

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 2/16

Uso del engranaje GUSANO o SIN FIN

Engranaje CÓNICO oBISELADO

BANDAS Y POLEAS

PIÑON Y CREMALLERARelaciones de engranajes

La relación de engranaje es la relaciónentre el número de dientes en unengranaje respecto al número de dientesen otro.

Engranaje chico con 8 dientes(eje de entrada)

y engranaje grande con 40dientes (eje de salida)

Por ejemplo:

La relación de engranaje en el ejemplo de arriba es de 40 a 8 o, simplificando 5 a 1.

Esto significa que le lleva 5 revoluciones (vueltas) al engranaje más pequeño alcanzar 1revolución del engranaje más grande.

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 3/16

La relación de engranaje proporciona el cambio en la velocidad y torque de los ejes de

rotación. Si le lleva 5 vueltas al engranaje de 8 dientes por cada vuelta del engranaje de

40 dientes, significa que el engranaje de 40 dientes girará 5 veces más lento que el de 8

dientes.

Pero, también significa que el eje del engranaje de 40 dientes tiene 5 veces el torque

(fuerza de rotación) del eje con el engranaje de 8 dientes

Quiere decir que si en en el eje de engranaje chico (engranaje de entrada) pusieramos el

motor; y en el eje de engranaje grande (engranaje de salida) pusieramos la rueda; lo que

estariamos logrando en nuestro robot es que sea 5 veces más fuerte en la rotación de larueda pero a su vez 5 veces más lento!

Comunicando NXT en forma inalámbrica 

La forma de comunicarse en forma inalámbrica en los robots mindstorms NXT es a

través del dispositivo BLUETOOTH. Antes de que podamos enviar mensajes de un

robot a otro, hay que configurarlos.

En el robot "maestro" que configuraremos para enviar mensajes a otro, debemos entrar al menú bluetooth de la pantalla, y elegir "search" para que busque otros robots con

 bluetooth habilitados. Una vez encontrados le tenemos que asignar al robor "exclavo"

un número de conexión (1, 2 o 3).

La primera vez que la conexión es establecida entre dos NXT, un aviso para ingresar el

PASSWORD será presentado en las pantallas, y deberá ser aceptados por ambos.

Ahora cuando navegamos por la categoría "conection" del robot "maestro" NXT, el

nombre del robot "esclavo" debe ocupar el número de conexión establecida.Es necesario pasar por este proceso una única vez, el NXT de recepción pondrá al día

automáticamente su conexión cuando el robot "maestro" NXT esté fijando su número de

conexión.

Para saber como enviar y recibir mensajes entre robots, debemos ir al link 

MANUAL DEL PROGRAMADOR NXT - COMUNICACIONES NXT disponible

en este blog.

Los ejercicios para comunicaciones son los del 3er NIVEL.

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 4/16

EJERCICIOS DE PROGRAMACIÓN 3er. NIVEL - COMUNICACIONES NXT 

Los ejercicios deben ser hechos por equipos de a 2, en el que el primer grupo programa

el ROBOT MAESTRO y el segundo el ROBOT ESCLAVO

Programar los robots para:

1) ROBOT MAESTRO Cuando el sensor de movimiento sense algún objeto a menos de

treinta centímetros, debe enviar al otro robot el mensaje “ataque”. Si no sensa objeto

alguno debe enviar el mensaje “quieto”

ROBOT ESCLAVO Cuando se reciba el mensaje “ataque” el escorpión debe atacar con

el motor B. Si se recibe el mensaje “quieto” debe permanecer inmóvil.

2) ROBOT MAESTRO Cuando el sensor de sonido sensa un grito, este debe enviar el

mensaje “moverse”. Si no sensa ningún sonido este debe enviar el mensaje “quieto”.

ROBOT ESCLAVO Cuando se recibe el mensaje “moverse” el robot debe moverse

durante 3 segundos hacia delante y luego dar media vuelta. Si recibe el mensaje

“quieto” debe permanecer inmóvil.

3) ROBOT MAESTRO Mover el robot hacia adelante.

Si el sensor de ultrasonido sensa algún obstáculo a menos de 40 cm el robot debe

detenerse, atacar con su defensa y enviar el mensaje “auxilio”.

ROBOT ESCLAVO Mover el robot hacia adelante.

Si se recibe el mensaje “auxilio” el robot debe detenerse y reproducir la voz grabada

ATTENTION 3 veces.

4) ROBOT MAESTRO PRogramación libre

ROBOT ESCLAVO Debe copiar todos los movimientos del ROBOT MAESTRO.

EJERCICIOS DE PROGRAMACION 2do NIVEL 

PROGRAMACION DEL ROBOT CON DIFERENTES SENSORES

ROBOT TRIBOT

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 5/16

Programar el Robot para que:

Ejercicios por tiempo

1) Se mueva hacia adelante durante 5 segundos, de medio giro, y se mueva por otros 10

segundos más a máxima velocidad. Utilizar para mover los motores, la opcion

ROTACIÓN de ruedas calculando cuantas vueltas se necesita de una rueda para cumplir 

el medio giro

2) Hacer que el robot se mueva hacia adelante a velocidad intermedia. Si sensa algún

obstáculo con el sensor de ultrasonido a menos de 30 cm, hacer que el Robot se detenga.

Uso de la herramienta LOOP y SWITCH

3) Hacer que el robot se mueva hacia adelante a velocidad intermedia. Si sensa algún

obstáculo con el sensor de ultrasonido debe dar 1/4 de vuelta y continuar su camino.

Este proceso se debe hacer indefinidamente.

Utilizar en el motor la herramienta GRADOS para calcular el cuarto de giro del Robot

4) Hacer que el robot se mueva hacia adelante a velocidad máxima. Utilizando el sensor 

de sonido debemos hacer que el robot de medio giro en cuanto se produzca un aplauso.

Este proceso se debe repetir indefinidamente.

5) Utilizando el sensor de luz debemos programar al robot para que no caiga de la mesa

6) Utilizando el sensor de luz hacer un seguidor de linea negra.

Uso de la herramienta LOOP y SWITCH dentro de otro SWITCH

7) Manteniendo el robot sin que caiga de la mesa, hacer que el mismo agarre las pelotas

con sus pinzas al producirse un aplauso.

8) Manteniendo el robot sin que caiga de la mesa, hacer que el mismo esquive

obstaculos que se encuentran a menos de 10 cm de distancia, haciendo que el robot de

1/4 de giro y continuando su marcha.

9) Hacer un seguir de linea negra que se detenga cuando tenga un obstaculo a menos de15 cm.

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 6/16

10) Hacer que el robot ubique las pelotas y las arroje fuera de la mesa. Con un aplauso

el programa debe finalizar.

EJERCICIOS DE PROGRAMACION 1er NIVEL 

EJERCICIOS DE PROGRAMACION CON ROBOTS TEMPORIZADOS

Programar el robot para que:

1) Que se mueva hacia delante durante 10 segundos (a máxima velocidad)

2) Que se mueva hacia delante durante 5 segundos y luego de marcha atrás durante 15

segundos.

3) Que se mueva hacia atrás durante 5 segundos a la velocidad más lenta y luego

durante 5 segundos hacia adelante a máxima velocidad.

4) A velocidad baja, calcular cuánto tarda el robot en recorrer 1 metro.

5) Calcular cuál es el largo en metros del ancho del pasillo, sabiendo cuánto tarda en

recorrer un metro nuestro robot

6) Calcular cuál es el largo de nuestra mesa.

7) Que se mueva hacia delante durante 4 segundos, de media vuelta y avance otros 5

segundos.

8) Que se mueva a hacia a delante durante 3 segundos, de media vuelta y avance 2

segundos y de otra media vuelta para avanzar durante 5 segundos.

9) Hacer que el robot recorra en forma de “S” la distancia de un metro

aproximadamente.

EJERCICIOS DE PROGRAMACIÓN DE ROBOTS CON SENSORES para reaccionar 

al ambiente.

Programar el Robot para que:

1) Se mueva hacia delante a velocidad media y cuándo el sensor de tacto sea

 presionado, retroceda un segundo y luego de media vuelta

2) Igual al anterior pero que lo haga indefinidamente.

3) Se mueva hacia delante esquivando obstáculos indefinidamente.

4) Se mueva hacia delante esquivando en forma de S, 4 obstáculos.

5) Programar el robot para que no se caiga de la mesa, utilizando el sensor de luz

6) Programar un robot seguidor de linea utilizando el sensor de luz.

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 7/16

Sensores 

Los sensores son un componente crucial a cualquier máquina que se denomine un robot.

Los sensores entregan información sobre el robot y el ambiente en el cual está

interactuando, al computador (cerebro) del robot. El programa computacional del robotdecide que hacer basándose en esa información y en sus propias instrucciones de tareas

de alto nivel. En el kit MindStorms NXT encontrarás hasta 4 tipos de sensores.

Sensor de contacto: dispone de un interruptor que al ser presionado envia una señal al

 NXT. Este sensor es útil para detectar obstáculos.

Sensor de ultrasonido: al igual que los murciélagos, este sensor emite un

ultrasonido imperceptible para el oido humano, que hace rebotar en los objetos más

 proximos y con el cuál calcula la proximidad de los mismos.

Sensor de Luz: se utiliza para sensar la luz ambiente o para medir el

rebote de su propia luz como por ejemplo contra el piso. Tambien se lo utiliza para

sensar colores en un piso ya que cada color emite un reflejo diferente.

Sensor de sonido: se lo utiliza para reaccionar a sonidos del ambiente.

Por ejemplo para que accione sus motores cuando percibe un aplauso.

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 8/16

Clasificación de robots 

Una clasificación un tanto general, de acuerdo a la utilidad social de los robots sería la

siguiente:

Robots manipuladores para uso industrial: Por ejemplo en la industria automotriz. Por lo

general tienen forma de brazo mecánico al que se le agrega una herramienta. Sirven

 para pintar, soldar, cortar, etc

.

Vehículos a control remoto: Que se usan para transportar herramientas o acceder a

lugares de difícil o imposible acceso para el hombre. Construyen túneles, apagan

incendios, recorren superficies de un planeta, etc.

Robots didácticos: Son los utilizados para el aprendizaje de la robótica, como el

mindstorms nxt

Cuales son las partes de un robot 

Qué partes componen un robot

La estructura Es el esqueleto o chasis del robot. Le da forma y sostiene al resto de las partes.

Los mecanismos Son los elementos que permiten transmitir el movimiento entre sus

 partes. Los movimientos de giro, de desplazamiento.

Por ejemplo los engranajes, las poleas, las correas, las ruedas, etc.

Las fuentes de energía Aquí podemos distinguir la energía eléctrica, que en nuestro caso

serán las baterías, y la energía mecánica, que es entregada al robot por el motor.

El motor convierte energía eléctrica en energía mecánica

Los elementos de control: Son los elementos que permiten controlar las acciones del

robot, existen diferentes modelos.

El nuestro es el ladrillo NXT

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 9/16

Los sensores: Son lo elementos que le entregan información al robot para que éste

 pueda conocer la situación exterior.

Por ejemplo sensores de tacto, de luz, de temperatura, etc.

La programación: El programa (software) le indica al elemento de control que debe

hacer. Existen varios lenguajes de programación.

 Nosotros utilizamos el MINDSTORMS NXT

Generalidades 

Cómo se creó la palabra Robot

La palabra “robot” la utilizó por primera vez el escritor Karel Capek quien, en 1917

denominó a unas máquinas construidas por el hombre y dotadas de inteligencia. Deriva

de “robotnik” que define al “esclavo de trabajo”.

Cuáles son las leyes robóticas

En su libro “I ROBOT” en el año 1950, el escritor Isaac Asimov enuncia las TRES

LEYES ROBÓTICAS:

1. Un robot no debe dañar a un ser humano o, por su inacción, dejar que un ser humano

sufra daño.

2. Un robot debe obedecer las órdenes que le son dadas por un ser humano, excepto

cuando estas órdenes están en oposición con la primera Ley.

3. Un robot debe proteger su propia existencia, hasta donde esta protección no esté en

conflicto con la primera o segunda Ley.

Cómo se define hoy un RobotEl Instituto Norteamericano de Robótica define Robot de la siguiente forma:

Manipulador multifuncional y reprogramable, diseñado para mover materiales, piezas,

herramientas o dispositivos especiales, mediante movimientos programados y variables

que permiten llevar a cabo diversas tareas

MANUAL DEL PROGRAMADOR NXT 

Qué es un programa

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 10/16

Es una secuencia de “órdenes” que debemos organizar lógicamente para que cumplan

determinado propósito. En nuestro caso, para que el Robot cumpla con la función que

queremos.

A continuación te vamos a explicar cómo se agrupan estas órdenes (en nuestro caso

gráficas) para que el robot se mueva y reaccione al ambiente de acuerdo a los

enunciados dados.

Ejemplos de programas en el MINDSTORMS NXT

Que el robot:

1) Se mueva hacia delante durante 2 segundos y luego se detenga.

Debemos hacer mover los motores conectados en los puertos A y B y pasados los dos

segundos hacer que se detengan.

La dirección, los puertos y el tiempo se indican en el panel de abajo

Debemos tildar los

 puertos en los que están los dos motores, indicar la dirección y el tiempo

2) Se mueva hacia delante durante 2 segundos y luego de marcha atrás durante 4

segundos y se detenga.

En el bloque de la

derecha le cambiamos la dirección y el tiempo

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 11/16

1) Se mueva hacia delante durante 4 segundos, de media vuelta y avance otros 6

segundos y se detenga. (Atención: para hacer dar media vuelta al robot, debes hacer 

girar a un solo motor en dirección contraria y estimar cuanto tardaría en completar el

medio giro. La otra forma de dar medio giro es hacer girar los dos motores en sentido

contrario durante un tiempo determinado)

EJERCICIOS DE PROGRAMACIÓN DE ROBOTS CON SENSORES para reaccionar 

al ambiente

4) Se mueva hacia delante a velocidad media y cuándo el sensor de contacto sea

 presionado, retroceda un segundo y luego de media vuelta

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 12/16

Como último paso semueve el motor “A” hacia atrás durante 1 segundo para dar medio giro.

Uso de la herramienta LOOP y SWITCH

La herramienta Switch se utiliza para tomar decisiones en base a los resultados de los

sensores que pusimos. Si por ejemplo utilizamos el sensor de luz para saber si es de dia

o de noche, debemos ubicar qué órdenes queremos que se cumplan cuando es de día y

qué órdenes queremos que el robot cumpla cuando es de noche. De esta formaestaremos tomando una decision cuando se sensa oscuridad y otra decision cuando se

sensa luz. De la misma manera estaremos tomando siempre diferentes decisiones para

los demas sensores (sonidos, ultrasonido y contacto)

La herramienta LOOP la utilizaremos siempre que necesitemos repetir muchas veces o

indefinidamente órdenes. Si por ejemplo, nuestro robot debiera evitar caer al vacio

arriba de una mesa, debemos repetir indefinidamente la rutina en la que el sensor de luz

sense el piso para no caernos (el piso siempre da un reflejo de luz superior al vacio), y

sólo se podría mover cuando encuentre determinado reflejo en el piso.

Ejemplo de la herramienta LOOP y SWITCH

En el ejercicio siguiente el robot debe responder al sensor de sonido. Si el sensor de

sonido sensa algun ruido este debe retroceder con 1/4 de giro con el motor C. Si no

sensa ningun ruido debe seguir avanzando con los motores A y C.

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 13/16

La primer herramienta que envuelve a todo el programa es la herramienta LOOP. En

este caso este programa se repetirá indefinidamente (como lo indica el símbolo infinito)

Luego se utiliza la herramienta SWITCH con el sensor de sonido, el cual toma dos

caminos diferentes de acuerdo al sonido que sensa del ambiente. El camino de arriba es

el que se toma si sensa ruido (un grito o aplauso) , haciendo girar hacia atras un cuarto

de giro al motor C.

El camino hacia abajo es el que se toma cuando el sensor de sonido no sensa ningun

ruido ambiente; haciendo que en este caso el robot avance hacia adelante con losmotores A y C.

En definitiva este ROBOT hace lo siguiente: si sensa ruido retrocede desviándose un

 poco y si no sensa ruido, avanza.

En el ejercicio siguiente debemos hacer que el robot no caiga de la mesa utilizando en

sensor de luz, y hacer cerrar las pinzas para agarrar objetos cuando el sensor de sonido

sensa ruido.

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 14/16

Primero sensamos el rebote de luz que produce la lámpara del sensor para saber si

estamos saliendo de la mesa.

Si sensa oscuridad (el sensor está fuera de la mesa y no recibe rebote de luz) seguimos

los pasos de abajo: retrocedemos con los dos motores y hacemos un giro con un solomotor para desviarnos.

Si sensa luz (estamos dentro de la mesa ya que hay rebote de luz) seguimos los pasos de

arriba: avanzamos y si sensa ruido detenemos los motores A y C , luego cierra la pinza

con el motor B para agarrar el objeto, da un cuarto de giro con el motor A y abre las

 pinzas para soltar el objeto. Si no sensa ruido continua el camino.

Como todo está envuelto en un LOOP infinito, al terminar cualquiera de los dos

caminos el programa vuelve a empezar.

MANUAL DEL PROGRAMADOR NXT - COMUNICACIONES POR 

BLUETOOTH 

Una vez que los dos robots están conectados por bluetooth comenzamos con la

 programación de cada uno. Uno será el Robot MAESTRO, quién será el encargado de

mandar los mensajes (órdenes) al robot esclavo, quién a su vez recibirá los mensajes y

actuará de acuerdo a ellos. Recordemos que la manera de enviar órdenes es mediantemensajes de texto. Por ejemplo si el Robot MAESTRO envía el mensaje “movete”, en

el Robot ESCLAVO deberemos programar para que cuando recibamos la palabra

“movete” este mueva los motores para que realmente se mueva.

Vamos a mostrar la programación del ROBOT MAESTRO

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 15/16

Esta programación funciona de la siguiente manera:

Primero toda la programación está encerrada en un LOOP infinito, por lo que los

comandos que están dentro, siempre vuelven a repetirse.

El primer comando es un SWITCH, el que nos permite saber si el sensor de contacto

está o no siendo presionado. El dibujo nos muestra que la programación por la parte de

arriba está hecha por si el botón está siendo presionado y la de abajo la hace cuando el

 botón no es presionado.

Si el sensor es presionado pone en funcionamiento el comando de bluetooth para

ENVIAR MENSAJES, y envia el texto “movete”.

Cuando el sensor no es presionado envia el mensaje “quieto”

Ahora observemos la programación del ROBOT ESCLAVO

7/27/2019 Manual de Robotica Lego Mindstorms Nxt

http://slidepdf.com/reader/full/manual-de-robotica-lego-mindstorms-nxt 16/16

También en este caso, todos los comandos se encuentran dentro de un LOOP infinito.

El primer comando dentro del LOOP, es es comando RECIBIR MENSAJE en el cuál

hacemos uso de una nueva herramienta de programación. En este casillero unimos elcomando ENVIAR MENSAJE mediante una línea, con el comando SWITCH. Esta

línea es la encargada de enviarle el texto que viene del ROBOT MAESTRO y

transferirlo al SWITCH siguiente. Este SWITCH actúa de dos maneras. Si la palabra

enviada desde el ROBOT MAESTRO es “movete” observemos que los comandos que

actúan son los de los motores A y C en movimiento. Por el contrario, si desde el

ROBOT MAESTRO el texto enviado es “quieto”, los motores se detienen.

En definitiva: si en el ROBOT MAESTRO es presionado es sensor de contacto,entonces el ROBOT ESCLAVO se mueve y por el contrario, si en el ROBOT

MAESTRO no es presionado el sensor de contacto, entonces el ROBOT ESCLAVO

detiene sus motores.