Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Video Links:

Fully autonomous hovering control

http://mec2.tm.chiba-u.jp/monograph/Videos/Chapter2/1.avi

Square trajectory following control

http://mec2.tm.chiba-u.jp/monograph/Videos/Chapter2/2.wmv

Circle trajectory following control

http://mec2.tm.chiba-u.jp/monograph/Videos/Chapter2/3.avi

S character trajectory following control by preview optimal control

http://mec2.tm.chiba-u.jp/monograph/Videos/Chapter2/4.wmv

1 Introduction

In recent times, unmanned/Micro aerial vehicles (UAVs/MAVs) have been operated across the world; they have also been the subject of considerable research. In particular, UAVs/MAVs with rotary wings have been expected to perform various tasks such as monitoring at fixed points and surveillance from the sky since they can perform not only perform static flights by hovering but also achieve vertical takeoffs and landing. Helicopters have been used for personnel transport, carrying goods, spreading information, and performing monitoring duties for long periods. A manned helicopter has to be used for all these duties. On the other hand, unmanned helicopters that can be operated by radio control have been developed as a hobby. Since unmanned helicopters are often superior to manned helicopters in terms of cost and safety, in recent years, accomplishing tasks using unmanned helicopters has become popular. Actually, chemical spraying of paddy fields has been performed for a long time by using manned helicopters. but this task has become to be performed by unmanned helicopter named YAMAHA-RMAX. However, unmanned helicopters have a few disadvantages. First, considerable expertise is required to operate unmanned helicopters by radio control, and hence, vast labor resources are employed to train operators. Moreover, it is impossible to operate unmanned helicopters outside visual areas because of lack of radio control, and the working area is hence limited remarkably. For solving the above problems, it is necessary to realize autonomous control of unmanned helicopters. Hence, several researches on the autonomous control of unmanned helicopters have been performed across the world. Some representative studies include [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] and [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31].

However, no general method for designing the control system of small unmanned helicopters has been developed yet – today, various control system design techniques by different study groups using different helicopters exist. In this chapter, a model-based control system design will be introduced as a general control method for small unmanned helicopters. Further, a mathematical model for the model-based control system design and a design of the optimal control system by using the derived model will be introduced.

2 Fundamental Modeling of Small and Miniature Helicopters

2.1 Small and Miniature Unmanned Helicopters

In this section, single-rotor and coaxial-rotor helicopters are introduced. A single-rotor helicopters consist of four parts – fuselage, tail system, main rotor, and stabilizer (Fig. 2.1). Coaxial-rotor helicopters also consist of four parts – fuselage, lower rotor, upper rotor, and stabilizer (Fig. 2.2). Each helicopter has a special actuator mechanism called a swash plate. The swash plate is mounted at the main mast of the helicopter to actuate the rotor blade pitch angle. An overview of the swash plate is shown in Figs. 2.3 and 2.4. In the following sections, the modeling of the single-rotor and coaxial-rotor helicopters is shown.

Fig. 2.1
figure 1

Overview of single-rotor helicopter

Fig. 2.2
figure 2

Overview of coaxial-rotor helicopter

Fig. 2.3
figure 3

Swash plate of single-rotor helicopter

2.2 Modeling of Single-Rotor Helicopter

In this section, a mathematical model of the single-rotor helicopter is derived. The single-rotor helicopter comprises a large number of rigid bodies; hence, we must first derive the model of each rigid body. We then combine the models of all rigid bodies, and derive the entire mathematical model of a single-rotor helicopter. In the following section, we introduce the modeling of the dynamics of servomotors, dynamics of rolling and pitching motions, dynamics of yawing motions, dynamics of heaving motions, and dynamics of horizontal velocities and positions. It is assumed that the coupling terms about each axis can be neglected. Hence, the derived models are a simple single input single output (SISO) model.

Fig. 2.4
figure 4

Swash plate of coaxial-rotor helicopter

2.2.1 Dynamics of Servomotors

Hobby-class helicopters typically use an actuator with servomotors. In single-rotor helicopters, there are five servomotors for actuation – aileron servomotors, elevator servomotors, collective pitch servomotors, rudder servomotors, and throttle servomotors. The input pulse widths of the servomotor are proportional to the rotation angle of an arm (Fig. 2.5). We assume that the transfer function of the servomotor is the following equation:

$${G}_{s}(s) = \frac{{\omega }_{\mathit{ns}}^{2}} {{s}^{2} + 2{\zeta }_{s}{\omega }_{\mathit{ns}}s + {\omega }_{\mathit{ns}}^{2}}$$
(2.1)

Here the parameter ζ s is a damping coefficient and the parameter ω ns is a natural angular frequency. These parameters can be determined using an identification method. The frequency response of this model is shown in Fig. 2.6. The cut-off frequency is approximately 5 Hz.

Fig. 2.5
figure 5

Servomotor actuator

Fig. 2.6
figure 6

Bode diagram of servomotor model

2.2.2 Pitching and Rolling Motions

When the rotation angles of the aileron and elevator servomotors change, the cyclic pitch angle of the main blade also changes. Accordingly, the rotor disc rotates and gyro moments are generated. Pitching and rolling moments are produced by these gyro moments of the main rotor blades. We assume that the effect of the gyro moments on pitching and rolling directions are identical; therefore, differences in the model gain exist due to the difference in the inertia moments of fuselage. In such a case, the transfer function from the rotation angle of the servomotor to the rotation angle of the fuselage is defined as follows:

$$G(s) = \frac{K} {(\mathit{Ts} + 1)s}$$
(2.2)

Here T is the time constant of the system and K is the model gain. We connect the servomotor model derived in the previous section and (2.2) serially. The transfer function from the pulse input to the rotation angle of the fuselage is obtained as follows:

$$\begin{array}{l} {G}_{\theta }(s) = \dfrac{{\omega }_{\mathit{ns}}^{2}{K}_{\theta }} {({s}^{2} + 2{\zeta }_{s}{\omega }_{\mathit{ns}}s + {\omega }_{\mathit{ns}}^{2})({T}_{\theta }s + 1)s} \\ {G}_{\phi }(s) = \dfrac{{\omega }_{\mathit{ns}}^{2}{K}_{\varphi }} {({s}^{2} + 2{\zeta }_{s}{\omega }_{\mathit{ns}}s + {\omega }_{\mathit{ns}}^{2})({T}_{\varphi }s + 1)s}\\ \end{array}$$
(2.3)

Here the suffixes θ and φ imply pitching and rolling directions, respectively. Our control system loops have time delays – time delay of sensor output data and time delay of data transfer via a wireless modem. The total time delay is approximately thrice the data sampling time. We consider the time delay when we design controllers. The transfer functions of pitching and rolling motions including time delays are obtained as follows:

$$\begin{array}{l} {G}_{\theta }(s) = {e}^{-\mathit{Ls}} \dfrac{{\omega }_{\mathit{ns}}^{2}{K}_{\theta }} {({s}^{2} + 2{\zeta }_{s}{\omega }_{\mathit{ns}}s + {\omega }_{\mathit{ns}}^{2})({T}_{\theta }s + 1)s} \\ {G}_{\phi }(s) = {e}^{-\mathit{Ls}} \dfrac{{\omega }_{\mathit{ns}}^{2}{K}_{\varphi }} {({s}^{2} + 2{\zeta }_{s}{\omega }_{\mathit{ns}}s + {\omega }_{\mathit{ns}}^{2})({T}_{\varphi }s + 1)s}\\ \end{array}$$
(2.4)

We determined the value of the parameters T θ, T ϕ, K θ, and K ϕ, from repeated data tuning using simulations and experiments. We then set the time delay e Ls to the first-order Pade approximation. The first-order Pade approximation is as follows:

$${e}^{-\mathit{Ls}} \approx \frac{1 -\frac{L} {2} S} {1 + \frac{L} {2} S}$$
(2.5)

As a result, the order of the model is 5. We show the bode diagram of the pitching model in Fig. 2.7.

Fig. 2.7
figure 7

Bode diagram of pitch model

2.2.3 Dynamics of Yawing Motion

When the rotation angle of a rudder servomotor is changed, the tail rotor blade pitch angle changes. Accordingly, the thrust of the tail rotor also changes. Yawing moments are generated by the tail rotor thrust, while the helicopter rotates in the yawing direction. It should be noted that the system of the yawing motion of the small helicopter is not a simple open-loop system. If the yawing system was an open-loop system, the helicopter will be rotated by the counter moment of the main rotor. However, in such a case, it is extremely difficult to control the heading of the helicopter. For the abovementioned reasons, all small helicopters have a local feedback system called the rate gyro. The rate gyro feedbacks the yawing rate, which is measured by a gyro sensor, to counteract the counter moments of the main rotor. In our model, we use an active velocity control system (AVCS) gyro in which a proportional integral (PI) control system is implemented. The block diagram of the AVCS gyro system is shown in Fig. 2.8. We assume that the closed-loop system with the AVCS gyro, actuator, and yaw dynamics is a second-order system. Further, we add the integral elements and delays mentioned in the previous section. The transfer function from the rudder pulse input to the rotation angle of the yawing direction is obtained as follows:

$${G}_{\psi }(s) = {e}^{-\mathit{Ls}} \frac{{\omega }_{n\psi }^{2}{K}_{ \psi }} {\left ({s}^{2} + 2{\zeta }_{s}{\omega }_{n\psi }s + {\omega }_{n\psi }^{2}\right )s}$$
(2.6)

Here the suffix ψ implies the yawing direction.

Fig. 2.8
figure 8

Yawing dynamics with AVCS control system

2.2.4 Dynamics of Heave Direction

The helicopter moves up and down as a result of changes in the thrust of the main rotor. According to the blade element theory, the thrust generated by the main rotor is calculated as follows:

$$T = \frac{b} {4}\rho \mathit{ac}{\Omega }^{2}{R}^{3}({\theta }_{ t} + {\phi }_{t})$$
(2.7)

Here T is the thrust of the main rotor; b, the number of rotor blades; ρ, the air density; a, a 2-dimensional lift curve slope; c, the blade chord length; Ω, the rotational speed of the main rotor; R, the radius of the main rotor; and θ t , the collective pitch angle of the main rotor. In addition, φ t is the inflow angle and defined as follows.

$${\phi }_{t} = \frac{{v}_{d} + {V }_{z}} {2R\Omega }$$
(2.8)

v d is the induced velocity and V z is the upward velocity of the helicopter. When the helicopter is in the sky, most of the abovementioned parameters are constant, and there are only three variable parameters – Ω, θ t , and φ t . In particular, in hovering flight, V z is zero and v d is constant; hence, φ t changes with only Ω. The changes in Ω and θ t are proportional to the rotational angles of the throttle servomotor and collective servomotor, respectively. At this point, we used an engine speed controller called a Governor. The Governor maintains a constant rotor speed Ω. A typical Governor is shown in Fig. 2.9. Additionally, we assume that v d ≪ Ω, and hence, φ t 0. Under these assumptions, it can be said that the main-rotor thrust T changes only with the collective pitch angle θ t . We can rewrite (2.7) into a simpler equation as follows:

