I'm planning to implement a Self Balancing Robot which is usually implemented using a gyroscope sensor which gives feedback to the micro-controller to adjust the position with wheels. I'm looking into an option of controlling using Computer Vision (OpenCV). Firstly, looking at a similar project PID algorithm implementation using computer vision i'm convinced that it is not quiet easy to implement without the right tools and good concept.
I have an Arduino Uno board which i will be using for controlling the DC motors. I still have to decide on the Embedded System board which i should be using (Mostly ARM Processor based, like Raspberry Pi, Beagleboard etc), the selection of processor depends upon the speed of the application. A webcam mostly, but i'm looking into other cameras as well. CMUcam
Control algorithm used will be PID implemented in the Processor. The bound box is what i intend to use to observe the change in motion and then use error correction via a Ethernet port or wireless depending upon the speed needed.
Please do comment about the drawbacks and flaws of the design.
OS of the processor : Linux distro (Ubuntu or Debian), initially i thought about RTOS(Real Time OS), but i guess it is too complex.
Need your valuable feedback.