SlideShare a Scribd company logo
1 of 33
Download to read offline
Robot Motion Planning
GETTING WHERE YOU WANT TO BE
FARZAD NOZARIAN
AMIR KABIR UNIVERSITY OF TECHNOLOGY
FALL 2013
DEPARTMENT OF COMPUTER ENGINEERING AND IT
References
 Computational Geometry
Algorithms and Applications
de Berg, M., Cheong, O., van Kreveld, M., Overmars, M - 3rd ed. 2008
Chapter 13 - Robot Motion Planning
Ultimate Goals in Robotics
Autonomous robots
tell what to do without having to say how to do it
plan its own motion
robot must have some knowledge about the
environment
where obstacles are located
where walls and machines are located
can be provided by a floor plan
For other information
detect obstacles that are not on the floor plan
people
rely on its sensors
1
Motion planning problem
any kind of robot wants to move in physical space
autonomous robot moving around in some factory environment
quite rare compared to the robot arms
Consists of a number of links, connected by joints
Its base is firmly connected to the ground
Other end carries a hand
Usually two types of joints
Revolute joint
Prismatic joint
Perform tasks like welding or spraying
2
In this presentation
introduce some of the basic notions and techniques used in motion
planning
general motion planning problem is quite difficult some simplifying assumptions
simplification & assumptions
2-dimensional motion planning problem
planar region environment
polygonal obstacles
polygonal robot
environment is static(no people walking !)
3
Types of robot motions
depend on its mechanics
move in any direction
constrained in their motions
Car-like robots
cannot move sideways
certain minimum turning radius
It’s geometry is quite complicated
robots that can move in arbitrary directions
Can translate only
Can rotate
4
Work Space and Configuration Space
Let R be a robot
set S={P1,...,Pt} of obstacles
placement, or configuration, of
the robot can be
specified by a translation vector
For instance
(1,−1),(1,1),(0,3),(−1,1),and (−1,−1)
R(6,4)
(7,3),(7,5),(6,7),(5,5), and(5,3)
5
Reference point, an alternative way
We can specify a placement
of R by simply stating the coordinates of the reference point
Thus R(x,y) specifies that the robot is placed with
its reference point at (x,y)
In general, the reference point does not have to
be inside the robot; it can also be a point outside the robot
6
suppose the robot can change its orientation
by rotation
We then need an extra parameter, φ
to specify the orientation of the robot
We let R(x,y,φ) denote the robot with
its reference point at (x,y)
and rotated counterclockwise through an angle φ
Degrees of freedom (DOF)
two for planar robots that can only translate
three for planar robots that can rotate + translate
2D
3D
a translating robot in R3 has three degrees of freedom
to translate and rotate in R3 has six degrees of freedom
7Orientation of Robots
Configuration Space
The parameter space of a robot R denoted by 𝓒 (R)
A point p in this configuration space corresponds to a certain
placement R(p) of the robot in the work space
example : translating and rotating robot in the plane
the configuration space is 3-dimensional
point (x,y,φ)
R(x,y,φ) in the work space
≈
A translating robot in the plane is the
2-dimensional Euclidean plane
configuration space identical to work space
Work Space is the space where the robot actually moves around
Configuration Space is the parameter space of the robot
A polygonal robot in the work space is represented by a point in configuration space
8
Forbidden & free configuration space
not all points in configuration space are possible
robot intersects one of the obstacles in S are forbidden
forbidden configuration space, or forbidden space denoted by 𝒞forb(ℛ,S)
placements where the robot does not
intersect any obstacle
denoted by 𝒞free(ℛ,S)free configuration space or free space
9
Mapping to Conf. Space
A path for the robot maps to a curve in
the configuration space, and vice versa
Every placement along the path
simply maps to the corresponding
point in configuration space
Can we also map
obstacles to configuration space? yes
An obstacle P is mapped to the set of points p
in configuration space such that R(p) intersects P
configuration-space obstacle or 𝒞-obstacle
𝒞-obstacles may overlap even when the
obstacles in the work space are disjoint
10
One subtle issue that we have ignored
Does the robot collide
with an obstacle when it touches that obstacle?
Obstacles are open sets, so that the robot is allowed to touch them
In practice a movement where the robot passes very close to an
obstacle cannot be considered safe because of possible errors in robot control
Enlarging all the obstacles before the computation of a path
11
A Point Robot
It’s always good to start with a simple case!
The obstacles are polygons with disjoint interiors, whose
total number of vertices is denoted by n
As before
Denote the obstacles by P1,...,Pt
Denote the robot by R
Natural assumption that its reference point is the point robot itself
The work space and the configuration space are identical
finding a path from a particular start position to a particular goal position ?
12
Bounding box
Our Goal ?
we add one infinitely large obstacle
𝒞𝑓𝑟𝑒𝑒
𝐵
𝒞𝑓𝑟𝑒𝑒 = ൘𝐵 ራ
𝑖=1
𝑡
𝒫𝑖
Compute a representation of the free space that
allows us to find a path for any start and goal position
Trapezoidal map
Vertical Extension
O(nlogn)
13
Represent Free Space
Algorithm ComputeFreeSpace(S)
Input. A set S of disjoint polygons.
Output. A trapezoidal map of 𝒞free(R,S) for a point robot R.
1. Let E be the set of edges of the polygons in S.
2. Compute the trapezoidal map T(E) with algorithm TRAPEZOIDALMAP described in Chapter 6.
3. Remove the trapezoids that lie inside one of the polygons from T(E) and
return the resulting subdivision.
Lemma 13.1A
trapezoidal map of the free configuration space for a point robot
moving among a set of disjoint polygonal obstacles with n edges in total can be
computed by a randomized algorithm in O(nlogn) expected time.
14
Trapezoidal Map
Compute the trapezoidal map T(E) with algorithm
Trapezoidal Map
Remove the trapezoids that lie inside one of the
polygons from T(E)
15
How do we use T(𝒞 free) to find a path from a
start position pstart to a goal position pgoal?
If pstart and pgoal are in the same trapezoid of the
map pstart
pgoal
If the start and goal position are in different
trapezoids
To guide the motion across trapezoids
we construct a road map through the free space
16
Road Map
The road map is a graph 𝒢road , which is embedded in the plane
What is Road map ?
17
Plan a motion
We can use the road map, together with the trapezoidal map,
to plan a motion from a start to a goal position
Pstart
Pgoal
∆start ∆goal
18
1. Find the trapezoid ∆start containing pstart and the trapezoid ∆goal containing pgoal.
2. if ∆start or ∆goal does not exist
3. then Report that the start or goal position is in the forbidden space.
4. else Let νstart be the node of 𝒢road in the center of ∆start .
5. Let νgoal be the node of 𝒢road in the center of ∆goal.
6. Compute a path in 𝒢road from νstart to νgoal using breadth-first search.
7. if there is no such path
8. then Report that there is no path from pstart to pgoal.
9. else Report the path consisting of a straight-line motion from
pstart to νstart, the path found in 𝒢road, and a straight-line
motion from νgoal to pgoal.
Algorithm ComputePath( T(𝒞free ), 𝒢 road, pstart, pgoal)
Input. The trapezoidal map T( 𝒞 free) of the free space, the road map 𝒢road , a start
position pstart, and goal position pgoal.
Output. A path from pstart to pgoal if it exists. If a path does not exist, this fact is reported.
Compute Path Algorithm 19
Are the paths we report always collision-free ?
Do we always find a collision-free path if one exists ?
Let’s think about its correctness 20
Analyze the time of algorithm
Finding the trapezoids containing the start and goal
can be done in
O( logn )
using the point location structure of Chapter 6
Or alternatively simply check all trapezoids in linear time
1
2 The breadth-first search takes linear time in the size of the graph 𝒢road
The time to report the path is bounded by the maximum
number of arcs on a path in 𝒢road, which is O(n)
3
21
Analyze the time of algorithm
Theorem 13.2
Let R be a point robot moving among a set S of polygonal
obstacles with n edges in total. We can preprocess S in O(nlogn) expected time,
such that between any start and goal position a collision-free path for R can be
computed in O(n) time, if it exists.
22
Minkowski Sums
The same approach can be used if the robot is a polygon
one difference
the configuration-space obstacles are no
longer the same as the obstacles in work space
The configuration-space obstacle, or 𝒞-obstacle, of an
obstacle P and the robot R is defined as the set of points in
configuration space such that the corresponding
placement of R intersects P
𝒞𝒫: = 𝑥, 𝑦 : ℛ 𝑥, 𝑦 𝒫 ∩ ≠ 0
23
The Minkowski sum of two sets S1⊂R2 and S2⊂R2 , denoted by S1⊕S2,
is defined as :
S1 ⊕ S2 ≔ 𝑝 + 𝑞: 𝑝 ∈ 𝑆1, 𝑞 ∈ 𝑆2
Minkowski Sums
where p+q denotes the vector sum of the vectors p and q
if p=(px,py) and q=(qx,qy) then we have :
p+q := (px+qx, py+qy)
24
Minkowski Sums
Theorem 13.3
Let R be a planar, translating robot and
let P be an obstacle.
Then the C-obstacle of P is P ⊕ ( −R(0,0) )
−p := (−px,−py)
For a set S −S := { −p: p ∈ S }
For a point p=(px,py)
more info
25
Useful properties of Minkowski sums
Observation 13.4
Let P and R be two objects in the plane, and let 𝒞P := P ⊕ R. An extreme point
in direction Ԧ𝑑 on 𝒞P is the sum of extreme points in direction Ԧ𝑑 on P and R
we now prove that the Minkowski sum of two
convex polygons has linear complexity
26
Theorem 13.5
Let P and R be two convex polygons with n and m edges, respectively.
Then the Minkowski sum P ⊕ R is a convex polygon with at most n + m edges.
Proof.
e must be generated by points on P and R that
are extreme in the same direction
at least one of P and R must have an edge that
is extreme in that direction
total number of edges is at most n + m
27Useful properties of Minkowski sums
Minkowski Sum Algorithm
A very simple algorithm
For each pair v, w of vertices,
with v ∈ P and w ∈ R, compute v + w
Compute the convex hull of all
these sums
An alternative algorithm
It only looks at pairs of vertices that are extreme in the same direction
angle(pq) notation
28
Algorithm MINKOWSKISUM(P,R)
Input. A convex polygon P with vertices v1,...,vn, and a convex polygon R
with vertices w1, ..., wm. The lists of vertices are assumed to be in
counter-clockwise order, with v1and w1 being the vertices with
smallest y-coordinate
Output. The Minkowski sum P ⊕ R.
1. i←1; j←1
2. vn+1←v1; vn+2←v2; wm+1←w1; wm+2←w2
3. repeat
4. Add vi +wj as a vertex to P⊕R.
5. if angle(vivi+1) < angle(wjwj+1)
6. then i←(i+1)
7. else if angle(vivi+1) < angle(wjwj+1)
8. then j←(j+1)
9. else i←(i+1); j←(j+1)
10. until i=n+1 and j=m+1
Minkowski Sum Algorithm 29
Translational Motion Planning
Lemma 13.13
The free configuration space 𝒞free of a convex robot of constant complexity
translating among a set of polygons with n edges in total can be
computed in O(nlog2n) time.
Theorem 13.14
Let R be a convex robot of constant complexity translating
among a set S of disjoint polygonal obstacles with n edges in total. We can
preprocess S in O(nlog2n) expected time, such that between any start and goal
position a collision-free path for R, if it exists, can be computed in O(n) time.
30
Thanks !
End

