RDK X5 视频、扫描,建模,为什么显示满屏距离标识,没有物体识别呢?正常建模应该是怎么样的

下面是启动camera的指令
source /opt/tros/humble/setup.bash
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py \
mipi_camera_calibration_file_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml \
  mipi_image_width:=1280 \
  mipi_image_height:=640 \
  mipi_image_framerate:=10.0 \
  mipi_gdc_enable:=True \
  mipi_rotation:=0.0 \
  mipi_cal_rotation:=0.0 \
  mipi_channel:=2 \
  mipi_channel2:=0 \
  calib_method:=none

le_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml mipi_image_width:=1280 mipi_ima age_height:=6

40 mipi_image_framerate:=10.0 mipi_gdc_enable:=True mipi_rotation:=0.0 mipi_cal_rotation:=0.0 mipi_channel: :=2 mipi_chan

nel2:=0 calib_method:=none save_result_flag:=True save_dir:=/home/sunrise/stereonet_result_baseline save_fr req:=1 save_t

otal:=1 save_stereo_flag:=True save_origin_flag:=False save_disp_flag:=True save_uncert_flag:=False save_de epth_flag:=Tr

ue save_visual_flag:=True save_pcd_flag:=True

[INFO] [launch]: All log files can be found below /home/sunrise/.ros/log/2026-08-01-12-01-43-039844-ubuntu-28441

[INFO] [launch]: Default logging verbosity is set to INFO

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

Hobot shm pkg enables zero-copy with fastrtps profiles file: /opt/tros/humble/lib/hobot_shm/config/shm_fastdds.xml

Hobot shm pkg sets RMW_FASTRTPS_USE_QOS_FROM_XML: 1

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

[INFO] [stereonet_model_node-1]: process started with pid [28453]

[INFO] [mipi_cam-2]: process started with pid [28455]

[INFO] [hobot_codec_republish-3]: process started with pid [28457]

[INFO] [websocket-4]: process started with pid [28459]

[hobot_codec_republish-3] [WARN] [1785556903.943689674] [hobot_codec_encoder_f2951eb0]: Parameters:

[hobot_codec_republish-3] sub_topic: /StereoNetNode/stereonet_visual

[hobot_codec_republish-3] pub_topic: /image_jpeg

[hobot_codec_republish-3] channel: 1

[hobot_codec_republish-3] in_mode: ros

[hobot_codec_republish-3] out_mode: ros

[hobot_codec_republish-3] in_format: bgr8

[hobot_codec_republish-3] out_format: jpeg

[hobot_codec_republish-3] jpg_quality: 60.00

[hobot_codec_republish-3] input_framerate: 30

[hobot_codec_republish-3] output_framerate: -1

[hobot_codec_republish-3] dump_output: false

[hobot_codec_republish-3] dump_file_prefix: ./dump_codec_output

[hobot_codec_republish-3] dump_frame_count: -1 (unlimited)

[hobot_codec_republish-3] [WARN] [1785556903.952606831] [HobotCodecImpl]: platform x5

[mipi_cam-2] [WARN] [1785556904.230700582] [mipi_node]:

[mipi_cam-2] node params:

[mipi_cam-2] config_path: /opt/tros/humble/lib/mipi_cam/config/

[mipi_cam-2] video_device_name: default

[mipi_cam-2] channel: 2

[mipi_cam-2] channel2: 0

[mipi_cam-2] camera_info_url:

[mipi_cam-2] camera_calibration_file_path: /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml

[mipi_cam-2] out_format_name: nv12

[mipi_cam-2] gdc_bin_file:

[mipi_cam-2] image_width: 1280

[mipi_cam-2] image_height: 640

[mipi_cam-2] sub_image_width: 1920

[mipi_cam-2] sub_image_height: 1080

[mipi_cam-2] framerate: 10

[mipi_cam-2] rotation: 0.000000

[mipi_cam-2] device_mode: dual

[mipi_cam-2] dual_combine: 1

[mipi_cam-2] lpwm_enable: false

[mipi_cam-2] gdc_enable: true

[mipi_cam-2] frame_ts_type: sensor

[mipi_cam-2] frame_id: default_cam

[mipi_cam-2] link_type: 0

[mipi_cam-2] link_port: 0

[mipi_cam-2] io_method_name: ros

[mipi_cam-2] cal_alpha: 0.000

[websocket-4] [WARN] [1785556904.292969892] [websocket]:

[websocket-4] Parameter:

[websocket-4] image_topic: /image_jpeg

[websocket-4] image_type: mjpeg

[websocket-4] only_show_image: 1

[websocket-4] output_fps: 0

[stereonet_model_node-1] [WARN] [1785556904.683285109] [StereoNetNode]: => ===================== init StereoNetNode ===============

======

[stereonet_model_node-1]

[stereonet_model_node-1] [WARN] [1785556904.688472479] [StereoNetNode]:

[stereonet_model_node-1] stereonet_model_file_path: /opt/tros/humble/share/hobot_stereonet/config/DStereoV2.5_int16_544_448_96.bin

[stereonet_model_node-1] stereo_image_topic: /image_combine_raw

[stereonet_model_node-1] camera_info_topic: /image_combine_raw/right/camera_info

[stereonet_model_node-1] depth_image_topic: /StereoNetNode/stereonet_depth

[stereonet_model_node-1] depth_camera_info_topic: /StereoNetNode/stereonet_depth/camera_info

[stereonet_model_node-1] rectify_left_image_topic: /StereoNetNode/rectify_left_image

[stereonet_model_node-1] rectify_right_image_topic: /StereoNetNode/rectify_right_image

[stereonet_model_node-1] publish_rectify_bgr: 0

[stereonet_model_node-1] [origin_left_image_topic, origin_right_image_topic, publish_origin_enable]: [/StereoNetNode/origin_left_im

age, /StereoNetNode/origin_right_image, 1]

[stereonet_model_node-1] [pointcloud2_topic, publish_pcd_enabled]: [/StereoNetNode/stereonet_pointcloud2, 1]

[stereonet_model_node-1] [visual_image_topic, publish_visual_enabled]: [/StereoNetNode/stereonet_visual, 1]

[stereonet_model_node-1] [stereonet_frame_id, stereonet_frame_id_right]: [camera_link, camera_link_right]

[stereonet_model_node-1] uncertainty_th: -0.1

[stereonet_model_node-1] [camera_fx, camera_fy, camera_cx, camera_cy, baseline, doffs]: [0, 0, 0, 0, 0(m)0]

[stereonet_model_node-1] [pointcloud_downsample_step, pointcloud_height_min, pointcloud_height_max, pointcloud_depth_max]: [2, -5(m

), 5(m), 5(m)]

[stereonet_model_node-1] [use_local_image_flag, local_image_dir, image_sleep]: [0, /opt/tros/humble/share/hobot_stereonet/config, 0

]

[stereonet_model_node-1] [save_result_flag, save_dir, save_freq, save_total, save_stereo_flag, save_origin_flag, save_disp_flag, sa

ve_uncert_flag, save_depth_flag, save_visual_flag, save_pcd_flag]: [1, /home/sunrise/stereonet_result_basel line, 1, 1, 1

, 0, 1, 0, 1, 1, 1]

[stereonet_model_node-1] [calib_method, stereo_calib_file_path]: [none, ]

[stereonet_model_node-1] [speckle_filter_enable, max_speckle_size, max_disp_diff]: [0, 100, 1]

[stereonet_model_node-1] [pcl_filter_enable, grid_size, grid_min_point_count]: [0, 0.1, 5]

[stereonet_model_node-1] [render_type, render_perf, depth_decimal_num, render_max_disp, render_z_near, render_z_range]: [indoor, 1,

2, 80, -1(m), 3(m)]

[stereonet_model_node-1] left_img_mask_enable: 0

[stereonet_model_node-1] [measure_mode, roi_size, gt_depth]: [0, 10, 0(mm)]

[stereonet_model_node-1] [epipolar_mode, feature_epipolar_mode, epipolar_img, chessboard_per_rows, chessboard_per_cols, chessboard_

square_size]: [0, 0, rect, 20, 11, 0.06(m)]

[stereonet_model_node-1] feature_epipolar_mode: 0

[stereonet_model_node-1] post_version: auto

[stereonet_model_node-1] [infer_thread_num, save_thread_num, max_save_task]: [2, 4, 50]

[stereonet_model_node-1]

[stereonet_model_node-1] => ==================================================================

[stereonet_model_node-1]

[stereonet_model_node-1] [BPU_PLAT]BPU Platform Version(1.3.6)! soc info(x5)

[stereonet_model_node-1] [HBRT] set log level as 0. version = 3.15.55.0

[stereonet_model_node-1] [DNN] Runtime version = 1.24.5_(3.15.55 HBRT)

[stereonet_model_node-1] [A][DNN][packed_model.cpp:247][Model](2026-08-01,12:01:44.858.684) [HorizonRT] The model builder version =

1.24.3

[stereonet_model_node-1] [WARN] [1785556904.982402213] [StereoNetNode]: => ============ init model start ============

[stereonet_model_node-1] [WARN] [1785556904.982576005] [StereoNetNode]: => model name: DStereoV25_int16_544_448_0309_96

[stereonet_model_node-1] [WARN] [1785556904.982635130] [StereoNetNode]: => input_count: 2

[stereonet_model_node-1] [WARN] [1785556904.982686213] [StereoNetNode]: => output_count: 2

[stereonet_model_node-1] [WARN] [1785556904.982754046] [StereoNetNode]: => model_input_h: 448, model_input_w: 544

[stereonet_model_node-1] [WARN] [1785556904.982843380] [StereoNetNode]: => ----- prepare_input_tensor -----

[stereonet_model_node-1] [WARN] [1785556904.982917838] [StereoNetNode]: => input tensor type is HB_DNN_IMG_TYPE_NV12

[stereonet_model_node-1] [WARN] [1785556904.983161129] [StereoNetNode]: => input[0].memsize: 365568

[stereonet_model_node-1] [WARN] [1785556904.983977337] [StereoNetNode]: => ----- prepare_output_tensor -----

[stereonet_model_node-1] [WARN] [1785556904.984084670] [StereoNetNode]: => output tensor type is HB_DNN_TENSOR_TYPE_S32

[stereonet_model_node-1] [WARN] [1785556904.984216670] [StereoNetNode]: => output[0].memsize: 548352

[stereonet_model_node-1] [WARN] [1785556904.985075836] [StereoNetNode]: => ============ init model end ============

[mipi_cam-2] [WARN] [1785556905.092202265] [mipi_cap]: i2c bus: 6, EEPROM FLAG: SZYGSJKJ

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785556905.123028900] [mipi_cap]: => ================== left awb otp data ==================

[mipi_cam-2] [WARN] [1785556905.123194900] [mipi_cap]: left_awb_otp_data_.awb_golden_data[0].rg_ratio: 1401

[mipi_cam-2] [WARN] [1785556905.123291483] [mipi_cap]: left_awb_otp_data_.awb_golden_data[0].bg_ratio: 340

[mipi_cam-2] [WARN] [1785556905.123382608] [mipi_cap]: left_awb_otp_data_.awb_golden_data[1].rg_ratio: 1094

[mipi_cam-2] [WARN] [1785556905.123479816] [mipi_cap]: left_awb_otp_data_.awb_golden_data[1].bg_ratio: 403

[mipi_cam-2] [WARN] [1785556905.123566399] [mipi_cap]: left_awb_otp_data_.awb_golden_data[2].rg_ratio: 880

[mipi_cam-2] [WARN] [1785556905.123651566] [mipi_cap]: left_awb_otp_data_.awb_golden_data[2].bg_ratio: 548

[mipi_cam-2] [WARN] [1785556905.123737691] [mipi_cap]: left_awb_otp_data_.awb_data[0].rg_ratio: 1429

[mipi_cam-2] [WARN] [1785556905.123825441] [mipi_cap]: left_awb_otp_data_.awb_data[0].bg_ratio: 348

[mipi_cam-2] [WARN] [1785556905.123912940] [mipi_cap]: left_awb_otp_data_.awb_data[1].rg_ratio: 1114

[mipi_cam-2] [WARN] [1785556905.123998232] [mipi_cap]: left_awb_otp_data_.awb_data[1].bg_ratio: 414

[mipi_cam-2] [WARN] [1785556905.124082149] [mipi_cap]: left_awb_otp_data_.awb_data[2].rg_ratio: 893

[mipi_cam-2] [WARN] [1785556905.124167482] [mipi_cap]: left_awb_otp_data_.awb_data[2].bg_ratio: 561

[mipi_cam-2] [WARN] [1785556905.124344190] [mipi_cap]: => ================== right awb otp data ==================

[mipi_cam-2] [WARN] [1785556905.124443440] [mipi_cap]: right_awb_otp_data_.awb_golden_data[0].rg_ratio: 1401

[mipi_cam-2] [WARN] [1785556905.124532023] [mipi_cap]: right_awb_otp_data_.awb_golden_data[0].bg_ratio: 340

[mipi_cam-2] [WARN] [1785556905.124618606] [mipi_cap]: right_awb_otp_data_.awb_golden_data[1].rg_ratio: 1094

[mipi_cam-2] [WARN] [1785556905.124705648] [mipi_cap]: right_awb_otp_data_.awb_golden_data[1].bg_ratio: 403

[mipi_cam-2] [WARN] [1785556905.124796023] [mipi_cap]: right_awb_otp_data_.awb_golden_data[2].rg_ratio: 880

[mipi_cam-2] [WARN] [1785556905.124883606] [mipi_cap]: right_awb_otp_data_.awb_golden_data[2].bg_ratio: 548

[mipi_cam-2] [WARN] [1785556905.124971648] [mipi_cap]: right_awb_otp_data_.awb_data[0].rg_ratio: 1330

[mipi_cam-2] [WARN] [1785556905.125056981] [mipi_cap]: right_awb_otp_data_.awb_data[0].bg_ratio: 341

[mipi_cam-2] [WARN] [1785556905.125142189] [mipi_cap]: right_awb_otp_data_.awb_data[1].rg_ratio: 1043

[mipi_cam-2] [WARN] [1785556905.125226147] [mipi_cap]: right_awb_otp_data_.awb_data[1].bg_ratio: 405

[mipi_cam-2] [WARN] [1785556905.125310647] [mipi_cap]: right_awb_otp_data_.awb_data[2].rg_ratio: 836

[mipi_cam-2] [WARN] [1785556905.125395481] [mipi_cap]: right_awb_otp_data_.awb_data[2].bg_ratio: 552

[mipi_cam-2] [WARN] [1785556905.125481147] [mipi_cap]: => ========================================================

[mipi_cam-2] [WARN] [1785556905.141072423] [mipi_cap]: Target FOV 0.00° out of valid range [86.84°, 143.17°]

[mipi_cam-2] [WARN] [1785556905.141302589] [mipi_cap]: Use default alpha=0.0 (target FOV invalid)

[mipi_cam-2] [WARN] [1785556905.342972212] [mipi_cap]: X5 start gdc rotation and cal.

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785556906.182562292] [mipi_cap]: X5 start gdc rotation and cal.

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785556906.861093000] [mipi_cam]: [init]->cap sc132gs-1280p init success.

[mipi_cam-2]

[stereonet_model_node-1] [WARN] [1785556906.936478588] [StereoNetNode]: => sub rectified [fx, fy, cx, cy, baseline(m), doffs] : [28

7.429561, 473.413395, 285.964228, 223.091902, 0.079239, 0.000000]

[stereonet_model_node-1] [WARN] [1785556906.938806294] [StereoNetNode]: => receive left camera info

[stereonet_model_node-1] [WARN] [1785556906.972314050] [StereoNetNode]: => receive stereo image, format: nv12, stamp: 9866.76794162

1, latency: 1785547040204.33 ms

[stereonet_model_node-1] [WARN] [1785556906.973730965] [StereoNetNode]: => input image size not match model input size, need resize

, [1280 x 640] → [544 x 448]

[stereonet_model_node-1] [WARN] [1785556907.009462553] [StereoNetNode]: => after resize, update camera intrinsic [fx, fy, cx, cy, b

aseline(m), doffs] : [122.157563, 331.389376, 121.534797, 156.164331, 0.079239, 0.000000]

[stereonet_model_node-1] [WARN] [1785556907.011158510] [StereoNetNode]: => HFOV: 131.629°, VFOV: 68.1128°

