Сегодня речь пойдёт о проекте нашей соотечественницы по созданию переносного компьютера на базе коммуникатора Nokia N900 с операционной системой Maemo. Имя ему AR-Go. Проект находится на финальной стадии доработки и тестирования. В замыслах у разработчика сделать полноценный коммерческий вариант устройства для дополнённой реальности в повседневной жизни  на любых типах и размерах устройств и операционных ОС.

http://uploads.ru/t/y/s/K/ysKnE.jpg

Дополненная реальность (англ. augmented reality, AR), — термин, относящийся ко всем проектам, направленным на дополнение реальности любыми виртуальными элементами. Дополненная реальность — составляющая часть смешанной реальности (англ. mixed reality), в которую также входит «дополненная виртуальность» (когда реальные объекты интегрируются в виртуальную среду).

http://uploads.ru/t/j/C/b/jCbl4.jpg

Устройство представляет собой совокупность компактных/носимых датчиков окружающей среды человека и переносного компьютера, который обрабатывает всю полученную информацию и отправляет её в виде наложения дополнительной информации на обычное зрение человека. Эти разработки ведутся многими организациями в России и за её пределами. Но обычно мы видим готовые решения очень габаритными и не удобными. И очень дорогими, к слову сказать.

http://uploads.ru/t/2/R/r/2RrVD.png

Устройство, разрабатываемое нашей соотечественницей, интересно тем, что оно компактно, относительно доступно, имеет понятный софт. В качестве записывающей камеры выступает обычная вебка, крепится хоть на ободок головы, хоть куда хотите. В качестве наголовного дисплея разработчик взял снятый с производства (но все еще продающийся на eBay) монокуляр Eyetop Centra. Разрешение не велико — 320*240, зато можно ходить по улице.

http://uploads.ru/t/g/w/d/gwdzW.png

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

http://uploads.ru/t/F/n/B/FnB2i.jpg

N900 оказался просто находкой! Linux на борту давал максимальную свободу. Многие из нас знакомы с «пакостями» мобильных производителей: то они не дают использовать флэшку телефона для записи mp3 или avi, то отказываются устанавливать java-программы по проводу или bluetooth — только через wap/gprs! То есть «могу — но не буду!».  N900 начисто лишен подобного жлобства. Если его железо способно что-то сделать — вам скорее всего удастся найти способ это получить. К N900 по USB можно подключать практически что угодно (даже нейроконтроллер) — внешний DVD, клавиатуру, мышь, флэшки. Разработчику требовалось подключить веб-камеру и другую периферию — и N900 позволил это сделать. Однако, взять и сходу превратить N900 в носимый компьютер не удалось. Казалось бы, достаточно повесить N900 за ремешок на запястье, блок наголовника упаковать в какой-нибудь нашейный ксивник, воткнуть видеокабель очков в N900 — и все, но не тут-то было… Дико неудобно — и постоянно боишься, что жесткий видеокабель выломает гнездо смартфона. Пришлось вновь озадачиться созданием корпуса — но на этот раз не возились с картоном и кожзаменителем, а взяли готовую пластиковую коробку для радиодеталей и на базе её сделали тестовый вариант устройства.

http://uploads.ru/t/1/W/t/1WtzN.png

Пришлось проделать отверстия для проводов камеры и очков, выломать внутренние пластиковые перегородки, вставить новые из жесткого поролона, чтобы смартфон с блоком наголовника не болтались, а сидели как влитые. Заодно заказала пару кабелей — совсем короткий видеокабель вместо родного полутораметрового и провод взамен стандартного USB-переходника, не влезавшего в новый корпус.

http://uploads.ru/t/d/x/b/dxbFR.png

Убедились опытным путём, что AR-Go вполне может использоваться как спортивный компьютер, приступили к написанию программы, которая превратила бы  систему в носимый GPS-навигатор. Разработка велась на C++/Qt с использованием QtMobility. Правда заставить работать bluetooth через QtMobility  так и не удалось. Но у нас же линукс, верно? Поэтому синезубую часть удалось реализовать на BlueZ. В конце концов,  удалось сделать вполне работоспособный навигатор для дополнённой реальности, еще не бета — но уже и не альфа.

http://uploads.ru/t/E/p/r/EprPz.png

Одна из программ AR-Go уже умеет выводить карты (берутся из Google Maps, для минимизации трафика — кэшируются), позиционирует их по текущему положению, выводит время, текущую скорость, вырисовывает компас. Всё это накладывается дополнительной информацией на зрение человека. Навигатор в AR-Go умеет записывать текущий маршрут, сохранять его в файл, выводить на экран текущий маршрут и целевой маршрут, ведущий к нужной цели. Сейчас интерфейс не назвать стильным — пока его не касалась рука дизайнера. Зернистость карты объясняется невысоким разрешением наголовного дисплея, используемого в прототипе — 320х240, так что карту приходится масштабировать, чтобы названия улиц были читабельны. В релизной версии навигатора будет использоваться наголовный дисплей с разрешением 640х480 или выше. Зимой  выезжали на «полевые испытания» с профессиональными биатлонистами, чтобы опробовать, будет ли удобен созданный нами прототип в качестве лыжного тренажера. Оказалось — вполне удобен и полезен!

