Isaac ROS/isaac_ros_argus_camera for JetPack 5.1.1(Jetson AGX Orin)

Hi! I have problems with the Isaac ROS container on JetPack 5.1.1(ubuntu 20.04, ROS2 humble). To work with Leopard IMX390 cameras, apparently I need the isaac_ros_argus_camera package. I am working with the v0.30.0-dp branch of the isaac_ros_common repository. I’ve customized Dockerfile.ros2_humble a bit:
Dockerfile.aarch64.ros2_humble.txt (11.6 KB)
the container starts without problems:

Running isaac_ros_dev-aarch64-container
Get:1 http://ports.ubuntu.com/ubuntu-ports focal InRelease [265 kB]
Get:2 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa  InRelease [1,579 B]      
Get:3 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa  Packages [1,181 kB]                   
Get:4 http://packages.ros.org/ros2/ubuntu focal InRelease [4,685 B]                  
Get:5 http://ports.ubuntu.com/ubuntu-ports focal-updates InRelease [128 kB]                           
Get:6 http://ports.ubuntu.com/ubuntu-ports focal-backports InRelease [128 kB]            
Get:7 http://ports.ubuntu.com/ubuntu-ports focal-security InRelease [128 kB]    
Get:8 http://packages.ros.org/ros2/ubuntu focal/main arm64 Packages [1,173 kB]
Get:9 http://ports.ubuntu.com/ubuntu-ports focal/restricted arm64 Packages [1,317 B]
Get:10 http://ports.ubuntu.com/ubuntu-ports focal/main arm64 Packages [1,234 kB]
Get:11 http://ports.ubuntu.com/ubuntu-ports focal/universe arm64 Packages [11.1 MB]
Get:12 http://ports.ubuntu.com/ubuntu-ports focal/multiverse arm64 Packages [139 kB]           
Get:13 http://ports.ubuntu.com/ubuntu-ports focal-updates/multiverse arm64 Packages [12.0 kB]
Get:14 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 Packages [3,369 kB]       
Get:15 http://ports.ubuntu.com/ubuntu-ports focal-updates/restricted arm64 Packages [58.9 kB] 
Get:16 http://ports.ubuntu.com/ubuntu-ports focal-updates/universe arm64 Packages [1,446 kB]  
Get:17 http://ports.ubuntu.com/ubuntu-ports focal-backports/main arm64 Packages [54.8 kB]     
Get:18 http://ports.ubuntu.com/ubuntu-ports focal-backports/universe arm64 Packages [27.8 kB] 
Get:19 http://ports.ubuntu.com/ubuntu-ports focal-security/multiverse arm64 Packages [5,924 B] 
Get:20 http://ports.ubuntu.com/ubuntu-ports focal-security/universe arm64 Packages [1,159 kB] 
Get:21 http://ports.ubuntu.com/ubuntu-ports focal-security/restricted arm64 Packages [58.6 kB]
Get:22 http://ports.ubuntu.com/ubuntu-ports focal-security/main arm64 Packages [2,996 kB]     
Fetched 24.7 MB in 4s (6,183 kB/s)                                                            
Reading package lists... Done
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Skip end-of-life distro "dashing"
Skip end-of-life distro "eloquent"
Skip end-of-life distro "foxy"
Skip end-of-life distro "galactic"
Skip end-of-life distro "groovy"
Add distro "humble"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Add distro "iron"
Skip end-of-life distro "jade"
Add distro "jazzy"
Skip end-of-life distro "kinetic"
Skip end-of-life distro "lunar"
Skip end-of-life distro "melodic"
Add distro "noetic"
Add distro "rolling"
updated cache in /home/admin/.ros/rosdep/sources.cache
udev: unrecognized service

After " Add the repository to your apt sources.":

wget -qO - https://isaac.download.nvidia.com/isaac-ros/repos.key | sudo apt-key add -
grep -qxF "deb https://isaac.download.nvidia.com/isaac-ros/ubuntu/main $(lsb_release -cs) main" /etc/apt/sources.list || \
echo "deb https://isaac.download.nvidia.com/isaac-ros/ubuntu/main $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update

we have

