Problem Intel RealSense D435 and JetsonTX2: "Not supported by this device"

Hi devs,

i got a problem connecting my Intel Realsense D435 to my JetsonTX2. I followed the instructions from Jetsonhacks https://github.com/jetsonhacks/installRealSense2ROSTX with only one difference: In their description they are referencing to a repository jetsonhacks/installLibrealsense2TX but that is not existing. The repo is called jetsonhacks/buildLibrealsense2TX but that only by the way…

I think my install was done correctly.

My Setup:

  • Jetson TX2 developer kit
  • JetPack-L4T-3.2 (28.2)
  • USB3 Cam: Intel Realsense D435
  • Ubuntu 16.04 with ROS kinetic

My problem:
On the official github repo https://github.com/intel-ros/realsense/#installation-instructions they say that i need to call this for starting a node:

roslaunch realsense2_camera rs_camera.launch

When i’m calling that line i got the following output:

nvidia@tegra-ubuntu:~/ros_catkin_ws$ roslaunch realsense2_camera rs_camera.launch 
... logging to /home/nvidia/.ros/log/08873502-700c-11e8-aa00-00044b8d1193/roslaunch-tegra-ubuntu-8387.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://192.168.188.24:46844/

SUMMARY
========

PARAMETERS
 * /camera/realsense2_camera/accel_fps: 1000
 * /camera/realsense2_camera/accel_optical_frame_id: camera_accel_opti...
 * /camera/realsense2_camera/align_depth: False
 * /camera/realsense2_camera/camera_aligned_depth_to_color_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/camera_aligned_depth_to_fisheye_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/camera_aligned_depth_to_infra1_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/camera_aligned_depth_to_infra2_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/color_fps: 30
 * /camera/realsense2_camera/color_height: 480
 * /camera/realsense2_camera/color_optical_frame_id: camera_color_opti...
 * /camera/realsense2_camera/color_width: 640
 * /camera/realsense2_camera/depth_fps: 30
 * /camera/realsense2_camera/depth_height: 480
 * /camera/realsense2_camera/depth_optical_frame_id: camera_depth_opti...
 * /camera/realsense2_camera/depth_width: 640
 * /camera/realsense2_camera/enable_color: True
 * /camera/realsense2_camera/enable_depth: True
 * /camera/realsense2_camera/enable_fisheye: True
 * /camera/realsense2_camera/enable_imu: True
 * /camera/realsense2_camera/enable_infra1: True
 * /camera/realsense2_camera/enable_infra2: True
 * /camera/realsense2_camera/enable_pointcloud: False
 * /camera/realsense2_camera/enable_sync: False
 * /camera/realsense2_camera/fisheye_fps: 30
 * /camera/realsense2_camera/fisheye_height: 480
 * /camera/realsense2_camera/fisheye_optical_frame_id: camera_fisheye_op...
 * /camera/realsense2_camera/fisheye_width: 640
 * /camera/realsense2_camera/gyro_fps: 1000
 * /camera/realsense2_camera/gyro_optical_frame_id: camera_gyro_optic...
 * /camera/realsense2_camera/infra1_fps: 30
 * /camera/realsense2_camera/infra1_height: 480
 * /camera/realsense2_camera/infra1_optical_frame_id: camera_infra1_opt...
 * /camera/realsense2_camera/infra1_width: 640
 * /camera/realsense2_camera/infra2_fps: 30
 * /camera/realsense2_camera/infra2_height: 480
 * /camera/realsense2_camera/infra2_optical_frame_id: camera_infra2_opt...
 * /camera/realsense2_camera/infra2_width: 640
 * /camera/realsense2_camera/json_file_path: 
 * /camera/realsense2_camera/serial_no: 
 * /rosdistro: kinetic
 * /rosversion: 1.12.13

NODES
  /camera/
    realsense2_camera (nodelet/nodelet)
    realsense2_camera_manager (nodelet/nodelet)

auto-starting new master
process[master]: started with pid [8397]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 08873502-700c-11e8-aa00-00044b8d1193
process[rosout-1]: started with pid [8410]
started core service [/rosout]
process[camera/realsense2_camera_manager-2]: started with pid [8427]
process[camera/realsense2_camera-3]: started with pid [8428]
[ INFO] [1529005763.377829277]: Initializing nodelet with 6 worker threads.
[ INFO] [1529005763.475965714]: RealSense ROS v2.0.3
[ INFO] [1529005763.476073811]: Running with LibRealSense v2.10.4
[ INFO] [1529005763.666268576]: getParameters...
[ INFO] [1529005764.098358545]: setupDevice...
[ INFO] [1529005764.099104308]: JSON file is not provided
[ INFO] [1529005764.099601239]: ROS Node Namespace: camera
[ INFO] [1529005764.100348090]: Device Name: Intel RealSense USB2
[ INFO] [1529005764.100702428]: Device Serial No: 817512071398
[ INFO] [1529005764.100957597]: Device FW version: 05.09.02.00
[ INFO] [1529005764.101192670]: Device Product ID: 0x0AD6
[ INFO] [1529005764.101422911]: Enable PointCloud: Off
[ INFO] [1529005764.101651136]: Align Depth: Off
[ INFO] [1529005764.102023842]: Sync Mode: Off
[ INFO] [1529005764.105431090]: Device Sensors: 
[ INFO] [1529005764.106857145]: Stereo Module was found.
[ INFO] [1529005764.108120223]: (Color, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1529005764.108300640]: (Fisheye, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1529005764.108455201]: (Gyro, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1529005764.108610594]: (Accel, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1529005764.108951843]: setupPublishers...
[ INFO] [1529005764.133374232]: Expected frequency for depth = 30.00000
[ INFO] [1529005764.184719149]: Expected frequency for infra1 = 30.00000
[ INFO] [1529005764.216344645]: Expected frequency for infra2 = 30.00000
[ INFO] [1529005764.258567470]: setupStreams...
 14/06 19:49:25,080 WARNING [547533381632] (sensor.cpp:315) Unregistered Media formats : [ UYVY ]; Supported: [ ]
[ WARN] [1529005765.083717270]: Given stream configuration is not supported by the device!  Stream: Depth, Stream Index: 0, Format: Z16, Width: 640, Height: 480, FPS: 30
[ WARN] [1529005765.084065464]: Given stream configuration is not supported by the device!  Stream: Infrared, Stream Index: 1, Format: Y8, Width: 640, Height: 480, FPS: 30
[ WARN] [1529005765.084276793]: Given stream configuration is not supported by the device!  Stream: Infrared, Stream Index: 2, Format: Y8, Width: 640, Height: 480, FPS: 30
[ INFO] [1529005765.084706459]: publishStaticTransforms...
[ERROR] [1529005765.085079325]: Given depth profile is not supported by current device!
[FATAL] [1529005765.291423927]: Failed to load nodelet '/camera/realsense2_camera` of type `realsense2_camera/RealSenseNodeFactory` to manager `realsense2_camera_manager'
[camera/realsense2_camera_manager-2] process has died [pid 8427, exit code 1, cmd /opt/ros/kinetic/lib/nodelet/nodelet manager __name:=realsense2_camera_manager __log:=/home/nvidia/.ros/log/08873502-700c-11e8-aa00-00044b8d1193/camera-realsense2_camera_manager-2.log].
log file: /home/nvidia/.ros/log/08873502-700c-11e8-aa00-00044b8d1193/camera-realsense2_camera_manager-2*.log
[camera/realsense2_camera-3] process has died [pid 8428, exit code 255, cmd /opt/ros/kinetic/lib/nodelet/nodelet load realsense2_camera/RealSenseNodeFactory realsense2_camera_manager __name:=realsense2_camera __log:=/home/nvidia/.ros/log/08873502-700c-11e8-aa00-00044b8d1193/camera-realsense2_camera-3.log].
log file: /home/nvidia/.ros/log/08873502-700c-11e8-aa00-00044b8d1193/camera-realsense2_camera-3*.log

I am wondering about that line

Device Name: Intel RealSense USB2

because its an USB3 device and i plugged it to the USB3 connector…

What is the problem? I used all defaults. I did nothing weird with the Jetson, just installed ROS, OpenCV3.4.1 and the LibRealSense packages with Jetsonhacks instructions!

Thanks for help!

It is not clear which directions you followed on your installation.

Does the D435 work with the realsense-viewer application?

Here is the full article and video on librealsense2 installation: Now with CUDA! Intel RealSense D400 cameras - NVIDIA Jetson TX - JetsonHacks

Here is the full article and video on the ROS installation: Intel RealSense Package for ROS on NVIDIA Jetson TX - JetsonHacks

Did you rebuild the kernel for D435 support?

In the video in the ROS install, the following command is shown:

$ roslaunch realsense2_camera rs_rgbd.launch

Does that work?

I followed exactly the instructions from here GitHub - jetsonhacks/installRealSense2ROSTX: Install the ROS Wrapper for librealsense 2 on the NVIDIA Jetson TX Development Kits.

Yes, it is working quite well!

Yes i did!

This gives an weird output…

nvidia@tegra-ubuntu:~/ros_catkin_ws$ roslaunch realsense2_camera rs_rgbd.launch
... logging to /home/nvidia/.ros/log/1b38e324-7013-11e8-b4ad-00044b8d1193/roslaunch-tegra-ubuntu-7773.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.


Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/__init__.py", line 306, in main
    p.start()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 268, in start
    self._start_infrastructure()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 217, in _start_infrastructure
    self._load_config()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 132, in _load_config
    roslaunch_strs=self.roslaunch_strs, verbose=self.verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/config.py", line 451, in load_config_default
    loader.load(f, config, verbose=verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 748, in load
    self._load_launch(launch, ros_config, is_core=core, filename=filename, argv=argv, verbose=verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 720, in _load_launch
    self._recurse_load(ros_config, launch.childNodes, self.root_context, None, is_core, verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 654, in _recurse_load
    default_machine, is_core, verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 684, in _recurse_load
    val = self._include_tag(tag, context, ros_config, default_machine, is_core, verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
    return f(*args, **kwds)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 588, in _include_tag
    inc_filename = self.resolve_args(tag.attributes['file'].value, context)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 183, in resolve_args
    return substitution_args.resolve_args(args, context=context.resolve_dict, resolve_anon=self.resolve_anon)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 370, in resolve_args
    resolved = _resolve_args(resolved, context, resolve_anon, commands)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 383, in _resolve_args
    resolved = commands[command](resolved, a, args, context)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 151, in _find
    source_path_to_packages=source_path_to_packages)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 197, in _find_executable
    full_path = _get_executable_path(rp.get_path(args[0]), path)
  File "/usr/lib/python2.7/dist-packages/rospkg/rospack.py", line 203, in get_path
    raise ResourceNotFound(name, ros_paths=self._ros_paths)
ResourceNotFound: rgbd_launch
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/home/nvidia/ros_catkin_ws/src
ROS path [2]=/opt/ros/kinetic/share
nvidia@tegra-ubuntu:~/ros_catkin_ws$

Did you:

$ cd ros_catkin_ws
$ source devel/setup.bash

Okay i fixed it…

Forgot

~/installRealSense2ROSTX/setupTX.sh

Shame on me, now it is working…
rs_rgbd.launch is still throwing this weird output. rs_camera.launch is working!