[stereonet_model_node-1] [WARN] [1785556907.098308085] [StereoNetNode]: => publish result, stamp: 9866.767941621, fps: 0.00, latenc

y: 1785547040330.33 ms, cpu_usage: 0%, bpu_usage: 0%

[stereonet_model_node-1] [WARN] [1785556907.156457316] [StereoNetNode]: => save total 1 images, stop saving

[stereonet_model_node-1] [WARN] [1785556907.158611730] [StereoNetNode]: => save camera intrinsic to /home/sunrise/stereonet_result_

baseline/camera_intrinsic.txt

[hobot_codec_republish-3] [WARN] [1785556907.181857915] [HobotVenc]: init_pic_w_: 544, init_pic_h_: 896, alined_pic_w_: 544, alined

_pic_h_: 896, aline_w_: 16, aline_h_: 16

[stereonet_model_node-1] [WARN] [1785556907.343997203] [StereoNetNode]: => save result to /home/sunrise/stereonet_result_baseline,

pub count: 0, save count: 0

[stereonet_model_node-1] [ERROR] [1785556907.470185738] [StereoNetNode]: => top is not left image, please swap the mipi cables, or

set the mipi_channel and mipi_channel2 parameters.

[hobot_codec_republish-3] [WARN] [1785556908.964097052] [hobot_codec_encoder_f2951eb0]: Sub imgRaw fps [4.80]

[hobot_codec_republish-3] [WARN] [1785556908.968215922] [hobot_codec_encoder_f2951eb0]: Pub img fps [4.79]

[stereonet_model_node-1] [WARN] [1785556911.974507030] [StereoNetNode]: => receive stereo image, format: nv12, stamp: 9871.76794524

8, latency: 1785547040206.55 ms

[stereonet_model_node-1] [WARN] [1785556912.022122563] [StereoNetNode]: => input image size not match model input size, need resize

, [1280 x 640] → [544 x 448]

[stereonet_model_node-1] [WARN] [1785556912.162654666] [StereoNetNode]: => publish result, stamp: 9871.817952623, fps: 14.29, laten

cy: 1785547040344.66 ms, cpu_usage: 153%, bpu_usage: 88%

[stereonet_model_node-1] [ERROR] [1785556912.512689675] [StereoNetNode]: => top is not left image, please swap the mipi cables, or

set the mipi_channel and mipi_channel2 parameters.

[hobot_codec_republish-3] [WARN] [1785556914.007835904] [hobot_codec_encoder_f2951eb0]: Sub imgRaw fps [14.28]

[hobot_codec_republish-3] [WARN] [1785556914.012049483] [hobot_codec_encoder_f2951eb0]: Pub img fps [14.28]

[stereonet_model_node-1] [WARN] [1785556916.982627627] [StereoNetNode]: => receive stereo image, format: nv12, stamp: 9876.78462245

9, latency: 1785547040197.99 ms

[stereonet_model_node-1] [WARN] [1785556917.065135332] [StereoNetNode]: => input image size not match model input size, need resize

, [1280 x 640] → [544 x 448]

[stereonet_model_node-1] [WARN] [1785556917.207546558] [StereoNetNode]: => publish result, stamp: 9876.851293876, fps: 14.26, laten

cy: 1785547040356.20 ms, cpu_usage: 140%, bpu_usage: 97%

[stereonet_model_node-1] [ERROR] [1785556917.558373816] [StereoNetNode]: => top is not left image, please swap the mipi cables, or

set the mipi_channel and mipi_channel2 parameters.

[hobot_codec_republish-3] [WARN] [1785556919.052578212] [hobot_codec_encoder_f2951eb0]: Sub imgRaw fps [14.27]

[hobot_codec_republish-3] [WARN] [1785556919.057329832] [hobot_codec_encoder_f2951eb0]: Pub img fps [14.27]

[stereonet_model_node-1] [WARN] [1785556922.007448288] [StereoNetNode]: => receive stereo image, format: nv12, stamp: 9881.80129129

5, latency: 1785547040206.15 ms

[stereonet_model_node-1] [WARN] [1785556922.118338922] [StereoNetNode]: => input image size not match model input size, need resize

, [1280 x 640] → [544 x 448]

[stereonet_model_node-1] [WARN] [1785556922.263636604] [StereoNetNode]: => publish result, stamp: 9881.901285003, fps: 14.18, laten

cy: 1785547040362.27 ms, cpu_usage: 173%, bpu_usage: 78%

[stereonet_model_node-1] [ERROR] [1785556922.614101862] [StereoNetNode]: => top is not left image, please swap the mipi cables, or

set the mipi_channel and mipi_channel2 parameters.

[hobot_codec_republish-3] [WARN] [1785556924.123910824] [hobot_codec_encoder_f2951eb0]: Sub imgRaw fps [14.20]

[hobot_codec_republish-3] [WARN] [1785556924.128214903] [hobot_codec_encoder_f2951eb0]: Pub img fps [14.20]

[stereonet_model_node-1] [WARN] [1785556927.030221326] [StereoNetNode]: => receive stereo image, format: nv12, stamp: 9886.81795888

0, latency: 1785547040212.25 ms

[stereonet_model_node-1] [WARN] [1785556927.188721952] [StereoNetNode]: => input image size not match model input size, need resize

, [1280 x 640] → [544 x 448]

[stereonet_model_node-1] [WARN] [1785556927.330421554] [StereoNetNode]: => publish result, stamp: 9886.984637006, fps: 14.26, laten

cy: 1785547040345.73 ms, cpu_usage: 150%, bpu_usage: 80%

[stereonet_model_node-1] [ERROR] [1785556927.679028022] [StereoNetNode]: => top is not left image, please swap the mipi cables, or

set the mipi_channel and mipi_channel2 parameters.

[hobot_codec_republish-3] [WARN] [1785556929.169048172] [hobot_codec_encoder_f2951eb0]: Sub imgRaw fps [14.27]

[hobot_codec_republish-3] [WARN] [1785556929.172742084] [hobot_codec_encoder_f2951eb0]: Pub img fps [14.27]

[stereonet_model_node-1] [WARN] [1785556932.037641504] [StereoNetNode]: => receive stereo image, format: nv12, stamp: 9891.83462192

5, latency: 1785547040203.01 ms

有没有大神能指导一下,怎么才能正常建模呢?

你启动的应该是深度测距程序

是的,这是深度测距的图像,还没搞清楚建模的流程,要咋玩 :joy:

现在我使用深度测距程序发现测试的距离不准,要怎么调试呢?

根据日志分析,你的问题很明确:

核心问题

MIPI 摄像头左右通道接反了,导致立体匹配算法无法正常工作。

日志中反复出现:

[ERROR] [StereoNetNode]: => top is not left image, please swap the mipi cables, or set the mipi_channel and mipi_channel2 parameters.

解决方案

方案 1:交换 MIPI 通道参数(推荐)

修改启动命令中的 mipi_channel 和 mipi_channel2:

source /opt/tros/humble/setup.bash
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py \
  mipi_camera_calibration_file_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml \
  mipi_image_width:=1280 \
  mipi_image_height:=640 \
  mipi_image_framerate:=10.0 \
  mipi_gdc_enable:=True \
  mipi_rotation:=0.0 \
  mipi_cal_rotation:=0.0 \
  mipi_channel:=0 \
  mipi_channel2:=2 \
  calib_method:=none

关键修改:将 mipi_channel:=2 和 mipi_channel2:=0 互换

方案 2:物理交换 MIPI 线缆

如果方案 1 无效,可以物理交换两个 MIPI 摄像头的连接线。

关于建模流程

你当前运行的是深度测距程序,不是 3D 建模。完整流程:

  1. 深度图生成(当前步骤)- hobot_stereonet
  2. 点云生成 - 已包含在 launch 文件中(save_pcd_flag:=True)
  3. 3D 建模 - 需要使用点云处理工具(如 CloudCompare、Open3D)

保存的点云文件位置:/home/sunrise/stereonet_result_baseline/

距离不准的调试方法

参考社区相关帖子:RDK-X5 双目深度算法精度差

调试步骤:

  1. 检查标定文件 - 确保使用正确的相机标定参数
  2. 验证基线距离 - 日志显示 baseline: 0.079239m(约 8cm),确认与实际硬件一致
  3. 调整视差范围 - 修改 render_max_disp 参数
  4. 启用滤波 - 设置 speckle_filter_enable:=1 和 pcl_filter_enable:=1

建议先解决通道接反问题,再测试深度精度。

通道参数交换,物理交换mipi线缆都是过了,都还是有问题

根据你的日志和已尝试的方案,问题比通道接反更复杂。让我分析关键信息:

核心问题定位

你的日志中有两个关键警告被忽略了:

[WARN] [mipi_cap]: Target FOV 0.00° out of valid range [86.84°, 143.17°]
[WARN] [mipi_cap]: Use default alpha=0.0 (target FOV invalid)

以及 stereonet 节点初始化时的参数:

[camera_fx, camera_fy, camera_cx, camera_cy, baseline, doffs]: [0, 0, 0, 0, 0(m)0]

这说明:相机内参完全没有正确加载!


问题根因

1. 标定文件路径问题

你的启动命令中:

mipi_camera_calibration_file_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml

但日志显示:

config_file_path is  /opt/tros/humble/lib/mipi_cam/config/

注意:路径末尾缺少了文件名! 这导致系统使用了默认的空参数(全 0)。

2. FOV 为 0 的原因

因为内参全是 0,计算出的视场角(FOV)也是 0,超出了有效范围 [86.84°, 143.17°],系统只能使用默认值 alpha=0.0,导致极线校正失败。


解决方案

步骤 1:检查标定文件是否存在

# 确认标定文件存在
ls -la /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml

# 查看文件内容(确认不是空文件)
cat /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml

如果文件不存在,需要从相机厂商获取或使用官方默认文件。

步骤 2:修正启动命令

关键修改:确保路径完整且正确

source /opt/tros/humble/setup.bash
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py \
  mipi_camera_calibration_file_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml \
  mipi_image_width:=1280 \
  mipi_image_height:=640 \
  mipi_image_framerate:=10.0 \
  mipi_gdc_enable:=True \
  mipi_rotation:=0.0 \
  mipi_cal_rotation:=0.0 \
  mipi_channel:=2 \
  mipi_channel2:=0 \
  calib_method:=none \
  save_result_flag:=True \
  save_dir:=/home/sunrise/stereonet_result_baseline \
  save_freq:=1 \
  save_total:=1 \
  save_stereo_flag:=True \
  save_origin_flag:=False \
  save_disp_flag:=True \
  save_uncert_flag:=False \
  save_depth_flag:=True \
  save_visual_flag:=True \
  save_pcd_flag:=True

步骤 3:验证内参是否加载成功

启动后,重点检查日志中是否还有以下信息:

:white_check_mark: 正确的标志:

[WARN] [StereoNetNode]: => sub rectified [fx, fy, cx, cy, baseline(m), doffs] : [287.429561, 473.413395, 285.964228, 223.091902, 0.079239, 0.000000]

错误的标志(你当前的情况):

[camera_fx, camera_fy, camera_cx, camera_cy, baseline, doffs]: [0, 0, 0, 0, 0(m)0]
Target FOV 0.00° out of valid range

步骤 4:如果标定文件确实有问题

参考社区教程重新标定:[132GS MIPI 双目相机][RDK X5][如何自行标定相机]

快速标定流程:

# 1. 采集棋盘格图像
bash run_cam.sh --calibration_mode true

# 2. 执行标定
bash run_stereo.sh --epipolar_mode True \
  --chessboard_per_rows 11 \
  --chessboard_per_cols 8 \
  --chessboard_square_size 0.06 \
  --save_calib True \
  --calib_save_path /home/sunrise/my_calibration.yaml

# 3. 使用新标定文件启动
ros2 launch hobot_stereonet ... \
  mipi_camera_calibration_file_path:=/home/sunrise/my_calibration.yaml

关于"满屏距离标识,没有物体识别"

这是正常现象!你运行的是深度测距程序(hobot_stereonet),不是物体识别程序。

  • 深度测距:输出每个像素的距离值(就是你看到的满屏数字)
  • 物体识别:需要运行 YOLO 等检测模型(如 hobot_object_detection)

如果你需要同时做深度 + 识别,需要:

  1. 先修复深度测距的标定问题
  2. 再启动物体检测节点
  3. 进行数据融合

下一步行动

请按以下顺序操作:

  1. 检查标定文件是否存在且有效
  2. 修正启动命令中的路径
  3. 重新启动并确认内参加载成功(日志中 fx/fy 不为 0)
  4. 测试深度精度

如果仍有问题,请提供:

  • cat /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml 的内容
  • 修正后的完整启动日志

相关参考帖子:

sunrise@ubuntu:~$ ros2 launch hobot_stereonet \                                                                                                                                                                                                                             

stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py \

stereonet_pub_web:=True \

mipi_channel:=2 \

mipi_channel2:=0 \

mipi_rotation:=0.0 \

mipi_cal_rotation:=0.0 \

mipi_camera_calibration_file_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml \

mipi_image_width:=544 \

mipi_image_height:=448 \

mipi_sub_image_width:=544 \

mipi_sub_image_height:=448 \

mipi_image_framerate:=10.0

[INFO] [launch]: All log files can be found below /home/sunrise/.ros/log/2026-08-03-09-46-37-784206-ubuntu-3439

[INFO] [launch]: Default logging verbosity is set to INFO

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

Hobot shm pkg enables zero-copy with fastrtps profiles file: /opt/tros/humble/lib/hobot_shm/config/shm_fastdds.xml

Hobot shm pkg sets RMW_FASTRTPS_USE_QOS_FROM_XML: 1

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

launch webserver

pwd_path is /home/sunrise

webserver_path is /opt/tros/humble/lib/websocket/webservice

launch webserver cmd is ./sbin/nginx -p .

nginx: [alert] could not open error log file: open() “./logs/error.log” failed (13: Permission denied)

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

[INFO] [stereonet_model_node-1]: process started with pid [3447]

[INFO] [mipi_cam-2]: process started with pid [3449]

[INFO] [hobot_codec_republish-3]: process started with pid [3451]

[INFO] [websocket-4]: process started with pid [3453]

[hobot_codec_republish-3] [WARN] [1785721599.213982132] [hobot_codec_encoder_5fa7321d]: Parameters:

[hobot_codec_republish-3] sub_topic: /StereoNetNode/stereonet_visual

[hobot_codec_republish-3] pub_topic: /image_jpeg

[hobot_codec_republish-3] channel: 1

[hobot_codec_republish-3] in_mode: ros

[hobot_codec_republish-3] out_mode: ros

[hobot_codec_republish-3] in_format: bgr8

[hobot_codec_republish-3] out_format: jpeg

[hobot_codec_republish-3] jpg_quality: 60.00

[hobot_codec_republish-3] input_framerate: 30

[hobot_codec_republish-3] output_framerate: -1

[hobot_codec_republish-3] dump_output: false

[hobot_codec_republish-3] dump_file_prefix: ./dump_codec_output

[hobot_codec_republish-3] dump_frame_count: -1 (unlimited)

[hobot_codec_republish-3] [WARN] [1785721599.219516542] [HobotCodecImpl]: platform x5

[mipi_cam-2] [WARN] [1785721600.110653978] [mipi_node]:

[mipi_cam-2] node params:

[mipi_cam-2] config_path: /opt/tros/humble/lib/mipi_cam/config/

[mipi_cam-2] video_device_name: default

[mipi_cam-2] channel: 2

[mipi_cam-2] channel2: 0

[mipi_cam-2] camera_info_url:

[mipi_cam-2] camera_calibration_file_path: /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml

[mipi_cam-2] out_format_name: nv12

[mipi_cam-2] gdc_bin_file:

[mipi_cam-2] image_width: 544

[mipi_cam-2] image_height: 448

[mipi_cam-2] sub_image_width: 544

[mipi_cam-2] sub_image_height: 448

[mipi_cam-2] framerate: 10

[mipi_cam-2] rotation: 0.000000

[mipi_cam-2] device_mode: dual

[mipi_cam-2] dual_combine: 1

[mipi_cam-2] lpwm_enable: false

[mipi_cam-2] gdc_enable: true

[mipi_cam-2] frame_ts_type: sensor

[mipi_cam-2] frame_id: default_cam

[mipi_cam-2] link_type: 0

[mipi_cam-2] link_port: 0

