Руководство пользователя AzimuthWebSuite
Версия: 1.6.0
Содержание
- Введение
- Установка и запуск
- Интерфейс
- Подключение оборудования
- Топопривязка
- Режим «⚓ По опорным маякам»
- Работа с маяками
- Треки
- Калибровка
- Точки интереса (POI)
- Запись и воспроизведение логов
- Анализ логов
- Экспорт данных
- Отчёт DRMS
- Линейка
- Темы оформления
- Настройки
- Горячие клавиши и жесты
- Форматы файлов
- Устранение неполадок
Введение
AzimuthWebSuite — браузерное приложение для работы с гидроакустической системой позиционирования Zima2 USBL.
Основные сценарии использования
- Поиск и отслеживание подводных объектов — маяков-ответчиков, установленных на ТНПА, водолазов, стационарные объекты
- Навигация ТНПА — отображение положения относительно судна в реальном времени
- Работа без GNSS — определение позиции судна по опорным маякам с известными координатами (режим ⚓)
- Калибровка антенны — компенсация инструментальных ошибок USBL-антенны
- Анализ точности — расчёт DRMS по трекам маяков
- Документирование работ — запись логов, экспорт треков, отметка находок (POI)
Системные требования
- Браузер на базе Chromium (Chrome 89+, Edge 89+, Opera 75+)
- Web Serial API (включён по умолчанию)
- Разрешение экрана от 480×800 (адаптивный дизайн)
Установка и запуск
Онлайн-версия
Основная версия приложения доступна по адресу docs.unavlab.com/AzimuthWebSuite.
Данное руководство описывает русский интерфейс в ветке локализации. Эти изменения локализации не опубликованы в основной онлайн-версии.
Локальный запуск
- Скачайте все файлы из репозитория.
- Поместите их в одну папку, сохранив структуру подпапок репозитория.
- Откройте
index.html в браузере.
Сервер не требуется. Приложение работает полностью на клиенте.
Android
Используйте UCNL Launcher — обёртку WebView с поддержкой Web Serial API.
Интерфейс
Язык
Переключатель Язык в верхней панели позволяет выбрать Русский или English. Интерфейс переключается мгновенно, без перезагрузки страницы. Выбранный язык сохраняется в браузере и восстанавливается при следующем запуске.
Подробности о каталогах переводов и добавлении языка см. в Локализации.
Мастер начальной настройки
При первом запуске приложения автоматически открывается мастер настройки. Он помогает быстро сконфигурировать режим работы антенны без изучения всех настроек.
Мастер состоит из двух, трёх или четырёх шагов в зависимости от выбранного режима.
Шаг 1: Режим антенны
 |
| Мастер настройки — выбор подвижности антенны |
- Неподвижна — антенна зафиксирована (пирс, стоящее судно). Можно работать в метрических координатах X, Y, Z без топопривязки.
- Движется — антенна на подвижном судне. Требуется внешний GNSS-компас.
Шаг 2: Опорные маяки
 |
