Assume that I have an object in 3D, and I want to have a controller that stabilizes its orientation (also referred to as "attitude").
To be sure we are clear:
- attitude is measured in "degrees" or "radians"
- attitude rate is measured in "degrees/s" or "radians/s"
The controller is made of two cascaded control loops:
- attitude controller: the error controlled by this controller is the difference between the reference attitude and the real attitude
- attitude rate controller: the error controlled by this controller is the difference between the reference attitude rate and the real attitude rate
The attitude controller is made only of a P term, and therefore it is not hard to tune. However, the attitude rate controller has all three terms P, I, and D.
I am using the well-known Ziegler-Nichols method to tune the attitude rate controller. However, I am not sure that theoretically, what I am doing is correct.
My question is: is it possible to tune the P, I, and D terms of the attitude rate controller while observing the step response by giving a command in attitude? To apply this procedure, should I provide an attitude rate command instead? (The main problem is I cannot give an attitude rate command because my object would start to rotate and this is not practical). FYI and for completeness: my object is a drone, but I don't think it matters too much regarding my question.
The main problem is I cannot give an attitude rate command because my object would start to rotate and this is not practical, but then what are you expecting is going to happen if you give a step command for attitude? $\endgroup$