1. Уважаемый Гость! При написании вопросов в раздел форума [ArduCopter] Вопросы, проблемы и решения обязательно придерживаться шаблона сообщения, оговоренного в правилах раздела! Если сообщение не будет оформлено должным образом, то и ответ на вопрос будет с наименьшим приоритетом. Старайтесь дать максимально полную информацию по вашей проблеме, чтобы можно было более детально рассматривать вопрос!
    Скрыть объявление
  2. Уважаемый Гость! Хотите получать кэшбэк с покупок в online-магазинах? Сервис "Zozi.ru" дает такую возможность!
    Скрыть объявление
  3. Друзья! Для нашего ресурса необходим дополнительный объем пространства в облаке Dropbox. Подробнее.
    Скрыть объявление

Создание собственной прошивки: Ардукоптер на контроллере АПМ

Тема в разделе "Информация и полезные материалы по контроллеру", создана пользователем Alexey Kozin, 17 ноя 2015.

Реклама. Купить это место.
  1. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    Поскольку 3Drobotics отказались от поддержки новых версий ардукоптера для контроллера АПМ - можно сказать что теперь на этом шикарном "железе", используя хорошие части оригинального кода и убирая откровенно лишний функционал можно подчистить, подправить и получить стабильную и функциональную прошивку. Зная особенности и сложные в настройке функциональные модули - исправить и переписать. В результате будет прошивка может быть и не столь напичканая возможностями как Pixhawk но стабильная и надежная.

    Собственно первый шаг я уже сделал, вырезав из прошивки бинарные протоколы навигационных модулей и оставив универсальный NMEA освободил 20кб флеша (и есть еще ряд идей как отжать местечко. если оно понадобится). Это не означает что не будут поддерживаться модули юблокс или сирф. Все навигационные модули умеют работать в протоколе NMEA, нужно их будет только переключить.

    Прежде всего объектом всех бед в версии 3.2 был признан INAV - инерциалка. ардукоптер весьма капризен к настройке компаса, если аппарат собран слегка криворуко и компас показывает с ошибкой градусов в 15 то вместо того чтобы идти к цели по дуге соответствующей этому углу ошибки коптер делает в небе скоростные петли известные как toilet bowl тоесть туалетные воронки. Совместно с моими коллегами по резульатам наблюдений за поведением коптеров сделали предположение, что причиной непредвиденного поведения в удержании позиции может быть инерциалка, поэтому первое то было сделано - возможность ее выключения. Но как показала практика при отключении инерциалки из за разброса точек получаемых от жпс в режиме удержания позиции наблюдаются рывки.

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


    Навигационный фильтр.
    Фильтр называется KPEMF , расшифровывается как Parallel Estimations Median Filter
    состоит фильтр из системы прогнозирования массива вариантов местоположения текущей точки - (составляющих массив данных широты и долготы) и обычного но великолепного медианного фильтра.

    медианный фильтр готовится из алгоритма сортировки
    пример сортировки пузырьковым методом
    http://www.tigoe.com/pcomp/code/arduinowiring/42/
    void bubbleSort() {
    int out, in, swapper;
    for(out=0 ; out < numReadings; out++) { // outer loop
    for(in=out; in<(numReadings-1); in++) { // inner loop
    if( analogValues[in] > analogValues[in+1] ) { // out of order?
    // swap them:
    swapper = analogValues[in];
    analogValues [in] = analogValues[in+1];
    analogValues[in+1] = swapper;
    }​
    } }
    }
    и процедуры извлечения значения элемента оказавшегося в середине.
    в случае нечетного числа элементов
    median = analogValues[numReadings / 2];
    или среднего арифметического серединных элементов если размер массива -четный.

    но для работы этого фильтра нужен массив "параллельных" данных. Данные должны не запаздывать. В противном случае - фильтр будет запаздывающим.

    Итак для приготовления параллельных данных нужен массив навигационных приемников. Штук 10 -15... мда.. это громоздко и дороговато...
    пойдем другим путем... Создадим ряд данных прогноза позиции на основе предыдущих данных.
    к примеру при наличии истории координат за последние несколько секунд и исходя из предположения что коптер в ходе движения имеет непрерывную кривую ускорений
    при этом исходя из точки достоверного прогноза, позиции полученной исходя из округления двух последних сэмплов рассчитываем скорость характерную для этих данных и переносим проекцию перемещения относительно средней точки от среднего двух сэмплов (среднее создает задержку и требует коррекцию на S= Vt) с учетом полученной скорости
    подобным образом вычисляются прогнозы исходя из 3,4,5,6 сэмплов
    таким образом мы получаем массив "параллельных" данных из 6 прогнозов и 1 актуального значения GPS.
    К этим данным применяется медианный фильтр,
    после чего полученная медиана признается "достоверными данными" достоверные данные помещаются в массив и используются для нового цикла построения прогнозов
    собственно реализованный на ардуино алгоритм, при подаче на вход данных навигационного приемника работает примерно так:


    [​IMG]

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

    скриншот работы двух АПМ от одного приемника с фильтром и без
    noinav_gpsfilter907.jpg
    (чуть позже уберу под спойлер)

    Специфичные настройки фильтра kpmf.
    в полном списке параметров
    inav_tc_xy = 0 - отключение инерциалки по широте и долготе. не пытайтесь делать тоже самое на других прошивках, значение ноль применимо только к этой версии прошивки.
    GPS_navfilterPE =9 число паралельных пронозов - размер массива. допустимый зиапазон значений 3-19 значение по умолчанию 9. чем больше число прогнозов тем сильнее фильтрация, но больше латентность к ускорениям системы.
    GPS_navfilterSPD=5 число прогнозов при вычислении скорости. скорость используется для приращения расстояния при коррекции прогноза на время задержки. Диапазон 3-9 чем выше значение тем лучше фильтрация но хуже прогноз при ускорениях
    Отключение KPEMF
    отключение может понадобиться для сравнительного анализа, для просмотра сырых данных, поступающих с навигационного приемника.
    для отключения фильтра: GPS_navfilterPE =0

    Что мы имеем сейчас:
    собрана прошивка под апм2, выполнены первые облеты в ходе которых были выявлены приоритетные задачи и интересные комбинации параметров настройки.

    концепция высвобождения места во флеш памяти
    1. делим прошивку на две субверсии, функционал:
    тестовая
    • терминал
    • логирование всего
    • автотюн

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


    Новые фичи.
    После получения стабильной версии дополним функционал наиболее интересными и не затратными с точки зрения расхода флешь памяти новинками от свежих версий ардукоптера 3.3 и выше
    пока на заметке:a) PID scaling for battery voltage (disabled by default, see MOT_THST_BAT_ parameters)

    ps. все описанное выше не значит что я забрасываю проект f4by.
    все лучшее будет перенесено в наш 32 битный контроллер.
    На Pixhawk переносить не будем.
    по вопросу получения актуальной версии прошивки для участия в тестировании и обсуждении пишите на kozin@mail.ru

    Актуальная версия прошивки: 015а

    Актуальный, обновляемый в шапке файл параметров для тестирования:

    https://www.dropbox.com/s/ii5b6rmep8i3j6e/tstparam.rar?dl=0
    архив содержит файл параметров который можно загрузить через мишен планнер вкладка full parameters tree -> compare
    и файл с описанием для чего требуется тот или иной параметр изменить
    LOITER_LAT_D,0.001 -резкость разгона и торможения при борьбе с погодными условиями и воронкой за точность удержания позиции
    LOITER_LON_D,0.001 -тоже самое для долготы должен быть идентичным по умолчанию у ардукоптера значение 0

    WPNAV_ACCEL, 150 -допустимые ускорения 150 означает полтора метра в секунду за секунду. по умолчанию 100 что значит 1 метр в секунду за секунду


    LOITER_LAT_IMAX,40 -максимальный размер накапливаемой ошибки от внешних факторов, при ошибке компаса большие значения способствует возникновению воронки
    LOITER_LON_IMAX,40 -аналогичное по долготе по умолчанию 1000

    LOITER_LAT_P,1 -пропорциональный коэфициент между требуемым перемещением для удержания позиции и углом наклона рамы для этого перемещения
    LOITER_LON_P,1 -аналогичное по долготе по умолчанию 1. При вялости в лоитере возможно потребуется увеличить.

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

    INAV_GPS_DELAY, 3 - компенсация времени задержки выдачи координат жпс приемником в десятых долях секунды диапазон 1-5

    INS_MPU6K_FILTER, 10 -встроенная фильтрация вибраций силами процессора ориентации, значение по умолчанию 0,
    внимание! при значении 10 требуется перенастройка пидов стабилизации летательного аппарата. Если у вас нет возможности перенастроить пиды стабилизации оставьте этот параметр соотвествующим вашим пидам
     
    Последнее редактирование: 27 апр 2016
    Hanter, Xichnik55, raefa и ещё 1-му нравится это.
  2. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    судя по логу - парметры были дефолтные для ардукоптера. в начале лога можно глянуть обычным блокнотом
    там LOITER_LAT_IMAX стоит 1000 а надо бы 40 итд
     
    5yoda5 нравится это.
  3. Arkady

    Arkady Студент

    Регистрация:
    11 мар 2015
    Сообщения:
    33
    Город:
    Ashdod
    Имя:
    Аркадий
    Для того чтобы этого исбежать и придумали PIDы. Чем больше задержка выдачи данных навигационным модулем, тем меньше к примеру параметр P и хуже точность удержания позиции, но ни как не раскачка и раскрутка. Проблема в компасе а не в GPS.
     
  4. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    существующие реализации пид регуляторов позволяют обеспечить максимально быстро и без раскачки управлять системой имеющей инертность
    пид регуляторов которые могли бы достоверно заглянуть в будущее пока не придумали
     
  5. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    Актуальная версия прошивки: 015а
    в шапке обновлено
    что сделано.
    предполагая что данные с жпс поступают с некоторой задержкой, данные жпс позиции и скорости дополняем краткосрочным прогнозом от акселерометров
    период компенсируемой задержки регулируемый новым параметром INAV_GPS_DELAY по умолчанию значение 3 что означает что к жпсу прибавляется прогноз по трем сэмплам данных, учитывая что один из них текущий и данные у медиатека следуют с интервалом 100мс то значению 3 соотвествует "надбавка" за 200мс (0,2сек)

    При значении INAV_GPS_DELAY = 0 к жпс данным ничего не добавляется, при нуле прошивка 015а должна работать идентично 014а

    при получением инерциалкой данных жпс

    _gps_position.x = x; //update gps position variables
    _gps_position.y = y;

    _hp_x.push_back(_position.x); //save current inav position to buffer ( 5 elements) back point for calculate position change during gps delay
    _hp_y.push_back(_position.y);
    _hv_x.push_back(_velocity.x); //save current inav velocity for calculate velocity change during gps delay
    _hv_y.push_back(_velocity.y);

    if (_gps_delay ==0) {
    _gps_position_lag_x = 0;
    _gps_position_lag_y = 0;
    _gps_velocity_lag_x = 0;
    _gps_velocity_lag_y = 0;
    }
    else {
    if( _hp_x.is_full()) { //calculate delayed speed and position
    _gps_position_lag_x = _position.x - _hp_x.peek(_gps_sample_number); //get difference between actual and delayed data gps
    _gps_position_lag_y = _position.y - _hp_y.peek(_gps_sample_number);
    _gps_velocity_lag_x = _velocity.x - _hv_x.peek(_gps_sample_number);
    _gps_velocity_lag_y = _velocity.y - _hv_y.peek(_gps_sample_number);
    }
    }

    затем, в процедуре подтяга инерциальных позиции и скорости подтягиваем не к жпс позиции и скорости (как это было ранее) а к сумме жпс данных + предсказанная краткосрочная ошибка.
    вычисленная подобным образом ошибка имеет малый период жизни и поэтому не успевает деградировать и в итоге все должно получиться достоверно
     
    Последнее редактирование: 24 дек 2015
    5yoda5 нравится это.
  6. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    Что-то у меня перестало взлетать. Еще с 12 прошивки. Хотя я точно помню, что на 12 прошивке у меня летало. Но теперь не летает ни в какую, коптер перед тем как оторваться от земли начинает сильно колбаситься, как монетка падающая крутится. Я пробовал крутить ПИДы, но насколько мне помнится, я на 12 прошивке не мог даже в акро взлететь. :(
    В архиве логи попыток взлететь, один раз я даже взлетел на метр, но мне пришлось ловить коптер за луч (!!!!), иначе мне бы его без краша не посадить бы было. Судя по поведению - либо дикий YAW у меня был, либо перепутаны моторы. Я бы поверил в перепутанные моторы, но я летал на 3.2 - и ничего, как ни в чем не бывало...
    Под конец уже MPU фильтр убрал и пиды снизил - пофигу.
    Доктор, мне в морг? Кто-нибудь успешно летает на прошивке старше 12 версии?
     

    Вложения:

  7. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    возможно имеет смысл сбросить параметры по умолчанию, внести файл параметров из шапки по новой перекалиброваться и внести вручную пиды стаба.
    проверить работу стабилизации удерживая аппарат в руке.
    модем все еще на борту?
     
  8. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    на борту, но глючит. похоже, он забывает параметры, или что-то другое... Сегодня не мог по модему законнектиться. С модемами буду ФТхой разбираться. Но уже завтра.
     
  9. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    может тогда пока отказаться от модемов - до выяснения.
    был случай что 433 модем выносил мозг апм1
    --- Сообщения объединены, 25 дек 2015 ---
    тимур!!!
    беда с параметрами в логе!
    PARM, FRAME, 0 это тип рамы плюс,
    насколько я помню фотки рама типа икс
     
    Последнее редактирование: 25 дек 2015
    5yoda5 нравится это.
  10. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    Семён Семеныч!!!!! :confused:
    Спасибо большое Алексей! Я-то думаю, какого хрена.... Вот что значит взгляд со стороны (а у меня уже замылилось....). И главное, думаю ещё, как будто миксы по движкам перепутаны. Конечно перепутаны, если тип рамы другой! УФФФ, гора с плеч.
    УРААА!

    Осталось только мопед уговорить безглючно "заводиться".
     
  11. raefa

    raefa Главнокомандующий Команда форума

    Регистрация:
    3 янв 2015
    Сообщения:
    4.324
    Город:
    Zhigulevsk
    Имя:
    Александр
    Да, да, видать кривым планером натыкалось само или случайно нажал кнопку Визард...
    Повторюсь, но на всякий случай...
     
  12. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    надо будет подумат ькак с своей прошивке сделать защиту от изменения параметров например по паролю.
    сделать параметр с паролем и пока он не введен правильно чтобы только прошива могла изменять параметры изнутри но не программа по мавлинку
     
  13. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    А чем вызвано - это к вопросу о "несанкционированной" смене типа рамы с "Х" на "+" ?
    Думаю, тут без изменения МП не обойдешься. А он постоянно обновляется...
    А если это сделать на стороне мукроконтроллера, тогда кто будет выдавать приглашение на ввод пароля? Или каким-то образом менять бутлоадер?

    Мопед уговорен.
     
    Alexey Kozin нравится это.
  14. Arkady

    Arkady Студент

    Регистрация:
    11 мар 2015
    Сообщения:
    33
    Город:
    Ashdod
    Имя:
    Аркадий
    Но при этом что бы осталась функция изменения параметров по крутилке (6 канал)
    В списке параметров неплохо было бы отметить какие параметры вступают в силу сразу, какие после перезагрузки.
    Алексей, а когда вы перейдете к калибрации компаса по параметрам GPS? Очень хочется начать тесты решения настоящей проблемы. Я бы даже хотел функцию калибровки джайро, мне кажется в определных полетных режимах (условиях) можно вообще исбежать использование компаса. Датчик магнитного поля земли должен иметь самый низкий приоритет, когда нет иных способов калибровки джайро. Напимер невозможность сразу после взлета сделать калибровочный круг необходимого радиуса при одновременной невозможности определения сторон света (невозможность предварительной ориентации коптера носом на север перед армингом) При коротких полетах, до 15 минут, компас вообще не нужен....
     
  15. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    я боюсь что это может случаться по причинам сбоя модема гораздо чаще втч в полете
    логически это может выглядеть так
    можно сделать параметр с магическим числом - пока в этот параметр введено что то иное то из параметров можно можно поменять только этот
    как только введено правильное число можно будет менять любые параметры
    разумеется возможность изменения параметров изнутри прошивки должна сохраниться
    --- Сообщения объединены, 26 дек 2015 ---
    настройка параметров по крутилке происходит по инициативе кода изнутри прошивки, эти функции логично не охватывать защитой
    --- Сообщения объединены, 26 дек 2015 ---
    для этого нужно пройти два этапа
    1. убедиться что система компенсации задержки жпс в прошивке 015 работает адекватно
    2. получить логи коротких полетов с правой и левой воронкой
    в результате в симулировании на основе логов я планирую получить устойчивый "сигнал" коррекции. в настоящее время изза отставания жпс от инерциалки я наблюдаю устойчивость только в провных пролетах, при кружении сигнал колеблется
     
  16. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    Сегодня, невзирая на мелкий противный снег - летнул на прошивке номер 15а.
    А МНЕ НРАВИТСЯ!!! Или я научился аппарат настраивать :)
    Так как все логи в кучу попихал, расскажу подробно, что делал.
    Сначала откалибровал компас, физическое положение "нормаль", потом подбирал ПИДы стабилизации, было несколько полетов, они по-идее должны все попасть в один Tlog, но как реально вышло - я не знаю. Когда в стабе полетело более-менее как надо, я немного полетал, подбирая ПИДы Лоитера. У меня в итоге вышло вроде так:
    LOITER_LAT_P=2,029
    LOITER_LAT_I=0,5
    LOITER_LAT_D=0,004
    LOITER_LON_P=2,029
    LOITER_LON_I=0,5
    LOITER_LON_D=0,004
    Но КМК, возможно можно подобрать и лучше, просто я пока не знаю как оценивать эти ПИДы на глаз. Если с стабилизацией все более-менее ясно, то как оценивать правильность-неправильность настройки в Лоитере - до меня пока не дошло.
    Короче, когда ПИДы выше были подобраны, я снял вот такой видосик:

    (как обычно, доступ только по ссылке)
    Я сначала вывесил в Лоитере, подёргал немного, убедился - висит хорошо, сбегал в машину за камерой, включил её, отснял видосик. Во время съемки я перехожу на альтхолд, оттаскиваю его подальше, рулю справа-налево по роллу, потом резко перехожу на Лоитер. Коптер делает полный цикл качания, на втором уже вяло бултыхается, дальше повис.
    После съемки видео стал делать полеты с разными параметрами. Каждый полет сопровождался настройкой чего-либо, отключением от МП (дисконнект), выключением коптера, включением коптера, коннект к МП, следующий полет.
    Сначала я довернул компас на 5 градусов (больше в эту сторону нынешняя конструкция не позволяет) по часовой стрелке (не перекалибровывая компас). Потом повернул компас на 5 градусов от нормали против часовой стрелки (то есть 10 градусов от предыдущего значения). Да, когда в этом полете сел - заметил, что к концу полета компас был уже не на 5 градусов против часовой стрелки развернут от нормали, а на 10 градусов (вибрациями раскрутило). Потом прокрутил на 5 градусов по часовой стрелки от нормали, но с "нулевой" магнитудой (поставил на крутилку изменение магнитуды от 0 до 3, то есть если верить официалам - от -30 до +30 градусов). Потом не трогая компас летнул с магнитудой в +30 градусов, потом летнул с магнитудой -30 градусов.
    Вот вроде и все полеты. Логи упарился паковать, на форум не лезли (хотя выбирал только сами лог-файлы), загрузил вообще всё оптом на облако.
    То, что приложено к сообщению - какой-то Rlog, валявшийся в корне папки с логами. Но он почему-то один, возможно и МП надо было перезагружать - не знаю.
    Что еще по полетам скажу. Наиболее выраженная воронка была с вращением по часовой стрелке, если смотреть сверху на коптер, и сильнее всего она проявилась, когда я магнитуду выкрутил в минус на максимум (при этом компас был повернут на 5 градусов по часовой стрелке от нормали). Я теперь сомневаюсь, была ли воронка против часовой стрелке, Алексей - посмотри пожалуйста (если несложно). По-идее, воронка против часовой стрелки должна была быть в полете, когда я компас повернул против часовой сначала на 5 градусов, а потом само собой довернулось на 10 градусов.
    Возможно, после каждого проворота компаса надо было проводить калибровку со сбитым положением компаса - я не знаю. Если надо - можно будет провести и такой эксперимент. Возможно, надо будет снять видео с ОСД и телеметрию одновременно - если надо, сделаю.
    Не помню, вроде всё. Если что-то непонятно - жду вопросов.
     

    Вложения:

    hyperion и Alexey Kozin нравится это.
  17. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    Мегареспект! Тимур такое видео уже можно видео расшарить публично и показать публике как достижение!
    ибо ардукоптер с родной инав и пидами с такими ошибками компаса не летает.
    изза смеси эксперимента непонятно что же выстрелило - регулируемая компенсация жпс или пиды лоитера - сейчас сказать пока невозможно.
    думаю логов мне хватит для мозгоквестов на все каникулы, но если будут еще показательные выстеаления - приветствуется.
    не забываем что есть регулировка компенсации задержки компаса я выставил ее наобум можно увеличить или уменьшить.
    видимо первое что имеет смысл сделать попробовать попытку инициализации юблоксов с выдачей данных вместо 5 гц на 10 гц
    в настоящее время юцентер формирует строку команды но подсвечивает красным что это за пределами возможностей модулей при использовании глонасса и жпс
    поскольку пиды лоитера вышли удачными попробую их установить по дефолту для очередной прошивы
    спасибо что поробовал увеличение лоитер D меня терзала перспектива этого эксперимента
     
  18. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    Хорошо, сделаю открытый доступ. Только народ ничего не поймет КМК.
    Если что-то нужно особо - постараюсь смоделировать. Поскольку у меня осталось смутное ощущение, что раскрутки против часовой не было - попробую её смоделировать. Сниму видео с ОСД, со стороны и приложу лог полета. Так я пока и не понял, логи модема снялись или нет.

    Еще по "показательным выступлениям" - надо показать полный полет в стиле Марко - взлет, полет "каруселькой", лоитер и ртл на точку. Надо только потрениться с РТЛом, там тоже вроде есть какие-то настроечки.
     
  19. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    по сути я ел это несколько раз. все начинают говорить что мол официалы сделали слабо, что нужно переписать нужно отладить и сделать лучше.
    фактически по сути это верно
    но это адов труд. трудно все уложить в мозгу что не так, еще сложнее упорно облетывать и писать отчеты.
    было дело я переводил с английского мануал по ардусамолю (который в последствии официалы похоронили на гуглекоде и не дали интерфейса для перевода в вордпрессе)
    на рцдизайне все кричали давай все супер мы поможем. на практике отозвалось пара человек и то было переведено помимо моего может штук пять страниц причем небрежно и без понимания сути вещей...

    дефакто Тимур, я мегаблагодарен за ваш труд, если бы не ты то все попытки можно было бы похорониить на первых версиях.
    спасибо ребятам которые сделали попытку летнуть на своем оборудовании. я понимаю сейчас не сезон и летать альфа версии - нужно не только опыт и навыки но и смелость
     
    hyperion и 5yoda5 нравится это.
  20. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    начал анализ логов, появились первые идеи
    сократилась задержка от жпс данных к инав
    возможно имеет смысл увеличить
    INAV_GPS_DELAY,5
    или может быть 4 но надо проверить какое будет поведение

    внес в файл параметров в шапке темы пиды полученные Тимуром
    LOITER_LON_P,2
    LOITER_LAT_P,2
    LOITER_LAT_D,0.004
    LOITER_LAT_IMAX,40
    LOITER_LON_D,0.004
    LOITER_LON_IMAX,40
    INAV_GPS_XY_SPD, 5 - тимур летал со значением 3, имеет смысл попробовать увеличить до 5
    INAV_GPS_XY_POS, 8
    WPNAV_ACCEL, 150
    INS_MPU6K_FILTER, 10
    GPS_navfilterPE,0
    GPS_navfilterSPD, 0
    INAV_GPS_DELAY,5 -это только попробовать надо, проверить и посмотреть лог, если будет хуже то с 4
     
    5yoda5 нравится это.
  21. hyperion

    hyperion Куратор Команда форума

    Регистрация:
    19 фев 2015
    Сообщения:
    832
    Город:
    Абакан
    Имя:
    Алексей
    Алексей извиняюсь за небольшой оффтоп.
    Вы как человек глубоко разобравшийся в коде арду, можете подсказать за что отвечает Imax в настройках PID (roll pitch yaw) в ардукоптере? Если с P I D все понятно, то вот Imax не могу понять за что отвечает и как его надо настраивать. Читал и на вашей страничке и так гуглил. Но вот смысла этого параметра так и не понял. Он похоже в арду только есть? В том же cleanflighte его нету..
     
Реклама. Купить это место.