Ask Your Question
0

AMCL Time-based updating

asked 2019-03-08 15:31:08 -0500

Hi,

I am using an Rover Robotics OpenRover to run AMCL on a robot and I see that AMCL updates once it has moved a certain distance. When the robot is not moving it doesn't update. I want to configure it to update while not moving. Is it possible to set a time based update interval instead of distance, that way the robot tries to improve is position while not moving?

Higher-level question, why don't I see people doing this in any tutorial. It seems like an obvious thing to do.

Regards, Nick Fragale

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2019-03-13 20:38:07 -0500

billy gravatar image

AMCL has a service for updating on command.

request_nomotion_update (std_srvs/Empty)

Service to manually perform update and publish updated particles.

So setup a timer and request the service periodically.

edit flag offensive delete link more

Comments

That's not what services are meant for and a pretty heavy operation to build and tear down the XMLRPC at any rate > 1hz

stevemacenski gravatar imagestevemacenski ( 2019-03-14 12:30:37 -0500 )edit
0

answered 2019-03-08 20:18:08 -0500

Not out of the box, but if you read the AMCL code, I think you'll find it pretty simple to change those criteria.

Why _not_ do it? Imagine your robot is just hanging out for a few hours, scan matcher and the lasers aren't perfect, you'll end up drifiting in place while staying still I imagine. Also, if you're running a robot at let's say conservatively 0.5m/s, you're probably going to trigger your AMCL config once a second typically (more or less, I'm just looking at defaults). Do you really want to run this more than once a second?

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2019-03-08 15:31:08 -0500

Seen: 143 times

Last updated: Mar 13