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

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

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

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

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

    Регистрация:
    26 янв 2015
    Сообщения:
    932
    Город:
    Москва
    Имя:
    Алексей Козин
    Поскольку 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
    Сообщения:
    932
    Город:
    Москва
    Имя:
    Алексей Козин
    деклинейшен вродебы не влияет на калибровку, там абсолютные значения играют роль
    признаки хорошей калибровки - крестотест и небольшие офсеты при калибровке

    к примеру один офсет около сотни и пара в пределах нескольких десятков.
    в противном случае нужно размагничивать окружение
     
  3. 5yoda5

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

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    А вот кстати, в МП на вкладке с компасом нужно вбивать в градусах и минутах. Но подразумевается, что юзер нажмет кнопку Live calibration.... Надо поискать завтра инфу у официалов.
    Пойду спать.
     
  4. Alexey Kozin

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

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

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

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    -80, 28, 23 ....
     
    Alexey Kozin нравится это.
  6. raefa

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

    Регистрация:
    3 янв 2015
    Сообщения:
    4.324
    Город:
    Zhigulevsk
    Имя:
    Александр
    :D:D:D
     
  7. Alexey Kozin

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

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

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

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    По прогнозу погоды у нас всё более-менее наладится к пятнице (по крайней мере, снега не будет, ветра успокоятся только к понедельнику). Сегодня сильный ветер (на поверхности обещают порывы до 30 м/с!!! o_O:mad::eek:), но если вечером не будет снега - могу попробовать летнуть 11 прошивку. Мой коптер с ветром до 12 м/с борется легко (средняя скорость как раз 9-12 м/с), но это фактически стресс-тест для Лоитера.

    Уточняю - я гружу прошивку, потом свой конфиг (офсеты,пиды, полетные режимы), а потом приложенный конфиг с настройками inav. Эксперименты с компасом проводятся параллельно и явно не зависят от облета прошивки, так? Или есть какая-то критичная последовательность (сначала добиваемся вразумительного компаса, всё остальное потом)?
     
  9. Alexey Kozin

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

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

    Конкретно при переходе с 10 на 11 сохранять свои пиды и калибровки и по новой их заливать ненужно, версия параметров идентичная поэтому сброс не случается,
    достаточно обновить прошивку и через сравнение внести данные из файла
    tst_imax.rar приложенного к сообщению http://forum.apmcopter.ru/threads/s...opter-na-kontrollere-apm.324/page-8#post-7008

    до достижения положительного результата тестов нашей версии инерциалки желательно иметь более менее адекватный компас.
    когда будет положительный результат по инаву будем делать код и проводить специальную серию тестов по испытаниям системы коррекции компаса
    кроме коррекции компаса я работаю над поиском фикса проблемы отклонения горизонта в сильных ускорениях, но эти эксперименты пока не включены предлагаемые прошивки так как нельзя одновременно тестить множественные изменения т.к. потом будет сложно выявить источник проблем
    --- Сообщения объединены, 9 дек 2015 ---
    интереса ради загрузил старую прошивку 3.0 для того чтобы посмотреть имакс лоитера - там он существенно меньше.
    изучение логов показало что инерциалка дает адекватные данные навиагционному контроллеру а сам контроллер почемуто как будто зануляет пропорциональную реакцию оставляя "пьяное" I

    для информации управление выглядит так:
    система DCM- гиры-аксели-считают горизонт
    AHRS - содержит и считает необходимые углы кренов и проекции ускорений
    INAV - считает позицию на основе ускорений акселей и подтягивается к жпс
    altitude\position control - навигационный контроллер - вычисляет какие углы по крену и питчу должен иметь аппарат для достижения желаемого перемещения (тут действуют пиды лоитера втч имакс)
    stabilize control\motors -тут тут делается расчет управляющего сигнала требуемого регуляторам оборотов для того чтобы рама приняла заданный навигационным контроллером угол в автоматических режимах (или подаваемым пилотом с пульта в режиме стабилизации)​
     
    Последнее редактирование: 9 дек 2015
    5yoda5 нравится это.
  10. 5yoda5

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

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    Сегодня не вытерпел - летнул 11 прошивку невзирая на погоду. Не знаю, считается ли это тестом, потому что был сильный северо-западный (ближе к западному) ветер от 6 до 12 м/с в порывах. Потом поднялась метель и я свернулся.
    То есть компас не настраивал не проверял и даже высчитанный деклинэйшн не поставил. Увы, не до экспериментов. Коптер летал интересно. Сначала ПИДы... слегка мне показались слишком резкими. Наверное всё-таки P=4,5 - многовато. Но коптер очевидных проблем не испытывал. в лоитере в общем-то тоже справлялся. Унитаз никуда не делся (иногда висел, иногда унитазил), но думаю грядущие разборки с компасом решат это дело. Был небольшой дрейф позиции, но при таком ветре я ничему не удивляюсь. Перед полетом проверил на глаз с использованием линейки параллельность - мне показалось что компас стоит ровно по отношению к контроллеру. Но надо вбить деклинейшн, всё-таки перекалибровать и проверить на крестотесте.
    Настройки поставил такие (inav_gps_xy_pos = 8, inav_gps_xy_spd = 3, gps_filterpe = 0, gps_filterspd = 0, LOITER_LAT_IMAX=100, LOITER_LON_IMAX=100)
    Сам полет заснял как смог на видео (как обычно, на канале не видно):

    Лог полета прилагается.
     

    Вложения:

    raefa, LampGraph и Alexey Kozin нравится это.
  11. Alexey Kozin

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

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

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

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

    исходя из предположения что уменьшение имакс привело к позитивному эффекту есть предположение что возможно немного, на несколько сотых накрутив лоитер рэйт D (он сейчас нулевой) можно будет предотвратить раскрутку . По своей сути этот коэфициент должен отвечать за разгон в начале маневра по перемещению и оттормаживание по мере приближения к целевой точке.
    но это только гипотеза у лоитера есть еще коэффициенты акселерации и "взбрыкивания" которым еще нужно "прощупывание"
    собрал очередную версию без изменений в полетной логике, но расширенным логом, добавил в лог NTUN данные о предполагаемой инерциалкой широте и долготе. это должно упростить выявление расхождений инерциальной и жпс позиции и тем самым помочь в выборе коэффициентов или логики синхронизации
     
    5yoda5 нравится это.
  13. Alexey Kozin

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

    Регистрация:
    26 янв 2015
    Сообщения:
    932
    Город:
    Москва
    Имя:
    Алексей Козин
    версия прошивки 012
    https://www.dropbox.com/s/fll7ah8ev3jun7r/ArduCopter V3.2KPEMF_v012a.rar?dl=0
    прошивка не меняет версию параметров если перед ней была установлена 10=11 версия
    поэтому достаточно просто прошить

    изменения:
    -логирование инерциальной широты и долготы в NTUN
    la = широта
    ln =долгота
    после полета по логу можно будет смотреть насколько сильно уходит координата в зависимости от настройки inav_gps_xy_pos . чем больше это значение тем сильнее инерциалка подтягивается к жпс
    -временно отключил автотюн и режим pos_hold
    -временно включил терминал

    после того как будет опробован пид D из секции rate loiter возможно препятствует борьбу с раскруткой
    WPNAV_ACCEL100cm/s/s50 500Defines the horizontal acceleration in cm/s/s used during missions
    этот параметр можно увидеть только в расширенных параметрах
    можно будет попробовать поднять до 150
    пид предотвращает резкие разгоны и торможения в лоитере, возможно ускорения 1м в сек за секунду мало чтобы бороться с компасом
     
    Последнее редактирование: 10 дек 2015
    5yoda5 нравится это.
  14. LampGraph

    LampGraph Кандидат наук

    Регистрация:
    16 ноя 2015
    Сообщения:
    1.230
    Город:
    Абакан
    Имя:
    Вячеслав
    Алексей, правильно ли я понимаю логику работы компаса?
    Координаты GPS считаются относительно севера и востока. Соответственно для того, что бы вычислить вектор смещения, контроллер должен знать направление на север и восток. Для этого используется компас. Если показания компаса смещаются между двумя моментами вычислений, целевые координаты смещаются в пространстве на угол на ошибки компаса относительно текущего положения коптера и получается воронка?
     
  15. Alexey Kozin

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

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

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

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    Возможно риск и излишен, но сидеть и ждать "у моря погоды" - мне тяжеловато. Сегодня глянул на прогноз.... С ветром гадость продолжается, и просветов практически нет.
    windguru.jpg
    Если смотреть на скорость ветра, а не на порывы - летать (недалеко и недолго) в принципе можно. Сегодня хочу попробовать всё-таки пошаманить с компасом. Так как ветер будет мешать, то полетные тесты касающиеся компаса наверное будут неактуальны, а вот всякие магнитуды, калибровки и крестотесты - вполне себе. Надо будет из гаража прихватить пластиковый ящик в качестве подставки под коптер - такой импровизированный штатив для коптера (чем больше думаешь, тем больше мыслей в голову приходит). Главное - чтобы не было снега или метели (когда ветер снег с земли поднимает - тоже не айс с электроникой возиться, даже ноут жалко). Может те самые 0,4 мм осадков выпадут в другое время, или мешать не будут...

    Посмотрим, вечером будет видно может придется просто облетать очередную прошивку. Только КМК, даже унитаз оценивать нужно в безветренную погоду.
     
  17. Alexey Kozin

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

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

    замечательно что логи Тимура в основном с неподвижным курсом коптера.
    по логам он почти на север, при этом легче диагностировать проблемы навигации.
    т.е. если питч положительный - коптер должен лететь на юг.
     
  18. Alexey Kozin

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

    Регистрация:
    26 янв 2015
    Сообщения:
    932
    Город:
    Москва
    Имя:
    Алексей Козин
    теоретические рассуждения на тему причины воронки.
    compass_ch4-1.jpg
    допустим мы имеем некоторую ошибку компаса.
    допустим зеленым показано расхождение красной линии компаса от реального расположения направлений (зеленого креста)
    пусть мы имеем цель навигации обозначенную Ц1 коптер полагаясь на правильность компаса летит по инерциалке и прилетает в точку инерциальной цели обозначенную И1 . если он достиг своей цели достаточно быстро и позиция инерциалки не успела скорректироваться по жпс координатам то мы имеем расхождение между точками Ц1 и И1 для достижения целевой точки из позиции И1 коптер корректирует курс. но попадает не в цель а в точку И2. тоесть при некорректируемой ошибке компаса, и ограничении в плавности навигации точка Ц1 становится недостижимой, инерциалка будет всегда стремиться ходить по окружности.
    собственно решение проблемы на существующем програмном обеспечении - устранение ошибок компаса или их минимализация.
    задача для программирования - вычисление ошибки компаса и устранение небольших значений погрешности на лету.
    сложность решения в том что при разных курсах и разных направлениях компас может врать поразному- частично ошибку можно увидеть на крестотесте и достаточно быстро вычислить ошибку сложно, ошибка может меняться . в случае если ошибку расчитаем неверно или условия поменяются за время расчета- это усугубит воронку.
    1) ошибки компаса от магнитных полей с различных моторов (например при большей мощности мотора1 ошибка компаса может отличаться от ошибки при большей мощности мотора
    2) могут быть ошибки в различных кренах рамы изза неверной калибровки.
    при этом при проведении крестотеста следует котролировать что курс по компасу не меняется в кренах до 45 градусов.
     
    Последнее редактирование: 10 дек 2015
    raefa и 5yoda5 нравится это.
  19. 5yoda5

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

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


    И оффтопик (столкнулся тут с проблемами ЕЕПРОМа или МП или логгирования - надо выяснить ещё, кто виноват) - как вычитать параметры ЕЕПРОМА напрямую, без МП, но в удобоваримом виде (а не просто слепок с памяти) ?
     
  20. Alexey Kozin

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

    Регистрация:
    26 янв 2015
    Сообщения:
    932
    Город:
    Москва
    Имя:
    Алексей Козин
    вычисляет и записывает в радианах сюда
    COMPASS_DEC
    сам алгоритм тут https://github.com/diydrones/ardupi...raries/AP_Declination/AP_Declination.cpp#L121

    максимум - можно дамп снять. в мишен планере вроде бы была функция через ctrl+f
     
    Последнее редактирование: 10 дек 2015
  21. 5yoda5

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

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    ВОТ. А у меня, если верить МП, compass_dec=0 НОЛЬ. И мы хотим от этого точности.
    Глянул лог. Хмм, оказывается не ноль - 0.249065
    МП дуркует????
    Надо обновиться что ли (неделю назад обновлялся).
    Дамп - то я могу снять и с помощью АрдуиноИДЕ, но что я с этим дампом делать буду?
     
Реклама. Купить это место.