38
Lima – Perú, noviembre del 2013 Evento organizado por la Universidad Nacional del Callao Por: Paucar Curasma, Herminio | Quiroz Villalobos, L. Paul Fermín Pérez, Armando

ExpoCallaoProyecto Robot Lego (1)

Embed Size (px)

DESCRIPTION

Proyecto

Citation preview

Page 1: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Evento organizado por la Universidad Nacional del Callao

Por: • Paucar Curasma, Herminio | • Quiroz Villalobos, L. Paul • Fermín Pérez, Armando

Page 2: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Lego NXT

• Plataforma completa de desarrollo de robots móviles.

• Basada en la unión de bloques interconectables.

• Los sensores y actuadores se conectan mediante simple presión.

Page 3: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Estructura Lego NXT

Page 4: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Hardware Lego NXT

MICROPROCESADOR ARM-7 DE 32 BITS (AT91SAM7S256 de Atmel ) 48 MHz FLASH 512 KB RAM 64 KB

MICROCONTROLADOR AVR 8 PINES (ATmega48 de Atmel) GESTION I/O 8 MHz FLASH 4KB RAM 512 B

3 PUERTOS DE SALIDA 4 PUERTOS DE ENTRADA 1 PUERTO USB (12 MBIT/S) 4 BOTONES DE CONTROL 1 PANTALLA LCD 1 ALTAVOZ COMUNICACIÓN VIA BLUETOOTH ALIMENTACION CON 6 PILAS AA O CON BATERIA DE LITIO

Page 5: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

I/O Lego NXT

Esquema de un puerto de Salida

Esquema de un puerto de Entrada

Page 6: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Sensor de Contacto

• Es el sensor más básico y el que le da al robot la capacidad de tacto. Este sensor detecta cuando está siendo presionado por algo y cuando ha sido liberado de nuevo.

Page 7: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Sensor de sonido

• El sensor de sonido detecta tanto decibeles (dB) como decibeles ajustados (dBA). Un decibel es la medida de la presión del sonido.

• dBA: durante la detección de decibeles ajustados, la sensibilidad del sensor es adaptada a la sensibilidad del oído humano.

• dB: durante la detección de decibeles estándares, todos los sonidos son medidos con la misma sensibilidad, incluyendo aquellos que son muy altos o muy bajos para ser escuchados por el oído humano.

• El sensor puede medir sonido hasta de 90 dB.

La lectura del sonido de visualiza en porcentaje de acuerdo a la siguiente tabla:

4%-5% Habitación en silencio 5%-10% Personas hablando lejos 10%-30% Conversación normal 30%-100% Personas gritando y música a alto volumen

Page 8: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Sensor de Luz

Es uno de los dos sensores que simula la visión al robot, lo habilita para distinguir entre claro y oscuro, mide la intensidad de la luz que entra a través de pequeños lentes en el frente del sensor.

Está equipado con un LED rojo que ilumina la escena en frente del sensor y es capaz de detectar luz invisible al ojo humano tal como la luz infrarroja emitida por un control de televisión.

El sensor de luz puede operar en dos modos:

• Modo activo: el LED del sensor está iluminado. Se usa frecuentemente para seguir una línea o detectar un objeto.

• Modo pasivo: el LED del sensor está apagado. Este modo es usado para detectar la luz del ambiente.

Page 9: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Sensor ultrasónico

• Éste envía una señal de sonido inaudible para los humanos que mide el tiempo de vuelo que le toma a la señal en ir y retornar. Como conoce la velocidad del sonido, puede calcular la distancia que la señal ha viajado. A diferencia de los sensores mencionados hasta este punto, el sensor ultrasónico es un sensor digital, tiene un rango de 0 a 255 cm con una precisión de +/- 3 cm..

Page 10: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Bluetooth y USB

• Existe dos formas de comunicación con el computador, y éstas son a través de un cable USB y el Bluetooth. El puerto USB trasmite datos a 12 megabits por segundo. Para establecer comunicación a través del Bluetooth, es necesario poseer una antena bluetooth instalada en el computador la velocidad de transmisión es mucho menor que la de un cable USB, aprox. 460,8 kilobits por Segundo.

Page 11: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Programación Lego NXT

• Modelo 1 (Local Default)

Page 12: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Programación Lego NXT

• Modelo 2 (Download)

Page 13: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

• Modelo 3 (Real Time)

Page 14: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Comparativas de Lenguajes

Características NXT-G RoboLab

2.9

NBC NXC RobotC leJOS NXT

Tipo de lenguaje Gráfico Gráfico Ensamblador Parecido a C C Java

Firmware Estándar Estándar Estándar Estándar Propio Propio

IDE Si Si Si Si Si (Eclipse

plugin)

Windows Si Si Si Si Si Si

Mac OSX Si Si Si Si Aún No Aún No

Linux No No Si Si No Si

Eventos No Si No No Si Eventos Java

Estándar

Multihilos Si Si Si Si Si Si

Bluetooth Brick al

PC

Si No Si Si Si Aún No

Bluetooth Brick al

