Just to give a bit a context, here are the equations I'm using for the Angular accelerations.

φ** =(1/Jx)τφ


θ** =(1/Jy)τθ

So my plant gains would be

φ**/τφ =(1/Jx) along x axis


θ**/τθ =(1/Jy) along y axis

The basic PID structure is


Lets just say my plant gain for angular accl around x axis is φg and my PID gain is Pg. To obtain a controller, do I do

(φg)(Pg)=open loop gain=L

and for closed loop L/(1+L).

My question is, am I right about what I'm doing and do I upload the algorithm in time domain form or frequency domain form (Silly question as frequency domain is for analysis but my only control experience is purely theory and entirely focused on analysis using root locus and nyquist)

  • $\begingroup$ Are you simulating this system at all? That would definitely be the best place to start. $\endgroup$
    – holmeski
    Feb 25, 2015 at 17:12
  • $\begingroup$ What are $Jx$ and $Jy$ in your equations? $\endgroup$
    – Paul
    Feb 26, 2015 at 0:48
  • $\begingroup$ moment of inertia $\endgroup$
    – Ozymandias
    Feb 26, 2015 at 21:17

1 Answer 1


Microcontrollers and software in general is not in continuous time but discrete time. So you need to use the discretized version of the PID and use it in discrete time (iterations) domain.

If you are curious about quadropters, I would suggest to check coursera or edx website. There was some time ago a nice quadropter course made by university of Munich if I am right ;).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.