Android vr tracker owotracker

Android vr tracker owotracker

Hand Tracking for Mobile Virtual Reality

Mobile Virtual Reality inspired by Google Cardboard (where a smartphone is placed in a cheap headset with no electronics) has lost its popularity after standalone VR headsets appeared on the market. The devices like Oculus Quest support full tracking of the real world position and rotation of the headset and a pair of controllers (or even just the user’s hands), all without any external sensors or computers, while Cardboard-like applications only track the rotation of the user’s head. We tried to create a framework that could provide a similar experience to the standalone headsets — a mobile VR application capable of tracking itself and the user’s hands in 6 degrees of freedom, all while only requiring a smartphone with a few cheap additions. We used Unity AR Foundation to achieve headset tracking and a variety of OpenCV algorithms to solve hand tracking — ArUco markers, Color Thresholding, Camshift, and deep learning approaches like OpenPose and YOLOv3. Our main focus was on testing the hand tracking algorithms, and we discovered that while they are far from perfect, the concept is feasible, and, with some improvements, the framework could become a real competitor in the space of standalone VR headsets.

Running the code

This project can be opened in Unity. It is recommended to use the version that the application was developed in — 2020.3.2f1.

The project needs the following packages from the Unity Asset Store and the Unity Package Registry to function:

  • AR Foundation (4.0.12)
  • ARCore XR Plugin (4.0.12)
  • ARKit XR Plugin (4.0.12)
  • TextMeshPro (3.0.4)
  • OpenCV for Unity (2.4.3)

The following assets are not essential but required to run the Main scene.

Once the project is set up and all the assets are installed, the application can be run in the Unity Editor. It is worth mentioning that when loading up the project for the first time, Unity can show a warning related to missing packages. It can be ignored as the packages above are indeed missing and need to be added manually.

The extended description of the process I went through while designing this as well as all the testing and final results can be found in the full text of my Bachelor thesis — Hand Tracking For Mobile Virtual Reality.

About

Android VR framework with hand tracking support

Источник

Android vr tracker owotracker

Three products, that together do amazing things!

Essential to all your virtual experience needs

The Tracker

The main tracker. It tracks you and your objects, with a plug-in port, charger and a calibrator.

The Brain

The gateway through which everything is processed. The Brain calculates all data gathered by The Camera and The Tracker.

The Camera

This camera sees your tracker, it covers a wide area and sees everything up to 10m.

Stay up to date !

…by subscribing to our monthly Newsletter

The Perks

Add movement to your VR experience

Move around in a VR world as you move in a room. This will make your VR experience much more incredible. Using at least 2 cameras, VR Tracker can track your position in any room. A unique free roaming VR experience.

Speed and precision

VR Tracker updates the position at 50FPS ! Precision is great too, and you can always improve it with more cameras. We also include smoothing algorithms and position prediction algorithms to remove any latency.

Scale as much as you want

You want to track users in more than one room ? Add as much cameras as you want and scale the tracked area, number of users, and tracking quality !

Wireless and Transportable

The system is fully Wireless ! Even better : you can use it for hours on battery. Take it with you to show VR experiences wherever you want !

All with an easy setup

A simple three step installation process

Step 1: Install our Cameras

Install the cameras inside the room, ideally one per three square meters. You will want to make sure all corners and points of the room are visible by at least one camera.

Step 2: Add our Trackers

Add our Trackers to the users headsets. You may also add them to guns or any other objects that you want your users to interact with. These little trackers are what makes the experience highly interactive.

Step 3: Plug your game and play

Create your games and add our plugins. Once the game is developed, the installation process is easy, practically a plug in and play. This will allow your experience to be highly scalable in itself.

Compatible with every VR/AR headset in the World, such as :

Источник

Июньские заметки о виртуальной реальности. Часть 3

Позиционирование, трэкинг. Full body tracking. Решения и цены

Основное, что нужно знать.

