/MPC-MIP

Final project on Trajectory Optimization

Primary LanguageJulia

AA222_Project

Project on Trajectory Optimization

Experiments

How to run the series of 100 tests with MPC_MIP algorithm:

cd itsc  
julia scn.jl mpc_mip  

Other supported algorithms:

cd itsc  
julia scn.jl mpc
julia scn.jl dp

Elastic Model for Collision Avoidance

Sometimes a constraint can not be satisfied, but we would like nevertheless to return a solution that minimizes deviation to our constraint. Instead of just throwing INFEASIBLE ...
For example, if we can not maintain a safety distance of 4 meters, then it may be OK to use 3 meters ..
=> Allow to violate constraints at a cost. Introduce slack variables and add them to the objective as penalty.

\begin{split}\begin{array}{lr}   \minimize    & c^Tx, \   \st          & a^Tx\leq b. \end{array}\end{split}

which might be causing infeasibility. Then create a new variable y and form the problem which contains:

\begin{split}\begin{array}{lr} \minimize    & c^Tx+y, \ \st          & a^Tx\leq b+y. \end{array}\end{split}
Solving this problem will reveal by how much the constraint needs to be relaxed in order to become feasible.
This is equivalent to inspecting the infeasibility certificate but may be more intuitive.

Optimization Algorithms

Trajectory Optimization Resources

Path2d generation