Showing posts with label RU. Show all posts
Showing posts with label RU. Show all posts

Friday, March 6, 2015

Готовится новый выпуск WiFiLine

В разработке и тестировании находится следующая версия WiFiLine. Вот основные изменения:

  • Отладочный вывод на карту меток с результатами работы всех алгоритмов позиционирования сделан опциональным; по-умолчанию, он отключен; чтобы его включить, необходимо ввести в командной строке "debug:on";
  • слегка изменен алгоритм naive multiplier, он все еще является экспериментальным;
По итогам полевого тестирования, рекомендуемыми по-прежнему являются методы расширенного отпечатка и синтетической вероятности. Точность позиционирования - 10 метров. В одной из следующих публикаций я расскажу более подробно о вероятностном методе. Что же касается нейронной сети, то для получения с ней хороших результатов, требуется тонкая ручная подготовка исходных данных, в частности, удаление некоторых хотспотов с малоинформативными сигналами из карты.

Sunday, February 22, 2015

ОФФ: коллективное гипертекстовое литературное творчество

Не так давно я опубликовал один свой проект, никак не связанный с темой навигации, и чтобы не заводить отдельный блог по нему, решил дать краткий анонс здесь - все-таки автор один и тот же. Проект был начат много лет назад и, что называется, "лежал под сукном".

Это веб-сервис для коллективного гипертекстового литературного творчества. Если кратко, то он предназначен для коллективного написания и чтения гипертекстовых произведений с разветвленными альтернативными сюжетами, динамическим перестроением персональной версии произведения по запросу пользователя, и голосованиями по любому фрагменту, по результатам которых на лету получается наиболее популярная версия.

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

Сам сервис расположен по адресу hyperfiction-orienteer.rhcloud.com, а более подробное описание - на отдельной странице. Но одна картинка, как известно, стоит сотни слов, поэтому вот краткая презентация:

Каковы общие тенденции рынка в этом направлении? И в печатной литературе, и в электронной форме имеется много произведений с коллективным авторством. Также в интернете выложены многочисленные гипертекстовые произведения, в которых можно менять поток чтения с помощью переходов по гиперссылкам. Интерес к подобным экспериментам находится на подъеме. Интернет, проникший во все сферы жизни, подсказывает пути развития литературы в сторону её социализации (использование социальных сетей) и проактивного отношения к сюжету. Имеются многочисленные примеры форумных ролевых игр, принцип которых заключается в пошаговом описании каждым пользователем действий своего героя в ответ на описания действий героев других пользователей. Известны случаи написания произведений в виде постов в социальных сетях, включая Твиттер. В общем, существует тенденция "интернетизации" литературных форм, что включает коллективное творчество, публичную оценку, многовариантность мнений, интерактивность.

В чем слабые места вышеназванных конкурирующих инструментов? Форумным ролевым играм мешает в развитии использование неприспособленных под их специфику форумных движков. Статическим гипертекстовым произведениям не хватает интерактивности и гибкости. Закрытые коллективы авторов не позволяют пользователям самим принимать участие в творчестве и влиять на произведение хотя бы в виде оценки фрагментов. Все элементы предлагаются разрозненно, и полноценной системы для коллективного, интерактивного, многовариантного создания произведений не существует. Ну или не существовало.

Данный проект - одно из возможных решений.

Wednesday, February 4, 2015

Режим отображения карты с изменяющимся азимутом

Для следующей версии WiFiLine готовится новый способ отображения карты в режиме навигации. В нем карта постоянно поворачивается в соответствии с текущим направлением "взгляда" пользователя. Это позволяет проще ориентироваться на местности, однако может затруднить чтение надписей на карте.

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

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

В режиме редактирования и анализа WiFi сигналов данный способ ориентации недоступен, чтобы не осложнять пользователю работу с функциями редактирования.

Tuesday, January 20, 2015

Опубликована новая демо-карта

На сервер добавлена новая карта навигации для торгово-развлекательного центра "Калейдоскоп" (её изображение уже было опубликовано в сообщении More details about future version of WiFiLine: part III). Это демо-версия - в ней имеется лишь первый этаж, причем без детализации о конкретных торговых объектах и без поиска. Однако она позволяет оценить навигацию по холлам.

Карта была получена с использованием нового режима сканирования в движении. Именно поэтому точек сканирования так много, и они расположены по прямым линиям. После сканирования были использованы встроенные функции "Генерации соседей" и "Генерации дополнительных измерений" (об этой возможности рассказывалось в анонсе версии 1.0.18).

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

Monday, January 19, 2015

Выпущена новая основная версия WiFiLine

