Why Intel Galileo - GirlsOfSteelRobotics/GRIPonGalileo GitHub Wiki

Why use the Intel Galileo for vision processing?

Q: Why did you pick the Intel Galileo for vision processing?

A: We considered the Raspberry Pi, Intel Edison, and a few other inexpensive embedded computing solutions, but settled on the Intel Galileo as our favorite solution. There were several factors behind that conclusion:

  • Price: $50 got us the Galileo with a sturdy plastic enclosure
  • Ports: An Ethernet and USB host port are built in, exactly what we need for a webcam and connection to the RoboRIO
  • Wi-Fi: Many embedded systems include Wi-Fi and Bluetooth, but the Galileo has neither. Since FIRST prohibits any additional radios operating on the robot, this works out perfectly.
  • Storage: An inexpensive Micro SD card serves as the "hard drive" for the Galileo, making it easy to perform the initial OS installation from a desktop/laptop computer
  • ARM vs. x86: The CPU is compatible with a 32-bit Intel Pentium as opposed to the ARM-based Raspberry Pi family. Some of the libraries needed proved difficult to locate for an ARM processor. (JavaFX was the big problem, but that turned out to be a moot point by the time the project was over.)
  • OpenCV included: The Galileo OS image provided by Intel includes OpenCV libraries compiled specifically for its class of processor

Q: What are the downsides to the Intel Galileo?

A: The Galileo comes with only 256 MB of RAM and isn't expandable. For running the vision pipeline, this appears to be more than sufficient. However, running out of memory was a problem when using the Java-based Gradle build tool to compile the Network Tables library. It also has a relatively slow processor, most noticeable when compiling the vision pipeline. It takes a minute or two on the Galileo but is done in seconds on a desktop computer or the Intel Edison.


Q: Why not run vision processing on the RoboRIO?

A: In previous FIRST FRC seasons, we encountered occasional problems with the robot when trying to add video overlays to a video feed taken from an onboard camera. The result could be described as a jittery or stuttering response to controls, similar to a low-battery condition but for different reasons. It's possible that the upgrade from the National Instruments cRIO to RoboRIO added enough compute power to accommodate the vision pipelines, but we decided to stick with an off-board solution to avoid the risk of problems.


Q: What other vision processors have you used?

A: The team applied vision processing very successfully in the Rebound Rumble game from 2012 using an Intel NUC mini PC. We decided to find an alternative to the NUC for the 2017 season because the NUC is relatively expensive (~$150 to ~$400, depending on configuration) and is awkward to power from the robot's battery.