Other products

ROBOTCORE for ROS 2

FPGA-based ROS 2 implementation for High-Speed Networking

ROBOTCORE® for the Robot Operating System (ROS) 2 implements the ROS 2 robotics communication framework in hardware to deliver unprecedented speed and efficiency in ROS 2 interactions over the network. Leveraging the power of FPGA technology, this robot core (also known as IP core), is engineered to dramatically enhance the speed of ROS 2 communications. This means faster data processing, reduced latency, and improved synchronization across your robotics systems. Powering the future of accelerated robotics networking, ROBOTCORE® for ROS 2 can send or receive packages in less than 2.5 microseconds, accelerating networking by more than 62x on average when compared to traditional software implementations on CPUs.

Get ROBOTCORE® for ROS 2 Benchmarks
ROBOTCORE for ROS 2

From 62x to Thousands-Fold Faster ROS 2

ROBOTCORE® for ROS 2 operates by offloading its operations through advanced FPGA hardware acceleration technology, providing unmatched determinism and latency guarantees. When combined with ROBOTCORE UDP/IP and ROBOTCORE RTPS, it implements a hardware IP and UDP stack, as well as hardware DDS-RTPS processing mechanism, ensuring microsecond-level (us) rapid handling of network packages. This optimization results in significantly faster robot data transmission or reception over multiple data link layers (both wired and wireless), leading to reduced latency, crucial for real-time applications in robotics. ROBOTCORE® for ROS 2 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 networking by more than 62x when compared to traditional software implementations on CPUs. When considering the worst case scenario (maximum latency) for small ROS 2 messages, ROBOTCORE for ROS 2 remains deterministic reporting a consistent round-trip latency below 5 us. Opposed to this, software implementations on modern CPUs take on average 339 us for the same, but can reach latencies of up to 22.7 ms (22700 us) or more, which means ROBOTCORE for ROS 2 is Thousands-Fold (4540x) faster in these worst case scenarios.

The architecture of ROBOTCORE® for ROS 2 is designed to be highly scalable and flexible, enabling it to seamlessly integrate into a variety of FPGA and FPGA SoC technologies. At its core, it implements a streamlined and optimized hardware processor of ROS 2 network data by parallelizing computing across various hardware sub-cores (ROS_SUBSCRIBER, ROS_PUBLISHER, ROS_ACTION_CLIENT, etc.), each of which can have multiple instances and is responsible for a specific ROS 2 operation streaming data in parallel.

Benchmarks Ask for a demo

ROS 2 communications in hardware
Minimizing the ROS 2 overhead over DDS

ROBOTCORE® for ROS 2 significantly enhances the networking architecture of robotic systems and tackles one the widely critizied issues of ROS 2: its latency overhead over the DDS communication middleware. It does so by building a hardware implementation of the core ROS 2 abstraction layers (RCL, RMW) and by establishing direct hardware datapaths with the underlying DDS middleware implementation (also possible in hardware, through ROBOTCORE® RTPS). This allows to remove the latency overhead of ROS 2 over DDS and to deliver unmatched speed and absolute determinism.

Faster robots. Faster ROS networking
Build accelerated robot IP cores

ROBOTCORE® for ROS 2 significantly enhances the networking architecture of robotic systems, especially when used in combination with hardware-accelerated ROS 2 underlayers such as those provided by ROBOTCORE® UDP/IP and ROBOTCORE® RTPS. Faster networking and robot computations lead to faster robots. Beyond networking, if you're looking to build in hardware your complete ROS robotics application (userspace code), ROBOTCORE® Framework helps assemble all together as an accelerated robotics IP core (robot core) that you fully own, while delivering the common C++ centric ROS development flow.

Need help customizing? Learn more about ROBOTCORE Framework

Supported
hardware solutions

ROBOTCORE® for ROS 2 supports the most popular FPGA silicon vendors and hardware acceleration solutions, including development kits to build robots with hardware acceleration and ROS.

ROBOTCORE® Robotic Processing Unit
Intel's Agilex 9
Intel's Agilex 7
Intel's Agilex 5
Intel's Agilex 3
AMD's Zynq 7000
AMD's Zynq Ultrascale+
AMD's Versal
Microchip's PolarFire
Intel's Agilex® 7 FPGA F-Series FPGA
AMD's KR260
AMD's ZCU102
Microchip's PolarFire Icicle Kit