Я рад сообщить, что выпущена версия WiFiLine 1.1.0. Приложение значительно переработано.

Главные изменения:

* Современный интерфейс пользователя с выдвижными панелями с левой и правой границ экрана;
* Новый режим навигации - наивный умножитель;
* Многочисленные новые функции (например, удаление хотспота, отмена последнего сканирования и пр.);

Некоторые из новых возможностей уже описывались в этом блоге. О других еще будет рассказано.

Логотип программы также изменился. К сожалению в Андроиде есть давнишний баг: иконки обновленных программ не "подхватываются" системой. Поэтому Вы можете не увидеть новую иконку, если не удалите и не переустановите программу заново.

Обратите внимание, что WiFiLine - полнофункциональное приложение для навигации и создания карт: Вам не нужно использовать WiFiLine Редактор. WiFiLine Редактор не был обновлен, поэтому его можно использовать, если возникают какие-либо специфические проблемы с этой новой версией.

Wednesday, December 24, 2014

Выпущена версия WiFiLine 1.0.18


Изменения в этой версии:

  • Улучшено качество позиционирования (если Вы обнаружите затруднения, дайте мне знать).
  • Добавлен режим сканирования на ходу. Он включается при выборе количества сканирований в одной точке равным 1. В этом режиме после первого касания экрана запускается "бесконечное" сканирование до момента второго касания. За это время сканирующий должен двигаться на местности по прямой с постоянной скоростью. Программа разместит на карте все полученные за это время данные в виде отдельных точек на прямой между начальной и конечной точками, исходя из временных меток каждого отсчета.
  • В инспектор карты добавлена функция генерации измерений, имеющая смысл для карт полученных с помощью сканирования на ходу. В такой карте в каждой точке содержится только одно измерение. Суть данной функции в том, чтобы сгенерировать для каждой точки дополнительные измерения - они берутся из соседних точек в пределах заданного радиуса. Это позволяет строить более плавное распределение сигналов.
  • Добавлена настройка по выбору радиуса ближайшего окружения. В режиме сканирования - это радиус в метрах, в пределах которого генерируются дополнительные сигналы, описанные выше. В режиме локации - это радиус в точках, в пределах которого может меняться положение пользователя - при превышении данного радиуса новое положение пользователя определяется как ближайшая к нему точка на пути к новому положению, которое находится неправдоподобно далеко (за пределами радиуса).
  • В режиме навигации программа теперь последовательно вызывает все алгоритмы и выводит на экран желтые метки для каждого из них. Это позволяет оценить эффективность методов при различных условиях. Текущее положение пользователя отображается как прежде - на основе результата выбранного в настройках алгоритма. Для того чтобы среди вспомогательных меток появилась нейронная сеть, её необходимо предварительно проинициализировать, выбрав в качестве основного метода. Потом можно переключиться обратно на любой другой алгоритм.
  • Исправлена работа компаса.

Saturday, December 7, 2013

Через WiFi напрямую к знакомствам

Я знаю некоторые ждут новостей о WiFiLine, и этот пост может показаться именно такой весточкой, но это, к сожалению или счастью, не так. Я только что выпустил новое приложение для Андроид - DirectDating. Как легко догадаться из названия, оно не имеет никакого отношения к навигации. И все же оно связано с WiFiLine, и не только тем, что у них один автор, а потому, что также использует технологию WiFi. Более конкретно, оно построено на основе нового стандарта WiFi Direct (Peer-to-Peer, т.е. напрямую между устройствами) и его функции обнаружения сервисов (WiFi Direct Service Discovery).

Это была сложная, но интересная задача, и я рад, что с ней справился. Я приглашаю вас попробовать новое приложение и поделиться им со своими друзьями. Вы можете найти приложение в Google Play.

Thursday, October 17, 2013

Преимущества WiFiLine

Навигация в помещениях все еще остается развивающимся рынком, и те несколько продуктов, которые предоставляют функционал, схожий с WiFiLine, либо находятся в стадии предварительных превью, либо готовы для коммерческого использования, но только при наличии специальной "железочной" инфраструктуры. Это повод напомнить о преимуществах WiFiLine:
  1. Программа бесплатна.
  2. Она строится на открытых стандартах и хорошо документирована, например, формат карты - это XML/SVG; никаких патентных и юридических казусов.
  3. Она работает с локальными картами, сохраненными на устройстве, не завися от сервера и подключения к Интернету.
  4. На месте (в помещении) не требуется разворачивать никаких специальных устройств (обычно дорогостоящих).
  5. Векторный формат карты (SVG) обеспечивает качество изображения, высокий уровень детализации, богатые возможности выбора масштаба.
  6. Вы можете работать с собственными картами, используя WiFiLine Редактор.
