Advanced path planning. ROS RoboCup Rescue Summer School 2012

Similar documents
Vision-based navigation

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

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

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

Roadmaps. Vertex Visibility Graph. Reduced visibility graph, i.e., not including segments that extend into obstacles on either side.

Robot Motion Planning

W4. Perception & Situation Awareness & Decision making

Planning in Mobile Robotics

Probabilistic Methods for Kinodynamic Path Planning

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

Last update: May 6, Robotics. CMSC 421: Chapter 25. CMSC 421: Chapter 25 1

Navigation and Metric Path Planning

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

Robot Motion Control Matteo Matteucci

Introduction to Robotics

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

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

Configuration Space of a Robot

Introduction to Mobile Robotics Path Planning and Collision Avoidance

Visual Navigation for Flying Robots. Motion Planning

Robotics. CSPP Artificial Intelligence March 10, 2004

Mobile Robots: An Introduction.

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

CS Path Planning

MEV 442: Introduction to Robotics - Module 3 INTRODUCTION TO ROBOT PATH PLANNING

Advanced Robotics Path Planning & Navigation

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

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

Sung-Eui Yoon ( 윤성의 )

Robot Motion Planning

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

Localization and Map Building

Path Planning for Point Robots. NUS CS 5247 David Hsu

ROBOT NAVIGATION IN VERY COMPLEX, DENSE, AND CLUTTERED INDOOR/OUTDOOR ENVIRONMENTS

EE631 Cooperating Autonomous Mobile Robots

Safe Prediction-Based Local Path Planning using Obstacle Probability Sections

Autonomous Rover Navigation on Unknown Terrains Demonstrations in the Space Museum Cité de l Espace at Toulouse

Mini Survey Paper (Robotic Mapping) Ryan Hamor CPRE 583 September 2011

Exploration of an Indoor-Environment by an Autonomous Mobile Robot

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

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

CS 188: Artificial Intelligence Fall Announcements

RoboCup Rescue Summer School Navigation Tutorial

Three-Dimensional Off-Line Path Planning for Unmanned Aerial Vehicle Using Modified Particle Swarm Optimization

Trajectory Optimization

Spring Localization II. Roland Siegwart, Margarita Chli, Martin Rufli. ASL Autonomous Systems Lab. Autonomous Mobile Robots

Approximate path planning. Computational Geometry csci3250 Laura Toma Bowdoin College

Zürich. Roland Siegwart Margarita Chli Martin Rufli Davide Scaramuzza. ETH Master Course: L Autonomous Mobile Robots Summary

Motion Planning. Howie CHoset

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization

Anibal Ollero Professor and head of GRVC University of Seville (Spain)

Architecting for autonomy

Exam in DD2426 Robotics and Autonomous Systems

Cognitive Robotics Robot Motion Planning Matteo Matteucci

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

Lecture 14: Path Planning II. Autonomous Robots, Carnegie Mellon University Qatar

Robotics. Haslum COMP3620/6320

Using 3D Laser Range Data for SLAM in Outdoor Environments

CS-235 Computational Geometry

Autonomous Navigation in Unknown Environments via Language Grounding

Algorithmic Robotics and Motion Planning

Sensor Modalities. Sensor modality: Different modalities:

Planning, Execution and Learning Application: Examples of Planning for Mobile Manipulation and Articulated Robots

Dependency Tracking for Fast Marching. Dynamic Replanning for Ground Vehicles

A Formal Model Approach for the Analysis and Validation of the Cooperative Path Planning of a UAV Team

COMPARISON OF ROBOT NAVIGATION METHODS USING PERFORMANCE METRICS

Robot Motion Planning and (a little) Computational Geometry

Autonomous Robotics 6905

Space Robotics. Ioannis Rekleitis

Basics of Localization, Mapping and SLAM. Jari Saarinen Aalto University Department of Automation and systems Technology

Safe prediction-based local path planning using obstacle probability sections

Spring Localization II. Roland Siegwart, Margarita Chli, Juan Nieto, Nick Lawrance. ASL Autonomous Systems Lab. Autonomous Mobile Robots

COS Lecture 13 Autonomous Robot Navigation

