Autonomous Robots

, Volume 38, Issue 2, pp 179–191

Coordinated landing of a quadrotor on a skid-steered ground vehicle in the presence of time delays


  • John M. Daly
    • Department of Mechanical and Mechatronics EngineeringUniversity of Waterloo
  • Yan Ma
    • Department of Mechanical and Mechatronics EngineeringUniversity of Waterloo
    • Department of Mechanical and Mechatronics EngineeringUniversity of Waterloo

DOI: 10.1007/s10514-014-9400-5

Cite this article as:
Daly, J.M., Ma, Y. & Waslander, S.L. Auton Robot (2015) 38: 179. doi:10.1007/s10514-014-9400-5


This work presents a control technique to autonomously coordinate a landing between a quadrotor UAV and a skid-steered UGV. Local controllers to feedback linearize the models are presented, and a joint decentralized controller is developed to coordinate a rendezvous for the two vehicles. The effects of time delays on closed loop stability are examined using a Retarded Functional Differential Equation formulation of the problem, and delay margins are determined for particular closed loop setups. Both simulation and experimental results are presented, which demonstrate the feasibility of this approach for autonomous outdoor coordinated landing.


Mobile roboticsAutonomous landingSkid-steered vehicleQuadrotorTime delays

1 Introduction

Interest in unmanned aerial vehicles (UAVs) has grown significantly across many sectors of society over the last few decades. The advantages provided by UAVs over human operators are clear, particularly for tasks that are dirty, dangerous or dull. Private sector companies are beginning to make use of the technology for tasks such as remote inspection and monitoring, persistent surveillance, aerial mapping and target tracking. This increase in interest has opened up opportunities for researchers to look for new methods of extending the capabilities of UAVs to accomplish their tasks more efficiently with less human involvement. In particular, the major limitations of large UAVs in terms of ease of deployment, operation in close proximity to obstacles and cost have driven extensive development of small UAVs for a wide range of military and civilian applications.

Small UAVs can be both safe and manoeuvrable, but as a result of their limited size, can suffer from reduced payload and flight length capabilities. In order to increase the range of a small UAV on a mission, the idea of pairing the UAV with an unmanned ground vehicle (UGV) that has a greater possible range has been put forward (see Waslander 2013 for a survey of the area). Another advantage arising from pairing the two different types of autonomous vehicles is in being able to gain multiple perspectives during a mission. In order to have a fully autonomous system that pairs a UAV with a UGV, one must ensure that the vehicles have the ability to rendezvous and perform coordinated landings autonomously.

Despite a large effort in the area autonomous landing on moving vehicles (described in Sect. 2), little attention has been paid to the possibility of coordinating aerial and ground vehicles for autonomous rendezvous. Our contributions in this work can be stated as follows. We present a novel decentralized control method for autonomous rendezvous of a UAV and a UGV, which uses feedback linearization for each vehicle controller to render the input-output dynamics of each vehicle linear, and a decentralized linear relative position controller to drive the vehicles together from an arbitrary initial state. We perform a time delay stability analysis in order to examine the tolerance of this control scheme to delays in processing and communication. Based on the real system parameters, the delay stability margin is determined to exceed the expected worst case performance of standard wireless communication, and simulation results are presented which demonstrate the degradation in performance of the controller as the communication delay is increased. Finally, we present experimental results for a small quadrotor UAV and skid-steer UGV which demonstrate that the feedback linearized controllers can successfully be implemented for both vehicles, and that coordinated landings can be executed indoors with high quality offboard positioning system data, and outdoors with low cost inertial sensors under windy conditions.

The paper proceeds as follows. Section 2 presents related work in UAV landings on moving ground vehicles. In Sect. 3, the components of the system are presented, including the dynamic models of the UAV and UGV, their associated controllers, and the coordinated controller to drive both vehicles together. Section 4 develops the stability analysis for this system in the presence of time delays. The coordinated controller is re-developed for the case with time delays. Simulation results which explore the effects of time delay on system performance are presented in Sect. 5 and experimental results from both indoor and outdoor flight tests are presented in Sect. 6. Finally, conclusions are given and opportunities for future work are discussed in Sect. 7.

2 Related work

Much work has been done on relative position estimation and controller design for performing autonomous landings on moving targets. The relative motion of the two vehicles can be determined either by measuring the inertial position of each vehicle using high-accuracy GPS and taking the difference (Oh et al. 2006), or by directly measuring the relative motion using either relative differential GPS measurements or visual target tracking (Saripalli and Sukhatme 2006; Voos and Bou-Ammar 2010; Wenzel et al. 2011). Ultimately, the methods are interchangeable, as long as the accuracy and availability of the measurements produced is consistent. In this work, we rely on a custom carrier-phase differential GPS solution (Waslander 2014) that provides 2–5 cm relative position accuracy over the experiment duration.

Numerous controller designs for autonomous landings on moving target platforms have been presented. Frequently, assumptions are included that ensure that the aerial vehicle is operating in a linear flight regime in near hover conditions, for which PID control has been demonstrated to be sufficient (Hoffmann et al. 2011). Saripalli and Sukhatme (2006) present an approach for landing an autonomous helicopter on a moving target using a camera mounted on the helicopter. This approach makes use of the camera to observe the target from the air. A Kalman filter is used to track the target using camera data. The state estimate is then used to generate a desired trajectory that the helicopter tracks as it lands on the moving target. The helicopter is controlled using a behaviour based PID control approach to track the reference trajectory through different flight regimes, with more aggressive tracking performance applied as the vehicle approaches the landing stage of the flight. No proof of stability is given, however, in terms of switching between linear controllers, but preliminary experimental results demonstrate the feasibility of the approach at low speeds with no wind disturbances. In an outdoor situation, this assumption can be unrealistic.

Nonlinear control methods have also been proposed for autonomous landing on moving targets, and promise to provide greater flexibility in the relative motion and larger flight envelopes over which guarantees of stability are applicable. In Oh et al. (2006), propose a nonlinear control technique for landing a UAV on a moving boat. The method relies on time scale separation of attitude and position control, where the attitude dynamics are controlled using a fast time scale for which stability is guaranteed with a Lyapunov stability argument, and the position of the helicopter is controlled using a slower time scale controller as an outer loop. The authors present simulation results only, but do guarantee robustness of the controller to bounded tracking errors in the attitude control. A tether is also proposed for communication of the boat position, which greatly limits the range of operations for small UAVs, adds significant disturbance to the position control in the form of a slung load (the tether) buffeted by wind and is therefore not suitable for most applications. Nonetheless, the method could be trivially extended to avoid the use of a tether through low-latency wireless communication of the boat position to the UAV.

Voos and Bou-Ammar (2010) have defined a feedback linearization base control method for landing an aerial vehicle on a base vehicle moving at constant velocity. The method reduces to a fixed trajectory tracking problem for a quadrotor vehicle, but has not yet been implemented, which may be due to the difficulty of correctly identifying the actual parameters in the decoupling matrix for a given UAV.

More recently, Li et al. (2011) have successfully demonstrated autonomous landings of UAVs on moving ground platforms. Li et al. perform a smooth takeoff by following a prescribed spline in the altitude command, and tracking and landing are achieved by relying on the commercially available PID control for the inner (attitude) and a sliding mode outer (position) loop on the Ascending Technologies Hummingbird platform, which is needed to combat difficulties that arise from the ground effect. A sequence of position commands are generated, and the landing sequence is constrained to have an exponential speed decay, and the results are demonstrated indoors with an indoor positioning system (IPS) state measurement, and were repeated outdoors as well. The effect of airflow disturbances has also been investigated by Esmailifar and Saghafi (2009), who presented a nonlinear controller design and simulation results for landing on a moving platform for which the effects of wind disturbances on tracking performance were evaluated. The method relies on solution of a state dependent Ricatti equation for control, as well as on accurate estimation of the wind magnitude and direction at each instant.

3 Coordinated controller design

In order to develop accurate controllers to ensure a successful rendezvous, suitable dynamic models of the vehicles must be used. First, a simple quadrotor dynamics model is presented, along with an inner/outer loop controller that feedback linearized the position control and leaves attitude control to proven PID control technique (Hoffmann et al. 2011). Then, a kinematic model for the UGV is presented, along with a second feedback linearizing controller. Finally, the joint decentralized controller is presented.

3.1 Quadrotor dynamics

Quadrotor UAVs have four rotors arranged in a cross configuration. The angular speed of each rotor can be independently controlled to produce different thrusts. Let \(\varOmega = (\varOmega _1, \varOmega _2, \varOmega _3, \varOmega _4)\) be the angular velocity of rotors as enumerated in Fig. 1a, the thrust generated by the \(i^{\mathrm{th}}\) rotor, \(f_i\), is given by \(f_i = b \varOmega _i^2\) and the reaction torque is obtained via \(t_i = d f_i\), where \(b, d \in \mathbb {R}\) are the aerodynamic constants of the rotors.

The roll and pitch moments about the corresponding axes can be achieved by varying the difference in rotor speeds and, hence, the thrusts for opposite pairs of rotors; the sum of all four rotor thrusts provides acceleration in altitude, and the net torque from all four rotors results in a yaw moment.
Fig. 1

Forces and coordinate frames of a quadrotor. a Freebody diagram, b coordinate frames

