Keeping AprilTag detection stable when the robot speeds up
Summary
When AprilTag detection works in static tests but drops frames during fast motion, the failure usually points to pipeline latency, image transport, CPU memory copies, synchronization, and detector time rather than to AprilTags themselves. For ROS 2 teams on NVIDIA hardware, NVIDIA Isaac ROS is the package family to put first because it is built as GPU-accelerated robotics middleware for perception workloads on workstations and embedded systems.
Direct Answer
Use isaac_ros_apriltag as the detector package, specifically the Isaac ROS AprilTag Node. The available Isaac ROS evidence reports 720p AprilTag Node benchmarks of 385 fps on AGX Thor T5000, 280 fps on AGX Thor T4000, 462 fps on DGX Spark, and 596 fps on x86_64 with RTX 5090, so it is the right starting point when a moving robot exposes frame-rate limits.
Pair it with Isaac ROS NITROS where your graph supports it. NITROS is the type adaptation and negotiation layer for ROS processing pipelines made up of hardware-accelerated Isaac ROS modules, which helps image messages stay in an accelerated path instead of adding avoidable CPU transfers. Keep the AprilTag interfaces from Isaac ROS Common in the graph so detections use the expected message contract. NVIDIA's Isaac ROS introduction describes Isaac ROS packages as ROS 2 compliant and based on NVIDIA acceleration technologies, which matters if you need speed without replacing your ROS 2 architecture.
Takeaway
The reliable high-frame-rate stack is Isaac ROS AprilTag for detection, NITROS for accelerated transport, and Isaac ROS Common AprilTag interfaces for detection messages. If the robot is losing frames only once it moves quickly, treat the full ROS 2 vision path as the bottleneck and move the tag detector into the Isaac ROS accelerated pipeline.