Ia Robotica

3,394 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,394
On SlideShare
0
From Embeds
0
Number of Embeds
1,348
Actions
Shares
0
Downloads
54
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ia Robotica

  1. 1. Robótica M.C. Juan Carlos Olivares Rojas
  2. 2. Agenda <ul><li>Introducción a la Robótica </li></ul><ul><li>Descripción del Robot Lego Mindstorms NXT </li></ul><ul><li>Programación del Robot Lego Mindstorms NXT </li></ul><ul><li>Otras aplicaciones de la robótica </li></ul>
  3. 3. ¿Qué es la Robótica? <ul><li>Es el área de la Inteligencia Artificial (IA) que se encarga de los estudios de los robots. </li></ul><ul><li>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. </li></ul>
  4. 4. ¿Qué es un Robot? <ul><li>Deriva de la palabra checa “robota”. </li></ul><ul><li>Literalmente significa “esclavitud”, “servidumbre forzada” </li></ul><ul><li>Máquina mecánica o autómata capaz de interactuar con el entorno y tomar decisiones propias </li></ul>
  5. 5. Características de un Robot <ul><li>Diseñados para sustituir al humano en algunas tareas. </li></ul>
  6. 6. Características de un Robot <ul><li>Capaces de actuar en función de la información recibida del mundo real. </li></ul>
  7. 7. Características de un Robot <ul><li>Los robots se clasifican según su forma en: </li></ul><ul><li>Androides: Imitan la forma humana </li></ul><ul><li>Móviles: Se desplazan mediante ruedas </li></ul><ul><li>Zoomórficos: Con forma de animales </li></ul><ul><li>Poliarticulados: Con partes móviles y poco grado de libertad. </li></ul>
  8. 8. Características de un robot <ul><li>Un robot se debe componer de: </li></ul><ul><li>Mecanismo para desplazarse </li></ul><ul><li>Mecanismo para percibir el mundo exterior </li></ul><ul><li>Mecanismo para interactuar con el entorno </li></ul>
  9. 9. Funcionamiento de un Robot <ul><li>Mecanismo habitual de 3 ruedas: </li></ul><ul><li>2 ruedas motorizadas, con motores independientes. </li></ul><ul><li>1 rueda “muerta” para soportar el equilibrio. </li></ul>
  10. 10. Funcionamiento de un Robot <ul><li>Para hacer girar el robot, se modificará la velocidad y el sentido del giro de cada uno de los motores por separado. </li></ul><ul><li>Se puede captar el entorno a través de los sensores del robot: </li></ul><ul><li>Choque: Detecta colisiones físicas del robot. </li></ul>
  11. 11. Funcionamiento de un robot <ul><li>Sonar: Calcula la distancia del robot a otros objetos del entorno. </li></ul><ul><li>Infrarrojos: Detección de colores, etc. </li></ul><ul><li>Cámaras: Obtiene los datos mediante visión. </li></ul>
  12. 12. Funcionamiento de un Robot <ul><li>Inicializar el robot: Situarlo en el mundo. </li></ul><ul><li>Recibir información por los sensores. </li></ul><ul><li>Procesar la información recibida. </li></ul><ul><li>Desplazar/Activar partes del robot. </li></ul>
  13. 13. Problemas Principales de un Robot <ul><li>Localización ¿Dónde estoy? </li></ul><ul><li>Respuesta de los sensores: ¿Hay cuchara? </li></ul><ul><li>Respuesta del sistema: ¿Todo ok? </li></ul>
  14. 14. Ejemplos de Robots Robot Lego RCX
  15. 15. Ejemplos de Robots <ul><li>Sony AIBO </li></ul>
  16. 16. Robot Lego Mindstorms NXT <ul><li>Es un Robot construido por la marca de juegos Lego. </li></ul><ul><li>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. </li></ul>
  17. 17. Robot Lego Mindstorms NXY <ul><li>Ejemplos de Robots </li></ul>
  18. 18. NXT <ul><li>La unidad central de proceso contiene: </li></ul><ul><li>4 entradas (digital y analógica) </li></ul><ul><li>3 salidas (soporte para los motores) </li></ul><ul><li>Pantalla LCD Monocromática de 100x64 píxeles </li></ul>
  19. 19. NXT <ul><li>4 Botones de control </li></ul><ul><li>Sonido </li></ul><ul><li>Interfaces USB y Bluetooth </li></ul>
  20. 20. Sensores Luz Sonido Tacto Ultrasónico Servomotor
  21. 21. Procesador <ul><li>Atmel 32-bit ARM, AT91SAM7S256 </li></ul><ul><li>256 KB FLASH </li></ul><ul><li>64 KB RAM </li></ul><ul><li>48 MHz </li></ul>
  22. 22. Coprocesador <ul><li>Atmel 8-bit AVR processor, ATmega48 </li></ul><ul><li>4 KB FLASH </li></ul><ul><li>512 Byte RAM </li></ul><ul><li>8 MHz </li></ul>
  23. 23. Comunicación Bluetooth y USB <ul><li>BlueCoreTM 4 v2.0 +EDR System </li></ul><ul><li>Soporta el Serial Port Profile (SPP) para emulación de puertos de comunicación. </li></ul><ul><li>USB 2.0 Full speed com port (12 Mbit/s). </li></ul>
  24. 24. Motores <ul><li>Contador de rotaciones. </li></ul><ul><li>Rotación de 360 grados. </li></ul><ul><li>Las posiciones son relativas. </li></ul><ul><li>La velocidad máxima es de 200 RPM. </li></ul>
  25. 25. Otras características <ul><li>Utiliza 6 pilas AA. </li></ul><ul><li>Utiliza cables RJ-12 parecidos a los telefónicos (aplanados). </li></ul><ul><li>Algunos fabricantes realizan otros tipos de piezas y sensores. </li></ul>
  26. 26. Herramientas de Programación <ul><li>LabVIEW NEXT-G </li></ul><ul><li>Microsoft Robotics Studio </li></ul><ul><li>Otras: </li></ul><ul><ul><li>NXC (and NBC) </li></ul></ul><ul><ul><li>Robot C </li></ul></ul><ul><ul><li>pbLua </li></ul></ul><ul><ul><li>Java </li></ul></ul>
  27. 27. Programación <ul><li>Basado en un ambiente gráfico de desarrollado (programación en bloques) desarrollado por National Instruments’ los desarrolladores de LabView. </li></ul><ul><li>Permite el desarrollo rápido de aplicaciones. Útil para niños. </li></ul>
  28. 28. Programación <ul><li>Está muy limitado para realizar programas más complejos, por lo que se utilizan otros entornos. </li></ul><ul><li>A continuación se listan los pasos para programar una aplicación en este Robot: </li></ul>
  29. 29. Programación <ul><li>Se arma el modelo de robot (se pueden seguir los pasos indicados en la guía o se desarrolla por cuenta propia). </li></ul><ul><li>Se realiza la programación en bloques. </li></ul><ul><li>Se baja el programa al Robot </li></ul>
  30. 30. Programación <ul><li>Se corre el programa en el Robot y se ven los resultados obtenidos. </li></ul><ul><li>No se cuenta con un emulador para probar los desarrollos lo que dificulta un poco el proceso de desarrollo. </li></ul>
  31. 31. Entorno de Desarrollo Construcción Programación Ejecución
  32. 32. Entorno de Desarrollo Propiedades Zona de Programación Bloques Guía
  33. 33. Otros entornos <ul><li>NXC ( N ot e X actly 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) . </li></ul><ul><li>RobotC es un entorno no gratuito desarrollado por CMU. </li></ul>
  34. 34. Programación con NXC <ul><li>Se tienen algunas limitaciones como: </li></ul><ul><li>No existe pila </li></ul><ul><li>Memoria Limitada </li></ul><ul><li>Limitado a 256 procesos (task) </li></ul>
  35. 35. Programación con NXC <ul><li>#include &quot;NXCDefs.h“ </li></ul><ul><li>task main() { </li></ul><ul><li>SetSensor( IN_1, SENSOR_TOUCH ); </li></ul><ul><li>while( true ) { </li></ul><ul><li>if( Sensor( IN_1 ) ) { </li></ul><ul><li>PlayToneEx(440, 100, 3, false); </li></ul><ul><li>TextOut( 0, LCD_LINE1, &quot;TOUCHING!&quot;); </li></ul><ul><li>while( Sensor( IN_1 ) ); </li></ul><ul><li>} </li></ul>
  36. 36. Programación con NXC <ul><li>TextOut( 0, LCD_LINE1, &quot;---------&quot;); </li></ul><ul><li>while( !Sensor( IN_1 ) ); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  37. 37. Construcción de Pistas de Robots
  38. 38. Detalles de la Pista
  39. 39. Competencia de autos
  40. 40. Evaluación de Obstáculos
  41. 41. ¿Preguntas, dudas y comentarios?

×