The process of creating optimized, hardware specific, compute architectures can be time consuming and complex. The ROS 2 Hardware Acceleration Working Group (HAWG) is working to simplify hardware acceleration engineering tasks by creating acceleration kernels based on open standards.
First published at https://www.roboticsbusinessreview.com/opinion/ros-2-simplifies-hardware-acceleration-for-robots/
A robot is a network of networks. One that utilizes sensors to perceive the world, actuators to produce a physical change, and dedicated computational resources to process it all and respond to events in a coherent, timely manner. As such, robotics development is largely the art of system integration, both in terms of software and hardware, with a significant portion of robotics development resources dedicated to systems integration efforts.
With the wide availability of low cost, highly functional, collaborative robots, many companies are focusing solely on creating software for these systems, building on top of the hardware of others. In time, many of these companies have discovered that a critical relationship exists between the hardware and the software capabilities in a robot. Furthermore, it is essential to select hardware that simplifies system integration, as well as meets power requirements and adapts to the changing demands of specific robotic applications.
Hardware Acceleration
As semiconductor improvements have slowed below the pace predicted by Moore’s law, robotics developers have turned to other methods to achieve higher performance, including the use of hardware accelerators. By creating specialized compute architectures that rely on specific hardware (i.e., through field-programmable gate arrays or FPGAs), hardware acceleration empowers faster robots, with reduced computation times (real fast, as opposed to real-time), lower power consumption and more deterministic behaviors.
Mixed Control and Data
With hardware acceleration, the traditional control-driven approach for software development in robotics can instead be replaced with a mixed control- and data- driven process where custom compute architectures allocate the optimal amount of hardware resources for an application. This allows for more specialized, power-efficient, secure and higher performance robotic circuitry. To rephrase Alan Kay’s famous quote about software development (“People who are really serious about software should make their own hardware.“):
if you are serious about robotics, you should build your own hardware at one or multiple levels, including the computational, mechanical and behavioral levels.
With hardware acceleration and adaptive SoCs and SOMs, building robotic behaviors involves programming an architecture that creates both the right data paths and control mechanisms.
Mixed Computation
Table above compares the different computational models in robotics that illustrates how the Mixed model provides the best trade-off between that various control and data driven approaches. CPUs and GPUs excel in control flow computations, while FPGAs excel in data flow computations.
Various adaptive System-on-Chips (SoCs) and System-on-Modules (SOM) devices available from multiple vendors provide the best of both worlds for the Mixed computational model. It is an approach for robotic computation that delivers the best of both worlds, the flexibility and full control of CPUs to implement complex computations, with the low power, high performance, low latency and deterministic nature of hardware acceleration. Examples include adaptive SoCs and SOMs from vendors such as AMD, Xilinx, MicroChip Technology and Qualcomm, among others.
With hardware acceleration and adaptive SoCs and SOMs, building robotic behaviors involves programming an architecture that creates both the right data paths and control mechanisms.
HW Expertise a Gating Factor
With this new batch of SoCs, hardware acceleration has the potential to revolutionize the robotics sector in the coming years. Unfortunately, there is a caveat – complexity. The process of creating specialized compute architectures for robots using a Mixed computational model is complex, often exceeding the engineering skills of robotics developers.
Utilizing advanced software engineering practices, roboticists can build complex real-time deterministic systems using languages such as C++. But, these developers often lack hardware and embedded systems expertise, which can hinder the adoption of hardware acceleration technologies.
Since 2020, and especially with the introduction of ROS 2, ROS has become the default Software Development Kit (SDK) for robotic applications across many industries.
Robot Operating System
To address this challenge and simplify hardware acceleration for roboticists, companies like Xilinx are focusing on Robot Operating System (ROS) and Gazebo. ROS is an open-source collection of software frameworks and tools, is the de facto standard for robotics software development.
Since 2020, and especially with the introduction of ROS 2, ROS has become the default Software Development Kit (SDK) for robotic applications across many industries. Most groups are using ROS and the simulation tool Gazebo in some way.
Rather than reinventing the wheel with new tools, frameworks and/or platforms to bridge the hardware acceleration complexity gap among robotics architects, Xilinx and others are leveraging the power of ROS 2. Organizations like the ROS 2 Hardware Acceleration Working Group (HAWG) have been created, with initial objectives and goals announced publicly (proposal, working group announcement) and an open architecture developed. The architecture proposed aims to be platform-agnostic (for edge, workstation, data center and/or cloud targets), technology-agnostic (FPGAs, CPUs, and GPUs) and easily portable to other boards.
Hardware Acceleration via ROS 2
The process of creating optimized, hardware specific, compute architectures for robotics systems can be time consuming and complex, and can act as a gating factor for continued robotics innovation. Companies, associations and others are working hard to simplify and speed the process.
The work of the ROS 2 Hardware Acceleration Working Group – namely, driving the development of acceleration kernels for ROS 2 and Gazebo – holds much promise. ROS is an open standard that has been widely embraced by the robotics development community, including, with the introduction of ROS 2, a growing number of commercial and industrial robotics systems developers.