We have already said that sequential least squares has conditioning problems for cruising flight, and in the simulations, it did not disappoint.
Each simulation starts out from a trimmed condition. With no noise, no control input, and using the known model, the airplane would fly straight and level forever. Every simulation initialized the parameters to their known values. Also, every simulation added Gaussian noise to the variables used in the controller and estimator.
The simulations could be run with different forgetting factors and
sampling rates for the parameter identification. Some of the
simulations modeled damage to the elevator occuring at
. Its effectiveness was halved by adjusting the
appropriate values in the known parameter vector. Some simulations
modeled a pullup manuever at
, followed by an
opposite push-down maneuver 10 seconds later.
The first few simulations, however, were straight and level
throughout. Figure 3 shows the simulation with
and a least squares update rate of 100 times per
second. It only took about 11 seconds for the parameters to blow up.
It seems logical to just eliminate the forgetting factor altogether.
Figure 5 shows the percent error for the six of
the parameters, for a simulation run with . The change in
values of all parameters remained well under one percent for the 20
minutes simulated.
Having found a configuration where the parameters do not blow up, let
us look at its response to some damage sustained by the control.
Figure 6 shows the known and estimated values of
one parameter, . At
, the damage occurs,
resulting in the halving of the known parameter's value. The estimate
stays near the known value until the damage occurs. But, curiously,
after the damage, it moves away from the new known value.
![]() |
![]() |
![]() |
When faced with the problem of poor conditioning in the estimator, we previously attempted to remedy it by increasing (and ultimately eliminating) the forgetting factor. Although the airplane performed its maneuver well, the parameter estimates were unacceptable. At some point, having accurate parameters will be crucial, and a forgetting factor will be necessary for that.
Therefore, we try another remedy for the conditioning problem: decreasing the least squares update rate. The rationale for this is that increasing the time between updates gives the airplane more time to change its state. Too many samples with the nearly the same input is what causes the conditioning problem, so increasing the sample time could reduce the number of similar inputs. (I also suspect there may have been some interactions between the simulation and the estimator due to discrete effects; changing the
In any case, in following simulations, the forgetting factor was set
to 0.99, while the estimator was only updated once every ten time
steps (ten times per second). Indeed, as Figure fig:case6-param
show, the parameters (, at least) do not blow up. In fact, after
damage occurs, they migrate to the new value. (That is, the estimator
does what it's supposed to do.)
![]() |
Figure 10 looks briefly at the control system performance under these conditions. The performance is mostly quite good.
![]() |
One signifant fact about the previous simulation is that its the success depended on a certain amount of noise present. When the simulation was run with less noise, the parameters once again blew up.