Closed hcdiekmann closed 1 year ago
I don't see where nav2_change_goal_node_bt_node
is defined anywhere in the codebase
Is this a custom BT node of yours? I don't see where its in your YAML file - assuming that is the right yaml file that's being loaded (I suspect its not, since I would see nav2_change_goal_node_bt_node
there).
That error would occur if you had a plugin lib in plugin_lib_names
that did not exist.
It is not a custom BT node and the params file was copied directly from the nav2 bringup package params directory. Not sure why I would get this error.
Passing the params file path explicitly to navigation_launch.py
fixed the issue. Although I had adjusted the params_file
argument in navigation_launch.py
file to default to that same path.
As I am launching it together with slam_toolbox
like this:
# Load SLAM parameters from yaml file and add node to launch description
slam_params_file = os.path.join(pkg_pathfinder,'config', 'slam_params_online_async.yaml')
slam = IncludeLaunchDescription(
PythonLaunchDescriptionSource([os.path.join(pkg_pathfinder,'launch','slam_online_async_launch.py')]),
launch_arguments={'params_file': slam_params_file}.items()
)
# Include nav2_bringup launch file
nav2_params_file = os.path.join(pkg_pathfinder, 'config', 'nav2_params.yaml')
nav2 = IncludeLaunchDescription(
PythonLaunchDescriptionSource([os.path.join(pkg_pathfinder,'launch','navigation_launch.py')]),
launch_arguments={'params_file': nav2_params_file}.items()
)
nav2_launch = RegisterEventHandler(
event_handler=OnExecutionComplete(
target_action=spawn_entity,
on_completion=[nav2]
)
)
Is it possible that that navigation_launch.py
used the slam params? As they have the same launch argument names. However the parameters are completely different.
Possibly related to this
I’m not sure how it could be related to SLAM, there’s no BT node params there. That node name is rather confusing to me since I can’t find any instance of it in the stack so I’m stumped if you didn’t specify it or change anything.
Your launch comment about not using your file points to using the default file or defaults in the software, both of which I can’t find that BT node lib in the list. Sounds like that was the real issue - to update your launch file to use your intended params list.
As what [SteveMacenski] say, the [libnav2_change_goal_node_bt_node] is not the action/condition/decorator node provided by navigation2 , So if your navigate_w_replanning_and_recovery.xml has this node but you didn't implement and using BT_REGISTER_NODES to regist it before,the bt navigator would died. If you want to launch launch successfull ,either you delete the relevant node connect with libnav2_change_goal_node_bt_node,or write a libnav2_change_goal_node_bt_node and add this node in your plugin lib
Bug report
Required Info:
Steps to reproduce issue
Launching
navigation_launch.py
from own package with these parameters:Expected behavior
Nav2 bringup launching all nodes.
Actual behavior
Additional information
Feature request
Feature description
Implementation considerations