Hit:1 http://ports.ubuntu.com/ubuntu-ports focal InRelease
Hit:2 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa  InRelease        
Hit:3 http://ports.ubuntu.com/ubuntu-ports focal-updates InRelease                               
Hit:4 http://ports.ubuntu.com/ubuntu-ports focal-backports InRelease                             
Hit:5 http://ports.ubuntu.com/ubuntu-ports focal-security InRelease        
Hit:6 http://packages.ros.org/ros2/ubuntu focal InRelease           
Get:7 https://isaac.download.nvidia.com/isaac-ros/ubuntu/main focal InRelease [4,316 B]
Get:8 https://isaac.download.nvidia.com/isaac-ros/ubuntu/main focal/main arm64 Packages [514 kB]
Fetched 519 kB in 1s (463 kB/s)
Reading package lists... Done

When I try to install a package ros-humble-isaac-ros-argus-camera, I get problems with dependencies:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ros-humble-isaac-ros-argus-camera : Depends: ros-humble-isaac-ros-image-proc but it is not going to be installed
                                     Depends: ros-humble-isaac-ros-nitros but it is not going to be installed
                                     Depends: ros-humble-isaac-ros-nitros-camera-info-type but it is not going to be installed
                                     Depends: ros-humble-isaac-ros-nitros-image-type but it is not going to be installed

If we try to install these packages, we will eventually stop at negotiated packages.
ros2 pkg list shows that these packages are there:

negotiated
negotiated_examples
negotiated_interfaces

Next, I try to install the package manually according to the documentation:

rosdep install --from-paths /workspaces/isaac_ros-dev/src/isaac_ros_argus_camera --ignore-src -y
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
isaac_ros_argus_camera: Cannot locate rosdep definition for [gxf_isaac_timestamp_correlator]
gxf_isaac_camera_utils: Cannot locate rosdep definition for [gxf_isaac_messages]

If you do not pay attention to the result of rosdep and run the build:

colcon build --symlink-install --packages-up-to isaac_ros_argus_camera
Starting >>> isaac_ros_common
Starting >>> isaac_ros_test
--- stderr: isaac_ros_common                                                             
CMake Error at CMakeLists.txt:22 (find_package):
  By not providing "Findvpi.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "vpi", but
  CMake did not find one.

  Could not find a package configuration file provided by "vpi" with any of
  the following names:

    vpiConfig.cmake
    vpi-config.cmake

  Add the installation prefix of "vpi" to CMAKE_PREFIX_PATH or set "vpi_DIR"
  to a directory containing one of the above files.  If "vpi" provides a
  separate development package or SDK, be sure it has been installed.


---
Failed   <<< isaac_ros_common [1.48s, exited with code 1]
Aborted  <<< isaac_ros_test [1.63s]                     

Summary: 0 packages finished [2.24s]
  1 package failed: isaac_ros_common
  1 package aborted: isaac_ros_test
  1 package had stderr output: isaac_ros_common
  2 packages not processed

If you use a non-customized dockerfile:
Dockerfile.aarch64.ros2_humble.txt (510 Bytes)

Then with “sudo apt-get install -y ros-humble-isaac-ros-argus-camera” we have the same dependency(negotiated) problem as before. ros2 pkg list still says that packages exist.
When building from source, rosdep still complains about the lack of:

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
gxf_isaac_camera_utils: Cannot locate rosdep definition for [gxf_isaac_messages]
isaac_ros_argus_camera: Cannot locate rosdep definition for [gxf_isaac_timestamp_correlator]

and when trying to build, the result is slightly different:
we have this if we have GXF and NITROS repositories on the host and the docker image is assembled with .isaac_ros_common-config:

CONFIG_IMAGE_KEY=ros2_humble.user.gxf
CONFIG_DOCKER_SEARCH_DIRS=(…/…/gxf/docker)

The build GXF in the container itself failed

