A ROS-Based Open Tool for Controlling an Educational Mobile Robot - Varela-Aldás, José (2024)
Commercial educational robots provide an accessible entry point into the world of robotics. However, their programming is often limited to specific platforms, which can make it challenging to acquire the skills necessary for industry and research. In this study, we introduce an open-access tool developed using C++ and Arduino IDE that enables us to manage a commercial mobile robot through the Robot Operating System (ROS) middleware. This provides programmers with the ability to work in a powerful programming environment, such as Python. The robot used is the CrowBot BOLT, a kit based on ESP32 that enables wireless communication and includes various peripherals for application development. The mobile robot topics include robot velocities, RGB LEDs, a buzzer, a programmable button, and proximity, light, and line sensors. The proposal is assessed using two controllers: one for proximity and the other for tracking angular light. Both controllers are developed using Visual Studio Code. The experimental results demonstrated the proper functioning of the tool. Additionally, the response time was evaluated, and it was found that optimal performance is achieved at a frequency of 10 Hz. In summary, this proposal provides an accessible option for students and developers seeking to gain skills in robotics using ROS. The project’s repository is located at https://github.com/joseVarelaAldas/ROS-Crowbot.