A collection of utility packages for the extender robot control framework, providing message definitions, motion capture, media publishing, and data replay capabilities.
Package: apriltag_detector
Real-time AprilTag detection and 3D pose estimation from camera feeds. Uses the apriltag library to detect Tag36h11 family tags and compute their position and orientation.
Features:
- AprilTag detection from image streams
- 3D pose estimation using camera intrinsics
- Configurable tag sizes and detection parameters
- Integration with USB camera for easy deployment
- Publishes detected tag poses as
AprilTagPoseArraymessages
Topics:
- Subscribes:
/image_raw,/camera_info - Publishes: on a topic defined by a parameter.
Package: extender_msgs
ROS2 message definitions for the extender framework. Defines custom message types for teleoperation commands, joint control, and vision-based applications.
Messages:
TeleopCommand: Teleoperation commands with velocity and mode selectionJointPositionCommand: Joint position commands with named joint targetingAprilTagPose: Single AprilTag detection with pose informationAprilTagPoseArray: Collection of detected AprilTag poses
Package: mediapipe_mocap
Motion capture using Google MediaPipe. Detects and tracks landmarks from RGB camera streams with real-time visualization capabilities.
Components:
hand_landmarks_node: Detects hand landmarks from an image using mediapipeviewer_node: Display the landmarks from mediapipe
Package: offline_media_publisher
Simulated camera stream publisher for testing and development. Publishes images or video files as camera topics without requiring physical cameras.
Components:
video_publisher: Publishes video files as camera topics with configurable playback
Package: replay_joint_positions
Utility for replaying recorded joint position trajectories. Useful for testing controllers and reproducing robot motions from recorded data.
- ROS2 (Humble or later)
- Python 3
apriltag_detector:
- OpenCV
- apriltag
- Eigen3
- cv_bridge
- sensor_msgs
- usb_cam (optional, for camera input)
mediapipe_mocap:
- MediaPipe
- OpenCV
- NumPy
offline_media_publisher:
- OpenCV
extender_msgs:
- ROS2 message generation tools
When adding new tools:
- Follow ROS2 package structure conventions
- Include comprehensive documentation
- Add appropriate tests and examples
- Update this README with package descriptions
- Ensure compatibility with the extender framework
TODO: Add license information