Nathan Ratliff 1 Matt Zucker 1 J. Andrew Bagnell 1 Siddhartha Srinivasa 2
1 The Robotics Institute 2 Intel Research Carnegie Mellon University Pittsburgh, PA { ndr, mzucker, dbagnell } @cs.cmu.edu [email protected]
Abstract — Existing high-dimensional motion planning algo- rithms are simultaneously overpowered and underpowered. In domains sparsely populated by obstacles, the heuristics used by sampling-based planners to navigate “narrow passages” can be needlessly complex; furthermore, additional post-processing is required to remove the jerky or extraneous motions from the paths that such planners generate. In this paper, we present CHOMP, a novel method for continuous path refinement that uses covariant gradient techniques to improve the quality of sampled trajectories. Our optimization technique converges over a wider range of input paths and is able to optimize higher- order dynamics of trajectories than previous path optimization strategies. As a result, CHOMP can be used as a standalone motion planner in many real-world planning queries. The effectiveness of our proposed method is demonstrated in ma- nipulation planning for a 6-DOF robotic arm as well as in trajectory generation for a walking quadruped robot.
In recent years, sampling-based planning algorithms have met with widespread success due to their ability to rapidly discover the connectivity of high-dimensional configura- tion spaces. Planners such as the Probabilistic Roadmap (PRM) and Rapidly-exploring Random Tree (RRT) algo- rithms, along with their descendents, are now used in a multitude of robotic applications [15], [16]. Both algorithms are typically deployed as part of a two-phase process: first find a feasible path, and then optimize it to remove redundant or jerky motion.
Perhaps the most prevalent method of path optimization is the so-called “shortcut” heuristic, which picks pairs of configurations along the path and invokes a local planner to attempt to replace the intervening sub-path with a shorter one [14], [5]. “Partial shortcuts” as well as medial axis retraction have also proven effective [11]. Another approach used in elastic bands or elastic strips planning involves modeling paths as mass-spring systems: a path is assigned an internal energy related to its length or smoothness, along with an external energy generated by obstacles or task- based potentials. Gradient based methods are used to find a minimum-energy path [20], [4].
In this paper we present Covariant Hamiltonian Optimiza- tion and Motion Planning (CHOMP), a novel method for generating and optimizing trajectories for robotic systems. The approach shares much in common with elastic bands planning; however, unlike many previous path optimization techniques, we drop the requirement that the input path be collision free. As a result, CHOMP can often transform a
Fig. 1. Experimental robotic platforms: Boston Dynamic’s LittleDog (left), and Barrett Technologys’s WAM arm (right).
na¨ ıve initial guess into a trajectory suitable for execution on a robotic platform without invoking a separate motion plan- ner. A covariant gradient update rule ensures that CHOMP quickly converges to a locally optimal trajectory.
In many respects, CHOMP is related to optimal control of robotic systems. Instead of merely finding feasible paths, our goal is to directly construct trajectories which optimize over a variety of dynamic and task-based criteria. Few current approaches to optimal control are equipped to handle obsta- cle avoidance, though. Of those that do, many approaches require some description of configuration space obstacles, which can be prohibitive to create for high-dimensional manipulators [25]. Many optimal controllers which do handle obstacles are framed in terms of mixed integer programming, which is known to be an NP-hard problem [24], [9], [17], [27]. Approximate optimal algorithms exist, but so far, only consider very simple obstacle representations [26].
In the rest of this document, we give a detailed derivation of the CHOMP algorithm, show experimental results on a 6-DOF robot arm, detail the application of CHOMP to quadruped robot locomotion, and outline future directions of work. The accompanying video in the conference proceed- ings also contains examples of running CHOMP on both robot platforms.
In this section, we present CHOMP, a new trajectory opti- mization procedure based on covariant gradient descent. An important theme throughout this exposition is the proper use of geometrical relations, particularly as they apply to inner products. This is a particularly important idea in differential geometry [8]. These considerations appear in three primary locations within our technique. First, we find that in order to encourage smoothness we need measure the size of an update to our hypothesis in terms of the amount of dynamical quantity (such as total velocity or total acceleration) it adds to the trajectory. Second, measurements of obstacle costs should be taken in the workspace so as to correctly account for the geometrical relationship between the robot and the surrounding environment. And finally, the same geometrical considerations used to update a trajectory should be used when correcting any joint limit violations that may occur. Sections II-A, II-D, and II-F detail each of these points in turn.
Formally, our goal is to find a smooth, collision-free, trajectory through the configuration space
We model the cost of a trajectory using two terms: an obstacle term
More precisely, the prior term is a sum of squared derivatives. Given suitable finite differencing matrices
where
where
for suitable matrix, vector, and scalar constants
We seek to improve the trajectory by iteratively mini- mizing a local approximation of the function using only smooth updates, where we define smoothness as measured by equation 1. At iteration
$$ \boldsymbol{\mathcal{U}}(\xi)\approx\boldsymbol{\mathcal{U}}(\xi_{k})+\boldsymbol{g}{k}^{T}\big(\xi-\xi{k}\big), $$
where
where the notation $|\delta|{M}^{2}$ denotes the norm of the displace- nt $\delta=\xi!-!\xi{k}$ en with respect to the Riemannian metric
It is well known in optimization theory that solving a regu- larized problem of the form given in equation 3 is equivalent to minimizing the linear approximation in equation 2 within a ball around
This update rule is a special case of a more general rule known as Covariant gradient descent [2], [29], in which the matrix
CHOMP is covariant in the sense that the change to the trajectory that results from the update is a function only of the trajectory itself, and not the particular representation used (e.g. waypoint based)– at least in the limit of small step size and fine discretization. This normative approach makes it easy to derive the CHOMP update rule: we can understand equation 3 as the Langrangian form of an optimization problem [1] that attempts to maximize the decrease in our objective function subject to making only a small change in the average acceleration of the resulting trajectory– not simply making a small change in the parameters that define the trajectory in a particular representation.
We gain additional insight into the computational benefits of the covariant gradient based update by considering the analysis tools developed in the online learning/optimization literature and especially [28], [12]. Analyzing the behavior of the CHOMP update rule in the general case is very difficult to characterize. However, by considering in a region around a local optima sufficiently small that
We first note that under these conditions, the overall CHOMP objective function is strongly convex [22]– that is, it can be lower-bounded over the entire region by a quadratic with curvature
Importantly, we note that we are not simulating a mass- spring system as in [20]. We instead formulate the problem as covariant optimization in which we optimize directly within the space of trajectories. In [19], a similar optimization setting is discussed, although, more traditional Euclidean gradients are derived. We demonstrate below that optimizing with respect to our smoothness norm substantially improves convergence.
In our experiments, we additionally implemented a version of this algorithm based on Hamiltonian Monte Carlo [18], [29]. This variant is a Monte Carlo sampling technique that utilizes gradient information and energy conservation concepts to efficiently navigate equiprobability curves of an augmented state-space. It can essentially be viewed as a well formulated method of adding noise to the system; importantly, the algorithm is guaranteed to converge to a stationary distribution inversely proportional to the exponen- tiated objective function.
Hamiltonian Monte Carlo provides a first step toward a complete motion planner built atop these concepts. However, as we discuss in section V, while the algorithm solves a substantially larger breadth of planning problems than traditional trajectory optimization algorithms, it still falls prey to local minima for some more difficult problems when constrained by practical time limitations.
Fig. 2. Potential function for obstacle avoidance
Let
A trajectory for the robot is then collision-free if for every configuration
If obstacles are static and the description of
Computing
When applying CHOMP, we typically use a simplified geometric description of our robots, approximating the robot as a “skeleton” of spheres and capsules, or line-segment swept spheres. For a sphere of radius
There are a few key advantages of using the signed distance field to check for collisions. Collision checking is very fast, taking time proportional to the number of voxels occupied by the robot’s “skeleton”. Since the signed distance field is stored over the workspace, computing its gradient via finite differencing is a trivial operation. Finally, because we have distance information everywhere, not just outside of obstacles, we can generate a valid gradient even when the robot is in collision – a particularly difficult feat for other representations and distance query methods.
Now we can define the workspace potential function
A smoother version, shown in figure 2, is given by
We will switch for a moment to discussing optimization of a continuous trajectory
To begin, we define a workspace pote
Intuitively, we would like to integrate these cost values across the entire robot. A straightforward integration across time, however, is undesirable since moving more quickly through regions of high cost will be penalized less. Instead, we choose to integrate the cost elements with respect to an arc-length parameter iz ation. Such an objective will have no motivation to alter the velocity profile along the trajectory since such operations do not change the trajectory’s length. We will see that this intuition manifests itself in the func- tional gradient as a projection of workspace gradients of
We therefore write our obstacle objective as
Since
where
and
This objective function is similar to that discussed in section 3.12 of [19]. However, there is an important dif- ference that substantially improves performance in practice. Rather than integrating with respect to arc-length through configuration space, we integrate with respect to arc-length in the workspace. This simple modification represents a fundamental change: instead of using the Euclidean geometry
Fig. 3. Left: A simple two-dimensional trajectory traveling through an obstacle potential (with large potentials are in red and small potentials in blue). The gradient at each configuration of the discretization depicted as a green arrow. Right: A plot of both the continuous functional gradient given in red and the corresponding Euclidean gradient component values of the discretization at each way point in blue.
in the configuration space, we directly utilize the geometry of the workspace.
Intuitively, we can more clearly see the distinction by examining the functional gradients of the two formulations. Operationally, the functional gradient defined in [19] can be computed in two steps. First, we integrate across all body elements the configuration space gradient contributions that result from transforming each body element’s workspace gradient through the corresponding Jacobian. Second, we project that single summarizing vector orthogonally to the trajectory’s direction of motion in the configuration space. Alternatively, our objective performs this projection directly in the workspace before the transformation and integration steps. This ensures that orthogonality is measured with respect to the geometry of the workspace.
In practice, to implement these updates on a discrete trajectory
Although section II-A presents our algorithm in terms of a specific discretization, writing the objective in terms of functionals over continuous trajectories often enunciates its properties. Section II-D exemplifies this observation. As figure 3 demonstrates, the finite-dimensional Euclidean gradient of a discretized version of the functional
converges rapidly to the functional gradient as the resolution of the discretization increases. (In this expression, we denote the forward kinematics mapping of configuration
We note that the prior term can be written as a functional as well:
with functional gradient
In this case, a discretization of the functional gradient
Joint limits are traditionally handled by either adding a new potential to the objective function which penalizes the trajectory for approaching the limits, or by performing a simple projection back onto the set of feasible joint values when a violation of the limits is detected. In our experiments, we follow the latter approach. However, rather than simply resetting the violating joints back to their limit values, which can be thought of as a
At each iteration, we first find the vector of updates
Our projection algorithm is listed formally below. As indicated, we may need to iterate this procedure since the smoothing operation degrades a portion of the original projection signal. However, in our experiments, all joint limit violations were corrected within a single iteration of this procedure. Figure 4 plots the final joint angle curves over time from the final optimized trajectory on a robotic arm (see section III). The fourth subplot typifies the behavior of this procedure. While
- Compute the update vector
$v$ used for$L_{1}$ projection. 2) Transform the vector via our Riemannian metric$\tilde{v}=$ $A^{-1}v$ . 3) Scale the resulting vector by$\alpha$ such that$\tilde{\xi}=\xi+\alpha\tilde{v}$ entirely removes the largest joint limit violation. 4) Iterate if violations remain.
This section presents experimental results for our im- plementation of CHOMP on Barrett Technologies’s WAM arm shown in figure 1. We demonstrate the efficacy of our technique on a set of tasks typically encountered in a home manipulation setting. The arm has seven degrees of freedom, although, we planned using only the first six in these experiments.
The home setting differs from setting such as those en- countered in legged locomotion (see section IV) in that the obstacles are often thin (e.g. they may be pieces of furniture such as tables or doors). Section II-C discusses a heuristic based on the signed distance field under which the obstacles themselves specify how the robot should best remove itself from collision. While this works well when the obstacle is a large body, such as the terrain as in the case of legged locomotion, this heuristic can fail for smaller obstacles. An initial straight-line trajectory through configuration space often contains configurations that pass entirely through an obstacle. In that case, the na¨ ıve workspace potential works tends to simultaneously push the robot out of collision on one side, but also, to pull the robot further through the obstacle on the other side.
We avoid this behavior by adding an indicator function to the objective that makes all workspace terms that appear after the first collision along the arm (as ordered via distance to the base) vanish. This indicator factor can be written mathemat- ically as $I(\operatorname*{min}{j\leq i}d(x{j}(q))$ , although implementation ally it is implemented simply by ignoring all terms after the first collision while iterating from the base of the body out toward the end effector for a given time step of the trajectory.
Intuitively, this heuristic suggests simply that the workspace gradients encountered after then first collision of a given configuration are invalid and should therefore be ignored. Since we know the base of the robotic arm is always collision free, we are assured of a region along the arm prior to the first collision that can work to pull the rest of the arm out of collision. In our experiments, this heuristic works well to pull the trajectory free of obstacles typically encountered in the home environment.
Our first experiment was designed to evaluate the efficacy of CHOMP and its probabilistic variants as a replacement for planning on a variety of everyday household manipulation problems. We chose 15 different configurations in a given scene representing various tasks such as picking up an object from the table, placing an object on a shelf, or pulling an item from a cupboard. Using these start/goal points we generated 105 planning problem consisting of planning between all pairs of end configurations. Figure 6 shows the 15 end configurations (right) and compares the initial trajectory (left)
Fig. 4. Left: This figure shows the joint angle traces that result from running CHOMP on the robot arm described in section III using the smooth projection procedure discussed in section II-F. Each subplot shows a different joint’s trace across the trajectory in blue with upper and lower joint limits denoted in red. The fourth subplot typifies the behavior of projection procedure. The trajectory retains its smoothness while staying within the joint limit.
Fig. 5. Left: the objective value per iteration of the first 100 iterations of CHOMP. Right: a comparison between the progression of objective values produced when starting CHOMP from a straight-line trajectory (green), and when starting CHOMP from the solution found by a bi-directional RRT. Without explicitly optimizing trajectory dynamics, the RRT returns a poor initial trajectory which causes CHOMP to quickly fall into a suboptimal local minimum.
to the final smoothed trajectory (middle) for one of these problems.
For this implementation, we modelled each link of the robot arm as a straight line, which we subsequently dis- cretized into 10 evenly spaced points to numerically ap- proximate the integrals over
CHOMP successfully found collision-free trajectories for 99 of the 105 problem.
We additionally compared the performance of CHOMP when initialized to a straight-line trajectory through configu- ration space to its performance when initialized to the solu- tion of a bi-directional RRT. Surprisingly, although CHOMP alone does not always find collision free trajectories for these problems, when it does, straight-line initialization typically outperforms RRT initialization. On average, excluding those problems that CHOMP could not solve, the log-objective value achieved when starting from a straight-line trajectory was approximately . 5 units smaller than than achieved when starting from the RRT solution on a scale that typically ranged from 17 to 24 . This difference amounts for ap- proximately
We note that in our experiments, setting
The Robotics Institute fields one of six teams participating in the DARPA Learning Locomotion project, a competitive program focusing on developing strategies for quadruped locomotion on rough terrain. Each team develops software to guide the LittleDog robot, designed and built by Boston Dy- namics Inc., over standardized terrains quickly and robustly. With legs fully extended, LittleDog has approximately
Our approach to robotic legged locomotion decomposes the problem into a footstep planner which informs the the robot where to place its feet as it traverses the terrain [6], and a footstep controller which generates full-body trajectories to realize the planned footsteps. Over the last year, we have come to rely on CHOMP as a critical component of our footstep controller.
Footsteps for the LittleDog robot consist of a stance phase, where all four feet have ground contact, and a swing phase, where the swing leg is moved to the next support location. During both phases, the robot can independently control all six degrees of trunk position and orientation via the supporting feet. Additionally, during the swing phase, the three degrees of freedom for the swing leg may be controlled. For a given footstep, we run CHOMP as coordinate descent, alternating between first optimizing the trunk trajectory
To construct the SDF representation of the terrain, we begin by scan-converting triangle mesh models of the terrain
Fig. 6. Left: the initial straight-line trajectory through configuration space. Middle: the final trajectory post optimization. Right: the 15 end point configurations used to create the 105 planning problems discussed in section III-B.
into a discrete grid representation. To determine whether a grid sample lies inside the terrain, we shoot a ray through the terrain and use the even/odd rule. Typical terrains are on the order of $1.8,\mathrm{m}\times\mathrm{0.6m~}\times\mathrm{0.3m}.$ . We set the grid resolution for the SDF to 5 mm. The resulting SDFs usually require about 10-20 megabytes of RAM to store. The scan-conversion and computation of the SDF is created as a preprocessing step before optimization, and usually takes under 5 seconds on commodity hardware.
When running CHOMP with LittleDog, we exploit domain knowledge by adding a prior to the workspace potential function
For the trunk trajectory, in addition to the workspace ob- stacle potential, the objective function includes terms which penalize kinematic reachability errors (which occur when the desired stance foot locations are not reachable given desired trunk pose) and which penalize instability resulting from the computed ZMP straying towards the edges of the supporting polygon. Penalties from the additional objective function terms are also multiplied through
Although we typically represent the orientation of the trunk as a unit quaternion, we represent it to CHOMP as an exponential map vector corresponding to a differential rota- tion with respect to the “mean orientation” of the trajectory. The exponential map encodes an (axis, angle) rotation as a single vector in the direction of the rotation axis whose magnitude is the rotation angle. The mean orientation is computed as the orientation halfway between the initial and final orientation of the trunk for the footstep. Because the amount of rotation over a footstep is generally quite small (under
Timing for the footstep is decided by a heuristic which is evaluated before the CHOMP algorithm is run. Typical footstep durations run between 0.6 s and 1.2 s. We dis- cretize the trajectories at the LittleDog host computer control cycle frequency, which is
As shown in figure 7, the initial trajectory for the footstep is not always feasible; however, the CHOMP algorithm is almost always able to find a collision-free final trajectory, even when the initial trajectory contains many collisions.
The Robotics Institute team has been quite competitive in phase II, the most recent phase of the Learning Locomotion project. Unlike many of the other teams who seemed to focus on feedback control, operational control, and other reactive behaviors, our strategy has been to strongly leverage optimization. In particular, we credit much of our success to our use of CHOMP as a footstep controller due to its ability to smoothly avoid obstacles while reasoning about long trajectory segments.
This work presents a powerful new trajectory optimization procedure that solves a much wider range of problems than previous optimizers, including many to which randomized planners are traditionally applied. The key concepts that contribute to the success of CHOMP all stem from utilizing superior notions of geometry. Our experiments show that this algorithm substantially outperforms alternatives and im- proves performance on real world robotic systems.
There are a number of important issues we have not addressed in this paper. First, in choosing a priori a dis- cretization of a particular length, we are effectively con- straining the optimizer to consider only trajectories of a predefined duration. A more general tool should dynamically add and remove samples during optimization. We believe the discretization-free functional representation discussed in section II-E will provide a theoretically sound avenue through which we can accommodate trajectories of differing time lengths.
Additionally, while the Hamiltonian Monte Carlo algo- rithm provides a well founded means of adding randomiza- tion during optimization, there are still a number of problems under which this technique flounders in local minima under
Fig. 7. The LittleDog robot, designed and built by Boston Dynamics, Inc., along with sample terrains. Leftmost: Jersey barrier. Middle left: steps. Using CHOMP to step over a Jersey barrier with LittleDog. Trajectory for the swing foot is shown in darkest gray, swing leg shin/knee in medium gray, and stance legs/body in light gray. Middle right: The initial trajectory places the swing leg shin and knee in collision with the Jersey barrier. Rightmost: After 75 gradient steps, the trajectory is smooth and collision-free. Note that the trunk of the robot tips forward to create more clearance for the swing leg.
finite time constraints. In future work, we will explore ways in which these optimization concepts can be more fundamentally integrated into a practical complete planning framework.
Finally, this algorithm is amenable to new machine learn- ing techniques. Most randomized planners are unsuitable for well formulated learning algorithms because it is difficult to formalize the mapping between planner parameters and planner performance. As we have demonstrated, CHOMP can perform well in many areas previous believed to require complete planning algorithms; since our algorithm explicitly specifies its optimization criteria, a learner can exploit this connection to more easily train the cost function in a manner reminiscent of recent imitation learning techniques [21], [23]. We plan to explore this connection in detail as future work.
This research was funded by the Learning for Locomotion DARPA contract and Intel Research. We thank Chris Atkeson and James Kuffner for insightful discussions, and we thank Ross Di- ankov and Dmitry Berenson for their help navigating the OpenRAVE system.
[1] S. Amari and H. Nagaoka. Methods of Information Geometry . Oxford University Press, 2000.
[2] J. A. Bagnell and J. Schneider. Covariant policy search. In Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI) , August 2003.
[3] S. Boyd and L. Vandenberghe. Convex Optimization . Cambridge University Press, 2004.
[4] O. Brock and O. Khatib. Elastic Strips: A Framework for Motion Generation in Human Environments. The International Journal of Robotics Research , 21(12):1031, 2002.
[5] P. Chen and Y. Hwang. SANDROS: a dynamic graph search algorithm for motion planning. Robotics and Automation, IEEE Transactions on , 14(3):390–403, 1998.
[6] J. Chestnutt. Navigation Planning for Legged Robots . PhD thesis, Robotics Institute, Carnegie Mellon University, Pittsburgh, PA, De- cember 2007.
[7] R. Courant and D. Hilbert. Methods of Mathematical Physics . Interscience, 1953. Repulished by Wiley in 1989.
[8] M. P. do Carmo. Differential geometry of curves and surfaces . Prentice-Hall, 1976.
[9] M. Earl, R. Technol, B. Syst, and M. Burlington. Iterative MILP methods for vehicle-control problems. IEEE Transactions on Robotics , 21(6):1158–1167, 2005.
[10] P. Felzenszwalb and D. Huttenlocher. Distance Transforms of Sampled Functions. Technical Report TR2004-1963, Cornell University, 2004.
[11] R. Geraerts and M. Overmars. Creating High-quality Roadmaps for Motion Planning in Virtual Environments. IEEE/RSJ International Conference on Intelligent Robots and Systems , pages 4355–4361, 2006.
[12] E. Hazan, A. Agarwal, and S. Kale. Logarithmic regret algorithms for online convex optimization. In In COLT , pages 499–513, 2006.
[13] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and H. Hirukawa. Biped walking pattern generation by using preview control of zero-moment point. In IEEE International Conference on Robotics and Automation , 2003.
[14] L. Kavraki and J. Latombe. Probabilistic roadmaps for robot path planning. Practical Motion Planning in Robotics: Current Approaches and Future Directions , 53, 1998.
[15] L. Kavraki, P. Svestka, J. C. Latombe, and M. H. Overmars. Proba- bilistic roadmaps for path planning in high-dimensional configuration space. IEEE Trans. on Robotics and Automation , 12(4):566–580, 1996.
[16] J. Kuffner and S. LaValle. RRT-Connect: An efficient approach to single-query path planning. In IEEE International Conference on Robotics and Automation , pages 995–1001, San Francisco, CA, Apr. 2000.
[17] C. Ma, R. Miller, N. Syst, and C. El Segundo. MILP optimal path planning for real-time applications. In American Control Conference, 2006 , page 6, 2006.
[18] R. M. Neal. Probabilistic Inference Using Markov Chain Monte Carlo Methods. Technical Report CRG-TR-93-1, University of Toronto, Dept. of Computer Science, 1993.
[19] S. Quinlan. The Real-Time Modification of Collision-Free Paths . PhD thesis, Stanford University, 1994.
[20] S. Quinlan and O. Khatib. Elastic bands: connecting path planning and control. In IEEE International Conference on Robotics and Automation , pages 802–807, 1993.
[21] N. Ratliff, J. A. Bagnell, and M. Zinkevich. Maximum margin planning. In Twenty Second International Conference on Machine Learning (ICML06) , 2006.
[22] N. Ratliff, J. D. Bagnell, and M. Zinkevich. (online) subgradient meth- ods for structured prediction. In Eleventh International Conference on Artificial Intelligence and Statistics (AIStats) , March 2007.
[23] N. Ratliff, D. Bradley, J. A. Bagnell, and J. Chestnutt. Boosting structured prediction for imitation learning. In NIPS , Vancouver, B.C., December 2006.
[24] T. Schouwenaars, B. De Moor, E. Feron, and J. How. Mixed integer programming for multi-vehicle path planning. In European Control Conference , pages 2603–2608, 2001.
[25] Z. Shiller and S. Dubowsky. On computing the global time-optimal motions of robotic manipulators in the presence of obstacles. IEEE Transactions on Robotics and Automation , 7(6):785–797, 1991.
[26] S. Sundar, Z. Shiller, A. Inc, and C. Santa Clara. Optimal obstacle avoidance based on the Hamilton-Jacobi-Bellmanequation. Robotics and Automation, IEEE Transactions on , 13(2):305–310, 1997.
[27] M. Vitus, V. Pradeep, G. Hoffmann, S. Waslander, and C. Tomlin. Tunnel-milp: Path planning with sequential convex polytopes. In AIAA Guidance, Navigation, and Control Conference , 2008.
[28] M. Zinkevich. Online convex programming and generalized infinites- imal gradient ascent. In In Proceedings of the Twentieth International Conference on Machine Learning , pages 928–936, 2003.
[29] M. Zlochin and Y. Baram. Manifold stochastic dynamics for bayesian learning. Neural Comput. , 13(11):2549–2572, 2001.