| Мастер спрашивает, есть ли маяк с известными координатами, который можно использовать как опорный |
- Нет — работа в обычном режиме (географический или декартов).
- Да, буду использовать ⚓ — включается режим «⚓ По опорным маякам». Позиция судна вычисляется по известному маяку без GNSS. Мастер завершается сразу, и открывается панель «⚓ Опорные маяки». Для задания курса антенны нажмите 🧭 Задать курс в этой панели — откроется топопривязка в режиме «🧭 Только курс».
Опорный маяк — это маяк-ответчик, координаты которого точно известны (например, установлен на дне в известной точке или на буе с известной позицией).
Шаг 3а: Координаты (для неподвижной антенны)
Если антенна неподвижна, мастер предлагает выбор:
- Нет, работать в метрах X, Y, Z — включается декартов режим. Антенна считается в точке (0, 0, 0), координаты маяков отображаются в метрах: X → вправо, Y → вперёд, Z → глубина. Топопривязка не требуется.
- Да, сейчас введу — включается географический режим и сразу открывается панель ручной топопривязки для ввода координат и курса.
Шаг 3б: GNSS-компас (для подвижной антенны)
Если антенна подвижна, мастер предлагает подключить внешний GNSS-компас:
- Выберите скорость порта (4800–115200 бод, по умолчанию 38400)
- Нажмите 📡 Подключить и проверить
- Статус покажет результат подключения: «✓ Подключен» или «✗ Не подключен»
- Нажмите Готово ✓ для завершения настройки
Завершение
На последнем шаге доступна опция «Больше не показывать» — мастер не будет открываться при следующих запусках.
Вызвать мастер повторно можно через 🔧 Инструменты → ⚙ Мастер настройки.
Режимы работы
| Режим |
Антенна |
Координаты маяков |
Топопривязка |
| Декартов |
Неподвижна (0,0,0) |
X, Y, Z в метрах |
Не требуется |
| Географический |
По GNSS или вручную |
Широта, долгота |
Обязательна |
| ⚓ По опорным маякам |
Вычисляется по опорному маяку |
Широта, долгота |
Не требуется, но нужен опорный маяк |
Сводка по функциям в разных режимах работы
| Функция |
🌍 Географический |
📐 Декартов |
⚓ По опорным |
| Данные маяков |
lat,lon,Z (depth) |
X,Y,Z (метры) |
lat,lon,Z (depth) |
| Топопривязка |
✅ нужна (lat/lon + курс) |
❌ не нужна |
🧭 только курс (или GNSS) |
| GNSS-компас |
✅ требуется (или ручная топопривязка) |
❌ не требуется/игнорируется |
✅ нужен (для курса) |
| GNSS-позиция |
✅ используется |
❌ игнорируется |
ℹ️ отображается для сравнения |
| Опорный маяк |
❌ |
❌ |
✅ обязателен (1+) |
| DH-фильтр маяков |
✅ |
✅ |
✅ |
| DH-фильтр судна |
❌ |
❌ |
✅ |
| Сглаживание маяков |
✅ |
✅ |
✅ |
| Трек станции |
✅ пишется и отображается |
❌ не пишется |
✅ пишется (по позиции из опорных) |
| Треки маяков |
✅ пишутся и отображаются |
✅ пишутся и отображаются |
✅ пишутся (только искомые) |
| Калибровка φ (применение) |
✅ |
✅ |
✅ |
| Калибровка φ (сбор данных) |
✅ |
❌ |
❌ |
| Калибровка φ по известной точке |
✅ |
❌ |
✅ |
| Калибровка таблицы (применение) |
✅ |
✅ |
✅ |
| Калибровка таблицы (сбор данных) |
✅ |
❌ |
❌ |
| POI |
✅ отображаются |
❌ скрыты |
✅ отображаются |
| Экспорт CSV |
✅ lat,lon,Z (depth) |
✅ X,Y,Z |
✅ lat,lon,Z (depth) |
| Экспорт GGA |
✅ |
❌ |
✅ |
| Экспорт KML |
✅ |
❌ |
✅ |
| Экспорт PSIMSSB |
✅ |
✅ (использует xM/yM) |
✅ |
| Экспорт PSIMSSB UTM |
✅ |
❌ |
✅ |
| Отчёт DRMS |
✅ |
❌ |
✅ |
| Линейка |
✅ |
✅ |
✅ |
| Стартовый мастер |
✅ |
✅ |
✅ |
📐 Декартов режим — для неподвижной антенны без GNSS. Быстрый старт, работа в метрах, CSV с XYZ.
🌍 Географический режим — для подвижной антенны с GNSS или известной топопривязкой. Полный функционал.
Верхняя панель
 |
| Верхняя панель приложения |
| Элемент |
Описание |
| Индикатор |
Зелёный — подключено, жёлтый (мигает) — опрос активен, красный — не подключено |
| Название устройства |
Zima2 USBL (после опроса — модель и серийный номер). При подключении маяка-ответчика дополнительно отображается кнопка ‘⚙’ настроек маяка |
| Строка статуса |
Текущее состояние / последнее действие |
Кнопки управления
| Кнопка |
Назначение |
| 🎨 |
Циклическое переключение тем |
| 🔌/⏏ AZM |
Подключение/отключение Zima2 |
| 📡/⏏ GNSS |
Подключение/отключение внешнего GNSS-компаса |
| ▶/⏸ Опрос |
Запуск/остановка опроса маяков |
| ⚙ Настройки |
Открыть окно настроек |
| 🔧 Инструменты |
Выпадающее меню: топопривязка, POI, калибровки, DRMS, конвертер координат |
| 📤 Экспорт |
Выпадающее меню: CSV, GGA, PSIMSSB, KML |
| 📋 Лог |
Выпадающее меню: сохранить, открыть, анализ, воспроизвести |
Карта
 |
| Панель карты |
- Центр — антенна USBL (ромб)
- Направление — красная линия от антенны (курс)
- Маяки — цветные круги с номерами
- Сетка — ячейки постоянного размера в пикселях, оси — через центр антенны
- Масштабная линейка — в правом нижнем углу
Кнопки управления
| Кнопка |
Назначение |
| Треки |
Переключение отображения треков |
| Очистить |
Удаление накопленных треков |
| Линейка |
Включение/Выключение инструмента для измерения расстояний на панели карты |
| Прогресс воспроизведения лога |
Только при воспроизведении лога (файла журнала) |
| - |
Только при воспроизведении лога (файла журнала). Уменьшить скорость воспроизведения |
| 1x/2x/4x/8x |
Только при воспроизведении лога (файла журнала). Текущая скорость воспроизведения |
| + |
Только при воспроизведении лога (файла журнала). Увеличить скорость воспроизведения |
Панель маяков
 |
