Configuration Space. Ioannis Rekleitis

Similar documents
Sampling-based Planning 2

Configuration Space of a Robot

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo. Motion Planning 1 Retraction and Cell Decomposition

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

Part I Part 1 Sampling-based Motion Planning

Part I Part 1 Sampling-based Motion Planning

6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning

Search Spaces I. Before we get started... ME/CS 132b Advanced Robotics: Navigation and Perception 4/05/2011

Lecture 3: Motion Planning (cont.)

Motion Planning. COMP3431 Robot Software Architectures

Planning & Decision-making in Robotics Planning Representations/Search Algorithms: RRT, RRT-Connect, RRT*

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space

Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

Introduction to State-of-the-art Motion Planning Algorithms. Presented by Konstantinos Tsianos

Lecture 3: Motion Planning 2

6.3 Poincare's Theorem

A Flavor of Topology. Shireen Elhabian and Aly A. Farag University of Louisville January 2010

Advanced Robotics Path Planning & Navigation

Planning in Mobile Robotics

Algorithms for Sensor-Based Robotics: Sampling-Based Motion Planning

Road Map Methods. Including material from Howie Choset / G.D. Hager S. Leonard

CS 4649/7649 Robot Intelligence: Planning

for Motion Planning RSS Lecture 10 Prof. Seth Teller

Workspace-Guided Rapidly-Exploring Random Tree Method for a Robot Arm

Motion Planning: Probabilistic Roadmaps. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

Motion Planning 2D. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Homework #2 Posted: February 8 Due: February 15

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Visual Navigation for Flying Robots. Motion Planning

Human-Oriented Robotics. Robot Motion Planning. Kai Arras Social Robotics Lab, University of Freiburg

Motion Planning. Jana Kosecka Department of Computer Science

Algorithms for Sensor-Based Robotics: Sampling-Based Motion Planning

Manifolds Pt. 1. PHYS Southern Illinois University. August 24, 2016

Path Deformation Roadmaps

Geometric structures on manifolds

Motion Planning for Humanoid Robots

Offline and Online Evolutionary Bi-Directional RRT Algorithms for Efficient Re-Planning in Environments with Moving Obstacles

Chapter 4 Concepts from Geometry

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Potential Function. Homework #3. Part I: Star Algorithm

Sampling-Based Motion Planning

Visibility Graph. How does a Mobile Robot get from A to B?

Lecture Schedule Week Date Lecture (W: 3:05p-4:50, 7-222)

CS 763 F16. Moving objects in space with obstacles/constraints.

Sampling-Based Robot Motion Planning. Lydia Kavraki Department of Computer Science Rice University Houston, TX USA

Can work in a group of at most 3 students.! Can work individually! If you work in a group of 2 or 3 students,!

Path Planning among Movable Obstacles: a Probabilistically Complete Approach

Probabilistic Methods for Kinodynamic Path Planning

Final Exam, F11PE Solutions, Topology, Autumn 2011

Factor-Guided Motion Planning for a Robot Arm

Star-shaped Roadmaps - A Deterministic Sampling Approach for Complete Motion Planning

Topological Data Analysis - I. Afra Zomorodian Department of Computer Science Dartmouth College

1 Euler characteristics

15-494/694: Cognitive Robotics

Retraction-Based RRT Planner for Articulated Models

Geometric structures on manifolds

Trajectory Optimization

CS Path Planning

Robot Motion Planning

II. RELATED WORK. A. Probabilistic roadmap path planner

Hyperbolic structures and triangulations

EEE 187: Robotics Summary 2

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization

Probabilistic Motion Planning: Algorithms and Applications

Non-holonomic Planning

Hot topics and Open problems in Computational Geometry. My (limited) perspective. Class lecture for CSE 546,

Math 734 Aug 22, Differential Geometry Fall 2002, USC

Introduction to geometry

Topology of Surfaces

Robot Motion Planning

6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning

Simplicial Hyperbolic Surfaces

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro

LQR-RRT : Optimal Sampling-Based Motion Planning with Automatically Derived Extension Heuristics

Hybrid Probabilistic RoadMap - Monte Carlo Motion Planning for Closed Chain Systems with Spherical Joints

Path Planning. Jacky Baltes Dept. of Computer Science University of Manitoba 11/21/10

Introduction to Intelligent System ( , Fall 2017) Instruction for Assignment 2 for Term Project. Rapidly-exploring Random Tree and Path Planning

