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

Similar documents
Non-holonomic Planning

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

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

Trajectory Optimization

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

CS 4649/7649 Robot Intelligence: Planning

Planning in Mobile Robotics

Probabilistic Methods for Kinodynamic Path Planning

Robot Motion Control Matteo Matteucci

Configuration Space of a Robot

Cognitive Robotics Robot Motion Planning Matteo Matteucci

Nonholonomic motion planning for car-like robots

Collision and Proximity Queries

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

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

Collision Detection with Bounding Volume Hierarchies

Sampling-based Planning 2

Bounding Volume Hierarchies

Advanced Robotics Path Planning & Navigation

Dynamic Collision Detection

CPSC / Sonny Chan - University of Calgary. Collision Detection II

Kinematics, Kinematics Chains CS 685

Efficient Interference Calculation by Tight Bounding Volumes

Collision Detection. Motivation - Dynamic Simulation ETH Zurich. Motivation - Path Planning ETH Zurich. Motivation - Biomedical Simulation ETH Zurich

Using Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects

Manipulator trajectory planning

Collision Detection II. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

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

1 Differential Drive Kinematics

References. Additional lecture notes for 2/18/02.

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

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

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

Self-Collision Detection. Planning for Humanoid Robots. Digital Human Research Center. Talk Overview

Robot Motion Planning

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

Sung-Eui Yoon ( 윤성의 )

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

Simulation (last lecture and this one)

A DIRECT METHOD TO FIND OPTIMAL TRAJECTORIES FOR MOBILE ROBOTS USING INVERSE KINEMATICS

Prof. Fanny Ficuciello Robotics for Bioengineering Trajectory planning

Lesson 05. Mid Phase. Collision Detection

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

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

Robotics (Kinematics) Winter 1393 Bonab University

Variable-resolution Velocity Roadmap Generation Considering Safety Constraints for Mobile Robots

1 Trajectories. Class Notes, Trajectory Planning, COMS4733. Figure 1: Robot control system.

Collision processing

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

Simplified Voronoi diagrams for motion planning of quadratically-solvable Gough-Stewart platforms

Advanced Robotics Path Planning & Navigation

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Trajectory planning in Cartesian space

Collision Detection CS434. Daniel G. Aliaga Department of Computer Science Purdue University

Boundary Layer Heuristic for Search-Based Nonholonomic Path Planning in Maze-Like Environments

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta

Robot Motion Planning and (a little) Computational Geometry

Adaptive Dynamic Collision Checking for Single and Multiple Articulated Robots in Complex Environments

Ray Tracing Acceleration. CS 4620 Lecture 20

Part I Part 1 Sampling-based Motion Planning

Real-Time Collision Detection for Dynamic Virtual Environments

Sampling-Based Motion Planning

Navigation and Metric Path Planning

Introduction to Mobile Robotics Path Planning and Collision Avoidance. Wolfram Burgard, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

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

Part I Part 1 Sampling-based Motion Planning

Elastic Bands: Connecting Path Planning and Control

Time Optimal Trajectories for Bounded Velocity Differential Drive Robots

Configuration Space. Ioannis Rekleitis

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

Stable Trajectory Design for Highly Constrained Environments using Receding Horizon Control

Introduction to Mobile Robotics Path Planning and Collision Avoidance

15-494/694: Cognitive Robotics

video 1 video 2 Motion Planning (It s all in the discretization) Digital Actors Basic problem Basic problem Two Possible Discretizations

Computer Game Programming Basic Path Finding

Tracking Minimum Distances between Curved Objects with Parametric Surfaces in Real Time

Robot Motion Planning

Week 8 Voronoi Diagrams

Fundamental problems in mobile robotics

Planning & Decision-making in Robotics Case Study: Planning for Autonomous Driving

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

CS Path Planning

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

CS535 Fall Department of Computer Science Purdue University

Chapter 3: Kinematics Locomotion. Ross Hatton and Howie Choset

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

15-780: Problem Set #4

Topics. Ray Tracing II. Intersecting transformed objects. Transforming objects

Motion Planning. Chapter Motion Planning Concepts. by Lydia E. Kavraki and Steven M. LaValle Configuration Space

Approximate path planning. Computational Geometry csci3250 Laura Toma Bowdoin College

Chapter 4 Dynamics. Part Constrained Kinematics and Dynamics. Mobile Robotics - Prof Alonzo Kelly, CMU RI

Announcements. CS 188: Artificial Intelligence Fall Robot motion planning! Today. Robotics Tasks. Mobile Robots

