The trackers - ju1ce/April-Tag-VR-FullBody-Tracker GitHub Wiki

How the trackers work

apriltag_marker

This is a single Apriltag marker. Each marker has a white square in the middle that is used for detection and an unique pattern of black and white for identification. This means that a single marker must always be completely visible and completely flat in order to be detected.

A tracker is composed of multiple markers facing diffrent directions, which ensures that at least one marker is visible when rotating it. They must all be fixed together and none of the markers that are included in a tracker should move or bend seperately. Tracker 0 is composed of marker id 0 and any number of extra markers of ids 1-44, tracker 1 is marker id 45 and any number of markers 46-89 etc.

Below is an image showing which markers go where, thanks to Snowlord on the discord:

markers_trackers

Making the 180° setup

This is the simplest setup, which is why I would recommend starting with it, and upgrading to 360° later.

The simplest version of three trackers is the following: Tracker 0 made of marker 0 and 1, tracker 1 of marker 45 and 46 and tracker 3 of marker 90 and 91. To prevent bending, they are glued to cardboard. Each of them are glued together at an 90° angle. To make them yourselves, print the apriltags_front_475.pdf file if your printer uses A4 paper, or apriltags_front_450.pdf if it uses US letter paper. Refer to the below photos to cut them out and glue them properly.

where_to_cut

Cut along the red lines, bend along the blue lines. Print the image without the lines.

trackers1

How the trackers should look like from the front

trackers2

How the trackers should look like from the top

trackers3

Close up of whats behind the leg trackers. Notice the small piece of cardboard for support against bending and the hooks for rubber bands.

trackers4

Tracker 0 will be used on our hips, and, since the rubber bands will stretch it more, should use some additional supports. I used some wire, but you can rather just use more cardboard.

Add some way of fixing the trackers to your body. I use some hooks, through which i can then fix the trackers using rubber bands.

NOTE: Make sure the pattern on the trackers is clearly visible and is not obstructed! Ensure the markers bend as little as possible!

Making the 360° trackers

To make 360° trackers, you will need to print apriltags_back as well. For leg trackers, glue them to the front ones so they form some sort of a square. The order of markers do not matter, but make sure the correct ones are on the correct tracker!

Example of a leg tracker that I use:

leg_tracker

The hip tracker is a bit more complicated, however, since the entire tracker has to be solid for good tracking. Making a solid tracker around the hip can be uncomfortable, and making it in two pieces will cause additional jitter. The simplest solution is to use a phone with owotrack instead for the hip.

You can also just not use a hip tracker at all, it should work well enough for most uses. It will not work well for stuff like laying down, or stuff where hip tracking is more important such as dancing.

Other setups

MAKE SURE ALL MARKERS ARE THE SAME SIZE!

If you wish to use additional markers other than the 4 per tracker provided, you can get them here. First row is tracker 0, second row is tracker 1 etc.

If you wish to use circular markers, you can get them here. Note that these are far less robust, so there is no real use for them other than if your tracker design would really benefit from the circular shape. Since there is also far less of them, you may need to reduce the number of markers per tracker - you can do this by editing the params.yml file directly.

For aruco markers, you can use a generator like this one here. Generate tags of the 4x4 dictionary. Do note that you need 1 bit of border around the black marker! Arucos do work worse than apriltags in almost every way, but they are much faster.