$$T = {K}_{T}{\theta }_{t}$$
(2.9)

Here K T is the gain that depends on any constant parameter. We consider M to be the mass of the helicopter, and the equation of motion of the heave direction is obtained as follows:

$$M\dot{{V }}_{z} = -{K}_{v}{V }_{z} + {K}_{T}{\theta }_{t}$$
(2.10)

The first term on the right-hand side is air drag and K v is the mean coefficient of the air drag. We add an integral element, and the transfer function from the collective pulse input to the height of the helicopter is obtained as follows:

$${G}_{\mathit{ud}}(s) = \frac{{K}_{T}{K}_{{\theta }_{t}}} {(\mathit{Ms} + {K}_{v})s}$$
(2.11)

\({K}_{{\theta }_{t}}\) is the ratio of the collective pulse input to the collective pitch angle of the main-rotor blade in hovering flight.

Fig. 2.9
figure 9

Electric governor

2.2.5 Dynamics of Horizontal Velocity and Position

The main-rotor disc is tilted by the rotational motion in the pitching direction. Accordingly, the main-rotor thrust is decomposed into a horizontal direction (forward) and a vertical direction. Further, the horizontal component of the main-rotor thrust makes the helicopter move in the forward direction (Fig. 2.10). We now assume that the helicopter remains stationary or moves with a constant speed in an up-down direction. The vertical component of the main-rotor thrust is equal to the weight of the helicopter. Under this assumption, we consider M to be the mass of the helicopter; g, the acceleration due to gravity; θ, the pitching rotation angle of the helicopter; and V x , the forward velocity of the helicopter. We assume that θ is sufficiently small, and obtain the equation of motion of the forward direction as follows.

$$M\dot{{V }}_{x} = -\mathit{Mg}\tan \theta \cong -\mathit{Mg}\theta $$
(2.12)

In a similar manner, we consider ϕ as the rolling rotation angle of the helicopter and V y as the rightward velocity of the helicopter. We assume that ϕ is sufficiently small, and the equation of motion of the rightward direction is obtained as follows:

$$M\dot{{V }}_{y} = \mathit{Mg}\tan \varphi \cong\mathit{Mg}\varphi $$
(2.13)

We apply the Laplace transform to (2.12) and (2.13). The transfer function from the rotation angle of the helicopter to its horizontal velocity is obtained as follows:

$$\begin{array}{l} {G}_{\mathit{vx}}(s) = \dfrac{{V }_{x}} {\theta } = -\dfrac{g} {s} \\ {G}_{\mathit{vy}}(s) = \dfrac{{V }_{y}} {\varphi } = \dfrac{g} {s}\\ \end{array}$$
(2.14)

However, in the case of the simple model shown by (2.14), the model output does not agree with the helicopter velocity collected from flight experiments. Hence, we introduced an unstable pole instead of the integrator in (2.14). The modified model is shown as follows:

$$\begin{array}{l} {G}_{\mathit{vx}}(s) = - \dfrac{g} {s - a} \\ {G}_{\mathit{vy}}(s) = \dfrac{g} {s - a}\\ \end{array}$$
(2.15)

a is a positive constant, which, in this study, is considered to be a = 0. 2. This unstable pole was introduced because the stability of the control system designed based on the model with an unstable pole might not degrade (only an unstable tendency will be present in the experimental data). In fact, it is well-known that the control system design makes the closed-loop system become strongly stable by adding unstable poles to the model). Additionally, it is clear that some dynamics between the rotation angles and horizontal accelerations are present, when we compare the acceleration data from the differential calculus of the horizontal velocity data with the rotation angle data measured at the time of the flight experiment. We assumed that this dynamics is first-order and added it to (2.15) [15]. The modified velocity model is obtained as follows:

$$\begin{array}{l} {G}_{\mathit{vx}}(s) = -g \dfrac{b} {s + b} \dfrac{1} {s - a} \\ {G}_{\mathit{vy}}(s) = g \dfrac{b} {s + b} \dfrac{1} {s - a}\\ \end{array}$$
(2.16)

b is an arbitrary positive constant. It is difficult to conceptualize such a first-order dynamics and unstable pole being included in the dynamics from the rotation angle of a helicopter to the velocity of the helicopter; however, it is clearly caused by the inside dynamics of the attitude sensor that are used for rotation-angle measurements during the experiment (as per analysis after) [16].

Fig. 2.10
figure 10

Decomposition of thrust

We add an integrator to the model of the horizontal velocity of the helicopter mentioned above, and the transfer function from the rotation angle of the helicopter to its horizontal position is obtained as follows:

$$\begin{array}{l} {G}_{\mathit{vx}}(s) = -g \dfrac{b} {s + b} \dfrac{1} {s - a} \dfrac{1} {s} \\ {G}_{\mathit{vy}}(s) = g \dfrac{b} {s + b} \dfrac{1} {s - a} \dfrac{1} {s}\\ \end{array}$$
(2.17)

2.3 Modeling of Coaxial-Rotor Helicopter

In this section, the mathematical model of a coaxial-rotor helicopter is derived. It is assumed that the coupling terms about each axis can be neglected (identical to the case of the single-rotor helicopter). Further, the dynamics of heaving and heading motions are similar to that in a single-rotor helicopter; hence, only the dynamics of a servomotor, dynamics of rolling and pitching motions, and dynamics of horizontal motion are introduced.

2.3.1 Dynamics of Servomotors

In the case of a coaxial-rotor helicopter, which is addressed in this book, it is not required to actuate the collective pitch angle and tail-rotor pitch angle. Hence, only servomotors are used to actuate the pitching and rolling motions. The servomotor itself is small, and its range of movement is not significantly large; hence, highorder dynamics can be neglected. We assume that the dynamics of a servomotor can be an approximated first-order equation.

