A collection of mobile robotics control system implementations using Webots simulation environment. Learn robot navigation, localization, and autonomous behavior development through hands-on examples and practical implementations.
📝 Migration Notice: Currently migrating source code from Webots R2022a to Webots R2025a. Some implementations may be in transition.
Mobile robotics control systems design and implementation covering:
- 💻 Microcontroller programming and sensor integration
- ⚙️ Actuator control processes for precise movement
- 🗺️ Localization algorithms and navigation systems
- 🧠 Autonomous behavior development
- 🔧 Software interface design for robot control
├── ajbarea_lab1/ # 🚀 Basic robot movement and control
├── ajbarea_lab2/ # 📡 Sensor integration and feedback systems
├── ajbarea_lab3/ # 🧭 Navigation and obstacle avoidance
├── ajbarea_lab4/ # 🎛️ Advanced control algorithms
├── ajbarea_lab5/ # 📍 Localization techniques
├── ajbarea_lab6/ # 🤖 Autonomous behavior systems
├── tests/ # ✅ Unit tests and validation
└── lint.py # 🧹 Code quality tools
- 🌐 Simulation Environment: Cyberbotics Webots R2025a
- 🐍 Programming Language: Python 3.13+
- 🤖 Robot Platform: e-puck differential drive robot
- ⚡ Control Systems: PID controllers, state machines
- 📡 Sensors: Distance sensors, encoders, camera
- 🌐 Webots R2025a or later
- 🐍 Python 3.13+
- 🔧 Git
-
Clone the repository:
git clone https://github.com/ajbarea/control-of-mobile-robots.git cd control-of-mobile-robots -
Install development dependencies:
pip install -e ".[testing]" -
Open any module world file in Webots and run the corresponding controller.
- ⚡ Basic movement control
- 🔄 Velocity and angular velocity manipulation
- 📐 Circular and linear motion patterns
- 📏 Distance sensor calibration
- 🔄 Feedback control systems
- ⚡ Reactive behaviors
- 🏃♂️ Wall following algorithms
- 🚶♂️ Corridor navigation
- 🧩 Maze solving strategies
- 🎯 PID controller implementation
- 📍 Trajectory following
- 🎛️ Precision movement control
- 📊 Odometry calculations
- 🎯 Position estimation
- 🔀 Sensor fusion techniques
- 🧠 Decision-making algorithms
- 🔄 Multi-task coordination
- 🌐 Complex navigation scenarios
python -m pytest tests/ -vpython lint.pyEach module contains Webots world files (.wbt) and corresponding Python controllers. Open the world file in Webots and the controller will automatically load.
This repository provides practical implementations of mobile robotics algorithms. Each module builds upon previous concepts, making it suitable for:
- 📚 Students learning robotics fundamentals
- 💻 Developers implementing mobile robot control systems
- 🔬 Researchers prototyping navigation algorithms
- 🤖 Anyone interested in autonomous robot behavior
All implementations are thoroughly documented and tested. ✅
