Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017...

57
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/

Transcript of Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017...

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

Srinivas AkellaDepartment of Computer Science

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

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

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

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

• No prior robotics experience is assumed

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

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

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

Visibility Roadmap

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

Shakey the Robot

Shakey,SRI, 1968

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

Trapezoidal Cell Decomposition

Trapezoidal decomposition

Connectivitygraph

Search graph forpath

Latombe 1991

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

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

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

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

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

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

Articulated RobotsAn articulated robot consists of several links connected by joints

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

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

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

Nonholonomic Motion PlanningMotion planning for car-like robots

Example task: Parallel parking

Also motion planning for spacecraft, underwater robots, aircraftLaumond 1998

Nonholonomic RobotsTractor trailer systems

Example: Baggage trucks at airports

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

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

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/

Manipulation Planning

Robot must plan its motions to move objects as desired

Manipulation Planning

Flexible Object Motion Planning

Lamiraux and Kavraki

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”

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

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

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

Design for Maintainability• Chang and Li (1995)

Autonomous Mobile Robots• Navlab (1986-1996)

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

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

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/

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

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

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

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

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

Curiosity (2012)

Humanoid Robots• Honda ASIMO NASA Robonaut

First humanoid in space (2011)

Honda Walking Robots

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

Robots Inspired by Animals• Boston Dynamics

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

Drones• UAVs

Predator

Quadrotor

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

Quadrotor

Kushleyev, Mellinger, Kumar 2012

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

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

Motion Planning for Virtual Actors

• Challenge: Generating visually realistic and natural motions

• Can also be used for ergonomics

Motion Planning for Video Games

• Need fast and efficient motion planners

Star TrekArmada II(2001)

Radiosurgical Planning• Use focused beams of radiation to destroy

tumors: Accuray Cyberknife

Molecular Drug Design• Predicting the possible binding sites of a

ligand with a protein

CoffeeBot

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

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

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

Folding 3D Objects

Protein folding pathways

3D pop-up MEMS

Carton folding(Motorola)

Dynamic SimulationProximity queries for dynamic simulation and haptic interactions

Parts feeding

Dexterousmanipulation

• Automated guided vehicles in factories

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

• Air traffic control,UAV coordination

Coordinating Multiple Robots

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

methods to find solutions• Variants and extensions are relevant to

many real-world applications

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

Acknowledgments• The images in these slides are from

numerous research papers, web sites, andtextbooks.