<html><body bgcolor="#FFFFFF"><div>Excellent will check out your code the sarv. </div><div><br></div><div>This has sort of been on the backburner for past few weeks. <br><br>Sent from my iPhone</div><div><br>On 30/11/2010, at 9:43 AM, Gonçalo Cabrita <<a href="mailto:goncabrita@gmail.com">goncabrita@gmail.com</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div>Hi Eitan!<div><br><div>I'll try the params on the real Roombas first thing in the morning!</div><div><br></div><div>As far as the dwa_local_planner goes, I placed a bunch of ROS_INFO all over the code to get an idea of what was going on while the robot was moving. Turns out our xy goal tolerance was too small. Due to the Roomba's great odometry (notice the sarcasm) when the robot was turning in place to reach the goal heading it would sometimes become out of the xy goal, so it would try to reposition itself. This would lead to the robot going for a little trip in order to get back on the spot. Also, the EeePCs are so amazingly fast (sarcasm once again!) that sometimes when the robot was rotating in place to get to the goal heading we would have some glitches on the costmap update, which in turn would make amcl jump the robot a bit on the map, thus putting the robot out of xy goal.</div><div><br></div><div>Another thing I noticed with dwa_local_planner was that unlike base_local_planner, once the robot's center crosses an inflated obstacle it just stops. I didn't have much time to look into that so I just looked for missed goals and had the robots backup a bit and turn around to get them unstuck.</div><div><br></div><div>Anyways we got the Roombas moving around with dwa_local_planner for our demo. Everything went smoothly, the robots managed to move around pretty much all day with just a few minor glitches. Even when the place was crowded with people the robots had no problem localizing themselves or moving around, avoiding legs everywhere! You can find the params we used as well as the map and all the code at our repository, under the stack lse_experiments, package fctuc_open_day.</div><div><br></div><div>Finally, and since we'll be doing a lot of experiments with multiple robots, I was wondering if there is a way to let robots know each others position on the map, so they don't actually show up as obstacles. I'm guessing the nav_stack was design having only 1 robot in mind. Our biggest problem was having 2 robots too close to each other. They would see each other and update the obstacles maps, but would almost always end up bumping.</div><div><br></div><div>I'll upload some more maps to the repository as soon as possible. We used to have a map with tiny corridors, 50cm wide, only a Roomba would fit at a time. I'm pretty sure that would give the nav_stack a run for its money!</div><div><br></div><div>Gonçalo Cabrita</div><div>ISR - University of Coimbra</div><div>Portugal</div><div><br><div><div>On Nov 29, 2010, at 7:26 PM, Eitan Marder-Eppstein wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Gonçalo,<br><br><div class="gmail_quote">2010/11/19 Gonçalo Cabrita <span dir="ltr"><<a href="mailto:goncabrita@gmail.com"><a href="mailto:goncabrita@gmail.com">goncabrita@gmail.com</a></a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Eitan,<div><br></div><div>Thanks for the tip! That on-the-fly tweaking is just what I needed!!! You guys really think it all through!</div></blockquote><div><br></div><div>Glad that helped... I've found it really useful too, much better than restarting the application over and over again.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><br></div><div>I was playing with the params all afternoon and I managed to get the Roombas moving pretty well. The only problem is that when the robot reaches the goal but needs to adjust the heading, instead of turning in place it tries to make some sort of turn to come back at the goal in the proper heading. In tight places it ends getting stuck inside the inflated obstacles, where it sits very comfortably and refuses to leave. This also happens when the robot is stopped and I give it a new goal that implies a radical change of heading, instead of turning in place for starters, it just goes mental and drives away into a wall!!! Other than that I'm loving dwa_local_planner.</div>
</blockquote><div><br></div><div>This is really strange and may just be a bug in the DWA local planner... or something strange in your configuration. Can you post the configuration that you're using for the DWA local planner? I'll give it a shot in the simulation environment you sent me and see how things go.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><br></div><div>Could you please point me to the functions I could edit in dwa_local_planner to change this behavior (turning in place instead of going for the roundabout when correcting the heading at the start or end of path)?</div>
</blockquote><div><br></div><div>There's specialized code for rotating to the goal position at the end of a plan, but nothing specialized for the start. It also sounds like you aren't actually getting to the point where this specialized code is being executed. In theory, the cost function is supposed to take care of things from the start to very close to the end. Looking at your configuration may help.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><br></div><div>And we have some even more cluttered versions of our tiny Roomba arena :)</div></blockquote><div><br></div><div>If you have those in sim and want to pass them on we can put together a roomba_stage package that moves into the navigation_tutorials stack and gives people a nice way to configure a Create. </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><br></div><div>Sorry for the trouble and thanks for the help!!</div></blockquote><div><br></div><div>
No trouble, sorry it took me a bit to get back to you, Thanksgiving ya know.</div><div><br></div><div>Hope all is well,</div><div><br></div><div>Eitan</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><div><br></div><div>Gonçalo Cabrita</div><div>ISR - University of Coimbra</div>
<div>Portugal</div></div><div><div></div><div class="h5"><div><br><div class="gmail_quote">On Fri, Nov 19, 2010 at 11:57 PM, Eitan Marder-Eppstein <span dir="ltr"><<a href="mailto:eitan@willowgarage.com" target="_blank"><a href="mailto:eitan@willowgarage.com">eitan@willowgarage.com</a></a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Gonçalo,<div><br></div><div>First, off I've been able to reproduce the problem you described in the simulation you sent, but I haven't had a chance to dig too deeply yet. I'll get to that over the next couple of days. As far as the parameters you've set for your robot with the dwa_local_planner, you might be interested in using dynamic reconfigure to tune them. To do this, just "rosrun dynamic_reconfigure reconfigure_gui" and select move_base/DWAPlannerROS. (see <a href="http://www.ros.org/wiki/dynamic_reconfigure" target="_blank"><a href="http://www.ros.org/wiki/dynamic_reconfigure">http://www.ros.org/wiki/dynamic_reconfigure</a></a>) This should display the parameters that you can tweak on the fly for the local planner which, I believe, is everything but the acceleration limits.... acc_lim_x, acc_lim_y, and acc_lim_th which you should make sure to set in your launch file.</div>


<div><br></div><div>Hope this helps,</div><div><br></div><div><font color="#888888">Eitan<br></font><div><div></div><div><br><div class="gmail_quote">2010/11/19 Gonçalo Cabrita <span dir="ltr"><<a href="mailto:goncabrita@gmail.com" target="_blank"><a href="mailto:goncabrita@gmail.com">goncabrita@gmail.com</a></a>></span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Steve!<div><br></div><div>Thanks for the tip Steve, its working now!</div><div><br></div><div>I'm currently using dwa_local_planner on the roombas in our cluttered arena. Globally it seems to work better than base_local_planner. However I'm having the same problem. The robot eventually gets too close to a wall, crossing the inflated obstacles. But instead of backing up and going for the wall in an endless loop, the robot just stops. I've been playing around with the params but I'm not even sure if I'm using the right ones! I looked into the code and also ran dwa_local_planner/DWAPlannerROS with no params to take a look at what was being set automatically. I hope I'm not playing around with non-existent params :P hehehe</div>



<div><br></div><div>Could you please confirm my list of params Eitan?</div><div><br></div><div><div>base_local_planner: dwa_local_planner/DWAPlannerROS</div>
<div>controller_frequency: 5.0</div><div>DWAPlannerROS:</div><div>  holonomic_robot: false</div><div><div><br></div><div>  max_rotational_vel: 1.5</div></div><div>  max_rot_vel: 1.5</div><div>  max_trans_vel: 0.16</div>
<div>  min_rot_vel: 0.785</div>
<div>  min_trans_vel: 0.08</div><div><br></div><div>  rot_stopped_vel: 0.01</div><div>  trans_stopped_vel: 0.01</div><div>  </div><div>  max_vel_x: 0.16</div><div>  max_vel_y: 0.0</div><div>  min_vel_x: 0.08</div><div>  min_vel_y: 0.0</div>



<div><br></div><div>  xy_goal_tolerance: 0.10</div><div><div>  yaw_goal_tolerance: 0.05</div><div><br></div></div><div>  path_distance_bias: 4.0</div><div>  goal_distance_bias: 0.7</div><div>  occdist_scale: 0.10</div>
<div><br></div>
<div>  oscillation_reset_dist: 0.05</div><div>  </div><div>  prune_plan: true</div><div><br></div><div>  #forward_point_distance:</div><div>  #max_scaling_factor:</div><div>  #penalize_negative_x:</div><div>  #scaling_speed:</div>



<div><br></div><div>  #sim_granularity: 0.025 </div><div>  #sim_period:</div><div>  #sim_time: 1.0</div><div>  #vth_samples: 20</div><div>  #vx_samples: 3</div><div>  #vy_samples: 3</div><div><br></div><div>Thanks for the help!</div>


<div>
<div><br></div><div>Gonçalo Cabrita</div><div>ISR - University of Coimbra</div><div>Portugal</div><br></div><div><div></div><div><div class="gmail_quote">On Fri, Nov 19, 2010 at 3:32 PM, Steven Martin <span dir="ltr"><<a href="mailto:s34.martin@connect.qut.edu.au" target="_blank"><a href="mailto:s34.martin@connect.qut.edu.au">s34.martin@connect.qut.edu.au</a></a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF"><div>My guess is you need to increase your min turn in place parameter. I checked out creates a bit more today and I think they have same encoder setup as the roombas. Anyway basically if you set a low speed the odom reports that the create is rotating but the force is too low to overcome friction,  so it just sits in place. </div>



<div><br>Sent from my iPhone</div><div><div></div><div><div><br>On 20/11/2010, at 12:32 AM, Gonçalo Cabrita <<a href="mailto:goncabrita@gmail.com" target="_blank"><a href="mailto:goncabrita@gmail.com">goncabrita@gmail.com</a></a>> wrote:<br><br></div>
<div></div><blockquote type="cite"><div>Hi everyone!<div><br></div><div>I've been doing some more experiments on the Roombas in the lab arena, testing the nav stack on tight places. I'm currently using the following params for the planner:</div>



<div><br>
</div><div><div>controller_frequency: 5.0</div><div>TrajectoryPlannerROS:</div><div><br></div><div>  max_vel_x: 0.20</div><div>  min_vel_x: 0.10</div><div>  max_rotational_vel: 1.5</div><div>  min_in_place_rotational_vel: 0.8</div>




<div>  acc_lim_th: 0.75</div><div>  acc_lim_x: 0.50</div><div>  acc_lim_y: 0.50</div><div><br></div><div>  holonomic_robot: false</div><div><br></div><div>  yaw_goal_tolerance: 0.05</div><div>  xy_goal_tolerance: 0.05</div>




<div><br></div><div>  path_distance_bias: 1.0 #0.6</div><div>  goal_distance_bias: 0.8</div><div>  occdist_scale: 0.01</div><div>  heading_lookahead: 0.50 #0.325</div><div>  heading_scoring: false</div><div>  heading_scoring_timestep: 1.0 #0.8</div>




<div>  dwa: true</div><div><br></div><div>I'm noticing a big difference between the sim on Stage and the real thing, when the robot stops on Stage it turns in place to face the direction I set in the goal, however on the real robots when the robot reaches the goal it just stops and doesn't correct the heading, even if it stays 180 degrees from the goal heading. Any ideas on why this could be happening with the same params for sim and real robot?</div>




<div><br></div><div>Thanks,</div><div><br></div><div>Gonçalo Cabrita</div><div>ISR - University of Coimbra</div><div>Portugal</div><br><div class="gmail_quote">2010/11/19 Gonçalo Cabrita <span dir="ltr"><<a href="mailto:goncabrita@gmail.com" target="_blank"></a><a href="mailto:goncabrita@gmail.com" target="_blank"><a href="mailto:goncabrita@gmail.com">goncabrita@gmail.com</a></a>></span><br>




<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Eitan,<div><br></div><div>I've been playing around with move_base params on the simulation and I got better results by increasing path_distance_bias to 6.0</div>




<div><br></div><div>Since my planner runs really slow I also increased the heading_scoring_timestep to 1</div><div><br></div><div>Although I guess the path_distance_bias value is a bit exaggerated the robot doesn't get stuck so often since it sticks to the path. However if I set a goal too close to a wall with the robot facing it the roomba just stays there forever.</div>




<div><br></div><div>I also tried setting dwa to false to use Trajectory Rollout but it made things worst. Still I will also try that with different params.</div><div><br></div><div>When I get back to the lab in the morning I'll test these params on the real robots. Also I'll try to run them with the dwa_local_planner to see what happens.</div>




<div><br></div><div>Thanks for all the help,</div><div><div><br></div><div>Gonçalo Cabrita</div><div>ISR - University of Coimbra</div><div>Portugal</div></div><div><div></div><div><div><br><div><div>
On Nov 18, 2010, at 9:01 PM, Eitan Marder-Eppstein wrote:</div><br><blockquote type="cite">Gonçalo,<div><br></div><div>Thanks for the package, I'll take a look at things.</div><div><br></div><div>To run a different local planner, you'll want to change the plugin that move_base loads. The relevant parameters are documented here: <a href="http://www.ros.org/wiki/move_base#Parameters" target="_blank"></a><a href="http://www.ros.org/wiki/move_base#Parameters" target="_blank"><a href="http://www.ros.org/wiki/move_base#Parameters">http://www.ros.org/wiki/move_base#Parameters</a></a></div>





<div><br></div><div><a href="http://www.ros.org/wiki/move_base#Parameters" target="_blank"></a>You'll set base_local_planner to be something like dwa_local_planner/DWAPlannerROS.</div><div><br></div><div>You'll also need to make sure the dwa_local_planner library is made before running move_base as it'll be loaded at runtime.</div>





<div><br></div><div>Hope this helps,</div><div><br></div><div>Eitan<br><br><div class="gmail_quote">2010/11/18 Gonçalo Cabrita <span dir="ltr"><<a href="mailto:goncabrita@gmail.com" target="_blank"></a><a href="mailto:goncabrita@gmail.com" target="_blank"><a href="mailto:goncabrita@gmail.com">goncabrita@gmail.com</a></a>></span><br>





<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Sorry Eitan!<div><br></div><div>I should have sent everything compressed the first time! I compressed the pkg. To run it just put it on your ROS_PACKAGE_PATH, roscore, roscd roomba_stage and then open stage, launch move_base and open rviz (also sending a roomba_stage.vcg file):</div>






<div><br></div><div>rosrun stage stageros roomba_lse_arena.world</div><div>roslaunch roomba_stage move_base_lse_arena.launch</div><div><br></div><div>Just send the robot to the top right corner and it will likely stall on the wall.</div>






<div><br></div><div>Anyways I just downloaded navigation_experimental! So dwa_local_planner seems to be a lib, how should I use it to get the robot up and running with it? Just give me some quick pointers.</div><div><br>





</div>
<div>Cheers,</div><div><div><br></div><div>Gonçalo Cabrita</div><div>ISR - University of Coimbra</div><div>Portugal</div></div><div><div></div><div><div><br><div class="gmail_quote">On Thu, Nov 18, 2010 at 7:02 PM, Eitan Marder-Eppstein <span dir="ltr"><<a href="mailto:eitan@willowgarage.com" target="_blank"></a><a href="mailto:eitan@willowgarage.com" target="_blank"><a href="mailto:eitan@willowgarage.com">eitan@willowgarage.com</a></a>></span> wrote:<br>






<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Gonçalo,<div><br></div><div>It looks like you missed a file called "arena_obstalces.pgm" in what you sent which is needed by the roomba_ise_arena.world file. Is there any way you can just tar up the package you use to bring things up? Ideally this would include all the configuration files and launch files you're using to bring up stage and the navigation stack and would save a bit of grief in me recreating the same package on my end.</div>







<div><br></div><div>Thanks a bunch,</div><div><div></div><div><div><br></div><div>Eitan</div><div><br><div class="gmail_quote">2010/11/18 Gonçalo Cabrita <span dir="ltr"><<a href="mailto:goncabrita@gmail.com" target="_blank"></a><a href="mailto:goncabrita@gmail.com" target="_blank"><a href="mailto:goncabrita@gmail.com">goncabrita@gmail.com</a></a>></span><br>







<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Eitan!<div><br></div><div>Thanks for your reply.</div><div><br></div><div>I'm attaching the files needed to run the sim on Stage. It is the same setup we have on the real arena right now, and the results on the real robot are pretty similar to the simulation.</div>








<div><br></div><div>I'll most definitely take a look at the experimental nav stack. I'd like to try the <span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse">dwa_local_planner on the roomba to see what happens! I'll be posting some feedback and most likely a bunch of questions!</span></div>







<div>
<div><br></div><div>Gonçalo Cabrita</div><div>ISR - University of Coimbra</div></div><div>Portugal<div><div></div><div><br><br><div class="gmail_quote">On Thu, Nov 18, 2010 at 5:54 PM, Eitan Marder-Eppstein <span dir="ltr"><<a href="mailto:eitan@willowgarage.com" target="_blank"></a><a href="mailto:eitan@willowgarage.com" target="_blank"><a href="mailto:eitan@willowgarage.com">eitan@willowgarage.com</a></a>></span> wrote:<br>








<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey guys,<div><br></div><div>So, to join in the discussion. From the video, it looks like the base_local_planner gets stuck in a local minimum with the parameters configured as they are. Is there any way that you can post the package used to create that video so that I can play around a little bit? I've wanted to have a case in simulation where a diff drive robot behaves badly and it seems like this is a simple one that could help me track down some issues the navigation stack has with diff drive robots. With that said, its true that no one local planner is going to fit all robots. </div>









<div><br></div><div>We've started development of some other local planners in the navigation_experimental stack that might also be worth checking out. One is called dwa_local_planner and is a much cleaner version of the base_local_planner that includes things like scaling the robot's footprint based on speed, allowing for holonomic robots to explore more of the y velocity space, and exposing parameters via dynamic reconfigure to make tuning them a lot easier... we're testing it on the PR2 right now, not sure how it'll work on a diff-drive robot. There's also the pose_follower which attempts to follow a plan exactly, stopping in the presence of obstacles. This also hasn't been tested on diff-drive robots and I'd expect it could use a few tweaks to really work well, but it might be something to look at. One thing to keep in mind with all this, however, is that the packages in navigation_experimental are, well, experimental, so you're likely to run into some issues from time to time, there are no guarantees about API stability yet, and documentation isn't great.</div>









<div><br></div><div>Hope all is well and please do post the simulation package as I'd love to take a look at things,</div><div><br></div><div>Eitan<br><br><div class="gmail_quote">2010/11/18 Gonçalo Cabrita <span dir="ltr"><<a href="mailto:goncabrita@gmail.com" target="_blank"></a><a href="mailto:goncabrita@gmail.com" target="_blank"><a href="mailto:goncabrita@gmail.com">goncabrita@gmail.com</a></a>></span><div>








<div></div><div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">We've been a bit busy porting everything that moves around here to ROS! We'll update our repository in the next week with everything we've got!<div>









<br></div><div>I'm attaching the param files we use for the roombas.</div>
<div><br></div><div>I'm surprised the creates don't have decent odometry since they were design for research. We have considered using cheap webcams with visual odometry to replace the roomba's odometry, but I haven't had time to look into it. If my memory serves me when we opened a roomba we found a hall sensor with 4 magnets tied to the motor shaft. So I'm guessing direction is determined by the motor speed. And that why when you push the roomba the odometry doesn't count back!</div>










<div><br></div><div>I'm really interested in solving this matter. If the problem really is from the nav stack we're in big trouble since everything here is diff drive! We have roombas, erratics and scouts!</div><div>









<div>
<br></div><div>Gonçalo Cabrita</div><div>ISR - University of Coimbra</div></div><div>Portugal<div><div></div><div><br><br><div class="gmail_quote">On Thu, Nov 18, 2010 at 3:45 PM, Steven Martin <span dir="ltr"><<a href="mailto:s34.martin@connect.qut.edu.au" target="_blank"></a><a href="mailto:s34.martin@connect.qut.edu.au" target="_blank"><a href="mailto:s34.martin@connect.qut.edu.au">s34.martin@connect.qut.edu.au</a></a>></span> wrote:<br>










<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div>
<div style="direction:ltr;font-family:Tahoma;color:rgb(0, 0, 0);font-size:13px">
<div>Yeh I think my problem is related to odometry, the iCreates don't have any encoders. I thought they did but after looking closer at the driver I am pretty sure its just openloop. Do you have the parameters for amcl in your repository? I had a
 look but couldn't see them anywhere.<br>
<br>
I have the code for the pursuit path follower checked in @ <a href="http://launchpad.net/cmr" target="_blank"></a><a href="http://launchpad.net/cmr" target="_blank"><a href="http://launchpad.net/cmr">launchpad.net/cmr</a></a> but its very incomplete. It will compile, you can launch it and it will try and follow a path but it doesn't have any obstacle avoidance and I think I have one of my signs wrong in
 the code as it  didn't appear to do much following  from the very limited testing I have done.
<br>
<br>
Have a look, its basically as stripped down as I could make a local path planner while still fitting in the ROS framework. Also due to the pretty well useless iCreate odometry I chose to implement this in the global frame and this may have some adverse affects
 if you are only running localiser @ 3Hz. <br>
<br>
I will probably have time to look at this next week but I think this is a problem for anybody using nonholonomic robots with the Nav Stack so I would be surprised if someone else hasn't already got a better solution.
<br>
<br>
Steve<br>
<br>
</div>
<div style="font-family:Times New Roman;color:rgb(0, 0, 0);font-size:16px">
<hr>
<div style="direction:ltr"><font color="#000000" face="Tahoma" size="2"><div><b>From:</b> <a href="mailto:ros-users-bounces@code.ros.org" target="_blank"></a><a href="mailto:ros-users-bounces@code.ros.org" target="_blank"><a href="mailto:ros-users-bounces@code.ros.org">ros-users-bounces@code.ros.org</a></a> [<a href="mailto:ros-users-bounces@code.ros.org" target="_blank"></a><a href="mailto:ros-users-bounces@code.ros.org" target="_blank"><a href="mailto:ros-users-bounces@code.ros.org">ros-users-bounces@code.ros.org</a></a>] on behalf of Gonçalo Cabrita [<a href="mailto:goncabrita@gmail.com" target="_blank"></a><a href="mailto:goncabrita@gmail.com" target="_blank"><a href="mailto:goncabrita@gmail.com">goncabrita@gmail.com</a></a>]<br>











</div><b>Sent:</b> Friday, 19 November 2010 12:52 AM<br>
<b>To:</b> User discussions<br>
<b>Subject:</b> Re: [ros-users] Navigation Stack on tight places<br>
</font><br>
</div><div><div></div><div>
<div></div>
<div>Hi Steven!
<div><br>
</div>
<div>"<span style="font-family:Tahoma;font-size:13px">ts not a failure case but do you also see the one where it turns a little bit away from the path then does loop around to rejoin it.?"</span></div>
<div><font face="Tahoma"><br>
</font></div>
<div><font face="Tahoma">You we also get that a lot! The robot never sticks to the path the planner outputs, it wonders around a lot.</font></div>
<div><font face="Tahoma"><br>
</font></div>
<div><font face="Tahoma">We are using Roombas 560 with Eee PCs and Hokuyo lasers. We launch the Roomba the laser and the tf broadcaster on one file and map server, amcl and move base on another one. We have the map updaters running
 at 3Hz and the path planner at 5Hz. Still sometimes the EeePC skips a loop! Furthermore, I dunno how the Create is but our Roombas have nasty odometry! The encoders have only 1 channel with 4 pulses per motor turn!</font></div>











<div><font face="Tahoma"><br>
</font></div>
<div><font face="Tahoma">Anyways, I'm not familiar with the nav stack code, but I would like to help if possible!</font></div>
<div><font face="Tahoma"><br>
</font></div>
<div><font face="Tahoma">Gonçalo Cabrita</font></div>
<div><font face="Tahoma">ISR - University of Coimbra</font></div>
<div><font face="Tahoma">Portugal</font></div>
<div><br>
<div class="gmail_quote">On Thu, Nov 18, 2010 at 2:35 PM, Steven Martin <span dir="ltr">
<<a href="mailto:s34.martin@connect.qut.edu.au" target="_blank"></a><a href="mailto:s34.martin@connect.qut.edu.au" target="_blank"><a href="mailto:s34.martin@connect.qut.edu.au">s34.martin@connect.qut.edu.au</a></a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div>
<div style="direction:ltr;font-family:Tahoma;color:rgb(0, 0, 0);font-size:13px">
<div>Yep see that one all the time. I think the implementation of DWA is flawed for tank steer robots. 
<br>
<br>
Its not a failure case but do you also see the one where it turns a little bit away from the path then does loop around to rejoin it.?<br>
<br>
I started implementing just pure pursuit path follower to replace DWA but haven't quite got it working and been too busy with other stuff. I think we need to implement some other local planners or just path followers.
<br>
<br>
Also what are you using for the localization? I haven't been able to get AMCL to work reliably on the iCreates.
<br>
</div>
<div style="font-family:Times New Roman;color:rgb(0, 0, 0);font-size:16px">
<hr>
<div style="direction:ltr"><font color="#000000" face="Tahoma" size="2"><b>From:</b>
<a href="mailto:ros-users-bounces@code.ros.org" target="_blank"></a><a href="mailto:ros-users-bounces@code.ros.org" target="_blank"><a href="mailto:ros-users-bounces@code.ros.org">ros-users-bounces@code.ros.org</a></a> [<a href="mailto:ros-users-bounces@code.ros.org" target="_blank"></a><a href="mailto:ros-users-bounces@code.ros.org" target="_blank"><a href="mailto:ros-users-bounces@code.ros.org">ros-users-bounces@code.ros.org</a></a>] on behalf of Gonçalo Cabrita [<a href="mailto:goncabrita@gmail.com" target="_blank"></a><a href="mailto:goncabrita@gmail.com" target="_blank"><a href="mailto:goncabrita@gmail.com">goncabrita@gmail.com</a></a>]<br>











<b>Sent:</b> Thursday, 18 November 2010 11:51 PM<br>
<b>To:</b> <a href="mailto:ros-users@code.ros.org" target="_blank"></a><a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>
<b>Subject:</b> [ros-users] Navigation Stack on tight places<br>
</font><br>
</div>
<div>
<div></div>
<div>
<div></div>
<div>Hi everyone!
<div><br>
</div>
<div>We've been using the nav stack on our Roombas for quite a while now, mostly on the corridors of ISR without any problems.</div>
<div><br>
</div>
<div>However we have a small 4mx3m arena we built specifically for testing odor search algorithms in which we recently started to run some experiments. We quickly found out that the nav stack has some problems moving the robot around in tight places. Quite
 often we get the behavior that can be seen in the following video...</div>
<div><br>
</div>
<div><a href="http://www.youtube.com/watch?v=vy9xoNvmktg" target="_blank"></a><a href="http://www.youtube.com/watch?v=vy9xoNvmktg" target="_blank"><a href="http://www.youtube.com/watch?v=vy9xoNvmktg">http://www.youtube.com/watch?v=vy9xoNvmktg</a></a></div>
<div><br>
</div>
<div>In the video we are running a Roomba inside our arena in Stage with perfect odometry. The robot stalls against a wall and stays there for 30mins until we stop it. On occasion the robot eventually gets out after a while.</div>











<div><br>
</div>
<div>At first I thought this could be happening because of the poor performance of the EeePCs the Roombas carry around or because of the Roomba's crappy odometry, but in Stage on a Core2Duo laptop we were able to see the same behavior.</div>











<div><br>
</div>
<div>Has anyone experienced this behavior before?</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank"></a><a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"></a><a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div></div></div>
</div>
</div>

<br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank"></a><a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"></a><a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a><br>
<br></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank"></a><a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"></a><a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a><br>
<br></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank"></a><a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"></a><a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a><br>
<br></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank"></a><a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"></a><a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank"></a><a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"></a><a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank"></a><a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"></a><a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a><br>
<br></blockquote></div><br></div>
_______________________________________________<br>ros-users mailing list<br><a href="mailto:ros-users@code.ros.org" target="_blank"></a><a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>



<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"></a><a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a><br>
</blockquote></div><br></div></div></div></div></blockquote></div><br></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>ros-users mailing list</span><br><span><a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a></span><br>



<span><a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a></span><br></div></blockquote></div></div></div><br>_______________________________________________<br>




ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a><br>
<br></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a><br>
<br></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank"><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></a><br>
<br></blockquote></div><br>
_______________________________________________<br>ros-users mailing list<br><a href="mailto:ros-users@code.ros.org"><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></a><br><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a><br></blockquote></div><br></div></div></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>ros-users mailing list</span><br><span><a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a></span><br><span><a href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a></span><br></div></blockquote></body></html>