[mipi_cam-2] io_method_name: ros

[mipi_cam-2] cal_alpha: 0.000

[websocket-4] [WARN] [1785721600.218037636] [websocket]:

[websocket-4] Parameter:

[websocket-4] image_topic: /image_jpeg

[websocket-4] image_type: mjpeg

[websocket-4] only_show_image: 1

[websocket-4] output_fps: 0

[stereonet_model_node-1] [WARN] [1785721600.708941067] [StereoNetNode]: => ===================== init StereoNetNode =====================

[stereonet_model_node-1]

[stereonet_model_node-1] [WARN] [1785721600.714898143] [StereoNetNode]:

[stereonet_model_node-1] stereonet_model_file_path: /opt/tros/humble/share/hobot_stereonet/config/DStereoV2.5_int16_544_448_96.bin

[stereonet_model_node-1] stereo_image_topic: /image_combine_raw

[stereonet_model_node-1] camera_info_topic: /image_combine_raw/right/camera_info

[stereonet_model_node-1] depth_image_topic: /StereoNetNode/stereonet_depth

[stereonet_model_node-1] depth_camera_info_topic: /StereoNetNode/stereonet_depth/camera_info

[stereonet_model_node-1] rectify_left_image_topic: /StereoNetNode/rectify_left_image

[stereonet_model_node-1] rectify_right_image_topic: /StereoNetNode/rectify_right_image

[stereonet_model_node-1] publish_rectify_bgr: 0

[stereonet_model_node-1] [origin_left_image_topic, origin_right_image_topic, publish_origin_enable]: [/StereoNetNode/origin_left_image, /StereoNetNode/origin_right_image, 1]

[stereonet_model_node-1] [pointcloud2_topic, publish_pcd_enabled]: [/StereoNetNode/stereonet_pointcloud2, 1]

[stereonet_model_node-1] [visual_image_topic, publish_visual_enabled]: [/StereoNetNode/stereonet_visual, 1]

[stereonet_model_node-1] [stereonet_frame_id, stereonet_frame_id_right]: [camera_link, camera_link_right]

[stereonet_model_node-1] uncertainty_th: -0.1

[stereonet_model_node-1] [camera_fx, camera_fy, camera_cx, camera_cy, baseline, doffs]: [0, 0, 0, 0, 0(m)0]

[stereonet_model_node-1] [pointcloud_downsample_step, pointcloud_height_min, pointcloud_height_max, pointcloud_depth_max]: [2, -5(m), 5(m), 5(m)]

[stereonet_model_node-1] [use_local_image_flag, local_image_dir, image_sleep]: [0, /opt/tros/humble/share/hobot_stereonet/config, 0]

[stereonet_model_node-1] [save_result_flag, save_dir, save_freq, save_total, save_stereo_flag, save_origin_flag, save_disp_flag, save_uncert_flag, save_depth_flag, save_visual_flag, save_pcd_flag]: [0, ./stereonet_result, 1, -1, 1, 0, 1, 0, 1, 1, 0]

[stereonet_model_node-1] [calib_method, stereo_calib_file_path]: [none, ]

[stereonet_model_node-1] [speckle_filter_enable, max_speckle_size, max_disp_diff]: [0, 100, 1]

[stereonet_model_node-1] [pcl_filter_enable, grid_size, grid_min_point_count]: [0, 0.1, 5]

[stereonet_model_node-1] [render_type, render_perf, depth_decimal_num, render_max_disp, render_z_near, render_z_range]: [indoor, 1, 2, 80, -1(m), 3(m)]

[stereonet_model_node-1] left_img_mask_enable: 0

[stereonet_model_node-1] [measure_mode, roi_size, gt_depth]: [0, 10, 0(mm)]

[stereonet_model_node-1] [epipolar_mode, feature_epipolar_mode, epipolar_img, chessboard_per_rows, chessboard_per_cols, chessboard_square_size]: [0, 0, rect, 20, 11, 0.06(m)]

[stereonet_model_node-1] feature_epipolar_mode: 0

[stereonet_model_node-1] post_version: auto

[stereonet_model_node-1] [infer_thread_num, save_thread_num, max_save_task]: [2, 4, 50]

[stereonet_model_node-1]

[stereonet_model_node-1] => ==================================================================

[stereonet_model_node-1]

[stereonet_model_node-1] [BPU_PLAT]BPU Platform Version(1.3.6)! soc info(x5)

[stereonet_model_node-1] [HBRT] set log level as 0. version = 3.15.55.0

[stereonet_model_node-1] [DNN] Runtime version = 1.24.5_(3.15.55 HBRT)

[mipi_cam-2] [WARN] [1785721601.010957775] [mipi_cap]: i2c bus: 6, EEPROM FLAG: SZYGSJKJ

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785721601.041090862] [mipi_cap]: => ================== left awb otp data ==================

[mipi_cam-2] [WARN] [1785721601.041194279] [mipi_cap]: left_awb_otp_data_.awb_golden_data[0].rg_ratio: 1401

[mipi_cam-2] [WARN] [1785721601.041245654] [mipi_cap]: left_awb_otp_data_.awb_golden_data[0].bg_ratio: 340

[mipi_cam-2] [WARN] [1785721601.041293445] [mipi_cap]: left_awb_otp_data_.awb_golden_data[1].rg_ratio: 1094

[mipi_cam-2] [WARN] [1785721601.041340195] [mipi_cap]: left_awb_otp_data_.awb_golden_data[1].bg_ratio: 403

[mipi_cam-2] [WARN] [1785721601.041387945] [mipi_cap]: left_awb_otp_data_.awb_golden_data[2].rg_ratio: 880

[mipi_cam-2] [WARN] [1785721601.041435320] [mipi_cap]: left_awb_otp_data_.awb_golden_data[2].bg_ratio: 548

[mipi_cam-2] [WARN] [1785721601.041482570] [mipi_cap]: left_awb_otp_data_.awb_data[0].rg_ratio: 1429

[mipi_cam-2] [WARN] [1785721601.041526528] [mipi_cap]: left_awb_otp_data_.awb_data[0].bg_ratio: 348

[mipi_cam-2] [WARN] [1785721601.041571570] [mipi_cap]: left_awb_otp_data_.awb_data[1].rg_ratio: 1114

[mipi_cam-2] [WARN] [1785721601.041616111] [mipi_cap]: left_awb_otp_data_.awb_data[1].bg_ratio: 414

[mipi_cam-2] [WARN] [1785721601.041660195] [mipi_cap]: left_awb_otp_data_.awb_data[2].rg_ratio: 893

[mipi_cam-2] [WARN] [1785721601.041705153] [mipi_cap]: left_awb_otp_data_.awb_data[2].bg_ratio: 561

[mipi_cam-2] [WARN] [1785721601.041799611] [mipi_cap]: => ================== right awb otp data ==================

[mipi_cam-2] [WARN] [1785721601.041850778] [mipi_cap]: right_awb_otp_data_.awb_golden_data[0].rg_ratio: 1401

[mipi_cam-2] [WARN] [1785721601.041896736] [mipi_cap]: right_awb_otp_data_.awb_golden_data[0].bg_ratio: 340

[mipi_cam-2] [WARN] [1785721601.041941653] [mipi_cap]: right_awb_otp_data_.awb_golden_data[1].rg_ratio: 1094

[mipi_cam-2] [WARN] [1785721601.041989736] [mipi_cap]: right_awb_otp_data_.awb_golden_data[1].bg_ratio: 403

[mipi_cam-2] [WARN] [1785721601.042037903] [mipi_cap]: right_awb_otp_data_.awb_golden_data[2].rg_ratio: 880

[mipi_cam-2] [WARN] [1785721601.042086403] [mipi_cap]: right_awb_otp_data_.awb_golden_data[2].bg_ratio: 548

[mipi_cam-2] [WARN] [1785721601.042134944] [mipi_cap]: right_awb_otp_data_.awb_data[0].rg_ratio: 1330

[mipi_cam-2] [WARN] [1785721601.042179277] [mipi_cap]: right_awb_otp_data_.awb_data[0].bg_ratio: 341

[mipi_cam-2] [WARN] [1785721601.042223861] [mipi_cap]: right_awb_otp_data_.awb_data[1].rg_ratio: 1043

[mipi_cam-2] [WARN] [1785721601.042268319] [mipi_cap]: right_awb_otp_data_.awb_data[1].bg_ratio: 405

[mipi_cam-2] [WARN] [1785721601.042312527] [mipi_cap]: right_awb_otp_data_.awb_data[2].rg_ratio: 836

[mipi_cam-2] [WARN] [1785721601.042356652] [mipi_cap]: right_awb_otp_data_.awb_data[2].bg_ratio: 552

[mipi_cam-2] [WARN] [1785721601.042400527] [mipi_cap]: => ========================================================

[stereonet_model_node-1] [A][DNN][packed_model.cpp:247][Model](2026-08-03,09:46:40.917.641) [HorizonRT] The model builder version = 1.24.3

[mipi_cam-2] [WARN] [1785721601.066797580] [mipi_cap]: Target FOV 0.00° out of valid range [85.90°, 133.96°]

[mipi_cam-2] [WARN] [1785721601.066932497] [mipi_cap]: Use default alpha=0.0 (target FOV invalid)

[stereonet_model_node-1] [WARN] [1785721601.075498194] [StereoNetNode]: => ============ init model start ============

[stereonet_model_node-1] [WARN] [1785721601.075749194] [StereoNetNode]: => model name: DStereoV25_int16_544_448_0309_96

[stereonet_model_node-1] [WARN] [1785721601.075855319] [StereoNetNode]: => input_count: 2

[stereonet_model_node-1] [WARN] [1785721601.075950444] [StereoNetNode]: => output_count: 2

[stereonet_model_node-1] [WARN] [1785721601.076077568] [StereoNetNode]: => model_input_h: 448, model_input_w: 544

[stereonet_model_node-1] [WARN] [1785721601.076248027] [StereoNetNode]: => ----- prepare_input_tensor -----

[stereonet_model_node-1] [WARN] [1785721601.076371735] [StereoNetNode]: => input tensor type is HB_DNN_IMG_TYPE_NV12

[stereonet_model_node-1] [WARN] [1785721601.076799193] [StereoNetNode]: => input[0].memsize: 365568

[stereonet_model_node-1] [WARN] [1785721601.078309316] [StereoNetNode]: => ----- prepare_output_tensor -----

[stereonet_model_node-1] [WARN] [1785721601.078467024] [StereoNetNode]: => output tensor type is HB_DNN_TENSOR_TYPE_S32

[stereonet_model_node-1] [WARN] [1785721601.078718940] [StereoNetNode]: => output[0].memsize: 548352

[stereonet_model_node-1] [WARN] [1785721601.080353730] [StereoNetNode]: => ============ init model end ============

[mipi_cam-2] [WARN] [1785721601.183583934] [mipi_cap]: X5 start gdc rotation and cal.

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785721602.039035742] [mipi_cap]: X5 start gdc rotation and cal.

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785721602.720750430] [mipi_cam]: [init]->cap sc132gs-1280p init success.

[mipi_cam-2]

[stereonet_model_node-1] [WARN] [1785721602.794957795] [StereoNetNode]: => sub rectified [fx, fy, cx, cy, baseline(m), doffs] : [292.179619, 292.179619, 281.699961, 223.311832, 0.079239, 0.000000]

[stereonet_model_node-1] [WARN] [1785721602.798115958] [StereoNetNode]: => receive left camera info

[stereonet_model_node-1] [WARN] [1785721602.809183027] [StereoNetNode]: => receive stereo image, format: nv12, stamp: 849.739083696, latency: 1785720753070.08 ms

[stereonet_model_node-1] [WARN] [1785721602.811038025] [StereoNetNode]: => HFOV: 85.903°, VFOV: 74.9513°

[stereonet_model_node-1] [WARN] [1785721602.907308904] [StereoNetNode]: => publish result, stamp: 849.739083696, fps: 0.00, latency: 1785720753168.17 ms, cpu_usage: 0%, bpu_usage: 0%

[hobot_codec_republish-3] [WARN] [1785721602.972739281] [HobotVenc]: init_pic_w_: 544, init_pic_h_: 896, alined_pic_w_: 544, alined_pic_h_: 896, aline_w_: 16, aline_h_: 16

[stereonet_model_node-1] [ERROR] [1785721604.264543990] [StereoNetNode]: => top is not left image, please swap the mipi cables, or set the mipi_channel and mipi_channel2 parameters.

[hobot_codec_republish-3] [WARN] [1785721604.288736710] [hobot_codec_encoder_5fa7321d]: Sub imgRaw fps [0.60]

[hobot_codec_republish-3] [WARN] [1785721604.292622913] [hobot_codec_encoder_5fa7321d]: Pub img fps [0.60]

[stereonet_model_node-1] [WARN] [1785721604.333639445] [StereoNetNode]: => drop one message to avoid timestamp disorder

[stereonet_model_node-1] [WARN] [1785721607.823572566] [StereoNetNode]: => receive stereo image, format: nv12, stamp: 854.755755699, latency: 1785720753067.80 ms

[stereonet_model_node-1] [WARN] [1785721607.911815870] [StereoNetNode]: => publish result, stamp: 854.722422782, fps: 15.61, latency: 1785720753189.37 ms, cpu_usage: 80%, bpu_usage: 100%

[stereonet_model_node-1] [ERROR] [1785721609.267108681] [StereoNetNode]: => top is not left image, please swap the mipi cables, or set the mipi_channel and mipi_channel2 parameters.

[hobot_codec_republish-3] [WARN] [1785721609.292218524] [hobot_codec_encoder_5fa7321d]: Sub imgRaw fps [15.39]

[hobot_codec_republish-3] [WARN] [1785721609.295823936] [hobot_codec_encoder_5fa7321d]: Pub img fps [15.39]

[stereonet_model_node-1] [WARN] [1785721612.824466937] [StereoNetNode]: => receive stereo image, format: nv12, stamp: 859.755760326, latency: 1785720753068.69 ms

[stereonet_model_node-1] [WARN] [1785721612.962884675] [StereoNetNode]: => publish result, stamp: 859.755760326, fps: 15.78, latency: 1785720753207.09 ms, cpu_usage: 93%, bpu_usage: 100%

[stereonet_model_node-1] [ERROR] [1785721614.300054065] [StereoNetNode]: => top is not left image, please swap the mipi cables, or set the mipi_channel and mipi_channel2 parameters.

[hobot_codec_republish-3] [WARN] [1785721614.326550447] [hobot_codec_encoder_5fa7321d]: Sub imgRaw fps [15.69]

[hobot_codec_republish-3] [WARN] [1785721614.330153026] [hobot_codec_encoder_5fa7321d]: Pub img fps [15.69]

上面是启动日志,下面是SC132gs_dual_calibration.yaml的内容
sunrise@ubuntu:~$ cat /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml

%YAML:1.0

-–

image_width: 1280

image_height: 1088

left_camera_matrix: !!opencv-matrix

rows: 3

cols: 3

dt: d

data: [656.7575224009456, 0, 636.3995967335052, 0, 656.3766938297126, 540.4756754786636, 0, 0, 1]

left_distortion_coefficients: !!opencv-matrix

rows: 1

cols: 8

dt: d

data: [-0.32990876095880534, 0.13662699921032978, -0.00013531813117594095, -9.84710031787936e-05, -0.02937890519777009, 0.00014050652399494757, 4.560677311111928e-05, 4.667085000242849e-05]

right_camera_matrix: !!opencv-matrix

rows: 3

cols: 3

dt: d

data: [659.0957261498398, 0, 632.5403313828651, 0, 658.9494113212542, 539.3174440945205, 0, 0, 1]

right_distortion_coefficients: !!opencv-matrix

rows: 1

cols: 8

dt: d

data: [-0.33648211988088883, 0.14640319389383946, -9.945169177922777e-06, -0.0002291888331273915, -0.034067021404055015, -4.29001168046378e-05, -0.00023103725828151024, 0.00012545114191076973]

R: !!opencv-matrix

rows: 3

cols: 3

dt: d

data: [0.9999953142616191, -0.002907409016669017, 0.0009583462919259559,

      0.0029068591885358154, 0.9999956099808883, 0.0005746204042934068,                                                                                                                                                                                                 

      -0.0009600127413120272, -0.0005718319340480337, 0.999999375691693\]                                                                                                                                                                                                

T: !!opencv-matrix