$${G}_{m}(s) = \frac{{K}_{m}} {{T}_{m}s + 1}$$
(2.18)

Here T m represents the time constant of servomotors and K m , the appropriate scalar gain.

2.3.2 Dynamics of Rolling and Pitching Motions

In the case of coaxial-rotor helicopters, when the rotation angles of aileron and elevator servomotors are changed, the swash plate moves; the cyclic pitch angle of the lower rotor changes. The rotation plane of the lower rotor then tilts and the flapping direction is obtained. Here, the system between the rotation angle of the servomotor and the tilt angle of the lower rotor can be approximated as a first-order transfer function, as shown in (2.19).

$${G}_{\varphi l}(s) = \frac{{K}_{\varphi l}} {{T}_{\varphi l}s + 1}$$
(2.19)

The suffix ϕl implies that this is the transfer function of the tilt angle of the lower rotor. The moment is then generated by the tilt of the lower rotor, and the rotation angle of the fuselage changes. However, the stabilizer bar mounted on top of the body maintains the rotational plane using the gyro effect. This implies that the rotational angle between the main mast and stabilizer bar changes, and this system can be approximated as the following transfer function:

$${G}_{\varphi s}(s) = {K}_{\varphi s}\left (1 - \frac{1} {{T}_{\varphi s}s + 1}\right )$$
(2.20)

The suffix ϕs implies that this is the transfer function of the tilt angle of the stabilizer bar. Next, when the tilt angle of the stabilizer bar changes, the cyclic pitch angle of the upper rotor, which is connected to the stabilizer bar, changes, and the rotational plane of the upper rotor tilts. Here, the transfer function between the tilt angles of the stabilizer bar and upper rotor can be approximated as follows:

$${G}_{\varphi u}(s) = \frac{{K}_{\varphi u}} {{T}_{\varphi u}s + 1}$$
(2.21)

The suffix ϕu implies that this is the transfer function of the tilt angle of the upper rotor. We now describe the transfer function that represents the dynamics of rolling and pitching motions by a combination of the abovementioned three transfer functions and the transfer function of the servomotor. The external moment, which has significant influence on the changes in the attitude of the fuselage, is generated by changes in the tilt angles of the upper and lower rotors. Now, let us consider T u and T l as the thrusts generated by the upper and lower rotors, respectively; L u and L l , the distance between the center of gravities of the fuselage and the upper and lower rotors, respectively; and ϕ u and ϕ l , the tilt angles of the upper and lower rotors, respectively. Assuming that ϕ u and ϕ l are sufficiently small, the moments M u and M l , which are generated by the upper and lower rotors, respectively, around the center of the gravity of the fuselage are as follows:

$$\begin{array}{l} {M}_{u} = {T}_{u}{L}_{u}\sin {\varphi }_{u}\cong{T}_{u}{L}_{u}{\varphi }_{u} \\ {M}_{l} = {T}_{l}{L}_{l}\sin {\varphi }_{l}\cong{T}_{l}{L}_{l}{\varphi }_{l}\\ \end{array}$$
(2.22)

Here θ is the pitch or roll attitude angle, and J represents the inertia moment of each axis; the general form of the equation of motion about the attitude of the fuselage is given as follows.

$$J\ddot{\theta } = {M}_{u} + {M}_{l}$$
(2.23)

Figure 2.11 combines (2.18)–(2.21) and (2.23) and shows the block diagram of the system between the input and attitude angles of the fuselage. In Fig. 2.11, D u and D l imply a damping factor that is based on air resistance, and both are scalar values. Here, ϕ m represents the rotational angle of the servomotor; ϕ s , the tilt angle of the stabilizer bar; and \({x}_{a} ={ \left [\begin{array}{*{20}c} \theta &\dot{\theta }&{\phi }_{l}&{\phi }_{u}&{\phi }_{s}&{\phi }_{m}\\ \end{array} \right ]}^{T}\), the state vector of the system. According to the block diagram, the general form of the state space equation, which describes the dynamics of the system between the input and attitude angles of the fuselage, can be represented as follows.

$$\dot{{x}}_{a} = {A}_{a}{x}_{a} + {B}_{a}u$$
(2.24)
Fig. 2.11
figure 11

Block diagram of attitude dynamics of coaxial-rotor helicopter

Each matrix in the equation is defined as follows:

$$\begin{array}{l} {A}_{a} = \left [\begin{array}{*{24}c} 0& 1 & 0 & 0 & 0 & 0 \\ 0&-\frac{{D}_{u}+{D}_{l}} {J} & \frac{{T}_{l}{L}_{l}} {J} &\frac{{T}_{u}{L}_{u}} {J} & 0 & 0 \\ 0& 0 &- \frac{1} {{T}_{\varphi l}}& 0 & 0 &\frac{{K}_{\varphi l}} {{T}_{\varphi l}} \\ 0& 0 & 0 &- \frac{1} {{T}_{\varphi u}}&\frac{{K}_{\varphi u}} {{T}_{\varphi u}} & 0 \\ 0& -{K}_{\varphi s} & 0 & 0 &- \frac{1} {{T}_{s}}& 0 \\ 0& 0 & 0 & 0 & 0 &- \frac{1} {{T}_{s}}\\ \end{array} \right ] \\ \\ \\ \\ {B}_{a} ={ \left [\begin{array}{*{26}c} 0&0&0&0&0&\frac{{K}_{m}} {{T}_{m}}\\ \end{array} \right ]}^{T}\\ \end{array}$$
(2.25)

