ArUco Markers

An aruco marker is a square marker composed by a certain number of bits that corresponds to a specific id. The complete ArUco marker with the black border is essential for its detection. The size of the ArUco markers can vary such that a 5x5 marker will consist of 25 bits. 

The ArUco markers can be visualized as seen below. A user can define what ID they require and the corresponding ArUco marker will be generated.

Sample ArUco markers.

OpenCV has a library that detects and generates ArUco markers, the link to the documentation can be found here.

Start with importing AruCo markers.

from cv2 import aruco

Create an AruCo marker object.

dictionary = aruco.Dictionary_get(cv2.aruco.DICT_6X6_1000) parameters = aruco.DetectorParameters_create()

Start with passing the camera frame in the aruco object.

while True: markerCorners, markerIds, rejectedCandidates = aruco.detectMarkers(leftFrame,dictionary,parameters=parameters) leftFrame = aruco.drawDetectedMarkers(leftFrame,markerCorners,markerIds)

To check what frame is detected.

There are few pre-trained AruCo marker sets that can be accessed like:

AruCo markers can be used as a tool for path planning of the BenchBot.

Designing the AruCo markers:

Laser print design for (6x6) AruCo marker id = 0