I'm looking to get the x,y,z location of each object which has been recognized in view. I'm working with the Epson BT-200 glasses in Android.
Working within the Object Recognition sample app I take the TrackableResult and get the pose matrix and convert it to a 4x4 GL matrix like so:
Matrix44F matrix = Tool.convertPose2GLMatrix(result.getPose());
But my results seems screwy: It seems the position is located in the matrix at 12, 13, and 14 but the 'position' varies wildly even though there is no movement of the glasses or objects. For example from the position taken at one second intervals came out as:
-300.63974 | -164.60898 | 603.5113
-285.77823 | 27.967667 | 752.85986
Which seems like quite a lot of movement for no, er, movement. Am I simply looking in the incorrect place for the location of the recognized object? Or is there additional math I need to do to compute the position? Additionally I am using these positions to compute the distance between two recognized objects and I only sometimes seems to get an equal distance. Other times the distance I compute using the positions vary wildly (obj1 is 2 units away from obj2 while obj2 thinks it's -187 units away from obj1 with no movement).
As an aside - it does seem like my question has been answered in other forum topics but most of the answers are at 'http://ar.qualcomm.at/node/....' which no longer exists. It would be helpful if these links were updated.
Thanks for your help.