Ask Your Question

Calculating pose of aruco markers wrt a world frame

asked 2018-06-08 07:03:21 -0600

kmath gravatar image

I am trying to detect a drone using aruco markers. I have the following setup:

I have a downward facing camera which is fixed. I have an aruco marker on the ground, which defines the world frame. I have the rotation and translation vectors of the world frame wrt the camera frame (using estimatePoseSingleMarkers). I store these vectors for use later.

I have a drone with an aruco marker on top of it. The marker is offset by around 3 cm from the center of the drone (let's call this distance markerOffset). In my main code, I use estimatePoseSingleMarkers to calculate the rotation and translation vectors of the drone marker in the camera frame.

I have the following questions:

  1. How do I compute the translation vector of the drone marker in the world frame? I have computed the rotation matrix by using Rodrigues() and multiplying the two rotation matrices. However, I am not getting accurate results with the translation vector

  2. How do I correct for the markerOffset distance to find the translation vector of the drone in the world frame?

The following picture can help set the story straight.

image description

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2018-06-11 21:29:34 -0600

Tetragramm gravatar image

Take a look at THIS question, which asks the same thing as question 1.

To correct for the markerOffset, you need the World->Marker Rotation. Transpose it to get the Marker->World, multiply your drone offset by that, and then add that to your World->Marker translation.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2018-06-08 07:03:21 -0600

Seen: 1,939 times

Last updated: Jun 11 '18