RoboResto: Controller Selection

Posted by Reiner Schmidt on

When it comes to building a robot you generally want it to have some kind of connectivity. In most cases, that's something involving TCP/IP. The majority of robots running in industry are probably getting there information from a Cat-5 cable running some kind of IP based protocol, Modbus for example. When we are restoring our old blue robot we want to make sure that it is up to industrial standards... why? Well no reason really, just for fun.

With this need for control in mind we need to select a controller with networking capabilities. This project gets only a couple hours a week and I don't want to spend all my time sorting out networking drivers on a micro-controller platform. So we are going to use a Linux board, it's too bad there is a shortage of them these days... Ha. I have picked 4 main contenders and will talk a bit about each one below.

What will the controller be doing? Good question. Well the Linux side of things will be managing the network and processes, calculating the inverse kinematics for the robot, and maybe some kind of display. A real time controller (micro-processor) is also needed to handle things like managing the feedback loop and PID controls of the robot arm. 

Beaglebone Black: The best part of the BBB is the programmable real time unit. This is a micro-controller inside the AM335x chip that can be programmed by the BBB or an external tool. To be honest the BBB is probably the best choice for this reason alone. We dont need 4 cores of processing power to move a robot. But we do need something that can handle fast real time data.

Olimex Lime: A real opensource Linux board. As far as processing power goes this board is nothing special. But the features it has are spot on! It has Sata capabilities and a built in UPS feature powered by an external Li-Po battery. It also has a whole whack of GPIO. Lacking a real time micro-controller on board is not a deal breaker.

UDOO Neo: A surprisingly cool board, the NEO also has a built in real-time controller. This can be programmed using the Ardunio IDE right from the device itself.  The board even has a WiFi option as well for a pretty good price.

Raspberry Pi: I have to mention this board, a powerful processor  with Wifi and Bluetooth all at an affordable price. We do a lot of work with the Pi and it is a great tool. But it is healthy to venture out and try new things as well.

What board are we going to use? Well at the end of the week we will probably make a choice on twitter. It would be good to get some input and see what people think. Maybe there is a 5th option hiding somewhere out there.