Система УЗ навигации (Геоскан Локус)¶
Система позволяет создать контролируемую полетную зону с максимальным размером 10х10х4 метров. Она обеспечивает точное и безопасное управление квадрокоптером независимо от других систем навигации (GPS/ГЛОНАСС)
Скачать pdf инструкцию по настройке системы навигации
Комплект системы:
блок управления;
4 ультразвуковых излучателя;
бортовой модуль;
соединительные провода;
программа LPS для синхронизации с компьютером (скачать последнюю версию );
Базовая станция¶
Установка полетной зоны¶
Установите ультразвуковые излучатели в будущей зоне полета. Расположите их в вершинах полетной зоны так, чтобы они были направлены к ее центру. При этом:
минимальная высота установки излучателей - 2 м
минимальная дистанция между излучателями - 3 м
Примечание
Система будет работать точнее, если на полу в помещении будет мягкое покрытие (ковер, ковролин).
Проводами соедините каждый излучатель с блоком управления. Следите, чтобы не перепутать провода и разъемы, они подписаны. Блок управления лучше расположить за пределами полетной зоны. Его можно подключить к ноутбуку или компьютеру через порт USB. Блок управления и бортовой модуль общаются по радиоканалу.
Рулеткой или дальномером измерьте расстояния между излучателями и высоту их установки. Удобнее всего задавать полетную зону в форме квадрата или прямоугольника. По результатам измерений формируется координатная сетка полетной зоны.
На рисунке показан интерфейс программы 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.
Чтобы изменить любой из параметров системы, выберите его поворотом селектора, а затем надавите на него. После коррекции (также поворотом) нажмите на селектор второй раз, чтобы подтвердить изменения и вернуться в меню.
На втором экране меню можно вручную настроить отступы от границы полетного пространства или включить режим «Auto» - тогда все настроится автоматически. Там же можно отключать ограничения полетной зоны.
Примечание
Для работы системы подключение к компьютеру необязательно. Достаточно включить блок управления и расположить «Пионер» с установенным бортовым модулем в пределах полетной зоны.
Обновление прошивки системы навигации¶
Чтобы обновить прошивку, вам понадобится компьютер с установленной программой Pioneer Station. Запустите её, выберите в меню пункт «обновление прошивки» и следуйте указаниям помощника. Нажмите и удерживайте кнопку «меню» на плате, и не отпуская её включите блок управления. Так он перейдет в режим обновления прошивки. Теперь подключите блок управления системы навигации к компьютеру кабелем USB. При выборе устройства, поставьте галочку напротив модуля BeaconUSNav.
Рекомендуется выбирать встроенную прошивку, так вы установите последнюю стабильную версию. Процесс может занять до 5 минут, не отключайте блок управления до окончания прошивки.
Бортовой модуль¶
Модуль входит в комплект системы навигации в помещении вместе с блоком управления и четырьмя ультразвуковыми излучателями. Он монтируется на основной плате «Пионера» сверху с помощью 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.
Отключите плату подключения дополнительных модулей если она установлена на Pioneer. Для этого достаточно отключить оба шлейфа. В противном случае, помощник по прошивке не обнаружит модуль навигации.
Установите модуль навигации на Pioneer.
Зажмите кнопку «Старт» на плате автопилота и удерживая её подключите аккумулятор. Таким образом обе платы (автопилот и модуль навигации) перейдут в режим загрузчика. Все светодиоды на плате автопилота и модуле навигации должны гореть постоянно.
Важно
Ввод в режим бутлоадера должен происходить с помощью аккумулятора. Запуск загрузчика с помощью USB не приведёт к должному результату.
При помощи USB-кабеля подключите плату автопилота к компьютору.
Запустите Pioneer Station и нажмите на значок квадрокоптера в левом верхнем углу окна программы. В выпадающем меню нажмите «обновление прошивки» и следуйте инструкциям помощника.
При переходе к пункту «Выбор устройства» в списке будет отображаться не только базовая плата квадрокоптера PioneerBase, но и модуль навигации ModuleUSNav. Поставьте галочку напротив модуля и нажмите «Далее».
При выборе источника прошивки рекомендуется выбрать пункт «Из файла», и указать путь к предварительно скачанной прошивке. Дождитесь окончания прошивки. После этого квадрокоптер перезагрузится в обычный режим.