stereolabs / zed-ros2-wrapper

ROS 2 wrapper for the ZED SDK
https://www.stereolabs.com/docs/ros2/
Apache License 2.0
154 stars 154 forks source link

Error opening camera: NO GPU DETECTED with Jetson Nano #150

Closed mschuepbach closed 1 year ago

mschuepbach commented 1 year ago

Preliminary Checks

Description

This issue is similar to #136, but I have a Jetson Nano in my case.

I am using the Dockerfile.l4t35_1-humble-release dockerfile.

Steps to Reproduce

  1. Build the container sudo docker build -t zed-ros2-wrapper -f Dockerfile.l4t35_1-humble-release .
  2. Run the container sudo docker run --runtime nvidia --gpus all --ipc=host --pid=host --network host --privileged -it -e DISPLAY -v /dev/shm:/dev/shm -v /tmp/.X11-unix/:/tmp/.X11-unix zed-ros2-wrapper
  3. Launch the zed ros2 wrapper ros2 launch zed_wrapper zed2.launch.py

Expected Result

Being able to launch the node

Actual Result

[INFO] [launch]: All log files can be found below /root/.ros/log/2023-04-30-21-10-08-579635-jetson-9905 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [robot_state_publisher-1]: process started with pid [9908] [INFO] [zed_wrapper-2]: process started with pid [9910] [robot_state_publisher-1] [INFO] [1682881810.513883056] [zed2.zed_state_publisher]: got segment base_link [robot_state_publisher-1] [INFO] [1682881810.514196867] [zed2.zed_state_publisher]: got segment zed2_baro_link [robot_state_publisher-1] [INFO] [1682881810.514255462] [zed2.zed_state_publisher]: got segment zed2_base_link [robot_state_publisher-1] [INFO] [1682881810.514297963] [zed2.zed_state_publisher]: got segment zed2_camera_center [robot_state_publisher-1] [INFO] [1682881810.514336298] [zed2.zed_state_publisher]: got segment zed2_left_camera_frame [robot_state_publisher-1] [INFO] [1682881810.514376455] [zed2.zed_state_publisher]: got segment zed2_left_camera_optical_frame [robot_state_publisher-1] [INFO] [1682881810.514412863] [zed2.zed_state_publisher]: got segment zed2_mag_link [robot_state_publisher-1] [INFO] [1682881810.514448801] [zed2.zed_state_publisher]: got segment zed2_right_camera_frame [robot_state_publisher-1] [INFO] [1682881810.514482031] [zed2.zed_state_publisher]: got segment zed2_right_camera_optical_frame [robot_state_publisher-1] [INFO] [1682881810.514515470] [zed2.zed_state_publisher]: got segment zed2_temp_left_link [robot_state_publisher-1] [INFO] [1682881810.514549325] [zed2.zed_state_publisher]: got segment zed2_temp_right_link

[zed_wrapper-2] [INFO] [1682881810.651922992] [zed2.zed_node]: ZED Camera Component

[zed_wrapper-2] [INFO] [1682881810.652016068] [zed2.zed_node]: namespace: /zed2 [zed_wrapper-2] [INFO] [1682881810.652055964] [zed2.zed_node]: node name: zed_node

