tracking down pipe switching to images of traccking front camera
-
Hello I am encountering a weird issue using the M0173 with 2 IMX412 cameras and 2 AR0144 cameras.
The streams of the tracking cameras start out correct when (re)starting the voxl-camera-server, but after some point the tracking_down seems to copy the tracking_front images. Do you maybe know a solution for this problem? or have you seen this happen before? any help would be appreciated.


I am using sdk 1.4.5 on the drone. -
@mark , we have seen this issue when using 10- or 12-bit drivers for the AR0144 tracking cameras. These drivers are shipped with the SDK but are not stable (for this exact reason).
Can you please confirm which ar0144 sensormodules you are using - you can check in
/usr/lib/camera.Alex
-
hi @Alex-Kushleyev, i am not using the 10 or 12 bit drivers, everything was set up using
voxl-configure-cameras 28this is what the/usr/lib/camerafolder looks like (the .tuned files of the 412 camera were renamed in order to use the default .tuned files, which gave the best image for our application)

-
@Alex-Kushleyev, By the way, as i was comparing this VOXL2 to one which does not have this same issue, i noticed that the board seemed to be an older one, could this have anything to do with it?
VOXL with the issue:

VOXL which behaves as expected:

-
@mark, thank you for the details. It should not matter whether M0054 or M0154 voxl is used.
Can you please do a test and disable both hires cameras and see if the issue is still reproducible? If the issue is gone, then enable one hires camera and test again.
Also, does setting cpu to perf mode help with this? (Voxl-set-cpu-mode perf)
I have never seen this happen with out stable camera configs, such as C28, so this is very odd!
Alex
-
Hi @Alex-Kushleyev i ran the tests, and it seems that the issue only occurs when both the hires cameras are enabled. when one or the other is disabled, this problem does not occur. Also running the CPU in performance does make it run normally longer, but the stream still switches.
Looking again at the images of the VOXLs i notice that a resistor in the bottom left of the frame is not placed in the m0054 version that is placed in the m0154 version. I placed a 100k resistance there (same as on the other resistances.) and that seemed to work, at least for this VOXL. Could it be that this is related to the I2C address of the camera or the VOXL? -
@mark ,
Thank you for running the tests!
Regarding installing resistors without knowing what the function is - not recommended
. I will look into what this resistor is. Are you saying that after installing this resistor, the issue is not reproducible?I was going to ask you to do one more test, if you can reproduce the issue. If the issue is indeed at the very low level (the same image is returned for both cameras into
voxl-camera-server), then both instances of Auto Exposure algorithm would react to one camera's image changing. So the test would be..- reproduce the issue to get the same image appear in both camera streams, it seems like
tracking_frontis the one that is being duplicated - note the exposure and gain values, reported in the stats below the images
- quickly cover up the front camera (without affecting down-facing camera) and see if the expsure / gain of
tracking_downalso changes at all.- please note that if the image is indeed duplicated at a very low level, the Auto Exposure algorithm's output for the
tracking_downwill not actually affect the image (since the stream is fromtracking_front), but you should still see some changes while AE is converging after a sudden change. If there is no duplication of the image at the camera server, the AE behavior will not change fortracking_downcamera when you cover uptracking_front. I hope that makes sense.
- please note that if the image is indeed duplicated at a very low level, the Auto Exposure algorithm's output for the
Basically i am trying to figure out if this is a camera server issue or somewhere downstream.
Alex
- reproduce the issue to get the same image appear in both camera streams, it seems like