Planning Techniques for Robotics Planning Representations: Skeletonization- and Grid-based Graphs

CS 378: Computer Game Technology

Advanced Robotics Path Planning & Navigation

A Reactive Bearing Angle Only Obstacle Avoidance Technique for Unmanned Ground Vehicles

Autonomous Vehicles:

CNES robotics activities : Towards long distance on-board decision-making navigation

3D Collision Avoidance for Navigation in Unstructured Environments

Autonomous Vehicles:

Nonholonomic motion planning for car-like robots

Planning With Uncertainty for Autonomous UAV

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

t Bench for Robotics and Autonomy Andrea Merlo

Introduction to Mobile Robotics

Cognitive Robotics. Robot Cognitive Architectures. Matteo Matteucci

Lesson 1 Introduction to Path Planning Graph Searches: BFS and DFS

Lecture 11 Combinatorial Planning: In the Plane

Localization, Where am I?

Final Exam Practice Fall Semester, 2012

Computer Game Programming Basic Path Finding

Path Planning. Ioannis Rekleitis

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

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

UAV Autonomous Navigation in a GPS-limited Urban Environment

Flow fields PSY 310 Greg Francis. Lecture 25. Perception

Attack Resilient State Estimation for Vehicular Systems

A Path Tracking Method For Autonomous Mobile Robots Based On Grid Decomposition

A Three dimensional Path Planning algorithm

Transcription:

Advanced path planning ROS RoboCup Rescue Summer School 2012 Simon Lacroix Toulouse, France

Where do I come from? Robotics at LAAS/CNRS, Toulouse, France Research topics Perception, planning and decision-making, control Plus: control architecture, interactions, ambient intelligence systems, learning Decision Perception Action A keyword: autonomy Research domains Cognitive and interactive Robotics Aerial and Terrestrial Field Robotics Human and anthropomorphic motion Bio-informatics, Molecular motion 3 research groups : 12 full time researchers 10 university researchers 4 visitors 50 PhD students 10 post-docs Considered applications: Planetary exploration, Service and personal robotics, virtual worlds and animation, biochemistry, embedded systems, transport, driver assistance, defense, civil safety

Robots @ LAAS Constructive and integrative approach UAVs UGVs Personal robotics Humanoids Field robotics 1979 1985 1990 1995 2000 2005 2011 2013 Open source software tools: www.openrobots.org

What am I working on? Field robotics Environment perception and modeling Localization and SLAM Autonomous rover navigation Multi-Robot cooperation

Advanced path planning (my) definition of a robot: a machine that moves and whose motions a controlled by a computer (plus: intelligent link between perception and action) Objectives of the lecture: Discover a bit the motion planning scientific corpus Have an overview of the various levels of motion planning Understand some practical means to generate/compute/plan mobile robot motions

But what is path planning? Given A current position A goal position Information on the environment Constraints to satisfy / criteria to optimize Find A trajectory that satisfies the constraints / optimizes the criteria A trajectory: a continuous function from time to space Decision Perception Action Decision in this talk = finding how to move

But what is path planning? With Google maps (???)

For a circular robot amidst obstacles But what is path planning?

But what is path planning? For a wheeled robot with a trailer inside a cluttered building [F. Lamiraux @ LAAS]

For a humanoid robot But what is path planning?

In a intervention or rescue context But what is path planning? Send fire extinguisher robots there

Outline Basic notions Configuration space, kinematic constraints, search algorithms Practical field solutions Potential field approaches Short-term ( reactive ) planning Long-term itineraries Other research problems

Consider a punctual (0 width) robot Configuration space Start Goal There are plenty of solution trajectories And there is a shortest one

Configuration space Now consider a round shaped robot (radius r) Cannot go this way! Start Goal

Configuration space Now consider a round shaped robot (radius r) Start Goal After growing the obstacles, we are back to the point problem

Now consider a rectangular robot Not OK! Configuration space Start Goal OK

Configuration space Now consider a rectangular robot with kinematic constraints (e.g. a car) Reachable Start Goal Unreachable Impossible to go through this way! The feasable paths are much more difficult to find...

Configuration space Now consider a rectangular robot with kinematic constraints (e.g. a car) Reachable Unreachable Shortest path and finding the shortest path is not so easy, even when there is no obstacle

