Skip to content

astradyn/astratag

Repository files navigation

AstraTag

Multi-Range Fiducial Marker for Autonomous On-Orbit Robotics

DOI

This repository contains the implementation of multi-range, recursive fiducial marker AstraTag. The marker template is derived from square shaped Spidron. The marker is designed for in-orbit operations around cooperative targets. The objective of introducing recurisve feature is to make it suitable for conducting rendezvous and proximity operation. Its three layers provide robustness against a partial occlusion. Below are some of the sample markers.

To test the marker, a space-like environment was created using a pair of mock-up spacecraft. The mock-ups, inspired by the Aditya-L1 spacecraft and the Indian Space Station module BAS-01, were used as targets. The images below demonstrate a sample result. The setup was placed on a turntable to simulate out-of-plane rotation.

frame 0001 frame 0103

AstraTag markers can also be used in robotics application in terrestial and underwater environments.

Requirements

  • C++17 or later
  • OpenCV 4.x (required by CMake)
  • CMake 3.16 or later
  • A standard build toolchain (gcc/clang, make)

Quick Build

  1. Clone the repository and build:
git clone https://github.com/ravikt/astratag.git
cd astratag
mkdir build && cd build
cmake ..
make -j$(nproc)

If OpenCV is installed in a custom location, pass the path at configure time:

cmake -DOpenCV_DIR=/path/to/opencv/lib/cmake/opencv4 ..

To embed dictionary and keypoints data into the library (no external data files needed at runtime):

cmake -DASTRATAG_EMBED_DATA=ON ..
  1. Run the detector on the example images:
# from project root
./build/astratag_detect

Results are saved to the results/ folder with detected markers annotated with bounding boxes and 3D pose cubes.

Citation

If you use AstraTag in your work, please cite it:

@software{astratag,
  title = {AstraTag: Multi-Range Fiducial Marker for Autonomous On-Orbit Robotics},
  author = {Astradyn Systems LLP},
  year = {2026},
  url = {https://github.com/astradyn/astratag},
  doi = {10.5281/zenodo.18524681},
  license = {Apache-2.0}
}

License

See LICENSE in the repository root for license terms.

About

Fiducial Marker for Spacecraft RPOD

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages