45
Robotic M.C. Juan Carlos Olivares Rojas [email protected] April, 2009

Robotic M.C. Juan Carlos Olivares Rojas [email protected] April, 2009

Embed Size (px)

Citation preview

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

Robotic

M.C. Juan Carlos Olivares [email protected]

April, 2009

Page 2: 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

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

¿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

¿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

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

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

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

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

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

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

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

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

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

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

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

Ejemplos de Robots

Robot Lego RCX

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

Ejemplos de Robots

Sony AIBO

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

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

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

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

Robot Lego Mindstorms NXY

Ejemplos de Robots

21

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

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

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

Sensores

Luz

Sonido

Tacto

Ultrasónico

Servomotor

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Construcción de Pistas de Robots

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

Detalles de la Pista

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

Competencia de autos

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

Evaluación de Obstáculos

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

Questions?