Top Banner
Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella Department of Computer Science University of North Carolina, Charlotte webpages.uncc.edu/sakella/
57

Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Aug 31, 2018

Download

Documents

nguyentuyen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Robot Motion PlanningGIAN course, Jul 31-Aug 4, 2017

Srinivas AkellaDepartment of Computer Science

University of North Carolina, Charlottewebpages.uncc.edu/sakella/

Page 2: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Course Overview• Course outline• Lectures and Tutorials• Textbooks and Readings• Prerequisites• Grading• Academic integrity

Page 3: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Course Outline• Class 1: Intro, Configuration space, Visibility Graph

• Class 2: Transformations, DH parameters, Quaternions

• Class 3: PRM and variants, RRT, Collision detection

• Class 4: Nonholonomic systems, Dubins cars, RRT*

• Class 5: Manipulation planning, Assembly planning, Multiple robot coordination, Robot systems

Page 4: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Prerequisites• C++/Python programming• Unix• Data structures and algorithms• Linear algebra, Multivariable calculus

• No prior robotics experience is assumed

Page 5: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Goal of Motion Planning• To compute motion plans or motion strategies.

Can be specified in different ways:– Geometric paths– Time parameterized trajectories– Sequence of sensor-based motion commands

• To achieve high-level goals. For example,– Go from A to B without colliding with obstacles– Coordinate collision-free motions of multiple robots– Assemble a product from a set of parts

Page 6: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Basic Motion Planning ProblemCompute a collision-free path for a rigid object, the “robot”, among static obstacles

Input: Geometry of robot and obstacles, kinematics of robot (degrees of freedom), initial and goal configurations.

Output: A path, or continuous sequence of collision-free robotconfigurations from initial configuration to goal configuration

Piano movers problem

Latombe 1991

Page 7: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

A Simple ExampleConsider a point robot that is to move from its initial position to a goal position

Assume the robot has a map of the area.The robot must avoid collisions with obstacles.

How can the robot find a collision-free path?Latombe 1991

Page 8: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Visibility Roadmap

Solution: Compute visibility graph, and search it forshortest path Latombe 1991

Page 9: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Shakey the Robot

Shakey,SRI, 1968

http://www.nytimes.com/video/science/1247468057234/shakey.html

Page 10: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Trapezoidal Cell Decomposition

Trapezoidal decomposition

Connectivitygraph

Search graph forpath

Latombe 1991

Page 11: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Classes of Motion Planning Methods

• Roadmap methods: Represent connectivity of freespace by network of 1D curves

• Cell decomposition methods: Decompose free space into cells, and represent connectivity of free space by adjacency graph of cells

• Potential field methods: Define potential function over c-space so it has minima at goal, and follow steepest descent to goal

• Sampling based methods: Sample configurations in free space, and connect them in tree or roadmap graph

Page 12: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Configuration Space (C-space)Configuration space C is the space of all possible configurations of robot AEach configuration q in C corresponds to a transformationthat can be applied to the robot A

Map workspace obstacles to C-space to determineset of forbidden configurations for robot

Robot inworkspace

Point in C-space

de Berg et al. 2008

Page 13: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Robotics Glossary• A configuration q of an object A is a

specification of the position of every point of A relative to a fixed reference frame

• The configuration space of A is the space C of all configurations of A

• The number of degrees of freedom (DOF) of A is the number of independent configuration variables to specify its position and orientation

• Example: For object in the plane,q = (x, y, theta), C=R2 x S1, DOF = 3

Page 14: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Basic Motion Planning ProblemCompute a collision-free path for a rigid object, the “robot”, among static obstacles

Input: Geometry of robot and obstacles, kinematics of robot (degrees of freedom), initial and goal configurations.

Output: A path, or continuous sequence of collision-free robotconfigurations from initial configuration to goal configuration

Piano movers problem

Latombe 1991

Page 15: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Extensions to Basic Problem• Articulated robots• Nonholonomic robots• Multiple robots• Manipulation planning for moveable

