All Projects → AprilRobotics → Apriltag_ros

AprilRobotics / Apriltag_ros

Licence: other
A ROS wrapper of the AprilTag 3 visual fiducial detector

Projects that are alternatives of or similar to Apriltag ros

Apc Vision Toolbox
MIT-Princeton Vision Toolbox for the Amazon Picking Challenge 2016 - RGB-D ConvNet-based object segmentation and 6D object pose estimation.
Stars: ✭ 277 (+73.13%)
Mutual labels:  ros, vision
sp segmenter
Superpixel-based semantic segmentation, with object pose estimation and tracking. Provided as a ROS package.
Stars: ✭ 33 (-79.37%)
Mutual labels:  ros, vision
ros jetson stats
🐢 The ROS jetson-stats wrapper. The status of your NVIDIA jetson in diagnostic messages
Stars: ✭ 55 (-65.62%)
Mutual labels:  wrapper, ros
Eskf
ROS Error-State Kalman Filter based on PX4/ecl. Performs GPS/Magnetometer/Vision Pose/Optical Flow/RangeFinder fusion with IMU
Stars: ✭ 63 (-60.62%)
Mutual labels:  ros, vision
Robot calibration
Generic calibration for robots
Stars: ✭ 154 (-3.75%)
Mutual labels:  ros
Vue Axios
A small wrapper for integrating axios to Vuejs
Stars: ✭ 1,887 (+1079.38%)
Mutual labels:  wrapper
Urdf Viz
visualize URDF/XACRO file, URDF Viewer works on Windows/MacOS/Linux
Stars: ✭ 149 (-6.87%)
Mutual labels:  ros
Self Driving Golf Cart
Be Driven 🚘
Stars: ✭ 147 (-8.12%)
Mutual labels:  ros
Lili Om
LiLi-OM is a tightly-coupled, keyframe-based LiDAR-inertial odometry and mapping system for both solid-state-LiDAR and conventional LiDARs.
Stars: ✭ 159 (-0.62%)
Mutual labels:  ros
Rt gene
RT-GENE: Real-Time Eye Gaze and Blink Estimation in Natural Environments
Stars: ✭ 157 (-1.87%)
Mutual labels:  ros
Luwra
Minimal-overhead C++ wrapper for Lua
Stars: ✭ 152 (-5%)
Mutual labels:  wrapper
Multimaster fkie
ROS stack with FKIE packages for multi-robot (discovering, synchronizing and management GUI)
Stars: ✭ 150 (-6.25%)
Mutual labels:  ros
Py Kaldi Asr
Some simple wrappers around kaldi-asr intended to make using kaldi's (online) decoders as convenient as possible.
Stars: ✭ 156 (-2.5%)
Mutual labels:  wrapper
Djim100 People Detect Track
A ros demo for people detection and tracking on DJI M100 drone
Stars: ✭ 150 (-6.25%)
Mutual labels:  ros
Desktop Google Keep Osx
A Super Simple Desktop Client for Mac OSX Built in Javascript and MacGap
Stars: ✭ 159 (-0.62%)
Mutual labels:  wrapper
Rosonwindows
ROS on Windows Documentation Repository
Stars: ✭ 147 (-8.12%)
Mutual labels:  ros
Python Overpy
Python Wrapper to access the Overpass API
Stars: ✭ 151 (-5.62%)
Mutual labels:  wrapper
Arucogen
Online ArUco markers generator
Stars: ✭ 155 (-3.12%)
Mutual labels:  vision
Openkai
OpenKAI: A modern framework for unmanned vehicle and robot control
Stars: ✭ 150 (-6.25%)
Mutual labels:  vision
Nextlevel
NextLevel was initally a weekend project that has now grown into a open community of camera platform enthusists. The software provides foundational components for managing media recording, camera interface customization, gestural interaction customization, and image streaming on iOS. The same capabilities can also be found in apps such as Snapchat, Instagram, and Vine.
Stars: ✭ 1,940 (+1112.5%)
Mutual labels:  vision

apriltag_ros

apriltag_ros is a Robot Operating System (ROS) wrapper of the AprilTag 3 visual fiducial detector. For details and tutorials, please see the ROS wiki.

