Nonlinear Model Predictive Control of a Differential Drive Robot in MATLAB, with Extended Kalman Filter based Sensor Fusion and State Estimation
Model Predictive Control and Extended Kalman Filter based Sensor Fusion (wheel odometry and IMU) / State Estimation for the NVIDIA Nova Carter differential-drive robot, implemented and validated in MATLAB.
This project simulates closed-loop autonomy for the Nova Carter AMR platform using:
- A 5D kinematic model with actuator dynamics
- An Extended Kalman Filter (EKF) for sensor fusion
- A Nonlinear Model Predictive Controller (NMPC) for trajectory tracking
Developed entirely in MATLAB, the system fuses encoder and IMU data for robust state estimation and generates smooth, feasible control commands under realistic actuator constraints.
- Platform: Segway RMP Lite 220 + NVIDIA Jetson AGX Orin
- Wheel radius: 0.140 m
- Track width: 0.414 m
- Max speed: 3.0 m/s
- Max angular rate: 2.0 rad/s
- MATLAB R2021b or later
- Optimization Toolbox (for NMPC)
- Control System Toolbox
>> git clone https://github.com/Fonyuy45/nova_carter_mpc
>> cd nova-carter-mpc
>> setup_project
>> cd tests
>> test_closed_loop_autonomy_optionB- 3D state:
[x, y, θ] - Forward/inverse kinematics
- Wheel velocity conversions
- Trajectory generation (circle, spiral, line)
- Constraint checking
- 5D state:
[x, y, θ, v, ω]including actuator dynamics - EKF with encoder + IMU fusion
- NMPC with actuator dynamics and acceleration constraints
- Closed-loop simulation with realistic motor lag
- Tracking error and estimation diagnostics
- EKF achieves <2 cm position error and sub-degree heading accuracy in simulation
- NMPC generates smooth control commands respecting acceleration limits
- Full autonomy stack validated over 500-step simulations with reference tracking
Dieudonne YUFONYUY
LinkedIn | GitHub
MIT License