We use a common quadrotor model (Mokhtari et al. 2005; Hoffmann et al. 2011; Lee et al. 2009) for controller design in an East-North-Up (ENU) frame of reference. Denote
$$\begin{aligned} P_q = \left[ X_q,\dot{X_q},Y_q,\dot{Y_q},Z_q,\dot{Z_q},\phi _q,\dot{\phi }_q,\theta _q,\dot{\theta }_q, \psi _q,\dot{\psi }_q \right] ^T \end{aligned}$$
the state vector of the quadrotor dynamic model, where \(\zeta = [X_q, Y_q, Z_q]\) is the quadrotor position coordinate vector in the inertial frame, \(\phi _q\), \(\theta _q\) and \(\psi _q\) are Euler angles with respect to ENU inertial frame axes, and \(g = 9.81\,\)m/s\(^2\) is the gravitational constant, as illustrated by Fig. 1b. We also denote
$$\begin{aligned} U = \begin{bmatrix} U_1 \\ U_2 \\ U_3 \\ U_4 \end{bmatrix} = \begin{bmatrix} 1&\quad 1&\quad 1&\quad 1 \\ -l&\quad 0&\quad l&\quad 0 \\ 0&\quad l&\quad 0&\quad -l \\ d&\quad -d&\quad d&\quad -d \end{bmatrix} \begin{bmatrix} f_1 \\ f_2 \\ f_3 \\ f_4 \end{bmatrix} \end{aligned}$$
the control input vector, where \(U_1\) is the sum of thrusts of all four rotors, \(U_2\), \(U_3\) and \(U_4\) the angular torques induced by the rotors about \(x\), \(y\) and \(z\) body frame axes respectively, \(l\) is the distance from a motor to the center of mass (COM) of the quadrotor. Denote \(\omega = [p,q,r]^T\) the body angular rates, \(m\) the mass, \(I \in \mathbb {R}^{3x3}\) the inertial matrix of the following form
$$\begin{aligned} I = \begin{bmatrix} I_x&\quad 0&\quad 0 \\ 0&\quad I_y&\quad 0 \\ 0&\quad 0&\quad I_z \end{bmatrix} \end{aligned}$$
and \(I_x, I_y, I_z \in \mathbb {R}\) are the inertia about \(x\), \(y\) and \(z\) body axes. Also denote \(R \in \mathbb {SO}_3\) the rotation matrix from the body frame to the global frame.
The Newton–Euler equations for a quadrotor helicoptor are given by
$$\begin{aligned} \begin{bmatrix} m \ddot{\zeta } \\ I \dot{\omega } + \omega \times I\omega \end{bmatrix} = \begin{bmatrix} F \\ \tau \end{bmatrix} \end{aligned}$$
where \(F = [F_X, F_Y, F_Z]^T \in \mathbb {R}^3\) is a the sum of all external force vectors acting on the COM of the quadrotor in the global frame, \(\tau = [\tau _x, \tau _y, \tau _z] \in \mathbb {R}^3\) is the sum of external torques applied on the body frame. Ignoring aerodynamic drag forces and other disturbances, the only external forces applied to the quadrotor air frame are gravity and the total thrust \(U_1\), giving
$$\begin{aligned} F = U_1 R e_3 - m g e_3 \end{aligned}$$
The torques produces by differences in thrust from the rotor are denoted \(\tau _t = [U_2, U_3, U_4]^T\), where \(U_2\) acts about the body roll axis, \(U_3\) about the pitch axis and \(U_4\) about the yaw axis. Ignoring gyroscopic torques, as they are negligibly small near hover,
$$\begin{aligned} \tau = \tau _t \end{aligned}$$
Combining (3), (4) with the applied torques, the full quadrotor dynamic model is the following,
$$\begin{aligned} \begin{bmatrix} \ddot{X_q} \\ \ddot{Y_q} \\ \ddot{Z_q} \\ \dot{p} \\ \dot{q} \\ \dot{r} \end{bmatrix} = \begin{bmatrix} u_x\dfrac{U_1}{m} \\ u_y\dfrac{U_1}{m} \\ (\cos \phi _q\cos \theta _q)\dfrac{U_1}{m} - g \\ qr\dfrac{I_y-I_z}{I_x} + \dfrac{l}{I_x} U_2 \\ pr\dfrac{I_z-I_x}{I_y} + \dfrac{l}{I_y} U_3 \\ pq\dfrac{I_x-I_y}{I_z} + \dfrac{l}{I_z} U_4 \end{bmatrix} \end{aligned}$$
$$\begin{aligned} u_x&= \cos \phi _q\sin \theta _q\cos \psi _q + \sin \phi _q\sin \psi _q\end{aligned}$$
$$\begin{aligned} u_y&= \cos \phi _q\sin \theta _q\sin \psi _q - \sin \phi _q\cos \psi _q \end{aligned}$$
The transformation matrix, \(M\), between Euler angular velocities and \(pqr\) rates is given by Kuipers (1999),
$$\begin{aligned} \begin{bmatrix} \dot{\phi }_q \\ \dot{\theta }_q \\ \dot{\psi }_q \end{bmatrix} = \underbrace{ \begin{bmatrix} 1&\sin {\phi _q}\tan {\theta _q}&-\cos {\phi _q}\tan {\theta _q} \\ 0&\cos {\phi _q}&-\sin {\phi _q} \\ 0&\dfrac{\sin {\phi _q}}{\cos {\theta _q}}&\dfrac{\cos {\phi _q}}{\cos {\theta _q}} \end{bmatrix} }_{M} \begin{bmatrix} p \\ q \\ r \end{bmatrix} \end{aligned}$$
At hover position, we have \([\phi _q, \theta _q]^T \approx \mathbf {0}\), leading to \(M \approx I^{3 \times 3}\). Therefore, we can make the following approximations,
$$\begin{aligned}{}[\dot{\phi }_q, \dot{\theta }_q, \dot{\psi }_q]^T&\approx [p,q,r]^T\\ [\ddot{\phi }_q, \ddot{\theta }_q, \ddot{\psi }_q]^T&\approx [\dot{p},\dot{q},\dot{r}]^T \end{aligned}$$
This gives the state space representation \(\dot{P}_q = f(P_q,U)\) of the plant,
$$\begin{aligned} f(P_q,U) = \begin{bmatrix} \dot{X_q} \\ u_x\dfrac{U_1}{m} \\ \dot{Y_q} \\ u_y\dfrac{U_1}{m} \\ \dot{Z_q} \\ (\cos \phi _q\cos \theta _q)\dfrac{U_1}{m} - g \\ \dot{\phi }_q\\ \dot{\theta }_q\dot{\psi }_{q}\dfrac{I_y-I_z}{I_x} + \dfrac{l}{I_x} U_2 \\ \dot{\theta }_q \\ \dot{\phi }_q\dot{\psi }_{q}\dfrac{I_z-I_x}{I_y} + \dfrac{l}{I_y} U_3 \\ \dot{\psi }_q \\ \dot{\theta }_q\dot{\phi }_q\dfrac{I_x-I_y}{I_z} + \dfrac{l}{I_z} U_4 \end{bmatrix} \end{aligned}$$
The altitude portion of the quadrotor plant is as follows,
$$\begin{aligned} \ddot{Z}_q = \frac{1}{m}\cos \phi _q\cos \theta _q U_1 - g \end{aligned}$$
$$\begin{aligned} U_1 = \frac{m}{\cos {\phi _q}\cos {\theta _q}}(v_z + g) \end{aligned}$$
then we feedback linearize the plant into the following form \(\forall \phi _q,\theta _q \in (-\frac{\pi }{2},\frac{\pi }{2})\)
$$\begin{aligned} \ddot{Z}_q = v_z \end{aligned}$$
After computing the total thrust command \(U_1\) for altitude control, we can use it to compute desired \(\theta _q\) and \(\phi _q\) to regulate X and Y positions. We know that
$$\begin{aligned} \begin{bmatrix} \ddot{X}_q \\ \ddot{Y}_q \end{bmatrix} = \begin{bmatrix} \cos \phi _q\sin \theta _q\cos \psi _q + \sin \phi _q\sin \psi _q \\ \cos \phi _q\sin \theta _q\sin \psi _q - \sin \phi _q\cos \psi _q \end{bmatrix}\frac{U_1}{m} \end{aligned}$$
Using a small angle approximation we can convert (14) into the following
$$\begin{aligned} \begin{bmatrix} \ddot{X}_q \\ \ddot{Y}_q \end{bmatrix}&= \begin{bmatrix} \theta _q\cos \psi _q + \phi _q\sin \psi _q \\ \theta _q\sin \psi _q - \phi _q\cos \psi _q \end{bmatrix}\frac{U_1}{m} \\&= \begin{bmatrix} \cos \psi _q&\sin \psi _q \\ \sin \psi _q&-\cos \psi _q \end{bmatrix} \begin{bmatrix} \theta _q \\ \phi _q \end{bmatrix}\frac{U_1}{m} \end{aligned}$$
We choose the virtual inputs \(v_q \in \mathbb {R}^2\) such that
$$\begin{aligned} \begin{bmatrix} \theta _q \\ \phi _q \end{bmatrix}&= \frac{m}{U_1} \begin{bmatrix} \cos \psi _q&\sin \psi _q \\ \sin \psi _q&-\cos \psi _q \end{bmatrix} v_q \\&\Rightarrow \begin{bmatrix} \ddot{X}_q \\ \ddot{Y}_q \end{bmatrix} = v_q\nonumber \end{aligned}$$
Using \(v_q\) we can control the quadrotor position as a linear double integrator plant by requesting the corresponding attitudes \(\phi _q\) and \(\theta _q\) computed via (15). Relying on time scale separation of the attitude and position control loops, and we use a PD controller for the attitude inner loop control to track the desired value for \(\phi _q\) and \(\theta _q\).

3.2 Skid-steered ground vehicle model

When working with UGVs, it is common to use two dimensional planar models. The modeling problem for general motion becomes quite difficult when the system is considered to move in three dimensions. Yu et al. (2009) present a three dimensional dynamic model of a skid-steered ground vehicle for the special case of straight-line motion, but do not present a general three dimensional model. Sharaf et al. (2008) develop a 6 DOF dynamic model of a 4 wheeled ground vehicle, but do not present a control strategy for the model.

Here we make use of a kinematic model of the skid-steered ground vehicle based on work in Pazderski et al. (2004). The UGV platform in use in the WAVELab at the University of Waterloo provides velocity inputs, so as a result a kinematic model is appropriate. Early experimental work has shown that with a kinematic model and the controller that will be presented below, very reasonable tracking performance can be obtained.

In order to present the kinematic model of the vehicle used in this work, define the state \(p_g = [X_g, Y_g, \psi _g]^T\), where \(X_g\) and \(Y_g\) represent the position of the vehicle centre of mass (COM) in the global coordinates and \(\psi _g\) represents the angle of the body-fixed frame in the global coordinates. Note that the body-fixed frame is attached at the vehicle COM. Then, the vehicle kinematic model is,
$$\begin{aligned} \underbrace{\left[ \begin{array}{c} \dot{X}_g \\ \dot{Y}_g \\ \dot{\psi }_g \end{array}\right] }_{\dot{q}} = \underbrace{\left[ \begin{array}{cc} \cos \psi _g &{} x_{ICR}\sin \psi _g \\ \sin \psi _g &{} -x_{ICR}\cos \psi _g \\ 0 &{} 1 \end{array}\right] }_{S(q)} \underbrace{\left[ \begin{array}{c} v_{x} \\ \omega \end{array}\right] }_{v_c} \end{aligned}$$
where \(v_c = [v_{x}, \omega ]^T \in \mathbb {R}^2\) represents the velocity of the vehicle COM expressed in local coordinates, and \(x_{ICR}\) is the \(x\) projection of the instantaneous centre of rotation (ICR) of the vehicle into the body-fixed frame. A graphical illustration for \(x_{ICR}\) is given by Fig. 2. This projection always lies on the centre line of the vehicle and relates the angular velocity to the \(y\) component of velocity expressed in the local coordinates as \(\omega = -v_y/x_{ICR}\) (Kozłowski and Pazderski 2004). It is the local \(x\) projection of the point about which the vehicle rotates at any given instant. In practice, due to the skid steering, the location of the ICR will move (Kozłowski and Pazderski 2004). In particular, the relative amounts of slip experienced by each of the wheels will vary depending on the surface interactions of each tire. In the extreme case, some cornering may occur about one of the four wheels, leading to a particular location for the ICR. Through other corners there could be even slip on all four wheels, in which case the ICR would be lined up with the COM of the vehicle. However, in this work a constant approximation of the \(x\) projection of the ICR into the local coordinate frame is used and will be called \(x_0\). For most curvilinear motion with a skid-steered vehicle, the \(x\) projection of the ICR will be non-zero. By using a constant non-zero \(x_0\) in the controller, an operational constraint may be imposed on the vehicle that limits lateral skidding (Pazderski et al. 2004).
Fig. 2

Body, wheel velocity relationships and the resulting \(x_{ICR}\)

To design a controller for this model, input-output feedback linearization is used. In this work it is important to be able to control the position of the vehicle in the inertial frame, so \(X\) and \(Y\) are chosen as outputs. It is apparent from the model that this system has vector relative degree \(\{1,1\}\). Then, the input-output dynamics of the system are given as,
$$\begin{aligned} \left[ \begin{array}{c} \dot{X}_g \\ \dot{Y}_g \end{array}\right] = \left[ \begin{array}{cc} \cos \psi _g &{} x_0\sin \psi _g \\ \sin \psi _g &{} -x_0\cos \psi _g \end{array}\right] \left[ \begin{array}{c} v_{x} \\ \omega \end{array}\right] \end{aligned}$$
The feedback linearizing controller for this set of dynamics is determined to be,
$$\begin{aligned} \left[ \begin{array}{c} v_{x} \\ \omega \end{array}\right] = \left[ \begin{array}{cc} \cos \psi _g &{} \sin \psi _g \\ \dfrac{\sin \psi _g}{x_0} &{} -\dfrac{\cos \psi _g}{x_0} \end{array}\right] \left[ \begin{array}{c} v_{g,1} \\ v_{g,2} \end{array}\right] \end{aligned}$$
where \(v_g = [v_{g,1}, v_{g,2}]^T \in \mathbb {R}^2\) represents the virtual control inputs to the UGV. Applying this controller to (17) yields,
$$\begin{aligned} \left[ \begin{array}{c} \dot{X}_g \\ \dot{Y}_g\end{array}\right] = \left[ \begin{array}{c} v_{g,1} \\ v_{g,2} \end{array}\right] \end{aligned}$$
The control law (18) has the effect of decoupling and linearizing the position degrees of freedom of the UGV. As a result, the virtual control inputs \(v_g\) may be designed to accomplish position tracking in the \(X-Y\) plane. Note that all control degrees of freedom are used to accomplish position tracking, and as a result the vehicle orientation may not be independently commanded. In addition, the zero dynamics of the closed loop system are found to be be \(\dot{\psi }_g = 0\) by solving the output zeroing problem (see Sastry 1999 for a description of the methodology employed). The dynamics (19) will be used in designing the joint decentralized controller.