| Панель маяков |
В нижней части экрана — карточки всех активных маяков:
- Номер, дистанция, азимут, глубина
- Уровень сигнала (dB)
- Напряжение батареи маяка (V) и температура воды (°C)
- Координаты (если есть топопривязка)
- Возраст данных (с) — зелёный/жёлтый/красный
- Кнопка 📌 — отметить текущее положение маяка как POI
Клик по карточке маяка — поместить и удерживать в центре панели карты указанный маяк.
Информация об антенне
 |
| Карточка антенны |
В левом верхнем углу карты:
- Широта, долгота
- Азимут (Heading)
- Скорость и курс движения (SOG/COG)
- Глубина, температура воды
- Углы крена и дифферента (Pitch/Roll)
Клик по карточке антенны — поместить и удерживать в центре панели карты антенну.
Подключение оборудования
Zima2 USBL
- Подключите Zima2 к USB-порту (или через преобразователь RS-232/RS-422)
- Нажмите 🔌 AZM
- Выберите порт в диалоге браузера
- Скорость: 9600 бод (по умолчанию)
- После подключения автоматически запросится информация об устройстве
- После получения информации автоматически запустится опрос маяков
Важно: Не отключайте питание Zima2 во время опроса. Если опрос активен, индикатор мигает жёлтым.
Внешний GNSS-компас
- Подключите GNSS-приёмник ко второму порту
- Нажмите 📡 GNSS
- Выберите порт
- Скорость по умолчанию: 38400 бод (настраивается в ⚙ Настройки)
Поддерживаемые сообщения NMEA 0183:
$xxRMC — координаты, скорость, курс
$xxHDT — истинный курс (предпочтительный)
$xxHDM — магнитный курс
Топопривязка
Для отображения маяков в географических координатах необходима топопривязка — координаты и курс антенны.
Автоматическая топопривязка
При подключении внешнего GNSS-компаса позиция и курс обновляются автоматически.
Ручная топопривязка
- Откройте 🔧 Инструменты → 🌐 Ручная топопривязка
- Выберите режим в верхней части панели:
- 🌍 Полная (lat/lon + курс) — задаются координаты и курс антенны (стандартный режим для
geographic)
- 🧭 Только курс (для ⚓) — задаётся только курс; координаты будут вычислены по опорным маякам (для режима
beacon_referenced)
- Введите:
- Широту (градусы, -90…+90) — только в режиме «Полная»
- Долготу (градусы, -180…+180) — только в режиме «Полная»
- Курс (градусы, 0…360) — в обоих режимах
- Нажмите ✓ Применить
В режиме ⚓ По опорным маякам панель автоматически открывается в режиме «🧭 Только курс», а поля широты и долготы блокируются с плейсхолдером «(по опорным)».
Режим «🧭 Только курс»
Используется в режиме ⚓ По опорным маякам, когда координаты антенны неизвестны, но нужно задать её направление (курс).
Когда использовать:
- Отладка и оценка точности режима ⚓
- Статичная антенна без GNSS-компаса
- Нужно зафиксировать курс и наблюдать разброс вычисленной позиции судна
Порядок действий:
- Откройте панель топопривязки (любым способом):
- 🔧 Инструменты → 🌐 Ручная топопривязка
- или нажмите 🧭 Задать курс в панели ⚓ Опорные маяки
- Убедитесь, что выбран режим 🧭 Только курс (для ⚓)
- Введите курс антенны (0–360°)
- Нажмите ✓ Применить
После применения:
antennaLatDeg / antennaLonDeg = NaN (будут заполнены автоматически по опорным маякам)
antennaHeadingDeg = введённое значение
- Если панель ⚓ была закрыта — она автоматически вернётся
Что наблюдать:
- Строка ⚓ Точность в панели антенны — разброс вычисленной позиции (только при 2+ опорных маяках)
- Координаты широта/долгота в панели антенны — вычисленные по опорным
- Трек станции — строится по вычисленной позиции (не по GNSS)
Курс можно задать и от GNSS-компаса — подключите приёмник (📡 GNSS), и курс будет обновляться автоматически. Режим «только курс» нужен, когда GNSS-компаса нет, но направление антенны известно.
GPS телефона
Кнопка 📱 GPS — запрашивает геолокацию устройства (если есть встроенный GPS).
Сброс топопривязки
Кнопка 🗑 Сброс — очищает координаты и курс.
Режим «⚓ По опорным маякам»
 |
