Drobotics logo DROBOTICSTechnical Library

Vision Guide

Intel RealSense D435i IMU 验证与故障排查 | UAV SLAM 平台实战记录

All Vision

Intel RealSense D435i IMU 验证与故障排查

UAV SLAM 平台实战记录 | Jetson Orin Nano · ROS2 Humble · RTAB-Map · PX4

RealSense D435i IMU 故障排查 BMI055 运动模块 跨平台验证 RGB-D SLAM
背景
平台: Jetson Orin Nano · Ubuntu 22.04 · ROS2 Humble · Intel RealSense D435i · RTAB-Map · PX4 1.17

目标: 使用 D435i 的 RGB、深度和 IMU 数据实现:RGB-D SLAM · 视觉惯性里程计 (VIO) · PX4 室内无 GPS 飞行
初始症状
RTAB-Map RGB-D 里程计工作正常。
但是没有出现任何 IMU 话题。
ros2 topic list | grep imu
预期输出:/camera/gyro/sample · /camera/accel/sample · /camera/imu
实际输出:(无输出)
ROS2 启动测试
ros2 launch realsense2_camera rs_launch.py \ enable_color:=true \ enable_depth:=true \ enable_gyro:=true \ enable_accel:=true \ unite_imu_method:=2
观察到:
No HID info provided, IMU is disabled
HID Motion Sensor Failure
bad optional access
结论:运动传感器在 ROS 创建 IMU 话题之前就已失败。
权限排查
ls -l /dev/hidraw0
原始:crw------- root root
sudo chmod a+rw /dev/hidraw0
修改后:crw-rw-rw-
IMU 仍然失败 → 不是简单的权限问题。
UDEV 排查
# 创建规则文件 sudo nano /etc/udev/rules.d/99-realsense-libusb.rules # 重新加载 sudo udevadm control --reload-rules sudo udevadm trigger
Viewer 警告从 UDEV rules missing 变为 UDEV rules not up-to-date
但 IMU 仍不可用 → 不是根本原因。
内核 HID 验证
sudo dmesg | grep -i realsense
hidraw0: USB HID Device · Intel RealSense D435i
lsusb -t
Human Interface Device · Driver=usbhid
Linux 内核成功检测到 HID 接口。
Librealsense 调查
rs-enumerate-devices
Imu Type: BMI055
但同时也出现:HID Motion Sensor Failure
没有运动数据流。
固件检测到存在 BMI055 IMU,但运动流无法启用。
RealSense Viewer 调查
Viewer 检测到:
Intel RealSense D435I
├── Stereo Module
└── RGB Camera

缺失:Motion Module · Gyroscope · Accelerometer
健康的 D435i 通常会在 Viewer 中暴露运动流。
跨平台验证(排除 Jetson 问题)
brew install librealsense sudo rs-enumerate-devices
Imu Type: BMI055
没有出现 HID Motion Sensor Failure
但是 Motion Module · Gyroscope · Accelerometer 仍然没有出现。
最终发现
确认正常工作:
• RGB 相机
• 深度相机
• 出厂标定 · 内参 · 外参
• USB 3.2 · 固件 5.17.0.10 · Advanced Mode

确认不工作:
• 运动数据流 · 陀螺仪数据 · 加速度计数据 · IMU 话题
根本原因分析
最可能的解释:
正品 Intel RealSense D435i + BMI055 运动模块硬件故障
• 产品 ID 正确
• 固件正确
• 标定数据存在
• RGB 工作 · 深度工作
• BMI055 被检测到
• 运动流在多平台上均不可用
概率评估:
正品 D435i 但 IMU 硬件故障:
假相机:低
ROS 问题:极低
权限问题:已排除
新 D435i 验收清单
步骤 1
rs-enumerate-devices
验证 Imu Type: BMI055
步骤 2
realsense-viewer
验证 Motion Module · Gyroscope · Accelerometer 出现
步骤 3
ros2 launch realsense2_camera rs_launch.py enable_gyro:=true enable_accel:=true
步骤 4
ros2 topic list | grep imu
预期:/camera/gyro/sample · /camera/accel/sample
步骤 5
ros2 topic echo /camera/gyro/sample ros2 topic echo /camera/accel/sample
数据应持续流动。
关键经验
D435i 即使 IMU 子系统故障,仍然可以完全用于:
  • RTAB-Map
  • RGB-D SLAM
  • 障碍物检测
  • 点云生成
重要: 始终独立验证 RGB、深度和 IMU。不要假设它们要么全部工作,要么全部损坏。