colcon build --symlink-install --packages-up-to isaac_ros_argus_cameracolcon build --symlink-install --packages-up-to isaac_ros_argus_camera
Starting >>> isaac_ros_common
Starting >>> isaac_ros_test
Finished <<< isaac_ros_test [3.49s]                                                           
Finished <<< isaac_ros_common [9.66s]                      
Starting >>> isaac_ros_gxf
Starting >>> isaac_ros_nitros_interfaces
Starting >>> gxf_isaac_timestamp_correlator
Finished <<< gxf_isaac_timestamp_correlator [3.68s]                                                                                                             
Finished <<< isaac_ros_gxf [5.36s]                                                                               
Starting >>> gxf_isaac_gems
Starting >>> gxf_isaac_message_compositor
Starting >>> gxf_isaac_optimizer                                                                                                                
Starting >>> gxf_isaac_sight
Starting >>> gxf_isaac_argus
Finished <<< isaac_ros_nitros_interfaces [9.14s]                                                                                                                                                          
Finished <<< gxf_isaac_optimizer [4.30s]                                                                                                                                                   
Finished <<< gxf_isaac_sight [4.41s]                                                                                                                                               
Finished <<< gxf_isaac_message_compositor [4.52s]
Finished <<< gxf_isaac_argus [4.44s]                                                                
Finished <<< gxf_isaac_gems [4.85s]                    
Starting >>> gxf_isaac_atlas
Starting >>> gxf_isaac_gxf_helpers               
Starting >>> gxf_isaac_messages
Finished <<< gxf_isaac_atlas [3.73s]                                                                                                            
Finished <<< gxf_isaac_gxf_helpers [3.75s]
Starting >>> isaac_ros_nitros
Finished <<< gxf_isaac_messages [3.83s]                                                                 
Starting >>> gxf_isaac_camera_utils
--- stderr: gxf_isaac_camera_utils                                                                        
CMake Error at /workspaces/isaac_ros-dev/install/isaac_ros_gxf/share/isaac_ros_gxf/cmake/export_isaac_ros_gxfExport.cmake:56 (set_target_properties):
  The link interface of target "isaac_ros_gxf::Core" contains:

    magic_enum::magic_enum

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  /workspaces/isaac_ros-dev/install/isaac_ros_gxf/share/isaac_ros_gxf/cmake/ament_cmake_export_targets-extras.cmake:9 (include)
  /workspaces/isaac_ros-dev/install/isaac_ros_gxf/share/isaac_ros_gxf/cmake/isaac_ros_gxfConfig.cmake:41 (include)
  /workspaces/isaac_ros-dev/install/gxf_isaac_gems/share/gxf_isaac_gems/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
  /workspaces/isaac_ros-dev/install/gxf_isaac_gems/share/gxf_isaac_gems/cmake/gxf_isaac_gemsConfig.cmake:41 (include)
  /opt/ros/humble/install/share/ament_cmake_auto/cmake/ament_auto_find_build_dependencies.cmake:67 (find_package)
  CMakeLists.txt:26 (ament_auto_find_build_dependencies)


CMake Error at /workspaces/isaac_ros-dev/install/gxf_isaac_messages/share/gxf_isaac_messages/cmake/export_gxf_isaac_messagesExport.cmake:56 (set_target_properties):
  The link interface of target "gxf_isaac_messages::gxf_isaac_messages"
  contains:

    magic_enum::magic_enum

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  /workspaces/isaac_ros-dev/install/gxf_isaac_messages/share/gxf_isaac_messages/cmake/ament_cmake_export_targets-extras.cmake:9 (include)
  /workspaces/isaac_ros-dev/install/gxf_isaac_messages/share/gxf_isaac_messages/cmake/gxf_isaac_messagesConfig.cmake:41 (include)
  /opt/ros/humble/install/share/ament_cmake_auto/cmake/ament_auto_find_build_dependencies.cmake:67 (find_package)
  CMakeLists.txt:26 (ament_auto_find_build_dependencies)


CMake Generate step failed.  Build files cannot be regenerated correctly.
---
Failed   <<< gxf_isaac_camera_utils [3.54s, exited with code 1]
Aborted  <<< isaac_ros_nitros [3.91s]                              

Summary: 13 packages finished [28.1s]
  1 package failed: gxf_isaac_camera_utils
  1 package aborted: isaac_ros_nitros
  2 packages had stderr output: gxf_isaac_camera_utils isaac_ros_nitros
  3 packages not processed

It’s without GXF/NITROS repositories:

admin@EAC-6000:/workspaces/isaac_ros-dev$ rosdep install --from-paths /workspaces/isaac_ros-dev/src/isaac_ros_argus_camera --ignore-src -y
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
gxf_isaac_camera_utils: Cannot locate rosdep definition for [gxf_isaac_messages]
isaac_ros_argus_camera: Cannot locate rosdep definition for [gxf_isaac_timestamp_correlator]
admin@EAC-6000:/workspaces/isaac_ros-dev$ colcon build --symlink-install --packages-up-to isaac_ros_argus_camera
Starting >>> isaac_ros_common
Starting >>> isaac_ros_test
Finished <<< isaac_ros_test [3.06s]                                                      
Finished <<< isaac_ros_common [9.63s]                     
Starting >>> gxf_isaac_camera_utils
--- stderr: gxf_isaac_camera_utils                              
In file included from /workspaces/isaac_ros-dev/src/isaac_ros_argus_camera/gxf_isaac_camera_utils/gxf/extensions/camera_utils/camera_utils.cpp:17:
/workspaces/isaac_ros-dev/src/isaac_ros_argus_camera/gxf_isaac_camera_utils/gxf/extensions/camera_utils/stereo_camera_synchronizer.hpp:19:10: fatal error: gxf/std/codelet.hpp: No such file or directory
   19 | #include "gxf/std/codelet.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /workspaces/isaac_ros-dev/src/isaac_ros_argus_camera/gxf_isaac_camera_utils/gxf/extensions/camera_utils/stereo_camera_synchronizer.cpp:18:
/workspaces/isaac_ros-dev/src/isaac_ros_argus_camera/gxf_isaac_camera_utils/gxf/extensions/camera_utils/stereo_camera_synchronizer.hpp:19:10: fatal error: gxf/std/codelet.hpp: No such file or directory
   19 | #include "gxf/std/codelet.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/gxf_isaac_camera_utils.dir/build.make:76: CMakeFiles/gxf_isaac_camera_utils.dir/gxf/extensions/camera_utils/camera_utils.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/gxf_isaac_camera_utils.dir/build.make:90: CMakeFiles/gxf_isaac_camera_utils.dir/gxf/extensions/camera_utils/stereo_camera_synchronizer.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/gxf_isaac_camera_utils.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
---
Failed   <<< gxf_isaac_camera_utils [3.47s, exited with code 2]

Summary: 2 packages finished [13.5s]
  1 package failed: gxf_isaac_camera_utils
  1 package had stderr output: gxf_isaac_camera_utils
  1 package not processed
admin@EAC-6000:/workspaces/isaac_ros-dev$ exit
~/workspaces/isaac_ros-dev/src/isaac_ros_common

Hi @111384

Welcome to the Isaac ROS forum.

You are working with an old Isaac ROS release, and your issue may be related to installing an old Isaac ROS package from the APT configuration.

Please follow the guide: Isaac Apt Repository — isaac_ros_docs documentation

  1. All Isaac ROS packages pre-built for the currently supported platforms.
  2. ROS 2 Humble packages for Jetson users running JetPack 5.xFor those users interested in running third-party, community-contributed ROS packages other than Isaac ROS packages on JetPack 5.x (based on Ubuntu 20.04 Focal), NVIDIA runs an instance of the official ROS Buildfarm to produce ROS 2 Humble packages back-ported for Ubuntu 20.04 Focal.
  3. Auxiliary packages to improve developer experience or to support a legacy OS.

Let me know if this helps to fix your issue.

Best,
Raffaello

Could you tell me which release to use? When I tried to work with the latest release (release-3), I had problems with CUDA. Somewhere I found information that release-dp3(tag v0.30.0-dp) is suitable for Jetpack 5.1.1(35.3.1), but as I understood it, there are no packages I need. The manufacturer of our computer (based on Jetson GX Orion) has the latest firmware version, Jetpack 5.1.2(35.4.1). But the current firmware on our computer is still 5.1.1.

Hi @111384

I asked internally, and for the 0.30.0 DP release, we no longer have the Debian packages available.

The source install was bugged with some files missing that were fixed in the next releases.

Do you have restrictions on moving to the latest Isaac ROS with the latest Jetpack? It will help you fix these bugs.

Raffaello

Thanks for your answers! Yes, we are limited to choosing the version by the computer manufacturer. There are only jetpack 5.1.1(35.3.1) and jetpack 5.1.2(35.4.1). As I mentioned, at the moment we have jetpack 5.1.1(35.3.1). If we upgrade to jetpack 5.1.2(35.4.1), will we be able to work with isaac ROS and with the isaac_ros_argus_camera package. Are Debian packages available for 5.1.2(35.4.1)? And which release of isaac ROS is suitable for 5.1.2(35.4.1)?

Hi @111384

Thank you for your reply.

No, these Debian packages are no longer available for this release.

For Jetpack 5.1.2 is available Isaac ROS 2.0

In this case, the Debians are available. We will soon release the old documentation related to this Isaac ROS version.

Raffaello

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.