6 - Planning and Navigation II - Obstacle Avoidance Printable

35
Autonomous Mobile Robots Autonomous Systems Lab Zürich Planning and Navigation II: Obstacle Avoidance Where am I? Where am I going? How do I get there? "Position" Global Map Perception Motion Control Cognition Real World Environment Localization Path Environment Model Local Map ?

Transcript of 6 - Planning and Navigation II - Obstacle Avoidance Printable

Autonomous Mobile Robots

Autonomous Systems LabZürich

Planning and Navigation II: Obstacle Avoidance

Where am I?Where am I going?

How do I get there?

"Position" Global Map

Perception Motion Control

Cognition

Real WorldEnvironment

Localization

PathEnvironment ModelLocal Map

?

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

62 Obstacle Avoidance (Local Path Planning)

The goal of the obstacle avoidance algorithms is to avoid collisions with obstaclesIt is usually based on local mapOften implemented as a more or less independent taskHowever, efficient obstacle avoidanceshould be optimal with respect to

the overall goalthe actual speed and kinematics of the robotthe on boards sensorsthe actual and future risk of collision

Example: Alice

known obstacles (m

ap)

Planed path

observed

obstacle

v(t), ω(t)

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

63 Obstacle Avoidance: Bug1

Following along the obstacle to avoid itEach encountered obstacle is once fully circled before it is left at the point closest to the goal

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

64 Obstacle Avoidance: Bug2

Following the obstacle always on the left or right side Leaving the obstacle if the direct connection between start and goal is crossed

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

65 Obstacle Avoidance: Vector Field Histogram (VFH)

Borenstein et al.Environment represented in a grid (2 DOF)cell values equivalent to the probability that there is an obstacle

Reduction in different steps to a 1 DOF histogramThe steering direction is computed in two steps:

• all openings for the robot to pass are found• the one with lowest cost function G is selected

target_direction = alignment of the robot path with the goalwheel_orientation = difference between the new direction and the currrent wheel orientationprevious_direction = difference between the previously selected direction and the new direction

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

66 Obstacle Avoidance: Vector Field Histogram + (VFH+)

Borenstein et al.Accounts also in a very simplified way for the moving trajectories (dynamics)

robot moving on arcs or straight linesobstacles blocking a given direction also blocks all the trajectories (arcs) going through this directionobstacles are enlarged so that all kinematically blocked trajectories are properly taken into account

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

67 Obstacle Avoidance: Video VFH

Borenstein et al.

Notes:Limitation if narrow areas (e.g. doors) have to be passedLocal minimum might not be avoidedReaching of the goal can not be guaranteedDynamics of the robot not really considered

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

68 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 robotbubbles are used to form a band of bubbles which connects the start point with the goal point

Khatib and Chatila

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

69 Obstacle Avoidance: Basic Curvature Velocity Methods (CVM)

Adding physical constraints from the robot and the environment on the velocity space (v, w) of the robot

Assumption that robot is traveling on arcs (c= w / v)Acceleration constraints: -Vmin < v < Vmax, Wmin < w < WmaxObstacle constraints: Obstacles are transformed in velocity spaceObjective function to select the optimal speed

Simmons et al.

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

610 Obstacle Avoidance: Lane Curvature Velocity Methods (CVM)

Simmons et al.

Improvement of basic CVMNot only arcs are consideredlanes are calculated trading off lane length and width to the closest obstacles Lane with best properties is chosen using an objective function

Note:Better performance to pass narrow areas (e.g. doors)Problem with local minima persists

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

611 Dynamic Window Approach

A brief outline [Fox and Burgard, Brock and Khatib]

Search space• Circular trajectories• Admissible velocities• Dynamic window

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

612 Obstacle Avoidance: Dynamic Window Approach

The kinematics of the robot is considered by searching a well chosen velocity space:

Circular trajectories : The dynamic window approach considers only circular trajectories uniquely determined by pairs (v,�) of translational and rotational velocities.Admissible velocities : A pair (v,�) is considered admissible, if the robot is able to stop before it reaches the closest obstacle on the corresponding curvature. (b:breakage)

Dynamic window : The dynamic window restricts the admissible velocities to those that can be reached within a short time interval given the limited accelerations of the robot

( ) [ ] [ ]{ }, , ,d a a a aV v v v v t v v t t tω ω ω ω ω ω= ∈ − ⋅ + ⋅ ∧ ∈ − ⋅ + ⋅& & & &

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

613 Obstacle Avoidance: Dynamic Window Approach

Resulting search spaceThe area Vr is defined as the intersection of the restricted areas, namely,

r s a dV V V V= ∩ ∩

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

614 Dynamic Window Approach

Maximizing the objective functionIn order to incorporate the criteria target heading, and velocity, the maximum of the objective function, G(v,ω), is computed over Vr.

( ) ( ), ( , ) ( , ) ( , )G v heading v dist v velocity vω σ α ω β ω γ ω= ⋅ + ⋅ + ⋅heading = measure of progress toward the goaldist = Distance to the closest obstacle in trajectoryvelocity = Forward velocity of the robot, incoraging fast movements

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

615 Obstacle Avoidance: Global Dynamic Window Approach

Global approach:This is done by adding a minima-free function named NF1 (wave-propagation) to the objective function O presented above.Occupancy grid is updated from range measurements

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

616 Obstacle Avoidance: The Schlegel Approach

Some sort of a variation of the dynamic window approachCartesian grid and motion of circular arcstakes into account the shape of the robotcalculate the distance li to collision between a single obstacle point and the robotNF1 plannerreal time performance achievedby use of pre-calculated table

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

617 Path Planning and Obstacle Avoidance – ETH-ASL Approach

Dynamic window approach with global path planingGlobal path generated in advancePath adapted if obstacles are encountereddynamic window considering also the shape of the robotreal-time because only max speed is calculated

Selection (Objective) Function:

speed = v / vmaxdist = L / Lmaxgoal_heading = 1- (a - wT) / p

)heading_goalcdistbspeeda(Max ⋅+⋅+⋅

αIntermediate goal

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

618 Path Planning and Obstacle Avoidance – ETH-ASL Approach

A combination of:

Dynamic Window (to avoid collisions)

Bubble Band (for smooth trajectories)

NF1 (local planning)

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

619 Path Planning and Obstacle Avoidance – ETH-ASL Approach

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

620 Planning in Mixed Environments

Autonomous navigation based on extended D* and traversability maps

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

621 Results

Localization based on odometry and IMU

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

622 Obstacle Avoidance: Other approaches

Behavior baseddifficult to introduce a precise taskreachability of goal not provable

Fuzzy, Neuro-Fuzzylearning requireddifficult to generalize

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

623

Acrobat Document

Obs

tacl

e A

void

ance

Com

paris

on

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

624

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

625

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

626 Generic temporal decomposition

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

627 4-level temporal decomposition

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

628 Control decomposition

Pure serial decomposition

Pure parallel decomposition

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

629 Our basic architectural example

Perception Motion Control

CognitionLocalization

Real WorldEnvironment

Perc

eptio

n to

Actio

n

Obs

tacl

eAv

oida

nce

Posi

tion

Feed

back

Path

Environment Model

Local Map

Local Map

PositionPosition

Local Map

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

630 General Tiered Architecture

Executive Layeractivation of behaviorsfailure recognitionre-initiating the planner

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

631 A Tow-Tiered Architecture for Off-Line Planning

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

632 A Three-Tiered Episodic Planning Architecture.

Planner is triggered when needed: e.g. blockage, failure

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

633 An integrated planning and execution architecture

All integrated, no temporal decoupling between planner and executive layer

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

634 Example: The RoboX Architecture

6 - Planning and Navigation

© R. Siegwart, ETH Zurich - ASL

635 Example: RoboX @ EXPO.02