[zed_wrapper-2] [INFO] [1682881810.652177635] [zed2.zed_node]: DEBUG parameters [zed_wrapper-2] [INFO] [1682881810.652428215] [zed2.zed_node]: Debug Common: FALSE [zed_wrapper-2] [INFO] [1682881810.652723171] [zed2.zed_node]: Debug Video/Depth: FALSE [zed_wrapper-2] [INFO] [1682881810.653060628] [zed2.zed_node]: Debug Control settings: FALSE [zed_wrapper-2] [INFO] [1682881810.653297875] [zed2.zed_node]: Debug Point Cloud: FALSE [zed_wrapper-2] [INFO] [1682881810.653498609] [zed2.zed_node]: Debug GNSS: FALSE [zed_wrapper-2] [INFO] [1682881810.653663354] [zed2.zed_node]: Debug Positional Tracking: FALSE [zed_wrapper-2] [INFO] [1682881810.653916538] [zed2.zed_node]: Debug sensors: FALSE [zed_wrapper-2] [INFO] [1682881810.654233734] [zed2.zed_node]: Debug Mapping: FALSE [zed_wrapper-2] [INFO] [1682881810.654521503] [zed2.zed_node]: Debug Object Detection: FALSE [zed_wrapper-2] [INFO] [1682881810.654788125] [zed2.zed_node]: Debug Body Tracking: FALSE [zed_wrapper-2] [INFO] [1682881810.654920160] [zed2.zed_node]: GENERAL parameters [zed_wrapper-2] [INFO] [1682881810.655267670] [zed2.zed_node]: SVO: '' [zed_wrapper-2] [INFO] [1682881810.655632472] [zed2.zed_node]: Camera model: zed2 - ZED 2 [zed_wrapper-2] [INFO] [1682881810.655902479] [zed2.zed_node]: SDK Verbose: 1 [zed_wrapper-2] [INFO] [1682881810.656121288] [zed2.zed_node]: Camera name: zed2 [zed_wrapper-2] [INFO] [1682881810.656307074] [zed2.zed_node]: Camera ID: 0 [zed_wrapper-2] [INFO] [1682881810.656506819] [zed2.zed_node]: Camera SN: 0

[zed_wrapper-2] [INFO] [1682881810.656985426] [zed2.zed_node]: Camera reconnection temptatives: 5 [zed_wrapper-2] [INFO] [1682881810.657242413] [zed2.zed_node]: Camera framerate: 30 [zed_wrapper-2] [INFO] [1682881810.657515806] [zed2.zed_node]: GPU ID: -1 [zed_wrapper-2] [INFO] [1682881810.657926599] [zed2.zed_node]: Camera resolution: HD720 [zed_wrapper-2] [INFO] [1682881810.658197648] [zed2.zed_node]: Publishing resolution: MEDIUM [zed_wrapper-2] [INFO] [1682881810.658608806] [zed2.zed_node]: Region of interest: [] [zed_wrapper-2] [INFO] [1682881810.658947565] [zed2.zed_node]: Camera self calibration: TRUE [zed_wrapper-2] [INFO] [1682881810.659173561] [zed2.zed_node]: Camera flip: FALSE

[zed_wrapper-2] [INFO] [1682881810.659487424] [zed2.zed_node]: VIDEO parameters [zed_wrapper-2] [INFO] [1682881810.659953583] [zed2.zed_node]: [DYN] Brightness: 4 [zed_wrapper-2] [INFO] [1682881810.660393387] [zed2.zed_node]: [DYN] Contrast: 4 [zed_wrapper-2] [INFO] [1682881810.660608758] [zed2.zed_node]: [DYN] Hue: 0 [zed_wrapper-2] [INFO] [1682881810.661051531] [zed2.zed_node]: [DYN] Saturation: 4 [zed_wrapper-2] [INFO] [1682881810.661457792] [zed2.zed_node]: [DYN] Sharpness: 4 [zed_wrapper-2] [INFO] [1682881810.661872127] [zed2.zed_node]: [DYN] Gamma: 8 [zed_wrapper-2] [INFO] [1682881810.662402038] [zed2.zed_node]: [DYN] Auto Exposure/Gain: TRUE [zed_wrapper-2] [INFO] [1682881810.662689806] [zed2.zed_node]: [DYN] Exposure: 80 [zed_wrapper-2] [INFO] [1682881810.663007992] [zed2.zed_node]: [DYN] Gain: 80 [zed_wrapper-2] [INFO] [1682881810.663223571] [zed2.zed_node]: [DYN] Auto White Balance: TRUE [zed_wrapper-2] [INFO] [1682881810.663561237] [zed2.zed_node]: [DYN] White Balance Temperature: 42 [zed_wrapper-2] [INFO] [1682881810.663765722] [zed2.zed_node]: Video QoS History: KEEP_LAST [zed_wrapper-2] [INFO] [1682881810.664016614] [zed2.zed_node]: Video QoS History depth: 1 [zed_wrapper-2] [INFO] [1682881810.664249121] [zed2.zed_node]: Video QoS Reliability: RELIABLE [zed_wrapper-2] [INFO] [1682881810.664499336] [zed2.zed_node]: * Video QoS Durability: VOLATILE [zed_wrapper-2] [INFO] [1682881810.664576109] [zed2.zed_node]: DEPTH parameters [zed_wrapper-2] [INFO] [1682881810.664855753] [zed2.zed_node]: * Depth mode: NEURAL [4]

