{'fraction_non_alphanumeric': 0.03330962045445035, 'fraction_numerical': 0.010461564213081139, 'mean_word_length': 4.235049288061337, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 32, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Robust 3D Tracking Control of an Underactuated Autonomous Airship

The paper presents a new, robust control algorithm for position trajectory tracking in a 3D space, dedicated to underactuated airships. In order to take into account real characteristics of such vehicles, and to reflect practically motivated constraints, the algorithm assumes a highly uncertain system dynamics model. The tracking problem is solved in a uniform way, without dividing it into subtasks considered in 2D spaces, thanks to the introduction of an auxiliary tracking error. The proposed controller is based on the sliding mode approach. Its stability is investigated using Lyapunov theorem. Numerical simulations are conducted in order to verify properties of a closed-loop system for a generic model of the airship. Performance of the control system is examined via experiments in various scenarios using a prototype airship. The obtained results indicate that the control objectives are satisfied in practice with a reasonable accuracy. Moreover, it is shown that the controller is robust to some bounded additive measurement perturbations and delays in the control loop.


I. INTRODUCTION
A IRSHIPS, also called blimps, are flying vehicles that take advantage of static buoyancy force for balancing weight. For example, a 25-meter-long, 6-meter-wide ellipsoidal, helium-filled envelope at the sea level has a buoyancy of approximately 500 kg. It can lift a human pilot with the necessary equipment, or transport various types of apparatus or cargo. An autonomous airship with an electric propulsion system powered by solar panels, in theory, has a very long time of operation, which makes it an energy-efficient multi-purpose transport platform.
For most airships, the number of actuators is limited in order to optimize the buoyancy-weight ratio. Typically, only essential degrees of freedom of airships are actuated and the possibility of generating lateral thrust is nonexistent (or at least severely restricted). As a result, airships can be treated as underactuated mechanical systems, which are difficult to control.
The article proposes an original, experimentally verified algorithm for trajectory tracking control for an underactuated airship. The main advantage of the described proposal is the application of a uniform design approach in the 3D space, which avoids the decomposition of control into subtasks in lower-dimensional spaces. The design also ensures low susceptibility to measurement errors and model uncertainties.
The synthesis of the control algorithm is performed in two main steps. In the first step, the so-called auxiliary error, which combines all components of the position error in R 3 and a nonstandard measure of orientation errors, is defined. This solution facilitates the design of the controller and makes it possible to deal with the underactuation issue. In the second step, the control rule which operates on the level of dynamics is designed. The rule guarantees the convergence of the auxiliary error to an arbitrarily small vicinity of zero.
There are some interesting articles which describe the problem of trajectory tracking or path following specific to airships. Some good examples are [1] and [2], which discuss the backstepping technique and the adaptive sliding mode controller, respectively. Unfortunately, few articles include experimental results.
In the paper [3], Kohno and Sasa describe the results of the implementation of an algorithm based on the principle of dividing the control task into regulation of orientation, altitude, and velocity. In [4], De Paiva et al. present experiments with controllers that use linearization techniques and are applied to separate tasks of controlling rotation and longitudinal motion on a plane. Rao et al. in the paper [5] use knowledge-based neural networks to control the angle of rotation around the vertical axis of the airship. Yamada et al. in [6] describe the experimental results for an algorithm using linearization of dynamic equations of motion on a plane. An interesting analysis of the topic of airship control is presented by Solaque and Lacroix in [7]. They compare the performance of a PID controller, Generalized Predictive Control, and a controller which uses extended linearization. However, all tested solutions are implemented separately for each degree of freedom. In [8], Fukao et al. present the operation of three combined algorithms performing tracking a straight line on a plane, a turning maneuver and altitude regulation. Another experiment using fuzzy logic to control the angle of rotation around the vertical axis of an object is described in [9]. Saiki et al. in [10] present the results of experiments with the use of a PID controller to regulate the altitude and angle of attack, and the optimal motion controller on a plane.
A cascading approach to control, dividing the problem into the task of controlling orientation and the task of controlling position using the method of linearization of trajectory tracking error is presented in [11], together with experimental verification. Adding to the cascade a high-level controller for generating a specified trajectory to solve the problem of underactuation is discussed in work [12], which describes in detail the speed and orientation controller using backstepping and square optimization. The results of the "Bang-Bang" controller based on the analysis of the phase plane of a simplified model of dynamics in one degree of freedom are presented in [13]. Wang et al. in [14] present an algorithm of altitude control which uses state observers. They take into account the delay in the control signal path and relatively small disturbances. Of particular interest are the papers [15] and [16], the first of which presents experimental results of the implementation of the algorithm described in [17] (which proposes a robust controller using the inverse dynamics method). The disadvantage of the algorithm is, however, the fact that it requires the knowledge of both external disturbances and those resulting from the dynamics of the object. The experiment presented in the paper is about tracking the trajectory on a plane in the absence of significant external disturbances.
Bechlioulis et al. in [16] propose a model-free control algorithm. The authors consider its implementation for "torpedolike" and "unicycle-like" objects. This work contains a very promising solution, but the authors do not analyze the robustness of the algorithm with respect to control parameters, measurement errors, or the presence of significant external disturbances.
Michaek et al. in [18] describe a VFO-ADRC cascaded trajectory tracking control system designed for rigid-body vehicles moving in the 3D space with non-banked maneuvering. The performance of the system strongly depends on the quality of measurements. The results are confirmed by experiments.
There are also papers documenting experimentally verified control algorithms for surface and submarine ships. Experimental results for an underactuated submarine are presented in [19], in which the authors propose a PD controller extended by an adaptive noise compensation mechanism. In [20], a non-linear cascade controller is verified for an underactuated surface ship. In [21], the authors present a complete control system based on an adaptive version of the PID controller, used in a submarine, where the mathematical model of motion does not include the degrees of freedom associated with rotation around the xand y-axes. Martin and Whitcomb in [22] compare the results of experiments with a PD controller and two different model-based controllers. The experiments were performed for a fully actuated underwater object moving in the 3D space. Although the model-based drivers considered in the study yielded better results, the authors emphasize their high sensitivity to inaccuracy in estimating dynamic parameters.
In contrast to the solutions discussed above, the approach presented in this paper treats the problem of object motion in the 3D space as a whole, i.e. the task of motion control is not divided into subtasks such as control of motion on a plane, altitude control, orientation control or speed control.
Motion control is provided by a controller operating on the level of dynamics and inspired by the sliding mode approach, characterized by relatively low sensitivity to disturbances, parametric and structural uncertainties, and measurement errors. To achieve a uniform solution and to alleviate the underactuation problem (cf. Fig 1), previously mentioned auxiliary errors are used. It should be emphasized that the design of the controller proposed in this paper takes into account some implementation constraints which can be met in practice. Hence, the structure of the controller is chosen so as to find a proper balance between theoretical and experimental contributions. The performance of the algorithm was verified both by simulation and experimentation in the presence of disturbances and measurement errors in the task of tracking a prescribed 3D trajectory.
The paper is organized as follows. Section II provides the description of the object and control objectives. Section III explains the algorithm and Sections IV and V provide results of numerical and experimental verification, respectively. Section VI contains conclusions.

B. Airship model
In order to construct a model of the blimp we introduce the following reference frames: base frame b (inertial) and body frame a attached at the center of mass of the blimp, cf. Fig.  2. Next, we recall the following kinematics in the 3D space where ν ν ν a a ∈ R 3 and ω ω ω a a ∈ R 3 stand for linear and angular velocities, respectively, expressed in the body frame. Denoting these velocities by γ γ γ a a = ν ν ν a a ω ω ω a a ∈ R 6 , we can consider the following dynamics [24]: where M M M ∈ R 6×6 is the inertia matrix, τ τ τ ∈ R 6 is the force/torque control input and f f f ∈ R 6 stands for other dynamics terms, defined by while C C C (γ γ γ a a ) γ γ γ a a describes Coriolis and centrifugal forces, D D D (γ γ γ a a ) denotes damping forces, G G G R R R b a combines the gravity and boyancy terms. A detailed formula for f f f for airships can be found in [24]; however, due to the properties of the control algorithm proposed in the paper, we do not consider this formula in depth here. From now on, the deficiency in control is assumed, namely, the second component of τ τ τ which indicates the lateral thrust F y , cf. Fig. 1, is zero. Thus, the control system described by (1), (2) and (3) is underactuated.

C. Control objectives
Let us consider the trajectory frame d depicted in Fig. 2 with its position in the base frame given by p p p b d ∈ R 3 , and let us define the following tracking error in frame a: e e e a = [ x e a y e a z e a ] : The investigated control problem can be stated as follows. Assuming that the dynamics of an underactuated blimp is not fully known, find input τ τ τ such that for the reference position , the tracking error e e e a is bounded and converges to a certain neighborhood of zero in the presence of bounded disturbances.

III. CONTROL LAW DESIGN
It should be emphasized that since the second entry of τ τ τ is zero, the lateral tracking error component y e a cannot be controlled trivially. Owing to this fact, the authors propose to employ an auxiliary tracking error e e e by using an Euclidean norm of the position error and specific measures of orientation errors, similarly as it can be done for planar noholonomic kinematics [25], and torpedo-like vehicles, cf. [18]. Due to this approach, the control input τ τ τ enables an independent action on each component of e e e while simultaneously guaranteeing that for bounded e e e the original tracking error e e e a is also bounded.

A. Auxiliary errors
In order to explain in detail the concept of the auxiliary error, let us consider the auxiliary frame h (dashed lines) in Figs. 2 and 3. Unit vectors i i i a h and j j j a h define xand y-axes of the auxiliary frame, respectively. Note that vector i i i a h is parallel to the line segment connecting the origins of frames a and d. Namely, it starts at the origin of the body frame a and points to the origin of the trajectory frame d. The unit vector j j j a h is orthogonal to i i i a h and parallel to the global plane XY . The latter is a design assumption resulting from practical reasons.
where k k k a b is the third column of the rotation matrix R R R a b , and p e = e e e a , k e = 1 − x e a p e , oe = 1 − y e j p e j .

B. Design of the controller
To ensure the robustness of the controller to unknown dynamics, the sliding control approach is employed. Taking into account error e e e and its time derivativeė e e, we define the following sliding hyper-plane: where σ σ σ ∈ R 3 is the sliding variable, δ δ δ = p δ k δ o δ ∈ E 0 is the offset, and K K K = diag ([k p k k k o ]) 0 denotes the gain matrix. It can be easily shown that for σ σ σ = 0 0 0 lim t→∞ e e e(t) = δ δ δ, namely, that the error trajectory converges to δ δ δ, which is selected at some non-zero distance from the origin. The introduction of parameter δ δ δ is essential due to stability conditions (29), which will be explained in Section III-C. It is important to note that guaranteeing that e e e ∈Ē, whereĒ = {e e e ∈ E : p e < ∞}, allows us to ensure that the tracking error e e e a is bounded. Taking into account (7) and making simple calculations, we can derive the following: From (10) it follows that e e e a lies on a double cone with the vertex at the origin (cf. Fig4), which is parameterized by k e (for k e = 1 this cone degenerates to the y-z plane). Since k e → k δ ∈ (0, 1) we can see that the lateral position error y e a is bounded and decreases with the decrease of k δ (recall that p e is assumed to be bounded). As a result, the lateral control can be substitued by stabilisation of k e at k δ, which can be achieved in a more convienient way. This property is achieved thanks to the proposed form of the auxiliary errors.
In order to facilitate the design of the controller, we expresṡ e e e as follows:ėėė = Ξ Ξ Ξγ γ γ a a + Ξ Ξ Ξ d γ γ γ d d , where: The form of Ξ Ξ Ξ and Ξ Ξ Ξ d is the result of factorization ofė eė with respect to γ γ γ a a and γ γ γ d d . In the assumed approach, the impact of Ξ Ξ Ξ d -dependent components is considered as a disturbance. In order to maintain the readability of the paper, the detailed expression of Ξ Ξ Ξ d is omitted.
In order to establish the stability of the sliding variable σ σ σ in a certain neighborhood of zero, we propose the following control law: where: and P P P = diag ([ρ u 0 ρ w ρ p ρ q ρ r ]), ρ u , ρ w , ρ p , ρ q , ρ r > 0 is an auxiliary gain matrix andM M M ∈ R 6×6 denotes the estimated mass matrix.
MatrixM M M must satisfy two conditions. The first one is due to stability requirements and can be stated as: The second condition is necessary to ensure that the second element of τ τ τ is equal to zero. The condition results from the control rule (14) and states that the second row of matrixM M M takes the following form: [0 β 0 0 0 0] , β ∈ R.
In order to investigate (22) more thoroughly, we take advantage of the following decomposition of matrix P P P: whereP P P = diag ([ρ uρ ρ w ρ p ρ q ρ r ]),ρ > 0 and 1 1 1 = diag ([1 0 1 1 1 1]). Next, we introduce the following smallest eigenvalues λ 0 = λ Ξ Ξ Ξ1 1 1 Ξ Ξ Ξ , λ ρ = λ P P P and λ σ = λ {diag (σ σ σ * )} = 1 |σ| , |σ| max | p σ| , k σ , | o σ| . As a result, we can rewrite condition (22) as follows: −σ σ σ Ξ Ξ ΞP P PΞ Ξ Ξ diag (σ σ σ * ) σ σ σ + σ σ σ g g g ≤ − λ ρ λ 0 |σ| σ σ σ σ σ σ + σ σ σ g g g Taking into account that inf σ σ σ |σ| = 1, we can easily conclude that (24) is satisfied for Hence, for any bounded g g g and positive λ 0 , there exists a finite λ ρ and condition (18) holds. It implies that if λ 0 > 0, we can select finite gains in P P P . Conversely, for λ 0 = 0 there is a singularity. However, it can be proved that λ 0 is equal to zero only when the trajectory e a e a e a (t) lies on one of the following three lines in the 3D: x e a = 0, z e a = 0, (26) y e a = 0, z e a = 0, (27) x e j = 0, z e j = 0. (28) It is important to emphasize that these lines cannot be seen as equilibrium manifolds and the tracking error e a e a e a does not converge to them. Now, let us investigate the boundedness of the control input vector τ τ τ . Recalling (20), we can show that function g g g is bounded when velocities of the object and its desired trajectory, as well as the time derivative of the desired trajectory, are also bounded. Moreover, due to the definition of Ξ Ξ Ξ given by (13), the following components of the auxiliary tracking error should satisfy the following inequalities p e > 0, p e j > 0, k e > 0, oe > 0.
This requirement is met due to the offset δ δ δ in (8). Hence, error e e e on the sliding surface is pushed away from zero by design.

IV. NUMERICAL VALIDATION
An important feature of the basic sliding mode control is chattering, i.e. the effect of high-frequency switching of the sign of the control signal in the vicinity of the sliding plane. In the validation, this effect is reduced by replacing the signum function with the following sigmoid function: ∀ζ ∈ R, sgm(ζ) = (|ζ| + n · | n e|) −1 ζ, n ∈ {p, k, o}, where n > 0.
To verify the proposed control solution, we have conducted extensive simulations. In this section we present simulation results obtained for a simplified model of dynamics in the form: where: M M M = C C C p = 1 1 1 and .
The simplified model is used to verify the convergence of the trajectory error to an arbitrarily small level, which is shown by the theoretical analysis. The control parameters assumed in the simulation are:  Figure 5 shows the comparison of the results of the simulations with parameters k and o equal to 1 for two values of parameter p ∈ {0.1, 1}. It is clear that the decreasing value of k improves the control precision on the sliding manifold, namely, the value of | p e − p δ| becomes lower in the steady state. These results are consistent with the theoretical analysis and confirm that σ converges to a given neighborhood of zero, whose radius can be made arbitrarily small.

V. EXPERIMENTAL VERIFICATION
The environment in which airships operate is particularly difficult to model, so it is extremely important to verify theoretical results in real-life conditions. Therefore, to make it possible to conduct experiments, the authors constructed a test platform in the form of an autonomous airship, (cf. Fig.  6).
The size of the airship (Fig. 7) has been chosen in such a way that it is possible to mount on it four engines placed in a horizontal plane. Each engine can rotate independently around an axis parallel to the Y-axis of the body frame. This type of propulsion appears to be advantageous because it is possible A. The test platform The expected weight of the structure without the envelope was about 1.5 kg, taking into account the batteries that allow the operation of the engines for 15 minutes, at full load. Therefore, the dimensions of the balloon were first estimated at 3 m in length, with a maximum diameter of 1.5 m. The actual weight of the frame before the envelope was mounted on it was 1.65 kg. Therefore, a 3.35 m long polyurethane envelope with a maximum diameter of 1.66 m was made. The volume of the bearing gas was approximately 4.9 m 3 . The envelope of this size allowed us to obtain a buoyancy compensating the weight of the whole structure, with a reserve of about 0.2 kg.
The engines were controlled in an open loop, based on their estimated characteristics (Fig. 8).
In the experiments, an external visual localization system was used. In order to check the robustness of the proposed solution with respect to inevitable measurement errors, in Experiment 2 presented below the measurements were intentionally deteriorated.
A desktop computer communicating with the airship by radio modules with sampling frequency exceeding 100Hz served as a main control unit.

B. Experiments
Similarly as in the simulation part, the signum function was replaced by a sigmoidal function (30). Parameters of the controller were selected as follows: n = 0.1, n ∈ {p, k, o}, The control signal τ τ τ was realized by the propulsion system using the following transformation: where ix f xz , iz f xz are the forces that should be generated by the i th engine in the direction of the X-axis and the Z-axis of the body frame respectively. Indices i ∈ {1, 2, 3, 4}denote note that k e and oe are unitless quantities front-left, front-right, rear-left and rear-right engines, respectively. The † symbol indicates the Moore-Penrose pseudoinversion. Parameters x i , y i , z i specify the distances along the axis X, Y, Z of subsequent engines from the center of gravity of the object. The expression Atan2 (y, x) denotes a twoargument function of arcus tangens, while f i and α i denote, respectively, the force that should be generated by the i-th engine and the angle at which it should rotate. The desired trajectory is described by the equation: The experiment with the best available measurements: Figures 9 and 10 illustrate the cumulative results of 15 flights. The red color is used to indicate one selected flight, the detailed results for which are shown in Figs 11-13. The selected flight is also presented in the enclosed video.
The form of local errors (Fig. 9) and auxiliary errors (Fig. 10) shows good repeatability of the proposed algorithm for different initial configurations.
The oscillations in velocities (cf. Fig. 12), especially ω p , are caused by the propulsion system delays. The impact of this effect can also be observed in the phase portraits of auxiliary error (Fig. 13) in the vicinity of δ δ δ.
Experiment 2) The experiment with deliberately deteriorated measurements: The only difference between Experiments 1 and 2 is the introduction of a pseudo-random dis-     0.3497 0.4594 measurement errors. In spite of introducing the disturbances, the local position errors (Fig. 14) and auxiliary errors (Fig. 15) indicate only a minor decrease in control quality -cf. Table I. As in Experiment 1, the red line indicates the flight whose detailed results are presented in Figs 16-17. The selected flight is also presented in the enclosed video. The phase portraits of auxiliary errors (Fig. 18) deteriorated as a result of step-wise changes in the measured value of the position. However, the disturbances did not cause significant changes in the value of control signals (Fig. 16) or local velocities (Fig. 17).
According to the knowledge of the authors, to date, there have been no results of experimentally verified research that would allow for a reliable comparison of the presented solution.

VI. CONCLUSIONS
Currently available sensing technologies allow for relatively accurate measurements of orientation and angular velocity. However, the measurements of linear velocity and the position of an object are still a major problem. The precision of the measurement system influences the performance of the proposed algorithm, but its main advantage is the ability to obtain stable operation with relatively low accuracy of this system, which is frequently unachievable in the case of adaptive algorithms.
In the case of airships, precise identification of dynamic parameters of the object is a difficult task. Additionally, changing environmental conditions may influence the values of the parameters. It is a property that significantly complicates the practical use of algorithms based on the model of dynamics. In the proposed solution, the problem of estimation does exist, but possible errors in identifying the parameters do not have a significant influence on the operation of the algorithm. This robustness is the fundamental advantage of the solution.