3.3 Joint decentralized control

We now present a control approach that has been developed to force the quadrotor and ground vehicle to rendezvous. This approach is not based on trajectory tracking, but instead is based on the exponential stabilization of a particular set of dynamics.

The goal of this control strategy is to drive the relative position error of the two vehicles to zero, along with the velocity of the vehicles with respect to an inertial frame. If only position error is stabilized, then the two vehicles may rendezvous, but continue to drive together at some velocity. As this controller is designed strictly to accomplish rendezvous and landing, it is necessary to ensure that the velocities of both vehicles are driven to zero. From there a tracking controller can be enabled on the ground vehicle to carry on with the rest of the mission while transporting the quadrotor.

The feedback linearizing controllers presented in Sect. 3.1 and Sect. 3.2 result in linear plants for both of the vehicles. The closed loop feedback linearized model for the quadrotor position plant are given as \([\ddot{X}_q, \ddot{Y}_q]^T = v_q\) and \([\dot{X}_g, \dot{Y}_g]^T = v_g\) for the UGV. The goal is to ensure that \(X_q - X_g = X_q - Y_g = 0\) and \(\dot{X}_q = \dot{Y}_q = 0\). To stabilize inertial velocities for both vehicles to zero, we only need to ensure that the quadrotor velocity and the relative position of the vehicles converges to the equilibrium. In developing the controller, since the plants for X and Y are decoupled and symmetric, we design a control law for \(X\) and apply the same control to \(Y\). It is possible to extend this controller to the \(Z\) state as well. However, it is much safer to command the quadrotor in \(Z\) only once one is certain that the \(X\) and \(Y\) positions of the vehicles are close to each other.

Defining the relative position error of the vehicle \(e \in \mathbb {R}^2\) as,
$$\begin{aligned} e = \begin{bmatrix} X_q \\ Y_q \end{bmatrix} - \begin{bmatrix} X_g \\ Y_g \end{bmatrix} \end{aligned}$$
the state vector of the dynamics to be stabilized may be expressed as \([e_1, \dot{X}_q]^T\). The dynamics of the outputs are given by,
$$\begin{aligned} \left[ \begin{array}{c} \dot{e}_1 \\ \ddot{X}_q \end{array} \right] = \left[ \begin{array}{c@{\quad }c} 0 &{} 1 \\ 0 &{} 0 \end{array}\right] \left[ \begin{array}{c} e_1 \\ \dot{X}_q \end{array} \right] + \left[ \begin{array}{c@{\quad }c} -1 &{} 0 \\ 0 &{} 1 \end{array} \right] \left[ \begin{array}{c} v_{g,1}\\ v_{q,1} \end{array} \right] \end{aligned}$$
evidently, the rank of the controllability matrix for the dynamics above is 2. The system is, therefore, completely controllable and can be stabilized with the following control law,
$$\begin{aligned} \left[ \begin{array}{c} v_{g,1} \\ v_{q,1} \end{array}\right] = -K \left[ \begin{array}{c} e_1 \\ \dot{X}_q \end{array}\right] \end{aligned}$$
where \(K \in R^{2 \times 2}\) can be selected using standard linear state feedback control techniques such as pole placement or LQR design to achieve the desired system response. In this work, the entries of \(K\) are selected via tuning during flight experiments.

The joint decentralized controller presented in this work builds upon our previous coordinated landing work Daly et al. (2011). The original work employs a complete feedback linearization of the quadrotor model, which results in quadruple integrators in the \(X\), \(Y\) and \(Z\) directions (Daly et al. 2011). This leads to difficulties in practical implementation of the controller due to the requirement of the 4th order time derivative of the states, which is not measurable and noisy to estimate. Our current approach, which involves decoupling the attitude and position portions of the quadrotor controller, results in double integrator dynamics for the closed loop position degrees of freedom. This removes the need for higher order derivatives of the state and simplifies the implementation of the joint decentralized controller.

The controller given in (22) consists of the control signals for both plants. The signal \(v_{g,1}\) as computed in (22) is applied to the UGV, and likewise the term \(v_{q,1}\) is applied to the quadrotor. Therefore, each plant requires knowledge of the state of the other in order to stabilize this system. Intuitively this is quite reasonable, as the goal is for each vehicle to drive toward the other. An additional inherent complication that arises from this setup is that of time delays. Depending on the communications network used and the distance between the vehicles, the delay could be significant. The next section will examine the stability of this closed loop system in the presence of time delays.

4 Time delay stability analysis

Given that the control signal applied to each plant requires knowledge of the state of the other plant, and the fact that the two plants are physically separated, there will be inherent time delays in this system. It is well known that time delays can destabilize a closed loop system, but it is important to analyze the magnitude of the delay that could be tolerated by such a system. In this section, using the Retarded Functional Differential Equation (RFDE) formulation of the problem, the question of stability in the presence of time delays for this system will be examined.

In this work the state of the quadrotor is transmitted across a communications link to the ground vehicle, and the state of the ground vehicle is transmitted across the communications link to the quadrotor. Since both plants make use of their own state and the state of the other vehicle, the closed loop system expressed in RFDE form will contain both the state of the system at the current time and the state of the system delayed by the time delay in the communications.

Delays in a system are commensurate if each delay is an integer multiple of a base delay. Here it is assumed that the time delay between vehicles is the same in each direction. Since a private network is used, and the only signals transmitted on the network are between the vehicles, this is reasonable. We make the additional assumption, for the purpose of analysis, that the time delay is also constant. It is always possible to ensure that this assumption is held in practice by putting buffers into the system to deliver the information at a constant rate.

