clase de modele

Upload: rosca-daniel

Post on 07-Jan-2016

230 views

Category:

Documents


0 download

DESCRIPTION

Clase de modele

TRANSCRIPT

  • RoboticM.C. Juan Carlos Olivares [email protected], 2009

  • Outline

    Introduccin a la Robtica

    Descripcin del Robot Lego Mindstorms NXT

    Programacin del Robot Lego Mindstorms NXT

    Otras aplicaciones de la robtica

  • Qu es la Robtica?Es el rea de la Inteligencia Artificial (IA) que se encarga de los estudios de los robots.

    La robtica no slo incluye elementos de IA sino tambin de mecatrnica, computacin y otras reas de la Ingeniera.*

  • Qu es un Robot?Deriva de la palabra checa robota.

    Literalmente significa esclavitud, servidumbre forzada

    Mquina mecnica o autmata capaz de interactuar con el entorno y tomar decisiones propias*

  • Caractersticas de un RobotDiseados para sustituir al humano en algunas tareas.*

  • Caractersticas de un RobotCapaces de actuar en funcin de la informacin recibida del mundo real.*

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

  • Caractersticas de un RobotLos robots se clasifican segn su forma en:

    Androides: Imitan la forma humana

    Mviles: Se desplazan mediante ruedas

    Zoomrficos: Con forma de animales

    Poliarticulados: Con partes mviles y poco grado de libertad.

    *

  • Caractersticas de un robotUn robot se debe componer de:

    Mecanismo para desplazarse

    Mecanismo para percibir el mundo exterior

    Mecanismo para interactuar con el entorno*

  • Funcionamiento de un RobotMecanismo habitual de 3 ruedas:

    2 ruedas motorizadas, con motores independientes.

    1 rueda muerta para soportar el equilibrio.*

  • 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 travs de los sensores del robot:

    Choque: Detecta colisiones fsicas del robot.*

  • Funcionamiento de un robotSonar: Calcula la distancia del robot a otros objetos del entorno.

    Infrarrojos: Deteccin de colores, etc.

    Cmaras: Obtiene los datos mediante visin.*

  • Funcionamiento de un RobotInicializar el robot: Situarlo en el mundo.

    Recibir informacin por los sensores.

    Procesar la informacin recibida.

    Desplazar/Activar partes del robot.*

  • Problemas Principales de un RobotLocalizacin Dnde estoy?

    Respuesta de los sensores: Hay cuchara?

    Respuesta del sistema: Todo ok?*

  • Ejemplos de RobotsRobot Lego RCX

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

    Other 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 NXT*Es un Robot construido por la marca de juegos Lego.

    Se caracteriza por que este robot se puede armar en diversos modelos, adems de que es econmico ($250 USD), potente y muy verstil. No es un simple juguete.

  • Robot Lego Mindstorms NXYEjemplos de Robots*

  • NXT La unidad central de proceso contiene:

    4 entradas (digital y analgica)

    3 salidas (soporte para los motores)

    Pantalla LCD Monocromtica de 100x64 pxeles

  • NXT4 Botones de control

    Sonido

    Interfaces USB y Bluetooth*

  • SensoresLuzSonidoTactoUltrasnicoServomotor

  • ProcesadorAtmel 32-bit ARM, AT91SAM7S256

    256 KB FLASH

    64 KB RAM

    48 MHz*

  • CoprocesadorAtmel 8-bit AVR processor, ATmega48

    4 KB FLASH

    512 Byte RAM

    8 MHz*

  • Comunicacin Bluetooth y USBBlueCoreTM 4 v2.0 +EDR System

    Soporta el Serial Port Profile (SPP) para emulacin de puertos de comunicacin.

    USB 2.0 Full speed com port (12 Mbit/s).*

  • MotoresContador de rotaciones.

    Rotacin de 360 grados.

    Las posiciones son relativas.

    La velocidad mxima es de 200 RPM.*

  • Otras caractersticasUtiliza 6 pilas AA.

    Utiliza cables RJ-12 parecidos a los telefnicos (aplanados).

    Algunos fabricantes realizan otros tipos de piezas y sensores.*

  • Herramientas de ProgramacinLabVIEW NEXT-G

    Microsoft Robotics Studio

    Otras:NXC (and NBC)Robot CpbLuaJava

    *

  • ProgramacinBasado en un ambiente grfico de desarrollado (programacin en bloques) desarrollado por National Instruments los desarrolladores de LabView.

    Permite el desarrollo rpido de aplicaciones. til para nios.*

  • ProgramacinEst muy limitado para realizar programas ms complejos, por lo que se utilizan otros entornos.

    A continuacin se listan los pasos para programar una aplicacin en este Robot:

  • ProgramacinSe arma el modelo de robot (se pueden seguir los pasos indicados en la gua o se desarrolla por cuenta propia).

    Se realiza la programacin en bloques.

    Se baja el programa al Robot*

  • ProgramacinSe 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.*

  • Entorno de Desarrollo*ConstruccinProgramacinEjecucin

  • Entorno de DesarrolloPropiedadesZona de ProgramacinBloquesGua

  • Otros entornosNXC (Not eXactly C) es un lenguaje similar NQC, el cual es la forma ms popular de programar el RCX. Est basado en el ensamblador NBC (Next Byte Code).

    RobotC es un entorno no gratuito desarrollado por CMU.*

  • Programacin con NXCSe tienen algunas limitaciones como:

    No existe pila

    Memoria Limitada

    Limitado a 256 procesos (task)*

  • Programacin 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 ) ); } *

  • Programacin con NXC TextOut( 0, LCD_LINE1, "---------"); while( !Sensor( IN_1 ) ); }}*

  • Construccin de Pistas de Robots

  • Detalles de la Pista

  • Competencia de autos

  • Evaluacin de Obstculos

  • **