Which computer to operate a personal robot?

There is a choice between Raspberry, Arduino, Beagleboard and the Intel's Minnowboard, among many others.

First, we must clarify what is expected of the computer that will run the robot.

  1. It must be embedable. This implies a low power that can be activated with a battery. As a laptop without a screen or keyboard.
  2. It must interface with the sensors of the robot.
  3. It must have a development tool. Preferably with a GUI.
  4. An Ethernet interface to be connected to a desktop or laptop via a local network, this facilitates developments.
  5. PWM (Pulse Width Modulation). Converting a binary signal to analog, it allows you to control the speed of motors. The reverse operation can read the signal from a sensor.
  6. A current mobile computer does not have the required power to operate an android robot. It can only act as a relay to a remote computer. So you need a wifi connection for exchanging data and commands.

The Raspberry Pi corresponds to these criteria, it is the most common and the least expensive, so we will take it as a reference point, and compare it with competing products.

Raspberry Pi

It has a PWM output directly through a GPIO (General Purpose I/O) connector. We may need additional components between the connector and the peripheral device.
The image below shows a list of all the connectors for the RPi model B, in a transparent green case.

Connectors of the Raspberry Pi model B in a green translucent box

There are at least two very useful connectors for designing a robot, CSI and GPIO. But it is possible to use the USB port to connect the elements. All other connectors are used to program the board and control the operation of the program through the development interface.

The page RPi Verified Peripherals on eLinux would help to find the right devices for your RPi.

BeagleBone Black

In the same price range, with a similar processor and a memory of 512 MB also ...

It does not have the same video processing capabilities that RPi, so not the same comfort of interface développemeent, but more GPIO connectors through the extension ports. Answers to problems will be less easily found than with the RPi, even if he has a good documentation. At the time I write this article, all ports are not functional and users are trying to make them active. This is a less finished product.

More information on BeagleBone Black in this PDF file.

Arduino Tre motherboard

Arduino

The Arduino card is much less powerful than the RPi. But it has advantages, it consumes much less power, it is compact and can even have the size of a postage stamp (in DigiSpark or Microduino model). It can connect to a Bluetooth or Wi-Fi card to receive orders from a more powerful computer that will handle all processing and send basic commands. We can consider using several cards together to enable different parts of the robot.

The Arduino TRe is a perfect alternative to Pi, maybe even higher, but is still in development at the time this article is published.

Minnowboard

It is less suitable for robotics. It is ten times more powerful than the previous. It does not have the ports typically used in robotics.
The board, next to the fact that it's bigger, is similar to the RPi. But the GPIO is replaced by an expansion slot, plus an eSATA connector. The latter is not very useful for a mobile device.

Its advantage is that it is fully open source and its components can be changed to alter its capabilities. This aims it more to the industrial world (and thus Intel positions it) to operate machinery that personal robots. The actual price is close to that of a notebook.

Using a mobile

Another solution is to use a mobile phone, if you want to pay the price. It is most powerful and has a screen, many programming tools.
It does not have the same connectors also you need to consider further adding an Arduino board. It can be connected to a movable On-The-Go USB. This removes the duality between the master-slave host port and client port and harbor into double feature, so can be controlled or control. A USB OTB cable can make the connection between the two devices.
Another option is a special card like the IOIO Mint of Adafruit designed specifically to add robotic connectors to an Android mobile.

Conclusion

There are more and more new similar products. The RPi always has the advantage of popularity, so more software, more support. This computer like competitors will not suffice to operate a humanoid robot. It must be seen as a learning tool to start with a simpler assembly. The next step is to use an Android mobile with one or more interface cards. The sensors of the Android will be used, and its communication abilities too. The name of the Android system will find its full justification!
Finally we can move to a set of Arduinos distributed in the body of the robot.