SlideShare a Scribd company logo
1 of 126
Download to read offline
Autonomous Mobile Robot
Navigation with Velocity
Constraints
Gil Manor
Autonomous Mobile Robot Navigation with Velocity
Constraints
Research thesis
In Partial Fulfillment of the
Requirements for the
Degree of Doctor of Philosophy
Gil Manor
Submitted to the Senate of the
Technion - Israel Institute of Technology
Tevet, 5775 Haifa January 2015
The Research Thesis Was Done Under the
Supervision of Prof. Elon Rimon
in the Faculty of Mechanical Engineering
ACKNOWLEDGMENT
I would like to express my sincere gratitude to Prof. Elon Rimon for his
support and dedicated guidance and assistance throughout this research.
The Generous Financial of The Technion and The Halevy Fellowship
Scholarship is Gratefully Acknowledged
List of Publications
Referred Papers in Professional Journals
• Gil Manor and Elon Rimon. VC-method: high-speed navigation of a uniformly
braking mobile robot using position-velocity configuration space. Autonomous
Robots (2013) 34:295-309.
• Gil Manor and Elon Rimon, The Speed Graph Method: Time Optimal Naviga-
tion Among Obstacles Subject to Safe Braking Constraint, Submitted to IEEE
Transactions on Robotics. Nov. 2014.
Referred Papers in Conference Proceedings (* - Presenter)
• *Gil Manor and Elon Rimon, High-Speed Navigation of a Uniformly Braking Mo-
bile Robot Using Position-Velocity Configuration Space, International Conference
of Robotic and Automation, St. Paul MN, May 2012.
• *Gil Manor and Elon Rimon, The Speed Graph Method: Time Optimal Naviga-
tion Among Obstacles Subject to Safe Braking Constraint, International Confer-
ence of Robotic and Automation, Hong Kong, June 2014.
Contributed Papers in Conferences and Workshops (* - Presenter)
• Gil Manor, Global Time Optimal Path Planning Using the Brachistochrone Curve,
Technion, Nov. 2012.
• *Gil Manor and Elon Rimon, The Speed Graph Method: Time Optimal Naviga-
tion Among Obstacles Subject to Safe Braking Constraint, ICR 2013, Tel Aviv,
Nov. 2013.
Contents
Abstract 1
List of Figures 3
List of Tables 6
Nomenclature 7
1 Introduction and Literature Review 11
1.1 Literature Review 12
1.1.1 Configuration Space 12
1.1.2 Two-steps Methods 13
1.1.3 Reactive Motion Planners 14
1.1.4 Discretized Search Spaces 16
1.1.5 Exact Optimal Paths Using Calculus of Variations 17
1.1.6 Optimal Control Based Methods 18
1.1.7 Potential Field Methods 18
1.2 Objectives and Significance of Work 19
1.3 Thesis Outline 20
2 High-Speed Navigation of a Uniformly Braking Mobile Robot Us-
ing Position-Velocity Configuration Space 22
2.1 Introduction 23
2.2 Problem Description and Preliminaries 24
2.3 Position Velocity Configuration Space 27
2.4 Cellular Decomposition of Position-Velocity Configuration Space 29
2.4.1 The Critical Points of the Height Function 29
2.4.2 The Partition of F v
Into 3D Cells 33
2.5 The Cells Adjacency Graph 36
2.6 Practical Path Realization 38
2.7 Simulations 41
2.7.1 Influence of Obstacles Clearance on VC-Method Paths 41
2.7.2 Comparison of the VC-Method with the Dynamic Window Ap-
proach 43
2.8 Experiments 45
2.9 Conclusion 47
3 The Speed Graph Method: Time Optimal Navigation Among Ob-
stacles Subject to Safe Braking Constraint 49
3.1 Introduction 50
3.2 Problem Description and Preliminaries 51
3.3 The Safe Time Optimal Path Near a Single Obstacle Feature 53
3.3.1 The Travel Time Functional 53
3.3.2 The Safe Time Optimal Path Near a Wall Segment 54
3.3.3 The Safe Time Optimal Path Near a Point Obstacle 57
3.4 Basic Properties of the Safe Time Optimal Path in Polygonal Environ-
ments 60
3.4.1 The Safe Time Optimal Variational Problem in Polygonal Envi-
ronments 60
3.4.2 Basic Properties of the Safe Travel Time Functional 61
3.5 The Speed Graph 69
3.6 Speed Graph Based Computation of the Safe Time Optimal Path in
Polygonal Environments 74
3.6.1 Path Optimization Using Newton’s Method 77
3.7 Numerical Simulations and Experimental Setup 80
3.8 Conclusion 84
4 Conclusion 86
4.1 Summary 87
4.2 Current Work 88
4.3 Future Extension 89
Appendices 91
A The Turning Radius Constraint 92
B The Time Optimal Path for a Disc Robot 96
C Computation of the Speed Graph Edges and the Safe Time Optimal
Path as Convex Optimization Problems 99
D The Turning Radius Constraint Along an Optimal Path 104
Bibliography 113
Hebrew Abstract I
Abstract
Navigation is an important aspect in mobile robotics. Recently, we see a trend in
robotic systems leaving laboratories and clean rooms and moving to real world envi-
ronments. At this point, it is critical to ensure the safety of the robotic system as
well as the environment in which it travels. One of the most common approaches to
this problem is modeling a configuration space of permitted positions and orientations
of the robot, then searching for a free collision path in this space. The method is
applicable both off-line, pre knowing all the surrounding, and also on-line, while re-
trieving the data with contact and distance sensors. Despite all this, the problem of
navigating a mobile robot between obstacles while taking into account the dynamic
characteristics of the robot while satisfying some quality measure of the path, remains
with no certain unique solution.
One quality measure for paths is their total travel time or in other words, the
time optimal path between two end points. For such a quality measure, high speeds
of motion are required to complete the task as quick as possible. Traveling with
high speed imposes two main safety concerns that should be taken into account when
planning the path. (1) A speed dependant safe braking constraint; (2) A turning
radius constraint that prevents sliding affects or tipping over. These safety constraints
involve the robot’s speed, denoted ν, as well as the coefficient of friction between the
robot’s wheels and the ground, denoted µ.
Common approaches for solving the high speed navigation problem first compute
a collision free path for the robot, then parameterize the speed along it such that
velocity constraints are met. In this research we synthesize the speed dependant safety
constraints and the geometric path selection into a single framework. This ensures that
the path taken by the robot, prematurely satisfies these safety constraints and therefore
allows to compute the globally time optimal path. Two subsequent approaches are
suggested.
The first approach, suggests modeling an augmented configuration space for the
1
robot with the parameters x, y and ν. The speed dependant safe braking constraint is
modeled in this space and represented by towering columns whose interior coordinates
are states of the robot which lead to an imminent collision with the surrounding
obstacles. The Morse Theory is then used to identify special events in this space where
the free space for navigation losses its connectivity. These special events determine a
cellular decomposition which in turn induces an adjacency graph. A standard graph
search algorithm on this adjacency graph yields an approximated time optimal path
in a highly efficient way in terms of computational time.
The second approach uses calculus of variations and applies convexity properties
of these paths to compute the globally time optimal path in the environment. First,
the calculus of variations is used to compute the time optimal path near a single point
or wall obstacles subject to the safe braking constraint. These optimal paths are then
composed into a “speed graph” whose edges are time optimal path segments connecting
each individual pair of nodes. A time optimal path candidate is then selected using
a standard graph search algorithm. Next, convexity properties of these paths are
used to smooth the optimal candidate and to derive the globally time optimal path
in the environment. For both methods, the computed paths satisfy the turning radius
constraint such that the robot does not slide or tip over. The results are illustrated
with examples and described as readily implementable procedures.
2
List of Figures
1.1 (a) An arrangement of polygonal obstacles in the plane. (b) Each obstacle
induces a c-obstacle in the robot’s c-space. 13
1.2 The velocity obstacle voB induced by a moving obstacle ˆB and a moving
robot ˆA. The entities’ velocities are vA and vB respectively. 15
2.1 The straight line braking path ends at the maximal Euclidean distance from
the robot’s initial position. 24
2.2 (a) The c-obstacle of a disc robot. (b) The vc-obstacle slice when the robot
travels with velocity magnitude ν. 27
2.3 The vc-obstacles resemble columns whose cross section expands monotoni-
cally along the ν coordinate. 29
2.4 (a) A Type I critical point is a saddle point of ϕ in Fv. (b) The vc-obstacles
slices in the vicinity of the saddle point. 32
2.5 A Type II critical point is a local maximum of ϕ in Fv. 33
2.6 The (x, y) projection of a stack of 3D cells. 34
2.7 A stack of 3D cells is generically surrounded by three vc-obstacle and three
vertical partitions. 35
2.8 The (x, y) projection of the 3D cells associated with a non-generic obstacle
arrangement. 35
2.9 The adjacency graph of the cellular decomposition induced by three polygo-
nal obstacles and an outer wall. 37
2.10 (a) The optimal path lies in vertical strips. (b) Path unfolding and vertical
edges realization. 38
3
2.11 A switching curve (in red) for the double integrator problem along which
the point mass reaches the origin with zero speed. 40
2.12 (a) The optimal path passing through a node. (b) The smoothed path follows
the minimum safe turning radius arc. 40
2.13 A disc robot navigating with high speed in an office environment. 41
2.14 The speed of the robot for δ = 3.4. 42
2.15 The ratio t(vc-method)/t(lmin) of the vc-method as a function of δ. 43
2.16 The vc-method and DWA paths in (a)-(b) a rectangular room containing an
obstacle cluster, and (c) a urban-like environment. 44
2.17 The velocity profiles of the paths illustrated in Figures 2.16(a)-(b). 45
2.18 The experiment setup of three polygonal obstacles within a rectangular outer
boundary. 46
2.19 The velocity profiles of the three programmed paths. 46
3.1 (a) A circle rolling on the wall segment generates the cycloid curve. (b) The
safe time optimal path near a wall segment. 56
3.2 (a) Two symmetrically shaped time optimal paths from pS to pT . (b) The
safe time optimal path is a parabolic arc equidistant from the point obstacle
and the line l. 59
3.3 (a) A hypothetical time optimal path touching a convex obstacle vertex. (b)
The path can be moved away from the vertex, with a new segment of length
L < 2 . 63
3.4 (a) The Voronoi diagram, and (b) The speed graph of an environment popu-
lated by two polygonal obstacles (Voronoi arcs are solid curves, speed graph
edges are dashed curves). 69
3.5 (a) Two speed graph nodes, p1 and p2, are separated by three proximity cells
whose boundary lines are parameterized by (u1, u2). (b)T(γ(u1, u2)) is star
shaped, moreover its contours are convex in the (u1, u2) plane. 71
3.6 The Voronoi saturation problem. 73
4
3.7 (a) The local smoothing directions of αo and αo point toward each other,
and (b) require a splitting of pi into two crossing points that will slide on the
neighboring Voronoi arcs ei1 and ei2. 75
3.8 (a) The piecewise time optimal paths connecting pS and pT while crossing
the Voronoi arcs e1 and e2 are parametrized by (u1, u2). (b) The contours of
T(γ(u1, u2)) are star shaped (and convex) with center at (u∗
1, u∗
2). 77
3.9 (a) The speed graph of the given environment, indicated with dashed curves.
(b) The initial speed graph path αo, and (c) the safe time optimal path α∗
connecting pS and pT in F. 79
3.10 The Newton-Raphson’s travel time convergence during five iterations on the
paths of Figure 3.9. 80
3.11 (a) The speed graph of the warehouse environment. (b) The safe time optimal
path α∗ selected by the speed graph, and the safe time optimal path ¯α∗
associated with the geometrically shortest path. 81
3.12 The speed profile along the paths α∗ and ¯α∗ in the warehouse environment. 81
3.13 The six best safe time optimal paths in the office floor environment. 82
4.1 A Formula One race car has to travel at high speed during turns without
sliding. 89
A.1 (a) Top view of a four-wheel mobile robot turning geometry. (b) Rear view
of a left turning mobile robot. 93
B.1 The safe time optimal path determined by the polygonal approximation, ¯α∗,
and the exact path α∗ associated with the disc obstacle. 97
C.1 The safe time optimal path connecting the speed graph nodes p1 and p2
crosses two proximity cell boundary lines, l1 and l2, at the corner points
p(u1) and p(u2). 99
C.2 (a) The safe time optimal path α∗ and a variant path αt. (b) The sector
spanned by −v(s−
i ) and v(s+
i ) locally contains the Voronoi arc tangent line
at p(ui) for i = 1, 2. 101
5
List of Tables
2.1 Running time in seconds and length in meters of the three simulations. 44
2.2 Experiment Results 47
3.1 The safe time optimal travel time in the six best homotopy classes in the
office floor environment. 83
4.1 Comparison between the VC method and the Speed Graph method. 88
6
Nomenclature
(r, θ) Polar coordinates used for paths near point and disc obstacles
(x, y) Cartesian coordinates in the plane
α Path connecting two endpoints in IR2
α The tangent of α
α∗
, β∗
Local time minimal paths
αo The most promising path selected by the speed graph
dst(α, Oi) The minimal distance between the path α and obstacle Oi
dst(q, Oi) The minimal Euclidean distance between point q and obstacle Oi
A desired solution accuracy
η A piecewise smooth function
F The obstacle-free portion of the environment
ˆv The robot’s instantaneous heading
int(COi) The interior of COi
int(COv
i ) The interior of COv
i
H The hessian of a scalar function of 2 variables
F The free configuration space of the robot
7
µ The static coefficient of friction with the ground at the contacts
ν The robot’s linear speed (velocity magnitude)
ω The robot’s front wheels average steering angle
IR The real numbers
IR2
The two dimensional infinite plane
IR3
The three dimensional infinite space
ρ The radius of a disc robot
ρc The radius of curvature of a path segment
ϕ Morse function
v The normalized tangent of α
ηi The normal to bdy(COv
i ) at p
T(α) The energy functional of T(α)
ξ The angle of a point on a rolling circle that creates the Cycloid
amax The robot’s maximal acceleration
amin The robot’s minimal acceleration
Ang(α1(pi) − α2(pi)) The polar angle between two path tangents α1, α2 at node pi
bdy(COv
i ) The surface of COv
i
C(1)
The division of paths with continuously varying tangent
COi A configuration obstacle induced by obstacle Oi
COv
i A velocity configuration obstacle induced by obstacle Oi
d(ν) The robot’s minimal braking distance
8
d1(α1, α2) The metric between two paths α1, α2
Ef The net work applied by the friction force
ei Voronoi arc i
Ek The kinetic energy of the robot
F The integrant of T(α)
fN The net normal force at the contacts
Fv The free position-velocity configuration space
g The gravitational acceleration
Gv The adjacency graph
H A horizontal plane in IR3
h The robot’s c.o.g. hight
l The robot’s wheels base
lj Proximity cell boundary line j
m The robot’s mass
n Total number of obstacle features in a polygonal environment
O0 The outer boundary of environment populated by obstacles
Oi An internal obstacle enumerated i
P A vertical plane in IR3
p A point in the velocity configuration space
p(ui) A corner point i of path α
pi A graph’s vertex i
9
pS Start position
pT Goal position
q The robot’s center position in IR2
R The robot
R(q) The set of points occupied by a robot R centered at q
rmin(ν) The robot’s minimal turning radius
s The robot’s path distance parameter
T(α) The total travel time along path α
ui The length parameter of corner point i
v The robot’s linear velocity
w The robot’s width
10
Chapter 1
Introduction and Literature Review
As autonomous mobile robots are deployed in ever more demanding tasks, they strive
to complete their tasks while minimizing overall travel time. This requirement is
achieved by maximizing the robot’s speed while maintaining velocity dependant safety
constraints throughout the navigation process. Examples are autonomous mobile
robots operating in sentry duty and surveillance [2, 3], where high speed is required to
complete the task without being detected by potential intruders [19]. Other examples
are self-driving cars [50] and traffic assistance systems [4] that will soon allow vehi-
cles to be piloted autonomously at speeds up to 50 km/h [63]. High speed systems
also include mobile robots carrying cargo in large warehouses [70, 79]. In all of these
applications collision safety along high speed paths depends on velocity constraints,
thus requiring a consideration of the robot’s full position-velocity state in order to
synthesize such paths.
There are two main safety concerns during execution of fast mobile robot tasks
in planar environment. The first is to ensure that the robot will always be able to
reach a full stop without colliding with any of the stationary obstacles or moving
agents [27, 57]. The second is to ensure that the robot will not slide or tip-over while
taking sharp turns at high velocity. These two limitations on robot’s speed are induced
by the robot’s geometry and the power delivered by its actuators as well as by the
friction between the wheels and the ground.
11
According to the classical path planning approach, one first determines a collision
free path using the robot’s configuration space, then selects a time parametrization
that attempts to minimize total travel time subject to velocity-dependent safety con-
straints [33, 35, 64]. The more general approach of planning a path in a space that in-
cludes the robots position as well as velocity is a relatively unexplored area in robotics.
In this work, the entire process of path planning takes place in the robot’s state space,
thus treating the geometric path planning and the speed profiling in a single frame-
work.
1.1 Literature Review
Next, we provide a survey of relevant works in the literature. The survey is divided
into parts according to the different approaches taken in this field.
1.1.1 Configuration Space
The classical approach for path planning considers planning a collision free path in a
configuration space [40, 46]. Given an arrangement of obstacles and the geometry of
a single rigid robot with no kinematic constraints (see Figure 1.1(a) for example), the
configuration space is computed. As depicted in Figure 1.1(b), for every orientation
of the robot, each obstacle induces a c-obstacle. The c-obstacle includes all the points
in the plane which bring the robot to penetrate the physical obstacle. Note that the
c-space depends on the placement of the robot’s coordinates system. When a 2D
environment of obstacles is considered while assuming a planar robot that can freely
translate and rotate, the induced c-space includes towering columns in IR3
. Each col-
umn, represents forbidden places and orientations that will result an imminent collision
between the robot and the physical obstacle. Generally, the c-space’s size depends on
the degrees of freedom of the robot as well as on the environment’s complexity.
The c-space method allows to compute a collision free path connecting the start
12
(a) (b)
physical environement c-space
c-obstacle
robot’s reference point
Figure 1.1: (a) An arrangement of polygonal obstacles in the plane. (b) Each obstacle
induces a c-obstacle in the robot’s c-space.
to target using various methods. These include exact methods such as cellular decom-
position where the free c-space is decomposed into simple regions whose connectivity
induces a undirected graph denoted a connectivity graph [17]. Other methods suggest
constructing a road map for the environment such as the Voronoi diagram or visibility
graph [76], then search for a collision free path on this graph.
Although very useful in known environment with unconstrained motion, adding
dynamic constraints, which is the main topic of this thesis, increases the size of the c-
space and hence makes it harder to implement most common exact methods. Moreover,
the addition of non-holonomic constraints on the robot’s motion adds non-integrable
equations involving the configuration parameters and their derivatives which limits the
possible motions of the robot but does not reduce the size of the c-space.
1.1.2 Two-steps Methods
The next approach is a two-steps method that first computes pure geometric collision
free path, then generates a velocity profile in such way that total travel time along the
path is minimized while meeting velocity and higher derivative safety constraints. One
of the original works in this subdivision was introduced by Bobrow et al. in [9]. In their
work, the speed parameterizations of the joints of a serial robot were determined using
13
a linear controller while following a desired path. These speed profiles are selected such
that actuators’ constraints are met. Their work was later extended by [65] to include
the dynamics of a mobile robot. Other works followed starting with lepetic et al. [45],
that proposed a method for high speed path planning while considering acceleration
limits induced by maximal ground friction forces. Their path is generated by a spline
curve computed over a set of “control via points”, whose positional optimization gives
an approximate time-minimal path.
Velenis and Tsiotras [72], propose a method to determine the robot’s speed in order
to minimize travel time along a pre-specified collision free path. The velocity profile
respects the mobile robot’s acceleration limits. Villagra et al. [73], first compute
collision free paths with continuous curvatures and curvatures’ derivatives, then apply
a speed profiler such that time minimal trajectories are obtained along the curvature-
based paths. Their time minimal trajectories satisfy additional comfort constraints
such as jerk limitations.
Wu et al. [74], first compute a geometric path by taking into account kinematic
constraints such as minimal turning radius. Then, a velocity profiler is applied to
maintain prescribed velocity constraints. All these methods plan the robot’s trajectory
in two separate steps. First a purely geometric collision free path is computed, then
the robot’s speed is selected along the path such that velocity safety concerns are met.
However, when truly time optimal paths are desired under velocity dependent safety
constraints, the geometric path taken by the robot and the speed profile along the
path must be synthesized within a single position-velocity space, which is the topic of
this research.
1.1.3 Reactive Motion Planners
An important class of high speed motion planners operate locally in discrete time steps.
Whereby at each time step the robot selects a local high-speed maneuver that avoids
nearby obstacles. The velocity obstacles method models the robot’s safe velocities as
14
v   ‚ƒWXiPRSUvHar€xSX‘Rhzˆr‘€xY`PRab„`SUP€xWXabfŠ€`tbvd§QTSXSUWX„`WUQRaŒd§QRabv@D¤D4(HF1«ˆr‘ 910h‡PR„2„…tbQ‚£saŸWXa¥V6WUfR‚bY`v Q ‘™†tbv
‰—¨‚“ ™!!pB™W£q“¨U—¡ £¢WU„©€`tbv§ahfbvHœbabv§fŒPR„ F
 £¢QICD¤D4(HF1¥¤ 91  { $
B
^
VB
VO
B
V
A
VB
A
^
VGWUfT‚bY…v Q Fy™†tbv2iTvHSUQqd§W’€—‘(QTˆb„p€ePRdHSUv¦ ¦¢ 10
Figure 1.2: The velocity obstacle voB induced by a moving obstacle ˆB and a moving robot
ˆA. The entities’ velocities are vA and vB respectively.
an allowed velocity cone [24]. As depicted in Figure 1.2, each velocity cone determines
a local avoidance maneuver, and a series of such maneuvers is selected until the robot
reaches the target. The velocity obstacles method has been extended to local time
optimal maneuvers, and to motion in the presence of other moving agents such as cars
and pedestrians [39, 69, 78].
The dynamic window approach plans the robot’s path within a finite time horizon
whose size is determined by the robot’s current state [26]. At each time step, the
robot’s trajectory is chosen by maximizing a weighted sum of the robot’s distance
from the obstacles, the robot’s speed, and the current direction to the target. Some
dynamic window implementations explicitly account for safe braking constraints [13,
26]. Another approach is the method of inevitable collision states [27, 56, 57]. This
method encodes the surrounding obstacles as well as the robot’s braking capabilities
into first-order differential equations. Numerical integration of these equations gives
the inevitable collision states that can be incorporated into any fast mobile robot
navigation scheme.
Additionally, let us mention the vector field histogram approach [10, 71]. Using the
robot’s sensors, this method builds a histogram based on the distances to the obstacles
in discrete set of angles. The method then searches for gaps in this histogram that
represent collision-free headings of motion from the robot’s current position. Although
15
efficient for on-line directional control, this method does not consider explicitly safety
criteria or other high level requirements such as total travel time.
Finally, let us discuss the work presented in [66] which considers static environments
populated by disc obstacles. Instead of computing at each time instant a local maneu-
ver which must avoid the obstacles, each obstacle is considered at a time. This reduces
the computational running time to linear in the number of obstacles. About each in-
dividual obstacle, an optimal bypassing maneuver is computed for a non-holonomic
point robot while assuming symmetrically bounded actuators and double integrator
dynamics. A global path is computed by concatenating a series of such paths. How-
ever, this method does not consider safety limitations which is the main topic of this
research.
This family of reactive motion planners is clearly useful in dynamically evolving
environments. In such environments the robot cannot posses full knowledge of the
obstacles and therefore cannot plan its complete path before travel. Therefore the
robot is forced to use a greedy strategy in which it computes its best and fasted path
with respect to its known surroundings.
1.1.4 Discretized Search Spaces
Other motion planners search for a high speed and safe path in the robot’s discretized
state space. First suggested by the kinodynamics method, which discretizes the robot’s
state space into a regular grid and searches the obstacle-free portion of the grid for
a minimum travel time path subject to velocity dependent safety constraints [21, 37,
42]. The kinodynamics approach requires a huge grid in complex environment [32, 43].
The method’s running time is proportional to the grid size and can be very high in
complex environments.
Karvaki [18] and LaValle and Kuffner [41, 44] introduced the RRT method, or
rapidly-exploring random trees, computed in the robot’s discretized state space. At
each time step until the target is reached, a randomly chosen point is connected to the
16
current tree with a feasible maneuver that obeys predefined velocity constraints and
minimizes a cost function such as path length or travel time. While the RRT method
was an important breakthrough, there are cases where the algorithm converges to a
non optimal path.
To over come this, Karman and Frazzoli, [36], introduced the RRT*. Beside linking
a randomized chosen point to the current tree with an optimal edge that satisfies the
velocity constraints, in each stage, the RRT* also updates the connections between
the nodes in the current tree. The connections between the nodes are updated in such
way that reduces the total cost of the path between the start to the current node. The
RRT* is proven of being complete and converges to the optimal path as number of
iterations reaches infinity. However, its rate of convergence can be excessively slow in
congested environment. Also note that this class of motion planers usually assumes
fully known environments.
1.1.5 Exact Optimal Paths Using Calculus of Variations
Using calculus of variations, Wein et al. [75] compute collision free paths whose geo-
metric shape is determined by a user specified “path quality” parameter δ. A value
of δ = 0 corresponds to minimal length paths that trace the visibility graph, while
δ = ∞ corresponds to maximal clearance paths that trace the Voronoi diagram of
the environment. Based on this path quality measure, they describe a scheme that
discretizes the environment’s Voronoi diagram into -length segments, then searches
the adjacency graph of these segments for optimal paths in O((Λ2
/ 2
)n5/2
log n) time,
where Λ is the total length of the environment’s Voronoi diagram, and n is the num-
ber of obstacle features in the environment. However, [75] does not explicitly consider
velocity dependent safety constraints or travel time minimization.
17
1.1.6 Optimal Control Based Methods
The use of optimal control for time optimal path computation is well cited in the
literature. One of the earliest works in this field includes Dubins’s work which was
published in 1957 [22]. In his work, Dubins considered a non-holonomic motion of a car
like vehicle navigating between two end points in an obstacles-free environment while
assuming constant speed. He then proved that the time optimal path (with constant
speed!) between these two end points is constructed by path primitives consisting of
constant radius arcs and linear path segments. It is important to note that the initial
and terminal states of the car like vehicle are determined by its position as well as its
orientation. In [58], the car was also allowed with backward motion which created a
non smooth path with cusps.
Many works were inspired by Dubins’s work. In [31], for e.g., the authors compute
path primitives which minimize overall travel distance on the plane in heterogeneous
environments. In such environments the robot’s permitted speed is determined by its
position. Other works create the path using smooth path primitives such as clothoid
which allows to create smooth connectivity between adjacent segments [25, 77]. Com-
puting time optimal path primitives using optimal control theory was also suggested
in [16]. In this work, path primitives were computed for Dubins airplanes. For such
airplanes, the state space is 4D rather than 3D as in the planar Dubins car. However, non
of these works explicitly account the speed dependant constraints involving braking safety
as well as the turning radius of the robot while navigating with high speed between adjacent
obstacles. Although not fully presented in this thesis, this approach is currently being taken
by us in current work as briefly discussed in Section 4.2.
1.1.7 Potential Field Methods
Last, consider works were potential field methods, or PFMs, are used to navigate the robot.
For such methods each obstacle exerts a repulsive force on the robot while the target imposes
an attracting force. A summation of these forces propels the robot between the obstacles to
the target, for e.g. [55, 67, 28]. Although quiet efficient for global path planning and also
18
as a local planner, PFMs suffer from two main drawbacks as discussed by Koren et al in
[38]. (1) PFMs may lead the robot to a local minimum which will prevent the robot from
reaching its target. This drawback is well investigated in the literature and many solutions
were suggested, for e.g. [60, 59]. (2) PFMs may bring the robot to lose its stability when
implemented online in narrow corridors or near a long wall obstacle. This loss of stability
is characterized by rapidly growing oscillations, left and right, that bring the robot to lose
its grip with the ground and collide with adjacent obstacles. Koren et al. point out this
drawback of PFMs and suggest a stability criteria that has to be taken into account when
implementing such paths using PFMs.
Although this thesis utilizes ideas also used by PFM methods, the implementation draw-
back, discussed by Koren et al. is not in the scope of this research. In this research we
focus mainly on path and trajectory planning rather then trajectory tracking. These two
problems are complementary but can be isolated and dealt independently from each other.
Few examples for works that concern the tracking problem can be found in [6, 52, 15, 5, 80].
Despite all this, we find it important to mention Koren’s work which enlighten the navigation
problem from a different, rather important, point of view.
1.2 Objectives and Significance of Work
As presented in Section 1.1, the problem of finding a collision free path connecting two points
in occupied environments has no particular optimal solution. Moreover, when safety con-
straints such as braking distance and speed dependant turning radius are imposed, dynamic
constraints on robot’s motion are involved which makes the path planning a more complex
task.
As discussed, when dynamic constraints are involved, common numerical approaches
suggest discretizing the search space into a regular grid then implementing a numerical
solver which in some cases does converges to the optimal path (with respect to some quality
measure) in an infinite time.
This thesis considers a relatively simplified problem in which the robot’s model is a
planar disc navigating in the plane among stationary obstacles. The robot is subjected to
19
braking safety as well as turning radius constraint. The thesis synthesizes these dynamic
constraints into the geometrical path planning and allows to rigorously ensure safety as well
as optimality in analytical fundamental verified methods.
Our first approach taken for computing a safe high speed path is supported by the
Stratified Morse Theory (Chapter 2). Then a new approach is taken using the Theory of
Calculus of Variations (Chapter 3). Convexity properties of these paths allow to ensure
convergence to the time optimal path in an accuracy algorithm which is highly efficient for
path planning.
The tools developed in this research will allow extension to more complex scenarios where
dynamic constraints are involved and efficient computation process is required.
1.3 Thesis Outline
The thesis consists of two main parts excluding this introductory chapter and the concluding
one. The first part of the thesis (Chapter 2) consists of a simplified model where the robot’s
speed dependant safe braking constraint is considered uniformly in all directions. A pseudo
time optimal path is computed, one that not only avoids the surrounding obstacles by also
satisfies the safe braking constraint. This simplified model allows to model the safe braking
constraint in a 3D configurations space, denoted vc-space, whose axes are the robot’s position
in IR2
and it’s velocity magnitude or speed. A method for modeling the safe braking distance
is presented, then a cellular decomposition of the free portion of the vc-space is suggested.
Based on this cellular decomposition, an adjacency graph is constructed and a pseudo time
optimal path is found. This model enables us to find the pseudo-optimal, collision free path
for the robot while preserving the braking distance constraint. A post processing algorithm
ensures that the safe turning radius constraint that prevents sliding and tipping over is
satisfied.
The second part of the thesis (Chapter 3) consists of finding the time optimal path
subject to the uniform safe braking constraint, using the speed graph method. Using calculus
of variations, the speed graph method computes the global time optimal path of a mobile
robot navigating in an environment populated by stationary obstacles and subjected to a
20
uniform safe braking constraint. The classical Brachistochrone problem describes the time
optimal path between two points in an obstacle free environment subjected to a constant force
field. By encoding the braking safety constraint as a force field surrounding each obstacle, the
method generalizes the Brachistochrone problem into the time optimal navigation problem in
an environment populated by stationary obstacles. The time optimal safe path between any
start and target is first computed on a simplified problem, where the mobile robot navigates
in the vicinity of a single point or a wall segment obstacle. Then, the analysis is extended to
environment containing outer walls and multiple internal polygonal obstacles. First, a Speed
Graph for the environment in constructed, which consists of time optimal edges that connect
critical via points. The speed graph is then used to efficiently compute the homotopy class
of paths which most likely contains the global time optimal path1. In the second stage, the
exact time optimal path is computed within the chosen homotopy class based on convexity
properties of these paths.
The concluding chapter of this thesis, summarizes the results of this work and discusses
future extension beyond the scope of this research. Auxiliary material is also added in the
appendices.
1
Two continuous paths α : [a, b] → IRn
and β : [a, b] → IRn
connecting start and target denoted pS
and pT , belong to the same homotopy class if there is a continuous mapping, F : [a, b] × [0, 1] → IRn
,
such that F(t, 0) = α(t), F(t, 1) = β(t) for t ∈ [a, b] and F(a, s) = pS, F(b, s) = pT for s ∈ [0, 1].
21
Chapter 2
High-Speed Navigation of a
Uniformly Braking Mobile Robot
Using Position-Velocity
Configuration Space
22
2.1 Introduction
This chapter considers planar environments populated by stationary obstacles whose location
is known to the robot. The assumption of stationary obstacles is a conservative approach,
suitable for environments where emergency events occur along obstacle edges or just beyond
corners obstructed by obstacles. For instance, an autonomous vehicle moving in an urban
environment may detect another vehicle suddenly emerging from its parking space. By
maintaining suitable safe velocity, the moving vehicle can brake and prevent collision with
the emerging vehicle. More generally, any environment in which emergency events can be
detected at a distance exceeding the robot’s braking distance can be modeled according to
the method proposed in this chapter and also published in [48, 47].
As presented in the abstract, there are two main safety concerns during execution of fast
mobile robot tasks. The first is to ensure that the robot will always be able to reach a full
stop without colliding with any of the stationary obstacles or moving agents [27, 57]. The
second is to ensure that the robot will not slide or tip-over while taking sharp turns at high
velocity. In this chapter we model the uniform braking constraint as vc-obstacles in position-
velocity configuration space. The vc-obstacles’ cross section increases monotonically along
the velocity coordinate. We characterize the critical points where two vc-obstacles meet
for the first time and locally disconnect the free position-velocity configuration space. In
the physical environment, these are critical events where the robot’s velocity becomes too
large to support safe passage between neighboring obstacles. Next, we describe a cellular
decomposition of the free position-velocity space which is based on these critical points. An
adjacency graph is constructed for the cellular decomposition, such that its edges project
onto the Voronoi diagram of the planar environment. A specialized search algorithm called
the vc-method finds an approximate time-minimal path along the adjacency graph. Finally,
the path’s vertices are smoothed to ensure safe turning at the prescribed path velocity. The
resulting path leads the robot from start to target with maximum velocity while guaranteeing
safe braking and turning along the path.
The chapter is structured as follows. Section 2.2 describes the main velocity depen-
dent safety constraints governing high-speed mobile robot motion. Section 2.3 introduces
the position-velocity space and the vc-obstacles induced by the safe braking constraint in
23
v
r
0v 0v v
d(v)
x
y 0v v
0v 
0v v
wiggly path
stops at a shorter
distance from start
Figure 2.1: The straight line braking path ends at the maximal Euclidean distance from
the robot’s initial position.
this space. Section 2.4 defines a cellular decomposition of the free position-velocity space.
Section 2.5 constructs an adjacency graph for the cellular decomposition. A search along
this graph yields a pseudo time optimal path that maintains safe braking distance from the
obstacles. Practical path realization issues such as path turning safety are considered in
Section 2.6. Simulations and experimental results of the method are discussed in Sections
2.7 and 2.8 as well as a brief conclusion in the concluding section of this chapter. Axillary
material is also added in the Appendix A.
2.2 Problem Description and Preliminaries
This section describes the velocity dependent safety constraints governing fast mobile robot
motion. The robot, denoted R, is assumed to be a disc that can freely move in the (x, y)
plane (Figure 2.1). The robot’s position and linear velocity are denoted by q ∈ IR2
and
v ∈ IR2
. The robot is assumed to move with fixed orientation, so that its configuration
space, or c-space, is two dimensional.
The main velocity dependent safety constraints are the need to maintain safe braking
distance, and to prevent sliding as well as tipover during sharp turns. First consider the
safe braking constraint. When the robot executes fast motion between obstacles, it must be
able to brake and reach a full stop without hitting any obstacle during the braking process.
This requirement ensures that sudden events, such as a pedestrian emerging between parked
vehicles into the road, can be safely avoided by a fast moving mobile robot. The length of the
24
shortest braking path is dictated by the robot’s maximal deceleration, a system dependent
parameter which is part of the following definition.
Definition 1 (Linear Acceleration Constraint). The robot’s linear acceleration is con-
strained by system dependent parameters amin and amax, which bound the robot’s acceleration
by
amin  ˙v · ˆv  amax,
where ˆv is the robot’s linear velocity direction and amin  0 to represent deceleration.
The robot’s shortest braking path is defined as follows.
Definition 2 (Shortest Braking Path). The robot’s shortest braking path is any feasible
path along which the robot applies the maximal deceleration amin.
The distance from the robot’s initial position to the point where it reaches a full stop is
not constant. As the robot follows a wiggly but feasible path, this distance becomes shorter
as depicted in Figure 2.1. The robot’s minimal braking distance, denoted d, is the length
of any of its shortest braking paths along which the robot decelerate with amin. Stretching
these braking paths into a linear path of length d will also give a shortest braking path, but
the one with the largest distance measured between the robot’s initial position and the final
braking point. For safety, the robot must keep at least d away from any of the obstacles.
The minimal braking distance can be computed using energy balance as follows [27]. The
mobile robot is modeled as a cylindrical rigid body moving with fixed orientation. Its kinetic
energy is given by
Ek =
1
2
mν2
, (2.1)
where m is the robot’s mass and ν = ||v|| is the robot’s linear velocity magnitude.
Let α(s), s ∈ [0, 1] be a braking trajectory which brings the robot to a full stop along
any of the shortest braking paths. The net work applied by the static friction force, which
acts between the wheels and the ground in order to bring the robot to a complete stop is
given by
Ef = µ
α(s)
fN ds = µfN d = µmgd, (2.2)
where µ is the static coefficient of friction between the wheels and the ground, g is the
25
gravitational acceleration, and fN =mg is the net normal force at the contacts. The minimal
braking path, d, occurs when the frictional reaction forces between the wheels and the ground
are aligned with the friction-cone edge opposing the direction of motion. Note that during
this braking phase, the wheels are rolling without sliding at the contacts. A complete stop of
the mobile robot requires that all its initial kinetic energy be absorbed by the braking force,
Ek = Ef . (2.3)
Substituting for Ek and Ef gives 1
2mν2 = µmgd. The minimal braking distance is therefore
d(ν) =
1
2µg
ν2
= kν2
, (2.4)
where k = 1/2µg is a constant.
Note that d(ν) does not depend on the robot’s mass. This assumption is valid only under
an ideal rigid body model. In practice the robot’s wheels are rubber coated and experience
substantial deformations at the contacts. In these cases the friction coefficient µ (and hence
the braking distance d) is strongly influenced by the robot’s mass m [68][chap. 3].
Also note that the actual frictional work is accomplished by the braking pads of the robot
and not by the static friction between the wheels and the ground. However if we assume that
the braking pads can deliver a larger braking force than the friction force at the contacts
then the previous development sustains.
The uniform braking constraint: Uniform braking safety is ensured when the robot
is kept at least d(ν) away from the nearest obstacle. This conservative safety criterion is
illustrated in Figure 2.1. All paths that bring the robot to a full stop while applying the
maximal deceleration amin have the same length d. When the closest obstacle is located at
least d away from the robot’s initial position, the robot can reach a full stop without hitting
any obstacle while following any maximal deceleration path.
The second major velocity dependent constraint is the robot’s minimal turning radius.
While turning, centrifugal forces and lateral moments act on the robot’s body. A practical
means to prevent sliding or tipping-over is to lower bound the robot’s turning radius at any
given velocity, as specified in the following definition.
26
v
iCO
R
( )d v
x
R
y
iO
iCO
iO
(a) (b)
Figure 2.2: (a) The c-obstacle of a disc robot. (b) The vc-obstacle slice when the robot
travels with velocity magnitude ν.
Definition 3 (Turning Radius Constraint). The robot’s minimal turning radius is speci-
fied by a system dependent function rmin(ν), where ν is the robot’s current velocity magnitude.
An expression for the robot’s minimal turning radius, rmin(ν), is derived in Appendix A.
The high-speed navigation method proposed in this chapter generates a pseudo time optimal
path that maintains safe braking distance from the obstacles. The path is then locally
smoothed to ensure safe turning radius at the prescribed velocity along the path.
2.3 Position Velocity Configuration Space
This section defines the position-velocity configuration space and the “obstacles” that encode
the safe braking constraint in this space. Consider the mobile robot to be a disc, R, moving
in the (x, y) plane. Let R(q) be the set of points occupied by the disc robot when its center is
located at q=(x, y). The obstacles occupy stationary sets denoted O1, ..., Ok. Each obstacle
Oi induces a c-obstacle, denoted COi, given by
COi = {q∈IR2
: R(q) ∩ Oi = ∅} i = 1 . . . k. (2.5)
Each c-obstacle is obtained by uniformly expanding the physical obstacle by the robot’s
radius, as depicted in Figure 2.2(a). The free configuration space is the complement of the
c-obstacle interiors,
F = IR2
− ∪
i=1...k
int(COi), (2.6)
27
where int(COi) denotes the interior of COi.
Position-velocity configuration space generalizes the notion of configuration space by
adding the robot’s velocity magnitude, ν, as an additional coordinate.
Definition 4. The position velocity configuration space of a disc robot R is the three-
dimensional space IR3
with coordinates p = (x, y, ν), where q = (x, y) is the robot’s position
and ν is the robot’s linear velocity magnitude.
The safe braking constraint is next defined as forbidden regions in position-velocity con-
figuration space. Let dst(q, Oi) be the minimal Euclidean distance of a point q ∈ IR2
from
the obstacle Oi.
Definition 5. Given a robot R and an obstacle Oi, the vc-obstacle induced by Oi, denoted
COv
i , is given by
COv
i = (q, ν) ∈ IR3
: dst (q, Oi) ≤ d(ν) , (2.7)
where d(ν) is the minimal braking distance for a robot traveling with velocity magnitude ν.
The free position-velocity configuration space, denoted Fv , is the complement of the vc-
obstacle interiors,
Fv
= IR3
− ∪
i=1..k
int(COv
i ), (2.8)
where int(COv
i ) denotes the interior of COv
i . At any point p ∈ Fv, the robot initially
positioned at q and traveling with velocity magnitude ν can reach a full stop, without hitting
any of the obstacles O1, ..., Ok.
Each vc-obstacle forms a vertical column in position-velocity configuration space. The
ν = 0 slice of this column coincides with the c-obstacle COi. As ν increases, the column’s
cross section expands, since the braking distance increases quadratically with ν. Figure 2.2(b)
depicts a fixed-ν slice of a vc-obstacle, while Figures 2.4 and 2.5 sketch the full vc-obstacles.
The rate by which each vc-obstacle cross section expands is quadratic in ν, due to the relation
d(ν) = kν2.
Example: The vc-obstacles associated with three polygonal obstacles are shown in Fig-
ure 2.3. Their bottom cross sections are the c-space obstacles, drawn in the (x, y) plane
which corresponds to ν =0. As ν increases, the vc-obstacles expand outwards while the free
28

x
y
Figure 2.3: The vc-obstacles resemble columns whose cross section expands monotonically
along the ν coordinate.
space Fv shrinks inward. The graph depicted in the (x, y) plane is the Voronoi diagram of
the c-space obstacles and an outer boundary which is not shown. The Voronoi diagram will
play an important role in Section 2.5. ◦
2.4 Cellular Decomposition of Position-Velocity Con-
figuration Space
This section describes a cellular decomposition of the free position-velocity configuration
space, Fv, such that each cell is associated with a range of velocities that can be safely
executed at a particular locality of the environment. Section 2.4.1 introduces the position-
velocity height function, ϕ, and analyzes its critical points. Section 2.4.2 partitions Fv into
3D cells based on the critical points of ϕ.
2.4.1 The Critical Points of the Height Function
The free position-velocity configuration space is a stratified set [30], consisting of the following
manifolds. The interior of Fv is a three-dimensional manifold. The portions of the vc-
obstacle surfaces on the boundary of Fv form two-dimensional manifolds. The intersection
curves of vc-obstacle surfaces form one-dimensional manifolds. The isolated points where
three vc-obstacle surfaces intersect form zero-dimensional manifolds.
29
The cellular decomposition of Fv will be determined by the critical points of the function
ϕ : Fv → IR , which measures the “height” of points p = (x, y, ν) along the ν coordinate in
position-velocity configuration space,
ϕ(x, y, ν) = ν. (2.9)
The critical points of ϕ in Fv are the union of the critical points of the restriction of ϕ
to the individual manifolds comprising Fv [30]. A point p ∈ Fv is a critical point of ϕ
when ϕ(p) is collinear with the generalized normal to the particular manifold containing
the point p. The generalized normal of the manifolds comprising Fv can be characterized as
follows [20]. In the interior three-dimensional manifold, the generalized normal is the zero
vector. At a point on a vc-obstacle surface, it is the usual surface normal pointing into Fv.
At a point on the intersection curve of two vc-obstacle surfaces, it is the convex combination
of the two surface normals meeting at this point. Last, every zero-dimensional manifold is
automatically a critical point of ϕ. The following theorem asserts that ϕ has two types of
critical points.
Theorem 1. The critical points of ϕ in Fv are located either on the intersection curve of
two vc-obstacle surfaces, or at the intersection point of three vc-obstacle surfaces.
Proof: First consider the interior of Fv. Since ϕ(p) = (0, 0, 1) is a non-zero vector, ϕ
cannot have any critical point in the interior of Fv. Next consider the vc-obstacle surfaces,
denoted bdy(COv
i ) for i = 1 . . . k. Denote by ηi = (ηx, ηy, ην) the normal to bdy(COv
i ) at p.
If p is a critical point of ϕ, ϕ must be collinear with ηi:






0
0
1






×






ηx
ηy
ηv






=






−ηy
ηx
0






=






0
0
0






⇒ η=






0
0
ηv






(2.10)
Thus, a necessary condition for p to be a critical point is that (ηx, ηy) = (0, 0) at this
point. The boundary of COv
i is the zero level-set of the scalar valued function: ψ(x, y, ν) =
dst((x, y), Oi) − kν2 = 0. Therefore ψ is collinear with the vc-obstacle normal ηi, and up
30
to a multiplicative factor:
ηi(x, y, ν) = ψ(x, y, ν) =



dst (q, Oi)
−2kν


.
The function dst(q, Oi) measures the minimal Euclidean distance between q=(x, y) and Oi.
This function is known to have a unit magnitude gradient, pointing from the neatest point on
Oi’s boundary to q [20][Proposition 2.5.4]1. Since dst(q, Oi) is a non-zero vector, ϕ cannot
have critical points on bdy(COv
i ) for i = 1 . . . k.
Next consider a point p on the intersection curve of adjacent vc-obstacle surfaces. The
generalized normal at p ∈ bdy(COv
i )∩bdy(COv
j ) is the convex combination of the vc-obstacle
normals, ηi and ηj,
η ∈ λ1ηi + λ2ηj 0 ≤ λ1, λ2 ≤ 1, λ1+λ2 =1.
A critical point p must therefore satisfy the condition:
ϕ(p) =






0
0
1






= λ1ηi + λ2ηj for some λ1, λ2 ≥ 0. (2.11)
It follows from (2.11) that ϕ has a critical point at p when the tangent to the intersection
curve at p is purely horizontal in (x, y, ν)-space. Such points occur at the lowest points
along the intersection curves. Finally, every isolated point where three vc-obstacle surfaces
intersect is automatically a critical point of ϕ.
The critical points of ϕ on the intersection curve of vc-obstacle pairs will be called Type
I points, while the critical points of ϕ at the intersection points of vc-obstacle triplets will
be called Type II points. The two types of critical points are either saddles or local maxima,
as stated in the following proposition.
Proposition 2.4.1. The function ϕ:Fv →IR has non-smooth saddles at the Type I critical
points, and non-smooth local maxima at the Type II critical points.
1
One must use the generalized normal of dst(q, Oi) when q has multiple nearest points on bdy(Oi).
31
P
v
jCOv
iCO
x
y
pv

F
Intersection curve
injn
pv v
pv v
pv v

(a) (b)

Figure 2.4: (a) A Type I critical point is a saddle point of ϕ in Fv. (b) The vc-obstacles
slices in the vicinity of the saddle point.
Proof Sketch: Let p be a Type I critical point of ϕ. Then p ∈ bdy(COv
i ) ∩ bdy(COv
j ),
such that the tangent to the curve bdy(COv
i ) ∩ bdy(COv
j ) is purely horizontal at p. Since
the vc-obstacles form columns whose cross-section expands monotonically along the ν axis,
the point p must be a local minimum of ϕ along the intersection curve. Let Vp be the plane
orthogonal to the curve bdy(COv
i ) ∩ bdy(COv
j ) at p. Let Up be a small three-dimensional
ball centered at p. The free space in Vp ∩ Up looks like an inverted V shape, with p located
at its upper vertex (see Figure 2.4(a)). It follows that ϕ has a local maximum within the set
Vp ∩ Up. Since ϕ has a local minimum and maximum along orthogonal directions at p, it has
a non-smooth saddle at this point.
When p is a Type II critical point of ϕ, three vc-obstacles intersect at this point. The
cross-section of each vc-obstacle expands monotonically along the ν axis. Hence at any fixed-
ν slice above p, the three vc-obstacles strictly penetrate each other. Since Fv is bounded
from above by the three vc-obstacles at p, the point p is a non-smooth local maximum of ϕ.
A Type I critical point p is thus a saddle of ϕ in Fv. Based on stratified Morse theory [30],
a locally connected fixed-ν slice of Fv just below p splits at the saddle and becomes two locally
disconnected sets in the slices just above p.
Example: Figure 2.4(a) shows a saddle point p where two vc-obstacles meet for the first
time along the ν axis. Note that ϕ = (0, 0, 1) is orthogonal to the intersection curve
32
P
v
jCOv
iCO
x
y
v
v
kCO
jn
kn
in

Figure 2.5: A Type II critical point is a local maximum of ϕ in Fv.
bdy(COv
i ) ∩ bdy(COv
j ) at p. Figure 2.4(b) depicts three fixed-ν slices: below p, through p,
and above p. ◦
The next example illustrates the free space Fv at a Type II critical point.
Example: Figure 2.5 illustrates a local maximum point p, where three vc-obstacles meet
for the first time along the ν axis. The point p is a zero-dimensional manifold and hence it
is a critical point of ϕ. ◦
2.4.2 The Partition of F v
Into 3D Cells
The free position-velocity configuration space will be partitioned by vertical planes called
vertical partitions, and by horizontal planes called horizontal partitions. Each of these par-
titions will pass through a critical point of ϕ. The vertical partitions are defined as follows.
Definition 6. Let p ∈ Fv be a saddle point of ϕ. Let P be the plane which passes through
p and spanned by the vc-obstacle normals at p. The vertical partition at p is the portion
of P ∩ Fv containing the point p.
Every vertical partition is bounded from below by the (x, y, 0) plane, from above by the
saddle point p, and from the “sides” by the vc-obstacles. The lower edges of the vertical
partitions decompose the (x, y) plane into two-dimensional regions, as shown in Figure 2.6.
To see that the vertical partitions are indeed vertically aligned, note that the tangent to the
intersection curve of two vc-obstacles is purely horizontal at p. At a critical point of ϕ, the
33
(x,y) projection of 3D cells
vertical partitions
bottom edges
saddle points projections
kO
jO
iO
Voronoi node
Figure 2.6: The (x, y) projection of a stack of 3D cells.
latter tangent is orthogonal to the vc-obstacle normals at p. Hence the plane spanned by
the vc-obstacle normals at p is vertically aligned in (x, y, ν) space. The horizontal partitions
are next defined.
Definition 7. Let p ∈ Fv be a saddle or a local maximum point of ϕ. Let H be a plane
parallel to the (x, y) plane passing through p. The horizontal partition at p is the portion
of H ∩ Fv containing the point p.
Each horizontal partition lies in a fixed-ν slice. When a horizontal partition passes
through a local maximum point, it consists of this single point. When the partition passes
through a saddle point, it forms a two-dimensional planar set bounded by nearby vc-obstacles.
The union of the horizontal and vertical partitions induces a cellular decomposition of the
free position-velocity space into 3D cells.
Definition 8. The cellular decomposition of the free position-velocity space, Fv, consists
of 3D cells bounded by the horizontal and vertical partitions passing through the critical points
of ϕ and the vc-obstacles.
The cellular decomposition of Fv consists of “stacks” of 3D cells separated by three
vertical partitions (in the generic case) and vc-obstacles. The cells within each stack are
separated by horizontal partitions, as illustrated in the following example.
Example: Figure 2.7 depicts three vc-obstacles together with their horizontal and vertical
partitions. The portion of Fv between the vc-obstacles forms a stack of four 3D cells,
separated by horizontal partitions passing through three saddles and one local maximum of
ϕ. ◦
A stack of 3D cells can have a more complex structure in non-generic situations. For
34
saddle
points
vertical
partitions
horizontal
partitions
3D cell
maximum point
3D cell
3D cell
3D cell
x
y
v
Figure 2.7: A stack of 3D cells is generically surrounded by three vc-obstacle and three
vertical partitions.
instance, when four identical obstacles are symmetrically arranged about a common center
point, their stack of 3D cells is surrounded by four vc-obstacles and four vertical parti-
tions. However, almost any local perturbation of the obstacle positions will give the generic
structure described above.
(x,y) projection of 3D cells
vertical patitions’
bottom edges
saddle points projections
jO
Voronoi node
kO
iO
lO
Figure 2.8: The (x, y) projection of the 3D cells associated with a non-generic obstacle
arrangement.
Example: Figure 2.8 depicts four symmetrically arranged obstacles in the plane. The
corresponding 3D cells are surrounded by four vc-obstacles and four vertical partitions whose
bottom edges can be seen in Figure 2.8. The portion of Fv between the vc-obstacles and the
vertical partitions consists of five rather than four 3D cells, and the cells’ local maximum
is the intersection point of four rather than three vc-obstacles. Note that almost any local
perturbation of the obstacle positions would give the generic structure described above. ◦
35
2.5 The Cells Adjacency Graph
The vc-method constructs an adjacency graph, denoted Gv, for the cellular decomposition
of the free position-velocity space. Each vertex of Gv represents one 3D cell in the cellular
decomposition. The vertex, pi = (xi, yi, νi), is selected at the cell’s center as follows. Its
(xi, yi) coordinates are located at the point which maximizes the minimal distance from the
surrounding c-obstacles in the (x, y) plane (it is a node on the Voronoi diagram). Note
that the vertices in a stack of cells project to the same point in the (x, y) plane. The νi
coordinate is selected at the midpoint between the ν-values of the cell’s bottom and top
horizontal partitions (although it is possible to select any ν-value inside the cell). The edges
of Gv are of two types:
(i) Type A edge connects two vertices whose cells share a common vertical partition. The
(x, y) projection of the edge coincides with the Voronoi edge connecting the (x, y)
projections of the respective cell vertices.
(ii) Type B edge connects two vertices whose cells share a common horizontal partition.
The edge forms a vertical line whose (x, y) projection coincides with the Voronoi node
underlying the cells’ vertices.
When the robot traces a Type A edge it moves along a Voronoi edge with a continuously
varying velocity. Tracing of a Type B edge requires that the robot change its velocity without
any positional change. While not physically realizable, the vertical edges will guide the search
for a pseudo time optimal chain of cells in the cellular decomposition of Fv.
Example: Figure 2.9 depicts three c-obstacles surrounded by a rectangular wall in the (x, y)
plane. The vc-obstacles shown in the figure induce a cellular decomposition of Fv, and the
cells adjacency graph is depicted in the figure. ◦
Path Search on Gv: The vc-method assigns positive weights to the Type A edges and
zero weights to the Type B edges (as the latter edges do not correspond to any positional
change of the robot). The weight of a Type A edge reflects the minimum travel time along
its underlying Voronoi edge. Let a Type A edge connect two adjacency graph vertices,
pi = (qi, νi) and pj = (qj, νj), and pass through a saddle point pij = (qij, νij). The points
lying on the upper boundary of Fv above pi and pj are local maximum points. Denote by
36
adjacency graph
Voronoi edges
x
y
v
Figure 2.9: The adjacency graph of the cellular decomposition induced by three polygonal
obstacles and an outer wall.
νmax(pi) and νmax(pj) the speeds at the two local maxima. The minimum travel time along
the underlying Voronoi edge consists of two motion modes. Starting at qi with maximal
speed νmax(pi), the robot traces the Voronoi edge with maximal deceleration amin, until
reaching the (x, y) projection of the saddle point pij. The robot next traces the remaining
portion of the Voronoi edge with maximal acceleration amax, until reaching the endpoint qj
with maximal speed νmax(pj). The Type A edge cost is given by
Type A edge cost =
νmax(pi) − νij
|amin|
+
νmax(pj) − νij
amax
where νij is the lowest speed at the saddle point pij =(qij, νij).
Any shortest path search algorithm on Gv gives a pseudo time optimal chain of 3D cells
connecting the start cell to the target cell. Note that the chain of cells does not necessarily
contains the geometrically shortest path, but rather an approximate minimum-time path that
guides the robot safely from start to target under a uniform braking distance constraint.
Computational complexity of the vc-method: The adjacency graph vertices project
to Voronoi nodes in the (x, y) plane, while the Type A edges project to Voronoi edges in
the (x, y) plane. In general, the Voronoi diagram of a polygonal environment containing n
vertices has O(n) nodes and edges [7, 62]. Each vertical stack in the cellular decomposition
of Fv consists of four 3D cells. Hence there are O(n) vertices in Gv. Each 3D cell is
37
start
(a)
61 2 3 4 5
targetstart (b)
s
saddle
saddle
target
x
y

amax
acceleration
amin
deceleration

7 8
Figure 2.10: (a) The optimal path lies in vertical strips. (b) Path unfolding and vertical
edges realization.
horizontally connected to at most three neighboring cells, and is vertically connected to at
most two cells. Hence there are O(n) edges in Gv. Standard shortest path search algorithms
run in O(E log E) steps, where E is the total number of graph edges. Since Gv has size
O(n), the vc-method constructs the adjacency graph in O(n) time and searches the graph
in O(n log n) time. While the method is highly efficient, it only provides an approximate
minimum-time path subject to a uniform braking distance constraint.
2.6 Practical Path Realization
There are two practical path realization concerns. First, the optimal path on Gv contains
purely vertical Type B edges that must be modified into physically realizable arcs. Second,
the Type A edges project to Voronoi edges in the (x, y) plane. The Voronoi edges meet
non-smoothly at the nodes, so they must be smoothed at the nodes according to the robot’s
minimal turning radius. These two practical considerations are next discussed.
Path realization: Let the Type A edges along the optimal path be momentarily represented
as horizontal edges in (x, y, ν) space, as illustrated in Figure 2.10(a). The vertical strips along
the optimal path can be unfolded into a common vertical plane, as shown in Figure 2.10(b).
Note that the horizontal coordinate within this plane is the distance traversed along the
path’s horizontal edges, denoted s in the figure. For any physical robot, it is reasonable
to assume that its maximal acceleration does not exceeds its maximal deceleration, amax ≤
|amin|. Let us assume here that amax =|amin| (the path realization procedure can be adapted
to the case where amax  |amin|). A time optimal realization is obtained by shifting the
38
adjacency-graph path vertically upward in (x, y, ν) space, until it lies on the upper boundary
of Fv. The shifted path vertices lie at local maximum points. Each arc of the shifted path
traces a vc-obstacle downward with minimal slope amin until reaching a saddle point, then
traces a vc-obstacle upward with maximal slope amax until reaching the next local maximum
point (Figure 2.10(b)). The path realization procedure is summarized for start and target
located on vc-obstacle boundaries.
1. Accelerate from the start position with amax to the first local maximum point along
the path (arc 1 in Figure 2.10(b)).
2. Decelerate from a local maximum point with amin to the next saddle point along the
path (arcs 2, 4, and 6 in Figure 2.10(b)).
3. Accelerate from the saddle point with amax to the next local maximum point along
the path (arcs 3, 5, and 7 in Figure 2.10(b)).
4. Decelerate from the last local maximum point with amin along the path, until reaching
the target with zero velocity (arc 8 in Figure 2.10(b)).
The path realization procedure achieves minimum travel time among all possible re-
alizations of the adjacency graph paths. The acceleration profile along the realized path
is basically a Bang-Bang parametrization: it always selects the maximal deceleration and
maximal acceleration, amin or amax, while maintaining a safe braking distance from the
obstacles.
The problem of minimizing the travel time along a specific given path is also known in
the literature as the time optimal control problem of a double integrator. The objective in
this problem is to bring a point mass moving with initial speed vS at xS to rest at the origin
in minimum time using bounded acceleration. This can be easily extended to any terminal
speed vT . The dynamics of this system is given by
˙x1(t) = x2
˙x2(t) = u,
with |u|  1, where x1(t) is the object’s position and x2(t) is its speed. A solution for this
39
1x
2x
Figure 2.11: A switching curve (in red) for the double integrator problem along which
the point mass reaches the origin with zero speed.
kB
jB
iB
kB
jB
iBminr
x
y
(a) (b)
1e
2e
1e
2e
Figure 2.12: (a) The optimal path passing through a node. (b) The smoothed path follows
the minimum safe turning radius arc.
problem is derived by a switching curve (see Figure 2.11) in the x1−x2 plane which determines
the exact time instant when u switches between its extreme values. See [14](Section 3.9) for
full details.
Path smoothing at the nodes: The Type A edges project to Voronoi edges that meet
non-smoothly at discrete nodes in the (x, y) plane. But the robot must respect a velocity
dependent lower bound on its turning radius, rmin(ν), specified in the appendix. When the
optimal path in Gv passes through a vertex pi = (qi, νi), the robot changes its direction of
motion along a circular arc of radius rmin(νi) which is tangent to the Voronoi edges meeting
at qi. By following this circular arc with velocity magnitude which varies linearly between
its values at the arc’s endpoints, the robot executes a smooth edge transition while satisfying
the minimum turning radius constraint. The path smoothing procedure is illustrated in the
following example.
Example: Figure 2.12(a) depicts three c-obstacles in the (x, y) plane, together with three
40
0 50 100 150 200 250 300
0
50
100
150
200
250
300
target
start
Voronoi
edges
vc-method
lmin
uW
lW
Figure 2.13: A disc robot navigating with high speed in an office environment.
Voronoi edges meeting at a node. The (x, y) projection of the adjacency graph path follows
the edges e1 and e2 indicated in the figure. The path must pass through the non-smooth node
at a speed ν = νi prescribed by the (x, y, ν) path. Figure 2.12(b) schematically shows the
circle having the minimal turning radius rmin(νi) (specified in the appendix). The locally
smoothed path replaces the node and portions of e1 and e2 with a circular arc of radius
rmin(νi) tangent to the path’s Voronoi edges at the node. The robot executes a smooth
transition from e1 to e2 by following the circular arc with with speed that varies linearly
between its values at the arc’s endpoints. ◦
2.7 Simulations
This section describes two simulation studies. The first study considers the effect of the inter-
obstacle clearance on the vc-method paths. The second simulation compares the vc-method
with the classical dynamic window approach.
2.7.1 Influence of Obstacles Clearance on VC-Method Paths
Consider the simplified office environment depicted in Figure 2.13. The left space is an empty
room, while the right space contains a large table of variable length. The Voronoi diagram
41
(a)
s0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
5
10
15
20
25
30
minl
vc-method
v
Figure 2.14: The speed of the robot for δ = 3.4.
which guides the construction of the adjacency graph is also depicted in the figure. The
upper passage is assigned a variable width Wu, while the lower passage is kept at a fixed
width, Wl, which equals 1.5 times the robot’s diameter. The ratio between Wu and Wl is
defined as δ = Wu/Wl, where δ ≥ 1.
Using the start and target indicated in Figure 2.13, the geometrically shortest path from
start to target on the Voronoi diagram passes through the lower passage. In this particular
environment, as long as 1 ≤ δ ≤ 3 the vc-method travels with low speeds through the lower
passage. When δ  3, the geometrically longer path can be safely traced at a higher speed
and hence with a shorter travel time. Figure 2.14 depicts the velocity profiles of the two
paths for δ = 3.4. The vertical axis is the robot’s speed, ν, while the horizontal axis is the
robot’s normalized position , s the path. Each velocity profile includes segments where the
robot accelerates or decelerates with its maximal capabilities and segments where the robot
travels with constant speed.
The graph in Figure 2.15 plots the ratio between the vc-method travel time, t(vc-method),
and the geometrically shortest path safe travel time on the Voronoi diagram, t(lmin), as
a function of δ. Note that t(lmin) remains constant for all values of δ. When δ is small, the
robot cannot travel rapidly through the top passage due to the braking distance constraint.
Therefore it selects the geometrically shortest path through the bottom passage. As δ in-
creases, the robot can safely travel with high speed through the top passage, thus achieving
a sorter travel time compared with t(lmin). While the travel time improvement is modest,
congested obstacle scenarios would give substantial travel time savings.
42

lower passage paths
upper passage paths
t(vc-method)/t(lmin)
3
Figure 2.15: The ratio t(vc-method)/t(lmin) of the vc-method as a function of δ.
2.7.2 Comparison of the VC-Method with the Dynamic Win-
dow Approach
The vc-method is next compared with the dynamic window approach [13, 26]. The dynamic
window approach, or DWA, chooses the path’s velocity within a user specified time-window.
Within each time-window the robot moves along a circular arc of radius r. The selection
of r and the speed ν along this arc is based on maximization of an objective function that
consists of three components:
1. Target heading: a function head(r, ν) measuring the inverse deviation of the robot
heading from the target direction.
2. Obstacle clearance: a function dst(r, ν) measuring the minimal distance to the sur-
rounding obstacles.
3. Forward velocity: a function vel(r, ν) specifying the robot’s normalized speed during
tracing of the current circular arc.
The objective function, denoted G(r, ν), is the weighted sum of the three elements:
G(r, ν) = α · head(r, ν) + β · dst(r, ν) + γ · vel(r, ν)
where α, β, and γ are user-specified weights. In each time-window, G(r, ν) is maximized
over all turning radii r and speeds ν that ensure collision-free trajectories as well as braking
43
(b)
goal
start
(a)
start
targettarget
start
vc-method
DWA
Voronoi edges Voronoi edges
vc-method
DWA
target
start
DWA
Voronoi edges
(c)
vc-method
Figure 2.16: The vc-method and DWA paths in (a)-(b) a rectangular room containing an
obstacle cluster, and (c) a urban-like environment.
VC-method time DWA time VC-method length DWA length
Example (i) 24 39 4.85 4.37
Example (ii) 31 52 6.25 2.63
Example (iii) 24 46 5.04 4.38
Table 2.1: Running time in seconds and length in meters of the three simulations.
safety. In our simulations, the dynamic window approach is implemented with unit weights,
α=β =γ =1, and time-window of one second.
In order to study the difference between the vc-method and the dynamic window ap-
proach, two scenarios are considered. The first scenario, depicted in Figure 2.16(a)-(b),
consists of an obstacle cluster in a rectangular room. In Example (i), the start and target
lie at opposite sides of the obstacle cluster (Figure 2.16(a)). The DWA path in this example
passes between the obstacles through low-clearance passages. While the vc-method path
is geometrically longer, it passes through wide-clearance passages that allow higher speeds
subject to the uniform braking distance constraint. The robot’s speed profile is illustrated
in Figure 2.17(a). As indicated in Table 2.1, the vc-method travel time is almost one half of
the DWA travel time. In Example (ii), the target lies at the upper left corner of the room,
where it is directly visible from the start (Figure 2.16(b)). The DWA path moves through
the narrow passage along the geometrically shortest path to the target. The vc-method path
circumnavigates the obstacle cluster along a significantly longer path. However, this path
allows the robot to maximize its velocity while respecting the braking distance constraint
(Figure 2.17(b)). The vc-method travel time is again almost one half of the DWA travel
time (Table 2.1).
44
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
5
10
15
20
25
30
35
(b)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
5
10
15
20
25
30
35
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
5
10
15
20
25
30
35
(a)
DWA
DWA
vc-method
vc-method
minl
v
s
s
s
v
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
5
10
15
20
25
30
vc-method
v
vc-method
(a)
Figure 2.17: The velocity profiles of the paths illustrated in Figures 2.16(a)-(b).
The second scenario, depicted in Figure 2.16(c), resembles urban city blocks surrounded
by a rectangular boundary. The start and target are located at opposite corners of the envi-
ronment. The vc-method path follows Voronoi edges that maintain wide clearance from the
obstacles. This path permits high speeds subject to the uniform braking distance constraint.
The DWA path passes through a low-clearance passage between adjacent city blocks. While
this is a shorter path, the narrow passage forces the robot to slow down, resulting in a path
whose travel time is almost twice longer than the vc-method travel time (Table 2.1).
The simulations indicate that when the motivation is to reduce travel time rather than
path length, wide clearance paths support higher speeds (and hence reduced travel time)
under the uniform braking constraint. By methodically searching the free cells of position-
velocity configuration space, significant travel time improvements can be obtained relative
to more traditional high-speed navigation methods.
2.8 Experiments
The vc-method was implemented on an Irobot Create 4400 platform. The robot’s mini-
mal deceleration was set to amin = −100 mm/sec2
, the maximal acceleration was set to
amax = 100 mm/sec2
, and the minimal turning radius was set to rmin = 300 mm. These
scaled values reflect those of autonomous high-speed platforms (e.g. [3, 2]). Figure 2.18 de-
picts the experimental setup. The environment contains three rectangular obstacles located
within a rectangular outer boundary. The Voronoi diagram which underlies the adjacency
graph construction is marked on the floor. The environment resembles the obstacle-cluster
environment described in Section 2.7.
45
1
2
3
Figure 2.18: The experiment setup of three polygonal obstacles within a rectangular outer
boundary.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
5
10
15
20
25
30
35
(b)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
5
10
15
20
25
30
35
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
5
10
15
20
25
30
DWA
vc-method
vc-method
DWA
vc-method
vc-method
minl
v
s
( / sec)v mm
(sec)T
s
v
0 5 10 15 20 25 30 35 40 45
0
50
100
150
200
250
300
1
2
3
Figure 2.19: The velocity profiles of the three programmed paths.
46
The robot was programmed to trace three trajectories along the Voronoi diagram edges
(Figure 2.18) and to implement different velocity profiles. The trajectories begin and end
at the same start and target points, but each has a different velocity profile dictated by the
uniform braking distance constraint. The experiment compares the geometrically shortest
path along the Voronoi diagram (trajectory 1), an intermediate length path (trajectory
2), and the vc-method path (trajectory 3). The experimental path length, travel time, and
average speed of the three trajectories are listed in Table 2.8. The velocity profiles of the three
programmed paths are depicted in Figure 2.19. The geometrically shortest path (trajectory
1) takes the longest time. The low-clearance passages along this path force low average speed
of 0.08 m/sec and travel time of 45 seconds. The intermediate length path (trajectory 2)
moves with average speed of 0.14 m/sec and travel time of 32 seconds. The vc-method path
(trajectory 3) moves through wide clearance passages with average speed of 0.26 m/sec and
the shortest travel time of 26 seconds.
Path Length (m) Duration (sec) Avg. speed (m/sec)
Trajectory 1 3.5 45 0.08
Trajectory 2 4.5 32 0.14
Trajectory 3 6.7 26 0.26
Table 2.2: Experiment Results
The experiment corroborates the vc-method usefulness for high-speed safe navigation in
congested environments. Controlling the Irobot position and speed proved to be difficult in
the experiments, due to its position sensor inaccuracy. This inaccuracy limited the robot
ability to precisely trace the Voronoi edges and implement the desired velocity profile. It
is interesting to note that on-line implementation of the method (which requires obstacle
detection sensors not available on the Irobot) will be able to compensate for such positional
inaccuracies based on local sensor readings.
2.9 Conclusion
Maintaining safe braking distance from the obstacles is a major concern during high-speed
mobile robot navigation. This chapter introduces position-velocity configuration space, where
the safe braking constraint is modeled as vc-obstacle. Based on the critical points of the
47
robot’s velocity magnitude function, ϕ(x, y, ν) = ν, the chapter described a cellular decom-
position of position-velocity configuration space into free cells. Each cell is associated with
a particular range of velocities that can be safely followed by the robot. An adjacency graph
constructed for the cellular decomposition allows a search for a pseudo time optimal path
from start to target which avoids the vc-obstacles. The path follows Voronoi edges which
are smoothed to ensure safe turning at the prescribed velocity magnitudes. The resulting
high-speed path leads the robot from start to target while maintaining safe braking distance
from the obstacles.
The vc-method treats the two velocity-dependent safety concerns, safe braking distance
and safe turning radius, at different stages of the planning process. The safe braking distance
is modeled by the vc-obstacles in position-velocity configuration space. The adjacency graph
path avoids the vc-obstacles and thus ensures the uniform braking distance constraint. The
(x, y) projection of the adjacency graph path traces Voronoi edges that meet non-smoothly at
discrete nodes. The turning radius safety constraint is enforces as a post-processing stage, by
locally smoothing the path at the Voronoi nodes. This division of the two velocity-dependent
safety concerns seems to offer practical advantages in terms of computational efficiency and
ease of implementation.
Based on simulations and experiments, the vc-method offers substantial improvement of
total travel time required for safe mobile robot navigation. The method computes an approx-
imate minimum-time safe path in O(n log n) time, where n is the total number of obstacle
vertices in the case of a polygonal environment. While the vc-method is highly efficient, it
does not provide an upper bound on the quality of approximation with respect to the exact
time-optimal safe path. Next, we propose the speed graph method which computes the time
optimal path of a mobile robot subjected to similar dynamic constraints as discussed here.
Although it first seems like an NP-hard problem, we will show that the time optimal path
computation can be reduced into a low polynomial complexity.
48
Chapter 3
The Speed Graph Method: Time
Optimal Navigation Among
Obstacles Subject to Safe Braking
Constraint
49
3.1 Introduction
This chapter considers the time optimal paths of a mobile robot navigating in a polygonal en-
vironment subject to uniform braking safety constraints. Similarly to Chapter 2, stationary
obstacles are assumed as well as uniform braking safety. This enables to formulate to encode
the braking safety as a state (position and velocity) dependant constraint, which in turn
allows formulation of the safe time optimal navigation problem using calculus of variations.
The time optimal path minimizes a travel time functional, denoted T(α), defined over all
collision free paths α connecting the start and target. The work presented here, analyzes the
properties of T(α), then uses these properties to develop the speed graph method which com-
putes safe time optimal paths in environments populated by polygonal obstacles. The speed
graph consists of safe time optimal arcs connecting special via points located on the Voronoi
diagram of the environment. The speed graph is used to efficiently select the most promising
path homotopy class connecting the start and target in the environment1. Convexity prop-
erties of T(α) are then used to compute the safe time optimal path within the candidate
homotopy class as a convex optimization problem in O(n3 log(1/ )) time, where is the de-
sired solution accuracy. Importantly, the entire process takes place in the robot’s state space,
thus treating the geometric path planning and the speed profiling in a single framework.
The chapter is structured as follows. Section 3.2 formulates the safe time optimal navi-
gation problem under uniform braking safety constraints. Section 3.3 describes analytic so-
lutions for the safe time optimal path near a point obstacle and a wall segment. Section 3.4
formulates the safe time optimal navigation problem in polygonal environments, then de-
scribes basic properties of the safe travel time functional in such environments. Section 3.5
describes the speed graph whose construction uses the point obstacle and wall segment time
optimal solutions. Section 3.6 describes a convex optimization scheme for computing the
exact time optimal path in each path homotopy class suggested by the speed graph. Sec-
tion 3.7 discusses simulations and preliminary experiments. The concluding section discusses
extensions of the safe time optimal navigation problem to more demanding scenarios. Two
appendices contain auxiliary material.
1
The notion of path homotopy is reviewed later in the chapter.
50
3.2 Problem Description and Preliminaries
This chapter considers the following problem, first formulated by Fraichard [27]. A mobile
robot modeled as point or a disc has to navigate with high speed in a planar environment pop-
ulated by static polygonal obstacles. The robot is assumed to move freely in IR2
and its state,
denoted (q, ν) ∈ IR2
× IR+
, consists of its position, q = (x, y), and its speed ν = ||v|| = || ˙q||.
While the robot navigates with high speed in the given environment, emergency events may
occur at any time along obstacle boundaries. For instance, a vehicle driving autonomously
along an urban road must limit its speed to a level allowing the vehicle to brake and reach a
full stop when another car suddenly emerges from its parking spot, or a pedestrian suddenly
emerges between two parked vehicles.
To ensure motion safety, the robot must brake and reach a full stop without hitting any
surrounding obstacles whenever such an event is detected by the robot. Braking safety is
ensured when the robot maintains the following safe braking distance constraint. Note that
some notations where already defined in Section 2.2, however for ease of reading we present
them again.
Definition 9. The robot’s safe braking distance, denoted d, is the length of the shortest
kinematically feasible braking path leading from the robot’s current state (q, ν) to a full stop
at ν = 0.
The shortest braking path may be any kinematically feasible path along which the robot
applies maximal deceleration (a system dependent parameter), eventually reaching a full
stop without hitting any obstacle. By maintaining a safe braking distance with respect to
the surrounding obstacles, the robot can handle emergency events that typically occur along
obstacle boundaries. Note that mobile robots are deployed in environments containing static
as well as dynamic obstacles. The current work assumes static obstacles, with the intention
of incorporating dynamic obstacles in future work.
To derive an expression for the safe braking distance as a function of the robot’s current
speed, first consider the robot’s maximal deceleration, denoted amin. Braking on the verge
of sliding determines the robot’s maximal deceleration. The net frictional reaction force
acting at the robot’s wheels during maximal deceleration is given by µmg, where µ is the
coefficient of friction at the ground contacts, m is the robot’s mass, and g is the gravitational
51
acceleration. The robot’s dynamics during maximal deceleration is given by the equation
mamin = µmg, and this equation gives the maximal deceleration:
amin = µg. (3.1)
While amin does not depend on the robot’s mass, the coefficient of friction µ usually
depends on m due to local deformations at the robot’s wheels [68][p. 15]. The safe braking
distance is computed using energy balance. When the robot moves along a kinematically
feasible braking path, the frictional reaction forces at the contacts are aligned with the
friction cone edge opposing the direction of motion (note that the wheels are rolling without
sliding during this braking phase). A complete stop of the robot requires that all its initial
kinetic energy be absorbed by the braking force. This energy balance leads to the expression
(see e.g. [27]),
d(ν) =
1
2amin
ν2
(3.2)
where amin is the robot’s maximal deceleration, and ν is the robot’s initial speed. The robot
is required to maintain a uniform braking safety distance from all surrounding obstacles, as
stated in the following definition.
Definition 10. When the mobile robot travels with speed ν, uniform braking safety is
ensured when the robot is kept at least d(ν) away from the nearest obstacle at every state
(q, ν).
Uniform braking safety is clearly a conservative safety criterion for autonomous robots.
To satisfy this requirement, the robot must maintain a circular safety zone in order to allow
safe deceleration to a full stop without hitting any obstacle. Since d(ν) is monotonically
increasing in ν, the circular safety zone increases in size when the robot navigates with
higher speeds, thus limiting the robot’s maximal speed at every point in the environment.
In particular, when the start or target are located at an obstacle boundary point, the robot
must start or reach the respective point with zero velocity.
Note that the actual frictional work is accomplished by the braking pads of the robot and
not by the static friction between the wheels and the ground. However if we assume that the
52
braking pads can deliver a larger braking force than the friction force at the contacts then
the previous development sustains.
3.3 The Safe Time Optimal Path Near a Single Ob-
stacle Feature
This section formulates the safe time optimal path variational problem, then describes an-
alytic solutions for the safe time optimal path near a single obstacle feature which can be
a wall segment or a point obstacle. These solutions will later be used to compute the safe
time optimal path in polygonal environment.
3.3.1 The Travel Time Functional
The robot’s path can be any piecewise smooth curve α(s) : [0, 1] → IR2
with endpoints
pS = α(0) and pT = α(1). When the geometric parameter s is parameterized by time, s(t),
the robot’s speed along α is given by
ν(s(t)) = d
dt α(s(t)) = α (s)
ds(t)
dt
where α (s) = d
ds α(s).
Solving for dt gives:
dt =
α (s)
ν(s)
ds, (3.3)
Integrating both sides of (3.3) gives the travel time functional:
T(α) =
1
0
α (s)
ν(s)
ds, (3.4)
and its minimization over all safe paths α defines the following variational problem.
Definition 11. The travel time variational problem seeks to minimize T(α) over all
piecewise smooth paths α(s) : [0, 1] → IR2
connecting pS and pT , where the speed ν along α
satisfies the uniform braking constraint d(ν) = ν2/2amin.
53
Note that T(α) is a path dependent function. The collection of piecewise smooth paths
in IR2
forms a metric space under the d1 metric:
d1(α1, α2) = max
s∈[0,1]
{ α1(s)−α2(s) }+ max
s∈[0,1]
{ α1(s)−α2(s) },
where α1 and α2 are two piecewise smooth paths connecting the same end points.
Moreover, T(α) is a continuous function of α with respect to this metric [29]. The inte-
grant of T(α) in (3.4), denoted F, is given by
F α(s), α (s), s =
α (s)
ν(s)
.
Based on calculus of variations [29], when F is differentiable with respect to its arguments,
any extremal path of T(α) over all piecewise smooth paths connecting pS and pT must satisfy
the Euler-Lagrange equation:
∂F
∂α
−
∂
∂s
∂F
∂α
= 0, (3.5)
where α and α are to be treated as formal variables. The safe time optimal path near a wall
segment and a point obstacle is next computed.
3.3.2 The Safe Time Optimal Path Near a Wall Segment
First consider the case of a point robot traveling near a wall segment. This case is a direct
extension of the classical Brachistochrone problem. The Brachistochrone problem considers
a mass particle sliding under the influence of gravity on a wire, and computes the wire’s
geometric shape that would give minimum travel time between two fixed endpoints [11]. In
our case the robot’s maximal deceleration, amin, replaces the gravitational acceleration as
follows.
Consider a wall segment aligned with the x axis as shown in Figure 3.1(a). Denote by
pS = (xS, yS) and pT = (xT , yT ) the start and target, which are assumed to lie in the upper
54
half of the infinite strip spanned by the wall segment. To encode the safe braking constraint,
note that the robot’s minimal distance from the wall is given by its y coordinate. Along
a safe time optimal path, the robot must keep a distance of at least d(ν) away from the wall
segment:
y ≥ d(ν).
Substituting d(ν) = ν2/2amin while requiring the robot’s speed to be maximized for travel
time minimization gives:
ν(y) = 2amin · y y ≥ 0. (3.6)
In the case of a wall segment, let us use the horizontal x coordinate as the path param-
eter s. The robot’s path is thus parameterized by α(x) = (x, y(x)) for x ∈ [xS, xT ]. In this
parametrization α (x) dx = 1 + (y (x))2dx, and the safe travel time functional (3.4) is
given by
T(α) =
xT
xS
F y(x), y (x) dx
where
F y, y =
1 + y 2
2amin · y
y ≥ 0, (3.7)
with the end conditions y(xS) = yS and y(xT ) = yT .
Any extremal path of T(α) must satisfy the Euler-Lagrange equation (3.5). Substitut-
ing for F(y, y ) in this equation, while considering the fact that ∂G(y , y, x)/∂x = 0, then
integrating with respect to x, gives the implicit scalar differential equation:
1 = c2
1 + y (x)
2
y(x) (3.8)
where c is yet to be determined. Note that the robot’s maximal deceleration, amin, does
not appear in (3.8). Thus, while the extremal path’s total travel time depends on amin,
55
0 5 10 15 20 25 30 35
0
5
10
15
20
25
30
y
x
5 10 15 20 25 30 35 40
0
5
10
15
20
25
30
y
x
wall segment
(b)(a)
time optimal path
is a cycloid
Sp
Tp
rolling circle
wall segment
Figure 3.1: (a) A circle rolling on the wall segment generates the cycloid curve. (b) The
safe time optimal path near a wall segment.
its geometric shape is invariant with respect to amin. The extremal path solving (3.8) is
a cycloid, α(ξ) = (x(ξ), y(ξ)), where ξ represents the angle that a point fixed on a rolling
circle spans with respect to the vertical direction (Figure 3.1(a)). The formula for α(ξ) is
specified in the following lemma.
Lemma 3.3.1. The safe extremal path of a point robot moving in a planar environment
near a wall segment aligned with the x axis is the cycloid curve:
α(ξ) =






x0
0






+
1
2c2






ξ − sin ξ
1 − cos ξ






ξ ∈ [ξS, ξT ] (3.9)
where ξS, ξT , x0, and c are determined by the path’s endpoints pS and pT . Moreover, α(ξ) is
a local minimum of T(α).
While a formal proof of the lemma is omitted (see e.g. [29]), the Cycloid curve is known of
being the time optimal path connecting two points under a constant gravity field. Since the
problem formulated in this section is identical to the Brachistochrone problem, this Cycloid
curve is time minimal and unique. Note that the time optimal path is uniquely determined
by its endpoints pS and pT . Also note that the time optimal path reaches the x axis along
the normal direction to this axis (Figure 3.1(a)). Moreover, in addition to keeping a safe
braking distance, this path segment also maintains the safe turning radius constraint that
prevents sliding events (see Appendix D).
Example: The time optimal path of a point robot traveling near a wall segment from pS to
56
pT is shown Figure 3.1(b). The path is a cycloid segment that bends with convex curvature
away from the wall segment. ◦
To complete the wall segment case, consider a scenario where the robot is a disc of radius
ρ. The time optimal path of the robot’s center is given by the formula:
α(ξ) =






x0
ρ






+
1
2c2






ξ − sin ξ
1 − cos ξ






ξ ∈ [ξS, ξT ]
where ξS, ξT , x0, and c are determined by the endpoints pS and pT .
3.3.3 The Safe Time Optimal Path Near a Point Obstacle
Next consider the case of a point robot traveling near a point obstacle located at the origin
of the (x, y) plane. Using polar coordinates centered at the origin, (r, θ), the robot’s position
is given by (x, y) = (r cos θ, r sin θ). The robot’s distance from the point obstacle is given by
its r coordinate. Braking safety requires that the robot keep a distance of at least d(ν) away
from the point obstacle:
r ≥ d(ν).
Substituting d(ν) = ν2/2amin while maximizing the robot’s speed for travel time minimiza-
tion gives:
ν(r) =
√
2amin · r r ≥ 0.
Let the robot’s path be parameterized by θ, so that α(θ) = (r(θ) cos θ, r(θ) sin θ) for
θ ∈ [θS, θT ]. Under this parametrization α (θ) dθ = r2(θ) + (r (θ))2dθ, and the travel
time functional is given by
T(α) =
θT
θS
F r(θ), r (θ) dθ
57
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final
Manor_final

More Related Content

What's hot

Volkova_DICTA_robust_feature_based_visual_navigation
Volkova_DICTA_robust_feature_based_visual_navigationVolkova_DICTA_robust_feature_based_visual_navigation
Volkova_DICTA_robust_feature_based_visual_navigationAnastasiia Volkova
 
Trajectory Planning Through Polynomial Equation
Trajectory Planning Through Polynomial EquationTrajectory Planning Through Polynomial Equation
Trajectory Planning Through Polynomial Equationgummaavinash7
 
CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...
CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...
CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...Ijripublishers Ijri
 
High speed cordic design for fixed angle of rotation
High speed cordic design for fixed angle of rotationHigh speed cordic design for fixed angle of rotation
High speed cordic design for fixed angle of rotationIAEME Publication
 
Simulation of Robot Manipulator Trajectory Optimization Design
Simulation of Robot Manipulator Trajectory Optimization DesignSimulation of Robot Manipulator Trajectory Optimization Design
Simulation of Robot Manipulator Trajectory Optimization DesignIJRESJOURNAL
 
Aplanning algorithm offive-axis feedrate interpolation based on drive and jer...
Aplanning algorithm offive-axis feedrate interpolation based on drive and jer...Aplanning algorithm offive-axis feedrate interpolation based on drive and jer...
Aplanning algorithm offive-axis feedrate interpolation based on drive and jer...IJRES Journal
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigationguest90654fd
 
A Dynamic Cellular Automaton Model for Large-Scale Pedestrian Evacuation
A Dynamic Cellular Automaton Model for Large-Scale Pedestrian EvacuationA Dynamic Cellular Automaton Model for Large-Scale Pedestrian Evacuation
A Dynamic Cellular Automaton Model for Large-Scale Pedestrian EvacuationScientific Review
 
path planning for nedocio
path planning for nedociopath planning for nedocio
path planning for nedocioCarlos Iza
 
IRJET- Study on the Feature of Cavitation Bubbles in Hydraulic Valve by using...
IRJET- Study on the Feature of Cavitation Bubbles in Hydraulic Valve by using...IRJET- Study on the Feature of Cavitation Bubbles in Hydraulic Valve by using...
IRJET- Study on the Feature of Cavitation Bubbles in Hydraulic Valve by using...IRJET Journal
 

What's hot (16)

paper
paperpaper
paper
 
Volkova_DICTA_robust_feature_based_visual_navigation
Volkova_DICTA_robust_feature_based_visual_navigationVolkova_DICTA_robust_feature_based_visual_navigation
Volkova_DICTA_robust_feature_based_visual_navigation
 
4267
42674267
4267
 
Trajectory Planning Through Polynomial Equation
Trajectory Planning Through Polynomial EquationTrajectory Planning Through Polynomial Equation
Trajectory Planning Through Polynomial Equation
 
4260 9235-1-pb
4260 9235-1-pb4260 9235-1-pb
4260 9235-1-pb
 
report
reportreport
report
 
CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...
CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...
CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...
 
Fb4301931934
Fb4301931934Fb4301931934
Fb4301931934
 
High speed cordic design for fixed angle of rotation
High speed cordic design for fixed angle of rotationHigh speed cordic design for fixed angle of rotation
High speed cordic design for fixed angle of rotation
 
Simulation of Robot Manipulator Trajectory Optimization Design
Simulation of Robot Manipulator Trajectory Optimization DesignSimulation of Robot Manipulator Trajectory Optimization Design
Simulation of Robot Manipulator Trajectory Optimization Design
 
Aplanning algorithm offive-axis feedrate interpolation based on drive and jer...
Aplanning algorithm offive-axis feedrate interpolation based on drive and jer...Aplanning algorithm offive-axis feedrate interpolation based on drive and jer...
Aplanning algorithm offive-axis feedrate interpolation based on drive and jer...
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigation
 
paper
paperpaper
paper
 
A Dynamic Cellular Automaton Model for Large-Scale Pedestrian Evacuation
A Dynamic Cellular Automaton Model for Large-Scale Pedestrian EvacuationA Dynamic Cellular Automaton Model for Large-Scale Pedestrian Evacuation
A Dynamic Cellular Automaton Model for Large-Scale Pedestrian Evacuation
 
path planning for nedocio
path planning for nedociopath planning for nedocio
path planning for nedocio
 
IRJET- Study on the Feature of Cavitation Bubbles in Hydraulic Valve by using...
IRJET- Study on the Feature of Cavitation Bubbles in Hydraulic Valve by using...IRJET- Study on the Feature of Cavitation Bubbles in Hydraulic Valve by using...
IRJET- Study on the Feature of Cavitation Bubbles in Hydraulic Valve by using...
 

Similar to Manor_final

Experimental Comparison of Trajectory Planning Algorithms for Wheeled Mobile ...
Experimental Comparison of Trajectory Planning Algorithms for Wheeled Mobile ...Experimental Comparison of Trajectory Planning Algorithms for Wheeled Mobile ...
Experimental Comparison of Trajectory Planning Algorithms for Wheeled Mobile ...IJRES Journal
 
Complete Coverage Navigation for Autonomous Clay Roller in Salt-Farming Appli...
Complete Coverage Navigation for Autonomous Clay Roller in Salt-Farming Appli...Complete Coverage Navigation for Autonomous Clay Roller in Salt-Farming Appli...
Complete Coverage Navigation for Autonomous Clay Roller in Salt-Farming Appli...Norawit Nangsue`
 
Path Planning for Mobile Robot Navigation Using Voronoi Diagram and Fast Marc...
Path Planning for Mobile Robot Navigation Using Voronoi Diagram and Fast Marc...Path Planning for Mobile Robot Navigation Using Voronoi Diagram and Fast Marc...
Path Planning for Mobile Robot Navigation Using Voronoi Diagram and Fast Marc...Waqas Tariq
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigationguest90654fd
 
01 example of literature presentation
01 example of literature presentation01 example of literature presentation
01 example of literature presentationJason Yang
 
AN EFFICIENT ANT BASED QOS AWARE INTELLIGENT TEMPORALLY ORDERED ROUTING ALGOR...
AN EFFICIENT ANT BASED QOS AWARE INTELLIGENT TEMPORALLY ORDERED ROUTING ALGOR...AN EFFICIENT ANT BASED QOS AWARE INTELLIGENT TEMPORALLY ORDERED ROUTING ALGOR...
AN EFFICIENT ANT BASED QOS AWARE INTELLIGENT TEMPORALLY ORDERED ROUTING ALGOR...IJCNCJournal
 
Wall follower autonomous robot development applying fuzzy incremental controller
Wall follower autonomous robot development applying fuzzy incremental controllerWall follower autonomous robot development applying fuzzy incremental controller
Wall follower autonomous robot development applying fuzzy incremental controllerYousef Moh. Abueejela
 
Wall follower autonomous robot development applying fuzzy incremental controller
Wall follower autonomous robot development applying fuzzy incremental controllerWall follower autonomous robot development applying fuzzy incremental controller
Wall follower autonomous robot development applying fuzzy incremental controllerrajabco
 
RDC-2016-ST-paper-final-Mukherjee.pdf
RDC-2016-ST-paper-final-Mukherjee.pdfRDC-2016-ST-paper-final-Mukherjee.pdf
RDC-2016-ST-paper-final-Mukherjee.pdfPoulastya Mukherjee
 
Three-Dimensional Path Planning for Uninhabited Combat Aerial Vehicle Based
Three-Dimensional Path Planning for Uninhabited Combat Aerial Vehicle Based Three-Dimensional Path Planning for Uninhabited Combat Aerial Vehicle Based
Three-Dimensional Path Planning for Uninhabited Combat Aerial Vehicle Based vane sanchez
 
Swarm.Robotics Research Report IEEE
Swarm.Robotics Research Report IEEESwarm.Robotics Research Report IEEE
Swarm.Robotics Research Report IEEEAsad Masood
 
Robust Control of a Spherical Mobile Robot
Robust Control of a Spherical Mobile RobotRobust Control of a Spherical Mobile Robot
Robust Control of a Spherical Mobile RobotIRJET Journal
 
AUTO LANDING PROCESS FOR AUTONOMOUS FLYING ROBOT BY USING IMAGE PROCESSING BA...
AUTO LANDING PROCESS FOR AUTONOMOUS FLYING ROBOT BY USING IMAGE PROCESSING BA...AUTO LANDING PROCESS FOR AUTONOMOUS FLYING ROBOT BY USING IMAGE PROCESSING BA...
AUTO LANDING PROCESS FOR AUTONOMOUS FLYING ROBOT BY USING IMAGE PROCESSING BA...csandit
 
Iaetsd modified artificial potential fields algorithm for mobile robot path ...
Iaetsd modified  artificial potential fields algorithm for mobile robot path ...Iaetsd modified  artificial potential fields algorithm for mobile robot path ...
Iaetsd modified artificial potential fields algorithm for mobile robot path ...Iaetsd Iaetsd
 
Overview of different techniques utilized in designing of a legged robot
Overview of different techniques utilized in designing of a legged robotOverview of different techniques utilized in designing of a legged robot
Overview of different techniques utilized in designing of a legged robotNikhil Koli
 
Optimized Robot Path Planning Using Parallel Genetic Algorithm Based on Visib...
Optimized Robot Path Planning Using Parallel Genetic Algorithm Based on Visib...Optimized Robot Path Planning Using Parallel Genetic Algorithm Based on Visib...
Optimized Robot Path Planning Using Parallel Genetic Algorithm Based on Visib...IJERA Editor
 
Autonomous_UAV_Path_Planning_Using_Modified_PSO_for_UAV-Assisted_Wireless_Net...
Autonomous_UAV_Path_Planning_Using_Modified_PSO_for_UAV-Assisted_Wireless_Net...Autonomous_UAV_Path_Planning_Using_Modified_PSO_for_UAV-Assisted_Wireless_Net...
Autonomous_UAV_Path_Planning_Using_Modified_PSO_for_UAV-Assisted_Wireless_Net...MaryumHina1
 
090RobotTrajectoryGenerationEn.pdf
090RobotTrajectoryGenerationEn.pdf090RobotTrajectoryGenerationEn.pdf
090RobotTrajectoryGenerationEn.pdfsivapathuri
 

Similar to Manor_final (20)

Experimental Comparison of Trajectory Planning Algorithms for Wheeled Mobile ...
Experimental Comparison of Trajectory Planning Algorithms for Wheeled Mobile ...Experimental Comparison of Trajectory Planning Algorithms for Wheeled Mobile ...
Experimental Comparison of Trajectory Planning Algorithms for Wheeled Mobile ...
 
Complete Coverage Navigation for Autonomous Clay Roller in Salt-Farming Appli...
Complete Coverage Navigation for Autonomous Clay Roller in Salt-Farming Appli...Complete Coverage Navigation for Autonomous Clay Roller in Salt-Farming Appli...
Complete Coverage Navigation for Autonomous Clay Roller in Salt-Farming Appli...
 
Path Planning for Mobile Robot Navigation Using Voronoi Diagram and Fast Marc...
Path Planning for Mobile Robot Navigation Using Voronoi Diagram and Fast Marc...Path Planning for Mobile Robot Navigation Using Voronoi Diagram and Fast Marc...
Path Planning for Mobile Robot Navigation Using Voronoi Diagram and Fast Marc...
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigation
 
01 example of literature presentation
01 example of literature presentation01 example of literature presentation
01 example of literature presentation
 
AN EFFICIENT ANT BASED QOS AWARE INTELLIGENT TEMPORALLY ORDERED ROUTING ALGOR...
AN EFFICIENT ANT BASED QOS AWARE INTELLIGENT TEMPORALLY ORDERED ROUTING ALGOR...AN EFFICIENT ANT BASED QOS AWARE INTELLIGENT TEMPORALLY ORDERED ROUTING ALGOR...
AN EFFICIENT ANT BASED QOS AWARE INTELLIGENT TEMPORALLY ORDERED ROUTING ALGOR...
 
Wall follower autonomous robot development applying fuzzy incremental controller
Wall follower autonomous robot development applying fuzzy incremental controllerWall follower autonomous robot development applying fuzzy incremental controller
Wall follower autonomous robot development applying fuzzy incremental controller
 
Wall follower autonomous robot development applying fuzzy incremental controller
Wall follower autonomous robot development applying fuzzy incremental controllerWall follower autonomous robot development applying fuzzy incremental controller
Wall follower autonomous robot development applying fuzzy incremental controller
 
L010338894
L010338894L010338894
L010338894
 
RDC-2016-ST-paper-final-Mukherjee.pdf
RDC-2016-ST-paper-final-Mukherjee.pdfRDC-2016-ST-paper-final-Mukherjee.pdf
RDC-2016-ST-paper-final-Mukherjee.pdf
 
Three-Dimensional Path Planning for Uninhabited Combat Aerial Vehicle Based
Three-Dimensional Path Planning for Uninhabited Combat Aerial Vehicle Based Three-Dimensional Path Planning for Uninhabited Combat Aerial Vehicle Based
Three-Dimensional Path Planning for Uninhabited Combat Aerial Vehicle Based
 
Swarm.Robotics Research Report IEEE
Swarm.Robotics Research Report IEEESwarm.Robotics Research Report IEEE
Swarm.Robotics Research Report IEEE
 
30720130101005
3072013010100530720130101005
30720130101005
 
Robust Control of a Spherical Mobile Robot
Robust Control of a Spherical Mobile RobotRobust Control of a Spherical Mobile Robot
Robust Control of a Spherical Mobile Robot
 
AUTO LANDING PROCESS FOR AUTONOMOUS FLYING ROBOT BY USING IMAGE PROCESSING BA...
AUTO LANDING PROCESS FOR AUTONOMOUS FLYING ROBOT BY USING IMAGE PROCESSING BA...AUTO LANDING PROCESS FOR AUTONOMOUS FLYING ROBOT BY USING IMAGE PROCESSING BA...
AUTO LANDING PROCESS FOR AUTONOMOUS FLYING ROBOT BY USING IMAGE PROCESSING BA...
 
Iaetsd modified artificial potential fields algorithm for mobile robot path ...
Iaetsd modified  artificial potential fields algorithm for mobile robot path ...Iaetsd modified  artificial potential fields algorithm for mobile robot path ...
Iaetsd modified artificial potential fields algorithm for mobile robot path ...
 
Overview of different techniques utilized in designing of a legged robot
Overview of different techniques utilized in designing of a legged robotOverview of different techniques utilized in designing of a legged robot
Overview of different techniques utilized in designing of a legged robot
 
Optimized Robot Path Planning Using Parallel Genetic Algorithm Based on Visib...
Optimized Robot Path Planning Using Parallel Genetic Algorithm Based on Visib...Optimized Robot Path Planning Using Parallel Genetic Algorithm Based on Visib...
Optimized Robot Path Planning Using Parallel Genetic Algorithm Based on Visib...
 
Autonomous_UAV_Path_Planning_Using_Modified_PSO_for_UAV-Assisted_Wireless_Net...
Autonomous_UAV_Path_Planning_Using_Modified_PSO_for_UAV-Assisted_Wireless_Net...Autonomous_UAV_Path_Planning_Using_Modified_PSO_for_UAV-Assisted_Wireless_Net...
Autonomous_UAV_Path_Planning_Using_Modified_PSO_for_UAV-Assisted_Wireless_Net...
 
090RobotTrajectoryGenerationEn.pdf
090RobotTrajectoryGenerationEn.pdf090RobotTrajectoryGenerationEn.pdf
090RobotTrajectoryGenerationEn.pdf
 

Manor_final

  • 1. Autonomous Mobile Robot Navigation with Velocity Constraints Gil Manor
  • 2. Autonomous Mobile Robot Navigation with Velocity Constraints Research thesis In Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy Gil Manor Submitted to the Senate of the Technion - Israel Institute of Technology Tevet, 5775 Haifa January 2015
  • 3. The Research Thesis Was Done Under the Supervision of Prof. Elon Rimon in the Faculty of Mechanical Engineering ACKNOWLEDGMENT I would like to express my sincere gratitude to Prof. Elon Rimon for his support and dedicated guidance and assistance throughout this research. The Generous Financial of The Technion and The Halevy Fellowship Scholarship is Gratefully Acknowledged
  • 4. List of Publications Referred Papers in Professional Journals • Gil Manor and Elon Rimon. VC-method: high-speed navigation of a uniformly braking mobile robot using position-velocity configuration space. Autonomous Robots (2013) 34:295-309. • Gil Manor and Elon Rimon, The Speed Graph Method: Time Optimal Naviga- tion Among Obstacles Subject to Safe Braking Constraint, Submitted to IEEE Transactions on Robotics. Nov. 2014. Referred Papers in Conference Proceedings (* - Presenter) • *Gil Manor and Elon Rimon, High-Speed Navigation of a Uniformly Braking Mo- bile Robot Using Position-Velocity Configuration Space, International Conference of Robotic and Automation, St. Paul MN, May 2012. • *Gil Manor and Elon Rimon, The Speed Graph Method: Time Optimal Naviga- tion Among Obstacles Subject to Safe Braking Constraint, International Confer- ence of Robotic and Automation, Hong Kong, June 2014. Contributed Papers in Conferences and Workshops (* - Presenter) • Gil Manor, Global Time Optimal Path Planning Using the Brachistochrone Curve, Technion, Nov. 2012. • *Gil Manor and Elon Rimon, The Speed Graph Method: Time Optimal Naviga- tion Among Obstacles Subject to Safe Braking Constraint, ICR 2013, Tel Aviv, Nov. 2013.
  • 5. Contents Abstract 1 List of Figures 3 List of Tables 6 Nomenclature 7 1 Introduction and Literature Review 11 1.1 Literature Review 12 1.1.1 Configuration Space 12 1.1.2 Two-steps Methods 13 1.1.3 Reactive Motion Planners 14 1.1.4 Discretized Search Spaces 16 1.1.5 Exact Optimal Paths Using Calculus of Variations 17 1.1.6 Optimal Control Based Methods 18 1.1.7 Potential Field Methods 18 1.2 Objectives and Significance of Work 19 1.3 Thesis Outline 20 2 High-Speed Navigation of a Uniformly Braking Mobile Robot Us- ing Position-Velocity Configuration Space 22 2.1 Introduction 23 2.2 Problem Description and Preliminaries 24 2.3 Position Velocity Configuration Space 27 2.4 Cellular Decomposition of Position-Velocity Configuration Space 29
  • 6. 2.4.1 The Critical Points of the Height Function 29 2.4.2 The Partition of F v Into 3D Cells 33 2.5 The Cells Adjacency Graph 36 2.6 Practical Path Realization 38 2.7 Simulations 41 2.7.1 Influence of Obstacles Clearance on VC-Method Paths 41 2.7.2 Comparison of the VC-Method with the Dynamic Window Ap- proach 43 2.8 Experiments 45 2.9 Conclusion 47 3 The Speed Graph Method: Time Optimal Navigation Among Ob- stacles Subject to Safe Braking Constraint 49 3.1 Introduction 50 3.2 Problem Description and Preliminaries 51 3.3 The Safe Time Optimal Path Near a Single Obstacle Feature 53 3.3.1 The Travel Time Functional 53 3.3.2 The Safe Time Optimal Path Near a Wall Segment 54 3.3.3 The Safe Time Optimal Path Near a Point Obstacle 57 3.4 Basic Properties of the Safe Time Optimal Path in Polygonal Environ- ments 60 3.4.1 The Safe Time Optimal Variational Problem in Polygonal Envi- ronments 60 3.4.2 Basic Properties of the Safe Travel Time Functional 61 3.5 The Speed Graph 69 3.6 Speed Graph Based Computation of the Safe Time Optimal Path in Polygonal Environments 74 3.6.1 Path Optimization Using Newton’s Method 77 3.7 Numerical Simulations and Experimental Setup 80 3.8 Conclusion 84
  • 7. 4 Conclusion 86 4.1 Summary 87 4.2 Current Work 88 4.3 Future Extension 89 Appendices 91 A The Turning Radius Constraint 92 B The Time Optimal Path for a Disc Robot 96 C Computation of the Speed Graph Edges and the Safe Time Optimal Path as Convex Optimization Problems 99 D The Turning Radius Constraint Along an Optimal Path 104 Bibliography 113 Hebrew Abstract I
  • 8. Abstract Navigation is an important aspect in mobile robotics. Recently, we see a trend in robotic systems leaving laboratories and clean rooms and moving to real world envi- ronments. At this point, it is critical to ensure the safety of the robotic system as well as the environment in which it travels. One of the most common approaches to this problem is modeling a configuration space of permitted positions and orientations of the robot, then searching for a free collision path in this space. The method is applicable both off-line, pre knowing all the surrounding, and also on-line, while re- trieving the data with contact and distance sensors. Despite all this, the problem of navigating a mobile robot between obstacles while taking into account the dynamic characteristics of the robot while satisfying some quality measure of the path, remains with no certain unique solution. One quality measure for paths is their total travel time or in other words, the time optimal path between two end points. For such a quality measure, high speeds of motion are required to complete the task as quick as possible. Traveling with high speed imposes two main safety concerns that should be taken into account when planning the path. (1) A speed dependant safe braking constraint; (2) A turning radius constraint that prevents sliding affects or tipping over. These safety constraints involve the robot’s speed, denoted ν, as well as the coefficient of friction between the robot’s wheels and the ground, denoted µ. Common approaches for solving the high speed navigation problem first compute a collision free path for the robot, then parameterize the speed along it such that velocity constraints are met. In this research we synthesize the speed dependant safety constraints and the geometric path selection into a single framework. This ensures that the path taken by the robot, prematurely satisfies these safety constraints and therefore allows to compute the globally time optimal path. Two subsequent approaches are suggested. The first approach, suggests modeling an augmented configuration space for the 1
  • 9. robot with the parameters x, y and ν. The speed dependant safe braking constraint is modeled in this space and represented by towering columns whose interior coordinates are states of the robot which lead to an imminent collision with the surrounding obstacles. The Morse Theory is then used to identify special events in this space where the free space for navigation losses its connectivity. These special events determine a cellular decomposition which in turn induces an adjacency graph. A standard graph search algorithm on this adjacency graph yields an approximated time optimal path in a highly efficient way in terms of computational time. The second approach uses calculus of variations and applies convexity properties of these paths to compute the globally time optimal path in the environment. First, the calculus of variations is used to compute the time optimal path near a single point or wall obstacles subject to the safe braking constraint. These optimal paths are then composed into a “speed graph” whose edges are time optimal path segments connecting each individual pair of nodes. A time optimal path candidate is then selected using a standard graph search algorithm. Next, convexity properties of these paths are used to smooth the optimal candidate and to derive the globally time optimal path in the environment. For both methods, the computed paths satisfy the turning radius constraint such that the robot does not slide or tip over. The results are illustrated with examples and described as readily implementable procedures. 2
  • 10. List of Figures 1.1 (a) An arrangement of polygonal obstacles in the plane. (b) Each obstacle induces a c-obstacle in the robot’s c-space. 13 1.2 The velocity obstacle voB induced by a moving obstacle ˆB and a moving robot ˆA. The entities’ velocities are vA and vB respectively. 15 2.1 The straight line braking path ends at the maximal Euclidean distance from the robot’s initial position. 24 2.2 (a) The c-obstacle of a disc robot. (b) The vc-obstacle slice when the robot travels with velocity magnitude ν. 27 2.3 The vc-obstacles resemble columns whose cross section expands monotoni- cally along the ν coordinate. 29 2.4 (a) A Type I critical point is a saddle point of ϕ in Fv. (b) The vc-obstacles slices in the vicinity of the saddle point. 32 2.5 A Type II critical point is a local maximum of ϕ in Fv. 33 2.6 The (x, y) projection of a stack of 3D cells. 34 2.7 A stack of 3D cells is generically surrounded by three vc-obstacle and three vertical partitions. 35 2.8 The (x, y) projection of the 3D cells associated with a non-generic obstacle arrangement. 35 2.9 The adjacency graph of the cellular decomposition induced by three polygo- nal obstacles and an outer wall. 37 2.10 (a) The optimal path lies in vertical strips. (b) Path unfolding and vertical edges realization. 38 3
  • 11. 2.11 A switching curve (in red) for the double integrator problem along which the point mass reaches the origin with zero speed. 40 2.12 (a) The optimal path passing through a node. (b) The smoothed path follows the minimum safe turning radius arc. 40 2.13 A disc robot navigating with high speed in an office environment. 41 2.14 The speed of the robot for δ = 3.4. 42 2.15 The ratio t(vc-method)/t(lmin) of the vc-method as a function of δ. 43 2.16 The vc-method and DWA paths in (a)-(b) a rectangular room containing an obstacle cluster, and (c) a urban-like environment. 44 2.17 The velocity profiles of the paths illustrated in Figures 2.16(a)-(b). 45 2.18 The experiment setup of three polygonal obstacles within a rectangular outer boundary. 46 2.19 The velocity profiles of the three programmed paths. 46 3.1 (a) A circle rolling on the wall segment generates the cycloid curve. (b) The safe time optimal path near a wall segment. 56 3.2 (a) Two symmetrically shaped time optimal paths from pS to pT . (b) The safe time optimal path is a parabolic arc equidistant from the point obstacle and the line l. 59 3.3 (a) A hypothetical time optimal path touching a convex obstacle vertex. (b) The path can be moved away from the vertex, with a new segment of length L < 2 . 63 3.4 (a) The Voronoi diagram, and (b) The speed graph of an environment popu- lated by two polygonal obstacles (Voronoi arcs are solid curves, speed graph edges are dashed curves). 69 3.5 (a) Two speed graph nodes, p1 and p2, are separated by three proximity cells whose boundary lines are parameterized by (u1, u2). (b)T(γ(u1, u2)) is star shaped, moreover its contours are convex in the (u1, u2) plane. 71 3.6 The Voronoi saturation problem. 73 4
  • 12. 3.7 (a) The local smoothing directions of αo and αo point toward each other, and (b) require a splitting of pi into two crossing points that will slide on the neighboring Voronoi arcs ei1 and ei2. 75 3.8 (a) The piecewise time optimal paths connecting pS and pT while crossing the Voronoi arcs e1 and e2 are parametrized by (u1, u2). (b) The contours of T(γ(u1, u2)) are star shaped (and convex) with center at (u∗ 1, u∗ 2). 77 3.9 (a) The speed graph of the given environment, indicated with dashed curves. (b) The initial speed graph path αo, and (c) the safe time optimal path α∗ connecting pS and pT in F. 79 3.10 The Newton-Raphson’s travel time convergence during five iterations on the paths of Figure 3.9. 80 3.11 (a) The speed graph of the warehouse environment. (b) The safe time optimal path α∗ selected by the speed graph, and the safe time optimal path ¯α∗ associated with the geometrically shortest path. 81 3.12 The speed profile along the paths α∗ and ¯α∗ in the warehouse environment. 81 3.13 The six best safe time optimal paths in the office floor environment. 82 4.1 A Formula One race car has to travel at high speed during turns without sliding. 89 A.1 (a) Top view of a four-wheel mobile robot turning geometry. (b) Rear view of a left turning mobile robot. 93 B.1 The safe time optimal path determined by the polygonal approximation, ¯α∗, and the exact path α∗ associated with the disc obstacle. 97 C.1 The safe time optimal path connecting the speed graph nodes p1 and p2 crosses two proximity cell boundary lines, l1 and l2, at the corner points p(u1) and p(u2). 99 C.2 (a) The safe time optimal path α∗ and a variant path αt. (b) The sector spanned by −v(s− i ) and v(s+ i ) locally contains the Voronoi arc tangent line at p(ui) for i = 1, 2. 101 5
  • 13. List of Tables 2.1 Running time in seconds and length in meters of the three simulations. 44 2.2 Experiment Results 47 3.1 The safe time optimal travel time in the six best homotopy classes in the office floor environment. 83 4.1 Comparison between the VC method and the Speed Graph method. 88 6
  • 14. Nomenclature (r, θ) Polar coordinates used for paths near point and disc obstacles (x, y) Cartesian coordinates in the plane α Path connecting two endpoints in IR2 α The tangent of α α∗ , β∗ Local time minimal paths αo The most promising path selected by the speed graph dst(α, Oi) The minimal distance between the path α and obstacle Oi dst(q, Oi) The minimal Euclidean distance between point q and obstacle Oi A desired solution accuracy η A piecewise smooth function F The obstacle-free portion of the environment ˆv The robot’s instantaneous heading int(COi) The interior of COi int(COv i ) The interior of COv i H The hessian of a scalar function of 2 variables F The free configuration space of the robot 7
  • 15. µ The static coefficient of friction with the ground at the contacts ν The robot’s linear speed (velocity magnitude) ω The robot’s front wheels average steering angle IR The real numbers IR2 The two dimensional infinite plane IR3 The three dimensional infinite space ρ The radius of a disc robot ρc The radius of curvature of a path segment ϕ Morse function v The normalized tangent of α ηi The normal to bdy(COv i ) at p T(α) The energy functional of T(α) ξ The angle of a point on a rolling circle that creates the Cycloid amax The robot’s maximal acceleration amin The robot’s minimal acceleration Ang(α1(pi) − α2(pi)) The polar angle between two path tangents α1, α2 at node pi bdy(COv i ) The surface of COv i C(1) The division of paths with continuously varying tangent COi A configuration obstacle induced by obstacle Oi COv i A velocity configuration obstacle induced by obstacle Oi d(ν) The robot’s minimal braking distance 8
  • 16. d1(α1, α2) The metric between two paths α1, α2 Ef The net work applied by the friction force ei Voronoi arc i Ek The kinetic energy of the robot F The integrant of T(α) fN The net normal force at the contacts Fv The free position-velocity configuration space g The gravitational acceleration Gv The adjacency graph H A horizontal plane in IR3 h The robot’s c.o.g. hight l The robot’s wheels base lj Proximity cell boundary line j m The robot’s mass n Total number of obstacle features in a polygonal environment O0 The outer boundary of environment populated by obstacles Oi An internal obstacle enumerated i P A vertical plane in IR3 p A point in the velocity configuration space p(ui) A corner point i of path α pi A graph’s vertex i 9
  • 17. pS Start position pT Goal position q The robot’s center position in IR2 R The robot R(q) The set of points occupied by a robot R centered at q rmin(ν) The robot’s minimal turning radius s The robot’s path distance parameter T(α) The total travel time along path α ui The length parameter of corner point i v The robot’s linear velocity w The robot’s width 10
  • 18. Chapter 1 Introduction and Literature Review As autonomous mobile robots are deployed in ever more demanding tasks, they strive to complete their tasks while minimizing overall travel time. This requirement is achieved by maximizing the robot’s speed while maintaining velocity dependant safety constraints throughout the navigation process. Examples are autonomous mobile robots operating in sentry duty and surveillance [2, 3], where high speed is required to complete the task without being detected by potential intruders [19]. Other examples are self-driving cars [50] and traffic assistance systems [4] that will soon allow vehi- cles to be piloted autonomously at speeds up to 50 km/h [63]. High speed systems also include mobile robots carrying cargo in large warehouses [70, 79]. In all of these applications collision safety along high speed paths depends on velocity constraints, thus requiring a consideration of the robot’s full position-velocity state in order to synthesize such paths. There are two main safety concerns during execution of fast mobile robot tasks in planar environment. The first is to ensure that the robot will always be able to reach a full stop without colliding with any of the stationary obstacles or moving agents [27, 57]. The second is to ensure that the robot will not slide or tip-over while taking sharp turns at high velocity. These two limitations on robot’s speed are induced by the robot’s geometry and the power delivered by its actuators as well as by the friction between the wheels and the ground. 11
  • 19. According to the classical path planning approach, one first determines a collision free path using the robot’s configuration space, then selects a time parametrization that attempts to minimize total travel time subject to velocity-dependent safety con- straints [33, 35, 64]. The more general approach of planning a path in a space that in- cludes the robots position as well as velocity is a relatively unexplored area in robotics. In this work, the entire process of path planning takes place in the robot’s state space, thus treating the geometric path planning and the speed profiling in a single frame- work. 1.1 Literature Review Next, we provide a survey of relevant works in the literature. The survey is divided into parts according to the different approaches taken in this field. 1.1.1 Configuration Space The classical approach for path planning considers planning a collision free path in a configuration space [40, 46]. Given an arrangement of obstacles and the geometry of a single rigid robot with no kinematic constraints (see Figure 1.1(a) for example), the configuration space is computed. As depicted in Figure 1.1(b), for every orientation of the robot, each obstacle induces a c-obstacle. The c-obstacle includes all the points in the plane which bring the robot to penetrate the physical obstacle. Note that the c-space depends on the placement of the robot’s coordinates system. When a 2D environment of obstacles is considered while assuming a planar robot that can freely translate and rotate, the induced c-space includes towering columns in IR3 . Each col- umn, represents forbidden places and orientations that will result an imminent collision between the robot and the physical obstacle. Generally, the c-space’s size depends on the degrees of freedom of the robot as well as on the environment’s complexity. The c-space method allows to compute a collision free path connecting the start 12
  • 20. (a) (b) physical environement c-space c-obstacle robot’s reference point Figure 1.1: (a) An arrangement of polygonal obstacles in the plane. (b) Each obstacle induces a c-obstacle in the robot’s c-space. to target using various methods. These include exact methods such as cellular decom- position where the free c-space is decomposed into simple regions whose connectivity induces a undirected graph denoted a connectivity graph [17]. Other methods suggest constructing a road map for the environment such as the Voronoi diagram or visibility graph [76], then search for a collision free path on this graph. Although very useful in known environment with unconstrained motion, adding dynamic constraints, which is the main topic of this thesis, increases the size of the c- space and hence makes it harder to implement most common exact methods. Moreover, the addition of non-holonomic constraints on the robot’s motion adds non-integrable equations involving the configuration parameters and their derivatives which limits the possible motions of the robot but does not reduce the size of the c-space. 1.1.2 Two-steps Methods The next approach is a two-steps method that first computes pure geometric collision free path, then generates a velocity profile in such way that total travel time along the path is minimized while meeting velocity and higher derivative safety constraints. One of the original works in this subdivision was introduced by Bobrow et al. in [9]. In their work, the speed parameterizations of the joints of a serial robot were determined using 13
  • 21. a linear controller while following a desired path. These speed profiles are selected such that actuators’ constraints are met. Their work was later extended by [65] to include the dynamics of a mobile robot. Other works followed starting with lepetic et al. [45], that proposed a method for high speed path planning while considering acceleration limits induced by maximal ground friction forces. Their path is generated by a spline curve computed over a set of “control via points”, whose positional optimization gives an approximate time-minimal path. Velenis and Tsiotras [72], propose a method to determine the robot’s speed in order to minimize travel time along a pre-specified collision free path. The velocity profile respects the mobile robot’s acceleration limits. Villagra et al. [73], first compute collision free paths with continuous curvatures and curvatures’ derivatives, then apply a speed profiler such that time minimal trajectories are obtained along the curvature- based paths. Their time minimal trajectories satisfy additional comfort constraints such as jerk limitations. Wu et al. [74], first compute a geometric path by taking into account kinematic constraints such as minimal turning radius. Then, a velocity profiler is applied to maintain prescribed velocity constraints. All these methods plan the robot’s trajectory in two separate steps. First a purely geometric collision free path is computed, then the robot’s speed is selected along the path such that velocity safety concerns are met. However, when truly time optimal paths are desired under velocity dependent safety constraints, the geometric path taken by the robot and the speed profile along the path must be synthesized within a single position-velocity space, which is the topic of this research. 1.1.3 Reactive Motion Planners An important class of high speed motion planners operate locally in discrete time steps. Whereby at each time step the robot selects a local high-speed maneuver that avoids nearby obstacles. The velocity obstacles method models the robot’s safe velocities as 14
  • 22. v   ‚ƒWXiPRSUvHar€xSX‘Rhzˆr‘€xY`PRab„`SUP€xWXabfŠ€`tbvd§QTSXSUWX„`WUQRaŒd§QRabv@D¤D4(HF1«ˆr‘ 910h‡PR„2„…tbQ‚£saŸWXa¥V6WUfR‚bY`v Q ‘™†tbv ‰—¨‚“ ™!!pB™W£q“¨U—¡ £¢WU„©€`tbv§ahfbvHœbabv§fŒPR„ F  £¢QICD¤D4(HF1¥¤ 91 { $ B ^ VB VO B V A VB A ^ VGWUfT‚bY…v Q Fy™†tbv2iTvHSUQqd§W’€—‘(QTˆb„p€ePRdHSUv¦ ¦¢ 10 Figure 1.2: The velocity obstacle voB induced by a moving obstacle ˆB and a moving robot ˆA. The entities’ velocities are vA and vB respectively. an allowed velocity cone [24]. As depicted in Figure 1.2, each velocity cone determines a local avoidance maneuver, and a series of such maneuvers is selected until the robot reaches the target. The velocity obstacles method has been extended to local time optimal maneuvers, and to motion in the presence of other moving agents such as cars and pedestrians [39, 69, 78]. The dynamic window approach plans the robot’s path within a finite time horizon whose size is determined by the robot’s current state [26]. At each time step, the robot’s trajectory is chosen by maximizing a weighted sum of the robot’s distance from the obstacles, the robot’s speed, and the current direction to the target. Some dynamic window implementations explicitly account for safe braking constraints [13, 26]. Another approach is the method of inevitable collision states [27, 56, 57]. This method encodes the surrounding obstacles as well as the robot’s braking capabilities into first-order differential equations. Numerical integration of these equations gives the inevitable collision states that can be incorporated into any fast mobile robot navigation scheme. Additionally, let us mention the vector field histogram approach [10, 71]. Using the robot’s sensors, this method builds a histogram based on the distances to the obstacles in discrete set of angles. The method then searches for gaps in this histogram that represent collision-free headings of motion from the robot’s current position. Although 15
  • 23. efficient for on-line directional control, this method does not consider explicitly safety criteria or other high level requirements such as total travel time. Finally, let us discuss the work presented in [66] which considers static environments populated by disc obstacles. Instead of computing at each time instant a local maneu- ver which must avoid the obstacles, each obstacle is considered at a time. This reduces the computational running time to linear in the number of obstacles. About each in- dividual obstacle, an optimal bypassing maneuver is computed for a non-holonomic point robot while assuming symmetrically bounded actuators and double integrator dynamics. A global path is computed by concatenating a series of such paths. How- ever, this method does not consider safety limitations which is the main topic of this research. This family of reactive motion planners is clearly useful in dynamically evolving environments. In such environments the robot cannot posses full knowledge of the obstacles and therefore cannot plan its complete path before travel. Therefore the robot is forced to use a greedy strategy in which it computes its best and fasted path with respect to its known surroundings. 1.1.4 Discretized Search Spaces Other motion planners search for a high speed and safe path in the robot’s discretized state space. First suggested by the kinodynamics method, which discretizes the robot’s state space into a regular grid and searches the obstacle-free portion of the grid for a minimum travel time path subject to velocity dependent safety constraints [21, 37, 42]. The kinodynamics approach requires a huge grid in complex environment [32, 43]. The method’s running time is proportional to the grid size and can be very high in complex environments. Karvaki [18] and LaValle and Kuffner [41, 44] introduced the RRT method, or rapidly-exploring random trees, computed in the robot’s discretized state space. At each time step until the target is reached, a randomly chosen point is connected to the 16
  • 24. current tree with a feasible maneuver that obeys predefined velocity constraints and minimizes a cost function such as path length or travel time. While the RRT method was an important breakthrough, there are cases where the algorithm converges to a non optimal path. To over come this, Karman and Frazzoli, [36], introduced the RRT*. Beside linking a randomized chosen point to the current tree with an optimal edge that satisfies the velocity constraints, in each stage, the RRT* also updates the connections between the nodes in the current tree. The connections between the nodes are updated in such way that reduces the total cost of the path between the start to the current node. The RRT* is proven of being complete and converges to the optimal path as number of iterations reaches infinity. However, its rate of convergence can be excessively slow in congested environment. Also note that this class of motion planers usually assumes fully known environments. 1.1.5 Exact Optimal Paths Using Calculus of Variations Using calculus of variations, Wein et al. [75] compute collision free paths whose geo- metric shape is determined by a user specified “path quality” parameter δ. A value of δ = 0 corresponds to minimal length paths that trace the visibility graph, while δ = ∞ corresponds to maximal clearance paths that trace the Voronoi diagram of the environment. Based on this path quality measure, they describe a scheme that discretizes the environment’s Voronoi diagram into -length segments, then searches the adjacency graph of these segments for optimal paths in O((Λ2 / 2 )n5/2 log n) time, where Λ is the total length of the environment’s Voronoi diagram, and n is the num- ber of obstacle features in the environment. However, [75] does not explicitly consider velocity dependent safety constraints or travel time minimization. 17
  • 25. 1.1.6 Optimal Control Based Methods The use of optimal control for time optimal path computation is well cited in the literature. One of the earliest works in this field includes Dubins’s work which was published in 1957 [22]. In his work, Dubins considered a non-holonomic motion of a car like vehicle navigating between two end points in an obstacles-free environment while assuming constant speed. He then proved that the time optimal path (with constant speed!) between these two end points is constructed by path primitives consisting of constant radius arcs and linear path segments. It is important to note that the initial and terminal states of the car like vehicle are determined by its position as well as its orientation. In [58], the car was also allowed with backward motion which created a non smooth path with cusps. Many works were inspired by Dubins’s work. In [31], for e.g., the authors compute path primitives which minimize overall travel distance on the plane in heterogeneous environments. In such environments the robot’s permitted speed is determined by its position. Other works create the path using smooth path primitives such as clothoid which allows to create smooth connectivity between adjacent segments [25, 77]. Com- puting time optimal path primitives using optimal control theory was also suggested in [16]. In this work, path primitives were computed for Dubins airplanes. For such airplanes, the state space is 4D rather than 3D as in the planar Dubins car. However, non of these works explicitly account the speed dependant constraints involving braking safety as well as the turning radius of the robot while navigating with high speed between adjacent obstacles. Although not fully presented in this thesis, this approach is currently being taken by us in current work as briefly discussed in Section 4.2. 1.1.7 Potential Field Methods Last, consider works were potential field methods, or PFMs, are used to navigate the robot. For such methods each obstacle exerts a repulsive force on the robot while the target imposes an attracting force. A summation of these forces propels the robot between the obstacles to the target, for e.g. [55, 67, 28]. Although quiet efficient for global path planning and also 18
  • 26. as a local planner, PFMs suffer from two main drawbacks as discussed by Koren et al in [38]. (1) PFMs may lead the robot to a local minimum which will prevent the robot from reaching its target. This drawback is well investigated in the literature and many solutions were suggested, for e.g. [60, 59]. (2) PFMs may bring the robot to lose its stability when implemented online in narrow corridors or near a long wall obstacle. This loss of stability is characterized by rapidly growing oscillations, left and right, that bring the robot to lose its grip with the ground and collide with adjacent obstacles. Koren et al. point out this drawback of PFMs and suggest a stability criteria that has to be taken into account when implementing such paths using PFMs. Although this thesis utilizes ideas also used by PFM methods, the implementation draw- back, discussed by Koren et al. is not in the scope of this research. In this research we focus mainly on path and trajectory planning rather then trajectory tracking. These two problems are complementary but can be isolated and dealt independently from each other. Few examples for works that concern the tracking problem can be found in [6, 52, 15, 5, 80]. Despite all this, we find it important to mention Koren’s work which enlighten the navigation problem from a different, rather important, point of view. 1.2 Objectives and Significance of Work As presented in Section 1.1, the problem of finding a collision free path connecting two points in occupied environments has no particular optimal solution. Moreover, when safety con- straints such as braking distance and speed dependant turning radius are imposed, dynamic constraints on robot’s motion are involved which makes the path planning a more complex task. As discussed, when dynamic constraints are involved, common numerical approaches suggest discretizing the search space into a regular grid then implementing a numerical solver which in some cases does converges to the optimal path (with respect to some quality measure) in an infinite time. This thesis considers a relatively simplified problem in which the robot’s model is a planar disc navigating in the plane among stationary obstacles. The robot is subjected to 19
  • 27. braking safety as well as turning radius constraint. The thesis synthesizes these dynamic constraints into the geometrical path planning and allows to rigorously ensure safety as well as optimality in analytical fundamental verified methods. Our first approach taken for computing a safe high speed path is supported by the Stratified Morse Theory (Chapter 2). Then a new approach is taken using the Theory of Calculus of Variations (Chapter 3). Convexity properties of these paths allow to ensure convergence to the time optimal path in an accuracy algorithm which is highly efficient for path planning. The tools developed in this research will allow extension to more complex scenarios where dynamic constraints are involved and efficient computation process is required. 1.3 Thesis Outline The thesis consists of two main parts excluding this introductory chapter and the concluding one. The first part of the thesis (Chapter 2) consists of a simplified model where the robot’s speed dependant safe braking constraint is considered uniformly in all directions. A pseudo time optimal path is computed, one that not only avoids the surrounding obstacles by also satisfies the safe braking constraint. This simplified model allows to model the safe braking constraint in a 3D configurations space, denoted vc-space, whose axes are the robot’s position in IR2 and it’s velocity magnitude or speed. A method for modeling the safe braking distance is presented, then a cellular decomposition of the free portion of the vc-space is suggested. Based on this cellular decomposition, an adjacency graph is constructed and a pseudo time optimal path is found. This model enables us to find the pseudo-optimal, collision free path for the robot while preserving the braking distance constraint. A post processing algorithm ensures that the safe turning radius constraint that prevents sliding and tipping over is satisfied. The second part of the thesis (Chapter 3) consists of finding the time optimal path subject to the uniform safe braking constraint, using the speed graph method. Using calculus of variations, the speed graph method computes the global time optimal path of a mobile robot navigating in an environment populated by stationary obstacles and subjected to a 20
  • 28. uniform safe braking constraint. The classical Brachistochrone problem describes the time optimal path between two points in an obstacle free environment subjected to a constant force field. By encoding the braking safety constraint as a force field surrounding each obstacle, the method generalizes the Brachistochrone problem into the time optimal navigation problem in an environment populated by stationary obstacles. The time optimal safe path between any start and target is first computed on a simplified problem, where the mobile robot navigates in the vicinity of a single point or a wall segment obstacle. Then, the analysis is extended to environment containing outer walls and multiple internal polygonal obstacles. First, a Speed Graph for the environment in constructed, which consists of time optimal edges that connect critical via points. The speed graph is then used to efficiently compute the homotopy class of paths which most likely contains the global time optimal path1. In the second stage, the exact time optimal path is computed within the chosen homotopy class based on convexity properties of these paths. The concluding chapter of this thesis, summarizes the results of this work and discusses future extension beyond the scope of this research. Auxiliary material is also added in the appendices. 1 Two continuous paths α : [a, b] → IRn and β : [a, b] → IRn connecting start and target denoted pS and pT , belong to the same homotopy class if there is a continuous mapping, F : [a, b] × [0, 1] → IRn , such that F(t, 0) = α(t), F(t, 1) = β(t) for t ∈ [a, b] and F(a, s) = pS, F(b, s) = pT for s ∈ [0, 1]. 21
  • 29. Chapter 2 High-Speed Navigation of a Uniformly Braking Mobile Robot Using Position-Velocity Configuration Space 22
  • 30. 2.1 Introduction This chapter considers planar environments populated by stationary obstacles whose location is known to the robot. The assumption of stationary obstacles is a conservative approach, suitable for environments where emergency events occur along obstacle edges or just beyond corners obstructed by obstacles. For instance, an autonomous vehicle moving in an urban environment may detect another vehicle suddenly emerging from its parking space. By maintaining suitable safe velocity, the moving vehicle can brake and prevent collision with the emerging vehicle. More generally, any environment in which emergency events can be detected at a distance exceeding the robot’s braking distance can be modeled according to the method proposed in this chapter and also published in [48, 47]. As presented in the abstract, there are two main safety concerns during execution of fast mobile robot tasks. The first is to ensure that the robot will always be able to reach a full stop without colliding with any of the stationary obstacles or moving agents [27, 57]. The second is to ensure that the robot will not slide or tip-over while taking sharp turns at high velocity. In this chapter we model the uniform braking constraint as vc-obstacles in position- velocity configuration space. The vc-obstacles’ cross section increases monotonically along the velocity coordinate. We characterize the critical points where two vc-obstacles meet for the first time and locally disconnect the free position-velocity configuration space. In the physical environment, these are critical events where the robot’s velocity becomes too large to support safe passage between neighboring obstacles. Next, we describe a cellular decomposition of the free position-velocity space which is based on these critical points. An adjacency graph is constructed for the cellular decomposition, such that its edges project onto the Voronoi diagram of the planar environment. A specialized search algorithm called the vc-method finds an approximate time-minimal path along the adjacency graph. Finally, the path’s vertices are smoothed to ensure safe turning at the prescribed path velocity. The resulting path leads the robot from start to target with maximum velocity while guaranteeing safe braking and turning along the path. The chapter is structured as follows. Section 2.2 describes the main velocity depen- dent safety constraints governing high-speed mobile robot motion. Section 2.3 introduces the position-velocity space and the vc-obstacles induced by the safe braking constraint in 23
  • 31. v r 0v 0v v d(v) x y 0v v 0v  0v v wiggly path stops at a shorter distance from start Figure 2.1: The straight line braking path ends at the maximal Euclidean distance from the robot’s initial position. this space. Section 2.4 defines a cellular decomposition of the free position-velocity space. Section 2.5 constructs an adjacency graph for the cellular decomposition. A search along this graph yields a pseudo time optimal path that maintains safe braking distance from the obstacles. Practical path realization issues such as path turning safety are considered in Section 2.6. Simulations and experimental results of the method are discussed in Sections 2.7 and 2.8 as well as a brief conclusion in the concluding section of this chapter. Axillary material is also added in the Appendix A. 2.2 Problem Description and Preliminaries This section describes the velocity dependent safety constraints governing fast mobile robot motion. The robot, denoted R, is assumed to be a disc that can freely move in the (x, y) plane (Figure 2.1). The robot’s position and linear velocity are denoted by q ∈ IR2 and v ∈ IR2 . The robot is assumed to move with fixed orientation, so that its configuration space, or c-space, is two dimensional. The main velocity dependent safety constraints are the need to maintain safe braking distance, and to prevent sliding as well as tipover during sharp turns. First consider the safe braking constraint. When the robot executes fast motion between obstacles, it must be able to brake and reach a full stop without hitting any obstacle during the braking process. This requirement ensures that sudden events, such as a pedestrian emerging between parked vehicles into the road, can be safely avoided by a fast moving mobile robot. The length of the 24
  • 32. shortest braking path is dictated by the robot’s maximal deceleration, a system dependent parameter which is part of the following definition. Definition 1 (Linear Acceleration Constraint). The robot’s linear acceleration is con- strained by system dependent parameters amin and amax, which bound the robot’s acceleration by amin ˙v · ˆv amax, where ˆv is the robot’s linear velocity direction and amin 0 to represent deceleration. The robot’s shortest braking path is defined as follows. Definition 2 (Shortest Braking Path). The robot’s shortest braking path is any feasible path along which the robot applies the maximal deceleration amin. The distance from the robot’s initial position to the point where it reaches a full stop is not constant. As the robot follows a wiggly but feasible path, this distance becomes shorter as depicted in Figure 2.1. The robot’s minimal braking distance, denoted d, is the length of any of its shortest braking paths along which the robot decelerate with amin. Stretching these braking paths into a linear path of length d will also give a shortest braking path, but the one with the largest distance measured between the robot’s initial position and the final braking point. For safety, the robot must keep at least d away from any of the obstacles. The minimal braking distance can be computed using energy balance as follows [27]. The mobile robot is modeled as a cylindrical rigid body moving with fixed orientation. Its kinetic energy is given by Ek = 1 2 mν2 , (2.1) where m is the robot’s mass and ν = ||v|| is the robot’s linear velocity magnitude. Let α(s), s ∈ [0, 1] be a braking trajectory which brings the robot to a full stop along any of the shortest braking paths. The net work applied by the static friction force, which acts between the wheels and the ground in order to bring the robot to a complete stop is given by Ef = µ α(s) fN ds = µfN d = µmgd, (2.2) where µ is the static coefficient of friction between the wheels and the ground, g is the 25
  • 33. gravitational acceleration, and fN =mg is the net normal force at the contacts. The minimal braking path, d, occurs when the frictional reaction forces between the wheels and the ground are aligned with the friction-cone edge opposing the direction of motion. Note that during this braking phase, the wheels are rolling without sliding at the contacts. A complete stop of the mobile robot requires that all its initial kinetic energy be absorbed by the braking force, Ek = Ef . (2.3) Substituting for Ek and Ef gives 1 2mν2 = µmgd. The minimal braking distance is therefore d(ν) = 1 2µg ν2 = kν2 , (2.4) where k = 1/2µg is a constant. Note that d(ν) does not depend on the robot’s mass. This assumption is valid only under an ideal rigid body model. In practice the robot’s wheels are rubber coated and experience substantial deformations at the contacts. In these cases the friction coefficient µ (and hence the braking distance d) is strongly influenced by the robot’s mass m [68][chap. 3]. Also note that the actual frictional work is accomplished by the braking pads of the robot and not by the static friction between the wheels and the ground. However if we assume that the braking pads can deliver a larger braking force than the friction force at the contacts then the previous development sustains. The uniform braking constraint: Uniform braking safety is ensured when the robot is kept at least d(ν) away from the nearest obstacle. This conservative safety criterion is illustrated in Figure 2.1. All paths that bring the robot to a full stop while applying the maximal deceleration amin have the same length d. When the closest obstacle is located at least d away from the robot’s initial position, the robot can reach a full stop without hitting any obstacle while following any maximal deceleration path. The second major velocity dependent constraint is the robot’s minimal turning radius. While turning, centrifugal forces and lateral moments act on the robot’s body. A practical means to prevent sliding or tipping-over is to lower bound the robot’s turning radius at any given velocity, as specified in the following definition. 26
  • 34. v iCO R ( )d v x R y iO iCO iO (a) (b) Figure 2.2: (a) The c-obstacle of a disc robot. (b) The vc-obstacle slice when the robot travels with velocity magnitude ν. Definition 3 (Turning Radius Constraint). The robot’s minimal turning radius is speci- fied by a system dependent function rmin(ν), where ν is the robot’s current velocity magnitude. An expression for the robot’s minimal turning radius, rmin(ν), is derived in Appendix A. The high-speed navigation method proposed in this chapter generates a pseudo time optimal path that maintains safe braking distance from the obstacles. The path is then locally smoothed to ensure safe turning radius at the prescribed velocity along the path. 2.3 Position Velocity Configuration Space This section defines the position-velocity configuration space and the “obstacles” that encode the safe braking constraint in this space. Consider the mobile robot to be a disc, R, moving in the (x, y) plane. Let R(q) be the set of points occupied by the disc robot when its center is located at q=(x, y). The obstacles occupy stationary sets denoted O1, ..., Ok. Each obstacle Oi induces a c-obstacle, denoted COi, given by COi = {q∈IR2 : R(q) ∩ Oi = ∅} i = 1 . . . k. (2.5) Each c-obstacle is obtained by uniformly expanding the physical obstacle by the robot’s radius, as depicted in Figure 2.2(a). The free configuration space is the complement of the c-obstacle interiors, F = IR2 − ∪ i=1...k int(COi), (2.6) 27
  • 35. where int(COi) denotes the interior of COi. Position-velocity configuration space generalizes the notion of configuration space by adding the robot’s velocity magnitude, ν, as an additional coordinate. Definition 4. The position velocity configuration space of a disc robot R is the three- dimensional space IR3 with coordinates p = (x, y, ν), where q = (x, y) is the robot’s position and ν is the robot’s linear velocity magnitude. The safe braking constraint is next defined as forbidden regions in position-velocity con- figuration space. Let dst(q, Oi) be the minimal Euclidean distance of a point q ∈ IR2 from the obstacle Oi. Definition 5. Given a robot R and an obstacle Oi, the vc-obstacle induced by Oi, denoted COv i , is given by COv i = (q, ν) ∈ IR3 : dst (q, Oi) ≤ d(ν) , (2.7) where d(ν) is the minimal braking distance for a robot traveling with velocity magnitude ν. The free position-velocity configuration space, denoted Fv , is the complement of the vc- obstacle interiors, Fv = IR3 − ∪ i=1..k int(COv i ), (2.8) where int(COv i ) denotes the interior of COv i . At any point p ∈ Fv, the robot initially positioned at q and traveling with velocity magnitude ν can reach a full stop, without hitting any of the obstacles O1, ..., Ok. Each vc-obstacle forms a vertical column in position-velocity configuration space. The ν = 0 slice of this column coincides with the c-obstacle COi. As ν increases, the column’s cross section expands, since the braking distance increases quadratically with ν. Figure 2.2(b) depicts a fixed-ν slice of a vc-obstacle, while Figures 2.4 and 2.5 sketch the full vc-obstacles. The rate by which each vc-obstacle cross section expands is quadratic in ν, due to the relation d(ν) = kν2. Example: The vc-obstacles associated with three polygonal obstacles are shown in Fig- ure 2.3. Their bottom cross sections are the c-space obstacles, drawn in the (x, y) plane which corresponds to ν =0. As ν increases, the vc-obstacles expand outwards while the free 28
  • 36.  x y Figure 2.3: The vc-obstacles resemble columns whose cross section expands monotonically along the ν coordinate. space Fv shrinks inward. The graph depicted in the (x, y) plane is the Voronoi diagram of the c-space obstacles and an outer boundary which is not shown. The Voronoi diagram will play an important role in Section 2.5. ◦ 2.4 Cellular Decomposition of Position-Velocity Con- figuration Space This section describes a cellular decomposition of the free position-velocity configuration space, Fv, such that each cell is associated with a range of velocities that can be safely executed at a particular locality of the environment. Section 2.4.1 introduces the position- velocity height function, ϕ, and analyzes its critical points. Section 2.4.2 partitions Fv into 3D cells based on the critical points of ϕ. 2.4.1 The Critical Points of the Height Function The free position-velocity configuration space is a stratified set [30], consisting of the following manifolds. The interior of Fv is a three-dimensional manifold. The portions of the vc- obstacle surfaces on the boundary of Fv form two-dimensional manifolds. The intersection curves of vc-obstacle surfaces form one-dimensional manifolds. The isolated points where three vc-obstacle surfaces intersect form zero-dimensional manifolds. 29
  • 37. The cellular decomposition of Fv will be determined by the critical points of the function ϕ : Fv → IR , which measures the “height” of points p = (x, y, ν) along the ν coordinate in position-velocity configuration space, ϕ(x, y, ν) = ν. (2.9) The critical points of ϕ in Fv are the union of the critical points of the restriction of ϕ to the individual manifolds comprising Fv [30]. A point p ∈ Fv is a critical point of ϕ when ϕ(p) is collinear with the generalized normal to the particular manifold containing the point p. The generalized normal of the manifolds comprising Fv can be characterized as follows [20]. In the interior three-dimensional manifold, the generalized normal is the zero vector. At a point on a vc-obstacle surface, it is the usual surface normal pointing into Fv. At a point on the intersection curve of two vc-obstacle surfaces, it is the convex combination of the two surface normals meeting at this point. Last, every zero-dimensional manifold is automatically a critical point of ϕ. The following theorem asserts that ϕ has two types of critical points. Theorem 1. The critical points of ϕ in Fv are located either on the intersection curve of two vc-obstacle surfaces, or at the intersection point of three vc-obstacle surfaces. Proof: First consider the interior of Fv. Since ϕ(p) = (0, 0, 1) is a non-zero vector, ϕ cannot have any critical point in the interior of Fv. Next consider the vc-obstacle surfaces, denoted bdy(COv i ) for i = 1 . . . k. Denote by ηi = (ηx, ηy, ην) the normal to bdy(COv i ) at p. If p is a critical point of ϕ, ϕ must be collinear with ηi:       0 0 1       ×       ηx ηy ηv       =       −ηy ηx 0       =       0 0 0       ⇒ η=       0 0 ηv       (2.10) Thus, a necessary condition for p to be a critical point is that (ηx, ηy) = (0, 0) at this point. The boundary of COv i is the zero level-set of the scalar valued function: ψ(x, y, ν) = dst((x, y), Oi) − kν2 = 0. Therefore ψ is collinear with the vc-obstacle normal ηi, and up 30
  • 38. to a multiplicative factor: ηi(x, y, ν) = ψ(x, y, ν) =    dst (q, Oi) −2kν   . The function dst(q, Oi) measures the minimal Euclidean distance between q=(x, y) and Oi. This function is known to have a unit magnitude gradient, pointing from the neatest point on Oi’s boundary to q [20][Proposition 2.5.4]1. Since dst(q, Oi) is a non-zero vector, ϕ cannot have critical points on bdy(COv i ) for i = 1 . . . k. Next consider a point p on the intersection curve of adjacent vc-obstacle surfaces. The generalized normal at p ∈ bdy(COv i )∩bdy(COv j ) is the convex combination of the vc-obstacle normals, ηi and ηj, η ∈ λ1ηi + λ2ηj 0 ≤ λ1, λ2 ≤ 1, λ1+λ2 =1. A critical point p must therefore satisfy the condition: ϕ(p) =       0 0 1       = λ1ηi + λ2ηj for some λ1, λ2 ≥ 0. (2.11) It follows from (2.11) that ϕ has a critical point at p when the tangent to the intersection curve at p is purely horizontal in (x, y, ν)-space. Such points occur at the lowest points along the intersection curves. Finally, every isolated point where three vc-obstacle surfaces intersect is automatically a critical point of ϕ. The critical points of ϕ on the intersection curve of vc-obstacle pairs will be called Type I points, while the critical points of ϕ at the intersection points of vc-obstacle triplets will be called Type II points. The two types of critical points are either saddles or local maxima, as stated in the following proposition. Proposition 2.4.1. The function ϕ:Fv →IR has non-smooth saddles at the Type I critical points, and non-smooth local maxima at the Type II critical points. 1 One must use the generalized normal of dst(q, Oi) when q has multiple nearest points on bdy(Oi). 31
  • 39. P v jCOv iCO x y pv  F Intersection curve injn pv v pv v pv v  (a) (b)  Figure 2.4: (a) A Type I critical point is a saddle point of ϕ in Fv. (b) The vc-obstacles slices in the vicinity of the saddle point. Proof Sketch: Let p be a Type I critical point of ϕ. Then p ∈ bdy(COv i ) ∩ bdy(COv j ), such that the tangent to the curve bdy(COv i ) ∩ bdy(COv j ) is purely horizontal at p. Since the vc-obstacles form columns whose cross-section expands monotonically along the ν axis, the point p must be a local minimum of ϕ along the intersection curve. Let Vp be the plane orthogonal to the curve bdy(COv i ) ∩ bdy(COv j ) at p. Let Up be a small three-dimensional ball centered at p. The free space in Vp ∩ Up looks like an inverted V shape, with p located at its upper vertex (see Figure 2.4(a)). It follows that ϕ has a local maximum within the set Vp ∩ Up. Since ϕ has a local minimum and maximum along orthogonal directions at p, it has a non-smooth saddle at this point. When p is a Type II critical point of ϕ, three vc-obstacles intersect at this point. The cross-section of each vc-obstacle expands monotonically along the ν axis. Hence at any fixed- ν slice above p, the three vc-obstacles strictly penetrate each other. Since Fv is bounded from above by the three vc-obstacles at p, the point p is a non-smooth local maximum of ϕ. A Type I critical point p is thus a saddle of ϕ in Fv. Based on stratified Morse theory [30], a locally connected fixed-ν slice of Fv just below p splits at the saddle and becomes two locally disconnected sets in the slices just above p. Example: Figure 2.4(a) shows a saddle point p where two vc-obstacles meet for the first time along the ν axis. Note that ϕ = (0, 0, 1) is orthogonal to the intersection curve 32
  • 40. P v jCOv iCO x y v v kCO jn kn in  Figure 2.5: A Type II critical point is a local maximum of ϕ in Fv. bdy(COv i ) ∩ bdy(COv j ) at p. Figure 2.4(b) depicts three fixed-ν slices: below p, through p, and above p. ◦ The next example illustrates the free space Fv at a Type II critical point. Example: Figure 2.5 illustrates a local maximum point p, where three vc-obstacles meet for the first time along the ν axis. The point p is a zero-dimensional manifold and hence it is a critical point of ϕ. ◦ 2.4.2 The Partition of F v Into 3D Cells The free position-velocity configuration space will be partitioned by vertical planes called vertical partitions, and by horizontal planes called horizontal partitions. Each of these par- titions will pass through a critical point of ϕ. The vertical partitions are defined as follows. Definition 6. Let p ∈ Fv be a saddle point of ϕ. Let P be the plane which passes through p and spanned by the vc-obstacle normals at p. The vertical partition at p is the portion of P ∩ Fv containing the point p. Every vertical partition is bounded from below by the (x, y, 0) plane, from above by the saddle point p, and from the “sides” by the vc-obstacles. The lower edges of the vertical partitions decompose the (x, y) plane into two-dimensional regions, as shown in Figure 2.6. To see that the vertical partitions are indeed vertically aligned, note that the tangent to the intersection curve of two vc-obstacles is purely horizontal at p. At a critical point of ϕ, the 33
  • 41. (x,y) projection of 3D cells vertical partitions bottom edges saddle points projections kO jO iO Voronoi node Figure 2.6: The (x, y) projection of a stack of 3D cells. latter tangent is orthogonal to the vc-obstacle normals at p. Hence the plane spanned by the vc-obstacle normals at p is vertically aligned in (x, y, ν) space. The horizontal partitions are next defined. Definition 7. Let p ∈ Fv be a saddle or a local maximum point of ϕ. Let H be a plane parallel to the (x, y) plane passing through p. The horizontal partition at p is the portion of H ∩ Fv containing the point p. Each horizontal partition lies in a fixed-ν slice. When a horizontal partition passes through a local maximum point, it consists of this single point. When the partition passes through a saddle point, it forms a two-dimensional planar set bounded by nearby vc-obstacles. The union of the horizontal and vertical partitions induces a cellular decomposition of the free position-velocity space into 3D cells. Definition 8. The cellular decomposition of the free position-velocity space, Fv, consists of 3D cells bounded by the horizontal and vertical partitions passing through the critical points of ϕ and the vc-obstacles. The cellular decomposition of Fv consists of “stacks” of 3D cells separated by three vertical partitions (in the generic case) and vc-obstacles. The cells within each stack are separated by horizontal partitions, as illustrated in the following example. Example: Figure 2.7 depicts three vc-obstacles together with their horizontal and vertical partitions. The portion of Fv between the vc-obstacles forms a stack of four 3D cells, separated by horizontal partitions passing through three saddles and one local maximum of ϕ. ◦ A stack of 3D cells can have a more complex structure in non-generic situations. For 34
  • 42. saddle points vertical partitions horizontal partitions 3D cell maximum point 3D cell 3D cell 3D cell x y v Figure 2.7: A stack of 3D cells is generically surrounded by three vc-obstacle and three vertical partitions. instance, when four identical obstacles are symmetrically arranged about a common center point, their stack of 3D cells is surrounded by four vc-obstacles and four vertical parti- tions. However, almost any local perturbation of the obstacle positions will give the generic structure described above. (x,y) projection of 3D cells vertical patitions’ bottom edges saddle points projections jO Voronoi node kO iO lO Figure 2.8: The (x, y) projection of the 3D cells associated with a non-generic obstacle arrangement. Example: Figure 2.8 depicts four symmetrically arranged obstacles in the plane. The corresponding 3D cells are surrounded by four vc-obstacles and four vertical partitions whose bottom edges can be seen in Figure 2.8. The portion of Fv between the vc-obstacles and the vertical partitions consists of five rather than four 3D cells, and the cells’ local maximum is the intersection point of four rather than three vc-obstacles. Note that almost any local perturbation of the obstacle positions would give the generic structure described above. ◦ 35
  • 43. 2.5 The Cells Adjacency Graph The vc-method constructs an adjacency graph, denoted Gv, for the cellular decomposition of the free position-velocity space. Each vertex of Gv represents one 3D cell in the cellular decomposition. The vertex, pi = (xi, yi, νi), is selected at the cell’s center as follows. Its (xi, yi) coordinates are located at the point which maximizes the minimal distance from the surrounding c-obstacles in the (x, y) plane (it is a node on the Voronoi diagram). Note that the vertices in a stack of cells project to the same point in the (x, y) plane. The νi coordinate is selected at the midpoint between the ν-values of the cell’s bottom and top horizontal partitions (although it is possible to select any ν-value inside the cell). The edges of Gv are of two types: (i) Type A edge connects two vertices whose cells share a common vertical partition. The (x, y) projection of the edge coincides with the Voronoi edge connecting the (x, y) projections of the respective cell vertices. (ii) Type B edge connects two vertices whose cells share a common horizontal partition. The edge forms a vertical line whose (x, y) projection coincides with the Voronoi node underlying the cells’ vertices. When the robot traces a Type A edge it moves along a Voronoi edge with a continuously varying velocity. Tracing of a Type B edge requires that the robot change its velocity without any positional change. While not physically realizable, the vertical edges will guide the search for a pseudo time optimal chain of cells in the cellular decomposition of Fv. Example: Figure 2.9 depicts three c-obstacles surrounded by a rectangular wall in the (x, y) plane. The vc-obstacles shown in the figure induce a cellular decomposition of Fv, and the cells adjacency graph is depicted in the figure. ◦ Path Search on Gv: The vc-method assigns positive weights to the Type A edges and zero weights to the Type B edges (as the latter edges do not correspond to any positional change of the robot). The weight of a Type A edge reflects the minimum travel time along its underlying Voronoi edge. Let a Type A edge connect two adjacency graph vertices, pi = (qi, νi) and pj = (qj, νj), and pass through a saddle point pij = (qij, νij). The points lying on the upper boundary of Fv above pi and pj are local maximum points. Denote by 36
  • 44. adjacency graph Voronoi edges x y v Figure 2.9: The adjacency graph of the cellular decomposition induced by three polygonal obstacles and an outer wall. νmax(pi) and νmax(pj) the speeds at the two local maxima. The minimum travel time along the underlying Voronoi edge consists of two motion modes. Starting at qi with maximal speed νmax(pi), the robot traces the Voronoi edge with maximal deceleration amin, until reaching the (x, y) projection of the saddle point pij. The robot next traces the remaining portion of the Voronoi edge with maximal acceleration amax, until reaching the endpoint qj with maximal speed νmax(pj). The Type A edge cost is given by Type A edge cost = νmax(pi) − νij |amin| + νmax(pj) − νij amax where νij is the lowest speed at the saddle point pij =(qij, νij). Any shortest path search algorithm on Gv gives a pseudo time optimal chain of 3D cells connecting the start cell to the target cell. Note that the chain of cells does not necessarily contains the geometrically shortest path, but rather an approximate minimum-time path that guides the robot safely from start to target under a uniform braking distance constraint. Computational complexity of the vc-method: The adjacency graph vertices project to Voronoi nodes in the (x, y) plane, while the Type A edges project to Voronoi edges in the (x, y) plane. In general, the Voronoi diagram of a polygonal environment containing n vertices has O(n) nodes and edges [7, 62]. Each vertical stack in the cellular decomposition of Fv consists of four 3D cells. Hence there are O(n) vertices in Gv. Each 3D cell is 37
  • 45. start (a) 61 2 3 4 5 targetstart (b) s saddle saddle target x y  amax acceleration amin deceleration  7 8 Figure 2.10: (a) The optimal path lies in vertical strips. (b) Path unfolding and vertical edges realization. horizontally connected to at most three neighboring cells, and is vertically connected to at most two cells. Hence there are O(n) edges in Gv. Standard shortest path search algorithms run in O(E log E) steps, where E is the total number of graph edges. Since Gv has size O(n), the vc-method constructs the adjacency graph in O(n) time and searches the graph in O(n log n) time. While the method is highly efficient, it only provides an approximate minimum-time path subject to a uniform braking distance constraint. 2.6 Practical Path Realization There are two practical path realization concerns. First, the optimal path on Gv contains purely vertical Type B edges that must be modified into physically realizable arcs. Second, the Type A edges project to Voronoi edges in the (x, y) plane. The Voronoi edges meet non-smoothly at the nodes, so they must be smoothed at the nodes according to the robot’s minimal turning radius. These two practical considerations are next discussed. Path realization: Let the Type A edges along the optimal path be momentarily represented as horizontal edges in (x, y, ν) space, as illustrated in Figure 2.10(a). The vertical strips along the optimal path can be unfolded into a common vertical plane, as shown in Figure 2.10(b). Note that the horizontal coordinate within this plane is the distance traversed along the path’s horizontal edges, denoted s in the figure. For any physical robot, it is reasonable to assume that its maximal acceleration does not exceeds its maximal deceleration, amax ≤ |amin|. Let us assume here that amax =|amin| (the path realization procedure can be adapted to the case where amax |amin|). A time optimal realization is obtained by shifting the 38
  • 46. adjacency-graph path vertically upward in (x, y, ν) space, until it lies on the upper boundary of Fv. The shifted path vertices lie at local maximum points. Each arc of the shifted path traces a vc-obstacle downward with minimal slope amin until reaching a saddle point, then traces a vc-obstacle upward with maximal slope amax until reaching the next local maximum point (Figure 2.10(b)). The path realization procedure is summarized for start and target located on vc-obstacle boundaries. 1. Accelerate from the start position with amax to the first local maximum point along the path (arc 1 in Figure 2.10(b)). 2. Decelerate from a local maximum point with amin to the next saddle point along the path (arcs 2, 4, and 6 in Figure 2.10(b)). 3. Accelerate from the saddle point with amax to the next local maximum point along the path (arcs 3, 5, and 7 in Figure 2.10(b)). 4. Decelerate from the last local maximum point with amin along the path, until reaching the target with zero velocity (arc 8 in Figure 2.10(b)). The path realization procedure achieves minimum travel time among all possible re- alizations of the adjacency graph paths. The acceleration profile along the realized path is basically a Bang-Bang parametrization: it always selects the maximal deceleration and maximal acceleration, amin or amax, while maintaining a safe braking distance from the obstacles. The problem of minimizing the travel time along a specific given path is also known in the literature as the time optimal control problem of a double integrator. The objective in this problem is to bring a point mass moving with initial speed vS at xS to rest at the origin in minimum time using bounded acceleration. This can be easily extended to any terminal speed vT . The dynamics of this system is given by ˙x1(t) = x2 ˙x2(t) = u, with |u| 1, where x1(t) is the object’s position and x2(t) is its speed. A solution for this 39
  • 47. 1x 2x Figure 2.11: A switching curve (in red) for the double integrator problem along which the point mass reaches the origin with zero speed. kB jB iB kB jB iBminr x y (a) (b) 1e 2e 1e 2e Figure 2.12: (a) The optimal path passing through a node. (b) The smoothed path follows the minimum safe turning radius arc. problem is derived by a switching curve (see Figure 2.11) in the x1−x2 plane which determines the exact time instant when u switches between its extreme values. See [14](Section 3.9) for full details. Path smoothing at the nodes: The Type A edges project to Voronoi edges that meet non-smoothly at discrete nodes in the (x, y) plane. But the robot must respect a velocity dependent lower bound on its turning radius, rmin(ν), specified in the appendix. When the optimal path in Gv passes through a vertex pi = (qi, νi), the robot changes its direction of motion along a circular arc of radius rmin(νi) which is tangent to the Voronoi edges meeting at qi. By following this circular arc with velocity magnitude which varies linearly between its values at the arc’s endpoints, the robot executes a smooth edge transition while satisfying the minimum turning radius constraint. The path smoothing procedure is illustrated in the following example. Example: Figure 2.12(a) depicts three c-obstacles in the (x, y) plane, together with three 40
  • 48. 0 50 100 150 200 250 300 0 50 100 150 200 250 300 target start Voronoi edges vc-method lmin uW lW Figure 2.13: A disc robot navigating with high speed in an office environment. Voronoi edges meeting at a node. The (x, y) projection of the adjacency graph path follows the edges e1 and e2 indicated in the figure. The path must pass through the non-smooth node at a speed ν = νi prescribed by the (x, y, ν) path. Figure 2.12(b) schematically shows the circle having the minimal turning radius rmin(νi) (specified in the appendix). The locally smoothed path replaces the node and portions of e1 and e2 with a circular arc of radius rmin(νi) tangent to the path’s Voronoi edges at the node. The robot executes a smooth transition from e1 to e2 by following the circular arc with with speed that varies linearly between its values at the arc’s endpoints. ◦ 2.7 Simulations This section describes two simulation studies. The first study considers the effect of the inter- obstacle clearance on the vc-method paths. The second simulation compares the vc-method with the classical dynamic window approach. 2.7.1 Influence of Obstacles Clearance on VC-Method Paths Consider the simplified office environment depicted in Figure 2.13. The left space is an empty room, while the right space contains a large table of variable length. The Voronoi diagram 41
  • 49. (a) s0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 minl vc-method v Figure 2.14: The speed of the robot for δ = 3.4. which guides the construction of the adjacency graph is also depicted in the figure. The upper passage is assigned a variable width Wu, while the lower passage is kept at a fixed width, Wl, which equals 1.5 times the robot’s diameter. The ratio between Wu and Wl is defined as δ = Wu/Wl, where δ ≥ 1. Using the start and target indicated in Figure 2.13, the geometrically shortest path from start to target on the Voronoi diagram passes through the lower passage. In this particular environment, as long as 1 ≤ δ ≤ 3 the vc-method travels with low speeds through the lower passage. When δ 3, the geometrically longer path can be safely traced at a higher speed and hence with a shorter travel time. Figure 2.14 depicts the velocity profiles of the two paths for δ = 3.4. The vertical axis is the robot’s speed, ν, while the horizontal axis is the robot’s normalized position , s the path. Each velocity profile includes segments where the robot accelerates or decelerates with its maximal capabilities and segments where the robot travels with constant speed. The graph in Figure 2.15 plots the ratio between the vc-method travel time, t(vc-method), and the geometrically shortest path safe travel time on the Voronoi diagram, t(lmin), as a function of δ. Note that t(lmin) remains constant for all values of δ. When δ is small, the robot cannot travel rapidly through the top passage due to the braking distance constraint. Therefore it selects the geometrically shortest path through the bottom passage. As δ in- creases, the robot can safely travel with high speed through the top passage, thus achieving a sorter travel time compared with t(lmin). While the travel time improvement is modest, congested obstacle scenarios would give substantial travel time savings. 42
  • 50.  lower passage paths upper passage paths t(vc-method)/t(lmin) 3 Figure 2.15: The ratio t(vc-method)/t(lmin) of the vc-method as a function of δ. 2.7.2 Comparison of the VC-Method with the Dynamic Win- dow Approach The vc-method is next compared with the dynamic window approach [13, 26]. The dynamic window approach, or DWA, chooses the path’s velocity within a user specified time-window. Within each time-window the robot moves along a circular arc of radius r. The selection of r and the speed ν along this arc is based on maximization of an objective function that consists of three components: 1. Target heading: a function head(r, ν) measuring the inverse deviation of the robot heading from the target direction. 2. Obstacle clearance: a function dst(r, ν) measuring the minimal distance to the sur- rounding obstacles. 3. Forward velocity: a function vel(r, ν) specifying the robot’s normalized speed during tracing of the current circular arc. The objective function, denoted G(r, ν), is the weighted sum of the three elements: G(r, ν) = α · head(r, ν) + β · dst(r, ν) + γ · vel(r, ν) where α, β, and γ are user-specified weights. In each time-window, G(r, ν) is maximized over all turning radii r and speeds ν that ensure collision-free trajectories as well as braking 43
  • 51. (b) goal start (a) start targettarget start vc-method DWA Voronoi edges Voronoi edges vc-method DWA target start DWA Voronoi edges (c) vc-method Figure 2.16: The vc-method and DWA paths in (a)-(b) a rectangular room containing an obstacle cluster, and (c) a urban-like environment. VC-method time DWA time VC-method length DWA length Example (i) 24 39 4.85 4.37 Example (ii) 31 52 6.25 2.63 Example (iii) 24 46 5.04 4.38 Table 2.1: Running time in seconds and length in meters of the three simulations. safety. In our simulations, the dynamic window approach is implemented with unit weights, α=β =γ =1, and time-window of one second. In order to study the difference between the vc-method and the dynamic window ap- proach, two scenarios are considered. The first scenario, depicted in Figure 2.16(a)-(b), consists of an obstacle cluster in a rectangular room. In Example (i), the start and target lie at opposite sides of the obstacle cluster (Figure 2.16(a)). The DWA path in this example passes between the obstacles through low-clearance passages. While the vc-method path is geometrically longer, it passes through wide-clearance passages that allow higher speeds subject to the uniform braking distance constraint. The robot’s speed profile is illustrated in Figure 2.17(a). As indicated in Table 2.1, the vc-method travel time is almost one half of the DWA travel time. In Example (ii), the target lies at the upper left corner of the room, where it is directly visible from the start (Figure 2.16(b)). The DWA path moves through the narrow passage along the geometrically shortest path to the target. The vc-method path circumnavigates the obstacle cluster along a significantly longer path. However, this path allows the robot to maximize its velocity while respecting the braking distance constraint (Figure 2.17(b)). The vc-method travel time is again almost one half of the DWA travel time (Table 2.1). 44
  • 52. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 35 (b) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 35 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 35 (a) DWA DWA vc-method vc-method minl v s s s v 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 vc-method v vc-method (a) Figure 2.17: The velocity profiles of the paths illustrated in Figures 2.16(a)-(b). The second scenario, depicted in Figure 2.16(c), resembles urban city blocks surrounded by a rectangular boundary. The start and target are located at opposite corners of the envi- ronment. The vc-method path follows Voronoi edges that maintain wide clearance from the obstacles. This path permits high speeds subject to the uniform braking distance constraint. The DWA path passes through a low-clearance passage between adjacent city blocks. While this is a shorter path, the narrow passage forces the robot to slow down, resulting in a path whose travel time is almost twice longer than the vc-method travel time (Table 2.1). The simulations indicate that when the motivation is to reduce travel time rather than path length, wide clearance paths support higher speeds (and hence reduced travel time) under the uniform braking constraint. By methodically searching the free cells of position- velocity configuration space, significant travel time improvements can be obtained relative to more traditional high-speed navigation methods. 2.8 Experiments The vc-method was implemented on an Irobot Create 4400 platform. The robot’s mini- mal deceleration was set to amin = −100 mm/sec2 , the maximal acceleration was set to amax = 100 mm/sec2 , and the minimal turning radius was set to rmin = 300 mm. These scaled values reflect those of autonomous high-speed platforms (e.g. [3, 2]). Figure 2.18 de- picts the experimental setup. The environment contains three rectangular obstacles located within a rectangular outer boundary. The Voronoi diagram which underlies the adjacency graph construction is marked on the floor. The environment resembles the obstacle-cluster environment described in Section 2.7. 45
  • 53. 1 2 3 Figure 2.18: The experiment setup of three polygonal obstacles within a rectangular outer boundary. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 35 (b) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 35 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 DWA vc-method vc-method DWA vc-method vc-method minl v s ( / sec)v mm (sec)T s v 0 5 10 15 20 25 30 35 40 45 0 50 100 150 200 250 300 1 2 3 Figure 2.19: The velocity profiles of the three programmed paths. 46
  • 54. The robot was programmed to trace three trajectories along the Voronoi diagram edges (Figure 2.18) and to implement different velocity profiles. The trajectories begin and end at the same start and target points, but each has a different velocity profile dictated by the uniform braking distance constraint. The experiment compares the geometrically shortest path along the Voronoi diagram (trajectory 1), an intermediate length path (trajectory 2), and the vc-method path (trajectory 3). The experimental path length, travel time, and average speed of the three trajectories are listed in Table 2.8. The velocity profiles of the three programmed paths are depicted in Figure 2.19. The geometrically shortest path (trajectory 1) takes the longest time. The low-clearance passages along this path force low average speed of 0.08 m/sec and travel time of 45 seconds. The intermediate length path (trajectory 2) moves with average speed of 0.14 m/sec and travel time of 32 seconds. The vc-method path (trajectory 3) moves through wide clearance passages with average speed of 0.26 m/sec and the shortest travel time of 26 seconds. Path Length (m) Duration (sec) Avg. speed (m/sec) Trajectory 1 3.5 45 0.08 Trajectory 2 4.5 32 0.14 Trajectory 3 6.7 26 0.26 Table 2.2: Experiment Results The experiment corroborates the vc-method usefulness for high-speed safe navigation in congested environments. Controlling the Irobot position and speed proved to be difficult in the experiments, due to its position sensor inaccuracy. This inaccuracy limited the robot ability to precisely trace the Voronoi edges and implement the desired velocity profile. It is interesting to note that on-line implementation of the method (which requires obstacle detection sensors not available on the Irobot) will be able to compensate for such positional inaccuracies based on local sensor readings. 2.9 Conclusion Maintaining safe braking distance from the obstacles is a major concern during high-speed mobile robot navigation. This chapter introduces position-velocity configuration space, where the safe braking constraint is modeled as vc-obstacle. Based on the critical points of the 47
  • 55. robot’s velocity magnitude function, ϕ(x, y, ν) = ν, the chapter described a cellular decom- position of position-velocity configuration space into free cells. Each cell is associated with a particular range of velocities that can be safely followed by the robot. An adjacency graph constructed for the cellular decomposition allows a search for a pseudo time optimal path from start to target which avoids the vc-obstacles. The path follows Voronoi edges which are smoothed to ensure safe turning at the prescribed velocity magnitudes. The resulting high-speed path leads the robot from start to target while maintaining safe braking distance from the obstacles. The vc-method treats the two velocity-dependent safety concerns, safe braking distance and safe turning radius, at different stages of the planning process. The safe braking distance is modeled by the vc-obstacles in position-velocity configuration space. The adjacency graph path avoids the vc-obstacles and thus ensures the uniform braking distance constraint. The (x, y) projection of the adjacency graph path traces Voronoi edges that meet non-smoothly at discrete nodes. The turning radius safety constraint is enforces as a post-processing stage, by locally smoothing the path at the Voronoi nodes. This division of the two velocity-dependent safety concerns seems to offer practical advantages in terms of computational efficiency and ease of implementation. Based on simulations and experiments, the vc-method offers substantial improvement of total travel time required for safe mobile robot navigation. The method computes an approx- imate minimum-time safe path in O(n log n) time, where n is the total number of obstacle vertices in the case of a polygonal environment. While the vc-method is highly efficient, it does not provide an upper bound on the quality of approximation with respect to the exact time-optimal safe path. Next, we propose the speed graph method which computes the time optimal path of a mobile robot subjected to similar dynamic constraints as discussed here. Although it first seems like an NP-hard problem, we will show that the time optimal path computation can be reduced into a low polynomial complexity. 48
  • 56. Chapter 3 The Speed Graph Method: Time Optimal Navigation Among Obstacles Subject to Safe Braking Constraint 49
  • 57. 3.1 Introduction This chapter considers the time optimal paths of a mobile robot navigating in a polygonal en- vironment subject to uniform braking safety constraints. Similarly to Chapter 2, stationary obstacles are assumed as well as uniform braking safety. This enables to formulate to encode the braking safety as a state (position and velocity) dependant constraint, which in turn allows formulation of the safe time optimal navigation problem using calculus of variations. The time optimal path minimizes a travel time functional, denoted T(α), defined over all collision free paths α connecting the start and target. The work presented here, analyzes the properties of T(α), then uses these properties to develop the speed graph method which com- putes safe time optimal paths in environments populated by polygonal obstacles. The speed graph consists of safe time optimal arcs connecting special via points located on the Voronoi diagram of the environment. The speed graph is used to efficiently select the most promising path homotopy class connecting the start and target in the environment1. Convexity prop- erties of T(α) are then used to compute the safe time optimal path within the candidate homotopy class as a convex optimization problem in O(n3 log(1/ )) time, where is the de- sired solution accuracy. Importantly, the entire process takes place in the robot’s state space, thus treating the geometric path planning and the speed profiling in a single framework. The chapter is structured as follows. Section 3.2 formulates the safe time optimal navi- gation problem under uniform braking safety constraints. Section 3.3 describes analytic so- lutions for the safe time optimal path near a point obstacle and a wall segment. Section 3.4 formulates the safe time optimal navigation problem in polygonal environments, then de- scribes basic properties of the safe travel time functional in such environments. Section 3.5 describes the speed graph whose construction uses the point obstacle and wall segment time optimal solutions. Section 3.6 describes a convex optimization scheme for computing the exact time optimal path in each path homotopy class suggested by the speed graph. Sec- tion 3.7 discusses simulations and preliminary experiments. The concluding section discusses extensions of the safe time optimal navigation problem to more demanding scenarios. Two appendices contain auxiliary material. 1 The notion of path homotopy is reviewed later in the chapter. 50
  • 58. 3.2 Problem Description and Preliminaries This chapter considers the following problem, first formulated by Fraichard [27]. A mobile robot modeled as point or a disc has to navigate with high speed in a planar environment pop- ulated by static polygonal obstacles. The robot is assumed to move freely in IR2 and its state, denoted (q, ν) ∈ IR2 × IR+ , consists of its position, q = (x, y), and its speed ν = ||v|| = || ˙q||. While the robot navigates with high speed in the given environment, emergency events may occur at any time along obstacle boundaries. For instance, a vehicle driving autonomously along an urban road must limit its speed to a level allowing the vehicle to brake and reach a full stop when another car suddenly emerges from its parking spot, or a pedestrian suddenly emerges between two parked vehicles. To ensure motion safety, the robot must brake and reach a full stop without hitting any surrounding obstacles whenever such an event is detected by the robot. Braking safety is ensured when the robot maintains the following safe braking distance constraint. Note that some notations where already defined in Section 2.2, however for ease of reading we present them again. Definition 9. The robot’s safe braking distance, denoted d, is the length of the shortest kinematically feasible braking path leading from the robot’s current state (q, ν) to a full stop at ν = 0. The shortest braking path may be any kinematically feasible path along which the robot applies maximal deceleration (a system dependent parameter), eventually reaching a full stop without hitting any obstacle. By maintaining a safe braking distance with respect to the surrounding obstacles, the robot can handle emergency events that typically occur along obstacle boundaries. Note that mobile robots are deployed in environments containing static as well as dynamic obstacles. The current work assumes static obstacles, with the intention of incorporating dynamic obstacles in future work. To derive an expression for the safe braking distance as a function of the robot’s current speed, first consider the robot’s maximal deceleration, denoted amin. Braking on the verge of sliding determines the robot’s maximal deceleration. The net frictional reaction force acting at the robot’s wheels during maximal deceleration is given by µmg, where µ is the coefficient of friction at the ground contacts, m is the robot’s mass, and g is the gravitational 51
  • 59. acceleration. The robot’s dynamics during maximal deceleration is given by the equation mamin = µmg, and this equation gives the maximal deceleration: amin = µg. (3.1) While amin does not depend on the robot’s mass, the coefficient of friction µ usually depends on m due to local deformations at the robot’s wheels [68][p. 15]. The safe braking distance is computed using energy balance. When the robot moves along a kinematically feasible braking path, the frictional reaction forces at the contacts are aligned with the friction cone edge opposing the direction of motion (note that the wheels are rolling without sliding during this braking phase). A complete stop of the robot requires that all its initial kinetic energy be absorbed by the braking force. This energy balance leads to the expression (see e.g. [27]), d(ν) = 1 2amin ν2 (3.2) where amin is the robot’s maximal deceleration, and ν is the robot’s initial speed. The robot is required to maintain a uniform braking safety distance from all surrounding obstacles, as stated in the following definition. Definition 10. When the mobile robot travels with speed ν, uniform braking safety is ensured when the robot is kept at least d(ν) away from the nearest obstacle at every state (q, ν). Uniform braking safety is clearly a conservative safety criterion for autonomous robots. To satisfy this requirement, the robot must maintain a circular safety zone in order to allow safe deceleration to a full stop without hitting any obstacle. Since d(ν) is monotonically increasing in ν, the circular safety zone increases in size when the robot navigates with higher speeds, thus limiting the robot’s maximal speed at every point in the environment. In particular, when the start or target are located at an obstacle boundary point, the robot must start or reach the respective point with zero velocity. Note that the actual frictional work is accomplished by the braking pads of the robot and not by the static friction between the wheels and the ground. However if we assume that the 52
  • 60. braking pads can deliver a larger braking force than the friction force at the contacts then the previous development sustains. 3.3 The Safe Time Optimal Path Near a Single Ob- stacle Feature This section formulates the safe time optimal path variational problem, then describes an- alytic solutions for the safe time optimal path near a single obstacle feature which can be a wall segment or a point obstacle. These solutions will later be used to compute the safe time optimal path in polygonal environment. 3.3.1 The Travel Time Functional The robot’s path can be any piecewise smooth curve α(s) : [0, 1] → IR2 with endpoints pS = α(0) and pT = α(1). When the geometric parameter s is parameterized by time, s(t), the robot’s speed along α is given by ν(s(t)) = d dt α(s(t)) = α (s) ds(t) dt where α (s) = d ds α(s). Solving for dt gives: dt = α (s) ν(s) ds, (3.3) Integrating both sides of (3.3) gives the travel time functional: T(α) = 1 0 α (s) ν(s) ds, (3.4) and its minimization over all safe paths α defines the following variational problem. Definition 11. The travel time variational problem seeks to minimize T(α) over all piecewise smooth paths α(s) : [0, 1] → IR2 connecting pS and pT , where the speed ν along α satisfies the uniform braking constraint d(ν) = ν2/2amin. 53
  • 61. Note that T(α) is a path dependent function. The collection of piecewise smooth paths in IR2 forms a metric space under the d1 metric: d1(α1, α2) = max s∈[0,1] { α1(s)−α2(s) }+ max s∈[0,1] { α1(s)−α2(s) }, where α1 and α2 are two piecewise smooth paths connecting the same end points. Moreover, T(α) is a continuous function of α with respect to this metric [29]. The inte- grant of T(α) in (3.4), denoted F, is given by F α(s), α (s), s = α (s) ν(s) . Based on calculus of variations [29], when F is differentiable with respect to its arguments, any extremal path of T(α) over all piecewise smooth paths connecting pS and pT must satisfy the Euler-Lagrange equation: ∂F ∂α − ∂ ∂s ∂F ∂α = 0, (3.5) where α and α are to be treated as formal variables. The safe time optimal path near a wall segment and a point obstacle is next computed. 3.3.2 The Safe Time Optimal Path Near a Wall Segment First consider the case of a point robot traveling near a wall segment. This case is a direct extension of the classical Brachistochrone problem. The Brachistochrone problem considers a mass particle sliding under the influence of gravity on a wire, and computes the wire’s geometric shape that would give minimum travel time between two fixed endpoints [11]. In our case the robot’s maximal deceleration, amin, replaces the gravitational acceleration as follows. Consider a wall segment aligned with the x axis as shown in Figure 3.1(a). Denote by pS = (xS, yS) and pT = (xT , yT ) the start and target, which are assumed to lie in the upper 54
  • 62. half of the infinite strip spanned by the wall segment. To encode the safe braking constraint, note that the robot’s minimal distance from the wall is given by its y coordinate. Along a safe time optimal path, the robot must keep a distance of at least d(ν) away from the wall segment: y ≥ d(ν). Substituting d(ν) = ν2/2amin while requiring the robot’s speed to be maximized for travel time minimization gives: ν(y) = 2amin · y y ≥ 0. (3.6) In the case of a wall segment, let us use the horizontal x coordinate as the path param- eter s. The robot’s path is thus parameterized by α(x) = (x, y(x)) for x ∈ [xS, xT ]. In this parametrization α (x) dx = 1 + (y (x))2dx, and the safe travel time functional (3.4) is given by T(α) = xT xS F y(x), y (x) dx where F y, y = 1 + y 2 2amin · y y ≥ 0, (3.7) with the end conditions y(xS) = yS and y(xT ) = yT . Any extremal path of T(α) must satisfy the Euler-Lagrange equation (3.5). Substitut- ing for F(y, y ) in this equation, while considering the fact that ∂G(y , y, x)/∂x = 0, then integrating with respect to x, gives the implicit scalar differential equation: 1 = c2 1 + y (x) 2 y(x) (3.8) where c is yet to be determined. Note that the robot’s maximal deceleration, amin, does not appear in (3.8). Thus, while the extremal path’s total travel time depends on amin, 55
  • 63. 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 y x 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30 y x wall segment (b)(a) time optimal path is a cycloid Sp Tp rolling circle wall segment Figure 3.1: (a) A circle rolling on the wall segment generates the cycloid curve. (b) The safe time optimal path near a wall segment. its geometric shape is invariant with respect to amin. The extremal path solving (3.8) is a cycloid, α(ξ) = (x(ξ), y(ξ)), where ξ represents the angle that a point fixed on a rolling circle spans with respect to the vertical direction (Figure 3.1(a)). The formula for α(ξ) is specified in the following lemma. Lemma 3.3.1. The safe extremal path of a point robot moving in a planar environment near a wall segment aligned with the x axis is the cycloid curve: α(ξ) =       x0 0       + 1 2c2       ξ − sin ξ 1 − cos ξ       ξ ∈ [ξS, ξT ] (3.9) where ξS, ξT , x0, and c are determined by the path’s endpoints pS and pT . Moreover, α(ξ) is a local minimum of T(α). While a formal proof of the lemma is omitted (see e.g. [29]), the Cycloid curve is known of being the time optimal path connecting two points under a constant gravity field. Since the problem formulated in this section is identical to the Brachistochrone problem, this Cycloid curve is time minimal and unique. Note that the time optimal path is uniquely determined by its endpoints pS and pT . Also note that the time optimal path reaches the x axis along the normal direction to this axis (Figure 3.1(a)). Moreover, in addition to keeping a safe braking distance, this path segment also maintains the safe turning radius constraint that prevents sliding events (see Appendix D). Example: The time optimal path of a point robot traveling near a wall segment from pS to 56
  • 64. pT is shown Figure 3.1(b). The path is a cycloid segment that bends with convex curvature away from the wall segment. ◦ To complete the wall segment case, consider a scenario where the robot is a disc of radius ρ. The time optimal path of the robot’s center is given by the formula: α(ξ) =       x0 ρ       + 1 2c2       ξ − sin ξ 1 − cos ξ       ξ ∈ [ξS, ξT ] where ξS, ξT , x0, and c are determined by the endpoints pS and pT . 3.3.3 The Safe Time Optimal Path Near a Point Obstacle Next consider the case of a point robot traveling near a point obstacle located at the origin of the (x, y) plane. Using polar coordinates centered at the origin, (r, θ), the robot’s position is given by (x, y) = (r cos θ, r sin θ). The robot’s distance from the point obstacle is given by its r coordinate. Braking safety requires that the robot keep a distance of at least d(ν) away from the point obstacle: r ≥ d(ν). Substituting d(ν) = ν2/2amin while maximizing the robot’s speed for travel time minimiza- tion gives: ν(r) = √ 2amin · r r ≥ 0. Let the robot’s path be parameterized by θ, so that α(θ) = (r(θ) cos θ, r(θ) sin θ) for θ ∈ [θS, θT ]. Under this parametrization α (θ) dθ = r2(θ) + (r (θ))2dθ, and the travel time functional is given by T(α) = θT θS F r(θ), r (θ) dθ 57