Next Article in Journal
Robust Output Feedback Position Control of Hydraulic Support with Neural Network Compensator
Previous Article in Journal
Performance of Smart Materials-Based Instrumentation for Force Measurements in Biomedical Applications: A Methodological Review
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Technical Note

Robotic Hummingbird Axial Dynamics and Control near Hovering: A Simulation Model

Department of Control Engineering and System Analysis, Université Libre de Bruxelles (ULB), CP. 165-55, 50 Av. F.D. Roosevelt, B-1050 Brussels, Belgium
*
Author to whom correspondence should be addressed.
Current address: School of Remote Sensing and Information Engineering, Wuhan University, Wuhan 430072, China.
Actuators 2023, 12(7), 262; https://doi.org/10.3390/act12070262
Submission received: 22 May 2023 / Revised: 14 June 2023 / Accepted: 20 June 2023 / Published: 25 June 2023
(This article belongs to the Section Actuators for Robotics)

Abstract

:
After a short overview of the COLIBRI project, this paper considers the cycle-averaged flight dynamics of a flapping-wing robot near hovering, taking advantage of the weak coupling between the roll and pitch axes. The system is naturally unstable; it needs to be stabilized actively, which requires an attitude reconstruction. Due to the flapping of the wings, the system is subject to a strong periodic noise at the flapping frequency and its higher harmonics; the resulting axial forces and pitch moments are characterized from experimental data. The flapping noise propagates to the six-axis Inertial Measurement Unit (IMU) consisting of three accelerometers and three gyros. The paper is devoted to attitude reconstruction in the presence of flapping noise representative of flight conditions. Two methods are considered: (i) the complementary filter based on the hovering assumption and (ii) a full-state dynamic observer (Kalman filter). Unlike the complementary filter, the full-state dynamic observer allows the reconstruction of the axial velocity, allowing us to control the hovering without any additional sensor. A numerical simulation is conducted to assess the merit of the two methods using experimental noise data obtained with the COLIBRI robot. The paper discusses the trade-off between noise rejection and stability.

1. Introduction

1.1. The Project COLIBRI

The COLIBRI robot is a tailless, flapping, two-wing robot the size of a large hummingbird that is capable of hovering. A general view of the robot is presented in Figure 1 (wing span is 21 cm, weight 22–23 g, flapping frequency ≃20 Hz). The project is documented in [1,2,3,4]. Other similar robots include the impressive Nanohummingbird [5], developed by Aerovironment with DARPA funding, and the Konkuk university robot [6,7], with a weight of 15.8 g and a flight autonomy of 9 min. A comprehensive review of ongoing studies in the field of flapping-wing micro air vehicles is available in [8]. A discussion of the future use of small drones can be found in [9].
Various changes have been brought to the electromechanical parts of the robot to improve its autonomy [10]. Thanks to efficient aerodynamics and improved transmission, its measured specific mechanical power is around 135 W/kg, which is not far from that of a natural hummingbird [11], but the current limit to autonomy is that the mass of the existing robotic hummingbird is still about twice the mass of their natural counterpart with the same wing span [12].
The initial version of the COLIBRI robot used a Micro MWC Flight Control Board from Hobbyking with a clock of 16 MHz and a six-axis IMU (three-axis gyro and three-axis accelerometer), for a weight of 1.8 g. This board includes a proprietary algorithm for attitude reconstruction named DMP (Digital Motion Processor). A new control board has been developed including an 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 g. It is briefly described in Appendix C. The IMUs are particularly critical components in view of the noisy environment due to the flapping of the wings.

1.2. Attitude Reconstruction

Attitude determination is a generic problem in satellites, the autopilots of aircraft and drones of various types, robotics, and biomechanics. The technology used depends on the application; our interest lies in the low-cost, low-weight MEMS inertial sensors (IMU) which are widely available. They are characterized by a low resolution, high noise, and time drift, and the problem consists of combining the output of a three-axis accelerometer unit with the output of a three-axis gyro to obtain a reasonably accurate, drift-free attitude estimate. The problem is particularly complicated for the flapping-wing robot because of the strong periodic disturbance generated by the flapping of the wings (see Appendix A; the amplitude of the periodic sensor signals generated by the flapping wings is one order of magnitude larger than the cycle-averaged signal that we intend to capture). The purpose of this paper is not to report on the huge body of literature available on attitude reconstruction (e.g., [13,14,15,16,17,18,19,20,21]), but rather to extract the part of it which is most appropriate for the specific problem of a flapping-wing robot near hovering. Two aspects are particularly relevant:
(i) Most models proposed in the literature use quaternion kinematics for attitude estimation. However, near hovering, the longitudinal and lateral dynamics of the flapping-wing robot are nearly decoupled and can be treated as independent [22,23,24]. As a result, the attitude determination can be handled independently as a one-dimensional problem in the longitudinal (pitch) and the lateral (roll) directions.
(ii) Since the lift generation process produces a strong disturbance in the robot dynamics, it is expected that including the robot dynamics in the attitude determination, as advocated by [21], may improve the estimator.
The two approaches below will be considered:
(i) The complementary filter takes advantage of the hovering assumption (absolute acceleration = 0), according to which the accelerometer provides the direction of the gravity vector in the robot frame.
(ii) A full-state dynamic observer (implemented as a Kalman filter) includes robot dynamics in the attitude estimation. In addition to the robot attitude, this approach also reconstructs the linear velocity of the robot, allowing it to enforce hovering without external additional information.
The results of this study are expected to be confirmed by upcoming flight tests, where special attention will be paid to the trade-off between noise rejection and the stability margins. Measured flapping noise data are presented in the Appendix A, Appendix B and Appendix C,together with a description of a new, proprietary flight control board.

