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
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.
Lima – Perú, noviembre del 2013
Estructura Lego NXT
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
Lima – Perú, noviembre del 2013
I/O Lego NXT
Esquema de un puerto de Salida
Esquema de un puerto de Entrada
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.
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
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.
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..
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.
Lima – Perú, noviembre del 2013
Programación Lego NXT
• Modelo 1 (Local Default)
Lima – Perú, noviembre del 2013
Programación Lego NXT
• Modelo 2 (Download)
Lima – Perú, noviembre del 2013
• Modelo 3 (Real Time)
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
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.
Lima – Perú, noviembre del 2013
Lejos Eclipse
• Descargar Lejos NXT de:
http://lejos.sourceforge.net/nxj-downloads.php
Lima – Perú, noviembre del 2013
Lejos Eclipse
• Instalar el plugin para Eclipse desde:
http://lejos.sourceforge.net/tools/eclipse/plugin/nxj/
Lima – Perú, noviembre del 2013
Lejos Eclipse
Lima – Perú, noviembre del 2013
Lejos Eclipse
Lima – Perú, noviembre del 2013
Lejos Netbeans
Lima – Perú, noviembre del 2013
Lejos Netbeans
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?
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)
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
Lima – Perú, noviembre del 2013
Ejemplo de Hilo
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
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.
Lima – Perú, noviembre del 2013
El Perceptrón
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?
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
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.
Lima – Perú, noviembre del 2013
Parámetros del Perceptrón
• Importancia del bias
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.
Lima – Perú, noviembre del 2013
Algoritmo del perceptrón
Lima – Perú, noviembre del 2013
perceptrón del Robot
Sensor Ultrasónico
Sensor Óptico
Función Step
1: Acelerar
0: Desacelerar
Lima – Perú, noviembre del 2013
Arquitectura final de control
Lima – Perú, noviembre del 2013
Demo
http://roboticaunmsm.wordpress.com/proyecto/
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
Top Related