http://uploads.ru/t/p/J/7/pJ7zL.jpg

Весной с окончанием лыжного сезона  продолжили испытания AR-Go на велосипеде. Чего не хватает велосипедисту во время поездки? Информации перед глазами — время, скорость, пульс, и другая информация... А если еще и карту добавить — вообще сказка... Если заглянуть вперёд, то можно накладывать любую информацию из интернета, на окружающий ландшафт и обстановку, но это пока планы на будущее...

http://uploads.ru/t/N/f/U/NfUVF.jpg

Можно, конечно пользоваться укрепленным на руле велокомпьютером. Но, бросая на него взгляд, отвлекаешься от дороги. Бросить взгляд еще можно, а вот всмотреться/вчитаться в карту — уже рискованно. Для начала  опробовали нужные разработчику возможности с помощью уже готовых программ. Записали видео с наголовной камеры, глядящей вперед (этакий видеорегистратор) и смотрящей назад (зеркало заднего вида). GPS — навигацию тестировали с помощью спортивного приложения eCoach. Оказалось, пользоваться всем этим вполне удобно. Разработчику системы AR-Go езда в очках Eyetop Centra комфортна. Широкие боковые дужки очков заслоняют боковой обзор, но при изготовлении своей версии наголовника  это учтут и сделают дужки или прозрачными, или с вырезом.

http://uploads.ru/t/I/M/n/IMniw.png

Итак, прототип носимой системы получен, его не стыдно показать. Можно было бы дополнить навигатор работой с камерой, медиаплеером и другими приятными штучками. Но, посоветовавшись со знакомыми,  решили переписать приложение под другую архитектуру, с возможностью подключения модулей-плагинов. Чтобы любой желающий смог дополнить AR-Go нужной ему функциональностью. Сейчас  понемногу переписывают программу под GStreamer и параллельно  ищут единомышленников и программистов, которым было бы интересно присоединиться к разработке. Ведь потенциал системы AR-Go огромен.

http://uploads.ru/t/u/5/U/u5UIZ.jpg

Уже тестируется софт, способный определять и распознавать объекты на которые указывает человек в реальном мире. Носимый компьютер определяет указания человека ориентируясь на кончики его пальцев. Компьютер сам следит за кончиками пальцев через веб камеру и определяет положение и направление. Но этот софт ещё дорабатывается.

http://uploads.ru/t/5/j/y/5jy4K.jpg

В перспективе, если помечтать, то обладатель будущих таких устройств, просто идя по улице, может зафиксировать прохожих, определить их через фотоопределитель и найти их данные через социальные сети, со всей интересующей информацией и фотографиями. Или быстро выяснить, что за одежда и по какой цене находится на человеке, а так же где её можно приобрести. И всё это на ходу, не отрываясь от основной цели вашей прогулки. Но пока в данном проекте люди пытаются отработать больше "железо" и пользуются более простым и доступным софтом. Что касается "Ленововского железа" (Nokia N900 с операционной системой Maemo) - это всего лишь попытка подобрать "железо" для реализации тестируемого прототипа дополнённой реальности. Привязки к аппаратной платформе нет. Рассматривается одновременное развитие проекта на ARM (легче, дольше работает - более правильно с практической точки зрения), так и на x86 (доступнее для сторонних разработчиков). Что же касается ПО - оптимальный вариант для ARM - один из линуксов: нормальная система без искусственных ограничений. Под x86 кроме Линукса, видимо, будут версии под M$Win и MacOS. Так что задача программной платформы быть максимально отвязанной не только от конкретного железа, но и от конкретного типа интерфейса. Чтобы можно было максимально просто заменить один набор интерфейсных устройств/тип интерфейса на другой. При этом система должна быть доступной по цене. В этом смысле очень тщательно подбиралась периферия. Рассматривались различные варианты наголовного дисплея. Подобными вариантами устройств много лет анонсируются различными фирмами - например, Lumus Optical уже лет 10 анонсирует свою разработку, построенную на аналогичном решении - но на прилавках их девайс так и не появился. Выпускаться такие очки стали только недавно. Vuzix STAR 1200 ценой $5,000 (это без учета доставки и таможенной пошлины процентов в 30). Очки с визуальным проектором, которые использует разработчица, стоят $200 с учетом доставки в Москву, в них без проблем можно ездить на велосипеде, бегать на лыжах. Отработав на них интерфейс, его легко перенести на полупрозрачные очки - когда цена на них упадет до вменяемой. Основные задачи, которые сейчас активно оттачивают, это разработка удобного носимого интерфейса. Точнее, изобретение - каким было изобретение оконно-мышиного интерфейса во времена текстовой консоли. И то "железное" решение, которое разработчикам удалось построить - это полигон, который позволяет на практике, в "полевых", а не "лабораторных" условиях опробовать разные варианты такого интерфейса.

Теги: AR-Go, Augment Reality, Maemo/MeeGo, Nokia N900, Ростехнологии