2. Flight Dynamics

2.1. Cycle-Averaged Longitudinal Dynamics

Previous studies have shown that the hummingbird robot can be modeled as a rigid body. Additionally, due to the weak coupling between the longitudinal (pitch) and the lateral (roll) dynamics, they may be assumed to be uncoupled and modeled separately. The present discussion will, therefore, be limited to the longitudinal axis; a similar model applies to the lateral axis. Additionally, since the flapping frequency is high compared to the robot dynamics near hovering, the latter may be based on cycle-averaged aerodynamic forces and moments; a similar approach was followed by [22,23,24]. The rapid change in the aerodynamic moment as well as the lift and drag forces during a flapping cycle appear as noise. These are particularly important in the longitudinal axis because the aerodynamic forces are not self-equilibrated. On the contrary, the aerodynamic forces along the lateral axis are self-balanced within a flapping cycle (due to left-right symmetry). Delft university has developed a flapper drone with four wings which is also self-equilibrated on the longitudinal axis [25]; this architecture increases the lift with the so-called clapandfling mechanism and it considerably reduces the flapping disturbance. However, such a morphology does not exist in nature.
The pitch and roll axes of COLIBRI are naturally unstable; they must be controlled actively; the yaw axis is naturally stable and can be treated separately.
The main damping mechanism is the flapping of the wings. It can be modeled by a point force f d proportional to the velocity of the center of drag (CD) located z d above the center of mass (Figure 2). The position of the center of drag is estimated at a quarter chord from the leading edge at mid-wing. The position of the center of mass (CG) is obtained either from CAD or from static equilibrium tests.
f d = K ( u + q z d )
where the constant K is a linear function of the flapping frequency. u is the axial velocity and q is the pitch angular velocity. This model was validated with a set of pendulum experiments (Figure 3) [1,26].
Referring to Figure 2, the longitudinal dynamics near hovering is governed by the Newton–Euler equations. Newton’s equation reads
m u ˙ = X u u + X q q + m g θ
where m is the mass of the robot, u is the velocity of the center of mass, θ is the pitch angle (assumed small, so that sin θ θ and cos θ 1 ), and q = θ ˙ is the pitch velocity. L is the lift (follower) force; at hovering, its vertical component balances the gravity force L = m g , and the component along the body axis X B is m g θ . X u u + X q q is the drag force along X B ; from Equation (1), X u = K and X q = K z d .
Similarly, the Euler equation reads
I y y q ˙ = M u u + M q q + τ a
where I y y is the moment of inertia about the center of mass; M u u + M q q is the drag torque with M u = K z d and M q = K q K z d 2 . M q can be estimated with a pendulum experiment similar to that of Figure 3 with the pendulum axis aligned on the center of mass. Note that direct and fairly accurate measurements of X u and M q are available while the cross-coupling terms X q and M u result from a model and are less accurate; the distance z d between the center of mass and the center of drag is not known accurately. τ a is the aerodynamic control torque that, in our robot, is obtained by the rotation of the control bars as explained below. The latter are operated by servos which can be modeled as first-order systems, so that the actual control torque τ a is related to the requested torque τ (output of the controller) by
T τ ˙ a + τ a = τ
where T is the time constant of the servo. In state space form, the cycle-averaged longitudinal dynamics read
u ˙ q ˙ θ ˙ τ a ˙ = X ^ u X ^ q g 0 M ^ u M ^ q 0 1 / I y y 0 1 0 0 0 0 0 1 / T u q θ τ a + 0 0 0 1 / T τ
where X ^ u = X u / m and M ^ q = M q / I y y are always negative and X ^ q = X q / m and M ^ u = M u / I y y are negative if z d > 0 , that is, if the center of drag is above the center of mass, and they are positive if z d < 0 . Similar considerations apply to the lateral dynamics and will not be repeated. All the simulations reported below have been performed with the data listed in Appendix B.

2.2. Cycle-Averaged Control Torques

The wings consist of reinforced membranes attached to two orthogonal bars [1]; the leading edge bars drive the wings while the control bars (orthogonal to the leading edge bars in neutral position) create the control torques via a mechanism called wingtwistmodulation introduced by [5]; moving the control bars sideways from the neutral position induces a reorganization of the airflow, changing the location of the center of pressure along the wing, creating a roll torque while keeping the lift nearly unchanged. Similarly, moving the control bars forward or backward produces a pitch torque without altering the lift. It has been shown that the cycle-averaged roll and pitch moments are nearly independent (i.e., the pitch moment is independent of the position of the roll actuator and vice versa) and that they do not significantly affect the lift force for a given flapping frequency [1]. This confirms that the cycle-averaged axial and lateral dynamics can be treated independently. The cycle-averaged control torques ( τ a in the foregoing model) are nearly proportional to the control bars angles which are the output of the control servos.
The aerodynamics of the flapping-wing robot at hovering is extremely complex and is out of the scope of this paper. The time histories of the lift, drag, and aerodynamic torque (measured by attaching the robot to a load cell) exhibit strong harmonic components at frequencies multiple times the flapping frequency, with peak amplitudes significantly larger than their cycle-averaged values (Appendix A). For the present discussion, these periodic disturbances appear as input noise, the drag noise d is added to the right-hand side of Equation (2), and the torque noise t p is added to the right-hand side of Equation (3). These periodic disturbances enter at the input of the system and induce strong vibrations which propagate to the inertial unit (IMU). This process, which belongs to the physics of the flapping flight, was judged important enough to justify to include two IMUs with different saturation thresholds in the design of the control board.