Configuration of a robot: set of independent parameters that specify the position and orientation of every component of the robot Configuration space Robot configurations Associated (q 1,q 2 ) configuration space There is a mapping between the CS and the world space A path is a continuous set of configurations

Configuration space Case of a robot in the plane: 2D environment 3 configuration parameters: 3D configuration space Case of a humanoid robot 3D environment 3 position parameters (no a plane) + numerous internal degrees of freedm: very high dimension configuration space

Obstacles in the configuration space Case of a triangular robot on the plane:

Obstacles in the configuration space Case of a triangular robot on the plane: A rectangular obstacle in the configuration space

Obstacles in the configuration space

Obstacles in the configuration space

Searching for paths A complete algorithm: find a solution if one exists, reports if not General complete algorithms have been proposed, but are not tractable in practice Complexity: grows exponentially with n, the CS dimension Difficult geometric computations (requires infinite precision) Weaker notions of completeness: Resolution completeness: based on a systematic discretisation of the CS Probabilistic completeness: the probability of finding a solution converges to 1 with infinite time

Searching for paths Two search families: Graph search Build a graph that captures the topology of the CS Can handle multiple query Building a search tree No attempt to capture the topology of the CS Goal dependant (single query)

Approach 1: visibility graph Given a polygonal environment description 1. Build the graph (considering start and goal as nodes) 2. Shortest path search in the graph

Approach 2: Voronoi diagram

Approach 3: Cellular decomposition Exact triangular decomposition Approximate decomposition Overall principle of the search

Probabilistic roadmaps Principle: 1. Randomly sample the CS with configurations 2. Keep the collision-free configurations (milestones) 3. Connect pairs of milestones with feasable paths Two requirements: Allows to solve very difficult path planning problems Ability to check collisions in the working space Ability to find a path between close configurations

Complex geometric plans

Path planning techniques for biochemistry Simulation of conformation change of a protein Accessibility of a ligand to the active site of a protein

But wait Given A current position A goal position Information on the environment? Constraints to satisfy / criteria to optimize Find A trajectory that satisfies the constraints / optimizes the criteria

Outline Basic notions Configuration space, kinematic constraints, search algorithms Practical field solutions Potential field approaches Short-term ( reactive ) planning Long-term itineraries Other research problems

Potential fields Principle: the robot is influenced by external virtual forces Obstacles generate repulsive forces The goal generates an attractive force All the forces are applied to the robot: the resulting force is the direction of motion to execute

Potential fields Advantage: very simple to implement. Can even work directly on the raw data R Resulting force Goal Difficulty: local minima ( potential wells ) R Goal Resulting force = 0 Everything relies on the analytic definition of the forces

Indoor environment (Raw 2D LRF data) Potential fields

Potential fields Illustration Attractive potential Repulsive potential

Potential fields Outdoor environment (probabilistic obstacle model) Classic potential Rotation potential Consideration of kinematic constraints: select on which point is applied the resulting force

Potential fields

Summary of a typical run Potential fields

Potential fields: summary Closer to automatic control than to autonomy : one stimulus, one response ( reactive motion mode) Decision Perception Action Well suited for easy environments with scarce obstacles Otherwise calls for a lot ot tuning See also «Vector field histograms» [Borenstein 91/98]

Outline Basic notions Configuration space, kinematic constraints, search algorithms Practical field solutions Potential field approaches Short-term ( reactive ) planning Long-term itineraries Other research problems

Short term path planning Elementary trajectory generation: evaluation of a set of elementary (v,ω) commands (circle arcs) Selection based on: Risk or cost of an arc (collision or terrain traversability) Interest of an arc (goal direction)

Illustration Short term path planning

Short term path planning Illustration with the Mars Exploration Rovers (2004)

But what is an obstacle? ~ OK for indoor environments Occupancy grid (P(Obst) on a regular Cartesian grid) But what about unstructured outdoor environments? Digital Terrain Model (z=f(x,y) on a regular Cartesian grid)

But what is an obstacle? Probabilistic obstacle detection (qualitative, conservative) 1. Discretisation of the perceived area (here with stereovision) 2. Probabilistic labelling Flat Obstacle Unknown Correlated pixels Labeling (top view) labeling (sensor view)