| Панель управления опорными маяками |
Назначение
Режим предназначен для работы без GNSS, когда известно точное положение хотя бы одного маяка-ответчика. Позиция судна вычисляется по измерениям до этого маяка (обратная геодезическая задача).
Когда использовать
- Нет GNSS-приёмника на судне
- Нет возможности выполнить топопривязку (неизвестно положение судна)
- Есть маяк-ответчик с заранее известными координатами (например, установлен на дне в известной точке или на буе с известной позицией)
Быстрый старт
- При первом запуске в мастере настройки выберите «Да, буду использовать ⚓» — приложение переключится в режим и откроет панель «⚓ Опорные маяки». Или откройте панель вручную: 🔧 Инструменты → ⚓ Опорные маяки.
- Задайте курс антенны — нажмите 🧭 Задать курс в панели ⚓ и введите направление (0–360°) в режиме «🧭 Только курс». Или подключите GNSS-компас (📡 GNSS в верхней панели).
- В панели выберите адрес маяка (из маски опроса), введите его известные координаты (широта, долгота, глубина) и нажмите ➕ Добавить.
- Нажмите ▶ Активировать.
- Начните опрос маяков (▶ Опрос в верхней панели) или запустите воспроизведение лога (📋 Лог → ▶ Воспроизвести).
- После первого измерения позиция судна будет вычислена и отображена на карте. Значок ⚓ рядом с широтой в панели антенны означает, что позиция вычислена по опорным маякам.
Курс антенны обязателен. Без него strategyBeaconReferenced не сможет вычислить абсолютный азимут на маяк, и позиция судна не будет определена. Задать курс можно вручную (🧭 в панели ⚓) или подключив GNSS-компас.
Что отображается в панели антенны
| Строка |
Описание |
| Широта / Долгота |
Позиция судна, вычисленная по опорным маякам |
| ⚓ Точность |
±X.Xм (N×, Nс) — разброс между опорными маяками, количество источников, возраст. Показывается только при 2+ опорных маяках |
| GNSS |
Только если есть GNSS-данные в логе/порту. Показывает GNSS-позицию |
| Расхождение |
Только при наличии GNSS — расстояние между позицией по опорным и GNSS |
| Азимут |
Курс антенны (от компаса) |
 |
| Скриншот панели антенны с положением по опорному маяку и по GNSS |
Точность позиции
- 1 опорный маяк — точность не оценивается.
spread = 0, строка «⚓ Точность» скрывается. Реальная точность зависит от точности USBL и знания координат опорного маяка.
- 2+ опорных маяков — показывается
spread (разброс между вычисленными позициями от разных маяков). Меньше spread — выше согласованность.
Настройка DH-фильтра судна
Откройте ⚙ Настройки → ⚓ Фильтр судна (DH):
- Макс. скорость судна (0.5–50 м/с, по умолчанию 2.0) — позиции, перемещение которых превышает эту скорость, отбрасываются.
- Отвергнутые позиции рисуются на карте серым крестиком с подписью «ОТВЕРГНУТО».
- Если позиция судна не обновляется — увеличьте «Макс. скорость судна».
Визуализация на карте
 |
