1. Introduction
The dream of controlled flight was first realized by the invention of the airship, where it is claimed that Jean-Baptiste Meusnier designed the first airship in 1748 [
1]; it however, lacked a lightweight, powerful engine. Henri Giffard was the first person to equip an airship with steam-engine technology successfully. He flew his airship 17 miles in 1852, with a single propeller driven by a three-horsepower engine [
2]. The airship’s golden age was launched by the German Luftschiff Zeppelin in 1900, which was utilized in commercial and military applications. That golden age tragically ended in the Hindenburg disaster in 1937. In the past couple of decades, however, interest in airships arose due to the advancement of technology in many engineering fields. New demands, which cannot be satisfied by conventional fixed-wing aircraft, have also enthused interest in airships [
3]. Therefore, analyzing the dynamics of airships and implementing control structures that guarantee high performance and safety are necessary for the continued advancement of aerospace technology.
An airship’s main source of lift is buoyancy, or static lift. This is based on Archimedes’ principle: if a body is immersed in a fluid (air), it experiences a force proportional to the volume of the displaced fluid in the opposite direction of its weight. When the density of the body (airship) is less than that of the fluid (air), that force is substantial. Due to this, the dynamics of an airship are different from that of a conventional aircraft, with significant effects from added mass and added inertia and a much higher sensitivity to wind [
4]. Added mass and inertia effects are changes in the dynamics of the airship due to the mass and inertia of the air in which it is flying. This is experienced by all aircraft; however, in heavier-than-air flight, the mass and inertia of air are negligible when compared to that of the aircraft. In lighter-than-air flight, however, such as airship flight, these effects have too profound of an effect on the dynamics that they cannot be neglected. Due to this method of operation, airships have the ability to hover. This ability can transform unmanned airships into data acquisition platforms ideal for applications, such as surveillance, terrain mapping, climate research, inspection of man-made structures and GPS [
5].
The ability to stabilize and control an airship under wind disturbances is vital in any application. PID control is a commonly-used control scheme in various applications; the AURORA airship project, focused on the development of sensing, control and navigation technologies for autonomous or semi-autonomous airships [
6], employs a PID controller for the longitudinal velocity control, a PD altitude controller and a PD controller for heading control. A different approach, developed to control the airship heading, incorporates a PID controller with gains designed using
methods [
7]. Neural network-augmented model inversion control is also applied to airship control [
8]; it is a combination of feedback linearization and linear control. The theoretical aspect of applying the neural network is to compensate for the feedback linearization and modeling error. A dynamic inversion control law, forcing the closed-loop system outputs to follow a position command trajectory, is also designed to give an airship path-tracking capability [
9]. The control law shows fast correction of trajectory errors. Lyapunov stability-based designs of state-feedback control laws have also been implemented for the airship control problem [
10]. A backstepping methodology is utilized to design a closed-loop trajectory-tracking controller for an under-actuated airship [
11]. The authors state that backstepping is suitable for the cascaded nature of the vehicle dynamics and that it offers design flexibility and robustness against parametric uncertainties, which are often encountered in aerodynamic modeling and air stream disturbances. Other methods, including sliding mode control [
12], and fuzzy logic design, are implemented for airship control [
13].
The work presented here focuses on the design of a sub-optimal gain-scheduled feedback control law based on linear quadratic (LQ) methods. This controller is expected to fly the airship through a series of planar waypoints based on commands generated by a track-specific navigation algorithm. The selection of an LQ-based controller design is accredited to its ability to deal with multi-variable systems in a relatively simple way and its ease of implementation [
14]. While the presented work is similar to [
15] and [
16], who implement an LQ controller for regulating airship navigated flight, neither the exact gain scheduling law nor the navigation law used to guide the airship through flight are discussed in detail. In [
16], eleven trim points are required to implement a gain scheduling law, and the guidance law generates a commanded yaw rate based on the airship heading and the commanded heading towards the next waypoint. The work presented here introduces a simplistic, yet highly effective gain scheduling law with the capability of supplying the controllers with the values of the gain during all flight modes and relies on fewer trim points for achieving similar tasks.
The paper also presents two guidance laws; the first is a path-specific guidance law, commanding the airship to visit planar waypoints along a specified path. The other is a proportional navigation guidance law, commanding it to visit the waypoints by rotating its velocity vector. Both [
15] and [
16] assume that the required states and state derivatives to implement the control and navigation laws are available. This is not always true in reality, where some states may not be available by measurement. This issue is addressed in the work presented in this paper by designing and implementing a novel scheduled extended Kalman filter (SEKF) to estimate the required states for control and navigation with a minimal sensor suite on-board the airship. Measurements are only available from an inertial measurement unit (IMU) and GPS sensors. The EKF is presented in a manner such that the nonlinear system dynamics’ Jacobians need not be calculated at every instant, but are precalculated for a set of flight modes, and a “Jacobian scheduling law” is utilized to supply the filter with the needed values at every instant of the flight. This approach is not computationally intense and does not require the formulation of expressions for the Jacobian entries; therefore, it is effective and time saving. The governing equations of motion for the airship are complex; thus, having numerically-precalculated Jacobian matrices for every flight segment and scheduling these values allow for a practically effective approach for applying an EKF algorithm.
The paper is organized as follows: the airship nonlinear equations of motion are introduced first followed by the required linear models for control design, which are presented and discussed. The control laws and their corresponding navigation laws are designed and discussed. Following this, a novel EKF implementation for state and parameter estimation is elucidated. Finally, the results obtained from this research are introduced and discussed to formulate a conclusive argument.
2. Equations of Motion
The unmanned airship selected for this work is the AS500 airship [
17,
18,
19,
20]. The AS500 has a main hull engulfing the lifting gas, as can be seen in
Figure 1a. The AS500 incorporates aerodynamic tail fins in an
-configuration; these fins include control surfaces that can be deflected for stability and control. The tail fin configuration can be seen in
Figure 1b, where it is clear that there are two groups of fins: Groups 1 and 2. The
-configuration implies that the control of the airship flight is achieved by a coordinated effort between both fin group deflections
and
.
The AS500 main propeller, with tilting capability in the
plane of the body-fixed frame at an angle
, is positioned below the hull along the gondola, which is illustrated in
Figure 1a. A tail propeller that aids in heading control is also available on the AS500 and is illustrated in the figure. Numerical values for some of the airship physical parameters are given in
Table 1.
The equations of motion presented here are based on the methodology presented in [
19,
20,
21]. The derivation is omitted here for brevity; however, a detailed one can be found in [
22]. The airship motion in the inertial frame is the sum of the airship motion relative to the atmosphere and the atmosphere’s inertial motion. Therefore, the translational kinematics of the airship can be described as:
where
is the rotation matrix from the inertial frame to the body frame,
is the position vector of the airship’s body frame origin, expressed in the inertial frame,
,
V is the vector of airship velocity relative to the atmosphere expressed in the body frame,
, and
W is the atmosphere inertial velocity vector expressed in the inertial frame,
. The prevailing wind field experienced by the airship is simulated using the exponentially correlated wind model (ECWM) [
23]. The equations that govern the change of wind speed, in the inertial frame, are:
with
as a coefficient showing the extent of the mean square value of the wind,
the inverse time constant to show the extent of the correlation of the wind and
and
being the zero-mean Gaussian white noise.
and
are calculated as
and
. Wind parameter values are summarized in
Table 2. The wind is assumed to have a zero-mean Gaussian distribution, with a standard deviation of 0.5 m/s. The Dryden model is utilized to add the turbulence effect to the wind model.
The rotation matrix from the inertial frame to the body frame is constructed based on the 3-2-1 Euler angle rotation sequence. The rotational kinematics expresses the mapping of the body angular velocity to the Euler angle rates.
where
, with
φ,
θ and
ψ being the roll, pitch and yaw angles.
Γ(
Ω) is shown below.
The governing equations of motion for the airship translational and rotational dynamics, respectively, are:
where
M is the scalar mass of the airship,
is the center of mass position vector relative to the body frame, expressed in the body frame,
is an identity matrix,
is the inertia tensor and
is the airship angular velocity vector with respect to the inertial frame expressed in the body frame as
(the roll, pitch and yaw rates).
,
,
,
,
,
,
,
,
,
,
and
are variables pertaining to the forces and moments acting on the airship and are to be discussed next.
Forces and Moments on the Airship
The aerodynamic model implemented here is based on published data [
20]. The aerodynamic forces acting on the airship during flight are expressed as:
where
and
are the virtual mass matrices, whose expressions are given in
Appendix B (see Equations (23) and (24)).
is the main aerodynamic force vector in the body frame and can be expressed as:
are aerodynamic force coefficients in the body frame
X-direction,
Y-direction and
Z-direction, respectively, and the expressions for these coefficients are given in
Appendix A.
is the reference surface area of the airship hull;
is the translational section of the Coriolis-centrifugal coupling matrix; and
ρ is the air density.
Appendix B shows the expression for the the Coriolis-centrifugal coupling matrix. The aerodynamics moments acting on the airship during flight can be expressed as:
where
and
are the virtual inertia matrices, whose expressions are given in
Appendix B (see Equations (25) and (26)).
is the main aerodynamic moment vector in the body frame and can be expressed as:
are the aerodynamic moment coefficients in the body frame
X-direction,
Y-direction and
Z-direction respectively. Expressions for the aerodynamic moment coefficients are given in
Appendix A, as well.
is the reference length of the airship hull, and
is the rotational section of the Coriolis-centrifugal coupling matrix (see
Appendix B).
The AS500 airship has two sources of thrust, the main propeller and the tail propeller. The main propeller can produce thrust in the body frame X- and Z-directions by rotating at an angle
. The tail propeller only produces thrust in the y-direction of the body frame. The two vectors can be expressed in the body frame as
and
, where
and
are the magnitude of the main and tail thrust, respectively. The moment due to the propulsive forces acting on the airship in the body frame can be expressed as the sum of the cross product of the force vectors and their locations as
, where
and
are the position vectors of the main and tail propeller, respectively, in the body frame. The buoyancy and weight are both represented in the inertial frame as one buoyancy-weight vector
; therefore, to express the buoyancy-weight force vector in the body frame, it is pre-multiplied by the rotation matrix as follows
, and the moment due to the buoyancy force can be expressed as
, where
is the location of the center of volume in the body frame, expressed in the body frame, and
is the buoyancy force acting on the airship expressed in the inertial frame. The moment due to the weight can be expressed as the product of the location of the center of mass and the weight vector in the body frame
, where
is the weight of the airship expressed in the inertial frame.
Main propeller tilt angle
Main propeller thrust vector
Main propeller position vector
Tail propeller thrust vector
Tail propeller position vector
Moment due to the propulsive forces
Buoyancy-weight vector in the inertial frame, expressed in the inertial frame
Buoyancy-weight vector in the inertial frame, expressed in the body frame
Moment acting on airship due to buoyancy force
Moment acting on airship due to gravitational force
Location of the center of volume in the body frame, expressed in the body frame
Location of the center of mass in the body frame, expressed in the body frame
The defined forces and moments acting on the airship combined with the nonlinear equations of motions presented earlier can be used to generate a nonlinear simulation of the airship flight.
3. Trim Conditions and the Linear Model
The airship nonlinear model discussed earlier is trimmed at two flight conditions; straight and level flight and level turn flight. The airship speed is held constant during flight. The airship will visit planar waypoints pre-programmed into the guidance algorithm in the order they are given, while maintaining constant altitude. The AS500 airship is capable of speeds up to 12.5 m/s [
17]; therefore, it is assumed that it can operate safely at a trim speed of 7 m/s. A trim altitude of 1000 m can be achieved if the correct mass of helium is loaded into the hull of the AS500. Since the volume of the AS500 is 15 m
3, it is assumed that the helium in the hull will expand to that volume at the trim altitude, but no more to prevent any damage. To do so, the mass of the helium loaded into the airship at sea level must account for such expansion; the following calculations show how this is possible.
The volume of the airship at sea level and the volume at 1000 m are related as follows [
4],
, where
σ is the ratio of air density at 1000 m, and the air density at sea level is approximately 0.9. Setting
equal to 15 m
3 gives
m
3. The volume at sea level is related to the mass of helium by
, where
and
are the mass of helium and the density of helium at sea level, respectively. This calculation results in a required mass of 2.4 kg of helium to be loaded into the airship’s hull. The value of the states and inputs at each trim point are given in
Table 3; where
and
are the main rotor thrust, main rotor tilt angle, the stern rotor thrust and the deflections of the aerodynamic control surfaces, respectively.
σ Air density ratio
Mass of helium
Density of helium at sea level
Deflection of control surface on tail fin Group 1
Deflection of control surface on tail fin Group 2
To employ linear quadratic methods for obtaining the optimal gains for controlling the airship, a linear state-space model of the airship dynamics is required. Note, the wind terms are set to zero for trim analysis. The nonlinear model formed by Equations (1), (3)–(5) can be linearized about the two trim points in
Table 3, and the two linear state-space models having the form below are achieved:
where
A is the system matrix,
B is the input matrix and
and
are the incremental input and state vectors, respectively, and can be represented as follows:
u Speed along the body x-direction
v Speed along the body y-direction
w Speed along the body z-direction
p Rotation rate along the body x-direction
q Rotation rate along the body y-direction
r Rotation rate along the body z-direction
x Position in the inertial x-direction
y Position in the inertial y-direction
z Position in the inertial z-direction
4. Linear Quadratic (LQ) Control and Guidance Laws
The linear-quadratic optimal control problem is an optimization problem that finds a state-feedback control law of the form
, which minimizes a quadratic performance index subject to a linear dynamical constraint in Equation (10) [
14]. The performance index is of the following form:
where
Q is an
weighting matrix and is typically positive-semidefinite and
n is the number of states, which in our case is equal to 12.
R is an
positive-definite weighting matrix, where
m is the number of inputs and is equal to five for the AS500 airship model. Suitable values for
Q and
R are selected based on the approaches highlighted in [
24,
25,
26,
27]. More specifically, we employ the method of [
27] for this work. The control gains are obtained by using the solution of the algebraic Riccati equation,
and, thus,
. To enable set point tracking, the control law is implemented as,
, where
X is the state vector,
is the value of the trim states at the current flight condition,
are the trim values for the inputs at the same flight condition and
K is the same gain matrix calculated earlier.
4.1. Track-Specific Guidance Law
A reference signal must be supplied to the controller, in order for it to make the required adjustments to the inputs and fly the airship in a stable manner towards the next waypoint. This reference signal, in the work presented here, is based on a required airship heading and its location relative to the next waypoint. The airship must navigate through a set of constant-altitude, planar waypoints; therefore, a track-specific guidance law is developed below. Note, nonlinear path following strategies using Lyapunov techniques for mini air vehicles are also discussed in [
28]. Additionally, trajectory generation for tracking is discussed in [
29], wherein Dubin’s model is used. While Dubin’s model is very helpful in generating smooth planar trajectories, we consider the full nonlinear model where the altitude and speed of the vehicle change as it goes through the waypoints. In the present paper, reference paths (trajectories) are not generated; only the waypoints are utilized to generate heading commands.
If the airship were to visit four waypoints, and D, in that order, the guidance law will track the waypoints in pairs, such that when the airship is flying from A to B, the track-specific (TS) guidance law will track both the A and B locations. A geometric heading based on the location of this pair of waypoints is calculated using , , and , which are the x and y coordinates of waypoints A and B, respectively. Thus, .
The heading of the airship is calculated based on its projected ground speed as
. Using the geometric and airship heading values, a desired heading angle is calculated,
i.e.,
, where
d is the normal distance to the virtual straight line path connecting the waypoints, shown in
Figure 2, and is obtained as
, where
is the distance traveled from waypoint
A and
is a design parameter, which is a function of the airship speed and calculated as,
, with
τ being a performance design parameter.
Geometric heading
Airship heading
Airship desired heading
Commanded yaw angle
The commanded yaw angle provided to the set-point tracking controller is calculated as , where β is the airship side-slip angle.
A virtual waypoint proximity zone, with a predefined radius, surrounds each waypoint. As the airship flies towards a waypoint, it will do so in a straight and level flight manner. When the proximity zone is breached, the tracked waypoint set changes by looking ahead towards the next waypoint, and so on. The track-specific guidance law methodology is illustrated in
Figure 2.
4.2. Proportional Navigation Guidance Law
Proportional navigation (PN) is a method of guidance that has been applied to missiles for terminal guidance [
30]. It is one of the most popular guidance methods for short-range intercept [
31] and also has been applied to aircraft collision avoidance problems [
32]. In this section, a PN guidance law is developed for airship waypoint navigation, where the waypoints are treated as non-moving targets and the airship is guided towards them. Yaw rate commands are generated by the PN law and fed into the LQ controller as reference signals. The reference signal is compared to the airship yaw rate, and the error generates control signals to yaw the airship towards the next waypoint.
Line-of-sight heading
Line-of-sight vector
Commanded acceleration by the PN guidance law
A typical planar pursuit engagement geometry is shown in
Figure 3.
,
,
,
V and
are the airship heading, line-of-sight (LOS) heading, the LOS vector, the airship velocity vector and the commanded acceleration by the PN guidance law. The commanded acceleration is dictated by the PN law to be:
where
N is the navigation constant with values usually ranging from two to five,
is the rate of rotation of the LOS and
is the airship closing velocity on the waypoint. From the engagement geometry in
Figure 3, it can be seen that
and
. The value of the commanded heading rate for the airship can be calculated from Equation (14),
. To supply the controller with a commanded yaw rate, it is assumed that the commanded heading rate from the PN law is equal to a commanded yaw rate; therefore,
.
is used as a reference signal in the previously designed LQ controller to force the airship to track the yaw rate commands generated by the PN-law, therefore guiding it through any series of waypoints.
4.3. Gain Scheduling Law
The need for a gain scheduling law arises from the fact that when a controller is designed to work at a specific trim point and the system largely deviates from that point, the controller no longer functions efficiently. Therefore, the controller gains are calculated for multiple trim points, and then, the gain scheduling law is used to interpolate the gain values for specific flight conditions. The proposed gain scheduling law for acquiring the value of the gain matrix for the LQ control laws is
, where
is the scheduling parameter, and is a function of a scheduling variable, the turn rate
. The turn rate is selected as a scheduling variable based on the fact that the airship is only required to fly in a straight line towards the current waypoint, and upon breaching the waypoint proximity zone, it would turn towards the next waypoint. This translates into
having a value between zero and one, where at
, the airship is flying straight and level, and at
, the airship is turning. A linear function is proposed for the scheduling parameter as a function of the scheduling variable in the following form
. Since for a straight and level flight, the turn rate is required to be zero,
.
Straight and level flight control gains
Level turn flight control gains
Scheduling parameter
Level turn flight rate of turn
Straight and level flight rate of turn
A saturation limit is imposed, where when the value of is larger than , the value of . It should be noted that the value of while flying straight and level should, theoretically, be zero. However, due to sensor imperfections, while measuring the turn rate and as a consequence of the dynamics of the closed-loop feedback system, the value of during straight and level flight will not be exactly zero. This causes the scheduling parameter to not strictly be equal to zero during straight and level flight, as well. This generates an interpolated value of the gains during straight and level flight, which in turn introduces additional modeling errors. This effect will also be amplified later on when the estimated values of the states are fed back to the controller from a Kalman filter.
5. State and Wind Estimation Using a Scheduled Extended Kalman Filter
A novel implementation of the scheduled extended Kalman filter (SEKF), with a minimal sensor suite on-board the airship, for estimating the full state vector of the airship along with the wind field in which it is flying, is implemented. Measurements are provided only from an IMU and a GPS sensor. The system Jacobians need not be calculated at every instant and are precalculated for the different flight modes that the airship will encounter. A “Jacobian scheduling law” is introduced to supply the filter with the needed values at every instant of the flight. This version of the filter, referred to as the scheduled extended Kalman filter (SEKF), is shown to work very well, especially when the dynamics does not change very rapidly, with the added advantage of reduced computational effort. The process dynamics is governed by Equations (1)–(5) and can be put in compact form as follows:
where
and
. The measurements are obtained from the available sensors,
i.e., GPS and IMU. No air data sensors are assumed available. Such sensors are available in a conventional suite of on-board UAV avionics [
33]. The GPS will provide measurements for the inertial position vector, and the IMU will provide measurements for the angular rates along with the Euler angles. This leads to the following measurement vector:
Further, the measurements of
and
ψ are assumed to be corrupted with bias and zero-mean Gaussian white noise. The bias and white noise standard deviation values are summarized in
Table 4.
The state and wind estimates are propagated according to Equation (15) as with representing the estimate of the composite state vector that includes the wind velocity and the wind acceleration estimates.
Since the measurement biases are constant, we augment them to the estimator system dynamics equations as,
where
and
are the estimated values of the bias in
,
and
, respectively. The description for the propagation models above leads to an augmented estimated state vector,
The error covariance matrix is propagated through the continuous-time Riccati equation (Equation (20)); however, the need to calculate the Jacobian
at every instant is computationally expensive and can be a complicated process for highly nonlinear systems. In the SEKF framework, we precalculate the Jacobian at the two trim flight conditions and use the scheduling law proposed for the controller gains presented earlier, to acquire the value of the Jacobian during flight. In this novel implementation of the filter, only the elements pertaining to the change of the linear velocities
and angular rates
with respect to the wind acceleration need to be computed each time. The following “Jacobian scheduling law” is used,
.
Straight and level flight state Jacobian
Level turn flight state Jacobian
H Measurement Jacobian
P Error covariance matrix
where
is a
diagonal matrix with elements shown in
Table 5 and:
The state estimates and the error covariance are updated every time a measurement is obtained using the Kalman gain from Equation (21). From the measurement model, it is seen that the Jacobian
has a constant value for all time.
where:
and
is a
diagonal matrix with elements shown in
Table 6.
After the Kalman gain has been calculated, the estimate vector and the error covariance matrix are updated as follows:
where
;
is the propagated estimate vector in Equation (19), and
is the propagated value of the error covariance matrix at the previous instant.