NVIDIA-ISAAC-ROS / isaac_ros_visual_slam

Visual SLAM/odometry package based on NVIDIA-accelerated cuVSLAM
https://developer.nvidia.com/isaac-ros-gems
Apache License 2.0
819 stars 127 forks source link

Test errors #37

Closed DaddyWesker closed 1 year ago

DaddyWesker commented 2 years ago

Hello. Thanks for sharing your code.

I've tried to install this isaac slam repo using ros buils. I've installed foxy and required components. But after colcon build, when i'm trying to run colcon test, i'm getting this.

Starting >>> isaac_ros_common
Starting >>> isaac_ros_test
Starting >>> isaac_ros_nvengine_interfaces
Starting >>> isaac_ros_visual_slam_interfaces
Finished <<< isaac_ros_nvengine_interfaces [2.24s]                                                                            
Finished <<< isaac_ros_visual_slam_interfaces [2.24s]
Finished <<< isaac_ros_common [2.98s]                                              
--- stderr: isaac_ros_test                     

=============================== warnings summary ===============================
../../../../.local/lib/python3.8/site-packages/_pytest/nodes.py:633
  Warning: The (fspath: py.path.local) argument to Package is deprecated. Please use the (path: pathlib.Path) argument instead.
  See https://docs.pytest.org/en/latest/deprecations.html#fspath-argument-for-node-constructors-replaced-with-pathlib-path

../../../../.local/lib/python3.8/site-packages/_pytest/nodes.py:146
../../../../.local/lib/python3.8/site-packages/_pytest/nodes.py:146
  Warning: <class 'launch_testing_ros.pytest.hooks.LaunchROSTestModule'> is not using a cooperative constructor and only takes {'parent', 'fspath'}.
  See https://docs.pytest.org/en/stable/deprecations.html#constructors-of-custom-pytest-node-subclasses-should-take-kwargs for more details.

../../../../.local/lib/python3.8/site-packages/_pytest/nodes.py:633
../../../../.local/lib/python3.8/site-packages/_pytest/nodes.py:633
  Warning: The (fspath: py.path.local) argument to LaunchROSTestModule is deprecated. Please use the (path: pathlib.Path) argument instead.
  See https://docs.pytest.org/en/latest/deprecations.html#fspath-argument-for-node-constructors-replaced-with-pathlib-path

../../../../../../opt/ros/foxy/lib/python3.8/site-packages/ament_flake8/main.py:26
../../../../.local/lib/python3.8/site-packages/setuptools/_distutils/version.py:346
test/test_flake8.py::test_flake8
test/test_flake8.py::test_flake8
test/test_pep257.py::test_pep257
test/test_pep257.py::test_pep257
  Warning: distutils Version classes are deprecated. Use packaging.version instead.

../../../../../../opt/ros/foxy/lib/python3.8/site-packages/launch_testing/pytest/hooks.py:179
../../../../../../opt/ros/foxy/lib/python3.8/site-packages/launch_testing/pytest/hooks.py:179
../../../../../../opt/ros/foxy/lib/python3.8/site-packages/launch_testing/pytest/hooks.py:179
  Warning: The (fspath: py.path.local) argument to Module is deprecated. Please use the (path: pathlib.Path) argument instead.
  See https://docs.pytest.org/en/latest/deprecations.html#fspath-argument-for-node-constructors-replaced-with-pathlib-path

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
---
Finished <<< isaac_ros_test [15.7s]
Starting >>> isaac_ros_image_proc
Starting >>> isaac_ros_stereo_image_proc
Starting >>> isaac_ros_nvengine                                                                      
Finished <<< isaac_ros_nvengine [11.7s]                                                                                             
--- stderr: isaac_ros_stereo_image_proc                                                                
Errors while running CTest
Output from these tests are in: /home/daddywesker/ros2_ws/build/isaac_ros_stereo_image_proc/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
---

Finished <<< isaac_ros_stereo_image_proc [25.8s]    [ with test failures ]
--- stderr: isaac_ros_image_proc                     
Errors while running CTest
Output from these tests are in: /home/daddywesker/ros2_ws/build/isaac_ros_image_proc/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
---
Finished <<< isaac_ros_image_proc [35.1s]   [ with test failures ]
Starting >>> isaac_ros_image_pipeline
Starting >>> isaac_ros_visual_slam
Finished <<< isaac_ros_image_pipeline [1.45s]                                                      
Finished <<< isaac_ros_visual_slam [27.5s]                 

