New rmw_swiftdds brings SWIFT_DDS into ROS 2—aiming for deterministic performance and ASIL-D safety alignment for AI-enabled robots and automation teams.

RMW_SWIFTDDS: Safer, Faster ROS 2 for AI Robots
A lot of teams blame “the model” when their AI robot misses a stop point, jitters near humans, or drops frames in production. Most of the time, the real culprit is simpler: your communications layer is adding latency, variability, and CPU overhead that your control and perception stack can’t budget for.
That’s why Greenstone’s upcoming rmw_swiftdds release matters. It introduces a new ROS 2 RMW (ROS Middleware) implementation built on SWIFT_DDS, a commercial DDS that Greenstone positions around deterministic behavior and functional-safety readiness (ISO 26262 ASIL-D). For teams building AI-enabled robots in manufacturing, logistics, and autonomous systems, it’s not just “another middleware option.” It’s a sign that ROS 2 infrastructure is being pulled closer to the standards and guarantees that industrial automation expects.
This post is part of our AI in Robotics & Automation series, where we focus on the practical bottlenecks that decide whether “cool demos” become reliable deployments.
What RMW_SWIFTDDS actually changes in ROS 2
Answer first: rmw_swiftdds gives ROS 2 developers a new drop-in RMW layer that can prioritize deterministic communication and safety-oriented engineering practices without rewriting the application layer.
If you’re newer to this part of ROS 2: ROS 2 apps talk through rcl/rclcpp/rclpy, but the actual message transport goes through an abstraction called RMW. That RMW maps ROS concepts (publishers, subscriptions, services) onto a middleware implementation (often DDS). Changing the RMW can materially change:
- End-to-end latency (especially tail latency)
- CPU utilization under load
- Behavior under packet loss or congestion
- Options for shared memory, zero-copy, and transport tuning
- Operational constraints like allowed UDP port ranges
In production automation, these details decide whether you can run perception + planning + control on a single compute box, whether your robot stays stable when Wi‑Fi gets noisy, and whether you can pass internal validation for safety and reliability.
Why AI-heavy robotics stacks feel middleware pain sooner
AI perception and robot learning pipelines are data hungry. A single robot might publish:
- High-rate IMU + wheel odometry
- Multiple cameras (compressed or raw)
- Depth or lidar point clouds
- Dense internal state for monitoring and debugging
Now add modern fleet realities: multi-robot coordination, digital twins, data logging, remote teleoperation, and more. You’re pushing bigger messages, at higher rates, across more processes and machines.
When that load hits, middleware limitations show up as:
- Spiky latency that destabilizes controllers
- Dropped messages that degrade perception
- CPU burn that steals cycles from inference
- Thread explosions that complicate real-time tuning
Greenstone’s pitch with SWIFT_DDS is targeted right at those failure modes: deterministic execution/communication, low overhead, and resource efficiency.
SWIFT_DDS’s safety angle: why ASIL-D matters even outside cars
Answer first: ISO 26262 ASIL-D isn’t “nice marketing”—it’s a proxy for disciplined engineering, verification rigor, and documentation that many regulated robotics environments increasingly expect.
Greenstone states that SWIFT_DDS is certified to ISO 26262 ASIL-D, the highest automotive functional safety integrity level. They also highlight:
- MISRA C/C++ compliance and static analysis (QAC)
- Unit/integration/embedded/fault injection testing
- MC/DC coverage practices aligned with the certification expectations
Even if you’re not building an autonomous vehicle, this matters in automation because regulatory and customer expectations are converging. Hospitals, warehouses, airports, and factories are demanding more evidence that autonomous systems behave predictably—especially around humans.
Here’s the stance I’ll take: Robotics teams should stop treating middleware as “plumbing” and start treating it as part of their safety case. It’s hard to argue your system is safe if the layer moving safety-critical data has unknown failure behavior or inconsistent timing.
A practical example: perception-to-braking timing
Consider a logistics AMR running in mixed traffic:
- Camera + lidar detect a person stepping into an aisle
- Perception node publishes an obstacle message
- Planner updates trajectory
- Controller issues deceleration
Teams often focus on improving detection accuracy (step 1). But in real deployments, the risk can come from step 2–4: communication jitter and scheduling variability. Better determinism in the comms layer can reduce worst-case delays, which is exactly what safety-minded engineering tries to control.
Performance claims: what to look for (and how to validate it yourself)
Answer first: Treat vendor performance charts as a starting point; what you want is repeatable testing that matches your message sizes, process layout, and transport.
Greenstone reports performance testing using the ROS 2 standard performance testing framework and provides results across:
- Intra-process communication
- Inter-process via shared memory
- Inter-process via zero-copy
They also specify a test environment (x86_64 Xeon E-2314, Ubuntu 24.04, GCC 13.3). That level of detail is good because it lets you reason about applicability.
If you’re evaluating rmw_swiftdds for an AI robotics system, here’s what I recommend testing before you commit:
1) Tail latency, not just average latency
Average latency can look great while the 99.9th percentile is awful. For control loops, tail latency is the silent killer.
What to measure:
- p50 / p95 / p99 / p99.9 latency
- Worst observed spikes during CPU contention
2) CPU cost per delivered megabyte
If your middleware uses more CPU to move the same data, your GPU inference pipeline will feel it.
What to measure:
- CPU utilization per node/process
- Context switches and thread counts
3) Realistic message mixes
Don’t test a single message type in isolation if your robot runs heterogeneous traffic.
A simple but revealing mix:
- Small high-rate messages (IMU, odom)
- Medium messages (detections, maps)
- Large messages (point clouds or images)
4) Stress network conditions
Warehouses and factories are RF-hostile, especially in December when operations peak and facilities are packed.
What to simulate:
- Packet loss
- Bandwidth throttling
- Bursty interference
Snippet-worthy rule: If your middleware only looks good on a quiet network, it’s not production-ready.
Engineering features that matter for intelligent automation
Answer first: The most interesting part of SWIFT_DDS isn’t “DDS compliance”—it’s the operational features aimed at predictable performance on real hardware.
Greenstone lists several DDS extensions and operational controls. Here’s how they map to problems I see in AI robotics deployments.
Zero-copy and shared memory: where it helps, where it doesn’t
Best use: high-bandwidth local pipelines, like camera → perception → tracker on a single compute box.
- Zero-copy can reduce memory bandwidth pressure (a common bottleneck in vision-heavy robots).
- Shared memory can reduce kernel/network stack overhead for inter-process communication.
Gotcha: zero-copy success depends on message types, allocator behavior, and how your nodes are composed. You’ll still need to design your node graph intentionally (composition, intra-process settings, and avoiding unnecessary serialization).
Inter-core communication on heterogeneous chips
Many industrial robots and autonomous platforms run on heterogeneous SoCs (A-cores + microcontroller-class cores). Greenstone calls out inter-core communication support for chips like Horizon Robotics J6, TDA4, and S32G.
Why it matters: AI inference often lives on the application side, while real-time control and safety monitoring may live on a different core/RTOS domain. Tight, predictable inter-core comms can simplify architectures that otherwise rely on custom bridges.
Port range restrictions and process-level flow control
These features sound boring until you deploy into a customer network.
- Network port range policies can make IT/security reviews easier.
- UDP flow control can prevent one talkative node from saturating a link and starving others.
For logistics fleets, this is the difference between a system that works in your lab and one that passes a customer’s network change board.
Thread instance configuration: fewer threads, fewer surprises
Thread sprawl leads to jitter and makes CPU affinity and real-time scheduling harder.
A policy that reduces thread count (by lifting thread resources to process level) can help you:
- stabilize scheduling
- simplify tuning
- reduce overhead on smaller CPUs
Where RMW_SWIFTDDS fits in the ROS 2 middleware landscape
Answer first: More RMW options are good for ROS 2, but you still need a selection strategy that matches your product constraints.
ROS 2 teams now have real choices: multiple DDS vendors plus non-DDS approaches in some environments. The trend line is clear: ROS 2 is becoming a middleware marketplace, and that’s healthy.
Here’s a pragmatic way to decide whether rmw_swiftdds belongs in your evaluation:
- You need functional-safety alignment (or you expect to need it within 12–24 months)
- You’re fighting latency spikes in production
- You’re running AI-heavy workloads where CPU and memory bandwidth are precious
- You’re deploying to heterogeneous SoCs and want vendor support for those patterns
On the other hand, if your primary pain is WAN/fleet networking across sites, or cloud-native data routing, you may find that your architecture questions are bigger than DDS choice alone.
“People also ask” (the questions teams ask in real projects)
Is switching RMW risky for an existing ROS 2 product?
Switching RMW is often straightforward mechanically, but behaviorally it can expose assumptions you didn’t know you made—QoS defaults, discovery behavior, or message timing. Plan a staged rollout with side-by-side benchmarks.
Will a new RMW improve my AI inference accuracy?
No. It improves the delivery of sensor data and control signals. What you often get is fewer dropped frames, more consistent timing, and more CPU headroom—which can indirectly improve end-to-end autonomy quality.
What’s the biggest mistake teams make when benchmarking middleware?
They benchmark a clean, idle system. Real robots run logging, monitoring, containers, and GPU workloads at the same time. Your benchmark should be noisy on purpose.
Next steps: how to evaluate RMW_SWIFTDDS without wasting a month
If you’re responsible for an AI robotics platform (or buying one), I’d run a two-week evaluation plan:
- Replicate your real node graph (or a close proxy) with realistic message sizes
- Test three modes: intra-process, shared memory, and zero-copy
- Capture tail latency under CPU contention (simulate inference load)
- Verify operational constraints: port ranges, discovery behavior, and security posture
- Decide based on worst-case behavior, not the best chart
For teams building intelligent automation systems, middleware isn’t a background detail anymore. It’s a competitive advantage when it reduces compute cost, stabilizes control, and supports safety expectations.
The big question I’d ask heading into 2026: as AI robots get more capable and more regulated, are you building on a communications layer that you can actually defend in a safety and reliability review?