Вы находитесь на странице: 1из 45

Robotic

M.C. Juan Carlos Olivares Rojas


jolivares@uvaq.edu.mx
April, 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.
3

Qu es un Robot?
Deriva de la palabra checa robota.
Literalmente
significa
servidumbre forzada

esclavitud,

Mquina mecnica o autmata capaz de


interactuar con el entorno y tomar decisiones
propias
4

Caractersticas de un Robot
Diseados para sustituir al humano en
algunas tareas.

Caractersticas de un Robot
Capaces de actuar en funcin
informacin recibida del mundo real.

de

la

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.

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.

Caractersticas de un Robot
Los 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.
9

Caractersticas de un robot
Un robot se debe componer de:
Mecanismo para desplazarse
Mecanismo para percibir el mundo exterior
Mecanismo para interactuar con el entorno
10

Funcionamiento de un Robot
Mecanismo habitual de 3 ruedas:
2 ruedas motorizadas,
independientes.

con

motores

1 rueda muerta para soportar el equilibrio.


11

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 travs de los
sensores del robot:
Choque: Detecta colisiones fsicas del robot.
12

Funcionamiento de un robot
Sonar: Calcula la distancia del robot a otros
objetos del entorno.
Infrarrojos: Deteccin de colores, etc.
Cmaras: Obtiene los datos mediante visin.
13

Funcionamiento de un Robot
1. Inicializar el robot: Situarlo en el mundo.
2. Recibir informacin por los sensores.
3. Procesar la informacin recibida.
4. Desplazar/Activar partes del robot.
14

Problemas Principales de un
Robot
Localizacin Dnde estoy?
Respuesta de los sensores: Hay cuchara?
Respuesta del sistema: Todo ok?

15

Robot Lego
RCX

Ejemplos de Robots

Ejemplos de Robots

Sony AIBO

Robots Frameworks
Exist a lot of framework to work with Robot.
We work with NXT Mindstorm of
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

Lego

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)

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

Robot Lego Mindstorms NXY

21

Ejemplos de Robots

NXT
La unidad central de proceso contiene:
4 entradas (digital y analgica)
3 salidas (soporte para los motores)
Pantalla LCD Monocromtica de
pxeles

100x64

NXT
4 Botones de control
Sonido
Interfaces USB y Bluetooth

23

Sensores
Tacto
Luz
Servomotor

Sonido

Ultrasnic
o

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

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

Comunicacin Bluetooth y USB


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

Motores
Contador de rotaciones.
Rotacin de 360 grados.
Las posiciones son relativas.
La velocidad mxima es de 200 RPM.
28

Otras caractersticas
Utiliza 6 pilas AA.
Utiliza cables RJ-12
telefnicos (aplanados).

parecidos

los

Algunos fabricantes realizan otros tipos de


piezas y sensores.
29

Herramientas de Programacin
LabVIEW NEXT-G
Microsoft Robotics Studio
Otras:

NXC (and NBC)


Robot C
pbLua
Java
30

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

Programacin
Est 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:

Programacin
Se 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
33

Programacin
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

Entorno de Desarrollo
Construccin
Programacin

Ejecucin
35

Gua
Zona de Programacin
Bloques
Propiedade
s

Entorno de Desarrollo

Otros entornos
NXC (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
desarrollado por CMU.

no

gratuito
37

Programacin con NXC


Se tienen algunas limitaciones como:
No existe pila
Memoria Limitada
Limitado a 256 procesos (task)
38

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

39

Programacin con NXC


TextOut( 0, LCD_LINE1, "---------");
while( !Sensor( IN_1 ) );
}
}

40

Construccin de Pistas de Robots

Detalles de la Pista

Competencia de autos

Evaluacin de Obstculos

Questions?

Вам также может понравиться