DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO REMOTO
Nickson Eduardo García Hernández Cristian Giovanny Molina Hernández
Facultad de Ingeniería
Ingeniería Electrónica
Ibagué, 2019
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO REMOTO
Proyecto de grado. Ingeniería Electrónica. 2019. III
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO REMOTO
Nickson Eduardo García Hernández Cristian Giovanny Molina Hernández
Trabajo de grado que se presenta como requisito parcial para optar al título de:
Ingeniero Electrónico
Director:
MSc. Ing. Harold Fabián Murcia
Profesor Universidad de Ibagué
Facultad de Ingeniería
Ingeniería Electrónica
Ibagué, 2019
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO REMOTO
Proyecto de grado. Ingeniería Electrónica. 2019. V
Dedicatoria
A mis padres y hermanos
Con amor, respeto y admiración
Nickson García H.
A Dios, mi familia y a cada persona
que me acompaño en este proceso.
Con aprecio
Cristian Molina H.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO REMOTO
Proyecto de grado. Ingeniería Electrónica. 2019. VII
Agradecimientos
A mis padres, por todos sus sacrificios, esfuerzos y apoyo brindado a lo largo de todo
este camino, por su amor y entrega incondicional, por estar conmigo en mis éxitos y en
mis fracasos, por su educación y valores inculcados. A mi hermano, por sus enseñanzas
directa o indirectamente. Han sido un ejemplo a seguir para mí.
A todos mis amigos por esos grandes momentos vividos dentro y fuera de la facultad, a
mi compañero de tesis por su gran amistad, apoyo, paciencia, esfuerzo y compromiso
con la culminación de esta meta. A ella, por su amor, apoyo y comprensión en todo
momento.
A toda la planta docente del programa por sus grandes enseñanzas, en especial a
nuestro director de tesis el Ing. Harold Murcia por sus consejos, ayuda y dedicación. Al
semillero de investigación SIRUI adscrito al grupo D+TEC. Este proyecto fue posible
gracias al financiamiento por parte del programa de Ingeniería Electrónica de la
Universidad de Ibagué y del proyecto “Explotación de Ecos Múltiples en la Clasificación
de Nubes de Puntos 3D Generadas a partir de Sensores LiDAR en Aplicaciones de
Agricultura de Precisión”, código 19-489-INT.
A todos, mis más sinceros agradecimientos.
Nickson García H. “Los que tienen su esperanza puesta en Dios renovarán sus fuerzas. Les crecerán alas
como a las águilas; correrán sin fatigarse, caminarán sin cansarse” Isaías 40:31.
Inicialmente agradezco a Dios por la fortaleza y paciencia que me brindo a lo largo de
este proyecto, desde el inicio fue mi guía en momentos de complejidad dándome la vida
y las herramientas para culminar esta meta.
A mi padre por brindarme la oportunidad de realizar mis estudios, por ser un consejero y
estar para mi incondicionalmente. A mi madre por su gran amor, cariño y apoyo en cada
una de las dificultades que surgieron en el camino, porque sin ellos no hubiese podido
finalizar mis estudios y ser la persona que soy hoy por hoy. A mi pareja que a pesar de
las largas horas de trabajo, con su gran amor siempre me apoyo y alentó a seguir
adelante.
A mis amigos que iniciaron conmigo este proceso y me regalaron buenos momentos y
experiencias para recordar. A Nickson por ser un gran amigo durante estos arduos años,
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
VIII García Nickson
Molina Cristian
por enseñarme el valor de una amistad sincera, por las grandes anécdotas vividas y por
la perseverancia y compromiso para alcanzar este logro en equipo.
A mi tutor del proyecto, Ing. Harold Murcia por guiarme en el proceso y orientarme de la
mejor manera, por compartir sus conocimientos, experiencias y tiempo. Al semillero de
investigación SIRUI adscrito al grupo D+TEC. Este proyecto fue posible gracias al
financiamiento por parte del programa de Ingeniería Electrónica de la Universidad de
Ibagué y del proyecto “Explotación de Ecos Múltiples en la Clasificación de Nubes de
Puntos 3D Generadas a partir de Sensores LiDAR en Aplicaciones de Agricultura de
Precisión”, código 19-489-INT.
A cada una de las personas, mis mas sinceros agradecimientos.
Cristian Molina H.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO REMOTO
Proyecto de grado. Ingeniería Electrónica. 2019. IX
Resumen Este documento es el informe final del trabajo de grado correspondiente al desarrollo de
un robot explorador terrestre no tripulado, el cual es controlado a distancia mediante una
conexión de red, con acceso a internet para largas distancias, o sin este para un manejo
local, a través de un gamepad conectado a un sistema Linux remoto compatible con
ROS. Existe un gran número de aplicaciones en las que los robots terrestres no
tripulados pueden ser utilizados: agricultura, mapeo de información, transporte o
exploración en ambientes de difícil acceso para el ser humano, de forma que logre
superar los diferentes desafíos que pueda haber en la ruta, teniendo la capacidad de
brindar algunas ayudas al piloto, como lo son transmitir vídeo en tiempo real mediante
una videocámara y un dispositivo Kinect V1, informar sobre su trayectoria recorrida
interpretando los datos obtenidos por la IMU y los encoders, combinándolos mediante un
Filtro Extendido de Kalman; así como una función de control automático de velocidad o la
opción de transportar cargas livianas con un brazo robótico a bordo. En este documento
se describen los métodos utilizados para las etapas de diseño y construcción del
prototipo en sus capas mecánica, electrónica y de software. También se presentan los
resultados obtenidos en pruebas realizadas en diferentes condiciones.
Palabras clave: Vehículo terrestre no tripulado, estimación de posición, ROS,
odometría, control digital, robótica de exploración.
Abstract
This document is the final report of the degree work corresponding to the development of
an unmanned ground exploration robot, which is controlled remotely by means of a
network connection, with access to the internet for long distances, or without it for local
management, through a gamepad connected to a remote Linux system compatible with
ROS. There are a large number of applications in which unmanned terrestrial robots can
be used: agriculture, information mapping, transport or exploration in environments that
are difficult for humans to access, in order to overcome the different challenges that may
exist in the route, having the ability to provide some help to the pilot, as they are to
transmit video in real time through a video camera and a Kinect V1 device, to inform
about their trajectory by interpreting the data obtained by the IMU and the encoders,
combining them through an Extended Kalman Filter; as well as an automatic speed
control function or the option to transport light loads with a robotic arm on board. This
document describes the methods used for the design and construction stages of the
prototype in its mechanical, electronic and software layers. The results obtained in tests
carried out in different conditions are also presented.
Keywords: Unmanned ground vehicle, position estimation, ROS, odometry, digital control, exploration robotics.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
X García Nickson
Molina Cristian
Contenido
Contenido
Resumen ......................................................................................................................... IX
Introducción .....................................................................................................................1
Capítulo 1. Vehículo Terrestre no Tripulado ............................................................5 1.1 Marco Teórico ..................................................................................................... 5
1.1.1 Topologías de Robots Móviles Terrestres ........................................................5 1.1.2 Elementos de Percepción y Acción ..................................................................9 1.1.3 Robot Operating System ................................................................................10 1.1.4 Control PID .....................................................................................................11 1.1.5 Filtro Extendido de Kalman.............................................................................12
1.2 Antecedentes .................................................................................................... 13 1.3 Descripción del Problema y Justificación .......................................................... 15 1.4 Objetivos ........................................................................................................... 16
1.4.1 Objetivo General ............................................................................................16 1.4.2 Objetivos Específicos .....................................................................................16
1.5 Metodología ...................................................................................................... 16
Capítulo 2. Diseño del Alpha Rover ........................................................................21 2.1 Capa Electrónica del Sistema ........................................................................... 22
2.1.1 Selección de Componentes para la Capa Electrónica ....................................23 2.1.2 Diseño Electrónico .........................................................................................38
2.2 Capa Mecánica del Sistema ............................................................................. 40 2.2.1 Selección de Materiales para la Capa Mecánica ............................................41 2.2.2 Diseño Mecánico ............................................................................................42
2.3 Capa de Software del Sistema .......................................................................... 54 2.3.1 Diseño del Sistema Central del Robot ............................................................54 2.3.2 Diseño del Control de Velocidad ....................................................................60 2.3.3 Diseño de la Estimación de Trayectoria..........................................................72
Capítulo 3. Resultados Experimentales ..................................................................75 3.1 Implementación Electrónica del Sistema ........................................................... 75 3.2 Fabricación del Robot ....................................................................................... 76 3.3 Resultados de Manipulación Remota ................................................................ 78
3.3.1 Test 1 de navegación (Desierto de la Tatacoa) ..............................................78 3.3.2 Test 2 de navegación (Zona rural Ibagué) ......................................................79 3.3.3 Test 3 de navegación (Campus Unibagué) .....................................................81
3.4 Resultados del Control de Velocidad ................................................................ 83 3.5 Resultados de la Estimación de Trayectoria ..................................................... 85
Capítulo 4. Conclusiones y Recomendaciones ......................................................88 4.1 Aportes ............................................................................................................. 90
Referencias Bibliográficas ............................................................................................91
Anexos ............................................................................................................................93
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
Proyecto de grado. Ingeniería Electrónica. 2019. XI
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO REMOTO
Proyecto de grado. Ingeniería Electrónica. 2019. XII
Lista de figuras
Pág. Figura 1-1. Configuración diferencial. Fuente: [8] .............................................................. 6
Figura 1-2. Comparativa entre topología diferencial y Ackerman. Fuente: Autores ........... 6
Figura 1-3. Diagrama de la configuración Ackerman. Fuente: [10] .................................... 7
Figura 1-4. Diagramas de configuración skid-steer. Fuente: [11], [12] ............................... 8
Figura 1-5. Sistema Rocker-Bogie integrado en el MER Curiosity. Fuente:
www.jpl.nasa.gov .............................................................................................................. 8
Figura 1-6. Proceso de superación de un obstáculo de un sistema rocker-bogie. Fuente:
[14] .................................................................................................................................... 9
Figura 1-7. Esquema de un sistema de control automático en lazo cerrado. Fuente: [24]
....................................................................................................................................... 12
Figura 1-8. Metodología de desarrollo. Fuente: Autores .................................................. 18
Figura 2-1. Diagrama pictórico del sistema electrónico. Fuente: Autores ........................ 23
Figura 2-2. Motor DC seleccionado para el robot. Fuente: www.pololu.com ................... 28
Figura 2-3. Batería LiPo HBR 6000 mAh - 50C. Fuente: www.rcextremo.co ................... 33
Figura 2-4. Encoder de efecto Hall utilizado. Modificado de: www.pololu.com ................ 34
Figura 2-5. Principios de funcionamiento del encoder de efecto Hall. Fuente: Autores ... 34
Figura 2-6. Señales generadas por el encoder. Fuente: www.pololu.com ....................... 35
Figura 2-7. Especificaciones de la IMU seleccionada. Modificado de: [30] ...................... 35
Figura 2-8. Sensores del Kinect V1. Fuente: Autores ...................................................... 36
Figura 2-9. Logitech QuickCam Orbit AF. Fuente: www.logitech.com ............................. 37
Figura 2-10. Esquema del subsistema de comunicación. Fuente: Autores ...................... 38
Figura 2-11. PCB diseñada para la etapa de alimentación. Fuente: Autores ................... 39
Figura 2-12. PCB diseñada para la etapa de acondicionamiento. Fuente: Autores ......... 40
Figura 2-13. Selección de materiales para la construcción. Fuente: Autores................... 42
Figura 2-14. Diseño de robot móvil (configuración skid-steer – suspensión rocker-bogie)
en SolidWorks. Fuente: Autores ...................................................................................... 43
Figura 2-15. Estructura principal o chasis del robot. Fuente: Autores .............................. 43
Figura 2-16. Construcción de rines en torno CNC. Fuente: Autores ................................ 44
Figura 2-17. Diseño de rines para ruedas motrices en SolidWorks. Fuente: Autores ...... 45
Figura 2-18. Diseño y construcción de bujes en SolidWorks. Fuente: Autores ................ 45
Figura 2-19. Diseño de soporte para motor con SolidWorks. Fuente: Autores ................ 46
Figura 2-20. Especificaciones de diseño del soporte para motor con SolidWorks. Fuente:
Autores ........................................................................................................................... 46
Figura 2-21. Diseño del sistema de suspensión rocker-bogie. Fuente: [14] y Autores ..... 48
Figura 2-22. Diseño y ensamble de rocker-bogie en SolidWorks y el prototipo real.
Fuente: Autores .............................................................................................................. 49
Figura 2-23. Diseño de acoples de aluminio. Fuente: Autores ........................................ 49
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
Proyecto de grado. Ingeniería Electrónica. 2019. XIII
Figura 2-24. Ensamble del armazón en la estructura principal del prototipo. Fuente:
Autores ............................................................................................................................50
Figura 2-25. Esquema del nivel de computación de ROS. Fuente: Autores .....................56
Figura 2-26. Diagrama de conexión entre el master y los nodos. Fuente: Autores ..........56
Figura 2-27. Mapa de nodos y tópicos del sistema. Fuente: Autores ...............................58
Figura 2-28. Relación de velocidad angular (rpm) y el valor medido por los encoders.
Fuente: Autores ...............................................................................................................62
Figura 2-29. a) Señal de identificación (PRBS). b) Salida-entrada ajustada del sistema.
Fuente: Autores ...............................................................................................................63
Figura 2-30. MATLAB System Identification Toolbox GUI. Fuente: Autores ....................64
Figura 2-31. Identificación del modelo. Fuente: Autores ..................................................64
Figura 2-32. Salida del modelo medida y simulada. Fuente: Autores ..............................65
Figura 2-33. Validación del modelo. Fuente: Autores ......................................................66
Figura 2-34. Interfaz gráfica de Frtool con curva en el gráfico de Nichols correspondiente
a la respuesta de frecuencia del bucle. Fuente: [33] ........................................................67
Figura 2-35. Diseño de control con FRtool (parámetros Ro, Ts, %OS). Fuente: Autores .68
Figura 2-36. Diseño óptimo del controlador PID y la respuesta paso de motor derecho
(superior) e izquierdo (inferior). Fuente: Autores .............................................................69
Figura 2-37. Pseudocódigo del control de velocidad de motores. Fuente: Autores ..........71
Figura 2-38. Implementación de control de velocidad (a), diagrama de bloques del
controlador PID de cada motor (b y c) y señal de salida (d). Fuente: Autores..................72
Figura 3-1. Diagrama de bloques del sistema. Fuente: Autores ......................................75
Figura 3-2. PCB de acondicionamiento electrónico del sistema. Fuente: Autores ...........76
Figura 3-3. Partes del prototipo final. Fuente: Autores .....................................................77
Figura 3-4. Imagen captada por la cámara de navegación en el test 1. Fuente: Autores .78
Figura 3-5. Comparativa entre la reconstrucción 3D y la imagen de navegación. Fuente:
Autores ............................................................................................................................79
Figura 3-6. Distancia en línea recta entre el UGV y el piloto en el test 1. Fuente: Autores
........................................................................................................................................79
Figura 3-7. Prueba de latencia del test 2. Fuente: Autores ..............................................80
Figura 3-8. Imagen captada por la cámara de navegación en el test 2. Fuente: Autores .80
Figura 3-9. Distancia en línea recta entre el UGV y el piloto en el test 2. Fuente: Autores
........................................................................................................................................81
Figura 3-10. Prueba de latencias del test 3. Fuente: Autores ..........................................82
Figura 3-11. Trayectoria recorrida en el test 3. Fuente: Autores ......................................82
Figura 3-12. Imagen captada por la cámara de navegación en el test 3. Fuente: Autores
........................................................................................................................................83
Figura 3-13. Sin control de velocidad en rampa de 30° de inclinación. Fuente: Autores ..84
Figura 3-14. Control de velocidad en rampa de 30° de inclinación. Fuente: Autores .......84
Figura 3-15. Establecimiento de velocidad de los motores entorno a la señal de referencia
variable. Fuente: Autores ................................................................................................85
Figura 3-16. Trayectoria circular estimada por el EKF. Fuente: Autores ..........................85
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
XIV García Nickson
Molina Cristian
Figura 3-17. Estimación de trayectoria mediante el EKF. Fuente: Autores ...................... 86
Figura 3-18. Gráficas en tiempo real de trayectoria recorrida en el simulador Rviz. Fuente:
Autores ........................................................................................................................... 86
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO REMOTO
Proyecto de grado. Ingeniería Electrónica. 2019. XV
Lista de tablas
Pág. Tabla 1-1. Algoritmo general del EKF. Fuente: Autores ...................................................13
Tabla 2-1. Requerimientos de diseño del robot. Fuente: Autores ....................................21
Tabla 2-2. Características principales de las opciones de actuadores a implementar.
Fuente: Autores ...............................................................................................................24
Tabla 2-3. Comparación de características de diferentes motores DC. Fuente: Autores .27
Tabla 2-4. Matriz de selección para motores del robot. Fuente: Autores .........................27
Tabla 2-5. Matriz de selección de la tarjeta de control principal. Fuente: Autores ............28
Tabla 2-6. Matriz de selección de driver de potencia para motores. Fuente: Autores ......29
Tabla 2-7. Matriz de selección de convertidores DC-DC. Fuente: Autores ......................30
Tabla 2-8. Matriz de selección de baterías. Fuente: Autores ...........................................33
Tabla 2-9. Matriz de selección para materiales de estructura. Fuente: Autores ...............41
Tabla 2-10. Requerimientos para el brazo robótico. Fuente: Autores ..............................51
Tabla 2-11. Especificaciones de diseño del brazo robótico. Fuente: Autores ..................52
Tabla 2-12. Datos de lectura de encoders y Tacómetro (rpm). Fuente: Autores ..............61
Tabla 3-1. Partes del prototipo final. Fuente: Autores ......................................................76
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO REMOTO
Proyecto de grado. Ingeniería Electrónica. 2019. XVI
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO REMOTO
Proyecto de grado. Ingeniería Electrónica. 2019. 1
Introducción
La idea de crear una máquina autónoma que pueda desempeñar tareas útiles en
beneficio de las personas ha motivado el desarrollo de inventos tales como [1], que trata
sobre robótica móvil, la cual conforma una parte fundamental en las actividades de la
vida moderna, por ejemplo, en procesos de industria y manufactura como en [2], puesto
que el flujo de materiales de las líneas de producción necesita ser agilizado y más
preciso. En comparación con el uso de cintas transportadoras fijas, que pueden ser
difíciles y costosas de adaptar, los AGV (Vehículos Automáticos Guiados) y AMR (Robots
Móviles Autónomos) pueden ser más eficientes, y por lo tanto ofrecen una forma más
rentable de suministrar materiales [2]. Este tipo de robótica también es útil para ayudar a
las personas en una amplia gama de actividades, preservando su integridad en labores
de búsqueda y rescate, extinción de incendios, construcción de túneles, agricultura,
minería, exploración planetaria, desactivación de explosivos, operaciones en zonas
radioactivas y demás ambientes peligrosos como es visto en [3] y [4]. También se
pueden utilizar como robots de servicio con el objetivo de realizar trabajos de apoyo a la
sociedad, en este campo son generalmente usados en tareas de laboratorio, actividades
didácticas y ayuda a minusválidos como en el caso de [5], entre otros.
Existen diferentes tipos de robots, todos ellos se diferencian según sus capacidades y se
pueden clasificar generalmente en fijos y móviles. A diferencia de los robots
estacionarios, que realizan su trabajo desde un punto fijo, los robots móviles tienen que
desplazarse mediante un sistema de locomoción a través de grandes entornos, por lo
que al realizar sus tareas van a enfrentarse a un alto grado de incertidumbre. Esto puede
solventarse mediante la captación de información del medio en el que se encuentra, por
lo cual deben estar dotados con un gran sistema sensorial según su tipo de aplicación
[6].
Particularmente en este proyecto, como su título lo indica, se documenta la metodología
para desarrollar un prototipo robótico móvil semi-autónomo con capacidad de explorar su
entorno y transmitir la información captada por sus sistemas de percepción en tiempo
real a través de una red local sin necesidad de conexión a internet para accesos a
distancias cortas, o con una conexión a internet, que brinde acceso a una Red Virtual
Privada (VPN), para maniobras a larga distancia.
Un robot móvil semi-autónomo es un sistema en el que cabe identificar subsistemas de
percepción, comunicación y acción, todos en constante interacción entre sí, generando
un flujo continuo de información proveniente de diferentes sensores. Por todo ello, un
robot de este tipo rara vez va equipado con un único sensor, sino que la práctica más
habitual consiste en combinar varios de estos haciendo uso de algoritmos de fusión,
como en este caso el Filtro de Kalman, que a partir de la información recolectada por los
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
2 García Nickson
Molina Cristian
encoders y la IMU, logra trazar un estimado de la trayectoria recorrida por la plataforma
móvil.
El calificativo de semi-autónomo hace referencia a la capacidad de percibir la velocidad
angular actual de las ruedas, para lograr por sí mismo establecerla en un punto de
referencia deseado, siendo capaz de hacer frente a posibles variaciones del terreno por
el cual navega (obstáculos o pendientes) y superarlas a una velocidad constante con una
mínima intervención por parte del piloto. Del mismo modo, el brazo robótico del sistema
también cuenta con una función automática para recoger objetos, siempre que estos
estén ubicados en el punto marcado por los indicadores láser instalados. Ambas
funciones mencionadas solo requieren ser activadas por el piloto mediante
combinaciones de botones predeterminadas.
El primer capítulo del presente proyecto presenta el planteamiento del problema, los
objetivos y la metodología desarrollada, el segundo capítulo describe el diseño del robot
en todas sus capas, en el tercero se presentan los resultados obtenidos, y finalmente se
comentan las conclusiones y recomendaciones a tener en cuenta para futuros trabajos
del mismo campo.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
Proyecto de grado. Ingeniería Electrónica. 2019. 3
Proyecto de grado. Ingeniería Electrónica. 2019. 5
Capítulo 1. Vehículo Terrestre no Tripulado
1.1 Marco Teórico
Con el propósito de introducir al lector en el contexto del proyecto, se exponen algunos
de los conceptos básicos que fundamentan el mismo, y que permiten al lector entender
de mejor manera tanto la problemática de estudio como los aportes del proyecto.
1.1.1 Topologías de Robots Móviles Terrestres
Dentro de la categoría de robots móviles existe una gran variedad de sistemas de
locomoción para trasladarse sobre una superficie sólida; entre los más comunes se
destacan las ruedas, las cadenas y las patas, no obstante, como se refleja en todos los
casos expuestos en la sección de Antecedentes de este documento, los vehículos de
ruedas son los más populares principalmente por dos razones prácticas, ya que
presentan mayor facilidad a la hora de su construcción y control, además la carga que
pueden transportar es mayor, puesto que, tanto los robots basados en cadenas como en
patas, se pueden considerar más complejos y pesados que los robots de ruedas para
una misma carga útil.
La principal desventaja de las ruedas es su desempeño en terrenos irregulares, en los
que presentan dificultades para desplazarse, normalmente un vehículo de ruedas no
puede sobrepasar un obstáculo que tenga una altura superior al radio de sus ruedas
como es visto en [7], razón por la que surgen posibles soluciones, como por ejemplo,
utilizar ruedas mayores que los posibles obstáculos a superar, implementar diferentes
topologías, distribución y cantidad de ruedas a las convencionales o incorporar un
sistema de suspensión que facilite el desempeño de la plataforma a la hora de
desplazarse sobre dichas irregularidades.
A continuación se describen las topologías o configuraciones de robots móviles con
ruedas más comunes, así como el tipo de suspensión utilizado en este proyecto.
• Configuración diferencial: Se trata de uno de los diseños de menor complejidad
tanto para el modelamiento matemático, como para el diseño y construcción, tal como
es visto en [8], ya que el robot puede ir recto, girar sobre sí mismo y trazar curvas con
gran facilidad. Un problema importante es cómo mantener el equilibrio del vehículo,
debe emplearse un apoyo adicional a las dos ruedas ya existentes, esto se consigue
mediante una o dos ruedas de apoyo añadidas en un diseño triangular o romboidal.
El diseño triangular puede no ser suficiente dependiendo de la distribución de pesos
del robot, y el romboidal (Figura 1-1) puede provocar inadaptación al terreno si éste
es irregular, lo que puede exigir alguna clase de suspensión. Otra consideración a
tener en cuenta en los diseños que no incluyen ruedas directrices, es cómo conseguir
que el robot avance recto, para que el robot se mueva en línea recta sus ruedas
tienen que girar a la misma velocidad, y tanto sus ruedas como su centro de masa
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
6 García Nickson
Molina Cristian
deben estar balanceados. Cuando los motores encuentran diferentes resistencias
(cada rueda sobre un terreno diferente) las velocidades de los motores varían y el
robot girará incluso cuando se le haya ajustado inicialmente para que vaya recto, lo
quiere decir que la velocidad debe ser controlada dinámicamente, es decir, debe
existir un medio de monitorizar y cambiar la velocidad del motor mientras el robot
avanza. De esta manera la simplicidad del diseño queda minimizada por la
complejidad del sistema de control de la velocidad; no obstante, la reducción de la
complejidad mecánica en comparación de la electrónica, es frecuentemente una
elección más económica y fiable [7]. En este caso no existen ruedas directrices
controladas, pues el cambio de dirección se realiza modificando la relación de
velocidad relativa de las ruedas motrices izquierda y derecha para trazar curvas, o
invirtiendo sus sentidos de giro para virajes sobre su propio eje.
a) Diseño triangular. b) Diseño romboidal.
Figura 1-1. Configuración diferencial. Fuente: [8]
• Configuración Ackerman: Es el utilizado en vehículos de cuatro ruedas
convencionales, de hecho, los vehículos robóticos para exteriores resultan
normalmente de la modificación de estos [9]. El sistema se basa en dos ruedas
motrices traseras que se montan de forma paralela en el chasis principal del vehículo,
y a diferencia de la topología diferencial, esta cuenta con ruedas de direccionamiento
controlado delanteras, como se ilustra en la Figura 1-2.
Figura 1-2. Comparativa entre topología diferencial y Ackerman. Fuente: Autores
Capítulo 1 7
Proyecto de grado. Ingeniería Electrónica. 2019. 7
La rueda delantera interior gira un ángulo ligeramente superior a la rueda exterior, de
forma tal que los ejes de prolongación de las ruedas delanteras (directrices) se cortan en
el ICR (centro instantáneo de rotación), que se sitúa en el mismo punto que en el eje de
prolongación de las ruedas traseras (motrices). Esto elimina el deslizamiento que
provoca los sobre virajes de la plataforma. El lugar de los puntos trazados sobre el suelo
por los centros de los neumáticos, son circunferencias concéntricas con centro en el eje
de rotación ICR. Si no se tienen en cuenta las fuerzas centrífugas, los vectores de
velocidad instantánea son tangentes a estas curvas, por lo que las velocidades de
movimiento del móvil deberán evitar que las ruedas no resbalen.
En los robots móviles con configuración Ackerman se presentan dos ángulos de giro, uno
en cada rueda, lo cual genera mayores problemas a la hora de realizar el control, por lo
que en muchas ocasiones lo que se hace es unificar los ángulos de direccionamiento en
uno sólo, causando que los radios de giro para los cuales el robot no muestra
deslizamiento lateral son mayores que en otras configuraciones. En la Figura 1-3 se
puede observar éste efecto sobre el centro instantáneo de rotación.
Figura 1-3. Diagrama de la configuración Ackerman. Fuente: [10]
• Configuración Skid-Steer: El principio de funcionamiento de la estructura skid-steer
es el mismo que el de la configuración diferencial, con la diferencia de que a cada
lado del robot se tiene más de una rueda, por esto puede existir configuración skid
steer de 4 o 6 ruedas. En esta topología el desplazamiento se produce al combinar
las velocidades de las ruedas del lado derecho e izquierdo, pero al constar de dos o
más ruedas a cada lado se produce deslizamiento transversal, situación que no se da
en la topología diferencial. A efectos del control puede manejarse de manera similar
si no se tiene en cuenta este deslizamiento. Sus ventajas son las mismas que las de
los robots de configuración diferencial, añadiendo robustez, mayor tracción al suelo y
desplazamiento en casi cualquier tipo de terreno, aunque su diseño es más complejo
y al contar con un mayor número de motores consumen más energía. Su principal
inconveniente es el deslizamiento lateral producido en las ruedas durante los cambios
de dirección y que da lugar a dificultades a la hora de la estimación de posición del
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
8 García Nickson
Molina Cristian
robot. La configuración skid-steer es muy utilizada en una gran variedad de vehículos
móviles: montacargas, vehículos de minería o de guerra. También se utilizan en
aplicaciones relacionadas con la robótica de exploración o de investigación. En la
Figura 1-4 se ilustra la configuración skid-steer con 4 y 6 ruedas.
Figura 1-4. Diagramas de configuración skid-steer. Fuente: [11], [12]
• Suspensión Rocker-Bogie: El sistema rocker-bogie hace referencia al tipo de
suspensión utilizado en los rovers de exploración interplanetaria enviados a Marte por
la NASA, y a día de hoy continúa siendo el modelo de referencia de sus diseños [13],
como en el caso del Curiosity Rover en la Figura 1-5.
Figura 1-5. Sistema Rocker-Bogie integrado en el MER Curiosity. Fuente: www.jpl.nasa.gov
En [14] este mecanismo de suspensión se define como un sistema que está compuesto
por dos piezas que se unen y tienen libertad de giro. El rocker es la pieza que se une al
chasis del rover gracias a un mecanismo diferencial, de manera que cuando
un rocker asciende, el opuesto desciende. Uno de los extremos del balancín se une a
Capítulo 1 9
Proyecto de grado. Ingeniería Electrónica. 2019. 9
una rueda motora, mientras que en el otro extremo se acopla el elemento bogie, el cual
puede pivotar sobre el balancín. El término bogie se refiere al mecanismo que aloja en
cada extremo una rueda motriz. Este tipo de soporte se suele utilizar para ayudar a
distribuir la carga sobre las seis ruedas.
El diseño rocker-bogie no incorpora muelles o ejes por cada rueda, lo que permite al
rover superar obstáculos como rocas con un tamaño mayor al del diámetro de las ruedas,
manteniendo las seis ruedas sobre el suelo. Según el Laboratorio de Propulsión a
Reacción (JPL) de la NASA, este sistema de suspensión reduce el movimiento del
cuerpo del vehículo a la mitad en comparación a otros [13]. Cada una de las seis ruedas
que incorpora el rover tiene su propio motor independiente, los cuales cuentan con una
reductora de manera que cada rueda individual puede cargar una gran parte de la masa
del vehículo.
Para poder superar un obstáculo vertical, las ruedas delanteras son empujadas contra
este por el resto de ruedas del vehículo, de esta manera las ruedas delanteras se
inclinan sobre su eje para adaptarse y superar el obstáculo. Las ruedas centrales pasan
a ser empujadas por las ruedas traseras contra el obstáculo con la ayuda de las
delanteras que ejercen una fuerza tractora sobre el resto. Por último las ruedas traseras
son empujadas contra el obstáculo por el resto de ruedas que ya lo han superado.
Cuando una rueda se encuentra superando un obstáculo, el avance del vehículo se
ralentiza, llegando a detenerse en ocasiones [14]. En la Figura 1-6 se ilustran las partes
del sistema de suspensión rocker-bogie, así como las diferentes posiciones que adopta al
momento de superar un obstáculo.
Figura 1-6. Proceso de superación de un obstáculo de un sistema rocker-bogie. Fuente: [14]
1.1.2 Elementos de Percepción y Acción
Los sistemas de percepción son aquellos encargados de transmitir la información
captada por los diferentes sensores y dispositivos de entrada a la unidad central de
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
10 García Nickson
Molina Cristian
control UCC. En este prototipo el sistema de percepción está conformado por los
siguientes elementos de entrada:
• IMU: La unidad de medición inercial es un elemento emisor de información sobre
orientación, inclinación y aceleración, a fin de que puedan llevarse a cabo procesos
automatizados de control. Esta emisión de datos debe evaluarse a fin de verificar la
veracidad de sus mediciones en la tarea a la que son asignadas [15].
• Kinect: Es un dispositivo inicialmente pensado como un simple controlador de juego,
que integra componentes como: sensor de profundidad, cámara RGB, arreglo de
micrófonos y sensor de infrarrojos, es capaz de capturar un objeto, reconocerlo y
posicionarlo en un plano 3D [16].
• Encoders: Son sensores que generan señales digitales en respuesta al movimiento
rotatorio o lineal. Cuando son usados en conjunto con dispositivos mecánicos tales
como ruedas conectadas a motores, estos pueden ser utilizados para medir sus
respectivas velocidades [17].
• Cámara web: Es una pequeña cámara asociada a una PC que puede capturar
imágenes y transmitirlas a través de Internet a diferentes PC de forma privada.
También existen diferentes cámaras autosuficientes que únicamente necesitan un
punto de acceso a la red. Ambas son útiles en asignaciones de seguridad y
reconocimiento de video [18].
Por el contrario los sistemas de acción se describen como aquellos compuestos por
actuadores capaces de realizar las acciones ordenadas por la UCC.
• Motorreductores: Es un método de reducción de velocidad de un motor DC, estos por
lo regular usan sistemas de engranajes que varían el par del motor en proporción a la
velocidad, la máquina convierte la energía eléctrica en mecánica, provocando un
movimiento rotatorio, gracias a la acción de un campo magnético.
• Servomotores y manipulación de carga: Entre las características de los servomotores
puede destacarse una alta relación entre el par del motor y la inercia, por lo cual
resultan útiles en aplicaciones tan variadas como las correspondientes a la
manipulación de carga en el campo de la robótica, permitiendo el desarrollo de piezas
como un brazo robótico. Dicho sistema debe admitir la programación de su
posicionamiento, aceleración y velocidad [19].
1.1.3 Robot Operating System
Robot Operating System ROS es un framework (entorno de trabajo) flexible, con una
amplia variedad de herramientas, librerías y paquetes que busca la creación de software
complejo para tener robots robustos y con un comportamiento variado [20]. ROS se
puede definir de igual manera como un metasistema operativo, ya que es un OS que se
instala sobre otro. Lo más usual es que funcione bajo un sistema UNIX (Ubuntu, Debian)
aunque también se está adaptando a otros sistemas operativos como Fedora, Mac OS X,
Capítulo 1 11
Proyecto de grado. Ingeniería Electrónica. 2019. 11
Arch, Gentoo, OpenSUSE, Debian o Microsoft Windows, considerados a día de hoy
como ‘experimentales’ [21]. En el caso de este proyecto se utilizó Ubuntu 14.04 y ROS
Indigo. Gracias al soporte en línea con el que cuenta ROS, se puede encontrar suficiente
información técnica, además de intuitivas guías de instalación [22].
Algunas de las características principales de ROS son:
• Cuenta con un nodo principal de coordinación.
• Apuesta por la modularidad (diferentes áreas que se conjugan en un proyecto).
• En ROS cada módulo es autónomo (como las computadoras en una red LAN).
• Permite procesamiento distribuido en múltiples núcleos, multiprocesamiento, GPUs y
clústeres.
• Cada módulo interactúa entre sí por medio de mensajes llamados tópicos (protocolo
XML-RCP), esto hace posible la programación en diferentes lenguajes C++, Python o
Java.
• Publicación o subscripción de flujos de datos: imágenes, estéreo, láser, actuador, etc.
• Hace uso del protocolo TCP/IP para un esquema cliente-servidor entre diferentes
dispositivos conectados a una misma red.
ROS tiene dos partes básicas: el sistema operativo y ros-pkg. Esta última consiste en
una suite de paquetes aportados por la contribución de usuarios que implementan las
funcionalidades tales como localización y mapeo simultáneo, percepción, simulación,
control, robots móviles, etc. Además se trata de un software con licencia libre para uso
comercial y de investigación [20].
Actualmente existen algunos robots tanto comerciales como de investigación que ya
utilizan ROS, entre estos se pueden encontrar:
• PR1: robot personal desarrollado por el laboratorio Ken Salisbury en Stanford.
• PR2: robot personal que está siendo desarrollado por Willow Garage.
• Baxter de Rethink Robotics, Inc.
• Robot de Shadow: mano robótica diestra motorizada desarrollada por la empresa
Shadow y la cual se está desarrollando mediante el consorcio de un proyecto
europeo dentro del marco europeo. Entre los participantes de este proyecto se
pueden encontrar la empresa Shadow Robot, la Université Pierre et Marie Curie-Paris
(Francia) o la Universidad Carlos III de Madrid (España).
• HERB: desarrollado en CMU dentro del programa de robótica personal de Intel.
1.1.4 Control PID
Un controlador o regulador PID es un dispositivo que permite controlar un sistema en
lazo cerrado para que alcance el estado de salida deseado. El controlador PID está
compuesto por tres elementos que proporcionan una acción Proporcional, Integral y
Derivativa. Estas tres acciones son la que dan nombre al controlador PID [23]. Al aplicar
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
12 García Nickson
Molina Cristian
la sumatoria de estas acciones a un sistema con realimentación se obtiene una
estructura de control PID en lazo cerrado, representado en la Figura 1-6.
Figura 1-7. Esquema de un sistema de control automático en lazo cerrado. Fuente: [24]
La señal de referencia indica el estado que se desea conseguir en la salida del sistema.
En un sistema de control de velocidad, la referencia será la velocidad deseada y la salida
será la velocidad real del sistema controlado.
Como puede verse en el esquema anterior, la entrada al controlador es la señal de error.
Esta señal indica al controlador la diferencia que existe entre el estado que se quiere
conseguir y el estado real del sistema a través de una señal de realimentación medida
por el sensor. Si la señal de error es grande, significa que el estado del sistema se
encuentra lejos del estado de referencia deseado. Si por el contrario el error es pequeño,
significa que el sistema ha alcanzado el estado deseado.
La salida de un controlador automático se conecta a un actuador, como un motor o una
válvula. El actuador es un dispositivo de potencia que produce la entrada para la planta
de acuerdo con la señal de control, a fin de que la señal de salida se aproxime a la señal
de entrada de referencia.
El elemento de medición es un dispositivo sensorial que convierte la variable de salida en
información interpretable y manejable, como un desplazamiento o un voltaje, que pueda
usarse para comparar la salida con la señal de referencia. Dicho elemento está en la
trayectoria de realimentación del sistema en lazo cerrado [24].
1.1.5 Filtro Extendido de Kalman
El Filtro de Kalman es una potente herramienta matemática que juega un importante
papel cuando se incluyen medidas del mundo real en el sistema con el que se trabaja.
Fue inventado por Rudolph Emil Kalman a finales de la década de 1950, con la finalidad
Capítulo 1 13
Proyecto de grado. Ingeniería Electrónica. 2019. 13
de filtrar y predecir sistemas lineales, siendo posteriormente extendido para el análisis no
lineal (EKF). Básicamente es un conjunto de ecuaciones matemáticas que implementan
un estimador del tipo predictor-corrector. Procesa todas las medidas disponibles (IMU y
odometría) para estimar el valor actual de las variables de interés (posición). Esto es
posible gracias a:
a) el conocimiento del sistema y a dispositivos dinámicos de medida,
b) a la descripción de los ruidos del sistema, errores de medida e incertidumbre en los
modelos dinámicos,
c) y a cualquier información disponible acerca de las variables de interés.
El Filtro Extendido de Kalman (EKF) es un algoritmo de procesamiento de datos, y como
se trata de un programa de ordenador debe trabajar siguiendo un algoritmo [25],
resumido en la Tabla 1-1, cuyo contenido se describe más detalladamente en la sección
2.3.3 del presente documento, basado en [26].
Tabla 1-1. Algoritmo general del EKF. Fuente: Autores
Algoritmo general del EKF
1. Inicializar la matriz de covarianza, el ruido del proceso y el ruido de medición.
𝑷𝟏𝒌, 𝑸𝟏, 𝑹𝟏
2. Actualizar el modelo.
𝒙𝒌 , 𝒚𝒌
3. Cálculo Jacobiano para el modelo.
𝑨𝑫𝒌, 𝑪𝑫𝒌
4. Actualización de la matriz de covarianza.
𝑷𝟏𝒌
5. Ganancia de Kalman. 𝑲𝒌
6. Actualización de mediciones.
𝒚𝒌 , 𝒙𝒌 , 𝑷𝟏𝒌
1.2 Antecedentes
Al hablar de un robot explorador, los ejemplos más destacables correspondes a los
realizados por NASA en sus exploraciones interplanetarias, no obstante existe un gran
número de estudios relacionados a la robótica móvil. Las referencias que se plantean a
continuación se han incluido principalmente por su aporte en las diferentes aéreas del
desarrollo de este proyecto, tales como: exploración, sistemas mecánicos, de control y de
comunicación. En el presente capítulo se dan a conocer conceptos e información
bibliográfica que representan parte del estado del arte para el desarrollo del prototipo de
vehículo de exploración.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
14 García Nickson
Molina Cristian
El proyecto descrito en [22] consiste en el desarrollo de un sistema de control de bajo y
alto nivel de un robot móvil con tracción diferencial. Se llevó a cabo la implementación de
los sistemas de comunicación entre el control de bajo nivel (microcontrolador) y el de alto
nivel (Raspberry PI) así como el protocolo de comunicación entre ambos. Además, se
realizó la programación necesaria para el funcionamiento de actuadores y sensores, todo
esto utilizando el entorno de programación “Robot Operating System” (ROS). El autor
dota su proyecto de un sistema de percepción compuesto por sensores ultrasónicos para
medir distancias o detectar obstáculos, sensores de choque que se activan cuando son
presionados en caso de fallo de los sensores de distancia, encoders para conocer la
velocidad y posición del vehículo, una cámara de Raspberry para seguimiento de líneas o
visión remota, y un escáner láser 2D Hokuyo para crear un mapa del entorno. Para el
control de sus motores se utilizan dos drivers de potencia Picoborg Reverse, uno para
cada motor, conectados a la Raspberry PI mediante comunicación I2C.
En [27] se utilizó una estructura donde se describen los componentes del sistema de
control y se diseñó cada una de las tarjetas electrónicas. En este proyecto la tarjeta
principal envía los datos sensados del análisis de las variables de temperatura, presión,
humedad, luminosidad, inclinación a través de un acelerómetro, distancia a la tarjeta de
mando, la cual permite el control inalámbrico del robot gracias a un sistema emisor-
receptor RF de gran alcance para maniobrar el robot en una zona amplia. Sus principales
elementos de percepción son los sensores de medición de parámetros ambientales,
como el BMP085 que registra los cambios de temperatura y presión; el DHT11 que
permite detectar la humedad y el acelerómetro GY-61 utilizado para medir la inclinación.
También se describe el uso de conexión WiFi para la transmisión de vídeo. Se utiliza
como microcontrolador el PIC16F877 en la tarjeta principal ensamblada a bordo del robot
y un PIC18F4620 en la tarjeta de control inalámbrico. Para el monitoreo de todos estos
datos medidos los autores utilizan una pantalla líquida gráfica monocromática de
Displays GLCD con una lámina táctil para su interacción. Finalmente se describe una
unidad de potencia compuesta por dos baterías recargables de Ni/Cd de 12V tanto en el
robot como en la unidad de control inalámbrico, para un total de cuatro baterías.
En [3] se describe el proceso de diseño y construcción de un robot móvil remoto para la
asistencia en operaciones de alto riesgo del cuerpo de bomberos, así como la
exploración de zonas afectadas por este tipo de catástrofes. El esquema de este sistema
consta de una tarjeta principal que en primer lugar se debe comunicar con el computador
de usuario, a través del cual la persona que controla al robot envía comandos y recibe
datos de estado; todo a través de una comunicación TCP/IP. La tarjeta principal (Intel) se
comunica además con el circuito controlador de motores (RoboteQ) a través de una
conexión serial RS232, el cual luego de recibir los comandos desde la tarjeta principal se
encarga de mover los motores que tiene conectados. Por otro lado dicha tarjeta principal
se comunica con la tarjeta adquisidora de datos mediante un puerto USB que se
convierte en un puerto serial virtualizado. La tarjeta Daq recibe consultas para realizar la
adquisición del dato comunicándose con los sensores mediante protocolos de
Capítulo 1 15
Proyecto de grado. Ingeniería Electrónica. 2019. 15
comunicación para periféricos como I2C y SPI, o adquiriendo señales analógicas y
digitales. Finalmente la tarjeta principal adquiere las señales de vídeo de las cámaras a
través de los puertos USB, y envía toda la información recopilada para poder ser
visualizada por el usuario.
1.3 Descripción del Problema y Justificación
El desarrollo de la robótica representa un significativo impacto en el crecimiento
tecnológico de un país; naciones avanzadas en el campo como Alemania o Japón
exportan este tipo de tecnología debido a su utilidad, y por tanto alta demanda. Así en el
caso de Colombia, donde aún es necesario aumentar la inversión en investigación sobre
este ámbito, podría permitirse en un futuro una dependencia menor a la importación de
tecnología al poder desarrollar avances propios. Además, los robots móviles teledirigidos,
semi-autónomos o autónomos, permiten la adquisición de datos en entornos de difícil o
imposible acceso humano, minimizando la exposición de un individuo a los posibles
peligros existentes en dichos entornos como pueden ser misiones de exploración
espacial, sistemas de vigilancia y seguridad, manejo de explosivos, agricultura o
transporte automático en áreas industriales [1], [28]. Cabe mencionar que, aunque el
presente proyecto tenga fines meramente educativos e investigativos, contando con los
medios necesarios, existe la posibilidad de convertirlo en un proyecto a mayor escala
para ejecutar alguna de las aplicaciones mencionadas.
Según [1], la investigación asociada al campo de la robótica, específicamente a los
móviles, ha adquirido gran relevancia, y aun a día de hoy, cuando se han logrado
importantes avances, sigue siendo un tema de mucha investigación y gran interés. Los
retos que enfrenta este campo para implementar materiales y esquemas de fabricación
en estructuras físicas, aplicar estrategias para la comunicación de tele-operación en
plataformas móviles y elaborar robots que puedan ser multifuncionales, mantienen una
limitación en el desarrollo tecnológico.
Mencionado lo anterior, se evidencia una motivación por realizar una aplicación en
robótica móvil para contribuir al desarrollo regional y nacional en la investigación del área
en cuestión. En este caso en particular, para lograr la navegación semi-autónoma de un
robot móvil, es decir donde los subsistemas a bordo del vehículo faciliten su operación, y
que su metodología de desarrollo pueda servir de referencia para otro tipo de robots
móviles e incluso para llevarlo a una escala mayor en una etapa posterior a este
proyecto. De tal manera, en el presente documento se pretende dar respuesta a la
pregunta: Entre las diferentes opciones de hardware, electrónica y software, ¿cuáles
deben tenerse en cuenta para el desarrollo de una plataforma móvil semi-autónoma con
manipulación remota?
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
16 García Nickson
Molina Cristian
1.4 Objetivos
1.4.1 Objetivo General
Desarrollar una plataforma robótica móvil terrestre que pueda ser operada de manera
remota en desplazamiento y manipulación de carga, empleando Robotic Operating
System ROS.
1.4.2 Objetivos Específicos
Estudiante 1: Cristian Giovanny Molina Hernández.
• Diseñar y construir un robot móvil terrestre no tripulado UGV en topología “skid-
steering” en sus capas mecánica y electrónica.
• Desarrollar un control automático de velocidad angular sobre cada tracción lateral
del robot, para mejorar los desplazamientos de traslación y giro del mismo.
Estudiante 2: Nickson Eduardo García Hernández.
• Establecer un sistema de comunicación remoto mediante una red Wireless entre
el UGV y el piloto, de manera que se acceda a todos los elementos de percepción
y se manipulen todos los elementos de acción del robot desde el centro de
control.
• Estimar la trayectoria recorrida del robot a partir de odometría y unidad de
medición inercial IMU.
1.5 Metodología
El alcance de los objetivos propuestos contempla una metodología divida en tres etapas
o fases (Figura 1-8): 1) Diseño y construcción del robot; 2) Desarrollo de subsistemas de
percepción, manipulación y comunicación, y 3) Validación experimental del desempeño
del robot.
Etapa uno (1).
En la primera etapa, se estableció el hardware del robot explorador así como su
estructura, topología, tipo de suspensión y materiales atendiendo los parámetros de
diseño mecánico y electrónico. Para ello se inició por la selección de los componentes
del chasis, incluyendo el elemento de manipulación de carga, estimando las masas de la
estructura, motores y electrónica asociada. Con los elementos anteriormente
mencionados fue posible empezar a concebir la estructura del robot.
El brazo por condición inicial, fue dotado de una rigidez adecuada para manipular la
carga sin comprometer su propia integridad ni, por otro lado fue necesario reducir su
Capítulo 1 17
Proyecto de grado. Ingeniería Electrónica. 2019. 17
masa, al mínimo posible, pues de ser muy elevado restaría agilidad al robot. Teniendo en
cuenta estos detalles, para la mecánica del robot se realizó un chasis elaborado en
materiales que poseen características de alta resistencia y a la vez baja densidad para
reducir la exigencia de torque, y por tanto consumo energético a los motores DC,
logrando así una mayor autonomía.
El diseño del robot hace uso de dos fuentes de alimentación para movilizar todos sus
subsistemas. No obstante, no todos los dispositivos electrónicos operan con los mismos
niveles de corriente y voltaje. Esto hizo necesario incluir elementos de acondicionamiento
que garantizan los niveles correctos de energía según sea requerido. El propósito de
utilizar dos fuentes de energía diferentes es dividir la alimentación del sistema en
Potencia y Lógico o Control. Potencia comprende los niveles de voltajes y corrientes
inyectados sobre los motores de tracción así como la energización del elemento de
manipulación de carga, mientras que el lógico corresponde a la alimentación de sensores
y demás periféricos.
De igual manera es comprensible que los elementos de control no tengan la capacidad
de utilizar grandes densidades de corriente para operar los actuadores, por esta razón
fueron incluidos drivers de potencia que gestionan la cantidad de energía aplicada a los
elementos que requieren de mayor potencia.
Etapa dos (2).
Una vez finalizada la estructura tanto mecánica como electrónica de la plataforma se dio
inicio a la segunda etapa, consistente en el desarrollo del software requerido para el
correcto funcionamiento de los subsistemas de percepción, manipulación y comunicación
del robot.
El subsistema de percepción está conformado por un conjunto de sensores que brindan
al piloto información sobre el estado actual del robot y el entorno en el que se encuentra.
Se enfocó en el desarrollo de un un algoritmo de control que regula las velocidades
angulares de cada tracción lateral del robot utilizando encoders, de manera que el piloto
desde su central de control navega con mayor facilidad el móvil, enviando las referencias
de control digital desde un gamepad. Este controlador mejora los desplazamientos de
traslación y giro del robot reduciendo posibles desviaciones y mejorando su desempeño
ante inclinaciones y demás irregularidades del terreno.
Con el objetivo de que el piloto cuente con una percepción de profundidad, la cual no es
posible obtener con la videocámara, se añadió al sistema un mecanismo de visión 3D
gracias a un Kinect instalado en la plataforma móvil. Además, se desarrolló un algoritmo
para la estimación de la posición del robot móvil, de manera que el piloto tenga una idea
de la trayectoria ejecutada por el móvil gracias al procesamiento de las lecturas de los
encoders y la IMU con un Filtro Extendido de Kalman.
En el subsistema de manipulación se establecieron algoritmos con la función de accionar
cada uno de los actuadores del elemento de manipulación de carga, así como los
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
18 García Nickson
Molina Cristian
motores de tracción y el sistema de luces de apoyo para la navegación en entornos
oscuros. Estos algoritmos también se encargan de extraer y analizar la información del
gamepad para lograr la completa manipulación de la plataforma móvil a voluntad del
piloto.
A fin de lograr los enlaces entre los subsistemas de percepción y manipulación se impuso
un sistema de comunicación bidireccional entre los dispositivos a bordo del robot y el
equipo desde el cual este es comandado por el piloto. Para llevar a cabo tal subsistema
se desarrolló e implementó un protocolo de comunicación eficiente, reduciendo en lo
posible la latencia. Dicho protocolo se basó en configuraciones de red propias de ROS.
Puesto que estas configuraciones solo son funcionales en redes locales no permiten la
comunicación a largas distancias, por tanto fue preciso la creación de una red virtual
privada VPN, las cuales son capaces de conectar varios dispositivos como si se
encontrasen físicamente en el mismo lugar mediante un túnel que enlaza todos los
equipos conectados a ella.
Etapa tres (3).
Tan pronto como fue finalizada la construcción de la plataforma y establecidas sus capas
de software de percepción, control y comunicación, se procedió a una validación
experimental en diferentes entornos de navegación de espacios abiertos y cerrados,
empleando un módem WiFi encargado de enlazar al robot a una red con acceso a
internet, y a su vez con el piloto ubicado en diferentes rangos de distancias.
Figura 1-8. Metodología de desarrollo. Fuente: Autores
•Diseño
•Construcción
Fase I
•Percepción
•Manipulación
•Comunicación
Fase II•Validación
experimental
Fase III
Capítulo 1 19
Proyecto de grado. Ingeniería Electrónica. 2019. 19
Proyecto de grado. Ingeniería Electrónica. 2019. 21
Capítulo 2. Diseño del Alpha Rover
Esta sección aborda el desarrollo del prototipo del robot móvil denominado Alpha Rover. Dentro de dicho desarrollo se contempla el diseño electrónico y mecánico de la plataforma, al igual que el software del sistema, incluyendo el diseño de control de velocidad y trazado de trayectoria del rover. Se parte de un amplio estudio de las características del vehículo, no solo para el correcto desarrollo del proyecto, sino también para la evaluación de las posibilidades que la plataforma puede ofrecer. Con el objetivo de seguir un esquema ordenado se estudió, tanto desde el punto de vista mecánico y cinemático, como electrónico, la óptima ubicación de los elementos y periféricos a bordo. Para hacer una introducción más clara, la sección está dividida en tres segmentos: capa electrónica del sistema, capa mecánica del sistema y capa de software del sistema, cuyos requerimientos o parámetros de diseño principales se resumen en la Tabla 2-1, clasificados según la capa a la cual pertenezcan.
Tabla 2-1. Requerimientos de diseño del robot. Fuente: Autores
Requerimientos Definición Implementación
Mecánica
Modular
Los elementos que conforman el prototipo son desmontables.
Dispositivos desmontables.
Robustez mecánica Su construcción garantiza
durabilidad y resistencia frente al uso.
Uso de materiales livianos y resistentes.
Masa La plataforma no puede
superar una masa de 25 kg. 20 kg.
Topología / Sistema de traccion
Configuración de dirección utilizada Skid-steer.
Topologia a usar Skid steer / 6 ruedas.
Sistema de suspensión
Este sistema le brinda una alta estabilidad ya que absorbe de
manera eficiente todas las fuerzas externas ejercidas
sobre el UGV.
Suspensión Rocker-Bogie.
Interfaz de hardware amigable
Permite al usuario manipular el prototipo de forma intuitiva sin
dificultades.
Panel de control físico del sistema.
Actuador de manipulación El robot debe contar con un elemento manipulador que le
permita accionar botones o trasladar cargas sencillas.
Tamaño El área del robot no puede
superar las medidas de 1m x 1m x 1m (largo x ancho x alto).
0.7m x 0.5m x 0.8m.
Electrónica
Autonomía El prototipo debe funcionar durante un límite de horas, hasta una nueva recarga.
3 h en movimiento sobre terrenos medianamente
irregulares.
Paro de emergencia El robot debe contar con un dispositivo de apagado de
emergencia en su hardware.
Iluminación El vehículo debe contar con un sistema de luces que le permita
operar en espacios de baja iluminación.
Instrumentación El móvil debe contar con periféricos que faciliten su manejo
remoto.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
22 García Nickson
Molina Cristian
Requerimientos Definición Implementación
Software
Ejecución multitarea El rover debe ejecutar sus
diferentes funciones de operación al mismo tiempo.
La red de nodos de ROS permite esta función.
Acceso
En caso de requerir modificar el código fuente o los
parámetros del robot, debe poderse acceder
remotamente.
El sistema permite accesos para depuración remota vía
SSH.
Modos de manejo El prototipo debe contar con
dos modos de operación: manual y semi-autónomo.
Las ayudas semi-autónomas se pueden activar o no, desde
el gamepad.
Manipulación El robot debe manipularse
desde una estación remota. Implementación de una red
virtual privada.
Control de velocidad
El sistema debe contar con un control de tracción que le
permita avanzar a velocidades constantes
independientemente de las irregularidades o inclinación
del terreno.
Controlador PID digital.
Elemento de manejo El manejo del gamepad que opera el piloto debe ser intuitivo,
permitiendo acceder a las diferentes funciones del robot fácilmente.
2.1 Capa Electrónica del Sistema
La capa electrónica del robot se constituye por los circuitos electrónicos que se utilizan
para poner en funcionamiento el sistema a niveles de potencia y lógico, se incluyen
elementos de acondicionamiento que garanticen los niveles correctos de energía según
sea requerido. En inicio se dividió la fuente de energía en dos: Potencia y Lógico.
Potencia comprende los niveles de voltajes y corrientes inyectados sobre los motores de
tracción, así como la alimentación del elemento de manipulación de carga, mientras que
el lógico corresponde al voltaje DC que alimenta sensores y tarjetas de control. En la
Figura 2-1 se aprecia un diagrama pictórico general de la plataforma.
Capítulo 2 23
Proyecto de grado. Ingeniería Electrónica. 2019. 23
Figura 2-1. Diagrama pictórico del sistema electrónico. Fuente: Autores
2.1.1 Selección de Componentes para la Capa Electrónica
Para el correcto funcionamiento del robot móvil, son necesarios ciertos componentes
comunes en todos los tipos de robótica como lo son: los motores que permiten el
movimiento del robot, los sensores que proporcionan la retroalimentación necesaria para
conocer su entorno y estado, las baterías que son la fuente de energía portátil que se ha
venido empleando para dispositivos que requieren movilidad, y finalmente sus circuitos
electrónicos, que se diseñan a partir de ciertos requisitos según la selección de cada
componente del prototipo construido.
A continuación se presenta la selección de elementos como motores, ruedas, sensores,
convertidores y sistema de alimentación:
• Selección de los motores: La selección de los motores depende del sistema a
desarrollar y según sus características se busca el actuador que mejor se adapte a
sus requerimientos. Los servomotores tienen un desplazamiento angular limitado,
para su funcionamiento se basan en un control por ancho de pulso, por lo tanto no
es el recomendable para este prototipo. Los motores paso a paso, por el contrario
ofrecen precisión elevada en el giro del rotor debido a su estructura interna, sin
embargo exigen mayor electrónica para su control, lo cual lo hace relativamente
complejo. El motor DC, tiene un modelo lineal que facilita su control, puede alcanzar
altas velocidades y ofrecer una operación más suave a bajas velocidades, además
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
24 García Nickson
Molina Cristian
de un alto torque y adicional a esto son más sencillos de instrumentar. A esto se
añade una muy buena relación entre coste, dimensiones, peso, potencia, eficiencia y
cierto control dentro de los rangos de velocidades a los que serán sometidos, de ahí
que se eligiesen los motores DC. En la Tabla 2-2 se puede observar una relación
entre las características principales de los motores anteriormente detallados.
Tabla 2-2. Características principales de las opciones de actuadores a implementar. Fuente: Autores
Se selecciona el Motor DC (Corriente Directa) debido a que ofrece las prestaciones
suficientes para este tipo de robot. Para superar sus limitaciones, como lo son las bajas
velocidades y el desconocimiento del valor de las mismas, se acoplan a estos unos
pequeños engranajes reductores a la salida, lo cual ofrecerá un mayor par y un mejor
control a bajas velocidades. Además, se añaden codificadores incrementales o encoders,
que ayudarán a conocer la velocidad de cada una de las ruedas y posición del robot
gracias a los cálculos odométricos.
Considerando lo anterior para la elección del motor, se debe tener en cuenta tres
aspectos fundamentales como son: la velocidad, el par y la eficiencia energética del tipo
de motor, al igual que la potencia necesaria para mover toda la estructura. A continuación
se realizarán los cálculos pertinentes para saber que par debe suministrar cada motor:
1. Inicialmente se estima la masa total de los componentes que conforman la plataforma
móvil, además de algunos componentes extra que podrían ser necesarios en
aplicaciones futuras. Así se obtiene una masa total de:
𝑀𝑡 = 𝑀𝑒 + 𝑀𝑚 = 4.2𝑘𝑔 + 16𝑘𝑔
𝑀𝑡 = 20.2 𝑘𝑔
Mt representa la masa total aproximada del robot, Me es la masa estimada de los
componentes electrónicos y Mm es la masa estimada de los componentes
mecánicos.
Capítulo 2 25
Proyecto de grado. Ingeniería Electrónica. 2019. 25
2. Se toman ciertos parámetros de diseño en el modelo de la plataforma móvil como,
eficiencia de las cajas reductoras, número de ruedas motrices, radio de ruedas, los
dos últimos parámetros hacen parte del diseño mecánico expuesto en la sección 2.2.
• Eficiencia de las reductoras:
η = 0.8
• Número de ruedas motrices:
n = 6
• Radio de ruedas motrices:
r = 0.0725m
3. Teniendo en cuenta que la masa podría variar en el proceso de construcción de la
plataforma móvil, se consideró un margen de seguridad del 80 %, es decir, se dividió
la masa total entre 0.8 para obtener una nueva 𝑚𝑡 que será la considerada en la
selección de torque del motor. Así la masa de seguridad:
𝑀𝑡 ≈ 25 𝑘𝑔
4. Considerando que en las aplicaciones móviles terrestres de exploración se requiere
velocidades menores a 1 m/s, se escogieron los siguientes parámetros iniciales:
• Velocidad esperada (V): se ha decidido establecerla en 0.8 𝑚
s
• Aceleración esperada (a): fijada en 0.5 𝑚
𝑠2
• Posible pendiente a superar (𝛼): de unos 30𝑜
La velocidad de un motor siempre se refiere a la velocidad angular de su eje de giro y en
el Sistema Internacional (SI) viene dada en rad/s aunque hay otra unidad de uso muy
frecuente en los motores que es en revoluciones por minuto (rpm).
5. A continuación, con los parámetros que se disponen se calcula la velocidad angular
que proporcionarán los motores para mover al prototipo:
𝑇 = 𝑟 ∗ F (2-1)
𝑉𝑙 = 𝑤 ∗ 𝑟 (2-2)
En (2-1) se observa la relación entre el par motor y el diámetro de las ruedas, en donde T
representa el torque del motor en N.m, r representa el radio de la rueda en metros.
Cuanto mayor es el radio de las ruedas mayor será la velocidad lineal y menor la fuerza
ejercida por el motor. A partir de (2-2) se puede calcular la velocidad angular requerida
por los motores en rpm, en donde Vl es la velocidad lineal en m/s, w es la velocidad
angular en rad/s y r como anteriormente se menciono es el radio de la rueda [29]:
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
26 García Nickson
Molina Cristian
𝑤 =𝑉𝑙
𝑟
𝑤 =0.8
𝑚𝑠
0.0725 𝑚
𝑤 = 11𝑟𝑎𝑑
𝑠
Para realizar la selección del motor en el parámetro de velocidad angular en la tabla
(2-2) de comparaciones, se hizo una conversión de unidades (radianes por segundo
a RPM), por lo tanto:
𝑤 = 11𝑟𝑎𝑑
𝑠∗
60
2 ∗ 𝜋
𝑤 = 105 𝑅𝑃𝑀
6. A continuación, se relaciona la fuerza que deben ejercer los motores en función del
peso del robot y la velocidad máxima deseada. Para ello, se pasará a calcular el par
motor o torque necesario con (2-3) dónde:
𝐹 = (𝑀𝑡 ∗ 𝑔 ∗ 𝑠𝑒𝑛(𝛼) + 𝑀𝑡 ∗ 𝑎)
𝐹𝑆
( 2-3)
𝐹 =108 𝑁
0.7 = 154 𝑁
𝑇 = 0.0725 m ∗ 154 N
𝑇 = 11.18 𝑁.𝑚
Teniendo en cuenta topología Skid-Steering del robot, la cual cuenta con 6 ruedas
acopladas con un motor independiente para cada una, de forma que el torque que
deberá desarrollar el rover será dividido en el número de ruedas motrices del mismo:
𝑇 =7.569 𝑁.𝑚
6= 1.267 𝑁. 𝑚 ≂ 1.3 𝑁. 𝑚
En (2-3) F representa la fuerza del motor en Newton, g fuerza de atracción o
gravedad, 𝛼 ángulo de inclinación del terreno, 𝑎 es aceleración lineal del robot y FS
es el factor de seguridad que indica la capacidad en exceso que tiene el sistema por
sobre sus requerimientos.Teniendo en cuenta que robot cuenta con 6 ruedas
acopladas con un motor independiente para cada una, de forma que el torque que
deberá desarrollar el Rover será dividido en el número de ruedas motrices del mismo:
7. Finalmente, se calcula la potencia que deben desarrollar los motores (2-4), del torque del motor y la velocidad angular se halló la potencia mecánica del motor:
Capítulo 2 27
Proyecto de grado. Ingeniería Electrónica. 2019. 27
𝑃 =𝑇 ∗ 𝑤
ղ
(2-4)
𝑃 =1.8 ∗
6.8𝑟𝑎𝑑𝑠
0.8
𝑃 = 16,1 𝑊
El cálculo de los requisitos de potencia se utiliza a menudo como un paso preliminar
en la selección de motor. Si se conoce la potencia mecánica requerida para una
aplicación determinada, se pueden examinar las clasificaciones de potencia máxima
o continua de varios motores para determinar cuáles son posibles candidatos para su
uso en la aplicación. Para cumplir las especificaciones indicadas teniendo en cuenta
posibles inclinaciones de 30 grados serán necesarios motores con una potencia de
aproximadamente 16W. En las Tablas 2-3 y 2-4 se ilustran los parámetros para
selección de los motores.
Tabla 2-3. Comparación de características de diferentes motores DC. Fuente: Autores
M
od
elo
Fab
rican
te
T
ran
sm
isió
n
M
ax.
Eff
Velo
cid
ad
No
min
al
[rp
m]
To
rqu
e S
tall
N
-m
C
orr
ien
te
No
min
al [A
]
Masa [
g]
Vo
ltaje
N
om
inal
C
osto
US
D
[$]
37Dx73L
Pololu SI 80% 100 1.55 0.3 190 12
VDC 35
RE35 Maxon Motors
NO 89% 7160 0.85 4.45 385 24
VDC 330
37D52 Maxon Motors
NO 84% 7070 0.71 3.36 340 24
VDC 360
DCX22L
Maxon Motors
SI 82% 955 1.27 0.211 90 12
VDC 115
Tabla 2-4. Matriz de selección para motores del robot. Fuente: Autores
Modelo
Consumo energético
(20%)
Velocidad Angular (20%)
Torque (30%)
Masa (10%)
Costo (20%)
TOTAL
37Dx73L 4 4.2 4.5 4 5 4.4
RE35 4 2 2 3 2 2.6
37D52 4 2.5 3 3.5 2 3.2
DCX22L 3.8 3 3.5 4.5 3.8 3.72
Los motores seleccionados para el desarrollo del presente prototipo corresponden al
modelo 37Dx73L del fabricante Pololu, los cuales requieren de un voltaje de alimentación
de 12 V, cuentan con par nominal de 220 oz-in (1,55 N.m), velocidad angular 100 RPM y
potencia mecánica de 16.28 W. Asimismo, el factor de reducción del motor es de 100:1.
En la Figura 2-2 se muestra el motor de DC utilizado en el prototipo.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
28 García Nickson
Molina Cristian
Figura 2-2. Motor DC seleccionado para el robot. Fuente: www.pololu.com
• Selección de tarjeta de control principal: Esta etapa constituye el cerebro o
inteligencia del robot, puede elaborarse con la combinación de diferentes
microprocesadores y micro controladores. Actualmente se usan tecnologías
embebidas como los Arduino, Raspberry PI o FPGA’s, lo ideal aquí es utilizar una de
estas tarjetas, que cumpla con las características de capacidad (puertos, memoria),
velocidad de procesamiento, bajo consumo de energía y facilidad de implementación.
No obstante, adicional al sistema lógico es necesario emplear unidades de
acondicionamiento que en función de las señales de control enviadas desde la unidad
de control, genere una acción con la potencia necesaria para accionar los
actuadores. Los parámetros para su elección se tratarán en las Tablas 2-5 y 2-6.
Tabla 2-5. Matriz de selección de la tarjeta de control principal. Fuente: Autores
Dispositivos / %
Jetson TK1
BeagleBone Blue
Raspberry Pi 3 B
Alimentación (5%)
12 V
Nota
5 V
Nota
5 V
Nota
5.0 3.5 3.5
Numero Cores (10%)
4
5.0
4 5.0
4
5.0
RAM (10%)
2 GB
4.0
512 MB 2
1 GB
3.5
Memoria (15%)
16 GB
4.5
4GB 3.5
Micro SD
0.0
CPU (10%)
2.32 GHz
5.0
1 GHz 3.0
1.2 GHz
3.5
Dimensiones (5%)
12.7 x 12.7 x2.5 cm
2.0 9.5 x 5.3 x 1.5
cm 4.0 8.6 x 5.6 x 1.7 cm 4.5
GPIOS (15%)
8
4.0
8 4.0
17
5.0
Consumo (5%)
900 mA
5.0
1350 mA 3.5
1400 mA
1.0
Masa (5%)
499 gr 1.0 110 gr 4.0 45 gr 5.0
Costo USD (20%)
$ 199 3.5 $148 4.0 $35 5.0
TOTAL
4.0
3.5
3.6
Capítulo 2 29
Proyecto de grado. Ingeniería Electrónica. 2019. 29
En el mercado se puede encontrar una gran variedad de plataformas de alto rendimiento
y bajo consumo energético, estas han sido implementadas en distintas aplicaciones de
forma eficiente como la plataforma Jetson TK1 desarrollada por Nvidia, que integra un
procesador ARM Córtex de cuatro núcleos y una GPU (Unidad de Procesamiento
Gráfico) de alto rendimiento que destaca sobre otras plataformas basadas en
procesadores, debido a que representa un balance entre costo en el mercado,
rendimiento y consumo energético, la plataforma Jetson TK1 es mucho más viable que
otras basadas en FPGA de alta gama.
Esta plataforma constituye la alternativa más idónea para la implementación y ejecución
de la programación en paralelo utilizando la GPU frente a la programación convencional
con el procesador CPU. Así, durante el desarrollo de este trabajo, se han ejecutado
diversos algoritmos en la tarjeta, para evaluar las limitaciones y propiedades de la misma.
A continuación se muestra la matriz de selección para el dispositivo controlador de
potencia. Se hace un análisis de las características de los drivers de potencia más
utilizados en aplicaciones robóticas y se valoran sus características de desempeño, para
elegir el más adecuado.
Tabla 2-6. Matriz de selección de driver de potencia para motores. Fuente: Autores
Referencia / %
RoboClaw 2x15A Pololu Dual
VNH5019 RoboteQ MDC2460
Frecuencia de Operación
(5%) Hasta 50 kHz
Nota 20 kHz
Nota Hasta 50 kHz
Nota
5.0 2.5 5.0
Corriente Máxima (25%)
15 A 3.5 30 A 4 60 A 5.0
Protecciones (10%)
Térmica, por sobrevoltaje y
por sobre corriente
5.0 Por corriente 3.5
Térmica, por sobrevoltaje y por
sobre corriente
5.0
Tamaño (20%)
7 x 5 x1.7 cm 4.5 6.4 x 5.1 x 0.96 cm
5.0 14 x 14 x 25 cm 0.5
Encoders (5%)
Cuadratura
5.0
NO 0.0
Cuadratura
5.0
Comunicación (5%)
Análoga, RS232, PWM,
RC Pulse y USB
5.0 PWM 3.5 Análoga, RS232, PWM, RC Pulse y
USB 5.0
Peso (20%)
61 gr 4.0 18 gr 5.0 400 gr 0.5
Costo USD (10%)
$ 155 3.5 $45 5.0 $ 360 0.5
TOTAL
4.2
3
3.3
Como resultado de la matriz de selección presentada en la Tabla 2-6, se eligió la tarjeta
RoboClaw de IonMotion, para regular la potencia de salida hacia los motores, debido a
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
30 García Nickson
Molina Cristian
que cuenta con los niveles de corriente y voltaje requeridos y un tamaño y peso
reducidos.
• Selección de convertidores DC-DC: Los aspectos a considerar para la selección de
convertidores DC-DC son los siguientes, inicialmente se debe tomar en cuenta que
se utilizan dos fuentes de energía diferentes para dividir la alimentación del sistema
en Potencia y Lógico: La primera línea de alimentación corresponde a los niveles de
voltajes y corrientes sobre los motores de tracción y elementos de manipulación de
carga, esto se conoce como potencia; la parte lógica corresponde a la alimentación
de la tarjeta de control, sensores y demás periféricos. Con estas características, se
incluye el uso de conversores DC–DC regulables, debido a que todos los dispositivos
electrónicos no operan con los mismos niveles de corriente y voltaje. Esto hace
necesario incluir elementos de acondicionamiento que garanticen los niveles
correctos de energía según sea requerido.
Tabla 2-7. Matriz de selección de convertidores DC-DC. Fuente: Autores
Referencia
DROK 90483 DC OSKJ -UC3844
Voltaje de entrada / salida
(5%)
5 – 40 VDC 1.2 – 36 VDC
Nota 10 – 32 VDC 5 – 30 VDC
Nota
5.0 4.0
Corriente de salida (25%)
8 A / 12 A MAX 4.0 5A / 16 A MAX 4.5
Potencia (10%)
100W 200W con disipación
5.0 80W
120W con disipación
3.5
Eficiencia (20%)
95 %
5.0
90 % 4.0
Tamaño (5%)
6.0 x 4.3 x 2 cm
5.0
6.5 x 4.7 x 2.35 cm 3.5
Protección a cortocircuitos (5%)
SI
5.0
NO 0.0
Peso (20%)
51 gr 4.5 66 gr 3.5
Costo (10%)
$ 11.8 3.0 $10,85 4.5
TOTAL
4.56
3.4
A continuación, se describirán en detalle las características de alimentación para los diferentes elementos del robot móvil, se cuenta con 2 baterías de 11.1 Voltios (3S) a 6000mAh, una es la fuente de alimentación de la línea de potencia de los subsistemas de acción del robot, y la otra es la encargada de alimentar la línea lógica de los subsistemas de percepción y unidad de control. El regulador de tensión será el encargado de convertir el voltaje de la batería a 5 VDC, para poder alimentar algunos elementos como servomotores, su respectivo driver, y un módulo de relés.
Capítulo 2 31
Proyecto de grado. Ingeniería Electrónica. 2019. 31
Ofrece 6 Amperios de intensidad, lo cual se considera suficiente ya que los mayores consumos residen en el driver de servomotores (1250mA Max) y el módulo de relés (200mA Max).
Por otro lado, se utiliza un convertidor DC-DC de 6A en la línea lógica con las mismas características, no obstante este será el encargado de regular el voltaje a 12 VDC para la tarjeta Jetson TK1 (800mA), Hub USB 9 puertos con alimentación externa (2650 mA ). Como resultado de la matriz de selección presentada en la Tabla 2-7, se eligió convertidor DC-DC DROK 90483 Regulador de voltaje Buck.
• Selección de las baterías: Las baterías son la fuente de energía portátil que se ha
venido empleando para dispositivos que requieren movilidad, y en el caso de este
prototipo en particular no es la excepción. Para la elección de estas además de la
tensión de la batería, se tomaron en cuenta la corriente en amperes por hora que
podrían proporcionar. Se requiere de 12V y una corriente máxima 1.33 Amp para
cada motor en casos de máxima exigencia, así se optó por usar dos baterías
recargables de 12V y 6 Amp/hora disponibles comercialmente, ya que estas permiten
un manejo adecuado de la potencia requerida por los motores y una mayor
autonomía, con el único inconveniente del peso de cada una de ellas, pero como ya
había sido considerado este aspecto para la elección de motores, no representa
ningún problema. Aunque en el mercado existen muchos tipos de baterías
recargables, es necesario tener en cuenta la eficiencia de estas, la capacidad de
corriente (mAh) y el peso. Las más usadas son las baterías tipo LiPo (abreviatura de
Polímero de Litio), que tienen las siguientes características:
• Son ligeras y se pueden hacer de casi cualquier forma y tamaño.
• Tienen gran capacidad y densidad energética, lo que significa que tienen
mucha energía en un tamaño reducido.
• Tienen una tasa de descarga alta para alimentar los sistemas eléctricos más
exigentes.
A continuación, se determina el consumo de cada subsistema del Rover en
condiciones extremas:
o Corriente de convertidor DC – DC: 0.15 A, Voltaje de convertidor DC-DC: 5
VDC
𝑃𝑐 = 𝐼𝑐 ∗ 𝑉𝑐
𝑃𝑐 = 0.15𝐴 ∗ 5𝑉 = 0.75 𝑊
Donde Pc es la potencia o consumo energético del convertidor DC-DC, Ic
corriente del convertido y Vc es el voltaje ajustable del convertidor.
o Corriente de tarjeta control Jetson TK1: 0.8 A, Voltaje de tarjeta de control: 12
VDC
𝑃𝐽 = 𝐼𝐽 ∗ 𝑉𝐽
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
32 García Nickson
Molina Cristian
𝑃𝐽 = 0.8𝐴 ∗ 12𝑉 = 9.6 𝑊
Donde PJ es la potencia o consumo energético de la tarjeta de control, IJ
corriente de la tarjeta de control y VJ es el voltaje nominal de la tarjeta de
control.
o Corriente de HUB: 0.6 A, Voltaje de HUB: 12 VDC
𝑃𝐻 = 𝐼𝐻 ∗ 𝑉𝐻
𝑃𝐻 = 0.6𝐴 ∗ 12𝑉 = 7.2 𝑊
Dónde PH es la potencia o consumo energético del HUB, IH y VH son su
corriente y voltaje respectivamente.
Para realizar la selección de la batería es importante determinar la cantidad de
energía que puede almacenar, medida en Amperios-hora. Así se puede conocer el
tiempo que duración de una batería mientras está alimentando los elementos de
acción y percepción. Teniendo el consumo promedio de los elementos que
conforman el subsistema, se realizaron los cálculos para establecer la batería más
conveniente.
𝑃𝐵𝐴𝑇𝑇 =𝑃𝐶
ղ𝑑𝑐−𝑑𝑐 +𝑃𝐽 + 𝑃𝐻 = 17.58 𝑊
𝐼𝐵𝐴𝑇𝑇 =𝑃𝐵𝐴𝑇𝑇
12= 1.46 𝐴
𝐶𝐴ℎ =𝐼𝐵𝐴𝑇𝑇 ∗ 𝐴
𝐹𝑆 = 6.2 𝐴𝐻
Donde 𝑃𝐵𝐴𝑇𝑇 es la potencia suministrada por la batería, 𝐼𝐵𝐴𝑇𝑇 es la corriente de la
batería y 𝐶𝐴ℎ es la capacidad en Ah de la batería a seleccionar. Existen también
algunas dificultades de seguridad con esta tecnología, pero pueden superarse si se
manejan adecuadamente los ciclos de carga y descarga. Por su potencia, los motores
determinan la mayor parte del consumo de energía del robot, y con ello el tipo de
batería a emplear. En la Tabla 2-6, se muestra la matriz de selección, y se consideran
los parámetros de salida de la batería, también sus características de forma y
tecnología.
Existen también algunas dificultades con esta tecnología, pero pueden superarse si se
manejan adecuadamente los ciclos de carga y descarga. Por su potencia, los motores
determinan la mayor parte del consumo de energía del robot, y con ello el tipo de
batería a emplear. En la Tabla 2-8, se muestra la matriz de selección, y se consideran
los parámetros de salida de la batería, también sus características de forma y
tecnología.
Capítulo 2 33
Proyecto de grado. Ingeniería Electrónica. 2019. 33
Tabla 2-8. Matriz de selección de baterías. Fuente: Autores
Referencia
HRB 6000mah 3S
50~100C Lipo Pack
Turnigy nano-tech
3300mah 3S 65~130C Lipo Pack
Turnigy nano-tech 5000mah 3S
35~70C Lipo Pack
Corriente máxima, número de celdas y tasa de descarga
continua [30%]
6 AH, 3S y 50C
Nota 3.3 AH, 3S y 65C
Nota 5.0 AH, 3S y 35C
Nota
5.0 3.7 3.0
Tecnología [10%]
Li-Po
5.0 Li-Po
5.0
Li-Po
5.0
Peso [20%]
450 gr 4.0
500 gr
4.0 659 gr
3.0
Tamaño [30%]
15x4.5x4 cm 3.5
13.5x4.4x4 cm
4.0 15.4x4.9x4.1cm
3.5
Costo USD [10%]
$ 75 3.5 $ 56 4.0 $ 60 3.7
TOTAL 4.2 3.85 3.6
Como se puede observar en la matriz presentada anteriormente, la opción número uno
es la batería más favorable dados los criterios y restricciones de selección. Por tanto la
batería adquirida e implementada en el robot fue HBR – 6000 mAh - 50C ilustrada en la
Figura 2-3.
Figura 2-3. Batería LiPo HBR 6000 mAh - 50C. Fuente: www.rcextremo.co
• Selección de sensores: Los sensores son aquellos encargados de transmitir la
información captada del medio externo. En el área de robótica hay distintas
herramientas que pueden ser de ayuda para obtener y procesar los datos necesarios
con el objetivo de resolver los problemas de mapeo y localización. Según lo expuesto
se analizarán algunos sensores que se consideran útiles para este prototipo como
encoders, IMU, Kinect, Cámara web.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
34 García Nickson
Molina Cristian
En un robot móvil terrestre es importante tener la capacidad de explorar el entorno
obteniendo datos durante la navegación y transmitirlos al centro de control para
facilitar su maniobrabilidad a largas distancias. A continuación se describen los
sensores necesarios para el correcto desarrollo del proyecto.
a) Los encoders miden la cantidad de giro del eje de los motores; a partir de esta
información y del radio de las ruedas motorizadas puede calcularse la distancia
recorrida por la plataforma, siempre y cuando no haya deslizamientos y el giro de
las ruedas corresponda exactamente al avance lineal del robot. Los encoders más
comúnmente usados en las aplicaciones de robótica utilizan emisores infrarrojos y
discos ranurados que se ajustan al eje del motor [17].
Figura 2-4. Encoder de efecto Hall utilizado. Modificado de: www.pololu.com
También existen encoders de tipo magnético como el utilizado en el desarrollo de
este proyecto Figura 2-4, que usan la posición de los polos magnéticos para
establecer el estado actual del encoder con un sensor de efecto Hall Figura 2-5.
Generan dos señales de onda cuadrada con un desfasamiento de 90°, de ahí que
sean conocidos como encoders en cuadratura. El sensor es de tipo analógico y
produce un código único que puede ser traducido al ángulo del eje.
Figura 2-5. Principios de funcionamiento del encoder de efecto Hall. Fuente: Autores
En la Figura 2-6 se observan las señales generadas por las fases A y B del
encoder con tensión del motor de 12 V y encoder de 5 V, se observa que en este
caso la señal de color azul tiene un desfasamiento de 90° con respecto a la de
color amarillo. El microcontrolador que realiza el monitoreo de estas señales
determina el sentido de giro al conocer cuál de las señales adelanta a la otra. Por
Capítulo 2 35
Proyecto de grado. Ingeniería Electrónica. 2019. 35
ejemplo si la señal de color amarillo adelanta a la azul, el sentido es horario. Por el
contrario si la señal azul adelanta a la amarilla, el sentido es anti horario.
Figura 2-6. Señales generadas por el encoder. Fuente: www.pololu.com
b) La Unidad de Medición Inercial IMU son dispositivos que miden e informan acerca
de la velocidad, orientación y fuerzas gravitacionales existentes en determinados
aparatos, usando acelerómetros y giróscopos. En la actualidad, gracias a la
tecnología MEMS (Sistemas Micro Electro Mecánicos) se están combinando
dichas IMU’s con otros sensores como barómetros, termómetros o
magnetómetros consiguiendo de esta manera datos más fiables. La Xsens serie
MTI-10 utilizada en este prototipo, es una unidad de medición inercial de
tecnología MEMS que se compone 3 acelerómetros distribuidos ortogonalmente,
3 giróscopos distribuidos ortogonalmente y 3 magnetómetros distribuidos
ortogonalmente, y se orienta al control de un sistema móvil no tripulado; el
objetivo del mismo es conseguir un trazado de trayectoria ejecutada por el robot
móvil. La captura de datos se realiza conectando el sensor vía USB al sistema de
control de forma que permite obtener tanto la señal sin procesar (Raw data) como
los ángulos ya calculados. El costo de estos dispositivos es bastante alto debido a
que sus características los convierten en dispositivos ideales para mediciones en
ambientes reales por tiempos prolongados [15]. En la Figura 2-7 se ilustra la IMU
seleccionada así como sus características.
Figura 2-7. Especificaciones de la IMU seleccionada. Modificado de: [30]
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
36 García Nickson
Molina Cristian
c) El Kinect es un dispositivo que permite el reconocimiento de imágenes en tiempo
real. El sensor está compuesto por dos partes principales: un proyector y una
cámara de infrarrojos VGA. La profundidad de los objetos es captada por la
cámara gracias al rebote de los haces de luz por el objeto, creando así un “campo
de profundidad” que permite al sensor diferenciar entre los objetos estáticos de la
sala y el usuario que lo manipula. Este “campo de profundidad” consiste
básicamente, en que Kinect recibe estos haces infrarrojos que varían en mayor o
menor grado de color dependiendo de la distancia a la que se encuentran del
sistema [16]. El sensor Kinect dispone de cuatro partes fundamentales Figura 2-8.
Figura 2-8. Sensores del Kinect V1. Fuente: Autores
Los sensores de profundidad 3D hacen un seguimiento del cuerpo dentro del
área de visión. Se dispone de un proyector de profundidad (retícula izquierda) y
un sensor de profundidad (retícula derecha), que calculan la distancia en función
del tiempo que tarda en reflejar la luz, también incorpora una cámara RGB (Red,
Green, Blue) que ayuda identificar y captar imágenes y vídeos con una
resolución máxima de 640x480 a 30 fps. El sensor infrarrojo permite obtener una
imagen que representa la radiación térmica emitida por el objeto observado.
Entonces, las informaciones captadas representan un mapeo de las emisiones
térmicas, emitidas por el objeto radiado u observado. Una parte de estos rayos
va a ser reflejada por el conjunto de las superficies tocadas. Así, cuanto más
cercano esté un objeto, mayor será la cantidad de radiación reflejada. Por lo
tanto, la cámara infrarroja, gracias a estos datos de cantidad de radiación
recibida, puede medir la distancia entre la cámara y el objeto. La información de
las coordenadas más los datos de la cámara RGB forman las nubes de puntos.
d) En cuanto a la elección de la cámara para la navegación remota del robot móvil
terrestre, es necesario hacer una adaptación de una cámara web debido a que los
requerimientos que se necesitan para este elemento son simples, que sea de un
tamaño promedio para ubicarla sobre un aluminio perfilado en la parta superior
del robot, ampliando la visión del mismo, y que tenga una resolución media para
que el flujo de datos que se transmitan en tiempo real sea ligero. Partiendo de
estos requerimientos se escoge una cámara fabricada por la reconocida empresa
Capítulo 2 37
Proyecto de grado. Ingeniería Electrónica. 2019. 37
Logitech (Figura 2-9), la cual cuenta con las siguientes características principales:
funcionamiento 24 horas continúas, alimentación y transmisión de datos vía USB,
resolución de 720p. El modelo seleccionado tiene un costo aproximado de 200
USD y ofrece las funciones de reconocimiento facial y motor integrado para sus
movimientos de rotación PTZ (Pan, Tilt, Zoom).
Figura 2-9. Logitech QuickCam Orbit AF. Fuente: www.logitech.com
Con el objetivo de lograr los enlaces de comunicación entre los subsistemas de
percepción y manipulación, será necesario establecer un sistema de comunicación
bidireccional entre los dispositivos a bordo del robot y el equipo desde el cual este sea
comandado por el piloto. Para llevar a cabo este subsistema se debe desarrollar e
implementar un protocolo de comunicaciones eficiente, reduciendo en lo posible la
latencia. Dicho protocolo estará basado en configuraciones de red propios de ROS
basados en TCP/IP. La aplicación de este sistema es la adquisición de los comandos que
le dan movimiento al robot, bien sea en pista o en recolección, además proporciona
información de la velocidad de los motores, así como la información captada por los
demás elementos de percepción.
Para satisfacer las necesidades inalámbricas de casi cualquier situación que se pueda
encontrar, se cuenta con un modem portable TP-LINK TL-MR3020 interconectado como
se muestra en la Figura 2-10 con modos de funcionamiento de Router, Hotspot, Extensor
de Cobertura, Cliente y Punto de Acceso.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
38 García Nickson
Molina Cristian
Figura 2-10. Esquema del subsistema de comunicación. Fuente: Autores
El esquema utilizado para accesos remotos a largas distancias consiste primeramente en
la conexión de la unidad de control Jetson TK1 al módem TP-Link mediante un cable
LAN. Este módem se configura como repetidor de señal, de modo que se conecte
inalámbricamente a un router con acceso a internet y de esta forma el sistema es
enlazado a la red, teniendo como inconveniente la dependencia del alcance de la red
repetida por el módem. El equipo TP-Link a bordo ofrece la opción de conectar a él un
dispositivo de internet móvil USB, eliminando la necesidad de enlazarse a otro router y
con esta la dependencia de su alcance al conectar directamente el sistema a internet, no
obstante surgen dos inconvenientes con este método, los cuales son el costo de una
tarifa de internet móvil y la reducción de la velocidad de transmisión y recepción de datos.
También existe la posibilidad de adquirir el módulo WiFi disponible para la unidad de
control (Intel Wireless-AC 7260), permitiendo conectarla a una red sin necesidad del
módem portable a bordo. Esta última opción puede incrementar el costo ya que el
módulo requiere también de la adquisición de antenas compatibles para su óptimo
rendimiento.
2.1.2 Diseño Electrónico
Todos los elementos mencionados en la sección inmediatamente anterior deben
enlazarse mediante diferentes etapas. La capa electrónica del sistema consta de dos
etapas principales, alimentación o potencia y acondicionamiento. Esta sección del diseño
electrónico describe la parte principal de los circuitos electrónicos, utilizados para poner
en marcha los motores, drivers de potencia, reguladores de voltaje y sensores ya
especificados. El diagrama circuital del Alpha Rover se adjunta en la sección de anexos,
así como su respectiva tabla de etiquetas o nomenclatura de conexiones (Anexo A).
Circuitos de alimentación
Después de haber seleccionado correctamente la instrumentación que requiere el
prototipo, se diseñan los circuitos de potencia para cada uno de los elementos del
sistema. En la Figura 2-11 se muestra el diagrama eléctrico del circuito utilizado como
fuente para todos los demás componentes, se aprecia el uso de dos tensiones reguladas
Capítulo 2 39
Proyecto de grado. Ingeniería Electrónica. 2019. 39
diferentes: 5 V para la tarjeta de control de servos (Pololu Master Servo-Controller) y el
módulo de relés diseñado; y 12 V para la tarjeta principal (Jetson TK1), Kinect y Hub
USB, que se obtienen a partir de dos convertidores DC-DC buck-boost de 8 A nominales
descritos previamente, estos convertidores estabilizan las tensiones usadas y la
mantienen en un nivel constante, no obstante se adicionaron salidas de tensión que
provienen directamente de las baterías para la energización del driver de motores,
garantizando que estos siempre cuenten con la intensidad de corriente necesaria sin
limitación alguna. Cada salida de voltaje se acopla a un terminal en bloque con el objetivo
de facilitar su accesibilidad.
En el diseño de la PCB se instalaron dos interruptores para la división de las líneas de
lógica y potencia, también cabe resaltar que se adaptó un botón de emergencia en caso
de alguna anomalía en el funcionamiento del robot, este botón desactiva la línea de
potencia, teniendo como resultado que se detengan los motores pero la unidad central de
procesamiento seguirá activa para corrección de posibles errores de software.
Figura 2-11. PCB diseñada para la etapa de alimentación. Fuente: Autores
Circuitos de acondicionamiento
Para esta etapa se diseñó una PCB (Figura 2-12) encargada de acoplar la salida
destinada a la alimentación de los seis motores con su respectivo driver, no obstante solo
dos de estos cuentan con encoders, el circuito para la interconexión de sus salidas con
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
40 García Nickson
Molina Cristian
sus respectivos pines de lectura del Roboclaw también fue implementado en esta etapa.
Esta placa incorpora un módulo de relés como un dispositivo que opera mediante una
señal emitida por los pines GPIO de la unidad de control. La importancia de los relés
radica en la funcionalidad de las luces y laser de apoyo, también utilizadas como
indicadores de estado de la plataforma móvil mediante diferentes configuraciones de
parpadeo.
Figura 2-12. PCB diseñada para la etapa de acondicionamiento. Fuente: Autores
2.2 Capa Mecánica del Sistema
La capa mecánica del robot móvil consiste en la selección de materiales para realizar una
correcta construcción mecánica del robot, haciendo uso de herramientas de diseño para
lograr estructurar el prototipo de la manera más apropiada; tomando en cuenta los
requerimientos del vehículo en cada una de sus etapas, tanto para la construcción de la
plataforma móvil, como para la manufactura del brazo manipulador de carga. Una vez
comparadas y evaluadas las topologías, se estableció la configuración “Skid Steer” con
un sistema de suspensión rocker-bogie, por consiguiente el robot adopta una
configuración que implica la presencia de varios motores. Por otro lado el sistema de
suspensión elegido brinda al prototipo una alta estabilidad ya que absorbe de manera
eficiente todas las fuerzas externas ejercidas sobre el robot facilitando la navegación en
terrenos irregulares, además su estructura debe ser capaz de soportar peso extra,
debido a modificaciones que se realicen a futuro. Los principales requerimientos del
prototipo se detallan en la Tabla 2-1.
Capítulo 2 41
Proyecto de grado. Ingeniería Electrónica. 2019. 41
2.2.1 Selección de Materiales para la Capa Mecánica
Los materiales utilizados en la construcción del robot determinan en gran medida el
desempeño final del prototipo, presentando una gran influencia sobre el peso, la
resistencia a impactos, el proceso de construcción y el costo asociado. Como criterios de
selección del material a utilizar, se plantearon: resistencia (asociada a la tolerancia a
impactos o choques con los obstáculos), costo (valor del material y su respectiva
manipulación), asequibilidad (facilidad de adquirir el material), peso (teniendo en cuenta
que el robot debe ser lo más liviano posible), maleabilidad (facilidad de manipulación en
para proceso de construcción). La Tabla 2-10, presenta para cada uno de los criterios
mencionados anteriormente una calificación entre 1 y 5 (siendo 5 la calificación más alta)
que permite establecer el material más apropiado para la aplicación de robot móvil.
Tabla 2-9. Matriz de selección para materiales de estructura. Fuente: Autores
Materiales/ Característ
icas Resistencia Costo Asequibilidad Peso Maleabilidad TOTAL
Aluminio 5 3 5 4 4 21
Tungsteno 5 2 2 4 3 16
PVC expandido
2 4 4 5 4 19
Metacrilato 2 5 5 5 3 20
Hierro 5 3 4 1 4 17
Fibra de carbono
5 1 2 5 3 16
Plata 5 1 3 2 3 14
Cobre 3 3 5 4 3 18
Fibra de vidrio
3 4 4 4 5 20
Finalmente, luego del análisis de posibles materiales presentado en la matriz de
comparación, se seleccionó el aluminio como mejor opción para la construcción de la
estructura principal o chasis del robot móvil, sin embargo debido a que internamente se
necesita resguardar las placas electrónicas, sensores, baterías y diversos elementos que
constituyen la parte electrónica del móvil, se seleccionó un segundo material, el
metacrilato o acrílico, debido a que este material no conduce la corriente eléctrica y actúa
como aislante para los circuitos eléctricos del prototipo; por último para el armazón del
prototipo se seleccionó la fibra de vidrio gracias a sus propiedades de densidad,
resistencia, tolerancia, costo y facilidad de transformación en comparación con otros
materiales. En la figura 2-13 se puede observar la estructura principal del robot (b),
plataformas en acrílico donde se fijan los circuitos (a) y armazón del robot móvil(c).
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
42 García Nickson
Molina Cristian
a) b) c) Figura 2-13. Selección de materiales para la construcción. Fuente: Autores
2.2.2 Diseño Mecánico
El primer paso que se da en la construcción de los robots móviles es la elección de su
configuración cinemática, es decir, definir como estarán distribuidos los principales
elementos que lo componen como las ruedas o los motores. La precisión del robot,
dependerá en gran medida de su configuración cinemática o topología sabiendo que
tendrá la necesidad de desplazarse en un ambiente de trabajo y principalmente en
terrenos irregulares. A continuación se describirá el proceso de construcción del
prototipo, así como el diseño de cada una de las piezas del robot que se realizaron con
el software SolidWorks como se puede observar en la Figura 2-14,este software de
diseño mecánico permite simular piezas mecánicas así como su ensamble. La
manufactura de algunas de las piezas se realizó con la ayuda de un centro de
maquinado por control numérico (CNC), adicionalmente se hizo uso de herramientas
convencionales como el torno y la fresadora para construir los rines del prototipo.
La configuración skid-steer de seis ruedas seleccionada para el prototipo, los giros se
llevan a cabo de manera similar a como se hace en la configuración diferencial. Adicional
a esto se opta por implementar una suspensión tipo rocker-bogie utilizada en la mayoría
de robots exploradores operativos de las agencias espaciales, esta posee una parte fija
(rocker) la cual se encarga de la estabilidad y una parte móvil (bogie) que se encarga del
balanceo del robot al momento de cruzar obstáculos. Sin embargo se hizo una
modificación en la parte rocker adaptando un amortiguador de manera transversal a la
extremidad de esta sección, debido a que al ser fija el motor sufre un gran daño en su eje
cuando se desplaza por terrenos irregulares. A continuación se presenta el proceso de
diseño y fabricación de las principales piezas mecánicas requeridas para el ensamble del
rover.
Capítulo 2 43
Proyecto de grado. Ingeniería Electrónica. 2019. 43
Figura 2-14. Diseño de robot móvil (configuración skid-steer – suspensión rocker-bogie) en
SolidWorks. Fuente: Autores
A) La estructura principal o chasis del robot móvil de aluminio se puede observar en la
Figura 2-15, considerando que no es una figura uniforme finalmente se obtienen las
dimensiones de 50cm x 20cm y su masa es de 2.5 kg, esta pieza se puede considerar
como la principal del prototipo, ya que es la base sobre la cual se colocaran todas las
demás. Haciendo una proporción con respecto al largo del chasis se realiza una
perforación lateral para ensamblar la suspensión rocker-bogie.
Figura 2-15. Estructura principal o chasis del robot. Fuente: Autores
B) Las ruedas motrices se observan en la Figura 2-16, y permiten el desplazamiento en
el plano del robot móvil, satisfacen condiciones de exploración en terrenos desérticos o
áridos en donde la superficie del suelo puede ser rocoso, arenoso o arcilloso. Las
dimensiones de las ruedas son las siguientes: 14.65 cm de diámetro externo, 6.7 cm de
diámetro interno y 10.6 cm ancho. Aunque comercialmente existen diferentes modelos de
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
44 García Nickson
Molina Cristian
rines convencionales en aluminio, estos se maquinaron debido a que el buje de unión
entre la rueda y el motor es incompatible. Se hizo este mecanizado en aluminio Figura 2-
16 debido a la maleabilidad y resistencia del material y se usó un torno CNC para los
redondeos de la pieza, esto permitió que el tamaño de estas fuera el adecuado según el
diseño del robot, además permitió una mayor precisión y garantizó que las dimensiones
de cada una de las ruedas fueran iguales, así como sus masas (380gr c/u).
Figura 2-16. Construcción de rines en torno CNC. Fuente: Autores
Primero se realizó un prototipo en el software de diseño SolidWorks para modelar las
piezas en CAD 3D (diseño asistido por computadora) y observar su ensamblaje en 3D,
así como sus planos en 2D. Teniendo en cuenta las dimensiones iniciales mencionadas
anteriormente se adaptaron las medidas de la llanta al prototipo del rin, y además se
decidió dividir esta pieza en dos partes: cara superior Figura 2-17 (a-b) y cara inferior
Figura 2-17 (c-d), para obtener un ensamble modular. Estas dos cara se aseguran
mediante unos tornillos brístol, como en la Figura 2-17 (e), con cabeza UNF de 3/16 X ½;
la cara inferior cuenta con una adaptación para acoplar el eje del motor por medio del
buje de unión con tornillos brístol.
a) b)
Capítulo 2 45
Proyecto de grado. Ingeniería Electrónica. 2019. 45
c) d)
e)
Figura 2-17. Diseño de rines para ruedas motrices en SolidWorks. Fuente: Autores
C) Buje de unión, utilizado para conectar las ruedas del robot con el eje del motor. La
base de la pieza tiene 2.95 cm de diámetro externo x 0.8 cm de ancho y la punta del buje
tiene 1 cm de diámetro externo x 0.5 cm de ancho. Estos montajes de aluminio le
permiten montar mecanismos personalizados en ejes de motor de 5 mm de diámetro. El
buje tiene cuatro orificios de montaje roscados para asegurarse a los ejes del motor con
tornillos brístol sin cabeza milimétrico INOX y un brístol sin cabeza NPT usado como
tornillo de fijación al eje. La Figura 2-18 muestra un buje de unión con uno de los
motorreductores de Pololu, funcionan con cualquier motorreductor Pololu con eje de
salida en forma de D de 16 mm de largo y 6 mm de diámetro.
Figura 2-18. Diseño y construcción de bujes en SolidWorks. Fuente: Autores
D) El soporte para motorreductor de la Figura 2-19 de aluminio permite montar los
motores en el sistema rocker-bogie fabricado. Los soportes cuentan con catorce orificios
de montaje para tornillos de tamaño M3. Estos soportes ligeros están diseñados
específicamente para asegurar los motores y tener un soporte mecanizado más
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
46 García Nickson
Molina Cristian
resistente y modular para el ensamble del prototipo (este soporte está diseñado
específicamente para el diámetro del motorreductor seleccionado). En la Figura 2-20 se
observan de una manera más detallada las dimensiones del soporte para motores.
Figura 2-19. Diseño de soporte para motor con SolidWorks. Fuente: Autores
Figura 2-20. Especificaciones de diseño del soporte para motor con SolidWorks. Fuente: Autores
E) El sistema rocker-bogie se diseñó utilizando el método geométrico de triángulos
semejantes Figura 2-21 (b), ya que se debe garantizar la proporcionalidad tanto del
conjunto de las ruedas como del sistema de suspensión, antes de determinar los
segmentos del rocker-bogie se escogen algunos parámetros iniciales de diseño para
lograr los objetivos propuestos como superar obstáculos, subir escaleras, navegar sobre
cualquier superficie en un ángulo de 30˚ y mantener su estabilidad sobre terrenos
irregulares [14].
Capítulo 2 47
Proyecto de grado. Ingeniería Electrónica. 2019. 47
Se comienza por hallar el segmento de la base BD que determina los puntos geométricos
importantes para la estabilidad del robot como son las distancias entre los centros de las
ruedas (y, x) como se observa en la Figura 2-21 (a), para lograr lo anterior se caracteriza
los obstáculos que el robot podrá sobrepasar o evadir, primero se definen los límites
estructurales de la escalera, que tendrá escalones de 15 cm de alto y 70 cm de largo. El
resultado del desarrollo matemático de los determinantes entre segmentos de la base de
los triángulos semejantes de observa a continuación:
ɵ = 𝑡𝑎𝑛−1 (𝑦
𝑥)
ɵ = 𝑡𝑎𝑛−1 (15
70)
ɵ = 12.09𝑜
Así que la longitud máxima del robot móvil puede ser de 70 cm. Para hallar el segmento
de la base se dice que la longitud total de la escalera menos la suma de los radios de las
ruedas delantera y trasera será el segmento BD.
𝐵𝐷 = 70 cm − (7.5cm + 7.5cm)
𝐵𝐷 = 55 𝑐𝑚
Para hallar los segmentos del triángulo (AB, AD) se debe definir los ángulos θ y α, ambos
ángulos de enlaces son 90𝑜. En el triángulo ACB el ángulo es de 90𝑜, los ángulos de
BAC y ABC son de 45𝑜, también consideramos de CA e igual a CB.
θ = α = 90𝑜
𝐴𝐵𝐶 = 90𝑜
𝐴𝐵2 = 𝐶𝐴2 + 𝐶𝐵2
𝐴𝐵2 = 2 ∗ 𝐶𝐴2
𝐴𝐵 = (2 ∗ 282)1/2
𝐴𝐵 = 37.29 𝑐𝑚 ≂ 40 𝑐𝑚
402 = 2𝐶𝐴2
𝐶𝐴 = 𝐶𝐵 = 30 𝑐𝑚
Ahora, hay que obtener la distancia del siguiente segmento AD, se calculan los valores
de los segmentos del triángulo rectángulo ECD.
𝐸𝐶𝐷 = 90𝑜
𝐶𝐷2 = 𝐸𝐶2 + 𝐸𝐷2
𝐶𝐷2 = 2 ∗ 𝐸𝐶2
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
48 García Nickson
Molina Cristian
302 = 2 ∗ 𝐸𝐶2
𝐸𝐶 = 21 𝑐𝑚
𝐸𝐷 = 𝐸𝐶 = 21𝑐𝑚
𝐴𝐸 = 𝐴𝐷 − 𝐸𝐷 = 30 𝑐𝑚
𝐴𝐸 = 30 − 21 = 9𝑐𝑚
Para calcular la altura del sistema rocker-bogie se usa el teorema de Pitágoras y el
resultado que se obtenga se le suma al radio de la rueda para obtener la altura real:
ℎ2 = 𝐴𝐵2 − 𝐶𝐵2
ℎ = (402 − 302)1/2
ℎ = 26,451 + 𝑅
ℎ = 26,45 + 7 = 33,4 𝑐𝑚
Mediante el procedimiento descrito se obtienen las medidas necesarias para la
construcción del sistema rocker-bogie, visto en la Figura 2-21 (c).
a) b) c) Figura 2-21. Diseño del sistema de suspensión rocker-bogie. Fuente: [14] y Autores
El diseño del sistema de suspensión de bogies con seis ruedas tiene la ventaja de un
movimiento lineal que protege a todo el sistema de la rotación del pivote (punto E)
durante su operación, también cuenta con un amortiguador ubicado de manera
transversal al rocker para proteger los motores de la parte trasera del robot al reducir la
fuerza de los impactos en el momento de superar obstáculos. Esta mejora aumenta la
confiabilidad de la estructura en terreno accidentado o irregular al permitir que cada una
de las ruedas esté en todo momento en contacto con la superficie. A continuación se
presentan las piezas en SolidWorks para verificar el ensamble del sistema con cada una
de sus partes.
Capítulo 2 49
Proyecto de grado. Ingeniería Electrónica. 2019. 49
Figura 2-22. Diseño y ensamble de rocker-bogie en SolidWorks y el prototipo real. Fuente: Autores
F) Los acoples de aluminio en la Figura 2-23, son soportes para sostener el marco
perfilado de aluminio y a su vez sirven como separadores para las plataformas de acrílico
en donde están ubicadas las placas electrónicas y sistemas de percepción, esto permite
la unión del armazón y la estructura del robot, por medio de unos tornillos bristol. Los
acoples tienen forma cilíndrica de diámetro externo de 10mm e interno de 3mm y 50mm
de altura, en total son 8 piezas de aluminio.
Figura 2-23. Diseño de acoples de aluminio. Fuente: Autores
G) Armazón, se fabricó un armazón en fibra de vidrio para cubrir la parte electrónica del
robot debido a que estaba expuesta a la intemperie Figura 2-24, esta es la carrocería del
robot, se encarga de alojar todos los componentes y de darle forma y rigidez al vehículo.
Sin embargo, a la vez que robusto debe ser ligero para que los motores utilizados
soporten su peso sin sobre esforzarse.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
50 García Nickson
Molina Cristian
a) b)
c) d)
e) f)
Figura 2-24. Ensamble del armazón en la estructura principal del prototipo. Fuente: Autores
Como se puede apreciar en la Figura 2-24 (a), se trata de una estructura robusta con
forma rectangular irregular. Está fabricada en un 40% de poliéster ya que es un material
liviano y maleable, por otro lado el 60% es de fibra de vidrio para aumentar su rigidez y al
mismo tiempo lograr robustez. Una de las principales ventajas que ofrece es, sin duda, el
soporte modular de aluminio perfilado Figura 2-24 (b), lo cual puede permitir en cualquier
momento, acoplar sensores o dispositivos en diferentes ángulos para obtener un mayor
rango de percepción del medio, perforar nuevos orificios o modificar alguna parte
deseada. En su interior se aprecian dos capas de acrílico: la parte superior se
aprovechará para la colocación de las placas de control y circuitos electrónicos que
acoplan drivers de potencia, como se muestra en la Figura 2-24 (c-d); en la parte inferior
está ubicada la alimentación y los circuitos que acoplan los diferentes conversores para
dividir las líneas de alimentación del robot, y por último se detalla la parte trasera en
donde se encuentra un panel de control Figura 2-24 (e) para proporcionar una interfaz
física amigable con el usuario, este panel de control cuenta con una conectividad
externa: puertos USB y puertos de carga para baterías correspondientes a control y
potencia, también se instalaron 2 interruptores y un botón de emergencia que permiten
energizar independientemente los subsistemas de percepción y acción, también se
instaló una pantalla LCD de 3.5’’ para visualizar los procesos y el estado actual de la
tarjeta principal de forma gráfica. La tapa superior Figura 2-24 (f), nos permite acceder
Capítulo 2 51
Proyecto de grado. Ingeniería Electrónica. 2019. 51
fácilmente sin necesidad de desmontajes complejos, debido a que es de material acrílico
permitir acoplar sensores de forma sencilla.
H) Finalmente se realizó el diseño y selección de los componentes para la construcción
de un brazo robótico de cinco grados de libertad (DOF). Se parte estimando las masas
de la estructura, motores, cajas reductoras y electrónica asociada. Así con esta
información preliminar, conociendo los requerimientos de velocidad angular y torque y
respetando la lista de exigencias Tabla 2-11 se puede seleccionar los componentes
adecuados para este. Logrado esto se selecciona la transmisión adecuada para cada
articulación. Finalmente se comprueba el cumplimiento de las exigencias en las
posiciones más críticas del brazo robótico.
Tabla 2-10. Requerimientos para el brazo robótico. Fuente: Autores
Grados de libertad 6 DOF
Masa de la carga < a 1 kg
Material Aluminio rectangular
Alimentación 5 VDC
Motores Servomotores de stall-torque:8 Kg
piñonearía metálica
Piñonería Sí
Modular Sistema desmontable
Driver de control Pololu master controller servos
Inicialmente el brazo mecánico deberá tener la rigidez adecuada para manipular la carga
sin comprometer su característica de repetitividad. Por otro lado, su peso propio no
deberá de ser muy elevado pues esto restaría agilidad al robot. Teniendo en cuenta estos
2 detalles se deberá utilizar un material que posea características de alta resistencia y a
la vez baja densidad. El aluminio proporciona estas características idóneas de resistencia
y bajo peso, este material es excelente para mecanizado y presenta un muy buen
acabado superficial.
En el brazo robótico hay conjuntos motor-transmisión que se encargan de entregar el
torque necesario para lograr los movimientos de las articulaciones a las velocidades
requeridas. Dado que el brazo trabaja bajo una configuración mecánica distinta, se
explicara brevemente su funcionamiento Tabla 2-12: el brazo se estructuró en 6 partes
(servomotor base, eslabón 1, servomotor codo, eslabón 2, giro pinza, servomotor pinza)
inicialmente el brazo se encuentra en una posición home al momento de la manipulación,
el servomotor del eslabón 1 tiene acoplado un mecanismo de elongación con un tornillo
sinfín, este sistema destaca por su sencillo funcionamiento y ganancia en la longitud del
elemento manipulador de carga, en un extremo del sinfín se acopló una transmisión con
2 piñones, por lo tanto para la rotación completa del engranaje los servomotores están
modificados de forma que realicen un giro continuo, después se activa el codo que hará
un movimiento gradual de manera descendente, a continuación el eslabón 2, que
funciona del mismo modo que el eslabón 1, una vez llegue al suelo, se procede a
recoger el objeto gracias a la acción de la pinza y finalmente guardarlo por medio de una
rutina inversa a la anteriormente descrita.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
52 García Nickson
Molina Cristian
El brazo robótico se diseñó con un mecanismo alternativo, atendiendo a la facilidad de
manipulación de objetos específicamente para la plataforma construida, la longitud total
del brazo en estado recogido es de 20 cm de largo y 7 cm de ancho, mientras que en
estado elongado llega a 40 cm de largo y se mantiene en los mismos 7 cm de ancho. Sin
embargo se guarda un margen de seguridad del 15% (3 cm) en el momento de elongar el
brazo para menor torque y exigencia mecánica.
Tabla 2-11. Especificaciones de diseño del brazo robótico. Fuente: Autores
Can
al
Serv
om
oto
r
Imag
en
/
Tam
añ
o
Tra
nsm
isió
n
Acció
n
Descri
pció
n
0 Base
-
Giro
Giro de la base en un
rango de 0 a 180°
Forma: Cilíndrica
Diámetro: 9.5 cm
Altura: 8.2 cm
-
1 Eslabón 1
Elonga extremidad 1
Un sinfín acoplado en un extremo a
una transmisión
que se encarga de entregar el
torque necesario
para lograr los movimientos
de la articulación,
elonga 10 cm
Forma: Rectangular
Tamaño1:
10X5X2.5cm
Tamaño 2:
10X4.85 X2.35 cm
Conjunto de 2 piñones
Piñón1: 3 cm
Piñón2: 1.5cm
Capítulo 2 53
Proyecto de grado. Ingeniería Electrónica. 2019. 53
Can
al
Serv
om
oto
r
Imag
en
/
Tam
añ
o
Tra
nsm
isió
n
Acció
n
Descri
pció
n
2 Codo
-
Movimiento gradual de articulación
Desplazamiento
descendente o ascendente gradual en un rango de 0 a
180° Forma:
Cuadrado
Tamaño: 7X7X4cm
-
3 Eslabón 2
Elonga extremidad 2
Un sinfín acoplado en un extremo a
una transmisión
que se encargan de entregar el
torque necesario
para lograr los movimientos
de la articulación, elonga 6 cm
Forma: Rectangular
Tamaño1:
10X5X2.5 cm
Tamaño 2:
10X4.85X2.35 cm
Conjunto de 2 piñones
Piñon1: 3 cm
piñon2: 1.5 cm
4 Roll pinza
- - Giro gradual
pinza
Giro en un rango de 0 a
180° - -
5 Pinza
- Apertura o cierre de
pinza
Giro en un rango de 0 a
180°
Área de 12.7cm x 6cm
-
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
54 García Nickson
Molina Cristian
Con las piezas maquinadas descritas anteriormente, el paso siguiente es realizar su
ensamble para el montaje del robot. Para esto es importante seguir un orden
determinado que facilite el armado. Debido a que el diseño del prototipo es simétrico en
ambos lados, los ensambles serán idénticos, así solo se describirá el ensamble para un
lado entendiéndose que aplica para ambos. A continuación, se enumeran de manera
resumida los pasos para ensamblar totalmente al prototipo:
1. Asegurar el motor Pololu 37DX73L al soporte diseñado, después se coloca el buje de
unión al motor Pololu y se encaja en la parte interna de la rueda y se atornillan en los
orificios roscados de la parte frontal interna con un tornillo bristol con cabeza.
2. Se ensambla el rocker bogie a la estructura de aluminio acomodando las partes
diseñadas en los orificios laterales de la estructura, luego se ensambla el soporte de los
motores con el rocker-bogie y se fija con 3 tornillos brístol con cabeza.
3. Después de asegurar los componentes electrónicos a las plataformas de acrílico, se
procede a fijar de manera precisa la plataforma en la estructura principal o chasis.
4. Se ubican los primeros 4 separadores de aluminio en los agujeros que tienen la
plataforma y el chasis, se atraviesan internamente los separadores con los tornillos
brístol con cabeza para fijarlos con una tuerca de seguridad de 4 mm en un extremo.
5. Se coloca el armazón del robot, encajando con los huecos de los separadores
restantes y se procede a colocar el aluminio perfilado con las 4 perforaciones en los
separadores correspondientes para fijar esta pieza al chasis.
6. Finalmente se instala el brazo robótico modularmente sobre el aluminio perfilado con
uniones y accesorios como tornillos y tuercas propios de este perfilado.
En el Anexo B se adjunta la tabla de costos con relación a todos los materiales
necesarios para la construcción del prototipo.
2.3 Capa de Software del Sistema
2.3.1 Diseño del Sistema Central del Robot
En primer lugar, como ya se indicó anteriormente, para el desarrollo de la capa de
software del robot se utilizó ROS, ya que es un framework utilizado para desarrollar
aplicaciones robóticas. Entre sus principales características destacan que es de código
abierto, se encarga de realizar la abstracción del hardware y permite desarrollar una
computación distribuida. Además, proporciona librerías y herramientas para el desarrollo
de programas, con multitud de recursos disponibles en la red. Estas características
hacen de ROS el entorno ideal para el desarrollo de una plataforma robótica de este tipo.
Capítulo 2 55
Proyecto de grado. Ingeniería Electrónica. 2019. 55
Desde su lanzamiento inicial en 2007, en el que inicialmente recibió el nombre de
“switchyard” por el Laboratorio de Inteligencia Artificial de Stanford, ROS ha ido
evolucionando de una forma rápida y dinámica a través de sus diferentes distribuciones
más o menos estables con una media de un año por lanzamiento. Como dato curioso,
destaca que la primera letra del nombre que se va dando a las distribuciones de ROS
sigue un orden alfabético. Así, comenzaron con la excepción de “Ros 1.0” a la que
siguieron “Box Turtle”, “C Turtle”, “Diamondback”, etc. hasta llegar a las últimas versiones
“Kinetic”, “Lunar” y “Melodic” [22].
Actualmente, “Melodic Morenia” es la versión más reciente con las ventajas y
desventajas que eso supone al inicio. Para garantizar una mayor estabilidad y
compatibilidad a la hora de desarrollar este prototipo, se decide trabajar en el equipo de
control remoto con una versión más antigua como lo es “Kinetic Kame”, únicamente
compatible con Ubuntu 16.04, y en su modalidad “Desktop-Full Install”, que incluye
“ROS”, “rviz”, “rqt”, “2D/3D simulators”, “navigation”, etc. Puesto que la tarjeta principal a
bordo del robot, Nvidia Jetson TK1 es plenamente compatible solo con la versión 14.04
de Ubuntu, es necesario utilizar en esta la distribución de ROS “Indigo Igloo”, aún más
antigua pero igualmente robusta. Cabe resaltar que los enlaces de conexión entre el
equipo de control y la tarjeta del rover no se ven afectados en ningún momento pese a
contar con diferentes distribuciones de ROS.
Para establecer una conexión entre el sistema ROS esclavo y el máster a largas
distancias sin necesidad de encontrarse bajo la misma red local, se deben vincular
ambas partes a una Red Virtual Privada VPN. La forma de comunicación entre las partes
de la red privada a través de la red pública se hace estableciendo túneles virtuales entre
dos puntos para los cuales se negocian esquemas de encriptación y autenticación que
aseguran la confidencialidad e integridad de los datos transmitidos utilizando la red
pública (Figura 1-7) [31]. Actualmente existe un extenso mercado VPN, el cual está en
constante crecimiento aumentando la dificultad de encontrar un proveedor adecuado,
siendo los más conocidos CyberGhost y LogMeIn Hamachi. Pese a que la primera opción
presenta una conexión de mayor confiabilidad permitiendo vincular hasta seis
dispositivos a la red virtual, requiere de suscripción con una tarifa mensual, por el
contrario Hamachi ofrece una versión gratuita limitando la cantidad de dispositivos
conectados a cinco. Ya que el número de dispositivos en la red no es un factor de gran
importancia para este proyecto, se decide utilizar el aplicativo de Hamachi en su versión
para Linux. Otro factor determinante en el momento de esta elección es que a diferencia
de CyberGhost, Hamachi presenta una versión para dispositivos Linux con arquitectura
armhf.
Mapa de nodos y tópicos del sistema
ROS crea una red donde todos los procesos están conectados. Cualquier nodo en el
sistema puede acceder a esta, interactuar con otros nodos, ver la información que están
enviando y transmitir datos a la red. En la Figura 2-25 se puede ver un esquema del nivel
de computación gráfico con el cual interactúa el usuario.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
56 García Nickson
Molina Cristian
Figura 2-25. Esquema del nivel de computación de ROS. Fuente: Autores
Los principales conceptos de este nivel que se tratan en el presente proyecto son:
• Master: proporciona el registro de nombres y la búsqueda del resto de los nodos. Si
no se tiene ejecutado el master en el sistema será imposible la comunicación entre
nodos, servicios, mensajes, y demás. Aunque cabe la posibilidad de tenerlo en un
ordenador mientras los nodos se ejecutan en otro, como ya se explicará más
adelante. Cuando un nodo arranca, este comienza a buscar al ROS Master o roscore
y registra el nombre del nodo en él. De esta forma, el master tiene los detalles de
todos los nodos que están corriendo en el sistema actualmente (Figura 2-26).
Además, cuando algún detalle de los nodos cambia, se realiza una llamada a la
función “call-back” y se actualiza con la última información.
Figura 2-26. Diagrama de conexión entre el master y los nodos. Fuente: Autores
Una vez obtenidos los detalles de cada nodo, el master los interconecta mediante el
protocolo TCPROS que se basa en los sockets de la arquitectura TCP/IP. Luego de
conectarlos, el master no tiene ninguna función de control sobre ellos, será el usuario el
roscore
nodo 1
nodo 2
nodo 3
nodo 4
Capítulo 2 57
Proyecto de grado. Ingeniería Electrónica. 2019. 57
que tenga la posibilidad de detener cualquiera de ellos, ya sea el publicador o el
suscriptor.
Otra de las características que destacan, y que es de gran importancia en el desarrollo
de este proyecto, es el entorno del “ROS_MASTER_URI”. Esta variable contiene la IP y
el puerto del ROS Master, de modo que configurándola, los nodos de ROS pueden
localizar al máster independientemente de que se encuentre ejecutándose en otra
máquina. Si esta variable no está correctamente definida, la comunicación entre nodos
no tendrá lugar. Cuando se utiliza ROS solamente en una máquina se configura como IP
el “localhost” o bien el nombre de éste. Pero en una red distribuida, en la que se están
ejecutando varios nodos en diferentes máquinas, se debe definir correctamente la
variable “ROS_MASTER_URI”, ya que solo de esta manera, los nodos remotos serán
capaces de encontrar el máster y, así, poder comunicarse. En este caso se define como
máquina maestra el equipo de control remoto utilizado por el piloto.
• Nodos: son los ejecutables donde se realiza el proceso computacional o cálculos y
pueden ser clasificados en publicadores o suscriptores. Si se desea que un proceso
interactúe con otros, es necesario crear un nodo que contenga dicho proceso para
conectarlo a la red que crea ROS (ROS network). Por lo general un sistema cuenta
con varios nodos para controlar diferentes funciones. Es preferible tener un nodo para
cada funcionalidad, a tener un gran nodo que haga todo el trabajo del sistema ya que
esto proporciona una tolerancia a fallos, y al separar los códigos y sus
funcionalidades hace el sistema mucho más simple. Un nodo debe tener un nombre
único en el sistema. Este nombre se usa para permitir que un nodo se comunique con
otro nodo sin ambigüedades. Un nodo puede haber sido escrito en un lenguaje
diferente a otro y, sin embargo, gracias a los tópicos comunicarse sin ningún
problema. Se suelen usar dos librerías principales: “roscpp” para C++ y “rospy” para
“Python”.
• Tópicos: cada mensaje debe tener un nombre para ser enrutado a través de la ROS
network. Cuando un nodo está enviado datos, se dice que está publicando un
“tópico”. Los nodos también pueden recibir “tópicos” de otros simplemente
suscribiéndose a estos. Por tanto se pueden definir como los canales de
comunicación utilizados por los nodos para transmitir información entre ellos.
Los tópicos en ROS pueden ser transmitidos a través de TCP/IP y UDP. El primer
medio se conoce como TCPROS y usa la arquitectura TCP/IP persistente. Es el
transporte por defecto usado en ROS. El transporte basado en UDP es conocido
como UDPROS aunque es un transporte de baja latencia y pérdidas, por lo que es
más adecuado para tareas como la teleoperación.
• Bags: son ficheros con formato que permiten almacenar mensajes, tópicos y
servicios, entre otros. Los bags son un importante mecanismo para simular,
desarrollar y probar algoritmos sin necesidad de tener a disposición y en marcha el
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
58 García Nickson
Molina Cristian
sistema, ya que permite visualizar y reproducir a gusto del usuario esta información
previamente recolectada [32].
El software del robot está distribuido en una red de ROS constituida por ocho nodos, los
cuales en su mayoría se ejecutan en la tarjeta principal del rover (a excepción del
webcam_ capture), estos se comunican con el master y demás nodos ejecutados en el
equipo de control remoto mediante la correcta configuración de la variable
ROS_MASTER_URI anteriormente mencionada. Lo que da como resultado el diagrama
de nodos y sus respectivos tópicos ilustrado en la Figura 2-27.
Figura 2-27. Mapa de nodos y tópicos del sistema. Fuente: Autores
Roboclaw_node
Se trata del nodo principal, encargado del control del robot, no solo de su movimiento
sino también del manejo de su sistema de iluminación de apoyo para entornos oscuros, y
brinda las opciones al piloto de reinicio o apagado de la tarjeta principal desde el joystick
en caso de ser necesario, así como la alternativa de habilitar o deshabilitar el control de
velocidad automático del robot. Este nodo se suscribe al tópico /joy con el objetivo de
extraer la información sobre botones pulsados y velocidad deseada por el piloto.
Después de obtener estos datos, los procesa y según las combinaciones de botones
registradas hará las configuraciones de las opciones anteriormente mencionadas.
También es el encargado de tomar las lecturas de velocidad y distancia recorrida de los
encoders y publicarlas en un tópico llamado /encoders. Finalmente, y si la opción de
control de velocidad está activa, el nodo tomará el valor de velocidad medido por los
Capítulo 2 59
Proyecto de grado. Ingeniería Electrónica. 2019. 59
encoders y realizará el cálculo del controlador PID para establecerse en el valor de
referencia dado por el tópico /joy.
Joy_node
Este nodo se ejecuta en el equipo utilizado por el piloto para la navegación remota. Es el
encargado de extraer la información de botones digitales (buttons) y análogos (axes) del
joystick y publicarla en la red de ROS para el uso de los nodos que lo requieran bajo el
nombre de /joy. En caso de tratarse de una prueba de manipulación no remota, existe la
posibilidad de conectar la antena bluetooth del joystick a uno de los puertos USB del
rover y lanzar el joy_node de forma local en la tarjeta principal. Esto reducirá
notablemente la latencia del sistema, pero crea la necesidad de que el piloto se
encuentre ubicado a pocos metros de la plataforma robótica.
Usb_cam_node
Es un nodo inicializado directamente sobre la tarjeta a bordo del robot. Se configura de
forma que acceda a la webcam principal de navegación y publique su información en un
tópico denominado /usb_cam. Este tópico es accedido por un código en lenguaje python
denominado cam_bridge.py, el cual es ejecutado en el equipo de control del piloto, y se
encarga de crear un nodo suscriptor llamado webcam_capture y mostrar en pantalla la
información obtenida del tópico publicado por usb_cam_node.
Xsens_mti
El nodo xsens_mti es un driver ofrecido por el fabricante Xsens para la compatibilidad de
sus productos de la serie MTI con ROS. Este permite configurar principalmente el puerto
en el cual se encuentra conectada la IMU, su baudaje, el modelo del dispositivo, su
frecuencia de trabajo y los datos de salida que se desean. Para efectos de este proyecto
se configura de modo que publique un tópico /imu_data, el cual contiene la información
de su aceleración en X, Y y Z así como sus orientaciones pitch, roll y yaw.
Arm_node
Es el encargado del manejo del brazo robótico a bordo. De forma similar al
roboclaw_node, se suscribe a /joy con el objetivo de tomar la información del joystick y de
esta forma saber qué servomotores debe habilitar, en qué dirección y a qué velocidad.
Una vez manipulados los actuadores necesarios, permite deshabilitarlos para así reducir
el consumo energético del sistema. Este nodo también tiene la función de publicar un
tópico /arm_pose para permitir al piloto monitorear la posición de cada uno de los servos
del brazo robótico.
Kinect_bridge
Se trata de un nodo únicamente publicador ya que no requiere de suscripción a ningún
otro tópico. Por el contrario genera una gran cantidad de estos, los cuales contienen la
información recolectada por todos los sensores del Kinect como sus cámaras RGB e IR y
sus sensores de profundidad 3D. Estos pueden accederse de forma gráfica desde el
equipo del piloto mediante el visualizador Rviz, cuya interfaz permite seleccionar el tópico
deseado y sus respectivas opciones (color, B/N o variación de la perspectiva desde la
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
60 García Nickson
Molina Cristian
cual se desea visualizar la nube de puntos generada por los sensores de profundidad).
Puesto que este método puede llegar a consumir muchos recursos computacionales y
ocasionar problemas de fluidez al sistema, existe la posibilidad de guardar los datos de la
nube de puntos en un archivo bag para su posterior análisis y procesamiento.
Ekf_node
La función de este nodo consiste en generar la trayectoria recorrida estimada gracias a la
implementación de un Filtro Extendido de Kalman. Para el funcionamiento de este filtro
es necesario contar con la información de distancias recorridas y giros realizados, la cual
se puede obtener mediante la suscripción del nodo a los tópicos /imu_data y /encoders,
descritos previamente, y por último publica un tópico /odom con el resultado de la
estimación de posición.
2.3.2 Diseño del Control de Velocidad
El punto de partida para el diseño de un control de velocidad y posteriormente la
implementación del sistema de control, generalmente es un modelo matemático, en
el cual, las entradas y salidas del sistema se relacionan como un conjunto de
ecuaciones diferenciales. Se identificó el modelo matemático que permitió conocer la
respuesta ante diferentes entradas de excitación. Para ello fue necesario identificar y
controlar la lectura en paralelo de la salida y la entrada. La idea fue generar un nodo de
Identificación que guardara la información de los motores. Así con una señal de
identificación PRBS excitando al motor y mediante la lectura de un encoder se observa
su respuesta a esta señal. Después de hallada la función de transferencia, se analizó con
simulación y se realizaron los ajustes pertinentes para validar el modelo propuesto. La
función de transferencia que se obtuvo es representativa de un sistema de segundo
orden sobre amortiguado; lo siguiente es diseñar un controlador con la herramienta
gráfica de diseño de controladores FR Tool de Matlab, teniendo la posibilidad de definir
las restricciones de diseño, que guiarán el proceso de ajuste. Estas especificaciones de
diseño son parámetros del controlador que se ajustan gráficamente.
Modelamiento del sistema como caja gris
Los modelos de caja gris emplean el conocimiento disponible de la estructura interna del
sistema y las leyes que rigen su comportamiento a través de observaciones de entrada
– salida. Para determinar la información faltante se inició con la adquisición de datos de
ambos motores haciendo una lectura de los encoders. Se obtiene una lista de datos
descrita en la Tabla 2-13. Para realizar el ajuste de estos se realizó una tabla en donde,
se mide la velocidad de la rueda con un tacómetro (rpm) variando secuencialmente la
referencia o amplitud (U) proporcionales a la máxima de 12 VDC o 63 bits. El mismo
procedimiento se repite ingresando valores de referencia negativos.
Capítulo 2 61
Proyecto de grado. Ingeniería Electrónica. 2019. 61
Tabla 2-12. Datos de lectura de encoders y Tacómetro (rpm). Fuente: Autores
VALORES POSITIVOS
Voltaje Tacómetro (RPM) Valor encoder
U % L R L R
1.2V 11.54 10.32 691.5 675.5 6.3 10
2.4V 19.49 18.12 2118.5 1979 12.6 20
3.6V 30.33 28.70 3252 3115 18.9 30
4.8V 40.73 39.42 4425.5 4288.5 25.2 40
6.0V 51.55 50.14 5582 5428.5 31.5 50
7.2V 63.52 62.50 7019.5 6767.5 37.8 60
8.4V 74.14 73.15 8046.5 7958 44.1 70
9.6V 83.97 83.49 9162.5 9019.5 50.4 80
10.8V 97.05 96.70 10580 10478 56.7 90
12V 106.62 103.87 11685 11431,5 63 100
VALORES NEGATIVOS
Voltaje Tacómetro (RPM) Valor encoder
U % L R L R
-1.2V 10.73 9.85 600.8 725.5 -6.3 10
-2.4V 18.88 18.49 2170 2027,5 -12.6 20
-3.6V 29.66 28.76 3206 3163,5 -18.9 30
-4.8V 40.63 39.28 4406,5 4303 -25.2 40
-6.0V 51.31 49.98 5606 4941 -31.5 50
-7.2V 63.73 62.30 6986 6756,5 -37.8 60
-8.4V 74.30 72.51 8036 7897,5 -44.1 70
-9.6V 84.45 82.38 9185 8967.5 -50.4 80
-10.8V 96.89 94.10 10542,5 10193,5 -56.7 90
-12V 106.45 -104.44 11643.5 11368,5 -63 100
Con el objetivo de convertir los valores adimensionales entregados por los encoders y
mediante el método de mínimos cuadrados a partir de la tabulación realizada (Figura 2-
28), se llega a una ecuación característica que relaciona la velocidad angular en rpm y el
valor puro medido por los encoders, las cuales se muestran a continuación,
correspondientes al motor derecho e izquierdo relativamente:
𝑤𝑟 = 0.0092 ∗ (𝑉𝑎𝑙𝑜𝑟 𝑒𝑛𝑐𝑜𝑑𝑒𝑟) − 0.1514
𝑤𝑙 = 0.0092(𝑉𝑎𝑙𝑜𝑟 𝑒𝑛𝑐𝑜𝑑𝑒𝑟) + 0.0126.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
62 García Nickson
Molina Cristian
Figura 2-28. Relación de velocidad angular (rpm) y el valor medido por los encoders. Fuente:
Autores
Se obtuvo el modelo dinámico del sistema con la herramienta de Matlab System
Identification, antes de hacer uso de esta herramienta se necesitaron unas variables
como una señal de identificación que es representada como la entrada del sistema, la
salida del sistema y el tiempo de muestreo que en este caso es de 100 ms, en la primera
imagen Figura 2-29 (a) se observa una señal azul, esta es una PBRS (secuencia binaria
pseudo-aleatoria) con un patrón de referencia asignada entre 32 a 53 esto es aleatorio
dentro del período de repetición del patrón del generador, en la Figura 2-29 (b) se plotea
la relación salida- entrada en un mismo plano, debido a que los datos parten de un punto
de operación en este caso la entrada parte en 43 y la salida 7.7 a partir de ese punto de
operación se hacen los cambios sobre el sistema; el modelo observado es lineal, por
consiguiente va a capturar los cambios con respecto a un punto de operación y por lo
tanto se ajustan los datos de salida y entrada, la salida obedece a la respuesta del motor
en velocidad angular rad/s, la señal amarilla es el motor derecho y la señal roja es el
motor izquierdo.
Capítulo 2 63
Proyecto de grado. Ingeniería Electrónica. 2019. 63
a)
b)
Figura 2-29. a) Señal de identificación (PRBS). b) Salida-entrada ajustada del sistema. Fuente: Autores
Se procedió a usar System Identification Figura 2-30, esta herramienta está compuesta
por tres partes principales: importación de datos, operaciones y visualización de modelos.
Se seleccionó la opción de importar datos en el dominio del tiempo en donde se eligen
las variables de entrada, salida y tiempo de muestreo. Cuando se importan los datos se
genera un Working-Data que sirve para realizar las operaciones de procesamiento y de
estimación del modelo. En el momento de estimar la función de transferencia se
establecieron cuantos polos y ceros se requerían en el sistema, sabiendo que se tiene un
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
64 García Nickson
Molina Cristian
comportamiento dinámico de segundo orden determinado por la F.T general (2-5), se
definen 2 polos y 0 ceros en la identificación de la función de transferencia.
El proceso de identificación de los datos del motor derecho e izquierdo se muestran en la
Figura 2-31, donde la precisión de ambos modelos respectivamente alcanza el 89.55% y
89.47%, los resultados de la identificación fueron buenos, se observa una pequeña
variación de precisión entre los modelos lineales de los motores izquierdo y derecho.
También se observa la función de transferencia obtenida para cada motor.
Figura 2-30. MATLAB System Identification Toolbox GUI. Fuente: Autores
Figura 2-31. Identificación del modelo. Fuente: Autores
𝐺(𝑠) = 𝜔02
𝑠2 + 2𝜁𝜔0𝑠 + 𝜔02
(2-5)
Motor Derecho
Motor Izquierdo
Capítulo 2 65
Proyecto de grado. Ingeniería Electrónica. 2019. 65
Validación del modelo
La herramienta de System Identification permite visualizar la salida del modelo estimado,
pero no con los datos experimentales, sino con los datos de validación. Se puede
observar que la salida de ambos motores tiene correlación, debido a que la diferencia de
ajuste con la señal de identificación es de 0.08%.
Figura 2-32. Salida del modelo medida y simulada. Fuente: Autores
Para comprobar la dinámica del sistema se realizó en Simulink una simulación del
modelo, observando en la Figura 2-32 dos gráficas en donde se implementa la función de
transferencia de los modelos correspondientes al motor derecho e izquierdo del sistema.
Se aplica una excitación con una señal de referencia (PBRS) diferente a la señal de
identificación para visualizar como es la verdadera salida dependiendo de su entrada que
es el principio del concepto de función de transferencia y así se comprobó que la salida
del modelo se ajustó de manera precisa.
En la Figura 2-33 se aprecia un bloque como la señal de referencia o variable de entrada
al modelo identificado, dos bloques que contiene los datos experimentales del sistema,
dos MUX que conectan las salidas de los modelos con los datos experimentales de cada
motor y un scope para visualizar la señales en 3 gráficas independientes. Finalmente se
observa que el modelo tiene un ajuste ideal y se procede a diseñar el compensador.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
66 García Nickson
Molina Cristian
Figura 2-33. Validación del modelo. Fuente: Autores
Diseño de control con FR-Tool
A continuación, se habla del control aplicado al sistema que estabiliza la velocidad del
robot móvil en una referencia deseada. Esta sección también explica el diseño del
controlador utilizado en el sistema, así como la simulación del software en MATLAB
Simulink. Actualmente existen herramientas de diseño gráfico interactivo de
controladores. De este modo se presentará la caja de herramientas basado en respuesta
en frecuencia (FRtool) en Matlab [32].
Se implementó un controlador PID, explicado con mayor detalle en el capítulo 1, este
contiene un término proporcional, integral y derivativo. La ecuación de un controlador PID
en el dominio del tiempo se presenta en (2-6).
𝑃𝐼𝐷(𝑡) = 𝐾𝑝 ∗ 𝑒(𝑡) + 𝐾𝑝/𝑇𝑖 ∫(𝑒(𝑡)𝑑𝑡) + 𝐾𝑝 ∗ 𝑇𝑑 (𝑑𝑒(𝑡)/𝑑𝑡) (2-6)
Capítulo 2 67
Proyecto de grado. Ingeniería Electrónica. 2019. 67
𝐶(𝑠) = 𝐾𝑝 + 𝐾𝑝/𝑇𝑖 ∗ 𝑆 + 𝐾𝑝 ∗ 𝑇𝑑 ∗ 𝑆
(2-7)
El controlador puede representarse en el dominio de la frecuencia. Entonces, se obtiene
una función de transferencia usando transformada de Laplace (2-7). Se aplicó un mismo
tipo de controlador y un método de diseño el sistema derecho e izquierdo. De esta
manera, el diseño de los controladores PID se realiza con la herramienta basado en la
respuesta de frecuencia FRtool (Figura 2-34), es un diseño asistido por computadora
(CAD), que ayuda a encontrar la función de transferencia del controlador mediante la
colocación de polos, ceros y una ganancia en los diagramas de frecuencia (diagrama de
Nyquist), basado en los parámetros del diseño como: robustez, tiempo de
establecimiento, overshoot y margen de ganancia.
Figura 2-34. Interfaz gráfica de Frtool con curva en el gráfico de Nichols correspondiente a la
respuesta de frecuencia del bucle. Fuente: [33]
También tiene la posibilidad de mostrar especificaciones de diseño como actualización
en tiempo real mientras se ajustan los polos y ceros del controlador, se puede importar o
exportar el controlador diseñado y tiene opciones para visualizar el Bode.
Una característica importante de una herramienta de diseño de controlador es la
posibilidad de definir especificaciones de diseño prácticamente significativas, que guían
en el proceso de ajuste. Estas especificaciones deben convertirse en restricciones
gráficas o parámetros para que el diseñador pueda trabajar más fácilmente. Por lo tanto,
especificaciones más prácticas que pueden ser interpretadas de forma más sencilla por
cualquier usuario son las mencionadas anteriormente (tiempo de establecimiento,
máximo overshoot y la robustez del diseño). Dado que la idea básica es diseñar un
controlador de PID, se define el número de polos y ceros. Por lo tanto, las condiciones de
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
68 García Nickson
Molina Cristian
diseño de parámetros deben satisfacerse con dos ceros, un polo y la ganancia, como lo
sugiere la ecuación (2-8).
𝑃𝐼𝐷(𝑡) = 𝐾𝑝(1 +1
𝑠 ∗ 𝑇𝑖+ 𝑠 ∗ 𝑇𝑑) = 𝐾𝑝
(𝑠 − 𝑧1)(𝑠 − 𝑧2)
𝑠
(2-8)
La robustez se describe como la insensibilidad de un circuito cerrado a los cambios en el
proceso. En FRtool, robustez (Ro) es un parámetro de diseño especificado por el usuario,
con valor 0 <Ro <1. Para cumplir con el Especificación de robustez, la curva de Nichols
tiene que permanecer fuera de la elipse curva azul con radio Ro figura 2-36, los otros dos
parámetros overshoot o sobreimpulso (% OS) y tiempo de establecimiento (Ts), se
derivan de la Función de transferencia de bucle cerrado de segundo orden dominante.
Más adelante, dadas las especificaciones definidas para % OS y Ts (Figura 2-35), es
sencillo de obtener la función de transferencia del controlador diseñado. Se observa en la
Figura 2-34 la representación de %OS por la curva roja, la curva de Nichols debe
permanecer por debajo de esta curva roja %OS. Finalmente el tiempo de establecimiento
es denotado por un pequeño círculo rojo, la curva de Nichols debe estar por encima de la
línea verde 3dB.
Figura 2-35. Diseño de control con FRtool (parámetros Ro, Ts, %OS). Fuente: Autores
Las especificaciones para el diseño del controlador PID para el motor izquierdo son: una
robustez Ro > 0.8, debido a que las variaciones u obstáculos del terreno pueden producir
un efecto negativo en el sistema, un pequeño sobre impulso %OS <5% y una alta
robustez son valores razonables; se escogió un ajuste de tiempo de establecimiento Ts ≤
2s. Después de ajustar los ceros, polos y la ganancia usando FRtool, la función de
transferencia del controlador en tiempo continuo del motor derecho (2-9) y motor
izquierdo (2-10) queda de la siguiente manera:
Capítulo 2 69
Proyecto de grado. Ingeniería Electrónica. 2019. 69
𝐶𝑅𝑧(𝑠) =(0.05327 𝑠2 + 2.305 𝑠 + 13.06)
𝑠
(2-9)
𝐶𝐿𝑧(𝑠) =(0.3163 𝑠2 + 6.677 𝑠 + 28.65)
𝑠
(2-10)
El diseño óptimo del controlador PID y su correspondiente respuesta en frecuencia se
dan en la Figura 2-36. La línea azul continua representa como se establece el controlador
en un tiempo de 2 segundos ante un step, teniendo un comportamiento razonablemente
bueno, esto se debe al hecho de que se solicitó una alta robustez en las
especificaciones.
Figura 2-36. Diseño óptimo del controlador PID y la respuesta paso de motor derecho (superior) e
izquierdo (inferior). Fuente: Autores
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
70 García Nickson
Molina Cristian
Este diseño obedece a la forma del PID continuo, cuya implementación digital en paralelo
puede obtenerse tras discretizar cada componente del controlador PID. Después de la
evaluación experimental de diferentes implementaciones, se seleccionó el método de
discretización FOH como se presenta a continuación:
𝑘𝑝 =𝑈𝑝(𝑠)
𝑒(𝑠) 𝑈𝑝(𝑘) = 𝐾𝑝 ∗ 𝑒(𝑘)
(2-11)
𝐾𝑖
𝑠=
𝑈𝑖(𝑠)
𝑒(𝑠)
𝑈𝑖(𝑠)
𝑒(𝑧)=
𝑇𝑠
(𝑧 − 1)∗ 𝑘𝑖
𝐾𝑑 ∗ 𝑠 𝐾𝑑(𝑠)
𝑇𝑠( 𝑧 − 1)
𝑈𝑖(𝑧)
𝑒(𝑧)=
𝐾𝑖 ∗ 𝑇𝑠
(𝑧 − 1 )𝑧−1∗ 𝑧−1
𝑈𝑖(𝑧)
𝑒(𝑧)=
𝐾𝑖 ∗ 𝑇𝑠
(1 − 𝑧−1)∗ 𝑧−1
𝑈𝑖(𝑘) = 𝐾𝑖 ∗ 𝑇𝑠 ∗ 𝑒(𝑘 − 1) − 𝑈𝑖(𝑘 − 1)
(2-12)
𝑈𝑑(𝑠)
𝑒(𝑧)=
𝐾𝑑
𝑇𝑠(𝑧 − 1)
𝑧−1
𝑧−1 =
𝐾𝑑
𝑇𝑠(1 − 𝑧−1)
𝑈𝑑(𝑘) ∗ 𝑇𝑠 = 𝐾𝑑(𝑒(𝑘) − 𝑒(𝑘 − 1))
𝑈𝑑(𝑘) = 𝐾𝑑
𝑇𝑠(𝑒(𝑘) − 𝑒(𝑘 − 1))
(2-13)
Finalmente, se transformaron las funciones de transferencia discretas presentadas en las
ecuaciones (2-11), (2-12) y (2-13) en un conjunto digital de ecuaciones, las leyes de
control se describen en el siguiente fragmento de pseudocódigo para cada motor Figura
2-37.
function y=fcn(u) coder.extrinsic('tic') coder.extrinsic('toc') %Inicializar variable Kp=13.3;Kd=12.11;Ki=2.313; persistent pre_err integral if isempty(pre_err); pre_err=0.0;end; if isempty (integral); pre_err=0.0;end;
err=u; Up=Kp*err; derivative=(err-pre_err);
Capítulo 2 71
Proyecto de grado. Ingeniería Electrónica. 2019. 71
Ud=kd*derivative; Ui=integral + pre_err*ki; UR=Up + Ui + Ud; if (UR>63.0) UR=63.0; end if (UR<-63.0) UR=-63.0; end Ui= UR -Up-Ud y=UR; integral=Ui; pre_err=err;
Figura 2-37. Pseudocódigo del control de velocidad de motores. Fuente: Autores
Resultados de Simulación
Se realizó una simulación en donde se observan dos bloques correspondientes a los
sistemas de motor izquierdo y derecho, internamente estos bloques contienen la
implementación del controlador PID para comparar la respuesta de salida del sistema de
control en lazo cerrado y la referencia de velocidad. En la Figura 2-38 puede apreciarse
en la parte superior el diagrama en bloques del sistema, el cual cuenta con un generador
de señal como referencia a la entrada, en el sistema real esta señal de referencia se
introduce a través del gamepad. Dentro de los bloques de motor derecho e izquierdo se
encuentra la implementación de los dos controles PID y el modelo de referencia, y
finalmente, en la parte inferior se observa la salida del controlador en lazo cerrado en
comparación con la referencia.
a)
b) c)
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
72 García Nickson
Molina Cristian
d)
Figura 2-38. Implementación de control de velocidad (a), diagrama de bloques del controlador PID de cada motor (b y c) y señal de salida (d). Fuente: Autores
2.3.3 Diseño de la Estimación de Trayectoria
Modelo del sistema
Para efectos de simplicidad a la hora de desarrollar el modelo cinemático del sistema se
asume que se trata de una topología skid-steer de cuatro ruedas, ya que en los
resultados no se ve afectada la precisión de la estimación de posición.
El modelo cinemático de este tipo de vehículos con respecto a su propio marco de
referencia puede describirse como en la ecuación (2-14) [26], [34].
[𝑣𝑥
𝜔] = 0.5 [
𝑟 𝑟
−𝑟
𝑌
𝑟
𝑌] [
𝜔𝐿
𝜔𝑅]
(2-14)
Nótese que 𝑣 = 𝜔𝑟 y por tanto se obtiene:
{𝑣𝑥 =
𝜔𝐿𝑟 + 𝜔𝑅𝑟
2=
𝑣𝐿 + 𝑣𝑅
2
𝜔 =−𝜔𝐿𝑟 + 𝜔𝑅𝑟
2𝑌=
−𝑣𝐿 + 𝑣𝑅
2𝑌
(2-15)
dónde VX es la velocidad de avance y ω la velocidad angular del robot, ωL y ωR las
velocidades angulares de las ruedas de la izquierda y derecha respectivamente, r el radio
de las ruedas y Y la coordenada y del Centro Instantáneo de Rotación ICR (Figura 1-3)
hallada de forma práctica mediante un experimento consistente en proporcionar la
velocidad máxima a las ruedas de un costado mientras las demás se encuentran
detenidas de forma que el vehículo trazará una trayectoria circular cuyo radio es el valor
de la coordenada Y, en este caso 0.6m. Una vez encontrado el valor de esta constante
Capítulo 2 73
Proyecto de grado. Ingeniería Electrónica. 2019. 73
se puede calcular el ICR instantáneo a partir de (2-15), y como 𝑣𝑦 = 0 entonces 𝑣 = 𝑣𝑥
[25].
𝑅 =𝑣
𝜔=
𝑣𝑥
𝜔=
𝑣𝐿 + 𝑣𝑅
−𝑣𝐿 + 𝑣𝑅𝑌
(2-16)
Posteriormente se discretiza (2-14) y se obtienen (2-17) y (2-18),
∆𝑠𝑘 = 𝑇𝑠
𝑟
2(𝜔𝑅𝑘
+ 𝜔𝐿𝑘) (2-17)
∆𝜃𝑘 = 𝑇𝑠
𝑟
2𝑌(𝜔𝑅𝑘
− 𝜔𝐿𝑘) (2-18)
con ∆𝑠𝑘= 𝑥𝑘 − 𝑥𝑘1
el desplazamiento de avance del vehículo y ∆𝜃𝑘= 𝜃𝑘 − 𝜃𝑘1
el
desplazamiento angular en una muestra Ts. Después de esto, se puede estimar la
posición actual a partir de una posición inicial conocida al integrar el movimiento y
posteriormente transformarlo al marco inercial.
[
𝑥𝑘
𝑦𝑘
𝜃𝑘
] = [
𝑥𝑘−1
𝑦𝑘−1
𝜃𝑘−1
] +
[ ∆𝑠𝑘−1
𝑐𝑜𝑠 (𝜃𝑘−1 +∆𝜃𝑘
2⁄ )
∆𝑠𝑘−1𝑠𝑒𝑛 (𝜃𝑘−1 +
∆𝜃𝑘
2⁄ )
∆𝜃𝑘 ]
(2-19)
Dónde xk es la posición en el eje x, yk en el eje y, y θk el ángulo de dirección del marco
inercial [26].
Implementación del Filtro de Kalman
El algoritmo de fusión de sensores basado en el EKF se desarrolla en esta sección,
donde ωL y ωR son las entradas al modelo, y xk, yk, y θk las salidas. Las salidas del
modelo de estimación se corrigen con la información proporcionada por la IMU utilizando
el EKF. Dado que el tiempo de muestreo TS se eligió de 100ms, el algoritmo de fusión se
diseñó en dos etapas debido a que la IMU puede entregar mediciones a una frecuencia
de 100Hz, mientras que los codificadores entregan mediciones a una tasa de 10Hz. Por
lo tanto, en la primera etapa el algoritmo simplemente fusiona la dirección angular θk,
luego, en la segunda etapa fusiona xk, yk, y θk. Ahora, según el EKF y la ecuación del
modelo cinemático de espacio de estados, el algoritmo es el siguiente (Tabla 1-1) [26]:
1. Se inicializa la matriz de covarianza del error P1k, el ruido del proceso Q1 y el ruido de
medición R1.
𝑃1𝑘= [
100 0 00 100 00 0 100
]
𝑄1 = [1 0 00 1 00 0 0.5
]
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
74 García Nickson
Molina Cristian
𝑅1 = 0.01
2. Actualización del modelo, ver (2-19).
𝑥𝑘 = 𝑥𝑘−1 + ∆𝑥𝑘
𝑦𝑘 = 𝜃𝑘
3. Cálculo Jacobiano para (2-10) en función de xk, yk y θk.
𝐴𝐷𝑘=
[ 1 0 −∆𝑠𝑘−1
𝑠𝑒𝑛 (𝜃𝑘−1 +∆𝜃𝑘
2⁄ )
0 1 ∆𝑠𝑘−1𝑐𝑜𝑠 (𝜃𝑘−1 +
∆𝜃𝑘
2⁄ )
0 0 1 ]
𝐶𝐷𝑘= [0 0 1]
4. Actualización de la matriz de covarianza del error.
𝑃1𝑘= 𝐴𝐷𝑘
𝑃1𝑘𝐴𝐷𝑘
𝑇 + 𝑄1
5. Cómputo de la ganancia de Kalman.
�̂�1𝑘= (𝑅1 + 𝐶𝐷𝑘
𝑃1𝑘𝐶𝐷𝑘
𝑇 )−1
𝐾𝑘 = 𝑃1𝑘𝐶𝐷𝑘
𝑇 �̂�1𝑘
6. Finalmente se actualizan las mediciones, donde zk es la medición de la IMU y yk la
salida del modelo. Retorna xk y P1k.
𝑦𝑘 = 𝐶𝐷𝑘𝑥𝑘
𝑥𝑘 = 𝑥𝑘 + 𝐾𝑘(𝑧𝑘 − 𝑦𝑘)
𝑃1𝑘= (𝐼 − 𝐾𝑘𝐶𝐷𝑘
)𝑃1𝑘
Proyecto de grado. Ingeniería Electrónica. 2019. 75
Capítulo 3. Resultados Experimentales
En este capítulo se presentan los resultados obtenidos en las diferentes etapas del
desarrollo del prototipo. Es un capítulo muy importante, ya que deja constancia de que se
han alcanzado los objetivos planteados.
3.1 Implementación Electrónica del Sistema
La implementación electrónica de los elementos del robot constituye los circuitos
electrónicos usados para poner en funcionamiento los motores y sensores especificados
en el capítulo 2. Estos se han dividido en tres categorías: los circuitos de alimentación
encargados de proporcionar, a partir de las 2 baterías de 12V, los voltajes necesarios
que maneja cada componente, los circuitos de adquisición de datos y control, y por último
los circuitos acopladores entre la tarjeta principal y los diversos sensores. Para la
implementación electrónica del sistema se utiliza el esquema de la Figura 3-1, el cual
muestra en forma de diagrama de bloques las conexiones pertinentes para la
comunicación e interacción desde el piloto hasta los diferentes subsistemas de
percepción y acción a bordo del UGV.
Figura 3-1. Diagrama de bloques del sistema. Fuente: Autores
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
76 García Nickson
Molina Cristian
Figura 3-2. PCB de acondicionamiento electrónico del sistema. Fuente: Autores
3.2 Fabricación del Robot
Inicialmente se consideraron unos parámetros y especificaciones de la plataforma móvil
en su estructura mecánica, algunas de ellas eran su modularidad, arquitectura robusta,
suspensión rocker-bogie con adaptación de amortiguación trasera, objeto manipulador de
carga, panel de control con interfaz amigable y conectividad asequible y una
configuración skid steer de 6 ruedas. Teniendo en cuenta estas especificaciones se hizo
la elección de los diferentes materiales para la manufacturación logrando un equivalente
entre un sistema robusto y liviano para una mejor movilidad sobre terrenos irregulares, a
continuación se presentan los resultados finales en cada una de las etapas específicas
para llegar a un ensamble de prototipo final, Tabla 3-1 y Figura 3-3.
Tabla 3-1. Partes del prototipo final. Fuente: Autores
Partes Mecánicas (n°) Funcionalidad
1 Suspensión Rocker Bogie con amortiguación trasera
2 Topologia Skid-steer de 6 ruedas
3 Modularidad de aluminio perfilado
Capítulo 3 77
Proyecto de grado. Ingeniería Electrónica. 2019. 77
Partes Mecánicas (n°) Funcionalidad
4 Arquitectura robusta
5 6
Panel de control con puertos para conectividad externa Objeto manipulador de carga: brazo robótico
Figura 3-3. Partes del prototipo final. Fuente: Autores
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
78 García Nickson
Molina Cristian
3.3 Resultados de Manipulación Remota
Puesto que se trata de un vehículo terrestre no tripulado de navegación remota, fue
necesario realizar diversas pruebas de acceso en diferentes condiciones de terreno,
conectividad y distancia. El objetivo principal de estos test consiste en poner a prueba el
protocolo de comunicación en ambientes de conectividad reducida. Estas pruebas de
navegación remota se describen a continuación.
3.3.1 Test 1 de navegación (Desierto de la Tatacoa)
El test 1 de navegación se llevó a cabo ubicando el prototipo en el Desierto de la
Tatacoa, siendo el sistema accedido por el piloto ubicado en la ciudad de Ibagué. Pese a
lograrse el enlace robot-piloto de forma exitosa, al tratarse de un ambiente tan hostil se
obtuvieron los mayores tiempos de latencia a la hora de transmitir la información del
subsistema de percepción, principalmente la imagen de la vídeo cámara de navegación,
dificultando pero no imposibilitando el manejo del vehículo. En la Figura 3-4 (a) se
observa la imagen captada por la cámara principal y transmitida hasta el equipo utilizado
por el piloto, presentando una latencia promediada en 1300 ms. A su vez en 3-4 (b) se
evidencia el entorno en el cual se movilizaba el rover durante la toma (a).
a) b)
Figura 3-4. Imagen captada por la cámara de navegación en el test 1. Fuente: Autores
También se accedió al sensor 3D del dispositivo Kinect para lograr una reconstrucción de
la nube de puntos captada por este. En la Figura 3-5 se ilustra una comparativa de la
misma toma captada por los diferentes sensores.
Capítulo 3 79
Proyecto de grado. Ingeniería Electrónica. 2019. 79
Figura 3-5. Comparativa entre la reconstrucción 3D y la imagen de navegación. Fuente: Autores
Esta prueba se realizó alcanzando una distancia mayor a 130 km entre la plataforma
móvil y la unidad de control del piloto (Figura 3-6).
Figura 3-6. Distancia en línea recta entre el UGV y el piloto en el test 1. Fuente: Autores
3.3.2 Test 2 de navegación (Zona rural Ibagué)
El test de navegación número 2 se realizó ubicando la plataforma robótica en una zona
rural de la ciudad de Ibagué (Juntas), accedido por el piloto localizado en esta ciudad. El
acceso remoto al sistema se logra más fácilmente que en el test 1 ya que este entorno
cuenta con mejor conectividad a la red. Esto se evidencia mediante una prueba de
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
80 García Nickson
Molina Cristian
latencia (ping), la cual demuestra tiempos de respuesta con un promedio de 97.7 ms
como se puede observar en la Figura 3-7. La mejora se hace notable a la hora de
transmitir el vídeo, y con esto se facilita el manejo del vehículo.
Figura 3-7. Prueba de latencia del test 2. Fuente: Autores
En la Figura 3-8 se puede observar la imagen transmitida al piloto desde la cámara
principal. A su vez en 3-9 se evidencia que para esta prueba de acceso remoto se reduce
la distancia robot-piloto a un aproximado de 18 km.
Figura 3-8. Imagen captada por la cámara de navegación en el test 2. Fuente: Autores
Capítulo 3 81
Proyecto de grado. Ingeniería Electrónica. 2019. 81
Figura 3-9. Distancia en línea recta entre el UGV y el piloto en el test 2. Fuente: Autores
3.3.3 Test 3 de navegación (Campus Unibagué)
Finalmente se realiza una prueba de maniobrabilidad bajo una red local, ubicando tanto
al piloto como al robot móvil en el campus de la Universidad de Ibagué pero en diferentes
salas, con el objetivo de completar una misión consistente en acceder a un laboratorio y
recoger una pequeña caja de herramientas mediante el elemento manipulador de cargas
livianas, y retornar al punto inicial para hacer entrega de dicha carga. Al tratarse de una
prueba local se adquieren los menores tiempos de latencia con un promedio de 14.4 ms
ms (Figura 3-10) consiguiendo una transmisión de datos fluida. En la Figura 3-8 se ilustra
la estimación de la trayectoria recorrida mediante la implementación del Filtro de Kalman
durante esta prueba, desde el punto de inicio hasta la ubicación del objeto a recoger.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
82 García Nickson
Molina Cristian
Figura 3-10. Prueba de latencias del test 3. Fuente: Autores
En la Figura 3-11 se ilustra la estimación de la trayectoria recorrida haciendo uso del
Filtro de Kalman durante esta prueba, desde el punto de inicio hasta la ubicación del
objeto a recoger.
Figura 3-11. Trayectoria recorrida en el test 3. Fuente: Autores
Finalmente en la Figura 3-12 se puede observar la imagen mediante la cual el piloto logra
la manipulación del vehículo.
Capítulo 3 83
Proyecto de grado. Ingeniería Electrónica. 2019. 83
Figura 3-12. Imagen captada por la cámara de navegación en el test 3. Fuente: Autores
3.4 Resultados del Control de Velocidad
Se hicieron dos pruebas posicionando el robot móvil en una pendiente con un grado de
inclinación de 30°, en una de las pruebas el robot se encuentra sin control de velocidad
(Figura 3-13) con un referencia de velocidad de 0 rad/s y se observa una perturbación,
que en este caso se trata de la inercia de los motores causada por la gravedad, esto
genera una lectura de velocidad en los encoders y un sistema inestable. Sin embargo en
la segunda prueba (Figura 3-14) se realiza el mismo experimento pero con el control de
velocidad activo y la misma referencia de velocidad de 0 rad/s; se observa como el
control del sistema en lazo cerrado busca siempre el estado de salida deseado de forma
automática, por consiguiente el robot se mantiene estático. La acción de control también
se ajusta a la señal de referencia aleatoria que se genera a partir del gamepad, variando
bruscamente dicha referencia para observar su comportamiento y establecimiento
alrededor de la referencia (Figura 3-15). Este sistema se considera robusto debido a que
es estable ante la presencia de un rango establecido de perturbaciones.
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
84 García Nickson
Molina Cristian
Figura 3-13. Sin control de velocidad en rampa de 30° de inclinación. Fuente: Autores
Figura 3-14. Control de velocidad en rampa de 30° de inclinación. Fuente: Autores
Capítulo 3 85
Proyecto de grado. Ingeniería Electrónica. 2019. 85
Figura 3-15. Establecimiento de velocidad de los motores entorno a la señal de referencia
variable. Fuente: Autores
3.5 Resultados de la Estimación de Trayectoria
Como ya se explicó en la sección 2.3.3 el robot explorador cuenta con un algoritmo para
la estimación de su posición, el cual fue sometido a diversas pruebas para determinar su
correcto funcionamiento. La primera prueba realizada consistió en trazar una
circunferencia de 1.5 m de radio sobre la superficie para posteriormente seguirla con el
móvil guardando los datos recibidos por los codificadores incrementales (encoders) y la
IMU en un archivo .bag (sección 2.3.1) de modo que más adelante facilite su simulación y
procesamiento. Como se observa en la estimación obtenida en esta prueba (Figura 3-16)
el algoritmo presenta una desviación de aproximadamente 0.5m al momento de
correlacionar el punto de partida con el punto final de la trayectoria.
Figura 3-16. Trayectoria circular estimada por el EKF. Fuente: Autores
DESARROLLO DE UN ROBOT MÓVIL TERRESTRE SEMI-AUTÓNOMO CON ACCESO
REMOTO
86 García Nickson
Molina Cristian
Por último se lleva a cabo una prueba en el polideportivo de la Universidad de Ibagué
definiendo una trayectoria con conos dentro de un rectángulo de 18m X 9m ilustrado en
la Figura 3-17 (a). Repitiendo el procedimiento de la prueba anterior, se ingresan los
datos guardados en un archivo bag al algoritmo del EKF y se obtiene una estimación de
trayectoria con un alto grado de precisión, vista en la Figura 3-17 (b).
a) b)
Figura 3-17. Estimación de trayectoria mediante el EKF. Fuente: Autores
Una vez validado el correcto funcionamiento del trazado de trayectoria haciendo uso de
los datos guardados en archivos bag para su posterior procesamiento, se procede a
implementar el software necesario para obtener una visualización en tiempo real a través
de la interfaz de Rviz. En la Figura 3-18 se ilustran dos ejemplos de trayectorias
graficadas mediante dicha interfaz.
Figura 3-18. Gráficas en tiempo real de trayectoria recorrida en el simulador Rviz. Fuente: Autores
Capítulo 3 87
Proyecto de grado. Ingeniería Electrónica. 2019. 87
Los resultados anteriores se evidencian con mayor claridad en un vídeo demostrativo
adjunto en el repositorio GitHub del proyecto, cuyo enlace se presenta en el siguiente
capítulo de este documento.
Proyecto de grado. Ingeniería Electrónica. 2019. 88
Capítulo 4. Conclusiones y Recomendaciones
El desarrollo del proyecto documenta evidencia el alcance de cada uno de los objetivos
propuestos. Un aporte significativo teniendo en cuenta el alcance de los objetivos y el
estudio de diversas técnicas y contenidos que fueron necesarios para culminar con éxito.
Resaltando apropiaciones en diseño de sistemas mecánicos, diseño electrónico,
programación robusta, control digital, comunicaciones digitales, cada una ellas afrontada
desde la teoría hasta la implementación:
• Se diseñó y fabricó un robot móvil en arquitectura rocker bogie con 6 ruedas y 6
motores. La plataforma mecánica se puso a prueba en diferentes terrenos tanto
regulares como irregulares, obteniendo resultados de navegación y
desplazamiento satisfactorios, incluso ante la presencia de obstáculos e
inclinaciones. Adicionalmente, de la misma manera un sistema de manipulación
de carga fue diseñado, implementado y validado experimentalmente. El
subsistema que tiene la forma de un brazo robótico tiene cinco grados de libertad
permite al piloto manipular cargas simples y pequeñas desde un gamepad.
• Se realizó la integración del hardware y las conexiones necesarias para la
manipulación controlada de un robot móvil, seleccionando e implementando de
manera compatible los siguientes elementos: Nvidia Jetson TK1, Kinect V1, la
IMU Xsens MTi-30 AHRS, el Roboclaw 2X15 Motor Controller o el Logitech
Wireless Gamepad F710. Todos ellos operando conjuntamente para operar sobre
la plataforma mecánica de exploración remota.
• Se desarrolló un sistema de software flexible y robusto compatible con el sistema
empleado profesionalmente para operar robots: Robotic Operating System ROS.
Un logro que, sin duda, tomó más tiempo de lo planeado, pero que a su vez
proporciona a esta una serie de características que simplifican el proceso de
desarrollo de software para el manejo general del robot y mejoran la estabilidad
del software implementado, además de su flexibilidad para migrar su código
fuente a otras áreas de aplicación. Del mismo modo, gracias a la estructuración
del hardware implementado en su estructura modular, resulta más cómodo y
sencillo añadir diferentes sensores a la plataforma, permitiéndole a futuro
incrementar su opción de aplicación. Adicionalmente, cabe destacar la facilidad
de operación que añade el panel de control instalado en la parte trasera del robot
al ofrecer puertos de carga de las baterías sin necesidad de extraerlas, puertos
USB y pantalla LCD para una interfaz amigable con el usuario, interruptores
independientes para las líneas lógica y de potencia, y un botón de “stop” para
casos de emergencia. El instructivo, código fuente y vídeo demostrativo del
sistema puede encontrarse disponible online en el siguiente repositorio:
https://github.com/HaroldMurcia/AlphaROVER
Capítulo 4 89
Proyecto de grado. Ingeniería Electrónica. 2019. 89
• Se diseñó e implemento un control digital de tracción sobre cada conjunto lateral
de ruedas sobre el robot a partir de la lectura de los encoders de las ruedas
traseras, permitiendo generar un modo de operación semi-autónomo, en la que el
robot facilita su manipulación desde un gamepad remoto. Esta función establece
un desplazamiento controlado y constante sin verse afectado por la presencia de
obstáculos menores, irregularidades en el terreno o inclinaciones menores a 30º
aproximadamente, además de sostener su posición en presencia de
perturbaciones. Su validación experimental obtuvo resultados satisfactorios
mejorando la confiabilidad del piloto sobre la manipulación remota.
• Se desarrolló un algoritmo capaz de estimar la trayectoria recorrida del robot, una
de las tareas de mayor complejidad en el proyecto. El algoritmo que calcula una
estimación XY a partir de la información provista por los encoders, la unidad
inercial IMU y los parámetros físicos del Alpha Rover, basa su principio de
operación en la teoría de Kalman implementada con éxito en proyectos anteriores
del semillero SIRUI. Esta función representa un gran potencial para las
aplicaciones a futuro del robot, dado que en combinación con elementos de
percepción permite generar mapas de información, tales como reconstrucción 3D
de entornos.
• Finalmente, la unión de todas estas etapas mencionadas anteriormente, generan
como resultado una plataforma totalmente operativa con la posibilidad de ser
utilizada en misiones de exploración de entornos o como prototipo de
investigación mediante la implementación de los sensores deseados sobre su
estructura modular.
En una mirada hacia el futuro se presentan los siguientes puntos a fin de mejorar la
plataforma y el desempeño de sus posibles aplicaciones. En primer lugar, a lo largo del
desarrollo del proyecto hubo problemas relacionados con la entrega de potencia de los
convertidores DC-DC empleados, de modo que los motores de tracción no ejercían todo
su torque y en ocasiones se presentaban casos de reinicio de la tarjeta de control. Esta
problemática también se vio reflejada en las situaciones de mayor exigencia del brazo
robótico. Para evitar esto se recomienda el uso de reguladores comerciales de mayor
amperaje, y por ende más potentes.
Otra de las principales líneas de mejora son los motores. Se podrían sustituir por unos de
mayor gama, dotando al sistema de un mejor rendimiento en cuanto a torque y con esto
facilitando los giros sobre su propio eje en terrenos con fricciones elevadas.
90 Título de la tesis o trabajo de investigación
90 García Nickson
Molina Cristian
En cuanto a la navegación, las herramientas que ofrece ROS son muy amplias y
potentes, por lo que en futuros proyectos se aconseja dedicarle especial interés a esta
área, ya que se pueden llegar a conseguir mejores aplicaciones y resultados.
4.1 Aportes
Los resultados destacados de este proyecto son:
• El prototipo del robot explorador (en proceso de registro con la Universidad de
Ibagué).
• El software que permite manipular controladamente el robot en su desplazamiento y
manipulación de carga (en proceso de registro con la Universidad de Ibagué).
• La metodología de diseño presente en este documento.
Adicionalmente, durante el desarrollo del proyecto se realizaron participaciones en
representación del semillero SIRUI dentro de las que se resaltan:
• Torneo Mercury Challenge 2018.
• Muestra de proyectos de Electrónica 208B y 2019A.
• Encuentro Regional de Semilleros de Investigación Red Colsi nodo Tolima en sus
versiones 2018 y 2019.
• Participación en muestras de proyectos de semilleros con el Programa de Electrónica
de la Universidad de Ibagué.
Proyecto de grado. Ingeniería Electrónica. 2019. 91
Referencias Bibliográficas
[1] G. Herrera Ramírez, “Navegación autónoma de un robot móvil,” 2014. [2] P. Long, C. Chevallereau, D. Chablat, and A. Girin, “An industrial security system
for human-robot coexistence,” Ind. Robot An Int. J., vol. 45, no. 2, pp. 220–226, Mar. 2018.
[3] G. S. Argudo and A. D. Arpi, “Diseño y Construccion de un Robot Movil Tele Operado para la Asistencia en Operaciones de Alto Riesgo del Cuerpo de Bomberos,” 2012.
[4] A. Cerón, “Sistemas Robóticos Teleoperados,” 2005. [5] C. A. Quinayás Burgos, M. Muñoz Añasco, Ó. A. Vivas Albán, and C. A. Gaviria
López, “Diseño y construcción de la prótesis robótica de mano UC-1,” 2010. [6] A. Ollero, “Robótica: Manipuladores y Robots Móviles,” 2006. [7] V. González, “Robots móviles,” 2002. [Online]. Available:
http://platea.pntic.mec.es/vgonzale/cyr_0204/cyr_01/robotica/movil.htm. [8] J. Cruz Muñoz, “Aplicación de Control de Movimientos y Recopilación de Datos de
Contexto Para un Robot Móvil,” 2017. [9] M. Gómez, “Ackerman o Tipo Coche,” 2011. . [10] T. Lipták, M. Kelemen, A. Gmiterko, I. Virgala, Ľ. Miková, and D. Hroncová,
“Comparison of Different Approaches of Mathematical Modelling of Ackerman Steered Car-like System,” J. Autom. Control. Vol. 4, 2016, Pages 15-21, vol. 4, no. 2, pp. 15–21, Dec. 2016.
[11] T. Wang, Y. Wu, J. Liang, C. Han, J. Chen, and Q. Zhao, “Analysis and experimental kinematics of a skid-steering wheeled robot based on a laser scanner sensor.,” Sensors (Basel, Switzerland), 24-Apr-2015. [Online]. Available: http://www.ncbi.nlm.nih.gov/pubmed/25919370.
[12] E. Lucet, D. Sall, and P. Bidaud, “Dynamic control of the 6WD skid-steering mobile robot RobuROC6 using sliding mode technique,” Control.
[13] NASA, “PATENT ABSTRACTS BIBLIOGRAPHY A CONTINUING BIBLIOGRAPHY Section 1. Abstracts,” 1990.
[14] G. A. S. López and C. A. S. López, “Análisis y Diseño Mecánico de un Robot de Exploración Rocker-Bogie,” Rev. Teckne, vol. 9, no. 2, Jul. 2016.
[15] F. P. Torres and A. C. López, “Metodología de Cuadricóptero con Control y Estabilidad IMU, Usando Aplicación en Dispositivo Móvil Android,” Ingenio Magno, vol. 8, no. 2, pp. 21–32, 2018.
[16] R. Ibañez, D. Fanaro, and Á. Soria, “Herramienta para facilitar el desarrollo de aplicaciones basadas en Kinect,” 2013.
[17] F. R. Loayza, “Diseño e Implementación de un Seguidor Solar para el Control Electrónico de un Reflector Scheffler,” 2012.
[18] D. Onieva García, “Cámara web de alta definición Logitech Webcam Pro 9000,” 2010. .
[19] E. S. Malpartida and J. C. T. Sotelo, “Sistema de Visión Artificial Para el Reconocimiento y Manipulación de Objetos Utilizando un Brazo Robot,” 2007.
[20] D. Ortego Delgado, “¿Qué es ROS? | OpenWebinars,” 2017. [Online]. Available: https://openwebinars.net/blog/que-es-ros/.
[21] A. Editor, “ROS - ¿Un sistema operativo diseñado para robots? - Autracen,” 2017. [Online]. Available: http://www.autracen.com/ros/.
92 Título de la tesis o trabajo de investigación
92 García Nickson
Molina Cristian
[22] C. Jiménez Jiménez, “Desarrollo de un sistema de control de un robot móvil,” 2017. .
[23] C. Pardo, “Controlador PID - Control Automático - Picuino,” 2019. . [24] K. Ogata et al., Ingeniería de control moderna www.elsolucionario.net. . [25] A. Pascual, “EKF y UKF: dos extensiones del filtro de Kalman para sistemas no
lineales aplicadas al control de un p´endulo invertido,” 2006. [26] O. Barrero, S. Tilaguy, and Y. Nova, “Outdoors Trajectory Tracking Control for a
Four Wheel Skid-Steering Vehicle,” 2018. [Online]. Available: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8588153&isnumber=8588111.
[27] I. L. Almeida and J. A. Ochoa, “Diseño y Construcción de un Robot Explorador de Terreno,” 2013.
[28] M. N. Ibarra Bonilla, “Navegación Autónoma de un Robot con Técnicas de Localización y Ruteo,” 2009.
[29] J. A. Tello, “Construcción y Localización en Tiempo Real de un Robot Móvil Vía Odometría en el Seguimiento de Trayectorias Mediante Control Automático,” 2010.
[30] H. R. Systems, “MTi 10-series.” [31] E. R. Reyes Moreno, “Lineamientos para la creación de una VPN (Virtual Private
Network) Red Privada Virtual,” 2005. [Online]. Available: http://tesis.udea.edu.co/bitstream/10495/147/1/LineamientosCreacionVPNRedPrivadaVirtual.pdf.
[32] J. Gutiérrez Pérez, “Introducción a ROS en Raspberry Pi,” 2017. [33] C. Vlasin and R. D. E. Keyser, “Frtool – The User ’ s Guide Design Tool,” Design. [34] O. Barrero Mendoza, H. Murcia, and J. Valenciano Claros, “Modeling and
parameter estimation of a 4-wheel Mobile Robot,” no. October, pp. 3–8, 2016.
Proyecto de grado. Ingeniería Electrónica. 2019. 93
Anexos
A. Diagrama circuital del sistema y tanla de nomenclatura de pines
Figura A-1. Diagrama circuital de la etapa de potencia. Fuente: Autores
94 Título de la tesis o trabajo de investigación
94 García Nickson
Molina Cristian
Figura A-2. Diagrama circuital de elemento manipulador de carga y el dispositivo Kinect. Fuente:
Autores
Bibliografía 95
Proyecto de grado. Ingeniería Electrónica. 2019. 95
Figura A-3. Diagrama circuital de la tarjeta de control y HUB USB. Fuente: Autores
96 Título de la tesis o trabajo de investigación
96 García Nickson
Molina Cristian
Figura A-4. Diagrama circuital de conexión de motores. Fuente: Autores
Bibliografía 97
Proyecto de grado. Ingeniería Electrónica. 2019. 97
Figura A-5. Diagrama circuital del módulo de relés. Fuente: Autores
Tabla A-1. Tabla de nomenclatura de pines. Fuente: Autores
ELEMENTO
DESCRIPTION CODIG
O
NUMERO DE
ETIQUETAS POR NODO
UBICACION DE
ETIQUETA
MOTOR
POSICION UBICACIO
N POLARIDA
D
FORWARD [F]
RIGTH
POSITIVE M2A-FR
2 MOTOR -
ROBOCLAW
NEGATIVE M2B-FR
2 MOTOR -
ROBOCLAW
LEFT POSITIVE M1A-FL 2
MOTOR - ROBOCLA
W
NEGATIVE M1B-FL 2 MOTOR -
ROBOCLA
98 Título de la tesis o trabajo de investigación
98 García Nickson
Molina Cristian
ELEMENTO
DESCRIPTION CODIG
O
NUMERO DE
ETIQUETAS POR NODO
UBICACION DE
ETIQUETA
W
MIDDLE[M]
RIGTH
POSITIVE M2A-MR
2 MOTOR -
ROBOCLAW
NEGATIVE M2B-MR
2 MOTOR -
ROBOCLAW
LEFT
POSITIVE M1A-ML
2 MOTOR -
ROBOCLAW
NEGTIVE M1B-ML
2 MOTOR -
ROBOCLAW
BACKWARD[B]
RIGTH
POSITIVE M2A-BR
2 MOTOR -
ROBOCLAW
NEGTIVE M2B-BR
2 MOTOR -
ROBOCLAW
LEFT
POSITIVE M1A-BL 2 MOTOR -
ROBOCLAW
NEGTIVE M1B-BL 2 MOTOR -
ROBOCLAW
COLOR
ENCODER RIGTH
GREEN GND ENC
1 MOTOR -
ROBOCLAW
BLUE VCC ENC
1 MOTOR -
ROBOCLAW
YELLOW ENC1A 1 MOTOR -
ROBOCLAW
WHITE ENC1B 1 MOTOR -
ROBOCLAW
ENCODER LEFT
GREEN GND ENC
1 MOTOR -
ROBOCLAW
BLUE VCC ENC
1 MOTOR -
ROBOCLAW
YELLOW ENC2A 1 MOTOR -
ROBOCLAW
Bibliografía 99
Proyecto de grado. Ingeniería Electrónica. 2019. 99
ELEMENTO
DESCRIPTION CODIG
O
NUMERO DE
ETIQUETAS POR NODO
UBICACION DE
ETIQUETA
WHITE ENC2B 1 MOTOR -
ROBOCLAW
USB
FUNCION ELEMENTOS
DATOS
IMU IMU 1 IMU - HUB
ROBOCLAW RBW 1 ROBOCLA
W-HUB
WEBCAM CAM 1 WEBCAM -
HUB
KINETC KNT 1 KINETC -
HUB
POLOLU SERVOS PLS 1 POLOLU
SERVOS - HUB
EXTENSION 1 EXT1 2 EXTENSION 1 - HUB
EXTENSION 2 EXT2 2 EXTENSION 2 - HUB
ALIMENTACION
MODEM TP-LINK MDM 1 MODEM -
HUB (12 V)
PANTALLA LCD LCD 1 LCD - HUB
(12 V )
PCB POTENCI
A
OUTPUT VOLTAGE
ELEMENTOS
5 V
POLOLU SERVOS SRV-5 2
PCB POTENCIA
-PCB CONTROL
MODULO RELES RL-5 2
PCB POTENCIA
-PCB CONTROL
12V
HUB HUB-12 2 PCB
POTENCIA -HUB
JETSON JET-12 2 PCB
POTENCIA - JETSON
ROBOCLAW RBW-
12 2
BATERIA 1 - PCB
CONTROL
KINETC KNT-12 2 PCB
POTENCIA -KINECTC
INPUT VOLTAGE
ELEMENTOS
FUNCION
100 Título de la tesis o trabajo de investigación
100 García Nickson
Molina Cristian
ELEMENTO
DESCRIPTION CODIG
O
NUMERO DE
ETIQUETAS POR NODO
UBICACION DE
ETIQUETA
12 V
BATERIA 1 CONTROL BAT- C 2 BATERIA 1
- PCB POTENCIA
BATERIA 2 POTENCIA BAT- P 2 BATERIA 1
- PCB POTENCIA
B. Tabla de costos Tabla B-1. Tabla de costos del proyecto. Fuente: Autores
Elemento Precio Unitario
USD [$] Cantidad Subtotal
USD [$]
Mecánica
100:1 Metal Gearmotor 37Dx73L mm with 64
CPR Encoder
$39,95 2 $79.9
100:1 Metal Gearmotor 37Dx57L mm $24,95 4
$99.8
Rin fabricado en aluminio $33.33 6
$200
Soporte fabricado para motores $8 6
$48
Buje fabricado para eje 6mm
$8 6 $48
Par de ruedas de goma negra
$42,96 3 $128.9
Piezas 3D Rocker Bogie $90 4
$90
Chasis en aluminio
$10 1
$10
Bibliografía 101
Proyecto de grado. Ingeniería Electrónica. 2019. 101
Elemento Precio Unitario
USD [$] Cantidad Subtotal
USD [$]
Armazón o carrocería
$35 1
$35
Piezas en metacrilato
$17 7
$119
Amortiguadores a gas
$5 4
$20
Perfil de Aluminio 20X20 mm - 1 Metro
$13 2
$26
Electrónica
Jetson TK1 $199 1
$199
RoboClaw 2X15A $155 1
$155
DROK 90483 DC Buck Converter 8A/100W 12A
Max DC 5-40V to 1.2-36V
$11.8 2
$23.6
HRB
6000mah 3S 50~100C
Lipo Pack
$75 2
$150
IMU Xsens MTI-30 $1500 1
$1500
Kinect Xbox 360 $ 25 1
$25
Cámara Logitech QuickCam Orbit AF
$100 1
$100
Router TP-LINK TL-MR3020
$45 1
$45
102 Título de la tesis o trabajo de investigación
102 García Nickson
Molina Cristian
Elemento Precio Unitario
USD [$] Cantidad Subtotal
USD [$]
Control Gamepad Logitech f710
$45 1
$45
Interruptor codo 3P 40 amp
$11.99 1
$11.99
Interruptor de dos posiciones 20 Amp
$3,99 1
$3,99
Conectores Bateria LiPO
$10 1
$10
Botón de paro de emergencia
$10 1
$10
Hub Usb 7 puertos
$30 1
$30
Pantalla Touch 3.5 pulgadas
$26,8 1
$26,8
TOTAL $3329.98