Summary: 9 packages finished [1min 19s]
  3 packages had stderr output: isaac_ros_image_proc isaac_ros_stereo_image_proc isaac_ros_test
  2 packages had test failures: isaac_ros_image_proc isaac_ros_stereo_image_proc

I was able to move further by installing

sudo apt-get install ros-foxy-stereo-image-proc (probably you should add it to the requirements?)

But I'm still have this:


Summary: 9 packages finished [1min 20s]
  2 packages had stderr output: isaac_ros_image_proc isaac_ros_test
  1 package had test failures: isaac_ros_image_proc

Here is the log file for isaac_ros_image_proc

Currently, i cant beat it.

DaddyWesker commented 2 years ago

Well, this one was easy enough.

pip install -U scikit-learn (should also be added to requirements, imo)

And last one.

Starting >>> isaac_ros_common
Starting >>> isaac_ros_test
Starting >>> isaac_ros_nvengine_interfaces
Starting >>> isaac_ros_visual_slam_interfaces
Finished <<< isaac_ros_nvengine_interfaces [2.68s]                                                                            
Finished <<< isaac_ros_visual_slam_interfaces [2.70s]
Finished <<< isaac_ros_common [3.00s]                                              
--- stderr: isaac_ros_test                     

=============================== warnings summary ===============================
../../../../.local/lib/python3.8/site-packages/_pytest/nodes.py:633
  Warning: The (fspath: py.path.local) argument to Package is deprecated. Please use the (path: pathlib.Path) argument instead.
  See https://docs.pytest.org/en/latest/deprecations.html#fspath-argument-for-node-constructors-replaced-with-pathlib-path

../../../../.local/lib/python3.8/site-packages/_pytest/nodes.py:146
../../../../.local/lib/python3.8/site-packages/_pytest/nodes.py:146
  Warning: <class 'launch_testing_ros.pytest.hooks.LaunchROSTestModule'> is not using a cooperative constructor and only takes {'fspath', 'parent'}.
  See https://docs.pytest.org/en/stable/deprecations.html#constructors-of-custom-pytest-node-subclasses-should-take-kwargs for more details.

../../../../.local/lib/python3.8/site-packages/_pytest/nodes.py:633
../../../../.local/lib/python3.8/site-packages/_pytest/nodes.py:633
  Warning: The (fspath: py.path.local) argument to LaunchROSTestModule is deprecated. Please use the (path: pathlib.Path) argument instead.
  See https://docs.pytest.org/en/latest/deprecations.html#fspath-argument-for-node-constructors-replaced-with-pathlib-path

../../../../../../opt/ros/foxy/lib/python3.8/site-packages/ament_flake8/main.py:26
../../../../.local/lib/python3.8/site-packages/setuptools/_distutils/version.py:346
test/test_flake8.py::test_flake8
test/test_flake8.py::test_flake8
test/test_pep257.py::test_pep257
test/test_pep257.py::test_pep257
  Warning: distutils Version classes are deprecated. Use packaging.version instead.

../../../../../../opt/ros/foxy/lib/python3.8/site-packages/launch_testing/pytest/hooks.py:179
../../../../../../opt/ros/foxy/lib/python3.8/site-packages/launch_testing/pytest/hooks.py:179
../../../../../../opt/ros/foxy/lib/python3.8/site-packages/launch_testing/pytest/hooks.py:179
  Warning: The (fspath: py.path.local) argument to Module is deprecated. Please use the (path: pathlib.Path) argument instead.
  See https://docs.pytest.org/en/latest/deprecations.html#fspath-argument-for-node-constructors-replaced-with-pathlib-path

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
---
Finished <<< isaac_ros_test [16.8s]
Starting >>> isaac_ros_image_proc
Starting >>> isaac_ros_stereo_image_proc
Starting >>> isaac_ros_nvengine                                                                      
Finished <<< isaac_ros_nvengine [12.2s]                                                                                             
Finished <<< isaac_ros_stereo_image_proc [32.2s]                                                       
Finished <<< isaac_ros_image_proc [39.8s]            
Starting >>> isaac_ros_image_pipeline
Starting >>> isaac_ros_visual_slam
Finished <<< isaac_ros_image_pipeline [1.33s]                                                      
Finished <<< isaac_ros_visual_slam [27.6s]                 

Summary: 9 packages finished [1min 24s]
  1 package had stderr output: isaac_ros_test

Is this fine output for colcon test?

DaddyWesker commented 2 years ago

Well, i've tried to run example after installing the isaac. But when I'm launching ros2 bag play just nothing happens on rviz.

I've launched three commands in three terminals.

  1. ros2 launch isaac_ros_visual_slam isaac_ros_visual_slam.launch.py
    [INFO] [launch]: All log files can be found below /home/daddywesker/.ros/log/2022-07-06-16-50-41-416254-daddywesker-Legion-5-17ACH6H-87256
    [INFO] [launch]: Default logging verbosity is set to INFO
    [INFO] [component_container-1]: process started with pid [87269]
    [component_container-1] [INFO] [1657115441.779740510] [visual_slam_launch_container]: Load Library: /home/daddywesker/ros2_ws/install/isaac_ros_visual_slam/lib/libvisual_slam_node.so
    [component_container-1] [INFO] [1657115441.796367780] [visual_slam_launch_container]: Found class: rclcpp_components::NodeFactoryTemplate<isaac_ros::visual_slam::VisualSlamNode>
    [component_container-1] [INFO] [1657115441.796423234] [visual_slam_launch_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<isaac_ros::visual_slam::VisualSlamNode>
    [component_container-1] [INFO] [1657115441.808091468] [visual_slam_node]: Elbrus version: 10.0
    [INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/visual_slam_node' in container '/visual_slam_launch_container'
  2. rviz2 -d src/isaac_ros_visual_slam/isaac_ros_visual_slam/rviz/default.cfg.rviz 
    qt5ct: using qt5ct plugin
    [INFO] [1657115462.521716227] [rviz2]: Stereo is NOT SUPPORTED
    [INFO] [1657115462.521865828] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
    qt5ct: D-Bus global menu: no
    [INFO] [1657115462.611904902] [rviz2]: Stereo is NOT SUPPORTED
  3. daddywesker@daddywesker-Legion-5-17ACH6H:~/ros2_ws/src/isaac_ros_visual_slam/isaac_ros_visual_slam/test/test_cases/rosbags$ ros2 bag play small_pol_test/
    [INFO] [1657115744.948520499] [rosbag2_storage]: Opened database 'small_pol_test//small_pol_test_0.db3' for READ_ONLY.

Rviz is empty, nothing happens also in the terminal with slam launch file. I'm not using docker, just regular ros2 installation. Is it somehow related to the 1 package had stderr output: isaac_ros_test ?

kajanan-nvidia commented 2 years ago

Hello, in order to isolate the problem try running ros2 topic hz <topic-name> or ros2 topic echo <topic-name> on the input topics to the node as well as the output topics of the node, and ensure that everything is being published. If they are not, double check the topics in the launch file.

We also recently upgraded to ROS2 Humble, so upgrading to Humble or trying an older release that was on Foxy might also be worthwhile to try.

DaddyWesker commented 2 years ago

Hm. So, I should try to launch all three commands (launch.py, rviz and ros2 bag play) and echo all the topics that should be published? Is there a list of topics somewhere which should be published?

I've tried to install it using ROS2 galactic but i've met some problems, which i haven't met on foxy. So i chose foxy.

DaddyWesker commented 2 years ago

Okay, i guess i've found list of topics. I've tried to echo each one of them while isaac was launched, and also rviz and ros bag play. Here is the result.

ros2 topic echo stereo_camera/left/camera_info

Nothing appeared on this command.

ros2 topic echo /stereo_camera/left/image

Something does appeared

header:
  stamp:
    sec: 96
    nanosec: 688132988
  frame_id: odom
height: 360
width: 640
encoding: mono8
is_bigendian: 0
step: 640
data:

and lots of digits after data:

Same thing with /stereo_camera/right/camera_info and /stereo_camera/right/image

Nothing appeared on:

/tf   
/tf_static
/visual_slam/imu
/visual_slam/status
/visual_slam/tracking/odometry
/visual_slam/tracking/slam_path
/visual_slam/tracking/vo_path
/visual_slam/tracking/vo_pose
/visual_slam/tracking/vo_pose_covariance
/visual_slam/vis/gravity
/visual_slam/vis/landmarks_cloud
/visual_slam/vis/localizer
/visual_slam/vis/localizer_loop_closure_cloud
/visual_slam/vis/localizer_map_cloud
/visual_slam/vis/localizer_observations_cloud
/visual_slam/vis/loop_closure_cloud
/visual_slam/vis/observations_cloud
/visual_slam/vis/pose_graph_edges
/visual_slam/vis/pose_graph_edges2
/visual_slam/vis/pose_graph_nodes
/visual_slam/vis/velocity

I guess the problem is that nothing being published on camera info and tf topics, which is weird since i'm using your provided example bag.

DaddyWesker commented 2 years ago

Well, i've tried to see what are topics inside of this small_pol_test.

Files:             small_pol_test_0.db3
Bag size:          320.5 MiB
Storage id:        sqlite3
Duration:          12.898s
Start:             Oct  9 2021 03:58:26.721 (1633741106.721)
End:               Oct  9 2021 03:58:39.619 (1633741119.619)
Messages:          3280
Topic information: Topic: /camera_info_left | Type: sensor_msgs/msg/CameraInfo | Count: 914 | Serialization Format: cdr
                   Topic: /camera_info_right | Type: sensor_msgs/msg/CameraInfo | Count: 915 | Serialization Format: cdr
                   Topic: /stereo_camera/left/image | Type: sensor_msgs/msg/Image | Count: 725 | Serialization Format: cdr
                   Topic: /stereo_camera/right/image | Type: sensor_msgs/msg/Image | Count: 726 | Serialization Format: cdr

So, as i can understand, this rosbag doesn't contain any tf and tf static toics and it's camera info named differently. Second problem could be resolved by

ros2 bag play ./ros2_ws/src/isaac_ros_visual_slam/isaac_ros_visual_slam/test/test_cases/rosbags/small_pol_test/ --remap /camera_info_left:=/stereo_camera/left/camera_info /camera_info_right:=/stereo_camera/right/camera_info

Which should be somehow mentioned in the readme, i believe. And i'm totally don't know how to deal with the first problem. Where to get those tf and tf static?

DaddyWesker commented 2 years ago

I've tried to launch this isaac slam on kitti. I've translated ros1 bag to ros2 bag, this bag contains everything we need - images, info and tfs. I've launched it using command

ros2 bag play kitti_2011_09_29_drive_0071_synced/ --remap /kitti/camera_color_right/image_raw:=/stereo_camera/right/image /kitti/camera_color_left/image_raw:=/stereo_camera/left/image /kitti/camera_color_left/camera_info:=/stereo_camera/left/camera_info /kitti/camera_color_right/camera_info:=/stereo_camera/right/camera_info

I've checked every input topic

/stereo_camera/left/camera_info
/stereo_camera/left/image
/stereo_camera/right/camera_info
/stereo_camera/right/image
/tf
/tf_static

Every topic publishes something. But nothing happens. So i've thought maybe i need to remap grayscale images instead of color ones and launched

ros2 bag play kitti_2011_09_29_drive_0071_synced/ --remap /kitti/camera_gray_right/image_raw:=/stereo_camera/right/image /kitti/camera_gray_left/image_raw:=/stereo_camera/left/image /kitti/camera_gray_left/camera_info:=/stereo_camera/left/camera_info /kitti/camera_gray_right/camera_info:=/stereo_camera/right/camera_info

And in the terminal where slam was launched i've got this

[INFO] [launch]: All log files can be found below /home/daddywesker/.ros/log/2022-07-07-17-15-06-921737-daddywesker-Legion-5-17ACH6H-91333
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [component_container-1]: process started with pid [91346]
[component_container-1] [INFO] [1657203307.299402533] [visual_slam_launch_container]: Load Library: /home/daddywesker/ros2_ws/install/isaac_ros_visual_slam/lib/libvisual_slam_node.so
[component_container-1] [INFO] [1657203307.314950206] [visual_slam_launch_container]: Found class: rclcpp_components::NodeFactoryTemplate<isaac_ros::visual_slam::VisualSlamNode>
[component_container-1] [INFO] [1657203307.315010759] [visual_slam_launch_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<isaac_ros::visual_slam::VisualSlamNode>
[component_container-1] [INFO] [1657203307.333682103] [visual_slam_node]: Elbrus version: 10.0
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/visual_slam_node' in container '/visual_slam_launch_container'
[component_container-1] [INFO] [1657203310.546804256] [visual_slam_node]: left_pose_right reading from CameraInfo
[component_container-1] [INFO] [1657203310.546940727] [visual_slam_node]: Baseline is : 0.537193
[component_container-1] [INFO] [1657203310.546989756] [visual_slam_node]: Enable IMU integrator: false
[component_container-1] [INFO] [1657203310.547009381] [visual_slam_node]: Use use_gpu: true
[component_container-1] [WARN] [1657203311.195916924] [visual_slam_node]: Tracker is lost
[component_container-1] [WARN] [1657203311.379918553] [visual_slam_node]: Tracker is lost
[component_container-1] [WARN] [1657203311.692028185] [visual_slam_node]: Tracker is lost
[component_container-1] [WARN] [1657203311.795019571] [visual_slam_node]: Tracker is lost
[component_container-1] [WARN] [1657203312.314749344] [visual_slam_node]: Tracker is lost
[component_container-1] [WARN] [1657203312.624419335] [visual_slam_node]: Tracker is lost
[component_container-1] [WARN] [1657203312.729906515] [visual_slam_node]: Tracker is lost
[component_container-1] [WARN] [1657203313.248239313] [visual_slam_node]: Tracker is lost

And "Tracker is lost" just keeps spamming. Nothing on RVIZ. Any ideas?

kajanan-nvidia commented 2 years ago

I can't reproduce this issue using the provided rosbag.

One thing that's strange is the fact that a remapping is necessary. Please refer to https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_visual_slam/blob/ae242032162d8f8b10c2565f4fec423f220c96e9/isaac_ros_visual_slam/launch/isaac_ros_visual_slam.launch.py#L20 The launch file should do the remapping necessary to get the provided rosbag working. Have any modifications been made to the launch file?

The tf topics shouldn't be necessary for getting the quickstart working. I would recommend getting rviz2 visualization working first before trying a different rosbag since the provided rosbag is a known working example, and serves as a baseline to know that the node functions correctly in your environment.

The tracker is lost issue is a bit harder to troubleshoot as there are many different potential causes for this issue. Some common causes we've seen can be found here: https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_visual_slam#troubleshooting-suggestions

DaddyWesker commented 2 years ago

Well, as i can see, this launch file was updated 7 days ago and it is exactly what have been added - remappings. My version is from 24 june. I guess i need to re-clone it and re-install. I'll get back after this.

DaddyWesker commented 2 years ago

Well, I've recloned all three repos and tried to build them using colcon build. Here is what I've got.


Starting >>> isaac_ros_test
Starting >>> isaac_ros_common
Starting >>> isaac_ros_visual_slam_interfaces
Starting >>> isaac_ros_apriltag_interfaces
Starting >>> isaac_ros_tensor_list_interfaces
--- stderr: isaac_ros_test                                   
/home/daddywesker/.local/lib/python3.8/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/home/daddywesker/.local/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/home/daddywesker/.local/lib/python3.8/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 0.1.36ubuntu1 is an invalid version and will not be supported in a future release
  warnings.warn(
/home/daddywesker/.local/lib/python3.8/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 1.13.1-unknown is an invalid version and will not be supported in a future release
  warnings.warn(
/home/daddywesker/.local/lib/python3.8/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 0.23ubuntu1 is an invalid version and will not be supported in a future release
  warnings.warn(
---
Finished <<< isaac_ros_test [5.09s]
Starting >>> isaac_ros_image_proc
Finished <<< isaac_ros_common [6.37s]                                     
Starting >>> isaac_ros_stereo_image_proc
Finished <<< isaac_ros_apriltag_interfaces [6.90s]
--- stderr: isaac_ros_image_proc     
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_image_pipeline/isaac_ros_image_proc/src/image_format_converter_node.cpp:11:
/home/daddywesker/ros2_ws/src/isaac_ros_image_pipeline/isaac_ros_image_proc/include/isaac_ros_image_proc/image_format_converter_node.hpp:17:10: fatal error: isaac_ros_nitros/nitros_node.hpp: No such file or directory
   17 | #include "isaac_ros_nitros/nitros_node.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/image_format_converter_node.dir/build.make:76: CMakeFiles/image_format_converter_node.dir/src/image_format_converter_node.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:143: CMakeFiles/image_format_converter_node.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
---
Failed   <<< isaac_ros_image_proc [2.14s, exited with code 2]
Aborted  <<< isaac_ros_tensor_list_interfaces [7.24s]
Aborted  <<< isaac_ros_stereo_image_proc [2.63s]
Aborted  <<< isaac_ros_visual_slam_interfaces [10.5s]

Summary: 3 packages finished [10.9s]
  1 package failed: isaac_ros_image_proc
  3 packages aborted: isaac_ros_stereo_image_proc isaac_ros_tensor_list_interfaces isaac_ros_visual_slam_interfaces
  3 packages had stderr output: isaac_ros_image_proc isaac_ros_stereo_image_proc isaac_ros_test
  2 packages not processed

Maybe some files are missing and I need to clone something else? Not only isaac_ros_visual_slam, isaac_ros_common, isaac_ros_image_pipeline?

msardonini commented 2 years ago

I also get this build error. I tried cloning the latest and the tag v0.10.0-dp for each of the 3 repositories

msardonini commented 2 years ago

@DaddyWesker I was able to get it to build by doing the following two things (not 100% sure which one actually fixed it).

  1. Clone this repository alongside the other three
  2. Remove the --symlink-install argument from the build command, resulting in:
    cd /workspaces/isaac_ros-dev &&   colcon build &&   source install/setup.bash
DaddyWesker commented 2 years ago

@msardonini

Thank you for this info. I will try later to build again and will get back here.

DaddyWesker commented 1 year ago

Well, I've tried to clone new repo and colcon build all 4 of them simultaneously bit i've got this


Starting >>> isaac_ros_apriltag_interfaces
Starting >>> isaac_ros_tensor_list_interfaces
Starting >>> isaac_ros_test
Starting >>> isaac_ros_common
Starting >>> isaac_ros_visual_slam_interfaces
--- stderr: isaac_ros_test                                                                                                                                          
/home/daddywesker/.local/lib/python3.8/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/home/daddywesker/.local/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/home/daddywesker/.local/lib/python3.8/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 0.1.36ubuntu1 is an invalid version and will not be supported in a future release
  warnings.warn(
/home/daddywesker/.local/lib/python3.8/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 1.13.1-unknown is an invalid version and will not be supported in a future release
  warnings.warn(
/home/daddywesker/.local/lib/python3.8/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 0.23ubuntu1 is an invalid version and will not be supported in a future release
  warnings.warn(
---
Finished <<< isaac_ros_test [5.71s]
Finished <<< isaac_ros_apriltag_interfaces [5.92s]                                                                                        
Finished <<< isaac_ros_tensor_list_interfaces [6.31s]                                                                        
Starting >>> isaac_ros_nitros
Finished <<< isaac_ros_common [6.36s]
Finished <<< isaac_ros_visual_slam_interfaces [10.9s]                                                                        
--- stderr: isaac_ros_nitros                               
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/types/types.hpp:15,
                 from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/types/type_utility.cpp:12:
/home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/types/nitros_int64.hpp:23:10: fatal error: rclcpp/type_adapter.hpp: No such file or directory
   23 | #include "rclcpp/type_adapter.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/isaac_ros_nitros.dir/build.make:118: CMakeFiles/isaac_ros_nitros.dir/src/types/type_utility.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/types/nitros_int64.cpp:20:
/home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/types/nitros_int64.hpp:23:10: fatal error: rclcpp/type_adapter.hpp: No such file or directory
   23 | #include "rclcpp/type_adapter.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/isaac_ros_nitros.dir/build.make:188: CMakeFiles/isaac_ros_nitros.dir/src/types/nitros_int64.cpp.o] Error 1
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/types/nitros_camera_info.cpp:24:
/home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/types/nitros_camera_info.hpp:23:10: fatal error: rclcpp/type_adapter.hpp: No such file or directory
   23 | #include "rclcpp/type_adapter.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/isaac_ros_nitros.dir/build.make:146: CMakeFiles/isaac_ros_nitros.dir/src/types/nitros_camera_info.cpp.o] Error 1
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/types/nitros_disparity_image.cpp:28:
/home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/types/nitros_disparity_image.hpp:21:10: fatal error: rclcpp/type_adapter.hpp: No such file or directory
   21 | #include "rclcpp/type_adapter.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/isaac_ros_nitros.dir/build.make:174: CMakeFiles/isaac_ros_nitros.dir/src/types/nitros_disparity_image.cpp.o] Error 1
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/types/nitros_image.cpp:27:
/home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/types/nitros_image.hpp:23:10: fatal error: rclcpp/type_adapter.hpp: No such file or directory
   23 | #include "rclcpp/type_adapter.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/types/nitros_tensor_list.cpp:26:
/home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/types/nitros_tensor_list.hpp:24:10: fatal error: rclcpp/type_adapter.hpp: No such file or directory
   24 | #include "rclcpp/type_adapter.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/isaac_ros_nitros.dir/build.make:160: CMakeFiles/isaac_ros_nitros.dir/src/types/nitros_image.cpp.o] Error 1
make[2]: *** [CMakeFiles/isaac_ros_nitros.dir/build.make:202: CMakeFiles/isaac_ros_nitros.dir/src/types/nitros_tensor_list.cpp.o] Error 1
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/types/nitros_point_cloud.cpp:27:
/home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/types/nitros_point_cloud.hpp:23:10: fatal error: rclcpp/type_adapter.hpp: No such file or directory
   23 | #include "rclcpp/type_adapter.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/isaac_ros_nitros.dir/build.make:216: CMakeFiles/isaac_ros_nitros.dir/src/types/nitros_point_cloud.cpp.o] Error 1
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/nitros_subscriber.cpp:13:
/home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/nitros_subscriber.hpp:26:10: fatal error: negotiated/negotiated_subscription.hpp: No such file or directory
   26 | #include "negotiated/negotiated_subscription.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/isaac_ros_nitros.dir/build.make:258: CMakeFiles/isaac_ros_nitros.dir/src/nitros_subscriber.cpp.o] Error 1
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/nitros_publisher_subscriber_group.hpp:35,
                 from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/nitros_node.hpp:24,
                 from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/nitros_node.cpp:16:
/home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/nitros_publisher.hpp:27:10: fatal error: negotiated/negotiated_publisher.hpp: No such file or directory
   27 | #include "negotiated/negotiated_publisher.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/types/nitros_april_tag_detection_array.cpp:29:
/home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/types/nitros_april_tag_detection_array.hpp:25:10: fatal error: rclcpp/type_adapter.hpp: No such file or directory
   25 | #include "rclcpp/type_adapter.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/isaac_ros_nitros.dir/build.make:76: CMakeFiles/isaac_ros_nitros.dir/src/nitros_node.cpp.o] Error 1
make[2]: *** [CMakeFiles/isaac_ros_nitros.dir/build.make:230: CMakeFiles/isaac_ros_nitros.dir/src/types/nitros_april_tag_detection_array.cpp.o] Error 1
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/nitros_publisher.cpp:13:
/home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/nitros_publisher.hpp:27:10: fatal error: negotiated/negotiated_publisher.hpp: No such file or directory
   27 | #include "negotiated/negotiated_publisher.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/isaac_ros_nitros.dir/build.make:244: CMakeFiles/isaac_ros_nitros.dir/src/nitros_publisher.cpp.o] Error 1
In file included from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/nitros_publisher_subscriber_group.hpp:35,
                 from /home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/nitros_publisher_subscriber_group.cpp:24:
/home/daddywesker/ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/include/isaac_ros_nitros/nitros_publisher.hpp:27:10: fatal error: negotiated/negotiated_publisher.hpp: No such file or directory
   27 | #include "negotiated/negotiated_publisher.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/isaac_ros_nitros.dir/build.make:272: CMakeFiles/isaac_ros_nitros.dir/src/nitros_publisher_subscriber_group.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/isaac_ros_nitros.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
---
Failed   <<< isaac_ros_nitros [5.38s, exited with code 2]

Summary: 5 packages finished [12.0s]
  1 package failed: isaac_ros_nitros
  2 packages had stderr output: isaac_ros_nitros isaac_ros_test
  4 packages not processed

This error appears nevertheless using symlink-install or not during colcon build.

kajanan-nvidia commented 1 year ago

This is because isaac_ros_nitros and isaac_ros_image_pipeline only support Humble as they leverage specific features introduced in it to achieve higher performance.

We've updated the dependencies of this package, since we realized both packages aren't necessary to run this package after reviewing the comments left in this issue. Could you retry by deleting both packages and trying again? The README has also been updated to reflect this.

DaddyWesker commented 1 year ago

So i need to install ros2 humble? Since I'm using linux 20 I'm not sure i can install it without reinstalling my Linux OS. I'll see what i can do, maybe there are some solutions to install humble on my current OS.

kajanan-nvidia commented 1 year ago

Before attempting to reinstall your OS, please take a look at the updated README. The Humble specific dependencies (isaac_ros_image_pipeline and isaac_ros_nitros) shouldn't be necessary to run this package (as reflected in the new README), and nothing specific in this package leverages Humble-specific features yet. You may need to delete the cache (the generated install, log and build folders when running colcon build).

If you plan on using other isaac_ros_* packages, then I would just recommend using the docker setup in that case to evaluate the packages. This will allow you to run ROS2 Humble on a 20.04 machine. The instructions in our quickstart are also geared towards this setup.

DaddyWesker commented 1 year ago

@kajanan-nvidia Okay, I've tried to see new readme and cloned only slam and common folders and then tried to colcon build it. Here is what i've got

Starting >>> isaac_ros_apriltag_interfaces
Starting >>> isaac_ros_visual_slam_interfaces
Starting >>> isaac_ros_common
Starting >>> isaac_ros_tensor_list_interfaces
Finished <<< isaac_ros_common [4.65s]
Finished <<< isaac_ros_apriltag_interfaces [5.21s]
Starting >>> isaac_ros_test          
Finished <<< isaac_ros_tensor_list_interfaces [5.98s]
Finished <<< isaac_ros_visual_slam_interfaces [8.45s]
--- stderr: isaac_ros_test                   
/home/daddywesker/.local/lib/python3.8/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/home/daddywesker/.local/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/home/daddywesker/.local/lib/python3.8/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 0.1.36ubuntu1 is an invalid version and will not be supported in a future release
  warnings.warn(
/home/daddywesker/.local/lib/python3.8/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 1.13.1-unknown is an invalid version and will not be supported in a future release
  warnings.warn(
/home/daddywesker/.local/lib/python3.8/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 0.23ubuntu1 is an invalid version and will not be supported in a future release
  warnings.warn(
---
Finished <<< isaac_ros_test [3.43s]
Starting >>> isaac_ros_visual_slam
--- stderr: isaac_ros_visual_slam                              
/home/daddywesker/ros2_ws/src/isaac_ros_visual_slam/isaac_ros_visual_slam/src/visual_slam_node.cpp:17:10: fatal error: tf2_geometry_msgs/tf2_geometry_msgs.hpp: No such file or directory
   17 | #include "tf2_geometry_msgs/tf2_geometry_msgs.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/visual_slam_node.dir/build.make:76: CMakeFiles/visual_slam_node.dir/src/visual_slam_node.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/daddywesker/ros2_ws/src/isaac_ros_visual_slam/isaac_ros_visual_slam/src/impl/posegraph_vis_helper.cpp:19:10: fatal error: tf2_geometry_msgs/tf2_geometry_msgs.hpp: No such file or directory
   19 | #include "tf2_geometry_msgs/tf2_geometry_msgs.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/visual_slam_node.dir/build.make:146: CMakeFiles/visual_slam_node.dir/src/impl/posegraph_vis_helper.cpp.o] Error 1
/home/daddywesker/ros2_ws/src/isaac_ros_visual_slam/isaac_ros_visual_slam/src/impl/visual_slam_impl.cpp:19:10: fatal error: tf2_geometry_msgs/tf2_geometry_msgs.hpp: No such file or directory
   19 | #include "tf2_geometry_msgs/tf2_geometry_msgs.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/visual_slam_node.dir/build.make:160: CMakeFiles/visual_slam_node.dir/src/impl/visual_slam_impl.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/visual_slam_node.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
---
Failed   <<< isaac_ros_visual_slam [4.27s, exited with code 2]

Summary: 5 packages finished [13.1s]
  1 package failed: isaac_ros_visual_slam
  2 packages had stderr output: isaac_ros_test isaac_ros_visual_slam
DaddyWesker commented 1 year ago

I've stepped on my throat and tried to install isaac via docker. Here is what i've got on colcon build there

Starting >>> isaac_ros_apriltag_interfaces
Starting >>> isaac_ros_visual_slam_interfaces
Starting >>> isaac_ros_common
Starting >>> isaac_ros_tensor_list_interfaces
Finished <<< isaac_ros_apriltag_interfaces [6.51s]                                                                                                                             
Starting >>> isaac_ros_test
Finished <<< isaac_ros_tensor_list_interfaces [7.26s]                                                                                                                           
Finished <<< isaac_ros_common [7.28s]
Finished <<< isaac_ros_visual_slam_interfaces [9.58s]                                                         
--- stderr: isaac_ros_test                   
/usr/local/lib/python3.8/dist-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/usr/local/lib/python3.8/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
---
Finished <<< isaac_ros_test [3.12s]
Starting >>> isaac_ros_visual_slam
[Processing: isaac_ros_visual_slam]                             
Finished <<< isaac_ros_visual_slam [33.6s]                       

Summary: 6 packages finished [43.4s]
  1 package had stderr output: isaac_ros_test

Is that fine?

DaddyWesker commented 1 year ago

Alright, i was able to launch example code using docker. It works. But I'm still getting nowhere trying to launch one of the kitti rosbags using ros2 bag play ../datasets/kitti/rosbags/ros2/kitti_2011_09_29_drive_0071_synced/ --remap /kitti/camera_gray_right/image_raw:=/stereo_camera/right/image /kitti/camera_gray_left/image_raw:=/stereo_camera/left/image /kitti/camera_gray_left/camera_info:=/camera_info_left /kitti/camera_gray_right/camera_info:=/camera_info_right command. Still "Tracker is lost" issue.

hemalshahNV commented 1 year ago

The stderr output is an innocuous warning which will be silence in an upcoming release.