Fast Robot Motion Planning with Collision Avoidance and Temporal Optimization
Fast Robot Motion Planning with Collision Avoidance and Temporal Optimization
Abstract— Considering the growing demand of real-time Trajectory planning to avoid collision
Reference Path/Points
motion planning in robot applications, this paper proposes a
fast robot motion planner (FRMP) to plan collision-free and Motion Reference Path
(Collision)
time-optimal trajectories, which applies the convex feasible set Planner
algorithm (CFS) to solve both the trajectory planning problem Trajectory Modified Path
(Collision Free)
and the temporal optimization problem. The performance of Planning
CFS in trajectory planning is compared to the sequential Collision-free
quadratic programming (SQP) in simulation, which shows Trajectory
Temporal optimization to reduce cycle time
a significant decrease in iteration numbers and computation Temporal
time to converge a solution. The effectiveness of temporal Optimization
Original
optimization is shown on the operational time reduction in the Time-optimal Horizon
30
convex subproblems by obtaining convex feasible sets within
the non-convex inequality constraints and linear equality
constraints, then iteratively solve the quadratic program-
ming (QP) subproblems until convergence. Note that CFS
…
is applied to the problem under the following assumption:
1) The cost function J is assumed to be smooth, strictly
convex. 2) The constraint Γe is assumed as the intersection
of N supersets Γi which can be represented by continuous,
semi-convex and piecewise smooth functions φi , e.g. Γe =
∩i {z : φi (z) ≥ 0}. The semi-convexity of φi implies
that the Hessian of φi is lower-bounded. i.e. there exists a
positive semi-definite matrix Hi such that for any z and v,
φi (z + v) − 2φi (z) + φi (z − v) ≥ −v T Hi v.
Fig. 4 shows how CFS computes the solution iteratively,
where the space Γe is filled contour plots of J(z), and the
infeasible sets are the gray polygons on the plot. At iteration
Fig. 4. The illustration of the convex feasible set algorithm, where the k, given a reference point z(k) , a convex feasible set F (k) :=
yellow polygons are the convex feasible set obtained at each iteration and
the gray areas are the infeasible set in the space Γe . F (z(k) ) ⊂ Γe is computed around z(k) , which are the yellow
polygons in Fig. 4. Then a new reference point z(k+1) will
Algorithm 1 The Convex Feasible Set Algorithm be obtained by solving the following QP problem
z(0) = zr
z(k+1) = arg min J(z) (4)
while kz(k+1) − zk k > do z∈F (k)
Find the convex feasible set: F(z(k) ) ⊂ Γe
Solve QP: z(k+1) = arg minz∈F (k) J(z) The iteration will be terminated until the solution converges,
zr ← z(k+1) , k = k + 1 i.e. kz(k+1) − zk k ≤ .
end while Given a reference point zr , the desired convex feasible set
F(zr ) is obtained by F(zr ) := ∩i Fi (zr ), where Fi (zr ) ⊂
Γi . The different cases of Fi (zr ) are illustrated in Fig. 5,
introducing the slack variable y, where the gray shaded areas represent the infeasible set. The
mathematical definition of Fi (zr ) is stated below,
min J(x, y) (3a) Case 1: Γi is convex.
x,y
s.t. x ∈ Γ, y ≤ umax , (3b) Define Fi = Γi .
Case 2: The complementary of Γi is convex.
F (x) + H(x)y ≥ 0, F (x) − H(x)y ≥ 0 (3c)
In this case, φi can be designed to be convex, then φi (z) ≥
It is proven in [13] that the optimizer of this relaxed φi (zr ) + ∇φi (zr )(z − zr ). At the point where φi is not
problem is equivalent to that of the original problem. The differentiable, ∇φi is a sub-gradient which should be chosen
intuition behind the relaxation is that: by introducing the as such that the steepest descent of J in the set of Γe is
slackness, the feasible region is augmented from the original always included in the convex set F. the convex feasible set
nonlinear manifold M in Fig. 2a to the augmented feasible Fi with respect to a reference point zr is defined as
volume Γe in Fig. 2b. Due to Feature 1, as J2 achieves
the minimum at u = 0, the algorithm will pull the optimal Fi (zr ) := {z : φi (zr ) + ∇φi (zr )(z − zr ) ≥ 0} (5)
solution down to M, which is on the “bottom” of Γe , so that
we may still get the same optimal solution as in the original Case 3: neither Γi nor its complementary is convex.
problem. In this case, φi is neither convex nor concave, but we can
The difference between these two problems is illustrated define a new convex function as φ̃i (z) := φi (z) + 12 (z −
in Fig. 3, where the curve in Fig. 3a represents the nonlinear zr )T Hi (z − zr ). Then φ̃i (z) ≥ φ̃i (zr ) + ∇φ̃i (zr )(z − zr ) +
equality constraint (2c) and the shaded area in Fig. 3b repre- ∇φi (zr )(z − zr ), where ∇φi is identified with the sub-
sents the nonlinear inequality constraints (3c).By introducing gradient of φ̃i at points that are not differentiable. The convex
the slack variable y, the nonlinear equality constraint is feasible set with respect to zr is then defined as
successfully removed. Then, let z = [xT yT ]T , and the
problem becomes minz∈Γe J(z), which will be solved by Fi (zr ) := {z :φi (zr ) + ∇φi (zr )(z − zr )
the CFS algorithm. 1
≥ (z − zr )T Hi (z − zr )} (6)
C. The Convex Feasible Set Algorithm 2
The idea of the CFS algorithm proposed in [12] is to The CFS algorithm is summarized in Algorithm 1, and the
transform the original non-convex problem into a sequence of detail of its convergence and feasibility are proven in [12].
31
(a) (b) (c)
Fig. 5. The geometry illustration of the feasible set F at the reference
point zr . (a) Case 1:Γi is convex. (b) Case 2: The infeasible set is convex.
(c) Case 3: Neither Γi nor the infeasible set is convex.
32
Fig. 8. The reference path that robot plan to move, where the red dots are Fig. 9. The simulation result of the trajectory planning with SQP and CFS.
the way points.
Pos (rad)
were implemented in MATLAB on a Windows desktop with -0.5
J3
J4
a Intel Core i5 CPU and 16GB RAM. The robot controller J5
-1
was deployed on a Simulink RealTime target. J6
-1.5
The robot reference path was shown in Fig. 8. The red
points were the way points that the robot needed to pass and -2
0 5 10 15
stop by. The cyan lines represented the desired path, and Time (sec)
path segments were sequentially numbered. Table I showed CFS Trajectory with Temporal Optimization
the performance of both algorithms on the planning of a 1
33
(a)
(b)
Fig. 11. The sequential of the figures shows the robot motion in the experiment, where the executive motion of the robot planned by FRMP is shown as
the orange line (a) The robot avoids the pink obstacle. (b) The robot avoids the black obstacle.
2 TABLE II
T HE COMPUTATION TIME OF FRMP
1
0 Fast Robot Motion Planner (FRMP)
unit: sec Path Planning Temporal Optimization
−1
Path 1 0.0033 0.0279
−2 Path 2 0.0033 0.0272
0 2 4 6 8 10 Path 3 0.8938 0.0272
Path 4 0.8397 0.0485
Fig. 12. A 2D mobile robot motion planning problem. Path 5 0.0031 0.0252
TABLE I Total 1.7434 0.1561
T HE COMPARISON OF SQP AND CFS
TABLE III
SQP CFS T HE COMPARISON OF BEFORE AND AFTER TEMPORAL OPTIMIZATION
Total Horizon: 95
unit: sec Computation Iterations Computation Iterations unit: sec before after
Path 1 0.0043 0 0.0033 0 Operational Time 15.00 6.63
Path 2 0.0031 0 0.0033 0 Computation Time 1.74 1.90
Path 3 46.8098 94 0.8938 2
Path 4 48.8767 96 0.8397 5
Path 5 0.0032 0 0.0031 0
Total 95.725 190 1.7434 7 convex feasible set (CFS) algorithm.
In the trajectory planning problem, the CFS algorithm was
efficient because we explicitly exploits the unique geometric
ITP and SQP, as the computation time and time per iteration structure of the problem by relaxation and convexification.
in CFS went up almost linearly with respect to number of One consequence was that the steps size of the algorithm was
steps (or the number of variables). unconstrained, hence the number of iterations was greatly
reduced. Another consequence was that we did not need
V. C ONCLUSION
to do line search in CFS, hence the computation time
This paper proposed the fast robot motion planner (FRMP) during each iteration also decreased. Most importantly, as
by formulating trajectory planning and temporal optimization we directly searched in the feasible set, the solution was
as two optimization problems and solving them by the good enough even before convergence. Good-enough meant
34
TABLE IV
C OMPUTATION C OMPARISON AMONG DIFFERENT ALGORITHMS IN C++
ACKNOWLEDGMENT
The work is supported by National Science Foundation
500
CFS ITP SQP [4] C. Park, J. Pan, and D. Manocha, “Itomp: Incremental trajectory
optimization for real-time replanning in dynamic environments.” in
ICAPS, 2012.
2
35