Всё, что вы можете получить, используя Oculus Go, Google Dream, Samsung Gear или мобильный телефон вложенный в шлем — это 3DoF, вращение головой. То есть вы не сможете перемещаться в пространстве, двигаясь вперед, в шлеме вроде Oculus Go. У “полноценных” шлемов типа HTC или Quest 2 куда больше степеней свободы:

Читайте также:  Отключить пароль блокировки экрана андроид самсунг

Кроме того, есть внутренний трекинг (использующий камеры на шлеме) и внешние маяки (LightHouse или так называемые базовые станции) с трекерами. Также есть камеры глубины типа кинекта и обычные камеры, считывающие маркеры/ir-светодиоды.

Подробнее о принципах FBT можно почитать в этих статьях: раз, два.

Чем хорош и интересен Full Body Tracking?

Возможность использовать ноги в качестве оружия — это качественно новый уровень погружения и интерактивности, и рано или поздно это станет игровым стандартом.

Vive trackers + LightHouse

Довольно дорогое удовольствие. Один vive tracker стоит от 10 до 17 тысяч рублей в зависимости от версии. Третий релиз трекеров легче и работают они значительно дольше. Базовая станция 2.0 обойдётся в 25 тысяч рублей, б/у станцию 1.0 можно купить за 8-12 тысяч рублей. Советуют использовать не менее 3-х трекеров.

Датчики обратно-совместимы. Можно использовать трекеры 3.0 с базовыми станциями 1.0 и 2.0. Непонятно, с какой частотой они обновляются (отслеживаются). Но вот тут есть обсуждение этого вопроса.

Базовые станции первых и вторых версий отличаются довольно сильно:

Главное, пожалуй, что БС 2 поколения могут работать до 4 штук вместе и обеспечивать трекинг до 10*10 метров, а первого — только 4*4 на 2 штуках. Но для обычного пользователя это, имхо, малоприменимо. Ну и точность трекинга выше, типа не 1 мм, а 0,1 мм, тоже не слишком важно)

  1. 2 бски могут стоять друг от друга по диагонали на 10 метров против 5 метров у первых
  2. Заявляли большую точность по сравнению с первыми станциями. В целом мне и первых БСок тут хватает — при стрельбе из снайперки на большое расстояние в Pavlov этого достаточно.
  3. Поддержка до 4-х БСок для одной зоны (вот тут точно не помню уже, может и больше). Первые только 2 б-ски поддерживают.
  4. Ещё заявляли, что меньше движущихся частей и из-за этого выше надежность. Но тут у меня сомнения, так как много слышал про поломки вторых БС-ок и очень мало про первые.


Senso Suit

Преордер костюма с 15 трекерами, в каждом из которых вибромотор для обратной связи + базовая станция), обойдется в 600$. На русских порталах продают за 200 000.

Senso известна также своими перчатками Senso Gloves DK3 — 1000$ за комплект.

На кикстартере появился Tundra tracking с более демократичными ценами, прямой конкурент HTC.

Комплекты уже включают в себя базовую станцию для отслеживания трекеров:

3 трекера 300$, 22 500р
5 трекеров 456$, 34 200р
7 трекеров 630$, 47 250р

SlimeVR Full Body Tracker Crowdfunding Pre-Launch

Также готовится к выходу SlimeVR, комплект из 5 датчиков за 140$. Про него можно сказать только то, что частота обновления будет 100 герц, и они могут работать без подзарядки до 15 часов.

Cookie-Body Tracking DK1 180°

Главная цель проекта — сделать FBT как можно более дешевым.

Работает в 120 герц, 1 cm precision, 85×55 FOV, 3m range. Обещают отдать комплект за 600 SEK (5400 руб).

Преордер обещают на Kickstarter к концу апреля.

Латенси в районе 3-5мс и трекеры не требуют батареек.

Судя по всему, это трекинг при помощи распознавания маркеров (?). В Driver4VR, например, недавно появился такой режим.

