The Identification toolbox for MATLAB is used for this task, specifically the System Identification Tool. Its identification workflow is sketched in Fig. 1.
Fig. 1: Identification process
At first, we load input and output signals. Output signal is always the measured yaw rate (named “angular_rate_yaw_filtered” in data files). On those segments of signals where the control mode is set to manual, we use the signal of the servo position (named “yaw_servo_pos” in data files) as the input, because in this mode our helicopter uses a controller (yaw-rate gyro), that is unknown for us. On the segment of signals where control mode is set as automatic, we have two possibilities basically how to identify desired model, because here we know precisely the controller which is used to control yaw rate. We can use the same principle as on the segment with manual control mode (helicopter inputs - outputs, open-loop identification), however, we can use the signal of the yaw rate reference as input (named “des_yaw” in data files); having acquired the closed loop model, the plant’s transfer function can be recovered if the controller is known (closed loop identification).
The next step is selection of one of several options of linear parametric identification schemes which will be used to identification and subsequently select orders of the selected linear parametric model. Best results were achieved with the state-space method, models estimated by this method fit the real system better than other methods (ARX and others). Choice of the order is somewhat troublesome and a lot of trial-and-errors iterations must be undertaken.
When identifying, there is a problem with linear models, because they are valid only around one certain working point and our helicopter is strongly nonlinear. In Fig. 2 we can see, that the first estimated model is well suited for yaw rates around 0 rad/s.
Fig. 2: Simulated response of yaw rate to servo position and comparation with real
Second model that we estimated is fitted for yaw rates around approximately 3 rad/s, but when yaw rate is so high, estimated model is unstable and is useable only in closed loop with stabilizing controller. We can solve this problem to some extent by using both of these models simultaneously and switching them (according to the control mode and desired yaw rate command). In Fig. 3 we can see result of simulation with this “switching system”.
Fig. 3: Simulation of yaw rate with “switching” and comparation with real
Reference signal (green) in fact consists of two signals. On segment, where control mode is set as manual, reference signal matches signal of servo position (”yaw_servo_pos”). On segment, where control mode is set as automatic, reference signal matches signal of demand yaw rate (”des_yaw”) and stabilizing controller is connected in closed loop with our estimated model. Criterion for switching is the magnitude of demand yaw rate and current control mode. When control mode is set as automatic and demand yaw rate rises too much, we switch to the second model. When control mode is then set as manual, we switch back, because we know that in manual mode values of demand yaw rate aren’t so high.
 Mettler, B., Identification Modeling and Characteristics of Miniature Rotorcraft, Kluwer Academic Publishers, Boston/Dordrecht/London, 2003
 Astrom, K. and Hagglund T., PID Controllers: Theory, Design and Tuning, 2nd edition, Instrument Society of America, Research Triangle Park, NC, 1995
— Michal Šilhán 15/04/2008 10:48