Skip to content

Fiducial Detection

Example of Fiducial Detection

Raspicam

  • We use a RaspberryPi v1 camera whose full documentation can be found at Raspicam Docs, this also includes hardware and software specs
  • Additional information on how to install Raspicam hardware can be found at Raspicam Installation

AprilTags

  • We use the pupil_apriltags package to detect fiducials in the Raspicam image so full documentation for the AprilTags can be found at Pupil AprilTags
  • The package works by taking the camera parameters, fiducial size and family, and additional fiducial detection parameters and creating a detector class which contains a detect method that inputs a camera frame and outputs a list of detected fiducials
  • In order to print new apriltags you have to follow the instructions at AprilTag Generation and Premade AprilTags

Parameters and Tuning

  • The params.yaml file contains all of the fiducial vision parameters
  • The camera parameters which are used in the params.yaml file were found online in the raspicam section
  • The size of the fiducial in meters can be adjusted by printing out new fiducials of a larger size

Transformation Math

  • The src/transforms.py and src/geometry.py contain the methods used for transforming the fiducial detection results into easier to work with translations and rotations
  • Also, parameters in params.yaml are used to slightly adjust the detection results after transformation

Fiducial Tag Families