General understanding of the control loops architecture

Hi everyone, I’m new here and just started reading the documentary about the flight control system implemented. In order to set the control gains right I must have a better understanding of the implementation. I don’t what to change the values drastically on my first flight…
So I’m trying to understand the physics and the logic behind the implementation.
Im planning to start from stabilize flight mode so I’ll start from it.
For my understanding there is a proportional gain multiply the angle error for the angle control loop no feed forward using (for copter use of course). The angle error is set in radians.
That controller feeds the rate control loop that uses PID controller meaning the Input units are radians per second. The output result transforms somehow to motor throttle command in range of 0-1 and from there to PWM command to the ESC. Someone can help me understand how the transformation is done? I see there are position factors but I don’t think this is the only thing there is.
I think I’m missing something because from what I read here, the gains are very small and therefore the rate controller output changes around scale value of 10^-3.
I tried to search for the answer here and on ArduPilot docs but had no luck. Is there anyone here who can help? Thanks.

I am searching for more depth information about the control loops also, I found this link it may help you, if you have any sources kindly share with me, thank you

https://ardupilot.org/dev/docs/apmcopter-programming-attitude-control-2.html

https://ardupilot.org/dev/docs/code-overview-copter-poscontrol-and-navigation.html

https://ardupilot.org/copter/docs/systemid-mode-operation.html

2 Likes