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
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