Use
cases

ROBOTCORE® for ROS 2 is particularly advantageous in scenarios where high-speed and reliable communication is paramount. It finds its ideal use in:

Industrial Automation
For fast and efficient communication between robotic components in manufacturing and assembly lines.

Teleoperation Systems
Facilitating smooth and responsive control of remotely operated robots.

Autonomous Vehicles
To ensure rapid data exchange for real-time decision-making in autonomous driving systems.

Research and Development
Providing a robust platform for developing and testing advanced robotic systems.

Faster
Deterministic

ROBOTCORE® for ROS 2 delivers absolute determinism via hardware when combined with ROBOTCORE® RTPS and ROBOTCORE® UDP/IP. Compared to software-based solutions, it ensures that the communication latency is lower and that remains always the same, regardless of the load of the system. Crucial for real-time robotic systems and solving major bottlenecks in robotic communications[1],[2],[3],[4].

  1. Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Mayoral-Vilches, V. (2018). Linux communications: an evaluation of the Linux communication stack for real-time robotic applications. arXiv preprint arXiv:1808.10821.
  2. Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Mayoral-Vilches, V. (2018). Towards a distributed and real-time framework for robots: Evaluation of ROS 2.0 communications for real-time robotic applications. arXiv preprint arXiv:1809.02595.
  3. Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Mayoral-Vilches, V. (2018). Time-sensitive networking for robotics. arXiv preprint arXiv:1804.07643.
  4. Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., Goenaga, I. M., Kirschgens, L. A., & Mayoral-Vilches, V. (2018). Time synchronization in modular collaborative robots. arXiv preprint arXiv:1809.07295.

100-40000x better
than other IP cores

ROBOTCORE® for ROS 2 outperforms other IP core solution combinations delivering DDS and RTPS capabilities, including both deployments in hard- and soft-cores[5].

  1. eProsima. Safe DDS - Kria KR260 ROS 2 Demo.

500x more power-efficient

Sending a ROS 2 message with ROBOTCORE ROS 2 takes about 1.775 microjoules (uJ)[6]. ROBOTCORE® for ROS 2 stands out remarkably, outperforming contemporary workstation CPU and GPU solutions when it comes to power performance. ROBOTCORE® for ROS 2 exhibits an exceptional efficiency, being 500 times more power-efficient compared to modern workstation CPUs and GPUs.

  1. For comparison, a single neuron of a human brain firing one action potential takes roughly 0.03 to 0.3 microjoules (uJ), while the energy required to Blink an Eye is roughly estimated to be around 1 millijoule (mJ). These similarities underscore that ROBOTCORE® for ROS 2 operates with an energy budget comparable to the fundamental biological processes in the human brain.

Benchmarks

(plots are interactive)

LATENCY

(one-way)

Latency small packets (us)
(one-way maximum latency measured after 10K samples and while sending small ROS 2 messages with ROBOTCORE ROS 2, ROBOTCORE RTPS and ROBOTCORE UDP/IP running in an FPGA@156MHz. Other fmax values may lead to better results.)

2.5 us

ROUND-TRIP-TIME (RTT)

Round-Trip-Time Latency (us)
(Round-Trip-Time (RTT) average and maximum (hidden, click in the plot to show) latencies measured after 10K samples and while sending small ROS messages in a ping-pong format with ROBOTCORE for ROS 2, ROBOTCORE RTPS and ROBOTCORE UDP/IP running in an FPGA@156MHz. Other fmax values may lead to better results. Logarithmic scale. )

RTT max. latency small msgs (us)
(measured Round-Trip-Time (RTT) with a small ROS 2 message)

5 us

SPEEDUP

Average Speedup when compared to ROS 2 software (on CPU) implementations
(considering average latency measurements)

62x

Maximum speedup when compared to traditional CPUs
(considering maximum latency measurements against DDS2, the best performant among software DDS implementations tested.)

4450x

RESOURCES

% FPGA resource consumption (LUT, FF, DSP, BRAM)
(considering an AMD Zynq™ UltraScale+™ MPSoC EV (XCK26))

% FPGA resource consumption (LUT, FF, DSP, BRAM)
(considering an Intel Agilex® 7 FPGA F-Series, 1400 KLE, 2486A)

Do you have any questions?

Get in touch with our team.

Let's talk