More Related Content

What's hot

parallelization strategy
parallelization strategyparallelization strategy
parallelization strategyR. M.
 
Industrial Robots
Industrial RobotsIndustrial Robots
Industrial RobotsNafis Ahmad
 
Rational Neural Networks for Approximating Jump Discontinuities of Graph Conv...
Rational Neural Networks for Approximating Jump Discontinuities of Graph Conv...Rational Neural Networks for Approximating Jump Discontinuities of Graph Conv...
Rational Neural Networks for Approximating Jump Discontinuities of Graph Conv...Zhiqian Chen
 
Drawbot Final Presentation
Drawbot Final PresentationDrawbot Final Presentation
Drawbot Final Presentationgldec0513
 
RoboticsMotionPlanning
RoboticsMotionPlanningRoboticsMotionPlanning
RoboticsMotionPlanningMohamed Wagdy
 
Kashif lab no 3
Kashif lab no 3Kashif lab no 3
Kashif lab no 3siraj53
 
Edge Detection using Hough Transform
Edge Detection using Hough TransformEdge Detection using Hough Transform
Edge Detection using Hough TransformMrunal Selokar
 
Graph Exploration Algorithm- Term Paper Presentation
Graph Exploration Algorithm- Term Paper PresentationGraph Exploration Algorithm- Term Paper Presentation
Graph Exploration Algorithm- Term Paper PresentationVarun Narang
 