3. Stabilization

The open-loop longitudinal dynamics is unstable and the poles configuration depends strongly of on the value of z d . For z d > 0 (center of drag above the center of mass), the system has two unstable oscillatory poles and two poles on the negative real axis (Figure 4). If one considers the system a SISO system with the control torque τ as input and the pitch angle θ as output, the system can be stabilized with a PD compensator, k θ ( 1 + T q s ) . This adds a zero in the open-loop system; Figure 4 shows the root locus as a function of the proportional gain k θ . The position of the closed-loop poles corresponding to T q = 0.27 , z d = 15 mm, and k θ = 192 × 10 5 is indicated in red [1].
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 = ag, i.e., the absolute vector acceleration a of the IMU unit minus the gravity vector g . In hovering, a = 0 , and the specific acceleration s = ( s x , s y , s z ) T indicates the position of the gravity vector in the robot frame, from which the robot attitude (roll–pitch) can be calculated:
ϕ = A t a n 2 ( s y , s z )
θ = A t a n 2 ( s x , s y 2 + s z 2 )
For the 1-D model considered here, if the IMU is located at a distance z a of the center of mass ( z a > 0 if the IMU is above the center of mass and z a < 0 if it is below),
s x = u ˙ + q ˙ . z a g sin θ s x u ˙ + q ˙ . z a g θ
s z = + g cos θ g
At hovering, in absence of noise, θ = arctan ( s x / s z ) s x / s z . Note that the component s z is subject to the flapping noise due to the periodic variation in the lift force within a cycle. As a result, near hovering, θ s x / g may be a more accurate estimator.
Considering the system equation, Equation (5), the output equation relating the sensor output y = ( s x , q ) T to the state vector x = ( u , q , θ , τ a ) T reads
s x q = ( X ^ u + M ^ u z a ) ( X ^ q + M ^ q z a ) 0 z a / I y y 0 1 0 0 u q θ τ a
The gyros are subjected to drift and one cannot rely on them in low frequency. On the contrary, MEMS accelerometers are sensitive to noise in high frequency, and it is only at hovering, when the absolute acceleration is close to zero, that the specific acceleration can be translated into the gravity vector from which the robot attitude can be deduced. In the following sections, we consider two ways of combining the gyros and the accelerometers’ information to improve the attitude estimation: the complementary filter and the dynamic state observer.

4. Complementary Filter

Prior to the complementary filter, the IMU outputs are passed into a second-order Butterworth low-pass filter with a corner frequency f g for the gyros and f s for the accelerometers (Figure 5); the choice in f g and f s is discussed below.
The complementary filter consists of blending the high-frequency information contained in the gyro signals with the low-frequency information contained in the accelerometers’ output. In the 1-D model considered here, this means that the gyro output q is first integrated to provide the pitch angle θ g , which is high-pass filtered (HP) to eliminate the low-frequency components responsible for the drift. The accelerometer output is used to estimate the pitch angle θ a s x / g which, in turn, is low-pass filtered (LP) to eliminate the high-frequency noise. The two filters are such that together they constitute an all-pass filter (HP + LP = 1). Assuming second-order Butterworth filters,
θ ^ = s 2 s 2 + 2 ω c s + ω c 2 . ( 1 s ) . q + 2 ω c s + ω c 2 s 2 + 2 ω c s + ω c 2 . θ a
where ω c = 2 π f c is the corner frequency of the complementary filter. The block diagram of the stability control loop with a complementary filter is shown in Figure 5. One sees that in the output of the gyro, after passing into the low-pass filter f g , q ^ g is used directly for the D part of the PD compensator and it is also integrated to result in θ g at the input of the complementary filter. The choice in the order of the filter and its cut-off frequency f g is critical because it introduces a delay in the feedback loop, which can have a detrimental effect on the system stability. In our study, we found that a second-order Butterworth filter with f g = 8 Hz is a good compromise. The s x component of the accelerometer unit is also low-pass filtered with a cut-off frequency f s before feeding the complementary filter. The choice of f s is less critical than that of f g , provided that f s is larger than the corner frequency f c of the complementary filter; f s = 2 Hz and f c = 0.1 Hz were found satisfactory.
The control system of Figure 5 can be looked at as a SISO system with unit feedback, with input θ e and output θ ^ ; Figure 6 shows the Nichols plot for the following values of the filter frequencies: f s = 2 Hz, f c = 0.1 Hz, and f g = 8 Hz (the system is linearized according to θ a = s x f / g ). The stability margins are, respectively: phase margin PM = 66 ( f = 0.83 Hz) and gain margin GM = 8 dB ( f = 1.7 Hz). The figure also shows the Nichols plot when the Butterworth filter on the gyro signal is removed ( f g = ), showing the impact of this filter on stability. The control loop may be improved by adding a compensator on the pitch angle error θ e (we will return to this in the following section). The complementary filter does not produce a direct estimate of the axial velocity u, and an additional measurement system is needed to enforce hovering. Because the axial velocity u is one of the state variables in Equation (5), enforcing hovering with on-board measurements only is possible if one uses a full-state dynamic observer, as discussed below.

