TL;DR: The ROS 2 Technical Steering Committee has given their approval on REP 2008 to move forward as a draft provided a majority of the ROS 2 Hardware Acceleration Working Group is happy with it and asked to conduct a formal vote on the existing submission. Vote will be conducted in the next Hardware Acceleration Working Group meeting, number #13 happening next 2022-12-13T16:00:00Z. Encouraging everyone to re-read REP 2008. We will hold a brief discussion and Q&A session before the vote.
The ROS Enhancement Proposal (REP) 2008 describes the architectural pillars and conventions required to introduce hardware acceleration in ROS 2 in a vendor-neutral, scalable and technology-agnostic manner.
This comes after more than a year of work aligning the ROS community and silicon vendors interests (first commit from Aug. 24th 2021). Previous discussions include:
- Proposal for ROS 2 Hardware Acceleration Working Group (HAWG)
- REP-2008 RFC - ROS 2 Hardware Acceleration Architecture and Conventions
- REP 2008 feedback, round 2
Main objectives of the document are summarized below:
This REP describes the architectural pillars and conventions required to introduce hardware acceleration in ROS 2 in a vendor-neutral, scalable and technology-agnostic manner.
Value for stakeholders:
Package maintainers can use these guidelines to integrate hardware acceleration capabilities in their ROS 2 packages in an accelerator-agnostic manner.
Consumers can use the guidelines in the REP, as well as the corresponding benchmarks of each accelerator (if available), to set expectations on the hardware acceleration capabilities, ease of use and scalability that could be obtained from each vendor’s hardware acceleration solution.
Silicon vendors, OS suppliers and hardware solution manufacturers can use these guidelines to connect their accelerators and firmware (including frameworks, tools and libraries) to the ROS 2 ecosystem. By doing so, they will obtain direct support for hardware acceleration in all ROS 2 packages that support it.
The outcome of this REP should be that maintainers who want to leverage hardware acceleration in their packages, can do so with consistent guidelines and with support across multiple hardware acceleration technologies (FPGAs and GPUs initially, but extending towards more accelerators in the future) by following the conventions set. This way, maintainers will be able to create ROS 2 packages with support for hardware acceleration that can run across accelerators. In turn, as silicon vendors add support for their technologies and accelerators, ROS 2 packages aligned with this REP will automatically gain support for these new accelerators.
The guidelines in here provide a ROS 2-centric open architecture for hardware acceleration, which silicon vendors can decide to adopt when engaging with the ROS 2 community.
Refer to the full text for more.
What does this mean for you:
- If a majority votes favourably, REP 2008 PR will become an official ROS standard and would help guide silicon vendors and accelerator manufacturers on how to engage with the ROS community for ease of use. This means that there will be an easy way to consistently switch between
accelerator_B(FPGAs, GPUs, etc.) for various ROS tasks (build, deploy, manage acceleration kernels, etc).
- This would be the first non-TSC driven ROS community standard and proof of the fact that the community’s view weight remains.
- Once approved as a draft you can still influence it. In fact, anyone could submit a PR against it with improvements and/or additions. You can expect the HAWG to be involved reviewing any future contributions but it’ll be up to REP maintainers to accept/reject them (and not up to the HAWG).
The Hardware Acceleration group will vote on it next December 13th during the upcoming meeting. Encouraging everyone to re-read REP 2008. We will hold a brief discussion and Q&A session before the vote.