Hello!
I am trying to build Isaac_ros_argus_camera on ubuntu 22.04 and jetpack 6 without docker container. I am encountering quite e few issues regrading the dependencies, I cannot locate most of them. Is there a description on how to build the package outside the docker container?
Thanks in advance!
Hi @patrik14
Welcome to the Isaac ROS forum.
You don’t need any dependencies. Follow the documentation regarding the Isaac ROS argus camera package
If you have issues regarding dependencies, please post the log to support you better.
Best,
Raffaello
Dear Raffaello!
Thank you for the quick response. I think the docker image you provided comes with dependencies that are required. Since I am trying to work without docker I am bumping into some missing packages that I cannot find to install separately.
jetson@jetson-patrik:~/code/isaac_ros$ colcon build --packages-select isaac_ros_argus_camera
Starting >>> isaac_ros_argus_camera
--- stderr: isaac_ros_argus_camera
In file included from /home/jetson/code/isaac_ros/src/isaac_ros_argus_camera/isaac_ros_argus_camera/src/argus_nitros_context.cpp:20:
/home/jetson/code/isaac_ros/src/isaac_ros_argus_camera/isaac_ros_argus_camera/include/isaac_ros_argus_camera/argus_nitros_context.hpp:24:10: fatal error: isaac_ros_nitros/nitros_context.hpp: No such file or directory
24 | #include "isaac_ros_nitros/nitros_context.hpp"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/argus_nitros_context.dir/build.make:76: CMakeFiles/argus_nitros_context.dir/src/argus_nitros_context.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:143: CMakeFiles/argus_nitros_context.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed <<< isaac_ros_argus_camera [7.21s, exited with code 2]
Summary: 0 packages finished [8.11s]
1 package failed: isaac_ros_argus_camera
1 package had stderr output: isaac_ros_argus_camera
jetson@jetson-patrik:~/code/isaac_ros$ colcon build --packages-select gxf_isaac_camera_utils
Starting >>> gxf_isaac_camera_utils
--- stderr: gxf_isaac_camera_utils
In file included from /home/jetson/code/isaac_ros/src/isaac_ros_argus_camera/gxf_isaac_camera_utils/gxf/extensions/camera_utils/camera_utils.cpp:17:
/home/jetson/code/isaac_ros/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"
| ^~~~~~~~~~~~~~~~~~~~~
In file included from /home/jetson/code/isaac_ros/src/isaac_ros_argus_camera/gxf_isaac_camera_utils/gxf/extensions/camera_utils/stereo_camera_synchronizer.cpp:18:
/home/jetson/code/isaac_ros/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.
compilation terminated.
gmake[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
gmake[2]: *** Waiting for unfinished jobs....
gmake[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
gmake[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/gxf_isaac_camera_utils.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed <<< gxf_isaac_camera_utils [2.32s, exited with code 2]
Summary: 0 packages finished [3.23s]
1 package failed: gxf_isaac_camera_utils
1 package had stderr output: gxf_isaac_camera_utils
Hi @patrik14
I think you didn’t install all the necessary dependencies. I just tried on my device, and the build completed successfully.
On the documentation, before to start to compile:
https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_argus_camera/isaac_ros_argus_camera/index.html
Use:
rosdep install --from-paths ${ISAAC_ROS_WS}/src/isaac_ros_argus_camera --ignore-src -y
Best,
Raffaello
Hi!
I also tried that before, but I bumped into the following:
jetson@jetson-patrik:~/code/isaac_ros/src$ rosdep install --from-paths 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]
Best,
Patrik
Hi @patrik14
Thank you for your response. Are you working inside the docker container? It seems like you are in a different environment, judging by the path you posted.
Hi Raffaello!
No, I try to avoid using the docker fully, with docker I am sure it can work, however for our application the usage of docker is not desired, that is why I would like to install the dependencies and build the package without docker.
Best regards,
Patrik
Thank you for your response. Currently, we do not offer a guide for installing all dependencies outside our docker container.
After reviewing the error, it seems that the correct definitions are not found. You can try using Isaac Apt Repository — isaac_ros_docs documentation where the rosdep definitions should be available.
Let me know,
Raffaello
Dear Raffaello!
Thanks to you I was able to install the required dependencies, as a result the package has built successfully. Sadly it is not running. Could you have a look on my error message?
jetson@jetson-patrik:~/code/isaac_ros$ ros2 launch isaac_ros_argus_camera isaac_ros_argus_camera_mono.launch.py
[INFO] [launch]: All log files can be found below /home/jetson/.ros/log/2024-07-16-22-15-58-543314-jetson-patrik-27101
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [component_container_mt-1]: process started with pid [27113]
[component_container_mt-1] [INFO] [1721168159.089718702] [argus_mono_container]: Load Library: /home/jetson/code/isaac_ros/install/isaac_ros_argus_camera/lib/libmono_node.so
[component_container_mt-1] [INFO] [1721168159.142781823] [argus_mono_container]: Found class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::argus::ArgusMonoNode>
[component_container_mt-1] [INFO] [1721168159.142924580] [argus_mono_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::argus::ArgusMonoNode>
[component_container_mt-1] [INFO] [1721168159.152743484] [argus_mono]: [NitrosNode] Initializing NitrosNode
[component_container_mt-1] [INFO] [1721168159.153910921] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/std/libgxf_std.so
[component_container_mt-1] [INFO] [1721168159.168934473] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_gxf_helpers.so
[component_container_mt-1] [INFO] [1721168159.178864485] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_sight.so
[component_container_mt-1] [INFO] [1721168159.189853450] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_atlas.so
[component_container_mt-1] 2024-07-16 22:15:59.216 WARN gxf/std/program.cpp@532: No GXF scheduler specified.
[component_container_mt-1] [INFO] [1721168159.223216040] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/cuda/libgxf_cuda.so
[component_container_mt-1] [INFO] [1721168159.230840877] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_argus.so
[component_container_mt-1] 2024-07-16 22:15:59.260 WARN gxf/std/program.cpp@532: No GXF scheduler specified.
[component_container_mt-1] [INFO] [1721168159.261605511] [argus_mono]: [NitrosNode] Starting NitrosNode
[component_container_mt-1] [INFO] [1721168159.269921958] [argus_mono]: [NitrosNode] Loading extensions
[component_container_mt-1] [INFO] [1721168159.270521853] [argus_mono]: [NitrosContext] Loading extension: gxf/lib/multimedia/libgxf_multimedia.so
[component_container_mt-1] [INFO] [1721168159.278106368] [argus_mono]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_message_compositor.so
[component_container_mt-1] [INFO] [1721168159.280748421] [argus_mono]: [NitrosContext] Loading extension: gxf/lib/serialization/libgxf_serialization.so
[component_container_mt-1] [INFO] [1721168159.291845326] [argus_mono]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_messages.so
[component_container_mt-1] [INFO] [1721168159.311602691] [argus_mono]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_tensorops.so
[component_container_mt-1] [INFO] [1721168159.334223430] [argus_mono]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_rectify.so
[component_container_mt-1] [INFO] [1721168159.344560850] [argus_mono]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_timestamp_correlator.so
[component_container_mt-1] [INFO] [1721168159.363475878] [argus_mono]: [NitrosNode] Loading graph to the optimizer
[component_container_mt-1] [INFO] [1721168159.370058147] [argus_mono]: [NitrosNode] Running optimization
[component_container_mt-1] [INFO] [1721168159.400413966] [argus_mono]: [NitrosNode] Obtaining graph IO group info from the optimizer
[component_container_mt-1] [INFO] [1721168159.411215628] [argus_mono]: [NitrosNode] Starting negotiation...
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/argus_mono' in container '/argus_mono_container'
[component_container_mt-1] [INFO] [1721168160.413325060] [argus_mono]: [NitrosNode] Starting post negotiation setup
[component_container_mt-1] [INFO] [1721168160.413480042] [argus_mono]: [NitrosNode] Getting data format negotiation results
[component_container_mt-1] [INFO] [1721168160.413528108] [argus_mono]: [NitrosPublisher] Negotiation ended with no results
[component_container_mt-1] [INFO] [1721168160.413561837] [argus_mono]: [NitrosPublisher] Use only the compatible publisher: topic_name="/left/image_raw", data_format="nitros_image_rgb8"
[component_container_mt-1] [INFO] [1721168160.413585006] [argus_mono]: [NitrosPublisher] Negotiation ended with no results
[component_container_mt-1] [INFO] [1721168160.413602543] [argus_mono]: [NitrosPublisher] Use only the compatible publisher: topic_name="/left/camera_info", data_format="nitros_camera_info"
[component_container_mt-1] [INFO] [1721168160.414024383] [argus_mono]: [NitrosNode] Exporting the final graph based on the negotiation results
[component_container_mt-1] [INFO] [1721168160.426010474] [argus_mono]: [NitrosNode] Wrote the final top level YAML graph to "/tmp/isaac_ros_nitros/graphs/IROIBOMMDA/IROIBOMMDA.yaml"
[component_container_mt-1] [INFO] [1721168160.426115342] [argus_mono]: [NitrosNode] Loading application
[component_container_mt-1] [INFO] [1721168160.448335778] [argus_mono]: [ArgusCameraNode] postLoadGraphCallback().
[component_container_mt-1] [INFO] [1721168160.448557066] [argus_mono]: [NitrosNode] Initializing and running GXF graph
[component_container_mt-1] libEGL warning: DRI3: failed to query the version
[component_container_mt-1] [INFO] [1721168160.803440325] [argus_mono]: [NitrosNode] Node was started
[component_container_mt-1] 2024-07-16 22:16:01.374 ERROR extensions/hawk/components/argus_camera.cpp@1097: Failed to connect cuda consumer to egl stream 0, Error code = 400
[component_container_mt-1] 2024-07-16 22:16:01.374 WARN gxf/std/entity_executor.cpp@495: Failed to start entity [IROIBOMMDA_argus_camera]
[component_container_mt-1] 2024-07-16 22:16:01.374 WARN gxf/std/event_based_scheduler.cpp@329: Error while executing entity E25 named 'IROIBOMMDA_argus_camera': GXF_FAILURE
[component_container_mt-1] 2024-07-16 22:16:01.376 ERROR gxf/std/entity_executor.cpp@586: Entity [IROIBOMMDA_argus_camera] must be in Started, Tick Pending, Ticking or Idle stage before stopping. Current state is StartPending
[component_container_mt-1] 2024-07-16 22:16:01.803 ERROR gxf/std/entity_executor.cpp@210: Entity with eid 50 not found!
[component_container_mt-1] [WARN] [1721168161.803552009] [argus_mono]: [NitrosNode] The heartbeat entity (eid=50) was stopped. The graph may have been terminated.
[component_container_mt-1] [INFO] [1721168161.808201307] [argus_mono]: [NitrosNode] Terminating the running application
[component_container_mt-1] [INFO] [1721168161.808250237] [argus_mono]: [NitrosContext] Interrupting GXF...
[component_container_mt-1] 2024-07-16 22:16:01.808 ERROR gxf/core/runtime.cpp@1468: Graph interrupt failed with error: GXF_FAILURE
[component_container_mt-1] [ERROR] [1721168161.808414436] [argus_mono]: [NitrosContext] GxfGraphInterrupt Error: GXF_FAILURE
[component_container_mt-1] [INFO] [1721168161.808426308] [argus_mono]: [NitrosContext] Waiting on GXF...
[component_container_mt-1] 2024-07-16 22:16:01.808 ERROR gxf/std/program.cpp@574: wait failed. Deactivating...
[component_container_mt-1] |==================================================================================================================================================================|
[component_container_mt-1] | Job Statistics Report (regular) |
[component_container_mt-1] |==================================================================================================================================================================|
[component_container_mt-1] | Name | Count | Time (Median - 90% - Max) [ms] | Load (%) | Exec(ms) | Variation (Median - 90% - Max) [ns] |
[component_container_mt-1] |------------------------------------------------------------------------------------------------------------------------------------------------------------------|
[component_container_mt-1] |==================================================================================================================================================================|
[component_container_mt-1] |==================================================================================================================================================================|
[component_container_mt-1] | Entity Statistics Report (regular) |
[component_container_mt-1] |==================================================================================================================================================================|
[component_container_mt-1] | Entity Name | Entity State | Count | Time (Median - 90% - Max) [ms] |
[component_container_mt-1] |------------------------------------------------------------------------------------------------------------------------------------------------------------------|
[component_container_mt-1] |==================================================================================================================================================================|
[component_container_mt-1] 2024-07-16 22:16:01.812 WARN gxf/std/entity_warden.cpp@464: Component of type nvidia::gxf::EventBasedScheduler, cid 65 failed to deinitialize with code GXF_FAILURE
[component_container_mt-1] 2024-07-16 22:16:01.812 ERROR gxf/core/runtime.cpp@751: Could not deinitialize entity 'IROIBOMMDA_KORQNCZDNS' (E63): GXF_FAILURE
[component_container_mt-1] 2024-07-16 22:16:01.812 ERROR gxf/std/program.cpp@576: Deactivation failed.
[component_container_mt-1] 2024-07-16 22:16:01.812 ERROR gxf/core/runtime.cpp@1476: Graph wait failed with error: GXF_FAILURE
[component_container_mt-1] [ERROR] [1721168161.812488992] [argus_mono]: [NitrosContext] GxfGraphWait Error: GXF_FAILURE
[component_container_mt-1] [INFO] [1721168161.812506048] [argus_mono]: [NitrosNode] Application termination done
[component_container_mt-1] WARNING Argus: 3 client objects still exist during shutdown:
[component_container_mt-1] 281472702101136 (0xfffef00047e0)
[component_container_mt-1] 281472719193216 (0xfffef00045f0)
[component_container_mt-1] 281472719193376 (0xfffef00046b0)
[INFO] [component_container_mt-1]: process has finished cleanly [pid 27113]
Dear Raffaello!
Out of curiosity I did the docker method. however I encounter the exact same error message.
Probably this is the root cause:
[component_container_mt-1] 2024-07-17 20:23:12.474 ERROR extensions/hawk/components/argus_camera.cpp@1097: Failed to connect cuda consumer to egl stream 0, Error code = 400
I would like to use an imx219 camera, do I need to modify something? I could not find any instructions for that.
Thank you,
Patrik
Hi @patrik14 ,
It seems that your error is related to a compatibility issue between Docker and CUDA on the host. Another possible reason could be related to the camera you are testing.
Please look at the list of cameras we testest at this link: Isaac ROS Argus Camera — isaac_ros_docs documentation
Hi!
I use the camera LI-NANO-CB-IMX219-090H, which should be supported.
Do you have any suggestions on how to debug the CUDA problem?
Thank you,
Patrik