Because of its complexity and severe nonlinearity, the understanding of heli- copter aerodynamics is still relatively poor, and the direct estimation of model parameters from experimental flight data still remains the only effective way to accurately capture the dynamics of a vehicle with unknown characteristics.
4.1 Model identification
The most common approach to model identification for small helicopters is sim- ply a specialisation of the classical approach widely used for full scale vehicles. Such models are based on a knowledge of aerodynamic principles, and the de- rived equations account for the lift and sideforce generated by the rotors, the effects of drag on the fuselage, the inertia and other effects of the stabilising bar, and the coupling between the major axes of the helicopter. This typically yields a very complicated model expressed in helicopter body coordinates, and with several tens of parameters. From a linearisation of this type of model, a state model can be derived; its free parameters can then be learned from flight data by using data association techniques in the frequency domain. By making provision for the selection of meaningful flight data, and by enabling the possi- bility of including several equilibrium points in the flight envelope, a sufficiently accurate helicopter model can be produced. Mettler et al. [21] and La Civita et al. [22] describe two successful applications of this technique.
A general weakness can be attributed to this method; since the model is ultimately linear, effects like inertia and gravity which involve the nonlinear contributions of velocity and angular rate are really hard to capture. To finesse this problem, Abbeel et al. [23] proposed an alternative approach to modelling based on acceleration prediction.
Physics tells us that the relationships between effects like inertia, gravity and acceleration are often straightforward, and so it is clear then that a model based on acceleration prediction could possibly be both simple and effective in describing these effects. Such a model will be expressed in acceleration terms, and so, in order to obtain the state vector, we will need to integrate the acceleration contributions at every timestep. Since the accelerations are expressed in body coordinates, and since the body reference frame changes at every timestep, a change of coordinates must be performed at every timestep before proceeding with the computation. Here we see that since the algorithm explicitly takes care of these changes of coordinates, the learning is greatly simplified since this highly nonlinear functional relationship does not need to be learned. (However, the model resulting from the integration of the acceleration prediction is still of course nonlinear).
The general model proposed by Abbeel represents a 6 DoF vehicle and delib- erately avoids giving any aerodynamic meaning to the dynamic equations; the only system knowledge introduced is reflected in the choice of body-centred co- ordinates, and of the axes of symmetry. According to the authors, its generality means that the same model could also be used with minor changes for vehicles very different from a helicopter. Faced with the specific situation of learning a model of the helicopter used in our project, we can therefore see an excellent opportunity for the use of the technique proposed by Abbeel, since only a very limited knowledge of the vehicle is necessary.
It is necessary to point out that this type of model, although potentially very accurate, still has 15 parameters and is fairly computationally expensive. This is not a problem when we are evolving the controller off-line, but unfortunately
it prevents us from using it real time in association with our Bayesian filtering algorithm. For this reason the simpler 6DoF model explained in 3.2 is used in the UKF.
4.2 Controller design
The evolutionary design of controllers based on neural networks has proven to be an effective methodology for designing controllers for simple robotics problems [24], and also for agents in computer games [25] [26]. A controller based on neural networks with specific topologies has also been applied successfully to the domain of helicopter control [27] [28], although in this case the training was based on reinforcement learning. Building on this previous work we have developed a method for training a custom designed neural network using a form of neuroevolution [29].