5. Full-State Dynamic Observer

If one takes into account the flapping of the wings, the axial dynamics of the robot can be written in the classical state space form:
x ˙ = A x + B τ + w
where x = ( u , q , θ , τ a ) T . The matrices A and B are provided in Equation (5).
w represents the system noise produced by the flapping of the wings, ( d / m , t p / I y y , 0 , 0 ) T , where d is the drag force and t p is the aerodynamic pitch torque due to the flapping of the wings. Both are periodic; they are documented in Appendix A.
The output equation, Equation (10), is rewritten:
y = C x + v
where y = ( s x , q ) T (output of the accelerometers and the gyros) and v is the sensor noise, of which we know little.
An alternative to the complementary filter consists of reconstructing the state with a full-state dynamic (Luenberger) observer (Figure 7). The reconstructed state x ^ is solution of
x ^ ˙ = A x ^ + B τ + L ( y C x ^ ) x ^ ( 0 ) = 0
The error e = x x ^ follows the equation
e ˙ = ( A L C ) e + w L v
The observer gain matrix L is chosen to achieve adequate filtering properties of the IMU signals from the gyro and the accelerometer. Since the PD regulator may be looked at as full-state feedback, the separation principle applies and 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 observer is stable (i.e., the eigenvalues of A L C have negative real parts).

5.1. Plant Noise and Sensor Noise

Although the flapping noise does not fulfill the assumption of white noise, the Kalman filter theory is a very convenient tool to generate a reasonable gain matrix L; various forms are assumed for the system and measurement noise until appropriate filtering properties are achieved.
Equation (5) describes the cycle-averaged dynamics of the robot. If one considers the drag force and pitch torque variations during the flapping cycle as noise, it becomes
u ˙ q ˙ θ ˙ τ a ˙ = X ^ u X ^ q g 0 M ^ u M ^ q 0 1 / I y y 0 1 0 0 0 0 0 1 / T u q θ τ a + 0 0 0 1 / T τ + d / m t p / I y y 0 0
where d is the drag force and t p is the pitch torque induced by the flapping of the wings. Time histories of d and t p are shown in Appendix A, from which the variance of σ 2 ( d / m ) 2000 (N/kg) 2 and σ 2 ( t d / I y y ) 200 , 000 (N/kg·m) 2 can be estimated (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, respectively, 0.30 m/s2 and 0.085 rad/s, leading to σ 2 ( s x ) 0.09 (m/s2)2 and σ 2 ( q ) 0.008 (rad/s) 2 . Thus, the ratio is σ 2 ( s x ) / σ 2 ( q ) 10 .

5.2. Kalman Filter

According to the foregoing discussion, we assume the following form for the plant noise W and the sensor noise V:
W = diag ( 2 , 200 , 0 , 0 ) V = α × diag ( 10 , 1 )
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). Since the measurement noise acts as an excitation in the observer error equation, amplified by the observer gain matrix, noisy measurements require moderate gains in the observer.
Figure 8 shows the observer poles for three values of α , respectively, 1, 10, and 100. The figure includes the poles of the PD regulator shown earlier in Figure 4. The value of α = 1 has been used in what follows.
The robustness of the observer deserves some attention: The matrices A, B, and C in the observer equation constitute a model of the real system. As discussed earlier, the elements of the system matrix ( X ^ u , M ^ q , etc.) can be experimentally determined fairly accurately; a larger uncertainty exists in z g because the location of the center of drag is not known accurately (even the concept of center of drag is oversimplified). A parametric study with reasonable variation in the system parameters led to small changes in the observer poles.
Figure 9 compares the Nichols plot of the transfer function between θ e and θ ^ for the Kalman filter ( α = 1 ) and the complementary filter of Figure 6. The behavior can be further improved by inserting a compensator in the direct loop. Figure 10 illustrates this for the compensator consisting of a P + I plus a Lead compensator aiming to improve the control bandwidth while keeping good stability margins:
C 1 ( s ) = g s + z 1 s + p 1 . s + z 0 s
where g = 14 , z 1 = 2 π f 1 , f 1 = 1.1 Hz, p 1 = 2 π f p , f p = 11 Hz, z 0 = 2 π f 0 , and f 0 = 0.2 Hz. The crossover frequency raises to f c o = 1.32 Hz and the stability margins to, respectively, PM = 65 and GM =16.4 dB. Such a compensator can also be used (with appropriate tuning of the parameters) for the complementary filter.
Figure 11 shows the time history of the pitch angle estimate θ ^ for a step response of θ d = 10 . The smooth line (blue) corresponds to the case where the flapping noise is ignored; the noisy curve (red) accounts for the drag and pitch torque noise shown in Appendix A. The time–history integration includes a saturation of the control torque | τ a | < 200 g·mm (2 N·mm).

5.3. Hovering

