Отслеживание 3D-объекта в единстве с sensortag
Привет, я публикую несколько вопросов по проекту, который начал разрабатывать несколько недель назад. Может быть, кто-то, кто читает, может сделать некоторые предложения
Прогнозы о вращающийся 3D объекты в виртуальной реальности, сделанные с помощью Unity. То, что я хочу сделать, это использовать SensorTag CC2650 (датчик IMU с гироскопом, акселерометром и магнитометром) для вращения 3d-объектов в VR с помощью Oculus Gear. Я хотел бы иметь такие результаты: Иду и курсового.
Я разработал Android-плагин для Unity для подключения BLE SensorTag и получения необработанных данных. И все в порядке. Плагин производит массив из 9 компонентов для гироскопа, акселерометра и магнитометра. Теперь мне приходится интегрировать фильтр, потому что данные гироскопа или акселерометра непригодны сами по себе из-за дрейфов.
Поэтому я попытался использовать алгоритм MadgwickAHRS, найденный на Страница проекта X-IMU в Единстве, но мои результаты противоречивы.
Может быть, кто-нибудь поможет мне двигаться и скажет, осуществимо ли то, что я хочу сделать.
Что я уже пробовал:
Частота дискретизации SensorTag установлена на 100 мс. Я использую Класс MadgwickAHRS и я вставляю пример кода unity просто для того, чтобы посмотреть, не является ли то, что я пытаюсь сделать, неправильным.
public class Rotation : MonoBehaviour { public AHRS.MadgwickAHRS AHRS; float rotationSpeed = 2.5f; void Start () { AHRS = new AHRS.MadgwickAHRS(0.1f); } // Update is called once per frame void Update() { AHRS.Update(deg2rad(STController.gyr[0]), deg2rad(STController.gyr[1]), deg2rad(STController.gyr[2]), STController.acc[0], STController.acc[1], STController.acc[2], STController.mag[0], STController.mag[1], STController.mag[2]); Quaternion targetRotation = new Quaternion(AHRS.Quaternion[0], AHRS.Quaternion[1], AHRS.Quaternion[2], HRS.Quaternion[3]); transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation,rotationSpeed*Time.deltaTime); } static float deg2rad(float degrees) { return (float)(Math.PI / 180) * degrees; }
Любые предложения будут оценены по достоинству.
Спасибо, Федерико.