Differential-drive Mobile Robot Controller with ROS 2 Support

Autonomous Mobile Robots, known as AMRs, are used in the internal logistics of many types of industries and production sectors. This type of robots replaces the traditional Automated Guided Vehicles (AGVs). In the case of AGVs, the path to follow is previously defined, and these robots do not have t...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Albarran, Gustavo, Nicolodi, Juan, Ruiz, Dante, Gonzalez-Dondo, Diego, Perez-Paina, Gonzalo
Formato: Artículo publishedVersion
Lenguaje:Inglés
Publicado: FIUBA 2023
Materias:
Acceso en línea:https://elektron.fi.uba.ar/elektron/article/view/184
https://repositoriouba.sisbi.uba.ar/gsdl/cgi-bin/library.cgi?a=d&c=elektron&d=184_oai
Aporte de:
id I28-R145-184_oai
record_format dspace
institution Universidad de Buenos Aires
institution_str I-28
repository_str R-145
collection Repositorio Digital de la Universidad de Buenos Aires (UBA)
language Inglés
orig_language_str_mv eng
topic autonomous mobile robot
differential drive
embedded controller
ROS 2
micro-ROS
robot móvil autónomo
tracción diferencial
controlador embebido
ROS 2
micro-ROS
spellingShingle autonomous mobile robot
differential drive
embedded controller
ROS 2
micro-ROS
robot móvil autónomo
tracción diferencial
controlador embebido
ROS 2
micro-ROS
Albarran, Gustavo
Nicolodi, Juan
Ruiz, Dante
Gonzalez-Dondo, Diego
Perez-Paina, Gonzalo
Differential-drive Mobile Robot Controller with ROS 2 Support
topic_facet autonomous mobile robot
differential drive
embedded controller
ROS 2
micro-ROS
robot móvil autónomo
tracción diferencial
controlador embebido
ROS 2
micro-ROS
description Autonomous Mobile Robots, known as AMRs, are used in the internal logistics of many types of industries and production sectors. This type of robots replaces the traditional Automated Guided Vehicles (AGVs). In the case of AGVs, the path to follow is previously defined, and these robots do not have the ability to choose a different path. On the other hand, AMRs are more flexible, safe, and precise, due to the incorporation of technologies reserved until recently for research, such as autonomous navigation, computer vision systems, and Simultaneous Localization and Mapping (SLAM) technology, among others. Many of these technologies are implemented using the Robot Operating System (ROS). ROS is a set of free and open-source software libraries and tools for building robot applications. Its new version, ROS 2, was developed to be applied to production environments. This paper describes the development of a controller for a differential-drive AMR with support for ROS 2 using its implementation for embedded systems, micro-ROS. This controller is the evolution of a previous version that was used in different mobile robots for over 10 years at CIII (UTN). It is worth clarifying that this work is mainly focused on hardware development. However, some preliminary software tests have been carried out, mainly to evaluate the correct functioning of the differential-drive robot controller. Firstly, the design requirements are defined, and a microcontroller with native support for micro-ROS is selected. Then, the development of each controller stage is described, such as the power supply, the USB communication, the battery voltage sensing, the debugging port, and the final PCB design. Finally, the initial software tests that allow verifying the correct operation of the controller and the improvements compared to the previous version are mentioned.
format Artículo
publishedVersion
author Albarran, Gustavo
Nicolodi, Juan
Ruiz, Dante
Gonzalez-Dondo, Diego
Perez-Paina, Gonzalo
author_facet Albarran, Gustavo
Nicolodi, Juan
Ruiz, Dante
Gonzalez-Dondo, Diego
Perez-Paina, Gonzalo
author_sort Albarran, Gustavo
title Differential-drive Mobile Robot Controller with ROS 2 Support
title_short Differential-drive Mobile Robot Controller with ROS 2 Support
title_full Differential-drive Mobile Robot Controller with ROS 2 Support
title_fullStr Differential-drive Mobile Robot Controller with ROS 2 Support
title_full_unstemmed Differential-drive Mobile Robot Controller with ROS 2 Support
title_sort differential-drive mobile robot controller with ros 2 support
publisher FIUBA
publishDate 2023
url https://elektron.fi.uba.ar/elektron/article/view/184
https://repositoriouba.sisbi.uba.ar/gsdl/cgi-bin/library.cgi?a=d&c=elektron&d=184_oai
work_keys_str_mv AT albarrangustavo differentialdrivemobilerobotcontrollerwithros2support
AT nicolodijuan differentialdrivemobilerobotcontrollerwithros2support
AT ruizdante differentialdrivemobilerobotcontrollerwithros2support
AT gonzalezdondodiego differentialdrivemobilerobotcontrollerwithros2support
AT perezpainagonzalo differentialdrivemobilerobotcontrollerwithros2support
AT albarrangustavo controladorpararobotmovildetracciondiferencialcompatibleconros2
AT nicolodijuan controladorpararobotmovildetracciondiferencialcompatibleconros2
AT ruizdante controladorpararobotmovildetracciondiferencialcompatibleconros2
AT gonzalezdondodiego controladorpararobotmovildetracciondiferencialcompatibleconros2
AT perezpainagonzalo controladorpararobotmovildetracciondiferencialcompatibleconros2
_version_ 1859522235197292544
spelling I28-R145-184_oai2026-02-11 Albarran, Gustavo Nicolodi, Juan Ruiz, Dante Gonzalez-Dondo, Diego Perez-Paina, Gonzalo 2023-12-15 Autonomous Mobile Robots, known as AMRs, are used in the internal logistics of many types of industries and production sectors. This type of robots replaces the traditional Automated Guided Vehicles (AGVs). In the case of AGVs, the path to follow is previously defined, and these robots do not have the ability to choose a different path. On the other hand, AMRs are more flexible, safe, and precise, due to the incorporation of technologies reserved until recently for research, such as autonomous navigation, computer vision systems, and Simultaneous Localization and Mapping (SLAM) technology, among others. Many of these technologies are implemented using the Robot Operating System (ROS). ROS is a set of free and open-source software libraries and tools for building robot applications. Its new version, ROS 2, was developed to be applied to production environments. This paper describes the development of a controller for a differential-drive AMR with support for ROS 2 using its implementation for embedded systems, micro-ROS. This controller is the evolution of a previous version that was used in different mobile robots for over 10 years at CIII (UTN). It is worth clarifying that this work is mainly focused on hardware development. However, some preliminary software tests have been carried out, mainly to evaluate the correct functioning of the differential-drive robot controller. Firstly, the design requirements are defined, and a microcontroller with native support for micro-ROS is selected. Then, the development of each controller stage is described, such as the power supply, the USB communication, the battery voltage sensing, the debugging port, and the final PCB design. Finally, the initial software tests that allow verifying the correct operation of the controller and the improvements compared to the previous version are mentioned. Los robots conocidos con el nombre de AMR (Autonomous Mobile Robots) se utilizan en la logística interna en muchos tipos de industrias y sectores de la producción. Este tipo de robots sustituyen a los tradicionales AGVs (Automated Guided Vehicles) en los cuales el camino a seguir está definido previamente y no tienen la capacidad de elegir un camino diferente. Por otro lado, los AMRs resultan más flexibles, seguros y precisos, debido a la incorporación de tecnologías que hasta hace poco estaban reservadas al ámbito de la investigación, tales como: navegación autónoma, sistemas de  visión por computadoras, tecnología de SLAM (Simultaneous Localization and Mapping), entre otras. Muchas de estas tecnologías se implementan utilizando ROS (Robot Operating System). ROS es un conjunto de bibliotecas de software y herramientas de código abierto y libre para el desarrollo de aplicaciones de robots, cuya nueva versión ROS 2 tiene como uno de sus objetivos ser aplicable a entornos de producción. El presente trabajo describe el desarrollo de un controlador para robots de tracción diferencial tipo AMR con soporte para ROS 2 utilizando la implementación para sistemas embebidos micro-ROS. Este controlador es la evolución de una versión anterior utilizada en diferentes robots por más de 10 años en el CIII (UTN). Vale aclarar que este trabajo está enfocado principalmente en el desarrollo de hardware. Sin embargo, se han realizado algunas pruebas preliminares de software, principalmente, para evaluar el correcto funcionamiento del controlador de tracción diferencial. En primer lugar, se definen los requerimientos de diseño y se selecciona un microcontrolador con soporte nativo para micro-ROS. Luego se describe el desarrollo de cada etapa del controlador, tales como: la alimentación, la comunicación USB, el sensado de tensión de batería, el puerto de depuración y el diseño final del PCB. Por último, se hace mención a las pruebas iniciales de software que permiten verificar el correcto funcionamiento del controlador y las mejoras respecto a la versión anterior. application/pdf text/html https://elektron.fi.uba.ar/elektron/article/view/184 10.37537/rev.elektron.7.2.184.2023 eng FIUBA https://elektron.fi.uba.ar/elektron/article/view/184/334 https://elektron.fi.uba.ar/elektron/article/view/184/341 Derechos de autor 2023 Gustavo Albarran, Juan Nicolodi, Dante Ruiz, Diego Gonzalez-Dondo, Gonzalo Perez-Paina Elektron Journal; Vol. 7 No. 2 (2023); 53-60 Revista Elektron; Vol. 7 Núm. 2 (2023); 53-60 Revista Elektron; v. 7 n. 2 (2023); 53-60 2525-0159 2525-0159 autonomous mobile robot differential drive embedded controller ROS 2 micro-ROS robot móvil autónomo tracción diferencial controlador embebido ROS 2 micro-ROS Differential-drive Mobile Robot Controller with ROS 2 Support Controlador para Robot Móvil de Tracción Diferencial Compatible con ROS 2 info:eu-repo/semantics/article info:eu-repo/semantics/publishedVersion https://repositoriouba.sisbi.uba.ar/gsdl/cgi-bin/library.cgi?a=d&c=elektron&d=184_oai