Home  >  Article  >  Technology peripherals  >  How to Simplify Hardware Acceleration of Robots Using ROS 2

How to Simplify Hardware Acceleration of Robots Using ROS 2

王林
王林forward
2023-04-09 16:01:111107browse

Translator | Li Rui

Reviewer | Sun Shujuan

When developing robots, system integration often takes up most of the project resources, which is more important than developing the final application. . With the emergence of low-end industrial collaborative robots, there have been software developers focused solely on developing software that runs on existing hardware. However, there is a crucial relationship between a robot's hardware and software capabilities. Design control over computing hardware needs to be retained to create more professional, energy-efficient, safe, and high-performance robots.

How to Simplify Hardware Acceleration of Robots Using ROS 2

Hardware Challenges and Software Skills Robotics experts must overcome the obstacles faced by hardware if they hope to deliver the better, faster robots that the future will demand. In the post-Moore computing world, upgrading hardware to adopt the latest generation of microprocessors will not deliver the desired application performance upgrades. Its path forward no longer lies in waiting for the latest chip. Hardware acceleration is often the only way to achieve the necessary gains.

This hardware challenge complicates the work of developers in disciplines such as robotics, whose skills are often biased toward developing software. This means they must face the prospect of designing adaptive computing hardware if they are to meet market demand for new industrial robots. Businesses using robots to increase productivity in areas such as production lines and warehouses are looking for devices that offer additional flexibility, finer position control, superior vision-based capabilities, improved data capture and lower power consumption.

The main principle of robotics hardware acceleration is that, unlike traditional control-driven approaches, a hybrid control and data-driven approach to software development allows teams to design custom computing architectures that allocate the optimal amount of hardware to the application resource.

In terms of implementation, a heterogeneous computing model is required. This takes advantage of CPUs and GPUs, which excel at control flow calculations, while leveraging the strengths of FPGAs to handle data flow calculations. This approach provides both flexibility and full control over the CPU/GPU to implement complex calculations with low power consumption, high performance, low latency and the determinism of hardware acceleration. Various vendors are now offering adaptive system-on-chip (SoC) and system-on-module (SOM) devices, such as the AMD-Xilinx Kria™ SOM and its associated Kria robotics stack, that offer the benefits of this hybrid computing model. This table compares these different models.

How to Simplify Hardware Acceleration of Robots Using ROS 2Adaptive systems on chips (SoCs) and system-on-modules (SOMs) allow robotics experts to build machine behavior by programming the architecture that creates the correct data paths and control mechanisms. However, sophisticated engineering skills are required to program such architectures using established tools and techniques.

Roboticians lack the appropriate hardware and embedded design expertise and are accustomed to building behaviors in the form of computational graphs to solve current robotic tasks. They often use C to create complex real-time deterministic systems through advanced software engineering practices.

Built on Robot Operating System (ROS)

A different approach is now needed to help roboticists take advantage of available hardware acceleration technology. Ideally, this approach should let them create custom hardware in a familiar development environment (such as ROS) and simulate it using familiar tools (such as Gazebo).

ROS is the de facto industry standard for robotics application development, even more so since the advent of ROS2 in 2020. This has become the default software development kit (SDK) for robotics applications across industries, with many groups now using ROS and Gazebo.

Previous initiatives to integrate adaptive computing into ROS have addressed this challenge from a hardware engineer's perspective. They assume that users have previous experience with embedded and hardware flows and are therefore familiar with concepts such as RTL, HDL, and HLS and the design tools used to operate them. Likewise, deploying to embedded targets requires some understanding of Yocto, OpenEmbedded, and related tools.

Understanding that most robotics experts do not come from this background, the ROS2 Hardware Acceleration Working Group (HAWG) is taking a ROS-centric approach to integrating embedded processes directly into the ROS ecosystem. It aims to provide an experience similar to what roboticists enjoy when building a ROS workspace in a desktop workstation.

HAWG’s work builds on published research on optimizing ROS computational graphs to take advantage of adaptive computing, as well as recommendations on tools and methods for accelerating parts of graphs in programmable logic. Beyond this, HAWG is now proposing an architecture (pictured below) that focuses on familiar languages ​​like C and OpenCL.

##

ROS 2 and HAWG stack together facilitate hardware acceleration

The proposed architecture is platform-agnostic and therefore suitable for edge facilities, workstations, data centers or cloud computing platforms, and technology-agnostic to allow targeting FPGA, CPU and GPU and easily ported to various modules and motherboards.

Ultimately, this work should enable most robotics experts to take advantage of the opportunities of hardware acceleration to implement the next generation of advanced and complex robots.

Original title: Simplifying hardware acceleration for robots with ROS 2, author: Ben Dickson

The above is the detailed content of How to Simplify Hardware Acceleration of Robots Using ROS 2. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:51cto.com. If there is any infringement, please contact admin@php.cn delete