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

Similar documents
CS283: Robotics Fall 2016: Robot Arms

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

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

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

Robot Motion Control Matteo Matteucci

Cognitive Robotics Robot Motion Planning Matteo Matteucci

Autonomous Robotics 6905

Description of The Algorithm

CS283: Robotics Fall 2016: Sensors

EE631 Cooperating Autonomous Mobile Robots

CS283: Robotics Fall 2016: Software

Advanced Robotics Path Planning & Navigation

Obstacle Avoidance (Local Path Planning)

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

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

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

Advanced Robotics Path Planning & Navigation

Visual Navigation for Flying Robots. Motion Planning

Sung-Eui Yoon ( 윤성의 )

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

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

Probabilistic Methods for Kinodynamic Path Planning

Motion Planning. Howie CHoset

Localization, Where am I?

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

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

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

Introduction to Mobile Robotics Path Planning and Collision Avoidance

Robot Motion Planning

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

Navigation and Metric Path Planning

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

Computer Game Programming Basic Path Finding

Metric Planning: Overview

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

Humanoid Robotics. Path Planning and Walking. Maren Bennewitz

6.141: Robotics systems and science Lecture 10: Motion Planning III

Introduction to Mobile Robotics Path and Motion Planning. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Final Exam Practice Fall Semester, 2012

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

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

Obstacle Avoidance (Local Path Planning)

Motion Planning. Howie CHoset

Mobile Robots Locomotion

Robot Motion Planning and (a little) Computational Geometry

Localization and Map Building

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

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

CS 188: Artificial Intelligence Fall Announcements

Planning: Part 1 Classical Planning

Robotics. CSPP Artificial Intelligence March 10, 2004

6.141: Robotics systems and science Lecture 10: Implementing Motion Planning

Configuration Space of a Robot

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

Robot Motion Planning

6 Planning and Navigation:

Path Planning. Ioannis Rekleitis

Basic Motion Planning Algorithms

COS Lecture 13 Autonomous Robot Navigation

Practical Robotics (PRAC)

Simultaneous Localization and Mapping (SLAM)

Sampling-based Planning 2

Mobile Robots: An Introduction.

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

Approximate path planning. Computational Geometry csci3250 Laura Toma Bowdoin College

Introduction to Autonomous Mobile Robots

Unit 5: Part 1 Planning

Notes. Video Game AI: Lecture 5 Planning for Pathfinding. Lecture Overview. Knowledge vs Search. Jonathan Schaeffer this Friday

Discrete Motion Planning

DIJKSTRA'S ALGORITHM. By Laksman Veeravagu and Luis Barrera

Simultaneous Localization

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

Sub-Optimal Heuristic Search ARA* and Experience Graphs

Robotics/Perception II

Path Planning for Point Robots. NUS CS 5247 David Hsu

COMPARISON OF ROBOT NAVIGATION METHODS USING PERFORMANCE METRICS

Non-holonomic Planning

Search-based Planning with Motion Primitives. Maxim Likhachev Carnegie Mellon University

Exam in DD2426 Robotics and Autonomous Systems

Geometric Computations for Simulation

Topological Navigation and Path Planning

Mobile Robots Summery. Autonomous Mobile Robots

Perception. Autonomous Mobile Robots. Sensors Vision Uncertainties, Line extraction from laser scans. Autonomous Systems Lab. Zürich.

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

CS4733 Class Notes, Computer Vision

Probabilistic Robotics

Trajectory Optimization

Jo-Car2 Autonomous Mode. Path Planning (Cost Matrix Algorithm)

15-494/694: Cognitive Robotics

Motion Planning, Part IV Graph Search Part II. Howie Choset

Cinematica dei Robot Mobili su Ruote. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Planning in Mobile Robotics

Lecture 3: Motion Planning (cont.)

CS4733 Class Notes. 1 2-D Robot Motion Planning Algorithm Using Grown Obstacles

Robot Mapping. SLAM Front-Ends. Cyrill Stachniss. Partial image courtesy: Edwin Olson 1

