an extension to the dynamic window approach for arbitrarily shaped robots

16
Extension to the Dynamic Window Approach r arbitrarily shaped Robots Christian Mandel A1[RoboMap], 09/17

Upload: nau

Post on 31-Jan-2016

27 views

Category:

Documents


0 download

DESCRIPTION

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. Christian Mandel A1[RoboMap], 09/17/04. An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap]. Overview. Rolland: new hardware platform. Motivation. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots

Christian Mandel A1[RoboMap], 09/17/04

Page 2: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

A1[RoboMap]

- 0 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots.

Overview

• 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

• Rolland: new hardware platform

• What remains to do

• Preliminary Experiments

Page 3: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

- 1 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots.

• Rolland: hardware platform

Meyra Champ wheelchair

omnidirectional camera system

controlling laptop connected via single usb cable

emergency stop button

2 laser range finder

2 incremental encoders

A1[RoboMap]

Page 4: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

A1[RoboMap]

- 2 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots.

Motivation

Wheelchair in its environment Metrical & topological representation.

How to navigate between decision points while taking care of dynamic obstacles?

decision points

voronoi edges

Page 5: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

- 3 -SFB/IQN-Kolloquium 09/17/04

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.

1 [Fox, Burgard, Thrun] „The Dynamic Window Approach To Collision Avoidance“

• DWA computes optimal circular arc in every time step.

• DWA assumes: Robot velocity is a piecewise constant function in time.

• DWA considers: Robot has initial velocity and limited accelerations.

• DWA looks one curve ahead.

Page 6: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

- 4 -SFB/IQN-Kolloquium 09/17/04

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 arc

collision

current pose

computed arc1

computed arc2

Page 7: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

- 5 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots.

Curve Segments Table

start curvature

curvature prime

direction poses

0 + MAX backwards

0 - MAX forwards

0 + MAX forwards

0 - MAX backwards

0 0 forwards

0 0 backwards

... ... ... ...

A1[RoboMap]

),...,,( 000 yx

),...,,( 000 yx

),...,,( 000 yx

),...,,( 000 yx

),...,,( 000 yx

),...,,( 000 yx

Page 8: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

- 6 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots.

...

...

{(-1,1),(-1,-1),(1,1),(1,-1),(2,1),(2,-1)}occupied cells ({(x1,y1),...,(xn,yn)})

0arclength (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)})

0arclength (t)

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)})

0arclength (t)

t=0 t=1 t=2 t=3 t=4t=5

t=6

t=7

t=8

A1[RoboMap]

Page 9: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

Precompute and store only paths whose first pose has zero heading.

- 7 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap]

Algorithmic Refinements 1

Curve Segments Table

Collision Table

Test-for-Collision-Operation has to rotate CT-entries.

Precompute additional table which holds rotated offsets between occupied cells.

Goal: reduce Size of

Page 10: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

d

startPose

headedPose

goalPose

path

- 8 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap]

Score Function

lengthpathccdheadedPosestartPosepathscore .**),,( 21

Page 11: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

- 9 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots.

Computing the Optimal Path

Collision Table

Curve Segments Table

Input

Local Evidence Grid,Odometry Pose,

Goal Pose

Algorithm (basic idea)

A1[RoboMap]

Page 12: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

- 10 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap]

Algorithmic Refinements 2

Goal:reduce complexityof computation

Computing the optimal path w.r.t.objective function

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

Page 13: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

- 11 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap]

Algorithmic Refinements 3

Algorithm(witch constantarc2.length)

minimise path.score

pose arc2 do

• calc score with goalPose = pose

• store goalPose with minimal score

potential goalPose arc2 do

• calc score

• store goalPose with minimal score

Page 14: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

- 12 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap]

Computing the Velocity Profile

Input

Solution Path

Velocities in Start & Goal

Lateral Acceleration Limit

Longitudinal Acceleration Limit

Rotational Velocity Limit

Longitudinal Velocity Limit

maxv

maxmaxvmaxa

goalstart vv ,

},...,{ 0 nposeposepath

Algorithm

FOR EVERY DO: pathposei COMPUTE MAXIMUM velocity FOR WHICH HOLDS: iv

).

,.

,min( maxmax cposecpose

avv

iii

FOR EVERY DO: iv

INCORPORATE LONGITUDINAL ACCELERATION LIMIT : iv

Page 15: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

- 13 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap]

What remains to do

• current implementation considers only binaryinformation from the evidence grid while doingthe collision test

• better: collision test should also return minimal distance to obstacles for tested path

aclesdistToObstclengthpathccd

headedPosestartPosepathscore

*.**

),,(

321

Page 16: An Extension to the Dynamic Window Approach  for arbitrarily shaped Robots

- 14 -SFB/IQN-Kolloquium 09/17/04

An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap]

Preliminary Experiments