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