Fast Local Planner for Autonomous Helicopter

CMU-Q Lecture 2: Search problems Uninformed search. Teacher: Gianni A. Di Caro

Course Outline. Video Game AI: Lecture 7 Heuristics & Smoothing. Finding the best location out of several. Variable size units / special movement?

CSE-571. Deterministic Path Planning in Robotics. Maxim Likhachev 1. Motion/Path Planning. Courtesy of Maxim Likhachev University of Pennsylvania

Nonholonomic motion planning for car-like robots

Transcription:

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning Sören Schwertfeger / 师泽仁 ShanghaiTech University

ShanghaiTech University - SIST - 10.05.2017 2 Autonomous mobile robots move around in the environment. Therefore ALL of them: They need to know where they are. They need to know where their goal is. They need to know how to get there. Different levels: Control: How much power to the motors to move in that direction, reach desired speed Navigation: Avoid obstacles Classify the terrain in front of you Follow a path Planning: Long distance path planning What is the way, optimize for certain parameters

ShanghaiTech University - SIST - 10.05.2017 3 General Control Scheme for Mobile Robot Systems Localization Map Building Position Global Map Cognition & AI Path Planning Lecture 3: Planning Environment Model Local Map Path Perception Information Extraction Vision Raw data Sensing Path Execution Actuator Commands Acting Motion Control Navigation Real World Environment With material from Roland Siegwart and Davide Scaramuzza, ETH Zurich

ShanghaiTech University - SIST - 10.05.2017 4 PATH FOLLOWING Obstacle Avoidance

ShanghaiTech University - SIST - 10.05.2017 5 Navigation, Motion & Motor Control Navigation/ Motion Control: Where to drive to next in order to reach goal Output: motion vector (direction) and speed For example: follow path (Big Model) go to unexplored area (Big Model) drive forward (Small Model) be attracted to goal area (Small Model) Planner Global Goal Path Following/ Local Goal Path (0.1Hz) Navigation Goal (10Hz) 3 Motion Control: How use propulsion to achieve motion vector Motor Control: How much power to achieve propulsion (wheel speed) Motion Control Motor Control 2 Wheel Speeds (1000 Hz) 1

ShanghaiTech University - SIST - 10.05.2017 6 Obstacle Avoidance (Local Path Planning) Goal: avoid collisions with obstacles Usually based on local map Often implemented as independent task However, efficient obstacle avoidance should be optimal with respect to the overall goal the actual speed and kinematics of the robot the on boards sensors the actual and future risk of collision

ShanghaiTech University - SIST - 10.05.2017 7 Obstacle Avoidance: Vector Field Histogram (VFH) Environment represented in a grid (2 DOF) cell values: probability of obstacle Reduction in to 1 DOF histogram Steering direction algorithm: Find all openings for the robot to pass Lowest cost function G Borenstein et al. target_direction = alignment of the robot path with the goal wheel_orientation = difference between the new direction and the currrent wheel orientation previous_direction = difference between the previously selected direction and the new direction

ShanghaiTech University - SIST - 10.05.2017 8 Obstacle Avoidance: The Bubble Band Concept Bubble = Maximum free space which can be reached without any risk of collision generated using the distance to the object and a simplified model of the robot bubbles are used to form a band of bubbles which connects the start point with the goal point Khatib and Chatila

ShanghaiTech University - SIST - 10.05.2017 9 Path Following A path is generated by planning algorithm (next lecture) Goal: Drive along that path Path smoothing or Local planner Control onto the local path For example: Select goal point one meter ahead of path M. Rufli and R. Siegwart: Deformable Lattice Graphs Material from Martin Rufli

ShanghaiTech University - SIST - 10.05.2017 10 PLANNING Mobile Robotics: Generate a Path

ShanghaiTech University - SIST - 10.05.2017 11 General Control Scheme for Mobile Robot Systems Localization Map Building Position Global Map Cognition & AI Path Planning Environment Model Local Map Path Perception Information Extraction Vision Raw data Sensing Path Execution Actuator Commands Acting Motion Control Navigation Real World Environment With material from Roland Siegwart and Davide Scaramuzza, ETH Zurich

ShanghaiTech University - SIST - 10.05.2017 12 The Planning Problem The problem: find a path in the work space (physical space) from the initial position to the goal position avoiding all collisions with the obstacles Assumption: there exists a good enough map of the environment for navigation. Corridor Bill s office Coffee room Topological Map Coarse Grid Map (for reference only)

ShanghaiTech University - SIST - 10.05.2017 13 The Planning Problem We can generally distinguish between (global) path planning and (local) obstacle avoidance. First step: Transformation of the map into a representation useful for planning This step is planner-dependent Second step: Plan a path on the transformed map Third step: Send motion commands to controller This step is planner-dependent (e.g. Model based feed forward, path following)

ShanghaiTech University - SIST - 10.05.2017 14 Configuration Space for a Mobile Robot Mobile robots operating on a flat ground (2D) have 3 DoF: (x, y, θ) Differential Drive: only two motors => only 2 degrees of freedom directly controlled (forward/ backward + turn) => non-holonomic Simplification: assume robot is holonomic and it is a point => configuration space is reduced to 2D (x,y) => inflate obstacle by size of the robot radius to avoid crashes => obstacle growing

ShanghaiTech University - SIST - 10.05.2017 15 Path Planning: Overview of Algorithms 1. Optimal Control Solves truly optimal solution Becomes intractable for even moderately complex as well as nonconvex problems 3. Graph Search Identify a set edges between nodes within the free space Source: http://mitocw.udsm.ac.tz 2. Potential Field Imposes a mathematical function over the state/configuration space Many physical metaphors exist Often employed due to its simplicity and similarity to optimal control solutions Where to put the nodes?

ShanghaiTech University - SIST - 10.05.2017 16 Potential Field Path Planning Strategies Robot is treated as a point under the influence of an artificial potential field. Operates in the continuum Generated robot movement is similar to a ball rolling down the hill Goal generates attractive force Obstacle are repulsive forces

ShanghaiTech University - SIST - 10.05.2017 17 Potential Field Path Planning: Notes: Local minima problem exists problem is getting more complex if the robot is not considered as a point mass If objects are non-convex there exists situations where several minimal distances exist can result in oscillations

ShanghaiTech University - SIST - 10.05.2017 18 CONE PATH PLANNING

ShanghaiTech University - SIST - 06.05.2017 19 Problem Statement: Follow a path between cones

ShanghaiTech University - SIST - 10.05.2017 20 0 th Step (not part of planning): Detect cones Detect Cones, e.g. using Jump Edge Approach: 140 120 100 80 60 Big jump edge: Beginning of object Big jump edge: End of object 40 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 First smoothing (averaging)? Good against noise in sensor data Jump edge detection more difficult We assume every object is a cone! Otherwise: Object Classification, e.g. based on curvature

ShanghaiTech University - SIST - 10.05.2017 21 1 st Step: Create a Map of Cones As you drive along, remember where you have seen cones Use the odometry to update your pose in the map

ShanghaiTech University - SIST - 10.05.2017 22 1 st Step: Create a Map of Cones As you drive along, remember where you have seen cones Use the odometry to update your pose in the map

ShanghaiTech University - SIST - 10.05.2017 23 1 st Step: Create a Map of Cones As you drive along, remember where you have seen cones Use the odometry to update your pose in the map

ShanghaiTech University - SIST - 10.05.2017 24 1 st Step: Create a Map of Cones As you drive along, remember where you have seen cones Use the odometry to update your pose in the map

ShanghaiTech University - SIST - 10.05.2017 25 2 nd Step: Identify Left and Right Cones Find the closest cone on the left & front Find the 2 nd closest cone on the left & front and so on Same with right cones L2 L1 Don t count: in the back! R 2 R 1

ShanghaiTech University - SIST - 10.05.2017 26 3rd Step: Connect left and right Cones Connect the first left cone with: A) the closest right cone or B) the right cone with the same number Test which one is better Continue for all other left cones Make sure that the distance is reasonable (too short or too big might mean something went wrong) L1 L2 R 2 R 1

