Dual Camera Calibration and Hardware Synchronization

General Information

  • Product: e.g. X30 2CP
  • Serial Number: 231600, 231597
  • Ensenso SDK Version: 3.6.1621
  • Operating System: Windows

Problem / Question

Hey all, I am currently working with a dual-camera system using model numbers 231600 and 231597. Following the specifications in the Ensenso Guide, I have set up hardware synchronization using an adapter cable, connecting the Flash Out cable of the 231600 to the Trigger In cable of the 231597. Both cameras are also connected to the same power supply and grounded.

However, I am encountering an issue with calibration. Despite following the same calibration method for both hardware and software synchronization, I am observing a significant increase in link error when using hardware synchronization. The link error measures at 0.79mm with hardware synchronization, compared to 0.23mm when using software synchronization. This discrepancy persists even after numerous calibration attempts.


One factor I suspect might be influencing this outcome is the length of the connection cable between the two cameras, which is approximately 5 meters. Could this length be causing perturbations in the trigger signal? Or maybe the fact I’m only using one power supply for both cameras?

Could you provide any insights or recommendations on how to improve the calibration accuracy of a multi-camera set-up?

Thank you for your assistance.

Best regards,
Klaas KÖPKE

Hello Klaas,

I do not see an obvious explanation for your observation. Although the manual page you referenced recommends using a separate power supply for each camera, that should be no problem during calibration when the projectors are not used. And I would not expect the 5m of cable to cause any trouble, unless you acutally operate a strong radio source nearby.

Do you have the “Ignore moving patterns” option enabled in both cases?

Could you post a copy of your NxLib trees, one with software and one with hardware trigger, so I can double check your settings? The wizard should set them all correctly, but I would like to make sure the input and output settings are all correct. You can open NxTreeEdit during the “Collect Patterns” step, connect to your running NxLib instance, right click on the root node (/), select “Copy value as JSON string” and paste it here.

I would also ask you to capture two log files (software and hardware) of the “Collect patterns” step, and possibly the following processing step as well. If the timing is extremely bad with the hardware trigger, I might be able to spot it in the logs. You can use the “Debug” tab of NxTreeEdit to capture the log files. If you zip them you should be able compress them enough to attach them here.

Regards,
Raphael

Hey Raphael,

Thank you for your insights. I’ve checked, and indeed, the “Ignore moving patterns” option is enabled in both scenarios.

Regarding the NxLib trees, I am attaching two JSON strings as requested in the zipped file. These represent the settings for both the software and hardware triggers.

Additionally, I have captured the log files for both the “Collect Patterns” step and the subsequent processing step. These files are also zipped and attached here:

LOG.zip (166.3 MB)

Please let me know if there’s anything else I can provide to assist in resolving this issue.

Best regards,
Klaas

Hello Klaas,

Good, that gets rid of the worst source of error, even though the calibration should be more affected when software triggered than when hardware triggered.

Thank you for the comprehensive data package. I checked the logs for any unusual delays between the captures but could not find anything suspicious.

The logs of the processing step are sadly both missing the output from the Calibrate command. This is probably because the log buffer overflowed, which you can avoid by increasing the size of the backlog buffer. But it means I could not check your results from the Calibrate command and had to recompute my own, which returned better overall errors for the hardware triggered dataset than for the software triggered one. This does not necessarily mean that the final measured pose error as shown by the wizard is better as well, as your screenshots also show a smaller error for the hardware triggerd case, but it indicates that the calibration seems to go okay.

While doing this I noticed that the intrinsic calibration of your camera 231597 is not the same in both scenarios, making the results of the link calibration not directly comparable. Did you intentionally recalibrate the camera inbetween?

Lacking any concrete idea what may be causing this, I think I will have to go find a long cable and try for myself.

Sorry for the inconvenience.

Regards,
Raphael