Computer Graphics and Multimedia Techniques Paper (RTU VI Semester)
Computer Graphics and Multimedia Techniques Paper (RTU VI Semester)Computer Graphics and Multimedia Techniques Paper (RTU VI Semester)
Computer Graphics and Multimedia Techniques Paper (RTU VI Semester)FellowBuddy.com
 
single source shorest path
single source shorest pathsingle source shorest path
single source shorest pathsowfi
 
III EEE-CS2363-Computer-Networks-important-questions-for-unit-3-for-may-june-...
III EEE-CS2363-Computer-Networks-important-questions-for-unit-3-for-may-june-...III EEE-CS2363-Computer-Networks-important-questions-for-unit-3-for-may-june-...
III EEE-CS2363-Computer-Networks-important-questions-for-unit-3-for-may-june-...Selva Kumar
 
PC8-8 3DTransformation Matrices
PC8-8 3DTransformation MatricesPC8-8 3DTransformation Matrices
PC8-8 3DTransformation Matricesvhiggins1
 
Complex integration its uses and types
Complex integration its uses and typesComplex integration its uses and types
Complex integration its uses and typesSohailAkbar14
 

What's hot (20)

parallelization strategy
parallelization strategyparallelization strategy
parallelization strategy
 
Industrial Robots
Industrial RobotsIndustrial Robots
Industrial Robots
 
workspace_analysis
workspace_analysisworkspace_analysis
workspace_analysis
 
Cad for vlsi design june2013 (2)
Cad for vlsi design june2013 (2)Cad for vlsi design june2013 (2)
Cad for vlsi design june2013 (2)
 
Rational Neural Networks for Approximating Jump Discontinuities of Graph Conv...
Rational Neural Networks for Approximating Jump Discontinuities of Graph Conv...Rational Neural Networks for Approximating Jump Discontinuities of Graph Conv...
Rational Neural Networks for Approximating Jump Discontinuities of Graph Conv...
 
