uzh-rpg / rpg_quadrotor_control

Quadrotor control framework developed by the Robotics and Perception Group
Other
582 stars 183 forks source link

Body Rate Control Policy Confused #71

Closed iLizefan closed 6 years ago

iLizefan commented 6 years ago

Hi.. I have been learning about quadrotor-control for some time and i have read your paper and code in earnest.What i can't understand is formula(12)in ‘RAL17_Faessler’.I can't combine LQR and PD controller very well. While Klqr is calculated and i put it into u = -Klqr*s,i still can't get the control policy(12).Can you teach me in more detail about it ? My english is not very well but what you do really makes me excited,im sorry if what i say bothered you. Thank you very much.

foehnx commented 6 years ago

The control policy in equation 12 of the RAL17_Faessler paper is a linear state feedback. To put it simple, you take the error of your states, [omega_des - omega_hat; eta_ref - eta_hat] and multiply it with your LQR gain matrix. We additionally correct with feed-forward (J omega_dot_des) and gyroscopic effect compensation (+ omega_hat x Jomega_hat). The statement that this behaves like a PD controller comes from the fact that we use the body rate (omega) and torques (eta) as state. Note that eta approximates omega's derivative without the gyroscopic terms, therefore we cover a linear feedback on omega (P-term) and it's derivative (D-term).

Does this answer your question? It doesn't "combine" controllers. It is an LQR that behaves similar to a PD controller because it acts on the state and the (approximated) derivative.

iLizefan commented 6 years ago

Thank you for your patient explaining ,it will really help me and i will think seriously .I think i need to learn ’Modern Control Theory‘ at first. Thank you very much again!