A Stereo Vision Board For Hardware Hackers

It’s plenty easy to do lots of vision tasks with a single camera, but using two cameras gives you lots of magical abilities, like depth perception! If you’d like to experiment with stereo vision, you might enjoy this board that [machinehum] built specifically for hackers.

The project came about because [machinehum] was particularly excited about the Rockchip RV1103, a 1.1 GHz single-core ARM chip. It comes with 64 MB of DDR2 RAM and a has a MIPI CSI-2 bus on board, which comes in handy for interfacing cameras. Thus, it was the perfect part to whip up a stereo vision board with on-board compute capability and Linux support right out of the box. The processor is paired with two OV9281 global-shutter cameras, as well as a LI2HH12 3-axis accelerometer to provide motion sensing. There’s also 4 MB of flash memory thrown on board, as well as a 10/100 Mbit Ethernet interface for good measure. [machinehum]’s write-up also lays out the software stack and how everything works in concert with Video4Linux2.

If you’re new to experimenting with stereo vision, you might find this to be a useful platform for getting started. Design files are on GitHub for the curious. We’ve seen similar projects built using the Raspberry Pi before, too, which itself is essentially just a fast ARM powered computer with useful camera interfaces built-in. Funny that.

Continue reading “A Stereo Vision Board For Hardware Hackers” →

Tracking Bees With A Stereo Camera

For whatever reason, [Jeremy] wants to photograph bees in flight. This is one of those things that doesn’t seem that hard until you try to do it. He’s got the mechanical part that can move the camera as fast as the bee flies. But you still have to point the camera correctly. He considered quite a few methods of acquiring and tracking the bee, but he finally settled on a stereo camera. His requirements also made the camera design challenging. In particular, the bees move fast enough that things like USB transmission times become significant. You can see his solution in the video below.

[Jeremy] does a great job explaining all the tradeoffs between frame rate, resolution, focal length, and other optical issues. Of course, he also wanted a global shutter sensor. Rolling shutter cameras scan row-by-row, creating the well-known “jello effect”. Global shutters capture all pixels at once. That also removes any uncertainty as to “when” the shutter fired.

Continue reading “Tracking Bees With A Stereo Camera” →

OpenMV Promises “Flyby” Imaging Of Components For Pick And Place Project

[iforce2d] has an interesting video exploring whether the OpenMV H7 board is viable as a flyby camera for pick and place, able to quickly snap a shot of a moving part instead of requiring the part to be held still in front of the camera. The answer seems to be yes!

The OpenMV camera module does capture, blob detection, LCD output, and more.

The H7 is OpenMV‘s most recent device, and it supports a variety of useful add-ons such as a global shutter camera sensor, which [iforce2d] is using here. OpenMV has some absolutely fantastic hardware, and is able to snap the image, do blob detection (and other image processing), display on a small LCD, and send all the relevant data over the UART as well as accept commands on what to look for, all in one neat package.

It used to be that global shutter cameras were pretty specialized pieces of equipment, but they’re much more common now. There’s even a Raspberry Pi global shutter camera module, and it’s just so much nicer for machine vision applications.

Watch the test setup as [iforce2d] demonstrates and explains an early proof of concept. The metal fixture on the motor swings over the camera’s lens with a ring light for even illumination, and despite the moving object, the H7 gets an awfully nice image. Check it out in the video, embedded below.

Continue reading “OpenMV Promises “Flyby” Imaging Of Components For Pick And Place Project” →

New Raspberry Pi Camera With Global Shutter

Raspberry Pi has just introduced a new camera module in the high-quality camera format. For the same $50 price you would shell out for the HQ camera, you get roughly eight times fewer pixels. But this is a global shutter camera, and if you need a global shutter, there’s just no substitute. That’s a big deal for the Raspberry Pi ecosystem.

Global vs Rolling

Most cameras out there today use CMOS sensors in rolling shutter mode. That means that the sensor starts in the upper left corner and rasters along, reading out exposure values from each row before moving down to the next row, and then starting up at the top again. The benefit is simpler CMOS design, but the downside is that none of the pixels are exposed or read at the same instant.

Continue reading “New Raspberry Pi Camera With Global Shutter” →