Unlike the complementary filter which estimates the pitch angle θ ^ , the full-state dynamic observer also reconstructs the linear velocity u ^ which allows direct control of the robot’s hovering and, more generally, of the trajectory. Figure 12 shows the cascade structure of the control system; u d is the desired axial speed and u ^ is the reconstructed one; u e is the velocity error. The transfer function between u e and u ^ is that of a SISO system. The compensator C 2 ( s ) transforms the velocity error into a pitch angle demand θ d . According to Equation (2), in steady state (at equilibrium, u ˙ = q = 0 ), the drag force is balanced by the tilting of the lift force, X u u + m g θ = 0 . It follows that θ = ( X ^ u / g ) u . Figure 13 shows the Nichols plot of the transfer function u ^ ( s ) / u e ( s ) when a P + I compensator is used:
C 2 ( s ) = g u s + z u s
where g u = ( X ^ u / g ) . β with β = 1.5 and z u = 2 rad/s.
Figure 14 shows the time history of the step response when a speed of u d = 1 m/s is requested. The figure shows the reconstructed velocity u ^ and the reconstructed pitch angle θ ^ when the flapping noise is ignored (smooth curve in blue) and when the flapping noise (drag and pitch torque) is included (in red). Here again, the time–history integration includes a saturation of the control torque | τ a | < 200 g·mm (2 N·mm). Figure 11 and Figure 14 illustrate the trade-off between noise attenuation and stability margins: further low-pass filtering is possible, but at the expense of reducing the stability margins. This aspect will be investigated carefully in future flight tests.

6. Conclusions

The paper investigates numerically the control and attitude reconstruction of a flapping-twin-wing robot near hovering in presence of the strong noise generated by the flapping of the wings. The axial (drag) force and the pitch moment components of the periodic flapping noise are characterized from experimental data (provided in Appendix A). Two approaches are considered for attitude reconstruction from IMU data: complementary filter and full-state dynamic observer (Kalman filter). The complementary filter takes advantage of the hovering assumption to reconstruct the pitch angle (for closed-loop stability), but it does not provide access to the longitudinal velocity (for hovering). On the contrary, the full-state observer reconstructs the pitch angle and the longitudinal velocity, which can be controlled without additional information from an external source. Numerical simulations (based on data of the COLIBRI robot) show that the full-state observer provides a solution for the control of the trajectory, but there is a trade-off between the residual oscillations due to the flapping wings and the stability margins of the closed-loop attitude control, making the complete cancellation of the oscillations difficult. On-board implementation and flight tests will be conducted as soon as the various subsystems of the robot, including the new proprietary control board described in Appendix C, are assembled and ready for flight.

Author Contributions

Conceptualization, A.P., Y.F., L.W., L.B. and H.W.; software, Y.F. and L.W.; validation, A.P., Y.F., L.W., L.B., H.W. and K.W.; writing—original draft preparation, A.P.; writing—review and editing, A.P., Y.F. and K.W.; supervision, A.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are contained within the article.

Acknowledgments

The authors wish to thank Ir. Gert Deboers from Dekimo n.v. for his careful work in the manufacturing of the control board and his availability and help in the initial phase of programming.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
ARMAdvanced RISC Machine
CFComplementary Filter
DARPADefense Advanced Research Projects Agency
DMPDigital Motion Processor
FFTFast Fourier Transform
GMGain Margin
HPHigh-Pass Filter
IMUInertial Measurement Unit
KFKalman Filter
LPLow-Pass Filter
MCUMicro Controller Unit
MEMSMicro Electromechanical System
PDProportional plus Derivative
PIProportional plus Integral
PMPhase Margin
RMSRoot Mean Square
SIInternational System Units
SISOSingle Input Single Output

Appendix A. Flapping Disturbance

Appendix A.1. Lift

Figure A1 shows the time history of the lift force when the flapping frequency is 22.3 Hz and the lift is 23.3 g (0.229 N). The figure also shows the detail of one cycle and the FFT decomposition showing the harmonic content of the time history (unfortunately, the lack of synchronization of the experimental set-up between the flapping mechanism and the force measurement does not allow us to identify the upstroke and the downstroke in the force recording over one cycle). The figure shows that the lift distribution of a membrane wing mounted on a flexible leading edge bar is extremely complicated, far more than that of the flat-plate wing shown in [27]. The RMS value of the lift force is 126 g (1.24 N).

Appendix A.2. Pitch Torque

Figure A2 shows the time history of the actual aerodynamic torque. Here, again, the signal is periodic and extremely complicated, with peak values up to 30 times the maximum value of the pitch and roll control torques which are limited near ±200 g·mm (2 N·mm) [1]. In the cycle-averaged model, this periodic disturbance torque t p enters at the input of the system and induces strong vibrations that propagate to the inertial units [Equation (16)]. The RMS value of the aerodynamic torque is σ τ = 0.0273 Nm (2780 g·mm).

Appendix A.3. Drag

Similarly, Figure A3 examines the drag force d when the flapping frequency is 19.9 Hz. The peak values are up to 20 times the average lift. In the cycle-averaged model, this produces a periodic disturbance force d in the right-hand side of Equation (16) that excites the robot and propagates to the IMU. Note that the average value of d ¯ = 2.6 g indicates that the wing behavior is not exactly symmetrical between the upstroke and the downstroke, producing a net axial force. At hovering, such a bias force has to be balanced by tilting the robot by θ = m g / d ¯ . The RMS value of the aerodynamic drag is σ d = 0.985 N (100 g).

Appendix B. COLIBRI Parameters Used in the Dynamics Model

All simulations reported in this paper are based on data taken from [1]; they are listed in Table A1.

Appendix C. Flight Control Board

