Home > Article > Technology peripherals > How to Simplify Hardware Acceleration of Robots Using ROS 2
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.
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.
Adaptive 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)
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!