Quadrotor Digital PID Control System and Dynamics Modelling

A digital control system model of the pixhawk quadrotor was constructed in scicoslab along with a continuous model of the quadrotor dynamics (the visual model is an arducopter). The user can input the guidance commands to the autopilot through sliders. As the video shows, the yaw response it not optimal, which also happens in the actual system. Using the mavsim Scicoslab toolbox (https://github.com/openmav/mavsim/) , the model can be simulated and then, once the system has been correctly identified, the dynamics can be linearized. The linear model of the system makes the problematic modes clear and aids in designing an improved controller.

Views: 4041

Comment by Matthew Coleman on March 17, 2011 at 12:03am

Great work James.

Have you thought of applying the aircraft model to a state space controller instead of PID?

Comment by James Goppert on March 17, 2011 at 10:37am
The pixhawk guys are using a kalman filter for state estimation so the thought of using an lqg controller definetly crossed my mind. But for now I wanted to help them optimize their existing controller. Also tuning a linear quadratic regulator in the field is not an easy task and if you have any modelling errors they tend to not be as robust as classical designs. If we could integrate an LQR solver into the ground control station it might be more feasible.
Comment by Kostas Alexis on March 17, 2011 at 1:55pm
LQG is a linear controller and assumes that all states can be estimated through a LINEAR observer. On the contrary all quadrotors (and MAVs genearally) use Nonlinear Kalman Filters (mainly EKF). So do you think that designing - experimentally verifying an LQG is a straight-forward process?

Comment by James Goppert on March 17, 2011 at 2:11pm
Ahh, that's a good point. Since the state is continually evolving you would have to design an lqg control system for a set of dynamic states and then have a hybrid controller that would jump into those modes. Which would lead to transition problems, and good luck with gain scheduling. What I"m currently working on in mavsim is using linear quadratic output feedback optimization as described in lewis and stevens to optimize a given controller structure. This gives the best of both worlds, a simple, optimal design. However, unlike lqg it doesn't have the automatically robust phase margin. If you want to check this out see the linear quadratic script demo in mavsim.
Comment by Matthew Coleman on March 17, 2011 at 3:44pm

Now I am completely out of my depth but I did ask for it..


Comment by Kostas Alexis on March 18, 2011 at 2:44am
Well you could optimally select the different linearization points and guarantee smooth transition through Linear Matrix Inequality optimization. I have worked on something similar using Model Predictive Control on Quadrotors. I will check your code - thanks James!

Comment by James Goppert on March 18, 2011 at 3:38pm
Sounds interesting. Any good papers you can point me to?
Comment by Hyon Lim on March 18, 2011 at 5:10pm

Hi. This is very interesting work. Our group also working on the modeling of quadrotor.

However, how did you measure the Ixx,Iyy,Izz of the quadrotor? Using solidworks?

and can I have your e-mail address to contact further?


And can I see the model equation that you used?

Comment by Hyon Lim on March 18, 2011 at 5:14pm

For the model predictive control, maciejowski's book is the best.

However, I think it is impossible to apply MPC in quadrotor, because the computation load is high.

Usually, control input is generated by solving Quadratic Programming (QP). Not easy to implement it in C.

And the model accuracy will be far from true model.

Linearization point. That's good. But, seems not easy to implement.


For the papers, Full control of a Quadrotor paper is good starting point.

Comment by UFO-MAN on March 19, 2011 at 2:16am

Hi Hyon, is it this paper (Full control of a Quadrotor) http://www.scribd.com/doc/35698632/BL-Full-Control-of-a-Quadrotor you are reffering to in your above post?


Is it possible to run Scicos with the Mavsim toolbox on Windows or do I as an alternative have to run it on a virtual Machine running on XP with Linux as the guest OS? (I would like to have access to it on my Windows box). 




You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service