Hardware Acceleration WG, meeting #2

Hello everyone,

Last June we held the first HAWG meeting with about 30 participants across organizations who joined us to learn and share experiences on how to create faster ROS 2 applications (again, note HAWG targets initially real-fast, as opposed to real-time) while powered by FPGAs and GPUs. If you couldn’t make it last time, check the recording and the minutes.

Over the last couple of months, our team at Xilinx has been working hard to deliver on the goals we committed back while creating the WG (link). We’ve made huge progress and after reaching what looks like the last steps of internal legal approvals :sleepy: :tired_face:, over the comming weeks, we will be releasing in the HAWG GitHub organization various ROS 2 packages that provide fulfillment on goals #1 and #2. Moreover, following the requests submitted by some of you, we’ve added a new instant messaging chat in Matrix and backlog management using GitHub Projects that I’ll try keeping up to date. A few handy links for those of you following with the progress and/or willing to interact and contribute:

ROS 2 Hardware Acceleration Working Group (HAWG) resources

To review the progress, provide more demonstrations and push the conversation further, I’m happy to call with enough time in advance for the second HAWG meeting. This second meeting will be held the 29th of September where we will review the open architecture for hardware acceleration that Xilinx contributed. Particularly, we will do so by studying step-by-step a simple use case wherein a robotics architect is trying to optimize the computation being performed in a ROS 2 node to publish the result of such computation at 10 Hz. Building upon the examples of the first meeting, we will demonstrate how hardware acceleration in FPGAs allows everyone in this community to build specialized robotic circuitry to empower faster ROS 2 Nodes. In particular, we’ll show step by step how to optimize the computations and create a pipelined dataflow using ament_acceleration and colcon_acceleration ROS 2 packages, with only minor changes in the C++ source code and a new entry in the CMakeLists.txt file to define the new acceleration kernel.

In addition, in this second meeting we will have an extra 30 minute discussion with two special guests: Christian Lienen and Marco Platzner from Paderborn University researching on reconfigurable computing and parallel architectures. They will tell us about their work around ReconROS (latest pre-print article here) which allows to build hardware ROS 2 nodes and integrate hardware acceleration in a variety of different schemes using FPGAs.

The second meeting is thereby scheduled to be 60 minutes at a friendly time in America, late afternoon in Europe and horribly bad time in Asia .We’ll be rotating friendly-hours between America and Asia if anyone requests us to do so (nobody did so far, but I’m paying attention). Coordinates for the meeting:

  • Time: 2021-09-29T18:00:00Z
  • Coordinates:
    Zoom
    • Phone one-tap: US: US: +17209289299,94542052613#,0#,0409261674# or +19292056099,94542052613#,0#,0409261674#
    • Meeting URL: Zoom URL
    • Meeting ID: 945 4205 2613
    • Passcode: =.EBjR.1%h
  • Preliminary agenda:
    1. Welcome and newcomers intro
    2. Recap of ROS 2 Hardware Acceleration WG progress, quick review of objectives and acceleration avenues
    3. Short discussion of the REP-2008 PR
    4. Adding new boards to the HAWG architecture progress
    5. Use case: robotics architect creating an accelerator for a faster ROS 2 publisher
    6. ReconROS, reconfigurable computing and parallel architectures in ROS 2
    7. Q&A
4 Likes

Prior to next organized session and for those of you looking to learn more about how hardware acceleration fits with ROS 2 and Gazebo to speed them up, check out Xilinx Adapt event. We’ll be offering two talks on ROS:

Bringing Adaptive Computing To Robotics
Building a robot requires one to carefully select components that exchange information across networks while meeting timing deadlines. In a way, a robot is a network of networks. One that comprises sensors to perceive the world, actuators to produce a physical change, and dedicated computational resources to process it all and respond coherently, in real-time, according to its application, and in a secure manner. Building a robot is thereby very close to an art, the art of system integration. This talk introduces a complete integrated set of utilities to accelerate the development and maintenance of industrial-grade robotic solutions using Xilinx’s Kria™ Adaptive SOMs portfolio, bridging between the world of roboticists and the world of Xilinx. Víctor will start describing what the roboticists mindset looks like, what are the tools used, and the usual problems encountered. He’ll then provide a quick literature review and describe the benefits and hurdles in the adoption of FPGAs and adaptive SoCs in robotics. Following that, he’ll present a Xilinx solution that allows roboticists to easily create accelerated robotic applications, empowering faster, secure and more robust behaviors. It builds on top of past Xilinx work, including the Xilinx Runtime (XRT), C++ and Open CL integrations, industrial communication IP cores, and more. This knowledge will help existing Xilinx customers get started with the solution while providing reference designs and architectures to help roboticists kick-start their new projects. Víctor will also explain how the solution is built around ROS, the de facto standard for robot application development, and wrap up by presenting some results.