rows: 3

cols: 1

dt: d

data: [-0.079168011922606, 0.0002710668686210683, 0.00333092179027396]

问题分析

你的标定文件是有效的,但有两个关键问题:

问题 1:分辨率不匹配 :warning:

配置项 标定文件 启动命令
image_width 1280 544
image_height 1088 448

标定文件是基于 1280×1088 标定的,但你用 544×448 启动,导致内参缩放计算异常。

问题 2:MIPI 通道仍然错误

日志持续报错:

[ERROR] [StereoNetNode]: => top is not left image, please swap the mipi cables, or set the mipi_channel and mipi_channel2 parameters.

解决方案

步骤 1:使用正确的分辨率启动

必须使用标定文件对应的分辨率 1280×1088:

source /opt/tros/humble/setup.bash
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py \
  mipi_camera_calibration_file_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml \
  mipi_image_width:=1280 \
  mipi_image_height:=1088 \
  mipi_image_framerate:=10.0 \
  mipi_gdc_enable:=True \
  mipi_rotation:=0.0 \
  mipi_cal_rotation:=0.0 \
  mipi_channel:=0 \
  mipi_channel2:=2 \
  calib_method:=none

关键修改:

  • mipi_image_width:=1280(不是 544)
  • mipi_image_height:=1088(不是 448)
  • mipi_channel:=0 和 mipi_channel2:=2(交换试试)

步骤 2:如果通道还是报错,尝试 4 种组合

SC132GS 双目相机的 MIPI 通道组合可能是以下之一:

组合 mipi_channel mipi_channel2
组合 1 0 2
组合 2 2 0
组合 3 0 1
组合 4 1 0

逐个尝试,直到日志中不再出现 top is not left image 错误。

步骤 3:验证内参加载成功

启动后,确认日志中出现:

:white_check_mark: 正确标志:

[WARN] [StereoNetNode]: => sub rectified [fx, fy, cx, cy, baseline(m), doffs] : [xxx, xxx, xxx, xxx, 0.079239, 0.000000]

(fx/fy 不为 0,baseline 约 0.079)

:cross_mark: 错误标志:

[camera_fx, camera_fy, camera_cx, camera_cy, baseline, doffs]: [0, 0, 0, 0, 0(m)0]
Target FOV 0.00° out of valid range

关于标定文件的说明

你的标定文件参数是正确的:

  • 基线距离:7.92cm(T 矩阵第一个值 -0.079168)
  • 焦距:fx≈657, fy≈656(1280×1088 分辨率下)
  • 畸变系数:8 参数模型,已完整标定

但必须用 1280×1088 分辨率才能正确加载这些参数!


快速测试命令

# 测试组合 1:通道 0+2,分辨率 1280x1088
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py \
  mipi_camera_calibration_file_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml \
  mipi_image_width:=1280 \
  mipi_image_height:=1088 \
  mipi_channel:=0 \
  mipi_channel2:=2 \
  mipi_gdc_enable:=True

# 如果还报错,测试组合 2:通道 2+0
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py \
  mipi_camera_calibration_file_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml \
  mipi_image_width:=1280 \
  mipi_image_height:=1088 \
  mipi_channel:=2 \
  mipi_channel2:=0 \
  mipi_gdc_enable:=True

参考帖子

先解决分辨率和通道问题,再测试深度精度! 有进展请更新帖子。

4种组合都验证了,还是报错。
sunrise@ubuntu:~$ ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py mipi_camera_calibration_file_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml mipi_image_width:=1280 mipi_image_height:=1088 mipi_i

mage_framerate:=10.0 mipi_gdc_enable:=True mipi_rotation:=0.0 mipi_cal_rotation:=0.0 mipi_channel:=0 mipi_channel2:=1 calib_method:=none

[INFO] [launch]: All log files can be found below /home/sunrise/.ros/log/2026-08-03-09-51-11-697871-ubuntu-4127

[INFO] [launch]: Default logging verbosity is set to INFO

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

Hobot shm pkg enables zero-copy with fastrtps profiles file: /opt/tros/humble/lib/hobot_shm/config/shm_fastdds.xml

Hobot shm pkg sets RMW_FASTRTPS_USE_QOS_FROM_XML: 1

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

[INFO] [stereonet_model_node-1]: process started with pid [4131]

[INFO] [mipi_cam-2]: process started with pid [4133]

[INFO] [hobot_codec_republish-3]: process started with pid [4135]

[INFO] [websocket-4]: process started with pid [4137]

[hobot_codec_republish-3] [WARN] [1785721872.592320492] [hobot_codec_encoder_d69d2f67]: Parameters:

[hobot_codec_republish-3] sub_topic: /StereoNetNode/stereonet_visual

[hobot_codec_republish-3] pub_topic: /image_jpeg

[hobot_codec_republish-3] channel: 1

[hobot_codec_republish-3] in_mode: ros

[hobot_codec_republish-3] out_mode: ros

[hobot_codec_republish-3] in_format: bgr8

[hobot_codec_republish-3] out_format: jpeg

[hobot_codec_republish-3] jpg_quality: 60.00

[hobot_codec_republish-3] input_framerate: 30

[hobot_codec_republish-3] output_framerate: -1

[hobot_codec_republish-3] dump_output: false

[hobot_codec_republish-3] dump_file_prefix: ./dump_codec_output

[hobot_codec_republish-3] dump_frame_count: -1 (unlimited)

[hobot_codec_republish-3] [WARN] [1785721872.598510238] [HobotCodecImpl]: platform x5

[mipi_cam-2] [WARN] [1785721872.888789708] [mipi_node]:

[mipi_cam-2] node params:

[mipi_cam-2] config_path: /opt/tros/humble/lib/mipi_cam/config/

[mipi_cam-2] video_device_name: default

[mipi_cam-2] channel: 0

[mipi_cam-2] channel2: 1

[mipi_cam-2] camera_info_url:

[mipi_cam-2] camera_calibration_file_path: /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml

[mipi_cam-2] out_format_name: nv12

[mipi_cam-2] gdc_bin_file:

[mipi_cam-2] image_width: 1280

[mipi_cam-2] image_height: 1088

[mipi_cam-2] sub_image_width: 1920

[mipi_cam-2] sub_image_height: 1080

[mipi_cam-2] framerate: 10

[mipi_cam-2] rotation: 0.000000

[mipi_cam-2] device_mode: dual

[mipi_cam-2] dual_combine: 1

[mipi_cam-2] lpwm_enable: false

[mipi_cam-2] gdc_enable: true

[mipi_cam-2] frame_ts_type: sensor

[mipi_cam-2] frame_id: default_cam

[mipi_cam-2] link_type: 0

[mipi_cam-2] link_port: 0

[mipi_cam-2] io_method_name: ros

[mipi_cam-2] cal_alpha: 0.000

[websocket-4] [WARN] [1785721872.947434502] [websocket]:

[websocket-4] Parameter:

[websocket-4] image_topic: /image_jpeg

[websocket-4] image_type: mjpeg

[websocket-4] only_show_image: 1

[websocket-4] output_fps: 0

[stereonet_model_node-1] [WARN] [1785721873.328653742] [StereoNetNode]: => ===================== init StereoNetNode =====================

[stereonet_model_node-1]

[stereonet_model_node-1] [WARN] [1785721873.334291489] [StereoNetNode]:

[stereonet_model_node-1] stereonet_model_file_path: /opt/tros/humble/share/hobot_stereonet/config/DStereoV2.5_int16_544_448_96.bin

[stereonet_model_node-1] stereo_image_topic: /image_combine_raw

[stereonet_model_node-1] camera_info_topic: /image_combine_raw/right/camera_info

[stereonet_model_node-1] depth_image_topic: /StereoNetNode/stereonet_depth

[stereonet_model_node-1] depth_camera_info_topic: /StereoNetNode/stereonet_depth/camera_info

[stereonet_model_node-1] rectify_left_image_topic: /StereoNetNode/rectify_left_image

[stereonet_model_node-1] rectify_right_image_topic: /StereoNetNode/rectify_right_image

[stereonet_model_node-1] publish_rectify_bgr: 0

[stereonet_model_node-1] [origin_left_image_topic, origin_right_image_topic, publish_origin_enable]: [/StereoNetNode/origin_left_image, /StereoNetNode/origin_right_image, 1]

[stereonet_model_node-1] [pointcloud2_topic, publish_pcd_enabled]: [/StereoNetNode/stereonet_pointcloud2, 1]

[stereonet_model_node-1] [visual_image_topic, publish_visual_enabled]: [/StereoNetNode/stereonet_visual, 1]

[stereonet_model_node-1] [stereonet_frame_id, stereonet_frame_id_right]: [camera_link, camera_link_right]

[stereonet_model_node-1] uncertainty_th: -0.1

[stereonet_model_node-1] [camera_fx, camera_fy, camera_cx, camera_cy, baseline, doffs]: [0, 0, 0, 0, 0(m)0]

[stereonet_model_node-1] [pointcloud_downsample_step, pointcloud_height_min, pointcloud_height_max, pointcloud_depth_max]: [2, -5(m), 5(m), 5(m)]

[stereonet_model_node-1] [use_local_image_flag, local_image_dir, image_sleep]: [0, /opt/tros/humble/share/hobot_stereonet/config, 0]

[stereonet_model_node-1] [save_result_flag, save_dir, save_freq, save_total, save_stereo_flag, save_origin_flag, save_disp_flag, save_uncert_flag, save_depth_flag, save_visual_flag, save_pcd_flag]: [0, ./stereonet_result, 1, -1, 1, 0, 1, 0, 1, 1, 0]

[stereonet_model_node-1] [calib_method, stereo_calib_file_path]: [none, ]

[stereonet_model_node-1] [speckle_filter_enable, max_speckle_size, max_disp_diff]: [0, 100, 1]

[stereonet_model_node-1] [pcl_filter_enable, grid_size, grid_min_point_count]: [0, 0.1, 5]

[stereonet_model_node-1] [render_type, render_perf, depth_decimal_num, render_max_disp, render_z_near, render_z_range]: [indoor, 1, 2, 80, -1(m), 3(m)]

[stereonet_model_node-1] left_img_mask_enable: 0

[stereonet_model_node-1] [measure_mode, roi_size, gt_depth]: [0, 10, 0(mm)]

[stereonet_model_node-1] [epipolar_mode, feature_epipolar_mode, epipolar_img, chessboard_per_rows, chessboard_per_cols, chessboard_square_size]: [0, 0, rect, 20, 11, 0.06(m)]

[stereonet_model_node-1] feature_epipolar_mode: 0

[stereonet_model_node-1] post_version: auto

[stereonet_model_node-1] [infer_thread_num, save_thread_num, max_save_task]: [2, 4, 50]

[stereonet_model_node-1]

[stereonet_model_node-1] => ==================================================================

[stereonet_model_node-1]

[stereonet_model_node-1] [BPU_PLAT]BPU Platform Version(1.3.6)! soc info(x5)

[stereonet_model_node-1] [HBRT] set log level as 0. version = 3.15.55.0

[stereonet_model_node-1] [DNN] Runtime version = 1.24.5_(3.15.55 HBRT)

[stereonet_model_node-1] [A][DNN][packed_model.cpp:247][Model](2026-08-03,09:51:13.503.446) [HorizonRT] The model builder version = 1.24.3

[stereonet_model_node-1] [WARN] [1785721873.636719532] [StereoNetNode]: => ============ init model start ============

[stereonet_model_node-1] [WARN] [1785721873.636899449] [StereoNetNode]: => model name: DStereoV25_int16_544_448_0309_96

[stereonet_model_node-1] [WARN] [1785721873.636959616] [StereoNetNode]: => input_count: 2

[stereonet_model_node-1] [WARN] [1785721873.637011657] [StereoNetNode]: => output_count: 2

[stereonet_model_node-1] [WARN] [1785721873.637083574] [StereoNetNode]: => model_input_h: 448, model_input_w: 544

[stereonet_model_node-1] [WARN] [1785721873.637173282] [StereoNetNode]: => ----- prepare_input_tensor -----

[stereonet_model_node-1] [WARN] [1785721873.637246074] [StereoNetNode]: => input tensor type is HB_DNN_IMG_TYPE_NV12

[stereonet_model_node-1] [WARN] [1785721873.637536782] [StereoNetNode]: => input[0].memsize: 365568

[stereonet_model_node-1] [WARN] [1785721873.638388490] [StereoNetNode]: => ----- prepare_output_tensor -----

[stereonet_model_node-1] [WARN] [1785721873.638496615] [StereoNetNode]: => output tensor type is HB_DNN_TENSOR_TYPE_S32

[stereonet_model_node-1] [WARN] [1785721873.638640573] [StereoNetNode]: => output[0].memsize: 548352

[stereonet_model_node-1] [WARN] [1785721873.639600280] [StereoNetNode]: => ============ init model end ============

[mipi_cam-2] [WARN] [1785721873.771244566] [mipi_cap]: i2c bus: 6, EEPROM FLAG: SZYGSJKJ

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785721873.801863461] [mipi_cap]: => ================== left awb otp data ==================

[mipi_cam-2] [WARN] [1785721873.801934961] [mipi_cap]: left_awb_otp_data_.awb_golden_data[0].rg_ratio: 1401

[mipi_cam-2] [WARN] [1785721873.801957295] [mipi_cap]: left_awb_otp_data_.awb_golden_data[0].bg_ratio: 340

[mipi_cam-2] [WARN] [1785721873.801977503] [mipi_cap]: left_awb_otp_data_.awb_golden_data[1].rg_ratio: 1094

[mipi_cam-2] [WARN] [1785721873.801996503] [mipi_cap]: left_awb_otp_data_.awb_golden_data[1].bg_ratio: 403

[mipi_cam-2] [WARN] [1785721873.802015378] [mipi_cap]: left_awb_otp_data_.awb_golden_data[2].rg_ratio: 880

[mipi_cam-2] [WARN] [1785721873.802034128] [mipi_cap]: left_awb_otp_data_.awb_golden_data[2].bg_ratio: 548

[mipi_cam-2] [WARN] [1785721873.802052836] [mipi_cap]: left_awb_otp_data_.awb_data[0].rg_ratio: 1429

[mipi_cam-2] [WARN] [1785721873.802071295] [mipi_cap]: left_awb_otp_data_.awb_data[0].bg_ratio: 348

[mipi_cam-2] [WARN] [1785721873.802089836] [mipi_cap]: left_awb_otp_data_.awb_data[1].rg_ratio: 1114

[mipi_cam-2] [WARN] [1785721873.802108336] [mipi_cap]: left_awb_otp_data_.awb_data[1].bg_ratio: 414

[mipi_cam-2] [WARN] [1785721873.802126628] [mipi_cap]: left_awb_otp_data_.awb_data[2].rg_ratio: 893

[mipi_cam-2] [WARN] [1785721873.802144420] [mipi_cap]: left_awb_otp_data_.awb_data[2].bg_ratio: 561

[mipi_cam-2] [WARN] [1785721873.802180795] [mipi_cap]: => ================== right awb otp data ==================

[mipi_cam-2] [WARN] [1785721873.802202920] [mipi_cap]: right_awb_otp_data_.awb_golden_data[0].rg_ratio: 1401

[mipi_cam-2] [WARN] [1785721873.802222045] [mipi_cap]: right_awb_otp_data_.awb_golden_data[0].bg_ratio: 340

[mipi_cam-2] [WARN] [1785721873.802240295] [mipi_cap]: right_awb_otp_data_.awb_golden_data[1].rg_ratio: 1094

[mipi_cam-2] [WARN] [1785721873.802258545] [mipi_cap]: right_awb_otp_data_.awb_golden_data[1].bg_ratio: 403

[mipi_cam-2] [WARN] [1785721873.802276753] [mipi_cap]: right_awb_otp_data_.awb_golden_data[2].rg_ratio: 880

[mipi_cam-2] [WARN] [1785721873.802295878] [mipi_cap]: right_awb_otp_data_.awb_golden_data[2].bg_ratio: 548

[mipi_cam-2] [WARN] [1785721873.802314295] [mipi_cap]: right_awb_otp_data_.awb_data[0].rg_ratio: 1330

[mipi_cam-2] [WARN] [1785721873.802332378] [mipi_cap]: right_awb_otp_data_.awb_data[0].bg_ratio: 341