[zed_wrapper-2] [INFO] [1682881810.665542907] [zed2.zed_node]: Depth Stabilization: 1 [zed_wrapper-2] [INFO] [1682881810.665818280] [zed2.zed_node]: OpenNI mode (16bit point cloud): FALSE

[zed_wrapper-2] [INFO] [1682881810.666439652] [zed2.zed_node]: [DYN] Depth Confidence: 50 [zed_wrapper-2] [INFO] [1682881810.666663772] [zed2.zed_node]: [DYN] Depth Texture Confidence: 100 [zed_wrapper-2] [INFO] [1682881810.667138525] [zed2.zed_node]: [DYN] Remove saturated areas: TRUE [zed_wrapper-2] [INFO] [1682881810.667671405] [zed2.zed_node]: Depth QoS History: KEEP_LAST [zed_wrapper-2] [INFO] [1682881810.668230796] [zed2.zed_node]: Depth QoS History depth: 1 [zed_wrapper-2] [INFO] [1682881810.668745915] [zed2.zed_node]: Depth QoS Reliability: RELIABLE [zed_wrapper-2] [INFO] [1682881810.668995609] [zed2.zed_node]: * Depth QoS Durability: VOLATILE [zed_wrapper-2] [INFO] [1682881810.669081028] [zed2.zed_node]: GNSS FUSION parameters [zed_wrapper-2] [INFO] [1682881810.669392704] [zed2.zed_node]: * GNSS fusion enabled: FALSE [zed_wrapper-2] [INFO] [1682881810.669467185] [zed2.zed_node]: POSITIONAL TRACKING parameters [zed_wrapper-2] [INFO] [1682881810.669782506] [zed2.zed_node]: Positional tracking enabled: TRUE [zed_wrapper-2] [INFO] [1682881810.670228769] [zed2.zed_node]: Base frame id: base_link [zed_wrapper-2] [INFO] [1682881810.670511329] [zed2.zed_node]: Map frame id: map [zed_wrapper-2] [INFO] [1682881810.670763524] [zed2.zed_node]: Odometry frame id: odom [zed_wrapper-2] [INFO] [1682881810.670979988] [zed2.zed_node]: Broadcast Odometry TF: TRUE [zed_wrapper-2] [INFO] [1682881810.671170306] [zed2.zed_node]: Broadcast Pose TF: TRUE

[zed_wrapper-2] [INFO] [1682881810.671547452] [zed2.zed_node]: [DYN] Depth minimum range: 0 [zed_wrapper-2] [INFO] [1682881810.671753395] [zed2.zed_node]: [DYN] TF timestamp offset: 0 [zed_wrapper-2] [INFO] [1682881810.671972672] [zed2.zed_node]: [DYN] Path publishing rate: 2 [zed_wrapper-2] [INFO] [1682881810.672167574] [zed2.zed_node]: Path history lenght: -1 [zed_wrapper-2] [INFO] [1682881810.672393569] [zed2.zed_node]: Initial pose: [0,0,0,0,0,0,] [zed_wrapper-2] [INFO] [1682881810.672612847] [zed2.zed_node]: Area Memory: TRUE [zed_wrapper-2] [INFO] [1682881810.672905511] [zed2.zed_node]: Area Memory DB: [zed_wrapper-2] [INFO] [1682881810.673215155] [zed2.zed_node]: Camera is static: FALSE