Figure A4 shows the new flight control board. The manufacturing was contracted to Dekimo Leuven n.v. The size is 25 × 26 mm and the weight is 1.6 g. The main components, their reference number, and their communication protocol are shown in Figure A5. The board allows us to directly control the three servos for attitude control and the main motor for lift production; a Bluetooth module communicates with the ground station.
Because of the critical role played by the attitude sensing, due to the flapping noise, the board was provided with two IMU units:
(i)
IMU-1: ICM-20948. 9-axis. Accelerometer Full Scale Range ±16 g. Gyro Full Scale Range ±2000 deg/s. Magnetometer Full Scale Range ±6900 μT.
(ii)
IMU-2: ICM-20649. 6-axis. Accelerometer Full Scale Range ±32 g. Gyro Full Scale Range ±4000 deg/s.
The data acquisition rate is 500 Hz (three accelerometers and three gyros). The MCU unit, STM32F405, has a clock frequency of 168 MHz. The nominal battery input is 7.4 V; it is regulated to supply the main motor (6 V), the servo actuators (4.2 V–6 V), and the IC components (3.3 V and 1.8 V). Additional I2C and SPI ports are reserved for future optical sensors.

References

  1. Roshanbin, A. Design and Development of a Tailless Robotic Hummingbird. Ph.D. Thesis, Université Libre de Bruxelles, Dept Control Engineering and System Analysis, Brussels, Belgium, September 2019. [Google Scholar]
  2. Roshanbin, A.; Altartouri, H.; Karasek, M.; Preumont, A. COLIBRI: A Hovering Flapping Twin-Wing Robot. Int. J. Micro Air Veh. 2017, 9, 270–282. [Google Scholar] [CrossRef] [Green Version]
  3. Roshanbin, A.; Abad, F.; Preumont, A. Kinematic and Aerodynamic Enhancement of a Robotic Hummingbird. AIAA J. 2019, 57, 4599–4607. [Google Scholar] [CrossRef]
  4. Available online: https://www.youtube.com/watch?v=-5-o9tvbziE (accessed on 21 May 2023).
  5. Keennon, M.T.; Klingebiel, K.R.; Won, H.; Andriukov, A. Development of the nano hummingbird: A tailless flapping wing micro air vehicle. In Proceedings of the 50th AIAA Aerospace Sciences Meeting Including the New Horizons Forum and Aerospace Exposition, Nashville, TN, USA, 9–12 January 2012; pp. 1–24. [Google Scholar]
  6. Phan, H.V.; Park, H.C. Insect-inspired, tailless, hover-capable flapping-wing robots: Recent progress, challenges, and future directions. Prog. Aerosp. Sci. 2019, 111, 100573. [Google Scholar] [CrossRef]
  7. Phan, H.V.; Aurecianus, S.; Au, T.K.L.; Kang, T.; Park, H.C. Towards Long-Endurnce Flight of an Insect-Inspired, Tailess, Two-Winged, Flapping-Wing Flying Robot. IEEE Robot. Autom. Lett. 2020, 5, 5059–5066. [Google Scholar] [CrossRef]
  8. Xiao, S.; Hu, K.; Huang, B.; Deng, H.; Ding, X. A Review of Research on the Mechanical Desig of Hoverable Flapping Wing Micro-Air Vehicles. J. Bionic Eng. 2021, 18, 1235–1254. [Google Scholar] [CrossRef]
  9. Floreano, D.; Wood, R.J. Science, technoloy and the future of small autonomous drones. Nature 2015, 521, 460–466. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  10. Preumont, A.; Wang, H.; Kang, S.; Wang, K.; Roshanbin, A. A Note on the Electromechanical Design of a Robotic Hummingbird. Actuators 2021, 10, 52. [Google Scholar] [CrossRef]
  11. Ellington, C.P. The novel aerodynamics of insect flight: Applications to micro-air vehicles. J. Exp. Biol. 1999, 202, 3439–3448. [Google Scholar] [CrossRef] [PubMed]
  12. Greenwalt, C.H. Hummingbirds; Dover: New York, NY, USA, 1990. [Google Scholar]
  13. Madgwick, S.O.H. An efficient orientation filter for inertial and inertial/magnetic sensor arrays. Rep.-Univ. Bristol 2010, 25, 113–118. [Google Scholar]
  14. Mahony, R.; Hamel, T.; Pflimlin, J.-M. Nonlinear Complementary Filter on the Special Orthogonal Group. IEEE Trans. Autom. Control 2008, 53, 1203–1218. [Google Scholar] [CrossRef] [Green Version]
  15. Euston, M.; Coote, P.; Mahony, R.; Kim, J.; Hamel, T. A Complementary Filter for Attitude Estimation of a Fixed-Wing UAV. In Proceedings of the 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems, Nice, France, 22–26 September 2008. [Google Scholar]
  16. Sabatelli, S.; Galgani, M.; Fanucci, L.; Rocchi, A. A Double Stage Kalman Filter for Orientation Tracking with an Integrated Processor in 9-D IMU. IEEE Trans. Instrum. Meas. 2013, 62, 590–598. [Google Scholar] [CrossRef]
  17. Min, H.G.; Jeung, E.T. Complementary Filter Design for Angle Estimation Using MEMS Accelerometer and Gyroscope. Available online: https://www.academia.edu/6261055/Complementary_Filter_Design_for_Angle_Estimation_using_MEMS_Accelerometer_and_Gyroscope (accessed on 21 May 2023).
  18. Narkhede, P.; Poddar, S.; Walambe, R.; Ghinea, G.; Kotecha, K. Cascaded Complementary Filter Architecture for Sensor Fusion in Attitude Estimation. Sensors 2021, 21, 1937. [Google Scholar] [CrossRef] [PubMed]
  19. Gebre-Egziabher, D.; Hayward, R.C.; Powell, J.D. Design of Multi-sensor Attitude Determination Systems. IEEE Trans. Aerosp. Electron. Syst. 2004, 40, 627–649. [Google Scholar] [CrossRef]
  20. Lefferts, E.J.; Markley, L.; Shuster, M.D. Kalman filtering for spacecraft attitude estimation. In Proceedings of the AIAA Aerospace Sciences Meeting (AIAA-82-0070), Orlando, FL, USA, 11–14 January 1982. [Google Scholar]
  21. Yang, Y.; Zhou, Z. Attitude determination: With or without spacecraft dynamics. Adv. Aircr. Spacecr. Sci. 2017, 4, 335–351. [Google Scholar]
  22. Van Breugel, F.; Regan, W.; Lipson, H. From Insects to Machines. IEEE Robot. Autom. 2008, 15, 68–74. [Google Scholar] [CrossRef]
  23. Ristroph, L.; Ristroph, G.; Morozova, S.; Bergou, A.J.; Chang, S.; Guckenheimer, J.; Wang, Z.J.; Cohen, I. Active and passive stabilization of body pitch in insect flight. J. R. Soc. Interface 2013, 10, 20130237. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  24. Teoh, Z.E.; Fuller, S.B.; Chirarattananon, P.; Pérez-Arancibia, N.O.; Greenberg, J.D.; Wood, R.J. A Hovering Flapping-Wing Microrobot with Altitutde Control and Passive Upright Stability. In Proceedings of the 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, Vilamoura, Portugal, 7–12 October 2012; pp. 3209–3216. [Google Scholar]
  25. Karásek, M.; Muijres, F.T.; De Wagter, C.; Remes, B.D.; De Croon, G.C. A tailess aerial robotic flapper reveals that flies use torque coupling in rapid banked turns. Science 2018, 361, 1089–1094. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  26. Altartouri, H.; Roshanbin, A.; Andreolli, G.; Fazzi, L.; Karásek, M.; Lalami, M.; Preumont, A. Passive stability enhancement with sails of a hovering flapping twin-wing robot. Int. J. Micro Air Veh. 2019, 11, 1–9. [Google Scholar] [CrossRef] [Green Version]
  27. Dickinson, M.H.; Lehman, F.-O.; Sane, S.P. Wing rotation and the aerodynamic basis of insect flight. Science 1999, 284, 1954–1960. [Google Scholar] [CrossRef] [PubMed]
