Here you will find documentation for building and programming a computer vision enabled robot, suitable for RoboCup Junior or RoboSub competitions. You will NOT find code you can copy and paste. This site is for students who want to learn to build and program these robots for themselves.
The documentation for building and programming these robots is in its infancy. I'm working on it as I have time, but if somebody's trying to build either of these robots and is hung up on a certain aspect of the build or programming, post a request in the issue tracker for this project that describes what information you need and I'll get to it as soon as I can. List the kind of issue as a task and the Component as Documentation (see below).
Why the Beaglebone Black
Of the several options available for controlling a robot, I chose the Beaglebone Black for the following reasons.
- Convenience: You can remote into the Beaglebone Black easily. Simply connect a USB cable, install the drivers (which are available on a small partition of the memory which shows up as an external drive), and navigate to 192.168.7.2
- Cost: The BeagleBone Black and Green boards are the cheapest of the embedded computers to sport the GPIOs necessary to control a robot.
- Simplicity: The Beaglebone Black can control all the motors, read all the sensors, and handle computer vision processing all by itself. No need to add the layer of complexity that comes with communicating with another microcontroller.
- Quality: The Beaglebone Black has 8 PWM pins (7 of which are easily accessible using the BlackLib library) which is more than any other competing device that I'm aware of (most only have a couple).
- Support: The Beaglebone Black runs Debian, a popular Linux operating system with a lot of community support (Raspbian and Ubuntu are derivatives of Debian).