What s Special About Bugs

Similar documents
Robotic Motion Planning: Bug Algorithms

Robotic Motion Planning: Bug Algorithms

Robot Motion Control and Planning

Robotic Motion Planning: Bug Algorithms (with some discussion on curve tracing and sensors)

Path Planning. Ioannis Rekleitis

Motion Planning. Howie CHoset

Motion Planning. Howie CHoset

Robotics Navigation I: Bug Algorithms

Perception: Sensors. Autonomous Mobile Robots. Davide Scaramuzza Margarita Chli, Paul Furgale, Marco Hutter, Roland Siegwart

Robotics course student reading and in-class presentation

Mobile Robots: An Introduction.

Robotic Motion Planning: Cell Decompositions (with some discussion on coverage and pursuer/evader)

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

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

Sensor Modalities. Sensor modality: Different modalities:

Topic 9: Wave phenomena - AHL 9.2 Single-slit diffraction

Physics 101, Lab 1: LINEAR KINEMATICS PREDICTION SHEET

Optics: Laser Light Show Student Advanced Version

Outline Sensors. EE Sensors. H.I. Bozma. Electric Electronic Engineering Bogazici University. December 13, 2017

3 Interactions of Light Waves

Robotic Motion Planning: A* and D* Search

EE565:Mobile Robotics Lecture 3

Probabilistic Robotics

Optics II. Reflection and Mirrors

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

Physics Themed 1516 Williams. Mirrors & Reflective Optics

Distance-Optimal Navigation in an Unknown Environment without Sensing Distances

LIGHT: Two-slit Interference

LME Software Block Quick Reference 1. Common Palette

Ray Optics. Lecture 23. Chapter 34. Physics II. Course website:

LECTURE 37: Ray model of light and Snell's law

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

Exam in DD2426 Robotics and Autonomous Systems

CSE-571 Robotics. Sensors for Mobile Robots. Beam-based Sensor Model. Proximity Sensors. Probabilistic Sensor Models. Beam-based Scan-based Landmarks

Robotic Motion Planning: Review C-Space and Start Potential Functions

Ray Optics I. Last time, finished EM theory Looked at complex boundary problems TIR: Snell s law complex Metal mirrors: index complex

Robotics. Lecture 5: Monte Carlo Localisation. See course website for up to date information.

Chapter 8: Physical Optics

Robot Motion Control Matteo Matteucci

Lecture Ray Model of Light. Physics Help Q&A: tutor.leiacademy.org

DD2426 Robotics and Autonomous Systems Lecture 4: Robot Sensors and Perception

Ch. 25 The Reflection of Light

Springer-Vcrlag New York Inc.

Reflection & Mirrors

COMPUTER SIMULATION TECHNIQUES FOR ACOUSTICAL DESIGN OF ROOMS - HOW TO TREAT REFLECTIONS IN SOUND FIELD SIMULATION

Reflection and Refraction of Light

Huygens and Fermat s s principles (Textbook 4.4, 4.5) Application to reflection & refraction at an interface

Characteristics of Sonar Sensors for Short Range Measurement

Chapter 12 Notes: Optics

The Question. What are the 4 types of interactions that waves can have when they encounter an object?

Experiment 8 Wave Optics

Obstacle Avoidance (Local Path Planning)

f. (5.3.1) So, the higher frequency means the lower wavelength. Visible part of light spectrum covers the range of wavelengths from

Image Formation by Refraction

Ch. 22 Properties of Light HW# 1, 5, 7, 9, 11, 15, 19, 22, 29, 37, 38

first name (print) last name (print) brock id (ab17cd) (lab date)

Physics 9 Friday, September 28, 2018

Introduction. Part I: Measuring the Wavelength of Light. Experiment 8: Wave Optics. Physics 11B

ROBOTICS AND AUTONOMOUS SYSTEMS

Range Sensors (time of flight) (1)

Navigation and Metric Path Planning

Calypso Construction Features. Construction Features 1

Robotics and Autonomous Systems

Robotics and Autonomous Systems

LECTURE 11 REFLECTION & PLANE MIRRORS. Instructor: Kazumi Tolich

Lecture Outlines Chapter 26

PHYSICS - CLUTCH CH 32: WAVE OPTICS.

REFLECTION & REFRACTION

Physics 1230: Light and Color. Projects

Geographical routing 1

Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007

Index of Refraction and Total Internal Reflection

Phys 102 Lecture 17 Introduction to ray optics

Advanced Robotics Path Planning & Navigation

10/5/09 1. d = 2. Range Sensors (time of flight) (2) Ultrasonic Sensor (time of flight, sound) (1) Ultrasonic Sensor (time of flight, sound) (2) 4.1.

To determine the wavelength of laser light using single slit diffraction

Assignment 1: Control and obstacle avoidance

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

Physics 202, Lecture 23

Interference of Light

Lecture 2. Reactive and Deliberative Intelligence and Behavior. Lecture Outline

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

Lagrange multipliers October 2013

: Imaging Systems Laboratory II. Laboratory 2: Snell s Law, Dispersion and the Prism March 19 & 21, n 1 n 2

Physics 1C. Lecture 22A. "There are two ways of spreading light: to be the candle or the mirror that reflects it." --Edith Wharton

AP Physics Problems -- Waves and Light

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

Light & Optical Systems Reflection & Refraction. Notes

PHY132 Introduction to Physics II Class 5 Outline:

EV3 Programming Workshop for FLL Coaches

2.1 Angles, Lines and Parallels & 2.2 Congruent Triangles and Pasch s Axiom

Obstacle Avoidance (Local Path Planning)

PHY 112: Light, Color and Vision. Lecture 11. Prof. Clark McGrew Physics D 134. Review for Exam. Lecture 11 PHY 112 Lecture 1

Physics 1202: Lecture 17 Today s Agenda

PY212 Lecture 25. Prof. Tulika Bose 12/3/09. Interference and Diffraction. Fun Link: Diffraction with Ace Ventura

Interference of Light

Cognitive Robotics Robot Motion Planning Matteo Matteucci

Reflection and Refraction. Chapter 29

D&S Technical Note 09-2 D&S A Proposed Correction to Reflectance Measurements of Profiled Surfaces. Introduction

Robotics Study Material School Level 1 Semester 2

Transcription:

Robotic Motion Planning: Bug Algorithms University of Denver ENCE 4800 Richard Voyles What s Special About Bugs Many planning algorithms assume global knowledge Bug algorithms assume only local knowledge of the environment and a global goal Bug behaviors are simple: 1) Follow a wall (right or left) 2) Move in a straight line toward goal Bug 1 and Bug 2 assume essentially tactile sensing Tangent Bug deals with finite distance sensing A Few General Concepts Workspace W R(2) or R(3) depending on the robot could be infinite (open) or bounded (closed/compact) Obstacle WO i Free workspace W free = W \ i WO i 1

The Bug Algorithms provable results... Insect-inspired Start Goal known direction to goal robot can measure distance d(x,y) between pts x and y otherwise local sensing walls/obstacles & encoders reasonable world 1) finitely many obstacles in any finite area 2) a line will intersect an obstacle finitely many times 3) Workspace is bounded W B r (x), r < B r (x) = { y R(2) d(x,y) < r } Buginner Strategy Bug 0 algorithm known direction to goal otherwise local sensing walls/obstacles & encoders Some notation: q start and q goal hit point q H i leave point q L i A path is a sequence of hit/leave pairs bounded by q start and q goal how? Buginner Strategy Bug 0 algorithm known direction to goal otherwise local sensing walls/obstacles & encoders 1) head toward goal 2) follow obstacles until you can head toward the goal again 3) continue path? 2

Buginner Strategy Bug 0 algorithm 1) head toward goal 2) follow obstacles until you can head toward the goal again 3) continue assume a leftturning robot The turning direction might be decided beforehand OK? Bug Zapper What map will foil Bug 0? Bug 0 algorithm 1) head toward goal 2) follow obstacles until you can head toward the goal again 3) continue Bug Zapper What map will foil Bug 0? Bug 0 algorithm 1) head toward goal 2) follow obstacles until you can head toward the goal again goal 3) continue start 3

A better bug? But add some memory! known direction to goal otherwise local sensing walls/obstacles & encoders improvement ideas? Bug 1 But some computing power! known direction to goal otherwise local sensing walls/obstacles & encoders Bug 1 algorithm 1) head toward goal 2) if an obstacle is encountered, circumnavigate it and remember how close you get to the goal 3) return to that closest point (by wall-following) and continue Vladimir Lumelsky & Alexander Stepanov: Algorithmica 1987 Bug 1 But some computing power! known direction to goal otherwise local sensing walls/obstacles & encoders Bug 1 algorithm 1) head toward goal 2) if an obstacle is encountered, circumnavigate it and remember how close you get to the goal 3) return to that closest point (by wall-following) and continue Vladimir Lumelsky & Alexander Stepanov: Algorithmica 1987 4

