ROS 2 Humble Hawksbill Released!

Cheers on the Humble release :tada: :partying_face:! The team at Acceleration Robotics and the Hardware Acceleration Working Group is proud to have contributed to bring the following capabilities to Humble:

Hardware Acceleration in ROS 2


    ROS 2 stack         Hardware Acceleration Architecture @ ROS 2 stack

    +-----------+          +---------------------------+
    |           |          |   acceleration_examples   |
    |user land  | +-----------------+------------------+--+-----------------+
    |           | |     Drivers     |     Libraries       | Firmware |Cloud |
    +-----------+ +-----------------+-+-------------------------+-----------+
    |           | | ament_1| ament_2  |                   |     |    |      |
    |           | +---------------------------------------+ fw_1|fw_2|cloud1|
    | tooling   | | ament_acceleration|colcon_acceleration|     |    |      |
    |           | +---------------------------------------------+-----------+
    |           | |    build system   |  meta build       | firmware | cloud|
    +-----------+ +--------+----------+-------+-----------+-+--------+--+---+
    |    rcl    |          |                  |             |           |
    +-----------+          |                  |             |           |
    |    rmw    |          |                  |             |           |
    +-----------+          +                  +             +           +
    |rmw_adapter|       Pillar I          Pillar II    Pillar III   Pillar IV
    +-----------+

(more at REP-2008 PR - ROS 2 Hardware Acceleration Architecture and Conventions)

  • ament_acceleration: CMake macros and utilities to include hardware acceleration in the ROS 2 build system (ament) and its development flows.
  • ament_vitis: CMake macros and utilities to include Vitis platform into the ROS 2 build system (ament) and its development flows.
  • colcon-hardware-acceleration: An extension for colcon-core to include Hardware Acceleration capabilities.
  • ros2acceleration: acceleration command for ROS 2 command line tools.
  • tracetools_acceleration: LTTng tracing provider wrapper for ROS 2 packages in the Hardware Acceleration Working Group.
  • acceleration_firmware: Base ROS 2 package for hardware acceleration firmware. Used to organize firmware dependencies across vendors.
  • adaptive_component: A composable container for Adaptive ROS 2 Node computations. Select between FPGA, CPU or GPU at run-time.

And not shipped in Humble but worth checking:

Humble support in Yocto (Honister) - build custom Linux-based production-grade operating systems for robots

Happy to share an extension (PR) of the meta-ros Yocto/OE recipes that allow building production-grade custom Linux operating system with support for ROS 2 Humble while using Yocto (Honister).

Why Yocto/PetaLinux is a great fit for hardware acceleration in robotics?

Hardware acceleration involves creating custom compute architectures to improve the computing performance. In a nutshell, by designing specialized acceleration kernels, one can build custom brains for robots to hasten their response time. This becomes specially feasible when using adaptive computing and FPGAs which according to previous benchmarks, deliver best results in robotics with ROS.

Creating such custom compute architectures involves both hardware and software customization, thereby: Yocto . Though complicated , Yocto in combination with hardware acceleration helps deliver high performance production-grade robotic systems.

The recipes have been validated with various popular SBCs. Instructions on how to reproduce in the links below:

Image Board Description
AMD KR260 AMD KR260 The Kria™ KR260 Robotics Starter Kit is a Kria SOM-based development platform for robotics and factory automation applications. With native ROS 2 Humble support, it enables roboticists with a ROS 2-centric dev. flow.
AMD KV260 AMD KV260 The Kria™ KV260 starter kit is a development platform for the K26, the first adaptive Single Board Computer. KV260 offers a compact board for edge vision and robotics applications.
AMD ZCU102 AMD ZCU102 The ZCU102 Evaluation Kit enables designers to jumpstart designs for automotive, industrial, video, and communications applications. This kit features a Zynq® UltraScale+™ MPSoC with a quad-core Arm® Cortex®-A53, dual-core Cortex-R5F real-time processors, and a Mali™-400 MP2 graphics processing unit.
AMD ZCU104 AMD ZCU104 The ZCU104 Evaluation Kit enables designers to jumpstart designs for embedded vision applications such as surveillance, Advanced Driver Assisted Systems (ADAS), machine vision, Augmented Reality (AR), drones and medical imaging. This kit features a Zynq® UltraScale+™ MPSoC EV device with video codec and supports many common peripherals and interfaces for embedded vision use case.
NVIDIA Jetson Nano NVIDIA Jetson Nano The Jetson Nano™ Developer Kit is a small, powerful computer that lets you run multiple neural networks in parallel for applications like image classification, object detection, segmentation, and speech processing. All in an easy-to-use platform that runs in as little as 5 watts.
NVIDIA Jetson AGX Xavier Jetson AGX Xavier The NVIDIA Jetson AGX Xavier Developer Kit is an AI computer for autonomous machines, delivering the performance of a GPU workstation in an embedded module under 30W. Jetson AGX Xavier is designed for robots, drones and other autonomous machines.
Microchip PolarFire Icicle Kit Microchip PolarFire Icicle Kit The PolarFire SoC Icicle kit is a low-cost development platform that enables evaluation of the five-core Linux capable RISC-V microprocessor subsystem, innovative Linux, and real-time execution, low-power capabilities and the rich set of peripherals of the PolarFire SoC FPGA.

After the Humble sync, the recipes might go out of date which will require (again) community contributions. If you’re relying on meta-ros, please contribute back, try out the recipes and send PRs with adjustments as needed while reporting your feedback in the Pull Request.

If you have questions about Yocto or need additional rationale on why this is important, check out the original article ROS 2 Humble Hawksbill with Yocto and PetaLinux.

9 Likes