Eyes in the Sky with ArduPilot
Thanks to Rishabh Singh from ArduPilot for making the following OAK-D integrations with ArduPilot and for sharing them with us!
These videos are a little dated now but are still super cool to watch, plus have the added benefit of highlighting what has now long been a standard option our customers get to choose between: auto-focus vs. fixed-focus for the center/color sensor.
Notice in the video how the color camera has a blurry and hard-to-describe lack of clarity? That's the vibration of the drone making the lens shake around like crazy. This happens because the auto-focus on these camera modules are magnetically controlled (the mechanism is actually very similar to that of a speaker). So in the presence of high-amplitude vibration, the magnetic force is literally overwhelmed, and the lens vibrates all over the place.
Such auto-focus camera modules allow focus for very-close-in objects while also allowing focus for far-away objects. But it has the disadvantage that it does not work properly in high-vibration environments. The grayscale stereo cameras here are fixed-focus and notice that they do not have this problem at all.
The grayscale cameras are global shutter as well, so in addition to fixed-focus, they have that advantage over the rolling-shutter of the color camera. That said, the visual issues above seem more to do with the focus being not correct than any artifacts of rolling shutter. That said, rolling shutter will never perform as well as global shutter, which is why it's convenient that the OAK-D-Lite and others include 2x global-shutter cameras.
And as mentioned above, we didn’t just sit on our hands when the vibration issue made itself apparent. You may have heard this before: we’re customer obsessed. While the auto-focus option works great in plenty of applications, we are happy to offer the fixed-focus option for all of our USB and PoE cameras to better round out our offering.
Beside the autofocus issue, Rishabh was quite happy with OAK-D, telling us at the time: "Thanks to the gen2 pipeline (probably taken me less than a week to come up with these scripts), it's been super easy to integrate the cameras with ArduPilot."
All of the above is what we're in this for. Taking the feedback about what's bad and fixing it as fast as possible. And then, taking the feedback about what's good and keeping it that way!