Inforce 6501 Micro SOM Beats Five Other Vendor Products in a Bake-off
[caption id="attachment_355" align="alignleft" width="332"] Figure-1: NASA's Astrobee free-flying robot headed for the ISS in 2017.[/caption]
Designing a next generation free-flying autonomous robot [see Figure 1], scheduled to be deployed on the International Space Station (ISS) in 2017, is no trivial task. The NASA Astrobee will serve as a robotic assistant to offload routine, repetitive, but long-duration and CPU-intensive tasks [2] and replace a legacy and older free-flying robot.
Challenges in building the Astrobee avionics
[caption id="attachment_356" align="alignright" width="374"] Figure-2: The Astrobee's avionics block diagram showing the three compute modules.[/caption]
The Astrobee has subsystems for structure, propulsion, power, guidance, navigation and control (GN&C), command and data handling (C&DH), thermal control, communications, docking mechanism, and a perching arm [4]. As seen in the block diagram in Figure-2 [2], the avionics provides computation and communication resources for the Astrobee. The three compute platforms are the low- [LLP], mid- [MLP], and high-level-processor [HLP], which are configured to perform specific functions.
The bake-off to pick the right compute platform
Choosing an appropriate compute platform is the most critical part of designing the avionics. Particularly since the new stuff will replace an ageing workhorse in the ISS, it must be upgradeable, and reliably serve for several years ahead. So the engineers at NASA Ames ran a thorough analysis that compared commercial compute platforms (SOMs and SBCs) from six different vendors. The following were their requirements: [2]
- Compute power: The MLP runs vision-based mapping and navigation algorithms, which requires high-end processing capability.
- Software development cost: The MLP runs the Robot Operating System (ROS) package on a Linux OS and hence compute modules that support this requirement along with appropriate device drivers was critical.
- Hardware development cost: Off-the-shelf compute platforms that offer plug-and-play capabilities get better scores.
- Modularity: Crews on the ISS should be able to swap these modules effortlessly should a failure occur or an upgrade is required. SOMs with edge connectors got a higher score since no wires and nuts/bolts needed to be operated.
- Connectivity: Ethernet, I2C, SPI, USB 2.0, and WiFi are basic requirements for the MLP to communicate with the LLP, HLP, and external devices.
- Power consumption: Depending on use-cases, the Astrobee must be able to run on batteries upwards of 9 hours. Lower the power consumption, better the score.
- Qualcomm Snapdragon 805 processor (APQ8084) with quad-core 2.7GHz CPUs and heterogeneous compute that includes Hexagon DSP, Adreno GPU and dual ISPs enabling streaming of 1080p HD and H.264 encoded video to the ground
- Support for Linux (Ubuntu) and ROS--this is the first known port of ROS on the Qualcomm Snapdragon 805 processor (APQ8084) platform.
- Readily available camera (4K HD capable ACC-1H30) and display (4” ACC-1B10) accessories and associated device drivers to run on an Android OS (for the HLP).
- Tiny form-factor (28mm x 50mm) and cross-compatibility with a common carrier board design makes it easily swappable and upgradeable to newer Snapdragon modules in the future.