Между прочим, теперь я понял (или по крайней мере, думаю, что понял), как можно использовать окружающее магнитное поле для навигации, о чем шла речь в одной из предыдущих заметок - Использование магнитного поля Земли в навигации внутри помещений. Это направление потребует кое-каких исследований, но идея ясна и только ждет создания прототипа. О результатах я сообщу.

Monday, September 16, 2013

Вышла версия WiFiLine 1.0.16

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

Tuesday, May 7, 2013

Выпущена очередная версия с исправлениями

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

Wednesday, December 26, 2012

Вышла версия WiFiLine 1.0.12

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

С Новым Годом и Рождеством!

Friday, December 7, 2012

Использование магнитного поля Земли в навигации внутри помещений

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

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

Было бы здорово иметь вездесущий "опорный сигнал" вместо WiFi-точек доступа. Это позволило бы осуществлять навигацию во всех местах, включая и те, где плохое покрытие сетью WiFi.

Проходили сообщения об уже существующем подобном приложении для Андроид, хотя само приложение явно экспериментальное и недоступно широкой публике.

Я решил проверить данный подход. Если кратко, то результаты отрицательные, по крайней мере пока.

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

Помимо этой нестабильности самого магнитного поля возникает еще одна сложность, связанная с тем, что изменение ориентации мобильного устройства в пространстве приводит к тому, что 3 сенсора, размещенные в трех взаимно-перпендикулярных осях, по-разному участвуют в процессе. Например, если вы сняли показание 15 микро-Тесла по оси X устройства, повернули его на 90 градусов и измеряете то же самое направление, но уже по оси Y, вы никогда не получите одинаковые значения. Это значит, что требуется некая калибровка каждого устройства, прежде чем магнитные сенсоры могут использоваться. В качестве альтернативы можно было бы оставлять только амплитуду поля, но такое снижение размерности с 3 до 1 дает слишком мало информации для составления уникальной магнитной картины каждой точки.

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

Если у вас есть идея, дайте знать.

Saturday, November 10, 2012

Выпущена версия WiFiLine 1.0.11

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

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

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

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

Если после этого нажать OK, приложение запросит подтверждение на начало обучения. Этот процесс может занять некоторое время, в зависимости от объема WiFi-данных в текущей карте.

Во время этого процесса приложение выводит диалог прогресса с информацией о текущей фазе и номере цикла внутри фазы. Количество фаз всего 2, но количество циклов может существенно меняться. Максимум - 1000, но обычно обучение требует гораздо меньшего числа. По времени это - несколько секунд.

После того как сеть обучена, диалог прогресса удаляется и показывается всплывающее уведомление "Готово". Теперь можно определять текущее положение точно таким же образом, как это делается при любом другом выбранном алгоритме.

Для обучения нейронной сети требуется достаточное количество WiFi-данных в карте, поэтому накладываются следующие ограничения: в карте должно быть минимум 30 точек измерения и 3 точки доступа. Если данных меньше, сеть не будет использоваться.

Если вернуться в диалог Настроек и выбрать другой алгоритм позиционирования, приложение спросит, нужно ли удалить существующую нейронную сеть. Обычно следует отвечать "Нет", что сохранит сеть, и в следующий раз, когда она будет включена, её не потребуется обучать снова.

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

Как Вы знаете, нейронные сети имеют огромное количество настраиваемых параметров - число входов, конфигурация и размер сети, скорость обучения, предобработка данных и т.д. Все эти сложности скрыты здесь от пользователей, но за счет того, что параметры подстраиваются автоматически на основе некоторых практических соображений. К сожалению, такая "автоматизация" накладывает ограничения на общую гибкость нейросетевого подхода. Таким образом, могут встретиться случаи с такими WiFi-измерениями, которые создадут трудности для конкретной нейронной сети.

Теперь WiFiLine имеет 4 алгоритма позиционирования, и чуть позже я возможно сравню их более подробно.

Tuesday, November 6, 2012

Можно ли использовать информацию о сотовом сигнале в позиционировании?

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

К сожалению, после нескольких тестов я должен констатировать, что информация о соседних сотовых башнях не подходит для этой задачи.

