Differential-drive Mobile Robot Controller with ROS 2 Support.
Date
2023
Journal Title
Journal ISSN
Volume Title
Publisher
Universidad Tecnológica Nacional.
Abstract
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.
Keywords: autonomous mobile robot; differential drive;
embedded controller; ROS 2; micro-ROS
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 produccion. Este ´ tipo de robots sustituyen a los tradicionales AGVs (Automated Guided Vehicles) en los cuales el camino a seguir esta definido ´ previamente y no tienen la capacidad de elegir un camino diferente. Por otro lado, los AMRs resultan mas flexibles, ´ seguros y precisos, debido a la incorporacion de tecnolog ´ ´ıas que hasta hace poco estaban reservadas al ambito de la ´ investigacion, tales como: navegaci ´ on aut ´ onoma, sistemas de ´ vision 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 codigo abierto y libre para el desarrollo de ´ aplicaciones de robots, cuya nueva version ROS 2 tiene como ´ uno de sus objetivos ser aplicable a entornos de produccion. El ´ presente trabajo describe el desarrollo de un controlador para robots de traccion diferencial tipo AMR con soporte para ´ ROS 2 utilizando la implementacion para sistemas embebidos ´ micro-ROS. Este controlador es la evolucion de una versi ´ on´ anterior utilizada en diferentes robots por mas de 10 a ´ nos en ˜ el CIII (UTN). Vale aclarar que este trabajo esta 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 traccion diferencial. En primer lugar, ´ se definen los requerimientos de diseno y se selecciona un ˜ microcontrolador con soporte nativo para micro-ROS. Luego se describe el desarrollo de cada etapa del controlador, tales como: la alimentacion, la comunicaci ´ on USB, el sensado de ´ tension de bater ´ ´ıa, el puerto de depuracion y el dise ´ no final ˜ del PCB. Por ultimo, se hace menci ´ on a las pruebas iniciales ´ de software que permiten verificar el correcto funcionamiento del controlador y las mejoras respecto a la version anterior.
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 produccion. Este ´ tipo de robots sustituyen a los tradicionales AGVs (Automated Guided Vehicles) en los cuales el camino a seguir esta definido ´ previamente y no tienen la capacidad de elegir un camino diferente. Por otro lado, los AMRs resultan mas flexibles, ´ seguros y precisos, debido a la incorporacion de tecnolog ´ ´ıas que hasta hace poco estaban reservadas al ambito de la ´ investigacion, tales como: navegaci ´ on aut ´ onoma, sistemas de ´ vision 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 codigo abierto y libre para el desarrollo de ´ aplicaciones de robots, cuya nueva version ROS 2 tiene como ´ uno de sus objetivos ser aplicable a entornos de produccion. El ´ presente trabajo describe el desarrollo de un controlador para robots de traccion diferencial tipo AMR con soporte para ´ ROS 2 utilizando la implementacion para sistemas embebidos ´ micro-ROS. Este controlador es la evolucion de una versi ´ on´ anterior utilizada en diferentes robots por mas de 10 a ´ nos en ˜ el CIII (UTN). Vale aclarar que este trabajo esta 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 traccion diferencial. En primer lugar, ´ se definen los requerimientos de diseno y se selecciona un ˜ microcontrolador con soporte nativo para micro-ROS. Luego se describe el desarrollo de cada etapa del controlador, tales como: la alimentacion, la comunicaci ´ on USB, el sensado de ´ tension de bater ´ ´ıa, el puerto de depuracion y el dise ´ no final ˜ del PCB. Por ultimo, se hace menci ´ on a las pruebas iniciales ´ de software que permiten verificar el correcto funcionamiento del controlador y las mejoras respecto a la version anterior.
Description
Keywords
Robot móvil autónomo, Tracción diferencial, Controlador embebido, ROS 2, micro-ROS
Citation
Revista elektron, Vol. 7, No. 2, pp. 53-60 (2023)
Endorsement
Review
Supplemented By
Referenced By
Creative Commons license
Except where otherwised noted, this item's license is described as info:eu-repo/semantics/openAccess