This repository implements a Nonlinear Model Predictive Control (NMPC) framework for smooth trajectory planning and dynamic obstacle avoidance in the RoboCup Small Size League (SSL). It is designed as an alternative to reactive, kinematics-based approaches such as the Bang-Bang Trajectory Generator used in frameworks like TIGERs Mannheim’s Sumatra.
- Predictive obstacle avoidance with nonlinear constraints
- Optimization-based trajectory planning over a finite prediction horizon
- Cost function combines reference tracking, control effort minimization, and trajectory smoothness
- MATLAB-based implementation with solver-based optimization
-
Average velocity improvement of 5.3% over Bang-Bang control
- MPC: 1.045 m/s
- Bang-Bang: 0.992 m/s
-
Generates smooth, efficient, and collision-free trajectories
-
Maintains safety margins with predictive obstacle modeling
-
System Model
- State: position [x, y]
- Control input: velocity vector [vx, vy]
- Discrete-time integrator dynamics
-
Optimization Problem
- Prediction horizon: N = 20 steps
- Sampling time: Ts = 0.05 s
- Cost function: reference tracking, control effort, smoothness
-
Constraints
- Velocity limits: |vx|, |vy| ≤ vmax
- Collision avoidance via nonlinear distance constraints with obstacle prediction
- Multi-robot coordination for team play
- Integration with reinforcement learning for adaptive strategies
- Hardware deployment with real-time optimizations
- Sim-to-real validation on physical robots