Close

The Brain: Raspberry PI

A project log for BorgCube ROV

Underwater robots!

tim-wilkinsonTim Wilkinson 12/11/2015 at 19:410 Comments

The two obvious brain choices (to me at least) were Arduino or Raspberry Pi. Ultimately the choice was dictated by the needs of the vision system.

One of my design goals for this craft is stereo vision. That means either one camera with a bunch of interesting optics, or two cameras. As I'm primarily a software and hardware guy, two cameras seemed the obvious way to go. For some reason I figured I could easily buy two high-ish end web cameras and plug them into "The Brain" and then pipe those images back along an ethernet cable to the shore. Given this, I'd need something with a few USB ports and ethernet, and so the Raspberry Pi was my choice.

But it turns out that web cameras are really dumb - or at least all the ones I investigated are dumb. I had the illusion that these high end cameras must be doing more than just shipping raw data across USB to the host. Surely they do mpeg4 compression in realtime too? It's not that expensive is it? Well, maybe it isn't but it looks like the don't. And that leaves the poor PI to do all the data compression which, with two cameras, doesn't give you much of a frame rate or much resolution.

Fortunately I found this video. It demonstrates the use of the Raspberry PI Compute Module (something I'd not heard about) which is capable of using two PI camera and the Broadcom hardware to do fast video encoding. So, the Compute Module became the brain. More on the actual vision system later.

Discussions