Система УЗ навигации (Геоскан Локус)

Система позволяет создать контролируемую полетную зону с максимальным размером 10х10х4 метров. Она обеспечивает точное и безопасное управление квадрокоптером независимо от других систем навигации (GPS/ГЛОНАСС)

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/modules/us_nav/usnav_station.png

Скачать pdf инструкцию по настройке системы навигации

Комплект системы:

  • блок управления;

  • 4 ультразвуковых излучателя;

  • бортовой модуль;

  • соединительные провода;

  • программа LPS для синхронизации с компьютером (скачать последнюю версию );

Базовая станция

Установка полетной зоны

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/modules/us_nav/settings/nav_system.PNG

Установите ультразвуковые излучатели в будущей зоне полета. Расположите их в вершинах полетной зоны так, чтобы они были направлены к ее центру. При этом:

  • минимальная высота установки излучателей - 2 м

  • минимальная дистанция между излучателями - 3 м

Примечание

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

Проводами соедините каждый излучатель с блоком управления. Следите, чтобы не перепутать провода и разъемы, они подписаны. Блок управления лучше расположить за пределами полетной зоны. Его можно подключить к ноутбуку или компьютеру через порт USB. Блок управления и бортовой модуль общаются по радиоканалу.

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

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/modules/us_nav/settings/indoor_prog.png

На рисунке показан интерфейс программы LPS, которая используется для настройки и работы с системой позиционирования. При первом запуске программы заполните пустые поля координат для маяков. Как это сделать:

  • Расстояние (в метрах) между излучателем 1 и 2 поделите на 2. Полученное значение введите в поле X со знаком «минус» для маяков №2 и №3 и без знака «минус» для маяка №1 и 4.

  • Расстояние между излучателем 2 и 3 также поделите на 2 и введите значение в поле Y со знаком «минус» для маяков №3 и №4 и без знака «минус» для маяков №1 и №2.

  • В поле Z введите высоту каждого излучателя над уровнем пола.

После ввода координат полетная зона сформирована и отображается в правом окне программы зеленой линией. По умолчанию углы полетной зоны отстоят от излучателя на 1 м.

Примечание

Параметры полетной зоны также можно задать напрямую на блоке управления

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

Вверху встроенного экрана отображается время с момента включения и текущий уровень напряжения аккумулятора. При падении напряжения ниже 3 В начнет мигать светодиод «статус», сообщая о необходимости подзаряда. В этом случае подключите плату через порт micro-usb к компьютеру или зарядному устройству (output 5В 2А).

На встроенном экране координаты отображаются так же, как в интерфейсе программы LPS.

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/modules/us_nav/settings/indoor_board_int1.PNG

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

На втором экране меню можно вручную настроить отступы от границы полетного пространства или включить режим «Auto» - тогда все настроится автоматически. Там же можно отключать ограничения полетной зоны.

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/modules/us_nav/settings/indoor_board_int2.PNG

Примечание

Для работы системы подключение к компьютеру необязательно. Достаточно включить блок управления и расположить «Пионер» с установенным бортовым модулем в пределах полетной зоны.

Обновление прошивки системы навигации

Чтобы обновить прошивку, вам понадобится компьютер с установленной программой Pioneer Station. Запустите её, выберите в меню пункт «обновление прошивки» и следуйте указаниям помощника. Нажмите и удерживайте кнопку «меню» на плате, и не отпуская её включите блок управления. Так он перейдет в режим обновления прошивки. Теперь подключите блок управления системы навигации к компьютеру кабелем USB. При выборе устройства, поставьте галочку напротив модуля BeaconUSNav.

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/modules/us_nav/settings/usnav_station_upd.png

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

Бортовой модуль

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/modules/us_nav/usnav_beacon.png

Модуль входит в комплект системы навигации в помещении вместе с блоком управления и четырьмя ультразвуковыми излучателями. Он монтируется на основной плате «Пионера» сверху с помощью 4-х винтов М3.

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

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

Пример

Полет в системе навигации может осуществляться как в ручном режиме, так и по заранее загруженной программе. Пример такой программы - ниже. Выполняя её, «Пионер» взлетает, набирает высоту 1.2 м, затем летит в точку с координатами (1:1) и приземляется. Чтобы загрузить программу на «Пионер», используйте Pioneer Station.

-- Упрощение вызова функции распаковки таблиц из модуля table
local unpack = table.unpack

