Open-source Python implementation of GeorgiaTech's "Control of Mobile Robots" course
A free, educational alternative to MATLAB for learning mobile robot control theory and implementation.
Provide students with:
- Interactive Jupyter notebooks covering control theory fundamentals
- Reusable Python modules for robot models and controllers
- Visual simulator to see algorithms in action
- Zero cost - completely free and open-source
- Cruise controller examples
- PID tuning techniques
- Discrete-time implementation
- Differential drive kinematics
- Unicycle model
- Odometry and wheel encoders
- Sensor models
- Linearization techniques
- Stability analysis (eigenvalues)
- Consensus algorithms for swarm robotics
- Pole placement
- Controllability & observability
- Luenberger observers
Windows (Easy Mode):
- Double-click
setup_venv.bat - Wait for installation to complete
- Done! 🎉
Manual Setup (All Platforms):
# Navigate to project
cd control_mobile_robots
# Create virtual environment
python -m venv venv
# Activate it
.\venv\Scripts\activate # Windows
source venv/bin/activate # Mac/Linux
# Install dependencies
pip install -r requirements.txtSee detailed instructions: SETUP_INSTRUCTIONS.md
- Install the Jupyter extension in VSCode
- Open any
.ipynbfile - Click "Select Kernel" → Choose your Python environment
- Run cells with
Shift+Enter
NEW! 2D mobile robot simulator with go-to-goal controller:
Quick Launch (Windows):
- Double-click
run_simulator.bat
Manual Launch:
cd simulator
python main.pyFeatures:
- Click to set goal positions
- Watch PID controller in action
- See odometry drift over time
- Add obstacles with right-click
- Real-time visualization
See simulator/README.md for full details.
Option 1: Start with Notebooks
notebooks/module_2_robot_models/01_differential_drive.ipynbnotebooks/module_2_robot_models/02_unicycle_model.ipynb- Then explore Module 1 (PID Control)
Option 2: Start with Simulator
- Run
run_simulator.batand play with it - Then dive into notebooks to understand the theory
- Come back to simulator to see concepts in action
- NumPy/SciPy - Numerical computing
- python-control - Control theory functions
- Matplotlib - Plotting and visualization
- Jupyter - Interactive notebooks
- Pygame - 2D robot simulator ✅
Based on the Coursera course "Control of Mobile Robots" by Dr. Magnus Egerstedt (Georgia Tech).
This is an independent educational project - not affiliated with Georgia Tech or Coursera.
Contributions welcome! This is a learning project.
MIT License - Free for educational use