multiobjective path planning has Increasing demand in military missions, rescue operations, construction job-sites.
There is Lack of robotic path planning algorithm that compromises multiple
objectives. Commonly no solution that optimizes all the objective functions. Here we modify RRT, RRT* sampling based algorithm.
Selaginella: features, morphology ,anatomy and reproduction.
Sampling-Based Planning Algorithms for Multi-Objective Missions
1. 1 / 28
Sampling-Based Planning Algorithms for
Multi-Objective Missions
Md Mahbubur Rahman1, Leonardo Bobadilla1, Brian Rapp2
Florida International University1
Army Research Lab2
August 23, 2016
3. Motivation
Introduction
Motivation
Problem Definition
Related Work
Problem Statement
Methods
Experiment
Conclusions and Future
Work
3 / 28
Increasing demand in military missions, rescue operations,
construction job-sites.
Lack of robotic path planning algorithm that compromises multiple
objectives.
Commonly no solution that optimizes all the objective functions.
Military Mission Construction Work
4. Problem Definition
Introduction
Motivation
Problem Definition
Related Work
Problem Statement
Methods
Experiment
Conclusions and Future
Work
4 / 28
Generate a path that:
Best optimizes multiple cost functions instead of one such as
conserves fuel, provides a comfortable ride, avoids locations with a
high risk.
Avoids obstacles and respect differential constraints.
Optimal in terms of additive and non-additive costs.
6. Multi-Optimization State of Art
Introduction
Related Work
Multi-Optimization
State of Art
Problem Statement
Methods
Experiment
Conclusions and Future
Work
6 / 28
Modified Bellman-Ford method (Dyer ’92) in a known graph that
assigns a normalized label to each node to find a multi-criteria
shortest path.
Prioritizes one objective over another (K. Fujimura ’96). This type of
hierarchization biases the path mostly towards the top priority
objective.
Scalarization of objectives where the objectives are weighted
(Tarapata ’07, Oleiwi ’14). Exact weights are hard to find.
A number of Pareto Path using RRT* forest (Yi and Goodrich ’15)
instead of a single path.
7. Problem Statement
Introduction
Related Work
Problem Statement
Problem Formulation in
Motion Planning
Problem Formulation in
Motion
Planning(Contd.)
Problem 1:
Multi-objective optimal
Path
Problem 2:
Cooperative Path
Planning
Methods
Experiment
Conclusions and Future
Work
7 / 28
8. Problem Formulation in Motion Planning
Introduction
Related Work
Problem Statement
Problem Formulation in
Motion Planning
Problem Formulation in
Motion
Planning(Contd.)
Problem 1:
Multi-objective optimal
Path
Problem 2:
Cooperative Path
Planning
Methods
Experiment
Conclusions and Future
Work
8 / 28
A workspace, W, and a set of obstacles O; free space E = W O.
A number of robots A = {A1, A2, . . . , Ak} with configuration
defined as Ci = E × S1 for Ai.
robots have differential constraints such as,
˙xi = ui
s cos θ, ˙yi = ui
s sin θ, and ˙θi = ui
s
Li tan ui
φ.
ui
s is the forward speed and ui
φ is the steering angle.
Obstacles and Robots Differential Drive and States
9. Problem Formulation in Motion Planning(Contd.)
Introduction
Related Work
Problem Statement
Problem Formulation in
Motion Planning
Problem Formulation in
Motion
Planning(Contd.)
Problem 1:
Multi-objective optimal
Path
Problem 2:
Cooperative Path
Planning
Methods
Experiment
Conclusions and Future
Work
9 / 28
X be the state space for one vehicle where X = Ci.
Each state x ∈ X of the robot is associated with multiple objective
costs.
Vector of n cost functions L = {l1, l2, . . . , ln} are assigned to a
state x, where li : X → R≥0.
L(x) = (l1(x), l2(x), . . . , ln(x)) where x ∈ X (1)
10. Problem 1: Multi-objective optimal Path
Introduction
Related Work
Problem Statement
Problem Formulation in
Motion Planning
Problem Formulation in
Motion
Planning(Contd.)
Problem 1:
Multi-objective optimal
Path
Problem 2:
Cooperative Path
Planning
Methods
Experiment
Conclusions and Future
Work
10 / 28
Calculate σ : [0, t] → Xfree as an obstacle-free feasible trajectory
where Xfree is the set of collision free states.
σ starts from xI ∈ X and ends in a goal set XG ⊂ X.
σ must optimize L.
11. Problem 2: Cooperative Path Planning
Introduction
Related Work
Problem Statement
Problem Formulation in
Motion Planning
Problem Formulation in
Motion
Planning(Contd.)
Problem 1:
Multi-objective optimal
Path
Problem 2:
Cooperative Path
Planning
Methods
Experiment
Conclusions and Future
Work
11 / 28
Given a set of friendly robot vehicles A1, A2, . . . , Ak, with a common
cost lc, find a set of collision-free continuous trajectories,
σ1, σ2, . . . , σk, that solve Problem 1 and best optimize
lc : X1 × X2 × · · · × Xk → R≥0.
12. Methods
Introduction
Related Work
Problem Statement
Methods
Main Algorithm
Recap of Standard
RRT*
Our Modification to
RRT*
ChooseParent
Modification
ChooseParent
Modification (contd.)
Update Node Cost
Rewire Method
Modification
Cooperative Tree
Expansion
Experiment
Conclusions and Future
Work
12 / 28
13. Main Algorithm
Introduction
Related Work
Problem Statement
Methods
Main Algorithm
Recap of Standard
RRT*
Our Modification to
RRT*
ChooseParent
Modification
ChooseParent
Modification (contd.)
Update Node Cost
Rewire Method
Modification
Cooperative Tree
Expansion
Experiment
Conclusions and Future
Work
13 / 28
Modify Rapidly Exploring Random Tree star (RRT*) algorithm
(Karaman ’10) to adapt multiple costs.
Expand a tree T through random sampling of the states from the free
space similar to RRT*.
We completely modify the ChooseParent and Rewire methods.
We compute multiple cooperative trees in case of the presence of
multiple robots.
14. Recap of Standard RRT*
Introduction
Related Work
Problem Statement
Methods
Main Algorithm
Recap of Standard
RRT*
Our Modification to
RRT*
ChooseParent
Modification
ChooseParent
Modification (contd.)
Update Node Cost
Rewire Method
Modification
Cooperative Tree
Expansion
Experiment
Conclusions and Future
Work
14 / 28
Start a tree from the root state node xI.
Sampling: samples a random configuration xrand ∈ Xfree.
Nearest Node: xnearest = NearestNode(T , xrand) returns the
node xnearest of the tree T that is nearest to the sampled node xrand
in terms of a distance metric.
Steer: xnew = Steer(x1, x2) is used to solve control inputs us and
uφ for a dynamic control system.
Collision Checking: checks whether a path from xnew to xnearest
avoids all the obstacles O.
15. Our Modification to RRT*
Introduction
Related Work
Problem Statement
Methods
Main Algorithm
Recap of Standard
RRT*
Our Modification to
RRT*
ChooseParent
Modification
ChooseParent
Modification (contd.)
Update Node Cost
Rewire Method
Modification
Cooperative Tree
Expansion
Experiment
Conclusions and Future
Work
15 / 28
Choose Parent: Selects a parent for xnew in the radius r.
Re-wire: xnew now becomes the parent of a number of neighbors if
this gives lower cost.
16. ChooseParent Modification
Introduction
Related Work
Problem Statement
Methods
Main Algorithm
Recap of Standard
RRT*
Our Modification to
RRT*
ChooseParent
Modification
ChooseParent
Modification (contd.)
Update Node Cost
Rewire Method
Modification
Cooperative Tree
Expansion
Experiment
Conclusions and Future
Work
16 / 28
Select a set of nearest neighbors Xnear as potential parent.
Cost vector L(xj) of node xj is dominated by cost vector L(xi) of
node xi,
xi ≺ xj ⇔ ∀k, lk(xi) ≤ lk(xj); where 1 ≤ k ≤ n. (2)
Dominated Node: The set of dominated nodes DX is defined as,
DX = {xj ∈ Xnear|∃i xi ≺ xj}. (3)
Set of non-dominated nodes PX comprises the Pareto frontier,
PX = Xnear DX. (4)
17. ChooseParent Modification (contd.)
Introduction
Related Work
Problem Statement
Methods
Main Algorithm
Recap of Standard
RRT*
Our Modification to
RRT*
ChooseParent
Modification
ChooseParent
Modification (contd.)
Update Node Cost
Rewire Method
Modification
Cooperative Tree
Expansion
Experiment
Conclusions and Future
Work
17 / 28
Minimum cost tuple from PX ⊆ Xnear is,
L∗
= ( min
1≤i≤|PX |
l1(xi), . . . , min
1≤i≤|PX |
ln(xi)) (5)
Similarly Optimum cost tuple for arc costs is:
C∗
= ( min
1≤i≤|PX |
c1(xi, xnew), . . . , min
1≤i≤|PX |
cn(xi, xnew)) (6)
Select the parent xopt for node xnew with minimum normalized cost,
xopt = argmin
xj∈PX
n
i=1
αi
li(xj)
l∗
i
+
ci(xj, xnew)
c∗
i
(7)
18. Update Node Cost
Introduction
Related Work
Problem Statement
Methods
Main Algorithm
Recap of Standard
RRT*
Our Modification to
RRT*
ChooseParent
Modification
ChooseParent
Modification (contd.)
Update Node Cost
Rewire Method
Modification
Cooperative Tree
Expansion
Experiment
Conclusions and Future
Work
18 / 28
Additive costs la(xnew) like distance are allocated by combining the
cost of a parent and the arc cost,
la
i (xnew) = la
i (xopt) + ci(xopt, xnew); ∀ i, 1 ≤ i ≤ k. (8)
Non-additive costs lna (such as visibility) require in-place
computation. The parent’s cost and the current node’s cost are
averaged,
lna
j (xnew) =
lna
j (xopt) + lna
j (xnew)
2
; ∀ j, k + 1 ≤ j ≤ n. (9)
Add xnew to the tree T through the edge c(xopt, xnew).
19. Rewire Method Modification
Introduction
Related Work
Problem Statement
Methods
Main Algorithm
Recap of Standard
RRT*
Our Modification to
RRT*
ChooseParent
Modification
ChooseParent
Modification (contd.)
Update Node Cost
Rewire Method
Modification
Cooperative Tree
Expansion
Experiment
Conclusions and Future
Work
19 / 28
A neighbor x ∈ Xnear is connected through the newly added node
xnew if the following two conditions are satisfied:
1) updating connection reduce additive cost la(x).
2) xnew becomes a better parent than the existing parent in terms of
non-additive cost lna(x).
Therefore
Additive: ∀ i, 1 ≤ i ≤ k; la
i (xnew) + c(xnew, x) ≤ la
i (x) (10)
Non-Additive: ∀ j, k + 1 ≤ j ≤ n; lna
j (xnew) ≤ lna
j (x.parent)
(11)
20. Cooperative Tree Expansion
Introduction
Related Work
Problem Statement
Methods
Main Algorithm
Recap of Standard
RRT*
Our Modification to
RRT*
ChooseParent
Modification
ChooseParent
Modification (contd.)
Update Node Cost
Rewire Method
Modification
Cooperative Tree
Expansion
Experiment
Conclusions and Future
Work
20 / 28
Two cooperative trees Tu and Tv expand in parallel while affecting
each other.
lc : X × X → {0, 1} checks whether the two newly sampled
vertices xu, xv from the two trees, Tu and Tv cooperate.
Reward: If they cooperate, ωk : X × X → R≥0 and
lk(xu) = lk(xu) − ωk(xu, xv)
lk(xv) = lk(xv) − ωk(xu, xv).
Penalty: If they don’t cooperate, ρk : X × X → R≥0 and
lk(xu) = lk(xu) + ρk(xu, xv)
lk(xv) = lk(xv) + ρk(xu, xv).
22. Study Case I: Single Unit Visibility and Patrolling
Introduction
Related Work
Problem Statement
Methods
Experiment
Study Case I: Single
Unit Visibility and
Patrolling
Study Case II: Two
Vehicles, Two Units
Comparison Chart
Cooperative Planning
Tree
Conclusions and Future
Work
22 / 28
Following is a comparison of standard RRT* and our Multi RRT*.
RRT*
MultiObjectiveRRT*
23. Study Case II: Two Vehicles, Two Units
Introduction
Related Work
Problem Statement
Methods
Experiment
Study Case I: Single
Unit Visibility and
Patrolling
Study Case II: Two
Vehicles, Two Units
Comparison Chart
Cooperative Planning
Tree
Conclusions and Future
Work
23 / 28
MultiObjectiveRRT* Weighted Sum Scalarization
500 iterations 500 iterations
2000 iterations 2000 iterations
5000 iterations 5000 iterations
24. Comparison Chart
Introduction
Related Work
Problem Statement
Methods
Experiment
Study Case I: Single
Unit Visibility and
Patrolling
Study Case II: Two
Vehicles, Two Units
Comparison Chart
Cooperative Planning
Tree
Conclusions and Future
Work
24 / 28
Table 1: Trajectory Analysis in Terms of Multiple Objectives
Iteration Objective Tchebycheff Our Multi RRT*
V ehicle 1
500
Visibility 0.62 0.46
Distance 98 111
2000
Visibility 0.81 0.46
Distance 106 111
5000
Visibility 0.47 0.53
Distance 91 88
V ehicle 2
500
Visibility 0.80 0.58
Distance 83 96
2000
Visibility 0.80 0.58
Distance 103 96
5000
Visibility 0.55 0.58
Distance 117 96
25. Cooperative Planning Tree
Introduction
Related Work
Problem Statement
Methods
Experiment
Study Case I: Single
Unit Visibility and
Patrolling
Study Case II: Two
Vehicles, Two Units
Comparison Chart
Cooperative Planning
Tree
Conclusions and Future
Work
25 / 28
Cooperative Path MultiObjectiveRRT* path
26. Conclusions and Future Work
Introduction
Related Work
Problem Statement
Methods
Experiment
Conclusions and Future
Work
Conclusions
Future Work
26 / 28
27. Conclusions
Introduction
Related Work
Problem Statement
Methods
Experiment
Conclusions and Future
Work
Conclusions
Future Work
27 / 28
Modify RRT* to adapt multiple costs and generate a single Pareto
optimal path.
Handled both additive (cost from root to node) and non-additive cost
(local cost).
Propose new algorithm to generate multiple cooperative RRT* trees.
Our MultiObjectiveRRT* running time is O(n · RRT∗) for n costs.
Validate through simulations and comparisons with existing works.
28. Future Work
Introduction
Related Work
Problem Statement
Methods
Experiment
Conclusions and Future
Work
Conclusions
Future Work
28 / 28
Testing the performance on an articulated robot body.
Modeling unmanned aerial vehicles (UAVs).
Adapt it to the non-cooperative game theoretical scenarios.
Thank you!