Non-holonomic Planning

Similar documents
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

Robot Motion Control Matteo Matteucci

Probabilistic Methods for Kinodynamic Path Planning

Configuration Space of a Robot

Cognitive Robotics Robot Motion Planning Matteo Matteucci

Manipulator trajectory planning

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

Kinematics, Kinematics Chains CS 685

Planning in Mobile Robotics

1 Differential Drive Kinematics

Sampling-based Planning 2

Time Optimal Trajectories for Bounded Velocity Differential Drive Robots

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

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

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

Chapter 3: Kinematics Locomotion. Ross Hatton and Howie Choset

Nonholonomic motion planning for car-like robots

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

Prof. Fanny Ficuciello Robotics for Bioengineering Trajectory planning

Advanced Robotics Path Planning & Navigation

Motion Control (wheeled robots)

Fundamental problems in mobile robotics

Sampling-Based Motion Planning

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

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

Mobile Robot Kinematics

Robot Motion Planning

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

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

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

Kinematics of Wheeled Robots

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

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

Centre for Autonomous Systems

Robotics (Kinematics) Winter 1393 Bonab University

A Reduced-Order Analytical Solution to Mobile Robot Trajectory Generation in the Presence of Moving Obstacles

Final Exam Practice Fall Semester, 2012

Robot Motion Planning

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

Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment

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

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

Copyright by Shilpa Gulati 2011

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

Unit 2: Locomotion Kinematics of Wheeled Robots: Part 3

1. Introduction 1 2. Mathematical Representation of Robots

CHAPTER 3 MATHEMATICAL MODEL

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

Mobile Robotics. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Lecture 18 Kinematic Chains

MEM380 Applied Autonomous Robots Winter Robot Kinematics

Robot Motion Planning and (a little) Computational Geometry

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

Discrete Motion Planning

MEAM 620 Part II Introduction to Motion Planning. Peng Cheng. Levine 403,GRASP Lab

Advanced Robotics Path Planning & Navigation

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

CS 188: Artificial Intelligence Fall Announcements

Trajectory planning in Cartesian space

Session #5 2D Mechanisms: Mobility, Kinematic Analysis & Synthesis

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

Motion Planning with Dynamics, Physics based Simulations, and Linear Temporal Objectives. Erion Plaku

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

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

Introduction to Mobile Robotics Path Planning and Collision Avoidance

EE565:Mobile Robotics Lecture 2

Visual Navigation for Flying Robots. Motion Planning

Sub-optimal Heuristic Search and its Application to Planning for Manipulation

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

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

CS283: Robotics Fall 2016: Robot Arms

Efficient Path Interpolation and Speed Profile Computation for Nonholonomic Mobile Robots

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

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

Robotics I. March 27, 2018

COLLISION-FREE TRAJECTORY PLANNING FOR MANIPULATORS USING GENERALIZED PATTERN SEARCH

Available online at ScienceDirect. Procedia Technology 25 (2016 )

Func%on Approxima%on. Pieter Abbeel UC Berkeley EECS

Written exams of Robotics 1

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

15-494/694: Cognitive Robotics

Robotics. Chapter 25. Chapter 25 1

A New Performance-Based Motion Planner for Nonholonomic Mobile Robots

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

Navigation and Metric Path Planning

Optimal Trajectory Generation for Nonholonomic Robots in Dynamic Environments

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

Global Trajectory Generation for Nonholonomic Robots in Dynamic Environments

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning

Efficient and Smooth RRT Motion Planning Using a Novel Extend Function for Wheeled Mobile Robots

1498. End-effector vibrations reduction in trajectory tracking for mobile manipulator

10. Cartesian Trajectory Planning for Robot Manipulators

DETC THREE-DIMENSIONAL KINEMATIC ANALYSIS OF THE ACTUATED SPOKE WHEEL ROBOT. September 10-13, 2006, Philadelphia, Pennsylvania, USA

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

Agent Based Intersection Traffic Simulation

Jean-Claude Eatornbe

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

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

Transcription:

Non-holonomic Planning Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11

Recap 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?

Outline Non-Holonomic definition and examples Discrete Non-Holonomic Planning Sampling-based Non-Holonomic Planning

Holonomic vs. Non-Holonomic Constraints Holonomic constraints depend only on configuration F(q, t) = 0 (note they can be time-varying!) Technically, these have to be bilateral constraints (no inequalities) In robotics literature we ignore this so we can consider collision constraints as holonomic Non-holonomic constraints are constraints that cannot be written in this form

Example of Non-holonomic Constraint Parallel Parking Manipulation with a robotic hand Multi-fingered hand from Nagoya University Rolling without contact

Example of Non-holonomic Constraint Hopping robots RI s bow leg hopper (CMU) AERcam, NASA - Untethered space robots Conservation of angular momentum

Example of Non-holonomic Constraint Robotic Manipulator with passive joints Underwater robot Forward propulsion is allowed only in the pointing direction A Chosen actuation strategy

