Работа проведена большая. Налетаны десятки часов. Спасибо всем и отдельно Артему за помощь в тестировании!
Постараюсь коротенько
единая ИНС для расчета вертикальных/горизонтальных скоростей и перемещений по данным акселерометра с коррекцией на баро и гпс
3-х осевая 6-ти точечная калибровка акселеромета для более точной работы ИНС.
По удержанию/регулировке высоты (альтхолд - АХ):
полностью переписан и теперь на основе ИНС
SAFE_ALT бокс/режим. Это тоже самое что и пункт 4 из описания RC3, но активацию можно настроить в ГУИ, а высоту задать SAFE_ALT_DURING_AH дефайном.
полностью переработан детектор фиксации земли, воздушной подушки и посадки
компенсатор воздушной подушки интегрирован с ИНС
единый ПИД контроллер для регулировки высоты и ее удержания
боле надежный поиск газа висения (И-частью ПИД регуля)
на посадке “нежная” скорость спуска, т.к. можно влепить в землю. Где, если высота меньше SAFE_NAV_ALTITUDE (=5м), то скорость ограничена MIN_NAV_VARIO (=0.5м/с), а если высота выше, то скорость спуска уже пропорциональна высоте, где макс. скорость MAX_NAV_VARIO (=2.5м/с) на высоте RTH_ALTITUDE (=25м) и выше.
скорость подъема при навигации по точкам и на возврате домой выходит на макс. до MAX_NAV_VARIO (2.5м/с) на высоте большей чем SAFE_NAV_ALTITUDE (=5м), где если высота менее SAFE_NAV_ALTITUDE, то скорость ограничения в 3 раза ниже (т.е. MAX_NAV_VARIO/3), опять же для безопасности.
По ГПС режимам:
удержание позиции (position hold - PH) теперь стало более отзывчивым и точным, т.к. использует данные ИНС. Активация по INS_PH_NAV_ON (включено умолчанию)
возмозможность полетов в PH, когда roll/pitch стик за границей AP_MODE (=20), где при отпускании стика происходит захват позиции.
расчет/предсказание точки останова при полетах в удержании позиции (PH - position hold). Регулируется параметром Pos-I в ГУИ. Когда отпускаем стик, к текущей координате добавляется вектор скорости умноженный на время из Pos-I
ожидание набора заданной высоты в точках навигации
при активации возврата домой (RTH - return to home) если растояние до точки “дом” меньше чем RTH_RADIUS (=10м), то возврат с набором высоты будет пропущен и включено удержание позиции либо посадка (если она активиривана вместе с RTH).
автоконфигурация гпс модулей по MTK протоколу
автоконфигурация гпс модулей по u-blox протоколу + новые дефайны
запрет АРМа, если какой либо из ГПС режимов включен
запрет АРМа, если нет 6-ти спутников (отключается закрытием дефайна ONLY_ALLOW_ARM_WITH_GPS_3DFIX)
если RTH активирован, то активация других гпс режимов будет проигнорированна, что бы избежать перезапуска цикла RTH (вийный баг)
фикс прыжков координат в ГУИ (вийный баг)
FRSKY телеметрия (в связке с ER9X прошивкой пульта):
исправлено отображение координат (вийный баг)
исправлено отображение ГПС скорости (вийный баг)
удаление не нужных пакетов типа (ax, ay…)
Всякое разное:
оптимизированная математика (sin,cos и т.д.) С активированной ИНС влез в 4-5мс без дропов!
фильтрация данных магнетометра в процессе его калибровки для избежания попадания шумов в мин/макс значения калибровки
50гц ПИД выход для АХ и ГПС режимов
независимый от времени цикла конечный ПИД регулятор и как следствие более точный и не подверженный дрейфу горизонт
куча мелкофиксов, оптимизациий и улучшений в сравнении с multiwii
Примечания:
параметры в конфиге помеченные как (**) или (EEPROM) хранятся в EEPROM и соот-но берурся из config.h только при первой загрузке.
Рекомендации:
для ИНС хорошо подходят u-blox модули от 6-й до 8-й версии (хотя 7-ю не пробовали, но думаю будет ок). С МТК модулями удержание позиции похуже, а настройка ПИД показалась сложнее.
хорошо бы выполнить 3-х осевую калибровку акселя, как написано тут (пункт 4) В результате по всем осям будет +/-512 с погрешностью в пару единиц.
Напомню, прошивка ориентированна на АИОП контроллер (ALL IN ONE PRO Flight Controller), либо любой другой с Atmega1280/2560 + mpu6050 + ms5611 + hmc5883 (но тут уже возможны нюансы распиновки выходных пинов, т.е. на свой риск). По другим контроллерам не гарантирую!
Для скачивания идем на github.com/mahowik/mahowii и жмем сверху справа кнопку “Clone or download” и потом “Download ZIP”. Далее надо распаковать архив и папку “mahowii-upstream_shared” переименовать в “mahowii”. Потом открываем mahowii.ino в Arduino IDE как обычно.
Там же на github не забываем жать кнопочку “Star”😉 Если нет github аккаунта, то заводим его и жмем “Star” 😃
Работа, видимо, колоссальная - вот бы на СТМ ее, типа Ф4 с баро за 25$ - а то все пропадет зря.
Хотя это уже Инав сделал, не знаю как хорошо.
С силу появления глушилок на ру и гпс нужен хотя бы приблизительный возврат домой по инерциальной системе)
Работа, видимо, колоссальная - вот бы на СТМ ее, типа Ф4 с баро за 25$ - а то все пропадет зря.
Хотя это уже Инав сделал, не знаю как хорошо.
Сейчас большинство контроллеров и прошивок к ним имеют примерно один и тот же набор функций и режимов. Где avr контроллеры проигрывают в производительности stm-ам и соот-но довольно сложно было оптимизировать и запустить инс на avr, но задача решена и можно вдохнуть новую жизнь в уже пристарелую железку. А в порте смысла нет, т.к. на ф4 уже калманы всякие крутить надо и т.д.
С силу появления глушилок на ру и гпс нужен хотя бы приблизительный возврат домой по инерциальной системе)
Увы никак. На наших хоббийных датчиках хорошо калиброванная инс живет пару секунд всего без коррекции по абсолютным сенсорам.
А почему нельзя сделать Экстренный возврат домой по компасу, если вдруг у квадрика все ру и гпс отвалилось, то развернуть его в направлении точки взлета и фигачить пока сигнал с гпс не появится. Этот способ имеет массу нюансов по получению улетов, но тем не менее если дело в глушилках, то позволит вылететь из зоны поражения.
А почему нельзя сделать Экстренный возврат домой по компасу, если вдруг у квадрика все ру и гпс отвалилось, то развернуть его в направлении точки взлета и фигачить пока сигнал с гпс не появится. Этот способ имеет массу нюансов по получению улетов, но тем не менее если дело в глушилках, то позволит вылететь из зоны поражения.
Можно ещё на бабушкин шепот лететь:
и самое вероятное “глушилка” будет подменять координаты GPS и даже кратковременное нахождение в таком состоянии сведёт все показания коту под хвост.
в 90% уверен, что РУ не сразу пропадёт полностью, а сначала начнёт “издеваться” над аппаратом…
И так, всё что мы делаем - это хобби (игрушки) и еже-ли попали в такую передрягу - самое лучшее, что приходит на ум - посадка.
Возможная потеря аппарата - ничто по сравнению с тем, что он может натворить ломанувшись куда попало…
Дима, или ты можешь смоделировать и проверить десятки, а лучше сотни раз такую ситуацию? Что бы быть уверенным что данный алгоритм сработает в 100% случаев правильно?
Маховик, а с помощью какой утилиты можно менять параметры в EEPROM , которые добавил ты?
новые параметры все в config.h, т.е. в еепром новых параметров нет, хотя многие из них переиспользованы…
Если у кого завалялся ненужный АИОП, приму в дар 😃
Мой совсем добытый уже…
Александр, ещё несколько вопросиков.
Как отключить пикание buzzer’а при возвышении/снижении в ALT HOLD ?
Нужно ли менять пиды, если я выставил GYRO LPF 42HZ ?
С помощью какого инструмента можно редактировать настройки AUX каналов выше 5-го ? Я в дефайне PPM-SUM заменил 8 на AUX5, но в ez-gui нет настроект для него.
#define BUZZER
нет
я не игрался с этим, но в принципе можно легко обойтись и 4-мя каналами и если не хватает 3-х состояний/боксов на каждый, то активируйте #define EXTENDED_AUX_STATES. Тогда на каждый канал будет по 6 состояний/боксов, т.е. на 4 канала 4*6=24 режима можно вешать…
#define BUZZER это же глобальный ВКЛ/выкл пикалки. а мне нужно убрать только пикание альт холда.
Огромное спасибо, Александр!
Как раз пока снег и морозы, гонять на миниках не слишком комфортно, так что сижу восстанавливаю свой старый 450-й камеролёт на АИОП.
Наверняка где-то уже проскакивало, но не нашёл и спрошу ещё раз: AIOP c MahoWii допустимо крепить болтами или обязательно делать виброразвязку на двухстороннем вспененном скотче?
Раньше летал с приклеенным на скотч, но хотелось бы поменять конструкцию.
#define BUZZER это же глобальный ВКЛ/выкл пикалки. а мне нужно убрать только пикание альт холда.
Вы первый кому понадобилось это отключить. Это скорее удобство что бы знать что стик вне центра и на слух примерно знать ожидаемую скорость снижения…
AIOP c MahoWii допустимо крепить болтами или обязательно делать виброразвязку на двухстороннем вспененном скотче?
Раньше летал с приклеенным на скотч, но хотелось бы поменять конструкцию.
Я не использую виброразвязку. Из балансировок, только винты и то на отвертке на глазок. Т.е. мотор+винт в связке не балансирую…
Спасибо за Ваши труды!
не подскажите какой сонар сейчас наиболее актуален?
в последнем релизе его нет, т.к. не нужен уже по сути… если кратко:
сонар капризен к различним типам поверхностей
точности барометра ms5611 вполне достаточно
Спасибо, а реально ли установить сонары по бокам и сзади, для боле безопасных полётов по камере?
Здравствуйте, в 2.4 версии больше нет возможности управлять серво-стабилизацией? скажем по AUX3?
Спасибо, а реально ли установить сонары по бокам и сзади, для боле безопасных полётов по камере?
Если летать с макс скоростью 50см/c то наверное можно прикрутить, а далее тесты тесты, краши ремонты и опять тесты 😃
Здравствуйте, в 2.4 версии больше нет возможности управлять серво-стабилизацией? скажем по AUX3?
Если вы про обычную вишную серво-стабилизацию, то смотрите в config.h секцию Cam Stabilisation (строка 260)
Если вы про обычную вишную серво-стабилизацию, то смотрите в config.h секцию Cam Stabilisation (строка 260)
сама стабилизация работает, но возможности покрутить камерой в ручную, не могу найти (крутилкой с пульта). Спасибо
а ну да, я вроде прикручивал такую возможность в прошлых прошивах… будет время посмотрю…
Если летать с макс скоростью 50см/c то наверное можно прикрутить, а далее тесты тесты, краши ремонты и опять тесты 😃
У Вас был похожий опыт? Скорости минимальны, для плавной съёмки до 25 км/ч. Был печальный опыт столкновений боком и задом в деревья( Было бы очень здорово установить рабочие сонары по бокам и сзади. Каковы могут быть варианты реализации?
Спасибо, Александр, за вашу работу!
Пара вопросов…
1)
…активируйте #define EXTENDED_AUX_STATES. Тогда на каждый канал будет по 6 состояний/боксов
А как это использовать практически? GUI ведь не поддерживает по 6 состояний канала управления?
Прочитав все дневники (RC1…RC3 и более ранние), не нашел упоминаний о “custom motor mixing” для случаев, когда рама квадрокоптера представляет собой не чистый Х-крест, а нечто вроде TBS Discovery или Alien. Или в Вашей прошивке здесь нет особенностей и коррекцию можно выполнять стандартно для Multiwii?
С первым вопросом вроде разобрался: как советовали на rcgroups.com, в файле MahoWii.h заменил дефайн #define VERSION 240 на #define VERSION 230, после чего стало возможным использовать WinGUI 2.3, который эту функцию поддерживает. Надеюсь, на функционирование mahowii это не повлияет.
А как это использовать практически? GUI ведь не поддерживает по 6 состояний канала управления?
wingui указав #define VERSION 230
ez-gui лучший выбор
Прочитав все дневники (RC1…RC3 и более ранние), не нашел упоминаний о “custom motor mixing” для случаев, когда рама квадрокоптера представляет собой не чистый Х-крест, а нечто вроде TBS Discovery или Alien. Или в Вашей прошивке здесь нет особенностей и коррекцию можно выполнять стандартно для Multiwii?
все верно, т.е. как в обычном вие через MY_PRIVATE_MIXING
Есть GPS-модуль Crius CN-06 v3.0 (Ublox NEO-6M), работает на 115200 кбит/с.
GPS исправен точно, спутники ловятся, если принимать с него данные на FTDI-адаптер или tBeacon.
Год назад на MahoWii 2.2 работало идеально. С переходом на 2.4 возникли проблемы: полётный
контроллер принимает битые данные. Жёлтый диод на AIOP мигает как попало, а на OSD и телеметрии пульта пишутся или нули, или абсолютно нереальные координаты. В config.h нашёл строку:
// avoid using 115200 baud because with 16MHz arduino the 115200 baudrate have more than 2% speed error (57600 have 0.8% error)
Выходит, теперь надо перенастраивать GPS-модуль через U-center?
UPD: Завелось! Надо было указать #define UBLOX вместо #define NMEA.
Теперь полётник нормально принимает и на 57600, и на 115200.
Так что 115200 бит/с всё равно работает, несмотря на то, что это не рекомендованная скорость.
Стабильный и достаточный GPS_BAUD это 38400 или хотя бы 57600. На 115200 велика вероятность ошибки передачи пакетов.
Через U-center ничего крутить не надо. Прошива умеет делать автоконфигурацию.
Ok. Поставлю 57600. А то мало ли как на морозе или жаре частоты уплывут.
c GPS влить на 328p вообще не вариант? хотя бы с RTH. Оригинальная mw на моем пк (paris sirius) странно себя ведет - дрифт назад и ничего не помогает. а на этой прошивке все ок) Но без rth как-то стремно.
слишком много зависимостей в коде между различными ГПС режимами, т.е. просто так не выпилить…
Александр, подскажите. Не могу настроить position hold. Унитазит. Можно ли настраивать режим с помощью ПИДов? Или нужно делать выносной компас? Ещё вопрос. Есть ли различие в прошивках на гитхабе и тех, что Вы высылали пользователям.
Александр, подскажите. Не могу настроить position hold. Унитазит. Можно ли настраивать режим с помощью ПИДов? Или нужно делать выносной компас? Ещё вопрос. Есть ли различие в прошивках на гитхабе и тех, что Вы высылали пользователям.
Компас в идеале не должен врать более чем на 5 град. по всем сторонам
Как настраивать position hold, много обсуждалось в ветке про тестирование. Но из-за завистливых упырей ее к сожалению удалили. 90% получилось достать из гугл кэша, см. тут rcopen.com/forum/f123/topic221574/13225
Если вкратце, при настроенном компасе, можно пробовать уменьшать Pos-P шагами по 10%. Пиды по умолчанию под ublox, но если у вас MTK модуль (с NMEA протоколом) то можно сразу уменьшить до Pos-P=0.8 и PosR-P=5.0. Для ublox-в если унитазит (но с компасом все ок), тоже можно пробовать лечить уменьшением пидов шагами по 10%…
Отличий по идее нет, но что бы сказать точно можно прогнать каким нибудь merge tool-ом типа araxis merge
Спасибо. У меня компас врёт на 15 градусов при 50% газе. Попробую настраивать.
Здравствуйте! Напомните, пожалуйста, чтобы увеличить расходы(Rate) цифру в конфигураторе надо уменьшать или увеличивать?
Александр, добрый день!
Уже давно и успешно использую вашу прошивку на относительно большом коптере, но неожиданно столкнулся со странным поведением маленького аппарата (5" пропеллеры, вес около 200 гр).
При посадке в режиме AltHold коптер подпрыгивает после приземления и его активно тащит в сторону. Обычно через 2-4 секунды успокаивается и снижает обороты. В какую сторону стоит копать? С чем может быть связано такое поведение? Барометр (5611) ведет себя стабильно и точно показывает высоту. В режиме висения высота плавает незначительно, да и вообще, помимо странностей посадки других “глюков” не замечено. Большой трикоптер с той же прошивкой (Версия 2.4)и вовсе приносит только положительные эмоции от управления.
Заранее спасибо!
Видимо мелколеты с высокооборотными движками надувают большое отрицательное давление. Коптер думает что попер вниз и пытается это компенсировать увеличением оборотов, отсюда прыжки. Этот эффект есть на всех размерах, но на мелколетах он видимо более выраженный. Ранее я пробовал убирать баро из расчетов при отрицательной высоте, но это не надежно…
Добрый день Александр. Попала в руки плата Multiwii_Pro от Hextronik mega 2560 копия Ciurus - хочу использовать Вашу прошивку. Скачал ардуино 1.6.7. скачал из директории архив,распаковал.При попытке компиляции вылетает ошибка
GPS.cpp:1282:19: error: flexible array member in union
uint8_t bytes[];
Не подскажите в чем ошибка? в программировании не силен…Заранее спасибо.
Понимаю, что ультранекропостинг, но у меня на этой прошивке молчит баро. Почему? на оригинальном 2.4 всё работает.
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"3ff69d1e3df95500777955a3":{"_id":"3ff69d1e3df95500777955a3","hid":2659,"name":"ADF","nick":"ADF","avatar_id":null,"css":""},"40ec003c3df9550077794382":{"_id":"40ec003c3df9550077794382","hid":3946,"name":"Евгений_Зайцев","nick":"Евгений_Зайцев","avatar_id":null,"css":""},"4433061f3df955007778bddf":{"_id":"4433061f3df955007778bddf","hid":13213,"name":"popa15","nick":"popa15","avatar_id":null,"css":""},"4b5bd9243df9550077765527":{"_id":"4b5bd9243df9550077765527","hid":60031,"name":"omegapraim","nick":"omegapraim","avatar_id":null,"css":""},"4bb3763f3df95500777629c6":{"_id":"4bb3763f3df95500777629c6","hid":63660,"name":"nemo61","nick":"nemo61","avatar_id":null,"css":""},"4c0957443df9550077760211":{"_id":"4c0957443df9550077760211","hid":67065,"name":"Shuricus","nick":"Shuricus","avatar_id":null,"css":""},"4c9e548c3df955007775c1ce":{"_id":"4c9e548c3df955007775c1ce","hid":72300,"name":"SanRomStaV","nick":"SanRomStaV","avatar_id":null,"css":""},"4ccf0a803df955007775a755":{"_id":"4ccf0a803df955007775a755","hid":74247,"name":"SergDoc","nick":"SergDoc","avatar_id":null,"css":""},"4d2ed4283df9550077757835":{"_id":"4d2ed4283df9550077757835","hid":78182,"name":"Covax","nick":"Covax","avatar_id":null,"css":""},"4d543b623df95500777563e6":{"_id":"4d543b623df95500777563e6","hid":80655,"name":"dvd-media","nick":"dvd-media","avatar_id":null,"css":""},"4d7c0e353df9550077754e65":{"_id":"4d7c0e353df9550077754e65","hid":83206,"name":"mahowik","nick":"mahowik","avatar_id":null,"css":""},"4fb654ce3df9550077744420":{"_id":"4fb654ce3df9550077744420","hid":119583,"name":"alezalez","nick":"alezalez","avatar_id":null,"css":""},"4ff8f84e3df9550077742654":{"_id":"4ff8f84e3df9550077742654","hid":122080,"name":"BigWheeelS","nick":"BigWheeelS","avatar_id":null,"css":""},"5046253c3df9550077740455":{"_id":"5046253c3df9550077740455","hid":124966,"name":"LomS","nick":"LomS","avatar_id":null,"css":""},"50df37893df955007773c4c2":{"_id":"50df37893df955007773c4c2","hid":132056,"name":"ponch","nick":"ponch","avatar_id":null,"css":""},"51d8f8b33df9550077734c6c":{"_id":"51d8f8b33df9550077734c6c","hid":162567,"name":"AlexeyStn","nick":"AlexeyStn","avatar_id":null,"css":""},"51ed96113df95500777343ac":{"_id":"51ed96113df95500777343ac","hid":165300,"name":"strannic","nick":"strannic","avatar_id":null,"css":""},"529c7f7b3df955007772f3c4":{"_id":"529c7f7b3df955007772f3c4","hid":187331,"name":"Saradon","nick":"Saradon","avatar_id":null,"css":""},"52c611ed3df955007772e128":{"_id":"52c611ed3df955007772e128","hid":192018,"name":"Saire","nick":"Saire","avatar_id":null,"css":""},"55e9357e3df9550077719cac":{"_id":"55e9357e3df9550077719cac","hid":233419,"name":"brig","nick":"brig","avatar_id":null,"css":""}},"settings":{"blogs_can_create":false,"blogs_mod_can_delete":false,"blogs_mod_can_hard_delete":false,"blogs_mod_can_add_infractions":false,"can_report_abuse":false,"can_vote":false,"can_see_ip":false,"blogs_edit_comments_max_time":30,"blogs_show_ignored":false,"blogs_reply_old_comment_threshold":30,"votes_add_max_time":168},"entry":{"_id":"58379f009970730077115ce8","hid":22332,"title":"MahoWii 2.4","html":"<p>Всем привет!</p>\n<p>Выкладываю проект в открытый доступ <a href=\"https://github.com/mahowik/mahowii\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"https://github.com/mahowik/mahowii\" target=\"_blank\" rel=\"nofollow noopener\">github.com/mahowik/mahowii</a></p>\n<p>Работа проведена большая. Налетаны десятки часов. Спасибо всем и отдельно <a href=\"https://rcopen.com/member130878\" class=\"link link-int\" data-nd-link-orig=\"https://rcopen.com/member130878\"><strong data-nd-pair-src=\"**\">Артему</strong></a> за помощь в тестировании!</p>\n<!--cut-->\n<p>Постараюсь коротенько</p>\n<ol>\n<li>\n<p>единая ИНС для расчета вертикальных/горизонтальных скоростей и перемещений по данным акселерометра с коррекцией на баро и гпс</p>\n</li>\n<li>\n<p>3-х осевая 6-ти точечная калибровка акселеромета для более точной работы ИНС.</p>\n</li>\n<li>\n<p>По удержанию/регулировке высоты (альтхолд - АХ):</p>\n</li>\n</ol>\n<ul>\n<li>полностью переписан и теперь на основе ИНС</li>\n<li>SAFE_ALT бокс/режим. Это тоже самое что и пункт 4 из описания <a href=\"https://rcopen.com/blogs/83206/17033\" class=\"link link-int\" data-nd-link-orig=\"https://rcopen.com/blogs/83206/17033\">RC3</a>, но активацию можно настроить в ГУИ, а высоту задать SAFE_ALT_DURING_AH дефайном.</li>\n<li>полностью переработан детектор фиксации земли, воздушной подушки и посадки</li>\n<li>компенсатор воздушной подушки интегрирован с ИНС</li>\n<li>единый ПИД контроллер для регулировки высоты и ее удержания</li>\n<li>боле надежный поиск газа висения (И-частью ПИД регуля)</li>\n<li>на посадке “нежная” скорость спуска, т.к. можно влепить в землю. Где, если высота меньше SAFE_NAV_ALTITUDE (=5м), то скорость ограничена MIN_NAV_VARIO (=0.5м/с), а если высота выше, то скорость спуска уже пропорциональна высоте, где макс. скорость MAX_NAV_VARIO (=2.5м/с) на высоте RTH_ALTITUDE (=25м) и выше.</li>\n<li>скорость подъема при навигации по точкам и на возврате домой выходит на макс. до MAX_NAV_VARIO (2.5м/с) на высоте большей чем SAFE_NAV_ALTITUDE (=5м), где если высота менее SAFE_NAV_ALTITUDE, то скорость ограничения в 3 раза ниже (т.е. MAX_NAV_VARIO/3), опять же для безопасности.</li>\n</ul>\n<ol start=\"4\">\n<li>По ГПС режимам:</li>\n</ol>\n<ul>\n<li>удержание позиции (position hold - PH) теперь стало более отзывчивым и точным, т.к. использует данные ИНС. Активация по INS_PH_NAV_ON (включено умолчанию)</li>\n<li>возмозможность полетов в PH, когда roll/pitch стик за границей AP_MODE (=20), где при отпускании стика происходит захват позиции.</li>\n<li>расчет/предсказание точки останова при полетах в удержании позиции (PH - position hold). Регулируется параметром Pos-I в ГУИ. Когда отпускаем стик, к текущей координате добавляется вектор скорости умноженный на время из Pos-I</li>\n<li>ожидание набора заданной высоты в точках навигации</li>\n<li>при активации возврата домой (RTH - return to home) если растояние до точки “дом” меньше чем RTH_RADIUS (=10м), то возврат с набором высоты будет пропущен и включено удержание позиции либо посадка (если она активиривана вместе с RTH).</li>\n<li>автоконфигурация гпс модулей по MTK протоколу</li>\n<li>автоконфигурация гпс модулей по u-blox протоколу + новые дефайны</li>\n<li>запрет АРМа, если какой либо из ГПС режимов включен</li>\n<li>запрет АРМа, если нет 6-ти спутников (отключается закрытием дефайна ONLY_ALLOW_ARM_WITH_GPS_3DFIX)</li>\n<li>если RTH активирован, то активация других гпс режимов будет проигнорированна, что бы избежать перезапуска цикла RTH (вийный баг)</li>\n<li>фикс прыжков координат в ГУИ (вийный баг)</li>\n</ul>\n<ol start=\"5\">\n<li>FRSKY телеметрия (в связке с ER9X прошивкой пульта):</li>\n</ol>\n<ul>\n<li>исправлено отображение координат (вийный баг)</li>\n<li>исправлено отображение ГПС скорости (вийный баг)</li>\n<li>удаление не нужных пакетов типа (ax, ay…)</li>\n</ul>\n<ol start=\"6\">\n<li>Всякое разное:</li>\n</ol>\n<ul>\n<li>оптимизированная математика (sin,cos и т.д.) С активированной ИНС влез в 4-5мс без дропов!</li>\n<li>фильтрация данных магнетометра в процессе его калибровки для избежания попадания шумов в мин/макс значения калибровки</li>\n<li>50гц ПИД выход для АХ и ГПС режимов</li>\n<li>независимый от времени цикла конечный ПИД регулятор и как следствие более точный и не подверженный дрейфу горизонт</li>\n<li>куча мелкофиксов, оптимизациий и улучшений в сравнении с multiwii</li>\n</ul>\n<p>Примечания:</p>\n<ul>\n<li>параметры в конфиге помеченные как (**) или (EEPROM) хранятся в EEPROM и соот-но берурся из config.h только при первой загрузке.</li>\n</ul>\n<p>Рекомендации:</p>\n<ul>\n<li>для ИНС хорошо подходят u-blox модули от 6-й до 8-й версии (хотя 7-ю не пробовали, но думаю будет ок). С МТК модулями удержание позиции похуже, а настройка ПИД показалась сложнее.</li>\n<li>хорошо бы выполнить 3-х осевую калибровку акселя, <a href=\"https://rcopen.com/blogs/97312/13713\" class=\"link link-int\" data-nd-link-orig=\"https://rcopen.com/blogs/97312/13713\">как написано тут (пункт 4)</a> В результате по всем осям будет +/-512 с погрешностью в пару единиц.</li>\n<li>для конфигурации оч. рекомендую EZ-GUI <a href=\"https://play.google.com/store/apps/details?id=com.ezio.multiwii\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"https://play.google.com/store/apps/details?id=com.ezio.multiwii\" target=\"_blank\" rel=\"nofollow noopener\">play.google.com/store/apps/details?id=com.ezio.mul…</a><br>\nВ нем есть все что надо: пиды, мониторинг, доп. eeprom параметры, точки навигации и т.д.</li>\n<li><strong data-nd-pair-src=\"**\">заливать прошивку arduino 1.6.7</strong> <a href=\"https://www.arduino.cc/en/Main/OldSoftwareReleases\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"https://www.arduino.cc/en/Main/OldSoftwareReleases\" target=\"_blank\" rel=\"nofollow noopener\">www.arduino.cc/en/Main/OldSoftwareReleases</a></li>\n<li>перед первой заливкой <a href=\"https://rcopen.com/forum/f123/topic283798/2982\" class=\"link link-int\" data-nd-link-orig=\"https://rcopen.com/forum/f123/topic283798/2982\">лучше почистить EEPROM скетчем для Atmeta2560</a></li>\n</ul>\n<p>О том как проводилось тестирование (а так же описания к <a href=\"https://rcopen.com/blogs/83206/15878\" class=\"link link-int\" data-nd-link-orig=\"https://rcopen.com/blogs/83206/15878\">RC1</a>/<a href=\"https://rcopen.com/blogs/83206/16327\" class=\"link link-int\" data-nd-link-orig=\"https://rcopen.com/blogs/83206/16327\">RC2</a>/<a href=\"https://rcopen.com/blogs/83206/17033\" class=\"link link-int\" data-nd-link-orig=\"https://rcopen.com/blogs/83206/17033\">RC3</a>) можно <a href=\"https://drive.google.com/open?id=0B3eAi4-qCUS8X2ZLV2tUQkZObXM\" class=\"link link-ext\" data-nd-link-orig=\"https://drive.google.com/open?id=0B3eAi4-qCUS8X2ZLV2tUQkZObXM\" target=\"_blank\" rel=\"nofollow noopener\">почитать тут</a>. А так же <a href=\"https://www.youtube.com/user/artnesterof/videos\" class=\"link link-ext\" data-nd-link-orig=\"https://www.youtube.com/user/artnesterof/videos\" target=\"_blank\" rel=\"nofollow noopener\">на канале Артема</a> куча, видео роликов.</p>\n<p><strong data-nd-pair-src=\"**\">Напомню, прошивка ориентированна на АИОП контроллер (ALL IN ONE PRO Flight Controller), либо любой другой с Atmega1280/2560 + mpu6050 + ms5611 + hmc5883 (но тут уже возможны нюансы распиновки выходных пинов, т.е. на свой риск). По другим контроллерам не гарантирую!</strong></p>\n<p>Для скачивания идем на <a href=\"https://github.com/mahowik/mahowii\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"https://github.com/mahowik/mahowii\" target=\"_blank\" rel=\"nofollow noopener\">github.com/mahowik/mahowii</a> и жмем сверху справа кнопку “Clone or download” и потом “Download ZIP”. Далее надо распаковать архив и папку “mahowii-upstream_shared” переименовать в “mahowii”. Потом открываем mahowii.ino в Arduino IDE как обычно.</p>\n<p><strong data-nd-pair-src=\"**\">Там же на github не забываем жать кнопочку “Star”</strong> <span class=\"emoji emoji-wink\" data-nd-emoji-src=\":wink:\">😉</span> Если нет github аккаунта, то заводим его и жмем “Star” <span class=\"emoji emoji-smiley\" data-nd-emoji-src=\":smiley:\">😃</span></p>\n<p>Blogs:</p>\n<ul>\n<li><a href=\"https://www.rcgroups.com/forums/showthread.php?t=2787668\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"https://www.rcgroups.com/forums/showthread.php?t=2787668\" target=\"_blank\" rel=\"nofollow noopener\">www.rcgroups.com/forums/showthread.php?t=2787668</a></li>\n<li><a href=\"http://www.multiwii.com/forum/viewtopic.php?f=8&t=7877\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"http://www.multiwii.com/forum/viewtopic.php?f=8&t=7877\" target=\"_blank\" rel=\"nofollow noopener\">www.multiwii.com/forum/viewtopic.php?f=8&t=7877</a></li>\n<li><a href=\"https://rcopen.com/blogs/83206\" class=\"link link-int link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"https://rcopen.com/blogs/83206\">rcopen.com/blogs/83206</a></li>\n</ul>\n<p><a href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=NQ6D8YEWUV88S\" class=\"link link-ext\" data-nd-link-orig=\"https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=NQ6D8YEWUV88S\" target=\"_blank\" rel=\"nofollow noopener\"><span class=\"image\" style=\"width: 92px\" data-nd-image-orig=\"https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif\"><img src=\"https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif\" alt referrerpolicy=\"no-referrer\"><span class=\"image__spacer\" style=\"padding-bottom: 28.2609%\"></span></span></a></p>\n","user":"4d7c0e353df9550077754e65","ts":"2016-11-25T02:16:32.000Z","st":1,"cache":{"comment_count":47,"last_comment":"614872cb99707300771245f9","last_comment_hid":47,"last_ts":"2021-09-20T11:38:51.000Z","last_user":"529c7f7b3df955007772f3c4"},"views":10140,"bookmarks":0,"votes":0},"subscription":null},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}