Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Extension to the Dynamic Window Approach

Similar presentations


Presentation on theme: "An Extension to the Dynamic Window Approach"— Presentation transcript:

1 An Extension to the Dynamic Window Approach
for arbitrarily shaped Robots Christian Mandel A1[RoboMap], 09/17/04

2 Overview Rolland: new hardware platform Motivation
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Overview Rolland: new hardware platform Motivation Basic principles of the Dynamic Window Approach DWA & the problem with non circular shaped robots Implementation issues: Curve Segments Table, Collision Table Computing the Trajectory Computing the Velocity Profile What remains to do Preliminary Experiments SFB/IQN-Kolloquium 09/17/04 - 0 -

3 Meyra Champ wheelchair
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Meyra Champ wheelchair omnidirectional camera system controlling laptop connected via single usb cable emergency stop button 2 laser range finder 2 incremental encoders Rolland: hardware platform SFB/IQN-Kolloquium 09/17/04 - 1 -

4 Motivation Wheelchair in its environment
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Motivation decision points voronoi edges What is it all about? Wheelchair set up as an experimental platform for spatial navigation tasks driven by Human-Computer-Interaction Wheelchair equipped with Laser Range Finders -> Scans are integrated into local obstacle map. Evidence Grid as the metrical representation of the environment -> the more often we scan an obstacle the higher the evidence in ist representing cell Voronoi-Graph as the topological representation of the environment -> consists of edges and decision points To allow spatial navigation tasks: The basic question is how to navigate between decision points, while taking care of dynamic obstacles the dynamic aspects of driving on a computed path and taking care of non-static obstacles requires reactive algorithm that runs frequently Wheelchair in its environment Metrical & topological representation. How to navigate between decision points while taking care of dynamic obstacles? SFB/IQN-Kolloquium 09/17/04 - 2 -

5 Basic principles of the Dynamic Window Approach1
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Basic principles of the Dynamic Window Approach1 Local navigation combined with reactive collision avoidance. DWA assumes: Robot velocity is a piecewise constant function in time. DWA considers: Robot has initial velocity and limited accelerations. DWA computes optimal circular arc in every time step. DWA looks one curve ahead. 1 [Fox, Burgard, Thrun] „The Dynamic Window Approach To Collision Avoidance“ SFB/IQN-Kolloquium 09/17/04 - 3 -

6 DWA & the problem with non circular shaped robots
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] DWA & the problem with non circular shaped robots computed arc current pose headed pose current pose computed arc1 computed arc2 current pose computed arc collision SFB/IQN-Kolloquium 09/17/04 - 4 -

7 An Extension to the Dynamic Window Approach for arbitrarily shaped Robots.
A1[RoboMap] Curve Segments Table start curvature curvature prime direction poses + MAX backwards - MAX forwards ... Motivation of a Curve Segments Table: precompute nearly every path one can want to drive given a startCurvature, CurvaturePrime and a direction startCurvature == Radius of Arc wheelchair is currently driving on curvaturePrime == rate of changing the curvature (its only discretized by three values!!! steer left, hold, steer rigth) direction == driving forwards/backwards explain some of the outer arcs because in the six examples you only showed an infinite radius SFB/IQN-Kolloquium 09/17/04 - 5 -

8 An Extension to the Dynamic Window Approach for arbitrarily shaped Robots.
A1[RoboMap] Collision Table ... {(0,-1),(1,0),(0,1),(1,0),(0,-1),(1,-1), (0,1),(1,0),(0,-1)} offset between occupied cells ({(x1,y1),...,(xn,yn)}) arclength (t) ... {(-1,1),(-1,-1),(1,1),(1,-1),(2,1),(2,-1), (3,-1),(3,-2),(4,-1),(4,-2)} occupied cells ({(x1,y1),...,(xn,yn)}) arclength (t) ... {(-1,1),(-1,-1),(1,1),(1,-1),(2,1),(2,-1)} occupied cells ({(x1,y1),...,(xn,yn)}) arclength (t) t=0 t=1 t=2 t=3 t=4 t=5 t=6 t=7 t=8 Vorteil: Jede Zelle des Collisiontables, sei sie absolut(relativ zu t=0) oder als offset zur vorher getesteten Zelle aufzufassen, wird nur einmal auf Kollision mit dem EvidenceGrid getestet und ist demnach auch nur einmal im Collisiontable vorhanden, naemlich zu dem fruehsten Zeitpunkt. SFB/IQN-Kolloquium 09/17/04 - 6 -

9 Algorithmic Refinements 1
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Algorithmic Refinements 1 Precompute and store only paths whose first pose has zero heading. Goal: reduce Size of Curve Segments Table Test-for-Collision-Operation has to rotate CT-entries. Collision Table Precompute additional table which holds rotated offsets between occupied cells. SFB/IQN-Kolloquium 09/17/04 - 7 -

10 Score Function startPose headedPose path goalPose
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Score Function startPose headedPose path the folks does not know yet, that we want to test a huge bunch of possible paths..... so introduce the Objective Function which will asses a single tested path goalPose SFB/IQN-Kolloquium 09/17/04 - 8 -

11 Odometry Pose, Goal Pose
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Computing the Optimal Path Algorithm (basic idea) Input Local Evidence Grid, Odometry Pose, Goal Pose Curve Segments Table Collision Table SFB/IQN-Kolloquium 09/17/04 - 9 -

12 optimal path w.r.t. objective function
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Algorithmic Refinements 2 arc1.curvature, arc1.length, arc1.direction do arc2.curvature, arc2.length, arc2.direction do construct path test for collision and prune if necessary calc score if (path.score < bestPath.score) set bestPath = path Algorithm (basic idea) arc1.curvature, arc1.length, arc1.direction do arc2.curvature, arc2.direction do construct path test for collision and prune if necessary minimise path.score if (path.score < bestPath.score) set bestPath = path Algorithm (with constant arc2.length) set arc2.length = MAX_arc2.length Goal: reduce complexity of computation Computing the optimal path w.r.t. objective function SFB/IQN-Kolloquium 09/17/04 - 10 -

13 Algorithmic Refinements 3
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Algorithmic Refinements 3 pose arc2 do calc score with goalPose = pose store goalPose with minimal score Algorithm (witch constant arc2.length) minimise path.score potential goalPose arc2 do calc score store goalPose with minimal score SFB/IQN-Kolloquium 09/17/04 - 11 -

14 Computing the Velocity Profile
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Computing the Velocity Profile Algorithm FOR EVERY DO: COMPUTE MAXIMUM velocity FOR WHICH HOLDS: Input FOR EVERY DO: INCORPORATE LONGITUDINAL ACCELERATION LIMIT : Solution Path Velocities in Start & Goal Lateral Acceleration Limit Longitudinal Acceleration Limit Rotational Velocity Limit Longitudinal Velocity Limit SFB/IQN-Kolloquium 09/17/04 - 12 -

15 An Extension to the Dynamic Window Approach for arbitrarily shaped Robots.
A1[RoboMap] What remains to do current implementation considers only binary information from the evidence grid while doing the collision test better: collision test should also return minimal distance to obstacles for tested path SFB/IQN-Kolloquium 09/17/04 - 13 -

16 Preliminary Experiments
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Preliminary Experiments SFB/IQN-Kolloquium 09/17/04 - 14 -


Download ppt "An Extension to the Dynamic Window Approach"

Similar presentations


Ads by Google