How to use the package

May 27, 2021 ยท View on GitHub

Generate AprilTags in custom layouts for AprilTag 3.

How to use the package

First, you will need to generate the code associated with the layout of your marker :

ant
java -cp april.jar april.tag.TagFamilyGenerator <layout> <minimalHammingDistance>

The choices of layout are :

With x the size of the tag (in pixels). The smaller is x, the faster the generation is.

You will have as output into the terminal a string, starting from "package april.tag;" and ending at the end of the terminal. This string is your new code that will be use for generating your markers. Save it into a .java file (ex : TagStandard20h9.java), into src/april/tag.

Then, execute :

ant

Next, you can use this command to generate the C code associated with the marker :

java -cp april.jar april.tag.TagToC april.tag.<name_of_new_java_file>

Or generate your new markers as .png :

java -cp april.jar april.tag.GenerateTags april.tag.<name_of_new_java_file> .

NB : If the format of the markers is very small (ex : by default, 9x9 pixels), you'll need to rescale them. To do so, you may use the following command (Unix) :

convert <small_marker>.png -scale <scale_chosen_in_percent>% <big_marker>.png

Example usage for generating the 21h7 circular tag family:

$ ant
$ java -cp april.jar april.tag.TagFamilyGenerator circle_9 7

Then to generate the c code and tag images after copying the output into the source folder:

$ ant
$ java -cp april.jar april.tag.TagToC april.tag.TagCircle21h7
$ java -cp april.jar april.tag.GenerateTags april.tag.TagCircle21h7 .