How to Represent the Constraint Mathematically? Constraint equation y cos q x sinq = 0 ( sin θ, cos θ) y ( x, 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 q x Write the constraint in matrix form x x q = y, q = y q q Position & Velocity Vectors w ( q) = [ sinq cosq 0 ] 1 Constraint Vector x w ( q) q = 0 = [ sinq cosq 0] y q x sin q y cosq = 0 1

Holonomic vs. Non-Holonomic Constraints Example: The kinematics of a unicycle Can move forward and back Can rotate about the wheel center Can t move sideways y cos q x sinq = 0 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

Holonomic vs. Non-Holonomic Constraints Non-holonomic constraints are non-integrable, i.e. can t rewrite them as holonomic constraints Thus non-holonomic constraints must contain derivatives of configuration They are sometimes called non-integrable differential constraints Thus, we need to consider how to move between configurations (or states) when planning Previously we assumed we can move between arbitrary nearby configurations using a straight line. But now

State space VS Control Space State Space Control space Speed or Acceleration Steering angle x, y, z,,, q x, y, z,,, q

Example Simple Car Non-holonomic Constraint: Dimension of configuration space? In a small time interval, the car must move approximately in the direction that the rear wheels are pointing. Motion model u s = speed u f = steering angle y cos q x sinq = y 0 u s u x

Example Simple Car Dimension of configuration space? Motion model u s = speed 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 u s x

Moving Between States (with No Obstacles) 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

Shooting Method Basically, we 'shoot' out trajectories in different directions until we find a trajectory that has the desired boundary value. System Boundary condition

Alternative Method Due to non-holonomic constraint Direct (sideway) motion is prohibited, but can be approximated by a series of forward/backward and turning maneuvers Therefore, what we can do Plan a path ignoring the car constraints Apply sequence of allowed maneuvers

Type 1 Maneuver r dq (x,y) h dq r q Allows sidewise motion

Type 2 Maneuver Allows pure rotation

Combination

Combination

Path Examples

Drawbacks Final path can be far from optimal Not applicable to car that can only move forward e.g., think of an airplane

Optimal Solution? Reed and Shepp (RS) Path Optimal path must be one of a discreet 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

Reeds and Shepp Paths Given any two configurations The shortest RS paths between them is also the shortest path The optimal path is guaranteed to be contained in the following set of path types Strategy In the absence of obstacles, look up the optimal path from the above set using a map indexed by the goal configuration relative to the initial configuration Shortest path may not be unique

Example of Generated Path Holonomic Nonholonomic

Discrete Planning Strategies Search for sequence of primitives to get to a goal state Compute State Lattice, search for sequence of states in lattice By construction of state lattice, can always get between these states

Sequencing of Primitives Discretize control space Barraquand & Latombe, 1993 3 arcs (+ reverse) at max Discontinuous curvature Cost = number of reversals Dijkstra s Algorithm

Sequencing of Primitives Choice of set of primitives affects Completeness Optimality Speed Seeks to build good (small) sets of primitives [Knepper and Mason, ICRA 2009]

State Lattice Pre-compute state lattice 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 Traditional lattice yields discontinuous motion

State Lattice 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 check Pivtoraiko et al. 2009

Sampling-Based Planning 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) Why is this hard? Dimension of the space is doubled position and velocity Moving between points is harder (can t go in a straight line) Distance metric is unclear We usually use Euclidian, even though it s not the right metric

PRM-style Non-Holonomic Planning 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

PRM-style Non-Holonomic Planning 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 X G X I

RRT-style Non-Holonomic Planning RRT was originally proposed as a method for non-holonomic planning Sampling and tree building is the same as regular RRT Problem? Not all straight lines are valid, can t extend toward nodes Use motion primitives to get as close to target node as possible

RRTs for Non-Holonomic Systems Apply motion primitives (i.e. simple actions) at q near q = f ( q, u) - - - use action u from q chose u * = arg min( d( qrand, q )) to arrive at q Holonomic RRT q new Non-Holonomic RRT q 1 q 2 q new = q 3 q q near init 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

RRTs and Distance Metrics Hard to define d, the distance metric q near Mixing velocity, position, rotation,etc. How do you pick a good q near? Configurations are close according to Euclidian metric, but actual distance is large Random Node Choice (bad distance metric) Voronoi Bias (good distance metric)

BiDirectional Non-Holonomic RRT q rand q near How do we bridge these two points?

Non-holonomic Smoothing Similar to holonomic case, paths produced can be highly suboptimal Hovercraft with 2 Thrusters in 2D

Non-Holonomic Smoothing Smoothing methods: General trajectory optimization Convert path to cubic B-spline Be careful about collisions Can we use shortcut smoothing?

RRTs can Handle High DOF 12DOF Non-Holonomic Motion Planning

Summary Non-holonomic constraints are constraints that must involve derivatives of position variables Discrete Non-Holonomic Planning Search for sequence of primitives to get to a goal state Compute State Lattice, search for sequence of states in lattice Sampling-based Non-Holonomic Planning Adapt PRM to use BVP solver Adapt RRT to use motion primitives (+ BVP solver for BiDirectional case)

Homework Start reading papers from class website Bring questions to class Make sure to read Presentation Guidelines Make sure to look at Presentation Grading Sheet Make sure to look at Review Guidelines