Due to their agility, ease of deployment, decreasing costs, and small size, quadrotors are extensively used in robotics and related areas. Their 3-D navigation capabilities are favorable for tasks such as surveillance, target tracking, search & rescue, etc. Many applications use a coordinating swarm of quadrotors for efficiency, where large 3D regions can be simultaneously covered by different quadrotors. Agile, high-velocity quadrotor navigation is especially important in applications involving disaster response, where time is critical for effective rescue operations . Further, for safe implementation, it is important to avoid collisions with the obstacles in the scene as well as other quadrotor agents during the high-velocity maneuvers. Such applications require navigation algorithms that can rapidly adapt to the changes in the environment, account for sensor uncertainty, and scale to a large number of swarm agents.
Many centralized [2, 3, 4, 5] and decentralized [11, 12] planning approaches have been proposed for collision-free navigation of quadrotors in a swarm. Centralized methods scale poorly and are generally not adaptable to dynamic environments but can provide guarantees on trajectory smoothness, optimality, etc. In contrast, decentralized methods are scalable and are adaptable to changes in the environment, but cannot provide such guarantees on the generated trajectories.
Quadrotor dynamics is non-linear due to the sinusoidal relationships required to describe its orientation . Collision avoidance methods that account for such non-linearities either do not run in real-time [3, 4] or use a computationally expensive controller such as N-MPC , thus limiting the available on-board computational power for other applications like perception and communication. In addition, an N-MPC solution is susceptible to converging to local minima . In contrast, other methods [11, 12] reduce the complexity by linearizing the quadrotor dynamics about an equilibrium point (usually about the quadrotor’s hover configuration). This linearized model is valid near the equilibrium point, but its performance decreases during aggressive (high-velocity) maneuvers, where large pitch and roll is required . Further, to account for downwash in the collision avoidance algorithm, the quadrotors are modeled as axis-aligned ellipsoids, disregarding the quadrotor orientation [5, 12], though the downwash region would vary in relation to the quadrotor orientation .
Main Results: We present a novel decentralized realtime approach (DCAD) for navigation of large quadrotor swarms in dynamic environments. Our approach is general and makes no assumptions about the obstacles or the environment. To handle the non-linear dynamics constraints and enable fast maneuvers, we present two novel algorithms:
An on-line collision avoidance algorithm for navigation in dynamic environments that accounts for quadrotor dynamics using flatness-based feedforward linearization and MPC. In contrast to linearizing about the hover point, we can still incorporate the non-linearities in the system using an inverse map.
An algorithm to incorporate downwash into the construction of collision avoidance constraints based on ORCA. In contrast to using axis-aligned ellipsoids to consider downwash, our algorithm incorporates quadrotor attitude by modeling neighboring pair of quadrotors as a combination of a sphere and an oriented ellipsoid.
We combine these algorithms with ORCA constraints for collision avoidance  to compute the local trajectory for each quadrotor in a decentralized manner. In addition, our method incorporates sensing uncertainty using Kalman filtering and provides scalability with respect to the number of agents. In practice, our algorithm takes about 5 ms on average to calculate a new collision-avoiding control input for an agent in the presence of 8 obstacles, showcasing good performance in terms of smoother trajectories and a lower number of collisions during agile high-velocity maneuvers than ORCA, AVO, and LQR-obstacles.
The rest of the paper is organized as follows. In Section II, we summarize state-of-the-art methods in collision avoidance and quadrotor control. In Section III, we introduce our quadrotor model and the notion of feedforward linearization. In Section IV, we present our decentralized collision avoidance algorithm that considers dynamics constraints. In Section V, we describe its implementation and highlight the benefits over prior methods. compared to other state-of-the-art methods.
Ii Previous Work
In this section, we give a brief overview of prior work in quadrotor control and collision avoidance.
Ii-a Quadrotor Control
In prior literature [11, 12, 15, 16], quadrotor dynamics is handled by linearizing the system dynamics about the hover point to facilitate the use of a linear controller such as an LQR  or a linear Model Predictive Control (MPC) . These methods facilitate reduced computational overhead compared to non-linear controllers, thereby allowing more on-board processing power for other applications like perception or communication. However, aggressive (high-velocity, high-acceleration) maneuvers require large attitude deviations from the hover point, and the performance is reduced when hover-point linearization is used . Kamel et al.  and Zhu et al.  present a non-linear Model Predictive Control-based (NMPC-based) collision avoidance method, that models the full non-linear quadrotor dynamics. The NMPC-based algorithm  takes about 16ms to compute a collision avoiding control input for a quadrotor with 6 neighboring obstacles. Flatness-based feedforward controller for trajectory tracking is proposed in [17, 18]. Unlike the methods that linearize about the hover point, these feedforward methods do not make small angle assumptions about the roll and pitch of the quadrotors. Controllers based on feedforward linearization and flatness have shown better performance in terms of computation time and, unlike NMPC, they are not sensitive to the choice of the initial trajectory or susceptible to local minima convergence issues . Because of these advantages, we use flatness-based feedforward linearization to model the quadrotor dynamics in our algorithm.
Ii-B Collision Avoidance
Prior research can be grouped into two broad areas, centralized trajectory generation and reactive collision avoidance.
Ii-B1 Centralized Trajectory Generation
Augugliaro et al.  and Chen et al.  propose a centralized algorithm that relies on solving a sequential convex program to generate collision-free trajectories for a swarm. Kushleyev et al.  present a method that generates collision-free trajectories for a swarm of quadrotors by solving a Mixed Integer Quadratic Program (MIQP). Due to the high computational overhead and centralized nature of MIQP, the algorithm scales exponentially with the number of agents. Preiss et al.  reduce the computation cost by decomposing the collision-free trajectory generation problem into a discrete collision-free path planner and a trajectory optimizer. Hamer et al.  present a parallel formulation for fast generation of collision-free trajectories in multi-agent scenarios. Centralized trajectory generation can guarantee optimality in terms of minimum path length, time to reach the goal, or fuel cost. However, these methods can be limited in terms of real-world urban scenarios due to the dynamic nature of the environment, a sudden change in mission, or covering very large areas.
Ii-B2 Reactive Collision Avoidance
Velocity Obstacle (VO) -based methods such as RVO  provide decentralized collision avoidance by locally altering the trajectories for agents with single-integrator dynamics. Constraints in RVO  were linearly approximated in ORCA  and extended to double integrator dynamics in AVO . Rufli et al.  extend RVO to generate order continuous trajectories.
Berg et al.  and Bareiss et al.  extend VO to control obstacles for agents with linear dynamics. Moreover, they demonstrate the algorithm for a large swarm of quadrotors by linearizing the quadrotor dynamics about the hover configuration. This type of linearized model is valid only for small roll and pitch angles about the hover configuration  and not for large angular deviation as during high-velocity flights. Further, control obstacles may also result in non-convex solution space and the new velocity is generally computed from a convex subset of this solution space. Cheng et al.  avoid this convex approximation by using an MPC-based method for linear systems. Morgan et al.  present a decentralized algorithm based on sequential convex programming (SCP). Due to its higher computational complexity, SCP is not favorable for fast online computation. Reactive methods are suitable for dynamic environments because they only use the local position and velocity data for the neighboring agents and obstacles (i.e. state information). However, these reactive methods cannot provide any global guarantees.
In dense scenarios, multiple quadrotors may have to maneuver in close proximity to each other. Downwash causes a region of instability below the rotors of a quadrotor and any other quadrotor entering this region may lose control or result in unstable behavior . In prior literature, the downwash effect is considered in collision avoidance by modeling the agents as axis-aligned ellipsoids [12, 5] or cylinders [27, 28], which encourages a larger separation along the Z-axis. Quadrotor roll and pitch affect the downwash region, and the ellipsoid or cylinder must be rotated with respect to the quadrotor orientation for accurate modeling . For simplicity, the quadrotors are modeled as axis-aligned ellipsoids and the radius of the ellipsoid/cylinder is increased by a safety threshold to account for roll and pitch  .
In this section, we introduce our assumptions, notation, and provide an overview of the concepts of differential flatness and feedforward linearization. We describe the quadrotor model and the non-linear transformation used in our collision avoidance algorithm (Section IV).
Iii-a Symbols and Notation
The symbols and notations used in this paper are defined in Table I.
World Frame defined by unit vectors, , and along the standard X, Y and Z axes
|Body Frame attached to the center of mass, defined by the axes , , and|
|3-D position of the center of mass of the quadrotor given by|
|Velocity of the quadrotor given by|
|Acceleration and jerk of the quadrotor given by second and third derivative of position respectively|
|Roll, pitch and yaw of the quadrotor.|
|Rotation matrix of quadrotor body frame () w.r.t world frame ()|
|Net thrust in body fixed coordinate frame|
|Mass of quadrotor|
|Angular velocity in body fixed coordinate frame given by|
|Quadrotor State space|
|Control input to the quadrotor|
|Input to the inner loop controller|
|Velocity Obstacle for agent A induced by agent B over a time horizon|
|Collision avoiding velocity set for agent A induced by agent B over a time horizon|
Iii-B Differential Flatness
A nonlinear system given by is differentially flat if there exists a set (flat output) whose elements, expressed as , are differentially independent; and their derivatives can be used to construct the system state space and control inputs  .
The quadrotor model we consider is described below and, from , we know that the quadrotor dynamics is differentially flat for the flat output set given by .
Quadrotor Model: The state space and the control input for the quadrotor are given by
The quadrotor dynamics can be represented by the following set of equations:
Iii-C Feedforward Linearization
Hagenmeyer et al.  introduce the notion of exact feedforward linearization based on differential flatness. Given a non-linear, differentially flat system and a sufficiently smooth trajectory in the flat output , the system can be represented as a linear flat model given as
Here, is the linear multi-variable Brunovsky form, represented as
and represents the new control input in the flat space. The desired flat state ) and flat input () can be computed from . In Equation (8), is the maximum order of differentiation of required to describe .
Equation (9) represents the non-linear transformation required to obtain from the flat input. We observe from Etal et al.  that we require the third derivative of position (r) and the first derivative of yaw () to express the state and the control input. Hence, we choose the flat state space and the flat input as
In our method, flatness-based feedforward linearization provides the benefit of reducing the computation overload by linearizing the quadrotor dynamics to linear flat model while still allowing us to handle the non-linearities using a non-linear map. We use a flatness-based MPC that is similar to the one used in  to generate a feasible collision-free trajectory. The non-linear map (Eqn. 13) is described below:
Non-linear Map: The control input u can be represented in terms of and its derivative using the following relation,
We assume the presence of an inner-loop attitude controller that can track the attitude values and takes as input . The inner loop control dynamics is given by
Iii-D Assumptions on Swarm Agents
We assume that each agent has access to a reference trajectory in flat output space that considers static obstacles in the environment. The reference trajectory is assumed to be sufficiently smooth and can be generated prior to flight using any trajectory generation method. In our case, we assume the yaw orientation of the quadrotor is not important and we take in the reference trajectory. To generate the collision avoidance constraint, we assume the position, velocity, and orientation of each neighboring quadrotor/obstacle is available to each swarm agent at any given time, with some level of uncertainty. Our collision avoidance scheme is based on ORCA  and  we assume that each agent and dynamic obstacle travels at a constant velocity during the prediction horizon of the MPC.
Iv Collision Avoidance and Trajectory Computation
In this section, we present our decentralized collision avoidance algorithm for the quadrotor swarm. In our algorithm, the quadrotor dynamics are handled in the flat-MPC, while ORCA planes are used as state constraints to generate local, collision-free, downwash-aware trajectories. The high-level overview of our algorithm is given in Fig. 1 and the details are given below.
Model Predictive Control (MPC) is a receding horizon planner that computes a control input based on the system dynamics, input and state constraint, by minimizing an objective function over a prediction horizon. Here, prediction horizon (N) is a finite time horizon in the future [t, t+N]. In our method, we linearize the quadrotor model using feedforward linearization, as mentioned in Section III, to facilitate the use of a linear MPC. The linearized flat state space and the flat input are given by
At each time step, the MPC uses the linear flat model (z) to plan the state trajectories in the flat space and to compute a control input in the flat input space . The optimization problem minimizes the tracking error and flat input () while satisfying the velocity constraints by ORCA and constraints on jerk. The optimization problem is given by
Here ‘’ is the number of prediction steps, is the reference trajectory, and the matrices Q and R are weights that prioritize between minimizing the trajectory tracking error and the control input. represents the flat state of the agents and matrix is such that gives the position, velocity and orientation of the agent at time step k. is the flat state of the neighboring agent/obstacle at time step k. During collision avoidance, the quadrotor may have to deviate from its reference trajectory to avoid collision. In this case, the initial state of the quadrotor agent may deviate from the reference trajectory, the state feedback is used to satisfy the initial condition requirement given by (10). Equation represents the state feedback. The ORCA velocity constraints between the agent and its neighbors are represented by . The constraints on the jerk are represented by , and are computed as follows.
Constraints on Jerk: Assume the quadrotor can reach a maximum and minimum roll and pitch angle given by (), and (). Since the MPC computes a control input in flat input , the constraint on roll and pitch need to be transformed to the flat space to prevent quadrotors from flipping over during collision avoidance. At any timestep, the maximum jerk that can be applied to the system is dependent on the current state of the quadrotor, including maximum and minimum limits on roll and pitch.
A maximum and minimum value for the roll rate () and pitch rate () can be computed using , Eqn. (14) and (15). To compute the limits on jerk () at a given timestep, we re-write Eqn. (13) as follows. The minimum jerk can be computed as
Similarly, we can compute by maximizing the above expression. The computed and values are used as maximum and minimum jerk constraints, respectively, over the entire prediction horizon.
MPC Output: As a result of the optimization, the MPC generates the predicted state trajectory and computed control input for each time step in the time horizon. The values for the state and the control input () are passed to the non-linear map to compute the control input for the inner loop attitude controller () using the non-linear map (13).
Iv-B Collision Avoidance
ORCA generates linear collision avoidance constraints, which result in a convex set of feasible velocity . In our method, we incorporate ORCA velocity constraints as state constraints in our MPC formulation.
Iv-B1 State Constraints
At a time t = 0, ORCA constraints can be computed for an agent considering the current position and current velocity of all its neighboring agents and obstacles. For subsequent timesteps , we compute ORCA planes by predicting the future position and velocity of the agents and neighbours using their current state information. Assume that we are to compute the ORCA constraints for an agent A. The position and velocity of agent A is obtained from the state trajectory predicted by the MPC. This is given by
In contrast, for neighboring agents we propagate their current position using a simple motion model given by
We assume velocity for the neighboring agents and obstacles to remain constant over the prediction horizon. State constraints by ORCA now pertain to a particular time step in the prediction horizon. The ORCA planes consider downwash and uncertainty in the sensor reading. The modifications to ORCA for downwash is presented below.
In dense scenarios, multiple quadrotors may have to maneuver in close proximity to each other. Downwash causes a region of instability below the rotors of a quadrotor and any other quadrotor entering this region may lose control and face instability. To ensure safe flights in close proximity, we must account for downwash in our collision avoidance method.
Since we do not make small angle assumptions regarding the attitude angle, assuming a fixed orientation in the form of axis-aligned ellipsoids is not ideal. Hence, we rotate the ellipsoidal bounding region of the agent according to the quadrotor attitude when computing the VO. Two issues require proper consideration in this approach.
When two quadrotors are in proximity, only the quadrotor (and its orientation) at the higher altitude influences the downwash region. The quadrotor at the lower altitude, in spite of its orientation, may face instability when it enters the downwash region of the quadrotor above it.
ORCA requires Minkowski sum construction and closest point computation for constructing the ORCA half-planes. Modelling the quadrotors as oriented ellipsoids increases the complexity of both the computation. Since we are required to recompute the ORCA plane over the prediction horizon as discussed in Section IV-B1, we need a fast method to perform this computation.
We solve the issue by modelling only one of the two quadrotors as ellipsoids while constructing the VO for the pair of agents. To maintain the symmetry of and about the origin, the decision regarding which quadrotor is modelled as an ellipsoid must be common for any pair of quadrotors.
When an agent constructs the VO based on its neighbors, we choose to model the quadrotor at the higher altitude (at the current timestep) as an ellipsoid, while the other is modelled as a sphere. Also, the orientation of the agent at the higher altitude is used to rotate the bounding ellipsoid for the construction of the Minkowski sum. This results in the Minkowski sum being computed between a oriented ellipsoid and a sphere. Given two agent ’i’ and ’j’, assume agent ’j’ is at a higher altitude at the current timestep. Then the Minkowski sum is given by
In addition, since the choice of agent at a higher altitude is unique for any pair of agents, this ensures that and are symmetric about the origin.
Iv-C Modeling Uncertainty
ORCA assumes perfect knowledge of the sizes, positions and velocities of all the obstacles around them. This assumption is idealistic and makes implementing ORCA on real quadrotors impractical. To account for a quadrotor’s imperfect sensing, we use a Kalman filter to compute the mean and covariance of the position and velocity of all obstacles around it. Eigenvalues of the covariance matrix represent the spread of the data, or the level of uncertainty in the direction of the eigenvectors. Therefore, we use the maximum eigenvalue of an entity’s position covariance matrix to enlarge its bounding volume from the perspective of the quadrotor that senses it. If the sensed entity is another agent, we increase the length of the axes of its bounding ellipsoid and, if the entity is a dynamic obstacle, we increase the radius of its bounding sphere.This is similar to the method used in . The VO is constructed using this bounding sphere and is later augmented by the velocity covariance matrix. Although this formulation makes the collision avoidance conservative, we observe that it works well even with tens of dynamic obstacles. Fig. 2 shows a scenario with two agents and the increase in the size of an agent’s bounding ellipsoid as perceived by another agent. This is a simple approach to account for uncertainty, which could be extended to more sophisticated methods, as shown in  or .
In this section we highlight our implementation and the experimental results and describe the benefits of our method over prior methods.
V-a Experimental Setup
Our algorithm is implemented on an Intel Xeon w-2123 octacore processor ( GHz) with GB memory and GeForce GTX GPU. We utilize the PX4 Software In The Loop framework, ROS Kinetic, and Gazebo for our simulations. The RVO-3D library is utilized to compute the ORCA collision avoidance constraints. The Optimal Control Problem (OCP) is solved using IPOPT Library with a prediction horizon of 10 steps and a timestep of 0.1 seconds. We consider a sensing region of 6m and a time horizon of 5 seconds for ORCA (including the one used in our formulation), AVO, and LQR-obstacle. The parameter for AVO is set as as suggested in .
V-B Performance Evaluation
We compare the performance of our algorithm with ORCA, AVO and LQR-Obstacles in terms of smoothness of trajectories, variation in velocity during collision avoidance, and proportion of collisions while maneuvering trajectories with high-velocity. In addition, we show the separation between agents to demonstrate the downwash performance.
V-B1 Generated Trajectory
We compare the smoothness of the trajectories followed by 6 agents while using our method, ORCA, and AVO. The agents are initially in a circular formation, exchanging their positions with diagonally opposite agents. The maximum velocity for the agents in the above scenario was limited to 4 m/s. Figure 2(a), 2(b), and 2(c) illustrate the trajectories followed by the 6 agents using our method, ORCA and AVO. We observe that our method produces smoother trajectories than ORCA.
V-B2 Variation in Velocity
To show our method results in smoother trajectories than AVO, we plot the velocity components (along X, Y, and Z axes) of an agent while performing collision avoidance in the scenarios discussed in the previous subsection. Figure 4 graphs the variation in velocity of one agent while using our method, ORCA, and AVO. It can be observed that the variation velocity is much smoother for the agent using our method compared to ORCA or AVO.
V-B3 Performance During Agile Maneuvers
Table II summarizes the performance of the various algorithms while following high velocity time-parameterized trajectories. The trajectories provided are straight lines, but the quadrotors accelerate to reach their highest velocity in the midpoint of the line before decelerating. We define an episode as when all 8 quadrotors exchange their positions with the agents diagonally opposite them. We report the number of episodes (out of 250 episodes) that resulted in one or more of the agents colliding. We observe that our method performs better when following such trajectories.
|Collisions while tracking a reference trajectory|
|Average Velocity||Episodes with Observed Collisions (out of 250 Episodes)|
|ORCA||AVO||DCAD (Our Method)|
In previous literature, ORCA and AVO are generally tested in scenarios where only the goal position is provide, this is in contrast to using a time parameterized trajectory as in our previous result. Hence, we also tabulate the results when only a goal position is provided in Table III. The scenarios is same as earlier, the agents exchange positions with the diagonally opposite neighbour.
|Collisions while moving to a goal position|
|Average Velocity||Episodes with Observed Collisions (out of 250 Episodes)|
|ORCA||AVO||DCAD (Our Method)|
Comparing with both cases, we can observe that our method performs better in high velocity flight in scenarios with small sensing distance (6m in our case).
In addition, we observe that our collision avoidance performs well in aggressive trajectories such as a lamniscate (shown in figure 5).
V-B4 Scalability Comparison
The Figure 6 illustrates the computation time of our algorithm for one agent considering 1 to 50 obstacles in the environment. We observe that considering only the closest 10 obstacles provides good performance in most cases, an on an average this take less than 6ms.
V-C Benefits Over Prior Methods
In comparison with the centralized methods shown in  and , our method proves to be superior in handling dynamic scene changes and provides scalability to large numbers of agent due to its decentralized and reactive nature. In addition, our method is also computationally inexpensive compared to NMPC methods such as , enabling more computation power to be available to other applications like perception and/or communication.
Vi Conclusion, Limitations, and Future Work
In this paper, we present a decentralized collision avoidance method for a quadrotor swarm. Our method uses differential flatness and feed-forward linearization to simplify the quadrotor dynamics and uses a linear MPC to generate smooth, collision-free, downwash-conscious local trajectories.
We observe that our method results in smoother trajectories and smoother velocity variations. Further, our method performs considerably better than OCRA or AVO when following high-velocity trajectories. We observe that our method requires 5 ms for each agent to compute a control input in the presence of 8 nearest obstacles.
In this paper, we include a conservative method that accounts for sensor uncertainty by augmenting the bounding volume of agents and VO based on the eigenvalue of the state uncertainty. Our next step is to provide tighter bounds on the sensor uncertainty to improve the performance with noisy sensing. Further, we currently assume the position and velocity data in the case of dynamic obstacles (e.g., birds) are available through some form of sensing. It would be interesting and useful to develop robust methods with integrated sensing, tracking and planning capabilities. In addition, we plan on physically implementing our algorithm in a quadrotor system to measure its performance.
-  Berg, Jur P. van den, Stephen J. Guy, Ming C. Lin and Dinesh Manocha. “Reciprocal n-Body Collision Avoidance.” ISRR (2009).
-  A. Kushleyev, D. Mellinger, C. Powers, and V. Kumar, “Towards a swarm of agile micro quadrotors,” Autonomous Robots, vol. 35, no. 4, pp. 287–300, 2013.
-  F. Augugliaro, A. P. Schoellig, and R. D’Andrea, “Generation of collision-free trajectories for a quadrocopter fleet: A sequential convex programming approach,” in Intelligent Robots and Systems (IROS), 2012 IEEE/RSJ International Conference on. IEEE, 2012, pp. 1917– 1922.
-  Y. Chen, M. Cutler and J. P. How, ”Decoupled multiagent path planning via incremental sequential convex programming,” 2015 IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, 2015, pp. 5954-5961.
-  J. A. Preiss, W. Hönig, N. Ayanian and G. S. Sukhatme, ”Downwash-aware trajectory planning for large quadrotor teams,” 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, 2017, pp. 250-257.
-  M. Hamer, L. Widmer and R. D’andrea, ”Fast Generation of Collision-Free Trajectories for Robot Swarms Using GPU Acceleration,” in IEEE Access, vol. 7, pp. 6679-6690, 2019.
-  Fiorini, P., & Shiller, Z. (1998). Motion Planning in Dynamic Environments Using Velocity Obstacles. The International Journal of Robotics Research, 17(7), 760–772.
-  J. van den Berg, Ming Lin and D. Manocha, ”Reciprocal Velocity Obstacles for real-time multi-agent navigation,” 2008 IEEE International Conference on Robotics and Automation, Pasadena, CA, 2008, pp. 1928-1935.
-  J. van den Berg, J. Snape, S. J. Guy and D. Manocha, ”Reciprocal collision avoidance with acceleration-velocity obstacles,” 2011 IEEE International Conference on Robotics and Automation, Shanghai, 2011, pp. 3475-3482.
-  M. Rufli, J. Alonso-Mora and R. Siegwart, ”Reciprocal Collision Avoidance With Motion Continuity Constraints,” in IEEE Transactions on Robotics, vol. 29, no. 4, pp. 899-912, Aug. 2013.
-  J. van den Berg, D. Wilkie, S. J. Guy, M. Niethammer and D. Manocha, ”LQG-obstacles: Feedback control with collision avoidance for mobile robots with motion and sensing uncertainty,” 2012 IEEE International Conference on Robotics and Automation, Saint Paul, MN, 2012, pp. 346-353.
-  D. Bareiss and J. van den Berg, ”Reciprocal collision avoidance for robots with linear dynamics using LQR-Obstacles,” 2013 IEEE International Conference on Robotics and Automation, Karlsruhe, 2013, pp. 3847-3853.
-  H. Cheng, Q. Zhu, Z. Liu, T. Xu and L. Lin, ”Decentralized navigation of multiple agents based on ORCA and model predictive control,” 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, 2017, pp. 3446-3451.
-  Morgan, Daniel & Chung, Soon-Jo & Hadaegh, Fred. (2013). Decentralized Model Predictive Control of Swarms of Spacecraft Using Sequential Convex Programming.
-  Mellinger, D., Michael, N., & Kumar, V. (2012). Trajectory generation and control for precise aggressive maneuvers with quadrotors. The International Journal of Robotics Research, 31(5), 664–674. https://doi.org/10.1177/0278364911434236
-  G. Hoffmann, S. Waslander, and C. Tomlin, “Quadrotor helicopter trajectory tracking control,” in AIAA Guidance, Navigation and Control Conference and Exhibit, Honolulu, Hawaii, Apr. 2008.
-  J. Ferrin, R. Leishman, R. Beard and T. McLain, ”Differential flatness based control of a rotorcraft for aggressive maneuvers,” 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Francisco, CA, 2011, pp. 2688-2693.
-  M. Greeff and A. P. Schoellig, ”Flatness-Based Model Predictive Control for Quadrotor Trajectory Tracking,” 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, 2018, pp. 6740-6745.
-  J. Snape, J. v. d. Berg, S. J. Guy and D. Manocha, ”The Hybrid Reciprocal Velocity Obstacle,” in IEEE Transactions on Robotics, vol. 27, no. 4, pp. 696-706, Aug. 2011. doi: 10.1109/TRO.2011.2120810
-  B. Gopalakrishnan, A. K. Singh, M. Kaushik, K. M. Krishna and D. Manocha, ”PRVO: Probabilistic Reciprocal Velocity Obstacle for multi robot navigation under uncertainty,” 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, 2017, pp. 1089-1096.
-  H. Zhu and J. Alonso-Mora, ”Chance-Constrained Collision Avoidance for MAVs in Dynamic Environments,” in IEEE Robotics and Automation Letters, vol. 4, no. 2, pp. 776-783, April 2019.
-  M. Kamel, J. Alonso-Mora, R. Siegwart, and J. Nieto, “Robust collision avoidance for multiple micro aerial vehicles using nonlinear model predictive control,” in Intelligent Robots and Systems (IROS), IEEE/RSJ International Conference on, 2017, pp. 236–243.
-  MICHEL FLIESS, JEAN LÉVINE, PHILIPPE MARTIN & PIERRE ROUCHON (1995) Flatness and defect of non-linear systems: introductory theory and examples, International Journal of Control, 61:6, 1327-1361, DOI: 10.1080/00207179508921959
-  Veit Hagenmeyer & Emmanuel Delaleau (2003) Exact feedforward linearization based on differential flatness, International Journal of Control, 76:6, 537-556, DOI: 10.1080/0020717031000089570
-  D. Mellinger and V. Kumar, ”Minimum snap trajectory generation and control for quadrotors,” 2011 IEEE International Conference on Robotics and Automation, Shanghai, 2011, pp. 2520-2525.
-  Greeff, Melissa & Schoellig, Angela. (2017). Model Predictive Path-Following for Constrained Differentially Flat Systems.
-  Xu, Y., Lai, S., Li, J. et al. J Intell Robot Syst (2019) 94: 503. https://doi.org/10.1007/s10846-018-0813-9
-  Ferrera, E., Alcántara, A., Capitán, J., Castaño, Á.R., Marrón, P.J., & Ollero, A. (2018). Decentralized 3D Collision Avoidance for Multiple UAVs in Outdoor Environments. Sensors.
-  H. Voos, ”Nonlinear control of a quadrotor micro-UAV using feedback-linearization,” 2009 IEEE International Conference on Mechatronics, Malaga, 2009, pp. 1-6. doi: 10.1109/ICMECH.2009.4957154
-  E. Reyes-Valeria, R. Enriquez-Caldera, S. Camacho-Lara and J. Guichard, ”LQR control for a quadrotor using unit quaternions: Modeling and simulation,” CONIELECOMP 2013, 23rd International Conference on Electronics, Communications and Computing, Cholula, 2013, pp. 172-178. doi: 10.1109/CONIELECOMP.2013.6525781
-  M. Bangura and R. Mahony, ìReal-time model predictive control forquadrotors,îIFAC Proceedings Volumes, vol. 47, no. 3, pp 11773-11780, 2014
-  Kamel, Mina Samir & Burri, Michael & Siegwart, Roland. (2017). Linear vs Nonlinear MPC for Trajectory Tracking Applied to Rotary Wing Micro Aerial Vehicles. IFAC-PapersOnLine. 50. 10.1016/j.ifacol.2017.08.849.
-  T. Engelhardt, T. Konrad, B. Schäfer and D. Abel, ”Flatness-based control for a quadrotor camera helicopter using model predictive control trajectory generation,” 2016 24th Mediterranean Conference on Control and Automation (MED), Athens, 2016, pp. 852-859.
-  Falanga, Davide & Foehn, Philipp & Scaramuzza, Davide & Kuppuswamy, Naveen & Tedrake, Russ. (2017). Fast Trajectory Optimization for Agile Quadrotor Maneuvers with a Cable-Suspended Payload. 10.15607/RSS.2017.XIII.030.
-  E. Tal and S. Karaman, ”Accurate Tracking of Aggressive Quadrotor Trajectories Using Incremental Nonlinear Dynamic Inversion and Differential Flatness,” 2018 IEEE Conference on Decision and Control (CDC), Miami Beach, FL, 2018, pp. 4282-4288. doi: 10.1109/CDC.2018.8619621