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

alexeykozin
zatorax:

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

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

zatorax
alexeykozin:

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

да разница то более чем очевидна, результат только один и тот же

alexeykozin
zatorax:

да разница то более чем очевидна, результат только один и тот же

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

  1. после перехода в лоитер триммер будет восприниматься как команда к “навигации” к движению в сторону трима
  2. после поворота на 180 градусов по курсу в режиме симпл коптер понесет в сторону с удвоенной силой
  3. в ртл и авто режимах трим будет восприниматься как указание к коррекции маршрута

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

zatorax
alexeykozin:
  1. после перехода в лоитер триммер будет восприниматься как команда к “навигации” к движению в сторону трима
  2. после поворота на 180 градусов по курсу в режиме симпл коптер понесет в сторону с удвоенной силой
  3. в ртл и авто режимах трим будет восприниматься как указание к коррекции маршрута

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

  1. Эта команда будет всего лишь компенсировать перекос рамы и ничего большего. Ни на что большее ее силы не хватит, это все, финиш: приподняла/опустила коптер до горозонта и конец.
  2. Не понесет, так как команда уже отработала, выставив раму в горизонт. С какой стати она удвоится?
  3. Пусть воспринимается. Сила вмешательства будет только компенсировать перекос рамы, команды трима будет недостаточно чтобы хоть как то изменить курс.

Вообще, для контроллера абсолютно нормально получать какие то команды от приемника и вносить свои коррективы. Это его нормальный режим работы. Если бы это было не так, то коптер просто терял бы равновесие при любом движении стиками. Но этого как раз не происходит потому что контроллер корректирует сигналы с приемника, если пользователь кренит борт на опасный угол, контроллер самостоятельно убавит значение сигнала на ESC и не даст бпла перевернутся. Такие дела.

Физический горизонт рамы выставляется с помощью пузырькового уровня и никак иначе. А то что выставляет автотрим - это виртуальный уровень с корректировкой на кривизну рамы. Тримирование корректирует тягу на двигателях чтобы борт держал горизонт.

  1. А кстати да, тут я сам с собой не согласен. SM ориентируется уже не по геометрии корпуса, а относительно его положения, так что да, тут вполне возможно получить непредсказуемый результат в виде того что трим изменит тягу вовсе не в ту сторону в какую надо, надо проверить. AIOPv2 проблем вроде бы не доставлял, но ручаться не буду.
minii

По-моему, вы путаете понятия несколько.
Под тримом мы здесь (и вопрос про это был) понимаем кнопочку такую 3-хпозиционную около стика. Значение которой выливается в то, что аппа передает, когда стик в центре находится.
Все, что хранится где-то еще (в памяти контроллера, как вы говорите) не есть трим. Т.е. можете его называть как хотите, только народ вас не поймет, если речь идет о том “можно ли использовать тримы в аппе”.
Так вот, вы можете что угодно использовать и называть в аппе при настройке, если после ее окончания аппа в центре стика будет выдавать 0 (т.е. трим = 0).

usup
alexeykozin:

после перехода в лоитер триммер будет восприниматься как команда к “навигации” к движению в сторону трима

ну почему же у меня никуда не летит?никаких сейвтримов и автотримов не использовал,может у меня контроллер какой то “кривой”?)))ну да ладно черт с ним,а то и так накатали на прау стр.,у меня другой вопрос созрел,подключил rssi,но в адвансед параметр нет пункта rssi range,соответсвено не могу выставить значение 3.3 и поэтому рсси отображает только 50% при полном сигнале,куда делсяэтот параметр,или его где то надо включать?

minii

Юсуп, я уже писал выше, почему он может никуда не лететь после использования тримов.
Если аппа выдает 0 (1500± небольшая мертвая зона), то коптер никуда не летит в loiter.
Формулу я тоже писал:
канал = положение стика + трим + ошибка калибровки + ошибка передатчика и приемника + ошибка контроллера.
У вас получается, что
0 = 0 + трим + ошибка калибровки + другие ошибки (которые обычно невелики, если у вас все исправно).
Т.е. у вас трим + ошибка калибровки + другие ошибки = 0
Т.е. либо трим у вас 0, либо в аппе настроено не примешивать его к каналу в указанном режиме, либо трим у вас компенсирует ошибка калибровки + другие ошибки.

