Activity

Порядок поворотов в stable mode.
Musgravehill:

У вас углы Эйлера используются? Кватернионам пофиг, они коммутативны.

Самолетные углы.

Я пишу адаптивный регулятор, его буду настраивать на модели, которую сейчас и тестирую на адекватность.

коптером в акро моде управлять умею

Порядок поворотов в stable mode.

если начальное положение в пространстве - тангаж 30 градусов и начинаем крутить рысканье, вокруг какой оси начнет вращаться аппарат? вокруг ортогональной земле или коптеру?

Именно в стаб моде!

Вот такое вращение будет?

Порядок поворотов в stable mode.

Поясню, я умею управлять коптером и понимаю как он рулится в акро моде. Вопрос в том какое положение примет коптер с стаб моде при например заданных с пульта pitch=30 yaw=180

Порядок поворотов в stable mode.

Пардон) Поясню - с пульта мы задаем углы - крен, тангаж и рысканье соответственно . Если на пульте задать тангаж 30 градусов,рысканье 180 , то в зависимости от последовательноси поворотов - получим разное положение. Возьмите в руки любой предмет и поверните его сначала на 180 градусов по рысканью, потом тангаж 30. Запомнили положение? Теперь сначала тангаж, а уже потом рысканье)

Я проверяю модель на корректность - очень нужна ваша подсказка)

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

А я вот свою систему допилил. Пока в акро моде. Сейчас делаю инерциалку по этой статье gentlenav.googlecode.com/files/DCMDraft2.pdf пишу модель и адаптивный алгоритм.

Пилот из меня никакой(

Сборная Росии F3K 2012 года.

Уважаемые господа, а вам не кажется , что вы строите слишком большую и сложную систему?Отдельно ЧР, отдельно КР, отдельно отбор сборной , рейтинги…пилотов то всего ничего. А на ЧМ потом едут два пилота. И я хорошо понимаю Андрея, который посещает балтик опен - там все просто, понятно и без выснений отношений.

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

Мне кажется разумным следующий аглоритм.
1.Проверяем что сумма ускорений по всем осям=g.
2.Если так, то обнуляем ошибку интегрирования от гироскопов.

Вопрос лишь в вероятности ситуации, когда сумма ускорений будет g , но коптер будет ускоряться…надо посчитать…

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

Показания и будут плыть.Это абсолютно нормально, супер результат - 1 градус в минуту.Почти не достижимо. Чуть улучшает ситуацию оверсэмплинг, то есть многократное повторное чтение ADC и последующее усреднение значений, можно увеличить таким образом разрешение. Но для нормальной стабилизации по углу нужно делать фьюжн нескольких сенсоров.
И не стоит делать так dtime/1000 , dtime/1000.0 позволит избежать трудновылавливаемых багов.

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

А setup и loop можно глянуть? кстати, если в for одна строчка, {} можно не ставить. Мой коптер уже поднялся в воздух, пока стабилизация только по угловой скорости и настроена не очень.Калибровку можно дефайнить если не боитесь температурных дрифтов байеса, а они будут.

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

Подключил сегодня гироскоп mlx90609 через ADC пины ардуины, уж очень не хочется с SPI возиться… Правда за удобство приходится платить заменой 11-ти битного АЦП на 10-ти( Написал удаление байеса, но при интегрировании уж очень быстро набегает ошибка - примерно градус в минуту.Видимо надо повышать разрешение и переходить не интегрирование Рунге-Кутом. Я все никак c SPI разобраться не могу, может поделитесь кодом и комментариями?

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

если Вы на каждой итерации считаете Dt, а потом на него умножаете угловую скорость, то это и есть интегрирование.

под ардуино
void loop
{
time=micros();
Dt=time-oldtime;
angle+=omega*Dt;
oldtime=time;
}

Вот и все…

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

Тоесть можно взять показания с гироскопа и сказать что это угол, а не угловая скорость и работать с этим углом, в куке ведь работает только какойнибудь коэффициент придумать?

Можно - но это будет стабилизация по угловой скорости ,режим Акро. Для стабилизации по углу необходимо численно интегрировать угловую скорость.

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

А переменная в которую пишется результат точно signed?

Просто в Вашем сообщение противоречие.

SergDoc:

беззнаковое число максимум 255 при этом он его выдаёт в дополнительном коде тобиш от 0 до +177 и от -1 до -178 я же вижу числа от 0 до +255 сейчас решаю проблему как это считать…

То есть акселерометр должен отдавать знаковое, а Вы получаете беззнаковое?

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

С гироскопов снимаем угловую скорость, пересчитываем по формуле omega=U*gain+bias , интегрируем для получения угла. Трехосевой акселерометр позволяет определять положение с точностью до поворота вокруг вектора .Кладем на горизонтальную поверхность , по оси Z Датчик должен мерить g, по остальным нули.По степени вхождения g в оси x y можно определить крен и тангаж при отсутствии линейных ускорений.

Табло для F3K и т.п.
wws:

Мне тоже не очень нравится гнать кучу байт видео. Но в поле канал всё-равно пустой, а это решение уже готово и не требует более никакой разработки (т.е. самого дорого ресурса). Начнешь делать и начнуться проблемы, как синхронизировать со звуком, как разослать одинаковые файлы и.т.д. Как подмотать, если чего напутали. Тут - всё уже придумали до нас.

Дело в том,что с таким потоком на большой дальности непонятно что будет происходить.С учетом работы передатчиков на 2.4… Изучу вопрос на каникулах,может удастся софтину написать.

Табло для F3K и т.п.

Очень нерациональной кажется передача такого огромного объема информации,когда на самом деле требуется 10байт\сек. Почему не передавать информацию о времени и режиме работы,а само видео и звук генерировать на месте?

Как порезать пенорезкой фюз длиной 900мм?

Если фюз умещается в две резки(без центральной секции)я бы резал как на рисунке. Отрезали красным,сдвинули заготовку вперед,прошли по коричневому. Кстати,бесконечную подачу организовать не очень сложно,нужен лишь механизм зажима листа между двумя роликами,управлять как обычной осью Х.По части софта,могу порекомендовать изучить рекзу фюза в GMFC,сам еще там только крылья резал,но возможностей там гораздо больше чем в фоамворксе. При случае проверю.