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...

Full description

Bibliographic Details
Main Authors: Gustavo Albarran, Juan Nicolodi, Dante Ruiz, Diego Gonzalez-Dondo, Gonzalo Perez-Paina
Format: Article
Language:English
Published: Universidad de Buenos Aires 2023-12-01
Series:Revista Elektrón
Subjects:
Online Access:http://elektron.fi.uba.ar/index.php/elektron/article/view/184
_version_ 1797389055303876608
author Gustavo Albarran
Juan Nicolodi
Dante Ruiz
Diego Gonzalez-Dondo
Gonzalo Perez-Paina
author_facet Gustavo Albarran
Juan Nicolodi
Dante Ruiz
Diego Gonzalez-Dondo
Gonzalo Perez-Paina
author_sort Gustavo Albarran
collection DOAJ
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.
first_indexed 2024-03-08T22:50:16Z
format Article
id doaj.art-0dad16a4982b42708067c57204113c99
institution Directory Open Access Journal
issn 2525-0159
language English
last_indexed 2024-03-08T22:50:16Z
publishDate 2023-12-01
publisher Universidad de Buenos Aires
record_format Article
series Revista Elektrón
spelling doaj.art-0dad16a4982b42708067c57204113c992023-12-16T16:14:24ZengUniversidad de Buenos AiresRevista Elektrón2525-01592023-12-0172536010.37537/rev.elektron.7.2.184.2023108Differential-drive Mobile Robot Controller with ROS 2 SupportGustavo AlbarranJuan NicolodiDante RuizDiego Gonzalez-DondoGonzalo Perez-PainaAutonomous 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.http://elektron.fi.uba.ar/index.php/elektron/article/view/184autonomous mobile robotdifferential driveembedded controllerros 2micro-ros
spellingShingle Gustavo Albarran
Juan Nicolodi
Dante Ruiz
Diego Gonzalez-Dondo
Gonzalo Perez-Paina
Differential-drive Mobile Robot Controller with ROS 2 Support
Revista Elektrón
autonomous mobile robot
differential drive
embedded controller
ros 2
micro-ros
title 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_short Differential-drive Mobile Robot Controller with ROS 2 Support
title_sort differential drive mobile robot controller with ros 2 support
topic autonomous mobile robot
differential drive
embedded controller
ros 2
micro-ros
url http://elektron.fi.uba.ar/index.php/elektron/article/view/184
work_keys_str_mv AT gustavoalbarran differentialdrivemobilerobotcontrollerwithros2support
AT juannicolodi differentialdrivemobilerobotcontrollerwithros2support
AT danteruiz differentialdrivemobilerobotcontrollerwithros2support
AT diegogonzalezdondo differentialdrivemobilerobotcontrollerwithros2support
AT gonzaloperezpaina differentialdrivemobilerobotcontrollerwithros2support