The dynamics of the servomotor, upper and lower rotors, and the stabilizer bar are symmetrical about the roll and pitch directions. Hence, we can obtain the attitude model of the roll and pitch directions by substituting the value of the inertia moment of the roll and pitch axis, respectively, into J in (2.25).

2.3.3 Dynamics of Horizontal Velocity and Position

The horizontal component of the thrust generated by the rotor primarily affects the dynamics of the horizontal motion. Now, consider the horizontal components of the thrust generated by the upper and lower rotors as F uh and F lh respectively; the relation between these forces and the tilt angles of the upper and lower rotors can be represented as (2.26).

$$\begin{array}{l} {F}_{\mathit{uh}} = {T}_{u}\sin (\theta + {\varphi }_{u})\cong{T}_{u}(\theta + {\varphi }_{u}) \\ {F}_{\mathit{lh}} = {T}_{l}\sin (\theta + {\varphi }_{l})\cong{T}_{l}(\theta + {\varphi }_{l})\\ \end{array}$$
(2.26)

Here we assume that the attitude angle and tilt angle of each rotor are sufficiently small. x is considered to be the displacement in the X-axis and Y -axis directions and M as the mass of the body, and the general form of the equation of motion is represented as (2.27).

$$M\ddot{x} = -{D}_{x}\dot{x} + {F}_{\mathit{uh}} + {F}_{\mathit{lh}}$$
(2.27)

The dynamics of the horizontal motion, including the dynamics of the attitude of fuselage, is described in Fig. 2.12. In this block diagram, the state space equation that expresses the dynamics between the input and displacement in the horizontal direction is represented by (2.28).

$$\dot{{x}}_{h} = {A}_{h}{x}_{h} + {B}_{h}u$$
(2.28)

Each matrix in this equation is defined as follows:

$$\begin{array}{l} {A}_{h} = \left [\begin{array}{*{28}c} 0 & 1 & 0 & 0 & 0 &0& 0 & 0 \\ 0 &-\frac{{D}_{u}+{D}_{l}} {J} & \frac{{T}_{l}{L}_{l}} {J} &\frac{{T}_{u}{L}_{u}} {J} & 0 &0& 0 & 0 \\ 0 & 0 &- \frac{1} {{T}_{\varphi l}}& 0 & 0 &0& 0 &\frac{{K}_{\varphi l}} {{T}_{\varphi l}} \\ 0 & 0 & 0 &- \frac{1} {{T}_{\varphi u}}&\frac{{K}_{\varphi u}} {{T}_{\varphi u}} &0& 0 & 0 \\ 0 & -{K}_{\varphi s} & 0 & 0 &- \frac{1} {{T}_{s}}&0& 0 & 0 \\ 0 & 0 & 0 & 0 & 0 &0& 1 & 0 \\ \frac{{F}_{\mathit{lh}}+{F}_{uh}} {M} & 0 & \frac{{F}_{\mathit{lh}}} {M} & \frac{{F}_{\mathit{uh}}} {M} & 0 &0&-{D}_{x}& 0 \\ 0 & 0 & 0 & 0 & 0 &0& 0 &- \frac{1} {{T}_{s}}\\ \end{array} \right ] \\ {B}_{a} ={ \left [\begin{array}{*{20}c} 0&0&0&0&0&0&0&\frac{{K}_{m}} {{T}_{m}}\\ \end{array} \right ]}^{T} \\ {x}_{h} ={ \left [\begin{array}{*{20}c} \theta &\dot{\theta }&{\varphi }_{l}&{\varphi }_{u}&{\varphi }_{s}&x&\dot{x}&{\varphi }_{m}\\ \end{array} \right ]}^{T}\\ \end{array}$$
(2.29)
Fig. 2.12
figure 12

Block diagram of the horizontal dynamics of coaxial-rotor helicopter

3 Control System Design of Small Unmanned Helicopter

In the previous section, the mathematical model that expresses the dynamics of small and miniature helicopters was derived. In this section, a control systetm design based on this mathematical model is shown. A method based on optimal control theory is introduced as an example of a representative design method for stationary flight control such as hovering. Moreover, for trajectory control, the optimal preview control is efficiency; hence, it is introduced in a subsequent section.

3.1 Optimal Control

Before performing control system design, it is neccesary to transform the transfer function that was derived in the previous section into a state space equation because the state space equation is required for optimal control design. Transformation of the transfer function into a state space equation is called realization. In general, it is well known that multiple realizations exist for a transfer function. In the following discussion, it is desirable that the system is controllable and observable; hence, we assume such a system. The realization that is controllable and observable is called minimum realization. The realization of the transfer function that was derived in the previous section is shown as follows:

$$\begin{array}{l} \mathrm{\mathbf{\dot{x}}} = \mathrm{\mathbf{Ax}}(t) + \mathrm{\mathbf{B}}u(t),\quad \mathrm{\mathbf{x}} \in {R}^{n},\quad u \in R \\ y = \mathrm{\mathbf{Cx}}(t),\ \ \qquad \qquad y \in R\\ \end{array}$$
(2.30)

(A,B) are controllable and (A,C) is observable.

For the control of small unmanned helicopters, it is desired that the output of the system follows an appropriate value. For example, for attitude control, the attitude of the helicopter follows the reference attitude, while in the case of height control, the height of the helicopter follows the reference height. In these cases, the servo sytstem design is necessary for following the reference value without any steady-state error. Considering that r is a constant reference value, the integral value of the error between the reference and output is defined by the following equation.

$$e(t) ={ \int \nolimits \nolimits }_{0}^{t}\{r - y(\tau )\}d\tau $$
(2.31)

