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 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 11 us. Opposed to this, software implementations on modern CPUs can take on average 1044 us for the same, but can reach latencies of up to 336.7 ms (336,750 us) or more, which means ROBOTCORE for ROS 2 is Thousands-Fold (30,613x) 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.
ROBOTCORE® for ROS 2 significantly enhances the networking architecture of robotic systems and tackles one the widely criticized 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.
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
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.
(plots are interactive)
(one-way)
Latency small packets (us)
(one-way mean
latency measured after 1M 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 Latency (us)
(Round-Trip-Time
(RTT) mean and maximum (hidden, click in the plot to show) latencies measured after 1M 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 mean latency small msgs (us)
(measured
Round-Trip-Time (RTT) with a small ROS 2 message)
5 us
RTT max. latency small msgs (us)
(measured
Round-Trip-Time (RTT) with a small ROS 2 message)
11 us
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
% FPGA resource consumption (LUT, FF, DSP, BRAM)
(considering an AMD Zynq™ UltraScale+™ MPSoC EV (XCK26))
% FPGA resource consumption (ALUT, REG, DSP, M20K)
(considering an Intel Agilex® 7 FPGA F-Series, 1400 KLE, 2486A)