ethz-asl / mav_control_rw

Control strategies for rotary wing Micro Aerial Vehicles using ROS
Apache License 2.0
347 stars 159 forks source link

Mathematics Behind the Attitude Controller #27

Open CarSanoja opened 5 years ago

CarSanoja commented 5 years ago

Hello! Thank you for good work. I'm trying to understand the mathematics behind the attitude controller but there are certain aspects that I can't relate to the proposed block diagram for the control algorithm. In theory, the input to the model should be the relationships between the angular velocities (thrust, and moments on the axes). To find the corresponding angular velocities would need (if I understand) the allocation matrix but I do not see this reflected in the code. The attitude controller gives directly to the motor plugin the reference angular velocity.
I see there are two functions that perform these operations: PIDAttitudeController::CalculateRotorVelocities and PIDAttitudeController::ComputeDesiredAngularAcc, but I can't identify how they are related. Can someone help me clarify the question please? @alexmillane @ffurrer @ZacharyTaylor