[mipi_cam-2] [WARN] [1785721873.802351211] [mipi_cap]: right_awb_otp_data_.awb_data[1].rg_ratio: 1043

[mipi_cam-2] [WARN] [1785721873.802369253] [mipi_cap]: right_awb_otp_data_.awb_data[1].bg_ratio: 405

[mipi_cam-2] [WARN] [1785721873.802387544] [mipi_cap]: right_awb_otp_data_.awb_data[2].rg_ratio: 836

[mipi_cam-2] [WARN] [1785721873.802405711] [mipi_cap]: right_awb_otp_data_.awb_data[2].bg_ratio: 552

[mipi_cam-2] [WARN] [1785721873.802423753] [mipi_cap]: => ========================================================

[mipi_cam-2] [WARN] [1785721873.818841367] [mipi_cap]: Target FOV 0.00° out of valid range [85.73°, 132.44°]

[mipi_cam-2] [WARN] [1785721873.819187700] [mipi_cap]: Use default alpha=0.0 (target FOV invalid)

[mipi_cam-2] [WARN] [1785721874.094346387] [mipi_cap]: X5 start gdc rotation and cal.

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785721874.932944893] [mipi_cap]: X5 start gdc rotation and cal.

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785721875.613775064] [mipi_cam]: [init]->cap sc132gs-1280p init success.

[mipi_cam-2]

[stereonet_model_node-1] [WARN] [1785721875.701681799] [StereoNetNode]: => sub rectified [fx, fy, cx, cy, baseline(m), doffs] : [293.040099, 283.914283, 295.914188, 222.578736, 0.079239, 0.000000]

[stereonet_model_node-1] [WARN] [1785721875.705904421] [StereoNetNode]: => receive left camera info

[stereonet_model_node-1] [WARN] [1785721875.743828731] [StereoNetNode]: => receive stereo image, format: nv12, stamp: 1122.634029993, latency: 1785720753109.76 ms

[stereonet_model_node-1] [WARN] [1785721875.745542896] [StereoNetNode]: => input image size not match model input size, need resize, [1280 x 1088] → [544 x 448]

[stereonet_model_node-1] [WARN] [1785721875.814655394] [StereoNetNode]: => after resize, update camera intrinsic [fx, fy, cx, cy, baseline(m), doffs] : [124.542042, 116.905881, 125.763530, 91.650068, 0.079239, 0.000000]

[stereonet_model_node-1] [WARN] [1785721875.819772516] [StereoNetNode]: => HFOV: 130.796°, VFOV: 124.88°

[stereonet_model_node-1] [WARN] [1785721875.924727324] [StereoNetNode]: => publish result, stamp: 1122.634029993, fps: 0.00, latency: 1785720753290.66 ms, cpu_usage: 0%, bpu_usage: 0%

[hobot_codec_republish-3] [WARN] [1785721876.030386511] [HobotVenc]: init_pic_w_: 544, init_pic_h_: 896, alined_pic_w_: 544, alined_pic_h_: 896, aline_w_: 16, aline_h_: 16

[stereonet_model_node-1] [ERROR] [1785721876.379746569] [StereoNetNode]: => top is not left image, please swap the mipi cables, or set the mipi_channel and mipi_channel2 parameters.

[hobot_codec_republish-3] [WARN] [1785721877.625056404] [hobot_codec_encoder_d69d2f67]: Sub imgRaw fps [3.19]

[hobot_codec_republish-3] [WARN] [1785721877.632083276] [hobot_codec_encoder_d69d2f67]: Pub img fps [3.18]

^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)

[stereonet_model_node-1] [INFO] [1785721878.392233357] [rclcpp]: signal_handler(signum=2)

[mipi_cam-2] [WARN] [1785721878.395952439] [mipi_node]: shutting down

[mipi_cam-2] [WARN] [1785721878.428522841] [mipi_cam]: mipi_cam is stoped

[mipi_cam-2] [WARN] [1785721878.428607341] [mipi_cam]: mipi_cam deInit start

[mipi_cam-2] terminate called without an active exception

[stereonet_model_node-1] [WARN] [1785721878.466293866] [StereoNetNode]: => release StereoNetNode

[stereonet_model_node-1] [WARN] [1785721878.472909197] [StereoNetNode]: => release StereonetProcess

[ERROR] [mipi_cam-2]: process has died [pid 4133, exit code -6, cmd '/opt/tros/humble/lib/mipi_cam/mipi_cam --ros-args --log-level warn --ros-args --params-file /tmp/launch_params_8v33zp05 --params-file /tmp/launch_params_aw0nupwh --params-file /tmp/launch_params_mqln

v8do --params-file /tmp/launch_params_9ft2e10n --params-file /tmp/launch_params_qn52lvrg --params-file /tmp/launch_params_ffltcucl --params-file /tmp/launch_params_pxg1_iym --params-file /tmp/launch_params_p85z8_s0 --params-file /tmp/launch_params_ohejwnoz --params-fi

le /tmp/launch_params_hcnxrm03 --params-file /tmp/launch_params_odgy8v1k --params-file /tmp/launch_params_1yb48iq8 --params-file /tmp/launch_params_z3tovkgb --params-file /tmp/launch_params_jynwxe02 --params-file /tmp/launch_params_6asqv5xy --params-file /tmp/launch_p

arams_j0wzk3n6 --params-file /tmp/launch_params_pgtniy51 --params-file /tmp/launch_params_aed_ariu --params-file /tmp/launch_params_1aw9rtw2 --params-file /tmp/launch_params_c05j8x27 --params-file /tmp/launch_params_g16hmm32 --params-file /tmp/launch_params_rn5r4s_t -

-params-file /tmp/launch_params_1j3uzsqe --params-file /tmp/launch_params_c1912x2w’].

[INFO] [hobot_codec_republish-3]: process has finished cleanly [pid 4135]

[INFO] [websocket-4]: process has finished cleanly [pid 4137]

[stereonet_model_node-1] sh: 1: �: not found

^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT) again, ignoring…

[INFO] [stereonet_model_node-1]: process has finished cleanly [pid 4131]

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$ ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py mipi_camera_calibration_file_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml mipi_image_width:=1280 mipi_image_height:=1088 mipi_i

mage_framerate:=10.0 mipi_gdc_enable:=True mipi_rotation:=0.0 mipi_cal_rotation:=0.0 mipi_channel:=1 mipi_channel2:=0 calib_method:=none

[INFO] [launch]: All log files can be found below /home/sunrise/.ros/log/2026-08-03-09-51-29-134938-ubuntu-4320

[INFO] [launch]: Default logging verbosity is set to INFO

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

Hobot shm pkg enables zero-copy with fastrtps profiles file: /opt/tros/humble/lib/hobot_shm/config/shm_fastdds.xml

Hobot shm pkg sets RMW_FASTRTPS_USE_QOS_FROM_XML: 1

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

[INFO] [stereonet_model_node-1]: process started with pid [4324]

[INFO] [mipi_cam-2]: process started with pid [4326]

[INFO] [hobot_codec_republish-3]: process started with pid [4328]

[INFO] [websocket-4]: process started with pid [4330]

[hobot_codec_republish-3] [WARN] [1785721890.012621018] [hobot_codec_encoder_5173c26f]: Parameters:

[hobot_codec_republish-3] sub_topic: /StereoNetNode/stereonet_visual

[hobot_codec_republish-3] pub_topic: /image_jpeg

[hobot_codec_republish-3] channel: 1

[hobot_codec_republish-3] in_mode: ros

[hobot_codec_republish-3] out_mode: ros

[hobot_codec_republish-3] in_format: bgr8

[hobot_codec_republish-3] out_format: jpeg

[hobot_codec_republish-3] jpg_quality: 60.00

[hobot_codec_republish-3] input_framerate: 30

[hobot_codec_republish-3] output_framerate: -1

[hobot_codec_republish-3] dump_output: false

[hobot_codec_republish-3] dump_file_prefix: ./dump_codec_output

[hobot_codec_republish-3] dump_frame_count: -1 (unlimited)

[hobot_codec_republish-3] [WARN] [1785721890.018624973] [HobotCodecImpl]: platform x5

[mipi_cam-2] [WARN] [1785721890.314267819] [mipi_node]:

[mipi_cam-2] node params:

[mipi_cam-2] config_path: /opt/tros/humble/lib/mipi_cam/config/

[mipi_cam-2] video_device_name: default

[mipi_cam-2] channel: 1

[mipi_cam-2] channel2: 0

[mipi_cam-2] camera_info_url:

[mipi_cam-2] camera_calibration_file_path: /opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml

[mipi_cam-2] out_format_name: nv12

[mipi_cam-2] gdc_bin_file:

[mipi_cam-2] image_width: 1280

[mipi_cam-2] image_height: 1088

[mipi_cam-2] sub_image_width: 1920

[mipi_cam-2] sub_image_height: 1080

[mipi_cam-2] framerate: 10

[mipi_cam-2] rotation: 0.000000

[mipi_cam-2] device_mode: dual

[mipi_cam-2] dual_combine: 1

[mipi_cam-2] lpwm_enable: false

[mipi_cam-2] gdc_enable: true

[mipi_cam-2] frame_ts_type: sensor

[mipi_cam-2] frame_id: default_cam

[mipi_cam-2] link_type: 0

[mipi_cam-2] link_port: 0

[mipi_cam-2] io_method_name: ros

[mipi_cam-2] cal_alpha: 0.000

[websocket-4] [WARN] [1785721890.368313666] [websocket]:

[websocket-4] Parameter:

[websocket-4] image_topic: /image_jpeg

[websocket-4] image_type: mjpeg

[websocket-4] only_show_image: 1

[websocket-4] output_fps: 0

[stereonet_model_node-1] [WARN] [1785721890.757583879] [StereoNetNode]: => ===================== init StereoNetNode =====================

[stereonet_model_node-1]

[stereonet_model_node-1] [WARN] [1785721890.763143418] [StereoNetNode]:

[stereonet_model_node-1] stereonet_model_file_path: /opt/tros/humble/share/hobot_stereonet/config/DStereoV2.5_int16_544_448_96.bin

[stereonet_model_node-1] stereo_image_topic: /image_combine_raw

[stereonet_model_node-1] camera_info_topic: /image_combine_raw/right/camera_info

[stereonet_model_node-1] depth_image_topic: /StereoNetNode/stereonet_depth

[stereonet_model_node-1] depth_camera_info_topic: /StereoNetNode/stereonet_depth/camera_info

[stereonet_model_node-1] rectify_left_image_topic: /StereoNetNode/rectify_left_image

[stereonet_model_node-1] rectify_right_image_topic: /StereoNetNode/rectify_right_image

[stereonet_model_node-1] publish_rectify_bgr: 0

[stereonet_model_node-1] [origin_left_image_topic, origin_right_image_topic, publish_origin_enable]: [/StereoNetNode/origin_left_image, /StereoNetNode/origin_right_image, 1]

[stereonet_model_node-1] [pointcloud2_topic, publish_pcd_enabled]: [/StereoNetNode/stereonet_pointcloud2, 1]

[stereonet_model_node-1] [visual_image_topic, publish_visual_enabled]: [/StereoNetNode/stereonet_visual, 1]

[stereonet_model_node-1] [stereonet_frame_id, stereonet_frame_id_right]: [camera_link, camera_link_right]

[stereonet_model_node-1] uncertainty_th: -0.1

[stereonet_model_node-1] [camera_fx, camera_fy, camera_cx, camera_cy, baseline, doffs]: [0, 0, 0, 0, 0(m)0]

[stereonet_model_node-1] [pointcloud_downsample_step, pointcloud_height_min, pointcloud_height_max, pointcloud_depth_max]: [2, -5(m), 5(m), 5(m)]

[stereonet_model_node-1] [use_local_image_flag, local_image_dir, image_sleep]: [0, /opt/tros/humble/share/hobot_stereonet/config, 0]

[stereonet_model_node-1] [save_result_flag, save_dir, save_freq, save_total, save_stereo_flag, save_origin_flag, save_disp_flag, save_uncert_flag, save_depth_flag, save_visual_flag, save_pcd_flag]: [0, ./stereonet_result, 1, -1, 1, 0, 1, 0, 1, 1, 0]

[stereonet_model_node-1] [calib_method, stereo_calib_file_path]: [none, ]

[stereonet_model_node-1] [speckle_filter_enable, max_speckle_size, max_disp_diff]: [0, 100, 1]

[stereonet_model_node-1] [pcl_filter_enable, grid_size, grid_min_point_count]: [0, 0.1, 5]

[stereonet_model_node-1] [render_type, render_perf, depth_decimal_num, render_max_disp, render_z_near, render_z_range]: [indoor, 1, 2, 80, -1(m), 3(m)]

[stereonet_model_node-1] left_img_mask_enable: 0

[stereonet_model_node-1] [measure_mode, roi_size, gt_depth]: [0, 10, 0(mm)]

[stereonet_model_node-1] [epipolar_mode, feature_epipolar_mode, epipolar_img, chessboard_per_rows, chessboard_per_cols, chessboard_square_size]: [0, 0, rect, 20, 11, 0.06(m)]

[stereonet_model_node-1] feature_epipolar_mode: 0

[stereonet_model_node-1] post_version: auto

[stereonet_model_node-1] [infer_thread_num, save_thread_num, max_save_task]: [2, 4, 50]

[stereonet_model_node-1]

[stereonet_model_node-1] => ==================================================================

[stereonet_model_node-1]

[stereonet_model_node-1] [BPU_PLAT]BPU Platform Version(1.3.6)! soc info(x5)

[stereonet_model_node-1] [HBRT] set log level as 0. version = 3.15.55.0

[stereonet_model_node-1] [DNN] Runtime version = 1.24.5_(3.15.55 HBRT)

[stereonet_model_node-1] [A][DNN][packed_model.cpp:247][Model](2026-08-03,09:51:30.930.478) [HorizonRT] The model builder version = 1.24.3

[stereonet_model_node-1] [WARN] [1785721891.095309369] [StereoNetNode]: => ============ init model start ============

[stereonet_model_node-1] [WARN] [1785721891.095565952] [StereoNetNode]: => model name: DStereoV25_int16_544_448_0309_96

[stereonet_model_node-1] [WARN] [1785721891.095702244] [StereoNetNode]: => input_count: 2

[stereonet_model_node-1] [WARN] [1785721891.095808744] [StereoNetNode]: => output_count: 2

[stereonet_model_node-1] [WARN] [1785721891.095942952] [StereoNetNode]: => model_input_h: 448, model_input_w: 544

[stereonet_model_node-1] [WARN] [1785721891.096105619] [StereoNetNode]: => ----- prepare_input_tensor -----

[stereonet_model_node-1] [WARN] [1785721891.096235244] [StereoNetNode]: => input tensor type is HB_DNN_IMG_TYPE_NV12

[stereonet_model_node-1] [WARN] [1785721891.096599785] [StereoNetNode]: => input[0].memsize: 365568

[stereonet_model_node-1] [WARN] [1785721891.098109368] [StereoNetNode]: => ----- prepare_output_tensor -----

[stereonet_model_node-1] [WARN] [1785721891.098262993] [StereoNetNode]: => output tensor type is HB_DNN_TENSOR_TYPE_S32

[stereonet_model_node-1] [WARN] [1785721891.098516576] [StereoNetNode]: => output[0].memsize: 548352

[stereonet_model_node-1] [WARN] [1785721891.100196825] [StereoNetNode]: => ============ init model end ============

[mipi_cam-2] [WARN] [1785721891.190775444] [mipi_cap]: i2c bus: 6, EEPROM FLAG: SZYGSJKJ

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785721891.221674469] [mipi_cap]: => ================== left awb otp data ==================

[mipi_cam-2] [WARN] [1785721891.221841886] [mipi_cap]: left_awb_otp_data_.awb_golden_data[0].rg_ratio: 1401

[mipi_cam-2] [WARN] [1785721891.221941261] [mipi_cap]: left_awb_otp_data_.awb_golden_data[0].bg_ratio: 340

[mipi_cam-2] [WARN] [1785721891.222032469] [mipi_cap]: left_awb_otp_data_.awb_golden_data[1].rg_ratio: 1094

[mipi_cam-2] [WARN] [1785721891.222122094] [mipi_cap]: left_awb_otp_data_.awb_golden_data[1].bg_ratio: 403

[mipi_cam-2] [WARN] [1785721891.222209177] [mipi_cap]: left_awb_otp_data_.awb_golden_data[2].rg_ratio: 880

