Differential-drive Mobile Robot Controller with ROS 2 Support
DOI:
https://doi.org/10.37537/rev.elektron.7.2.184.2023Keywords:
autonomous mobile robot, differential drive, embedded controller, ROS 2, micro-ROSAbstract
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.Downloads
References
A. Moshayedi, J. Li, and L. Liao, “AGV (automated guided vehicle) robot: Mission and obstacles in design and performance,” Journal of Simulation & Analysis of Novel Technologies in Mechanical Engineering, vol. 12, pp. 5–0018, 11 2019.
G. Ullrich, Automated Guided Vehicle Systems: A Primer with Practical Applications. Springer Publishing Company, Incorporated, 2014.
L. Lynch, T. Newe, J. Clifford, J. Coleman, J. Walsh, and D. Toal, “Automated Ground Vehicle (AGV) and sensor technologies- a review,” in 2018 12th International Conference on Sensing Technology (ICST), 2018, pp. 347–352.
F. Gul, S. S. N. Alhady, and W. Rahiman, “A review of controller approach for autonomous guided vehicle system,” Indonesian Journal of Electrical Engineering and Computer Science, vol. 20, no. 1, pp. 552 562, oct 2020. [Online]. Available: https://doi.org/10.11591/ijeecs.v20.i1.pp552-562
C. Ilas, “Electronic sensing technologies for autonomous ground vehicles: A review,” in 2013 8TH International Symposium on Advanced Topics in Electrical Engineering (ATEE), 2013, pp. 1–6.
IFR, “Service robots,” https://ifr.org/service-robots.
C. Cronin, A. Conway, and J. Walsh, “State-of-the-art review of autonomous intelligent vehicles (AIV) technologies for the automotive and manufacturing industry,” in 2019 30th Irish Signals and Systems Conference (ISSC), 2019, pp. 1–6.
L. Lynch, F. McGuinness, J. Clifford, M. Rao, J. Walsh, D. Toal, and T. Newe, “Integration of autonomous intelligent vehicles into manufacturing environments: Challenges,” Proc. Manufacturing, vol. 38, pp. 1683–1690, 2019.
S. G. Tzafestas, “Mobile robot control and navigation: A global overview,” Journal of Intelligent & Robotic Systems, vol. 91, pp. 35–58, 2018.
Y. Abdelrasoul, A. B. S. H. Saman, and P. Sebastian, “A quantitative study of tuning ROS gmapping parameters and their effect on performing indoor 2D SLAM,” in 2016 2nd IEEE International Symposium on Robotics and Manufacturing Automation (ROMA), 2016, pp. 1–6.
C.-W. Chen, C.-L. Lin, J.-J. Hsu, S.-P. Tseng, and J.-F. Wang, “Design and implementation of AMR robot based on RGBD, VSLAM and SLAM,” in 2021 9th International Conference on Orange Technology (ICOT), 2021, pp. 1–5.
D. V. Nam and K. Gon-Woo, “Solid-State LiDAR based-SLAM: A concise review and application,” in 2021 IEEE International Conference on Big Data and Smart Computing (BigComp), 2021, pp. 302–305.
M. Quigley, K. Conley, B. P. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, and A. Y. Ng, “ROS: An open-source Robot Operating System,” in Workshops at the IEEE International Conference on Robotics and Automation, 2009.
L. Zhang, R. D. Merrifield, A. Deguet, and G. Yang, “Powering the world’s robots - 10 years of ROS,” Sci. Robotics, vol. 2, no. 11, 2017. [Online]. Available: https://doi.org/10.1126/scirobotics.aar1868
L. Joseph, ROS Robotics Projects. Packt Publishing, March 2017.
B. Gerkey, “Why ROS 2?” https://design.ros2.org/articles/why ros2.html, 2022.
S. Macenski, T. Foote, B. Gerkey, C. Lalancette, and W. Woodall, “Robot Operating System 2: Design, architecture, and uses in the wild,” Science Robotics, vol. 7, no. 66, may 2022.
OSRF, “Programming multiple robots with ROS 2,” https://osrf.github.io/ros2multirobotbook/, 2023.
D. Thomas, W. Woodall, and E. Fernandez, “Next-generation ROS: Building on DDS,” in ROSCon Chicago 2014. Mountain View, CA: Open Robotics, sep 2014.
K. Belsare, A. C. Rodriguez, P. G. Sánchez, J. Hierro, T. Kołcon, R. Lange, I. Lütkebohle, A. Malki, J. M. Losa, F. Melendez, M. M. Rodriguez, A. Nordmann, J. Staschulat, and J. von Mendel, Micro-ROS, ser. Studies in Computational Intelligence, Vol. 1051. Cham: Springer International Publishing, 2023, pp. 3–55.
eProsima, “eProsima Micro XRCE-DDS,” https://micro-xrce-dds.docs.eprosima.com/en/latest/, Accessed 2023.
CIII-UTN-FRC. (2023) Differential drive robot controller based on ESP32. [Online]. Available: https://github.com/ciiiutnfrc/ddrc esp32
M. Baudino and S. Pérez, “Hardware de Control de Plataforma Robótica Móvil con Arquitectura ARM y RTOS. Caracterización.” Universidad Tecnológica Nacional - Facultad Regional Córdoba, Tech. Rep., 2010.
D. A. Gaydou, G. F. Pérez Paina, G. M. Steiner, and J. Salomone, “Plataforma móvil de arquitectura abierta,” in Proceedings of the V Jornadas Argentinas de Robótica (JAR). Ediuns, November 2008.
G. Perez Paina, G. Araguas, D. Gaydou, G. Steiner, and L. Rafael Canali, “RoMAA-II, an open architecture mobile robot,” Latin America Transactions, IEEE (Revista IEEE America Latina), vol. 12, no. 5, pp. 915–921, Aug 2014.
G. F. Perez Paina, F. E. Elizondo, D. A. Suares, and L. R. Canali, “Design and implementation of a multi-sensor module for mobile robotics applications,” in Proceedings of the Argentine Conference on Embedded Systems (CASE), 2012, pp. 269–274.
G. F. Perez Paina, D. A. Gaydou, N. L. Palomeque, and L. A. Martini, “Librerı́as embebidas para microcontroladores LPC2000 de aplicación en robótica,” in Proceedings of the Argentine Conference on Embedded Systems (CASE), 2011.
Convenio de transferencia tecnológica: CIII-UTN-FRC y Caima Segall S.R.L., “Robot Móvil Autónomo para Transporte de Partes en Logı́stica Interna de Planta DENSO Manufacturing Argentina,” 2020.
CIII-UTN-FRC. (2021) romaa ros: ROS packages for the RoMAA robot. [Online]. Available: https://github.com/ciiiutnfrc/romaa ros
G. Perez-Paina, D. Gaydou, and G. Araguás, “Driver de ROS para el robot móvil RoMAA,” in Proceedings of the X Jornadas Argentinas de Robótica (JAR), 2019.
micro ROS. (2020) Supported hardware. [Online]. Available: https://micro.ros.org/docs/overview/hardware/
Espressif, “JTAG Debugging,” https://docs.espressif.com/projects/espidf/en/latest/esp32/api-guides/jtag-debugging/index.html, Accessed 2023.
OpenOCD, “Open On-Chip Debugger,” https://openocd.org/, Accessed 2023.
Espressif, “Introduction to the ESP-Prog Board,” https://docs.espressif.com/projects/espressif-esp-iot-solution/en/latest/hw-reference/ESP-Prog guide.html, Accessed 2023.
Published
Issue
Section
License
The authors who publish in this journal agree with terms established in the license Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)