Создание собственной системы стабилизации

HikeR
igor_v_t:

Квартерионы это просто другое представление. Все очень просто.

кстати, я вполне могу объяснить использование кватернионов в 3D-графике и/или в играх, но до сих пор не понимаю, зачем они нужны в “нашем” случае. их использование дает профит только в одном случае, когда нужно повернуть одновременно больше 4-х точек в пространстве либо для построения “гладкого” пути (сплайна) между двумя положениями.

“у нас” кватернионом можно задать текущее положение аппарата плюс необходимое положение. накладные расходы (процессорное время) намного больше даже с учетом экономии памяти, по сравнению с обычным матричным расчетом. конвертация в/из углов эйлера также намного затратнее. да и от матриц все равно никуда не деться.

Sir_Alex
rual:

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

Фича называется GeoFence.

Sir_Alex
mahowik:

судя по видосу и отличному качеству удержания в 2.9RC1 прикрутили аксель на удержание высоты?

Там не только для удержания высоты, но и по X Y еще аксель используется, правда по умолчанию отключена…
Попытки использовать аксель для оси Z у них давно в коде были, видимо только сейчас довели до ума…

Ребята там действительно толковые сидят, но распыляются по сторонам… Вот сейчас код адаптируют под платформу PX4. Правда уже давно код вылизывался под компиляцию под разные процессоры. В Версии 2.9 сделали(делают) HAL, правда все равно коряво, т.к. полной независимости все равно нет, например драйвер MPU6000 жестко завязан на интерфейс SPI? ну и т.д. 😃

mahowik
Sir_Alex:

но и по X Y еще аксель используется, правда по умолчанию отключена…

значит скорее всего не работает еще, т.е в альфа зачатках… чую пока Виктор (вис.аста) будет думать, что делать с его наработками, так опен сорсы не хуже летать начнут 😃

Sir_Alex:

Там не только для удержания высоты, но и по X Y еще аксель используется, правда по умолчанию отключена…
Попытки использовать аксель для оси Z у них давно в коде были, видимо только сейчас довели до ума…

тут похоже с появлением нормальных сенсоров (mpu6050/6000 + ms5611) стало получаться… у меня с bmp085 + bma020 раньше тоже хрен что получалось, а с mpu6050 + ms5611 почти с первой попытки…

Sir_Alex:

Ребята там действительно толковые сидят, но распыляются по сторонам… Вот сейчас код адаптируют под платформу PX4. Правда уже давно код вылизывался под компиляцию под разные процессоры. В Версии 2.9 сделали(делают) HAL, правда все равно коряво, т.к. полной независимости все равно нет, например драйвер MPU6000 жестко завязан на интерфейс SPI? ну и т.д.

крута! no comment как грится…

Rabbit_Fly

А может нам придумать новую платку под самодельный контролер. Какие датчики счас самые актуальные?

rual
mahowik:

тогда где демо удержания позиции как у вис.аста?

У меня нет “абсолютных” датчиков, т.е. баро и ГПС. Использовал чистый аксель, если посмотреть на серый вектор при включенных моторах, то всё станет понятно

У Виктора аналоговые датчики и ПХ4, которую я в руках не держал…

HikeR:

но до сих пор не понимаю, зачем они нужны в “нашем” случае. их использование дает профит только в одном случае

а я ничего другого не понимаю )))

Rabbit_Fly:

А может нам придумать новую платку под самодельный контролер. Какие датчики счас самые актуальные?

Это к SergDoc, если посмотрите ветку найдете много разных вариантов.

SergDoc

У меня пока не получается VET6 в два слоя уложить 😦 (как ни крути переходные отверстия под процем - как серпом по я…) , вот RGT6 как раз, но, но нету у меня его… мучаю дальше, про автотрассировщик уже забыл (игл - птыц гордый, столько дырок клюёт - мама не горюй) - всё вручную…

Rabbit_Fly
SergDoc:

У меня пока не получается VET6 в два слоя уложить (как ни крути переходные отверстия под процем - как серпом по я…) , вот RGT6 как раз, но, но нету у меня его… мучаю дальше, про автотрассировщик уже забыл (игл - птыц гордый, столько дырок клюёт - мама не горюй) - всё вручную…

а какие датчики ставить будете???

igor_v_t
mahowik:

Накидайте ссылок полезных тогда на статьи/литературу, которая вам помогла 😃
Гуглить то я умею, но интересны именно “полезные” материалы…

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

Rabbit_Fly:

А может нам придумать новую платку под самодельный контролер. Какие датчики счас самые актуальные?

Уже видел MPU9150. STM тоже наваял кучу вариантов. Но учитывая что ALL IN ONE PRO Flight Controller v1.0 стоит 35 дол. с хорошими датчиками смысла свое ваять особого нет. Будет намного дороже. Я тут попытался плату датчиков сделать, но к тому моменту, когда платы изготовили стало уже неинтересно. И лежит Навстар с Глонасом - пылятся.

SergDoc
Rabbit_Fly:

а какие датчики ставить будете???

MPU6000, ms5611, HMC5883, GPS MT332, сонар, optical flow…

Rabbit_Fly

MS5611 по SPI? Компас и гпс будете выносить или оставите на основной плате?

igor_v_t
SergDoc:

MPU6000, ms5611, HMC5883, GPS MT332, сонар, optical flow…

А может вместо optical flow ставить матрицу с высоким разрешением и хорошей чувствительностью (день-ночь)?

SergDoc

матрица у меня есть, но понятия не имею, что за она ( может маркировка и есть но снизу, а выпаивать пока не решался) и DCMI уже никак, но она вроде как по spi мало дорожек, проц на котором она висит без маркировки (похоже какая-то ПЛИС)

Rabbit_Fly:

MS5611 по SPI? Компас и гпс будете выносить или оставите на основной плате?

5611 по i2c оставил ибо ну никак не выкручу дорожки, в нынешней интерпретации компас на основной плате (на мелкоплате танцевал с бубном пока не поменял шнурок программатора на экранированый и с компасом более проблем не имел) gps отдельно на верхней плате с батарейкой, там же пищалка и MicroSD…

mahowik
igor_v_t:

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

собственно везде примерно тож самое… я давным давно разбирался как это в мвие работает… есть вектор, который в каждой итерации цикла ворочается (через матрицу апроксимированную для малых углов, для перформасу) по ролл/питч на на делту угла: произведение из угловой скорости гироскопа и времени итерации цикла… далле этот гиро вектор корректируется через комплиментарный фильтр вектором акселя для удаления дрейфа гиры… пашет быстро и хорошо! 😃

mahowik

нашел занятные статейки ток что и прочитал:

DVE
Rabbit_Fly:

А может нам придумать новую платку под самодельный контролер. Какие датчики счас самые актуальные?

Лучше наоборот - сделать прошивку под какую-то из существующих, в противном случае повторить разработку смогут единицы.

Правда вариантов-то не особо и много, кроме РХ4 в голову ничего и не приходит. STMFxxDiscovery уж больно крупные для установки на квадрик (хотя плюс - дешево и есть в любом радиомагазине).

mahowik
DVE:

STMFxxDiscovery уж больно крупные для установки на квадрик

STMF3Discovery не такая уж и большая (у вис.аста родная платка побольше будет) + ценник вообще смешной… без доставки 11$… правда не понятно какого качества там сенсоры, пока не полетаешь не поймешь… и даташит тут не оссобо поможет, т.к. к примеру явления внутренних резонансов и виброустойчивость там не описаны (неверно), хотя и многое конечно можно почерпнуть после подробного прочтения…
кто первый вынесет вердикт на F3? 😉

Rabbit_Fly
DVE:

Правда вариантов-то не особо и много, кроме РХ4 в голову ничего и не приходит

Вот я и говорю давайте придумаем свою платку и будем все под нее софт писать…

Drinker

Рекомендую mbed кортекс м3 96мгц прошивается элементарно - бросаем бинарник как на флешку ресет и все. Как ни странно, тест с флоат выполняется в 6 раз быстрее чем на мапле 72 мгц. К чему бы это?
Автопелот за день сваял на этом.

Забыл - mbed.org

DVE
mahowik:

кто первый вынесет вердикт на F3? 😉

У меня есть F4, если есть какие-то тесты, могу запустить. Но плата здоровая все же, может F3 поменьше, не знаю.
Честно говоря, думаю датчики там самые дешевые и примитивные, иначе цена платы была бы выше.

Можно было бы хоть Naze32 за основу взять… Интересно, выведены ли там пины для отладки?

Drinker:

Рекомендую mbed кортекс м3 96мгц прошивается элементарно - бросаем бинарник как на флешку ресет и все.

C нормальными отладочными интерфейсами - в разы удобнее, когда можно ставить точки останова, смотреть значения переменных и пр.