Автопилот Arduplane - открытое ПО

kaveg
Андрей#:

подскажите какую литературу почитать чтобы разобраться в коде арду

почитайте книжки по АСУ, физике и математике и языку С\С++

а потом почитайте про ардуино… это фактически обертка поверх С\С++ упрощающая эти языки чтобы даже школьник писать смог

SideWinder
jfm06:

Хочется, жуть как хочется полетать низко (30 метров) на средних дистанциях. Например, пролететь мимо двух рощиц. Но есть опасение, что в случае потери радио и включение режима Circle, самолет либо потеряет высоту, либо в повороте, встретится с деревом. Хочется переиграть поведение автопилота, чтобы в случае потери радио, сразу бы включался RTL. При этом нужно, чтобы самолет сразу рванул набирать заданные 100 метров.
Возможно это сделать? Спасибо!

Помоемому можно назначить Rally Point. Если она ближе Home, фейлсейф поведет на нее.

badjo

Long Failsafe выключите, да и всего делов то.

vasia
Андрей#:

какую литературу почитать чтобы разобраться в коде арду?

К слову о коде. Вроде ArduPilot подразумевается, что для программирования APM используется Arduino подобный язык… я какие кусочки кода видел жуть просто…помоему чистый С++ дак на чем написан APM?

X3_Shim
vasia:

что для программирования APM используется Arduino подобный язык… я какие кусочки кода видел жуть просто…помоему чистый С++

Так программирование Arduino это и есть C++, просто еще набор библиотек для простой работы с периферией.

vasia
Shrizt:

Кто знает, в мобильном приложении tower и в обычном mp высота точек задаётся относительно home или уровня моря? Что то пытался взлететь в авто режиме, делаю arm, мотор включается, бросаю, но высота не набирается, а плавно падаю на землю…

В Мишке вверху окошка с точками есть чекбоксик где выбирается relative или absolute

X3_Shim:

Так программирование Arduino это и есть C++, просто еще набор библиотек для простой работы с периферией.

Не ну это понятно, что в cамих библиотэках убиться просто, а в Ardu сидишь и с умным видом всякие if; for и millis( ) пользуешь . Код АРМ это тоже набор библиотек includ а сама программа написана на Ardu? У меня чисто практический интерес , если можно найти описания библиотек и все на Ardu то теоретически можно задаться целью что то там в коде разобрать, хоть blink сделать, а если С++ то сначала надо разобраться с классами и прочей нечестью в порядке самообразования.

X3_Shim
vasia:

о теоретически можно задаться целью что то там в коде разобрать, хоть blink сделать, а если С++ то сначала надо разобраться с классами и прочей нечестью в порядке самообразования.

В коде ардупайлота плюсы простые используются 😃 Особого знания и не надо.

shysha

Прошу прощения ,но у меня возникла проблема! Дрифт уровня после подключения 3D fix GPS ! Без ГПС усе ОК - но это не выход ! Проверял два ГПС модуля проблема не ушла ! Что еще интересно что это только на Arduplane прошивке !!! Arducopter все хорошо работает ! пошлите куда нужно если кто сталкивался. могу кинуть видео… заранее спасибо.

prg
jfm06:

А если представить, что с приемника по PPM можно снимать до 12 каналов, то как их получать с APM? ведь PWM выходов всего 8.

И зачем их все получать все? Некоторые каналы, например, режим, интересны только для самого APM.
У APM выходов 10. Дополнительные два (каналы 10, 11) берутся с “аналоговых входов”. Только сигнал и перемычки на плате надо смотреть.

ВлАс
vasia:

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

Можно поставить углы тангажа поболее и если мотор вытянет, то не встретится, хотя это все только предположения, по факту только АРМ знает в какую сторону повернуть.

dima_ua

вроде тут наиболее близко по теме.

а никто не думал над тем, чтобы MinimOSD (или клон) ставить не на борт, а на землю? по идее MAVLINK поток можно и на земле вынуть из телеметрии.

ВлАс
dima_ua:

а никто не думал над тем, чтобы MinimOSD (или клон) ставить не на борт, а на землю? по идее MAVLINK поток можно и на земле вынуть из телеметрии.

Дальше, дальше мысль… зачем это? Ну поставили, ну вытянули… и куда его?!?

dima_ua
ВлАс:

Дальше, дальше мысль… зачем это? Ну поставили, ну вытянули… и куда его?!?

всмысле куда.
на RX ножку OSD как и в случае набортовой установки.

MANS
dima_ua:

всмысле

Цель то какая? Вроде и весит мало и энергии мало жрет.
Или писАть на земле видео без телеметрии, а в очках смотреть его же, но с наложенной телеметрией?

dima_ua
MANS:

Цель то какая? Вроде и весит мало и энергии мало жрет.
Или писАть на земле видео без телеметрии, а в очках смотреть его же, но с наложенной телеметрией?

ну доктор, вот такие у меня фантазии.
цель - не транслировать по открытому каналу цыферки телеметрии на OSD.
но при этом иметь возможность смотреть привычную картинку в очках

ВлАс
dima_ua:

на RX ножку OSD как и в случае набортовой установки.

Вот тут наверно совсем отстал, а почему не наложить ОСД прямо на борту? Вроде как видеолинки более дальнобойнее чем телеметрия, да еще и задержки.

obion

В мануалах пишут, чтобы обнулить бародатчик и датчик воздушной скорости, то нужно в Мишн Планере давить кнопку preflight calibration.
У меня и высота немного уплывает и воздушная скорость при неподвижном самолёте около 10км/ч.
Как вы обнуляете датчики, если мишн планера нет с собой в поле?

ВлАс
obion:

Как вы обнуляете датчики, если мишн планера нет с собой в поле?

Передернуть питание, когда вся электроника прогреется, это 5-10 мин.

vasia
shysha:

Дрифт уровня после подключения 3D fix GPS ! Без ГПС усе ОК

vasia:

Сообщение от karabasus
Параметр AHRS_GPS_GAIN попробуйте поставить на 0 и проверить будет ли прыгать линия авиагоризонта.
(Это параметр позволяет управлять, насколько GPS используется для коррекции влияния
центростремительных ускорений в расчётах )

Посмотрите в настройках видимо у вас больше “1” стоит, для самиков 1 рекомендуют.

X3_Shim:

В коде ардупайлота плюсы простые используются Особого знания и не надо.

Как это не надо…а че такое “плюсы простые”?

dima_ua:

а никто не думал над тем, чтобы MinimOSD (или клон) ставить не на борт, а на землю? по идее MAVLINK поток можно и на земле вынуть из телеметрии.

Интересно а так будет работать - Врезаем OSD в видеотракт на земле (ему же пофигу где накладвать) а на Rx OSD подаем сигнал с Tx наземного модема…