Multirotor UAVs are expected to be applied widely in the realm of urban air mobility. An interesting application in particular is the use of multirotors for chasing (or more formally, tracking) dynamic targets, owing to their agility and ubiquity. However, flying such vehicles in the city necessitates precise trajectory tracking of the vehicle and a framework that respects constraints– those on the vehicle itself, as well as those imposed by the environment. Solutions to certain aspects of the problem have been proposed in the literature;  and  focus on vision-based strategies to localize and track the target. More recently,  proposes a hybrid decision planner for docking UAVs on ground vehicles. We address the problem of trajectory and control design for UAVs to chase ground vehicles while adhering to constraints.
In this paper, we present a modular solution to the problem that can be applied to any commercial UAV platform with minimal experimental tuning- a high-level planner that
incorporates data from the past to predict the position of the ground vehicle and,
use the same data to generate waypoints that the quadcopter can follow without violating state and input constraints.
For (a), the vehicle position is predicted by assuming a kinematic model with bounded states, and updating the bounds from past data using exponential moving average. These continually updated bounds are used to construct a set of predicted positions, of which, the Chebyshev center (
) is used as the estimate of the vehicle’s future position. In the context of (b), we use model predictive control (MPC), a popular strategy for synthesizing controls for systems with constraints, for generating the waypoints by solving a constrained finite time optimal control problem online. While the latter, in general, can be intractable for online computation owing to the often nonlinear dynamical behaviour of UAVs, we model our UAV in closed-loop with a low-level planner as a simple LTI system, thus making real-time, online computations feasible. We also present the control and communication architecture that enabled us to deploy our algorithm.
The rest of the paper is organized as follows. Section II formally states the problem along with the working assumptions before we present the theoretical framework for our solution in section III. Sections IV and V present simulations and experiments respectively that corroborate the effectiveness of our solution.
Ii Problem Formulation
We work with a quadcopter equipped with a low-level controller that linearizes the dynamics around the hover condition, and is capable of driving the quadcopter to specified way-points. To chase the ground vehicle, we aim to generate way-points for the quadcopter that can be reasonably tracked using the low-level controller. Towards this goal, we list the blanket assumptions and models we plan to use for this work, and conclude this section with a formal statement of the problem.
Accurate measurements of the states of the quadcopter are available.
Accurate measurements of the position and velocity of the ground vehicle are available.
Quadcopter is stable in hover with a low-level controller in loop.
External disturbances are ignored owing to experiments being conducted in a spacious indoor testing arena.
The velocity of the ground vehicle is bounded, and these bounds are known.
Ii-B Problem Statement
Assuming that the conditions in II-A hold, design a control strategy for a quadcopter UAV to chase an evasive ground vehicle while adhering to specified state and input constraints.
Iii Predictive Control for Trajectory Generation
We adopt a hierarchical control strategy:
Off-board Control System: Use MPC to synthesize trajectories and send way-points to the quadcopter
Onboard Control System: Drive the quadcopter towards the commanded way-points
The two parts are interconnected with radio/telemetry. In this section, we focus on the former and describe our approach to solve the problem.
Iii-a Quadcopter Model
We model the quadcopter with the on-board, inner control loop along the lines of  and . The yaw angle is assumed fixed while the closed-loop roll and pitch dynamics are modelled as decoupled, second-order systems with input being a commanded angle (roll or pitch) and output being the actual angle (roll or pitch).
The parameters are obtained by system identification.
Translational motion along the x axis is assumed to be coupled only with pitch and the same along the y axis is assumed to be coupled only to roll, and are thus, decoupled from each other. Moreover, we assume that the attitude dynamics in closed loop are significantly faster than the translational (specifically altitude) dynamics. So the thrust at any instant balances the weight and is given by
So the lateral translational dynamics are given by
Finally, the altitude dynamics are simply given by
To consolidate, the quadcopter is described by the states and inputs
and the state space model in continuous time is expressed as
Assuming ZOH, we compute the exact discretization of these equations.
where the matrices are defined below for discretization step
Iii-B Vehicle Model
We assume a point mass kinematic model for the vehicle and we measure the position and velocity of the same. The states and inputs of the vehicle are given by and dynamics are written as
In discrete time,
At any instant, we assume that the velocity of the vehicle in its body-fixed frame lies in the set The bounds and are assumed to be known beforehand.
Iii-C Receding Horizon Control Problem for Tracking MPC
With design parameters (prediction horizon), (state cost matrix) and (input cost matrix), we wish to solve the following optimization problem at time ,
and are the sets of feasible states and control inputs respectively. We assume that these sets are convex and preferably, polyhedral.
is the terminal constraint set and will be constructed in the sequel, along with a heuristic for designing the reference trajectoryto make the quadcopter chase the ground vehicle.
The MPC algorithm prescribes using yielded by solving to obtain the next state using dynamics (1), and then solving again with .
Construction of Terminal Set
Let be the current state of the ground vehicle. Define the set
is a circle centered at , which is convex.
At any instant ,
Using a telescopic sum and the triangle inequality, we get
Construct the translational part of the terminal constraint set as
s are among the standard basis vectors ofand is the height from the ground within which we consider the quadcopter to have ”captured” the vehicle.
Now define following matrix which plucks out the rotational states from state vector
We use this to define the rotational part of the terminal constraint set
and finally, use cartesian product to construct the terminal constraint set
Suppose that the state of the quadcopter at the th instant belongs to the terminal set at the th instant, i.e., . We want to show that on applying control (2).
First, observe that the subsystem of the quadcopter comprising the translational dynamics and the pitch, roll dynamics is controllable with inputs . This implies that is invertible, and moreover with condition (3), this ensures that the set . On applying this input, the quadcopter moves in the direction .
At instant , the horizontal distance between the quadcopter and the vehicle’s new position is given by
Condition (1) ensures that quadcopter’s displacement in the direction exceeds and thus,
Note that the altitude dynamics is decoupled from the other state dynamics and . So, applying thrust as prescribed by results in
(A), (B) and condition (2) together give
Construction of Set of Feasible Initial States
We construct as the -step reachable set to . For ease of computations, we construct the polyhedron that circumscribes the set to get a (consequently) conservative estimate .
The MPC described in section (III-C) is recursively feasible if and the conditions of lemma 2 hold.
Since , the RHC optimization problem is feasible over the first prediction horizon. Now suppose that and let be the optimal sequence obtained by solving . Using the terminal controller from lemma 2, we construct the sequence which clearly yields a feasible solution to with . Using induction on , this shows that the MPC strategy is recursively feasible.
Iii-D Reference Trajectory Generation for Tracking MPC
For constructing the reference trajectory that is passed to the MPC algorithm, we fit a minimum jerk trajectory between the quadcopter’s current state and a point above an estimate of the vehicle’s future position. The roll, pitch and yaw angles are set to at the terminal point. We now present a heuristic to get an estimate the vehicle’s future position.
We measure and store time series data for and over time instants in where is the current time and is a design parameter. The velocity of the vehicle in the body-fixed frame is obtained as follows
and is the measured heading of the car.
Compute the average of the time-series data as , and update the bounds , and as follows
and are bounds that are known beforehand while and are tuning parameters.
Prediction of the Vehicle’s Position
Obtain a sequence of car states using dynamics (3) initialized with the current measured state of the car, over the prediction horizon , using inputs given by
Similarly, obtain a sequence of car states using dynamics (3) initialized with the current measured position of the car, over the prediction horizon , using inputs given by
Let and compute
Define the set
The set constructed as in (11), is bounded and convex
Observe that by construction, and is hence, bounded.
is a sector of a circle that subtends an angle at the centre whereas is a triangle with the same vertices as that of the sector .
is convex and .
In this case, and the set forms a segment of the circle centered at , which is convex.
Cases 1 and 2 are exhaustive and hence, is indeed convex.
The vehicle’s future position is estimated as the Chebyshev center of (Figure 3) and this estimate belongs to .
Lemma 3 directly gives the desired result.
Two simulated chasing experiments were carried out with a ROS-based quadcopter Simulation tool. The tool takes control commands via ROS communication, simulates the flight via propagating through a high fidelity quad-copter vehicle dynamics model, and returns full vehicle states. For the first simulated test, quad-copter was ordered to chase a ground vehicle moving in a circular trajectory. For the second simulated experiment, the quadcopter chased a car that randomly drove in a bounded square virtual test field.
Iv-a Simulation-1 Result
Figure 4 shows the trajectory of a simulated quadcopter chasing a ground vehicle simulated to run in a circular path. Figure 5 shows a plot for the tracking distance error against time. We observe that the distance error quickly converges after MPC controller starts working and that we manage to contain the steady state error within about 0.25 m.
Iv-B Simulation-2 Result
Figure 6 shows the trajectory of a simulated quadcopter chasing a ground vehicle simulated to randomly drive in a bounded square field. Figure 7 shows a plot for the tracking distance error against time. From the graph, we observe that the tracking error would increase when the vehicle make sharp turns, but the MPC controller manages to keep that value under 0.25 m.
V-a Experiment Setup
In this experiment, a RC car is manually controlled by a human driver and a quadcopter flies autonomously to chase the RC car. The motion of the car and the quad-copter is collected by the motion capture system and sent to a real-time MPC program, which generates a trajectory in terms of desired way-points and corresponding way-point velocities. The trajectory is then interpreted as radio commands and sent to the quadcopter to close the control loop. We work with a crazyflie-based quadcopter platform, which is equipped with a robust, low-level trajectory tracking controller. Figure 9 depicts the low-level control architecture of the miniquad platform.
V-B Experiment Result
Figure 10 shows the trajectory of an actual quadcopter chasing a remotely controlled ground vehicle that is driven by an operator in our laboratory space. Figure 11 shows a plot for the tracking distance error against time. From the graph, we observe that the tracking error increases when the vehicle accelerates, resulting in peaks. As time progresses, the predictive controller manages to reduce the error to under 1.0 m.
The video of the experiment can be seen here: https://goo.gl/eUEq2W
We can clearly observe the difference in performance between experiments and simulations. The experimental tracking error is about an order of magnitude higher than that of simulations. Following are the reasons for the inadequate performance of the experimental chase:
Model mismatch due to linearization of dynamics of the quadcopter in our control algorithm.
Time delays in sending and receiving radio messages to and from the quadcopter during experiments.
Measurement noise in sensors which leads to imperfect waypoint tracking.
Vi Conclusions and Future Work
In this paper, we focused on designing a predictive controller for an aerial vehicle to chase a ground vehicle. We assume a model for the ground vehicle for estimating its position in future time instants. These estimates are used to generate waypoints for our aerial vehicle so that it can track the ground vehicle with an objective of minimizing the tracking error in distance.
We proved feasibility of the optimization problem that we solve. We then implemented this control algorithm for simulations and experiments.
In simulations, we achieved good tracking performance with tracking errors smaller than 0.25 m. However, in the case of experiments, we had much larger tracking errors owing to non-idealities such as model mismatch, time delays, and sensor noise.
In future work, we will characterize the tracking error bound, and incorporate probabilistic beliefs into our prediction strategy. Furthermore, while we have incorporated slacks variables in our optimization problems for this work, we could also tackle model mismatch via a robust MPC strategy. Lastly, waypoint tracking will be improved by commanding velocities and accelerations in addition to positions.
The experimental test bed at the HiPeRLab is the result of contributions of many people, a full list of which can be found at hiperlab.berkeley.edu/members/.
-  C. Silva, W. R. Johnson, E. Solis, M. D. Patterson, and K. R. Antcliff, “Vtol urban air mobility concept vehicles for technology development,” in 2018 Aviation Technology, Integration, and Operations Conference, 2018, p. 3847.
-  T. Hoang, E. Bayasgalan, Z. Wang, G. Tsechpenakis, and D. Panagou, “Vision-based target tracking and autonomous landing of a quadrotor on a ground vehicle,” in 2017 American Control Conference (ACC). IEEE, 2017, pp. 5580–5585.
-  C. Teuliere, L. Eck, and E. Marchand, “Chasing a moving target from a flying uav,” in 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2011, pp. 4929–4934.
-  S. Choudhury and M. J. Kochenderfer, “Dynamic real-time multimodal routing with hierarchical hybrid planning,” CoRR, vol. abs/1902.01560, 2019. [Online]. Available: http://arxiv.org/abs/1902.01560
-  F. Borrelli, A. Bemporad, and M. Morari, Predictive control for linear and hybrid systems. Cambridge University Press, 2017.
-  P. Bouffard, “On-board model predictive control of a quadrotor helicopter: Design, implementation, and experiments,” UC Berkeley, Department of EECS, Tech. Rep., 2012.
-  J. Dentler, S. Kannan, M. A. O. Mendez, and H. Voos, “A real-time model predictive position control with collision avoidance for commercial low-cost quadrotors,” in 2016 IEEE Conference on Control Applications (CCA), Sep. 2016, pp. 519–525.