I have a small issue with the tango project. I am using the following TangoCoordinateFramePair
:
framePairs.add(new TangoCoordinateFramePair(TangoPoseData.COORDINATE_FRAME_PREVIOUS_DEVICE_POSE,
TangoPoseData.COORDINATE_FRAME_DEVICE));
However, I have a small issue. Indeed, when translating my tablet along the z-axis, I can get the motion on the z-axis, but after a rotation by 90 degrees on the x-axis, when translating on the z-axis, I get a motion on the y-axis which is not normal.
This error does not happen for all the rotation/translation I have tried but from time to time I get this error. It's unfortunately often enough to make my program unstable.
I was wondering whether this has happened to someone before and if you have ideas on how to solve or at least reinforce the robustness of the program.
As for my code, it is quite simple I guess:
private void setTangoListeners() {
framePairs.add(new TangoCoordinateFramePair(TangoPoseData.COORDINATE_FRAME_PREVIOUS_DEVICE_POSE,
TangoPoseData.COORDINATE_FRAME_DEVICE));
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@SuppressLint("DefaultLocale")
@Override
public void onPoseAvailable(TangoPoseData pose) {
mView.setRotate(pose.rotation[0],pose.rotation[1],pose.rotation[2], pose.rotation[3]);
mView.setTranslate(pose.translation[0],pose.translation[1],pose.translation[2]);
}
}
Thanks in advance.