1. Introduction
The use of quadrotors for the transportation of loads has been a topic of recent interest. Both UPS [
1] and Amazon [
2] have projects to use drones for their deliveries. However, there is another field of load transportation that has scientific interest, namely the use of drones for transporting cable-suspended loads. The added complexity posed by the load not being attached to the quadrotor calls for more complex solutions. Furthermore, it is reasonable to assume that, in a real-world application, the mass of the load will not be known a priori. This poses an even more complex problem. An application where such a scenario is relevant is forest fire suppression using helicopters or multirotors. In this application, there is an aircraft that has a load that changes (by loading up water or dropping it). In an autonomous solution, the system would require an adequate trajectory to perform its task and would have to be capable of adjusting its control to ensure that it can handle the weight of the load. It is this specific scenario that is explored in this paper.
The topic of trajectory planning for quadrotors has been explored in works such as [
3,
4,
5,
6,
7,
8]. By formulating the trajectory generation problem as a quadratic program with an obstacle-free corridor, Reference [
3] proposed a pipeline for path planning, trajectory generation, and optimization for quadrotor navigation through indoor environments. In [
4], an adaptive nonlinear model predictive horizon method with deep reinforcement learning was presented. An algorithm was proposed in [
5] to solve nonlinear optimal control problems in UAV path planning. This was achieved through approximating the non-convex parts of the problem by a series of sequential convex programming problems. In [
6], a deep reinforcement learning method was proposed for UAV autonomous path planning. Additionally, a method for model explanation based on feature attribution was proposed to allow for easier interpretation of the behavior of the resulting path planner. The proposed method in [
7] uses a mixture of potential and positioning risk fields to generate a hybrid directional flow to guide an unmanned vehicle in a safe and efficient path. In [
8], model predictive control was used to reshape the trajectory of a group of quadrotors to prevent collisions.
The topic of control methods for quadrotors with cable-suspended loads has been tackled by other authors. A solution for trajectory generation and control based on the differentially flatness property of the system was presented in [
9] with stability and convergence proofs. Another paper by the same authors [
10] proposed a geometric control method. Additionally, Reference [
11] also considered a geometric approach and provided stability proofs. An adaptive solution for an unknown mass of the load that relies on classical PID control was considered in [
12]. An MPC-based solution was presented in [
13], with performance comparisons to linear–quadratic regulator (LQR) control. An energy-based nonlinear adaptive controller was delineated in [
14], where a stability analysis and a experimental results were provided, for the use of cables of unknown length. A finite-time neuro-sliding mode controller design was proposed in [
15] to handle parametric uncertainties and external disturbances in the payload.
The problem of parametric uncertainty has also been explored in other related works. The use of sliding control was proposed in [
16], due to its robustness to the model errors, parametric uncertainties, and other disturbances. However, the level of input activity required by sliding control has made it an undesirable solution. The work described in [
17] proposed a geometric adaptive control solution for quadrotor attitude tracking. In this work, the inertia of the system was unknown and had to be estimated. The work presented in [
18] provided a passivity-based adaptive solution for unknown mass and provided proofs for stability and convergence. In [
19], an adaptive controller was proposed for loss-of-thrust actuation failures. Additionally, a multi-model height control solution for uncertain mass was proposed in [
20]. An artificial delay adaptive control solution was proposed in [
21] for under-actuated systems with limited structural knowledge and was tested in simulation and experiments with quadrotors.
This work addresses the problem of defining a trajectory for a quadrotor with a cable-suspended load of unknown mass. The load was considered to be a point-mass. The proposed trajectory is based on a hybrid system and provides the reference values to the control. The use of this trajectory was tested in simulation using an adaptive geometric controller with asymptotic tracking stability. A mid-flight load mass reduction was illustrated in the simulation, which emulates the fire-fighting scenario. The mass of the load was estimated by an adaptive mechanism and was used to adjust the control.
The main contribution of this paper is to provide and validate an architecture for the control of a quadrotor transporting a cable-suspended load of unknown mass. As shown previously, there is work by other authors that approaches the cable-suspended component of the problem, and there are also papers focused on uncertainty in the model, mass included. This work aimed to solve these two problems simultaneously, having the uncertain component being the mass of the suspended load and providing a proof that the method proposed has asymptotic stability. The control action used includes an adaptive mechanism to account for the unknown mass. The control solution proposed handles uncertainty and the suspended load using geometric control methods combined with the adaptive mechanism.
This paper is organized as follows: The problem is described in
Section 2. The proposed control architecture is presented in
Section 3. The hybrid system modeling used in this paper is explained in
Section 4. The reference trajectory generation is detailed in
Section 5. The controller is explained in
Section 6. Simulation results are presented and discussed in
Section 7. Finally, some concluding remarks are drawn.
The notation used for scalars, vectors, and matrices is lowercase, bold lowercase, and bold uppercase, respectively. Additionally, represents the norm of a vector.
2. Problem Description
Consider a quadrotor attached to a load, assumed to be a point-mass, by a weightless rigid cable of length
l, as illustrated in
Figure 1. The inertial reference frames
I of the quadrotor and load are handled with upward
z and forward
x. The positions of the load and quadrotor are denoted as
and
, respectively. The rotation matrix from the body fixed frame
B, relative to
I, is given by
. The body-fixedframe angular velocities of the cable and quadrotor are denoted by
and
, respectively. The direction of the cable from the load position to the quadrotor position is given by the unit vector
. The relation between the positions of the two bodies can be written as
. Additionally,
is restricted by
. The masses of the load and quadrotor are
and
, respectively. The total mass of the system is
. The inertia of the quadrotor in its body-fixedframe is
and is positive definite.
The kinematic equations are
where
is the skew-symmetric matrix of a vector
. The skew-symmetric matrix is defined by the property that
.
The formulation of the model in this paper follows the Lagrangian method presented in [
11]. Therefore, the Lagrangian of the system is required. The kinetic energy of the system is
and the potential energy is
The resulting Lagrangian is
, from which the system equations result:
where
is the control force,
f is the thrust, and
is the input moment. The symbol
represents the vector
. The orthogonal projection of
along
is
(a parallel component), and the orthogonal projection to the plane normal to
is
(a normal component). These projections are defined as
Rewriting Equations (
5) and (6) yields
The objective of this paper was to provide an architecture with a hybrid-system-based trajectory that will be used for the control of a quadrotor transporting a cable-suspended load of unknown mass. Two components are used for the architecture: a trajectory generator and the controller. The architecture must transport the load from one point on the ground to another point on the ground, while also reaching a sufficient height, and with a mid-flight change in the load mass.
4. Hybrid System Modeling
Hybrid systems [
22] can be modeled according to different definitions: as a hybrid automaton, using hybrid behavior, and using event flow formulas. In this paper, the hybrid system presented is defined as a hybrid automaton:
Definition 1. A generalized hybrid automaton is described by a six-tuple (L, X, A, W, R, ), where the symbols have the following meanings:
L is a finite set, called the set of discrete states or locations. They are the vertices of a graph;
X is the continuous state space of the hybrid automaton in which the continuous state variables x take their values. For our purposes, or X is an n-dimensional manifold;
A is a finite set of symbols that serve to label the edges;
is the continuous communication space in which the continuous external variables w take their values;
R is a subset of ;
Act is a mapping that assigns to each location a set of differential algebraic equations , relating the continuous state variables x to their time-derivatives and the continuous external variables w: The solutions of these differential-algebraic equations are called the activities of the location.
The subset
R incorporates the notions of location invariants, guards, and jumps in the following way. To each location
l, we associate the location invariant:
Furthermore, given two locations
l,
, we obtain the following guard for the transition from
l to
:
with the interpretation that the transition from l to l’ can take place if and only if
. Finally, the associated jump relation is given by
5. Trajectory
The proposed family of trajectories was chosen to provide references for the desired load position
, velocity
, and acceleration
of the load. It was assumed that the quadrotor will maintain its
x-vector facing forward. This section details the proposed family of trajectories and its implementation. The trajectories are divided into three phases, detailed in their respective subsections. The final subsection details the implementation. A representation of one of the trajectories is provided in
Figure 3.
5.1. Phase 1—Lift-Off
During this initial phase, the quadrotor is requested to increase the load height at a constant rate, until it crosses a height threshold. After crossing the threshold, it switches to the second phase.
5.2. Phase 2—Transit
During this phase the quadrotor is requested to perform two tasks:
Decelerate until the vertical velocity crosses the zero threshold and maintain zero vertical velocity afterwards;
Accelerate until a specified forward velocity threshold is passed and maintain the specified forward velocity afterwards.
After a reaching a neighborhood of the desired endpoint, it switches to Phase 3.
5.3. Phase 3—Landing
During this phase, the quadrotor is requested to perform two tasks:
Descend at a specified velocity until the load height threshold is reached, and, afterwards, reach zero vertical velocity and height;
Decelerate until the forward velocity crosses the zero threshold, and then, hover above the endpoint.
5.4. Hybrid System Implementation
The trajectory is provided by a hybrid model [
22], whose diagram is shown in
Figure 4. There are eight locations belonging to the set
and
(also numbered in
Figure 4 from 1 to 8), composed of the behaviors in
Table 1. It was assumed that the viability of the trajectory is maintained during testing.
Stage corresponds to the lift-off phase. Locations , , , and correspond to the transit phase. Locations , , and correspond to the landing phase. The state of the trajectory generator is the desired position and velocity of the load . The inputs of the generator are the position and velocity of the load .
The differential equations for the purpose of the desired experiment consist of, depending on the stage, some combination of constant acceleration, velocity, or position. Unless otherwise specified, the components of the acceleration are zero. has a constant upwards velocity and a constant x position; has a downwards acceleration, has a constant height, has a constant forward acceleration; has a constant forward velocity; L has a constant downward velocity; has a backwards acceleration; has a constant x position; has a constant height.
The edges of the system describe the possible transitions from stage
l to
. These are illustrated in
Figure 4. Locations
,
, and
can transition to
for situations where the landing zone is very close to the lift-off point.
7. Simulation Results
Two simulations were prepared to test the proposed solution. The parameters of the system are shown in
Table 2. The control gains are presented in
Table 3. The trajectory parameters are presented in
Table 4. Some of these parameters were obtained by fine tuning. These parameters are provided for the sake of the reproducibility of the results. For plotting purposes, the locations of the trajectory are attributed an equivalent number:
, as highlighted in
Figure 4.
For the purpose of measuring the errors regarding and , the following metrics are proposed, respectively: and .
The first simulation included all phases of the trajectory. In this case, the mass of the load was tested at different values with a 0.02 kg (up to 4% of the total mass) drop after
. The results of the simulation are presented in
Figure 5, where the selected mass values are shown in the legend. The results were similar for all cases. The quadrotor was capable of following the trajectory in all locations of the trajectory, except
, as evidenced by the rising error in
Figure 5e and the delayed response in
Figure 5c before the 34 s mark. The error observed in
Figure 5b,d coincides with the mass estimate error at the start of the simulation and after the mass change. The forward velocity gains oscillation when there are changes to the requested velocity and to the load mass. This oscillation is dissipated, but remains for some time. For example, after the four-second mark (change in location
), it takes approximately four seconds to dissipate. The orientation of the quadrotor converges quickly to the desired value, as evidenced by the low peaks in the error measurement in
Figure 5f. Lower load mass values lead to higher error measurements in
Figure 5e,f. The thrust in
Figure 5g is quick to respond and only presents a large peak when the mass change occurs. The moment is also quick to respond, only peaking when there are sudden changes in the requested orientation of the quadrotor. These request changes coincide with a change of location of the trajectory. The peaks of the moments are more pronounced for lower load masses. The mass estimate (
Figure 5i) is also fast, converging with a settling time of two seconds to the real value at the start of the simulation and after the mass change. Additionally, the mass estimate has no overshoot, with sudden changes resulting from location changes. The largest values of the
z velocity error in
Figure 5d coincide with the points of larger mass estimation error.
The second simulation only included the first two phases. In this case, different maximum forward velocities were tested. The starting load mass was 0.085 kg and dropped 0.02 kg after
. The results of the simulation are presented in
Figure 6 and
Figure 7, where the selected maximum forward velocity values are shown in the legend. The quadrotor is capable of moving at the desired maximum velocities, as evidenced in
Figure 6c. Similar observations can be made for this simulation, when compared with the previous one, in regard to when the peaks and oscillations occur. Additionally, it was observed that identical behaviors occurred after the mass drop, even when traveling at different forward velocities, as highlighted in
Figure 6b,d,g and
Figure 7a. Very little error is observed in
Figure 6e. The highest peaks after the mass drop in
Figure 6f,h are observed for the 0.35 and 0.4 m/s cases, while the lowest peaks occur for the lowest velocity case.
The controller performance was also tested for an increased maximum forward velocity scenario, away from the conservative nominal value.
Figure 8 illustrates this scenario with a maximum forward velocity of 3.5 m/s (10-times more than the average value previously used. No discernible change was observed in the behavior of the velocity.