Может быть, CookieBody будет работать лучше/быстрее, чем Driver4VR?

Костюм из спандекса за 265$ c 12 IMU-трекерами и 64 точками для имитации прикосновения (ну или для ощущений от взрыва гранат) при помощи вибромоторов.

Первые, кто вложился в проект, могли заказать за 195$.

На май-июнь запланировано производство, и в июле уже будут отгружать. Также они планируют трекинг для ног и перчатки.

Костюм нативно поддерживает SteamVR, может использоваться через Driver4VR. Указано, что поддерживает следующие игры: The Age of Monsters, Sci-WAR: 2220 и Ghost Assassin VR, VR Chat, Skyrim VR, Fallout 4, Alyx.

К сожалению, не нашёл частоту обновления. Если вас заинтересует костюм — поищите у них в дискорде или в комментах на кикстартере.

Почему так дёшево? Думаю, основная причина в том, что Shockwave не использует внешний трекинг, а использует IMU (Инерционно измерительный блок) — то есть акселерометры. Такой вид трекинга можно назвать инерционным.

Пять месяцев назад многие бейкеры в комментах требовали видео с доказательством, что костюм работает. Судя по тому, что в комментах видны отменённые “заказы” — пруфы были предоставлены не в срок. Сейчас видео с демонстрацией есть, но в любом случае, будьте осторожными и оцените риски перед заказом.

Самый доступный трекинг для VR

Driver4vr позволяет использовать Kinect (1500р с авито) или PS Eye для полного трекинга тела.

Кроме того, при помощи Driver4vr можно использовать и обычные вёб-камеры + маркеры из кубиков, прикреплённые к телу.

Нативно Driver4vr не поддерживает несколько кинект-камер, а ведь именно это приходит сразу в голову. Однако это не фантастика:

Странно, конечно, что у драйвера до сих пор нет поддержки RealSense-камер, которые должны быть уже намного более технологичными, чем Kinect.

Что именно выбрать, зависит от размеров вашего кошелька. Один Kinect справляется с трекингом хуже, чем две базовых станции HTC. Но и стоимость HTC больше чуть ли не в 10 раз.

Вот здесь попытались сравнить качество трекинга Kinect/HTC:

Отмечу также, что на форумах писали, что Kinect+Driver 4VR потребляет довольно много CPU, так что непонятно, потянет ли компьютер сразу два кинекта.

*Driver 4VR не поддерживает 2 кинекта, но на ютубе можно найти демонстрацию, где задействовано несколько кинектов.

Системы перемещения в VR

Я позвонил представителям в России и представился обеспеченным человеком, который хочет купить себе версию дорожки для дома. Но оказалось, что даже вымышленный обеспеченный Я не настолько богат, чтобы себе это позволить.

10 500$ — платформа, два пояса, 4 пары обуви.
13 000$ — платформа, датчики, два пояса и 8 пар обуви.

Пока проходим мимо.

Гораздо более демократичные цены, чем у Omni — ROVR1 обойдётся в 700 евро.

Стоит, правда, отметить, что доставка таких больших и тяжелых устройств может быть довольно дорогим удовольствием.

Читайте также:  Visual studio android emulator не запускается

Первое, что хочется узнать про платформу для VR — это цена. У KAT WALK C она не то чтобы совсем неподьёмная — 1499$ (164 т.р)

Про Kat Walk на Pikabu я увидел следующий отзыв:

1) В комплекте идут резиновые накладки на ноги разных размеров с пластиковыми (скорее всего) шайбами на подошвах. Резина рвётся, шайбы царапают поверхность.

2) Делая большой шаг (а в очках естественно вы не видите края платформы ) будут постоянные зацепы за этот край. Это бесит

