Accelerating Robotics Development Through Software-Hardware Optimization
22 Oct 2021 |
IN-6320
Log In to unlock this content.
You have x unlocks remaining.
This content falls outside of your subscription, but you may view up to five pieces of premium content outside of your subscription each month
You have x unlocks remaining.
22 Oct 2021 |
IN-6320
Robotics and Hardware Acceleration |
NEWS |
One of the aims of the robotics industry is to develop robots that can take over many of the menial and often-unsafe tasks humans would rather not do. This requires developing autonomous robots, which is often easier said than done. Part of the problem is intrinsic to robot design. As a system of systems involving sensors, actuators, and processing units, a robot presents a rather complex and time-consuming case of system integration. A robot, after all, is a highly specialized system in which the relationship between software and hardware is critical. And, considering that the field of robotics is rather software-centric and as such roboticists are not hardware engineers, it is perhaps unsurprising that development has sometimes been slow. A recent tide of well-established industrial companies applying open standards to accelerate hardware development aims to change this.
Decelerating Complex System Integration |
IMPACT |
Hardware acceleration is the process of employing specialized hardware components to carry out specific computational tasks, an approach that is contrasted to the programming of software on a general-purpose central processing unit (CPU). A more efficient way to compute specialized functions, so-called adaptive computing, which involves the programming of an architecture rather than a CPU, has not been widely employed in robotics. In order to remedy this situation, and to accelerate hardware development to boot, a number of companies are adapting some of their computing platforms to ROS, the Robot Operating System, an open-source middleware suite that is the de-facto standard in robotics. Launched in 2007 and updated in 2017 with the release of ROS 2, ROS is designed to be language- and platform-agnostic, enabling for a smooth transition from research to application.
Thus, we find Xilinx and their recently formed Hardware Acceleration Working Group, focused on putting together hardware acceleration kernels in the form of Field-Programmable Gate Arrays (FPGAs) within a ROS 2 ecosystem, thereby allowing for the creation of software-defined hardware for robots that is both platform- and technology-agnostic. To this end, Xilinx offers CPUs with an FPGA in the same System-on-Chip (SoC), with the aim to map applications directly onto FPGAs (this is what is meant by software-defined hardware). This will be done by using the computational graphs that ROS 2 uses so that developers can generate acceleration kernels based on open standards (namely, C++ and OpenCL) to create their own hardware purely from software.
Thus we find, moreover, MOV.AI’s launch of its Robotics Engine Platform. As the latest version of the MOV.AI software, this platform is based on ROS and allows non-experts to select the functionality they require for their robots and adapt it to their software. Aimed at developing Autonomous Mobile Robots (AMRs), the platform provides a visual, ROS-based integrated development environment, a variety of simulation tools, and advanced algorithms such as 3D Simultaneous Location and Mapping (SLAM)—relatedly, SLAMcore has recently announced the full compatibility of their spatial intelligence software development kits with ROS 2. MOV.AI aims to provide all that is needed to build, deploy, and operate intelligent robots, thus complementing and augmenting ROS so that enterprise meets can be met.
In a different but related direction is the recent announcement of the collaboration between NVIDIA and Open Robotics (the primary maintainer of ROS) to adapt ROS to the NVIDIA’s Jetson range, a series of embedded computer boards aimed at accelerating Artificial Intelligence (AI) applications, especially edge and embedded systems. As an attempt to make ROS less CPU-centric and therefore more amenable to hardware accelerators, this collaboration will help developers incorporate machine vision as well as broader machine learning functionalities into ROS-based applications. In particular, these tools should improve the performance of applications that process high-band data such as sensors, which are widely employed systems in robotics. Though this agreement will offer ample interoperability between Open Robotics and NVIDIA applications (for instance, between their respective robot simulators), it will not curtail other collaborations, a consequence of the open standards Open Robotics espouses.
A More Commercially Integrated ROS |
RECOMMENDATIONS |
ABI Research has covered ROS before (AN-2529), emphasizing its versatility and adaptability and pointing out that its wide adoption has greatly improved the previous slow pace of software development in robotics. ABI Research has also predicted that by 2024 nearly 55% of all commercial robots will use at least one ROS-based package, a trend that might well accelerate given these events.
One of the points that ABI Research has also made about ROS, however, is that open-source endeavors are not typically commercially minded and, thus, not always applicable to industry. This has changed with the release of ROS 2, not to mention ROS-Industrial, a project that extends ROS to industrial applications. Nonetheless, more active participation of well-established industrial companies is still required to bring about ROS-centric hardware acceleration. ABI Research is confident that recent developments will result in ready-to-use tools and applications for robot design at scale, some of which are already available.
The collaboration between Open Robotics and NVIDIA will be particularly important for robotics. Machine vision is central to robotics and many roboticists in fact use NVIDIA’s AI applications in their robots to compute visual information. NVIDIA has released a number of Global Positioning Unit (GPU)-accelerated libraries and will continue to release additional libraries in a phased manner. The accelerated ROS framework from this collaboration, in particular, will be available next year. ABI Research predicts that the availability of these tools will make NVIDIA a leader in robotic computer vision systems as the go-to provider. On a more general note, the close collaboration between NVIDIA and Open Robotics ought to bode well for the better integration of ROS into more commercially minded enterprises. In fact, it is expected for more companies and vendors to approach Open Robotics in order to establish additional partnerships.
That being said, it is undeniable that these very developments are also the result of a shortage in expertise, which ought to be of some concern. While the advent of software-defined hardware will provide real advances in the short term, in the long run there may be diminishing returns with this approach, much as the field of deep learning is currently attesting (barring new techniques, which are not easy to develop in any case). Ideally, there would be more investment in areas that require experts from different fields and that are moreover resource- and time-intensive. Robotics is clearly a case in point. Such investment would benefit from a collaboration with public research centers and institutions as well, certainly to be conducted in parallel with new developments in software-based hardware acceleration, and all this put together should serve the needs of industry more adequately.