Drawbot Final Presentation
Drawbot Final PresentationDrawbot Final Presentation
Drawbot Final Presentation
 
Vishal Verma: Rapidly Exploring Random Trees
Vishal Verma: Rapidly Exploring Random TreesVishal Verma: Rapidly Exploring Random Trees
Vishal Verma: Rapidly Exploring Random Trees
 
RoboticsMotionPlanning
RoboticsMotionPlanningRoboticsMotionPlanning
RoboticsMotionPlanning
 
Kashif lab no 3
Kashif lab no 3Kashif lab no 3
Kashif lab no 3
 
Edge Detection using Hough Transform
Edge Detection using Hough TransformEdge Detection using Hough Transform
Edge Detection using Hough Transform
 
Graph Exploration Algorithm- Term Paper Presentation
Graph Exploration Algorithm- Term Paper PresentationGraph Exploration Algorithm- Term Paper Presentation
Graph Exploration Algorithm- Term Paper Presentation
 
Computer Graphics and Multimedia Techniques Paper (RTU VI Semester)
Computer Graphics and Multimedia Techniques Paper (RTU VI Semester)Computer Graphics and Multimedia Techniques Paper (RTU VI Semester)
Computer Graphics and Multimedia Techniques Paper (RTU VI Semester)
 
06 clipping
06 clipping06 clipping
06 clipping
 
single source shorest path
single source shorest pathsingle source shorest path
single source shorest path
 
III EEE-CS2363-Computer-Networks-important-questions-for-unit-3-for-may-june-...
III EEE-CS2363-Computer-Networks-important-questions-for-unit-3-for-may-june-...III EEE-CS2363-Computer-Networks-important-questions-for-unit-3-for-may-june-...
III EEE-CS2363-Computer-Networks-important-questions-for-unit-3-for-may-june-...
 
PC8-8 3DTransformation Matrices
PC8-8 3DTransformation MatricesPC8-8 3DTransformation Matrices
PC8-8 3DTransformation Matrices
 
Complex integration its uses and types
Complex integration its uses and typesComplex integration its uses and types
Complex integration its uses and types
 
KL Algorithm
 KL Algorithm KL Algorithm
KL Algorithm
 
Chapter 3 heuristic search techniques
Chapter 3 heuristic search techniquesChapter 3 heuristic search techniques
Chapter 3 heuristic search techniques
 
Ai mcq chapter 2
Ai mcq chapter 2Ai mcq chapter 2
Ai mcq chapter 2
 

Similar to Ultimate Goals In Robotics

Research on The Control of Joint Robot Trajectory
Research on The Control of Joint Robot TrajectoryResearch on The Control of Joint Robot Trajectory
Research on The Control of Joint Robot TrajectoryIJRESJOURNAL
 
15_robotics-intro.pdf in ai machine learning
15_robotics-intro.pdf in ai machine learning15_robotics-intro.pdf in ai machine learning
15_robotics-intro.pdf in ai machine learningMcSwathi
 
GENERATION AND DEPARTABILITY OF GVG FOR CAR-LIKE ROBOT
GENERATION AND DEPARTABILITY OF GVG FOR CAR-LIKE ROBOTGENERATION AND DEPARTABILITY OF GVG FOR CAR-LIKE ROBOT
GENERATION AND DEPARTABILITY OF GVG FOR CAR-LIKE ROBOTcscpconf
 
A sweepline algorithm for Voronoi Diagrams
A sweepline algorithm for Voronoi DiagramsA sweepline algorithm for Voronoi Diagrams
A sweepline algorithm for Voronoi DiagramsSweta Sharma
 
MAP MAKING FROM TABLES
MAP MAKING FROM TABLESMAP MAKING FROM TABLES
MAP MAKING FROM TABLESijcga
 
MAP MAKING FROM TABLES
MAP MAKING FROM TABLESMAP MAKING FROM TABLES
MAP MAKING FROM TABLESijcga
 
Robot path planning, navigation and localization.pptx
Robot path planning, navigation and localization.pptxRobot path planning, navigation and localization.pptx
Robot path planning, navigation and localization.pptxshohel rana
 
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM NITISH K
 
RMV Mechanics
RMV MechanicsRMV Mechanics
RMV Mechanicsanand hd
 
Robotics_and_automation.pptx
Robotics_and_automation.pptxRobotics_and_automation.pptx
Robotics_and_automation.pptxNjagadeshBabu
 
Robot Motion Planning Introduction to Mobile Robotics.pdf
Robot Motion Planning Introduction to Mobile Robotics.pdfRobot Motion Planning Introduction to Mobile Robotics.pdf
Robot Motion Planning Introduction to Mobile Robotics.pdfVien43
 
Hormann.2001.TPI.pdf
Hormann.2001.TPI.pdfHormann.2001.TPI.pdf
Hormann.2001.TPI.pdfssuserbe139c
 
Robotics for Path Planning
Robotics for Path PlanningRobotics for Path Planning
Robotics for Path PlanningHitesh Mohapatra
 