3) Нельзя поиграть в любую игру которую захочешь. Надо чтобы игра была оптимизирована их разработчиками. Список таких игр на прошлый год был весьма скромный. В их магазине есть и простенькие игры с уровнем графики относительно современных мобильных телефонов, НО! бесплатных там всего пару штук. За все остальные надо платить, при чём ты не можешь купить эту игру. Ты покупаешь время, которое проведёшь в игре. И цены по лично моим меркам дурные.

4) После каждого перезапуска надо делать калибровку, чтобы при физическом передвижении вперёд персонаж не двигался назад. Калибровка иногда дико выпендривается и надо ковырять вручную ПО, чтобы прописывать положение пояса.

5) Сам пояс в плане комплекции игрока вообще не универсальный, как по обхвату талии, так и по высоте человека.

6) Херовы датчики… 6 если быть точнее. Один ресивер получает данные с двух датчиков ног и ещё один получает данные с металлической оси, на которой висит пояс + датчик позади пояса в области поясницы. Далеко не всегда вся эта песня хочет синхронизироваться друг с другом.

7) Опять же, не знаю как сейчас, но мы покупали две установки, которые комплектуются терминалом, похожим на тот, в котором пополняется мобильный счёт и оплачиваются всякие гос.услуги. Большая тяжелая е**ла с отвратительной антивандальной клавиатурой, которой невозможно пользоваться.

8) Поверхность чаши покрыта несколькими трапециевидными листами то ли пластика, то ли тонкого металла. И не дай б**ь боже начнутся задираться уголки этого материала (а они априори начнут). Всё, пиз**ц. Плюс эту поверхность надо постоянно смазываться перед игрой какой-то силиконовой полиролью.

9) Ох сколько раз в кураже мы бились руками и геимпадами о металлическую трубу, которая идёт от платформы вверх и держит всю конструкцию…
Не знаю где вы нашли их за $1500, мы покупали примерно за 120000 грн каждую + растаможка и доставка обошлась примерно столь же

Гораздо интереснее и доступнее выглядит Kat loco. Комплект состоит из трёх трекеров, которые крепятся на ногах и поясе и позволяют перемещаться по VR вполне естественно. Однозначно не у всех найдется место дома, куда можно поставить большую платформу типа KAT Walk C, поэтому Kat Loco — вариант. Более подробно о нём напишу чуть ниже.

Цена вопроса — 230$

Впечатления по Kat Loco от Ивана Ивко (IXBT):

Кто не в курсе, это набор датчиков из 3 штук, на пояс и лодыжки, которые позволяют двигаться в играх за счет перемещения ног. Это шагание на месте и некоторые другие опции. Kat Loco помогают освободить руки а так же использовать датчики для захвата движений.

Сразу предупрежу, я тестил часа 2, и в игре из этого времени был минут 15, т.е. это скорее впечатления от процесса настройки, чем от игрового процесса.

1) Базовая настройка и подключение. В целом, все достаточно просто и по инструкции, но было 2 момента, на которые я убил основное время, это — Kat gateway (утилита управления) должна стартовать от имени администратора, иначе она не может взаимодействовать со SteamVR (считывать положение шлема, эмулировать контроль, встраиваться в оверлей). Это, в принципе, в FAQ на сайте описано (на 4 странице, ага), но не очевидно и без привязки к главным симптомам (только к части), как будто это редкая ситуация.

При этом сама утилита никак не сообщает, что у нее какие-то проблемы взаимодействия, просто не делает то, что должна. Минут 20 убил на эксперименты и переустановки.

— Датчики беспроводные, но для связи с компьютером и отслеживания в пространстве используется собственная базовая станция, поэтому требуется калибровка при первой установке и смене места игры (кстати, в инструкции указано, что отслеживание гарантируется при расстоянии до базовой станции от 1 до 2 метров, 1,5 оптимально).

Тут у меня произошел затык, поскольку для калибровки требуется всячески вращать датчик согласно инструкциям на экране. При первой калибровке я его вращал диодомом, обращенным к БС (что показалось логичным, т.к. именно так он будет во время игры закреплен на поясе). А по факту оказалось, что это надо делать держа диодом к себе.

