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

AlexSneg

Вот записал видео со своей реализацией кальмана

Syberian:

В чем измеряется t? если это миллисекунды - аж 19 штук

t микросекуднах, я упоминал в первом посте об этом
сейчас и в этом видео у меня только гира+аксель. Компас я не подключал пока.

Frr:

глюки видны

Нда жестко колбасит. Я вот сейчас специально проверил, поставил на бок и тряс как у вас на клипе. Ну практически железобетонно стоит угол.

Syberian

Нехило у него в конце башню сорвало…

Я тоже могу снять такое видео. Но, вообще, сидеть перед монитором и трясти плату - занятие неблагодарное. Трясти ведь можно по-разному. Лучшая проверка - поставить на борт и в поле. А на OSD следить.

AlexSneg
Syberian:

Нехило у него в конце башню сорвало…

Где? У у меня вроде нет срывов. В конце я его слишком экстремально крутил с огромными перегрузками, затем резко выпрямил. Но даже после этого ошидки по pitch практичеки нет, roll повело на 15 градусов, затем медленно пополз к нулю. Расколбаса все равно в разные стороны не было. Но ты же понимаешь, что это запредельный стресс тест.
Сегодня найду крутящийся стул прицеплю к ноуту, поставлю все на стул. положу на край плату, дам угол и буду крутить. потом покажу как все работает. Сейчас сниму ролик как DCM себя ведет. Минут через 15 выложу. У меня только телефон для съемок, так что сорри за качество.

Вот DCM с моими коэффициентами
Четко виден расколбас после установки в горизонт. А если вертикальная перегрузка, то вообще башню срывает. Это скорее всего, то что наблюдал alex-ber, когда его на ветру колбасило

alex-ber
AlexSneg:

А если вертикальная перегрузка, то вообще башню срывает. Это скорее всего, то что наблюдал alex-ber, когда его на ветру колбасило

Да примерно то, что я и наблюдал - с 2.30…
Алекс попробуй еще один эксперимент - ненадо сильно трясти и курыжить - поставь плату под углом градусов 30 (крен) и градусов 10 (наклон) а затем пару раз в таком положении резко вверх вниз перемести - типа самик с левым (правым) креном идет на снижение и порывом ветра его пару раз вверх-вниз швырнуло…
Спасибо.

Syberian

Прикрутил РЦ-каналы и сервовыходы. Пока все напрямую. Также можно регулировать скорость передачи внутри потока.
Столкнулся с траблой: поток на базу никак не поднимается выше 2000bps. На 10Гц работает или IMU или радио или серво, хотя битые пакеты не обнаруживаются. Мну плакаль 😦 Надо крепко думать.
Леонид, проверь, у тебя лучше будет скорость?
dl.dropbox.com/u/63786348/MegaPirateX.zip

LeonVS

Прогресс на лицо! РЕСПЕКТ 😃
Такая же фигня, если ставить обновление 5 на горизонт и 5 на серво все тип топ, как только куда то больше появляются тупняки…
Обновление серв на 10Гц жрет где то 1600бпс, для 6 каналов совсем не много 😃 Интересно чем вызван барьер в 2000бпс??? Протокол обмена?

ukkr
Syberian:

Столкнулся с траблой: поток на базу никак не поднимается выше 2000bps. На 10Гц работает или IMU или радио или серво, хотя битые пакеты не обнаруживаются. Мну плакаль Надо крепко думать.

Олег, ты же в процедуре, что пишет в УАРТ