zatorax
minii:

По-моему, вы путаете понятия несколько.
Под тримом мы здесь (и вопрос про это был) понимаем кнопочку такую 3-хпозиционную около стика. Значение которой выливается в то, что аппа передает, когда стик в центре находится.
Все, что хранится где-то еще (в памяти контроллера, как вы говорите) не есть трим. Т.е. можете его называть как хотите, только народ вас не поймет, если речь идет о том “можно ли использовать тримы в аппе”.
Так вот, вы можете что угодно использовать и называть в аппе при настройке, если после ее окончания аппа в центре стика будет выдавать 0 (т.е. трим = 0).

Это ваше видение вопроса. Для меня подстройка есть подстройка и не важно где находятся при этом стики. В памяти контроллера хранится только то что передается пультом с тримом 😃 И даже функция названа в честь трима который теперь оказывается и не трим вовсе. Как же нам тогда его называть? В центре нуля не будет просто из за погрешности самого контроллера и передчика и всего прочего. Я пытаюсь вам объяснить, что то о чем вы говорите не константы.

minii:

Юсуп, я уже писал выше, почему он может никуда не лететь после использования тримов.
Если аппа выдает 0 (1500± небольшая мертвая зона), то коптер никуда не летит в loiter.
Формулу я тоже писал:
канал = положение стика + трим + ошибка калибровки + ошибка передатчика и приемника + ошибка контроллера.
У вас получается, что
0 = 0 + трим + ошибка калибровки + другие ошибки (которые обычно невелики, если у вас все исправно).
Т.е. у вас трим + ошибка калибровки + другие ошибки = 0
Т.е. либо трим у вас 0, либо в аппе настроено не примешивать его к каналу в указанном режиме, либо трим у вас компенсирует ошибка калибровки + другие ошибки.

В том и дело, Максим, что у коллеги аппа выдает не 1500, он же пишет что тримил. А почему при этом в LOITER коптер висит на месте объяснил уже я без формулы.

вопрос остался только с SM, где значение трима повернется вслед за положением борта и тут реально будет уже как то не так все работать… ну, это я проверю попозже

IceMiner

Вскочил вопрос. Можно ли устанавливать плату APM вверх ногами? Возникла такая необходимость, думал что калибровка акселя поменяет верх с низом. Ну то есть калибровка начинается, когда APM на спине и дальше по пунктам. Однако, оказалось не так, в планере после калибровки зеленая земля вверху…

zatorax
IceMiner:

Вскочил вопрос. Можно ли устанавливать плату APM вверх ногами? Возникла такая необходимость, думал что калибровка акселя поменяет верх с низом. Ну то есть калибровка начинается, когда APM на спине и дальше по пунктам. Однако, оказалось не так, в планере после калибровки зеленая земля вверху…

гироскоп проклятый…

alexeykozin подсказал метод который в принципе может творить с горизонтом что угодно rcopen.com/forum/f123/topic233564/19217
вламываем ahrs_trim_x y по 180* на каждую ось и вроде бы как все должно получится… но, разумеется, там еще задом вперед надо будет контроллер то развернуть, чтобы лево и право не спутались

IceMiner
zatorax:

и вроде бы как все должно получится…

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

Стоп. Куда вламывать. Там 0.175 радиан. Диапазон от -10 до 10. Крутится APM по одной оси. X или Y хоть так хоть так на 180 градусов вверх ногами. Совсем не понял)

zatorax
IceMiner:

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

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

ufk

Блин, я всю жисть считал что сэйвтрим и автотрим это суть одно и тоже, только при автотриме оно само горизонт выставляет(как пиды при автотюне) путем использования каких то там алгоритмов, а сэйв трим тоже самое только вместо алгоритмов “человек с пультом”…