| Карта с опорным маяком и траекторией судна, определяемой по опорному маяку |
- Опорный маяк — выделяется золотой обводкой и значком ⚓ рядом с номером
- Пунктирные золотые линии — от каждого опорного маяка до позиции судна
- Круг разброса — вокруг позиции судна (при 2+ опорных), показывает
spread
- Отвергнутая позиция — серый крестик с подписью «ОТВЕРГНУТО»
- Трек станции — строится по вычисленной позиции судна (не по GNSS)
Ограничения
- Смещения антенны (
offsetX/offsetY) не применяются — в этом режиме нет внешней точки отсчёта. Учитывается только угловая поправка phi.
- Несколько опорных маяков рекомендуется для оценки точности. Их взаимное расположение должно быть разнесено (не рядом) — иначе определение позиции будет плохо обусловлено.
- Курс (heading) — обязателен. Нужен внешний компас (HDT/HDM/HDG), встроенный компас Zima2, или ручной ввод через режим 🧭 Только курс в панели топопривязки.
- Калибровки (φ и таблица антенны) — сбор данных недоступен в этом режиме (требуется
geographic). Применение уже загруженной таблицы работает.
- Опорный маяк не добавляется в свой трек — координаты заданы пользователем и стабильны.
Типичные проблемы
| Симптом |
Причина |
Решение |
| «Позиция не обновляется» |
DH-фильтр отбрасывает всё |
Увеличить «Макс. скорость судна» в настройках |
| «Опорный маяк прыгает на карте» |
Не установлен anchor |
Удалить и заново добавить опорный маяк |
| «Точность всегда ±0.0 м» |
1 опорный маяк |
Это норма. Добавить второй маяк для оценки |
| «GNSS-строка не показывается» |
Нет GNSS в логе/порту |
Это норма. Строка появляется при наличии GNSS-данных |
| «Маяк улетел после DH-фильтра» |
Слишком маленький порог |
Увеличить «Макс. скорость судна» |
| «Возраст позиции огромный» |
Ошибка версии |
Обновите приложение (исправлено в 1.4.0) |
| «Позиция не обновляется, курс задан» |
Курс введён, но режим топопривязки — «Полная» |
Переключите режим топопривязки на «🧭 Только курс» или очистите поля lat/lon |
| «После задания курса панель ⚓ закрылась» |
Так и должно быть, если курс задавался из панели ⚓ через 🧭 |
После применения курса панель ⚓ возвращается автоматически. Если не вернулась — откройте вручную (🔧 Инструменты → ⚓ Опорные маяки) |
Работа с маяками
Маска адресов
В настройках можно выбрать, какие маяки опрашивать (адреса 1–16). Маска задаётся числом (сумма битов) или чекбоксами.
Отображение
- Цветной круг — маяк в зоне видимости
- Серый крестик — точка отвергнута фильтром
- Значок ✕ — таймаут (нет ответа > 20 с)
- Значок ! — устаревшие данные (> 8 с)
Фильтр маяка (DH)
Настраивается в ⚙ Настройки:
- Максимальная скорость маяка — точки с большей скоростью перемещения отбрасываются (0.5–5 м/с)
- Фильтр адаптируется под дальность: на больших дистанциях порог выше
Сглаживание координат
- На дистанциях до 1000 м — медианный фильтр (окно 5 точек)
- На дистанциях более 1000 м — без сглаживания
Треки
Трек станции (антенны)
Строится автоматически при наличии GNSS-данных. Отображается голубой линией.
Треки маяков
Каждый маяк имеет свой трек (цветной линией). Точки добавляются после прохождения DH-фильтра.
Управление треками
| Кнопка |
Действие |
| 📐 Треки |
Показать/скрыть все треки |
| 🗑 Очистить |
Удалить все треки (с подтверждением) |
Настройки треков (⚙ Настройки)
- Макс. точек на трек — ограничение длины (50–10000)
- Мин. дистанция — минимальное расстояние между точками (0.1–50 м)
Калибровка
Калибровка φ по известной точке
Назначение: вычисление углового смещения антенны (φ) по одному маяку с известными координатами и накопленному треку. Самый простой, точный и наиболее предпочтительный способ, если есть возможность установить неподвижно маяк в точке с известными координатами.
Когда использовать:
- Есть маяк-ответчик с точно известными координатами (установлен на дне в известной точке, на буе с известной позицией)
- Уже накоплен трек этого маяка (маяк опрашивался достаточно долго)
- Выполнена топопривязка (для
geographic) или активен режим ⚓ (для beacon_referenced)
Порядок выполнения:
- Накопите трек маяка — включите опрос (▶ Опрос) или воспроизведите лог (📋 Лог → ▶ Воспроизвести). Достаточно не менее 3 точек в треке.
- Откройте 🔧 Инструменты → Калибровки → 🔧 Калибровка φ (по известной точке).
- Приложение рассчитает DRMS по всем трекам и откроет окно отчёта.
- Под отчётом появится секция «🔧 Калибровка φ по известной точке».
- Если треков несколько — выберите нужный маяк в выпадающем списке.
- В секции отображается центроид трека — средняя точка по накопленным координатам маяка.
- Введите реальные координаты маяка (широта и долгота).
- Нажмите Вычислить φ — приложение сравнит азимут от антенны до центроида и до реальной точки. Разница — это φ.
- Проверьте результат и нажмите ✓ Применить φ — значение сохранится в настройках и будет использоваться при пересчёте координат.
- Если требуется — нажмите ✓ Применить в настройках (⚙ Настройки → Применить), чтобы новое значение φ вступило в силу для всех маяков.
Принцип работы:
- Центроид трека — усреднённое положение маяка по накопленным точкам (в
geographic).
- Реальная точка — координаты, введённые оператором.
- Азимут на центроид — вычисляется от координат антенны.
- Азимут на реальную точку — вычисляется от тех же координат антенны.
- φ — разность этих азимутов (в градусах, −180…+180).
Точность метода зависит от:
- Точности координат маяка — если реальная точка известна с ошибкой, φ тоже будет с ошибкой.
- Точности координат антенны — если топопривязка грубая, азимут вычисляется неточно.
- Количества точек в треке — чем больше, тем точнее центроид.
Совет: если есть несколько маяков с известными координатами, выполните калибровку по каждому и сравните полученные значения φ. Близкие значения подтверждают корректность калибровки.
Ограничение: в режиме 📐 Декартов (неподвижная антенна в (0, 0, 0)) калибровка недоступна — нет географических координат для расчёта азимутов. Работает в 🌍 Географическом и ⚓ По опорным маякам (при наличии координат антенны и маяка).
Доступ через меню: 🔧 Инструменты → Калибровки → 🔧 Калибровка φ (по известной точке)
Калибровка φ (угловое смещение антенны)
Назначение: компенсация угла между нулём антенны и диаметральной плоскостью судна.
Порядок выполнения:
- Откройте 🔧 Инструменты → Калибровки → 🔧 Калибровка φ
- Задайте параметры:
- От/До угла — диапазон поиска (обычно 0°–360°)
- Шаг — точность подбора (обычно 1°)
- Точек — максимальное количество измерений (обычно 100)
- Нажмите ▶ Старт
- Выполните манёвр судна (циркуляция вокруг маяка или движение по прямой)
- Накопление точек остановится автоматически при достижении лимита или нажмите ⏹ Стоп
- Подтвердите применение значения φ
Принцип работы: перебирает значения φ с заданным шагом, для каждого считает DRMS облака точек маяка, выбирает φ с минимальным DRMS.
Важно: Калибровку φ можно выполнять по двум схемам: в первой схеме маяк неподвижен, а судно маневрирует так, чтобы маяк был виден под разными углами. Во второй схеме антенна должна быть неподвижна, а маяк должен перемещаться так, чтобы покрыть максимально возможный диапазон углов.
Калибровка антенны (таблица поправок)
Назначение: построение таблицы поправок антенны в зависимости от угла энкодера (0°–360°).
Порядок выполнения:
- Откройте 🔧 Инструменты → Калибровки → ⚠📡 Калибровка антенны
- Задайте шаг угла (обычно 1°–5°)
- Нажмите ▶ Старт
- Выполните манёвр — судно должно обойти маяк по кругу (или вращайте антенну на месте)
- Следите за счётчиком точек и центроидой
- После накопления достаточного количества точек нажмите 🔨 Построить
- Если покрытие достаточное — нажмите ✓ Применить
- Или сохраните таблицу в CSV: 💾 Скачать
Принцип работы:
- Накапливает точки (heading, измеренный азимут, координаты)
- Вычисляет центроиду — среднее арифметическое координат маяка
- Для каждой точки вычисляет истинный пеленг на центроиду
- Группирует ошибки по секторам энкодера
- Усредняет ошибки в каждом секторе
- Применяет таблицу через AntennaCorrector
Требования: Топопривязка (координаты и курс), неподвижный маяк, манёвр с охватом разных углов.
Загрузка калибровочной таблицы
В ⚙ Настройки → Смещения антенны → Калибровка:
- 📂 Загрузить — загрузить CSV-файл с таблицей
- 🗑 Сброс — очистить таблицу
Точки интереса (POI)
Назначение: сохранение точек на карте для навигации и документирования.
Типы POI
- 📍 Загруженные — из CSV-файла (целевые точки для ТНПА)
- ⭐ Отмеченные — сохранённые оператором в процессе работы
Загрузка POI из CSV
- 🔧 Инструменты → POI → 📂 Загрузить из CSV
- Выберите файл формата:
Название,Широта,Долгота,Глубина
- POI отображаются на карте в виде пинов (📍)
Отметка текущего положения маяка
В карточке маяка нажмите 📌. Создаётся POI с координатами маяка и временем отметки.
Экспорт POI
- 💾 Сохранить в CSV — полный список POI
- 🗺 KML — POI попадают в KML вместе с треками (загруженные — жёлтый пин, отмеченные — звезда)
Очистка
- 🗑 Очистить все — удаляет все POI (с подтверждением)
- POI сохраняются между сессиями в localStorage
Запись и воспроизведение логов
Запись лога
Начинается автоматически при подключении к Zima2. Пишутся все входящие и исходящие сообщения.
Сохранение лога
- 📋 Лог → 💾 Сохранить — скачать файл лога
- При отключении от Zima2 предлагается сохранить лог (если более 10 записей)
Загрузка и воспроизведение
- 📋 Лог → 📂 Открыть — загрузить файл лога (.log/.txt)
- 📋 Лог → ▶ Воспроизвести — запустить воспроизведение
- Во время воспроизведения:
- Работают все функции (треки, маяки, калибровка)
- Доступно ускорение: − / 1x / + (1x, 2x, 4x, 8x)
- Прогресс-бар показывает текущее положение
- ⏹ Остановить — завершить воспроизведение
Формат логов совместим с AzimuthSuite (C#).
Анализ логов
📋 Лог → 🔍 Анализ
Показывает статистику по загруженному логу:
- Количество записей
- Статистика маяков (успешные ответы, таймауты)
- Данные компаса (минимальный/максимальный heading, обнаружение аномалий)
Кнопка 📋 Копировать — копирует отчёт в буфер обмена.
Экспорт данных
Все форматы доступны через меню 📤 Экспорт.
CSV
Треки маяков и станции в табличном виде (время, координаты, глубина, дистанция, азимут).
NMEA GGA (Маяк)
Эмуляция GPS-приёмника для каждого маяка. Идентификатор маяка — B01…B10 (hex).
NMEA GGA (Антенна)
Трек антенны в формате GGA. Фильтрация дубликатов (< 10 см).
NMEA PSIMSSB (Head-Up)
Относительные координаты маяков (X, Y, Z в метрах) от антенны. Формат, совместимый с HiPAP.
NMEA PSIMSSB UTM
Абсолютные координаты маяков в проекции UTM (Easting, Northing).
KML
Треки маяков и станции для Google Earth/QGIS. Включает POI (если есть).
Отчёт DRMS
Назначение: оценка точности позиционирования маяков.
🔧 Инструменты → 📊 Отчёт DRMS
Рассчитывает для каждого маяка:
- DRMS (Distance Root Mean Square) — среднеквадратическое отклонение
- 2DRMS — удвоенное DRMS (≈ 95% доверительный интервал)
- 3DRMS — утроенное DRMS (≈ 99% доверительный интервал)
- σX, σY — стандартные отклонения по осям
- Центроид — среднее арифметическое координат
Формат отчёта:
Маяк #1: DRMS=1.23м, 2DRMS=2.46м, 3DRMS=3.69м, σX=0.87м, σY=0.87м, точек=342
Кнопка 💾 Скачать CSV — сохраняет полную таблицу с координатами центроидов.
Калибровка φ по известной точке: под отчётом DRMS (только в 🌍 Географическом и ⚓ По опорным маякам) появляется секция для вычисления φ по маяку с известными координатами. См. раздел Калибровка φ по известной точке.
Линейка
Инструмент для измерения расстояний на карте.
- Нажмите 📏 Линейка
- Кликните первую точку на карте
- Переместите мышь — отображается резиновая линия с расстоянием
- Кликните вторую точку
- Для нового измерения кликните снова
При перемещении/зуме карты во время измерения линейка пересчитывается.
Темы оформления
Переключение: кнопка 🎨 или циклически по кругу.
| Тема |
Описание |
| Indoor |
Тёмно-синяя, для помещения (по умолчанию) |
| Light |
Светлая, для яркого солнца |
| Dark Contrast |
Чёрный фон, яркие акценты |
| Jack Black |
Чёрный фон, белый текст, серые акценты |
| Jack White |
Белый фон, чёрный текст, серые акценты |
| VAX |
Зелёный текст на чёрном (стиль терминалов VAX/VT) |
Настройки
⚙ Настройки — модальное окно с секциями:
Параметры опроса
- Маска адресов — какие маяки опрашивать (1–65535)
- Макс. дальность — ограничение дистанции опроса (100–5000 м)
- Солёность — для расчёта скорости звука (0–40 PSU)
- Скорость звука — ручной ввод или авто (по температуре и солёности)
GNSS-компас
- Режим компаса — авто (HDT предпочтительный), только HDT, только магнитный
- Скорость порта — 4800–115200 бод
Смещения антенны
- X, Y — линейное смещение антенны от точки вращения судна (метры)
- φ антенны — угловое смещение (градусы)
- Калибровка — загрузка/сброс калибровочной таблицы
Режим антенны
- 🌍 Географический — стандартный режим с топопривязкой (координаты и курс антенны)
- 📐 Декартов (неподвижная) — антенна считается в точке (0, 0, 0), координаты маяков в метрах (X → право, Y → вперёд, Z → глубина)
- ⚓ По опорным маякам — позиция судна вычисляется по известным координатам опорных маяков (без GNSS/топопривязки). См. раздел Режим «⚓ По опорным маякам»
Фильтр маяка (DH)
- Макс. скорость — порог фильтра (0.5–5 м/с)
⚓ Фильтр судна (DH)
Подсекция появляется, когда активен режим «⚓ По опорным маякам». Управляет фильтром позиции судна — отсеивает физически невозможные перемещения.
- Макс. скорость судна — порог фильтра (0.5–50 м/с, по умолчанию 2.0). Позиции, перемещение которых превышает эту скорость, отбрасываются.
- Отвергнутые позиции — рисуются на карте серым крестиком с подписью «ОТВЕРГНУТО» (для диагностики).
- Если позиция судна не обновляется — увеличьте «Макс. скорость судна».
Треки маяков
- Макс. точек — ограничение длины трека (50–10000)
- Мин. дистанция — прореживание трека (0.1–50 м)
Горячие клавиши и жесты
Мышь
| Действие |
Результат |
| Колёсико |
Зум карты |
| Перетаскивание |
Панорамирование |
| Двойной клик по карте |
Сброс вида на антенну (масштаб 100) |
| Клик по маяку |
Слежение за маяком |
| Клик по карте |
Отключение слежения |
Тач
| Действие |
Результат |
| Один палец |
Панорамирование |
| Два пальца |
Зум (pinch) |
| Двойной тап |
Сброс вида на антенну |
| Тап по маяку |
Слежение за маяком |
Форматы файлов
Лог обмена (.log)
16:05:59.141: INFO: COM17 (GNSS) >> $GPGGA,050558.85,4637.143860,N,14242.139534,E,0,28,1.2,00021.270,M,00000.000,M,2.0,*78
16:05:59.225: INFO: COM17 (GNSS) >> $GPRMC,050558.85,A,4637.143860,N,14242.139534,E,2.2,65.8,280426,,,D*6C
16:05:59.225: INFO: COM17 (GNSS) >> $GPHDT,66.8,T*0D
16:05:59.435: INFO: COM44 (AZM) >> $PAZM3,1,0,0,38,23.8,0.080975,115.3,113.0,22.8,325.8,11.4,1147.22,4.5,,2.6,-2.9*0E
...
POI (.csv)
Название,Широта,Долгота,Глубина
Точка подхода,55.123456,37.654321,15.5
Объект А,55.345678,37.876543,
Калибровочная таблица (.csv)
# Angle_deg;Error_deg
5.000;1.234567
15.000;2.345678
DRMS отчёт (.csv)
Beacon,Points,DRMS_m,2DRMS_m,3DRMS_m,SigmaX_m,SigmaY_m,CentroidLat,CentroidLon
1,342,1.234,2.468,3.702,0.872,0.873,55.12345678,37.65432190
Устранение неполадок
Не удаётся подключиться к Zima2
- Убедитесь, что порт не занят другим приложением
- Проверьте скорость (должна быть 9600 бод)
- Попробуйте переподключить USB-кабель
- Обновите страницу
Маяки не отображаются
- Проверьте маску адресов в настройках
- Убедитесь, что маяк в зоне видимости (дистанция < макс. дальности)
- Проверьте, что опрос активен (индикатор мигает)
Нет координат у маяков
- Выполните топопривязку (вручную или подключите GNSS)
- Координаты появляются только после успешного прохождения DH-фильтра
Приложение тормозит при воспроизведении лога
- Уменьшите скорость воспроизведения до 1x
- Отключите отображение треков (📐 Треки)
- Закройте неиспользуемые панели
Калибровка не даёт результата
- Убедитесь, что маяк неподвижен
- Накопите больше точек с разных курсов
- Проверьте топопривязку
- Увеличьте шаг угла при построении таблицы
В режиме «По опорным маякам» позиция не обновляется
- Проверьте, что опорный маяк добавлен (панель 🔧 Инструменты → ⚓ Опорные маяки)
- Проверьте, что курс антенны (heading) не NaN — без курса вычисления невозможны. Подключите GNSS-компас или проверьте встроенный компас Zima2
- Проверьте, что маяк опрашивается — его адрес должен быть в маске опроса (⚙ Настройки → Параметры опроса), и опрос должен быть активен (кнопка ▶ Опрос)
- Увеличьте «Макс. скорость судна» в настройках (⚙ Настройки → ⚓ Фильтр судна (DH)). Если порог слишком маленький, DH-фильтр будет отбрасывать все позиции
- Отвергнутые позиции видны на карте как серые крестики с подписью «ОТВЕРГНУТО» — если их много, порог точно мал
Опорный маяк «прыгает» на карте
- Скорее всего не установлен anchor (опорная точка мира). Удалите опорный маяк и добавьте заново — при добавлении anchor устанавливается автоматически
- Альтернатива: переключите режим на «Географический» и обратно, или перезапустите воспроизведение — в
togglePlayback anchor тоже устанавливается
- Проверьте, что
ref.lat/ref.lon опорного маяка введены правильно (например, в панели опорных маяков)
Точность всегда ±0.0 м
- Это норма при одном опорном маяке.
spread = 0 по определению, строка «⚓ Точность» в панели антенны скрывается
- Для оценки точности нужны 2+ опорных маяка. Чем дальше они разнесены — тем информативнее
spread
GNSS-строка не показывается в панели антенны
- Это норма, если GNSS-данных нет в текущем логе/порту. Строка «GNSS» появляется только при наличии данных
- Если GNSS есть, но строка не показывается — проверьте, что режим активен (⚓ По опорным маякам) и что GNSS-сообщения парсятся (
$xxRMC)
Возраст позиции судна показывает миллиарды секунд
- Это баг версий до 1.4.0 — сравнивалось виртуальное время Playback с реальным
Date.now()
- Решение: обновите приложение до 1.4.0
В режиме «По опорным маякам» калибровка φ / таблицы не работает
- Сбор данных для калибровок в этом режиме недоступен — он требует полноценного
geographic режима (с координатами антенны из GNSS/топопривязки)
- Применение уже загруженной таблицы/φ работает — просто загрузите её заранее (в
geographic), сохраните в настройках, и переключитесь в beacon_referenced
После выхода из режима «По опорным маякам» трек станции «сломался»
- Проверьте
TrackManager.getAnchor() — если координаты остались от опорного маяка, они сбросятся при следующем GNSS-обновлении
- Если не сбрасываются — обновите страницу или переключитесь в
geographic принудительно
Дополнительные ссылки
© 2026 UC&NL