AMCL Localization in ROS2 Humble

Hi, did anyone succeed in calling the requestNoMotionUpdate service from the amcl node to run automatically? (I mean, not call it from terminal myself, but so it is called programatically whenever the robot does not move, given a period of time). Thank you!

Hi @jindecasa ,

Welcome to this Community!

Does your question pertain to any of the courses in this website or an external request?
Could you explain what you are trying to do (and) why you want to do that?
That way you can get help faster.


Hi Girishkumar,

Thank you for your response. I did not see any courses on the amcl with ROS Humble. I would like to tune parameters for the amcl so it is more exact when it comes to localization. Assuming my odometry is in order, I would like to know what is the best way to tune amcl parameters. Also I looked in the code for the amcl and there is no piece of code that calls the service noMotionUpdate. I managed to call this service from rqt but I do not know what is the best practice to call this service programatically. For example wher in the behaviour tree should it be called or something like that. Thnk you in advance.

Hi @jindecasa ,

What I believe, would be by modifying the amcl ros parameters that you use in a yaml config file.
You can get all the amcl related parameters here: AMCL — Navigation 2 1.0.0 documentation

Regarding the noMotionUpdate, I am not sure if I can help you with that topic, since I do not know about this as of now. Perhaps someone from TheConstruct team can help you.


Hello @jindecasa ,

I would like to recommend Unit 5 “Particle Filters” in the Kalman Filters course. In that Unit you can gain an understanding of many of ROS AMCL’s configuration options.



This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.