Static versus Dynamic Environment

  • Path planning finds a globally optimal path to reach the goal pose from the initial pose.

  • However, it assumes a static world, i.e. the positions of obstacles are fixed and fully known. I But, real-world environments are dynamic.

  • Obstacles may change position dynamically (e.g. furniture may get displaced).

  • New obstacles may appear on the scene (e.g. something falls down from the overhead shelf).

  • Obstacles may be constantly moving (e.g. people or other robots moving through corridors).

  • Global path planning is slow and hence not suitable for fast obstacle avoidance.

Local Approaches

Local Approaches

Basic Idea

  1. Sensor data (e.g. lidar, sonar) is used to continuously detect obstacles as the robot moves.
  2. Odometry data is used to obtain the robot’s current pose and velocity.
  3. A set of possible solutions (candidates) are generated based on sensor and odometry data to steer the robot.
  4. An objective function evaluates each possible solution.
  5. The best (optimal) solution is selected and used to control the robot’s linear and angular velocities.
    Only a local region around the robot or a short time window is considered at a time for Obstacle Avoidance locally optimal motion control.

Categories of Approaches

Link to original

Dynamic Window Approach

Main Steps

Velocity Space


Admissible: Grey Area, Non Admissible: Brown Area


white Box

Objective function F(v, ω)

The objective function F(v, ω) evaluates trajectories based on three criteria:

  1. Closeness to goal pose: How close to the goal pose would this trajectory bring the robot?
  2. Clearance from nearest obstacles: How far is the nearest obstacle on this trajectory?
  3. Speed of motion: How fast does the robot move on this trajectory? I The objective is to drive in the correct direction as fast as possible while staying as far away from obstacles as possible.

Strengths and Weaknesses

Strength:

Fast approach for Obstacle Avoidance.

Weakness:

Difficulty to enter narrow passages and doorways (robot does not stop on time).

Improved DWA:

Optimize position and velocity simultaneously.

Link to original