Hermes III
Hermes III
net/publication/360611883
CITATION READS
1 381
5 authors, including:
Ruben Ayme
National University of Cordoba, Argentina
4 PUBLICATIONS 2 CITATIONS
SEE PROFILE
All content following this page was uploaded by Orlando Micolini on 15 May 2022.
Resumen—En el presente trabajo se detalla el proceso de rediseño del robot móvil omnidireccional Hermes II, que fue desarrollado en el
Laboratorio de Arquitectura de Computadoras de la FCEFyN de la UNC. Esta nueva versión, denominada Hermes III, posee el mismo
sistema de locomoción omnidireccional que su antecesor e incorpora mejoras sustanciales en cuanto a los sistemas de control y sensado
que comanda al robot móvil. Además el nuevo robot incorpora la capacidad de Mapeo y Localización Simultánea; para dotar al sistema
robótico de esta capacidad se incorporó un dispositivo Kinect V1. En el nuevo sistema robótico se aumenta la escalabilidad a través del
llamado Sistema Operativo Robótico, conocido por sus siglas ROS, que es un marco que facilita el desarrollo de software para robots. El
proyecto se implementa en una placa de desarrollo NVIDIA Jetson TK1, que dadas sus capacidades computacionales soporta los
requerimientos del sistema. El resultado de este proyecto muestra la implementación de algoritmos sofisticados para la localización y
movimiento de un robot omnidireccional. Así mismo se han validado los criterios de diseño e identificado cotas de desempeño,
analizadas cuantitativamente, frente a una integración de componentes específica, obteniéndose un sistema robótico móvil
omnidireccional robusto y flexible con capacidad autónoma de exploración, localización y cartografía.
Abstract— This paper details the redesign process of the Hermes II omnidirectional mobile robot, which was developed at the Computer
Architecture Laboratory of the FCEFyN-UNC. This new version, called Hermes III, has the same omnidirectional locomotion system as
its predecessor and incorporates substantial improvements in terms of control and sensing systems that command the mobile robot.
Furthermore, the new robot incorporates the capability of Simultaneous Mapping and Localization; in order to provide the robotic system
with this capability, a Kinect V1 device was incorporated. In the new robotic system scalability is increased through the Robotic
Operating System, known by its acronym ROS, which is a framework that enhances the development of software for robots. The project
is implemented on an NVIDIA Jetson TK1 development board, which, given its computational capabilities, supports the requirements of
the system. The result of this project shows the implementation of sophisticated algorithms for the localization and movement of an
omnidirectional robot. Likewise, the design criteria have been validated and quantitatively analyzed performance levels have been
identified against a specific integration of components, obtaining a robust and flexible omnidirectional mobile robotic system with
autonomous exploration, localization and mapping capabilities.
31
HERMES III: ROBOT OMNIDIRECCIONAL CON CAPACIDAD DE SLAM MICOLINI et al.
Mapeado: Capacidad de detectar profundidad de El cuerpo de este articulo está organizado de acuerdo al
campo. siguiente orden: a continuación se describen los materiales
Localización Activa: El robot puede moverse y y métodos. Luego se presentan los casos de prueba, a
conocer su posición en relación a un punto de continuación se listan los resultados obtenidos y una
partida. explicación de los mismos. Finalmente, se presentan las
conclusiones y los trabajos futuros.
Mapeo y Localización Simultanea (SLAM -
Simultaneous Localization and Mapping): El
robot, teniendo conocimiento de la magnitud de ANTECEDENTES
sus movimientos de traslación y contando con la
capacidad de sensar profundidad de campo, genera Esta propuesta toma la experiencia adquirida del
un mapa de su entorno y lo actualiza en línea al desarrollo de los robots móviles (Caverzasi et al., 2014),
tiempo que utiliza el mapa para ubicarse en un Hermes (Lichtensztein et al., 2014) y Hermes II (Ayme et
entorno incierto. al., 2020), los cuales fueron implementados como parte del
proyecto de investigación “Diseño e Implementación de
Exploración: El robot puede desplazarse Software y Hardware Optimizados para Sistemas de
generando un mapa de su entorno. Computación Paralelos en Ingeniería”.
En este trabajo se detalla el proceso de rediseño del robot Para este desarrollo se han mantenido los siguientes
móvil omnidireccional Hermes II (Ayme et al., 2020), que criterios: altas relación prestaciones/costo, escalabilidad,
fue desarrollado en el Laboratorio de Arquitectura de mantenibilidad, tamaño de escritorio, posibilidades desde el
Computadoras de la FCEFyN de la UNC. Este proceso punto de vista educativo e ingenieril, simplicidad de uso e
SLAM Sistema información abierta. Se priorizó el criterio de funcionalidad,
costo y simplicidad para el diseño y la selección de las
Autónomo
partes.
OBJETIVOS
El objetivo de este trabajo es el rediseño del robot móvil
Mapeado Localización omnidireccional Hermes II con capacidad de SLAM, y la
comprensión de la gestión de los recursos mediante la
utilización de un sistema operativo especifico de robots. De
esta forma se materializa el objeto de estudio con la
capacidad de agregar interacción social al contexto de
aprendizaje.
Esta iniciativa tiene como objetivo ir más allá del
aprendizaje puramente basado en software y/o la
simulación (Mubin et al., 2013). Además se ha mantenido
como objetivo común resaltar los procesos de construcción
Navegación
Localización y programación de un robot móvil omnidireccional para
Exploración Activa que los estudiantes reflexionen por medio de la
experimentación, con el fin de elaborar comprensiones más
Fig. 1. Interrelación de atributos de robots móviles profundas sobre lo estudiado.
.
32
REVISTA FACULTAD DE CIENCIAS EXACTAS, FÍSICAS Y NATURALES, VOL. 9, NO. 1, ABRIL 2022
representación matemática vectorial de este sistema de GPU de Alto Rendimiento: la GPU NVIDIA de
fuerzas, donde la resultante es la dirección y el sentido de 192 núcleos CUDA con micro-arquitectura Kepler
movimiento del robot móvil se observa en la Fig. 2. Este y una litografía de 28 nanómetros está desarrollada
diseño permite mayor libertad de movimientos que los especialmente para el procesamiento de imágenes y
sistemas de ruedas clásicos, convirtiéndose en una ventaja renderizado 3D sin desatender el consumo de
en lo referente a capacidad de maniobra principalmente en energía, ya que el SoC está destinado a dispositivos
entornos cargados de obstáculos. A este tipo de vehículos móviles.
se los conoce como holonómicos. Estos sistemas son
capaces de modificar su dirección instantáneamente Sensores y Actuadores
(considerando masa nula), sin necesidad de rotar Los sensores son una parte fundamental de cualquier
previamente. Una forma de conseguir este tipo de robot móvil, son los que permiten adquirir datos acerca del
tracción/dirección es mediante el uso de ruedas estado del robot y del estado de su entorno en cada instante
omnidireccionales. En la Fig. 2(a) se muestra el sistema de de tiempo, lo cual es esencial para concebir movimientos
referencia de la configuración utilizada con cuatro ruedas controlados en el espacio.
omnidireccionales y las combinaciones de fuerzas Se utiliza el sensor Kinect (Zhang, 2012), el cual es un
necesarias para rotación y traslación. El modelo de rueda periférico de entrada desarrollado por PrimeSense, una
utilizado se aprecia en la Fig. 2(b). compañía Israelí experta en innovación. El dispositivo
consta de un controlador que es capaz de percibir y
reconocer objetos y movimientos, así como reconocimiento
de voz. Para esto hace uso de dos cámaras frontales, una
convencional de RGB y un sensor de distancia, y de una
serie de micrófonos. El sistema de percepción de
profundidad consta de tres partes básicas: el proyector láser
de infrarrojos, el sensor CMOS y el microchip que procesa
la información. Su funcionamiento se basa en la proyección
de un patrón de puntos pseudo-aleatorios y su lectura y
triangulación mediante el sensor CMOS.
Este sensor es utilizado con el objetivo de aplicar técnicas
de SLAM basadas en capturas de imágenes RGB y de
profundidad, lo cual implica el desarrollo de las
capacidades de Localización y Mapeado simultáneas tal
Fig. 2. (a) Sistema omnidireccional modelo de ejes , (b) Rueda
Omnidireccional como se muestra en la Fig. 1. El montaje de este sensor se
puede observar en la Fig. 3.
Sistema de Control Principal
Para el desarrollo del control principal del robot se ha
seleccionado la placa de desarrollo NVIDIA Jetson Tegra
K1, la cual soporta la instalación del Framework ROS
(Robot Operating System). Los factores característicos
relevantes de la arquitectura del sistema embebido NVIDIA
Jetson (Nvidia, 2017) considerados para el presente diseño
son:
Mayor Autonomía: El procesador cuenta con un modo
de ultra-ahorro de energía en el cual trabaja exclusivamente
un núcleo de extra bajo consumo, cuando el sistema se
encuentre bajo poca demanda computacional. Esto significa
para el robot Hermes III mayor autonomía de su batería.
Alivio de Trabajo de CPU: Posee doble ISP
(Image Signal Processor), estos pre-procesadores
de imágenes complementan el trabajo de las CPU al
filtrar la información procedente de cámaras de
video, interpretando los datos de los sensores y
transformándolos en imágenes RGB que son Fig. 3. Sensor Kinect sobre Hermes III
accedidas por la CPU o GPU indistintamente desde
una “Memoria Unificada”. Adicionalmente estos Por otra parte, los actuadores, son los responsables de
módulos tienen la capacidad de manejar el auto- dotar de movilidad al robot. Implementados con motores de
foco, el balance de blancos, el ajuste de exposición, corriente continua que funcionan acorde a los datos
etc. Éstas características para el proyecto Hermes producidos por los sensores, luego de ser procesados por el
III son fundamentales, pues hacen a un sistema de control.
procesamiento de imágenes potencialmente más
veloz, brindando incluso la posibilidad de procesar El sistema de control, que comanda las ruedas del robot,
las imágenes captadas por las cámaras totalmente se basa tanto en los datos del entorno como en el
en la GPU, aprovechando sus 192 núcleos CUDA. movimiento de rotación de las ruedas. Por lo cual, es
33
HERMES III: ROBOT OMNIDIRECCIONAL CON CAPACIDAD DE SLAM MICOLINI et al.
necesario sensar de la manera más directa posible, las SLAM (Simultaneous Localization and Mapping)
velocidades de cada una de las ruedas que son las Existen numerosos algoritmos en el ecosistema ROS que
encargadas de producir el movimiento del robot. Esto se se nutren de los datos de sensores de profundidad para
implementó mediante “encoders” FC-03 como se muestra generar los resultados deseados de SLAM.
en la Fig. 4. Las ondas generadas por los sensores FC-03
son procesadas por un microcontrolador AVR ATmega Esta propuesta toma la experiencia del trabajo “Robot
128A (Atmel, 2015), haciendo uso de sus timers de 16 bits Móvil Autónomo para crear mapas 3D en un ambiente
en modo contador asíncrono, como se muestra en la Fig. 5. acotado” desarrollado en (Caverzasi et al., 2014); como así
también, el trabajo de investigación realizado en (da Silva
La información de los encoder es obtenida y et al., 2017) que realiza una evaluación experimental de los
acondicionada por el AVR ATmega 128A, luego se envía a algoritmos compatibles con ROS para sensores RGB-D
través de un interface I2C a una plataforma Arduino. Esta concluyendo que: “Gmapping es una solución precisa para
plataforma transforma lo recibido en dato de velocidad de el mapeo 2D en robots computacionalmente limitados,
traslación lineal acorde a las dimensiones de la rueda y la mientras que RTAB-Map (Real-Time Appearance-Based
envía en formato de tópicos ROS a través de la interfaz Mapping) da como resultado soluciones coherentes para un
Serial que interconecta el Arduino con el Sistema de 3D SLAM, aunque con mayores requisitos de
Control Principal (NVIDIA Jetson TK1). Por cada solicitud procesamiento”.
de información, el procesador ATmega 128A envía los Para la implementación de este proyecto se utilizó el
datos de sus sensores, cada dato es de 16 bits, ver Fig. 6. algoritmo denominado RTAB-Map (IntroLab, 2018, Labbe
and Michaud, 2013), mostrado en la
Fig. 7. RTAB-Map es el acrónimo de mapeo basado en
apariencia en tiempo real. La “detección de lazo cerrado” es
el proceso en el cual se intenta encontrar una coincidencia
entre la ubicación actual y las ubicaciones visitadas
anteriormente en SLAM.
RTAB-Map hace uso de un detector de lazo cerrado
bayesiano global junto a un modelo de aproximación de
“bolsa de palabras” para determinar la probabilidad de que
una nueva imagen provenga de una ubicación anterior o una
nueva ubicación.
Sistema de Control
El sistema de control es utilizado para que el robot pueda
desplazarse con el menor error de trayectoria posible,
Fig. 5. ATmega128 M128 AVR Minimum Development Board respondiendo correctamente a los comandos de control
tanto en velocidad como en dirección, ajustando la
intensidad de movimiento de cada rueda.
En el SoC (Nvidia Jetson TK1), se ha configurado un
sistema operativo Ubuntu 14.04 y el Framework ROS en su
versión “Indigo Igloo”, el cual ya posee integrado nodos de
control PID listos para ser configurados y utilizados. Esto
permite controlar las velocidades de las ruedas totalmente
por software.
Se ha implementado un sistema de control PID para cada
Fig. 6. Comunicación con Arduino Mega 2560 rueda del robot. Todas ellas son independientes entre sí, lo
34
REVISTA FACULTAD DE CIENCIAS EXACTAS, FÍSICAS Y NATURALES, VOL. 9, NO. 1, ABRIL 2022
35
HERMES III: ROBOT OMNIDIRECCIONAL CON CAPACIDAD DE SLAM MICOLINI et al.
Fig. 11. Experimento distancia mínima Fig. 14. Regreso al punto de partida sin referencia (vista inferior)
Para el primer caso de prueba se ubica el sensor Kinect Esto muestra que los resultados son más precisos cuando
frente a una pared de color homogéneo y se aleja el robot se posee un objeto heterogéneo delante del sensor de
0,5 m de manera perpendicular a la misma. profundidad el cual puede usarse como punto de referencia
Cabe aclarar que cada cuadrícula de las siguientes figuras inequívoco y realizar en base al mismo cálculo de distancia
representa un área de 0.5 m por 0.5 m. que cuando posee únicamente una pared homogénea
delante.
En la Fig. 12, Fig. 13 y Fig. 14 puede apreciarse cómo, a
pesar de mover al robot perfectamente en línea recta
perpendicular a la pared, la medición posee error
acumulativo, por lo que al regresar al punto de partida la
diferencia es de 30 cm aproximadamente.
CASOS DE PRUEBAS
Se realizaron los siguientes casos de pruebas:
Fig. 13. Desplazamiento de medio metro sin referencia (vista inferior) Prueba 1
Mover el robot una distancia de 1 metro en línea recta en
cualquier dirección.
Para confirmar la dependencia de la exactitud del
algoritmo SLAM con el nivel de detalle que se obtiene de Para probar la calidad del control de trayectoria con el
las imágenes tanto RGB como de profundidad del sensor sistema de control implementado, se grabó en video a
Kinect, se ha realizado una segunda prueba, ver Fig. 15, cámara fija el desplazamiento en línea recta del robot, esto
Fig. 16 y Fig. 17, colocando un objeto de una estructura se aprecia en la Fig. 18. Puede observarse un desvío
tridimensional sobre la pared y se procedió a repetir mayormente pronunciado al inicio del movimiento del
exactamente el mismo movimiento que en la prueba robot, debido a que en los primeros 0,35 metros, el sistema
anterior. Se comprueba una gran mejora de la exactitud en de control de cada rueda se encuentra en su estado
las mediciones del algoritmo cuando lo hace en base a datos transitorio (Ogata, 2010). Una vez que se alcanza el estado
de profundidad heterogéneos, el error para el mismo caso estable, el robot continúa en línea recta, como puede verse a
fue aproximadamente de 6 cm. partir del tercer punto de la Fig. 18.
36
REVISTA FACULTAD DE CIENCIAS EXACTAS, FÍSICAS Y NATURALES, VOL. 9, NO. 1, ABRIL 2022
Si se consideran ambos estados, transitorio y estable, el exitosamente a una de las preguntas fundamentales para
error en línea recta fue de 10 ⁄ con una incertidumbre de que un robot fuese totalmente autónomo, la cual es “¿dónde
1 cm. estoy?”. En cuanto al mapeo, se han obtenido resultados
satisfactorios, siempre que se cumpla con los limites de
velocidad de captura/procesamiento establecidos para el
sistema y manteniéndose a una distancia mayor a la mínima
posible para no perder referencias y detener el proceso de
mapeo. Se ha logrado mejorar la estabilidad con la
modificación de los parámetros, esto hace a RTAB-Map un
algoritmo de SLAM flexible y totalmente modular e
integrado con el hardware del robot, mediante el sistema de
comunicación por tópicos que ofrece ROS.
Lo anterior puede considerarse una prueba de integración
del funcionamiento de todos los componentes del robot
Hermes III.
Fig. 17. Regreso al punto de partida con referencia (vista inferior)
37
HERMES III: ROBOT OMNIDIRECCIONAL CON CAPACIDAD DE SLAM MICOLINI et al.
Ésta versión del robot que se ha desarrollado un ambiente acotado," in 2014 IEEE Biennial Congress of
Argentina (ARGENCON), 2014, pp. 786-791.
íntegramente en el Laboratorio de Arquitectura de
Computadoras, de la Facultad de Ciencias Exactas, Físicas [7] L. F. Lichtensztein, O. Micolini, and M. Cebollada, "“Hermes”:
Sistema robótico embebido para la educación," in Biennial
y Naturales de la Universidad Nacional de Córdoba, ha Congress of Argentina (ARGENCON), 2014 IEEE, 2014, pp.
significado un salto tecnológico con respecto a su 310-315.
predecesor, el Hermes II. [8] O. Mubin, C. J. Stevens, S. Shahid, A. Al Mahmud, and J.-J.
Desde el punto de vista académico, el robot desarrollado Dong, "A review of the applicability of robots in education,"
Journal of Technology in Education and Learning, vol. 1, p. 13,
representa una adecuada base para el estudio del 2013.
Framework utilizado. El denominado Robot Operating [9] D. Schmidt, C. Hillenbrand, and K. Berns, "Omnidirectional
System (ROS), tiene un gran futuro por su naturaleza Open locomotion and traction control of the wheel-driven, wall-
Source y la gran comunidad que posee, conformada tanto climbing robot, Cromsci," Robotica, vol. 29, pp. 991-1003,
por investigadores de universidades de gran prestigio, como 2011.
por estudiantes y aficionados. [10] Nvidia. (2017). Nvidia Kepler Architecture. Available:
https://www.nvidia.com/en-us/data-center/tesla-product-
Por su desarrollo modular, el robot diseñado, es literature/
fácilmente escalable por lo que puede ser dotado de nuevas [11] Z. Zhang, "Microsoft kinect sensor and its effect," IEEE
capacidades. multimedia, vol. 19, pp. 4-10, 2012.
Respecto a la utilización de un sistema omnidireccional [12] Atmel. (2015). Atmel ATmega 128A Risc Microcontroller.
Available:
heredado de su antecesor Hermes II, si bien su control trae http://ww1.microchip.com/downloads/en/devicedoc/atmel-
aparejado una mayor complejidad matemática que otros 8151-8-bit-avr-atmega128a_datasheet.pdf
sistemas de locomoción, facilita su implementación [13] B. M. da Silva, R. S. Xavier, T. P. do Nascimento, and L. M.
mecánica debido a que los ejes de las ruedas permanecen Gonsalves, "Experimental evaluation of ROS compatible
fijos y permite modificar la trayectoria del robot sin SLAM algorithms for RGB-D sensors," in 2017 Latin
cambiar la orientación del mismo. American Robotics Symposium (LARS) and 2017 Brazilian
Symposium on Robotics (SBR), 2017, pp. 1-6.
Finalmente, la placa de desarrollo Nvidia Jetson Tegra [14] U. d. S.-. IntroLab. (2018). IntroLab RTAB-Map. Available:
K1, ha probado tener la capacidad computacional suficiente http://introlab.github.io/rtabmap/
para realizar cálculos complejos, tales como los vinculados [15] M. Labbe and F. Michaud, "Appearance-based loop closure
al procesamiento de los datos provenientes del sensor detection for online large-scale and long-term operation," IEEE
Microsoft Kinect y al sistema de control que comanda los Transactions on Robotics, vol. 29, pp. 734-745, 2013.
movimientos del robot. [16] R. Rojas and A. G. Förster, "Holonomic control of a robot with
an omnidirectional drive," KI-Künstliche Intelligenz, vol. 20,
pp. 12-17, 2006.
TRABAJOS FUTUROS [17] K. Ogata, Ingeniería de control moderna: Pearson Educación,
2010.
Existe una gran oportunidad de mejora con respecto a la
performance de SLAM del robot, para lo cual se está
realizando una investigación con sensores de profundidad
que capturan imágenes a una mayor velocidad y a una
mejor resolución. También se planea integrar en el robot un
scanner laser tipo LIDAR (Light Detection and Ranging o
Laser Imaging Detection and Ranging) con el fin de
complementar los datos obtenidos por el Kinect y así
mejorar la precisión del SLAM.
Por otra parte, otro equipo de trabajo está abocado a
transformar los datos de velocidades de las ruedas, en datos
odométricos, y utilizarlos en el algoritmo RTAB-Map para
hacerlo más robusto.
REFERENCIAS
[1] J. Pulido Fentanes, "Exploración y reconstrucción
tridimensional de entornos mediante robots móviles -
Valladolid," 2012.
[2] J. Borenstein, H. Everett, and L. Feng, Navigating mobile
robots: Systems and techniques: AK Peters, Ltd., 1996.
[3] R. E. Ayme, O. Micolini, L. O. Ventre, A. B. G. Cabral, and S.
S. Sagripanti, "Hermes II: Robot Educativo Holonómico para la
Enseñanza en Ingeniería," Revista de la Facultad de Ciencias
Exactas, Físicas y Naturales, vol. 7, pp. 63-71, 2020.
[4] O. S. R. Foundation. (2020). ROS Ubuntu ARM install of ROS
Indigo-Available:
http://wiki.ros.org/indigo/Installation/UbuntuARM.
[5] W. Newman, A systematic approach to learning robot
programming with ROS: CRC Press, 2017.
[6] A. Caverzasi, F. Saravia, O. Micolini, L. Mathé, and L. F.
Lichtensztein, "Robot móvil autónomo para crear mapas 3D en
38
View publication stats