170 likes | 206 Views
Explore the Dynamic Window Approach for differently shaped robots, covering implementation issues, trajectory computing, and velocity profiling. Learn about collision tables, algorithm refinements, and optimal path computation. Dive into the world of arbirtarily shaped robots with this comprehensive guide.
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 -