The RF-MPC algorithm, originally designed for quadruped robots (https://github.com/YanranDing/RF-MPC), is adapted for use with UAVs after some modifications.
I have provided a simple trajectory without considering the quadrotor UAV's dynamic constraints and optimization. You can run test_traj.m
to see the results.
Basic: MATLAB and MATLAB optimization toolbox
Optional: qpSWIFT (can be obtained from https://github.com/qpSWIFT)
There is no need to install external packages.
Navigate to the root directory and run the MAIN_UAV.m
function
The robot is modeled as a single rigid body (SRB). The SRB dynamics is defined in ...\fcns\dynamics_SRB_UAV.m
The code for variation-based linearization and vectorization steps is in ...\fcns_MPC\fcn_get_ABD_eta_UAV.m
The code for QP formulation is in ...\fcns_MPC\fcn_get_QP_form_eta_UAV.m
The QP could be solved by either the MATLAB QP solver quadprog
or an efficient QP solver qpSWIFT (coming soon!)
This code is based on the following paper:
- Yanran Ding, Abhishek Pandala, Chuanzheng Li, Young-Ha Shin, Hae-Won Park "Representation-Free Model Predictive Control for Dynamic Motions in Quadrupeds". In IEEE Transactions on Robotics.
Thanks to Yanran Ding