void putchar(char c)
{
while (tx_counter0 == TX_BUFFER_SIZE0);
#asm("cli")
.....

глобально запрещаешь прерывания. Может быть при определённом потоке данных в УАРТ прерывания (для руления каналами, опроса датчиков и т.д.) уже и не успевают вызываться из-за того, что процедура писания в УАРТ постоянно их запрещает?

Syberian
ukkr:

глобально запрещаешь прерывания.

Все-таки добил его. Все было тупее… В базовой станции при чтении буфера ком-порта обрабатывался только один пакет за вызов, независимо от длины полученных данных.
Теперь валит честные 30pps (все по 10Гц) на скорости 4160bps. Красота.
Леонид, каналов, кстати, не 6 а 8.

Syberian

Пришла еще одна дельная мысль. Если выдача инфы такая быстрая и узкий канал, ничего не мешает сделать тот же протокол на bvHUD и таким образом прокачивать даунлинк через видеопередатчик. Аплинк, соответственно, через радиомодуль пульта.

Прикол №2, если “ужаться” по AHI до 5 Гц и навигацию 1Гц , то скорость канала не превысит 1200бод. Что позволит втупую использовать даунлинк приемника FrSky, который D8R-II. Правда, с отдачей команд на борт будет уже сложнее.

LeonVS
Syberian:

Леонид, каналов, кстати, не 6 а 8.

У мну подключенно на данный момент 6, вот и дрыгал шестью 😃 На выходе в 7, бомболюк в автомате 😃

Syberian:

Все-таки добил его. Все было тупее…

Кидовай, заценимс 😃
Олег замути сразу данные что принимаются на наземку автоматом сохранялись в файл, чтоб далее можно было их подцепить на вход и посмотреть что происходило еще раз 😃

Syberian:

Теперь валит честные 30pps (все по 10Гц) на скорости 4160bps.

Может на данном этапе сразу ППМ_СУМ заложить? Думаю для многих будет актуально?

Syberian
LeonVS:

сразу ППМ_СУМ

начинается 😃 ну нету у меня приемника такого! 😦 чем отлаживать-то? Если подскажешь версию мегапирата, где он работает, могу содрать код оттуда.

Кинуть не могу, все дома лежит. Если есть борланд, открой исходник unit1.cpp, найди вызов gcs_process0(); и через две строки ниже закоменть return

LeonVS

ДА у меня то же усе дома 😃 Так что тесты вечером 😃

Syberian:

начинается ну нету у меня приемника такого!

Ну кто же знал то 😃 Я же как лучше хочу 😉

Syberian

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

AlexSneg
alex-ber:

Алекс попробуй еще один эксперимент

Пробовал. Есть кратковременный бросок на 90 градусов, но тут же встает в норму. Никаких долгих расколбасов нет. Но опять же, одно дело моя платформа и мои коэффициенты. А с теми, что по умолчанию, у меня вообще все плохо, они для меня не подходят в принципе. Чтобы на 100% подтвердить, надо именно с твоей платформы визуализацию делать.

LeonVS

На новой прошивке 😉? Аль старый добрый и мегаглючный ардупират 😃?

Syberian
LeonVS:

старый добрый и мегаглючный

новый злой и мегаглючный Мегапират Х 😁

LeonVS

Эм??? Серьезно? Тобишь режим стабилизации уже реализован??? У коптеров он как мне кажется гораздо сложней в реализации нежели у самолетов.

Syberian

да нифига.
Схема до безобразия проста и одинакова для самолей и коптеров:
Servo= RC + gyro rate + ATTitude error PID + NAV error PID + ALT error PID + SPD error PID

В случае акро-режима не используются ATT NAV ALT SPD,
в случае автопилота не нужен RC,
в случае стабилизации не нужны NAV ALT
и т.д.

Все остальное отличается разводкой компонентов по выходам:
В случае самолета NAV воздействует на руддер (или элерон+элеватор), SPD на газ,
В случае коптера NAV подается как ошибка крена/тангажа и складывается с SPD

Ну и еще некоторые тонкости, в общем, мне все ясно 😁

LeonVS

Вах вах, молодца 😃
А пиды ты ужо вынес для настройки “с земли”?

Кидани уже что там получилось из крайней версии 😃? Квадрик то же есть, могу затестить на сколько оно стабилизируется, это сделать проще нежели на самуле 😃
К стати, блокировку крутящих молотящих поверхностей замутил 😃?

alex-ber

Суппер!
Олег, действительно - если уже что-то есть для пробы - выложи!
Я с понедельника в отпуске - поэтому вновь с Вами!
Буду переезжать в моделку (мебель собрать и модели перевезти) и вновь за проект!
Спасибо.

Syberian

и пиды будут, и реверсы, и блокировка.
Только теперь ужо я сам буду первонахом! - тем, кто полетит.

Ну, вроде микс и стаб работают. Пара штрихов: добавить настройку добра с наземки.