1 / 45

Robotic

Robotic. M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009. 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?.

jacob-byers
Télécharger la présentation

Robotic

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Robotic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx April, 2009

  2. 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

  3. ¿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.

  4. ¿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

  5. Características de un Robot • Diseñados para sustituir al humano en algunas tareas.

  6. Características de un Robot • Capaces de actuar en función de la información recibida del mundo real.

  7. 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.

  8. 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.

  9. 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.

  10. 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 entorno

  11. Funcionamiento de un Robot • Mecanismo habitual de 3 ruedas: • 2 ruedas motorizadas, con motores independientes. • 1 rueda “muerta” para soportar el equilibrio.

  12. 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.

  13. 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.

  14. Funcionamiento de un Robot • Inicializar el robot: Situarlo en el mundo. • Recibir información por los sensores. • Procesar la información recibida. • Desplazar/Activar partes del robot.

  15. Problemas Principales de un Robot • Localización ¿Dónde estoy? • Respuesta de los sensores: ¿Hay cuchara? • Respuesta del sistema: ¿Todo ok?

  16. Ejemplos de Robots Robot Lego RCX

  17. Ejemplos de Robots Sony AIBO

  18. 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

  19. 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)

  20. Robot Lego Mindstorms NXT • 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.

  21. Robot Lego Mindstorms NXY Ejemplos de Robots

  22. 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

  23. NXT • 4 Botones de control • Sonido • Interfaces USB y Bluetooth

  24. Sensores Tacto Luz Servomotor Ultrasónico Sonido

  25. Procesador • Atmel 32-bit ARM, AT91SAM7S256 • 256 KB FLASH • 64 KB RAM • 48 MHz

  26. Coprocesador • Atmel 8-bit AVR processor, ATmega48 • 4 KB FLASH • 512 Byte RAM • 8 MHz

  27. 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).

  28. Motores • Contador de rotaciones. • Rotación de 360 grados. • Las posiciones son relativas. • La velocidad máxima es de 200 RPM.

  29. 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.

  30. Herramientas de Programación • LabVIEW NEXT-G • Microsoft Robotics Studio • Otras: • NXC (and NBC) • Robot C • pbLua • Java

  31. 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.

  32. 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:

  33. 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

  34. 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.

  35. Entorno de Desarrollo Construcción Programación Ejecución

  36. Entorno de Desarrollo Guía Zona de Programación Bloques Propiedades

  37. 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.

  38. Programación con NXC • Se tienen algunas limitaciones como: • No existe pila • Memoria Limitada • Limitado a 256 procesos (task)

  39. 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 ) ); }

  40. Programación con NXC TextOut( 0, LCD_LINE1, "---------"); while( !Sensor( IN_1 ) ); } }

  41. Construcción de Pistas de Robots

  42. Detalles de la Pista

  43. Competencia de autos

  44. Evaluación de Obstáculos

  45. Questions?

More Related