К чему это привело — после первой калибровки я в играх двигался туда, куда хотел, только когда смотрел на БС, а стоило чуть чуть повернуться, направление движения поворачивалось в другую сторону. Отследить это можно прям в стиме, в оверлее есть меню Кат со статистикой, которое отображает угол поворота шелма и датчиков, и было видно, что эти углы в разные стороны меняются. Но тоже, я не сразу допер, что дело в неверной калибровке.

— Также, говоря о настройке, стоит упомянуть о необходимости калибровки направления. Тут суть в чем — глядя прямо вперед и стоя ровно жмется кнопка калибровки, в итоге синхронизируются углы поворота датчика и шлема (чтобы при дальнейших поворотах менялись равномерно). Про необходимую частоту этой калибровки в инструкции написано обтекаемо — при старте игры и если заметите неточности в определении направления движения. По факту, у меня средний датчик висел на поясе шорт и слегка сползал туда сюда, в результате чего синхронизация углов слегка сбивалось (на 10-15 градусов). И это приводило к тому, что, к примеру, когда я пытался идти вперед, в игре персонаж двигался не вперед, а под небольшим углом от этого направления. Калибровка это исправляла, но ненадолго.

Вероятно, крепить надо на ремень или т.п., чтобы жестко держалось, позже это проверю.

— Базовый режим — перемещение вперед, когда шагаешь. Именно эту часть я потестил меньше всего, т.к. была глубокая ночь, и не хотелось топать и будить соседей. Дополню отзыв позже, пока отмечу, что мне показалось недостаточной чувствительность. Я начал двигаться только когда выкрутил ее на максимум. Правда, уже после еще раз посмотрел рекламные видео, в них человек шагает не очень высоко, но часто, я же шагал реже, но высоко поднимая ноги. Мб в этом дело.

Читайте также:  Ace stream media для андроид как настроить

Даже когда датчик шагов срабатывал, была явная задержка между началом шагов и началом движения в игре, по ощущениям что то типа 0,5 — 1 секунды. Насчет быстроты остановки не скажу. Замечал при движении рывки (т.е. шагаю, двигаюсь вперед, остановился, снова начал двигаться, хотя я не прекращал шагать). Мб это было связано как раз с неправильным шаганием.

(тут отмечу, что разрабочики заявляют о поддержке румскейл, т.е. мб тут как раз логика, чтобы когда ходишь медленно, локомоушн не врубался, и можно было своими ногами по комнате перемещаться, а начинаешь часто шагать — локомоушн).

Про возможность бега не скажу. Заявлено, что чтобы бежать в игре, надо шагать еще чаще, но у меня пока и с просто перемещением проблемы)). Буду дальше тестировать.

  • Привязка направления перемещения. По умолчанию привязано к направлению шлема, однако есть опция «независимого осмотра». Т.е. можно идти куда-то и при этом вертеть головой по сторонам, смотреть в другую сторону. Фича работает.
  • Режим бокового перемещения (опция). Отставляешь ногу вбок, движется вбок. (есть еще какой-то альтернативный режим с поворотом лодыжки но я его пока не вкурил)
  • Режим Движения назад (опция). Отставляешь ногу назад, движется назад.
  • Режим «Круиза» (опция). Выставляешь ногу вперед, движется вперед.

