Inforce Insights September 2016
DSPs are specialized processors dedicated to digital signal processing. Similar to GPUs, DSPs are designed to perform a very specific subset of tasks and also to exploit parallelism. Like CPUs, they often make use of SIMD (single instruction, multiple data) and VLIW processing to boost throughput and total performance per watt. CPUs such as Snapdragon™ can handle these tasks (and sometimes do), but DSPs offer better performance than general processors, and have more flexibility than a traditional ASIC.
The Qualcomm® Hexagon™ DSP is designed to accelerate certain workloads at performance efficiencies well above anything a modern CPU can offer. The Hexagon DSP is an advanced variable instruction length, VLIW (Very Long Instruction Word) processor, meaning it’s designed to extract maximum parallelism per clock cycle and to spread workloads across a wide set of execution units. Any digital signal that needs to be processed in a low power environment can thus be assigned to this processor (from voice features to sensors and computer vision applications).
The Hexagon DSP is a cluster of an application, modem and sensor DSPs. The aDSP or the Application DSP, allows the device to process simple sets of data on low power, without having to wake up the Application processor. The aDSP can run custom applications to perform simple tasks, like hotword detection for voice recognition and perhaps low power music playback. The sensor DSP was clubbed with the aDSP in earlier versions of Hexagon but is now a separate DSP.
It is aptly named “low power island” and designed to improve the battery life of always-on use cases, including step or activity counters as well as sensor-assisted positioning (using your platforms’ sensors to provide more accurate location when you don’t have a strong GPS signal). The modem DSP is typically not available on application processor variants of Snapdragon on which Inforce platforms are based on. A simple illustration of the Hexagon DSP processors in Snapdragon products is shown below
Using the Hexagon SDK, developers with expertise working in native programming environments can tap into hardware-enabled multimedia features to deliver interactive user experiences in much lesser time as compared to making source code modifications for this kind of functionality. The SDK is designed to help ensure multimedia processing efficiency, which means increased fluidity, low latency, and superior app performance. The Hexagon SDK is also designed to enable high computational burdens on the CPU to be off-loaded into a heterogeneous computing environment with the use of shared remote code objects.More information on the Hexagon DSP and SDK from Qualcomm is available at this link. Inforce’s Android BSP releases enable the use of Hexagon SDK on all its platforms.
The Robot Operating System (ROS) is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms. ROS encourages collaborative robotics software development. For example, one laboratory might have experts in mapping indoor environments, and could contribute a world-class system for producing maps. Another group might have experts using maps to navigate, and yet another group might have discovered a computer vision approach that works well for recognizing small objects in clutter.
ROS was designed specifically for groups like these to collaborate and build upon each other’s work. With this, the primary goal of ROS becomes to support code reuse in robotics research and development and it is all open source! The Open Source Robotics Foundation® (OSRF) made ROS available to a wider developer community by porting ROS libraries to the ARM® instruction set architecture owing to which Snapdragon™and other ARM-based chipsets have become a lot more interesting. By enabling ROS on platforms based on Snapdragon processors, it becomes possible to have Inforce platforms as the main computing device on a robot.A simple representation of a robot for computer vision purposes is shown below.
Central in this image is an Inforce platform which is a computer running Ubuntu Linux operating system. Below the computer, the input and output devices (I/O) are grouped. Some devices can connect as is, or may be part of another computer, while other devices might require some electronics to interface with. Since Inforce platforms support Ethernet and Wi-Fi capabilities, the single computer core could just as well be 10 computers, all running the ROS framework, communicating over a network. The ROS framework would tie it all together, and these ten computers would be supporting a single virtual entity, which is what you would call ‘the robot’. The possibilities are indeed endless!
Inforce makes fully featured Ubuntu/Debian releases for all its platforms and has qualified both ROS Indigo (Ubuntu 14.x) and ROS Jade (Ubuntu 15.x) releases. Since these platforms are not meant to cater only for robotics use-cases, the onboard eMMC would not be always sufficient to run the ginormous amount of code that accompanies ROS. But an external SD card can easily be partitioned and elaborate instructions to do this have been published at this link. The link is in fact a comprehensive tutorial on how to get going with ROS on an Inforce platform based on Snapdragon 600 processor but is also applicable to platforms from Inforce based on Snapdragon 410 or 805 processors.
TurtleBot™ is a low-cost, personal robot kit with open-source software. It is possible to install ROS with TurtleBot support on an Inforce platform and control the teleoperation. Instructions for installation on a Snapdragon 410 processor based Inforce platform are available at this link. A video of the Turtlebot operating with an Inforce platform based on Snapdragon 600is available at this link.
Can you believe we’re already into the 2H of 2016?! Hope our US readers have had a great 4th of July weekend, while everyone out there is also enjoying the full tilt of summer. Welcome to Inforce Computing’s July 2016 Newsletter! In this issue of Inforce Insights, we’d like to share a couple of technical notes [thermal management methods for Inforce’s SBCs & SOMs and running Debian Linux on the Inforce 6309 Micro SBC platform], an article on emerging IoT solutions in the burgeoning asset tracking space, and an interesting customer case study on video collaboration (scroll down). In the June newsletter, we shared the news about NASA’s Astrobee embedding two of Inforce’s compute platforms in their next-gen free-flying robot—did we also mention that the Inforce 6501 Micro SOM beat five other vendor products in a bakeoff? If you missed that part, you can read the benchmarking study here and find out why.
Have a great rest of the summer. Stay safe, cool, and hydrated, and please do share your stories of building great embedded IoT products with us at firstname.lastname@example.org!
From the editorial desk at Inforce Computing.
In a previous blog, we spoke about the need for high-performance computing at the edge of the network for a video analytics IoT use-case. We will continue along the same vein in this article, but will look at the transformation happening at Industrial IoT in the asset tracking, monitoring, and maintenance marketplace. While this is an extremely broad subject with thousands of use-cases, we will make an effort to look at it from an Industrial IoT perspective with a few examples. Continue reading Asset Tracking: Industrial IoT Solutions for Improved Outcomes
Qualcomm Snapdragon 600 Processor-based Inforce Custom Single-board-computer (SBC) Drives Cloud-optimized Video Conferencing Solution for Huddle Spaces
Case Study Highlights:
- The cloud-optimized video endpoint is powered by an Inforce custom compute platform based on the Qualcomm Snapdragon 600 processor.
- Runs an Android OS and delivers HD 1080p30 video capture and playback (H.264 hardware assisted codec) as well as crystal clear audio over the network.
- LVDS-to-HDMI conversion enables simultaneous dual HD 1080p display outputs and HDMI-to-CSI conversion enables 1080p content sharing over the network via Wi-Fi or Gigabit Ethernet.
- Inforce’s custom product development services help pass stringent tests required for UL and FCC certifications and bring the production design to volume manufacturing.
Inforce recently enabled a customer in the enterprise cloud-optimized video endpoint market with a custom single board computer (SBC). The Inforce SBC is based on the Qualcomm® Snapdragon™ 600 processor. The long lifecycle Snapdragon 600 processor features quad-core 1.7GHz CPUs, Qualcomm® Adreno™ 320 GPU, Qualcomm® Hexagon™ DSP v4, and an integrated Image Signal Processor. It delivers energy efficient heterogeneous compute resources demanded by high-performance applications such as video collaboration. Continue reading Case Study: Inforce Computing’s Custom Design Powers a Cloud-optimized Video Collaboration Device
Mobility and connectivity has changed our lives in many astonishing ways from how we play to how we work, and now it is actually saving lives. FUJIFILM SonoSite® has leveraged the Inforce 64XX™ system on module to build a portable ultrasound machine, iViz™, to be used in remote locations where people are in need of medical attention such as ambulances, battlefields, emergency rooms, or even in the hands of a midwife. Continue reading FUJIFILM SonoSite iViz designed with Inforce 64XX SoM
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  and replace a legacy and older free-flying robot.
Challenges in building the Astrobee avionics
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 . As seen in the block diagram in Figure-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 Continue reading Inforce 6501 Micro SOM Beats Five Other Vendor Products in a Bake-off
Welcome to Inforce Computing’s June 2016 Newsletter! In this issue of Inforce Insights, we’d like to share a couple of useful technical application notes and two exciting customer case studies (scroll down). What does enabling 3D printing, computer vision, video analytics, and space-bound free-flying robots have in common? All of these are powered by advanced Qualcomm® Snapdragon™ processor-based Inforce Computing platforms [SOMs and SBCs]. Moreover, Inforce’s value added software and hardware design assistance services have complemented and accelerated product development in these cases. Continue reading Inforce Insights June 2016: Vol.2 Issue 3–the Newsletter of Inforce Computing
NASA Astrobee Robotic Free Flyer: International Space Station, Here We Come!
NASA Ames Intelligent Robotics Group picks the Inforce 6501™ Micro SOM for both the middle-level processor (MLP) and the high-level processor (HLP) platforms due to its strict SWaP and high-performance requirements. Continue reading NASA Astrobee Robotic Free Flyer Powered by Dual Inforce 6501 Micro System-On-Modules (SOM)