-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Eloquent Features #592
Comments
Comments:
|
Is there a better alternative? I agree this package is probably not that important. Mainly, I want to ensure we haven't broken things to prevent a package like this from working. That and I hate needing to teleop around for a while to create a map :-)
If we make the bt navigator configurable with plug-ins, then anyone can easily create plugins and customize the behavior tree however they like. I thought we had an issue for this, but couldn't find it, so I just added #942. Is this what you had in mind? Is there more you are looking for? |
#942 is on the ball. I wouldn't go the route of generic BT node plugins (for that particular recovery example, but in general, yes, having that would be stellar) because sometimes there's contextually important information that a generic API wouldnt help with, kind of similar to the different pluginlib definitions for recoveries vs planners vs controllers so that they are all passed the right stuff. For example: I imagine the recoveries in the future looking like a server that is running exposing services, and the main thread of the recovery process will create 1 TF buffer and 1 connection to the costmaps and then pass the pointers to each of the recoveries to use so that we dont have a bunch of these things being made for each individual recovery or relying on a service (!!!) to get the position of the robot at 100hz. These recoveries are defined by pluginlib plugins in a configuration file at runtime, and that name also matches the name in the behavior tree with a This buys us:
(And then we can largely start removing some of these action wrappers in the behavior tree that drives me nuts to just the basics: RecoveryWrapperAction, PlannerWrapperAction, ControllerWrapperAction, etc, and clearly add the existing recoveries) Frontier exploration? Nothing open source, and even closed source I haven't heard too many have good experiences. Typically the setup I hear from other companies: map once by hand/remotely -> generate a tree of nodes (ordered waypoints to visit, sometimes by a voronoi diagram, sometimes hand engineered, sometimes other) -> every time you remap, visit those ordered nodes to remap knowing something about the space. How frontier exploration works is just a background algorithm that is choosing positions and telling the navigation stack to go to a place, then issuing a new command. If the action API for navigation stack works so that an application can say "go here", "cancel", "preempt", "now go here" then frontier exploration-like algorithms will work just the same as a waypoint follower or more complex scheduler |
@crdelsey can this be closed because eloquent is out? I think the foxy ticket is the new reference |
Yes. |
This is a quick summary of major changes and additions we'd like to make to the navigation 2 codebase in rough priority order. This represents current plans but not commitments.
Major Features
Eloquent
Future
The text was updated successfully, but these errors were encountered: