160 likes | 382 Views
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.
E N D
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 • 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 -
Meyra Champ wheelchair • omnidirectional camera system • controlling laptop connected via single usb cable • emergency stop button • 2 laser range finder • 2 incremental encoders An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] • Rolland: hardware platform SFB/IQN-Kolloquium 09/17/04 - 1 -
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Motivation decision points voronoi edges 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 -
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 -
current pose computed arc headed pose current pose collision computed arc current pose computed arc2 computed arc1 An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] DWA & the problem with non circular shaped robots SFB/IQN-Kolloquium 09/17/04 - 4 -
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Curve Segments Table SFB/IQN-Kolloquium 09/17/04 - 5 -
arclength (t) 0 ... arclength (t) arclength (t) 0 0 ... ... occupied cells ({(x1,y1),...,(xn,yn)}) {(-1,1),(-1,-1),(1,1),(1,-1),(2,1),(2,-1)} ... offset between occupied cells ({(x1,y1),...,(xn,yn)}) occupied cells ({(x1,y1),...,(xn,yn)}) {(0,-1),(1,0),(0,1),(1,0),(0,-1),(1,-1), (0,1),(1,0),(0,-1)} {(-1,1),(-1,-1),(1,1),(1,-1),(2,1),(2,-1), (3,-1),(3,-2),(4,-1),(4,-2)} ... ... t=8 t=7 t=6 t=5 t=4 t=3 t=2 t=1 t=0 An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Collision Table SFB/IQN-Kolloquium 09/17/04 - 6 -
Precompute and store only paths whose first pose has zero heading. Test-for-Collision-Operation has to rotate CT-entries. Curve Segments Table Collision Table Precompute additional table which holds rotated offsets between occupied cells. An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Algorithmic Refinements 1 Goal: reduce Size of SFB/IQN-Kolloquium 09/17/04 - 7 -
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Score Function startPose headedPose path goalPose SFB/IQN-Kolloquium 09/17/04 - 8 -
Algorithm (basic idea) Local Evidence Grid, Odometry Pose,Goal Pose Curve Segments Table Collision Table An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Computing the Optimal Path Input SFB/IQN-Kolloquium 09/17/04 - 9 -
Algorithm (with constant arc2.length) Algorithm (basic idea) arc1.curvature, arc1.length, arc1.direction do arc2.curvature, arc2.length, arc2.direction do arc2.curvature, arc2.direction do set arc2.length = MAX_arc2.length arc1.curvature, arc1.length, arc1.direction do • construct path • test for collision and prune if necessary • calc score • if (path.score < bestPath.score) set bestPath = path • construct path • test for collision and prune if necessary • minimise path.score • if (path.score < bestPath.score) set bestPath = path 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 SFB/IQN-Kolloquium 09/17/04 - 10 -
potential goalPose arc2 do • calc score • store goalPose with minimal score pose arc2 do • calc score with goalPose = pose • store goalPose with minimal score An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Algorithmic Refinements 3 Algorithm (witch constant arc2.length) minimise path.score SFB/IQN-Kolloquium 09/17/04 - 11 -
Algorithm FOR EVERY DO: COMPUTE MAXIMUM velocity FOR WHICH HOLDS: FOR EVERY DO: INCORPORATE LONGITUDINAL ACCELERATION LIMIT : 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 SFB/IQN-Kolloquium 09/17/04 - 12 -
better: collision test should also return minimal distance to obstacles for tested path 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 SFB/IQN-Kolloquium 09/17/04 - 13 -
An Extension to the Dynamic Window Approach for arbitrarily shaped Robots. A1[RoboMap] Preliminary Experiments SFB/IQN-Kolloquium 09/17/04 - 14 -