Before I get into some different form factors and boards I want to talk about the things you should look for in a computer for your robot.
1. Reliability – Make sure the computer can withstand shock, vibration and the thermal conditions in the robot
2. Fanless – this is a good idea so that dust does not get into the computer and cause failures.
3. Minimize moving parts – A good embedded computer will have no moving parts.
4. SSD or industrial hard drive – I know what I said above about moving parts but I am not sold on SSD’s yet. I have seen many of them die prematurely (the technology is still getting better and needs more time to mature) and I have also seen hard disk controllers that do not fully support SSD’s (even when the computer manufacturer claims that it does). According to a professional hard disk recovery service “the technology in SSDs is no more universally reliable than HDDs at this point.” they continue with another interesting observation “when an SSD is pointed out as superior because it has a MTBF of 1.5-2 million, you’re being told that the drive you purchased today is expected to fail somewhere between the years 2185 and 2242. Yeah, not likely.” When you get a hard drive make sure that it is an industrial grade drive from a reputable vendor (like Western Digital or Seagate). There are many no-name SSD vendors that should be avoided. They reputable industrial drives cost more but have much higher reliability and can withstand more vibrations and shocks. One good compromise is to use an SSD for the operating system and a standard disk drive for data (and things with a lot of read/writes).
5. I/O and peripherals that are available
6. Power consumption
7. Development time (time to integrate and modify software if need be)
8. Lead time and cost
||PC104 boards are a standard form factor that are 3.550 × 3.775 inches and the boards can be stacked. There are many peripherals that can be stacked to add functionality such as CAN, serial ports, firewire, IO boards, etc… Due to the form factor most connectors/wires are coming off from the sides of the boards. This can get very messy and we often refer to it as spaghetti. The PC104 has an ISA bus that is in the connectors between boards. The PC104+ adds a PCI bus connector on the other side that gets stacked. You will typically put a PC104 power supply card in the bottom of the stack to supply power within the ISA header for all of the boards. The CPU board is often put on the top for thermal reasons.
||They tend to be a year or two behind the latest technology as it takes time for these boards to be made. They are usually supported for an extended time. While you can get fast boards many of these boards will be slow and are designed for small power consumption.
||They tend to be very reliable and rugged. However sometimes operating systems will not always work bug free and might take work to make them reliable.
|These are large boards that fit in a card cage. You can only have one CPU board integrated into the card cage with access to the peripherals. You can have additional CPU’s in some back planes that just get power. These tend to be high performance power hungry cards (although you can get lower power ones)
||These boards typically lag the cutting edge boards by only a few months. The cards typically come in 2 sized 3u and 6u
||These boards also tend to be reliable and things that work on a normal computer will work on these. The card cage should be shock mounted. They also are the most expensive option listed here.
||National Instruments makes the CompactRIO or cRIO series of boards that lets you customize your computing system. There are many different types of boards for I/O, networking, motor control, etc.. that can all be combined with a CPU with reconfigurable FPGA in a rack (the integrated FPGA feature is really nice).
||These computers are a little behind the latest computer specs. Currently the fastest model is 1.33GHz. But is also has the FPGA were you can offload parallel tasks to.
||Unlike the other categories I do not have that much experience with these computer. From what I hear and from the web site descriptions they seem reliable. Also NI has a good history and is a reputable company. As a large company the technical support is probably superior to many of the other companies in this market. One think I do not like about these is the reliance on using their Labview software. The few times that I have used Labview I have been frustrated by not being able to tweak certain behaviors as it is a very high level environment. With that said if you are trying to get something to work and they already have a solution it might be good for the non-programmers among you.
||We all know what a standard laptop is…
But I will still include a picture
|These computers are built with modern system specs.
||This is where things go bad. Laptops are power hungry and unreliable. The shock/vibration while the laptop is running can be bad for it. Powering them can also be a problem many laptops are not happy with just feeding 12V (or whatever) in. They want a signal from the power brick. The built-in screen is useful for debugging but also is bad for reliability. They also have lots of vents/fans that can suck in dust and if blocked will cause the laptop to overheat. Some laptops can not be started if the screen is shut and no monitor is attached (one way to get around this is to add a resistor to the VGA port to spoof a monitor), this can get in the way of starting them from an external switch.
|This is a sample single board computer. It can be purchased with several options. usually would have a high lead time.
||The computer is built with state of the art specs.
||These are very rugged machines that are fanless and use fins to dissipate away the heat. When you open them up you see that there are often no cables and everything is screwed down and has metal mounting plates.
|The raspberry pi is a modern ultra low cost computer with an arm processor. It is very popular right now in the hobbyist world. There is a limited amount of IO options for interfacing with other devices.
||It has low specs and is designed to be cheap and low power.
||Reliability is unknown. It tends to get very hot which can be bad when put in a robot. Also it is made at a very low price point which probably affects the quality of the components in use. Several components are known to fail early (such as the SD card). Also since it is very low specs if there is a software bug (such as a memory leak) it can cause the board to die.
|This is a very low power fast booting arm based computer. It has a bunch of peripherals that can be connected and some PC104 card compatibility. The computer is a little larger than a PC104 card (more rectangular). Being an ARM processor some libraries and pre-compiled binaries from an x86 will not work.
||It has low specs 500MHz ARM9 and 128MB DDR-RAM. It should be noted that low is still good for many applications.
||I have used and abused this family of boards and they have survived and have proven themselves to be very robust. I have flooded them, baked them in the sun, and had them in the field for years with no problems.