ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

robot doesn t start moving

asked 2018-06-20 17:30:53 -0500

Momo gravatar image

updated 2018-12-18 13:27:18 -0500

jayess gravatar image

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

edit retag flag offensive close merge delete



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.

stevejp gravatar image stevejp  ( 2018-06-20 19:28:03 -0500 )edit

i am using an arduino mega as Peter Chau did in his work 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

Momo gravatar image Momo  ( 2018-06-21 09:49:11 -0500 )edit

1 thing to check: make sure the keyboard teleop is OFF when sending the goal. Kill the node. Otherwise their commands will conflict.

Arif Rahman gravatar image Arif Rahman  ( 2018-06-21 22:45:00 -0500 )edit

I have the same error but I used gazebo simulation, so how can I solve this?

nunuwin gravatar image nunuwin  ( 2019-06-30 06:21:05 -0500 )edit

Hi did you solve the problem? I am currently getting stuck on the same issue!

Xiyu Chen gravatar image Xiyu Chen  ( 2020-09-02 12:45:14 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2018-12-18 13:41:47 -0500

jayess gravatar image

updated 2018-12-18 14:56:27 -0500

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.

edit flag offensive delete link more

answered 2018-12-18 10:19:58 -0500

tungngo gravatar image

You can not give the robot a new plan while running keyboard teleop because the velocity messages from keyboard teleop are sent to the move_base node continuously and they have the higher priority than the messages from navigation stack. Read this topic about the Kobuki's Control System and you will know why.

edit flag offensive delete link more



This isn't necessarily true. If you look at the components section, you'll see that it includes a multiplexer.

jayess gravatar image jayess  ( 2018-12-18 13:45:12 -0500 )edit

Question Tools



Asked: 2018-06-20 17:30:53 -0500

Seen: 2,088 times

Last updated: Jun 30 '19