objects• Flexible objects• Uncertainty in control and sensing• Moving obstacles

Page 16: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Articulated RobotsAn articulated robot consists of several links connected by joints

Each joint constrains the relative motion of the two links it connects

Page 17: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Articulated RobotsRevolute joint: Constrains motion to be a rotationPrismatic joint: Constrains motion to be a translation

Puma robot with sixrevolute joints

Robot with 3 prismatic and2 revolute joints

Latombe 1991

Page 18: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Motion Planning for Articulated Robots

Large number of DOF make these problems challenging

Must avoid self-collisions

Initial

Goal

Planar robot with eight revolute joints Latombe 1991

Page 19: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Nonholonomic Motion PlanningMotion planning for car-like robots

Example task: Parallel parking

Also motion planning for spacecraft, underwater robots, aircraftLaumond 1998

Page 20: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Nonholonomic RobotsTractor trailer systems

Example: Baggage trucks at airports

https://upload.wikimedia.org/wikipedia/commons/9/99/Alaska_Airlines_8424.JPG Laumond 1998

Page 21: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Multiple RobotsMust plan motions of multiple robots to avoid collisions

Challenging because configuration space is high dimensional

Planning robot paths independently does not always work

Latombe 1991

Page 22: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Multiple RobotsMust plan motions of multiple robots to avoid collisions

Challenging because configuration space is high dimensional

Planning robot paths independently does not always work

https://ece.uwaterloo.ca/~dwharder/aads/Algorithms/N_puzzles/

Page 23: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Manipulation Planning

Robot must plan its motions to move objects as desired

Page 24: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Manipulation Planning

Page 25: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Flexible Object Motion Planning

Lamiraux and Kavraki

Page 26: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Robot• R.U.R (Rossum’s Universal Robots) by Karel

Capek is a play that first uses the word “robot” in 1921

• Based on Czech word for “forced labor”

Page 27: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

History• 1968: Shakey, visibility graphs• 1977: Manipulator planning, Assembly planning• 1980: Configuration space• 1980-87: Complexity of motion planning• 1991: Motion planning textbook• 1990s: Probabilistic techniques, nonholonomic motion

planning• 1996: Probabilistic roadmaps• 1998: Rapidly-exploring randomized trees• 2000s: Practical, efficient systems: assembly planning,

humanoid robots, medicine, biology, self-driving cars

Page 28: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Example Applications• Manufacturing• Design for manufacturing and maintainability• Autonomous mobile robots: driverless cars,

planetary exploration, military robots• Humanoid robots• Virtual actors• Computer games• Medical surgery• Bioinformatics

https://www.youtube.com/watch?v=yWlyDMDf8kc

Page 29: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Design for ManufacturingAssembly planning using path planning (Le, Cortes, Simeon 2009)

Page 30: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Design for Maintainability• Chang and Li (1995)

Page 31: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Autonomous Mobile Robots• Navlab (1986-1996)

https://www.youtube.com/watch?v=507-gmGsq1o

Page 32: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

DARPA Grand Challenge• Stanley (2005)

• 132-mile desert route in southern Nevada in 7 hours • http://archive.darpa.mil/grandchallenge05/• http://www.wired.com/2006/01/stanley/• Thrun: https://www.youtube.com/watch?v=PXQlpu8Y4fI

Page 33: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

DARPA Urban Challenge• CMU Boss, 2007

• Required teams to build an autonomous vehicle capable of driving in traffic, performing complex maneuvers such as merging, passing, parking and negotiating intersections.

• http://archive.darpa.mil/grandchallenge/

Page 34: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Google Self-Driving Cars• https://www.google.com/selfdrivingcar/

https://www.youtube.com/watch?v=TsaES--OTzM

Page 35: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Google Self-Driving Car• r

https://www.nytimes.com/interactive/2016/12/14/technology/how-self-driving-cars-work.html

Lidar

Radar sensors

Cameras

Maincomputer

AdditionalLidarUnits

