Predictive Control for Chasing a Ground Vehicle using a UAV

05/22/2019 ∙ by Jaeseung Byun, et al. ∙ berkeley college 0

We propose a high-level planner for a multirotor to chase a ground vehicle, while simultaneously respecting various state and input constraints. Assuming a minimal kinematic model for the ground vehicle, we use data collected online to generate predictions for our planner within a model predictive control framework. Our solution is demonstrated, both via simulations and experiments on a stable quadcopter platform.



There are no comments yet.


page 6

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Multirotor UAVs are expected to be applied widely in the realm of urban air mobility[1]. 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; [2] and [3] focus on vision-based strategies to localize and track the target. More recently, [4] 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

  1. [label=)]

  2. incorporates data from the past to predict the position of the ground vehicle and,

  3. 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 ([5]

) 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

[5]. 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.

Ii-a Assumptions

  • 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 [6] and [7]. 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.

Fig. 1:

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 ,

subject to

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 trajectory

to 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

Lemma 1

For a vehicle governed by dynamics (3) and for the set constructed as in (4), the following are true:

  1. Set is convex.

  2. The vehicle positions lie within this set for all instants over the prediction horizon .

Part 1)
is a circle centered at , which is convex.

Part 2)
At any instant ,

Using a telescopic sum and the triangle inequality, we get

Construct the translational part of the terminal constraint set as

where the

s are among the standard basis vectors of

and 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


Lemma 2

The terminal constraint set given by (5) is control invariant for the quadcopter dynamics described by (1) with the terminal controller


where , if the following conditions are met

  1. where

  2. The quadcopter platform has large enough such that

  3. contains an open ball around the origin

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 .

Theorem 1

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.

Fig. 2: Heading angle and velocity direction of 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

Fig. 3: Prediction of car’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



Lemma 3

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 .

Case 1:
is convex and .
is convex

Case 2:
In this case, and the set forms a segment of the circle centered at , which is convex.
is convex

Cases 1 and 2 are exhaustive and hence, is indeed convex.

Proposition 1

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.

Iv Simulations

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.

Fig. 4: Tracking a ground vehicle running in circular trajectory
Fig. 5: Tracking distance error for simulation 1
Fig. 6: Tracking a vehicle with random acceleration and steering inputs
Fig. 7: Tracking distance error for simulation 2

V Experiments

V-a Experiment Setup

Fig. 8: Vehicles used for the experiment

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.

Fig. 9: Low-level Control Architecture
Fig. 10: Experimental tracking of a remote controlled car controlled by a human operator. The car is being chased by a quadcopter following waypoints generated by our predictive control algorithm
Fig. 11: Tracking distance error for the experiment

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:

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:

  1. Model mismatch due to linearization of dynamics of the quadcopter in our control algorithm.

  2. Time delays in sending and receiving radio messages to and from the quadcopter during experiments.

  3. 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


  • [1] 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.
  • [2] 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.
  • [3] 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.
  • [4] S. Choudhury and M. J. Kochenderfer, “Dynamic real-time multimodal routing with hierarchical hybrid planning,” CoRR, vol. abs/1902.01560, 2019. [Online]. Available:
  • [5] F. Borrelli, A. Bemporad, and M. Morari, Predictive control for linear and hybrid systems.   Cambridge University Press, 2017.
  • [6] P. Bouffard, “On-board model predictive control of a quadrotor helicopter: Design, implementation, and experiments,” UC Berkeley, Department of EECS, Tech. Rep., 2012.
  • [7] 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.