Here x a is the state value of the augmented system and is defined as x a = [x T, e]T, and the state space equation of the augmented system is defined as follows:

$${ \mathrm{\mathbf{\dot{x}}}}_{a} ={ \mathrm{\mathbf{A}}}_{a}{\mathrm{\mathbf{x}}}_{a} +{ \mathrm{\mathbf{B}}}_{a}u + \mathrm{\mathbf{E}}r$$
(2.32)

The matrices in this equation are defined as follows:

$${ \mathrm{\mathbf{A}}}_{a} = \left [\begin{array}{c@{\quad }c} \mathrm{\mathbf{A}} \quad &\mathrm{\mathbf{0}}\\ -\mathrm{\mathbf{C} } \quad &0\\ \quad \end{array} \right ],\quad {\mathrm{\mathbf{B}}}_{a} = \left [\begin{array}{*{20}c} \mathrm{\mathbf{B}}\\ 0\\ \end{array} \right ],\quad \mathrm{\mathbf{E}} = \left [\begin{array}{*{20}c} \mathrm{\mathbf{0}}\\ 1\\ \end{array} \right ]$$
(2.33)

The optimal controller will now be designed on the basis of the servo augmented system represented by (2.32).

Optimal control is an objective of the control system design method. In this method, the optimal control inputs are calculated by using state feedback that can minimize certain criteria. Let us now consider the quadratic criteria shown as follows:

$$J ={ \int \nolimits \nolimits }_{0}^{\infty }\left [{\mathrm{\mathbf{x}}}_{ a}^{T}(t){\mathrm{\mathbf{Qx}}}_{ a}(t) +{ \mathit{Ru}}^{2}(t)\right ]\mathit{dt}$$
(2.34)

The weighting matrix Q for the control objective is a non-negative definite symmetric matrix. Further, the weight R for the control input is a positive scalar. The optimal control input that minimizes (2.34) is obtained as (2.35).

$$u(t) = -{\mathrm{\mathbf{Fx}}}_{a}(t),\quad \mathrm{\mathbf{F}} = {R}^{-1}{\mathrm{\mathbf{B}}}_{ a}^{T}\mathrm{\mathbf{P}}$$
(2.35)

The matrix P is the solution of the Riccati equation represented by (2.36), and it is a positive definete symmetric matrix.

$${ \mathrm{\mathbf{PA}}}_{a} +{ \mathrm{\mathbf{A}}}_{a}^{T}\mathrm{\mathbf{P}} -{\mathrm{\mathbf{PB}}}_{ a}{R}^{-1}{\mathrm{\mathbf{B}}}_{ a}^{T}\mathrm{\mathbf{P}} + \mathrm{\mathbf{Q}} = \mathrm{\mathbf{0}}$$
(2.36)

In the case of Q and R, the control performance increases if we increase Q, and we can decrease the control input by increasing R. An example of the design guidance is shown below. For servo system design, we first set a value for Q depending on the integral calculus level of the error in order to improve the control performance. We then suppress any overshoots by regulating the value of Q without depending on the integral calculus level of the error. Finally, we maintain the control input to the desired size by coordinating R.

For calculating the optimal control input represented by (2.35), it is necessary that the state vector x a is fed back. However, all the elements of the state vector may not be observed. In particular, in the case of a state equation that is converted from a transfer functiton, these state variable often do not have physical meaning, and it is difficult to observe them directly. In such cases, we must design the observer. We can observe the integral calculus level of the error in an element of x a clearly; hence, in this case, the observer for the state vector x is designed. Considering \(\hat{\mathbf{\mathit{x}}}\) to be the estimate of the state vector x, the observer can calculate \(\hat{\mathbf{\mathit{x}}}\) using the following equation

$$\mathrm{\mathbf{\dot{\hat{x}}}}(t) = \mathrm{\mathbf{A\hat{x}}}(t) + \mathrm{\mathbf{B}}u(t) + \mathrm{\mathbf{L}}(y(t) -\mathrm{\mathbf{C\hat{x}}}(t))$$
(2.37)

The matrix L is the observer gain. The observer with these configurations is called an identity observer. Various methods have been developed for designing an observer gain L; here, the configuration of (2.37) is similar to the configuration of the steady-state Kalman filter. Hence, the design method using the theory of the Kalman filter has been introduced.

First, the following system is assumed for the Kalman filter.

$$\begin{array}{l} \mathrm{\mathbf{\dot{x}}} = \mathrm{\mathbf{Ax}}(t) + \mathrm{\mathbf{B}}u(t) + \mathrm{\mathbf{Gw}}(t) \\ y = \mathrm{\mathbf{Cx}}(t) + \mathrm{\mathbf{v}}(t)\\ \end{array}$$
(2.38)

Here w(t) is the system noise and v(t) is the measurement noise. It can be assumed that the coefficient matrix G, which depends on the system noise, is equal to the input matrix B; hence, we assume that G = B. The filter equation of the Karman filter is expressed using (2.37), and the filter gain is calculated using the following equation.

$$\mathrm{\mathbf{L}} ={ \mathrm{\mathbf{\overline{X}C}}}^{T}{\mathrm{\mathbf{V}}}^{-1}$$
(2.39)

The matrix \(\overline{\mathbf{\mathit{X}}}\) is the solution of the Riccati equation represented by (2.40), and it is a positive definete symmetric matrix.

$$\mathrm{\mathbf{A\overline{X}}} +{ \mathrm{\mathbf{\overline{X}A}}}^{T} -{\mathrm{\mathbf{\overline{X}C}}}^{T}{\mathrm{\mathbf{V}}}^{-1}\mathrm{\mathbf{C\overline{X}}} +{ \mathrm{\mathbf{GWG}}}^{T} = \mathrm{\mathbf{0}}$$
(2.40)

