When I was trying to figure out what would be the brains of Porter, there were a few design considerations.
- Computer Vision processing - a 640x480 raw RGB image takes up about a MB of memory, so if I wanted to do some object recognition or tracking with it, that put most "microcontrollers" like the Arduino off-limits.
- Easily programmable - After poking around, I settled on Android as a platform OS, so I needed some hardware that had good support for Android.
- Small form factor - It needs to fit into a small form factor to provide flexibility for the chassis design.
Freescale wired up for use |
I finally have settled for my initial prototype on using Freescale's i.MX53 single board microprocessor (Their quick start kit costs $149). It's about the size of a smartphone, is beefy enough to handle the computer vision with 1GB of RAM, and has multiple USB ports. Freescale used to be Motorola semiconductor, so they have a lot of history and a good user community. Also, Adeneo makes a nice BSP port of Android for the i.MX53, with driver support for cameras, mice, etc.
There are a few other comparable boards on the market, most notably the PandaBoard ($161) and the Raspberry Pi ($35), which I might end up using for the final production robot, but I felt that at this point in development, Freescale's community and maturity of the Android port were enough to go with them.
i.MX53 hooked up to VGA monitor |