# Problem with Coordinate Transformation

So I have a quad with a black-box estimator on it. The black box estimates the pose of the quad. I also have a Vicon system that I'm using to get the ground truth pose of the quad. I'm trying to transform the output from the black-box system into the coordinate frame of the Vicon system so I can compare the two.

I have two series' of points recorded using the whole setup that I am trying to use to compute this transformation (from one world frame to the other world frame).

If you're not familiar, it is possible to compute a transformation between two frames given a set of points in each frame.

I have implemented the method described in the paper Least-Squares Rigid Motion Using SVD

But I'm getting wonky results:

If it's not clear, if the transformation were working correctly, the points labeled 'transformed' displayed on the graph below would roughly overlap with those labeled 'Vicon'. As you can see, they only overlap for less than half a second.

Any suggestions? Ideas about what could be wrong?

• Can you post example data and code? Or just example code? it is hard to tell what might be the problem might be from just the graph Commented May 31, 2017 at 20:15
• To reiterate what @MarkOmo said: how exactly are you getting those results? Maybe you're only running through the first 0.5 seconds of data. Maybe you're using degrees as though they were radians. The paper read like you should get only one rotation and only one translation, but it looks like you have a scale term also somehow, which is compressing your raw points. Maybe the rotation matrix isn't pure rotation? Point is, without code and numbers, it's a lot of guessing. You can get better answers, and faster, by providing as much (relevant!) information as possible.
– Chuck
Commented Jun 1, 2017 at 3:29