librealsense: Unable to read IMU data on the D435i
Required Info | |
---|---|
Camera Model | D435i |
Firmware Version | 05.12.07.150 |
Operating System & Version | Ubuntu 18.04 |
Kernel Version (Linux Only) | 4.9.253-tegra |
Platform | NVIDIA Jetson Xavier NX |
SDK Version | 2.50.0 |
Language | python |
Segment | Robot |
Issue Description
Hello 👋! I’m trying to get a D435i working on my NVIDIA Jetson Xavier NX, but I am unable to stream data from my IMU.
Inside the realsense-viewer
, I see all three camera modules (RGB, Stereo, and Motion). When I activate the Motion Module, nothing appears in my Window other than a set of axes.
Similarly, when I try to read IMU data inside ros melodic using ros-melodic-realsense2-camera@2.3.2
, I get the following error:
$ roslaunch realsense2_camera rs_camera.launch initial_reset:=true enable_gyro:=true enable_accel:=true
SUMMARY
========
PARAMETERS
* /camera/realsense2_camera/accel_fps: -1
* /camera/realsense2_camera/accel_frame_id: camera_accel_frame
* /camera/realsense2_camera/accel_optical_frame_id: camera_accel_opti...
* /camera/realsense2_camera/align_depth: False
* /camera/realsense2_camera/aligned_depth_to_color_frame_id: camera_aligned_de...
* /camera/realsense2_camera/aligned_depth_to_fisheye1_frame_id: camera_aligned_de...
* /camera/realsense2_camera/aligned_depth_to_fisheye2_frame_id: camera_aligned_de...
* /camera/realsense2_camera/aligned_depth_to_fisheye_frame_id: camera_aligned_de...
* /camera/realsense2_camera/aligned_depth_to_infra1_frame_id: camera_aligned_de...
* /camera/realsense2_camera/aligned_depth_to_infra2_frame_id: camera_aligned_de...
* /camera/realsense2_camera/allow_no_texture_points: False
* /camera/realsense2_camera/base_frame_id: camera_link
* /camera/realsense2_camera/calib_odom_file:
* /camera/realsense2_camera/clip_distance: -2.0
* /camera/realsense2_camera/color_fps: -1
* /camera/realsense2_camera/color_frame_id: camera_color_frame
* /camera/realsense2_camera/color_height: -1
* /camera/realsense2_camera/color_optical_frame_id: camera_color_opti...
* /camera/realsense2_camera/color_width: -1
* /camera/realsense2_camera/confidence_fps: -1
* /camera/realsense2_camera/confidence_height: -1
* /camera/realsense2_camera/confidence_width: -1
* /camera/realsense2_camera/depth_fps: -1
* /camera/realsense2_camera/depth_frame_id: camera_depth_frame
* /camera/realsense2_camera/depth_height: -1
* /camera/realsense2_camera/depth_optical_frame_id: camera_depth_opti...
* /camera/realsense2_camera/depth_width: -1
* /camera/realsense2_camera/device_type:
* /camera/realsense2_camera/enable_accel: True
* /camera/realsense2_camera/enable_color: True
* /camera/realsense2_camera/enable_confidence: True
* /camera/realsense2_camera/enable_depth: True
* /camera/realsense2_camera/enable_fisheye1: False
* /camera/realsense2_camera/enable_fisheye2: False
* /camera/realsense2_camera/enable_fisheye: False
* /camera/realsense2_camera/enable_gyro: True
* /camera/realsense2_camera/enable_infra1: False
* /camera/realsense2_camera/enable_infra2: False
* /camera/realsense2_camera/enable_infra: False
* /camera/realsense2_camera/enable_pointcloud: False
* /camera/realsense2_camera/enable_pose: False
* /camera/realsense2_camera/enable_sync: False
* /camera/realsense2_camera/filters:
* /camera/realsense2_camera/fisheye1_frame_id: camera_fisheye1_f...
* /camera/realsense2_camera/fisheye1_optical_frame_id: camera_fisheye1_o...
* /camera/realsense2_camera/fisheye2_frame_id: camera_fisheye2_f...
* /camera/realsense2_camera/fisheye2_optical_frame_id: camera_fisheye2_o...
* /camera/realsense2_camera/fisheye_fps: -1
* /camera/realsense2_camera/fisheye_frame_id: camera_fisheye_frame
* /camera/realsense2_camera/fisheye_height: -1
* /camera/realsense2_camera/fisheye_optical_frame_id: camera_fisheye_op...
* /camera/realsense2_camera/fisheye_width: -1
* /camera/realsense2_camera/gyro_fps: -1
* /camera/realsense2_camera/gyro_frame_id: camera_gyro_frame
* /camera/realsense2_camera/gyro_optical_frame_id: camera_gyro_optic...
* /camera/realsense2_camera/imu_optical_frame_id: camera_imu_optica...
* /camera/realsense2_camera/infra1_frame_id: camera_infra1_frame
* /camera/realsense2_camera/infra1_optical_frame_id: camera_infra1_opt...
* /camera/realsense2_camera/infra2_frame_id: camera_infra2_frame
* /camera/realsense2_camera/infra2_optical_frame_id: camera_infra2_opt...
* /camera/realsense2_camera/infra_fps: 30
* /camera/realsense2_camera/infra_height: 480
* /camera/realsense2_camera/infra_rgb: False
* /camera/realsense2_camera/infra_width: 848
* /camera/realsense2_camera/initial_reset: True
* /camera/realsense2_camera/json_file_path:
* /camera/realsense2_camera/linear_accel_cov: 0.01
* /camera/realsense2_camera/odom_frame_id: camera_odom_frame
* /camera/realsense2_camera/ordered_pc: False
* /camera/realsense2_camera/pointcloud_texture_index: 0
* /camera/realsense2_camera/pointcloud_texture_stream: RS2_STREAM_COLOR
* /camera/realsense2_camera/pose_frame_id: camera_pose_frame
* /camera/realsense2_camera/pose_optical_frame_id: camera_pose_optic...
* /camera/realsense2_camera/publish_odom_tf: True
* /camera/realsense2_camera/publish_tf: True
* /camera/realsense2_camera/reconnect_timeout: 6.0
* /camera/realsense2_camera/rosbag_filename:
* /camera/realsense2_camera/serial_no:
* /camera/realsense2_camera/stereo_module/exposure/1: 7500
* /camera/realsense2_camera/stereo_module/exposure/2: 1
* /camera/realsense2_camera/stereo_module/gain/1: 16
* /camera/realsense2_camera/stereo_module/gain/2: 16
* /camera/realsense2_camera/tf_publish_rate: 0.0
* /camera/realsense2_camera/topic_odom_in: odom_in
* /camera/realsense2_camera/unite_imu_method:
* /camera/realsense2_camera/usb_port_id:
* /camera/realsense2_camera/wait_for_device_timeout: -1.0
* /rosdistro: melodic
* /rosversion: 1.14.12
NODES
/camera/
realsense2_camera (nodelet/nodelet)
realsense2_camera_manager (nodelet/nodelet)
ROS_MASTER_URI=http://localhost:11311
process[camera/realsense2_camera_manager-1]: started with pid [28221]
process[camera/realsense2_camera-2]: started with pid [28222]
[ INFO] [1646869055.630537822]: Initializing nodelet with 6 worker threads.
[ INFO] [1646869055.970920685]: RealSense ROS v2.3.2
[ INFO] [1646869055.971054351]: Built with LibRealSense v2.50.0
[ INFO] [1646869055.971170737]: Running with LibRealSense v2.50.0
[ INFO] [1646869056.075239642]:
[ INFO] [1646869056.511142245]: Device with serial number 112222071473 was found.
[ INFO] [1646869056.511985939]: Device with physical ID 2-3.1-3 was found.
[ INFO] [1646869056.513606542]: Device with name Intel RealSense D435I was found.
[ INFO] [1646869056.516727298]: Device with port number 2-3.1 was found.
[ INFO] [1646869056.516865445]: Device USB type: 3.2
[ INFO] [1646869056.517486863]: Resetting device...
[ INFO] [1646869062.631294200]:
[ INFO] [1646869063.076463054]: Device with serial number 112222071473 was found.
[ INFO] [1646869063.077511136]: Device with physical ID 2-3.1-3 was found.
[ INFO] [1646869063.077804997]: Device with name Intel RealSense D435I was found.
[ INFO] [1646869063.079578339]: Device with port number 2-3.1 was found.
[ INFO] [1646869063.079707237]: Device USB type: 3.2
[ INFO] [1646869063.089283653]: getParameters...
[ INFO] [1646869063.484071283]: setupDevice...
[ INFO] [1646869063.484878720]: JSON file is not provided
[ INFO] [1646869063.484982978]: ROS Node Namespace: camera
[ INFO] [1646869063.485066819]: Device Name: Intel RealSense D435I
[ INFO] [1646869063.485137316]: Device Serial No: 112222071473
[ INFO] [1646869063.485209446]: Device physical port: 2-3.1-3
[ INFO] [1646869063.485282087]: Device FW version: 05.12.07.150
[ INFO] [1646869063.485523179]: Device Product ID: 0x0B3A
[ INFO] [1646869063.485638701]: Enable PointCloud: Off
[ INFO] [1646869063.485762511]: Align Depth: Off
[ INFO] [1646869063.485835728]: Sync Mode: Off
[ INFO] [1646869063.485997299]: Device Sensors:
[ INFO] [1646869063.592392967]: Stereo Module was found.
[ INFO] [1646869063.640798257]: RGB Camera was found.
[ INFO] [1646869063.641592318]: Motion Module was found.
[ INFO] [1646869063.641788738]: (Confidence, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1646869063.641948324]: num_filters: 0
[ INFO] [1646869063.642035366]: Setting Dynamic reconfig parameters.
[ INFO] [1646869067.623209358]: Done Setting Dynamic reconfig parameters.
[ INFO] [1646869067.625123822]: depth stream is enabled - width: 848, height: 480, fps: 30, Format: Z16
[ INFO] [1646869067.629327348]: color stream is enabled - width: 1280, height: 720, fps: 30, Format: RGB8
[ INFO] [1646869067.629639001]: gyro stream is enabled - fps: 200
[ INFO] [1646869067.629758875]: accel stream is enabled - fps: 63
[ INFO] [1646869067.629854781]: setupPublishers...
[ INFO] [1646869067.644638005]: Expected frequency for depth = 30.00000
[ INFO] [1646869067.660615520]: Expected frequency for color = 30.00000
[ INFO] [1646869067.691540614]: setupStreams...
09/03 18:37:47,853 WARNING [547138564480] (ds5-motion.cpp:473) IMU Calibration is not available, default intrinsic and extrinsic will be used.
[ INFO] [1646869068.401903976]: SELECTED BASE:Depth, 0
[ INFO] [1646869068.480539406]: RealSense Node Is Up!
[ WARN] [1646869068.522014917]:
09/03 18:37:48,526 WARNING [546836558208] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
09/03 18:37:48,577 WARNING [546836558208] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
09/03 18:37:48,730 WARNING [546836558208] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
09/03 18:37:48,782 WARNING [546836558208] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
09/03 18:37:48,832 WARNING [546836558208] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
09/03 18:37:48,883 WARNING [546836558208] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
09/03 18:37:48,934 WARNING [546836558208] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
09/03 18:37:48,985 WARNING [546836558208] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
Here is some info on what rostopics
are being published:
$ rostopic list
/camera/accel/imu_info
/camera/accel/metadata
/camera/accel/sample
/camera/color/camera_info
/camera/color/image_raw
/camera/color/metadata
/camera/depth/camera_info
/camera/depth/image_rect_raw
/camera/depth/metadata
/camera/extrinsics/depth_to_color
/camera/gyro/imu_info
/camera/gyro/metadata
/camera/gyro/sample
/camera/motion_module/parameter_descriptions
/camera/motion_module/parameter_updates
/camera/realsense2_camera_manager/bond
/camera/rgb_camera/auto_exposure_roi/parameter_descriptions
/camera/rgb_camera/auto_exposure_roi/parameter_updates
/camera/rgb_camera/parameter_descriptions
/camera/rgb_camera/parameter_updates
/camera/stereo_module/auto_exposure_roi/parameter_descriptions
/camera/stereo_module/auto_exposure_roi/parameter_updates
/camera/stereo_module/parameter_descriptions
/camera/stereo_module/parameter_updates
/diagnostics
/rosout
/rosout_agg
/tf
/tf_static
$ rostopic echo /camera/accel/sample # Blank
$ rostopic echo /camera/gyro/sample # Blank
$ rostopic echo /camera/accel/imu_info
frame_id: "camera_accel_optical_frame"
data: [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]
noise_variances: [0.0, 0.0, 0.0]
bias_variances: [0.0, 0.0, 0.0]
---
$ rostopic echo /camera/gyro/imu_info
frame_id: "camera_gyro_optical_frame"
data: [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]
noise_variances: [0.0, 0.0, 0.0]
bias_variances: [0.0, 0.0, 0.0]
---
I’m not sure exactly what’s wrong with my setup, but I have a suspicion that it’s an issue with my realsense SDK installation. I installed the realsense SDK using the “Install with Debian Packages” instructions in the Jetson installation instructions. I saw that some realsense features may require applying the kernel patches described in the “Building from Source Using the Native backend” section, but I wasn’t sure if that applied to the D435i IMU.
Any guidance will be greatly appreciated!
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 19
Commits related to this issue
- Fix missing namespace std::find_if on 2.3.1 tag — committed to anht-nguyen/realsense-ros by deleted user 10 months ago
Thanks very much @zbreit for the update! If you are satisfied with the outcome of this case then please do feel free to close it. Thanks again!