Robotics Tasks. CS 188: Artificial Intelligence Spring Manipulator Robots. Mobile Robots. Degrees of Freedom. Sensors and Effectors

Motion Planning with Monte Carlo Random Walks. Weifeng Chen

Principles of Robot Motion

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

Lecture 7: Jan 31, Some definitions related to Simplical Complex. 7.2 Topological Equivalence and Homeomorphism

Learning Humanoid Reaching Tasks in Dynamic Environments

FACOLTÀ DI INGEGNERIA DELL INFORMAZIONE ELECTIVE IN ROBOTICS. Quadrotor. Motion Planning Algorithms. Academic Year

T S. Configuration Space S1 LP S0 ITM. S3 Start cfg

Introduction to robot algorithms CSE 410/510

Lecture 18 Kinematic Chains

Lectures on topology. S. K. Lando

Nonholonomic motion planning for car-like robots

Topic: Orientation, Surfaces, and Euler characteristic

Path Planning. Ioannis Rekleitis

f-v v-f f-e e-f f-f e-e-cross e-v v-e degenerate PCs e-e-touch v-v

Planning with Reachable Distances: Fast Enforcement of Closure Constraints

Workspace Skeleton Tools for Motion Planning

Motion Planning, Part III Graph Search, Part I. Howie Choset

Final Report: Dynamic Dubins-curve based RRT Motion Planning for Differential Constrain Robot

Efficient Interference Calculation by Tight Bounding Volumes

Motion Planning For Steerable Needles in 3D Environments with Obstacles Using Rapidly-Exploring Random Trees and Backchaining

Transcription:

Configuration Space Ioannis Rekleitis

Configuration Space

Configuration Space

Definition A robot configuration is a specification of the positions of all robot points relative to a fixed coordinate system Usually a configuration is expressed as a vector of position/orientation parameters

What is a Path? q init q goal q goal q init

What is a Path?

Tool: Configuration Space (C-Space C) q 2 q 1 q 2 q 1

Tool: Configuration Space (C-Space C) q 2 q 1 q 2 q 1

Tool: Configuration Space (C-Space C)

Articulated Robot Example q = (q 1,q 2,,q 10 ) q 2 q 1

Configuration Space of a Robot Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S 1 x S 1

Configuration Space of a Robot Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S 1 x S 1

Configuration Space of a Robot Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S 1 x S 1

Structure of Configuration Space It is a manifold For each point q, there is a 1-to-1 map between a neighborhood of q and a Cartesian space R n, where n is the dimension of C This map is a local coordinate system called a chart. C can always be covered by a finite number of charts. Such a set is called an atlas

Example

Case of a Planar Rigid Robot workspace y robot reference direction q reference point 3-parameter representation: q = (x,y,q) with q [0,2p). Two charts are needed Other representation: q = (x,y,cosq,sinq) c-space is a 3-D cylinder R 2 x S 1 embedded in a 4-D space x

Rigid Robot in 3-D Workspace q = (x,y,z,a,b,g) The c-space is a 6-D space (manifold) embedded in a 12-D Cartesian space. It is denoted by R 3 xso(3) Other representation: q = (x,y,z,r 11,r 12,,r 33 ) where r 11, r 12,, r 33 are the elements of rotation matrix R: r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 with: r i12 +r i22 +r i3 2 = 1 r i1 r j1 + r i2 r 2j + r i3 r j3 = 0 det(r) = +1

Parameterization of SO(3) Euler angles: (f,q,y) z z Unit quaternion: x y f q x x y y y x (cos q/2, n 1 sin q/2, n 2 sin q/2, n 3 sin q/2) z z 1 2 3 4 y

A welding robot

A Stuart Platform

Barrett WAM arm

Barrett WAM arm on a mobile platform

Configuration Space Obstacle

Two link path

2D Rigid Object

The Configuration Space

Moving a piano

Parameterization of Torus

Metric in Configuration Space A metric or distance function d in C is a map d: (q 1,q 2 ) C 2 d(q 1,q 2 ) > 0 such that: d(q 1,q 2 ) = 0 if and only if q 1 = q 2 d(q 1,q 2 ) = d (q 2,q 1 ) d(q 1,q 2 ) < d(q 1,q 3 ) + d(q 3,q 2 )

Metric in Configuration Space Example: Robot A and point x of A x(q): location of x in the workspace when A is at configuration q A distance d in C is defined by: d(q,q ) = max x A x(q)-x(q ) where a - b denotes the Euclidean distance between points a and b in the workspace