ROS 2 Acceleration
As the leading framework for robot application development, the Robot Operating System (ROS) has become the de facto standard in robotics. Most roboticists these days use ROS to create robots, from Autonomous Mobile Robots (AMRs) to industrial robotic arms, going all the way to automotive. ROS is the present and the future of robotics. This talk presents Xilinx’s work on accelerating ROS 2. Víctor will describe how adaptive computing can be integrated in ROS 2 and how Xilinx is contributing to the ROS community driving the hardware acceleration efforts at the Hardware Acceleration Working Group (HAWG).

Through practical examples, Víctor will analyze some of the main bottlenecks that roboticists encounter while building their computational graphs and introduce how his team’s work is helping leverage hardware acceleration in ROS 2 packages seamlessly in combination with HLS. The result is that accelerating (or offloading to the FPGA) ROS nodes becomes as easy as re-compiling ROS workspaces, no hardware expertise needed. Víctor will also present results and benchmarks of the impact of acceleration in ROS 2. He’ll also show comparisons across different edge devices and reproducible results that show evidence on why Xilinx’s adaptive SOMs are the best edge compute substrate to build secure, reconfigurable, and adaptive robots with ROS 2.

The complete agenda is available in here.

That shall be exciting. Nice to meet you then, my name is Yuda, CEO of NProcessor. This is very relative to our CORA project. Maybe we can have a talk, and I will show you some demos.

Welcome to the community @redpanda3, I’d be happy to hear more about CORA project and how that relates to our effort here. Feel free to post them here, or PM me with details.

Let’s try and figure it out a) how/what you could contribute to the WG, and b) whether we could have have some demonstrations of your technology in upcoming sessions.

I’ve sent you the email.

1 Like

Updated the agenda above, will cover briefly and shortly the REP-2008 RFC - ROS 2 Hardware Acceleration Architecture and Conventions.

Another short update: we published a white paper further motivating the importance of the extensions proposed to ROS 2 ament build system. Paper’s available at REP-2008 RFC - ROS 2 Hardware Acceleration Architecture and Conventions - #4 by vmayoral

We probably won’t have lots of time to discuss these extensions in detail during the meeting, but I’m happy to clarify any questions and/or receive contributions directly at ament_vitis public repo.

1 Like

For those following this thread and looking to join the next HAWG meeting, the following paper we released might be of interest: the Kria Robotics Stack, a ROS 2-centric Approach for Hardware Acceleration in Robotics.

I just saw this post from NVIDIA. Looks inline with the charter of the HAWG. Is there anyone in the thread that works for/with NVIDIA that could shed light on possible commonalities?

1 Like

@vmayoral I am unable to download the whitepaper (WP540) from the Xilinx site due to 404 error. I get the error after the registration process (where provides name, country, affiliation etc.).

Sorry about this @anamud, I’m not allowed to share it publicly but I’ll PM you and facilitate it that way.

1 Like

First, kudos on NVIDIA for supporting Open Robotics and the ROS community. This addresses some of the concerns raised in the past while discussing GPUs. Also, I’m hoping this is the first of many groups that sponsor Open Robotics and help them continue making ROS great.

@Joe_Dinius I agree there’s a nice alignment and we should try cooperating. We (Xilinx) and NVIDIA held previous meetings in the past and discussed those things that interest us both. There’s common understanding on some topics which are centric to the current architecture of ROS (such as the CPU-centric approach that avoids optimizing dataflow in computational graphs without rewriting packages), having Open Robotics contributing to this will help. REP-2008 RFC - ROS 2 Hardware Acceleration Architecture and Conventions is an attempt to find common ground on some aspects, while keeping interoperability across hardware solutions. We’ll be touching this next week briefly.

Since we’re having the meeting in just a few days and this question will pop up, It’d be nice for the folks at Open Robotics (@Katherine_Scott, @gerkey, @tfoote) and NVIDIA (@Hemal_Shah, @ak-nv) to clarify how this effort is going to align with HAWG.

Can someone comment on this?

+1 - common ground on some aspects, while keeping interoperability across hardware solutions. Looking forward to what positive things come from this collaboration.

1 Like

Reminder everyone, meeting is 2021-09-29T18:00:00Z. We’ll be having this time a 1 hour discussion with a 30 minute speech from Christian Lienen and Marco Platzner from Paderborn University researching on reconfigurable computing and parallel architectures.

Meeting will be recorded for those of you that can’t make it but I encourage you to participate and share your project around hardware acceleration.

Here’s the recording, the minutes and the slides.

0:00 Welcome and agenda
02:57 Recap of ROS 2 HAWG progress - resources
05:03 Recap of ROS 2 HAWG progress - architecture
06:06 Kria Robotics Stack (KRS)
10:22 Adding new boards to the HAWG
14:30 ROS 2 hardware acceleration use case, a simple publisher acceleration
21:00 ReconROS, flexible hardware acceleration for ROS 2 applications
46:50 Q&A

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.