Agnocast
- Software
- Middleware
- Library
Agnocast is a zero-copy inter-process communication middleware for rclcpp that carries all ROS message types, including rosidl-generated structs, without copying them.
Made by The Autoware Foundation.
Source on GitHub: github.com/autowarefoundation/agnocast (opens in a new tab). Facts read at commit d3b03ea (opens in a new tab).
Licenses
- Code
- Apache-2.0 (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (Apache-2.0) at commit d3b03ea (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Provides true zero-copy publish/subscribe IPC between ROS 2 processes, including unsized message types.
- Works with message structs already generated by rosidl, and integrates CallbackIsolatedExecutor.
- Runs a kernel module (agnocast.ko) and a heaphook library to manage shared memory for messages.
- Starts a background daemon that cleans up leftover shared memory when processes exit.
- Supports ROS 2 Humble and Jazzy using only the rclcpp client library, on Ubuntu 22.04 and 24.04.
- Development setup uses scripts for dependency installation, building, kernel module insertion, and tests.
Written by Robotheca from the project's README (opens in a new tab) at commit d3b03ea.
Getting started
- Difficulty
- Advanced
- Hardware it needs, as the project states it
- Ubuntu 22.04 (Jammy) or Ubuntu 24.04 (Noble) with a Linux kernel in the 5.x or 6.x series, able to load a kernel module; ROS 2 Humble or Jazzy.
- How to start
- The project's website (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 16 Oct 2026 on main
- Latest release
- None published on GitHub
Checked on GitHub on 16 Oct 2026.
Links
Robots on Robotheca that use it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.