ROS package for detecting aruco markers with RGB and RGBD cameras.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them. Presumes you are using ~/catkin_ws as ROS workspace, if you are not make adjustments where required.
1) ROS Noetic
2) Install master version of cares_msgs: https://github.com/UoA-CARES/cares_msgs.git
3) Install tf2 ros messages: sudo apt-get install ros-noetic-tf2-sensor-msgs
A step by step series of examples that tell you how to get a development env running
Clone the package into the catkin directory you are using, presumed here to be "~/catkin_ws"
cd ~/catkin_ws/src
git clone https://github.com/maraatech/aruco_detector.git
Build the package with catkin_make in the source directory
cd ~/catkin_src/
catkin_make
Tests to be added
These package supports detection of the three marker types:
- Aruco: mono, stereo, depth
- Diamond Aruco: stereo, depth
- Charuo: mono
ROS node that will detect aruco markers in an RGB image and publish the pose transform relative to the color frame.
Topic names are all default names, they can be changed via setting parameters in the launch file.
- sensor_msgs::Image
- RGB image: /camera/color/image_raw
- Depth aligned image: /camera/aligned_depth_to_color/image_raw
- sensor_msgs::CameraInfo
- Camera info: camera/color/camera_info
Topic names are all default names, they can be changed via setting parameters in the launch file.
- geometry_msgs::PoseArray
- Marker Poses : markers
Broadcast pose of the markers
- geometry_msgs::TransformStamped
- Pose of each marker N: "ns_MARKER_TYPE_N"
ROS node that will detect aruco markers in RGBD data and publish the pose transform relative to the depth frame.
Topic names are all default names, they can be changed via setting parameters in the launch file.
- sensor_msgs::Image
- RGB image: /camera/color/image_raw
- Depth aligned image: /camera/aligned_depth_to_color/image_raw
- sensor_msgs::CameraInfo
- Camera info: camera/color/camera_info
Topic names are all default names, they can be changed via setting parameters in the launch file.
- geometry_msgs::PoseArray
- Marker Poses : markers
Broadcast pose of the markers
- geometry_msgs::TransformStamped
- Pose of each marker N: "ns_MARKER_TYPE_N"
ROS node that will detect aruco markers in stereo RGB data (undistorted currently) and publish the pose transform relative to the left frame. Node can also be run as an aruco diamond detector.
Topic names are all default names, they can be changed via setting parameters in the launch file.
- sensor_msgs::Image - NOTE must be rectified images
- Left RGB image: /camera/color/image_raw
- Right RGB image: /camera/color/image_raw
- maara_msgs::StereoInfo
- Stereo Info: /stereo/stereo_info
Topic names are all default names, they can be changed via setting parameters in the launch file.
- geometry_msgs::PoseArray
- Marker Poses : markers
Broadcast pose of the markers
- geometry_msgs::TransformStamped
- Pose of each marker N: "ns_MARKER_TYPE_N"
Stereo and depth camera based marker detection can be run as a service as well.
- cares_msgs/ArucoDetect.srv
Version 1.0
- Henry Williams
TBD
Ben and Chris for figuring out the pose geometry for the depth calculation