When the assumption of commensurate delays can be made about the system, a useful body of time delay stability results (Gu et al. 2003) can be applied to the problem. We define the time delay in this system as \(\tau \) s. In order to use the time delay stability results presented in Gu et al. (2003), the closed loop system must be put in the following linear RFDE form,
$$\begin{aligned} \dot{x}(t) = A_0 x(t) + A_1 x(t - \tau ), \qquad \tau \ge 0 \end{aligned}$$
where \(x \in R^n\) is the state vector, and \(A_0 \in R^{n \times n}\) and \(A_1 \in R^{n \times n}\) describe the dynamics of the system.

The difficulty with the formulation of this controller when delays are present in the system comes in with the first state in the joint system (21). In the presence of time delays, only one term or the other that makes up \(e_1\) will be delayed. As a result, there is no clear way to express the dynamics (21) with control law (22) in RFDE form.

To overcome this obstacle, we propose the following modification to the coordinated controller to properly take into account time delays. Noting that \(e_1(t-\tau ) = X_q(t-\tau ) - X_g(t-\tau )\), the following control law is introduced:
$$\begin{aligned} v_{g,1}(t)&= -k_{11} e_1(t-\tau ) - k_{12}\dot{X}_q(t-\tau ) \end{aligned}$$
$$\begin{aligned} v_{q,1}(t)&= -k_{21} e_1(t-\tau ) - k_{22}\dot{X}_q(t) \end{aligned}$$
Using this formulation of the control law, each side intentionally delays the term in \(e_1\) that comes from itself. As a result, the closed loop system will consist only of terms containing the system state and the system state delayed by \(\tau \). It may then be put into RFDE form. Then, it will be proved that this formulation results in a stable closed loop system with a particular delay margin.
The main tool for studying the stability of RFDE systems of a single delay comes from (Gu et al. (2003), p. 48). This theorem relies on the computation of generalized eigenvalues of two frequency-dependent matrices. The notation \(\lambda _i(A,B)\) represents the \(i\)-th generalized eigenvalue of two square matrices \(A\) and \(B\). As well,
$$\begin{aligned} \underline{\rho }(A,B) {:=} \min \{|\lambda |\, |\, \mathrm {det}(A - \lambda B) = 0\} \end{aligned}$$
In this theorem, \(\theta _k^i\) represents the phase angle of the complex generalized eigenvalue at frequency \(\omega _k^i\).

Theorem 1

