robotic m.c. juan carlos olivares rojas [email protected] april, 2009
TRANSCRIPT
![Page 2: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/2.jpg)
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
![Page 3: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/3.jpg)
¿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.
3
![Page 4: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/4.jpg)
¿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 4
![Page 5: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/5.jpg)
Características de un Robot
• Diseñados para sustituir al humano en algunas tareas.
5
![Page 6: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/6.jpg)
Características de un Robot
• Capaces de actuar en función de la información recibida del mundo real.
6
![Page 7: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/7.jpg)
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.
![Page 8: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/8.jpg)
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.
![Page 9: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/9.jpg)
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
![Page 10: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/10.jpg)
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
![Page 11: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/11.jpg)
Funcionamiento de un Robot
• Mecanismo habitual de 3 ruedas:
• 2 ruedas motorizadas, con motores independientes.
• 1 rueda “muerta” para soportar el equilibrio.
11
![Page 12: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/12.jpg)
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
![Page 13: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/13.jpg)
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
![Page 14: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/14.jpg)
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
![Page 15: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/15.jpg)
Problemas Principales de un Robot
• Localización ¿Dónde estoy?
• Respuesta de los sensores: ¿Hay cuchara?
• Respuesta del sistema: ¿Todo ok?
15
![Page 16: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/16.jpg)
Ejemplos de Robots
Robot Lego RCX
![Page 17: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/17.jpg)
Ejemplos de Robots
Sony AIBO
![Page 18: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/18.jpg)
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
![Page 19: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/19.jpg)
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)
![Page 20: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/20.jpg)
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.
![Page 21: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/21.jpg)
Robot Lego Mindstorms NXY
Ejemplos de Robots
21
![Page 22: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/22.jpg)
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
![Page 23: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/23.jpg)
NXT
• 4 Botones de control
• Sonido
• Interfaces USB y Bluetooth
23
![Page 24: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/24.jpg)
Sensores
Luz
Sonido
Tacto
Ultrasónico
Servomotor
![Page 25: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/25.jpg)
Procesador
• Atmel 32-bit ARM, AT91SAM7S256
• 256 KB FLASH
• 64 KB RAM
• 48 MHz25
![Page 26: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/26.jpg)
Coprocesador
• Atmel 8-bit AVR processor, ATmega48
• 4 KB FLASH
• 512 Byte RAM
• 8 MHz26
![Page 27: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/27.jpg)
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
![Page 28: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/28.jpg)
Motores
• Contador de rotaciones.
• Rotación de 360 grados.
• Las posiciones son relativas.
• La velocidad máxima es de 200 RPM.28
![Page 29: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/29.jpg)
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
![Page 30: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/30.jpg)
Herramientas de Programación• LabVIEW NEXT-G
• Microsoft Robotics Studio
• Otras:– NXC (and NBC)– Robot C– pbLua– Java
30
![Page 31: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/31.jpg)
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
![Page 32: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/32.jpg)
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:
![Page 33: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/33.jpg)
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 Robot33
![Page 34: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/34.jpg)
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
![Page 35: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/35.jpg)
Entorno de Desarrollo
35
Construcción
Programación
Ejecución
![Page 36: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/36.jpg)
Entorno de Desarrollo
Propiedades
Zona de Programación
Bloques
Guía
![Page 37: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/37.jpg)
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
![Page 38: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/38.jpg)
Programación con NXC
• Se tienen algunas limitaciones como:
• No existe pila
• Memoria Limitada
• Limitado a 256 procesos (task)38
![Page 39: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/39.jpg)
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
![Page 40: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/40.jpg)
Programación con NXC TextOut( 0, LCD_LINE1, "---------"); while( !Sensor( IN_1 ) ); }}
40
![Page 41: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/41.jpg)
Construcción de Pistas de Robots
![Page 42: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/42.jpg)
Detalles de la Pista
![Page 43: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/43.jpg)
Competencia de autos
![Page 44: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/44.jpg)
Evaluación de Obstáculos
![Page 45: Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009](https://reader035.vdocuments.net/reader035/viewer/2022070416/5665b42e1a28abb57c8fd5b4/html5/thumbnails/45.jpg)
Questions?