Educational robotics beyond ROS: a custom library for direct transfer of Webots controllers in the Turtlebot3
Organizations: Integrated Group for Engineering Research (GII), CITIC research center, Universidade da Coruña, A Coruña, Spain · Grupo de investigación Ciencia y Técnica Cibernética (CTC), CITIC research center, Universidade da Coruña, A Coruña, Spain
Abstract
Robot Operating System (ROS) is becoming a standard in robotics courses at higher education, but its installation, configuration and distributed programming model can introduce a significant entry barrier in the new landscape of AI-based master and degree studies, where many students do not have a strong informatics background. This paper presents an educational experience that enables students to program a TurtleBot3 Burger directly in Python, while preserving a direct transfer path from simulation to the physical robot. The approach is based on a custom library that mirrors the Webots API, allowing the same controller code to be executed in the simulator and on the real TurtleBot3 with minimal modification. The library provides access to the robot motors, wheel encoders, inertial sensors and LiDAR, and is complemented by scripts that automate deployment and execution on the physical platform. It was used in a master-level course on introductory autonomous vehicles, and initial student feedback suggests that the approach reduces the perceived complexity of ROS-related infrastructure and helps learners focus on algorithmic logic and real-world behaviour.
Figures & tables
| Based on your knowledge and experience about ROS, what main advantages did you find in programming and running the TurtleBot3 directly in pure Python? |
|---|
| - Simpler and more focused on the control logic. |
| - When programming directly in Python, you do not need to think about the distribution of nodes or communication mechanisms, so the programming style is closer to the type of programming we use in the rest of the subjects. |
| - I do not have to think about packages, services, messages, publishing, subscription, etc. |
| - The main advantage I found in Python is the ease of integrating code libraries, such as NumPy or priority queues. |
| - The simplicity of using only a Python script and not having to deal with ROS packages. |
Robotics Education
Robotics education develops curricula, tools, and learning experiences that teach robotics concepts and skills through programming, simulation, and hands-on work.
See all 21 papers