Task Constrained Motion Planning for Snake Robot
Task Constrained Motion Planning for Snake RobotTask Constrained Motion Planning for Snake Robot
Task Constrained Motion Planning for Snake RobotGiovanni Murru
 
A New Method For Solving Kinematics Model Of An RA-02
A New Method For Solving Kinematics Model Of An RA-02A New Method For Solving Kinematics Model Of An RA-02
A New Method For Solving Kinematics Model Of An RA-02IJERA Editor
 

Similar to Ultimate Goals In Robotics (20)

4260 9235-1-pb
4260 9235-1-pb4260 9235-1-pb
4260 9235-1-pb
 
Research on The Control of Joint Robot Trajectory
Research on The Control of Joint Robot TrajectoryResearch on The Control of Joint Robot Trajectory
Research on The Control of Joint Robot Trajectory
 
15_robotics-intro.pdf in ai machine learning
15_robotics-intro.pdf in ai machine learning15_robotics-intro.pdf in ai machine learning
15_robotics-intro.pdf in ai machine learning
 
GENERATION AND DEPARTABILITY OF GVG FOR CAR-LIKE ROBOT
GENERATION AND DEPARTABILITY OF GVG FOR CAR-LIKE ROBOTGENERATION AND DEPARTABILITY OF GVG FOR CAR-LIKE ROBOT
GENERATION AND DEPARTABILITY OF GVG FOR CAR-LIKE ROBOT
 
A sweepline algorithm for Voronoi Diagrams
A sweepline algorithm for Voronoi DiagramsA sweepline algorithm for Voronoi Diagrams
A sweepline algorithm for Voronoi Diagrams
 
MAP MAKING FROM TABLES
MAP MAKING FROM TABLESMAP MAKING FROM TABLES
MAP MAKING FROM TABLES
 
MAP MAKING FROM TABLES
MAP MAKING FROM TABLESMAP MAKING FROM TABLES
MAP MAKING FROM TABLES
 
Robot path planning, navigation and localization.pptx
Robot path planning, navigation and localization.pptxRobot path planning, navigation and localization.pptx
Robot path planning, navigation and localization.pptx
 
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM
 
RMV Mechanics
RMV MechanicsRMV Mechanics
RMV Mechanics
 
Unit1 my preparation
Unit1 my preparationUnit1 my preparation
Unit1 my preparation
 
Sphero Write Up
Sphero Write UpSphero Write Up
Sphero Write Up
 
Robotics_and_automation.pptx
Robotics_and_automation.pptxRobotics_and_automation.pptx
Robotics_and_automation.pptx
 
Robot Motion Planning Introduction to Mobile Robotics.pdf
Robot Motion Planning Introduction to Mobile Robotics.pdfRobot Motion Planning Introduction to Mobile Robotics.pdf
Robot Motion Planning Introduction to Mobile Robotics.pdf
 
Hormann.2001.TPI.pdf
Hormann.2001.TPI.pdfHormann.2001.TPI.pdf
Hormann.2001.TPI.pdf
 
Robotics for Path Planning
Robotics for Path PlanningRobotics for Path Planning
Robotics for Path Planning
 
Task Constrained Motion Planning for Snake Robot
Task Constrained Motion Planning for Snake RobotTask Constrained Motion Planning for Snake Robot
Task Constrained Motion Planning for Snake Robot
 
robotics basics
robotics basicsrobotics basics
robotics basics
 
A New Method For Solving Kinematics Model Of An RA-02
A New Method For Solving Kinematics Model Of An RA-02A New Method For Solving Kinematics Model Of An RA-02
A New Method For Solving Kinematics Model Of An RA-02
 
Algorithms Design Exam Help
Algorithms Design Exam HelpAlgorithms Design Exam Help
Algorithms Design Exam Help
 

More from Farzad Nozarian

SHARE Interface in Flash Storage for Relational and NoSQL Databases
SHARE Interface in Flash Storage for Relational and NoSQL DatabasesSHARE Interface in Flash Storage for Relational and NoSQL Databases
SHARE Interface in Flash Storage for Relational and NoSQL DatabasesFarzad Nozarian
 
Tank Battle - A simple game powered by JMonkey engine
Tank Battle - A simple game powered by JMonkey engineTank Battle - A simple game powered by JMonkey engine
Tank Battle - A simple game powered by JMonkey engineFarzad Nozarian
 
The Continuous Distributed Monitoring Model
The Continuous Distributed Monitoring ModelThe Continuous Distributed Monitoring Model
The Continuous Distributed Monitoring ModelFarzad Nozarian
 
Big data Clustering Algorithms And Strategies
Big data Clustering Algorithms And StrategiesBig data Clustering Algorithms And Strategies
Big data Clustering Algorithms And StrategiesFarzad Nozarian
 
Apache HBase - Lab Assignment
Apache HBase - Lab AssignmentApache HBase - Lab Assignment
Apache HBase - Lab AssignmentFarzad Nozarian
 