BUG 1 More formally Let q L = q 0 start; i = 1 repeat repeat from q L i-1 move toward q goal until goal is reached or obstacle encountered at q H i if goal is reached, exit repeat follow boundary recording pt q L i with shortest distance to goal until q goal is reached or q H i is re-encountered if goal is reached, exit Go to q L i if move toward q goal moves into obstacle exit with failure else i=i+1 continue Quiz Bug 1: Path Bounds Bug 1 analysis What are upper/lower bounds on the path length that the robot takes? D = straight-line distance from start to goal P i = perimeter of the i th obstacle Lower bound: What s the shortest distance it might travel? D P 2 Upper bound: What s the longest distance it might travel? P 1 What is an environment where your upper bound is required? Quiz Bug 1: Path Bounds Bug 1 analysis What are upper/lower bounds on the path length that the robot takes? D = straight-line distance from start to goal P i = perimeter of the i th obstacle Lower bound: What s the shortest distance it might travel? D D P 2 Upper bound: What s the longest distance it might travel? D + 1.5 Σ P i i P 1 What is an environment where your upper bound is required? 5

How Can We Show Completeness? An algorithm is complete if, in finite time, it finds a path if such a path exists or terminates with failure if it does not. Suppose BUG1 were incomplete Therefore, there is a path from start to goal By assumption, it is finite length, and intersects obstacles a finite number of times. BUG1 does not find it Either it terminates incorrectly, or, it spends an infinite amount of time Suppose it never terminates but each leave point is closer to the obstacle than corresponding hit point Each hit point is closer than the last leave point Thus, there are a finite number of hit/leave pairs; after exhausting them, the robot will proceed to the goal and terminate Suppose it terminates (incorrectly) Then, the closest point after a hit must be a leave where it would have to move into the obstacle But, then line from robot to goal must intersect object even number of times (Jordan curve theorem) But then there is another intersection point on the boundary closer to object. Since we assumed there is a path, we must have crossed this pt on boundary which contradicts the definition of a leave point. Another step forward? Call the line from the starting point to the goal the m-line Bug 2 Algorithm A better bug? Call the line from the starting point to the goal the m-line Bug 2 Algorithm 1) head toward goal on the m-line 6

A better bug? Call the line from the starting point to the goal the m-line Bug 2 Algorithm 1) head toward goal on the m-line 2) if an obstacle is in the way, follow it until you encounter the m-line again. A better bug? m-line Bug 2 Algorithm 1) head toward goal on the m-line 2) if an obstacle is in the way, follow it until you encounter the m-line again. 3) Leave the obstacle and continue toward the goal OK? A better bug? Bug 2 Algorithm Start 1) head toward goal on the m-line 2) if an obstacle is in the way, follow it until you encounter the m-line again. 3) Leave the obstacle and continue toward the goal Goal NO! How do we fix this? 7

A better bug? Bug 2 Algorithm Start 1) head toward goal on the m-line 2) if an obstacle is in the way, follow it until you encounter the m-line again closer to the goal. 3) Leave the obstacle and continue toward the goal Goal Better or worse than Bug1? The Spiral BUG 2 More formally Let q L = q 0 start; i = 1 repeat repeat from q L i-1 move toward q goal along the m-line until goal is reached or obstacle encountered at q H i if goal is reached, exit repeat follow boundary until q goal is reached or q H i is re-encountered or m-line is re-encountered, x is not q H i, d(x,q goal ) < d(qh i,q goal ) and way to goal is unimpeded if goal is reached, exit if q H i is reached, return failure else q L i = m i=i+1 continue 8

head-to-head comparison or thorax-to-thorax, perhaps Draw worlds in which Bug 2 does better than Bug 1 (and vice versa). Bug 2 beats Bug 1 Bug 1 beats Bug 2 head-to-head comparison or thorax-to-thorax, perhaps Draw worlds in which Bug 2 does better than Bug 1 (and vice versa). Bug 2 beats Bug 1 Bug 1 beats Bug 2? head-to-head comparison or thorax-to-thorax, perhaps Draw worlds in which Bug 2 does better than Bug 1 (and vice versa). Bug 2 beats Bug 1 Bug 1 beats Bug 2 9

BUG 1 vs. BUG 2 BUG 1 is an exhaustive search algorithm it looks at all choices before commiting BUG 2 is a greedy algorithm it takes the first thing that looks better In many cases, BUG 2 will outperform BUG 1, but BUG 1 has a more predictable performance overall Quiz Bug 2: Path Bounds Bug 2 analysis What are upper/lower bounds on the path length that the robot takes? D = straight-line distance from start to goal P i = perimeter of the i th obstacle Lower bound: What s the shortest distance it might travel? D Upper bound: What s the longest distance it might travel? What is an environment where your upper bound is required? Quiz Bug 2: Path Bounds Bug 2 analysis What are upper/lower bounds on the path length that the robot takes? D = straight-line distance from start to goal P i = perimeter of the i th obstacle Lower bound: What s the shortest distance it might travel? D Upper bound: What s the longest distance it might travel? n D + Σ i P i i 2 n i = # of s-line intersections of the i th obstacle What is an environment where your upper bound is required? 10

A More Realistic Bug As presented: global beacons plus contact-based wall following The reality: we typically use some sort of range sensing device that lets us look ahead (but has finite resolution and is noisy). Let us assume we have a range sensor Raw Distance Function Saturated raw distance function Intervals of Continuity Tangent Bug relies on finding endpoints of finite, conts segments of ρ R 11

Motion-to-Goal Transition from Moving Toward goal to following obstacles Transition Currently, the motion-to-goal behavior thinks the robot can get to the goal Motion-to-Goal Transition Among Moving Toward goal to following obstacles Transition Currently, the motion-to-goal behavior thinks the robot can get to the goal Motion-to-Goal Transition Minimize Heuristic Now, it starts to see something --- what to do? Ans: Choose the pt O i that minimizes d(x,o i ) + d(o i,q goal ) 12

Minimize Heuristic Example At x, robot knows only what it sees and where the goal is, so moves toward O 2. Note the line connecting O 2 and goal pass through obstacle so moves toward O 4. Note some thinking was involved and the line connecting O 4 and goal pass through obstacle Choose the pt O i that minimizes d(x,o i ) + d(o i,q goal ) Motion To Goal Example Choose the pt O i that minimizes d(x,o i ) + d(o i,q goal ) Transition from Motion-to-Goal Choose the pt O i that minimizes d(x,o i ) + d(o i,q goal ) M is the point on the sensed obstacle which has the shortest distance to the goal Problem: what if this distance starts to go up? Ans: start to act like a BUG and follow boundary Followed obstacle: the obstacle that we are currently sensing Blocking obstacle: the obstacle that intersects the segment They start as the same 13

Boundary Following Move toward the O i on the followed obstacle in the chosen direction M is the point on the sensed obstacle which has the shortest distance to the goal Followed obstacle: the obstacle that we are currently sensing Blocking obstacle: the obstacle that intersects the segment Maintain d followed and d reach They start as the same dfollowed and dreach d followed is the shortest distance between the sensed boundary and the goal d reach is the shortest distance between blocking obstacle and goal (or my distance to goal if no blocking obstacle visible) Terminate boundary following behavior when d reach < d followed Initialize with typo Example: Zero Senor Range 1. Robot moves toward goal until it hits obstacle 1 at H1 2. Pretend there is an infinitely small sensor range and the Oi which minimizes the heuristic is to the right 3. Keep following obstacle until robot can go toward goal again 4. Same situation with second obstacle 5. At third obstacle, the robot turned left until it could not increase heuristic 6. Dfollowed is distance between M3 and goal, dreach is distance between robot and goal because sensing distance is zero 14

Example: Finite Sensor Range Example: Infinite Sensor Range Tangent Bug Tangent Bug relies on finding endpoints of finite, conts segments of ρ R q goal T O 5 O 6 O1 x O 4 O 2 O 3 Now, it starts to see something --- what to do? Ans: Choose the pt O i that minimizes d(x,o i ) + d(o i,q goal ) Heuristic distance 15

Tangent Bug Tangent Bug relies on finding endpoints of finite, conts segments of ρ R q goal O 5 O 6 O1 x O 4 O 2 O 3 Problem: what if this distance starts to go up? Ans: start to act like a BUG and follow boundary The Basic Ideas A motion-to-goal behavior as long as way is clear or there is a visible obstacle boundary pt that decreases heuristic distance A boundary following behavior invoked when heuristic distance increases. A value d followed which is the shortest distance between the sensed boundary and the goal A value d reach which is the shortest distance between blocking obstacle and goal (or my distance to goal if no blocking obstacle visible) Terminate boundary following behavior when d reach < d followed Tangent Bug Algorithm 1) repeat a) Compute continuous range segments in view b) Move toward n {T,O i } that minimizes h(x,n) = d(x,n) + d(n,q goal ) until a) goal is encountered, or b) the value of h(x,n) begins to increase 2) follow boundary continuing in same direction as before repeating a) update {O i }, d reach and d followed until a) goal is reached b) a complete cycle is performed (goal is unreachable) c) d reach < d followed Note the same general proof reasoning as before applies, although the definition of hit and leave points is a little trickier. 16

Implementing Tangent Bug Basic problem: compute tangent to curve forming boundary of obstacle at any point, and drive the robot in that direction Let D(x) = min c d(x,c) c i WO i Let G(x) = D(x) - W* some safe following distance Note that G(x) points radially away from the object Define T(x) = ( G(x)) the tangent direction in a real sensor (we ll talk about these) this is just the tangent to the array element with lowest reading We could just move in the direction T(x) open-loop control Better is δ x = µ (T(x) - λ ( G(x)) G(x)) closed-loop control (predictor-corrector) Sensors! Robots link to the external world... sonar rangefinder gyro Sensors, sensors, sensors! and tracking what is sensed: world models compass IR rangefinder sonar rangefinder CMU cam with onboard processing odometry Tactile sensors on/off switch as a low-resolution encoder analog input: Active antenna Surface acoustic waves Capacitive array sensors Resistive sensors 100% of light passes Based through on Slides Howie 90% Choset of light with slides passes from through G.D. Hager Z. 75% Dodds of light passes through from and 17

Infrared sensors Noncontact bump sensor (1) sensing is based on light intensity. object-sensing IR looks for changes at this distance diffuse distance-sensing IR (2) sensing is based on angle receved. IR emitter/detector pair IR detector Infrared calibration The response to white copy paper (a dull, reflective surface) raw values (put into 4 bits) inches 15º increments in the dark fluorescent light incandescent light Infrared calibration energy vs. distance for various materials ( the incident angle is 0º, or head-on ) ( with no ambient light ) 18

Sonar sensing single-transducer sonar timeline 0 a chirp is emitted into the environment 75µs typically when reverberations from the initial chirp have stopped the transducer goes into receiving mode and awaits a signal... limiting range sensing.5s after a short time, the signal will be too weak to be detected time response blanking time Polaroid sonar emitter/receivers Based on Slides from Howie Choset with slides No from lower G.D. range Hager and limit Z. Dodds for paired sonars... walls (obstacles) Sonar effects sonar Draw the range reading that the sonar will return in each case walls (obstacles) Sonar effects sonar Draw the range reading that the sonar will return in each case holding a sponge 19

Sonar effects (a) Sonar providing an accurate range measurement (b-c) Lateral resolution is not very precise; the closest object in the beam s cone provides the response (d) Specular reflections cause walls to disappear (e) Open corners produce a weak spherical wavefront (f) Closed corners measure to the corner itself because of multiple reflections --> sonar ray tracing resolution: time / space Sonar modeling initial time response accumulated responses blanking time cone width Based on Slides from Howie spatial Choset with response slides from G.D. Hager and Z. Dodds Sonar Modeling response model (Kuc) sonar S reading z = α o obstacle Models the response, h R,with c = speed of sound a = diameter of sonar element t = time z = orthogonal distance α = angle of environment surface Then, allow uncertainty in the model to obtain a probability: p( S o ) chance that the sonar reading is S, given an obstacle at location o 20

Roman Kuc s animals Rodolph Robat Laser Ranging LIDAR Sick Laser LIDAR map Based on Slides from Sick Howie laser Choset with slides from G.D. Hager and Z. Dodds range finder Summary Bug 1: safe and reliable Bug 2: better in some cases; worse in others Should understand the basic completeness proof Tangent Bug: supports range sensing Sensors and control should understand basic concepts and know what different sensors are 21