The matrices V and W are covariance matrices depending on the measurement noise and system noise, respectively. Moreover, they can be obtained as follows:

$$\begin{array}{l} E[\mathrm{\mathbf{w}}(t){\mathrm{\mathbf{w}}}^{T}(\tau )] = \mathrm{\mathbf{W}}(t)\delta (t - \tau ) \\ E[\mathrm{\mathbf{v}}(t){\mathrm{\mathbf{v}}}^{T}(\tau )] = \mathrm{\mathbf{V}}(t)\delta (t - \tau )\\ \end{array}$$
(2.41)

Here, δ(t) implies Dirac’s delta function and E[ ⋅] implies an expectation value.

We can calculate the control input by feeding back the estimated state vector \(\hat{{\mathbf{\mathit{x}}}}_{a} = {[\hat{{\mathbf{\mathit{x}}}}^{T},e]}^{T}\), which is estimated by the abovementioned observer design.

The controller is obtained by combining the observer with the state feedback in the manner shown by the following equation.

$$\begin{array}{l} {\mathrm{\mathbf{\dot{\hat{x}}}}}_{a} = ({\mathrm{\mathbf{A}}}_{a} -{\mathrm{\mathbf{B}}}_{a}\mathrm{\mathbf{F}} -\mathrm{\mathbf{LC}}){\mathrm{\mathbf{\hat{x}}}}_{a} + \mathrm{\mathbf{Ly}} \\ u = -\mathrm{\mathbf{F}}{\mathrm{\mathbf{\hat{x}}}}_{a}\\ \end{array}$$
(2.42)

3.2 Optimal Preview Control

In this section, optimal preview control is introduced as a method for trajectory control. First, the controlled object is described as the following discrete linear state space.

$$\begin{array}{l} \mathrm{\mathbf{x}}(k + 1) = \mathrm{\mathbf{Ax}}(k) + \mathrm{\mathbf{B}}u(k) + \mathrm{\mathbf{E}}d(k) \\ y(k) = \mathrm{\mathbf{Cx}}(k)\\ \end{array}$$
(2.43)

Here x, y, u, and d are the state variable, system output, system input, and disturbance, respectively. R(k) is used as the reference signal, and the tracking error is defined as follows:

$$e(k) = R(k) - y(k)$$
(2.44)

The error system can be derived as follows [32]:

$$\begin{array}{l} \left [\begin{array}{*{20}c} e(k + 1)\\ \Delta \mathrm{\mathbf{x} } (k + 1) \\ \end{array} \right ] = \left [\begin{array}{*{20}c} {\mathrm{\mathbf{I}}}_{m}&-\mathrm{\mathbf{CA}}\\ 0 & \mathrm{\mathbf{A} }\\ \end{array} \right ]\left [\begin{array}{*{20}c} e(k)\\ \Delta \mathrm{\mathbf{x} } (k) \\ \end{array} \right ] + \left [\begin{array}{*{20}c} -\mathrm{\mathbf{CB}}\\ \mathrm{\mathbf{B} }\\ \end{array} \right ]\Delta u(k) \\ \\ \\ \\ \qquad \qquad \qquad \quad + \left [\begin{array}{*{20}c} {\mathrm{\mathbf{I}}}_{m}\\ 0\\ \end{array} \right ]\Delta R(k + 1) + \left [\begin{array}{*{20}c} -\mathrm{\mathbf{CE}}\\ \mathrm{\mathbf{E} }\\ \end{array} \right ]\Delta d(k)\\ \end{array}$$
(2.45)

or,

$${ \mathrm{\mathbf{X}}}_{0}(k + 1) = \Phi {\mathrm{\mathbf{X}}}_{0}(k) + \mathrm{\mathbf{G}}\Delta u(k) +{ \mathrm{\mathbf{G}}}_{R}\Delta R(k + 1) +{ \mathrm{\mathbf{G}}}_{d}\Delta d(k)$$
(2.46)

The criterion function is defined as follows:

$$J ={ \sum }_{k=-{M}_{R}+1}^{\infty }\left [{\mathrm{\mathbf{X}}}_{ 0}^{T}(k){\mathrm{\mathbf{QX}}}_{ 0}(k) + \Delta {u}^{T}(k)H\Delta u(k)\right ]$$
(2.47)

Q is the positive definite, and H is the positive semi-definite. The control input that minimizes the criterion function is as follows:

$$\Delta u(k) ={ \mathrm{\mathbf{F}}}_{0}{\mathrm{\mathbf{X}}}_{0}(k) +{ \sum }_{j=1}^{{M}_{R} }{F}_{R}(j)\Delta R(k + j) +{ \sum }_{j=0}^{{M}_{d} }{F}_{d}(j)\Delta d(k + j)$$
(2.48)

Here

$$\begin{array}{rcl}{ \mathrm{\mathbf{F}}}_{0}& =& -{\left [H + {G}^{T}\mathit{PG}\right ]}^{-1}{G}^{T}P\Phi \\ {F}_{R}(j)& =& -{\left [H + {G}^{T}\mathit{PG}\right ]}^{-1}{G}^{T}{({\xi }^{T})}^{j-1}{\mathit{PG}}_{ R} \\ \ {F}_{d}(j)& =& -{\left [H + {G}^{T}\mathit{PG}\right ]}^{-1}{G}^{T}{({\xi }^{T})}^{j}{\mathit{PG}}_{ d} \\ \xi & =& \Phi + G{\mathrm{\mathbf{F}}}_{0} \\ \ P& =& Q + {\Phi }^{T}P\Phi - {\Phi }^{T}\mathit{PG}{\left [H + {G}^{T}\mathit{PG}\right ]}^{-1}{G}^{T}P\Phi \end{array}$$
(2.49)