CS 188: Artificial Intelligence Fall Announcements

Mobile Robot Kinematics

Virtual Reality in Assembly Simulation

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

Local Search Methods. CS 188: Artificial Intelligence Fall Announcements. Hill Climbing. Hill Climbing Diagram. Today

Motion Planning. Howie CHoset

Motion Control (wheeled robots)

Transcription:

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

(3 pts) How to generate Delaunay Triangulation? (3 pts) Explain the difference between AABBs and OBBs (4 pts) Explain how to check collision using BVH RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 2

Goal Avoid sliver triangle Find the dual graph of Voronoi graph Voronoi Graph Delaunay Graph RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 3

Axis-Aligned Bounding Boxes (AABBs) Bound object with one or more boxes oriented along the same axis RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 4

Not invariant Efficient Not tight RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 5

Oriented Bound Boxes (OBBs) are the same as AABBs except The orientation of the box is not fixed OBBs can give you a tighter fit with fewer boxes RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 6

Invariant Less efficient to test Tight RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 7

A Search tree B C AA D E F G BB BC CB CC A A RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 8

AA A Search tree B C BB BC CB CC D E F G FD FE GD GE If two leaves of the BVH s overlap (here, G and D) check their content for collision G D RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 9

Static checks Dynamic checks RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 11

Discretize path at some fine resolution e Test statically each intermediate configuration 3 < e 2 3 1 3 2 e too large collisions are missed e too small slow test of local paths 3 RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 12

PRM planning Detect collision as quickly as possible Bisection strategy Physical simulation, haptic interaction Find first collision Sequential strategy RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 13

Feature Tracking Swept-volume intersection RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 14

Compute the Euclidian distance of two polyhedra Each object is represented as a convex polyhedron (or a set of polyhedra) Each polyhedron has a field for its faces, edges, vertices, positions and orientations features The closest pair of features between two polyhedra The pair of features which contains the closest points Given two polyhedra, find and keep updating their closest features (see [1]) RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 15

Strategy The closest pair of features (vertex, edge, face) between two polyhedral objects are computed at the start configurations of the objects During motion, at each small increment of the motion, they are updated RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 16

Efficiency derives from two observations The pair of closest features changes relatively infrequently When it changes the new closest features will usually be on a boundary of the previous closest features RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 17

e too large collisions are missed e too small slow test of local paths RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 18

e too large collisions are missed e too small slow test of local paths RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 19

Bounding-volume (BV) hierarchies Discretization issue Feature-tracking methods Geometric complexity issue with highly non-convex objects Swept-volume intersection Swept-volumes are expensive to compute. Too much data. RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 20

[1] M. Lin and J. Canny. A Fast Algorithm for Incremental Distance Calculation. Proc. IEEE Int. Conf. on Robotics and Automation, 1991 RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 21

We have learned about RRTs. q new q init q near q rand But the standard version of sampling-based planners assume the robot can move in any direction at any time What about robots that can t do this? RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 23

Non-Holonomic constraints Definition and examples Discrete Non-Holonomic Planning Sampling-based Non-Holonomic Planning RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 24

Holonomic constraints depend only on configuration F(q, t) = 0 (note they can be time-varying!) Is collision constraint holonomic? Non-holonomic constraints are constraints that cannot be written in this form RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 25

Parallel Parking Manipulation with a robotic hand Multi-fingered hand from Nagoya University RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 26

RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 27

Hopping robots RI s bow leg hopper (CMU) AERcam, NASA - Untethered space robots RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 28

Underwater robot Forward propulsion is allowed only in the pointing direction Robotic Manipulator with passive joints RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 29

Constraint equation y What does this equation tell us? The direction we can t move in If q=0, then the velocity in y = 0 If q=90, then the velocity in x = 0 Write the constraint in matrix form q x RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 30

Write the constraint in matrix form Position & Velocity Vectors Constraint Vector RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 31

Example: The kinematics of a unicycle Can move forward and back Can rotate about the wheel center Can t move sideways RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 32

Can we just integrate them to get a holonomic constraint? Intermediate values of its trajectory matters Can we still reach any configuration (x,y,q)? No constraint on configuration, but May not be able to go to a (x,y,q) directly RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 33

Non-holonomic constraints are non-integrable Thus non-holonomic constraints must contain derivatives of configuration In this case, how to move between configurations (or states) when planning? E.g., in RRT, we assumed we can move between arbitrary nearby configurations using a straight line. But now RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 34

