nav2_bt_navigator exception in callback
I'm trying to run bt_navigator but it is searching for a library that does not exist:
lorenzoteo@lorenzoteo-HP-ZBook-15v-G5:~$ ros2 run nav2_bt_navigator bt_navigator bt_navigator.xml
[INFO] [bt_navigator]: Creating
[INFO] [bt_navigator]: Configuring
[ERROR] []: Caught exception in callback for transition 10
[ERROR] []: Original error: Could not load library: libnav2_behavior_tree_nodes.so: cannot open shared object file: No such file or directory
[WARN] []: Error occurred while doing error handling.
[FATAL] [bt_navigator]: Lifecycle node entered error state
[WARN] [rcl_lifecycle]: No transition matching 3 found for current state unconfigured
[ERROR] []: Unable to start transition 3 from current state unconfigured: Transition is not registered., at /tmp/binarydeb/ros-eloquent-rcl-lifecycle-0.8.4/src/rcl_lifecycle.c:327
The node is triggered by:
lorenzoteo@lorenzoteo-HP-ZBook-15v-G5:~$ ros2 run nav2_util lifecycle_bringup bt_navigator
Both ROS2 and navigation2 are installed via debian packages.
That library doesn't exist anymore. It has been replaced by a number of other libraries - one per node. I expect you have a mismatch between the version of the nav2_bt_navigator and the version of the nav2_behavior_tree package.
Can you provide the versions of the nav2 packages you have installed and your LD_LIBRARY_PATH?
For the versions, provide the output of:
And for LD_LIBRARY_PATH, just
Version:
LD_LIBRARY_PATH:
The library in the error message (libnav2_behavior_tree_nodes.so) hasn't existed for a while. It shouldn't be possible to get that error message. Is it possible an older version of bt_navigator is actually running? After you run
Run
This should show the path to the executable. It should be somewhere under /opt/ros/eloquent.
Here the running processes: