А давайте обсудим Arducopter - APM

ENGINEERUS

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

RTemka

Я всегда ставлю лететь мордом вперед.
Летает даже когда компас врет и в лойтере унитазит.
Правда если летать по квадрату видно, что он то боком то передом летит 😃

strizhmax

Да ё-маё.
Вижу книгу, а в ней фигу.

365 if (use_compass()) {
…вырезал…
389 } else if (_flags.fly_forward && have_gps()) {тут пошло то, о чем говорится тут
428 }

Так что вся речь о полете, когда компаса нет.

starfair
alexeykozin:

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

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

F_R

А у меня забивает на положение морды. Не разворачивает он её. Не помню уже за каким умыслом я не стал включать режим “мордой вперёд” 😃
Мне больше интересно, от куда могут ползти вибрации в плоскости Z? От пропов, виброперемещенмя и виброускорения, обычно, лежат в плоскости его вращения. Т.е. X и Y. Винты проверял - балансировка в норме.
Только, если провести балансировку системы “мотор+проп”, но ИМХО, не сильно улучшит картину…

Что посоветуете?

Зы. Лучи жёсткие, люминь. АРМ стоит на силиконовых стойках - амортизаторах.

alexeykozin
strizhmax:

Да ё-маё.
Вижу книгу, а в ней фигу.

точно, спс.
уже глаза слезятся от монитора.

по идее использование компаса для ахрс это не одно и тоже что он включен
в строке 351 функция
bool AP_AHRS_DCM::use_compass(void)

в ней со строки 336
// if the current yaw differs from the GPS yaw by more than 45
// degrees and the estimated wind speed is less than 80% of the
// ground speed, then switch to GPS navigation. This will help
// prevent flyaways with very bad compass offsets

int32_t error = abs(wrap_180_cd(yaw_sensor - _gps.ground_course_cd()));
if (error > 4500 && _wind.length() < _gps.ground_speed()*0.8f) {
if (hal.scheduler->millis() - _last_consistent_heading > 2000) {
// start using the GPS for heading if the compass has been
// inconsistent with the GPS for 2 seconds
return false;
}
тоесть компас может быть исключен из коррекции курса если аппарат летит задом наперед или даже боком …
зы: могу ошибаться, прошу не пинать

alexeykozin

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

strizhmax

в мастере у дидронов все есть
ArduPlane/setup.pde:300: ahrs.set_fly_forward(true);
ArduPlane/system.pde:466: ahrs.set_fly_forward(true);
ArduPlane/test.pde:435: ahrs.set_fly_forward(true);
ArduPlane/test.pde:496: ahrs.set_fly_forward(true);

zveruga

Всем привет.
А никто не пробовал подключить телеметрию с АРМ через приемник с телеметрией? У него есть Rx Tx и на передатчике они есть, насколько я понял, если телеметрийный UART1 подать на приемник, то с передатчика на земле можно будет снимать все показания через Mission Planner?

strizhmax
zveruga:

А никто не пробовал подключить телеметрию с АРМ через приемник с телеметрией?


Пойдет?

zveruga

Спасибо, интересно. Но я имел ввиду вообще без участия пульта - снять телеметрию с Rx Tx приемника и через USB UART переходник подать на комп в МР. Как считаете возможно ли это, может кто-то делал?

blind_oracle
zveruga:

снять телеметрию с Rx Tx приемника и через USB UART

Приемник он ведь на коптере, нет? А мишен планер он на земле? Как вы их собрались коннектить по уарт? Или я что-то не понимаю в этой жизни? 😉

strizhmax
zveruga:

Как считаете возможно ли это, может кто-то делал?

Думаю возможно. Направление я задал. У FrSky порт на 9600 работает, учтите это.

tolya
F_R:

Поигрались с фильтром акселя: INS_MPU6K_FILTER. Поставил 30Гц. Коптер стал гораздо эмм… лучше летать. Более отзывчивые и плавнее, комфортнее стало им управлять

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

DWK
blind_oracle:

Приемник он ведь на коптере, нет?

Телеметрийный приёмник FrSky работает на приём и на передачу.

zveruga
blind_oracle:

Приемник он ведь на коптере, нет? А мишен планер он на земле? Как вы их собрались коннектить по уарт? Или я что-то не понимаю в этой жизни? 😉

Приемник на коптере подключается к АРМ, а передатчик на земле через УАРТ к компу.
Попробую - отпишусь.

Alexey_1811
zveruga:

Приемник на коптере подключается к АРМ, а передатчик на земле через УАРТ к компу. Попробую - отпишусь.

Можете не пробовать. Ничего не выйдет.

zveruga
Alexey_1811:

Можете не пробовать. Ничего не выйдет.

Потому что FrSky работает на 9600, а телеметрию выдает на 57600?

Олег24
zveruga:

Потому что FrSky работает на 9600, а телеметрию выдает на 57600?

Mavlink с трудом работает на 9600. Пробовал - толку ноль.

Freepooh
Олег24:

Mavlink с трудом работает на 9600.

А как же пульт с прошивкой er9x-ardupilot принимает данные телеметрии и выводит на свой экран?

omegapraim

Может потому что там прошивка под это настроена?..