-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Create nav2 dynamic composition #2147
Comments
So ideally where should this composition file be located? |
In a new package, |
i will do this work in the next few weeks. i make a plan list at first , and any suggestions are welcome.
|
It provides a composition-based bringup method, which could replace launching Nav2 nodes separately in package |
i try to implement
there are some problems about loading ROS parameters :
i have no idea about how to solve the second problem, any discussion is welcome. |
in order to solve the second problem in #2147 (comment), i try to use argument
|
According to https://discourse.ros.org/t/nav2-composition/22175, |
sorry, it works well , i forgot to load parameters for each component Node when i use params-file for container. in this way, we need load component Node's parameter from the internal Node (e.g. |
Indeed, sounds like we still want to enable that option, but if there's a work around we can use for now, that works for me. Lets just continue to document the issue that does exist for solutions. |
Manual composition merged! |
Essentially done, just waiting on docs updates |
Dear @gezp,
The Composable Node is a LifecycleNode and it uses an instance of a 2D ROS costmap from nav2 like shown below. The parameters I'm trying to load from 'path/to/parameters.yaml' are actually the ones needed for the 2D ROS costmap.
Am I missing something? I also tried other suggestions I found like this, this and this, and while I noticed that the ComposableNode correctly gets the parameters from the .yaml file, the costmap node within doesn't. So I haven't managed to properly initialize the costmap2dros instance. I hope you can help me with this one, |
i guess your .yaml file for costmap is incorrect, could you show your .yaml file? |
I'm using a .yaml file that was working before converting the node to a ComposableNode. |
i didn't use # use this method
params = os.path.join(get_package_share_directory('xxx'), 'config', 'parameters.yaml' )
_container = ComposableNodeContainer(
xxx
parameters = [params]
)
# instead of this method
#_container = ComposableNodeContainer(
# xxx
# arguments = ['--params-file', path/to/parameters.yaml],
# ) |
This did the trick, thanks a lot man! |
Something to contain manually composed nav2 system nodes so that even though the launch system doesn't deal with component-lifecycle nodes well, we can still get the benefits of both (even if not as flexible). This will be good enough for most users as they're not going to be swapping out the task servers.
Per idea / request from Emerson in the WG meeting
The text was updated successfully, but these errors were encountered: