Prueba tutor
-
Upload
jhoan-laverde -
Category
Automotive
-
view
385 -
download
0
Transcript of Prueba tutor
Automatas Programables
tutor virtual
Outline
Introducción a la Robótica
Descripción del Robot Lego Mindstorms NXT
Programación del Robot Lego Mindstorms NXT
Otras aplicaciones de la robótica
¿Qué es la Robótica?
• Es el área de la Inteligencia Artificial (IA) que
se encarga de los estudios de los robots.
• La robótica no sólo incluye elementos de IA
sino también de mecatrónica, computación y
otras áreas de la Ingeniería.
Actividad: Realice una opinion personal sobre
el significado de la robotica.3
¿Qué es un Robot?
• Deriva de la palabra checa “robota”.
• Literalmente significa “esclavitud”,
“servidumbre forzada”
• Máquina mecánica o autómata capaz de
interactuar con el entorno y tomar decisiones
propias
Actividad: Realice una opinion personal sobre
el significado de la robot.4
Características de un Robot
• Diseñados para sustituir al humano en
algunas tareas.
5
Características de un Robot
• Capaces de actuar en función de la
información recibida del mundo real.
6Actividad: comparta 3 cualidades del un robot diferentes a las expuestas
Law of Robotic• Isaac Asimov in 1942 defined the following
rules:
• A robot may not injure a human being or,
through inaction, allow a human being to come
to harm.
• A robot must obey orders given to it by human
beings, except where such orders would conflict
with the First Law.
Law of Robotics• A robot must protect its own existence as long
as such protection does not conflict with the
First or Second Law.
• Exist other laws related with the idea of a Robot
must know it is a Robot.
Características de un Robot
• Los robots se clasifican según su forma en:
• Androides: Imitan la forma humana
• Móviles: Se desplazan mediante ruedas
• Zoomórficos: Con forma de animales
• Poliarticulados: Con partes móviles y poco
grado de libertad.
9
Características de un robot
• Un robot se debe componer de:
• Mecanismo para desplazarse
• Mecanismo para percibir el mundo exterior
• Mecanismo para interactuar con el entorno10
Funcionamiento de un Robot
• Mecanismo habitual de 3 ruedas:
• 2 ruedas motorizadas, con motores
independientes.
• 1 rueda “muerta” para soportar el equilibrio.
11
Funcionamiento de un Robot
• Para hacer girar el robot, se modificará la
velocidad y el sentido del giro de cada uno
de los motores por separado.
• Se puede captar el entorno a través de los
sensores del robot:
• Choque: Detecta colisiones físicas del
robot.12
Funcionamiento de un robot
• Sonar: Calcula la distancia del robot a otros
objetos del entorno.
• Infrarrojos: Detección de colores, etc.
• Cámaras: Obtiene los datos mediante visión.
13
Funcionamiento de un Robot
1. Inicializar el robot: Situarlo en el mundo.
2. Recibir información por los sensores.
3. Procesar la información recibida.
4. Desplazar/Activar partes del robot.14
Problemas Principales de un
Robot• Localización ¿Dónde estoy?
• Respuesta de los sensores: ¿Hay cuchara?
• Respuesta del sistema: ¿Todo ok?
15
Ejemplos de Robots
Robot Lego
RCX
Ejemplos de Robots
Sony AIBO
Robots Frameworks• Exist a lot of framework to work with Robot.
• We work with NXT Mindstorm of Lego
Company. http://mindstorms.lego.com
• Other frameworks are:
• Parallax, http://www.parallax.com
• XiOR, http://www.xior.com
• NeoRobotic, http://www.neorobotic.com
• Arduino, http://www.arduino.cc
Constructive Games• Exist some games like Meccano,
http://www.meccano.com, which main objective
is build machines like Robots with
electromechanism components. One example
is Spykee (http://www.spykeeworld.com)
• In general, Robots must be constructed by
specialized Engineers.
• Some kind of Robots are arms and no
neccesary are similar to Movie Robots (R2D2)
Robot Lego Mindstorms NXT
20
• Es un Robot construido por la marca de
juegos Lego.
• Se caracteriza por que este robot se puede
armar en diversos modelos, además de que
es económico ($250 USD), potente y muy
versátil. No es un simple juguete.
Robot Lego Mindstorms NXY
Ejemplos de
Robots
21
NXT
• La unidad central de proceso contiene:
• 4 entradas (digital y analógica)
• 3 salidas (soporte para los motores)
• Pantalla LCD Monocromática de 100x64
píxeles
NXT
• 4 Botones de control
• Sonido
• Interfaces USB y Bluetooth
23
Sensores
Luz
Sonido
Tacto
Ultrasónico
Servomotor
Procesador
• Atmel 32-bit ARM, AT91SAM7S256
• 256 KB FLASH
• 64 KB RAM
• 48 MHz25
Coprocesador
• Atmel 8-bit AVR processor, ATmega48
• 4 KB FLASH
• 512 Byte RAM
• 8 MHz26
Comunicación Bluetooth y USB
• BlueCoreTM 4 v2.0 +EDR System
• Soporta el Serial Port Profile (SPP) para
emulación de puertos de comunicación.
• USB 2.0 Full speed com port (12 Mbit/s).
27
Motores
• Contador de rotaciones.
• Rotación de 360 grados.
• Las posiciones son relativas.
• La velocidad máxima es de 200 RPM.28
Otras características
• Utiliza 6 pilas AA.
• Utiliza cables RJ-12 parecidos a los
telefónicos (aplanados).
• Algunos fabricantes realizan otros tipos de
piezas y sensores.
29
Herramientas de Programación
• LabVIEW NEXT-G
• Microsoft Robotics Studio
• Otras:
– NXC (and NBC)
– Robot C
– pbLua
– Java 30
Programación
• Basado en un ambiente gráfico de
desarrollado (programación en bloques)
desarrollado por National Instruments’ los
desarrolladores de LabView.
• Permite el desarrollo rápido de aplicaciones.
Útil para niños.
31
Programación
• Está muy limitado para realizar programas
más complejos, por lo que se utilizan otros
entornos.
• A continuación se listan los pasos para
programar una aplicación en este Robot:
Programación
• Se arma el modelo de robot (se pueden
seguir los pasos indicados en la guía o se
desarrolla por cuenta propia).
• Se realiza la programación en bloques.
• Se baja el programa al Robot
33
Programación
• Se corre el programa en el Robot y se ven los
resultados obtenidos.
• No se cuenta con un emulador para probar
los desarrollos lo que dificulta un poco el
proceso de desarrollo.
34
Entorno de Desarrollo
35
Construcción
Programación
Ejecución
Entorno de Desarrollo
Propiedade
s
Zona de Programación
Bloques
Guía
Otros entornos
• NXC (Not eXactly C) es un lenguaje similar
NQC, el cual es la forma más popular de
programar el RCX. Está basado en el
“ensamblador” NBC (Next Byte Code).
• RobotC es un entorno no gratuito
desarrollado por CMU.
37
Programación con NXC
• Se tienen algunas limitaciones como:
• No existe pila
• Memoria Limitada
• Limitado a 256 procesos (task)38
Programación con NXC
#include "NXCDefs.h“
task main() {SetSensor( IN_1, SENSOR_TOUCH );
while( true ) {
if( Sensor( IN_1 ) ) {
PlayToneEx(440, 100, 3, false);
TextOut( 0, LCD_LINE1, "TOUCHING!");
while( Sensor( IN_1 ) );
}39
Programación con NXC
TextOut( 0, LCD_LINE1, "---------");
while( !Sensor( IN_1 ) );
}
}
40
Construcción de Pistas de Robots
Detalles de la Pista
Competencia de autos
Evaluación de Obstáculos
Questions?