В основном я тестировал в последних трех режимах на чувствительности по умолчанию, т.к. они «тихие». Чувствительности «по умолчанию» тут хватает. задержка начала движения +- такая же, как и при «шагании», отслеживается четко, прерываний движения нет.

  • То, что я писал выше про необходимость калибровки направления. Выставляешь вперед левую ногу, движешься вперед. Чуть покрутишься, выставляешь правую — начинаешь двигаться не вперед, а вперед и вбок.
  • (главный на мой взгляд минус) — движение в этих трех режимах дискретное. Т.е. Вперед назад влево вправо. Нельзя держа ногу впереди сдвинуть ее правее и начать двигаться вперед вправо все равно будешь двигаться вперед. Только когда совсем вправо ногу сдвинешь, начнешь двигаться уже только вправо. Написал по этому поводу разрабам, чтобы сделали непрерывную (а не дискретную) смену движения в зависимости от положения ног (что, ИМХО, логично), мб пофиксят. Это бы решило и первую проблему (калибровки), т.е. движешься чуть не туда — ну сдвинул ногу вбок и норм.

3) Поддержка в играх, возможность конфигурирования

Система, по сути, эмулирует нажатие определенных кнопок с контроллеров. Т.е. указываешь в профиле для игры, какой джойстик используется для локомоции и какая кнопка за это отвечает и вперед. ОФициальный список поддерживаемых (т.е. для которых профили протестировали) игр довольно велик, порядка 100 штук. Но наблюдаются несостыковки, к примеру, в No Man’s Sky у меня перемещение не работало, а потом я понял, что это потому, что профиль сделан под раскладку вайв махалок (т.е. движение по нажатию курка), а у меня индекс контроллеры (движение по стику). Но кастомные профили как для существующих, так и для отсутствующих игр создаются очень легко, так что это не проблема. Т.е. я бы сказал что проблем совместимости быть не должно,

Еще интересно, что нет выбора «кнопки для бега», хотя возможность перехода на бег заявлена (и даже можно указать для игры, зависит ли скорость перемещения от скорости шага или же сразу максимальная). Просто в той же NMS на индексе это не банальное нажатие на левый стик, а нажатие при беге на правый стик.

В целом, по итогам короткого теста, я бы сказал, что штука интересная, но несколько сырая, не вставил и вперед играть. Я безусловно буду еще разбираться, мб чего-то не понял или сделал не так, буду пробовать с ней играть, позже напишу впечатления, как наиграю хотя бы 10 часов.

Погонял еще Kat Loco.
Пока 10 часов не наиграл, так что не буду спешить с впечатлениями.

1) Если шагать как в рекламном ролике (т.е. часто и мелко, а не редко и высоко) — отслеживает хорошо, можно ходить без рывков.

2) В разных играх это несколько по разному. Если в Павлов рывки у меня все же случались изредка, то в но мен з скай очень плавно перемещаюсь, без рывков, при примерно одинаковом темпе ходьбы. Есть параметр-настройка для игр, коэффициент передачи движения в игру, попробую с ним поиграться, мб в этом дело (вероятно, условная мертвая зона стиков (с точки зрения игры) разная)

3) Как работает отвязка от направления контроллеров/шлема.
Судя по всему, кат считывает положение тела и (в зависимости от настроек) шлема и контроллеров. Далее если выставлена настройка «отвязать перемещение от взгляда» — при получении сигнала «движение» передает команду «наклон стика» (условно, в зависимости от того, какой контроллер используется со шлемом), причем не вперед, а в таком направлении и под таким углом, чтобы компенсировать поворот контроллеров/шлема, и двигаться в направлении тела. Видно, если бежишь вперед и машешь контроллером влево вправо, этакие рыскания, когда Кат вносит поправки на лету.

В разных играх работает по разному, в Павлове и НМС хорошо (игра была в библиотеке от разработчика), а в ходячих работает странно — ведешь контроллером правее, начинаешь двигаться слишком сильно левее и наоборот — корректировки некорректно работают. Но при этом вполне нормально работает, если выставить в настройках Кат Локо «привязка к HMD» (в игре остается привязка к направлению контроллера). Когда идешь, если смотреть в сторону, небольшое смещение вбок добавляется, но несущественно.

От 84$ за один датчик до 229$ за 5 датчиков.

Принцип примерно тот же, что у Kat Loco.

Сравнение Kat Loco и Walkovr:
WalkOVR

Источник

Оцените статью