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

Revision history [back]

click to hide/show revision 1
initial version

After testing some more, I realized that no cmd_vel were being published during the path planning. Looking into hector_exploration controller I realized that ros::timer doesn't multithread by default and that's why the publishing of cmd_vel was interrupted by the call to the hector_exploration_node. In place of ros::spin(), I used MultiThreadSpinner() to open 2 threads and allow for the timers to run simultaneously. This answers the question as to why the service was interrupting the movement. However, I don't recommend this workaround because the planner node is rather slow in generating a path and it is based on the position of the robot at the instance of the call. Because pose_follower follows a specific line of poses, the robot will return to the beginning of the path, losing all the progress done during the path planning, so far the best way I can think for this to work is using the workaround that I mentioned in the question.