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 飞行
目标: 使用 D435i 的 RGB、深度和 IMU 数据实现:RGB-D SLAM · 视觉惯性里程计 (VIO) · PX4 室内无 GPS 飞行
初始症状
RTAB-Map RGB-D 里程计工作正常。
但是没有出现任何 IMU 话题。
但是没有出现任何 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 disabledHID Motion Sensor Failurebad optional access结论:运动传感器在 ROS 创建 IMU 话题之前就已失败。
权限排查
ls -l /dev/hidraw0
原始:
crw------- root rootsudo 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 警告从
但 IMU 仍不可用 → 不是根本原因。
UDEV rules missing 变为 UDEV rules not up-to-date但 IMU 仍不可用 → 不是根本原因。
内核 HID 验证
sudo dmesg | grep -i realsense
hidraw0: USB HID Device · Intel RealSense D435ilsusb -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
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 话题
• RGB 相机
• 深度相机
• 出厂标定 · 内参 · 外参
• USB 3.2 · 固件 5.17.0.10 · Advanced Mode
确认不工作:
• 运动数据流 · 陀螺仪数据 · 加速度计数据 · IMU 话题
根本原因分析
最可能的解释:
正品 Intel RealSense D435i + BMI055 运动模块硬件故障
正品 Intel RealSense D435i + BMI055 运动模块硬件故障
• 产品 ID 正确
• 固件正确
• 标定数据存在
• RGB 工作 · 深度工作
• BMI055 被检测到
• 运动流在多平台上均不可用
• 固件正确
• 标定数据存在
• RGB 工作 · 深度工作
• BMI055 被检测到
• 运动流在多平台上均不可用
概率评估:
正品 D435i 但 IMU 硬件故障:高
假相机:低
ROS 问题:极低
权限问题:已排除
正品 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。不要假设它们要么全部工作,要么全部损坏。