INAV Modes Guide: Learn the secrets of modes
Putting a flight controller in your plane is not only a safety net; it also allows your planes to do things that weren’t possible just a few years ago. Words cannot describe the feeling the first time you flip a switch and your plane then comes back to you. What once was pure science fiction is now a very affordable reality. And this is all just the start of what’s to come. To perform these feats, we use INAV modes to define how what happens to the model. This article provides you with details of the INAV modes and also guidance to which modes you may want to use.
by, Marc Hoffman
Editing and color commentary by Steve Schlesinger and Marco Lau
One criticism of INAV is that it’s perhaps too powerful. It’s capable of so many things, and yet what you don’t know can hurt you. When you installed your flight controller you wanted to use all 16 channels and install all the INAV modes all at once. It certainly easier to do this than to go back over and over again and update INAV. But keep in mind that some of these modes surrender some if not all control of the plane. Thus, you can very realistically watch your plane fly away never to return.
With this guide you should get and overall understanding of what the INAV modes are capable of doing. It’s best to explore them one at a time. There may be certain modes you’ll never use, such as CAMSTAB. So be selective in what you wish to include. And no, you undoubtedly don’t need to use every switch on your radio to enjoy INAV.
INAV in a fixed wing plane brings a multitude of possibilities. Firstly It starts with simple in-flight stabilisation, which keeps your plane flying like it is on rails. The flight controller deals with wind gusts in real time to further enhance the flying experience. After that we have the fully autonomous flight INAV modes. This could be a simple return to home; furthermore these could allow your plane to fly complete missions over big distances, like a real military drone. It is amazing how far such simple technology in this hobby has been developed. But all these features need some knowledge to be able to use correctly.
In this guide, we will explore in detail the different INAV modes and features of INAV and explain how to correctly set them up and how they work. Firstly, we will explain, how every INAV mode works by itself. Then, in the second part, we will explain their dependencies and preconditions.
Flight Modes
The following INAV modes are flight modes. Flight modes do not fly the plane for you. They are generally used to assist you piloting the plane.
Manual
Manual, formerly known as Pass through, the pilot has direct control over the servos. You can fly, as if the model basically just has a receiver, without any input from the flight controller. The servo mixing, especially for Flying Wings or V-Tail planes, is done by INAV. No mixing on the transmitter is necessary. When setting up a new plane, you should be manually trim using the Manual mode. Then physically adjust the control surfaces so that the don’t need the radio trim.
The MANUAL control mode is very helpful during the initial tuning phase of the plane. Particularly in the case that anything is wrong with your setup, sensor failures, bad PIFF values, unstable flight behaviour. This will allow you to bring the model home, albeit without stabilisation. Some people even prefer to fly in manual, because it feels more natural.
ACRO or Rate Mode
This is the default mode of INAV. Specifically, Acro is active if you do not have other flight modes selected. This is similar to Acro mode on multicopters. So INAV will always try to keep the current attitude of the plane when the pilot has no stick input. As in most flight modes, the flight controller takes over the complete control of the servos. So the input of the pilot requests how fast the plane has to spin around the specific axis. This is known as rate control. The FC limits the speed of the spin according to the rate limits set in the software. There will be more on setting the rates in the Tuning Guide.
ANGLE
In angle mode, the control method changes from rate control to angle control. Therefore, with no stick input, the plane will always fly level. With a stick input for roll or pitch, the flight controller will change the angle as a result of the stick movement. However, at maximum stick movement, the plane will pitch or roll only as far as set in the firmware. There is no automatic control of altitude and throttle, so the Pilot still needs to be in control of that. The yaw axis is still in a rate-controlled mode and only stabilised.
HORIZON
Horizon mode is very similar to Angle mode. The difference is that when the sticks reach a set stick input threshold; horizon will automatically transition to rate control. This allows the pilot to do rolls and loops. But the plane will return to angle control once the stick is below this threshold.
Navigation Modes
Navigation mode also include some autonomy in the flight. This is where the flight controller takes over more of the plane’s operations. This is also where you will start needing more equipment, as some of these INAV modes need a GPS module to work. Navigation modes are all based on the Angle flight mode. So it is a good idea to make sure that your plane flies well in Angle before relying on navigation modes.
NAV COURSE HOLD
In Cruise mode, the plane will explicitly, autonomously keep its heading on a straight path. The pilot does not have direct control over yaw or roll. But the pilot can change the flight course direction via the roll or yaw sticks, yaw is smoother. However this means that the roll or yaw input will have very limited authority. Throttle override by the pilot is optional, see below in the Configuring the INAV modes section. Additionally, this mode needs a working GPS module.
INAV will do all the needed attitude changes by itself to keep the chosen course. INAV also controls the throttle automatically and is dependent on the pitch angle. You need to set the cruise throttle correctly for this mode to work well.
This mode does not maintain the altitude, the plane is flying at. So, pitch is still controlled by angle mode. That means that if when flying hands off in angle mode, the model gains altitude, it will also do this in cruise mode. This is why it is important to have Angle mode flying correctly.
In iNav 2.6 and below, this mode was called NAV CRUISE.
NAV CRUISE
In NAV CRUISE, both the heading and altitude are maintained by the flight controller. In summary, in this mode no yaw, limited roll and altitude control via pitch input. It is NAV COURSE HOLD with altitude hold too.
In iNav 2.6 and below, this mode was called 3D CRUISE. I needed to be activated by enabling NAV CRUISE and ALT HOLD at the same time.
NAV POSHOLD
With this mode, otherwise known as loiter, you can effectively park the plane in the air. It will save the coordinates and altitude as a centre point and then try to fly a constant circle around that point. Also, with the yaw stick, the pilot can change the circle direction, if this feature is activated. With the pitch stick, the altitude can also be changed. There is no further control possible, while in this mode. POS HOLD needs a GPS module and barometer to work. Without barometer the altitude specifically will be very unreliable. Here are the useful CLI commands.
NAV RTH
Return To Home can be one of the most important modes you will ever use. Of course, this needs GPS and Barometer to work. As soon as the pilot arms the plane, it will save its home GPS position on the Flight Controller. If you ever get in trouble by flying too far away, lose sight, or just want to come back from a long-range flight; you can enable RTH and the plane will then autonomously fly back home. You can control the altitude of the return with the pitch stick and also do direction corrections in a limited heading angle. There is also a RTH mode in case of a remote connection loss but this one, behaves slightly different. More on that later. RTH is highly configurable. To get an idea of the options, take a look at the WiKi page.
NAV WP
In WAYPOINT mode it is possible to let the UAV fly almost completely unattended missions. The pilot can use different applications (INAV Configurator on Windows, MultiWii planner on Linux, INAV Mission Planner on Android, INAV Flight on iOS) to plan missions with waypoints. You set these out on a map with specific coordinates and altitude, and then upload them to the Flight Controller. Then you can let the FC automatically fly this mission, as long as you keep in range of your remote. There is also an option to continue missions on Rx loss since INAV 2.3 but this has to be used with caution! This is an advanced mode, you will want to master the other modes before attempting to work with NAV WP. Your planes should be well trimmed, tuned, and calibrated.
Additional Modes or Modifiers
After explaining, what every main modes do. We will now look at the additional modes or modifiers, that cannot be used standalone. But can add additional functionalities to the modes above
Вопросы по iNav
Опции темы
В очень упрощенном виде да, тоже самое, но весь сок там как раз в расчете матрицы динамических корректирущих коэфицинтов и «простой» логикой этого не заменить.
Я в предыдущих релизах пробовал и субьективно даже с успехом. Но да, всего лишь субъективно и без мат. доказательств
А я педантичный. Вы еще с Шурикусом не сталкивались. )
А Вы не думайте. Пишите все как для идиотов. Я полчаса втыкал почему у Вас включен дроп вместо ландинга, но при этом Вы пишете, что степ2 отключен. Я то вижу, что он включен. )
А приписку мелким текстом на обратной стороне(Вы случайно в кредитных или страховых организациях не работали?) я не сразу увидел. )
Но теперь то, все всё увидели и? Верно я настроил, можно отпускать дитя в небо?
К сожалению нет. ) Это просто сначала текст набирал, потом воткнул скрин, вот и съехало.
Еще вопрос (в новичках игнорируют) по теме: Почему дата журнала чёрного ящика 15 года? 1.12.2015 B так все файлы. Может жпс должен время и дату давать но не даёт? Если так, то как победить?
Вопрос по failsafe. С настройкой «Guard time for stage 2 activation» всё ясно. Кстати, какое оптимальное значение?
Но совсем непонятно что делает «Failsafe Throttle Low Delay». Единственное, что пришло в голову, что этот параметр используется только если в Failsafe Procedure выбрано Land. Верно или нет?
И ещё: есть ли разница выбрать в Failsafe Procedure «Return to Home» или эмулировать включение этого режима в Channel Fallback?
# version
# INAV/NAZE 1.3.0 Nov 2 2016 / 11:11:52 (479d607)
# pflags
# Persistent config flags: 0x00000000
# dump master
# mixer
mixer QUADX
mmix reset
smix reset
# beeper
beeper GYRO_CALIBRATED
beeper RX_LOST
beeper RX_LOST_LANDING
beeper DISARMING
beeper ARMING
beeper ARMING_GPS_FIX
beeper BAT_CRIT_LOW
beeper BAT_LOW
beeper GPS_STATUS
beeper RX_SET
beeper ACC_CALIBRATION
beeper ACC_CALIBRATION_FAIL
beeper READY_BEEP
beeper MULTI_BEEPS
beeper DISARM_REPEAT
beeper ARMED
beeper SYSTEM_INIT
beeper ON_USB
# serial
serial 0 1 115200 38400 0 115200
serial 1 2 115200 9600 0 115200
set looptime = 2000
set i2c_overclock = OFF
set gyro_sync = OFF
set gyro_sync_denom = 2
set mid_rc = 1500
set min_check = 1100
set max_check = 1900
set rssi_channel = 0
set rssi_scale = 30
set rssi_ppm_invert = OFF
set rc_smoothing = ON
set input_filtering_mode = OFF
set min_throttle = 1050
set max_throttle = 1850
set min_command = 1000
set 3d_deadband_low = 1406
set 3d_deadband_high = 1514
set 3d_neutral = 1460
set 3d_deadband_throttle = 1000
set motor_pwm_rate = 400
set motor_pwm_protocol = STANDARD
set fixed_wing_auto_arm = OFF
set disarm_kill_switch = ON
set auto_disarm_delay = 10
set small_angle = 25
set reboot_character = 82
set gps_provider = NMEA
set gps_sbas_mode = NONE
set gps_dyn_model = AIR_1G
set gps_auto_config = ON
set gps_auto_baud = ON
dollop’s blog
Запишу в дневник, чтобы не забыть, да и пригодится может кому.
Да, это не полный и исчерпывающий мануал по iNAV, а пример настройки АП под конкретный тип ЛА.
Кроме того, этой записи в дневнике исполнился год. А за год в iNAV произошли существенные изменения. И только в лучшую сторону. Поэтому тут в тексте многое исправлено и дополнено. Актуально на конец февраля 2017. Версия iNAV 1.6.
В поисках кандидата легкого, не дорого комплекта АП для мелкого FPV самолета взор упал на давно приобретенную плату CC3D. Поставив ее на самолет и без труда настроив OpenPilot захотелось большего, а именно возврата домой. В результате после изучения темы всплыли две возможности:
— прошивка Патрика (базируется на baseflight)
— iNAV (базируется на cleanflight)
Имея не очень успешный опыт эксплуатации прошивки Патрика на multiwii, прочитав наискось его тему на fpvlab.com, найдя фразу Патрика же, что его прошивке до iNAV очень далеко, у меня остался только один вариант. А почитав в основном положительные отзывы по системе навигации iNAV вообще развеялись все сомнения.
Начнем (для увеличения изображений правый клик на нем мышей и открыть в новой вкладке).
2. Базовая настройка
Настройку полетного контроллера начиная с iNAV 1.6 лучше начинать с закладки Presets. Здесь можно выбрать тип ЛА и за один клик настроить множество параметров.
Далее будем более тонко настраивать iNAV под себя. Начнем с последовательных портов. Настройка портов выполняется на вкладке Ports.
Вкладка Ports 
— UART1 оставляем без изменения (по-умолчанию), к нему будет подключено ОСД или FTDI для настройки с компьютера
— UART3 будет занят для GPS. Соответственно и включаем эту функцию и выбираем необходимую скорость на порту.
Могу заметить, что применяя GPS приемники ublox серии 6-8 нет необходимости их подключения к компьютеру и конфигурирования при помощи u-center. iNAV все сделает сам.
Ориентация платы.
Так как полетный контроллер можно устанавливать в самолет под любым удобным углом, то нужно настроить соответственно iNAV. Для этого переходим на закладку Configuration и в разделе Board and sensor Alignment устанавливаем желаемые углы. Например, если у вас полетный контроллер установлен так, что USB разъем «смотрит» влево по направлению полета, то устанавливаем Yaw degrees = 90. Если USB разъем получился слева, то Yaw degrees = 270. Раньше такие настройки выполнялись только из CLI. Если будете делать эти настройки там, то нужно иметь ввиду, что у iNav единицы углов равны deg*10 то есть для 90 градусов в терминале (CLI) выполняем команду
Для сохранения изменений сделанных в CLI нужно дать команду save и нажать enter.
После этого, подключим все оборудование по такой схеме (это вариант с PPM Receiver). Еще раз отмечу, что вариант с PPM приемником более предпочтителен, чем следующий вариант с Parallel PWM, хотя бы потому что открываются возможности для телеметрии (SOFSERIAL) и подключение аналоговых сигналов для считывания напряжения, тока, RSSI.
Или по такой схеме (это вариант с Parallel PWM Receiver):
(Фото реального hardware):
Оставаясь на вкладке Configaration настраиваем следующее:
Если не хочется, чтобы самолет крутил двигателем при арминге, то включаем свитч «Don’t spin the motors when armed».
Так как у меня приемник PPM, то кроме всего прочего CC3D под управлением iNAV позволит мониторить напряжение батареи, ток потребляемый в полете, RSSI приемника. Все эти опции присутствуют с правой стороны конфигуратора на закладке Configuration.
И после этого подключаем пин RX FR-SKY приемника к пину 4 CC3D (TX от SOFTSERIAL)
Вкладка Receiver
Здесь контролируем, что реакция каналов управления соответствует движениям стиков передатчика. Если нужно то ставим реверсы в передатчике. Но для Turnigy и Taranis этого не потребовалось. Короче, поведение должно быть таким:
Вкладка Failsafe
Наконец-то! Начиная с версии 1.6 у iNAV появился простой и прозрачный фейлсейф.
Для работы фейлсейфа необходимо следующее:
— настроить приемник так, чтобы он не выдавал никаких сигналов при выключенном передатчике
— или назначить на положение одного из AUX каналов режим Failsafe и сделать так, чтобы при выключенном передатчике этот канал приводил к срабатыванию Failsafe.
После лирического отступления идем на вкладку Motors
Вкладка Servos
Включаем передатчик, устанавливаем режим Angle или Horizon. Переходим на вкладку Servos. 
Тут внимательно. Я, например, на неделю позже взлетел на iNAV из-за реверса элеронов, которая обнаружилась на первой секунде полета 
Обратите особое внимание, что все конечные точки, нейтрали, триммеры настраиваются на той вкладке, а не в передатчике!
Конечно, до прошивки MWOSD в плату minimOSD ее необходимо настроить. Все изменения в файле Config.h
В разделе OSD HARDWARE settings:
В последних версиях MWOSD есть довольно полезная функция MAPMODE. Если ее активировать в Config.h, то через конфигуратор можно выбрать разные режимы карты. Смысл MAPMODE заключается в том, что центр экрана OSD представляет собой виртуальную карту с меняющимся масштабом, на которой изображен ЛА и дом. Таким образом, можно легко ориентироваться на новой местности.
Видео полета (на 2.20 включен принудительный RTH)
Обновлено 26.02.2017 в 09:59 [ARG:5 UNDEFINED]
Бортовой журнал дальнелетчика
iNav и боль. Боль и iNav.
Итак. Запаситесь терпением, писанины будет много.
1) Дизармы в воздухе во время RTH или фейлсейфа.
2) Настройка режима ALTHOLD и проблемы с ним связанные.
Обнаружил, что для нормального удержания высоты все-таки удобнее включить настройку nav_use_midthr_for_althold = ON, при котором удержание высоты будет происходит при среднем положении стика газа, при этом в переменной nav_mc_hover_thr указать значение канала газа в мксек при котором коптер висит в режиме ANGLE. (это можно выяснить по логам блэкбокса, или пересчитать процент газа видимый в OSD, куда его можно вывести, в микросекунды вручную) Это всего лишь подсказка для полетника, если указать не очень точно, при включении ALTHOLD коптер будет проваливаться или подрываться вверх. Если газ висения указан корректно, а коптер все же проваливается/подрывается вверх, нужно увеличить ПИД nav_mc_vel_z_i. По дефолту он 50, поставить для начала 60 и посмотреть. Если не хватает и провалы/подскоки все еще есть, еще немного добавить.
В переменной thr_mid нужно указать газ висения в процентах, если висим при 40%, пишем
Это нужно для корректной отработки кривой экспоненты газа, чтобы ее плоский участок приходился как раз на точку, где висит ваш аппарат. Иначе столкнетесь с тем, что при линейном добавлении/убирании газа ваш аппарат будет набирать/терять высоту с остановками и ускорениями не совсем там, где вы ожидаете
3) Баг с автоматическим определением магнитного склонения.
Обнаружил, что автоматическое определение магнитного склонения в прошивках 1.8-2.1.0 работает некорректно (upd. в прошивке 2.2 этот баг должен быть поправлен), в результате чего коптер летит не по прямой, а забирает около 10 градусов левее по яву (в Москве). Если у вас наблюдается такое, выполните следующие команды:
4) Если у вас не гоночный мини-коптер, не включайте AIRMODE! (upd. в прошивке 2.2 этот баг должен быть поправлен)
На аппаратах с ЖПС летающих блинчиком от него особенного толку нет, а вот если у вас коптер изначально очень легкий, т.е сильно недогружен для выбранной ВМГ и напряжения питания, а ПИДы высоковаты (даже стоковые могут оказаться слишком большими в некоторых ситуациях), то вы рискуете столкнуться с ситуацией, в которой оказался я. Осциллируя по всем осям и поддавая газу, мой недогруженный аппарат резвенько пошел в небо с явным намерением в нем скрыться. Пришлось дизармиться и падать, на этот раз всего лишь с высоты 10 метров. Дрова были еще красивее, чем в первый раз 
Итак. Для 450-го коптера весом около 1.2-1.3 кг с моторами 900 кв и пропами 9 дюймов (ВМГ от моего старого доброго Дискавери), летающего на 4S вполне подойдут дефолтные пиды, останется лишь немного их донастроить. Все настройки ПИДов должны происходить в режиме ANGLE без включенного ALTHOLD и без подключенного GPS и компаса.
— если аппарат вяловато реагирует на команды по питчу и роллу, увеличивайте соответствующие P. Если при резком подрыве стиком газа коптера вверх начинаются осцилляции, соответствующие P нужно будет чуть уменьшить. Обычно их увеличивают именно до момента начала осцилляций просто в висении, потом уменьшают на 10-15%. Однако мне кажется, что если у вас коптер для спокойных полетов «блинчиком», так остро настраивать нет нужды.
— если при висении в спокойном воздухе аппарат немного покачивается с частотой 0.3-1 гц (т.е медленно), то скорее всего дело в недостатке P, и надо его поднимать.
— набрав высоту с запасом, стиком газа «роняете» коптер вниз. Если началась болтанка при прохождении через возмущенный пропами воздух, нужно поднимать I до момента, пока эта болтанка или не пропадет совсем или не станет приемлемой. На коптерах с большими пропами полностью от нее не удастся избавиться, имейте в виду.
— подвесив коптер на комфортном расстоянии от себя, резким движением правого стика «дергаете» его по соответствующей оси, по роллу например, и сразу же бросаете стик. Если коптер выравнивается не в одно движение, а совершает несколько затухающих колебаний, нужно поднимать соответствующий D, до тех пор, пока возврат в горизонт не будет происходит в ОДНО движение.
6) Настройка пидов навигации
Наконец в голове появилась ясность и в этом вопросе 
Логика пида POS P такова: это скорость (сила, если хотите) с которой коптер пытается исправить ошибку в своем положении в пространстве. Ошибка бывает двух видов: от внешних воздействий, например когда коптер сдувает ветром и когда пилот дает команду двигаться куда-либо. В этом случае коптер просчитывает новое положение, а затем начинает стремиться к нему с «резвостью», определяемой этим пидом. Т.е проще говоря, это скорость реакции на команды правым стиком. Если у вас коптер резковато реагирует на такие команды, то этот пид надо уменьшать. Имейте в виду, если реакция на команды правым стиком слишком резкая, то этот пид нужно уменьшать. Он же влияет на поведение коптера в навигационных авто-режимах, т.е например при возврате домой. Если во время RTH коптер устремляется домой слишком резво, и вдобавок еще перелетает точку дома, а потом начинает ее судорожно «искать», циллируя вокруг нужного положения, то опять же нужно уменьшать этот пид. Значения около 15-30 чаще всего оказываются приемлемыми. У меня он сейчас установлен в 15.
Теперь о логике пида POSR P. Что бы там ни было написано в мануале, но на самом деле этот пид отвечает за скорость и устойчивость остановки после команд правым стиком. Многие жаловались, что коптер не сразу останавливается, если «бросить» правый стик, а некоторое время летит в обратную сторону. Или наоборот, начинает осциллировать вокруг нужного положения. Если у вас такое происходит, то нужно настраивать этот пид. Причем сначала настройкой (скорее всего сильным уменьшением от значений по умолчанию) пида POS P надо добиться нормальной, плавной реакции на стики, а потом уже настраивать торможение после отпускания правого стика при помощи настройки пида POSR. В мануале указаны значения по умолчанию: 180, 15, 100 для P,I,D соответственно. (для версии 1.8, в 1.9 и выше значение P надо делить на 5.) После настройки у меня получилось 80, 15, 95. Возможно POSR P надо уменьшать еще. Но самое главное, что уже при таких значениях коптер наконец полетел нормально. Исчезли «дергания» по питчу и роллу во время горизонтальных пролетов на большой скорости, а остановка при отпускании правого стика стала происходить сразу же, без возвращений и осцилляций.
Т.е, резюмируя, на текущий момент для коптера 450 размера более-менее правильные навигационные пиды для прошивки 1.8 выглядят так:
POS P = 1
POS I = 80
POSR P = 80
POSR I = 15
POSR D = 95
При таких пидах коптер в посхолде летает стабильно, предсказуемо, и без дерганий.
Обновленные навигационные пиды:
POS P = 15
POS I = 100
POSR P = 25
POSR I = 20
POSR D = 40
upd. 23/05/2019 Разработчки айнава подтвердили наличие бага с автоматическим определением магнитного склонения. На текущей прошивке 2.1.0 он все еще есть, в следующих должны поправить. И я по-прежнему уверен, что режим POSHOLD CRUISE у коптеров забагован донельзя. Проблемы следующие: 1) неконтролируемое поведение коптера после разворотов по яву на 180 градусов. 2) этакие клевки или раскачка по питчу (и немного по роллу) при полете прямо. 3) Ощущение, что аппарат плохо контролируется командами правого стика аппы. Все эти проблемы не удается победить настройкой навигационных пидов. Наличие этих проблем подтверждено уже из нескольких источников, но обратной связи от разработчиков пока нет по опубликованным баг репортам. Будем ждать. Пока же не рекомендую летать в этом режиме.
Обновлено 04.06.2019 в 02:21 [ARG:5 UNDEFINED]