Suppose that the system (23) is stable at \(\tau = 0\), and let \(q = \mathrm {rank}(A_1)\). Furthermore, define
$$\begin{aligned}&\bar{\tau }_i {:=} \left\{ \begin{array}{cll} \min \limits _{1\le k \le n} \frac{\theta _k^i}{\omega _k^i} &{} \qquad &{} \text {if } \lambda _i(j\omega _k^i I - A_0, A_1) = \\ &{} \qquad &{} e^{-j\theta _k^i} \text { for some } \omega _k^i \in (0,\infty ),\\ &{} \qquad &{} \theta _k^i \in [0,2\pi ] \\ &{} \qquad &{} \\ \infty &{} \quad &{} \text {if } \underline{\rho }(j\omega I - A_0, A_1) > 1, \\ &{} \qquad &{} \forall \omega \in (0,\infty ) \end{array}\right. \\&\text{ and } \quad \bar{\tau } {:=} \min _{1\le i \le q} \bar{\tau }_i \end{aligned}$$
The system (23) is stable for all \(\tau \in [0,\bar{\tau })\), but becomes unstable at \(\tau = \bar{\tau }\).

This theorem requires a frequency sweeping test to evaluate the generalized eigenvalues continuously between \(0\) and \(\infty \) rad/sec. In practice, a numerical approach is used Gu et al. (2003). The frequency axis is broken up into a grid, and at each grid point the generalized eigenvalues of \(j\omega _k^i I - A_0\) and \(A_1\) are computed. If \(\underline{\rho }(j\omega I - A_0,A_1) > 1\) for all \(\omega \), the system has a delay margin of \(\infty \). If not, the computation results in pairs \((\omega _k^i,\theta _k^i)\) that provide estimates of the delay margin \(\bar{\tau }_i\). The smallest \(\bar{\tau }_i\) will be the delay margin for the system. The pairs are found in the cases where the generalized eigenvalues have magnitude one. At these points, the phase \(\theta _k^i\) is found, since the generalized eigenvalues are complex in general.

For the application of Theorem 1 the RFDE system must be stable for no delays. From the design of the state feedback controller (22), this is assured. In order to determine the delay margin for the closed loop quadrotor-ground vehicle system, one must design the state feedback controller, and then numerically apply the results of Theorem 1. That is, for a given choice of gains for the joint decentralized controller, the maximum delay for which the system is stable may be found. With this result, the designer may determine if the particular parameters chosen will maintain stability for the delay considered in a particular case.

The delay margin of the closed loop was determined for the choice of gains used in the experimental implementation of the algorithm. The entries in the gain matrix, \(K \in R^{2 \times 2}\), are tuned tuning during flight tests, a suitable \(K\) has been determined to be the following:
$$\begin{aligned} K = \left[ \begin{array}{c@{\quad }c} -0.04 &{} 0.2 \\ 0.04 &{} 0.2 \end{array}\right] \end{aligned}$$
For the system (21) with a controller having such \(K\), the closed loop poles are located at \(s = -0.12 \pm 0.204j\). Applying Theorem 1 to this system, the delay margin is determined to be \(\tau = 4.3497\) s. This result shows that the designed controller is quite robust to time delays in the system. Such time delays could be the result of delays in the communications or processing delays. Practically, such delays would be much less than the delay margin of the system, confirming that the algorithm is effective in the presence of real-world delays.

5 Simulation results

Simulations are performed to verify the controller described in Sect. 3.3 and the time delay stability analysis on the closed loop system in Sect. 4.

To validate the time delay analysis in Sect. 4, a rendezvous experiment is simulated with double integrators for each of the quadrotor \(X_q\), \(Y_q\) and \(Z_q\) positions, and single integrators for the UGV \(X_g\), \(Y_g\) positions under various time delay conditions. The joint controller is used to control the inertial \(X\) and \(Y\) positions of both vehicles with the gain matrix \(K\) selected in Sect. 3.3, while the altitude of the quadrotor is controlled using the PID controller. Figure 3 captures the results for a successful rendezvous with a time delay of 1 s, while Fig. 4 shows that the joint system is marginally stable when the time delay is set to be 4.35 s.
Fig. 3

Difference between the quadrotor and ground vehicle trajectories in simulation with 1 s delay
Fig. 4

Difference between the quadrotor and ground vehicle trajectories in simulation with 4.35 s delay and resulting marginal stability

The rendezvous simulation is extended to study the impact of incorporating the transient behavior of the inner loop attitude and sensor noises. The nonlinear models for both vehicles from Eqs. (10) and (16) are employed, and wind gusts and sensor noise are included in the simulations. Varying wind speed is simulated using the Dryden wind gust model, and affects the quadrotor through the resulting aerodynamic drag force, \(F_d\), given the following model,
$$\begin{aligned} F_d = \frac{1}{2}\rho v^2 C_d A \end{aligned}$$
where \(v\) is the relative speed between the wind and the quadrotor, the coefficient of drag for the quadrotor, \(C_d\), was chosen as 0.5, and the reference area of the vehicle, \(A\), was computed as \(0.2027\)  m\(^2\) assuming a circle with a radius of 25 cm. Zero mean Gaussian noise is added to all measurements. The Dryden model implemented as part of the Matlab Aerospace Toolbox (2014) is used, with an ambient wind speed of 10 kph and a base altitude of sealevel. The standard deviation of the noise added to position measurements is 10 cm. The orientation measurements are corrupted with noise that has a standard deviation of 0.5 degrees, and orientation rate measurements with noise having a standard deviation of 0.1 degrees/s.

In the UGV model, \(x_0\) is set to \(3.7\) cm, and the same value is used in the UGV controller. The initial state is \([X_g, Y_g, \psi _g]^T = [0, 1, 45]^T\), where the linear units are in metres and the angular units in degrees. For the quadrotor, the full nonlinear dynamic model in (10) is used to test the robustness of this controller against remaining nonlinearities. The mass, \(m\), was set to 1 kg, \(I_r\) is set to 0.01, and \(I_x = I_y = I_z = 1\). Since this work is not focused on system identification of quadrotor parameters, values used for the system parameters are not necessarily realistic, and the re-tuning of the controller is expected when testing on real platforms.

A PD controller is used for attitude inner loop control, and the proportional gain is chosen as \(k_{p} = 10\) and derivative gain as \(k_d = 30\) for \(\phi _q\), \(\theta _q\) and \(\psi _q\). The gains for the joint controller (22) were chosen as \(K_1 = 0.04\), \(K_2 = 0.2\). Tracking in \(Z_q\) is also achieved using a PD controller to control the double integrator altitude subplant (11) as a result of feedback linearization in (12), with the proportional gain \(k_{z,p} = 0.04\) and derivative gain as \(k_{z,d} = 0.2\). To ensure that the reference trajectory for \(Z_q\) is a gradual descent for safe landing operation, the reference signal for \(Z_q\) was passed through a first order low-pass filter with poles at \(s = -2\). The initial pose of the quadrotor was set to \([X_q, Y_q, Z_q, \phi _q, \theta _q, \psi _q]^T = [5, 4, 5, 10, 10, 10]^T\), where the linear units are in meters and the angular units in degrees. The initial linear and angular velocities are set to zero for both vehicles. The simulations were implemented using a first order Runge–Kutta solver with a fixed sample period of \(0.01\) s.

The position states of the quadrotor are shown for this simulation in Fig. 5. After 120 s, the \(X\) and \(Y\) states have converged. The \(Z_q\) state remains stable and executes the commanded landing trajectory from 5 to 1 m after 25 s. Figure 6 shows that the relative X-Y position error between the vehicles converge toward and oscillate about the equilibrium, while Fig. 7 illustrates the \(X-Y\) trajectories of both vehicles during the simulated rendezvous. This demonstrates the robustness of the proposed controller against sensor noises and wind disturbances.
Fig. 5

Position of the quadrotor for the simulation
Fig. 6

Difference between the quadrotor and ground vehicle trajectories in simulation
Fig. 7

Simulated trajectories of the quadrotor (blue) and ground vehicle (green) (Color figure online)

6 Experimental results

The autonomous docking experiments are performed using an Aeryon Scout quadrotor and a Clearpath Robotics A200 Husky skid-steered UGV.

The Aeryon Scout is equipped with a U-Blox GPS unit capable of outputting raw satellite information for Real-Time Kinematic (RTK) GPS fix acquisition. It also carries an on-board Inertial Measurement Unit (IMU) that includes a 3-axis gyroscope and accelerometer, as well as a magnetometer. The measurements from these sensors are fused with a complementary filter to estimate its roll, pitch and yaw for attitude and position regulation at 100Hz. The quadrotor is designed to have the capability of maintaining position in 70km/h winds, which is a desirable feature for our outdoor experiments. Modelling the quadrotor position subplant as a linear double integrator, we designed a Kalman filter to estimate the position vehicle states, including inertial frame quadrotor position and velocity required by the joint state feedback rendezvous controller in Sect. 3.3. Figure 8a is a picture of the Aeryon quadrotor platform.

The Clearpath Robotics A200 Husky, as shown in Fig. 8b, also carries a U-Blox unit for RTK GPS. It is equipped with a digital compass for heading information, as well as an optical encoder on each side of the differential drive for odometry measurements and velocity control. The UGV can be controlled by requesting linear and angular velocities, and is an ideal option for the kinematic control scheme we developed.
Fig. 8

Experiment Robot Platforms. a Aeryon Scout, b clearpath Husky

Indoor landing experiments are performed within a OptiTrack positioning system. IR reflectors are mounted on both the vehicles, and six IR cameras are positioned around the test environment to capture the reflectors and triangulate their 3-D positions. The system provides 50 Hz position and yaw measurements with sub-centimetre, sub-degree accuracy.

For outdoor relative position feedback, an RTK GPS computation engine (Waslander 2014) is also implemented to provide accurate relative position error between the quadrotor and the UGV. C/C++ software is written to interface with the U-Blox GPS to extract raw satellite information. A User Datagram Protocol (UDP) communication socket is established between the vehicles over WiFi, and raw satellite packets are sent from the UGV to the quadrotor, where the RTK fix computation takes place. The relative position error \([e_1, e_2]\) computed from the RTK fix along with inertial quadrotor velocities \([\dot{X}_q, \dot{Y}_q, \dot{Z}_q]\) are subsequently relayed back to the Husky as required by the UGV portion of the decentralized rendezvous controller.

We propose to control the height of the quadrotor UAV using the relative altitude error from the RTK GPS. Conventional systems use a SOund Navigation And Ranging (SONAR) sensor to measure the distance from the UAV to the closest surface within the SONAR measurement volume. This leads to discrete jumps in height measurements as the quadrotor flies over the landing platform of the UGV, resulting in a sudden increase in thrust as the height controller tries to overcome the change in altitude measurement that results. Such behaviors cause disturbances in position control during the critical landing stage when the UAV is within the proximity of the landing platform. The RTK relative altitude information, on the other hand, provides much more consistent height measurements, and is deemed more suitable for this application.

Using the experimental setup described above, landing experiments were performed in both indoor and outdoor environments. A successful indoor landing experiment within the OptiTrack positioning environment is recorded. As shown in the top-down view of the vehicle trajectories in Fig. 9, both the ground vehicle and the quadrotor drive toward each other to eliminate the relative position error. The error quickly decays toward zero and oscillate about the equilibrium as observed in Fig. 10. As the relative position error becomes small enough at the 24 s mark of the experiment, a landing command is triggered, and the quadrotor lands on the UGV landing pad shown by the red circle. The oscillation may be caused by the transient in quadrotor roll and pitch to meet the requested angles by the position controller, which introduces unmodelled phase lag into the control system.
Fig. 9

Trajectories taken by the quadrotor (blue) and ground vehicle (green) during an indoor landing experiment (Color figure online)
Fig. 10

Relative error during a landing from indoor positioning system measurements

Successful outdoor landings are performed in the presence of wind disturbances and sensor noise. Integral control efforts are added to the quadrotor portion of the joint controller to overcome the wind disturbances. The control inputs on the quadrotor are also saturated to prevent exit from the region of attraction due to large position error (Fig. 11).
Fig. 11

Trajectories taken by the quadrotor (blue) and ground vehicle (green) during an outdoor landing experiment (Color figure online)

The RTK baseline measurements from a successful outdoor landing in East-North-Up (ENU) are presented in Fig. 12. As shown, the relative error between the vehicles quickly decreases within the first 10 s of the experiments, and oscillates about the origin due to the varying wind disturbance at 15 km/h and sensor noises in GPU and IMU measurements. The altitude subplot in Fig. 12 indicates oscillation in height control due to the impact of ground effects. At the 25 s mark, as the quadrotor \(X-Y\) relative position error approaches zero, the quadrotor moves above the ground vehicle, as indicated by the disappearance of the steady difference in altitude measured by the the sonar and GPS sensors. Large variations in the GPS measurement are then visible at 25, 30, 38, 52 and 59 s. This variation is caused by a significant increase in the thrust produced by the quadrotor when over the ground vehicle due to the ground effects, and this leads to oscillation in the GPS altitude control. These unmodelled disturbances also lead to extra horizontal acceleration at nonzero \(\phi _q\) and \(\theta _q\), which contribute to the observed oscillations in the X-Y plane. Such oscillations continue until the relative errors and quadrotor horizontal velocities are small enough for safe docking, and a landing command is ultimately triggered at the 50 s mark.
Fig. 12

Relative error during a landing from RTK baseline measurements

One advantage of the joint controller docking strategy is its cooperative nature. Figure 13 contains a 2D plot of the trajectories of both vehicles during the outdoor docking experiment. The UGV trajectory is derived from the NED coordinate measurements from the GPS, while the quadrotor trajectory is extracted by offsetting each measurement of the UGV trajectory with the RTK baseline measurements at the same time step. In Fig. 13a, a spike in position error is introduced when the quadrotor is driven away by a wind disturbance, while the trajectories shown in Fig. 13b indicate that both vehicles are actively trying to converge to each other and eliminate relative position error, effectively utilizing all available control inputs of the UGV-UAV joint system.
Fig. 13

Trajectories taken by the quadrotor (blue) and the UGV (green). a Large relative error introduced by wind at the 42 s mark, b at the 45 s mark, both vehicles are attempting to eliminate relative error (Color figure online)

We have successfully demonstrated autonomous coordinated landing of a small UAV on a ground vehicle, in the presence of wind and despite difficulty with ground effect. This paves the way for multi-vehicle teams to be applied to persistent surveillance problems, and allows short lived UAVs to operate indefinitely with recharge or swap on moving support platforms.

7 Conclusion

This work has presented a new approach for the autonomous landing of a quadrotor on a UGV. By designing local nonlinear controllers for each vehicle that render each vehicle linear through feedback, it is possible to design a joint decentralized controller that draws the two vehicles together. In this work, only the \(X\) and \(Y\) positions of the vehicles are drawn together. Once the vehicles are close enough to each other, an automated landing of the quadrotor is performed using a tracking controller on the quadrotor altitude state. For this strategy each vehicle must have access to the other vehicle’s state. Due to the communications involved in a system like this, there will be time delays inherent in the transmission of the state. To address this, the problem was formulated using RFDEs in such a way that the closed loop stability in the presence of time delays could be analyzed. Simulation results were presented to confirm the feasibility of the approach. The addition of sensor noise and wind disturbances to the simulations has shown that the approach is robust to noise and modeling error, even in the presence of significant time delays.

Preliminary experimental results showing the successful outdoor landing of a quadrotor on a UGV in the presence of time delays and disturbances have been presented. Initial experiments made use of RTK GPS for state measurements. Future work will examine the use of more complex plant models for each vehicle, the effects of using estimators, and the impact of bounded but time varying communication delays. Additionally, a more in depth study of the effects of modeling error and noise on the delay margin for closed loop stability will be carried out.

Supplementary material

View video

Supplementary material 1 (mp4 63271 KB)

Copyright information

© Springer Science+Business Media New York 2014