Во-первых, список GSM и UMTS сот по-разному формируется в устройствах разных производителей. Во-вторых, список быстро меняется и выглядит обрезанным, скорее всего, специально из соображений оптимизации расходования ресурсов. В-третьих, уровень сигнала может заметно меняться за короткий промежуток времени, что можно отнести, по-видимому, к побочному эффекту от взаимных радио помех в плотном поле, которое формируется в крупных городах. Наконец, даже если бы информация о сотах была стабильной, потребовалось бы повторять сканирование каждого объекта несколько раз по числу наиболее популярных операторов связи, что может составить достаточно большое число.

Вывод следующий: информация о сотовых сигналах не будет использоваться в WiFiLine по крайней мере в ближайшее время.

Wednesday, October 24, 2012

Кое-какая информация из-за кулис

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

В общих чертах список выглядит следующим образом:
  • использование нейронных сетей для лучшего позиционирования;
  • упрощение сканирования объектов "на ходу", с перемещением по прямым линиям;
  • вращение карты согласно текущему направлению движения пользователя;
  • что-то вроде "дополненной реальности" с фотографиями и видео;
Хотя я имею некоторый опыт работы с нейронными сетями, но никогда не использовал их в навигации, так что эта работа - своего рода исследование. Некоторые тесты уже проходят, но пока еще не на реальных объектах.

Другие направления выглядят более предсказуемо, но могут потребовать много рутинной работы.

В моем списке "to do" есть и другие пункты, но они "секретные" ;-), потому что одновременно и многообещающи и непредсказуемы (т.е. они могут как привнести нечто новое, так и "провалиться"), поэтому я не хочу, чтобы кто-либо обманывался в своих ожиданиях.

Friday, September 28, 2012

Готова версия 1.0.10 WiFiLine

В этой версии улучшен экран настроек. Вот как он выглядит теперь:

Saturday, September 22, 2012

Выпущена версия 1.0.9 WiFiLine

Пришло время следующей версии WiFiLine и WiFiLine Редактора. Версия 1.0.9 содержит исправления незначительных ошибок.

Monday, September 17, 2012

Редактор WiFiLine - теперь с расширенным функционалом

Только что выпущена версия 1.0.8 редактора WiFiLine. Помимо возможностей создания и редактирования WiFi-карт, эта версия предоставляет полный набор функций навигации и тестирования карт. Теперь это все доступно в едином приложении.

Monday, September 10, 2012

Выпущена версия WiFiLine 1.0.7

После небольшого летнего перерыва вышла новая версия WiFiLine.

Изменения в этой версии:
  • Работа с сенсорным экраном оптимизирована для экранов с HD разрешением;
  • Время таймаута WiFi-сканирования увеличено до 15 секунд;
  • Интерфейс переведен на испанский (благодаря Д.Д.Морено);
Надеюсь эти улучшения решат проблемы, которые могли возникать у некоторых пользователей.

Friday, August 31, 2012

О важности скорости WiFi сканирования

Выяснилось, что пользователи некоторых Андроид-устройств часто получают таймауты во время WiFi-сканирования, используя WiFiLine. Дело в том, что WiFiLine имеет 3-секундный таймаут по умолчанию, в который медленные устройства не вписываются. Говоря "медленный", я имею в виду медленные по WiFi сканированию, а не как либо еще (по скорости работы процессора или графики). Как ни странно, многие современные аппараты Samsung, такие как Galaxy S2 и S3, тоже относятся к числу медленных. Они выполняют одиночное WiFi сканирование за 6 секунд. Поскольку основная функция WiFiLine сканирование WiFi окружения, и делать это нужно максимально быстро, подобные медленные устройства становятся практически бесполезными для любого рода WiFi-позиционирования (не только с применением WiFiLine) - просто потому что им требуется недопустимо много времени для определения положения пользователя. В следующей версии WiFiLine таймаут будет увеличен и сообщения о таймаутах пропадут, но тем не менее, использование медленных устройств делает всю идею непрактичной.

Вот совет от службы поддержки Samsung, который может ускорить WiFi сканирование.

Если вы имеете такую возможность, выполните следующие действия:
  1. Откройте номеронабератель
  2. Введите *#0011#
  3. Когда увидите экран "ServiceMode", нажмите кнопку "влево"
  4. Выберите "WiFi"
  5. Убедитесь, что переключатель "Wifi Power Save Mode" в положении "ON" - отключите его в положение "OFF"
  6. Выйдите из меню, выключите WiFi и включите снова.
Если уже были введены какие-либо WiFi-данные (пароли, PIN-ы и пр.), удалите информацию о вашей сети и введите данные заново.


Надеюсь это поможет улучшить производительность WiFiLine.

Если Вы планируете в будущем приобретать мобильное устройство, обращайте внимание на такой момент, как скорость работы WiFi-сканирования - она может пригодиться.