Brick

Si No Si Si Aún No Si

Bluetooth Brick a

otro dispositivo

No No No No Aún No No

Punto Flotante No Si No No Si Si

Page 15: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

La Mejor Opción

• Lejos NXT

Multiplataforma.

Open Source

Conexión USB entre NXT y PC

Conexión Bluetooth NXT-PC

Manejo de eventos e hilos de ejecución.

Facilidad de generación de código.

Permite implementar Modelo 3 de programación.

Page 16: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Lejos Eclipse

• Descargar Lejos NXT de:

http://lejos.sourceforge.net/nxj-downloads.php

Page 17: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Lejos Eclipse

• Instalar el plugin para Eclipse desde:

http://lejos.sourceforge.net/tools/eclipse/plugin/nxj/

Page 18: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Lejos Eclipse

Page 19: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Lejos Eclipse

Page 20: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Lejos Netbeans

Page 21: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Lejos Netbeans

Page 22: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Ciclo de Scan del robot

Programa Principal

Sensor Ultrasonic

Sensor de Voz

Sensor Óptico

Sensor Touch

Sound Wav

Actuador A

Actuador B

Actuador C

Control de Eventos Mouse

Control de Eventos Teclado

Refresh de la interfaz gráfica

Eventos Concurrentes No existe sincronización

Solución?

Page 23: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Hilos

• Un hilo es una secuencia de código en ejecución dentro del contexto (espacio de direcciones) de un proceso.

• Los hilos no pueden ejecutarse ellos solos; requieren la supervisión de un proceso padre para correr.

• Dentro de un mismo proceso podrían existir varios hilos ejecutándose.(multihilos)

Page 24: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Hilos Java

• Java es un lenguaje de programación que incorpora la capacidad de ejecutar hilos de forma nativa en el mismo lenguaje.

• Clases Thread Java

– Hilos funcionales extends

– Método run()

– Método Start y Stop

Page 25: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Ejemplo de Hilo

Page 26: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Arquitectura final Multihilos

Programa Principal

Gestion de Eventos

Interfaz Gráfica

Gestionar Hilos

thread Vozthread

Distanciasthread Ploter

thread

Perceptron

thread Audio

Page 27: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

4. Inteligencia Artificial

• Perceptrón

Tipo de RNA que utiliza una regla de aprendizaje supervisado basada en la corrección del error.

Entradas de tipo discretas (0 y 1 / -1 y 1)

Función de evaluación de tipo escalón (con salida 0 ó 1) o signo(con salida -1 ó 1)

Ideal para construir compuertas lógicas (AND, OR, NAND, NOR) o combinaciones lógicas de éstas.

Page 28: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

El Perceptrón

Page 29: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Alcance del Perceptrón

• El perceptrón sólo discrimina entre dos clases linealmente separables.

• Si la función a representar es linealmente separable, el algoritmo del perceptrón converge en un tiempo finito y con independencia de los pesos de partida.

Actualizar Pesos

Ok?

Page 30: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Actualización de los Pesos

• Si la respuesta es la esperada no se actualizan los pesos.

• Si la respuesta es incorrecta los pesos se actualizan según la regla de Hebb.

wnew = wold + η(tk – dk).xk

Peso Nuevo

Peso Antiguo

Factor de Aprendizaje

Error Entrada

Page 31: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Parámetros del Perceptrón.

Factor de Aprendizaje • Valor demasiado pequeño, implica aprendizaje lento.

• Valor muy alto, puede causar oscilaciones.

• Debe tener valores entre 0 y 1

Bias • Se comporta como una entrada adicional de valor 1 y también

es necesario aprender su peso.

• Sirve para evitar que la salida sea siempre cero, cuando todas las entradas son cero, sin importar los pesos que se asignen.

Page 32: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Parámetros del Perceptrón

• Importancia del bias

Page 33: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Características del Algoritmo del perceptrón

• El proceso de aprendizaje es iterativo (iteración completa de patrones = época).

• El objetivo es dado un conjunto de inputs conocidos aprender los pesos adecuados para que cada neurona produzca el output deseado.

• La configuración sináptica inicial se realiza con pesos pequeños (aleatorios)

• Para la configuración sináptica inicial, los pesos son aleatorios y se recomienda que se encuentren en un rango de -0.5 a 0.5, que no se repitan y que ninguno sea 0.

• Se comparan los patrones con las salidas, con el objetivo que los pesos se ajusten iterativamente según la regla del perceptrón.

Page 34: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Algoritmo del perceptrón

Page 35: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

perceptrón del Robot

Sensor Ultrasónico

Sensor Óptico

Función Step

1: Acelerar

0: Desacelerar

Page 36: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Arquitectura final de control

Page 37: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Demo

http://roboticaunmsm.wordpress.com/proyecto/

Page 38: ExpoCallaoProyecto Robot Lego (1)

Lima – Perú, noviembre del 2013

Proyecto elaborado por:

Universidad Nacional Mayor de San Marcos Facultad de Ingeniería de Sistemas e Informática

EAP: Ingeniería de Software