AR0144 Tracking Camera FPS
-
Hi,
I have noticed that if I set the exposure max value to greater than 15ms the frame rate of the stream half to 15fps.
Is that a limitation of the camera (the shutter type perhaps)?Is it possible to lock the frame rate to 30FPS as long as the max exposure is less than 33.3ms?
Any feedback would be appreciatedCheers
-
hello @AidanGallagher ,
Sorry for the delay. Yes, this is indeed the case due to how the AR0144 global shutter camera operates in sync'ed mode. In the sync'ed mode, the camera exposure + readout time has to be less than 1/fps. The readout time is about 16-17ms and we use a conservative maximum exposure of 12ms in this mode.
If you do not need the camera synchronization, you can replace the sensormodules for the corresponding cameras in
/usr/lib/camera/com.qti.sensormodule.ar0144_combo_*.bin
(which use hardware sync) with those from/usr/share/modalai/chi-cdk/ar0144
(which do not use hardware sync) and you can use exposure of up to 1/fps (maybe a bit less). When you replace the sensormodule, you can rename the old ones to *.bak and copy the sensormodule with correct slot id (number at the end, before .bin) to the same location.Let me know if you have any other questions.
Alex
-
Thanks a million @Alex-Kushleyev
I assume the camera is run in sync'ed mode to produce clearer images for computer vision purposes - is that correct?
If that is the case would changing driver potentially reduced the tracking accuracy?Aidan
-
@AidanGallagher , the sync signal is used to synchronize multiple cameras to take the images at the same time - it is not related to the quality of the images. Some algorithms like DFS (Depth From Stere) require the images to be synchronized because the assumption of DFS requires that, otherwise disparity search can produce incorrect results.
For other applications like multi-camera VIO, it may or may not be required to use synchronized images -- unsync'ed camera images will have their own timestamps, which should be handled by the VIO algorithm.
The choice depends on the application.
Alex
-
I understand now @Alex-Kushleyev thanks for the explanation