I am running the default isaac_ros_apriltag_usb_cam.launch.py example on an NVIDIA Jetson Orin Nano to perform AprilTag detection using a USB camera.
I have observed a noticeable drop in the message rate (FPS) between the input image topic and the output detection topic.
Observed Rates in the Example Pipeline:
- Input Image Topic (
/image_raw): Average rate is approximately 29 FPS.
- Output Detection Topic (
/tag_detections): Average rate is approximately 18 FPS.
My Setup:
- Hardware: NVIDIA Jetson Orin Nano
- Launch Command:
ros2 launch isaac_ros_apriltag isaac_ros_apriltag_usb_cam.launch.py
- Screenshot: (Reference the attached screenshot showing ros2 topic hz results)
Benchmark Test Results
For comparison, I executed the official benchmark to establish the maximum possible throughput for the AprilTag node:
- Benchmark Command:
launch_test $(ros2 pkg prefix isaac_ros_apriltag_benchmark)/share/isaac_ros_apriltag_benchmark/scripts/isaac_ros_apriltag_node.py
- Result: The standalone benchmark achieves a high FPS (consistent with the official figure of $\sim120$ FPS for the AprilTag Node/Graph at 720p on Orin Nano).
Question
- Is the observed rate of $\sim18$ FPS on
/tag_detections considered normal or expected when running the isaac_ros_apriltag_usb_cam.launch.py launch file?
- Given that the standalone AprilTag node can achieve $\sim120$ FPS, what specific parameters or configuration aspects of the full pipeline (which includes the USB camera interface, the rectify node, and the AprilTag node) could be limiting the output rate to $\sim18$ FPS?
- What specific steps can I take to debug or tune the pipeline configuration to achieve a
/tag_detections FPS closer to the input image rate of 30 FPS?
I am running the default
isaac_ros_apriltag_usb_cam.launch.pyexample on an NVIDIA Jetson Orin Nano to perform AprilTag detection using a USB camera.I have observed a noticeable drop in the message rate (FPS) between the input image topic and the output detection topic.
Observed Rates in the Example Pipeline:
/image_raw): Average rate is approximately 29 FPS./tag_detections): Average rate is approximately 18 FPS.My Setup:
ros2 launch isaac_ros_apriltag isaac_ros_apriltag_usb_cam.launch.pyBenchmark Test Results
For comparison, I executed the official benchmark to establish the maximum possible throughput for the AprilTag node:
launch_test $(ros2 pkg prefix isaac_ros_apriltag_benchmark)/share/isaac_ros_apriltag_benchmark/scripts/isaac_ros_apriltag_node.pyQuestion
/tag_detectionsconsidered normal or expected when running theisaac_ros_apriltag_usb_cam.launch.pylaunch file?/tag_detectionsFPS closer to the input image rate of 30 FPS?