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

kak-dela007
alexeykozin:

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

Не знаю оно или нет… Решил попробовать включить измерение тока, чтобы видеть на экране ОСД процент заряда батареи. У меня стоит клон 3Dr Power Module. В итоге, проценты падают очень быстро: еще не успев взлететь и даже дать нагрузку, показания опускаются до нуля (о чем дроид планер мне сообщает). Дальше - больше. Показания переходят в отрицательные значения, чего по идее никак не может быть. Емкость батареи выставил соответственно тому, что написано на аккумляторе.

Подскажите, какой датчик тока может стоять на клонированном 3Dr модуле, чтобы выставить правильные BATT_AMP_OFFSET и BATT_AMP_PERVOLT?

Модуль вот такой ru.aliexpress.com/item/…/1845120635.html

Spartak1245

А можно ли сделать, так чтобы при посадки или если рухнет при срабатывании RTl, чтобы он не крутил мотором? А, то будет молотить землю либо из-за потери РУ либо из-за чего нибудь еще. Как это убрать, т.е чтобы он понял, что это земля и RTL-у не место быть?

kak-dela007
Spartak1245:

А можно ли сделать, так чтобы при посадки или если рухнет при срабатывании RTl, чтобы он не крутил мотором? А, то будет молотить землю либо из-за потери РУ либо из-за чего нибудь еще. Как это убрать, т.е чтобы он понял, что это земля и RTL-у не место быть?

Ага, у меня так регуль сгорел, который впоследствии спалил и мотор. Пришлось перематывать. Если РУ работает, то нужно переключаться в режим без автоматического управления газом. А при потере РУ он должен кружить над точкой дома, пока не сядет аккум, разве нет? А если стоит автопосадка, то есть параметр круизного газа для автопосадки : TECS_LAND_THR. Можно попробовать поставить 0. Но я еще не тестировал.

Spartak1245
kak-dela007:

А при потере РУ он должен кружить над точкой дома, пока не сядет аккум, разве нет?

Предположим летим, летим и тут бац самолет начал падать из-за отказа сервы, при падении включится ртл правильно? Соответственно будет мотор молотить землю и утащит за собой регуль и КЗ. Как сделать, так чтобы РТЛ вообще не включился когда самолет на земле?

kak-dela007
Spartak1245:

Предположим летим, летим

  • а в каком режиме? С автоматическим газом/курском или нет? В режимах типа Manual и FBWA когда летал, при посадках ни разу не случалось включения RTL. С авто-газом (RTL) - вот у меня такое однажды было, когда и погорела электроника. Но там была не управляемая посадка с участием деревьев. Сейчас понимаю, что скорее всего регуль и сгорел потому что винт задевал за ветки деревьев (при 90% газе). Т,е. самолет не был в этот момент на земле. Что касается посадок на землю, в том числе аварийных, - то сложилось впечатление, что АП “понимает” когда самоль обездвижен и находится на стартовой высоте. Так что если ЛА садится или падает в режиме с газом, управляемым с пульта, и если за секунды до касания земли газ был убран до нуля, то по идее RTL сам включиться не должен. Но у меня пару раз было и когда я после неудачного старта поднимал самолет, а его винт крутился на полном газу. Т.е. скорее всего включался RTL. Поэтому поддерживаю вопрос.

При отказе сервы - сомневаюсь, что включится RTL. Как ПК это поймёт? Будет думать, что это пилот его в штопор вводит 😃

kostya-tin
kak-dela007:

При отказе сервы - сомневаюсь, что включится RTL. Как ПК это поймёт?

когда самолет будет в паре километров от вас РТЛ обязательно включится, когда самолет будет падать, т.к. будет потеря связи у земли

Spartak1245
kak-dela007:

С автоматическим газом/курском или нет?

После посадке самолета, если не передернуть питание на АПМ, то при включение режимов auto, rtl, cruise мотор начнет крутить, как ненормальный. Вот из-за чего я спрашивал, как можно это отрубить, чтобы не молотил землю.
А так, если РТл и он упал или просто летит и упал, то в РТЛ т.к связи с пультом нет включит МОТОР на полную.

