Проект Мегапират на самик!

Syberian

L=0 это счетчик циклов. Когда в миссии автопилот доходит до циклической инструкции (repeat), L становится равным числу повторов и уменьшается.

Syberian

===
апдейт 2.0.1384 + наземка

Поскольку кое-у-кого возникли проблемы с ЭМС и горизонт при включении двигателя уходит вообще в е*еня (не у меня), добавлена замена MARG на ARG+TCC - tilt compensated compass.
Включением ТСС устраняется влияние магнетометра на крен и тангаж. Внешняя проблема, мешающая компасу работать, не устраняется, но, по крайней мере, это не перевернет самолет.
За включение ТСС отвечает та самая “галочка” на надписи MAG, о которой столь часто спрашивает вдумчивый четатель (гыгы)
При изменении нажать write

DossJ

Syberian , а если использовать датчики с вотрекса, возможно ли использовать и gps из него?

LeonVS

Нда компенсацию на скорость надо срочно вводить, как его там не разорвало бедного на спуске, колбасило не кисло от перерегулирования…

Ustas69

Сегодня первый раз удалось нормально полетать на Скае с МПХ СТМ32. При ветре 9-10 метров в стабилайзе самолет идет ровно, возврат работает четко. При избыточной скорости (неправильно запрограммировал АП) возникли осцилляции, но скорость была около сотни. Впечатления очень необычные, как будто его по нитке тянут в нужном направлении. В общем супер! Спасибо.

LeonVS

ГЫЫЫЫЫЫЫ 😃))) Клевая ссылка на МПХ 😁DDDDDDDDD

Syberian

Засадил в икса фильтр Калмана, который ЕКФ, на 9 осей. Пипец, думал, ежа рожу. Ненавижу матан!!11111
Эта подлая Ф4-ка так быстро его щелкает, что даже увеличения гиро-цикла 300мкс не заметно 😃 Подвох или нет, завтра буду трястить, болтать и проч. сбивать ему настройку.
Теперь я понял, что Снег имел в виду под бодифреймами. Это вовсе не каркас из проволочек 😉

AlexSneg
Syberian:

Засадил в икса фильтр Калмана, который ЕКФ, на 9 осей

Поздравляю, видишь, ничего страшного! 😉

Syberian:

Подвох или нет

Неа, один цикл у меня 25мкс примерно занимает.

Syberian:

завтра буду трястить, болтать и проч. сбивать ему настройку

Я на вибромассожере проверял. Скотчем прикручиваешь и вперед. Очень советую. Руками так не получится.

Syberian
AlexSneg:

Неа, один цикл

предиктор или корректор или все сразу?

AlexSneg
Syberian:

или все сразу?

Все сразу. Я каждый раз обе операции проделываю.

LeonVS

Хм… а то что сейчас у тебя реализовано не достаточно, уплывает на каких то режимах? Или чисто из спортивного интереса 😃?

Syberian

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

Нуач0, проц мощный, пить - так пить, е*ать - так королев… ОСД есть, звук есть, пусть теперь будет калман за компанию.

LeonVS

Гы, что верно то верно, эт из цикла: “… зачем? Потому что могу!” 😃
Я отрубил в твоем МАРГе компас, работает на много адекватней и держит лучше чем ДЦМ, правда в полете пока не тестил, не как не выберусь… 😃

Lazyan

Набор датчиков ограничивается только AllinOne и Vortex или можно пользовать более новый 6050 и высотомер MS561101BA?

Кто-нибудь пользует систему для мультироторных аппаратов?

Syberian

Леонид. Чтобы совсем не лишаться компаса, вот тебе фрагмент кода для IMU.c - это недавно внедренный мной ТСС для МАРГ.

short TCC(float bx, float by, float bz, float phi, float theta)
{    float variation, Xh, Yh, angle;
    Xh = bx * cosf(theta) + by * sinf(phi) * sinf(theta) + bz * cosf(phi) * sinf(theta);
    Yh = by * cosf(phi) - bz * sinf(phi);
    angle = 572.9578f*(atan2f(-Yh, Xh) /*+ declination*/);
    return angle;
}

usage:
TCC(mx,-my,-mz,roll,pitch);
выход - курс *10 (число 15 = 1.5 град), приравнивай к нему yaw_sensor в марг.с в самом конце процедуры
mx my mz roll pitch это переменные из МАРГ.с
declination - склонение *10, по идее глобальная переменная где-то есть.

компас должен быть запрещен в дефайне: compass_enabled 0

Lazyan:

ограничивается

На данный момент только вышеуказанные. МПУ-датчики не будут поддерживаться вообще. МС-ка у меня в планах есть, но отсутствует физически, поэтому отложена.

Syberian

===
апдейт 2.0.1524

  • Замена алгоритма ориентации с MARG на EKF. Алгоритм устойчив, сингулярности устранены, на движение с ускорением (по полу катал) почти не реагирует. Остается облетать. Прогноз положительный.
  • устранены вопросы по высоте таргетов
  • галка TCC больше смысла не несет в связи с устранением самого алгоритма

Уточнение по калибровке датчиков. Плату датчиков надо выставлять в LEVEL на ровной горизонтальной поверхности! Потом уже крепить на пепелац и, подкладывая что-то под края, добиваться желаемого угла атаки и т.п.
Создатели различных ардупилотов заигрывают с пользователем, пытаясь устанавливать LEVEL при произвольном положении платы. Это в корне неправильно. Не считая удобства настройки, это полностью испоганит алгоритм ориентации из-за паразитных составляющих по сдвинутым осям гироскопа.

Lazyan
Syberian:

На данный момент только вышеуказанные. МПУ-датчики не будут поддерживаться вообще

В принципе, сейчас набор датчиков взять не проблема, они практически копеечные. Но просто интересно узнать откуда такая нелюбовь к МПУ-хам?
И еще вопрос: есть ли смысл брать вортекс только ради датчиков?

Syberian

Ради датчиков - нет, слишком дорого. разве что алинон, и то дорого.
Сейчас силами энтуазистов и потреотов делается “наша” родная плата икса, с бл-дж и шл. Жду вот…

про мпу я свое мнение писал на предыдущей странице.

ViktorDoma

Ура. У меня ЗАРАБОТАЛО.
Плата Дискавери + Шилда (компас, баро, гиро, аксель, мапять).
Есть проблема с ОСД. Кокое то эхо прёт. Хотя сделан полный КЛОн с кЕтайской.

Олег - куда подать бортовое напряжение - шоб видеть напряжение на ОСД ???