[zed_wrapper-2] [INFO] [1682881810.674143775] [zed2.zed_node]: Floor Alignment: FALSE [zed_wrapper-2] [INFO] [1682881810.674499618] [zed2.zed_node]: Init Odometry with first valid pose data: TRUE [zed_wrapper-2] [INFO] [1682881810.674822388] [zed2.zed_node]: 2D mode: FALSE [zed_wrapper-2] [INFO] [1682881810.675260786] [zed2.zed_node]: Pose/Odometry QoS History: KEEP_LAST [zed_wrapper-2] [INFO] [1682881810.675513189] [zed2.zed_node]: Pose/Odometry QoS History depth: 1 [zed_wrapper-2] [INFO] [1682881810.675789499] [zed2.zed_node]: Pose/Odometry QoS Reliability: RELIABLE [zed_wrapper-2] [INFO] [1682881810.676014297] [zed2.zed_node]: * Pose/Odometry QoS Durability: VOLATILE [zed_wrapper-2] [INFO] [1682881810.676081903] [zed2.zed_node]: SENSORS STACK parameters [zed_wrapper-2] [INFO] [1682881810.676370400] [zed2.zed_node]: Sensors Camera Sync: FALSE [zed_wrapper-2] [INFO] [1682881810.676619939] [zed2.zed_node]: Sensors publishing rate: 200 Hz [zed_wrapper-2] [INFO] [1682881810.676858695] [zed2.zed_node]: Sensors QoS History: KEEP_LAST [zed_wrapper-2] [INFO] [1682881810.677053805] [zed2.zed_node]: Sensors QoS History depth: 1 [zed_wrapper-2] [INFO] [1682881810.677236050] [zed2.zed_node]: Sensors QoS Reliability: RELIABLE [zed_wrapper-2] [INFO] [1682881810.677409023] [zed2.zed_node]: Sensors QoS Durability: VOLATILE [zed_wrapper-2] [INFO] [1682881810.677466786] [zed2.zed_node]: Spatial Mapping parameters [zed_wrapper-2] [INFO] [1682881810.677648770] [zed2.zed_node]: * Spatial Mapping Enabled: FALSE

[zed_wrapper-2] [INFO] [1682881810.678506502] [zed2.zed_node]: Clicked point topic: /clicked_point [zed_wrapper-2] [INFO] [1682881810.678805469] [zed2.zed_node]: Sensors QoS History: KEEP_LAST [zed_wrapper-2] [INFO] [1682881810.679015423] [zed2.zed_node]: Sensors QoS History depth: 1 [zed_wrapper-2] [INFO] [1682881810.679272618] [zed2.zed_node]: Sensors QoS Reliability: RELIABLE [zed_wrapper-2] [INFO] [1682881810.679536167] [zed2.zed_node]: * Sensors QoS Durability: VOLATILE [zed_wrapper-2] [INFO] [1682881810.679600179] [zed2.zed_node]: Object Det. parameters [zed_wrapper-2] [INFO] [1682881810.679792372] [zed2.zed_node]: Object Det. enabled: FALSE [zed_wrapper-2] [INFO] [1682881810.679990763] [zed2.zed_node]: Object Det. model: MULTI CLASS BOX MEDIUM [zed_wrapper-2] [INFO] [1682881810.680413119] [zed2.zed_node]: * Object Det. allow reduced precision: TRUE

[zed_wrapper-2] [INFO] [1682881810.680917768] [zed2.zed_node]: * Object Det. min. confidence: 50

