RDK x5 的双目时间软件同步方案怎么操作

先说结论:mipi_lpwm_enable=False 只是关掉了内核的 LPWM 触发输出,X5 平台没有现成的"软件时间同步"开关。两颗不支持外触发/同步曝光的相机各自自由出帧,软件层最多只能做"时间戳最近邻配对",曝光时刻的物理偏差消不掉——静态场景勉强能用,一旦有运动,双目匹配必然变差,这是原理限制,不是配置问题。

可以做的缓解(让配对尽量准):

  1. 两路用同一时钟源、同一帧率,时间戳用 realtime 打:
ros2 launch mipi_cam mipi_cam_dual_channel.launch.py \
  mipi_image_framerate:=20.0 \
  mipi_lpwm_enable:=False \
  mipi_frame_ts_type:=realtime
  1. 实测左右目时间戳差多少,判断是不是配对错位:
ros2 topic echo /image_left_raw/header --once
ros2 topic echo /image_right_raw/header --once

若差值经常超过半个帧周期,深度节点按时间戳配对就会配错帧,效果雪上加霜;确认下游立体匹配节点用的是 ApproximateTime 策略且容忍窗口设到约半个帧周期。

  1. 根治方向:
    • 换支持双目同步曝光/外触发的相机(如官方 GS130W/GS130WI,双 sensor 硬件同步曝光,见 双目摄像头手册);
    • 或者给现有相机做触发同步——注意 X5 的 lpwm 接口官方已确认仅限内核操作、不开放用户态(见社区帖 双目摄像头触发和帧率控制 ),要用它触发 fsync 属于内核/驱动级定制开发。

如果确实需要走驱动级触发同步这条路,可以报名 DGP 开发者计划获取深度支持:https://developer.d-robotics.cc/dgp