0
$\begingroup$

Rosanswers logo

Hi, I am using gmapping in a hallway 100 feet long and 8 feet wide. There is an alcove for elevators on one side in the middle of the hallway. I am using a URG-04LX laser scanner.

Each time I build a map, there is a bend that occurs at one end of the alcove. The hallway is mapped pretty straight except for the area where the bend occurs. Interestingly, the bend occurs at the same end of the alcove regardless of which end of the hallway the robot begins its mapping run.

I have plotted my odometry, x,y,and theta, and they are quite straight for the entire length of the hallway. I have played with srr,srt,str and stt; reducing them to zero makes the turn a little more abrupt, doubling the terms from the default values has little effect.

Of course the map should work pretty well for navigation, but the bend is annoying since my odometry is very good. Any suggestions will be appreciated.

Alex

image description


Originally posted by Alex Brown on ROS Answers with karma: 176 on 2011-07-07

Post score: 0


Original comments

Comment by Brian Gerkey on 2011-07-07:
Do you get better results if you traverse the hallway twice (once in each direction) during the mapping run?

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Can you have a look at the laser data at the specific location. 8 ft is not that far from the URG's max range, perhaps there is very little data to match properly and the map you are getting is good (matching wise).

Otherwise you can play around with (at the cost of computation time):

  • iterations (more)
  • linearUpdate/angularUpdate (decrease)
  • particles (more)

Originally posted by dornhege with karma: 31395 on 2011-07-07

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by dornhege on 2011-07-08:
If you want to trick/cheat the environment for the algorithm: Put something that is not aligned with the corridor, 90deg at best.

Comment by Alex Brown on 2011-07-08:
Well, I varied each suggested parameter to 50% and 200% of the default values while processing a bag file. The results varied from no appreciable difference to a bit worse bend (maybe 25% more). Tomorrow, I can run the bot in the same hallway and will try it with the door closed and perhaps using a sheet of cardboard to extend the wall so that the laser doesn't see the alcove. Thanks for your help. I'll let you know what happens.

Comment by dornhege on 2011-07-08:
I don't think you were out of the maxrange, but maybe there was no clear data to match at that point. The bend seems to be at a point where the lower site has no ranges.

Comment by Brian Gerkey on 2011-07-07:
You might also try increasing ~lsigma, which is the standard deviation in the laser model.

Comment by Brian Gerkey on 2011-07-07:
linearUpdate and angularUpdate determine how far the robot must have translated or rotated before a filter update is performed; units are meters and radians, respectively. Decreasing them will take account of laser data more often.

Comment by Alex Brown on 2011-07-07:
Brian, the data shown is the result of making a round trip from one end of the hall and back. The map looks like this after going down the hall one way and doesn't change appreciably on the way back. To Dornhege, it was only about 6 feet from the center of the hall, where I drove the robot, to the farthest wall; so I don't think it was out of range. I'll try looking at your other suggestions. I'm not sure what parameters are for the "updates".

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.