  A tracking controller for unmanned aerial vehicles (UAVs) is developed to
track moving targets undergoing unknown translational and rotational motions.
The main challenges are to control both the relative positions and angles
between the target and the UAVs to within desired values, and to guarantee that
the generated control inputs to the UAVs are feasible (i.e., within their
motion capabilities). Moreover, the UAVs are controlled to ensure that the
target always remains within the fields of view of their onboard cameras. To
the best of our knowledge, this is the first work to apply multiple UAVs to
cooperatively track a dynamic target while ensuring that the UAVs remain
connected and that both occlusion and collisions are avoided. To achieve these
control objectives, a designed controller solved based on the aforementioned
tracking controller using quadratic programming can generate minimally invasive
control actions to achieve occlusion avoidance and collision avoidance.
Furthermore, control barrier functions (CBFs) with a distributed design are
developed in order to reduce the amount of inter-UAV communication. Simulations
were performed to assess the efficacy and performance of the developed
CBF-based controller for the multi-UAV system in tracking a target.
