Rosanswers logo

I have setup navigation stack on my robot with all the nodes up and running (move_base, amcl , costmap2d etc.). I am also able to move my robot using teleoperation (keyboard control) and see its motion in Rviz as well. Now, I have created a map using gmapping and loaded it with amcl and when I give 2D NavGoal command from Rviz, the robot does not move. It shows the planned path in Rviz but does not move. In the terminal, it prints 'Got new plan' many times and at the end prints 'Rotate Recovery behavior started'. And after that, nothing happens. Any ideas why the robot is not moving. Thanks

Originally posted by Momo on ROS Answers with karma: 1 on 2018-06-20

Post score: 0

Original comments

Comment by stevejp on 2018-06-20:
This type of problem is really difficult to help with as there are a ton of different things that could be happening, and we don't know your entire setup (simulated?). My general advice, however, is to start out with a minimal setup, and add complexity as you verify functionality.

Comment by Momo on 2018-06-21:
i am using an arduino mega as Peter Chau did in his work http://labone.tech/chefbot-buildlog/ but with different encoders B83609 .i am using same IMU(MPU6050,) kinect,and L298N i suppose the problem is coming from the interruptions and timers(timer1 and timer3) of the encoders

Comment by Arif Rahman on 2018-06-21:
1 thing to check: make sure the keyboard teleop is OFF when sending the goal. Kill the node. Otherwise their commands will conflict.

Comment by nunuwin on 2019-06-30:
I have the same error but I used gazebo simulation, so how can I solve this?

Comment by Xiyu Chen on 2020-09-02:
Hi did you solve the problem? I am currently getting stuck on the same issue!


1 Answer 1


Rosanswers logo

Take a look into using a multiplexer (for example the yocs_cmd_vel_mux package) as it seems that the messages that the teleoperation and move_base nodes are publishing may be conflicting with each other. What ends up happening (at least from what I've seen) is that multiple nodes publishing cmd_vel messages at the same time on the same topic will cause poor behavior such as jittering or, as you've seen, the robot not moving (probably due to one node publishing empty cmd_vel messages).

By using a multiplexer, you can prioritize the cmd_vel messages so that you can use both nodes at the same time. From what I recall, the way that this works is that each node publishes on its own topic and the multiplexer will republish from those topics onto the topic that is used to control your robot. If both topics have messages being published on them, then the topic that has a higher priority will only be sent to your robot's topic.

Originally posted by jayess with karma: 6155 on 2018-12-18

This answer was ACCEPTED on the original site

Post score: 2


Your Answer

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