Apache HDFS - Lab Assignment
Apache HDFS - Lab AssignmentApache HDFS - Lab Assignment
Apache HDFS - Lab AssignmentFarzad Nozarian
 
Apache Hadoop MapReduce Tutorial
Apache Hadoop MapReduce TutorialApache Hadoop MapReduce Tutorial
Apache Hadoop MapReduce TutorialFarzad Nozarian
 
Big Data and Cloud Computing
Big Data and Cloud ComputingBig Data and Cloud Computing
Big Data and Cloud ComputingFarzad Nozarian
 
Big Data Processing in Cloud Computing Environments
Big Data Processing in Cloud Computing EnvironmentsBig Data Processing in Cloud Computing Environments
Big Data Processing in Cloud Computing EnvironmentsFarzad Nozarian
 
S4: Distributed Stream Computing Platform
S4: Distributed Stream Computing PlatformS4: Distributed Stream Computing Platform
S4: Distributed Stream Computing PlatformFarzad Nozarian
 

More from Farzad Nozarian (14)

SHARE Interface in Flash Storage for Relational and NoSQL Databases
SHARE Interface in Flash Storage for Relational and NoSQL DatabasesSHARE Interface in Flash Storage for Relational and NoSQL Databases
SHARE Interface in Flash Storage for Relational and NoSQL Databases
 
Object Based Databases
Object Based DatabasesObject Based Databases
Object Based Databases
 
Tank Battle - A simple game powered by JMonkey engine
Tank Battle - A simple game powered by JMonkey engineTank Battle - A simple game powered by JMonkey engine
Tank Battle - A simple game powered by JMonkey engine
 
The Continuous Distributed Monitoring Model
The Continuous Distributed Monitoring ModelThe Continuous Distributed Monitoring Model
The Continuous Distributed Monitoring Model
 
Big data Clustering Algorithms And Strategies
Big data Clustering Algorithms And StrategiesBig data Clustering Algorithms And Strategies
Big data Clustering Algorithms And Strategies
 
Shark - Lab Assignment
Shark - Lab AssignmentShark - Lab Assignment
Shark - Lab Assignment
 
Apache HBase - Lab Assignment
Apache HBase - Lab AssignmentApache HBase - Lab Assignment
Apache HBase - Lab Assignment
 
Apache HDFS - Lab Assignment
Apache HDFS - Lab AssignmentApache HDFS - Lab Assignment
Apache HDFS - Lab Assignment
 
Apache Hadoop MapReduce Tutorial
Apache Hadoop MapReduce TutorialApache Hadoop MapReduce Tutorial
Apache Hadoop MapReduce Tutorial
 
Apache Spark Tutorial
Apache Spark TutorialApache Spark Tutorial
Apache Spark Tutorial
 
Apache Storm Tutorial
Apache Storm TutorialApache Storm Tutorial
Apache Storm Tutorial
 
Big Data and Cloud Computing
Big Data and Cloud ComputingBig Data and Cloud Computing
Big Data and Cloud Computing
 
Big Data Processing in Cloud Computing Environments
Big Data Processing in Cloud Computing EnvironmentsBig Data Processing in Cloud Computing Environments
Big Data Processing in Cloud Computing Environments
 
S4: Distributed Stream Computing Platform
S4: Distributed Stream Computing PlatformS4: Distributed Stream Computing Platform
S4: Distributed Stream Computing Platform
 

Recently uploaded

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 

Recently uploaded (20)

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 

