Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Porting dlux_global_planner to ROS 2 Dashing #45

Open
sloretz opened this issue May 22, 2019 · 2 comments
Open

Porting dlux_global_planner to ROS 2 Dashing #45

sloretz opened this issue May 22, 2019 · 2 comments

Comments

@sloretz
Copy link

sloretz commented May 22, 2019

I'm looking into what it would take to port dlux_global_planner to ROS 2 Dashing. Hopefully you don't mind if I ask a few questions.

  • Is someone already working on this?
    • If yes and they stopped, is their progress available to start from?
  • What needs to be ported before dlux_global_planner?
    • It looks like: nav_core2, nav_grid, dlux_plugins, global_planner_tests, nav_grid_iterators, nav_grid_pub_sub
      • Are any of these already ported?
  • How much of nav_core2 overlaps with nav2_tasks?
    • Should a ROS 2 port of dlux_global_planner use nav_core2::GlobalPlanner or nav2_tasks::ComputePathToPose...?
  • Where should ports of these packages live?
    • ros2 branch on this repo?
    • ros-planning/navigation2?
  • Anything else I should know or questions I should have asked?
@orduno
Copy link

orduno commented Jun 19, 2019

Should a ROS 2 port of dlux_global_planner use nav_core2::GlobalPlanner or nav2_tasks::ComputePathToPose...?

@sloretz Nav2 interfaces with planning and control through ROS2 actions. Dlux would need an action service for nav2_msgs::action::ComputePathToPose. Since we are using behavior trees (BT), nav2_tasks::ComputePathToPose defines a BT action node for getting a plan from an action call.

A few random things to consider:

  • Lifecycle enabled. Design changes needed (if any at all) to make it LIfecycle friendly, and have that in mind during porting process.
  • World representation. Nav2 attempts to separate world representation from the planners and controllers. Currently, nav2::navfn_planner gets the costmap from a service call to nav2::WorldModel.
  • Costmaps. We ported a version of @DLu's costmap package about a year ago, and I don't think we have kept up with updates and have probably diverged a bit.
  • Compatibility with Locomotor. If there are plans to port Locomotor to ROS2, Dlux Planner should be compatible with both.

@ghost
Copy link

ghost commented Jun 19, 2019

Where should ports of these packages live?

@sloretz I'll leave that up to you and @DLu. If you decide you want to put this in navigation2, we'd be happy to add it and will support you as much as possible. My desire is to integrate this and navigation2 as much as possible, and where not possible, make it easy to swap back and forth between them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants