Skip to content

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.

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.

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.