feat(jetson): AprilTag landmark detector — DICT_APRILTAG_36h11 10Hz 6-DOF (issue #191) #197
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "sl-perception/issue-191-apriltag"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
DetectedTag.msg(id, family, decision_margin, corners[8], center, pose, pose_valid) +DetectedTagArray.msgArucoBackend(cv2 4.6 legacy + 4.7+ArucoDetectorshim),rvec_tvec_to_pose(Rodrigues → Shepperd quaternion)<image_topic>+ derivedcamera_info;cv2.solvePnP IPPE_SQUAREfor 6-DOF pose when intrinsics available; publishes/saltybot/apriltagsParameters
image_topic/camera/color/image_rawpublish_hz10.0tag_size_m0.10min_margin10.0Test plan
pytest test/test_apriltag.py) — no ROS2 neededros2 run saltybot_apriltag apriltag_detector— node startsros2 topic hz /saltybot/apriltags≈ 10 Hz with camera runningtag_idcorrect,pose_valid=true🤖 Generated with Claude Code
saltybot_apriltag_msgs (ament_cmake): • DetectedTag.msg — tag_id, family, decision_margin, corners[8], center, 6-DOF pose + pose_valid flag • DetectedTagArray.msg — DetectedTag[], count saltybot_apriltag (ament_python, single node): • _aruco_utils.py — ROS2-free: ArucoBackend (cv2 4.6/4.7+ API shim), rvec_tvec_to_pose (Rodrigues → Shepperd quaternion) • apriltag_node.py — 10 Hz timer; subscribes image + latched camera_info; cv2.solvePnP IPPE_SQUARE for 6-DOF pose when K available; publishes /saltybot/apriltags • test/test_apriltag.py — 11 unit tests (11/11 pass, no ROS2 needed): pose math + rendered tag detection + multi-tag Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>