State Space Control space Speed or Acceleration Steering angle x, y, z,,, q x, y, z,,, q RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 35

Non-holonomic Constraint In a small time interval, the car must move approximately in the direction that the rear wheels are pointing. y u Motion model u s = speed u f = steering angle u s x RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 36

Motion model u s = speed y x u u s x RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 37

Motion model u f = steering angle If the steering angle is fixed, the car travels in a circular motion radius ρ Let ω denote the distance traveled by the car y x u Rotation of the vehicle u s x RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 38

We have derived the model Now how to plan the trajectory given the start and end states of the mobile robot? RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 39

Two-Point Boundary Value Problem (BVP): Find a control sequence to take system from state X I to state X G while obeying kinematic constraints. X G X I RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 40

Shoot out trajectories in different directions until a trajectory of the desired boundary value is found. System Boundary condition RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 41

Composites of maneuver primitives Due to non-holonomic constraint, direct sideway motion is prohibited Approximate the side way using a series of forward/backward and turning maneuvers RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 42

r dq (x,y) h dq r q Allows sidewise motion RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 43

Allows pure rotation RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 44

RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 45

RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 46

Final path can be far from optimal Not applicable to car that can only move forward e.g., an airplane RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 47

Reed and Shepp (RS) Path Optimal path must be a discrete and computable set of curves Each member of this set consists of sequential straight-line segments and circular arcs at the car s minimum turning radius Notation C curve S straight line switch direction Subscript traverse distance RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 48

Given any two configurations The shortest RS paths between them is also the Optimal path The optimal path is guaranteed to be contained in the following set of path types Strategy Pre-compute a map indexed by the goal relative to the start configuration Look up in the map for the optimal path may not be unique RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 49

RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 50

Sequence of driving motion primitives Compute State Lattice Search for a sequence of states [Knepper and Mason, ICRA 2009] RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 51

Discretize control space [Barraquand & Latombe, 1993] Discontinuous curvature Cost = number of reversals Dijkstra s Algorithm RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 52

RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 53

Two methods to get lattice Forward For certain systems, can sequence primitives to make lattice Inverse Discretize space, use BVP solvers to find trajectories between states RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 54

Choice of set of primitives affects Completeness Optimality Speed RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 55

Impose continuity constraints at graph vertices Search state lattice like any graph (i.e. A*) Pre-compute swept volume of robot for each primitive for faster collision checking Pivtoraiko et al. 2009 RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 56

Forming a full state lattice is impractical for high dimensions So, sample instead. IMPORTANT We are now sampling state space (position and velocity), not C- space (position only) RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 57

Curse of Dimensionality Dimension of the space is doubled position and velocity Local planner Moving between points is harder (can t go in a straight line) Distance metric is unclear Euclidian distance is not the correct metrics RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 58

Same as regular PRM Sampling, graph building, and query strategies Problem Local planner needs to reach an EXACT state (i.e. a given node) while obeying non-holonomic constraints X G X I RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 59

In general BVP problem use general solver (slow) In practice Local planner specialized to system type Example For Reeds-Shepp car, can compute optimal path RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 60

RRT was originally proposed for non-holonomic planning Sampling and tree building is the same as regular RRT Additional concerns Not all straight lines are valid, can t extend toward nodes Use motion primitives to get as close to target node as possible RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 61

Apply motion primitives (i.e. simple actions) at q near q = f ( q, u) --- use action u from q to arrive at q = arg min( d( q, q )) chose u * rand Holonomic RRT q new Non-Holonomic RRT q 1 q 2 q new = q 3 q init q near q rand You probably won t reach q rand by doing this Key point: No problem, you re still exploring! u* q near q rand RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 62

Hard to define d, the distance metric Mixing velocity, position, rotation,etc. q near How do you pick a good q near? Configurations are close according to Euclidian metric, but actual distance is large RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 63

At each iteration, the probability that a node is selected is proportional to the volume of its Voronoi region Random Node Choice (bad distance metric) Voronoi Bias (good distance metric) RRTs can rapidly expand toward region of large clearance! RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 64

q rand q near How to bridge between the two points? RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 65

Similar to holonomic case, paths produced can be highly suboptimal Hovercraft with 2 Thrusters in 2D RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 66

General trajectory optimization Convert path to cubic B-spline Be careful about collisions RBE 550 Motion Planning Instructor: Jane Li, Mechanical Engineering Department & Robotic Engineering Program - WPI 3/18/2018 67