-
Notifications
You must be signed in to change notification settings - Fork 0
AUTOSAR rds
Theia edited this page Jun 19, 2026
·
1 revision
← back to AUTOSAR
ara::rds is the platform's zero-copy bulk data plane — a binary stream API
for large, high-rate payloads (camera frames, lidar/radar point clouds) that would
be wasteful to push through the normal serialized service communication. It's the
"don't copy the 8 MB frame" path.
Theia runs two planes, and rds is the second one:
| Theia TIPC (control) | RDS / iceoryx (data) | |
|---|---|---|
| carries | casts/calls, the firehose, "frame N ready" | the bulk payload itself |
| size | small messages | 8 MB camera frames, etc. |
| copies? | yes (encode→kernel→decode) — fine for small | none — written once to shared memory, every reader gets a pointer |
-
services/rdsis theara::rdslibrary; RouDi (the iceoryx daemon) runs as a supervised child (via the.artnode prebuiltprimitive for 3rd-party binaries).requires_rdsis a gen-app codegen flag. - The control plane only ever casts a small
RdsFrameReady("frame N is in shared memory") notification over TIPC; the consumer pulls the frame from iceoryx by pointer — never over TIPC. - The GPU DMA-BUF path is defined but Orin-deferred (iceoryx is a heavy dep, gated to the boards that need it).
We keep ARA's "separate bulk plane, zero-copy" intent and realize it with iceoryx + a TIPC ready-notification, which cleanly separates "the frame is ready" (our control plane) from "here is the frame" (shared memory) — practical and Orin-gated.