Trabajo de grado - Pregrado
Seguimiento visual de un manipulador serial utilizando redes neuronales profundas
Registro en:
Universidad Tecnológica de Pereira
Repositorio Institucional Universidad Tecnológica de Pereira
Autor
Ortega Quiñones, Kevin David
Institución
Resumen
El presente documento expone el detallado proceso de elaboración de una plataforma virtual mediante la utilización de software de código abierto, destacando herramientas como ROS, Gazebo y Python. Dicha plataforma se emplea con el objetivo principal de capturar y etiquetar bases de datos, cuyo propósito radica en el entrenamiento de una red neuronal convolucional diseñada para estimar con precisión la posición de un manipulador serial. En este sentido, la captura de dichos datos se lleva a cabo de manera eficiente y efectiva mediante la utilización de tres cámaras estratégicamente ubicadas en el entorno de trabajo del robot. The present document outlines the detailed process of developing a virtual platform using open-source software, highlighting tools such as ROS, Gazebo, and Python. This platform is employed with the primary objective of capturing and labeling datasets, aiming to train a convolutional neural network capable of accurately estimating the position of a serial manipulator. In this regard, the data capture is efficiently and effectively performed through the use of three strategically positioned cameras in the robot's working environment. Pregrado Ingeniero(a) Electricista CONTENIDO
pág.
1 INTRODUCCIÓN 11
1.1 DEFINICIÓN DEL PROBLEMA . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 JUSTIFICACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.1 Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 ESTADO DEL ARTE 19
3 ECOSISTEMA DE SIMULACIÓN
ROS / GAZEBO / Python 23
3.1 ESTRUCTURA DE UN BRAZO EN ROS . . . . . . . . . . . . . . . . . . . 24
3.2 MANIPULADOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3 ESTRUCTURA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4 IMPLEMENTACIÓN DE UN MANIPULADOR SERIAL EN ROS 29
4.1 TIPOS DE ARTICULACIONES . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 CINEMÁTICA VECTORIAL Y TRANSFORMACIONES DE COORDENADAS 30
4.3 MODELO DE DENAVITH-HARTENBERG . . . . . . . . . . . . . . . . . . 31
4.3.1 Cinemática Directa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.2 Parámetros DH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.3 Cinemática Inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5 CAPTURAS DE BASES DE DATOS 37
5.1 DEFINICIÓN DE POSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2 ÁNGULOS DE EULER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.3 ESPACIO DE TRABAJO ESFÉRICO . . . . . . . . . . . . . . . . . . . . . 40
5.4 MUESTREO DE MONTECARLO . . . . . . . . . . . . . . . . . . . . . . . 41
5.5 BASE DE DATOS ETIQUETADAS . . . . . . . . . . . . . . . . . . . . . . 43
6 APRENDIZAJE PROFUNDO 47
6.1 REDES NEURONALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.2 CNN: CONVOLUCIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.3 DEEP CNNs-ARQUITECTURAS PROFUNDAS . . . . . . . . . . . . . . . 49
6.4 PROBLEMA DE REGRESIÓN . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.5 ENTRENAMIENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.6 Modelado CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7 EXPERIMENTOS Y RESULTADOS 57
7.1 EXPERIMENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.2 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8 CONCLUSIONES 61
8.1 CONCLUSIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.2 RECOMENDACIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8.3 TRABAJOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
A TUTORIAL ROS1 65
A.1 INSTALACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
A.2 CONFIGURACIÓN DEL ENTORNO . . . . . . . . . . . . . . . . . . . . . 68
A.3 EJECUCIÓN DE ROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A.3.1 Nivel gráfico de computación de ROS . . . . . . . . . . . . . . . . . . 72
A.3.2 Nivel de la comunidad de ROS . . . . . . . . . . . . . . . . . . . . . . 74
A.3.3 Tutorial de ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
A.3.4 Introducción a TurtleSim . . . . . . . . . . . . . . . . . . . . . . . . . 77
A.3.5 Gazebo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
B TUTORIAL DE INSTALACIÓN ROS2 83
B.1 RESUMEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
B.2 INTRODUCCIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
B.3 INSTALACCIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
BIBLIOGRAFÍA 89