1. Introduction
Studies on the dynamics of suspended loads and the development of effective control laws have high practical importance for various fields (in particular, in connection with the manipulation of loads using cranes, when transporting loads using helicopters or copters, etc.). As a rule, mechanical systems that arise in this case are underactuated. The goal of control is usually to deliver the load to a given end point (often along a given trajectory) and suppress load oscillations. An extensive body of the literature is devoted to the construction of appropriate control laws, for example, the damping of oscillations of a payload manipulated by a crane, which is discussed in [
1,
2,
3]. In addition, various algorithms for controlling the motion of a helicopter carrying a load on a cable are proposed in [
4,
5,
6].
A review of the current state of research in the field of controlling a quadcopter with a suspended load is given in papers by Omar H.M. et al. and Estevez J. et al. [
7,
8]. When controlling a quadcopter with a suspended load, the main tasks are tracking the target trajectory (this can be the trajectory of the copter and/or the trajectory of the load), as well as damping the oscillations of the load. Various control strategies have been developed to solve these problems (e.g., [
9,
10,
11,
12]), including in conditions of insufficient information about the mass of the load [
13]. A number of studies have performed more or less detailed modeling of the dynamics of the behavior of the cable, taking into account its elastic properties and/or flexibility [
14,
15].
A separate area of research is the construction of control algorithms for cooperative transportation of payload by several copters, which can be found in [
16,
17].
In most studies, aerodynamic forces acting on the load are not taken into account, or they are considered as a disturbance. However, in the case when the load is lightweight and its surface area is large enough (so that the aerodynamic force is comparable with the gravity force), it seems reasonable to consider the aerodynamic load in more detail. Bisgaard et al. and Sun et al. assumed that the aerodynamic load is reduced to the drag force [
18,
19]. Holub et al. [
20] considered the situation when, along with the drag force, there is a lateral force, and analyzed the possibility of constructing a control that ensures robust stabilization of vertical ascent and descent under conditions of incomplete information about these effects.
In real situations, the load can have fairly complex structure. For example, it can contain a cavity partially filled with liquid. Fluctuations of the liquid can have a noticeable effect on the behavior of the load, and this should be taken into account when constructing the control.
The start of active research into fluid oscillations in a cavity was associated with the need to model oscillations of fuel in the tanks of space rockets. Analysis of such in a full hydrodynamic formulation is a rather complex problem. Therefore, numerous studies have been aimed at finding simplified approaches.
Okhotsimskii [
21] considered a system that represented a body with a cavity in the form of a cylinder (or two coaxial cylinders), partially filled with an ideal liquid. He had shown that for certain types of motion, there were three independent inertial characteristics of the system, and a method for calculating them was developed.
Abramson et al. [
22] proposed a simplified mechanical model representing a system of oscillators intended to describe the forces acting on a partially filled cylindrical tank from the liquid oscillating in it.
A body with a spherical cavity partially filled with liquid was considered in papers by Stofan et al., Abramson et al., and Chu [
23,
24,
25]. The results of calculations (under the assumption that the liquid performs a potential irrotational flow) and experiments to determine the natural frequencies of oscillations of the liquid were presented. Summer provided experimental data on the identification of the parameters of a pendulum simulating oscillations of a liquid [
26].
Aliabadi et al. [
27] investigated oscillations of liquid in a horizontal cylindrical tank and showed that the results obtained within the framework of the pendulum model agree quite well with the results obtained by hydrodynamic modeling if the degree of filling of the tank is less than one half. Godderidge et al. [
28] described the oscillations of the liquid using a modified pendulum model, which allows for, among other things, simulating the impacts of the liquid on the walls of the vessel. Moriello et al. [
29] studied the problem of moving a cylindrical vessel partially filled with liquid using a manipulator along a given trajectory without exciting oscillations of the liquid. The motion of the liquid is modeled using a spherical pendulum, the suspension point of which is located at the intersection of the cavity axis with the unperturbed surface of the liquid. Alshaya et al. [
30] proposed a smooth polynomial-shaped control law with an adjustable command time length intended to eliminate the residual vibration of liquid in a container. The liquid dynamics were described with a series of oscillators.
Sayyaadi et al. [
31] considered the problem of transporting a tank partially filled with liquid using several copters (the aerodynamic impact on the load is not taken into account). It was shown that three copters can stabilize the target motion and dampen oscillations of the tank and liquid. A method for controlling a copter with a liquid tank suspended with two cables was proposed by Zhu et al. [
32]. They considered the aerodynamic load on the tank a disturbance.
The present paper considers the motion of a quadcopter with a slung spherical load that contains a spherical cavity partially filled with ideal liquid. The aerodynamic drag acting on the load is taken into account (including the load that is caused by the wind). Oscillations of liquid inside the cavity are simulated using a modified pendulum model. A strategy is proposed for controlling the thrust forces of the copter propellers in order to ensure tracking of a given trajectory (provided that it is sufficiently smooth) and prevention of large oscillations of the liquid inside the cavity.
2. Materials and Methods
We consider a mechanical system consisting of a copter and a load. The load has a spherical shape and is slung to the center of mass
G of the copter with an inextensible weightless string. The center of mass of the load (denoted as
C) is located in the center of the spherical shell. Inside the load, there is a spherical cavity with the center in
C. The cavity is partially filled with ideal fluid (
Figure 1).
The system is subjected to wind flow with a constant
w wind speed. We restrict our consideration to the case when the system moves in the vertical plane parallel to the wind velocity. Let system
Oxy (shown in
Figure 1) be the reference frame in this plane, where the
Oy axis is directed vertically upwards and the
Ox axis is directed against the wind.
We assume that the central moment of inertia of the copter is very small, so that one can neglect the dynamics of rotational motion of the copter with respect to its center of mass.
In order to describe the position of the copter and the load, we introduce the following generalized coordinates: xG and yG denote the coordinates center of mass (G) in the Oxy reference frame while φ denotes the angle between the string and the vertical axis.
Suppose that the aerodynamic load upon the slung body can be reduced to the drag force
D, for which the following formula holds [
33]:
where
ρ is the air density,
S is the characteristic area,
V is the flow velocity vector relative to the center
C of the load, and
Cd is the non-dimensional drag coefficient. As shown in [
34] (p. 24), the dependence of this coefficient on the Reynolds number is quite weak in a wide range of Reynolds numbers (from 10
3 to 10
5, which covers the common range of copter speeds). In subsequent simulations, based on data from [
34], we used
Cd = 0.45.
Copter rotors generate downwash that, in principle, can contribute to the aerodynamic forces acting on the payload. However, wind tunnel measurements (e.g., [
35]) show that, in the presence of wind (even rather low, about 2.5 m/s), the effect of the induced velocity becomes practically negligible at distances of about 2 rotor diameters. This is primarily due to the fact that the downwash is “blown” by the wind. The same holds for the case when the horizontal speed of the copter is not too low. In what follows, we suppose that the distance
is large and the horizontal component of the flow velocity
is high. Then, it is reasonable to neglect the downwash effect. The situation when the horizontal component of the flow speed is low needs additional consideration, which remains for future research.
Flow velocity (
V) can be given by the following equality:
Here, is the wind speed.
In order to describe the dynamics of the fluid inside the cavity, we act by the analogy of the “pendulum” approach described in [
29,
36]. In the context of this approach, the fluid is divided into two parts: one of them remains steady with respect to the cavity, and the other one oscillates with respect to it. In order to describe the dynamics of the second part, a series of mathematical pendulums are used. Strictly speaking, the number of pendulums should be infinite; however, in many cases, the effect of the majority of pendulums on the dynamics of the entire system is low, and only several of them are taken into account (or even one). In this approach, it is supposed that the container performs small oscillations near the vertical position (
φ = 0).
However, for of container, which is slung to a copter, the situation can be different. Due to the presence of the aerodynamic force, the container will change its angles with the vertical when the copter performs steady horizontal flight with different speeds (generally speaking, these angles might be rather large). The fluid in steady state will take the position where its potential energy is minimum. Nevertheless, this position depends on the position of the container. Therefore, it seems impossible to pick a part of fluid that would remain immobile with respect to the cavity in wide enough range of flight speeds. In order to eliminate this issue, we modify the pendulum approach as follows:
We subdivide the fluid into two parts: one that remains steady and the one that oscillates. We assume that the first part performs a “quasi-steady” motion, i.e., it always takes the position corresponding to the equilibrium for the current state of motion of the container. This means that its center of mass of the quasi-steady fluid (denoted as
M0) always lies on the vertical axis, and it always passes through
C (below this point). We denote the mass of this part of the fluid with
m0, and the
CM0 distance with
l0 (
Figure 2).
We simulate the behavior of the “oscillatory” part by using the mathematical pendulum M1 (so to speak, “liquid pendulum”) with a length l1 and mass m1. The pivot point C1 lies on the vertical line, which passes through the center of the cavity C, and CC1 = h1. The angle of displacement of this pendulum from the vertical axis is denoted with ψ (one more generalized coordinate).
The length l1 of the “liquid pendulum” is determined in such a way that the natural frequency of the oscillator coincides with the frequency of the first oscillation mode of the fluid in the cavity near the equilibrium. This value, as well as parameters h1 and m1, should be identified based on results of experiments or hydrodynamic simulation of oscillations of fluid in a cavity.
In order to calculate values
m0 and
l0, we use the following considerations: Let the system be in equilibrium (see
Figure 2). First, we introduce the following notations:
R is the cavity radius;
h is the distance from the lowest point of the cavity to the fluid surface level;
ml and
ρl are fluid mass and density; ∆
y is the difference between the ordinate of the center of mass
Cl of the fluid and the ordinate of point
C (evidently, ∆
y ≤ 0). One can readily see that the following relations hold:
From (1), it follows that, given m1, l1, and h1, the values m0 and l0 can be determined uniquely.
The “liquid” oscillator moves under the action of gravity and inertia forces only; no damping is introduced because we consider the case of ideal fluid.
Taking into account the above, the system under consideration has four degrees of freedom. We write down the equations of motion in form of the Lagrange equations of the second kind. Kinetic (T) and potential (П) energy of the system are given by the following formulas:
Here, mc is the copter mass, m is the container mass (without the fluid), J is the central moment of inertia of the fluid, l is the distance between the centers of masses of the copter and the container, and g is the gravity acceleration.
The equations of motion are as follows:
where
Fx,
Fy,
Fφ, and
Fψ are the corresponding generalized forces.
In order to reduce the number of parameters and somewhat simplify the subsequent analysis, we normalize the equations of motion (5). For that, we choose characteristic time equal to
, characteristic mass equal to
(mass of the payload together with the fluid), and characteristic length equal to
l (which equals to the earlier defined distance between the centers of masses). Hereinafter, we hold the old notations for dimensionless parameters and variables and denote the derivative with respect to the dimensionless time
with a dot. Additionally, we introduce the following dimensionless parameter:
Then, taking into account (1), (2), (4), and (6), the normalized equations of dynamics of the system can be written down as follows:
where
Here,
f is the total thrust of rotors while
ϑ is the angle between the thrust vector and the horizontal axis (
Figure 1). These values represent the control inputs.
For definiteness, we also assume that .
In the subsequent analysis, we use some elements of the optimal control theory. Numerical simulations are performed by using the standard Runge–Kutta 4(5) method.
3. Results
3.1. Controllability and Observability of the Steady Straight Flight
First, we consider the steady straight flight of the copter with the speed
along a rectilinear line that makes the angle
with the horizontal axis (
Figure 3). For simplicity, we suppose that this line passes through the origin
O of the fixed reference frame (
Oxy), and in the initial moment of time, the center of mass of the copter is located in this point. Then, the target position vector looks as follows:
From the equations of motion in (7)–(8), one can readily see that the following control is required in order to implement this motion:
Here, .
During such motion, the fluid surface, evidently, remains horizontal, i.e.,
, and the angle of displacement of the load is given by the following relation:
Equations of motion linearized in the vicinity of the regime (9) look as follows:
where
is the identity matrix and is the zero matrix.
There are two control inputs in the system (12)–(13). Thus, the system is underactuated. Therefore, it is reasonable to study its controllability.
Proposition 1. The pair of matrices is controllable.
Proof. We shall use the Popov–Belevitch–Hautus test [
37]. We consider the Hautus matrix
, where
is the 8 × 8 identity matrix, and other matrices are given by (13). The matrix
has the following structure:
Values
and
in (14) represent combinations of system parameters and characteristics of the target regime. These expressions are rather cumbersome; therefore, they are provided in
Appendix A. The explicit formulas for them are not given here.
First, suppose that . Assume that the Hautus matrix rank is less than 8. This means that there exist such numbers that (here, is the ith row of the matrix ) and not all are simultaneously equal to zero.
Evidently,
. The elements in columns 5, 6, 9, and 10 in the third and fourth rows are zero; hence, we obtain the following equations:
One can readily see that the determinant of coefficient matrix of the system (15) of linear algebraic equations is given by the following formula:
Generally speaking, the expression (16) is not equal to zero for . From here, it follows that . This means that . But the third and the fourth rows of the matrix are linearly independent; hence, . Thus, all prove to be zero, which contradicts the initial assumption. Hence, the rank of is 8 for .
Suppose now that
. Again, we assume that the rows of the Hautus matrix are linearly dependent, and there exist such non-zero
that
. From this equality we obtain the following equations for columns with indices 3, 4, 9, and 10:
The determinant of the coefficient matrix of (17) is equal to
In a general case, the expression (18) is also not equal to zero. Hence, all are zero. At the same time, the first four rows of the matrix are independent for ; therefore, are also zero. We again come to a contradiction.
Thus, the Hautus matrix has maximum rank for any , from which it follows that the pair of matrices (as well as the linearized system (12)) is controllable.□
Let us now discuss the observability of our linearized system. Evidently, it is impossible to directly measure the angle and its time derivative.
Suppose that we can measure the position and velocity of the copter center of mass, as well as the angle of displacement of the payload and the angular speed of the payload. This means that the state-to-output matrix
looks as follows:
Proposition 2. The pair of matrices is observable.
Proof. Construct the observability matrix
:
Evidently,
given by (20) is a 48 × 8 matrix. Consider its submatrix composed of rows of
with indices 1–6, 8, and 14. One can easily show that the determinant of this submatrix can be reduced to the following form:
Evidently, Expression (21) is not zero for all physically meaningful values of system parameters. Thus, and, therefore, the pair of matrices is fully observable. □
From Proposition 2, it follows that, using an appropriate observer (for example, the Luenberger observer), one can restore the values of all state variables (including and ). Hereinafter we suppose that these values are known and use them when constructing the feedback control.
3.2. Motion Along a Given Trajectory
Now let us consider the situation when the purpose of the control is to bring the copter from a given start position to a given end position, along a prescribed trajectory, in such a way that the amplitude of oscillations of the fluid would be kept within a given limit. In the context of the adopted model this means that the absolute value of
should not exceed a certain given
:
This can be interpreted as a phase constraint.
Additionally, we assume that in both start and end positions the copter, load, and fluid inside the cavity are at rest, and the speed of steady motion of the copter along the trajectory should be equal to (“cruise speed”).
Of course, if the acceleration is very small then the fluid practically does not oscillate. However, the time of motion is very large in this case. It would be reasonable to reach a certain balance between the requirement of the small duration of the entire process and the requirement of small oscillations of the fluid. Now we estimate the allowable acceleration of the copter.
We suppose that the target trajectory is smooth, i.e., its minimum radius of curvature is large enough. Then this trajectory can be with acceptable accuracy approximated by a polyline consisting of rectilinear segments, and the angles that the neighboring segments make with the horizon will be close to each other. Then, it is natural to assume that, at the first segment, the copter accelerates along the corresponding straight line with a constant (in a sense, maximum allowed) acceleration and, after the cruising speed is reached, moves steadily. At the end of the last segment, the copter decelerates with the constant acceleration (also maximum allowed) and finally hovers. As the direction of velocity cannot change instantly, it is necessary to provide for a smooth transition between neighboring segments (for example, along circular arcs).
Thus, the program motion represents a set of rectilinear segments connected with circular arcs. In order to organize the motion along this trajectory, it is necessary to solve the following problems:
Ensure stabilization of steady rectilinear flight along a given straight line with a given speed, if the initial conditions are close enough to the target motion;
Ensure the acceleration from the rest to the cruising speed/deceleration from the cruising speed to the rest when moving along a straight line in such a way as to satisfy Condition (22);
Ensure the transition from one straight segment of the program trajectory to another in such a way as to satisfy Condition (22).
Let us consider all these problems in turn.
3.2.1. Stabilization of the Steady Straight Flight
Let us construct the control stabilizing the target motion (straight flight along a given straight line) and minimizing the following quadratic functional:
Here, is a certain positive definite matrix that we assume diagonal.
The control ensuring the optimal (in the sense of (23)) stabilization has the following form:
where the matrix
is a solution to the algebraic matrix Riccati equation:
If initial conditions for all variables are close enough to the target motion, then the control (24)–(25) ensures exponential stability of the target regime, and the value during the transition process will be relatively small.
For illustration, a numerical simulation was performed. Parameters of the system used for calculation are given in
Table 1.
Values
,
, and
are determined based on data provided in [
26]; then,
and
are calculated using Formula (3).
A series of simulations were performed for different initial conditions. In
Figure 4, an example of time dependence of the error (that is, deviation of the calculated trajectory from the program one) is given:
Even though the deviations from the program trajectory at the start moment are quite large, the system relatively quickly approaches to the program trajectory.
3.2.2. Acceleration and Deceleration Along a Straight Line
Now consider the situation when the center of mass of the copter moves with a certain acceleration (accelerating or decelerating) along the given straight line.
Find estimations for the maximum allowable acceleration assuming that the absolute value of should not exceed the given value .
Consider the initial stage of motion with constant acceleration. We will assume that before this, the system performs a steady straight flight with speed along a straight line making the angle with the horizontal. We shall provide equations describing the perturbed motion of the system neglecting the change in projections of the velocity onto the axes of the ground reference frame.
The resulting equations can be reduced to the following form:
where
The angle is the angle of displacement of the payload from the vertical that corresponds to the steady motion with the speed at an angle to the horizon under the action of wind (see (11)).
Initial conditions correspond to the steady flight and are given by the following equalities:
The characteristic polynomial of the matrix
looks as follows:
One can readily show that all roots of (30) have negative real parts. Additionally, if given by (6) is small enough, then all these roots have non-zero imaginary parts.
In this case, the general solution of (27)–(28) has the following structure:
where
and
are eigenvalues of
;
and
are corresponding eigenvectors; and constants
are determined by the initial conditions (29).
Evidently, the following relation holds:
Taking into account (33) and Condition (22), we obtain the estimation for the allowable acceleration:
In order to construct the stabilizing control for the stage of motion with constant acceleration (34), we shall use the approach described in the previous paragraph. During acceleration (deceleration), the center of mass of the copter passes a distance equal to . We divide this distance into segments. As a target motion for the ith segment, we consider steady flight with the speed . For each segment, we find the program control (10) and construct the feedback (24), ensuring stabilization.
Note that if characteristics of motion along the neighboring segments are small (which can be achieved by increasing ), then, from considerations of continuity, the constructed feedback will ensure tracking not only for “its own” segment, but also for the neighboring one (though not optimal). Therefore, one can expect that the selected scheme ensures tracking of the entire program trajectory. Naturally, it is necessary that initial conditions lie close enough to the target trajectory.
A series of calculations performed for different values of parameters and initial conditions showed that can be selected such that the difference between speeds at the neighbor segments would be about 0.1.
The amount of computation related to construction of the feedback for each segment can be reduced as follows: At each segment, we check if the feedback used at the previous segment ensures the sufficient quality of stabilization (for instance, we verify that the maximum real parts of the eigenvalues do not exceed a certain given negative value). If this quality proves to be insufficient, the Riccati equation is solved for the segment; otherwise, the feedback coefficients from the previous segments are used.
In order to verify the feasibility of the proposed algorithm, numerical simulation was performed. The following limitation for the fluid oscillation amplitude was used:
. Examples are shown in
Figure 5, where dependences of the copter speed, as well as of angles
and
on dimensionless time
, are presented.
From
Figure 5, we can see that the proposed control ensures that oscillations in the fluid remain within the prescribed interval (
) for different wind speeds and angles of inclination of the target trajectory.
The transition from the initial state of motion to the final one takes about 40 dimensionless time units. This is due to the fact that the allowed acceleration, which ensures that the liquid amplitude remains within the prescribed limits, is rather low.
3.2.3. Transition from One Rectilinear Trajectory Segment to Another
Now, consider the problem of transition from one straight segment of the target trajectory to another. For simplicity, we assume that the origin of the ground reference frame is in the point of intersection of these segments. Let and be the inclination angles of the first and second segments, respectively. As the trajectory is smooth enough (see above), the value is small in absolute value. In order to perform quick and smooth transition from the first to the second segment, it seems reasonable to organize the motion of the copter center of mass with constant (cruising) speed along a certain circumference arc tangent for both of these segments (so to speak, approximating circumference). Then, the acceleration of the center of mass will be directed towards the center of this circumference.
Assuming the change in angles
and
as well as the corresponding angular speeds and angular accelerations are small, we describe the perturbation equations as follows:
where
Here, is the angle of displacement of the payload from the vertical that corresponds to the steady flight with speed at the angle to the horizontal (see (11)).
The initial conditions are given by the following relations:
Similarly to the previous case, we find the general solution of (35)–(36) and we obtain
where values
are determined by the eigenvectors and eigenvalues of
, as well as initial conditions (37).
Taking into account (38) and (22), we obtain the estimation for the allowable acceleration:
Now, using (39), we can find the radius
of the approximating circumference:
. One can readily see that coordinates of the center
of this circumference and of the tangency points
and
between this circumference and segments are as follows:
Thus, the program trajectory in the discussed case represents a combination of two rectilinear segments and circular arc
given by (40) (see
Figure 6).
Like in the previous case in order to construct the stabilizing control, we divide the circular arc into straight segments.
In
Figure 7, results of the system dynamics numerical simulation are shown for different angles of inclination of the first and the second segments and for various wind speeds. The dependences of the following variables on the dimensionless time
are presented here: angles
(red lines) and
(blue lines), as well as the error
(black lines). The value
E characterizes the deviation of position in the copter’s center of mass from the program trajectory, i.e.:
One can readily see that the proposed control ensures the transition from the first segment to the second one in such a way that the amplitude of oscillations of the fluid remains within the prescribed range (boundaries
of this range are shown in
Figure 7 with dotted lines). It should be noted that the algorithm is efficient for relatively large values of
.
3.3. Numerical Simulation Example
As a numerical example illustrating the operation of the proposed algorithm, let us consider the following target motion: start and end positions are at the same altitude, the normalized distance between them is 500, and the center of mass of the copter must move along the parabolic curve connecting these points:
Let the normalized wind speed be equal to 1.
In order to determine the number of segments, we restrict the difference between tangents of angles of inclination of neighbor segments with 0.3. Then, we obtain , which means that the curve should be divided into 13 straight segments and 12 circular arcs connecting them.
The result of numerical simulation is shown in
Figure 8. The target trajectory is shown in
Figure 8a with green dots, and the calculated path of the copter center of mass is shown with black (for straight segments) and red lines (for curvilinear segments).
In
Figure 8b, time dependences of angles
(red line),
(blue line), and
(black line) are shown. Grey vertical lines denote the start/end moments of trajectory segments.
The calculated trajectory tracks approximate the target trajectory rather well. In order to make the difference smaller, one can just increase the number of segments. However, if the first and/or the last segment becomes shorter than , the algorithm needs to be upgraded in order to allow for the acceleration/deceleration stage to comprise several neighbor segments.
The amplitude of oscillations of the pendulum characterizing the dynamics of the fluid does not exceed ; however, at the acceleration stages, this amplitude sometimes comes relatively close to this limitation.
Thus, the main objective of the control is achieved: the copter with the payload followed the target trajectory with the prescribed cruising speed, and the oscillations of the fluid in the container remained within the specified limits.