M R and M d are the parameters that indicate the preview steps, i.e., how many future reference or disturbance steps are used for the control calculation. In our study, it is difficult to preview future disturbance, and hence, we use only the reference preview. Figure 2.13 shows the block diagram of the control structure, including the preview feed-forward. By eliminating the preview feed-forward, the controller becomes a type 1 servo feedback controller that maintains the stability of the closed loop.

Fig. 2.13
figure 13

Block diagram of optimal preview control

4 Experiment

Flight experiments were performed by using the controller designed in the previous sections. We now show the experimental setup for a single-rotor helicopter and coaxial-rotor helicopter for outdoor and indoor operations. Experimental results of static flight control such as hovering by using a optimal controller and trajectory flight control by using optimal preview control are described.

4.1 Experimental Setup for Single-Rotor Helicopter

In this section, an overview of the experimental setup for a single-rotor helicopter in an outdoor environment is introduced. In this case, we use a control system called a host-based control system. In the following discussion, the merits and demerits of the host-based control system are described in detail.

Figure 2.14 shows the configuration and signal flow of the host-based control system. According to this figure, in the host-based control system, a ground station and a control device that are equipped on a helicopter are combined; this constitutes a closed loop. First, a microcomputer collects sensor data that are mounted on a helicopter; the data is sent to a ground station by wireless communication. The control calculations are performed by a computer on the ground station by using data sent from the helicopter. The control input is then converted to a servo pulse by a pulse generator and sent to servomotors through a radio transmitter and receiver. By using this control system, we can use a high-performance computer for the control calculations, and hence, it is possible to calculate any control calculations even if it is large and complicated. This is the merit of the host-based control system. However, there is some delay because of the size of the radio transmission section, and it is impossible to perform control operations over the entire distance that a radio touches by using this control system. This is the demerit of this system.

Fig. 2.14
figure 14

Host-based control system

Next, we will introduce a control device mounted on the helicopter. Figure 2.15 shows an overview of our control device, while Fig. 2.16 shows its configuration. The control device consists of a micro-computer board, GPS sensor, attitude sensor, and wireless module. The total weight of this device including the electric battery is approximately 2 kg. This is sufficiently light to mount it on a small helicopter.

Fig. 2.15
figure 15

Overview of control device

Fig. 2.16
figure 16

Block diagram of control device

4.2 Experimental Setup of Coaxial-Rotor Helicopter

In this section, an overview of the experimental setup for a coaxial-rotor miniature helicopter operated in indoor environments is described. Figure 2.17 shows an overview of the experimental system. In the case of indoor flight, a GPS sensor cannot be used. Hence, we use a stereo vision camera to measure the position of the helicopter. First, the image data captured by the stereo vision camera is sent to an image-processing computer. In the image-processing computer, the position of the helicopter is calculated by using image data and sent to a control computer. In contrast, the attitude data of a helicopter is measured by a small-attitude sensor and also sent to control computer. Control calculations are performed by a control computer by using the position and attitude data of the helicopter. The control input is sent to a helicopter through a transmitter that is connected to the control computer. An overview of the small-attitude sensor is shown in Fig. 2.18. The weight of this senor is only 20 g, and it can be easily mounted on miniature helicopters.

Fig. 2.17
figure 17

Experimental setup of miniature helicopter

Fig. 2.18
figure 18

Small-attitude sensor

4.3 Static Flight Control

Static flight experiments were performed. The results of the experiments are shown below. Figure 2.19 shows the waypoint experiment results of a single-rotor helicopter. The position reference is expressed in steps. From this fugure, it is clear that a very stable flight was achieved. Experiment results of the miniture helicopter hovering in indoor environment are shown in Fig. 2.20. The miniture helicopter flies to maintain stability using an optimal controller.

Fig. 2.19
figure 19

Waypoint experiment result for single-rotor helicopter

Fig. 2.20
figure 20

Hovering experiment result for miniature helicopter

4.4 Trajectory-Following Control

In this section, the trajectory-following control results when an optimal preview controller was used are shown. Figures 2.21–2.24 show the experimental results. Figures 2.21 and 2.22 show the experimental results when we use a reference trajectory that goes around on a circular trajectory (radius = 10 m) within 30 s. In this experiment, the yaw angle was fixed at north. The phase delay due to preview control improved considerably as compared with the simulated results without preview control, as shown in Fig. 2.22. The feedback controller of these two results is identical. Therefore, the difference is due to the existence of the preview loop. Figures 2.23 and 2.24 show the experimental results of the “S” character-like trajectory. In this experiment, we control the yaw angle heading in the moving direction. In Fig. 2.23, the sharpest edge of the isosceles triangle indicates the heading direction.

Fig. 2.21
figure 21

Experimental results of preview control (X-Y plot, circular trajectory)

Fig. 2.22
figure 22

Experimental results of preview control (time domain response, circular trajectory)

Fig. 2.23
figure 23

Experimental results of preview control (X-Y plot, S trajectory)

5 Summary

In this chapter, control system design by using a mathematical model was introduced an efficient method of control system design for small unmanned helicopters. We chose single-rotor type and coaxial-rotor type small helicopters as the control object. The mathematical model that expresses the dynamics of both types of helicopters was derived. Moreover, optimal control system design based on the derived mathematical model was conducted.

Fig. 2.24
figure 24

Experimental results of preview control (time domain response, S trajectory)