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
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