Hi Mike,<div><br></div><div>I'm also working on driving a wheelchair with the nav stack (or at least, a robot built on top of a powerwheelchair base), so we probably have had similar experiences. See replies inline.<br>
<br><div class="gmail_quote">On Thu, Nov 18, 2010 at 5:15 PM, Michael Sands <span dir="ltr"><<a href="mailto:m.sands.vader@gmail.com">m.sands.vader@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
All,<br><br>I'm working on driving a wheelchair with the navigation stack. When using the base local planner I've noticed that the path between two waypoints is not straight even if there are no obstacles between them.</blockquote>
<div><br></div><div>Is this the path output by the global planner (NavFn) or what base_local_planner ends up telling the base to do while following a straight line path? If you can put together a simulation of the entire nav_stack and environment in Stage, it may help us to find a good set of parameters or fix any bugs you have uncovered.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> Also, the robot oscillates around the path, even with the path_distance_bias set very high and doesn't settle and follow the path. We are not moving very quickly and I figure I must be doing something wrong. Anyone have any ideas?<br>
</blockquote><div><br></div><div>So, whenever I've played with the bias terms on the base_local_planner, I've always seen an interdependence between the path_distance_bias and goal_distance_bias terms in order to get the behavior I wanted. There are two extremes: </div>
<div><ul><li>path_distance_bias >>> goal_distance_bias makes for a robot that basically sits on the path and never wants to leave it - easiest way to not leave the path is to basically do nothing or just rotate in place.</li>
<li>goal_distance_bias >>> path_distance_bias makes for a robot that heads directly toward the goal, more or less ignoring the planned path</li></ul><div>In my experience, path_distance_bias = 5 and goal_distance_bias = 0.1 is squarely in the first case, so I'm not really surprised by the oscillation you are seeing around the path with little to no movement towards the goal. Try increasing your goal_distance_bias and see if that helps.</div>
</div><div><br></div><div>Looking at my config files, looks like we've been running with the following bias terms:</div><div><span class="Apple-style-span" style="font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-size: 12px; line-height: 16px; white-space: pre; "><span class="l-Scalar-Plain" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">path_distance_bias</span><span class="p-Indicator" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">:</span> <span class="l-Scalar-Plain" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">5.0</span></span></div>
<div><span class="Apple-style-span" style="font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-size: 12px; line-height: 16px; white-space: pre; "><span class="l-Scalar-Plain" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; "></span></span><span class="Apple-style-span" style="font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-size: 12px; line-height: 16px; white-space: pre; "><span class="l-Scalar-Plain" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">goal_distance_bias</span><span class="p-Indicator" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">:</span> <span class="l-Scalar-Plain" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">0.8</span></span></div>
<div><span class="Apple-style-span" style="font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-size: 12px; line-height: 16px; white-space: pre; "><span class="l-Scalar-Plain" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; "></span></span><span class="Apple-style-span" style="font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-size: 12px; line-height: 16px; white-space: pre; "><span class="l-Scalar-Plain" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">occdist_scale</span><span class="p-Indicator" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">:</span> <span class="l-Scalar-Plain" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; ">0.05</span></span></div>
<div> </div><div><meta http-equiv="content-type" content="text/html; charset=utf-8">These were setup to try to get the base to precisely follow a path through a narrow doorway and it got partially through most of the time. They are also currently being used for a robotic tour guide under development (again on a wheelchair base) and we've had pretty good results.</div>
<div><br></div><div>Hope that helps.</div><div><br></div><div>- Eric</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>I'm using C-turtle<br><br>base_local_planner_parameters.yaml:<br>TrajectoryPlannerROS:<br>  max_vel_x: 0.45<br>  min_vel_x: 0.2<br>  max_rotational_vel: 0.6<br>  min_in_place_rotational_vel: 0.1<br>  backup_vel: -0.4<br>

<br>  acc_lim_th: 0.5<br>  acc_lim_x: 0.3<br>  acc_lim_y: 2.5<br><br>  holonomic_robot: false<br><br>  yaw_goal_tolerance: 7.0<br>  xy_goal_tolerance: 0.8<br>  path_distance_bias: 5.0<br>  goal_distance_bias: 0.1<br>  heading_lookahead: 1.0<br>

  heading_scoring: false<br>  dwa: false<br>  oscillation_reset_dist: 0.05<br><br>  sim_time: 3.0<br>  vx_samples: 3<br>  vtheta_samples: 40<br><br>Thanks for your help,<br><br>Mike Sands<br>
<br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
<br></blockquote></div><br></div>