1. Introduction
Mankind has always been fascinated by the agility of small birds and the hummingbird in particular, which is the only one capable of hovering, flying backward and sideways. In the past decade, miniature components (electronic components, MEMS inertial units, high energy-density batteries) have become available, leading to various research projects involving robotic hummingbirds. The problem is difficult, because it involves many different fields such as unsteady aerodynamics, aeroelasticity, mechanism, manufacturing and control. Not many academic projects went as far as flying. An excellent review of ongoing studies in the field of flapping-wing micro air vehicles is available in [
1] (see also [
2]). Particularly relevant are the impressive Nanohummingbirds [
3], developed by Aerovironment with DARPA funding, and the Konkuk university robot [
4,
5], with a weight of only 15.8 g and a flight autonomy of 9 min.
Our project named
COLIBRI is tailless with two membrane wings, of the size of a large hummingbird. A general view of the robot is presented in
Figure 1; the left side shows an early version of the robot [
6,
7,
8] with the control board on top of the robot [
9]. The right side shows the current configuration where the control board and the two batteries are located at the bottom of the robot. The wing span is 21 cm, the flapping frequency is 20 Hz and the weight is around 22–23 g depending on the configuration. The flapping mechanism and gearbox are documented in [
10]. The wings consist of membranes attached to the leading edge bars (moved by the flapping mechanism) and the control bars used to change the membrane wings configuration in order to generate the control torques (the technique called
wing twist modulation was pioneered in [
3]). All actuators (motor, servos) are low-cost, off-the-shelf components. The robot structure is 3-D printed. The initial version of the COLIBRI robot used a Micro MWC Flight Control Board of Hobbyking with a clock of 16 MHz and a six-axes IMU (three gyro axes and three accelerometer axes), for a weight of 1.8 gr. A new control board has been developed including a ARM processor with a clockspeed of 168 MHz and two IMU sensors, one with six axes and one with nine axes, including a magnetometer. The board also includes a Bluetooth link, for a total weight of 1.4 gr; it is briefly described in [
11]. The IMUs are particularly critical components in view of the noisy environment due to the flapping of the wings; the flapping noise is analysed in [
11].
It is not difficult to imagine the wide range of applications that a robotic hummingbird could perform if it were available with an agility comparable to that of real birds, particularly the most difficult task of all: reconnaissance in a confined, unstructured environment. On the military side, drones are taking an increasing role in modern warfare; robotic birds would bring the highly desirable feature of concealment (camouflage). But prior to this, one must produce a robot capable of following a trajectory with reasonable accuracy for a sufficient flight time (for comparison, the
Black Hornet, a rotorcraft of the size of a small bird popular in the military, has a flight autonomy of 25 min, and a price tag of six digits). The current limit to autonomy is that the mass of existing robotic hummingbirds is still about twice the mass of their natural counterpart with the same wing span [
12].
The MEMS inertial unit (IMU) of a flapping wing robot is a critical component because of the intense flapping noise; this motivated researchers to provide the control board with two different IMUs with different full-scale ranges. Each of them consists of three rate gyros measuring the roll-pitch-yaw angular velocity in the robot frame and the three components of the
specific acceleration s =
a −
g (the absolute vector acceleration
of the IMU unit minus the gravity vector
). In hovering,
and the specific acceleration
indicates the position of the gravity vector in the robot frame, from which the robot attitude (roll-pitch) can (in principle) be calculated. However, the acceleration and angular velocity data are subject to intense flapping noise at the flapping frequency and higher harmonics (the harmonic content of the lift and drag forces and the aerodynamic torque is documented in [
11], together with a brief description of the control board).
At hovering, the dynamics of the pitch and roll axes of a robotic hummingbird are unstable; they can be stabilized actively if the robot attitude and angular velocities are available (or can be reconstructed) from the IMU. If the pitch and roll references are set to 0, the robot will inevitably drift from the starting position and an additional sensor is required for station keeping (on-board optical flow sensor or external sensor such a video external attitude tracking system). The present study explores an alternative approach based on a dynamic state observer reconstructing the linear forward and lateral velocities.
The present paper is organized as follows:
Section 2 briefly recalls the equations governing the cycle-averaged longitudinal and lateral flight dynamics of the robot (they are essentially the same as those used in the simulation paper).
Section 3 discusses the feedback stabilization with a PD compensator, assuming a perfect knowledge of the pitch angle
and pitch rate
q. While the pitch rate is directly available from the gyro, the pitch attitude angle is not.
Section 4 considers two different strategies for attitude reconstruction: complementary filter and full-state (Luenberger) observer; both strategies are successful in stabilizing the robot in spite of the strong flapping noise, as reported in the flight tests,
Section 5. Additionally, because of the availability of an estimator of the axial velocity
in the full-state observer, a PI velocity feedback outer loop significantly improves the station keeping of the hovering robot, with an accuracy comparable with that of earlier tests carried out with an external motion tracking system [
6].
Section 6 reports on endurance flights with two different versions of the robot.
3. Stabilization
In short, the axial dynamics of the robot can be written in the classical state space form
where
. The matrices
A and
B are given in Equation (
5).
w represents the system noise produced by the flapping of the wings,
, as discussed above.
The open-loop longitudinal dynamics is unstable and the poles configuration (the eigenvalues of
A) depends strongly of the value of
. For
(center of drag above the center of mass), the system has two unstable oscillatory poles and two poles on the negative real axis (blue × in
Figure 3). If one considers the system as a SISO system with the control torque
as input and the pitch angle
as output, the system can be stabilized with a PD compensator,
. This adds a zero in the open-loop system;
Figure 3 shows the root locus as a function of the proportional gain
. The position of the closed-loop poles corresponding to
,
15 mm and
is indicated in red [
6].
4. Attitude Estimation
The PD compensator discussed above looks satisfactory; however, the pitch angle is not directly available because the IMU MEMS unit consists of three rate gyros measuring the roll-pitch-yaw angular velocity in the robot frame and the three components of the specific acceleration s = a − g, i.e., the absolute vector acceleration of the IMU unit minus the gravity vector .
4.1. Output Equation
In hovering, the absolute acceleration
and the specific acceleration
indicates the position of the gravity vector in the robot frame, from which the robot attitude (roll-pitch) can be calculated:
For the 1-D model considered here, if the IMU is located at a distance
of the center of mass (
if the IMU is above the center of mass and
if it is below), the
x and
z components of the specific acceleration are, respectively,
At hovering,
and, because the component
is subject to the intense periodic fluctuation of the lift force,
may be a more accurate estimator.
From the foregoing discussion, we conclude that the important components of the IMU outputs are
(the
x component of the accelerometer) and
q (the
y component of the gyro). Considering the system equation, Equation (
5), the output equation relating the sensor output
to the state vector
reads
in short,
. Let us consider two different ways of dealing with the output signal to estimate the pitch attitude angle
.
4.2. Complementary Filter
The gyros of the IMU unit provide the pitch rate that can be integrated to obtain an estimator of . However, it is well known that gyros are prone to drift. This can be alleviated by high-pass (HP) filtering.
On the other hand, we have just seen that, at hovering, the MEMS accelerometers provide another estimator, . The sensitivity to the intense high-frequency flapping noise can be alleviated by low-pass filtering (LP).
The idea in the Complementary Filter (CF) consists of combining the output of the two filters above; assuming second order Butterworth filters, the estimator reads
where
is the corner frequency of the complementary filter, delimiting the frequency ranges where the accelerometer and the gyro are more reliable. Note that the sum of the two filters, HP + LP, is an all-pass filter.
The system can be looked at as a SISO system with input
and output
; its block diagram is shown in
Figure 4. The return loop involves three low-pass filters, at
on the gyro output, at
on the accelerometer output, and
in the complementary filter, respectively.
is particularly important, because its output
is directly used in the construction of the control torque
; it has a direct impact on the stability margins. Extensive numerical studies [
11] have shown that
Hz offers a good compromise between stability and noise rejection. The frequencies
(accelerometer output) and the complementary filter corner frequency
are less critical; they have been selected
Hz and
Hz.
4.3. Full-State Dynamic Observer
The central assumption in the complementary filter is that of hovering, that is, the absolute acceleration is
, so that the direction of the gravity vector in the robot frame can be extracted from the accelerometer signal. Since the robot is subjected to a strong flapping noise, an alternative approach consists of including the robot dynamics in the attitude estimation; this approach is advocated by [
18] for spacecraft applications. A solution is given by a full-state dynamic observer (
Luenberger observer) provided that a reasonably accurate linear state space model is available, Equations (6) and (11) in this case. The reconstructed state
is solution of
This equation assumes that the model is accurate; the error
follows the equation
where
L is the observer gain matrix, chosen to achieve adequate filtering properties of the IMU signals from the gyro and the accelerometer. According to the
separation principle, the closed-loop poles consist of two decoupled sets, corresponding to the full-state feedback regulator (PD in this case) and the full-state observer; the closed-loop stability is guaranteed provided the eigenvalues of
have negative real parts. The observer gain matrix may be obtained by pole placement or as a Kalman-Bucy filter, in short,
Kalman Filter (KF),
assuming that the plant noise
w and the sensor noise
v are white noise of given covariance matrices,
W and
V, respectively. This approach is followed here.
4.4. Kalman Filter
From measurements reported in [
11], the variance of the drag noise and the pitch torque noise are estimated:
(N/kg)
2 and
200,000 (N/kg · m)
2 (the components of the plant noise are expressed in different units; in SI units, their ratio is 100). The sensor noise covariance matrix may be estimated from the zero-acceleration output of the accelerometers and the zero-rate output of the gyros, available from the data sheet of the IMU sensor, 0.30 m/s
2 and 0.085 rad/s, respectively, leading to
(m/s
2)
2 and
(rad/s)
2, respectively. Thus the ratio
.
Figure 5 shows the block diagram of the longitudinal stability control loop with a full-state dynamic observer.
According to the foregoing discussion, we
assume the following form for the plant noise
W and the sensor noise
V covariance matrices:
where
is a design parameter. A small value of
indicates that low noise measurements may be trusted. Note that only the ratio between
V and
W matters (multiplying both matrices by a scaler leads to the same gain matrix
L). The measurement noise acts as an excitation in the observer error Equation (
14), amplified by the observer gain matrix (
); as a result, noisy measurements require moderate gains in the observer.
Figure 6 shows the observer poles for three values of
, 1, 10 and 100, respectively. The poles of the PD regulator shown earlier in
Figure 3 are also shown. The value of
has been used in what follows.
5. Flight Tests
The control strategy explained for stabilizing the pitch (
X) axis is applied also for the roll (
Y) axis with appropriate values of the parameters of the Kalman filter (the model parameters for
X and
Y are slightly different, due to differences in the various drag coefficients appearing in the control model). The Complementary Filter (CF) and the Kalman Filter (KF) attitude reconstruction have been implemented in the control board. Attitude stabilization of the robot has been achieved successfully with both methods as illustrated by the video [
19].
Figure 7 compares the reconstructed pitch angle and pitch rate of the two filters for a short spell of a stationary flight when the stabilization feedback loop is based on the Kalman Filter. Notice that the accelerometer output has a RMS amplitude of 4.1
g, while a pitch angle of 0.1 rad corresponds to an horizontal component of the gravity acceleration of 0.1
g. This means that the signal to noise ratio is of the order of 1%, which is quite challenging. We have observed that the reconstructed signal from the KF is systematically lower than that reconstructed from the CF, and the same trend has been observed when the stabilization loop is based on CF rather than KF. However, both filters successfully stabilize the robot and no significant visual difference is observed as illustrated in the video [
19].
5.1. Station Keeping
When the references of the pitch and roll control loops are set to
, the robot does not remain exactly at the same place but slowly drifts away from its starting position due to small inaccuracies in the IMU calibration, the strong flapping noise, the imperfect symmetry between the forward and backward strokes, etc. [
19]. The Kalman filter reconstructs the full state that includes the forward velocity
u (and the lateral velocity
v). If the signal reconstruction is good enough, a cascaded control of the linear velocity may be implemented as shown in
Figure 8. The compensator
transforms the velocity error into a pitch angle demand
with a P+I compensator:
where the parameters
and
have been selected after numerical simulations to provide adequate stability margins [
11], and finally adjusted from flight tests. The proposed strategy looks fairly straightforward, but it was not obvious that it would work in practice, given the severe flapping noise affecting the IMU sensor. The flight tests have shown that it works as one can see one the short video [
20]. The left side of
Figure 9 compares trajectories of the center of mass of the robot with (in red) and without (in blue) velocity control measured by an external tracking system. The right side of the figure shows similar measurements conducted earlier when the velocity used in the feedback was that reconstructed from the external tracking system [
6]. This figure shows similar performances of the two approaches; the on-board measurements allows to keep the robot within a circle with a radius of about one wingspan.
5.2. Yaw Control, Trajectory Generation
The control configuration shown in
Figure 8 is exactly the configuration needed to generate the axial and lateral components of the robot trajectories. However, a careful observation of the videos reveal that the robot slowly rotates about the yaw axis. This is due to the fact that, to speed-up the research, the current versions of our demonstrator do not include an actuator to control the yaw axis, which is necessary for a full control of the trajectory.
The yaw axis is naturally stable (it is damped by the flapping of the wing); its control has been investigated in [
21]. Unlike the pitch and roll torques which are generated by lift modulation, the yaw torque results from differential drag obtained by modifying slightly in opposite directions the central position of the left and right control bars. Once this step is achieved, the magnetometer included in one of the two IMU units in the control board can be used to steer the front axis of the robot and generate trajectories. This step remains to be performed.
6. Endurance Flight
Two prototypes have been built and tested, that differ by the mechanical structure of the flapping wing mechanism (both have the same kinematics), the gear ratio
G of the gearbox between the d.c. motor and the flapping mechanism and the wing size
W (which affects the lift-frequency relationship and the pitch and roll control moments),
Table 1. Two sets of batteries have been considered with the characteristics of
Table 2. In each case, two batteries are connected in series. All tests were performed with the same d.c. motor with the characteristics (at room temperature) of
Table 3.
The two prototypes were first tested on a load cell with an external power supply; the voltage
e and current
I necessary to achieve a lift equal to the weight were measured (
Table 4). The average current needed for the control board and the two attitude control servos was also estimated to 0.19 A, so that the total current supplied by the battery is
A.
Table 4 also provides estimates of the electrical power of the motor
, the heat power
and the mechanical power (necessary to produce the lift and overcome the internal friction in the mechanism and the motor)
.
Figure 10 shows the discharge curve of two batteries B1 connected in series. The ∘ indicate the data from the manufacturer for
A and the continuous lines correspond to the best-fit Shepherd model [
22] for the requested current of the prototypes P1 and P2 (the requested current
i is obtained by adding the current needed for the board and attitude servos to the values given in the third column of
Table 4,
A). The minimum voltage to operate the control board and the servos is 6 V, so the expected operating time
with a constant current is obtained when the Shepherd model drops below 6 V.
In the flight tests, the operator adjusts the duty factor of the PWM of the main motor in order to keep a nearly constant altitude (lift equal to weight). When the available voltage at the battery
v is larger than the requested voltage
e, the duty factor
of the PWM of the d.c. motor (i.e., the fraction of time when the full available voltage is applied) is set to
. It follows that the total flight time may be estimated by
Table 5 summarizes the results for the two prototypes and the two sets of batteries.
is the constant current discharge time obtained from Shepherd’s model, and
T is the flight time estimate from Equation (
17).
is the actual flight time measured. P1-B1 refers to the string mechanism with the first set of batteries; the flight stopped after 106 s because of overheating of the main motor (the energy of the battery was not exhausted). As a result, the flight P1-B2 became useless and was canceled. The flight P2-B1 (gear mechanism) lasted
168 s, well below the estimated
s; at least part of the discrepancy can be attributed to the fact that the set of batteries B1 had been used for a long time. The flight P2-B2 is the longest so far,
s (nearly 4 min 30 s).
From
Table 5, one sees that prototype P1 is subject to overheating in spite of a specific power
W/kg while the prototype P2 flies longer with a specific power of 136 W/kg. The reason lies into the following relation between the heat power
and the mechanical power
[
10]:
The first term is motor characteristics (
Table 3), the second depends on the gear ratio
G and the third one depends on the flapping frequency
f. According to this equation,
. On the other hand, previous studies have shown that, for a given lift, the mechanical power
is to a large extent independent on the wing size (see
Figure 6 of [
10]). This means that a larger gear ratio and smaller wings (leading to a larger flapping frequency) will reduce heat production. The excess value of the specific power of the gear mechanism as compared to the string mechanism hints that internal friction could be reduced by more accurate components and careful assembly.