Robotic Processing Unit and ROBOTCORE

Just echoing ROS 2 TSC Meeting Minutes: 2022-9-15 - #2 by vmayoral, but of special relevance for the case of both the Robotic Processing Unit and ROBOTCORE (since they pack various accelerators):

I’m happy to report that following ROS 2 TSC feedback, REP-2008 has been significantly rewritten to capture the input provided. For those not familiar with it, REP-2008 proposes a ROS 2 Hardware Acceleration Architecture and Conventions which allow extending ROS 2 workspaces to support hardware acceleration capabilities, across various accelerators, and while abstracting away the complexity and maintaining a ROS-centric development flow. Main changes in REP-2008 include:

  • removed categories and capabilities
  • removed completely benchmarking, pushed into REP-2014, now on its own REP PR, as suggested.
  • significant rewriting of the intro and motivation as suggested. Tried capturing things at a higher level.
  • renamed ament_acceleration to ament_hardware_acceleration
  • expanded on the proposed open architecture, on its pillars and further explained its value. Also rewrote the specification section, to make sure its comprehensive and quick to understand.
  • re-organized kernel levels in the document, they’re introduced earlier (and hopefully with better context)
  • removed all mentions to CI

You can read the latest version after the changes here with a rich text format. Input’s more than welcome. What this effectively mean for the projects discussed in here is that you can build acceleration kernels for the various accelerators packed while maintaining a ROS 2-centric development flow and as easy/simple as:

# build accelerators of package_1 for the GPU
colcon build --mixin robotcore_gpu --packages-select package_1

# build accelerators of package_1 for the FPGA
colcon build --mixin robotcore_fpga --packages-select package_1
1 Like