AutomatasProgramablestutor virtual
OutlineIntroducción a la RobóticaDescripción del Robot Lego Mindstorms NXTProgramación del Robot Lego Mindstorms NXTOtras 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 propiasActividad: Realice una opinion personal sobre el significado de la robot.4
Características de un RobotDiseñados para sustituir al humano en algunas tareas.5
Características de un RobotCapaces 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 RoboticIsaac 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 RoboticsA 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 RobotLos robots se clasifican según su forma en:Androides: Imitan la forma humanaMóviles: Se desplazan mediante ruedasZoomórficos: Con forma de animales Poliarticulados: Con partes móviles y poco grado de libertad.9
Características de un robotUn robot se debe componer de:Mecanismo para desplazarseMecanismo para percibir el mundo exteriorMecanismo para interactuar con el entorno10
Funcionamiento de un RobotMecanismo habitual de 3 ruedas:2 ruedas motorizadas, con motores independientes.1 rueda “muerta” para soportar el equilibrio.11
Funcionamiento de un RobotPara 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 robotSonar: 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 RobotInicializar el robot: Situarlo en el mundo.Recibir información por los sensores.Procesar la información recibida.Desplazar/Activar partes del robot.14
Problemas Principales de un RobotLocalización ¿Dónde estoy?Respuesta de los sensores: ¿Hay cuchara?Respuesta del sistema: ¿Todo ok?15
Robot Lego RCXEjemplos de Robots
Ejemplos de RobotsSony AIBO
Robots FrameworksExist a lot of framework to work with Robot.We work with NXT Mindstorm of Lego Company. http://mindstorms.lego.comOther frameworks are:Parallax, http://www.parallax.comXiOR, http://www.xior.comNeoRobotic, http://www.neorobotic.comArduino, http://www.arduino.cc
Constructive GamesExist 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 NXTEs 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.20
Robot Lego Mindstorms NXY21Ejemplos de Robots
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
NXT4 Botones de controlSonidoInterfaces USB y Bluetooth23
SensoresTactoLuzServomotorUltrasónicoSonido
ProcesadorAtmel 32-bit ARM, AT91SAM7S256256 KB FLASH64 KB RAM48 MHz25
CoprocesadorAtmel 8-bit AVR processor, ATmega484 KB FLASH512 Byte RAM8 MHz26
Comunicación Bluetooth y USBBlueCoreTM 4 v2.0 +EDR SystemSoporta el Serial Port Profile (SPP) para emulación de puertos de comunicación.USB 2.0 Full speed com port (12 Mbit/s).27
MotoresContador de rotaciones.Rotación de 360 grados.Las posiciones son relativas.La velocidad máxima es de 200 RPM.28
Otras característicasUtiliza 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ónLabVIEW NEXT-GMicrosoft Robotics StudioOtras:NXC  (and NBC)Robot CpbLuaJava30
ProgramaciónBasado 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ónEstá 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ónSe 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
ProgramaciónSe 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 DesarrolloConstrucciónProgramaciónEjecución35
GuíaZona de ProgramaciónBloquesPropiedadesEntorno de Desarrollo
Otros entornosNXC (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 NXCSe tienen algunas limitaciones como:No existe pilaMemoria LimitadaLimitado 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?

Prueba tutor

  • 1.
  • 2.
    OutlineIntroducción a laRobóticaDescripción del Robot Lego Mindstorms NXTProgramación del Robot Lego Mindstorms NXTOtras aplicaciones de la robótica
  • 3.
    ¿Qué es laRobó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
  • 4.
    ¿Qué es unRobot?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 propiasActividad: Realice una opinion personal sobre el significado de la robot.4
  • 5.
    Características de unRobotDiseñados para sustituir al humano en algunas tareas.5
  • 6.
    Características de unRobotCapaces de actuar en función de la información recibida del mundo real.6Actividad: comparta 3 cualidades del un robot diferentes a las expuestas
  • 7.
    Law of RoboticIsaacAsimov 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 RoboticsArobot 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 unRobotLos robots se clasifican según su forma en:Androides: Imitan la forma humanaMóviles: Se desplazan mediante ruedasZoomórficos: Con forma de animales Poliarticulados: Con partes móviles y poco grado de libertad.9
  • 10.
    Características de unrobotUn robot se debe componer de:Mecanismo para desplazarseMecanismo para percibir el mundo exteriorMecanismo para interactuar con el entorno10
  • 11.
    Funcionamiento de unRobotMecanismo habitual de 3 ruedas:2 ruedas motorizadas, con motores independientes.1 rueda “muerta” para soportar el equilibrio.11
  • 12.
    Funcionamiento de unRobotPara 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
  • 13.
    Funcionamiento de unrobotSonar: 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
  • 14.
    Funcionamiento de unRobotInicializar el robot: Situarlo en el mundo.Recibir información por los sensores.Procesar la información recibida.Desplazar/Activar partes del robot.14
  • 15.
    Problemas Principales deun RobotLocalización ¿Dónde estoy?Respuesta de los sensores: ¿Hay cuchara?Respuesta del sistema: ¿Todo ok?15
  • 16.
  • 17.
  • 18.
    Robots FrameworksExist alot of framework to work with Robot.We work with NXT Mindstorm of Lego Company. http://mindstorms.lego.comOther frameworks are:Parallax, http://www.parallax.comXiOR, http://www.xior.comNeoRobotic, http://www.neorobotic.comArduino, http://www.arduino.cc
  • 19.
    Constructive GamesExist somegames 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 MindstormsNXTEs 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.20
  • 21.
    Robot Lego MindstormsNXY21Ejemplos de Robots
  • 22.
    NXT La unidadcentral de proceso contiene:4 entradas (digital y analógica)3 salidas (soporte para los motores)Pantalla LCD Monocromática de 100x64 píxeles
  • 23.
    NXT4 Botones decontrolSonidoInterfaces USB y Bluetooth23
  • 24.
  • 25.
    ProcesadorAtmel 32-bit ARM,AT91SAM7S256256 KB FLASH64 KB RAM48 MHz25
  • 26.
    CoprocesadorAtmel 8-bit AVRprocessor, ATmega484 KB FLASH512 Byte RAM8 MHz26
  • 27.
    Comunicación Bluetooth yUSBBlueCoreTM 4 v2.0 +EDR SystemSoporta el Serial Port Profile (SPP) para emulación de puertos de comunicación.USB 2.0 Full speed com port (12 Mbit/s).27
  • 28.
    MotoresContador de rotaciones.Rotaciónde 360 grados.Las posiciones son relativas.La velocidad máxima es de 200 RPM.28
  • 29.
    Otras característicasUtiliza 6pilas AA.Utiliza cables RJ-12 parecidos a los telefónicos (aplanados).Algunos fabricantes realizan otros tipos de piezas y sensores.29
  • 30.
    Herramientas de ProgramaciónLabVIEWNEXT-GMicrosoft Robotics StudioOtras:NXC (and NBC)Robot CpbLuaJava30
  • 31.
    ProgramaciónBasado en unambiente 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
  • 32.
    ProgramaciónEstá muy limitadopara 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ónSe arma elmodelo 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
  • 34.
    ProgramaciónSe corre elprograma 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
  • 35.
  • 36.
  • 37.
    Otros entornosNXC (NoteXactly 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
  • 38.
    Programación con NXCSetienen algunas limitaciones como:No existe pilaMemoria LimitadaLimitado a 256 procesos (task)38
  • 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 ) ); }39
  • 40.
    Programación con NXC TextOut( 0, LCD_LINE1, "---------"); while( !Sensor( IN_1 ) ); }}40
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.