Ultimate Goals In Robotics

  • 1. Robot Motion Planning GETTING WHERE YOU WANT TO BE FARZAD NOZARIAN AMIR KABIR UNIVERSITY OF TECHNOLOGY FALL 2013 DEPARTMENT OF COMPUTER ENGINEERING AND IT
  • 2. References  Computational Geometry Algorithms and Applications de Berg, M., Cheong, O., van Kreveld, M., Overmars, M - 3rd ed. 2008 Chapter 13 - Robot Motion Planning
  • 3. Ultimate Goals in Robotics Autonomous robots tell what to do without having to say how to do it plan its own motion robot must have some knowledge about the environment where obstacles are located where walls and machines are located can be provided by a floor plan For other information detect obstacles that are not on the floor plan people rely on its sensors 1
  • 4. Motion planning problem any kind of robot wants to move in physical space autonomous robot moving around in some factory environment quite rare compared to the robot arms Consists of a number of links, connected by joints Its base is firmly connected to the ground Other end carries a hand Usually two types of joints Revolute joint Prismatic joint Perform tasks like welding or spraying 2
  • 5. In this presentation introduce some of the basic notions and techniques used in motion planning general motion planning problem is quite difficult some simplifying assumptions simplification & assumptions 2-dimensional motion planning problem planar region environment polygonal obstacles polygonal robot environment is static(no people walking !) 3
  • 6. Types of robot motions depend on its mechanics move in any direction constrained in their motions Car-like robots cannot move sideways certain minimum turning radius It’s geometry is quite complicated robots that can move in arbitrary directions Can translate only Can rotate 4
  • 7. Work Space and Configuration Space Let R be a robot set S={P1,...,Pt} of obstacles placement, or configuration, of the robot can be specified by a translation vector For instance (1,−1),(1,1),(0,3),(−1,1),and (−1,−1) R(6,4) (7,3),(7,5),(6,7),(5,5), and(5,3) 5
  • 8. Reference point, an alternative way We can specify a placement of R by simply stating the coordinates of the reference point Thus R(x,y) specifies that the robot is placed with its reference point at (x,y) In general, the reference point does not have to be inside the robot; it can also be a point outside the robot 6
  • 9. suppose the robot can change its orientation by rotation We then need an extra parameter, φ to specify the orientation of the robot We let R(x,y,φ) denote the robot with its reference point at (x,y) and rotated counterclockwise through an angle φ Degrees of freedom (DOF) two for planar robots that can only translate three for planar robots that can rotate + translate 2D 3D a translating robot in R3 has three degrees of freedom to translate and rotate in R3 has six degrees of freedom 7Orientation of Robots
  • 10. Configuration Space The parameter space of a robot R denoted by 𝓒 (R) A point p in this configuration space corresponds to a certain placement R(p) of the robot in the work space example : translating and rotating robot in the plane the configuration space is 3-dimensional point (x,y,φ) R(x,y,φ) in the work space ≈ A translating robot in the plane is the 2-dimensional Euclidean plane configuration space identical to work space Work Space is the space where the robot actually moves around Configuration Space is the parameter space of the robot A polygonal robot in the work space is represented by a point in configuration space 8
  • 11. Forbidden & free configuration space not all points in configuration space are possible robot intersects one of the obstacles in S are forbidden forbidden configuration space, or forbidden space denoted by 𝒞forb(ℛ,S) placements where the robot does not intersect any obstacle denoted by 𝒞free(ℛ,S)free configuration space or free space 9
  • 12. Mapping to Conf. Space A path for the robot maps to a curve in the configuration space, and vice versa Every placement along the path simply maps to the corresponding point in configuration space Can we also map obstacles to configuration space? yes An obstacle P is mapped to the set of points p in configuration space such that R(p) intersects P configuration-space obstacle or 𝒞-obstacle 𝒞-obstacles may overlap even when the obstacles in the work space are disjoint 10
  • 13. One subtle issue that we have ignored Does the robot collide with an obstacle when it touches that obstacle? Obstacles are open sets, so that the robot is allowed to touch them In practice a movement where the robot passes very close to an obstacle cannot be considered safe because of possible errors in robot control Enlarging all the obstacles before the computation of a path 11
  • 14. A Point Robot It’s always good to start with a simple case! The obstacles are polygons with disjoint interiors, whose total number of vertices is denoted by n As before Denote the obstacles by P1,...,Pt Denote the robot by R Natural assumption that its reference point is the point robot itself The work space and the configuration space are identical finding a path from a particular start position to a particular goal position ? 12
  • 15. Bounding box Our Goal ? we add one infinitely large obstacle 𝒞𝑓𝑟𝑒𝑒 𝐵 𝒞𝑓𝑟𝑒𝑒 = ൘𝐵 ራ 𝑖=1 𝑡 𝒫𝑖 Compute a representation of the free space that allows us to find a path for any start and goal position Trapezoidal map Vertical Extension O(nlogn) 13
  • 16. Represent Free Space Algorithm ComputeFreeSpace(S) Input. A set S of disjoint polygons. Output. A trapezoidal map of 𝒞free(R,S) for a point robot R. 1. Let E be the set of edges of the polygons in S. 2. Compute the trapezoidal map T(E) with algorithm TRAPEZOIDALMAP described in Chapter 6. 3. Remove the trapezoids that lie inside one of the polygons from T(E) and return the resulting subdivision. Lemma 13.1A trapezoidal map of the free configuration space for a point robot moving among a set of disjoint polygonal obstacles with n edges in total can be computed by a randomized algorithm in O(nlogn) expected time. 14
  • 17. Trapezoidal Map Compute the trapezoidal map T(E) with algorithm Trapezoidal Map Remove the trapezoids that lie inside one of the polygons from T(E) 15
  • 18. How do we use T(𝒞 free) to find a path from a start position pstart to a goal position pgoal? If pstart and pgoal are in the same trapezoid of the map pstart pgoal If the start and goal position are in different trapezoids To guide the motion across trapezoids we construct a road map through the free space 16
  • 19. Road Map The road map is a graph 𝒢road , which is embedded in the plane What is Road map ? 17
  • 20. Plan a motion We can use the road map, together with the trapezoidal map, to plan a motion from a start to a goal position Pstart Pgoal ∆start ∆goal 18
  • 21. 1. Find the trapezoid ∆start containing pstart and the trapezoid ∆goal containing pgoal. 2. if ∆start or ∆goal does not exist 3. then Report that the start or goal position is in the forbidden space. 4. else Let νstart be the node of 𝒢road in the center of ∆start . 5. Let νgoal be the node of 𝒢road in the center of ∆goal. 6. Compute a path in 𝒢road from νstart to νgoal using breadth-first search. 7. if there is no such path 8. then Report that there is no path from pstart to pgoal. 9. else Report the path consisting of a straight-line motion from pstart to νstart, the path found in 𝒢road, and a straight-line motion from νgoal to pgoal. Algorithm ComputePath( T(𝒞free ), 𝒢 road, pstart, pgoal) Input. The trapezoidal map T( 𝒞 free) of the free space, the road map 𝒢road , a start position pstart, and goal position pgoal. Output. A path from pstart to pgoal if it exists. If a path does not exist, this fact is reported. Compute Path Algorithm 19
  • 22. Are the paths we report always collision-free ? Do we always find a collision-free path if one exists ? Let’s think about its correctness 20
  • 23. Analyze the time of algorithm Finding the trapezoids containing the start and goal can be done in O( logn ) using the point location structure of Chapter 6 Or alternatively simply check all trapezoids in linear time 1 2 The breadth-first search takes linear time in the size of the graph 𝒢road The time to report the path is bounded by the maximum number of arcs on a path in 𝒢road, which is O(n) 3 21
  • 24. Analyze the time of algorithm Theorem 13.2 Let R be a point robot moving among a set S of polygonal obstacles with n edges in total. We can preprocess S in O(nlogn) expected time, such that between any start and goal position a collision-free path for R can be computed in O(n) time, if it exists. 22
  • 25. Minkowski Sums The same approach can be used if the robot is a polygon one difference the configuration-space obstacles are no longer the same as the obstacles in work space The configuration-space obstacle, or 𝒞-obstacle, of an obstacle P and the robot R is defined as the set of points in configuration space such that the corresponding placement of R intersects P 𝒞𝒫: = 𝑥, 𝑦 : ℛ 𝑥, 𝑦 𝒫 ∩ ≠ 0 23
  • 26. The Minkowski sum of two sets S1⊂R2 and S2⊂R2 , denoted by S1⊕S2, is defined as : S1 ⊕ S2 ≔ 𝑝 + 𝑞: 𝑝 ∈ 𝑆1, 𝑞 ∈ 𝑆2 Minkowski Sums where p+q denotes the vector sum of the vectors p and q if p=(px,py) and q=(qx,qy) then we have : p+q := (px+qx, py+qy) 24
  • 27. Minkowski Sums Theorem 13.3 Let R be a planar, translating robot and let P be an obstacle. Then the C-obstacle of P is P ⊕ ( −R(0,0) ) −p := (−px,−py) For a set S −S := { −p: p ∈ S } For a point p=(px,py) more info 25
  • 28. Useful properties of Minkowski sums Observation 13.4 Let P and R be two objects in the plane, and let 𝒞P := P ⊕ R. An extreme point in direction Ԧ𝑑 on 𝒞P is the sum of extreme points in direction Ԧ𝑑 on P and R we now prove that the Minkowski sum of two convex polygons has linear complexity 26
  • 29. Theorem 13.5 Let P and R be two convex polygons with n and m edges, respectively. Then the Minkowski sum P ⊕ R is a convex polygon with at most n + m edges. Proof. e must be generated by points on P and R that are extreme in the same direction at least one of P and R must have an edge that is extreme in that direction total number of edges is at most n + m 27Useful properties of Minkowski sums
  • 30. Minkowski Sum Algorithm A very simple algorithm For each pair v, w of vertices, with v ∈ P and w ∈ R, compute v + w Compute the convex hull of all these sums An alternative algorithm It only looks at pairs of vertices that are extreme in the same direction angle(pq) notation 28
  • 31. Algorithm MINKOWSKISUM(P,R) Input. A convex polygon P with vertices v1,...,vn, and a convex polygon R with vertices w1, ..., wm. The lists of vertices are assumed to be in counter-clockwise order, with v1and w1 being the vertices with smallest y-coordinate Output. The Minkowski sum P ⊕ R. 1. i←1; j←1 2. vn+1←v1; vn+2←v2; wm+1←w1; wm+2←w2 3. repeat 4. Add vi +wj as a vertex to P⊕R. 5. if angle(vivi+1) < angle(wjwj+1) 6. then i←(i+1) 7. else if angle(vivi+1) < angle(wjwj+1) 8. then j←(j+1) 9. else i←(i+1); j←(j+1) 10. until i=n+1 and j=m+1 Minkowski Sum Algorithm 29
  • 32. Translational Motion Planning Lemma 13.13 The free configuration space 𝒞free of a convex robot of constant complexity translating among a set of polygons with n edges in total can be computed in O(nlog2n) time. Theorem 13.14 Let R be a convex robot of constant complexity translating among a set S of disjoint polygonal obstacles with n edges in total. We can preprocess S in O(nlog2n) expected time, such that between any start and goal position a collision-free path for R, if it exists, can be computed in O(n) time. 30