У меня возникла следующая проблема при разработке приложения Tango, и я не уверен, что я на правильном пути или нет.Плоский монтаж с данными предыдущей сессии Tango
То, что я пытаюсь достичь:
- Пользователь делает снимок. В фоновом режиме приложение сохраняет постоянное текущее облако точек и создает.
- Сервер получает это изображение и выполняет магическую обработку за сценой и отправляет (x, y) координату обратно в приложение (Async и не связан с текущей сессией Tango).
- Перезапустите приложение, запустите новую сессию танго и покажите 3D-объект в точке (x, y) с использованием сохраняющейся копии облака точек и позы.
Я ожидаю, что я буду в состоянии использовать эти параметры - (х, у), облака точек и Pose в следующем алгоритме и получить позу, которая является объектом Rajawali, что RajawaliRenderer знает, как сделать.
инициализации танго в Согласно наблюдениям следующей системе координат:
TANGO_WORLD_BASE_COORDINATE_FRAME = new TangoCoordinateFramePair(
TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION,
TangoPoseData.COORDINATE_FRAME_DEVICE
);
план Fit, используя точку пересечения -
private void convertByIntersectionPoint(float x, float y, TangoPointCloudData tangoPointCloudData, TangoPoseData devicePose, TangoPoseData colorTdepthPose) { if (tangoPointCloudData != null) { TangoSupport.IntersectionPointPlaneModelPair intersectionPointPlaneModelPair = TangoSupport.fitPlaneModelNearPoint(tangoPointCloudData, colorTdepthPose, x, y); if (devicePose.statusCode == TangoPoseData.POSE_VALID) { mRenderer.updateObjectPose( intersectionPointPlaneModelPair.intersectionPoint, intersectionPointPlaneModelPair.planeModel, devicePose); } } }
Он бросает TangoErrorException на TangoSupport.fitPlaneModelNearPoint.
Насколько я понимаю, метод fitPlaneModelNearPoint должен делать чистый алгоритм, который не полагается на текущий сеанс Tango, но я не могу быть уверен, потому что у меня нет его реализации.
Любая помощь будет оценена по достоинству.