Планирование миссий полета и анализ данных (ПО Mission Planner и другие)
Планирование миссий полета и анализ данных (ПО Mission Planner и другие)
Планирование миссий полета и анализ данных (ПО Mission Planner и другие)
Использование наземной станции (Ground Station)
Список комманд при выполнении миссий полета
Планирование миссий полета по точкам и событиям
Ралли точки (ближайшая точка возврата)
Получение и анализирование полетного журнала из APM
Анализирование журнала телеметрии (telemetry logs)
Выявление проблем используя анализ журналов (логов)
Установка координат в фотографиях (Geotagging images) Mission Planner
Использование языка Pyton c Mission Planner
Другие возможности Mission Planner
ПО для Android и Ipad
ПО QGroundControl
AC2_QGCParameterWidget
AC2_QGCWaypointWidget
Планирование миссий и анализ данных
Обзор
Планировщик миссий поддерживает следующие функции, для полного набора функций обратитись к базе знаний Mission Planner
- Установку в один клик путевой точки используя Google Maps.
- Полный мониторнинг и отправка команд с базовой станции.
- Выбор команд миссий из раскрывающего меню.
- Просмотр показаний датчиков и тестирование производительности автопилота ArduPilot.
- Скачивание жуналов и их анализ
- Настройка ArduPilot Mega для типа вашей рамы.
- Просмотр данных терминала Ardupilot
Установка программного обеспечения
Следуйте инструкциям указанным здесь, что бы загрудить и установить ПО Mission Planner.
Функции ПО Mission Planner
- Использование в качестве наземной станции
- Полный список команд
- Ралли точки (ближайшая точка возврата)
- Планирование миссии с использованием путевых точек и событий
- Получение и анализирование полетного журнала из APM
- Телеметрические журналы
- Диагностика общих проблем с помощью журналов
- Полет с джойстиком / геймпадом вместо радиоуправляемой аппаратуры RC
- Гео метки для изображений с Mission Planner
- Использование сценариев языка программирования Python
- Другие особенности Mission Planner
Все успешно? Возможно вам следует оснастить аппарат дополнительными устройсвами (english)
Использование наземной станции
- Скорость в воздухе (путевая скорость, если ни один из датчиков воздушной скорости не установлен)
- ошибки Crosstrack и коэфициент повторения (Т)
- Курсовое направление
- Угол наклона по крену
- Коэффициент качества телеметрии (в проценах плохие пакеты)
- Время GPS
- Высота над уровнем моря (синий бар скороподъемность)
- Air Speed
- Ground Speed
- Состояние батареи
- Искусственный горизонт
- Уровень горизонта
- Фиксация спутников GPS
- ---
- Текущий полетный режим
Все показанное выше является основным видом наземной станции Mission Planner , показывая Heads-Up-Display (HUD). Если полетный контроллер Ardupilot находиться в режиме полета и вы подключены через протокол MAVLink (обычно это через модули телеметрии на скорости 57600 бод, но он будет работать и через USB на земле) данные и местоположение покажет телеметрия , получая данные с борта APM.
Вот несколько советов:
- Карта будет показывать ваше текущее местоположение, когда у вас есть фискация спутников GPS или вы используете симулятор полета.
- Помние, как работают искуственные горизонты: когда самолет наклоняется враво, горизонт наклоняется влево. (просто наклоните голову и вы поймете что я имею ввиду). Это нормально! пожалуйста не говорите нам , что все наоборот :-)
- Для конфигурации APM ArduCopter отображение сообщения таков:
- "WPDist": расстояние до следующей точки в метрах
- "Bearing ERR": Как далеко ваш БПЛА от линии направления до следующей точки
- "Alt ERR": Как далеко ваш БПЛА от указанной высоты
- "WP": Следующая путевая для достижения
- «Mode»: Текущий режим автопилота.
- Вы можете менять полетные режимы и давать другие команды в воздухе с Mission Planner и другой наземной станции (GCS's), но учтите, что вы должны контролировать автопилот , что бы они вступали в силу.
- Если вы щелкните двойным щелчком по окну HUD , то оно станет плавающим и его можно раскрыть на втором экране.
- Если вы дважды щелкните на "Speed GUAGE" , то можно поменять максимально отображаенмую шкалу.
- Можно поменять голос используемый в синтезе речи в центре специальных возможностей панели управления Windows. Зайдите в раздел "текст и речь" и выберите нужный вариант.
- Еслы вы установите флажок Tuning и дважды щелкните по тюнингу - вы можете построить любой график данных, которые доступны на вкладке. Это означет, что вы можете иметь много опций для отображения в реальном времени.
- Вы можете использовать пользовательские образы карты вместо Google Maps. нажмите CTRL-F , это позволит загружать собственные карты (orthophotos). Используйте Globalmapper так как в насоящее время это один из ключевых в экспорте в требуемом формате для Mission Planner.
Guided Mode / Режим наведения
Одним из наиболее часто используемых функций у БПЛА является полет на указанную в реальном времени точку. Вместо того, что бы предварительно планировать миссии или вручную летать БПЛА операторы могут просто нажать на карту и дать команду "лети сюда".
Это реализовано в Mission Planner. На карте наземной станции вы можите щелкнуть правой кнопкой мыши и на карте просто выбрать "Fly to Here" БПЛА полетит дула и будет в режиме Loiter пока вы не дадите ему другую команду. Мы называем это "режим наведения". Есть несколько комманд и режимов которые будут реализованы в ближайшее время для расширения встроенной функциональности.
Примечание: Режим наведения - это отдельный режим. Если вы переключаетесь в него - вы будете оставаться в нем, пока не дадите команду на смену режима. Так что если вы сообщите "лети туда сейчас" , как только он прибудет в точку назначения он будет слоняться (Loiter) пока вы не скажите ему что-то другое, что бы сделать еще. Что-то еще может быть новая команда "лети туда сейчас" или смена полетного режима на другой. Если вы измените полетный режим на AUTO то ваша миссия возобноситься там, где она была прервана.
Список команд миссий ArduCopter
Эта страница содержит подробную информацию о всех командах в миссии поддерживаемых в конфигурации ArduCopter, которые могут выполняться как часть миссии ( в режиме автоматического полета / AUTO (полет-по-точкам)). Каждая из команд либо команда "Навигация" (Navigation) либо "Действие" (Do) . Навигационные команды (т.е. "взлёт" и "точка") влияют на местоположение квадрокоптера в то время как команды "действие" (Do) (т.е. "Do-Set-Servo" и "Do-Cam-Trigg-Dist") предназначены для вспомогательных функций и не влияют на местоположение квадрокоптера. Во время миссии команда "навигация" и "действие" может быть одновременно запущены. Команда "действие" будет запущена перед тем как начнется команда "навигация". Для получения дополниткельной информации о настройке миссий пожалуйста обратитесь к странице планирования миссий с точками и событиями.
Команды Mission Planner
Взлет / Takeoff
Аппарат будет подниматься вверх от своего текущего местоположения до высоты указанной в метрах. Это должно быть первой командой во всех миссиях. Если миссия начинается когда квадрокоптер уже летает, он будет подыматься вверх до указанной высоты. Если квадрокоптер уже выше указанной высоты , то переходя в выполнение миссии он будет игнорировать команду "взлёт" и перейдет к выпонению следующей команды.
Точка / Waypoint
Квадрокоптер будет лететь по прямой линии в место указанное в качестве точки ( по координатам долготы, ширины и высоты в метрах).
Параметры:
Delay / Задержка - количество времени (в секундах) что бы ждать в точке маршрута прежде, чем приступать к следующей команде.
Hit Rad - не поддерживается - предназначена для удержания расстояния (в метрах) от нацеленной точки, которая будет претендовать как на "пройденную" точку. Эта команда не поддерживается. Используйте параметр WPNAV_RADIUS (см. WP RADIUS) в скриншоте или настройче через "Parametr List". Даже WPNAV_RADIUS используется только когда путевая точка имеет задержку. Без задержки путевая точка будет считаться завершенной, когда виртуальная точка будет достигаться квадрокоптером. Это может быть 10 или более метров (от реальной координаты) по ходу движения, означающего, что квадрокоптер будет повернут в сторону следующей точки маршрута.
Yaw Ang - не поддерживается - означало угол поворота направления в градусах (0 = север, 90 = восток). Вместо этого используйте CONDITION_YAW команду (cм. ниже).
Lat, Lon - широта и долгода цели. Если оставить как ноль - она будет остановиться на текущем местоположении.
Alt - целевая высота над "домом" в метрах. Если оставить как ноль - будет поддерживать текущую высоту.
Loiter_Time
Квадрокоптер будет летать и ждать в указанном месте указанное количество секунд. Это миссия эквивалентна режиму Loiter.
Параметры:
Times / Время - количество секунд, что бы оставаться на месте.
Lat, Lot - координаты ширины и долготы цели.
Alt / высота - целевая высота над "домом" в метрах. Если оставить равную нулю то квадрокоптер будет сохранять текущую высоту.
Loiter_Turns
Выполнение этой миссии эквивалентно полетному режиму Circle. Квадрокоптер будет летать вокруг указанной точки (по координатам ширины, долготы и заданной высоты в метрах).
Радиус окружности задается параметром CIRCLE_RADIUS (т.е. не может быть установлен как часть миссии)
Параметры:
Turn - количество полных оборотов вокруг точки.
Dir 1=CW - направление вращения вокруг точки. Против часовой стрелки = - 1. Если положительное число - вращение по часовой стрелке.
Lat, Lon - ширина и долгота цели.
Alt - целевая высота над "домом" в метрах. Если оставить нулевое значение - квадрокоптер будет кружить на текущей высоте.
Loiter_Unlimited
Квадрокоптер будет лететь к указанной точке и ждать. Миссия не будет продолжена после этой команды.
Параметры:
Lat, Lon - ширина и долгота цели. Если оставить пустыми - квадрокоптер будет висеть над текущем местоположением.
Alt - целевая высота над "домом" в метрах. Если оставить нулевое значение - квадрокоптер будет кружить на текущей высоте.
Return-To-Launch
Эта миссия эквивалентра полетному режиму RTL. Как описано на этой странице квадрокоптер будет подыматься на указанную высоту заданым параметром RTL_ALT (по умолчанию 15 метров) , прежде чем вернуться домой. Домашняя точка устанавливается там, где он был снят с охраны (Arming). Эта команда не имеет параметров и как правило должна быть последней командой в миссии.
LAND
Квадрокоптер приземлится в текущем положении или в указанных координатах широты и долготы. Эта миссия эквивалентна полетному режиму LAND
Параметры:
Lat, Lon - ширина и долгота цели. Если оставить пустыми - квадрокоптер совершит посадку в текущем местоположении.
Do-Set-ROI
Головное направление квадрокоптера и "подвеса камеры" будет направленно на "область интереса" , она же ROI
В приведенном выше примеры нос и камера будут направлены на красный маркер на период выполнения команд, когда квадрокопер летел из путевой точки 1 к путевой точке 3. Если вы хотите, что бы носовое направление / камера смотрели на красный маркер при полете от 3 до 4 точки - вам потребуется вторая команда DO_SET_ROI , которая должна идти после команды полета к точке 3. (Примечание: В прошивке конфигурации ArduCopter 3.2 можно будет задавать за один раз точку, без её поворений)
Параметры:
Lat, Lon - ширина и долгота цели.
Alt - целевая высота над "домом" в метрах.
Condition-Delay
Существует возможность задержки до начала следующей команды "делать" в секундах. В приведеном выше примере команда №4 - установление "точки интереса" (у Do-Set-ROI) задерживается на 5 секунд так, что бы выполнить её, когда аппарат идет к путевой точке 2. Примечание: эта команда не останавливает квадрокоптер.
Параметры:
Time (sec) - время в секундах, что бы задержать следующую команду "действия".
Condition-Distance
Задержка следующей команды "делать" пока квадрокоптер не находиться в пределах указанного количества метров следующей точки. В приведенном выше примере команда 4 (Do-Set-ROI) задерживается так, что она начинается после того, как квадрокоптер находиться в пределах 50 метров от точки 5. Примечание: эта команда не останавливает квадрокоптер во время миссии. она только влияет на команды "Do".
Параметры:
Dist (m) - дистанция в метрах, как близко должен находиться квадрокоптер до следующей точки, что бы выполнить команду "делать" (она же "Do").
Condition-Yaw
Эта команда направляет нос квадрокоптера на указаное направленик, когда он идет до следующей точки.
Параметры:
Deg - желаемое направление в градусах (0 = север , 90 = восток и т.д.)
Sec - не поддерживается - предназначена для ограничения скорости вращения (градусы в секунду) когда квадрокоптер поворачиваеся на желаемое направление.
Dir (1=CW, -1=CCW) - не поддерживается. предпологает возможность контроля вращения квадрокоптера влево или вправо. Он всегда будет поворачиваться в направлении, которое наиболее быстрое к его цели.
rel/abs - позволяет задать головное направление (т.е. Deg) как обсолютное направление (если "0") или по отношению к текущему курсу (если "1")
Do-Jump
Позволяет перейти к команде заданное число раз, прежде чем продолжить миссию. Пример выше даст квадрокоптеру команду полета обратно на точку 1 и 2 в общей сложности 3 раза, прежде чем он полетит до точки 4.
Параметры:
WP # - номер для перехода выпонения команды миссии
Repeat - максимальное количество выполнение команды. значение -1 означает бесконечное повторение.
Примечание: эа команда не должна использоваться на прошивке 3.1.2 или ранее (она правильно работает на прошивках ArduCopter 3.2)
Do-Change-Speed
Команда позволяет изменить горизонтальную скорость (в метрах в секунду) у квадрокоптера.
Параметры:
speed m/s - желаемая максимальная скорость в м/сек
Примечание: В конфигурации Arducopter 3.1.2 и ранее изменение скорости вступит в силу после того, когда команда навигации (т.е. команда путевой точки) завершиться. В версии 3.2 квадрокоптер сразу изменит скорость
Do-Set-Home
Эта команда изменит исходное положение, которое используется для возращения на старт ("Home" так же используется оригинальное положение для всех расчетов навигации).
Параметры:
Current(1)/Spec(0) - если задано "1" - использует текущее место положение в качестве нового "дома", если "0" использует указаную широту и долготу (см. на картинку, где пока нет описания!)
Lat, Lon - широта и долгота цели.
Примечание: В версии конфигурации ArduCopter 3.1.2 и раньше не используйте эту команду! В версиях 3.2 и выше она может быть использована для задания местоположения RTL , хотя трудно представить себе, почему это надо.
Do-Set-Cam-Trigg-Dist
Активизирование затвора камеры на основе расстояния. Например эта команда выше заставит работать затвор камеры, что бы запускать его после каждого 5м, которые летит квадрокоптер.
Параметры:
Dist (m) - интервал растояния в метрах.
Примечание: В конфигурации ArduCopter 3.1.2 и раньше эта команда не может быть отключена. Камера будет продолжать срабатывать несколько раз даже после того, как миссия была окончена. В версии прошивки 3.2 и выше установление значение равное нулю остановит затвор камеры от ключения.
Do-Set-Relay
Установит выходы реле (relay pins) кодами LOW или HIGH.
Параметры:
off (0) / on (1) - 0 = установить relay pin's LOW. 1 = установить relay pin's HIGH. 2 = инвертирование переключения (если было 0 - установится 1 и наоборот)
Delay - не используется.
Do-Repeat-Relay
Переключает цифровой выход "Relay Pin" в заданое число раз. В приведенном примере выше, при условии, что Relay Pin's было выключено и установление в положение HIGH произойдет заданое число раз , а затем через 3 секунды оно будет LOW.
Параметры:
Repeat # - сколько раз нужно переключить relay pin.
Delay (s) - количество секунд между каждым переключением.
Do-Set-Servo
Перемещение сервопривода до конктерного значения ШИМ (PWM). В приведенном выше примере сервопривод подключен к 8 каналу и будет установлен 1700 PWM (обычно значения в диапазоне от 1000 до 2000)
Параметры:
Ser No - выходной канал сервопривода.
PWM - значение ШИМ для вывода на сервопривод.
Do-Repeat-Servo
Команда позволяет многократно двигать сервоприводом назад и вперед между его средним положением и заданным значением ШИМ. В приведенном выше примере сервопривод крепиться к 8 каналу выхода APM и будет установлено значение 1700 ШИМ, после 4 секунд вернется в среднее положение (по умолчанию это 1500, который устанавливается параметром RC8_TRIM) после следующих 4 секунд он будет снова перемещен в значение 1700. В конце после 4 секунд он будет перемещен назад в среднее значение.
Параметры:
Ser No - выходной канал сервопривода.
PWM - значение ШИМ для вывода на сервопривод.
Repeat # - количество раз, что бы переместить сервопривод до указанного значения.
Delay (s) - задержка в секундах между каждым движением сервопривода.
Do-Digicam-Control
Команда позволяющая активизировать затвор камеры сразу. Эта команда не принимает дополительные аргументы.
Do-Mount-Control
Не поддерживается. Эта команда ничего не делает и не принимает никаких аргументов.
В будущих версиях этой команды можно указать угол крена, тангажа и рысканья, который примет подвес камеры Это может быть полезно для наведения камеры в конкретных направлениях во время миссии.
Точки возврата / Rally Points
Обычно когда самолет или квадрокопер входит в полетный режим RTL (возврат на точку запуска) (а еще этот режим срабатывае при настроенной защите отказа - failsafe) то по умолчанию, что бы вернуться на точку старта, он летит по прямой и бывают такие случаи, когда это нежелательно. Например это может быть область, где много людей или проблемное место, где работа RTL нежелательна. Это возможно, когда план полета достаточно большой и вход квадрокоптера в режим RTL нежелателен, что бы пройти по прямой весь путь к точке взлёта.
По этой причине мы теперь поддерживаем создание нескольких "точек возврата" (или Rally Points). Если квадрокоптер входит в режим RTL и точки возврата определены то он полетит до ближайшей ралли-точки для посадки, а не возращаться в исходное положение (полет до домашней точки). Поведение самолета будет, как и в режиме Loiter, полетом по кругу в ралли-точки, а квадрокоптер будет выполнять автоматическую посадку (Land).
Настройка ралли-точки
Выполните следующие шаги для определения Ралли-точек в ПО Mission Planner:
Выберите мышкой на карте желаему широту и долготу. В Разделе Plight Plan установие нажатием кнопки мышки на карте курсок и выберите из контекстного меню пункт Rally Points и установите точку выбрав Set Rally Points. Обратите внимание, что данная работа проводиться в экране планировщика полетов (Flight Plan) а не экрана данных рейса (Flight Data):
Высота "ралли" должна быть указана (обратите внимание, что она по умолчанию для ралли-точки такая же , как и значение высоты маршрута по умолчанию):
Повторите все эти действия для нужных ралли-точек
Загрузите в квадрокоптер ралли-точки выбрав из контекстного всплывающего меню правой кнопкой мыши "Upload"
Следует учесть следующие при использовании ралли-точек:
- При использовании Geofence: обеспечте нахождение ралли-точек внутри геозоны.
- Убедитесь в том, что ралли-точка достаточно высока, что бы не зацепить деревья, рельев и здания.
- Из-за ограничения размера флеш-памяти на ArduPilot Mega число ралли-точек будет ограничеваться 10-ю. На самолете 6-ю. На квадрокоптере этот предел может быть расширен при использовании других платформ, таких как PX4 или Pixhawk в будущем.
- В конфигурации прошивки самолета радиус Loiter для ралли-точки такой же, как и в остальных точках режима Loiter, определяется параметром WP_LOITER_RAD.
- Параметры ALT_HOLD_RTL / RTL_ALT не используются с ралли-точкими, самоле будет идти в ралли-почку на высоте , указанной при добавлении этой точки.
- Параметр RALLY_LIMIT_KM - это максимальное расстояние до "ралли-точки", которое может быть от квадрокоптера или самолета, которое будет рассматриваться на событие режима RTL. Если дистанция до "ралли-точки" больше, чем растояние от самолета или квадрокоптера до домашней позиции то используется событие режима RTL с возвратом домой ( на высоте ALT_HOLD_RTL ), а если домашняя точка (Home Position) дальше , чем ближайшая ралли-точка - используется ближайшая ралли-точка. Этот параметр для того, что бы предотвратить улет, если ралли-точки были указаны для нескольких полей на которых вы летаете. Этот параметр может быть отключен, если установить его в 0.
- Параметр RALLY_TOTAL - это число "ралли-точек", указанных в настоящее время. Этот параметр будет установлен для вас вашей наземной станцией управления (например Mission Planner), когда вы добавляете или удаляете "точки". Маловероятно, что вы установите этот параметр вручную и это небезопасно делать. RALLY_TOTAL должен быть 0, если вы не указали ни одной "ралли-точки" и в этом случае домашнее местоположение (Home Position) будет использоваться для событий RTL.
Следующие параметры протокола MAVLink будут контролировать поведение "ралли-точек"
Пример полета
Полет в котором сработало событие RTL , после которого самолет стал кружить возле южной точки в режиме LOITER
Бортовой журнал (DataFlash Log)
Типы журнала (Dataflash и telemetry)
Есть два способа записи полетных данных с ArduCopter. За некоторым исключением эти два вида записей очень похожи, но отличаются:
- Журнал DataFlash (описанный на этой странице) можно использовать на плате самого полетного контроллера APM или PX4, которые можно загрузить после полета.
- Журнал телеметрии (так же известный как "tlogs") пишется ПО Mission Planner (или другой наземной станцией) когда вы подключили вашу APM через модемы телеметрии. Здесь можно найти поднобности
Настройте какие данные вы ходите записывать
Параметр LOG_BITMASK управляет типами записываемыми сообщениями в бортовую память полетного контроллера. Если вы хотите добавить какой-то конкретный дополнительный тип сообщений в дополнение к значениям по-умолчанию, выберите из выпадающего списка раздела Parametr List ПО Mission Planner.
Для лучшего контроля какие именно сообщения записываются можно использовать интерфейс командной строки CLI следующим образом:
- Перейдите в раздел Terminal ПО Mission Planner
- Нажмите кнопку "Connect APM" или "Connect PX"
- Введите слово logs
- Включите или отключите один из возможных типов сообщений набрав enable или disable c последующим типом сообщения, например enable IMU
Полный список возможных данных сообщений для ArduCopter являются:
- ATT: крен, тангаж и рысканье (запись при 50Гц, если включена ATTITUDE_FAST. 10Гц, если включен с ATTITUDE_MED)
- ATUN: обзор autotune (записывается в начале каждого испытания "подергивания")
- ATDE: детали autotune (записывает в 100Гц как квадрокоптер дергается)
- CAMERA: GPS время, наклоны квадрокоптера (по трем осям) , широта, долгода и высота над уровнем моря на данный момент срабатывания затвора камеры
- CMD: команды полученные от наземной станции или запущеные как часть миссии.
- COMPAS: данные значения компаса и значения коррекции compassmot
- CURRENT: напряжение батареи, тока и бортовое питание записывается в 10Гц.
- CTUN: информация о дроссельной заслонке и высоте включая подаваемые пилотом газ, высоту от датчика sonar, барометра. Записывается с частотой 10Гц/с
- DU32: id=9 Инициализция направления носа в режиме Simple в сантиметрах-градусы (т.е. 18000 = ЮГ)
- DU32: id=7 Битовая маска внутреннего состояния. Биты можно найти по этой ссылке
- ERR: Ошибка подсистемы и номер ошибки. Список можно найти на этой странице
- EV: номер события. Полный список возможных событиях можно найти в defines.h, но наиболее распространенными являются:
- 10 = Снят с охраны (Arming)
- 11 = Поставлен на охрану (Disarming)
- 15 = Автоматически снят с охраны (когда пилот подал газ выше нуля и автопилот может свободно взять контроль над дроссельной заслонкой)
- 16 = Посадка
- 18 = Произведенная посадка
- 25 = Установка дома (координаты "домашнего" расположения были захвачены)
- GPS: GPS позиция, высота, количество спутников, HDOP записываются с обновляемыми данными GPS (обычно 5Гц)
- IMU: сырые данные акселерометра и гироскопа, записанные при 50Гц
- INAV: инерциальная навигационная высота и положение
- NTUN: навигационные данные, включая желаемую и фактическую скорости, желаемые ускорения, наклоны и повороты. Записывается при 10Гц в то время как автопилот управляет горизонтальным положением (Loiter, RTL, AUTO)
- OPTFLOW: данные скорости и желаемые углы крена и тангажа оптического датчика потока (optical flow) , если OF_LOITER включен
- PID: результаты выхода P, I и D PID-регулятора, если он в нстоящее время настроен с помощью настройки 6-го канала. Записывает при 50Гц
- PM: данные о производительности включая номер медленного и длительного цикла в мс (записывает один раз в 10сек)
- RCOUT: Индивидуальный уровень ШИМ (PWM) записываются при 50Гц (Моторов)
Пожалуйста обратите внимание, если вы включите слишком много дополнительного логирования журналов - это отобразиться на производительности процессора и качестве полета, поэтому придерживайтесь поочередному включению записи логов.
Если вы ходите увидеть какие элементы вы можете получить для других платформ, сделайте следующие шаги:
- Запишите список включенных элементов , прежде чем делать следующие шаги
- Введите Enable All это позволит регистрировать все параметры для вашей платформы - некоторые из них, возможно, вам не нужны. Вы увидите список всех элементов которые в настоящее время зарегистрированны.
- Что бы удалить элементы в списке которые вы не хотите регистрировать в журнал данных установите им режим disable у каждого из не нужного вам элемента. Или вы можите вернуться в Mission Planner -> Advanced Parametrs и используя BITMASK (LOG_BITMASK) выбрать одну из нужных вам конфигурация вашего аппарата
Загрузка журнала из Mission Planner
- Зайдите в экран TERMINAL ПО Misson Planner
- Нажмите "Connect APM"
- В открывшемся окне нажмите кнопку "Log Download"
- Когда появится окно "Log" установите флажок журнала который вы хотите скачать (обычно это наибольшее число )
- Выберите тип журнала в зависимости от конфигурации платформы (APM:Copter, APM:Plane, APM:Rover) Это гарантирует, что вы получите правильные данные из памяти.
- Нажмите кнопку "Download There Log"
Для очень больших данных журнала это может занять несколько минут, вы должны увидеть количество данных, передаваемых под кнопкой "Clear Logs". Когда журнал полностью загружен под кнопкой "Clear Logs" появится надпись "Done".
Журнал появится в вашем каталоги ПО Mission Planner (каталог, где был установлен Mission Planner) в пвпку под названием "logs" или по выбранному вами месту в настройках Config/Tunung->Planner. Файл будет иметь формат: YYYY-MM-DD HH-MM ##.log
Рядом с лог-файлом будет файл KMZ который покажет вам 3D вид траектории полета, если открыть в Google Earth. GPX Файл так же производиться , но используется редко.
Очитка журнала:
- Кнопка "Clear Logs" очистит все журналы, если её нажать
- Это хорошая идея, что бы сохранить файлы журналов до дня полета
- Как только внутренняя память будет заполнена она будет перезаписывать старые данные.
Просмотр содержимого
Файлы журналов могут быть открыты для анализа. Выполните следующие действия:
- Откройте экран Terminal ПО Mission Planner
- Нажмите кнопку "Log Browse" и укажите на один из файлов с расширением log
Экран с графиком обозревателя журналов появится перед вами. Размеры графика моугут быть изменены, нажмите и удерживайте мышкой непосредственно под графиком.
Основным форматом журнала являются:
- На левой стороне отображаются номера строки
- Версия ПО и платы отображаются в самом начале (вверху)
- Следующими идут FTM сообщения, показывающие заголовки колонок для каждого типа сообщения
- PARM строки , которык показывают каждый параметр (в том порядке, в котором они появляются в EEPROM) вместе с их первоначальными значениями
- Сообщения полетных данных, включая GPS, IMU и другие
Отображения графика полетных данных осуществляеся нажатием на соответствующую строку, вы должны увидеть заголовки столбцов соответсвующим образом. Далее найдите столбец, который вы хотите построить на графике, нажмите на него, а затем нажмите "Graph this data". В приведенном выше примере отображатся ATT Roll-in и Roll данные.
Покрутите колесиком мышки , что бы увеличить или уменьшить масштаб графика. Вы так же можете выбрать область на графике, что бы увеличить масштаб на нем. Если щелкнуть правой кнопкой мыши и выбырать "Set Scale defaul" то масштаб установиться маштабом по-умолчанию. вот мини руководсво по использованию этого.
Вы так же можете отфильтровать только только по первой колонке (сообщения полета), нажав на первом столбце и выбрав тип сообщения из раскрывшающегося списка. Это очень полезно, особенно для просмотров различных полетных режимов (называемое "MODE" режимом), используемых в ходе миссии. Нажмите на первый столбец снова и выберите "Cancel" что бы сбросить фильтр.
Подробности сообщений (Конкретно для APM ArduCopter)
ATT (информация высоты)
- Rollin: Желааемый угол крена пилота в сантиметро-градусах (наклон в лево - отрицательное, вправо - положительное)
- Roll: фактический наклон квадрокоптера в сантиметро-градусах (наклон влево - отрицательное, вправо - положительное значение)
- Pitchin: желаемый угол наклона пилота в сантиметро-градусах (наклок вперёд - отрицательное, назад - положительное)
- Pitch: фактический угол тангажа квадрокоптера в сантиметро-градусах (вперед отрицательное, назад - положительное)
- YawIn: требуемая скорость рысканья пилота, число от -4500 до +4500 (не градусы/секунды, вращение по часовой - положительное)
- Yaw: фактическое направление носа, в сантиметро-градусы, 0 = север.
- NavYaw: желаемое направление носа в сантиметро-градусов.
ATUN (обзор автонастройки)
- Ось: 0 = Roll , 1 = Pitch
- TuneStep: 0 = Возвращение к уровню (по горизонту) (до или после испытания), 1 = тестирование (т.е. выполнение подергивания, что бы проверить реакцию), 2 = обновление коэффициентов (дерганье завершено и применены коэффициенты)
- RateMin: Минимальный записанный коэффициент во время теста
- RateMax: Максимальный записанный коэффициент во время теста
- RPGain: Коэффициент усиления P происходящего испытания
- RDGain: Коэффициент усиления D происходяего испытания
- SPGain Коэфициент стабилизации P происходяего испытания
ATDE (Auto Tune подробные шаги )
- Angle: угол квадрокоптера в сантиметро-градусах для оси которая проходит испытывается
- Rate: скорость вращения квадрокоптера для оси которая проходит испытания
CAM (время и место, когда затвор камеры был активирован)
- GPSTime: сообщенное время GPS в миллисекундах
- Lat: данные акселерометра + оценка широты GPS
- Lon: данные акселерометра + оценка долготы GPS
- Alt: данные акселерометра + оценка высоты с барометра в сантиметрах над землей
- Roll: угол крена квадрокоптера в сантиметро-градусах
- Pitch: угол наклона квадрокоптера в сантиметро-градусах
- Yaw: курсовое направление в сантиметро-градусах
CMD (команды, полученные от наземной станции или как часть выполняемой миссии)
- CTot: общие число команд в миссии
- CNUM: номер команды в миссии (0 - всегда "дом", 1 - является первой командой миссии и т.д.)
- CId: индификатор сообщений mavlink подробнее
- Copt: дополнительный параметр (используется для различных целей)
- Prm1: параметр команды (используется для различных целей)
- Alt: команды высоты в метрах
- Lat: команды позиции широты
- Lng: команды позиции долготы
COMPASS ("сырые данные" компаса, смещения и значения коррекции compassmot)
- MagX, Magy. Magz: "сырые значения" магнитного поля для х, у и z осей
- OfsX, OfsY, OfsZ: "сырье значения" магнитного смещения (изменятся только тогда, когда параметр COMPASS_LEARN 1)
- MOfsX, MOfsY, MOfsZ: compassmot компенсация дроссельной заслонкой или тока
CURRENT (напряжение батареи, ток бортовое напряжение )
- Thr: подаваемое пилотом газ дроссельной заслонки (от 0 до 1000)
- ThrInt: встроенный дроссель (т.е. сумма общего выхода дроссельной заслонки для этого полета)
- Volt: напряжение батареи в вольтах * 100
- Curr: ток от батареи в амперах * 100
- Vcc: напряжение на плате
- CurrTot: общий ток, протекающий от батареи
CTUN (информация дросельной заслонки и высоты)
- ThrIn: дроссель пилота в виде числа от 0 до 1000
- SonAlt: высота над землей в соответствии с гидролокатором
- BarAlt: высота над землей в соответствии с барометром
- WPAlt: желаемая высота в то время когда полетный режим AltHold, Loiter, RTL, AUTO
- NavThr: не используется
- AngBst: дроссельной увеличение (от 0 ~ 1000), как результат обучениям полета квадрокоптера (автоматически добавляется ко всем пилотным и автопилотным дросселям, чтобы уменьшить потерю высоты во время обучения)
- CRate: акселерометр + оценка скороподъемности барометра в см/с
- ThrOut: окончательное значение вывода дроссельного газа посланому к двигателям (от 0 до 1000). Обычно равен ThrIn + AngBst в режиме стабилизации.
- DCRate: - пилотируемое желание скороподъемности в см/с
D32, DU32 (отдельные значения данных, которые либо целые 32 битные или целые 32 битные числа без знака):
- ID: идентификационный номер для переменной. Есть только два возможных значения
- 7 = битовая маска из внутреннего состояния. Смысл отдельных битов можно найти в определении ArduCopter.pde 'ы структуры ап.
- 9 = полетный режим simple mode в сантиметро-градусном указании направления курса
ERR (сообщения об ошибке)
Подсистемы и коды ошибок перечислены ниже
- 1: Главная (никогда не используется)
- 2: Radio
- ECODE 1: "Последний кадр", что означает, что PPM кодер АРМ в не получала обновления более 2 секунд
- ECODE 0: ошибка решена, что означает, что PPM кодер начал получать данные снова
- 3: Compass
- ECODE 1: компас не удалось инициализировать (вероятно аппаратная проблема)
- ECODE 2: сбой при попытке прочитать одно значение из компаса (вероятно аппаратная проблема)
- ECODE 0: ошибоки выше решены
- 4: Optical Flow
- ECODE 1: не удалось инициализировать (вероятно аппаратная проблема)
- 5: Throttle failsafe
- ECODE 1: дроссель упала ниже FS_THR_VALUE - это означает вероятную потерю контакта между приемником и передатчиком (Rx / Tx)
- ECODE 0: ошибока выше решена, контакт передатчика и приемника восстановлен
- 6: Battery failsafe
- ECODE 1: напряжение батареи упало ниже LOW_VOLT или общая емкость батареи превысила BATT_CAPACITY
- 7: GPS failsafe
- ECODE 1: потеря GPS фиксации по крайней мере как минимум 5 секунд
- ECODE 0: GPS фиксация восстановлена
- 8: Ground Station (Наземная станция) failsafe
- ECODE 1: обновления от наземной станции потеряна как минимум 5 секунд
- ECODE 0: обновления от наземной станции восстановлено
- 9: Fence
- ECODE 1: нарушена высота ограждения
- ECODE 2: круговой забор нарушен
- ECODE 3: высота и круговая ограда нарушены
- ECODE 0: аппарат вернулся внутрь забора
- 10: Flight Mode
- ECODE 0 ~ 10: квадрокоптер не смог переключиться на требуемый режим полета
- (0 = Stabilize, 1 = Acro, 2 = AltHold, 3 = AUTO, 4 = Guided, 5 = Loiter, 6 = RTL, 7 = Круг, 8 = Position, 9 = Land, 10 = OF_Loiter)
- 11: GPS
- ECODE 2: GPS Глюк
- ECODE 0: GPS Глюк устранен
- 12: Crash Check (проверка крушения)
- ECODE 1: Крушение обнаружено
EV (номер события) Полный список возможных событий можно найти в defines.h , но наиболее распространненые являются:
- 10 = Снят с охраны (Arming)
- 11 = Поставлен на охрану (Disarmig)
- 15 = Автоматическое снятие с охраны - (Auto Armed) (пилот поднял газ выше нуля и автопилот может свободно взять под контроль дроссельной заслонки)
- 16 = Взлёт (TakeOff)
- 18 = Полная посадка (Land Complete)
- 25 = Установка "Дома" (Set Home) (домашние координаты, которые былы захвачены)
GPS:
- Status - 0 = нет GPS, 1 = есть GPS, но без фиксации спутников, 2 = GPS с 2D фиксацией, 3 = GPS с 3D фиксацией
- Time: при GPS сообщили время с начала эпохи в миллисекундах
- NSats: количество используемых спутников
- HDOP : мера точности GPS (1,5 хорошо, больше 2.0 не так хорошо)
- Lat: Широта в соответствии с GPS
- LngG: Долгота в соответствии с GPS
- RelAlt: Акселерометр + Баро высота в метрах
- Alt: GPS высота (не используется контроллером полета)
- SPD: горизонтальная скорость движения в м / с
- GCrs: наземный курс в градусах (0 = север)
IMU (информация акселерометра и гироскопа)
- GyrX, GyrY, GyrZ: "сырые данные" вращения гироскопа в градусах/секунды
- AccX, Accy, AccZ: "сырые данные" значения акселерометра в м/с/с
INAV (инерциально-позиционная навигация и оценка скорости)
- Balt: высота барометра в см
- IALT: инерциальная оценка высоты навигации в см
- IClb: инерциальная навигационной оценкам скороподъемность в см/с
- ACorrX. ACorrY, ACorrZ: х, у и z-ось коррекции акселерометр в см/с/с
- GLat, Glon: GPS широта и долгота от дома
- ILat, ILng: инерциальная навигационная широта и долгота от "дома"
Mode (полетный режим)
- Режим: режим полета отображается как строка (т.е. STABILIZE, LOITER, и т.д.)
- ThrCrs: дроссельной круиз (от 0 ~ 1000), который является дополнением автопилота, чтобы работать дросселем для поддержания стабильного наведения
NTUN (Навигационная информация)
- WPDst: расстояние до следующей точки (или цель замирания) в см. Обновляются только в то время, когда режим LOITER, RTL, AUTO.
- WPBrg: "подшипник" (поворот?) до следующей точки в градусах
- PErX: расстояние до промежуточного ориентира между квадрокоптером и следующей точки в направлении широты
- PErY: расстояние до промежуточного ориентира между квадрокоптером и следующей точки в направлении долготы
- DVelX: желаемая скорость в см/с в направлении широты
- DVelY: желаемый скорость в см/с в направлении долготы
- VelX: оценка фактической скорости (акселерометр + скорость GPS) в направлении широты
- Vely: оценка фактическая скорости (акселерометр + скорость GPS) в направлении долготы
- DAcX: желаемое ускорение в см/с/с в направлении широты
- Dacy: желаемое ускорение в см/с/с в направлении долготы
- DRol: нужный угол крена (roll) в сантиметро-градусов
- DPIT: желаемый угол наклона (pitch) в сантиметро-градусов
PM (мониторинг производительности)
- RenCnt: DCM Количество ренормализационная - большое количество может указывать на проблемы в DCM (крайне редко)
- RenBlw: DCM ренормализационная раздутие Количество - сколько раз DCM пришлось полностью перестроить матрицу DCM с момента последнего мониторинга производительности. Обычно безобидное чило, но это число, постоянно растет может быть признаком того, что DCM имеет проблемы расчета отношения (крайне редко)
- FixCnt: количество GPS исправлений, полученных после последнего сообщения PM (трудно себе представить, как это будет полезно)
- NLon: количество длительных основных петель (т.е. петли, которые принимают более 5% , чем 10 мс они должны)
- NLoop: было показано общее количество петель после последнего сообщения PM. Обычно 1000 и позволяет вычислить процент медленных петель, которые никогда не должны быть выше, чем 15%.
- MaxT: максимальное время, что любой цикл принял после последнего сообщения PM. Это значение должно быть близко к 10 000, но будет до 6000000 в течение интервала, когда двигатели сняты с охраны (armed)
- PMT: число, увеличивается на единицу каждый раз, когда удар сердца, полученную от наземной станции
- I2CErr: количество ошибок I2C после последнего сообщения PM. Любые ошибки I2C может указывать на проблему на шине I2C, которые могут, в свою очередь, замедлить основной цикл и вызвать проблемы с производительностью.
RCOUT ( PWM/ШИМ выход для отдельных каналов )
- RC1, RC2, и т.д.: команда ШИМ отправлено от контроллера полета к выходу ESC / двигатель / RC
Просмотр KMZ файлов
При загрузке файлов журналов из APM система автоматически создает файл KMZ (файл с расширением .kmz). Этот файл можно открыть с помощью Google Earth (просто дважды щелкните файл), чтобы посмотреть свой полет в Google Earth. Пожалуйста, обратитесь к инструкции "журналы телеметрии" для дополнительных деталей.
Обучающие видео
Журнал данных с телеметрии Mission Planner
Типы журналов (память полетного контроллера или tlogs - телеметрический журнал)
Есть два пути для запиши ваших полетных данных с ArduCopter, вы можите выбрать любой из путей:
- Журнал полетного контроллера (dataflash) - используется на плате полетного контроллера apm с 16Мб памяти на борту, вы можите скачать после полетов. (см. раздел загрузка и анализ логов apm arducopter
- Журнал телеметрии (так же известный , как "tlogs" и описанный на этой странице) может быть записан с помошью ПО Mission Planner когда вы подключены с вашим APM через телеметрические радиомодемы или USB
Где и как создаются телеметрические логи (tlogs)
Tlogs записываются с телеметрического протокола MAVLink обменивающегося сообщениями между полетным контроллером и наземной станцией и автоматически создаются , когда вы нажимаете в ПО Mission Planner кнопку "connect".
Формат файлов именуется как YYYY-MM-DD hh-mm-ss.tlog и находиться в подпапке вашего ПО Mission Planner или в заранее указанной вами папке в настройке ПО Config/Tuing->Planner.
Помимо файлов ".tlog" создаются файлы ".rlog". Они содержать все данные .tlog c дополнительной отладочной информацией из Mission Planner. Они не могут быть разобраны или проанализированы поэтому вы должны их игнорировать.
Настройка частоты данных телеметрии
Желаемую скорость данных посылаемых с полетного контроллера APM до наземной станции можно настроить в ПО Mission Planer -> Software -> Planner в выпадающем списке Telemetry. Все данные передаваемые по телемерии так же записываются в TLOG файлы, частоту данных которую можно регулировать.
Обратите внимание, что особенно на конфигурации ArduCopter , из-за ограничения ресурсов процессора фактическая скорость данных переданная и сохраненная может быть ниже , чем установленная.
Воспроизведение миссиий
Если вы используете беспроводну телеметрию и у вас установленно соединение между полетным контроллером APM и ПО Mission Planner ваши полетные данные будут автоматически записаны. Вы можете проиграть их из журналов следующим способом:
- Откройте раздел Fligt Data
- Щелкните по вкладке "Telemetry logs"
- Нажмите кнопку "Load Log" и найдите полетный tlog файл
- Нажмите кнопку "Play"
Вы так же можете установить интересующий вас временной интервал двигая ползунок и выбрать скорость воспроизведения нажимая клавиши скорости.
Проигрывая журнал информация экрана HUD будет изменяться и местоположение аппарата будет обновлятся как это происходит в полете. Индивидуальные значения можно увидеть через вкладку Status и отобразить на графике нажав на "Tuning". Затем двойным щелчком на данных вызвать окно с дополниельными параметрами , которые вам потребуется отображать. Это покажет записаные данные в процессе полета.
Создание 3D пути полета.
Вы можете создать KMZ файле делая следующее:
- Откройте экран "Flight Data"
- Щелкните по вкладке "Telemetry Logs"
- Нажмите на кнопку "Tlog > KML or Graph"
- Нажмите на кнопку "Create KML + GPX"
- Выберите полетный tlog файл
Файлы .kmz и .kml будут созданы рядом с оригинальным .tlog и их можно открыть в Google Earth для интерактивного просмотра 3D полета. Вы можете открыть kmz файл в Google Earth для просмотра полета или пути. Просто дважды щелкните на файл или перетащите его в Google Earth.
Различные режимы полета будут отображены разными цветами дорожек. Вы можете изменить детали отображения пути и цвета делая следующее:
- Найдите файл журнала в панели слева "Places". Он должен появиться в папке "Temporary Places"
- Щелкните на индивидуальный путь и выберите "Prooerties" для окрытия окна редактирования пути
- Цвет можно поменять на вкладке "Style, Color"
- Область ниже может удалена/добавлена на вкладке "Altitude" снятием/установкой "Расширеный путь до земли"
Извлечение параметров и путевых точек
Вы можете извлечь параметры и путевые точки из tlog следуя тем же действиям, что и для создания KML файла исключая последний шаг выберая "Extract Params" или "Extract WP's"
Извлечение параметров создаст .param файл который будет рядом с tlog. Этот файл (.param) содержит полный список параметров (в том же порядке, как они появляются в EEPROM) вмесе с их значениями во время полета. Они могут быть открыты в экселе или текстовым редактором.
Извлечение путевых точек создаст один или несколько .txt файлов любых миссий загруженных на полетный контроллер APM. Эти файлы могут быть открыты в Mission Planner переключившись на экран "Flight Plan", правой кнопкой мыши на карте выбрать "File load/save", "Load WP File".
Графические данный из полета
Даные из полета могут быть отображены графически , для этого выполните следущее:
- Откройте Flight Data экран
- Нажмите на вкладку "Telemetry Logs"
- Нажмите на кнопку "Tlog > KML or Graph"
- Нажмите на кнопку "Graph Log"
- Выберите нужный файлt полета log
- Когда появиться экран "Graph This" используя кнопку мыши выберите нужный пункт на основе которого вы желаете построить график. Обратите внимание, что элементы сгруппированы по категориям, таких как "RC_CHANNELS" и "RAW_IMU".
- Если вы используете левую кнопку мыши маштаб для элемента появиться слева от графика. Если правую, то справа.
- Устанавливайте флажок несколько раз что бы выбрать необходимый цвет.
- Изменить величину графика можно с помошью колеса мыши , выбирая область графика зажмите левую клавишу или щелкнув правой кнопкой на графике выберите "Set Scale To Defaul" для сброса величины.
Видео обзор по использованию TLOG
Диагностика проблем с помощью журналов
Эта страница призвана показать вам , как диагностировать топ-5 наиболее распространненых проблем, влияющих на конфигурация APM:Copter в частности, но в некой стемени на конфигурацию APM:Plane и APM:Rover так же. Если вы еще не знакомы с основами журналов телеметрии и журналов APM то рекомендуется ознакомиться с этими страницами, что бы понять где хранятся эти данные и как можно скачать и посмотреть эту информацию.
Механические повреждения
Общие механические повреждения включают повреждения моторов или регуляторов скорости ESC (включая сбой синхронизации ESC) скольшение пропеллеров (проворачивание пропеллеров в следствии плохой затяжки) и тому подобное. Они появляются в журнале как внезапное расхождение в нужном угле тангажа или крена против фактического угла аппарата (по крену и тангажу / Roll and Pitch). Эти расхождения наиболее ярко видны в журнале из бортовой памяи полетного контроллера APM путем построения графика ATT сообщений: Roll-In против Roll и Pitch-In против Pitch и в меньшей степени NavYaw против Yaw
В приведеном выше примере фактическая Roll внимательно следует за нужным Roll-in для первой половины журнала, но потом расходиться. Полетный контроллер apm хотел удерживать Roll на уровне (нулевой roll) но это было невозможно, скорее всего это означает механическое повреждение. Это очень сильно отличается от программного сбоя в котором полетный контроллер ardupilot качался по Roll и по какой-то причине вдруг упал строго вниз , потому что в таких случаях желаемый Roll будет так же сумащедшим как и текущий Roll и будет следовать за ним на графике.
Дополнительные замечания:
- Журналы tlog как правило труднее использовать в этом случае потому, что у нас есть nav_roll и nav_pitch, которые удерживают нужный крен и тангаж, они обновляются только тогда , когда используется полетный режим RTL, Loiter или AUTO.
- В прошивке ArduCopter 3.1 и выше Roll-In и Pitch-In удерживают только нужный крен и тангаж во время стабилизации. А в режиме автопилота вы должны смотреть на NTUN сообщения: DRol и DPit.
Вибрации
Сильная вибрация у конфигурации ArduCopter вызывают у акселерометра, базирующемуся на высоте и горизонтальной позиции , заставляют дрейфовать далеко от реальности, что приводит к проблемам с удержанием высоты (обычно летит в небо) или режиме Loiter (дрейфует)
Вибрации лучше изучаь путем построение графиков из IMU сообщений с бортовой памяти APM по значениям AccX, AccY and AccZ. Значения AccX, AccY (в первую очередь используются для горизонтального управления положением) должны быть между -3 и 3 м/с/с. Значения акселерометра изменятся моментально, когда квадрокоптер движеся вверх или вниз, поэтому лучше достать данные порциями, когда полет квадрокоптера был стационарным, хотя даже в движении можно увидеть уровень вибрации сравнивая разницу между верхней и нижней частью "травы". иногда график прямолинеен, но когда "травинки" скачут, то скорее всего это проблема вибрации.
Ниже на графике указаны допустимые уровни вибрации.
Журналы TLOG RAW_IMU xacc, yacc and zacc можно использоватль, но их обновление происходит значительно медленее (как правило менее 10Гц) чем журнал из полетного контроллера ardupilot (50Гц) из-за этого становиться труднее понять являются ли изменения в акселерометре квадрокоптера перемещением или вибрацией
Если вы используете tlog шкалу в milli-gs то приемлемый диапазон для xacc и yacc от -300 до +300 и для zacc от -500 до -1500. Обратите внимание, что на рисунке значения ниже этого диапазона указывают на проблему вибрации , хотя этот пилот не жаловался на режимы AltHold и Loiter - это более вероятно , что квадрокоптер был не в стабильном наведении и частота обновления была низкой.
Вмешательства в работу компаса
Помехи от распределительной платы PDB, двигаелей, батареи , регуляторов моторов и других электрических устройств рядом с APM могут скинуть направление по компасу, который может привести к кругу ( известно как "туалетный боулинг")
Помехи от распределительной платы, двигателей, батареи, регуляторов скорости ESC и других электрических устройств квадрокоптера рядом с полетным контроллером ArduPilot Mega могут влиять на головное направление компаса, который может привести к "круговым полетам" ( так называемы туалетное смытие) или даже полет в неправильном направлении. Графическое значение mag_field в TLOG (находиться пот "CUSTOM") и дроссель (находиться под VFR_HUD) является самым простым способом, что бы увидеть количество помех. В графе ниже показано приемлимое количество помех. Вы можете увидеть как колеблится mag_field когда дросель газа поднят, но только движение вокруг на 10-20%. Ниже 30% движение является приемлемым. В диапазоне 30-60% находится серая зона, где он может быть в порядке (у некоторых пилотов) и очень плохом диапазоне магнитных помех будет отображаться скачками более 60%, когда дроссель поднят.
Примечания:
- Длина mag_field может быть от 120 ~ 550 в зависимости от того, где и каком месте находиться квадрокоптер, но обычно оно составляет около 330 .
- Магнитные помехи в виде процента от общего магнитного поля также отображаются в конце процедуры настройки compassmot.
- Бортовой журнал полетного контроллера Ardupilot mega содержит "сырые" данные компаса x, y и z осей (называемые MagX, MagY, MagZ), которые эквивалентны RAW_IMU xmag, ymag и zmag полям в TLOG. Длину поля можно вычислить загрузив из бортового журнала данные в Excel фильтруя по сообщениям COMPASS, а затем расчитать магнитное поле по формуле mag_field = SQRT (MagX^2, MagY^2, MagZ^2). Обратите внимание, что журналирование сообщения сомпаса не включены по умолчанию, потому, что он работает на частоте 50Гц и влияет немного на производительность процессора.
- Еще одни параметры которые нужно проверить, должны быть в пределах между - 150 и +150. Они находятся в TLOG группе SENSOR_OFFSET в качестве mag_ofs_x, mag_ofs_y, mag_ofs_z и в журнале полетного контроллера сообщения COMPASS в качестве OfsX, OfxY, OfxZ. Так же можно увидеть в параметрах как COMPASS_OFS_X, COMPASS_OFS_Y , COMPASS_OFS_Z.
- Изображение выше показывает короткий пик в начале графика, но это может быть проигнорировано потому, что это перед поднятием дроссельной заслонки. Это вероятно просто подключение других электрических устройств.
GPS глюки
Находясь в режимах автопилота (Loiter, RTL, AUTO) ошибки позиционирования от GPS могут привести ArduCopter к неправильному местоположению и спровоцировать к агресивному полету исправления позиции. Эти "глюки" появляюстся в обоих журналах : TLOG и журнале полетного контроллера ardupilot mega apm как уменьшение числа видимых спутников и увеличение HDOP.
Если с помощью графика TLOGs вы можете сделать это путем построения графика группы "GPS_RAW_IT" значений "eph" и "satellites_visible". Значения HDOP 1,5 (отображаются на экране 150) или ниже - это очень хорошо. Выше 2,0 (т.е. 200) указывает на плохое значение позиции. Количество спутников, ниже 9 так же плохо. Существенное изменение этих двух значений часто сопровождает изменение позиции GPS.
В журнале полетного контроллера ardupilot mega apm сообщений GPS вы найдёте HDOP и столбцы NSats. Примечание! Значения HDOP находятся в правельных единицах измерения в журнале полетного контроллера (т.е. не 100 с лишним , как в tlogs).
В прошивке ArduCopter 3.1 и выже присуствует алгоритм обнаружения "GPS глюков" для их игнорирования.
Проблемы системы питания (Угасание и прочие)
Внедрение модуля питания стало гораздо проще для людей, что бы обеспечить надежное энергоснабжение квадрокоптера на полетном контроллере APM. Это привело к массовому сокращению числа "пониженного" питания, но они все еще имеют место быть. Как правило они могут присуствовать в журналах и внезапно заканчиваться, когда квадрокоптер все еще находиться в воздухе (например барометр или инерциальная навигация высоты по прежнему сообщает о высоте выше нуля).
Используйте графики:- Журнал полетного контроллера, CTUN сообщения, значение Baro-Alt
- Журнал полетного контроллера, GPS сообщения, значения RelAlt (комбинированое значение акселерометра + барометра)
- Журнал TLOG значение VHR_HUD alt (комбинированое значение акселерометра + барометра)
- Журнал TLOG значение GLOBAL_POSITION relative_alt
Изменения в напряжении на борту полетного контроллера может быть признаком проблемы питания. Нормальные изменения в пределах от 0.10 до 0.15 вольт. Большие изменения могут быть признаком того, что другие устройства питающиеся на общей фазе APM вызывают "рябь" в блоке питания, что может привезти к "понижению" питания или другому странному поведению. Бортовое напряжение платы полетного контроллера можно отобразить на графиках:
- Журнале полетного контроллера в сообщениях CURRENT значение VCC
- Журнале телеметрии (tlog) группы HWSTATUS's значение Vcc
На изображение ниже показано просадка по напряжению на полетном контроллере на 0.15 вольт, когда подается дроссельный газ. Как правило это не очень хорошая вещь, но из-за того, что это только 0.15 вольт это наверное еще хорошо. Второй график ниже (из журнала полетного контроллера другого пилота) показывает более сильное изменение напряжение, но и как характерно пределах 0.15 вольт.
Неожиданные ошибки включая failsafes (защита отказа)
Когда происходит неожиданное поведение у полетного контроллера (особенно, когда пилот жалуется, что квадрокоптер не ответил на команды с радиоаппаратуры) это часто является одной из причины срабатывания failsafe (защита отказа). Есть 5 защит от отказов, которые могут быть активированны: защита газа, gps защита, защита наземной станции, защита отказа батареи и "виртуальный забор".
Самый простой способ найти срабатывание защиты посмотреть журнал полетного контроллера фильтруя по сообщениям ERR первый столбец.
В Subsys (подсистеме) есть область, которая генерирует вызвающую ошибку и ECODE (известная как "код ошибки") - это говорит нам, что ошибка была специальная. Ограниченное количество подсистем и кодов ошибок можно найти в исходных кодах конфигурации ArduCopter файла defines.h.
Sub Systems / Error Codes
- 1: Main (never used)
- 2: Radio
- ECode 1: “Late Frame” which means the APM’s onboard ppm encoder did not provide an update for at least 2 seconds
- ECode 0: error resolved which means the ppm encoder started providing data again
- 3: Compass
- ECode 1: the compass failed to initialise (likely a hardware issue)
- ECode 2: failure while trying to read a single value from the compass (probably a hardware issue)
- ECode 0: above errors resolved
- 4: Optical flow
- Ecode 1: failed to initialise (likely a hardware issue)
- 5: Throttle failsafe
- ECode 1: throttle dropped below FS_THR_VALUE meaning likely loss of contact between RX/TX
- ECode 0: above error resolve meaning RX/TX contact likely restored
- 6: Battery failsafe
- ECode 1: battery voltage dropped below LOW_VOLT or total battery capacity used exceeded BATT_CAPACITY
- 7: GPS failsafe
- ECode 1: GPS lock lost for at least 5 seconds
- ECode 0: GPS lock restored
- 8: GCS (Ground station) failsafe
- ECode 1: updates from ground station joystick lost for at least 5 seconds
- ECode 0: updates from ground station restored
- 9: Fence
- ECode 1: altitude fence breached
- ECode 2: circular fence breached
- ECode 3: both altitude and circular fences breached
- ECode 0: vehicle is back within the fences
- 10: Flight Mode
- ECode 0 ~ 10: the vehicle was unable to enter the desired flight mode
- (0=Stabilize, 1=Acro, 2=AltHold, 3=Auto, 4=Guided, 5=Loiter, 6=RTL, 7=Circle, 8=Position, 9=Land, 10=OF_Loiter)
- 11: GPS
- ECode 2: GPS Glitch
- ECode 0: GPS Glitch cleared
- 12: Crash Check
- ECode 1: Crash detected
Привязка координат к сделаным фотографиям через ПО Mission Planner
Координаты для фотографий являются очень полезными для мозаики изображения, а так же для создания точных 3D моделей местности
Mission Planner имеет удобную функцию, которая позволяет передать даные координат в EXIF теги ваших фотографий с помощью журнала телеметрии APM из полета.
Этот учебник был создан, что бы показать вам как это работает.
Шаг за шагом
1. Откройте Mission Planner и нажмите CTRL+F, это откроет скрытый экран, как показано ниже:
2. Нажмите кнопку "Geo ref images". Это даст вам доступ к ресурсу Geo Tagging, как показано ниже:
3. Нажмите кнопку "Browse logs" и выберите журнал телеметрии (TLOG.) связанного с сеанса съемки. Примечание: Вы можете использовать оба источника: "Logs" папку из Planner Mission установить или вы можете скачать его с DataFlash АРМ через порт USB.
4. Нажмите кнопку "Browse Directory" и выберите папку, в которой находятся фотографий загруженые с камеры.
5. Просто для иллюстрации, ниже показывается миссия, используемая для создания этого учебника:
6. Следующим шагом, если нажата кнопка "Estimate offset". То ПО будет пытаться извлечь смещение от "Log Start Time" и "Shooting time" с первого снимка. Результатом будет отображение "offset should be about ...". Вы должны догадаться и вставить его вручную на поле "Seconds Offset".
7. Нажмите кнопку "Do it" и подождите, пока обработка не будет завершена. Должно отображаться количество фотографий "Done ... matches". В противном случае это означает, что синхронизация не является достаточно хорошей.
8. После всего проделанного вы можете проверить положение каждой картинки на Google Earth, нажав кнопку "Местоположение KML".
9. Глядя на приведенный пример вы увидите расчетную позицию картинки. Вы можете нажать любые изображения на левом списке, чтобы проверить его. Если положение не является точным, вы можете вернуться на шаг назад и повторите его на стадии "6" путем увеличения или уменьшения на "secong offset" немного, так же, как тонкой настройки.
10. После завершения настройки, все что вам нужно сделать, это нажать "GeoTag images". Этот процесс будет добавить географические данные к картинке, т.е. широту, долготу и высоту. Обработка создает новые файлы с суффиксом "geotag". Оригинальный набор картинок остается нетронутым.
11. Вы можете проверить ваши фотографии, визуализируя информацию "свойства файла". Вы должны увидеть вставленные GPS теги на данные EXIF.