Obstacles in C-Space A configuration q is collision-free, or free, if the robot placed at q has null intersection with the obstacles in the workspace The free space F is the set of free configurations A C-obstacle is the set of configurations where the robot collides with a given workspace obstacle A configuration is semi-free if the robot at this configuration touches obstacles without overlap

Disc Robot in 2-D Workspace

Rigid Robot Translating in 2-D CB = B A = {b-a a A, b B} b1-a1 b1 a1

Linear-Time Computation of C-Obstacle in 2-D (convex polygons)

Rigid Robot Translating and Rotating in 2-D

Free and Semi-Free Paths A free path lies entirely in the free space F A semi-free path lies entirely in the semi-free space

Remarks on Free-Space Topology The robot and the obstacles are modeled as closed subsets, meaning that they contain their boundaries One can show that the C-obstacles are closed subsets of the configuration space C as well Consequently, the free space F is an open subset of C. Hence, each free configuration is the center of a ball of non-zero radius entirely contained in F The semi-free space is a closed subset of C. Its boundary is a superset of the boundary of F

Notion of Homotopic Paths Two paths with the same endpoints are homotopic if one can be continuously deformed into the other R x S 1 example: t 1 and t 2 are homotopic t 1 and t 3 are not homotopic q In this example, infinity of homotopy classes t 3 t 1 t 2 q

Connectedness of C-Space C is connected if every two configurations can be connected by a path C is simply-connected if any two paths connecting the same endpoints are homotopic Examples: R 2 or R 3 Otherwise C is multiply-connected Examples: S 1 and SO(3) are multiply- connected: - In S 1, infinity of homotopy classes - In SO(3), only two homotopy classes

Classes of Homotopic Free Paths

Probabilistic Roadmaps PRMs

Rapidly-exploring Random Trees A point P in C is randomly chosen. The nearest vertex in the RRT is selected. A new edge is added from this vertex in the direction of P, at distance. The further the algorithm goes, the more space is covered.

Rapidly-expanding Random Trees Starting vertex

Rapidly-expanding Random Trees Vertex randomly drawn

Rapidly-expanding Random Trees Nearest vertex

Rapidly-expanding Random Trees New vertex The vertex is in Cfree

Rapidly-expanding Random Trees Vertex randomly drawn

Rapidly-expanding Random Trees Nearest point

Rapidly-expanding Random Trees The vertex is in Cfree New vertex

Rapidly-expanding Random Trees

Rapidly-expanding Random Trees Vertex randomly drawn

Rapidly-expanding Random Trees Nearest vertex

Rapidly-expanding Random Trees New vertex

Rapidly-expanding Random Trees And it continues

RRT-Connect We grow two trees, one from the beginning vertex and another from the end vertex Each time we create a new vertex, we try to greedily connect the two trees

Start RRT-Connect: example Goal

RRT-Connect: example Random vertex

RRT-Connect: example

RRT-Connect: example We greedily connect the bottom tree to our new vertex

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example Obstacle found!

RRT-Connect: example Now we swap roles!

RRT-Connect: example Now we swap roles!

RRT-Connect: example We grow the bottom tree

RRT-Connect: example Now we greedily try to connect And we continue

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example

RRT-Connect: example Connection made!

RRT-Connect: example Now we have a solution!

RRT-Connect: example Last step: path smoothing

RRT-Connect: example Last step: path smoothing

An RRT in 2D Example from: http://msl.cs.uiuc.edu/rrt/gallery_2drrt.html

A Puzzle solved using RRTs The goal is the separate the two bars from each other. You might have seen a puzzle like this before. The example was constructed by Boris Yamrom, GE Corporate Research & Development Center, and posted as a research benchmark by Nancy Amato at Texas A&M University. It has been cited in many places as a one of the most challenging motion planning examples. In 2001, it was solved by using a balanced bidirectional RRT, developed by James Kuffner and Steve LaValle. There are no special heuristics or parameters that were tuned specifically for this problem. On a current PC (circa 2003), it consistently takes a few minutes to solve.

Lunar Landing The following is an open loop trajectory that was planned in a 12-dimensional state space. The video shows an X-Wing fighter that must fly through structures on a lunar base before entering the hangar. This result was presented by CSCE-774 Steve LaValle Robotic Systems and James Kuffner at the Workshop on the Algorithmic Foundations of Robotics, 2000.