Micro Aerial Vehicles (MAVs) are small multi-rotor helicopters that are able to freely fly in constrained and complex environments. It has been shown in  that the MAV dynamics are differential flat which implies that the control inputs can be computed as functions of the flat outputs and their derivatives. Many works [1, 2, 3, 4] show precise control of MAVs through trajectories represented as time-parameterized piecewise polynomials with respect to these flat outputs. However, generating those trajectories is a challenging task considering that they have to be dynamically feasible, collision-free, and optimal. Moreover, navigation of the MAV in unknown environments requires fast re-planning for avoiding new obstacles. Some recent works [5, 6, 7]
try to apply optimization algorithms that satisfy these requirements, however, these approaches require heuristic based initial guess to set up the optimization problem and are not complete. In addition, in more complex situations where motion uncertainty, limitedfield-of-view (FOV) and moving obstacles exist, it is much harder to find the optimal result using the optimization-based approaches.
As shown in our previous work 
, we formulate the MAV planning problem as an optimization problem which is solvable through search-based methods using motion primitives. The curse of dimensionality is one of the major problems of search-based methods that prevent their use for high order dynamical systems. However, through thedifferential flatness and discretization in control space (instead of state space), we are able to achieve fast computation in an induced lattice space and solve for trajectories that are dynamically feasible, collision-free, resolution complete, and optimal.  shows a variation of this approach by modifying the constraint function for planning in SE(3). In this paper, we explore its potential to solve more practical planning problems. We mainly consider the following three challenges in real-world navigation tasks:
Planning with Motion Uncertainty: The robot is not able to perfectly track the nominal trajectory in the presence of disturbances. We consider how to plan a safer trajectory that is less likely to crash the robot in an obstacle-cluttered environment.
Planning with Limited FOV
: Vision-based state estimation and the limited FOV of sensors to detect obstacles require the robot to travel with constraints on the yaw angle. We propose a way to find the desired yaw profile along the trajectory that obeys this constraint.
Planning in Dynamic Environments: It is PSPACE-hard to plan trajectories taking into account moving obstacles . We consider a tractable approach to solving this problem with polynomial time complexity and further adopt it to solve the multi-robot planning problem.
Our contribution in this work is to provide solutions to these problems using the search-based planning paradigm. In the following sections, we will discuss each of the above problems and demonstrate our solutions with results. The corresponding code can be found in the planning library at https://github.com/sikang/mpl_ros.
Ii General Problem Formulation
Before introducing specific planning problems, we describe the general form of planning an optimal trajectory using search-based method. Similar to , we select flat outputs of the MAV system as . Let be the state of the MAV system which includes its position in and its derivatives (velocity, acceleration, ). Denote as the free region of the state space that consists of two parts: collision-free positions and dynamical constraints , maxim um velocity , acceleration , and higher order derivatives along each axis of . Therefore,
The obstacle regions and dynamically infeasible space is denoted as .
The expression for the dynamical system is obtained as
and the control input is .
A piecewise polynomial trajectory with segments as shown in Figure 1 is defined as:
Each segment is derived as the polynomial generated by applying the control input on the state for a duration as per (2).
We define the smoothness or effort of a trajectory its -th derivative as the square -norm of the control input:
where correspond to the control input for -th segment. An optimal trajectory (not guaranteed to be unique) that respects the dynamical and collision constraints, and is minimum-time and smooth can be obtained from:
Given an initial state and a goal region , find a polynomial trajectory such that:
where the parameter determines the relative importance of the trajectory duration versus its smoothness .
As shown in , II can be converted into a search problem using motion primitives that are generated from a finite set of constant control inputs . In the following sections, we use a graph search algorithm such as A* to compute an optimal solution for II. Details on motion primitive construction and graph search are omitted in this article due to space limitations but can be found in .
Iii Planning with Motion Uncertainty
Existing work in trajectory planning assumes the availability of high control authority allowing robots to perfectly track the generated trajectories. However, this assumption is impractical in the real world since unpredictable environmental factors such as wind, air drag, wall effects can easily disturb the robot from the nominal trajectory. Thus, even though a nominal trajectory is in free space, it can easily lead to a collision when the robot gets close to obstacles. To reduce this risk, a trajectory that stays away from obstacles is desired. Traditionally, this is worked around by inflating the obstacle by a radius that is much larger than the actual robot size. However, this over-inflation strategy is not a complete solution for motion planning in obstacle-cluttered environments since it is prone to block small gaps such as doors, windows, and narrow corridors.
The reachable set (funnel)  is used to model motion uncertainty for a robot following a time-varying trajectory. Assuming bounded and time-invariant disturbances leads to bounded funnels. It is straightforward to show that the funnel of a linear system, as in (2), controlled by a PD-controller  is bounded by a certain radius with respect to the control gains. However, the planning strategy in  treats the motion uncertainty as a hard constraint for collision checking which is an over conservative strategy that discards all the trajectories close to obstacles. Besides, it is computationally expensive to search using funnels.
Alternatively, Artificial Potential Fields (APFs) are used to plan paths that are away from obstacles efficiently [13, 14, 15]. APFs have been used to model collision costs in trajectory generation through line integrals [16, 5, 6, 17] in which the safe trajectory is refined from an initial nominal trajectory through gradient descent. However, this gradient-based approach strongly relies on the initial guess of time allocation and the sampling of end derivatives for fast convergence and it ignores the dynamical constraints during the re-optimization. Moreover, the result is easily trapped in undesired local minima. Thus, it is not an appropriate method to solve the safe planning problem in complex environments.
In this section, we propose a novel approach that models the motion uncertainty as a soft constraint and plans for trajectories that are as safe as possible with respect to the collision cost through the line integral of the APF. The resulting trajectory is constrained to be within a tunnel from the initial trajectory, such that it is suitable for planning in unknown environments. The proposed approach does not require the Jacobian and Hessian of the cost functions and hence is computationally efficient.
Iii-a Problem Formulation
We call the trajectory derived from solving II that ignores the collision cost as the nominal trajectory . We treat trajectory planning with motion uncertainty as a problem of finding a locally optimal trajectory around the nominal that takes into account the collision cost. It can be formulated as a variation of II where we add a collision cost in the objective function and a search region (tunnel) around in the constraints: Given an initial state , a goal region and a search region around the nominal trajectory , find a polynomial trajectory such that:
where the weights determines the relative importance of the trajectory duration and collision cost versus its smoothness .
In this section, we show that III-A can be converted into a search problem and solved using motion primitives.
Iii-A1 Collision Cost
We define the collision cost in III-A as the line integral:
where is the potential value of position that is defined as:
where is the distance of position from the the closest obstacle. In addition, for positions that are away from obstacles more than a distance , we consider their collision cost to be negligible. Thus, the potential function should be a non-negative and monotonically decreasing function in domain and equal to zero when . One choice for is an polynomial function with order :
The analytic expression of the line integral in (7) is hard to compute, instead we sample the trajectory at points with uniform time step for approximation:
where and are corresponding position and velocity at time . This approximation can be easily calculated when the obstacle and potential field are represented as a grid as shown in 2.
Iii-A2 Tunnel Constraint
A tunnel is a configuration space around the nominal trajectory that is used to bound the perturbation. Let be the disk with radius , the tunnel is the Minkowski sum of and as:
Note that could overlap with obstacles. Thus, we enforce the valid state to be inside the intersection of and free space to guarantee safety. When , III-A is equivalent to computing a globally optimal trajectory.
Given the set of motion primitives and the induced space discretization, we can reformulate III-A as a graph-search problem similar to  which is solvable through dynamic programming algorithms such as Dijkstra and A*. For each primitive , we sample points to calculate its collision cost according to (10). In the grid map, the should be dense enough to cover all the cells that traverses. One choice of automatically selecting is
where is the grid resolution.
Iii-C Experimental Results
In 3, a quadrotor tries to reach the goal position using the proposed planner in an office environment. The environment is shown as a 2D colored schematic, but the robot initially has no information about the environment. Therefore, it needs to constantly re-plan at certain frequency to avoid new obstacles that appear in the updated map. 2(a) shows the results using traditional method in  that doesn’t consider collision costs, in which the quadrotor occasionally touches the wall inside the circled region. 2(b) shows the results from using the proposed method, in which the robot stays away from walls and safely goes in and out of rooms through the middle of open doors. The re-planning time using our method is fast in this 2D scenario, the run time of which is below for a 2 order dynamic model.
Iv Planning with Limited FOV
Due to the fact that the yaw of a MAV system does not affect the system dynamics, this flat output is frequently ignored in existing planning works. Except when using omni-directional sensors, a fully autonomous MAV system is usually directional. In order to guarantee safety while navigating in an unknown environment, the MAV should always move in the direction that can be seen by a range sensor such as RGB-D or time-of-flight (TOF) camera which has limited FOV. Thus, the yaw should change as the robot moves. Specifically, the desired is related to the velocity direction: . This constraint is non-linear and couples the flat outputs , , and , thus it is hard to model it in the optimization framework as proposed in  and . In this section, we develop a search-based method that resolves this constraint properly by splitting it into two parts: a soft constraint that minimizes the difference between and and a hard constraint that enforces the moving direction to be inside the FOV of the range sensor.
Iv-a Problem Formulation
We define an additional cost term representing a soft FOV constraint as the integral of the square of angular difference between velocity direction and desired yaw:
while the hard constraint can be formulated by the absolute angular difference and the sensor’s horizontal FOV :
To add these constraints, we modify II as follows: Given an initial state , a goal region and a sensor FOV , find a polynomial trajectory such that:
where the weights determine the relative importance of the trajectory duration , the yaw cost , and its smoothness .
Since both of the additional constraints contain which is an function, it is difficult to get their analytic expressions. We use a sampling method similar to the one in (10) to approximate the FOV constraint. The control for yaw can be applied in a different control space compared to the other flat outputs. To be specific, we set as the angular velocity assuming the robot does not need to aggressively change the heading.
Figure 4 shows the planning results from solving IV-A with different parameters : in (a), we ignore the FOV constraint; in (b), we ignore the hard FOV constraint by setting ; in (c), we ignore the soft FOV constraint on ; and in (d), we consider both soft and hard constraints. Obviously, trajectories in (a) and (b) are not safe to follow since the robot is not always moving in the direction that the obstacle is visible within the sensor’s FOV. The trajectory in (d) is desirable as its yaw is always following the velocity direction. Besides, even though the shapes of all the trajectories in Figure 4 look the same, the trajectories in (c) and (d) have longer duration since the robot needs to rotate to align the yaw along the trajectory at the beginning.
Iv-C Experimental Results
The solution to this modified problem satisfies the requirements of directional movement and safety. Similar to subsection III-C, we use this planner to generate and re-plan trajectories from start to goal in both 2D and 3D environments (Figure 5). The environment is initially unknown, and the robot uses its onboard depth sensor with FOV to detect obstacles. To be able to plan trajectories reaching the goal, we need to treat unexplored space as free space. This greedy assumption introduces the risk that the trajectory could potentially crash the robot into hidden obstacles that are outside of the sensor’s FOV. Our planner is able to generate yaw movements along the trajectory such that the robot is always moving into the region in the sensor’s FOV. Therefore, the robot is able to avoid hitting hidden obstacles and reach the goal safely.
V Planning in Dynamic Environments
All planning problems addressed so far involved a static map. Ensuring completeness in environments with mobile obstacles is much harder . Existing planning methods based on fast re-planning including [19, 20] or safe interval  are neither complete nor efficient. Reactive collision avoidance using the velocity obstacle (VO) [22, 23] discards the global optimality and completeness to gain the guarantee of flight safety and real-time computation. However, these VO based frameworks assume a simple straight line path with constant velocity and cannot be used to follow a dynamically feasible trajectory.
In this section, we directly solve the planning problem in a dynamic environment using our search-based framework which is resolution optimal and complete. To ensure flight safety, the robot needs to frequently re-plan since the information of surrounding moving obstacles is constantly updated. We model a moving obstacle as the linear velocity polyhedron (LVP) in whose position and velocity are observable. In fact, a linear model for a moving obstacle is only an approximation of its motion in the general case. To increase the success of future re-plans, we inflate LVP with respect to time. In the meanwhile, to avoid wasting time searching over the same region repeatedly, we use an incremental trajectory planning approach based on Lifelong Planning A* (LPA*) . The proposed planner can further be developed for planning for multi-robot systems, in which the inter-robot collision avoidance is guaranteed.
V-a Model of Moving Obstacles
Consider a single moving obstacle and suppose that it is represented as LVP which is a convex polyhedron in with velocity (no rotation). We first show that the collision between a polynomial trajectory and can be checked by solving for roots of a polynomial. Then, we describe the model of motion uncertainty of the LVP in re-planning.
V-A1 Collision Checking
Denote a half-space in as . The intersection of half-spaces gives a convex polyhedron, , where corresponding to is the -th column of matrix and is the
-th element of vector. If a polynomial trajectory defined by (3) collides with , we must have one of its trajectory segments intersect in the time interval . It can be verified by finding roots of the polynomial function of time : if there exists a root located in the interval and the intersecting point () is on the boundary of , we claim that collides with .
A trajectory segment intersects a polyhedron composed of half-spaces described by and if and only if
Note that is the outward normal of the half-space and it is invariant with respect to time since we assume that the obstacles do not rotate. is time-varying if is non-zero. Denote as the initial half-space , we have
Since we assume that is constant for each planning interval, is a time-parameterized polynomial function. Therefore, we are still available to solve roots from the polynomial function in (17). Figure 6 shows the planning results in two configurations with LVPs. For better visualization, the animation of robot following planned trajectories in corresponding dynamic environments is shown in the accompanying video.
V-A2 Uncertainty of Linear Polyhedron
Since the movement of a moving obstacle is unpredictable, our LVP model is an optimistic prediction for the purposes of re-planning. To address this problem, we use a simple strategy similar to  that grows the obstacle’s geometry: shift all the half-spaces in the direction of the outward normal (namely, ) with certain speed . As a result, (18) is modified as:
Substituting (19) into (17), we can still get a polynomial function to check for collision. An example of growing obstacles is illustrated in Figure 7 where the robot constantly re-plans at . The robot is able to avoid the non-linearly moving obstacles with the proposed linear model in (19) with a properly selected .
V-B Problem Formulation
For a general planning problem in the environment that has both static and moving obstacles, we separate the collision checking in two workspaces: a static workspace and a dynamic workspace . can be represented by a standard map which contains a collision-free subset and an occupied subset . is a time-varying set whose occupied subset consists of moving obstacles . Denote the free subset as , the original collision constraint in II is re-written as:
Since the collision checking is a function of time, the lattice state in II should be augmented by the corresponding time stamp. In such case, a maximum planning horizon is the criterion to determine if the search should be terminated or not. Otherwise, if the goal is occupied permanently by moving obstacles, the planner will keep expanding the same state at different time stamps.
V-C Incremental Trajectory Planning
A planned trajectory needs to be updated when new information of moving obstacles is updated in order to guarantee safety and optimality. Re-planning from scratch every time is not efficient since we may waste time searching places that are already explored in previous planning epochs. To leverage incremental search techniques for dynamic systems, we replace the A* with Lifelong Planning A* (LPA*) . For searching with motion primitives, an additional graph pruning process is necessary to maintain the correctness and optimality of the planning results. By combining LPA* and graph pruning, we can efficiently solve the re-planning problem in a dynamic environment.
V-C1 LPA* with Motion Primitives
It is computationally expensive to construct the graph in free space due to feasibility checking of edges. Thus, if we are able to reuse the graph from the previous plan and only update costs of affected edges as the map changes, we are able to save a significant amount of time in the new planning query. D* , D* Lite  are popular incremental graph search algorithms that have been widely used in real-time re-planning. However, these algorithms are not suitable for state lattice search due to the fact that the induced lattice almost never hits the exact goal state. Thus the trajectory planned from the goal state to start (as done in D* and D* Lite) will not be able to exactly reach the start state. Besides, in the navigation task in unknown environments, instead of spending efforts on exploring regions that are far away from the robot’s current location, we are more interested in searching its nearby region. Therefore, LPA* is a better choice for fast re-planning that plans the same optimal trajectory as A* but expands much fewer states.
In LPA*, once the graph has local inconsistency due to a map update, the algorithm will re-expand the affected states until all the locally inconsistent states become consistent. To update edge costs, we need to check the related edges in the graph according to the latest map. If the map is incrementally updated by a relative small amount, this update is sufficiently fast. More details about LPA* can be found in the original paper .
V-C2 Graph Pruning
When the robot starts following the planned trajectory, the start state for the new planning moves to the successor of the previous start state along the planned trajectory. Now, since the start state for the graph has been changed, the start-to-state cost of all the graph vertices need to be updated. Since our graph is directional (edges are irreversible), a large portion of the existing graph that originated from the old start state becomes unreachable. Hence, it is important to prune an existing graph and update the start-to-state cost of the remaining states according to the new start state. In this step, we do not need to explore new states, check for collision against map or calculate any heuristic values, thus it is very fast.
V-C3 Run Time Analysis
We show the planning time and number of expansions of planners using A* and LPA* with graph pruning in Figure 8, from which we can clearly see that LPA* is more efficient than A* since it takes less planning time and requires fewer number of expansions over the whole mission.
V-D Multi-robot Planning
We consider a scenario where a team of homogeneous robots operates in a environment at the same time. We assume that some mission control algorithm such as exploration assigns a target to each of the robots. Thus, it is a decoupled problem in which individual robot plans its own trajectory. Different from existing works such as [27, 28, 29], we mainly focus on finding the optimal trajectory for robot without colliding with other robots. We show that the proposed framework can be used to plan trajectory for each robot by treating other robots as moving obstacles. Thus, we are able to perform either sequential or decentralized planning for multiple robots in the same workspace.
V-D1 Collision Checking between Robots
In subsection V-A, we modeled the obstacle as a linearly moving polyhedron in , which can be generalized for non-linear moving obstacles that follow piecewise polynomial trajectories. Denote as the -th robot configuration which is a non-linearly moving polyhedron (NMP) in , it is represented as the robot geometry that centered at robot’s center of mass following a trajectory . Thus, it can be represented as:
For robot and , they are not colliding with each other if and only if
where “” denotes the Minkowski addition. Constraint (22) can be verified by solving for roots of a polynomial equation similar to (17). For a team of robots, we can verify whether the -th robot’s trajectory is collision-free by checking (22) against all the other robots.
V-D2 Sequential Planning
For a team of robots, we can sequentially plan trajectory for robots from to by assigning priorities to the robots. When planning for -th robot, we only consider collision checking with robots that have higher priority than . Equivalently, we need to verify the following equation for the -th robot:
Sequential planning is able to guarantee inter-robot collision-free and find the optimal trajectory for each robot with respect to the priority. The planning results for two navigation tasks are shown in Figure 9. Its computational complexity is polynomial, thus we are able to quickly plan the trajectories for the whole team.
V-D3 Decentralized Planning
In the decentralized case, each robot re-plans at their own clock rate and there is no priority. It is practical to assume that the robot is able to share information about its current trajectory with other robots. For accurate collision checking, we also assume there is a global time frame and a local time frame for each robot representing its trajectory start time. Use and to represent the time in global time frame and local time frame respectively. The conversion between this two frames is simply where is the start time in global time frame of the trajectory. Thus, we formulate the collision checking for robots in the decentralized manner as:
or in local time frame as:
Here is a constant for the given trajectory pair and . Since we plan for robot with the presence of robot , should always be true.
Denote as the duration of trajectory . Ideally, we use the whole trajectory from to for collision checking when plan for robot . However, we know that robot is also constantly re-planning, such that the future trajectory of can be meaningless to be considered in collision checking. We are able to improve the efficiency of collision checking in (25) by setting a cutoff time . Namely, we ignore the part of trajectory of other robot for the domain . Consequently, as gets smaller, the computational time for inter-robot collision checking is also smaller. The smallest for a complete solution is determined by the system’s dynamic constraints. For example, for a second order system that is constrained by maximum velocity and acceleration , the smallest value of is the minimum time it takes to stop the robot from the maximum velocity. Thus, we set the value of for trajectory as
To make the algorithm complete, we need to ignore robot for when planning for robot instead of treating it as a static obstacle. Figure 10 shows the results of two planning tasks using the decentralized planning with .
In conclusion, we proposed a way to use a search-based motion planning method with motion primitives to solve planning problems with uncertainty in the model and with FOV constraints. The proposed planner is shown to be efficient and is resolution complete and optimal. We believe the proposed methodology has the potential to be used in a broad class of MAV navigation problems even in dynamically changing environments. We note that although the examples shown in this paper are mostly done in 2D environments, our framework has already been tested in 3D as well.
-  D. Mellinger and V. Kumar, “Minimum snap trajectory generation and control for quadrotors,” in Proceedings of the 2011 IEEE International Conference on Robotics and Automation (ICRA), 2011.
-  M. Hehn and R. D’Andrea, “Quadrocopter trajectory generation and control,” IFAC Proceedings Volumes, vol. 44, no. 1, 2011.
-  M. Mueller, M. Hehn, and R. D’Andrea, “A computationally efficient motion primitive for quadrocopter trajectory generation,” IEEE Trans. on Robotics (T-RO), vol. 31, no. 6, pp. 1294–1310, 2015.
-  C. Richter, A. Bry, and N. Roy, “Polynomial trajectory planning for aggressive quadrotor flight in dense indoor environments,” in Robotics Research. Springer, 2016, pp. 649–666.
-  H. Oleynikova, M. Burri, Z. Taylor, J. Nieto, R. Siegwart, and E. Galceran, “Continuous-time trajectory optimization for online uav replanning,” in Intelligent Robots and Systems (IROS), 2016 IEEE/RSJ International Conference on. IEEE, 2016, pp. 5332–5339.
-  F. Gao, Y. Lin, and S. Shen, “Gradient-based online safe trajectory generation for quadrotor flight in complex environments,” in 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Sept 2017, pp. 3681–3688.
-  S. Liu, M. Watterson, K. Mohta, K. Sun, S. Bhattacharya, C. J. Taylor, and V. Kumar, “Planning dynamically feasible trajectories for quadrotors using safe flight corridors in 3-d complex environments,” IEEE Robotics and Automation Letters, vol. 2, no. 3, pp. 1688–1695, 2017.
-  S. Liu, N. Atanasov, K. Mohta, and V. Kumar, “Search-based motion planning for quadrotors using linear quadratic minimum time control,” in Intelligent Robots and Systems (IROS), 2017 IEEE/RSJ International Conference on. IEEE, 2017, pp. 2872–2879.
-  S. Liu, K. Mohta, N. Atanasov, and V. Kumar, “Search-based motion planning for aggressive flight in se(3),” IEEE Robotics and Automation Letters, vol. 3, no. 3, pp. 2439–2446, July 2018.
-  J. Reif and M. Sharir, “Motion planning in the presence of moving obstacles,” Journal of the ACM (JACM), vol. 41, no. 4, pp. 764–790, 1994.
-  R. Tedrake, I. R. Manchester, M. Tobenkin, and J. W. Roberts, “Lqr-trees: Feedback motion planning via sums-of-squares verification,” The International Journal of Robotics Research, vol. 29, no. 8, pp. 1038–1052, 2010.
-  T. Lee, M. Leoky, and N. H. McClamroch, “Geometric tracking control of a quadrotor uav on se (3),” in 49th IEEE conference on decision and control (CDC). IEEE, 2010, pp. 5420–5425.
-  C. W. Warren, “Global path planning using artificial potential fields,” in Proceedings, 1989 International Conference on Robotics and Automation, May 1989, pp. 316–321 vol.1.
-  H. Adeli, M. Tabrizi, A. Mazloomian, E. Hajipour, and M. Jahed, “Path planning for mobile robots using iterative artificial potential field method,” International Journal of Computer Science Issues (IJCSI), vol. 8, no. 4, p. 28, 2011.
-  G. Li, Y. Tamura, A. Yamashita, and H. Asama, “Effective improved artificial potential field-based regression search method for autonomous mobile robot path planning,” International Journal of Mechatronics and Automation, vol. 3, no. 3, pp. 141–170, 2013.
-  N. Ratliff, M. Zucker, J. A. Bagnell, and S. Srinivasa, “Chomp: Gradient optimization techniques for efficient motion planning,” in Robotics and Automation, 2009. ICRA’09. IEEE International Conference on. IEEE, 2009, pp. 489–494.
-  V. Usenko, L. von Stumberg, A. Pangercic, and D. Cremers, “Real-time trajectory replanning for mavs using uniform b-splines and 3d circular buffer,” arXiv preprint arXiv:1703.01416, 2017.
-  R. Deits and R. Tedrake, “Computing large convex regions of obstacle-free space through semidefinite programming,” in Algorithmic Foundations of Robotics XI. Springer, 2015, pp. 109–124.
-  D. Hsu, R. Kindel, J.-C. Latombe, and S. Rock, “Randomized kinodynamic motion planning with moving obstacles,” The International Journal of Robotics Research, vol. 21, no. 3, pp. 233–255, 2002.
S. Koenig and M. Likhachev, “D* lite,” in Eighteenth national
conference on Artificial intelligence
. American Association for Artificial Intelligence, 2002, pp. 476–483.
-  M. Phillips and M. Likhachev, “Sipp: Safe interval path planning for dynamic environments,” in 2011 IEEE International Conference on Robotics and Automation, May 2011, pp. 5628–5635.
-  P. Fiorini and Z. Shiller, “Motion planning in dynamic environments using velocity obstacles,” The International Journal of Robotics Research, vol. 17, no. 7, pp. 760–772, 1998.
-  J. Van Den Berg, S. J. Guy, M. Lin, and D. Manocha, “Reciprocal n-body collision avoidance,” in Robotics research. Springer, 2011, pp. 3–19.
-  S. Koenig, M. Likhachev, and D. Furcy, “Lifelong planning a*,” Artificial Intelligence, vol. 155, no. 1-2, pp. 93–146, 2004.
-  J. P. van den Berg and M. H. Overmars, “Planning the shortest safe path amidst unpredictably moving obstacles.”
-  A. Stentz, “Optimal and efficient path planning for partially-known environments,” in Robotics and Automation, 1994. Proceedings., 1994 IEEE International Conference on. IEEE, 1994, pp. 3310–3317.
-  J. van Den Berg, J. Snoeyink, M. C. Lin, and D. Manocha, “Centralized path planning for multiple robots: Optimal decoupling into sequential plans.”
-  R. Luna and K. E. Bekris, “Efficient and complete centralized multi-robot path planning,” in Intelligent Robots and Systems (IROS), 2011 IEEE/RSJ International Conference on. IEEE, 2011, pp. 3268–3275.
-  M. Turpin, N. Michael, and V. Kumar, “CAPT: Concurrent assignment and planning of trajectories for multiple robots,” The International Journal of Robotics Research, vol. 33, no. 1, pp. 98–112, 2014.