1 introducción a la robótica m.c. juan carlos olivares rojas
TRANSCRIPT
![Page 1: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/1.jpg)
11
Introducción a la Introducción a la RobóticaRobótica
M.C. Juan Carlos Olivares Rojas
![Page 2: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/2.jpg)
AgendaAgenda
Introducción a la Robótica
Descripción del Robot Lego Mindstorms NXT
Programación del Robot Lego Mindstorms NXT
22
![Page 3: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/3.jpg)
¿Qué es 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.
33
![Page 4: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/4.jpg)
¿Qué es la IA?¿Qué es la IA?
“El estudio de cómo lograr que la computadoras realicen las tareas que, por el momento, los humanos hacen mejor.” Rich, Knight, 1991
La rama de la ciencia de la computación que se ocupa de la automatización de la conducta inteligente.” Luger y Sutublfiel, 1993.
44
![Page 5: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/5.jpg)
¿Qué es un Robot?¿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 55
![Page 6: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/6.jpg)
Características de un RobotCaracterísticas de un Robot
• Diseñados para sustituir al humano en algunas tareas.
66
![Page 7: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/7.jpg)
Características de un RobotCaracterísticas de un Robot
• Capaces de actuar en función de la información recibida del mundo real.
77
![Page 8: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/8.jpg)
Características de un RobotCaracterí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.
88
![Page 9: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/9.jpg)
Características de un robotCaracterísticas de un robot
• Un robot se debe componer de:
• Mecanismo para desplazarse
• Mecanismo para percibir el mundo exterior
• Mecanismo para interactuar con el entorno
99
![Page 10: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/10.jpg)
Funcionamiento de un RobotFuncionamiento de un Robot
• Mecanismo habitual de 3 ruedas:
• 2 ruedas motorizadas, con motores independientes.
• 1 rueda “muerta” para soportar el equilibrio.
1010
![Page 11: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/11.jpg)
Funcionamiento de un RobotFuncionamiento 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.
1111
![Page 12: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/12.jpg)
Funcionamiento de un robotFuncionamiento 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.
1212
![Page 13: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/13.jpg)
Funcionamiento de un RobotFuncionamiento 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. 1313
![Page 14: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/14.jpg)
Problemas Principales de un Problemas Principales de un RobotRobot
• Localización ¿Dónde estoy?
• Respuesta de los sensores: ¿Hay cuchara?
• Respuesta del sistema: ¿Todo ok?
1414
![Page 15: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/15.jpg)
Ejemplos de RobotsEjemplos de Robots
Robot Lego RCX
![Page 16: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/16.jpg)
Ejemplos de RobotsEjemplos de Robots
Sony AIBO
![Page 17: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/17.jpg)
Robot Lego Mindstorms NXTRobot Lego Mindstorms NXT
1717
• 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 18: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/18.jpg)
Robot Lego Mindstorms NXYRobot Lego Mindstorms NXY
Ejemplos de Robots
1818
![Page 19: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/19.jpg)
NXT 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 20: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/20.jpg)
NXTNXT
• 4 Botones de control
• Sonido
• Interfaces USB y Bluetooth
2020
![Page 21: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/21.jpg)
SensoresSensores
2121
Luz
Sonido
Tacto
Ultrasónico
Servomotor
![Page 22: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/22.jpg)
ProcesadorProcesador
• Atmel 32-bit ARM, AT91SAM7S256
• 256 KB FLASH
• 64 KB RAM
• 48 MHz2222
![Page 23: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/23.jpg)
CoprocesadorCoprocesador
• Atmel 8-bit AVR processor, ATmega48
• 4 KB FLASH
• 512 Byte RAM
• 8 MHz2323
![Page 24: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/24.jpg)
Comunicación Bluetooth y USBComunicació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). 2424
![Page 25: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/25.jpg)
MotoresMotores
• Contador de rotaciones.
• Rotación de 360 grados.
• Las posiciones son relativas.
• La velocidad máxima es de 200 RPM.2525
![Page 26: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/26.jpg)
Otras característicasOtras 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.
2626
![Page 27: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/27.jpg)
Herramientas de ProgramaciónHerramientas de Programación• LabVIEW NEXT-G
• Microsoft Robotics Studio
• Otras:– NXC (and NBC)– Robot C– pbLua– Java
2727
![Page 28: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/28.jpg)
ProgramaciónProgramació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.
2828
![Page 29: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/29.jpg)
ProgramaciónProgramació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 30: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/30.jpg)
ProgramaciónProgramació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 Robot 3030
![Page 31: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/31.jpg)
ProgramaciónProgramació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.
3131
![Page 32: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/32.jpg)
Entorno de DesarrolloEntorno de Desarrollo
3232
Construcción
Programación
Ejecución
![Page 33: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/33.jpg)
Entorno de DesarrolloEntorno de Desarrollo
3333
Propiedades
Zona de Programación
Bloques
Guía
![Page 34: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/34.jpg)
Otros entornosOtros 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.
3434
![Page 35: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/35.jpg)
Programación con NXCProgramación con NXC
• Se tienen algunas limitaciones como:
• No existe pila
• Memoria Limitada
• Limitado a 256 procesos (task)3535
![Page 36: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/36.jpg)
Programación con NXCProgramació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 ) ); } 3636
![Page 37: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/37.jpg)
Programación con NXCProgramación con NXC
TextOut( 0, LCD_LINE1, "---------"); while( !Sensor( IN_1 ) ); }}
3737
![Page 38: 1 Introducción a la Robótica M.C. Juan Carlos Olivares Rojas](https://reader036.vdocuments.net/reader036/viewer/2022062322/5665b49b1a28abb57c929977/html5/thumbnails/38.jpg)
3838
¿Preguntas, dudas y ¿Preguntas, dudas y comentarios?comentarios?