ROS 2 Hardware Acceleration Working Group 2023 summary and new directions for 2024

Happy new year all,

Hardware acceleration usage continue to grow across the ROS community and the robotics industry. The Hardware Acceleration Working Group (HAWG) continued growing significantly during 2023. Altogether, that is 3 years of continued work and growth (2021, 2022).

Key milestones of HAWG
Year Objective
21 :white_check_mark: 1) Design tools and conventions to seamlessly integrate acceleration kernels and related embedded binaries into the ROS 2 computational graphs leveraging its existing build system (ament_acceleration extensions) [1], meta build tools (colcon-acceleration extension) and a new firmware layer (acceleration_firmware) [2].
21 :white_check_mark: 2) Provide reference examples and blueprints for acceleration architectures used in ROS 2 and Gazebo.
21 :white_check_mark: 3) REP-2008 (ROS 2 Hardware Acceleration Architecture and Conventions) first draft proposed PR
22 :white_check_mark: 4) Facilitate testing environments that allow to benchmark accelerators with special focus on power consumption and time spent on computations (see HAWG benchmarking approach, community#9, tracetools_acceleration, ros2_kria)
22 :white_check_mark: 5) Survey the community interests on acceleration for ROS 2 and Gazebo (see discourse announcement, survey, result).
22 :white_check_mark: 6) Produce demonstrators with robot components, real robots and fleets that include acceleration to meet their targets (see acceleration_examples).
22 :white_check_mark: 7) Acceleration of complete ROS 2 computational graphs Methodology for ROS 2 Hardware Acceleration · Issue #20 · ros-acceleration/community · GitHub
22 :x:[3] 8) Merge first hardware accelerators (kernels) into upstream packages (candidate: image_pipeline, see image_pipeline instrumented at #717 )
22 :white_check_mark: 9) Documentation and a “methodology to hardware accelerate a ROS 2 package” (see #20)
22 :x:[4] 10) Organize workshops on robotics and ROS 2 Hardware Acceleration
22 :construction: 11) Robotic Processing Unit, first demonstrators #25
22 :white_check_mark: 12) REP-2008 (ROS 2 Hardware Acceleration Architecture and Conventions) accepted as an official standard
22 :white_check_mark: 13) REP-2014 (Benchmarking performance in ROS 2) first draft proposed PR
23 :white_check_mark: 11) REP-2014 (Benchmarking performance in ROS 2), PR finalized and submitted. Unfortunately it got rejected without technical argumentation ( :fire: heated discussion)
23 :white_check_mark: 14) More vendor support. Intel Quartus and oneAPI ecosystems enabled with the ROS 2 Hardware Acceleration Stack [5]
23 :x: 15) Robotics MCU #31 milestone 1 [6] Instead, worked on an RTL-native FPGA-based ROS 2 implementation for High-Speed Networking: ROBOTCORE ROS 2
23 :white_check_mark: 16) RobotPerf benchmarks
23 :construction: 17) Robotic Processing Unit, first demonstrators #25
24 :construction: 17) Robotic Processing Unit, first demonstrators #25
24 :construction: 18) New ROS-related network accelerators that build upon the FPGA-native ROS 2 message-passing infrastructure
24 :construction: 19) Evolve RobotPerf and expand it. Include new benchmark categories and other communities

Having accomplished most of the initial objectives of the working group when created back in 2021, and having supported multiple silicon vendors (Intel added last year) as part of the The ROS 2 Hardware Acceleration Stack, the working group will focus next on three objectives: the first objective is to continue working on demonstrators and case studies. We generated very exciting results within 2023 that we’ll expand during the next year and hopefully disclose publicly. The second objective will be to build upon the success[7] of the reference FPGA-based ROS 2 implementation for High-Speed Networking and explore other network accelerators. Some ideas include bridging between other communication middlewares or even pushing the speed of networking interactions faster. The third objective is to evolve the RobotPerf project, which attracted quite a few contributors already (see RobotPerf paper). Subgoals here would be to create more benchmark releases, add new benchmarking categories (with their corresponding benchmark implementations) and ultimately, expand the project to other communities which could benefit from it, all while remaining ROS-centric.

Happy to get feedback and/or coordinate contributions from others. Altogether, the objectives for the coming year so far look as follows:

Year Objective
24 :construction: 17) Robotic Processing Unit, first demonstrators #25
24 :construction: 18) New ROS-related network accelerators that build upon the FPGA-native ROS 2 message-passing infrastructure
24 :construction: 19) Evolve RobotPerf and expand it. Include new benchmark categories and other communities

Complete 2023 report available here.


  1. See ament_vitis ↩︎

  2. See acceleration_firmware_kv260 for an exemplary vendor extension of the acceleration_firmware package ↩︎

  3. Did not get buy-in from maintainers. Stopped the effort. ↩︎

  4. Discarded for ROSCon and IROS. Lots of work. ↩︎

  5. Reach out for more information about Intel’s enablement extensions of the ROS build system and build tools. ↩︎

  6. After months of work, given preliminary results and expectations derived from those, we decided to pivot elsewhere and wrap the Robotics MCU project. Shortly, the performance obtained in RISC-V soft-core based ROS 2 implementations explored was not bringing much value on top of existing CPU implementations of ROS 2. Instead, we invested resources in exploring an FPGA-based ROS 2 implementation for High-Speed Networking. ↩︎

  7. Our RTL implementation of the ROS 2 message-passing infrastructure can send or receive small ROS 2 messages in less than 2.5 us (one-way) and establish a round-trip communication within 5 us, accelerating average networking by more than 62x when compared to traditional software implementations on CPUs. When considering maximum latencies, our RTL implementation does Thousands-Fold (4540x) faster in these worst case scenarios than software ROS 2 implementations in modern CPUs. ↩︎

2 Likes