Page 36: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

What the Car Sees

https://www.nytimes.com/interactive/2016/12/14/technology/how-self-driving-cars-work.html

Vehicles(pink)

Cyclists(red) Pedestrians

(yellow)

Green “fences”

Red “fences”

https://www.ted.com/talks/chris_urmson_how_a_driverless_car_sees_the_road

Page 37: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Mars Rovers• Sojourner (1997), Spirit and Opportunity (2004),

Curiosity (2012)

Page 38: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Humanoid Robots• Honda ASIMO NASA Robonaut

First humanoid in space (2011)

Page 39: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Honda Walking Robots

https://www.youtube.com/watch?v=QdQL11uWWcI

Page 40: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Robots Inspired by Animals• Boston Dynamics

https://www.facebook.com/Arch2OMagazine/videos/920816184596409/?fref=nf

Page 41: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Drones• UAVs

Predator

Quadrotor

https://www.youtube.com/watch?v=W18Z3UnnS_0

Page 42: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Quadrotor

Kushleyev, Mellinger, Kumar 2012

https://www.ted.com/talks/raffaello_d_andrea_the_astounding_athletic_power_of_quadcopters

Page 43: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Controlling a Quadrotor

A quadrotor hovers or adjusts its altitude by applying equal thrust to all four rotors.

A quadrotor adjusts its yaw by applying more thrust to rotors rotating in one direction.

A quadrotor adjusts its pitch or roll by applying more thrust to one rotor and less thrust to its diametrically opposite rotor.

Wikipedia

https://www.ted.com/talks/vijay_kumar_robots_that_fly_and_cooperate

Page 44: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Motion Planning for Virtual Actors

• Challenge: Generating visually realistic and natural motions

• Can also be used for ergonomics

Page 45: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Motion Planning for Video Games

• Need fast and efficient motion planners

Star TrekArmada II(2001)

Page 46: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Radiosurgical Planning• Use focused beams of radiation to destroy

tumors: Accuray Cyberknife

Page 47: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Molecular Drug Design• Predicting the possible binding sites of a

ligand with a protein

Page 48: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

CoffeeBot

https://www.youtube.com/watch?v=ni49uYq4cF4

Page 49: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Complexity of Motion Planning• For the Generalized Movers problem of

planning free paths in a C-space of arbitrary dimension (Reif 1979):Planning a free path for a robot made of an arbitrary number of polyhedral bodies connected together at some joint vertices, among a finite set of polyhedral obstacles, between any two configurations, is a PSPACE-hard problem

Page 50: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Complexity of Motion PlanningComplete motion planning algorithms by • Schwartz and Sharir (exact cell

decomposition method, 1983) and • Canny (roadmap method, 1988) strongly suggest complexity of path planning increases exponentially with C-space dimension

Page 51: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Folding 3D Objects

Protein folding pathways

3D pop-up MEMS

Carton folding(Motorola)

Page 52: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Dynamic SimulationProximity queries for dynamic simulation and haptic interactions

Parts feeding

Dexterousmanipulation

Page 53: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

• Automated guided vehicles in factories

• Welding and painting robots in automotive industry, wafer transportrobots in semiconductorindustry

• Air traffic control,UAV coordination

Coordinating Multiple Robots

Page 54: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:
Page 55: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Summary• Basic motion planning problem• Use geometric algorithms and optimization

methods to find solutions• Variants and extensions are relevant to

many real-world applications

Page 56: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Reading• Chapters 1 and 3, LaValle• Chapters 1 and 3, Choset et al.• Robot algorithms, Halperin, Kavraki,

Latombe, Chap 21, Algorithms and Theoryof Computation Handbook

• Motion planning, Kavraki and LaValle,Chap 5, Handbook of Robotics, Springer,2008

Page 57: Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017 Srinivas Akella ... Probabilistic techniques, nonholonomic motion planning • 1996:

Acknowledgments• The images in these slides are from

numerous research papers, web sites, andtextbooks.