Find the coordinates of the rotation origin

137 Views Asked by At

Let's say I have a point $P$ located at the end of an arm of a known length $L$. I know the coordinates $(x,y,z)$ of P after it has been rotated around the origin, which is located at the other end of the arm. I also have the 3x3 rotation matrix.

For context, the $(x,y,z)$ coordinates come from a GPS mounted on a drone (and have been transformed to local coordinates), while the rotation data is from a sensor located in the center of a drone. The distance between these points is $L$ and is known.

Having this information, how can I determine the coordinates $(a,b,c)$ of the origin of rotation, i.e. the center of the drone?

1

There are 1 best solutions below

1
On BEST ANSWER

The $(x,y,z)$ position is given by $$(x,y,z)^T=(a,b,c)^T+R(0,0,L)^T$$ That means that when the drone is at the origin, and the rotation matrix is the identity, then the point $P$ is at $(0,0,L)$. From the above equation you can then get $(a,b,c)$ by moving the rotation term to the other side.