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

How to let a robot stop and wait with global planner plugin?

asked 2023-01-12 05:02:30 -0600

Anne gravatar image

updated 2023-01-16 01:35:29 -0600

Hello :) i wrote my own global path planner as a plugin in ROS like in (http://wiki.ros.org/navigation/Tutori...) I want to let the robot stop and wait till a moving obstacle is out of way so i put some same poses in the plan but the robot is moving without waiting. Can someone help me?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2023-01-13 20:16:39 -0600

Mike Scheutzow gravatar image

updated 2023-01-17 07:42:07 -0600

The behavior you describe is not supported by the basic planners included in ros-navigation. You should investigate the difference between a Global Planner and a Local Planner.

The simplest way to accomplish what you describe with standard move_base would be to break the task into two steps: First navigate to Goal1. Then when you are ready, navigate to Goal2.

Update: Your test case is very artificial - in the real world, it's highly unlikely you can predict the exact future time that a robot will encounter an obstacle. For safety reasons, your robot should pause any time an obstacle blocks the robot's path. So one solution is to look for a way to implement this behavior.

edit flag offensive delete link more

Comments

Thanks for your answer. I'm beginner with ROS and have to work with a ROS project which is created by other beginners with ROS so this project is a huge mess.

I get it with the two goals. My problem now is how to do it because the makePlan function of my global planner plugin is only called once. Do I have to set up my own local planner or where should I start?

Anne gravatar image Anne  ( 2023-01-16 02:31:45 -0600 )edit

I updated my answer.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2023-01-17 07:42:26 -0600 )edit

We are researching in the area of predicting the movement of workers in production halls and have built a framework to predict it using various algorithms. To test our work, we have built our own Global Planner plugin in ROS, which plans the robot's path around the worker if possible. However, in rare cases, there is no other path and the robot is supposed to drive slowly behind the human or stop at a suitable place and continue driving when the worker is far enough away. For safety reasons, we do not want to design our own local planner, because your described behavior that the robot should stop at an obstacle should still be guaranteed if the movement was not predicted correctly. My task now is to implement the described case that the robot drives slower behind the worker or stops if there is no way around the worker ...(more)

Anne gravatar image Anne  ( 2023-01-19 07:46:52 -0600 )edit

Assuming the humans show up on the local costmap, DWA Planner already has this behavior. There is both a wiki page and an algorithm paper for DWA: please read them.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2023-01-21 09:15:15 -0600 )edit

And how can I let the human show up on local costmap? The trajectory of the human is calculated in a different framework?

Anne gravatar image Anne  ( 2023-01-24 03:50:56 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2023-01-12 05:02:30 -0600

Seen: 186 times

Last updated: Jan 17 '23