depthai: [BUG] FFC-type Board Calibration Flashing Error

Describe the bug I am on latest commit 39da981db8b886cf6c88b55a044724a82619a794 (HEAD -> multi_cam_support) @ depthai-python repo, and tries to flash calibration parameters into a SoM unit. I currently test on a OAK-FFC-3P board.

I am trying to flash the extrinsic and intrinsic paramters of camera 0 and 1 (rgb and left). I encounter the error of Extrinsics between all the cameras is not found with single head and a tail, but in actual fact, the chain does exist in the original .json file, by manual inspection.

However, if i exchange the definition of 0 and 1 slots in the calibration .json file, the flashing works. This appears to be a bug. How can swaping the “chain” direction, affect the sanity check?

To Reproduce Steps to reproduce the behavior:

  1. Use calibration_flash.py script to try to flash the following to calibration json files
  2. The first one shows error, but the second one passes

Expected behavior In both cases of .json files, the calibration flashing should pass (or fail together)

Attach system log

[2022-08-18 16:48:10.779] [debug] Extrinsics between all the cameras is not found with single head and a tail
[2022-08-18 16:48:10.779] [debug] Found link to a CameraID whose camera calibration is not loaded. Please cross check the connection by creating a json file using eepromToJsonFile(). 
[2022-08-18 16:48:10.779] [debug] Device about to be closed...
[2022-08-18 16:48:11.513] [debug] Watchdog thread exception caught: Couldn't write data to stream: '__watchdog' (X_LINK_ERROR)
[2022-08-18 16:48:11.637] [debug] Timesync thread exception caught: Couldn't read data from stream: '__timesync' (X_LINK_ERROR)
[2022-08-18 16:48:11.637] [debug] Log thread exception caught: Couldn't read data from stream: '__log' (X_LINK_ERROR)
[2022-08-18 16:48:11.638] [debug] XLinkResetRemote of linkId: (0)
[2022-08-18 16:48:11.638] [debug] Device closed, 858
Traceback (most recent call last):
  File "calibration_flash.py", line 24, in <module>
    status = device.flashCalibration(calibData)
RuntimeError: Failed to validate the extrinsics connection. Enable debug mode for more information.

Additional context Discord discussion here https://discord.com/channels/790680891252932659/1004761233104322650

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 18 (9 by maintainers)

Most upvoted comments

@chengguizi sorry for delay, was caught with other tasks, will calibrate FFC-4P and FFC-3P tomorrow and will get back to you with new info.