Hi. I’m trying to run Isaac ROS Visual SLAM on WSL2/Win10, Ubuntu 22.04 with docker from the Quickstart tutorial on github: GitHub - NVIDIA-ISAAC-ROS/isaac_ros_visual_slam: Visual odometry package based on hardware-accelerated NVIDIA Elbrus library with world class quality and performance.
and I managed to run the three commands inside the containers (in my case I edited the docker run call with --gpus all ).
I run the ros2 launch, ros bag, Rviz and ros2 topic list shows the topics (however ros2 topic echo … doesn’t show data on what I tested).
However I can’t make Rviz display data streams. Sometimes the visual_slam node crashes after sending some of the rosbag messages, either normal play or stepping with pause. Also there is an error in the colcon test, something about the ros bag, see below:
“[component_container-1] [INFO] [1694991878.030846786] [visual_slam_node]: left_pose_right reading from CameraInfo
[component_container-1] [INFO] [1694991878.030933786] [visual_slam_node]: Baseline is : 0.119973
[component_container-1] [INFO] [1694991878.030961786] [visual_slam_node]: Use use_gpu: true
[component_container-1] [INFO] [1694991878.030970386] [visual_slam_node]: Enable IMU Fusion: false
[ERROR] [component_container-1]: process has died [pid 60612, exit code -6, cmd ‘/opt/ros/humble/install/lib/rclcpp_components/component_container --ros-args -r __node:=visual_slam_launch_container -r __ns:=/’].”
…
A run without a crash:
admin@docker-desktop:/workspaces/isaac_ros-dev$ ros2 launch isaac_ros_visual_slam isaac_ros_visual_slam.launch.py
[INFO] [launch]: All log files can be found below /home/admin/.ros/log/2023-09-18-02-45-28-586828-docker-desktop-60821
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [component_container-1]: process started with pid [60832]
[component_container-1] [INFO] [1694994328.983372297] [visual_slam_launch_container]: Load Library: /workspaces/isaac_ros-dev/install/isaac_ros_visual_slam/lib/libvisual_slam_node.so
[component_container-1] [INFO] [1694994329.077823602] [visual_slam_launch_container]: Found class: rclcpp_components::NodeFactoryTemplate<isaac_ros::visual_slam::VisualSlamNode>
[component_container-1] [INFO] [1694994329.077909502] [visual_slam_launch_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<isaac_ros::visual_slam::VisualSlamNode>
[component_container-1] [INFO] [1694994329.107644204] [visual_slam_node]: cuVSLAM version: 11.0
[component_container-1] [INFO] [1694994329.737315939] [visual_slam_node]: Time taken by CUVSLAM_WarmUpGPU(): 0.629579
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node ‘/visual_slam_node’ in container ‘/visual_slam_launch_container’
The ros bag:
admin@docker-desktop:/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/test/test_cases/rosbags/s
st/test_cases/rosbags/small_pol_test$ ros2 bag play .
[INFO] [1694994333.512453554] [rosbag2_storage]: Opened database ‘./small_pol_test_0.db3’ for READ_ONLY.
[INFO] [1694994333.512532254] [rosbag2_player]: Set rate to 1
[INFO] [1694994333.525553355] [rosbag2_player]: Adding keyboard callbacks.
[INFO] [1694994333.525618355] [rosbag2_player]: Press SPACE for Pause/Resume
[INFO] [1694994333.525649155] [rosbag2_player]: Press CURSOR_RIGHT for Play Next Message
[INFO] [1694994333.525659055] [rosbag2_player]: Press CURSOR_UP for Increase Rate 10%
[INFO] [1694994333.525696155] [rosbag2_player]: Press CURSOR_DOWN for Decrease Rate 10%
[INFO] [1694994333.526117055] [rosbag2_storage]: Opened database ‘./small_pol_test_0.db3’ for READ_ONLY.
[INFO] [1694994333.730491466] [rosbag2_player]: Set rate to 1.1
[INFO] [1694994335.264625650] [rosbag2_player]: Pausing play.
[INFO] [1694994336.427604508] [rosbag2_player]: Playing next message.
[INFO] [1694994336.842728029] [rosbag2_player]: Playing next message.
[INFO] [1694994355.713989050] [rosbag2_player]: Playing next message.
[INFO] [1694994356.377952574] [rosbag2_player]: Playing next message.
[INFO] [1694994356.626903483] [rosbag2_player]: Playing next message.
[INFO] [1694994356.819417589] [rosbag2_player]: Playing next message.
…
RViz:
admin@docker-desktop:/workspaces/isaac_ros-dev$ source /workspaces/isaac_ros-dev/install/setup.bash && rviz2 -d src/isaac_ros_visual_slam/isaac_ros_visual_slam/rviz/default.cfg.rviz
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-admin’
[INFO] [1694994421.281468627] [rviz2]: Stereo is NOT SUPPORTED
[INFO] [1694994421.281609827] [rviz2]: OpenGl version: 3.1 (GLSL 1.4)
[INFO] [1694994421.359709827] [rviz2]: Stereo is NOT SUPPORTED
The tests after the building returned an error, could it be just a bad ros bag? Once I did git lfs pull and it reloaded some of the files (due to interrupted installs). Is this a normal state of the folder?
admin@docker-desktop:/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/test/test_cases/rosbags/small_pol_test$
-rw-r–r-- 1 admin admin 2295 Sep 17 22:43 metadata.yaml
-rw-r–r-- 1 admin admin 335986688 Sep 17 22:45 small_pol_test_0.db3
-rw-r–r-- 1 admin admin 32768 Sep 17 22:43 small_pol_test_0.db3-shm
-rw-r–r-- 1 admin admin 0 Sep 17 22:43 small_pol_test_0.db3-wal
Now it shows the repo is up to date:
:~/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam$ git pull
Already up to date.
admin@docker-desktop:/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/test/test_cases/rosbags/small_pol_test$ ros2 bag play .
[INFO] [1694980094.881163931] [rosbag2_storage]: Opened database ‘./small_pol_test_0.db3’ for READ_ONLY.
[INFO] [1694980094.881298331] [rosbag2_player]: Set rate to 1
[INFO] [1694980094.893504134] [rosbag2_player]: Adding keyboard callbacks.
[INFO] [1694980094.893554634] [rosbag2_player]: Press SPACE for Pause/Resume
[INFO] [1694980094.893577634] [rosbag2_player]: Press CURSOR_RIGHT for Play Next Message
[INFO] [1694980094.893592334] [rosbag2_player]: Press CURSOR_UP for Increase Rate 10%
[INFO] [1694980094.893606934] [rosbag2_player]: Press CURSOR_DOWN for Decrease Rate 10%
[INFO] [1694980094.894067234] [rosbag2_storage]: Opened database ‘./small_pol_test_0.db3’ for READ_ONLY.
The build error from the logs:
89% tests passed, 1 tests failed out of 9
Label Time Summary:
copyright = 3.03 secproc (1 test)
cppcheck = 0.27 secproc (1 test)
cpplint = 1.11 secproc (1 test)
flake8 = 0.86 secproc (1 test)
launch_test = 14.92 secproc (1 test)
lint_cmake = 0.16 secproc (1 test)
linter = 7.55 secproc (8 tests)
pep257 = 0.26 secproc (1 test)
uncrustify = 0.31 secproc (1 test)
xmllint = 1.54 secproc (1 test)
Total Test time (real) = 22.47 sec
test 1
Start 1: test_isaac_ros_visual_slam_pol.py
1: Test command: /usr/bin/python3.8 “-u” “/opt/ros/humble/install/share/ament_cmake_test/cmake/run_test.py” “/workspaces/isaac_ros-dev/build/isaac_ros_visual_slam/test_results/isaac_ros_visual_slam/test_isaac_ros_visual_slam_pol.py.xunit.xml” “–package-name” “isaac_ros_visual_slam” “–output-file” “/workspaces/isaac_ros-dev/build/isaac_ros_visual_slam/launch_test/test_isaac_ros_visual_slam_pol.py.txt” “–command” “/usr/bin/python3” “-m” “launch_testing.launch_test” “/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/test/isaac_ros_visual_slam_pol.py” “–junit-xml=/workspaces/isaac_ros-dev/build/isaac_ros_visual_slam/test_results/isaac_ros_visual_slam/test_isaac_ros_visual_slam_pol.py.xunit.xml” “–package-name=isaac_ros_visual_slam”
1: Working Directory: /workspaces/isaac_ros-dev/build/isaac_ros_visual_slam
1: Test timeout computed to be: 60
1: – run_test.py: invoking following command in ‘/workspaces/isaac_ros-dev/build/isaac_ros_visual_slam’:
1: - /usr/bin/python3 -m launch_testing.launch_test /workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/test/isaac_ros_visual_slam_pol.py --junit-xml=/workspaces/isaac_ros-dev/build/isaac_ros_visual_slam/test_results/isaac_ros_visual_slam/test_isaac_ros_visual_slam_pol.py.xunit.xml --package-name=isaac_ros_visual_slam
1: [INFO] [launch]: All log files can be found below /home/admin/.ros/log/2023-09-18-03-01-33-188043-docker-desktop-61011
1: [INFO] [launch]: Default logging verbosity is set to INFO
1: [INFO] [component_container-1]: process started with pid [61029]
1: [INFO] [ros2-2]: process started with pid [61031]
1: [component_container-1] [INFO] [1694995293.532268805] [visual_slam_container]: Load Library: /workspaces/isaac_ros-dev/install/isaac_ros_visual_slam/lib/libvisual_slam_node.so
1: [component_container-1] [INFO] [1694995293.637919205] [visual_slam_container]: Found class: rclcpp_components::NodeFactoryTemplate<isaac_ros::visual_slam::VisualSlamNode>
1: [component_container-1] [INFO] [1694995293.637996105] [visual_slam_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<isaac_ros::visual_slam::VisualSlamNode>
1: [component_container-1] [INFO] [1694995293.665533506] [isaac_ros_test.visual_slam_test.visual_slam_node]: cuVSLAM version: 11.0
1: [ros2-2] stdin is not a terminal device. Keyboard handling disabled.[INFO] [1694995293.686868506] [rosbag2_storage]: Opened database ‘/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/test/test_cases/rosbags/small_pol_test/small_pol_test_0.db3’ for READ_ONLY.
1: [ros2-2] [INFO] [1694995293.686957706] [rosbag2_player]: Set rate to 1
1: [ros2-2] [INFO] [1694995293.698917106] [rosbag2_player]: Adding keyboard callbacks.
1: [ros2-2] [INFO] [1694995293.698989306] [rosbag2_player]: Press SPACE for Pause/Resume
1: [ros2-2] [INFO] [1694995293.699000606] [rosbag2_player]: Press CURSOR_RIGHT for Play Next Message
1: [ros2-2] [INFO] [1694995293.699009606] [rosbag2_player]: Press CURSOR_UP for Increase Rate 10%
1: [ros2-2] [INFO] [1694995293.699017206] [rosbag2_player]: Press CURSOR_DOWN for Decrease Rate 10%
1: [ros2-2] [INFO] [1694995293.699584206] [rosbag2_storage]: Opened database ‘/workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/test/test_cases/rosbags/small_pol_test/small_pol_test_0.db3’ for READ_ONLY.
1: [component_container-1] [INFO] [1694995294.312104910] [isaac_ros_test.visual_slam_test.visual_slam_node]: Time taken by CUVSLAM_WarmUpGPU(): 0.646491
1: [INFO] [launch_ros.actions.load_composable_nodes]: Loaded node ‘/isaac_ros_test/visual_slam_test/visual_slam_node’ in container ‘/visual_slam_container’
1: test_visual_slam_node (isaac_ros_visual_slam.IsaacROSVisualSlamTest) … [INFO] [1694995295.387861017] [isaac_ros_test.isaac_ros_base_test_node]: Starting test for case: /workspaces/isaac_ros-dev/src/isaac_ros_visual_slam/isaac_ros_visual_slam/test/test_cases/rosbags/small_pol_test
1: [component_container-1] [INFO] [1694995296.220361099] [isaac_ros_test.visual_slam_test.visual_slam_node]: left_pose_right reading from CameraInfo
1: [component_container-1] [INFO] [1694995296.220510699] [isaac_ros_test.visual_slam_test.visual_slam_node]: Baseline is : 0.119973
1: [component_container-1] [INFO] [1694995296.220587299] [isaac_ros_test.visual_slam_test.visual_slam_node]: Use use_gpu: true
1: [component_container-1] [INFO] [1694995296.220612299] [isaac_ros_test.visual_slam_test.visual_slam_node]: Enable IMU Fusion: false
1: [ERROR] [component_container-1]: process has died [pid 61029, exit code -6, cmd ‘/opt/ros/humble/install/lib/rclcpp_components/component_container --ros-args -r __node:=visual_slam_container -r __ns:=/’].
1: [INFO] [ros2-2]: process has finished cleanly [pid 61031]
1: Processes under test stopped before tests completed
1: Process ‘component_container-1’ exited with -6
1: ##### ‘component_container-1’ output #####
1: [INFO] [1694995293.532268805] [visual_slam_container]: Load Library: /workspaces/isaac_ros-dev/install/isaac_ros_visual_slam/lib/libvisual_slam_node.so
1:
1: [INFO] [1694995293.637919205] [visual_slam_container]: Found class: rclcpp_components::NodeFactoryTemplate<isaac_ros::visual_slam::VisualSlamNode>
1: [INFO] [1694995293.637996105] [visual_slam_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<isaac_ros::visual_slam::VisualSlamNode>
1:
1: [INFO] [1694995293.665533506] [isaac_ros_test.visual_slam_test.visual_slam_node]: cuVSLAM version: 11.0
1:
1: [INFO] [1694995294.312104910] [isaac_ros_test.visual_slam_test.visual_slam_node]: Time taken by CUVSLAM_WarmUpGPU(): 0.646491
1:
1: [INFO] [1694995296.220361099] [isaac_ros_test.visual_slam_test.visual_slam_node]: left_pose_right reading from CameraInfo
1: [INFO] [1694995296.220510699] [isaac_ros_test.visual_slam_test.visual_slam_node]: Baseline is : 0.119973
1: [INFO] [1694995296.220587299] [isaac_ros_test.visual_slam_test.visual_slam_node]: Use use_gpu: true
1: [INFO] [1694995296.220612299] [isaac_ros_test.visual_slam_test.visual_slam_node]: Enable IMU Fusion: false
1:
1: ##########################################
1: terminate called without an active exception
1: – run_test.py: return code -6
1: – run_test.py: verify result file ‘/workspaces/isaac_ros-dev/build/isaac_ros_visual_slam/test_results/isaac_ros_visual_slam/test_isaac_ros_visual_slam_pol.py.xunit.xml’
1/9 Test #1: test_isaac_ros_visual_slam_pol.py …***Failed 14.92 sec