Robotics StackExchange | Archived questions

can I use the same planner for both global and local planner and can I have only one planner for navigation instead of using global and local planners?

I am trying to write a full coverage path planner, where the robot has to visit every free space in the costmap avoiding obstacles without any repetitions. For this I only want to have a single full coverage path planner instead of having global and local planners. Is it possible in ROS to have only one planner to navigate the robot? If it is possible what changes have to be done in move_base and other related programs?

Asked by Dharmateja Kadem on 2016-07-19 15:05:39 UTC

Comments

Answers

Hello. No. You cannot do that because the two planners have different interfaces. Global planners output a series of poses, while local planners output a Twist message, which directly tells the underlying motor control system what velocities to turn the wheels. In other words, you need something to translate a pose (position in space) to motor commands, which is the job of the local planner.

However, you can get what you want by using the "poser_follower" as your local planner. This planner is available in the "pose_follower" sub-directory of this repo:

https://github.com/MASKOR/maskor_navigation.git

The pose_follower is local planner that simply follows the global plan exactly. It will not deviate from that plan at all. This means that if there is an obstacle in your way, the robot will stop and wait for a new global plan that avoids the obstacle. Since asking for a new global plan is one of the default obstacle avoidance policies, this should work, so long as the custom global planner that you are writing will avoid new obstacles on the local cost map.

Asked by howardcochran on 2016-10-08 08:55:26 UTC

Comments