-- Количество светодиодов на базовой плате
local ledNumber = 4
-- Создание порта управления светодиодами
local leds = Ledbar.new(ledNumber)

-- Функция смены цвета светодиодов
local function changeColor(color)
    -- Поочередное изменение цвета каждого из 4-х светодиодов
    for i=0, ledNumber - 1, 1 do
        leds:set(i, unpack(color))
    end
end

-- Таблица цветов в формате RGB для передачи в функцию changeColor
local colors = {
        {1, 0, 0}, -- красный
        {0, 1, 0}, -- зеленый
        {0, 0, 1}, -- синий
        {1, 1, 0}, -- желтый
        {1, 0, 1}, -- фиолетовый
        {0, 1, 1}, -- бирюзовый
        {1, 1, 1}, -- белый
        {0, 0, 0}  -- черный/отключение светодиодов
}

-- Таблица точек полетного задания в формате {x,y,z}
local points = {
        {0, 0, 0.7},
        {0, 1, 0.7},
        {0.5, 1, 0.7},
        {0.5, 0, 0.7}
}
-- Счетчик точек
local curr_point = 1

-- Функция, изменяющая цвет светодиодов и выполняющая полет к   следующей точке
local function nextPoint()
    -- Текущий цвет. % - остаток от деления, # - размер таблицы. Такая  конструкция использована,
    -- чтобы цвета продолжали меняться, даже если точек больше, чем     цветов в таблице
    curr_color = ((curr_point - 1) % (#colors - 2)) + 1
    -- Изменение цвета светодиодов
    changeColor(colors[curr_color])
    -- Полет к текущей точке, если её номер не больше количества    заданных точек
    if(curr_point <= #points) then
        Timer.callLater(1, function()
            -- Команда полета к точке в системе позиционирования
            ap.goToLocalPoint(unpack(points[curr_point]))
            -- Инкрементация переменной текущей точки
            curr_point = curr_point + 1
        end)
    -- Посадка, если номер текущей точки больше количества заданных     точек
    else
        Timer.callLater(1, function()
            -- Команда на посадку
            ap.push(Ev.MCE_LANDING)
        end)
    end
end

-- Функция обработки событий, автоматически вызывается автопилотом
function callback(event)
    -- Когда коптер поднялся на высоту взлета Flight_com_takeoffAlt,    переходим к полету по точкам
    if(event == Ev.TAKEOFF_COMPLETE) then
        nextPoint()
    end
    -- Когда коптер достиг текущей точки, переходим к следующей
    if(event == Ev.POINT_REACHED) then
        nextPoint()
    end
    -- Когда коптер приземлился, выключаем светодиоды
    if (event == Ev.COPTER_LANDED) then
        changeColor(colors[8])
    end
end



-- Предстартовая подготовка
ap.push(Ev.MCE_PREFLIGHT)
-- Зажигание светодиодов белым цветом
changeColor(colors[7])
-- Таймер, через 2 секунды вызывающий функцию взлета
Timer.callLater(2, function() ap.push(Ev.MCE_TAKEOFF) end)

Прошивка модуля навигации

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

Актуальную версию прошивки модуля USNav можно скачать по ссылке - Модуль USNav

Выполните следующие действия для успешного обновления прошивки модуля навигации USNav.

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

  2. Установите модуль навигации на Pioneer.

  3. Зажмите кнопку «Старт» на плате автопилота и удерживая её подключите аккумулятор. Таким образом обе платы (автопилот и модуль навигации) перейдут в режим загрузчика. Все светодиоды на плате автопилота и модуле навигации должны гореть постоянно.

Важно

Ввод в режим бутлоадера должен происходить с помощью аккумулятора. Запуск загрузчика с помощью USB не приведёт к должному результату.

  1. При помощи USB-кабеля подключите плату автопилота к компьютору.

  2. Запустите Pioneer Station и нажмите на значок квадрокоптера в левом верхнем углу окна программы. В выпадающем меню нажмите «обновление прошивки» и следуйте инструкциям помощника.

  3. При переходе к пункту «Выбор устройства» в списке будет отображаться не только базовая плата квадрокоптера PioneerBase, но и модуль навигации ModuleUSNav. Поставьте галочку напротив модуля и нажмите «Далее».

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/modules/us_nav/settings/usnav_beacon_upd.png
  1. При выборе источника прошивки рекомендуется выбрать пункт «Из файла», и указать путь к предварительно скачанной прошивке. Дождитесь окончания прошивки. После этого квадрокоптер перезагрузится в обычный режим.