XMP-1 the Raspberry Pi Robot
The inexpensive, credit card sized single board computer, the Raspberry Pi or RBPi, can be teamed up with another inexpensive, credit card sized processor platform, the XMOS startKIT. The duo presents the unique possibility for DIY enthusiasts to construct robotics applications. An additional incentive – almost no soldering required.
The XMOS StartKit comes with an XMOS processor chip that has multiple XMOS cores. You can program these cores directly in C. Multiple programs will run in parallel within the XMOS cores, at high speeds and without jitter. That is exactly what the robotics applications ideally require.
The combination of the RBPi and the XMOS startKIT makes a simple mobile platform that its designer Shabaz chooses to call as XMP-1 – the XMOS Mobile Platform, version 1. Using only simple tools such as pliers, wire-cutters and a screwdriver, XMP-1 involves only low-cost off-the-shelf standard hardware. It is flexible enough to allow addition of more sensors and programming to make it more versatile than it is at present. The XMOS board communicates with the RBPi via the Serial Peripheral Interface or SPI and you can control the XMP-1 from a web browser.
Although XMP-1 can move at quite a high speed, it is preferable to keep its speed low when it is being taught a new route. The console output and the browser controls are available on the display on the web browser to generate keep-alive and status messages to help you see what is happening. Shabaz has recorded this project in three parts, the first of which deals with programming the XMP-1 that has no sensors. In part two, Shabaz conducts more XMOS startKIT experiments. These serve to establish the process of high-speed SPI communication between the XMOS startKIT board and the RBPi.
You will be able to get the XMP-1 up and running, if you simply take the code, compile it and plug it into the flash on the XMOS startKIT board and the RBPi. However, this project is useful to all types of enthusiasts apart from those only interested in constructing and using XMP-1. For example, on the site, you will get adequate help in the XMP-1 hardware assembly, controlling hardware using RBPi and using a web browser to do it from a remote location. The site is very informative for those who are new to the XMOS startKIT.
The RBPi is connected to the network via an 802.11 Wi-Fi USB adapter and handles all network activity. A small web server running on the RBPi provides feedback to the user via a web browser. The RBPi also transfers the motor control speeds it receives from the user over to the XMOS startKIT board via the Serial Peripheral Interface. In turn, the XMOS startKIT feeds the motors with the correct Pulse Width Modulation or PWM signals.
Based on these input signals, the hobby servomotors operate to allow the XMP-1 to run at varying speeds in a straight line or to take a turn. Usually the servomotors rotate to less than a complete revolution – within a range of nearly 180-degrees. The output shaft is connected to linkages that make the wheels turn a full right, a full left or anything in-between.