But what is an obstacle? Probabilistic obstacle detection (qualitative, conservative) Can be extended to «semantic» mapping

But what is an obstacle? Precise obstacle detection on a DTM «Convolution» of the terrain and the robot model For a given position (x,y,θ), the chassis state is determined, the safety of the position is assessed

But what is an obstacle? Illustration with the Mars Exploration Rovers (2004)

Short term path planning on a DTM Evaluation of the sequence of positions corresponding to an elementary command

Illustration at 1.5 m/s Short term path planning on a DTM

Extending the planning horizon Dead-end: local approaches can not find any solution (potential-based approaches don t do better) Goal Explore further

Extending the planning horizon Explore further: state lattices [Kelly-JFR-2009] Explicit and easy consideration of kinematic constraints

Extending the planning horizon Illustration during the Darpa Urban Challenge

But wait again Given A current position A goal position? Information on the environment Constraints to satisfy / criteria to optimize Find A trajectory that satisfies the constraints / optimizes the criteria

Outline Basic notions Configuration space, kinematic constraints, search algorithms Practical field solutions Potential field approaches Short-term ( reactive ) planning Long-term itineraries Other research problems

Navigation strategies Given A current position An objective (far away goal, area to map/explore) Information on the environment Constraints to satisfy / criteria to optimize Find A itinerary that satisfies the constraints / optimizes the criteria Where should the robot head? How should it head there? What for? An itinerary is akin to a coarse trajectory: sequence of waypoints, enriched with tasks and modalities

Navigation strategies

Navigation strategies For instance: How to reach the twin peaks?

Where to go and what for? Navigation strategies

Navigation strategies How to go there? A huge variety of situations Several motion modes, adapted to the situation at hand Potential Local arcs Route following Who selects, configures and controls the navigation modes?

Navigation strategies How to go there? A huge variety of situations Navigation strategies, a higher level instance of the perception / decision / action loop Decision Perception Action

Navigation strategies Now we are really into planning Decision Perception We need dedicated models of: Each available motion mode The environment Navigation mode applicability localisability Quantity/quality of information The perception tasks Localisation Environment modeling Action

Navigation strategies Models of the environment: Navigation mode applicability localisability Quantity/quality of information Example 1: exploit existing geographic data

Navigation strategies Models of the environment: Navigation mode applicability localisability Quantity/quality of information Example 2: exploit low altitude aerial imagery

Navigation strategies Models of the environment: Navigation mode applicability localisability Quantity/quality of information Example 3: build a dedicated model from rover data

Navigation strategies Spirit of the solutions Exploit graph search (A*, D*) Turn the goal-finding problem into an information acquisition problem Exploration case: analyse frontiers to assess relevant goals

Illustration with the Mars Exploration Rovers (2009) Navigation strategies

Actual results on Mars (2009) Navigation strategies

Coming soon with Curiosity? (MSL) Navigation strategies Target areas chosen on Aug. the 17th

Outline Basic notions Configuration space, kinematic constraints, search algorithms Practical field solutions Potential field approaches Short-term ( reactive ) planning Long-term itineraries Other research problems

Crossing obstacles The heavy way Crusher (Darpa / CMU)

Crossing obstacles A little bit less heavy way Rhex (Boston Dynamics)

Agile robots can be powerful Crossing obstacles

Crossing obstacles Smarter ways to cross obstacles? Advanced locomotion control On line evaluation of the masses repartition On line evaluation of the wheel torques

Crossing obstacles Smarter ways to cross obstacles? Advanced locomotion control On line evaluation of the masses repartition On line evaluation of the wheel torques On line evaluation of the chassis configuration evolution

Stepping into dynamics of motion Going fast

But wait one more time Given A current position? A goal position Information on the environment Constraints to satisfy / criteria to optimize Find A trajectory that satisfies the constraints / optimizes the criteria

Summary Basic notions Configuration space, kinematic constraints, search algorithms Practical field solutions Potential field approaches Short-term ( reactive ) planning Long-term itineraries Other research problems

http://homepages.laas.fr/jpl/book-toc.html Some readings