Вопрос остаеться, есмли сэйв трим(контроллера, не аппы) по сути вносит искажения в автоматические режимы и вообще им пользоваться нельзя то зачем его сделали и почему оно работает(у меня правда там тримы обычно не больше пары кликов, но все же)?

IceMiner

Внимательно. Если он

zatorax:

вверхтормашками все нормально показывае

то вопрос и не вскочил бы. Он не показывает нормально.

zatorax
IceMiner:

Стоп. Куда вламывать. Там 0.175 радиан. Диапазон от -10 до 10. Крутится APM по одной оси. X или Y хоть так хоть так на 180 градусов вверх ногами. Совсем не понял)

так это, 3.14 же 180 градусов, т.е. к тому значению которое у вас сечас по X и по Y надо число Пи прибавить

да, перепроверил, 3.14159265

alexeykozin
zatorax:

alexeykozin подсказал метод который в принципе может творить с горизонтом что угодно А давайте обсудим Arducopter вламываем ahrs_trim_x y по 180* на каждую ось и вроде бы как все должно получится… но, разумеется, там еще задом вперед надо будет контроллер то развернуть, чтобы лево и право не спутались

не говорил я такого.
есть на это copter.ardupilot.com/…/arducopter-parameters/#boar…
но лучше размещать классически

zatorax
ufk:

Блин, я всю жисть считал что сэйвтрим и автотрим это суть одно и тоже, только при автотриме оно само горизонт выставляет(как пиды при автотюне) путем использования каких то там алгоритмов, а сэйв трим тоже самое только вместо алгоритмов “человек с пультом”…

Вопрос остаеться, есмли сэйв трим(контроллера, не аппы) по сути вносит искажения в автоматические режимы и вообще им пользоваться нельзя то зачем его сделали и почему оно работает(у меня правда там тримы обычно не больше пары кликов, но все же)?

Да никуда оно не вносит искажения, все отлично, единственное что имеет место быть это косяк с SM, но тут еще надо проверить и протестировать, потому что я не припоминаю проблем с AIOP v2 и то, это в том случае если трим на пульте. Если сохранить тримы командой Save trim, то тогда эти самые тримы станут нулями имени minii и в режиме SM они уже мешать не будут, так как тримированный двигатель будет вращаться вместе с бортом.
В случае с save trim выставленные установки для баражирования сохраняются в любом режиме как родные и все. Можно заморочится и в fullparametr tree хоть ручками выставить тримы прямо в настройках контроллера для каждого ESC, чтобы коптер ровно висел.

alexeykozin же предлагает более изящное решение, воспользоваться режимом Auto Trim, который, по словам Алексея корректирует положение коптера относительно земли меняя значения AHRS_TRIM_X Y, т.е. если в случае тримирования мы оставляем горизонт где он есть(для контроллера) и меняем только обороты на двигателях, то в этом случае мы меняем горизонт для контроллера, оставляя на его совести увеличение оборотов.

Но тут опять же надо читать как это все работает…

alexeykozin:

не говорил я такого.
есть на это copter.ardupilot.com/…/arducopter-parameters/#boar…
но лучше размещать классически

да, я видел этот параметр, но какая то бага в MP, мне было видно только про изменения ориентации по YAW. Если тут вообще все можно крутить и вертеть то вообще никаких проблем с переворачиванием контроллера.

alexeykozin
ufk:

Блин, я всю жисть считал что сэйвтрим и автотрим это суть одно и тоже

одно и тоже, и ручная правка AHRS_TRIM_X, AHRS_TRIM_Y
все это корректирует уровень горизонта

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

zatorax
alexeykozin:

одно и тоже, и ручная правка AHRS_TRIM_X, AHRS_TRIM_Y
все это корректирует уровень горизонта

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

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

IceMiner
zatorax:

вообще никаких проблем с переворачиванием контроллера

С этого момента подробнее. Как раз он и интересует. Ну вот надо мне так. Надо и все)