У меня небольшая проблема с проектом танго. Я использую следующие TangoCoordinateFramePair
:
framePairs.add(new TangoCoordinateFramePair(TangoPoseData.COORDINATE_FRAME_PREVIOUS_DEVICE_POSE,
TangoPoseData.COORDINATE_FRAME_DEVICE));
Однако у меня есть небольшая проблема. Действительно, при перемещении моего планшета по оси z я могу получить движение по оси z, но после поворота на 90 градусов по оси x при перемещении по оси z я получаю движение по оси z. ось Y, которая не является нормальной.
Эта ошибка не возникает для всех поворотов/переводов, которые я пробовал, но время от времени я получаю эту ошибку. К сожалению, этого достаточно часто, чтобы сделать мою программу нестабильной.
Мне было интересно, случалось ли это с кем-то раньше, и есть ли у вас идеи о том, как решить или хотя бы усилить надежность программы.
Что касается моего кода, я думаю, он довольно прост:
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]);
}
}
Заранее спасибо.