[zed_wrapper-2] [INFO] [1682881810.681899827] [zed2.zed_node]: Object Det. tracking: TRUE [zed_wrapper-2] [INFO] [1682881810.682353278] [zed2.zed_node]: Object Filtering mode: 1 - NMS 3D [zed_wrapper-2] [INFO] [1682881810.682642504] [zed2.zed_node]: MultiClassBox people: FALSE [zed_wrapper-2] [INFO] [1682881810.683003765] [zed2.zed_node]: MultiClassBox vehicles: TRUE [zed_wrapper-2] [INFO] [1682881810.683350441] [zed2.zed_node]: MultiClassBox bags: TRUE [zed_wrapper-2] [INFO] [1682881810.683743213] [zed2.zed_node]: MultiClassBox animals: TRUE [zed_wrapper-2] [INFO] [1682881810.684060044] [zed2.zed_node]: MultiClassBox electronics: TRUE [zed_wrapper-2] [INFO] [1682881810.684523183] [zed2.zed_node]: MultiClassBox fruits and vegetables: TRUE [zed_wrapper-2] [INFO] [1682881810.684950799] [zed2.zed_node]: MultiClassBox sport-related objects: TRUE [zed_wrapper-2] [INFO] [1682881810.685257787] [zed2.zed_node]: Obj. Det. QoS History: KEEP_LAST [zed_wrapper-2] [INFO] [1682881810.685519929] [zed2.zed_node]: Obj. Det. QoS History depth: 1 [zed_wrapper-2] [INFO] [1682881810.685805562] [zed2.zed_node]: Obj. Det. QoS Reliability: RELIABLE [zed_wrapper-2] [INFO] [1682881810.686186198] [zed2.zed_node]: * Obj. Det. QoS Durability: VOLATILE [zed_wrapper-2] [INFO] [1682881810.686275992] [zed2.zed_node]: Body Track. parameters [zed_wrapper-2] [INFO] [1682881810.686816268] [zed2.zed_node]: Body Track. enabled: FALSE [zed_wrapper-2] [INFO] [1682881810.687383680] [zed2.zed_node]: Body Track. model: HUMAN BODY MEDIUM [zed_wrapper-2] [INFO] [1682881810.687660667] [zed2.zed_node]: Body Track. format: BODY_38 [zed_wrapper-2] [INFO] [1682881810.688188598] [zed2.zed_node]: Body Track. allow reduced precision: TRUE

[zed_wrapper-2] [INFO] [1682881810.689097687] [zed2.zed_node]: Body Track. KP selection: FULL [zed_wrapper-2] [INFO] [1682881810.689534001] [zed2.zed_node]: Body fitting: FALSE [zed_wrapper-2] [INFO] [1682881810.690073964] [zed2.zed_node]: * Body joints tracking: TRUE

[zed_wrapper-2] [INFO] [1682881810.691125504] [zed2.zed_node]: Body Track. confidence thresh.: 50 [zed_wrapper-2] [INFO] [1682881810.691480410] [zed2.zed_node]: Body Track. min. KP thresh.: 5 [zed_wrapper-2] [INFO] [1682881810.691909589] [zed2.zed_node]: Body Track. QoS History: KEEP_LAST [zed_wrapper-2] [INFO] [1682881810.692150325] [zed2.zed_node]: Body Track. QoS History depth: 1 [zed_wrapper-2] [INFO] [1682881810.692350799] [zed2.zed_node]: Body Track. QoS Reliability: RELIABLE [zed_wrapper-2] [INFO] [1682881810.692578618] [zed2.zed_node]: Body Track. QoS Durability: VOLATILE [zed_wrapper-2] [INFO] [1682881810.693602553] [zed2.zed_node]: SERVICES

[zed_wrapper-2] [INFO] [1682881810.715750001] [zed2.zed_node]: STARTING CAMERA [zed_wrapper-2] [INFO] [1682881810.715790731] [zed2.zed_node]: ZED SDK Version: 4.0.2 - Build 71464_5572155b [zed_wrapper-2] [INFO] [1682881810.725632519] [zed2.zed_node]: CAMERA OPENING [zed_wrapper-2] [ZED][INFO] Logging level INFO [zed_wrapper-2] No NVIDIA graphics card detected. Install an NVIDIA GPU, CUDA and restart your computer after completing installation. [zed_wrapper-2] [WARN] [1682881812.349103632] [zed2.zed_node]: Error opening camera: NO GPU DETECTED [zed_wrapper-2] [INFO] [1682881812.349302596] [zed2.zed_node]: Please verify the camera connection [zed_wrapper-2] [ZED][INFO] Logging level INFO [zed_wrapper-2] [ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running. [zed_wrapper-2] [ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running. [zed_wrapper-2] CUDA error at Camera.cpp:164 code=3(cudaErrorInitializationError) "void sl::Camera::close()" [zed_wrapper-2] CUDA error at Camera.cpp:192 code=3(cudaErrorInitializationError) "void sl::Camera::close()" [zed_wrapper-2] CUDA error at Camera.cpp:221 code=3(cudaErrorInitializationError) "void sl::Camera::close()" [zed_wrapper-2] CUDA error at Camera.cpp:261 code=3(cudaErrorInitializationError) "void sl::Camera::close()" [zed_wrapper-2] CUDA error at Camera.cpp:266 code=3(cudaErrorInitializationError) "void sl::Camera::close()" [zed_wrapper-2] CUDA error at Camera.cpp:285 code=3(cudaErrorInitializationError) "void sl::Camera::close()" [zed_wrapper-2] No NVIDIA graphics card detected. Install an NVIDIA GPU, CUDA and restart your computer after completing installation. [zed_wrapper-2] [WARN] [1682881817.851402751] [zed2.zed_node]: Error opening camera: NO GPU DETECTED [zed_wrapper-2] [INFO] [1682881817.851721562] [zed2.zed_node]: Please verify the camera connection

[zed_wrapper-2] [ERROR] [1682882759.422334817] [zed2.zed_node]: Camera detection timeout

ZED Camera model

ZED2

Environment

OS: Ubuntu 18.04 LTS 64-bit
CPU: ARMv8 Processor rev 1 (v8l) x 4
GPU: NVIDIA Tegra X1 (nvgpu)/integrated

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_May__4_00:02:26_PDT_2022
Cuda compilation tools, release 11.4, V11.4.239
Build cuda_11.4.r11.4/compiler.31294910_0

Anything else?

I was able to launch the ZED_Explorer with the stereolabs/zed:3.8-tools-devel-jetson-jp4.6.1 docker image.

Myzhar commented 1 year ago

Hi @mschuepbach you cannot use the Dockerfile for L4T v35.1 that is not available for the Jetson Nano. You must modify it to use a compatible base container

mschuepbach commented 1 year ago

Thank you. I figured out my L4T version with jetsonUtilities and now it works.

sandipsharan commented 1 year ago

@mschuepbach Can you tell me how did you figure out your L4T version? I'm stuck at the same issue. I tried running cat /etc/nv_tegra_release and got version R32 and version 6.1. I'm not sure how to move forward with this

mschuepbach commented 1 year ago

Make sure to also set the correct Jetpack version.

I changed the arguments in the linked Dockerfile to the following:

ARG IMAGE_NAME=dustynv/ros:humble-ros-base-l4t-r35.1.0

FROM ${IMAGE_NAME}

ARG ZED_SDK_MAJOR=4
ARG ZED_SDK_MINOR=0
ARG JETPACK_MAJOR=4
ARG JETPACK_MINOR=6
ARG L4T_MAJOR=32
ARG L4T_MINOR=7
...

As you can see, I left the image at r35. I think that was the only way I got it working with ROS2.

sandipsharan commented 1 year ago

Yeah, I tried changing that too but ended up with a different error . Do you have any idea about this? image

It runs only if I add sudo before the echo command.

sandipsharan commented 1 year ago

Successfully solved the error. Thanks for your help @mschuepbach