The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part B5. Beijing 2008
3. THE SIMULATION ENVIRONMENT
In order to evaluate in advance the main issues related with the
development of an autonomous guidance system for our
unmanned model helicopter, we decided to build a simulation
software with Simulink, a Matlab programming environment
based on the block scheme algebra. The main goal of this
approach was to define and to tune the set of servos needed for
the helicopter control, avoiding any possible damage of the
system components caused by a trial and error approach in a
real environment. In order to reliably simulate the dynamics of
our small-size helicopter, we took into account the effects of
following components: main rotor, tail rotor, aerodynamic drag
(wind effect) generated by the fuselage, horizontal and vertical
fin. To this aim we considered four main servos: the collective
pitch control, the cyclic stick, the collective stick and the
throttle. The whole block scheme implemented in Simulink is
summarized in figure 4. Here the first block models the
helicopter servos which are input into the second block, the
dynamic model. In turn, this block outputs translational
acceleration and angular velocity, related to the body frame, and
position and attitude in the inertial frame, which are then fed
into the measurement sensor block. Here noise is added in order
to better simulate the real behaviour of the GPS, IMU and earth-
magnetic sensors. The output of this block represents the (noisy)
state of the system which is evaluated by an Extended Kalman
Filter (fourth block). Afterthat, the output of the filter is
compared with a reference trajectory in order to determine again
the values fo the servos. This trajectory, acting as the feedback
loop required in every control system, has been generated using
position and attitude information derived by taking into account
helicopter and digital cameras (Field of View) technical
specifications. Each block of figure 4 will be described in the
following subsections.
Reference
K ——1
Dynamic
Measurement
trajectory
model
sensors
Extended
Kalman filter
Figure 4. Block scheme of the simulation environment.
3.1 The dynamic model
The Raptor 90 has been modeled as a 6 degree of freedom (dof)
rigid body (3 rotations and 3 translations), whose state is
described by following measurements (see figure 5):
- Center of mass position
p = (x,y,zf (i)
- Attitude (euler angles)
q - (<p,3 y y/f ( 2 )
where (j) denotes the roll, 0 the pitch and \\i the yaw angle;
- Velocity
v=(w,v.iv) r (3)
- Angular velocity
G> = (p,q,r) T (4)
As regards the dynamic and kinematic equations two different
reference systems have been considered: the inertial frame (A)
and the body (5) frame (figure 5).
Figure 5. The inertial frame (A) and the Body frame (B)
Basically, the analitical model for the helicopter can be
summarized in following equation system:
+BC0 B.A xBlB <°B.A = BM C
m B v c +m B S B ,x s v c = s F
q = '¥(q) à
p=' B R(q)\-
(5)
where the first two equations describe the rotational and the
translational helicopter dynamics respectively, while the latters
allow to determine respectively the aircraft attitude and position
in the body frame. Such measurements, derived from angular
and translational velocity computed in the inertial frame, are
related to the body frame through rotation matrices 'F(q) and
R(q). Beside dynamic and kinematic equations, a complete
analitical modeling of the helicopter requires the knowledge
about forces and couples acting on it. After exhaustive reading
of most recent literature on UAV helicopters, we decided to
take into account following forces and couples (figure 6):
- Gravity force;
- Main rotor;
- Tail rotor;
- Fuselage;
- Horizontal fin;
- Vertical fin.
For brevity sake, we highlight here that the fuselage has been
considered as a planar plate subjected to dynamic pressure
along the three axis directions of the body frame. Values of the
three corresponding equivalent surfaces are reported in table 3.
We also took into account wind gust effects (aerodynamic drag),
which acts on 3 helicopter components: fuselage, tail plane and
the rudder unit. In this case we did not use any of the existing
models already implemented in Simulink, but rather we
employed three small Slider Gain blocks which allows the user
to directly modify the simulation by introducing wind gusts by
simply moving three cursors with the mouse.
The helicopter dynamic model block outputs four different
measurements, which are used by the subsequent block for
sensor simulation: translational and angular accelerations in the
body frame and position and attitude in the inertial frame.