This repository implements a velocity-based Model Predictive Control (MPC) planner using CasADi. The optimization formulation minimizes trajectory tracking error, penalizes undesired motion (like negative or high angular velocity), and obeys dynamics and velocity constraints.
We solve the following nonlinear program at each planning step:
Minimize tracking error and control effort:
For all
For all
For all
-
$X = {x_t, y_t, \theta_t}_{t=0}^{N}$ : state trajectory -
$U = {v_t, \omega_t}_{t=0}^{N-1}$ : control inputs -
$P = {x_I, y_I, \theta_I, x_G, y_G, \theta_G}$ : initial and goal states
-
Obstacle Avoidance For all
$t \in$ :${1, \dots, O}, \forall t \in {1, \dots, N}, \quad \text{dist}(x_t, o_i) \geq I$
This work is inspired by the Casadi-MPC project.