apriltag_ros depends on the latest release of the AprilTag library. Clone it into your catkin workspace before building.

Authors: Danylo Malyuta, Wolfgang Merkt

Maintainers: Danylo Malyuta (Autonomous Control Laboratory, University of Washington), Wolfgang Merkt

Quickstart

Starting with a working ROS installation (Kinetic and Melodic are supported):

export ROS_DISTRO=melodic               # Set this to your distro, e.g. kinetic or melodic
source /opt/ros/$ROS_DISTRO/setup.bash  # Source your ROS distro 
mkdir -p ~/catkin_ws/src                # Make a new workspace 
cd ~/catkin_ws/src                      # Navigate to the source space
git clone https://github.com/AprilRobotics/apriltag.git      # Clone Apriltag library
git clone https://github.com/AprilRobotics/apriltag_ros.git  # Clone Apriltag ROS wrapper
cd ~/catkin_ws                          # Navigate to the workspace
rosdep install --from-paths src --ignore-src -r -y  # Install any missing packages
catkin build    # Build all packages in the workspace (catkin_make_isolated will work also)

See the ROS wiki for details and tutorials.

Contributing

Pull requests are welcome! Especially for the following areas:

  • Publishing of the AprilTag 3 algorithm intermediate images over a ROS image topic (which AprilTag 3 already generates when tag_debug==1)
  • Conversion of the bundle calibration script from MATLAB to Python
  • Extend calibration to support calibrating tags that cannot appear simultaneously with the master tag, but do appear simultaneously with other tags which themselves or via a similar relationship appear with the master tag (e.g. a bundle with the geometry of a cube - if the master is on one face, tags on the opposite face cannot currently be calibrated). This is basically "transform chaining" and potentially allows calibration of bundles with arbitrary geometry as long as a transform chain exists from any tag to the master tag
  • Supporting multiple tag family detection (currently all tags have to be of the same family). This means calling the detector once for each family. Because the core AprilTag 2 algorithm is the performance bottleneck, detection of n tag families will possibly decrease performance by 1/n (tbd if this still holds for v3)

Changelog

  • In March 2019, the code was upgraded to AprilTag 3 and as thus the options refine_pose, refine_decode, and black_border were removed.

Copyright

The source code in apriltag_ros/ is original code that is the ROS wrapper itself, see the LICENSE. It is inspired by apriltags_ros and provides a superset of its functionalities.

If you use this code, please kindly inform Danylo Malyuta (to maintain a list here of research works that have benefited from the code) and cite:

@article{Malyuta2019,
  doi = {10.1002/rob.21898},
  url = {https://doi.org/10.1002/rob.21898},
  pages = {arXiv:1908.06381},
  year = {2019},
  month = aug,
  publisher = {Wiley},
  author = {Danylo Malyuta and Christian Brommer and Daniel Hentzen and Thomas Stastny and Roland Siegwart and Roland Brockers},
  title = {Long-duration fully autonomous operation of rotorcraft unmanned aerial systems for remote-sensing data acquisition},
  journal = {Journal of Field Robotics}
}
@inproceedings{Brommer2018,
  doi = {10.1109/iros.2018.8594111},
  url = {https://doi.org/10.1109/iros.2018.8594111},
  pages = {arXiv:1810.05683},
  year  = {2018},
  month = {oct},
  publisher = {{IEEE}},
  author = {Christian Brommer and Danylo Malyuta and Daniel Hentzen and Roland Brockers},
  title = {Long-Duration Autonomy for Small Rotorcraft {UAS} Including Recharging},
  booktitle = {{IEEE}/{RSJ} International Conference on Intelligent Robots and Systems}
}
@inproceedings{Wang2016,
  author = {Wang, John and Olson, Edwin},
  booktitle = {2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  doi = {10.1109/IROS.2016.7759617},
  isbn = {978-1-5090-3762-9},
  month = {oct},
  pages = {4193--4198},
  publisher = {IEEE},
  title = {{AprilTag 2: Efficient and robust fiducial detection}},
  year = {2016}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].