Robot Motion Planning - UNC Charlotte · Robot Motion Planning GIAN course, Jul 31-Aug 4, 2017...
-
Upload
nguyentuyen -
Category
Documents
-
view
217 -
download
0
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
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/
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
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
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
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
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