ShanghaiTech University - SIST - 10.05.2017 27 4 th Step: Generate path Connect: Robot Frame: robot center or (0,0) in the sensor frame for simplicity Connect Robot Frame with center point of first connection Connect center points of all further connections L2 L1 R 2 R 1

ShanghaiTech University - SIST - 10.05.2017 28 4 th Step: Generate path Connect: Robot Frame: robot center or (0,0) in the sensor frame for simplicity Connect Robot Frame with center point of first connection Connect center points of all further connections

ShanghaiTech University - SIST - 10.05.2017 29 5 th Step (not part of planning): Path following Select a point some distance along the path (e.g. 50cm) This is the goal point

ShanghaiTech University - SIST - 10.05.2017 30 5 th Step (not part of planning): Path following Select a point some distance along the path (e.g. 50cm) This is the goal point Determine: Angle α of goal point w.r.t. Robot Frame The bigger alpha: The faster turn in the correct direction The slower drive forward => if direction is way off turn on the spot => if facing the correct direction drive full speed y x α

ShanghaiTech University - SIST - 10.05.2017 31 Thoughts about this approach Works well if you see more than a few cones Worked well when using the Kinect camera (max range > 6m) Might not work very well for the short range IR sensor Worth a try? Maybe step 1 (create map) is not needed => Work on a single scan

ShanghaiTech University - SIST - 10.05.2017 32 GRAPH SEARCH

ShanghaiTech University - SIST - 10.05.2017 33 Graph Search Overview Solves a least cost problem between two states on a (directed) graph Graph structure is a discrete representation Limitations State space is discretized à completeness is at stake Feasibility of paths is often not inherently encoded Algorithms (Preprocessing steps) Breath first Depth first Dijkstra A* and variants D* and variants

ShanghaiTech University - SIST - 10.05.2017 34 Graph Construction: Visibility Graph Particularly suitable for polygon-like obstacles Shortest path length Grow obstacles to avoid collisions

ShanghaiTech University - SIST - 10.05.2017 35 Graph Construction: Visibility Graph Pros The found path is optimal because it is the shortest length path Implementation simple when obstacles are polygons Cons The solution path found by the visibility graph tend to take the robot as close as possible to the obstacles: the common solution is to grow obstacles by more than robot s radius Number of edges and nodes increases with the number of polygons Thus it can be inefficient in densely populated environments

ShanghaiTech University - SIST - 10.05.2017 36 Graph Construction: Voronoi Diagram Tends to maximize the distance between robot and obstacles

ShanghaiTech University - SIST - 10.05.2017 37 Graph Construction: Voronoi Diagram Pros Using range sensors like laser or sonar, a robot can navigate along the Voronoi diagram using simple control rules Cons Because the Voronoi diagram tends to keep the robot as far as possible from obstacles, any short range sensor will be in danger of failing Voronoi diagram can change drastically in open areas

ShanghaiTech University - SIST - 10.05.2017 38 Deterministic Graph Search Methods Breath First Depth First Dijkstra A* and variants D* and variants...

ShanghaiTech University - SIST - 10.05.2017 39 DIJKSTRA S ALGORITHM

ShanghaiTech University - SIST - 10.05.2017 40 EDSGER WYBE DIJKSTRA 1930-2002 "Computer Science is no more about computers than astronomy is about telescopes." http://www.cs.utexas.edu/~ewd/

ShanghaiTech University - SIST - 10.05.2017 41 SINGLE-SOURCE SHORTEST PATH PROBLEM Single-Source Shortest Path Problem - The problem of finding shortest paths from a source vertex v to all other vertices in the graph. Graph Set of vertices and edges Vertex: Place in the graph; connected by: Edge: connecting two vertices Directed or undirected (undirected in Dijkstra s Algorithm) Edges can have weight/ distance assigned Dijkstra material from http://www.cs.utexas.edu/~tandy/barrera.ppt

ShanghaiTech University - SIST - 10.05.2017 42 Diklstra s Algorithm Assign all vertices infinite distance to goal Assign 0 to distance from start Add all vertices to the queue While the queue is not empty: Select vertex with smallest distance and remove it from the queue Visit all neighbor vertices of that vertex, calculate their distance and update their (the neighbors) distance if the new distance is smaller

ShanghaiTech University - SIST - 10.05.2017 43 Diklstra s Algorithm - Pseudocode dist[s] 0 (distance to source vertex is zero) for all v V {s} do dist[v] (set all other distances to infinity) S (S, the set of visited vertices is initially empty) Q V (Q, the queue initially contains all vertices) while Q (while the queue is not empty) do u mindistance(q, dist) (select the element of Q with the min. distance) S S {u} (add u to list of visited vertices) for all v neighbors[u] do if dist[v] > dist[u] + w(u, v) (if new shortest path found) then d[v] d[u] + w(u, v) (set new value of shortest path) (if desired, add traceback code) return dist

ShanghaiTech University - SIST - 10.05.2017 44 Dijkstra Example

ShanghaiTech University - SIST - 10.05.2017 45 Dijkstra Example

ShanghaiTech University - SIST - 10.05.2017 46 Dijkstra Example

ShanghaiTech University - SIST - 10.05.2017 47 Dijkstra Example

ShanghaiTech University - SIST - 10.05.2017 48 Dijkstra Example

ShanghaiTech University - SIST - 10.05.2017 49 Dijkstra Example

ShanghaiTech University - SIST - 10.05.2017 50 Dijkstra Example

ShanghaiTech University - SIST - 10.05.2017 51 Dijkstra Example

ShanghaiTech University - SIST - 10.05.2017 52 Dijkstra Example

ShanghaiTech University - SIST - 10.05.2017 53 Dijkstra Example

ShanghaiTech University - SIST - 10.05.2017 54 APPLICATIONS OF DIJKSTRA'S ALGORITHM - Navigation Systems - Internet Routing

ShanghaiTech University - SIST - 10.05.2017 55 Dijkstra s Algorithm for Path Planning: Topological Maps Topological Map: Places (vertices) in the environment (red dots) Paths (edges) between them (blue lines) Length of path = weight of edge => Apply Dijkstra s Algorithm to find path from start vertex to goal vertex

ShanghaiTech University - SIST - 10.05.2017 56 Dijkstra s Algorithm for Path Planning: Grid Maps Graph: Neighboring free cells are connected: 4-neighborhood: up/ down/ left right 8-neighborhood: also diagonals All edges have weight 1 Stop once goal vertex is reached Per vertex: save edge over which the shortest distance from start was reached => Path

ShanghaiTech University - SIST - 10.05.2017 57 Graph Search Strategies: Breath-First Search Corresponds to a wavefront expansion on a 2D grid Breath-First: Dijkstra s search where all edges have weight 1

ShanghaiTech University - SIST - 10.05.2017 58 Graph Search Strategies: Depth-First Search A A A A A A A B C D B C D B C D B C D B C D B C D B C D E E F E F E F E F E F G H G H G H G H D I D A I D A I L First path found! NOT optimal A A A A A A A B C D B C D B C D B C D B C D B C D B C D E F E F E F G E F G E F G E F G E F G G H G H G H G H F I G H F I G H F I G H F I D I K D I K D I K D I K D I K C H D I K C H D I K C H A L A L L A L L A L L A L L A L L A A L L A K A A E D A B C D F G G H F I I L K L C A H K L E D A B C D F G G H F I I L K L C A H K L L A=initial B C D F E G H I K L=goal

ShanghaiTech University - SIST - 10.05.2017 59 Graph Search Strategies: A* Search Similar to Dijkstra s algorithm, except that it uses a heuristic function h(n) f(n) = g(n) + ε h(n)

ShanghaiTech University - SIST - 10.05.2017 60 Graph Search Strategies: Randomized Search Most popular version is the rapidly exploring random tree (RRT) Well suited for high-dimensional search spaces Often produces highly suboptimal solutions