PROYECTO FINAL DE CARRERA
Enviado por chayjg • 6 de Noviembre de 2013 • Tesis • 7.524 Palabras (31 Páginas) • 453 Visitas
PROYECTO FINAL DE CARRERA
Guiado gestual de un robot humanoide mediante un sensor Kinect.
Estudios: Ingeniería técnica en informática de sistemas. Autor: Sammy Pfeiffer
Director: Joan Aranda López
Año: 2011
Guiado gestual de un robot humanoide mediante un sensor Kinect.
2 / 60
Guiado gestual de un robot humanoide mediante un sensor Kinect.
Índice de contenido
1 Introducción 5
1.1 Kinect 5
1.2 ¿Cómo funciona Kinect? 7
1.3 Utilidad directa del sensor: Skeleton tracking 8
1.4 Robot humanoide: Bioloid 8
1.4.1 Servomecanismos: Dynamixels 10
2 Objetivos 11
3 Trabajos previos 13
3.1 OSCeleton, skeleton tracking 13
3.1.1 Protocolo OSC 13
3.1.2 OpenNI framework 13
3.2 Características Kinect 14
4 Diseño 15
4.1 Planificación temporal 15
4.2 Firmware de Bioloid 15
4.3 Adaptación de datos del esqueleto 15
4.4 Simulación del robot y cinemática inversa 16
5 Implementación 17
5.1 Programación del firmware del Bioloid para el acceso a los Dynamixel 17
5.2 Programación del simulador con cinemática inversa del Bioloid 18
5.2.1 Cinemática inversa 19
5.3 Programación del simulador de coordenadas de Kinect (3D) con el cambio sistema de
coordenadas 21
5.4 Programación del escalado de las coordenadas conseguidas tras el cambio de sistema de
referencia 22
5.5 Combinación de ambos simuladores para la aplicación final 24
6 Resultados 25
7 Análisis económico 29
7.1 Argumentos económicos del proyecto: 29
8 Conclusiones 31
9 Lineas futuras de trabajo 33
10 Bibliografía 35
11 Agradecimientos 37
12 Anexos: 39
12.1 Documentación de la aplicación, guía instalación, guía de uso 39
12.1.1 Bioloid 39
12.1.2 Ordenador 40
12.1.2.1 Instalación entorno Python Windows: 40
12.1.2.2 Instalación entorno python Linux: 40
12.1.2.3 Instalación OSCeleton 41
12.1.2.4 Uso de la aplicación 42
12.2 Anexo código fuente firmware Bioloid 43
12.3 Código fuente aplicación python: 46
12.4 Anexo código declaración estructura simulación Bioloid 57
12.5 Anexo código declaración del GUI 58
3 / 60
Guiado gestual de un robot humanoide mediante un sensor Kinect.
4 / 60
Guiado gestual de un robot humanoide mediante un sensor Kinect.
1 Introducción
1.1 Kinect
Ilustración 1: Sensor Kinect
Recientemente ha salido al mercado un interesante sensor, comercialmente llamado Kinect.Parafraseando a la Wikipedia encontramos que Kinect se puede definir como: “un controlador de juego libre y entretenimiento desarrollado por Microsoft para la videoconsola Xbox 360. Kinect permite a los usuarios controlar e interactuar con la consola sin necesidad de tener contacto físico con un controlador de videojuegos tradicional, mediante una interfaz natural de usuario que reconoce gestos, comandos de voz, y objetos e imágenes “.
Microsoft Research invirtió veinte años de desarrollo en la tecnología de Kinect. Fue anunciado por primera vez el 1 de junio de 2009 en la Electronic Entertainment Expo 2009 como "Project Natal".
El sensor de Kinect es una barra horizontal de aproximadamente 23 cm conectada a una pequeña base circular con un eje de articulación de rótula, y está diseñado para ser colocado longitudinalmente por encima o por debajo del televisor.
Kinect se compone principalmente de:
-Una cámara tradicional (Resolución 640x480 RGB 30fps VGA). -Un emisor de infrarrojos.
-Una cámara de infrarrojos.
-4 Micrófonos (16bit sampling rate: 16Hz). -Un motor.
5 / 60
Guiado gestual de un robot humanoide mediante un sensor Kinect.
Ilustración 2: Kinect desmontado
Ilustración 3: Imagen de profundidad en escala de grises, imagen webcam, profundidad en escala de colores
6 / 60
Guiado gestual de un robot humanoide mediante un sensor Kinect.
1.2 ¿Cómo funciona Kinect?
...