alexeykozin

вроде как при крэше срабатывает детектор что самолет не в полете и мотор выключается через некоторое время

Spartak1245
alexeykozin:

вроде как при крэше срабатывает детектор что самолет не в полете и мотор выключается через некоторое время

Если это так, то это замечательно. А, то сами понимаете?!

alexeykozin
Spartak1245:

Если это так, то это замечательно. А, то сами понимаете?!

ну не столь часто у нас крэши, а если уж приложили то приложили.
был случай
у планера crystal d2500 когда ему сорвало руль высоты и с километра за несколько секунд спикировал - по логу порядка 300кмч было когда об сосны задел.
так ему было все равно было выключит ему автопилот мотор или нет. батареи, мотор отделились и метров на дцать вперед улетели. звук был как будто стопку листов шифера о бетон шарахнули и эхо три раза)

Spartak1245
alexeykozin:

звук был как будто стопку листов шифера о бетон шарахнули и эхо три раза)

Нифига себе)) Ну если так, то да. А, если просто летишь на крыле в 5км и высота 500м то еще имеет смысл, а так да!

XrayT1

Доброго времени суток.

Подскажите, пожалуйста, в чем может быть проблема/что поправить.
Носитель MiniTalon, APM 2.6. После автотюна по ROLL пиды как будто очень высокие (P = 1.8) что проявляется в виде оциляций и раскачке на скоростях 50км/ч и ниже.
После ручных правок P = 1.2 (I уменьшено пропорционально) осциляции уменьшаются и заметны на 40 км/ч.
После ручных правок P = 0.9 осциляции уменьшаются вплоть до ~36 км/ч (около скорости сваливания), но чувствуется как будто компенсации недостаточно (самолет слегка плавает по уровню).

ehduarg

Он всегда немного плавает. Надо с ручным режимом сравнивать. У меня разницы не заметно.

alexeykozin
XrayT1:

что поправить.

ardupilot.org/plane/docs/parameters.html#scaling-s…

Airspeed in m/s to use when calculating surface speed scaling. Note that changing this value will affect all PID values
By adjusting SCALING_SPEED you can have the same set of PIDs for both airspeed and non-airspeed flight control.

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

в актуальной версии кода коэфициент скалирования пидов ограничен диапазоном 0,6 - 1,67
посмотреть как это устроено можно тут github.com/ArduPilot/ardupilot/…/Attitude.cpp#L29

XrayT1
ehduarg:

Он всегда немного плавает. Надо с ручным режимом сравнивать. У меня разницы не заметно.

Ручной режим плавный, летит ровно, ничего не дергается вплоть до сваливания.

alexeykozin:

принцип в том что чем больше воздушная скорость тем меньше надо двигать рулями

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

Заметил что с уменьшением P самолет стал крениться когда рулишь рулем направления. Когда P выше поворачивается практически в горизонтальной плоскости.

khomyakk

Вчера выставлял ЦТ на самолёте, заметил такую странность-плывут показания питча и ролла.
Сейчас воспроизвел ситуацию. Самолёт на полу неподвижно. Подключаю автопилот, Мишион планер. Вывел показания питча и ролла на экран. Начальные показания питча минус 6,25, после 10 минут минус 5,6. Вроде стабилизировались.
Это нормально? Температурный дрейф? Самолёт был в жёстком краше год назад. Может это причина? Менять микросхему?

alexeykozin
XrayT1:

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

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

khomyakk

Просмотрел свои видео до краша. Совсем другое поведение самолета.

ehduarg
XrayT1:

Ручной режим плавный, летит ровно, ничего не дергается вплоть до сваливания.
Заметил что с уменьшением P самолет стал крениться когда рулишь рулем направления. Когда P выше поворачивается практически в горизонтальной плоскости.

Расходы еще можно настроить очень маленькие. У меня в ручном режиме зажаты процентов на 40. В автомате еще наверное в двое. Рулем у меня кренится очень сильно.