[mipi_cam-2] [WARN] [1785721891.222298135] [mipi_cap]: left_awb_otp_data_.awb_golden_data[2].bg_ratio: 548

[mipi_cam-2] [WARN] [1785721891.222386135] [mipi_cap]: left_awb_otp_data_.awb_data[0].rg_ratio: 1429

[mipi_cam-2] [WARN] [1785721891.222473552] [mipi_cap]: left_awb_otp_data_.awb_data[0].bg_ratio: 348

[mipi_cam-2] [WARN] [1785721891.222559969] [mipi_cap]: left_awb_otp_data_.awb_data[1].rg_ratio: 1114

[mipi_cam-2] [WARN] [1785721891.222644885] [mipi_cap]: left_awb_otp_data_.awb_data[1].bg_ratio: 414

[mipi_cam-2] [WARN] [1785721891.222731677] [mipi_cap]: left_awb_otp_data_.awb_data[2].rg_ratio: 893

[mipi_cam-2] [WARN] [1785721891.222825760] [mipi_cap]: left_awb_otp_data_.awb_data[2].bg_ratio: 561

[mipi_cam-2] [WARN] [1785721891.222983968] [mipi_cap]: => ================== right awb otp data ==================

[mipi_cam-2] [WARN] [1785721891.223081302] [mipi_cap]: right_awb_otp_data_.awb_golden_data[0].rg_ratio: 1401

[mipi_cam-2] [WARN] [1785721891.223169218] [mipi_cap]: right_awb_otp_data_.awb_golden_data[0].bg_ratio: 340

[mipi_cam-2] [WARN] [1785721891.223255593] [mipi_cap]: right_awb_otp_data_.awb_golden_data[1].rg_ratio: 1094

[mipi_cam-2] [WARN] [1785721891.223343427] [mipi_cap]: right_awb_otp_data_.awb_golden_data[1].bg_ratio: 403

[mipi_cam-2] [WARN] [1785721891.223432218] [mipi_cap]: right_awb_otp_data_.awb_golden_data[2].rg_ratio: 880

[mipi_cam-2] [WARN] [1785721891.223523593] [mipi_cap]: right_awb_otp_data_.awb_golden_data[2].bg_ratio: 548

[mipi_cam-2] [WARN] [1785721891.223614718] [mipi_cap]: right_awb_otp_data_.awb_data[0].rg_ratio: 1330

[mipi_cam-2] [WARN] [1785721891.223699801] [mipi_cap]: right_awb_otp_data_.awb_data[0].bg_ratio: 341

[mipi_cam-2] [WARN] [1785721891.223784760] [mipi_cap]: right_awb_otp_data_.awb_data[1].rg_ratio: 1043

[mipi_cam-2] [WARN] [1785721891.223869801] [mipi_cap]: right_awb_otp_data_.awb_data[1].bg_ratio: 405

[mipi_cam-2] [WARN] [1785721891.223953760] [mipi_cap]: right_awb_otp_data_.awb_data[2].rg_ratio: 836

[mipi_cam-2] [WARN] [1785721891.224039385] [mipi_cap]: right_awb_otp_data_.awb_data[2].bg_ratio: 552

[mipi_cam-2] [WARN] [1785721891.224124635] [mipi_cap]: => ========================================================

[mipi_cam-2] [WARN] [1785721891.239593835] [mipi_cap]: Target FOV 0.00° out of valid range [85.73°, 132.44°]

[mipi_cam-2] [WARN] [1785721891.239837293] [mipi_cap]: Use default alpha=0.0 (target FOV invalid)

[mipi_cam-2] [WARN] [1785721891.511586483] [mipi_cap]: X5 start gdc rotation and cal.

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785721892.349981204] [mipi_cap]: X5 start gdc rotation and cal.

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785721893.030995632] [mipi_cam]: [init]->cap sc132gs-1280p init success.

[mipi_cam-2]

[stereonet_model_node-1] [WARN] [1785721893.118972459] [StereoNetNode]: => sub rectified [fx, fy, cx, cy, baseline(m), doffs] : [293.040099, 283.914283, 295.914188, 222.578736, 0.079239, 0.000000]

[stereonet_model_node-1] [WARN] [1785721893.123411665] [StereoNetNode]: => receive left camera info

[stereonet_model_node-1] [WARN] [1785721893.161059270] [StereoNetNode]: => receive stereo image, format: nv12, stamp: 1140.51423085, latency: 1785720753109.61 ms

[stereonet_model_node-1] [WARN] [1785721893.163315144] [StereoNetNode]: => input image size not match model input size, need resize, [1280 x 1088] → [544 x 448]

[stereonet_model_node-1] [WARN] [1785721893.236872146] [StereoNetNode]: => after resize, update camera intrinsic [fx, fy, cx, cy, baseline(m), doffs] : [124.542042, 116.905881, 125.763530, 91.650068, 0.079239, 0.000000]

[stereonet_model_node-1] [WARN] [1785721893.240599435] [StereoNetNode]: => HFOV: 130.796°, VFOV: 124.88°

[stereonet_model_node-1] [WARN] [1785721893.343470796] [StereoNetNode]: => publish result, stamp: 1140.51423085, fps: 0.00, latency: 1785720753291.96 ms, cpu_usage: 0%, bpu_usage: 0%

[hobot_codec_republish-3] [WARN] [1785721893.408452969] [HobotVenc]: init_pic_w_: 544, init_pic_h_: 896, alined_pic_w_: 544, alined_pic_h_: 896, aline_w_: 16, aline_h_: 16

[stereonet_model_node-1] [ERROR] [1785721893.655504128] [StereoNetNode]: => top is not left image, please swap the mipi cables, or set the mipi_channel and mipi_channel2 parameters.

[hobot_codec_republish-3] [WARN] [1785721895.083046598] [hobot_codec_encoder_5173c26f]: Sub imgRaw fps [3.16]

[hobot_codec_republish-3] [WARN] [1785721895.088975262] [hobot_codec_encoder_5173c26f]: Pub img fps [3.16]

问题升级分析

你已经尝试了所有 MIPI 通道组合但仍报错,说明问题不在通道配置。从日志分析,这是一个硬件识别/标定文件匹配问题。


关键发现

你的日志显示:

[mipi_cap]: i2c bus: 6, EEPROM FLAG: SZYGSJKJ

相机 EEPROM 能读取,但左右图像仍然识别错误。这说明:

  1. :white_check_mark: 两个相机都被识别(左右 AWB 数据都能读取)
  2. :white_check_mark: 标定文件内参加载成功(fx/fy 不为 0)
  3. :cross_mark: 但立体节点认为"上图"不是左图

深层原因

top is not left image 错误的本质是:立体匹配算法通过图像内容判断左右,发现当前"左通道"的图像特征与标定文件中的左相机不匹配。

可能原因:

  1. 标定文件是另一套相机的(基线/内参不匹配)
  2. 物理接线与标定文件假设相反
  3. 相机模组本身左右定义与软件相反

解决方案(按优先级)

方案 1:使用 calib_method:=internal 让系统自动读取 EEPROM 参数

source /opt/tros/humble/setup.bash
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py \
  mipi_image_width:=1280 \
  mipi_image_height:=1088 \
  mipi_image_framerate:=10.0 \
  mipi_gdc_enable:=True \
  mipi_rotation:=0.0 \
  mipi_cal_rotation:=0.0 \
  mipi_channel:=2 \
  mipi_channel2:=0 \
  calib_method:=internal \
  mipi_gdc_enable:=True

关键修改:calib_method:=internal(不使用外部标定文件,直接读相机 EEPROM)


方案 2:先单独测试相机输出,确认左右图像

# 1. 先运行相机测试,查看左右图像
source /opt/tros/humble/setup.bash
ros2 launch hobot_mipi_cam mipi_cam.launch.py \
  mipi_image_width:=1280 \
  mipi_image_height:=1088 \
  mipi_channel:=2 \
  mipi_channel2:=0 \
  mipi_gdc_enable:=True

# 2. 在另一个终端查看图像话题
ros2 topic list | grep image
ros2 topic echo /image_combine_raw --field width,height

用浏览器访问板子 IP 查看实时图像,确认:

  • 左摄像头画面是否正确
  • 右摄像头画面是否正确
  • 交换通道后图像是否对应交换

方案 3:重新标定相机(最彻底)

如果标定文件确实不匹配,需要重新标定:

# 1. 进入标定目录
cd /opt/tros/humble/share/hobot_stereonet/config/

# 2. 运行极线标定
bash run_stereo.sh --epipolar_mode True \
  --chessboard_per_rows 11 \
  --chessboard_per_cols 8 \
  --chessboard_square_size 0.06 \
  --save_calib True \
  --calib_save_path /home/sunrise/sc132gs_new_calibration.yaml

# 3. 使用新标定文件启动
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py \
  mipi_camera_calibration_file_path:=/home/sunrise/sc132gs_new_calibration.yaml \
  mipi_image_width:=1280 \
  mipi_image_height:=1088 \
  mipi_channel:=2 \
  mipi_channel2:=0 \
  calib_method:=none

方案 4:检查相机物理连接

# 查看 MIPI 摄像头检测信息
dmesg | grep -i mipi
dmesg | grep -i sc132

# 查看设备树配置
cat /proc/device-tree/soc/cam/vcon@0/compatible
cat /proc/device-tree/soc/cam/vcon@2/compatible

如果以上都无效,可能需要:

  1. 检查 MIPI 线缆是否松动
  2. 确认相机模组是否支持 SC132GS 官方固件
  3. 联系相机供应商确认左右定义

快速验证命令

# 测试方案 1(使用 internal 标定)
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py \
  mipi_image_width:=1280 \
  mipi_image_height:=1088 \
  mipi_channel:=2 \
  mipi_channel2:=0 \
  calib_method:=internal

启动后重点检查日志:

  • :white_check_mark: 不再出现 top is not left image
  • :white_check_mark: 出现 sub rectified [fx, fy, cx, cy, baseline] 且值不为 0
  • :white_check_mark: 不再出现 Target FOV 0.00° out of valid range

参考帖子

建议先试方案 1(calib_method:=internal),如果不行再试方案 2 确认图像输出。有进展请更新!

sunrise@ubuntu:~$ ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py \                                                                                                                                                                  

mipi_image_width:=1280 \

mipi_image_height:=1088 \

mipi_image_framerate:=10.0 \

mipi_gdc_enable:=True \

mipi_rotation:=0.0 \

mipi_cal_rotation:=0.0 \

mipi_channel:=2 \

mipi_channel2:=0 \

calib_method:=internal \

mipi_gdc_enable:=True

[INFO] [launch]: All log files can be found below /home/sunrise/.ros/log/2026-08-03-09-54-14-919052-ubuntu-4518

[INFO] [launch]: Default logging verbosity is set to INFO

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

Hobot shm pkg enables zero-copy with fastrtps profiles file: /opt/tros/humble/lib/hobot_shm/config/shm_fastdds.xml

Hobot shm pkg sets RMW_FASTRTPS_USE_QOS_FROM_XML: 1

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

config_file_path is /opt/tros/humble/lib/mipi_cam/config/

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting

webserver has launch

[INFO] [stereonet_model_node-1]: process started with pid [4522]

[INFO] [mipi_cam-2]: process started with pid [4524]

[INFO] [hobot_codec_republish-3]: process started with pid [4526]

[INFO] [websocket-4]: process started with pid [4528]

[hobot_codec_republish-3] [WARN] [1785722055.797023014] [hobot_codec_encoder_8f81eb35]: Parameters:

[hobot_codec_republish-3] sub_topic: /StereoNetNode/stereonet_visual

[hobot_codec_republish-3] pub_topic: /image_jpeg

[hobot_codec_republish-3] channel: 1

[hobot_codec_republish-3] in_mode: ros

[hobot_codec_republish-3] out_mode: ros

[hobot_codec_republish-3] in_format: bgr8

[hobot_codec_republish-3] out_format: jpeg

[hobot_codec_republish-3] jpg_quality: 60.00

[hobot_codec_republish-3] input_framerate: 30

[hobot_codec_republish-3] output_framerate: -1

[hobot_codec_republish-3] dump_output: false

[hobot_codec_republish-3] dump_file_prefix: ./dump_codec_output

[hobot_codec_republish-3] dump_frame_count: -1 (unlimited)

[hobot_codec_republish-3] [WARN] [1785722055.803383089] [HobotCodecImpl]: platform x5

[mipi_cam-2] [WARN] [1785722056.090702342] [mipi_node]:

[mipi_cam-2] node params:

[mipi_cam-2] config_path: /opt/tros/humble/lib/mipi_cam/config/

[mipi_cam-2] video_device_name: default

[mipi_cam-2] channel: 2

[mipi_cam-2] channel2: 0

[mipi_cam-2] camera_info_url:

[mipi_cam-2] camera_calibration_file_path: /opt/tros/humble/lib/mipi_cam/config/calib_params.yaml

[mipi_cam-2] out_format_name: nv12

[mipi_cam-2] gdc_bin_file:

[mipi_cam-2] image_width: 1280

[mipi_cam-2] image_height: 1088

[mipi_cam-2] sub_image_width: 1920

[mipi_cam-2] sub_image_height: 1080

[mipi_cam-2] framerate: 10

[mipi_cam-2] rotation: 0.000000

[mipi_cam-2] device_mode: dual

[mipi_cam-2] dual_combine: 1

[mipi_cam-2] lpwm_enable: false

[mipi_cam-2] gdc_enable: true

[mipi_cam-2] frame_ts_type: sensor

[mipi_cam-2] frame_id: default_cam

[mipi_cam-2] link_type: 0

[mipi_cam-2] link_port: 0

[mipi_cam-2] io_method_name: ros

[mipi_cam-2] cal_alpha: 0.000

[websocket-4] [WARN] [1785722056.163950330] [websocket]:

[websocket-4] Parameter:

[websocket-4] image_topic: /image_jpeg

[websocket-4] image_type: mjpeg

[websocket-4] only_show_image: 1

[websocket-4] output_fps: 0

[stereonet_model_node-1] [WARN] [1785722056.516186706] [StereoNetNode]: => ===================== init StereoNetNode =====================

[stereonet_model_node-1]

[stereonet_model_node-1] [ERROR] [1785722056.519921118] [StereoNetNode]: => calib_method parameter invalid, should be one of [none, custom]

[stereonet_model_node-1] [WARN] [1785722056.522400782] [StereoNetNode]:

[stereonet_model_node-1] stereonet_model_file_path: /opt/tros/humble/share/hobot_stereonet/config/DStereoV2.5_int16_544_448_96.bin

[stereonet_model_node-1] stereo_image_topic: /image_combine_raw

[stereonet_model_node-1] camera_info_topic: /image_combine_raw/right/camera_info

[stereonet_model_node-1] depth_image_topic: /StereoNetNode/stereonet_depth

[stereonet_model_node-1] depth_camera_info_topic: /StereoNetNode/stereonet_depth/camera_info

[stereonet_model_node-1] rectify_left_image_topic: /StereoNetNode/rectify_left_image

[stereonet_model_node-1] rectify_right_image_topic: /StereoNetNode/rectify_right_image

[stereonet_model_node-1] publish_rectify_bgr: 0

[stereonet_model_node-1] [origin_left_image_topic, origin_right_image_topic, publish_origin_enable]: [/StereoNetNode/origin_left_image, /StereoNetNode/origin_right_image, 1]

[stereonet_model_node-1] [pointcloud2_topic, publish_pcd_enabled]: [/StereoNetNode/stereonet_pointcloud2, 1]

[stereonet_model_node-1] [visual_image_topic, publish_visual_enabled]: [/StereoNetNode/stereonet_visual, 1]

[stereonet_model_node-1] [stereonet_frame_id, stereonet_frame_id_right]: [camera_link, camera_link_right]

[stereonet_model_node-1] uncertainty_th: -0.1

[stereonet_model_node-1] [camera_fx, camera_fy, camera_cx, camera_cy, baseline, doffs]: [0, 0, 0, 0, 0(m)0]

[stereonet_model_node-1] [pointcloud_downsample_step, pointcloud_height_min, pointcloud_height_max, pointcloud_depth_max]: [2, -5(m), 5(m), 5(m)]

[stereonet_model_node-1] [use_local_image_flag, local_image_dir, image_sleep]: [0, /opt/tros/humble/share/hobot_stereonet/config, 0]