Figure 1. The robot COLIBRI in two different configurations. 1: Flight control board. 2: LiPo battery. 3: Main DC motor. 4: Flapping mechanism.
Figure 1. The robot COLIBRI in two different configurations. 1: Flight control board. 2: LiPo battery. 3: Main DC motor. 4: Flapping mechanism.
Actuators 12 00262 g001
Figure 2. Longitudinal (pitch) model of the robot near hovering. Coordinate system, force, and moment diagram.
Figure 2. Longitudinal (pitch) model of the robot near hovering. Coordinate system, force, and moment diagram.
Actuators 12 00262 g002
Figure 3. Left: Pendulum test for determining the damping constant K. Right: Typical free response with and without flapping. K increases linearly with the flapping frequency.
Figure 3. Left: Pendulum test for determining the damping constant K. Right: Typical free response with and without flapping. K increases linearly with the flapping frequency.
Actuators 12 00262 g003
Figure 4. Root–locus plot trajectories as a function of the proportional feedback gain k θ for PD control of the robot τ ( s ) θ ( s ) = k θ ( 1 + T q s ) with T q = 0.27 and z d = 15 mm. The open-loop poles and zero are in blue. The red squares indicate the closed-loop poles location obtained with k θ = 192 × 10 5 .
Figure 4. Root–locus plot trajectories as a function of the proportional feedback gain k θ for PD control of the robot τ ( s ) θ ( s ) = k θ ( 1 + T q s ) with T q = 0.27 and z d = 15 mm. The open-loop poles and zero are in blue. The red squares indicate the closed-loop poles location obtained with k θ = 192 × 10 5 .
Actuators 12 00262 g004
Figure 5. Block diagram of the longitudinal stability control loop with a complementary filter. τ is the requested control torque, τ a is the position of the servo actuator acting on the control bars, and τ a n is the actual torque produced by the flapping wings, including the periodic components discussed earlier.
Figure 5. Block diagram of the longitudinal stability control loop with a complementary filter. τ is the requested control torque, τ a is the position of the servo actuator acting on the control bars, and τ a n is the actual torque produced by the flapping wings, including the periodic components discussed earlier.
Actuators 12 00262 g005
Figure 6. Complementary filter: Nichols plot for f g = 8 Hz, f s = 2 Hz, and f c = 0.1 Hz. In dashed lines, without filter on the gyro output ( f g = ).
Figure 6. Complementary filter: Nichols plot for f g = 8 Hz, f s = 2 Hz, and f c = 0.1 Hz. In dashed lines, without filter on the gyro output ( f g = ).
Actuators 12 00262 g006
Figure 7. Block diagram of the longitudinal stability control loop with a full-state dynamic observer. The symbols have the same meaning as in the previous figure.
Figure 7. Block diagram of the longitudinal stability control loop with a full-state dynamic observer. The symbols have the same meaning as in the previous figure.
Actuators 12 00262 g007
Figure 8. Observer poles for α = 1, 10, and 100 (the pole on the left side of the real axis is common to all values of α ).The regulator poles of Figure 4 are also shown.
Figure 8. Observer poles for α = 1, 10, and 100 (the pole on the left side of the real axis is common to all values of α ).The regulator poles of Figure 4 are also shown.
Actuators 12 00262 g008
Figure 9. Nichols plot θ ^ = G ( s ) . θ e for the Kalman filter (KF) ( α = 1 ) and the complementary filter (CF) of Figure 6.
Figure 9. Nichols plot θ ^ = G ( s ) . θ e for the Kalman filter (KF) ( α = 1 ) and the complementary filter (CF) of Figure 6.
Actuators 12 00262 g009
Figure 10. Kalman Filter ( α = 1 ): Effect of adding the compensator C 1 ( s ) consisting of a P + I and a Lead compensator.
Figure 10. Kalman Filter ( α = 1 ): Effect of adding the compensator C 1 ( s ) consisting of a P + I and a Lead compensator.
Actuators 12 00262 g010
Figure 11. Step response of θ d = 10 : θ ^ with (in red) and without (in blue) flapping drag d and pitch torque noise t p .
Figure 11. Step response of θ d = 10 : θ ^ with (in red) and without (in blue) flapping drag d and pitch torque noise t p .
Actuators 12 00262 g011
Figure 12. Cascaded control on the linear velocity u. The flapping noise includes the drag d and the pitch torque t p .
Figure 12. Cascaded control on the linear velocity u. The flapping noise includes the drag d and the pitch torque t p .
Actuators 12 00262 g012
Figure 13. Nichols plot of the linear velocity loop u ^ ( s ) / u e ( s ) with the P + I compensator C 2 ( s ) .
Figure 13. Nichols plot of the linear velocity loop u ^ ( s ) / u e ( s ) with the P + I compensator C 2 ( s ) .
Actuators 12 00262 g013
Figure 14. Step response with a requested speed of u d = 1 m/s, with (red) and without (blue) flapping noise. Right: reconstructed speed u ^ . Left: corresponding reconstructed pitch angle θ ^ .
Figure 14. Step response with a requested speed of u d = 1 m/s, with (red) and without (blue) flapping noise. Right: reconstructed speed u ^ . Left: corresponding reconstructed pitch angle θ ^ .
Actuators 12 00262 g014
Figure A1. From top to bottom: Time history of the lift force when the flapping frequency is 22.3 Hz and the cycle-averaged lift is 23.3 g. Detail of one cycle. FFT transform showing the harmonics, multiple times the flapping frequency.
Figure A1. From top to bottom: Time history of the lift force when the flapping frequency is 22.3 Hz and the cycle-averaged lift is 23.3 g. Detail of one cycle. FFT transform showing the harmonics, multiple times the flapping frequency.
Actuators 12 00262 g0a1
Figure A2. From top to bottom: Time history of the aerodynamic torque t p when the flapping frequency is 20.8 Hz with the servo actuator near neutral position (the average torque is 17.8 g·mm). Detail of one cycle. FFT transform showing the harmonics, multiple times the flapping frequency.
Figure A2. From top to bottom: Time history of the aerodynamic torque t p when the flapping frequency is 20.8 Hz with the servo actuator near neutral position (the average torque is 17.8 g·mm). Detail of one cycle. FFT transform showing the harmonics, multiple times the flapping frequency.
Actuators 12 00262 g0a2
Figure A3. From top to bottom: Time history of the drag force d when the flapping frequency is 19.9 Hz; the average drag is 2.6 g. Detail of one cycle. FFT transform showing the harmonics, multiple times the flapping frequency.
Figure A3. From top to bottom: Time history of the drag force d when the flapping frequency is 19.9 Hz; the average drag is 2.6 g. Detail of one cycle. FFT transform showing the harmonics, multiple times the flapping frequency.
Actuators 12 00262 g0a3
Figure A4. Both sides of the 25 × 26 mm control board. Weight: 1.6 g.
Figure A4. Both sides of the 25 × 26 mm control board. Weight: 1.6 g.
Actuators 12 00262 g0a4
Figure A5. Main components of the control board.
Figure A5. Main components of the control board.
Actuators 12 00262 g0a5
Table A1. COLIBRI parameters for the body dynamics model.
Table A1. COLIBRI parameters for the body dynamics model.
ParameterValueUnit
m 23.5 g
K 22.3 mN·s/m
K q 0.008mN·s·m
K r 0.065mN·s·m
I x x 56,000g·mm2
I y y 56,000g·mm2
I z z 3800g·mm2
I y z 0g·mm2
I y x 0g·mm2
I z x 0g·mm2
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Farid, Y.; Wang, L.; Brancato, L.; Wang, H.; Wang, K.; Preumont, A. Robotic Hummingbird Axial Dynamics and Control near Hovering: A Simulation Model. Actuators 2023, 12, 262. https://doi.org/10.3390/act12070262

AMA Style

Farid Y, Wang L, Brancato L, Wang H, Wang K, Preumont A. Robotic Hummingbird Axial Dynamics and Control near Hovering: A Simulation Model. Actuators. 2023; 12(7):262. https://doi.org/10.3390/act12070262

Chicago/Turabian Style

Farid, Yousef, Liang Wang, Lorenzo Brancato, Han Wang, Kainan Wang, and André Preumont. 2023. "Robotic Hummingbird Axial Dynamics and Control near Hovering: A Simulation Model" Actuators 12, no. 7: 262. https://doi.org/10.3390/act12070262

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop