6 - Planning and Navigation II - Obstacle Avoidance Printable
-
Upload
muhammad-farhan -
Category
Documents
-
view
225 -
download
4
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
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