[stereonet_model_node-1] [save_result_flag, save_dir, save_freq, save_total, save_stereo_flag, save_origin_flag, save_disp_flag, save_uncert_flag, save_depth_flag, save_visual_flag, save_pcd_flag]: [0, ./stereonet_result, 1, -1, 1, 0, 1, 0, 1, 1, 0]

[stereonet_model_node-1] [calib_method, stereo_calib_file_path]: [internal, ]

[stereonet_model_node-1] [speckle_filter_enable, max_speckle_size, max_disp_diff]: [0, 100, 1]

[stereonet_model_node-1] [pcl_filter_enable, grid_size, grid_min_point_count]: [0, 0.1, 5]

[stereonet_model_node-1] [render_type, render_perf, depth_decimal_num, render_max_disp, render_z_near, render_z_range]: [indoor, 1, 2, 80, -1(m), 3(m)]

[stereonet_model_node-1] left_img_mask_enable: 0

[stereonet_model_node-1] [measure_mode, roi_size, gt_depth]: [0, 10, 0(mm)]

[stereonet_model_node-1] [epipolar_mode, feature_epipolar_mode, epipolar_img, chessboard_per_rows, chessboard_per_cols, chessboard_square_size]: [0, 0, rect, 20, 11, 0.06(m)]

[stereonet_model_node-1] feature_epipolar_mode: 0

[stereonet_model_node-1] post_version: auto

[stereonet_model_node-1] [infer_thread_num, save_thread_num, max_save_task]: [2, 4, 50]

[stereonet_model_node-1]

[stereonet_model_node-1] => ==================================================================

[stereonet_model_node-1]

[stereonet_model_node-1] terminate called after throwing an instance of ‘rclcpp::exceptions::RCLError’

[stereonet_model_node-1] what(): could not create subscription: rcl node’s context is invalid, at ./src/rcl/node.c:428

[ERROR] [stereonet_model_node-1]: process has died [pid 4522, exit code -6, cmd ‘/opt/tros/humble/lib/hobot_stereonet/stereonet_model_node --ros-args --log-level info --ros-args -r __node:=StereoNetNode --params-file /tmp/launch_params_7bzp901j’].

[mipi_cam-2] [WARN] [1785722056.946732106] [mipi_cap]: i2c bus: 6, EEPROM FLAG: SZYGSJKJ

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785722056.977951399] [mipi_cap]: => ================== left awb otp data ==================

[mipi_cam-2] [WARN] [1785722056.978119607] [mipi_cap]: left_awb_otp_data_.awb_golden_data[0].rg_ratio: 1401

[mipi_cam-2] [WARN] [1785722056.978179524] [mipi_cap]: left_awb_otp_data_.awb_golden_data[0].bg_ratio: 340

[mipi_cam-2] [WARN] [1785722056.978227857] [mipi_cap]: left_awb_otp_data_.awb_golden_data[1].rg_ratio: 1094

[mipi_cam-2] [WARN] [1785722056.978275065] [mipi_cap]: left_awb_otp_data_.awb_golden_data[1].bg_ratio: 403

[mipi_cam-2] [WARN] [1785722056.978320232] [mipi_cap]: left_awb_otp_data_.awb_golden_data[2].rg_ratio: 880

[mipi_cam-2] [WARN] [1785722056.978367773] [mipi_cap]: left_awb_otp_data_.awb_golden_data[2].bg_ratio: 548

[mipi_cam-2] [WARN] [1785722056.978412315] [mipi_cap]: left_awb_otp_data_.awb_data[0].rg_ratio: 1429

[mipi_cam-2] [WARN] [1785722056.978456065] [mipi_cap]: left_awb_otp_data_.awb_data[0].bg_ratio: 348

[mipi_cam-2] [WARN] [1785722056.978501773] [mipi_cap]: left_awb_otp_data_.awb_data[1].rg_ratio: 1114

[mipi_cam-2] [WARN] [1785722056.978545773] [mipi_cap]: left_awb_otp_data_.awb_data[1].bg_ratio: 414

[mipi_cam-2] [WARN] [1785722056.978589398] [mipi_cap]: left_awb_otp_data_.awb_data[2].rg_ratio: 893

[mipi_cam-2] [WARN] [1785722056.978634315] [mipi_cap]: left_awb_otp_data_.awb_data[2].bg_ratio: 561

[mipi_cam-2] [WARN] [1785722056.978732440] [mipi_cap]: => ================== right awb otp data ==================

[mipi_cam-2] [WARN] [1785722056.978784606] [mipi_cap]: right_awb_otp_data_.awb_golden_data[0].rg_ratio: 1401

[mipi_cam-2] [WARN] [1785722056.978830231] [mipi_cap]: right_awb_otp_data_.awb_golden_data[0].bg_ratio: 340

[mipi_cam-2] [WARN] [1785722056.978876273] [mipi_cap]: right_awb_otp_data_.awb_golden_data[1].rg_ratio: 1094

[mipi_cam-2] [WARN] [1785722056.978967731] [mipi_cap]: right_awb_otp_data_.awb_golden_data[1].bg_ratio: 403

[mipi_cam-2] [WARN] [1785722056.979014856] [mipi_cap]: right_awb_otp_data_.awb_golden_data[2].rg_ratio: 880

[mipi_cam-2] [WARN] [1785722056.979063273] [mipi_cap]: right_awb_otp_data_.awb_golden_data[2].bg_ratio: 548

[mipi_cam-2] [WARN] [1785722056.979112939] [mipi_cap]: right_awb_otp_data_.awb_data[0].rg_ratio: 1330

[mipi_cam-2] [WARN] [1785722056.979159064] [mipi_cap]: right_awb_otp_data_.awb_data[0].bg_ratio: 341

[mipi_cam-2] [WARN] [1785722056.979202606] [mipi_cap]: right_awb_otp_data_.awb_data[1].rg_ratio: 1043

[mipi_cam-2] [WARN] [1785722056.979246022] [mipi_cap]: right_awb_otp_data_.awb_data[1].bg_ratio: 405

[mipi_cam-2] [WARN] [1785722056.979289147] [mipi_cap]: right_awb_otp_data_.awb_data[2].rg_ratio: 836

[mipi_cam-2] [WARN] [1785722056.979332231] [mipi_cap]: right_awb_otp_data_.awb_data[2].bg_ratio: 552

[mipi_cam-2] [WARN] [1785722056.979375314] [mipi_cap]: => ========================================================

[mipi_cam-2] [WARN] [1785722056.992004422] [mipi_cap]: Target FOV 0.00° out of valid range [84.23°, 132.10°]

[mipi_cam-2] [WARN] [1785722056.992147339] [mipi_cap]: Use default alpha=0.0 (target FOV invalid)

[mipi_cam-2] [WARN] [1785722057.345992545] [mipi_cap]: => ================== all awb otp data ==================

[mipi_cam-2] [WARN] [1785722057.346102212] [mipi_cap]: pdata.awb_golden_data[0].rg_ratio: 1401

[mipi_cam-2] [WARN] [1785722057.346127670] [mipi_cap]: pdata.awb_golden_data[0].bg_ratio: 340

[mipi_cam-2] [WARN] [1785722057.346149670] [mipi_cap]: pdata.awb_golden_data[1].rg_ratio: 1094

[mipi_cam-2] [WARN] [1785722057.346170628] [mipi_cap]: pdata.awb_golden_data[1].bg_ratio: 403

[mipi_cam-2] [WARN] [1785722057.346304378] [mipi_cap]: pdata.awb_golden_data[2].rg_ratio: 880

[mipi_cam-2] [WARN] [1785722057.346330628] [mipi_cap]: pdata.awb_golden_data[2].bg_ratio: 548

[mipi_cam-2] [WARN] [1785722057.346351462] [mipi_cap]: pdata.awb_data[0].rg_ratio: 1330

[mipi_cam-2] [WARN] [1785722057.346371837] [mipi_cap]: pdata.awb_data[0].bg_ratio: 341

[mipi_cam-2] [WARN] [1785722057.346392212] [mipi_cap]: pdata.awb_data[1].rg_ratio: 1043

[mipi_cam-2] [WARN] [1785722057.346412045] [mipi_cap]: pdata.awb_data[1].bg_ratio: 405

[mipi_cam-2] [WARN] [1785722057.346431253] [mipi_cap]: pdata.awb_data[2].rg_ratio: 836

[mipi_cam-2] [WARN] [1785722057.346450670] [mipi_cap]: pdata.awb_data[2].bg_ratio: 552

[mipi_cam-2] [WARN] [1785722057.346470003] [mipi_cap]: pdata.awb_data[0].r: 1

[mipi_cam-2] [WARN] [1785722057.346489378] [mipi_cap]: pdata.awb_data[0].gr: 1

[mipi_cam-2] [WARN] [1785722057.346508961] [mipi_cap]: pdata.awb_data[0].gb: 1

[mipi_cam-2] [WARN] [1785722057.346528378] [mipi_cap]: pdata.awb_data[0].b: 1

[mipi_cam-2] [WARN] [1785722057.346547961] [mipi_cap]: pdata.awb_data[0].r: 0

[mipi_cam-2] [WARN] [1785722057.346567128] [mipi_cap]: pdata.awb_data[0].gr: 0

[mipi_cam-2] [WARN] [1785722057.346586045] [mipi_cap]: pdata.awb_data[0].gb: 0

[mipi_cam-2] [WARN] [1785722057.346605628] [mipi_cap]: pdata.awb_data[0].b: 0

[mipi_cam-2] [WARN] [1785722057.346624420] [mipi_cap]: => ================== all awb otp data ==================

[mipi_cam-2] [WARN] [1785722057.357564614] [mipi_cap]: X5 start gdc rotation and cal.

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785722058.186133910] [mipi_cap]: => ================== all awb otp data ==================

[mipi_cam-2] [WARN] [1785722058.186335243] [mipi_cap]: pdata.awb_golden_data[0].rg_ratio: 1401

[mipi_cam-2] [WARN] [1785722058.186388910] [mipi_cap]: pdata.awb_golden_data[0].bg_ratio: 340

[mipi_cam-2] [WARN] [1785722058.186458201] [mipi_cap]: pdata.awb_golden_data[1].rg_ratio: 1094

[mipi_cam-2] [WARN] [1785722058.186505160] [mipi_cap]: pdata.awb_golden_data[1].bg_ratio: 403

[mipi_cam-2] [WARN] [1785722058.186549701] [mipi_cap]: pdata.awb_golden_data[2].rg_ratio: 880

[mipi_cam-2] [WARN] [1785722058.186595535] [mipi_cap]: pdata.awb_golden_data[2].bg_ratio: 548

[mipi_cam-2] [WARN] [1785722058.186639701] [mipi_cap]: pdata.awb_data[0].rg_ratio: 1429

[mipi_cam-2] [WARN] [1785722058.186682701] [mipi_cap]: pdata.awb_data[0].bg_ratio: 348

[mipi_cam-2] [WARN] [1785722058.186726493] [mipi_cap]: pdata.awb_data[1].rg_ratio: 1114

[mipi_cam-2] [WARN] [1785722058.186769284] [mipi_cap]: pdata.awb_data[1].bg_ratio: 414

[mipi_cam-2] [WARN] [1785722058.186811743] [mipi_cap]: pdata.awb_data[2].rg_ratio: 893

[mipi_cam-2] [WARN] [1785722058.186855451] [mipi_cap]: pdata.awb_data[2].bg_ratio: 561

[mipi_cam-2] [WARN] [1785722058.186898618] [mipi_cap]: pdata.awb_data[0].r: 1

[mipi_cam-2] [WARN] [1785722058.186941118] [mipi_cap]: pdata.awb_data[0].gr: 1

[mipi_cam-2] [WARN] [1785722058.186983576] [mipi_cap]: pdata.awb_data[0].gb: 1

[mipi_cam-2] [WARN] [1785722058.187027659] [mipi_cap]: pdata.awb_data[0].b: 1

[mipi_cam-2] [WARN] [1785722058.187070617] [mipi_cap]: pdata.awb_data[0].r: 0

[mipi_cam-2] [WARN] [1785722058.187113534] [mipi_cap]: pdata.awb_data[0].gr: 0

[mipi_cam-2] [WARN] [1785722058.187155534] [mipi_cap]: pdata.awb_data[0].gb: 0

[mipi_cam-2] [WARN] [1785722058.187201076] [mipi_cap]: pdata.awb_data[0].b: 0

[mipi_cam-2] [WARN] [1785722058.187243950] [mipi_cap]: => ================== all awb otp data ==================

[mipi_cam-2] [WARN] [1785722058.199998309] [mipi_cap]: X5 start gdc rotation and cal.

[mipi_cam-2]

[mipi_cam-2] [WARN] [1785722058.881170879] [mipi_cam]: [init]->cap sc132gs-1280p init success.

[mipi_cam-2]

[hobot_codec_republish-3] [ERROR] [1785722060.803973696] [hobot_codec_encoder_8f81eb35]: Hobot_Codec has not received image for more than 5 seconds! Please check whether the image publisher still exists by ‘ros2 topic info /StereoNetNode/stereonet_visual’!

[websocket-4] [ERROR] [1785722061.184201489] [websocket]: Websocket did not receive image data! Please check whether the image publisher still exists by ‘ros2 topic info /image_jpeg’!

[hobot_codec_republish-3] [ERROR] [1785722065.803901889] [hobot_codec_encoder_8f81eb35]: Hobot_Codec has not received image for more than 5 seconds! Please check whether the image publisher still exists by ‘ros2 topic info /StereoNetNode/stereonet_visual’!

[websocket-4] [ERROR] [1785722066.184110676] [websocket]: Websocket did not receive image data! Please check whether the image publisher still exists by ‘ros2 topic info /image_jpeg’!

[hobot_codec_republish-3] [ERROR] [1785722070.803967710] [hobot_codec_encoder_8f81eb35]: Hobot_Codec has not received image for more than 5 seconds! Please check whether the image publisher still exists by ‘ros2 topic info /StereoNetNode/stereonet_visual’!

[websocket-4] [ERROR] [1785722071.184210908] [websocket]: Websocket did not receive image data! Please check whether the image publisher still exists by ‘ros2 topic info /image_jpeg’!

[hobot_codec_republish-3] [ERROR] [1785722075.803903495] [hobot_codec_encoder_8f81eb35]: Hobot_Codec has not received image for more than 5 seconds! Please check whether the image publisher still exists by ‘ros2 topic info /StereoNetNode/stereonet_visual’!

[websocket-4] [ERROR] [1785722076.184129311] [websocket]: Websocket did not receive image data! Please check whether the image publisher still exists by ‘ros2 topic info /image_jpeg’!

[hobot_codec_republish-3] [ERROR] [1785722080.803947869] [hobot_codec_encoder_8f81eb35]: Hobot_Codec has not received image for more than 5 seconds! Please check whether the image publisher still exists by ‘ros2 topic info /StereoNetNode/stereonet_visual’!

[websocket-4] [ERROR] [1785722081.184174805] [websocket]: Websocket did not receive image data! Please check whether the image publisher still exists by ‘ros2 topic info /image_jpeg’!

[hobot_codec_republish-3] [ERROR] [1785722085.803803668] [hobot_codec_encoder_8f81eb35]: Hobot_Codec has not received image for more than 5 seconds! Please check whether the image publisher still exists by ‘ros2 topic info /StereoNetNode/stereonet_visual’!

[websocket-4] [ERROR] [1785722086.184169473] [websocket]: Websocket did not receive image data! Please check whether the image publisher still exists by ‘ros2 topic info /image_jpeg’!

[hobot_codec_republish-3] [ERROR] [1785722090.803758268] [hobot_codec_encoder_8f81eb35]: Hobot_Codec has not received image for more than 5 seconds! Please check whether the image publisher still exists by ‘ros2 topic info /StereoNetNode/stereonet_visual’!

[websocket-4] [ERROR] [1785722091.184101317] [websocket]: Websocket did not receive image data! Please check whether the image publisher still exists by ‘ros2 topic info /image_jpeg’!

[hobot_codec_republish-3] [ERROR] [1785722095.803760421] [hobot_codec_encoder_8f81eb35]: Hobot_Codec has not received image for more than 5 seconds! Please check whether the image publisher still exists by ‘ros2 topic info /StereoNetNode/stereonet_visual’!

