Accelerating a ROS 2 Node with an AI Agent and NVIDIA Isaac ROS NVIDIA contributed a CUDA buffer backend to ROS 2 Lyrical that lets ROS 2 nodes exchange GPU-resident payloads through zero-copy transport when runtime conditions allow, and all nodes in NVIDIA Isaac ROS 5.0 have been updated to use it. The backend implements the upstream rosidl::Buffer abstraction with CUDA Virtual Memory Management, requiring the same host, CUDA device, Linux user, and a supported RMW implementation such as rmw_fastrtps_cpp or rmw_zenoh_cpp, and falling back to the CPU path otherwise. NVIDIA published a tutorial showing how an AI coding agent using the migrate-node-to-rosidl-buffer skill audits an existing CUDA-accelerated node, such as the Depth Anything 3 TensorRT ROS 2 node, and refactors it to enable the CUDA transport path for deployment on NVIDIA Jetson AGX Thor. GPU acceleration can speed up compute-intensive robotics workloads, but a fast CUDA https://developer.nvidia.com/cuda/toolkit kernel alone does not guarantee a fast ROS 2 graph. As messages move between nodes, they may continue to be serialized or copied through CPU memory, eroding the benefits of keeping perception and AI workloads on the GPU Figure 1 . With the upstream rosidl::Buffer https://github.com/ros2/rosidl/tree/lyrical/rosidl buffer abstraction and the CUDA buffer backend https://github.com/ros2/rosidl buffer backends/tree/main/cuda buffer backend that NVIDIA recently contributed to ROS Lyrical https://osralliance.org/2026/09/ros-lyrical-luth-gains-vendor-neutral-accelerated-memory-transport-from-nvidia/ , ROS 2 nodes can exchange GPU-resident payloads through zero-copy transport when runtime conditions allow, while preserving standard ROS 2 messages and node boundaries. All nodes in NVIDIA Isaac ROS 5.0 https://nvidia-isaac-ros.github.io/ have been updated to use the CUDA buffer backend and benefit from the more efficient data movement enabled by rosidl::Buffer . Existing ROS 2 nodes can adopt rosidl::Buffer with minimal changes. The more challenging task is identifying the correct boundaries to update. This requires a careful audit of allocations, serialization, stream ownership, and fallback behavior. This tutorial walks you through how to turn that audit into an agent-driven workflow. An AI coding agent https://www.nvidia.com/en-us/ai/ uses the purpose-built migrate-node-to-rosidl-buffer skill to inspect an existing CUDA-accelerated node, trace data movement, plan a minimal interface-preserving refactor, and verify that the CUDA transport path is actually enabled. You’ll learn how to use the agent skill to update the node to adopt the CUDA buffer backend. The resulting accelerated workload can then be deployed on NVIDIA Jetson AGX Thor https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-thor/ . Introducing rosidl::Buffer and CUDA buffer backend In ROS 2 Lyrical, variable-length primitive array fields such as uint8 are represented in generated C++ code by rosidl::Buffer