Robossembler - Открытая робототехника
570 subscribers
44 photos
8 videos
2 files
209 links
Ваш персональный фронтир в борьбе роботов за лучшее будущее для кожаных мешков. Open Source Robotics и всё такое. По вопросам сотрудничества пишите @brylev, наш сайт robossembler.org
Download Telegram
​​Реально-виртуальный континуум

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

Однако, по мере рассмотрения реальных жизненных ситуаций, оказалось, что такой подход имеет свои ограничения. Например, каким образом описать ситуацию, когда у нас есть реальный датчик (например, 3D-сканер), но при этом самого реального робота нет, а есть только его виртуальная модель? А ведь такой сценарий всё равно лучше, чем полностью виртуальный - мы сканируем захватываемый роботом предмет, достраиваем её модель в виртуальной среде и хватаем роботом. А ведь таких комбинаций реальных и не очень систем может быть бесчётное множество!

Всё это натолкнуло нас на мысли об отказе от дискретной модели перехода от виртуальности к реальности и поиску альтернативного способа описания. Одним из таких способов является модель Пола Милграма (нет, не нобелевский лауреат по экономике, другой) - реально-виртуальный континуум - способ описания плавного перехода от полной виртуальности к полной реальности через дополненную виртуальность (AV, когда элементы реального мира добавляются в симуляцию) и дополненную реальность (AR, когда элементы виртуального мира добавляются в реальность). Рассмотрение подобного рода модели для решения задач сборки натолкнула нас на ряд других отнологических/терминологических проблем - например, как назвать процесс объединения образа предмета в будущем с образом предмета в настоящем? Вот есть целевое состояние системы "предмет перемещён" и есть его виртуальный образ, а есть текущее состояние "предмет где-то стоит в другом месте". По ходу перемещения предмета (в реальности или виртуальности - неважно) мы сопоставляем текущее состояние с будущим и когда они начинают друг с другом совпадать, то мы считаем наш план осуществлённым. Виртуальность как раз и хороша тем, что позволяет строить будущие состояния, тогда как реальность у нас - одна единственная. Событие совпадения запланированного и текущего один из наших разработчиков назвал merge (слияние). Если проводить аналогию с git, то создавая ветку в репозитории, мы формируем будущее состояние кода, а когда сливаем эту ветку в основную, то соединяем их вместе - делаем будущее состояние текущим.

Могут появиться и другие термины, описывающие подобного рода модель на практике. Поживём-увидим. Очень интересное на мой взгляд направление, сильно переплетённое с фундаментальными представлениями об информации и мире в целом.

#vr #ar #simulation