[websocket-4] [ERROR] [1785722096.184137589] [websocket]: Websocket did not receive image data! Please check whether the image publisher still exists by ‘ros2 topic info /image_jpeg’!

[hobot_codec_republish-3] [ERROR] [1785722100.803770127] [hobot_codec_encoder_8f81eb35]: Hobot_Codec has not received image for more than 5 seconds! Please check whether the image publisher still exists by ‘ros2 topic info /StereoNetNode/stereonet_visual’!

[websocket-4] [ERROR] [1785722101.184445040] [websocket]: Websocket did not receive image data! Please check whether the image publisher still exists by ‘ros2 topic info /image_jpeg’!

[hobot_codec_republish-3] [ERROR] [1785722105.803841638] [hobot_codec_encoder_8f81eb35]: Hobot_Codec has not received image for more than 5 seconds! Please check whether the image publisher still exists by ‘ros2 topic info /StereoNetNode/stereonet_visual’!

[websocket-4] [ERROR] [1785722106.184173088] [websocket]: Websocket did not receive image data! Please check whether the image publisher still exists by ‘ros2 topic info /image_jpeg’!

[hobot_codec_republish-3] [ERROR] [1785722110.803758831] [hobot_codec_encoder_8f81eb35]: Hobot_Codec has not received image for more than 5 seconds! Please check whether the image publisher still exists by ‘ros2 topic info /StereoNetNode/stereonet_visual’!

[websocket-4] [ERROR] [1785722111.184089401] [websocket]: Websocket did not receive image data! Please check whether the image publisher still exists by ‘ros2 topic info /image_jpeg’!

^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)

[mipi_cam-2] [WARN] [1785722112.490126241] [mipi_node]: shutting down

[mipi_cam-2] [WARN] [1785722112.505636176] [mipi_cam]: mipi_cam is stoped

[mipi_cam-2] [WARN] [1785722112.505708801] [mipi_cam]: mipi_cam deInit start

[mipi_cam-2] terminate called without an active exception

[ERROR] [mipi_cam-2]: process has died [pid 4524, exit code -6, cmd '/opt/tros/humble/lib/mipi_cam/mipi_cam --ros-args --log-level warn --ros-args --params-file /tmp/launch_params__pz610i8 --params-file /tmp/launch_params_qpzzxi__ --params-file /tmp/launch_params_qfsl

0w35 --params-file /tmp/launch_params_xpf3q6xp --params-file /tmp/launch_params_fydd096r --params-file /tmp/launch_params_wwgdymm4 --params-file /tmp/launch_params_zzhrva7w --params-file /tmp/launch_params_6oceisoa --params-file /tmp/launch_params_7sx_56_s --params-fi

le /tmp/launch_params_fex66pl3 --params-file /tmp/launch_params_2zaavjqa --params-file /tmp/launch_params_xp7dzhcx --params-file /tmp/launch_params_6rcu8gte --params-file /tmp/launch_params_zui6p7ct --params-file /tmp/launch_params_p6j76svf --params-file /tmp/launch_p

arams_e8hja0_s --params-file /tmp/launch_params_6sn1ju1p --params-file /tmp/launch_params_ywid1cxi --params-file /tmp/launch_params_x4gg01zc --params-file /tmp/launch_params_9ku9h3eb --params-file /tmp/launch_params_cj8926sv --params-file /tmp/launch_params_n2laqusx -

-params-file /tmp/launch_params__rbkcpg3 --params-file /tmp/launch_params_9al3cyrj’].

[INFO] [hobot_codec_republish-3]: process has finished cleanly [pid 4526]

[INFO] [websocket-4]: process has finished cleanly [pid 4528]

sunrise@ubuntu:~$ ^C

sunrise@ubuntu:~$ ^C

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$

sunrise@ubuntu:~$ ros2 launch hobot_mipi_cam mipi_cam.launch.py \

mipi_image_width:=1280 \

mipi_image_height:=1088 \

mipi_channel:=2 \

mipi_channel2:=0 \

mipi_gdc_enable:=True

Package ‘hobot_mipi_cam’ not found: “package ‘hobot_mipi_cam’ not found, searching: [‘/opt/tros/humble’, ‘/opt/ros/humble’]”

sunrise@ubuntu:~$ source /opt/tros/humble/setup.bash

sunrise@ubuntu:~$

sunrise@ubuntu:~$ ros2 launch hobot_mipi_cam mipi_cam.launch.py mipi_image_width:=1280 mipi_image_height:=1088 mipi_channel:=2 mipi_channel2:=0 mipi_gdc_enable:=True

Package ‘hobot_mipi_cam’ not found: “package ‘hobot_mipi_cam’ not found, searching: [‘/opt/tros/humble’, ‘/opt/ros/humble’]”

sunrise@ubuntu:~$
方案1与方案2都测试了,都不行

建议先检查

1.是否是最新版本系统

2.130W 还是 130WI , 对应的深度软件包是否为最新版本。

深度软件包怎么查看版本呢?

查看深度软件包版本的方法

方法 1:使用 dpkg 查询(推荐)

# 查看 hobot_stereonet 包版本
dpkg -l | grep stereonet

# 查看 mipi_cam 包版本
dpkg -l | grep mipi

# 查看所有 hobot 相关包
dpkg -l | grep hobot

输出示例:

ii  tros-humble-hobot-stereonet    2.5.7    arm64  Hobot StereoNet Package
ii  tros-humble-mipi-cam           2.5.2    arm64  MIPI Camera Package

方法 2:查看包的安装信息

# 查看 stereonet 包详细信息
ros2 pkg prefix hobot_stereonet
cat $(ros2 pkg prefix hobot_stereonet)/share/hobot_stereonet/package.xml | grep version

方法 3:检查系统版本

# 查看系统镜像版本
cat /etc/rdk_version

# 或查看系统信息
uname -a

版本对照参考

相机型号 推荐 stereonet 版本 推荐 mipi_cam 版本
SC132GS (130W) ≥2.5.5 ≥2.5.2
SC132GS (130WI) ≥2.5.7 ≥2.5.4

如果版本过旧,升级方法

# 更新软件源
sudo apt update

# 升级 stereonet 包
sudo apt install --reinstall tros-humble-hobot-stereonet

# 升级 mipi_cam 包
sudo apt install --reinstall tros-humble-mipi-cam

同时检查相机型号

# 查看相机 EEPROM 信息
dmesg | grep -i "EEPROM FLAG"

# 查看传感器检测信息
dmesg | grep -i "sc132"

130W 和 130WI 的区别:

  • 130W:标准版,EEPROM FLAG 通常为 SZYGSJKJ
  • 130WI:改进版,固件和标定参数有差异

下一步

请运行以下命令并提供结果:

dpkg -l | grep -E "stereonet|mipi"
cat /etc/rdk_version

这样可以确认是否需要升级软件包。

  1. sunrise@ubuntu:~$ cat /etc/version                                                                                                                                                                                                                                          
    

    3.5.0

    sunrise@ubuntu:~$ dpkg -l | grep stereonet

    ii tros-humble-hobot-stereonet 2.5.5-jammy.20260331.045429 arm64 A TogetheROS Driver for stereonet model

    ii tros-humble-hobot-stereonet-utils 2.3.1-jammy.20260312.095725 arm64 hobot_stereonet_utils

    sunrise@ubuntu:~$ dpkg -l | grep mipi

    ii tros-humble-mipi-cam 2.5.2-jammy.20260401.111754 arm64 A TogetheROS Driver for Mipi Cameras

    sunrise@ubuntu:~$ dpkg -l | grep hobot

    ii hobot-audio-config 3.0.3-20260409110014 arm64 Configuration files and dtbo files of audio hat

    ii hobot-boot 3.1.0-20260409105641 arm64 Kernel Package. Provides kernel image and drivers.

    ii hobot-camera 3.1.1-20260409105913 arm64 Camera Sensor Support Package

    ii hobot-configs 3.1.4-20260409105753 arm64 Hobot custom system configuration

    ii hobot-display 3.0.5-20251208164617 arm64 dtbo files of dsi lcd panel

    ii hobot-dnn 3.0.4-20260409110123 arm64 BPU Runtime Support Package

    ii hobot-dtb 3.0.8-20260409105754 arm64 Kernel DTB Package, This package provides kernel device tree.

    ii hobot-io 3.1.4-20260409105736 arm64 IO Support Package

    ii hobot-io-samples 3.0.2-20260409105640 arm64 Example of Peripheral Interface

    ii hobot-kernel-headers 3.0.4-20260409105759 arm64 Linux kernel headers on arm64

    ii hobot-miniboot 3.0.9-20260409105755 arm64 RDK Miniboot updater

    ii hobot-models-basic 1.2.0 arm64 Basic models for RDK X5

    ii hobot-multimedia 3.0.5-20260409105737 arm64 Multimedia Support Package

    ii hobot-multimedia-dev 3.0.4-20260409110017 arm64 Multimedia Development Support Package

    ii hobot-multimedia-samples 3.1.1-20260409110018 arm64 Example of Multimedia

    ii hobot-sp-samples 3.0.7-20260409110132 arm64 Example of Python and C/C++ Development Interface

    ii hobot-spdev 3.0.9-20260409105935 arm64 Python and C/C++ Development Interface

    ii hobot-utils 3.0.7-20260409110015 arm64 Hobot Software Toolset

    ii hobot-wifi 3.0.4-20260409105640 arm64 Wi-Fi Support Package

    ii tros-humble-clip-encode-text 0.2.0-jammy.20241225.024337 arm64 hobot Clip encode text

    ii tros-humble-clip-msgs 0.2.0-jammy.20241225.024229 arm64 message for hobot clip

    ii tros-humble-hobot-audio 2.3.5-jammy.20250918.101554 arm64 TogetheROS hobot audio

    ii tros-humble-hobot-codec 2.3.5-jammy.20260312.111803 arm64 TogetheROS hobot codec

    ii tros-humble-hobot-cv 2.3.7-jammy.20260401.124358 arm64 TogetheROS hobot cv

    ii tros-humble-hobot-dosod 1.0.0-jammy.20260312.115107 arm64 TogetheROS DOSOD perception

    ii tros-humble-hobot-falldown-detection 2.0.0-jammy.20241225.040324 arm64 TogetheROS hobot falldown detection

    ii tros-humble-hobot-hdmi 2.4.2-jammy.20241127.083620 arm64 TogetheROS image display through hdmi

    ii tros-humble-hobot-image-publisher 2.2.1-jammy.20250425.114211 arm64 TogetheROS hobot image publisher

    ii tros-humble-hobot-llamacpp 0.3.0-jammy.20250728.125950 arm64 TogetheROS hobot llamacpp

    ii tros-humble-hobot-mot 2.0.2-jammy.20241225.024808 arm64 TogetheROS hobot multiple object tracking

    ii tros-humble-hobot-rtsp-client 1.0.2-jammy.20250428.105340 arm64 TogetheROS hobot usb camera

    ii tros-humble-hobot-shm 0.0.1-jammy.20241225.030528 arm64 TogetheROS shared memory setting package

    ii tros-humble-hobot-stereonet 2.5.5-jammy.20260331.045429 arm64 A TogetheROS Driver for stereonet model

    ii tros-humble-hobot-stereonet-utils 2.3.1-jammy.20260312.095725 arm64 hobot_stereonet_utils

    ii tros-humble-hobot-usb-cam 2.3.0-jammy.20250425.110259 arm64 TogetheROS hobot usb camera

    ii tros-humble-hobot-vio 2.1.1-jammy.20241225.023850 arm64 TogetheROS hobot_vio node

    ii tros-humble-hobot-visualization 2.0.3-jammy.20250425.114100 arm64 TogetheROS hobot ai_msgs to visualization_msgs

    ii tros-humble-hobot-yolo-world 0.4.1-jammy.20241225.041535 arm64 TogetheROS yolo world perception

    ii tros-humble-hobot-zed-cam 2.3.3-jammy.20250425.104612 arm64 zed camera publish stereo images

    1. 是130W

版本分析结果

你的版本信息:

  • 系统版本: 3.5.0
  • hobot-stereonet: 2.5.5
  • mipi-cam: 2.5.2
  • 相机型号: 130W (SC132GS)

关键发现

问题 1:calib_method:=internal 不支持

你的 stereonet 2.5.5 版本不支持 internal 参数,只支持 none 和 custom:

[ERROR] [StereoNetNode]: => calib_method parameter invalid, should be one of [none, custom]

问题 2:软件包版本可能过旧

根据社区反馈,SC132GS 双目相机的推荐版本:

  • hobot-stereonet: ≥2.5.7
  • mipi-cam: ≥2.5.4

你当前的 2.5.5/2.5.2 版本可能存在已知 bug。


解决方案(按优先级)

方案 1:升级软件包(最推荐)

# 1. 更新软件源
sudo apt update

# 2. 升级 stereonet 和 mipi-cam
sudo apt install --reinstall tros-humble-hobot-stereonet tros-humble-mipi-cam

# 3. 确认升级后版本
dpkg -l | grep -E "stereonet|mipi"

目标版本:

  • hobot-stereonet: ≥2.5.7
  • mipi-cam: ≥2.5.4

方案 2:使用正确的参数重新测试(不升级的情况下)

# 使用 calib_method:=none + 正确分辨率
source /opt/tros/humble/setup.bash
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_544_448_96.launch.py \
  mipi_camera_calibration_file_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml \
  mipi_image_width:=1280 \
  mipi_image_height:=1088 \
  mipi_image_framerate:=10.0 \
  mipi_gdc_enable:=True \
  mipi_rotation:=0.0 \
  mipi_cal_rotation:=0.0 \
  mipi_channel:=2 \
  mipi_channel2:=0 \
  calib_method:=none

启动后检查日志:

  • :white_check_mark: 不再出现 calib_method parameter invalid
  • :white_check_mark: 出现 sub rectified [fx, fy, cx, cy, baseline] 且值不为 0
  • :cross_mark: 如果仍出现 top is not left image,继续下一步

方案 3:单独测试相机输出(确认硬件)

# 1. 查看 mipi_cam 包的正确 launch 文件
ros2 pkg executables tros-humble-mipi-cam | grep launch

# 2. 或直接用以下命令测试相机
source /opt/tros/humble/setup.bash
ros2 run mipi_cam mipi_cam_node \
  --ros-args \
  -p camera_calibration_file_path:=/opt/tros/humble/lib/mipi_cam/config/SC132gs_dual_calibration.yaml \
  -p image_width:=1280 \
  -p image_height:=1088 \
  -p channel:=2 \
  -p channel2:=0 \
  -p gdc_enable:=true

在浏览器访问板子 IP 查看图像,确认:

  • 左右摄像头是否都有图像
  • 图像是否清晰
  • 交换通道后图像是否对应交换

方案 4:检查物理连接

# 1. 查看 MIPI 摄像头检测信息
dmesg | grep -i "sc132\|mipi\|EEPROM"

# 2. 查看设备树配置
ls /proc/device-tree/soc/cam/

# 3. 检查 I2C 通信
i2cdetect -y -r 6
i2cdetect -y -r 4

如果 I2C 地址检测不到,可能是:

  • MIPI 线缆松动
  • 相机模组供电问题
  • 主板 MIPI 接口损坏

关于"top is not left image"的深层解释

这个错误的本质是:立体节点通过图像内容特征判断左右相机,发现当前"左通道"的图像与标定文件中的左相机内参不匹配。

可能原因:

原因 概率 解决方法
标定文件与当前相机不匹配 高 重新标定或使用 EEPROM 参数
物理接线与标定假设相反 中 交换 MIPI 线缆
相机模组左右定义与软件相反 中 联系供应商确认
软件版本 bug 高 升级到 2.5.7+

下一步行动

请按以下顺序操作:

  1. 先升级软件包(方案 1)
  2. 重新测试(方案 2)
  3. 如果仍报错,提供以下信息:
    # 升级后的版本
    dpkg -l | grep -E "stereonet|mipi"
    
    # 完整的启动日志(前 100 行)
    ros2 launch ... 2>&1 | head -100
    
    # I2C 检测结果
    i2cdetect -y -r 6
    i2cdetect -y -r 4
    

参考帖子

升级后大概率能解决问题,有进展请更新帖子!

目前看最新版本是 https://github.com/D-Robotics/hobot_stereonet/releases 2.5.9

建议升级下试试 ,无法直接apt升级可以尝试拉取最新代码编译

尝试升级到2.5.9也还是有问题

具体问题是?测距不准?还是?