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

Nav2 - Do something other then replan when obstacle in path

asked 2022-06-14 17:05:00 -0600

johnjamesmiller gravatar image

I want to use Nav2 on a mobile robot to pickup "hot dog" obstacles and drive around "not hot dog" obstacles. I have a image based model trained to find "hot dog" and "not hot dog". I'm seeing several ways this could be implemented with Nav2. Have you done something similar? What approach did you take?

Some options I am thinking of:

  • Behavior tree node plugin
  • Orchestration layer above Nav2 that recognizes obstacles to be picked up and cancels whatever Nav2 was trying to do, does the pickup and then starts Nav2 again with the remaining path. Higher level orchestration layer could be BT(pytrees or CPP) or FSM.
  • Have something insert waypoints near pickup obstacles and then use a waypoint task executor to execute pickup
  • Controller plugin
  • Planner plugin
  • Something else?
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2022-06-19 21:54:06 -0600

fergs gravatar image

I personally think that your second option is the best - implement higher level orchestration that uses Nav2 as an action - the other changes really appear to be various level of hacks to make Nav2 do something it really wasn't envisioned as.

It may be possible make a single behavior tree that uses both the Nav2 elements and your custom logic - but I imagine it will be far easier to implement and debug by simply having your higher-level application (even as it's own behavior tree) call the Nav2 action interface.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2022-06-14 17:05:00 -0600

Seen: 429 times

Last updated: Jun 19 '22