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

alexeykozin

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

SergDoc:

у кого PX4/Pixhawk как ведёт себя лоитер с влюченным EKF?

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

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

Shuricus
alezz:

очередь признали что наговорили кучу глупостей (типа: у назы нет прогрева или для определения горизонта нужен только акселерометр)

По порядку:

  1. У меня две назы, и обе без вармапа. Это факт. Какие претензии? Да, есть в вармапом. Но к сути спора это ни как не относится, потому что вы в принципе не понимаете что такое вармап и зачем он нужен.

  2. Про аксель - не нужно перевирать мои слова, это раз. Два - факт, что только аксель является единственным сенсором, который имеет отношение к привязке к конкретному положению в пространстве. Вы тут полностью облажались, утверждая что это гироскоп.

И кто продолжает говорить глупости и опять оскорблять собеседника? Прекратите троллинг и не провоцируйте меня на этот флуд.

alexeykozin:

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

Если это мне - то я не говорил, как работает Ардукоптер. Я сказал, что для определения горизонта ЖПС не нужен, потому что мы вообще принцип работы сенсоров обсуждали, и это факт. Если ЖПС скорость используется в Ардукоптере - это совершенно прекрасно. Там есть такой алгоритм, вы его видели?

alexeykozin
Shuricus:

Если ЖПС скорость используется в Ардукоптере - это совершенно прекрасно. Там есть такой алгоритм, вы его видели?

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

Shuricus:

Если ЖПС скорость используется в Ардукоптере - это совершенно прекрасно. Там есть такой алгоритм, вы его видели?

приведу ссылку непосредственно на процедуру в которой матрицу векторов (горизонт) медленно доворачивают
это и есть коррекция дрифтов гироскопов
github.com/diydrones/ardupilot/…/AP_AHRS_DCM.cpp#L…

SergDoc
alexeykozin:

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

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

alezz

Последнее мое сообщение на тему аксель и гирик vs горизонт. Напомню с чего все началось. Проблема была в следующем:
подключаю к квадрику батарею, делаю арминг (gps не используется), взлетаю. Примерно через 2 минуты квадрик начинает сильно тащить вперед, наклон рамы не менее 10 градусов. Посадка, дизарм, арм, взлет результата не дает - коптер все так же тянет вперед. Как выяснилось позже, перекалибровка акселя в MissionPlanner без отключения батареи тоже не дает ни какого результата - коптер все так же тянет вперед (т.е. виноват не аксель). Но если передернуть батарею все приходит в норму и квадрик висит замечательно. Ставлю вторую батарею подряд - летает без проблем. И так до тех пор пока коптер не постоит часок, тогда все начинается заново. Т.к. такая проблема возникла после прихода холодов, летом было все ок, я предположил, что причина в не особо удачном экземпляре MPU-6000 в моем коптере, который нуждается в прогреве, и тут началось…

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

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

  1. Подключаю батарею к коптеру стоявшему без питания больше часа, GYROFFS_Y=-0.139
  2. Арминг, GYROFFS_Y=-0.118 Прекрасно видно что при первом арминге гирик перекалибровался (переписывались оффсеты), значение оффсета заметно упало (по абсолютной величине). Летаю примерно 3 минуты, коптер начинает заметно тянуть вперед.
  3. Передергиваю батарею. Перекалибровка GYROFFS_Y=-0.09 Заметно, что гирик ведет себя по другому чем при первом подключении на холодную (см п.1)
  4. Арминг GYROFFS_Y=-0.072 Снова произошла перекалибровка. Летаю примерно 3 минуты, коптер висит замечательно, ни куда не тянет
  5. Посадка, без передергивания батареи дизарм/арм, GYROFFS_Y=-0.072 Видно что ни какой перекалибровки не произошло т.к. значения ни по одной из осей не изменилось.
  6. Предергиваю батарею GYROFFS_Y=-0.09 снова видно что значение подросло (по абсолютной величине), но гирик ведет себя как прогретый

Итого. Бесспорно, гироскоп активно участвует в определении горизонта в АРМ. Передергивание батареи ни как не влияет на аксель т.к. он калибруется в MissionPlanner (нажимаем кнопку, горизонт, кладем на правый бок, кладем на левый и т.д.). Гироскоп перекалибровывается при каждом подключении батареи и при первом арминге, при этом насколько ровно установлен коптер значения не имеет (здесь было мое заблуждение). Поэтому всем у кого есть проблема с уплывом гироскопа рекомендую прогреть его, просто подождав перед взлетом пару минут. В принципе при полетах с gps это происходит само собой (т.к. мы ждем фиксацию какое-то время), а вот при полетах без gps нужно обратить внимание. Конечно, эта проблема касается далеко не всех плат, у меня есть второй АРМ на котором все четко без прогревов, но она существует.

Jade_Penetrate

Логично, мозги смотрят и на абсолютное ускорение (силу притяжения) и на угловую скорость которую можно получить из гироскопов. Если бы горизонт формировался только по акселерометру, квадрик бы дико кренило при боковых ускорениях, порывах ветра и так далее. Если бы использовались только гироскопы, не было бы абсолютного значения углов наклона, и горизонт бы не выравнивался, или со временем уплывал.
По этим данным в некоторых пропорциях и вычисляется положение, вот и получается что у вас контроллер видит что аппарат вращается, и делает крен, пытаясь его остановить, но этот крен ограничен показаниями акселерометра. Кстати, попробуйте быстрые маневры или акро без авто левелинга, с осторожностью, естественно.

Hopper

У меня такая же проблема с гироскопом на подвесе.
В холодную погоду он разогревается от камеры и даёт смещение.

Alex_from_Israel

Прошу помощи! Кто нибудь юзает X8? Запутался с порядком подключения моторов. Вернее, есть ли изменения в порядке подключения на последней прошивке? В инструкции против часовой стрелки верхние 4 начиная с правого переднего мотора 1-2-3-4, нижние начиная с левого переднего против часовой стрелки 5-6-7-8.
Это правильно? Контроллер АРМ 3.1 мини.

На самом контроллере приклеена бумажка с порядком моторов 1-2-3-4-5-6-7-8 ±. Почему то в реале получается, как у Х4 с чередованием. 1правый передний верхний, 2 левый задний нижний, 3 левый передний верхний, 4 правый задний нижний.
Под бумажкой порядок моторов 8-7-6-5-4-3-2-1 ±.

ssilk
Alex_from_Israel:

Под бумажкой порядок моторов 8-7-6-5-4-3-2-1 ±.

Правильный на бумажке… Это они с корпусом лоханулись, не там напечатали…

koder76

Вот за это спасибо! А то я ни как догнать не мог почему у меня моторы на 5 6 7 8 работают. Думал глюк, а это китайцы на коробочке перепутали оказывается 😃

Alex_from_Israel

С нумерацией разобрался, но вопрос тот же. Порядок нумерации моторов не изменился в последней прошивке?Подключил, как на рисунке в инструкции по АРМ, но ставить винты страшновато…

ufk

Господа, я тут раньше писал про проблему совместимости c приемником openlrs на прошивке 3.2 на pixhawk-e…вообщем попробовал я frsky, та же история, на 3.1.5 все норм работает, на 3.2 сигнала с приемника плата не видит(sbus на frsky, на openlrs ppm sum)…тоесть явно на 3.2 у меня видимо оно вообще не работает по какой то причине ни с каким приемником ни в каком режиме, в связи с чем вопрос, что это может быть и куда копать(с учетом того что на 3.1.5 все ок)?
П.с. Стандартные вещи типа полного сброса, очистки карты памяти и т.д. я делал…плата если что клон с rctimer

Alex_from_Israel
ufk:

Господа, я тут раньше писал про проблему совместимости c приемником openlrs на прошивке 3.2 на pixhawk-e…вообщем попробовал я frsky, та же история, на 3.1.5 все норм работает, на 3.2 сигнала с приемника плата не видит(sbus на frsky, на openlrs ppm sum)…тоесть явно на 3.2 у меня видимо оно вообще не работает по какой то причине ни с каким приемником ни в каком режиме, в связи с чем вопрос, что это может быть и куда копать(с учетом того что на 3.1.5 все ок)?
П.с. Стандартные вещи типа полного сброса, очистки карты памяти и т.д. я делал…плата если что клон с rctimer

Пиксхаук S-BUS не поддерживает. На разьеме S-BUS RSSI у Пикса

ufk
Alex_from_Israel:

Пиксхаук S-BUS не поддерживает. На разьеме S-BUS RSSI у Пикса

Через разъем RC поддерживает(там ppm sum или sbus автовыбор типа), и нормально работает на 3.1.5 с sbus

ufk

Решение проблемы внезапно нашлось, на rcgroups, может кому то будет полезно(в прошлый раз когда искал тишина была)…

Вообщем после прошивки надо при запуске зажать safety bottom, загрузиться, потом перезагрузить уже в нормальном режиме…проблема эта характерна как я понял для клонов pixhawk(с rctimer точно)
Вот оригинал поста с rcgroups человека с такой же проблемой:

Problem solved, was as simple as holding the safety button when booting. If I understand things correctly I had an old px4io firmware that wouldnt update at boot. Holding down the safety button forces the px4io to bootloader mode and allows the FMU to update the its firmware.

Alex_from_Israel

Исправьте пост пожалуста! У Вас вместо кнопки безопасности, получилось безопасное дно.

ufk

Не могу уже
Ночью голова не варила уже, попутал, ну да там понятно я думаю…

Alex_from_Israel

Вопрос по Х8. В МП порядок моторов и направление вращения пропов правильное. При попытке взлета переворачивается вперед. Никак не пойму в чем накосячил. Контроллер MiniAPM 3,1, на котором вроде перепутана нумерация моторов на коробке. Подключил в соответствии нумерации на бумажной наклейке.
Что самое странное, если тупо соединить моторы, как на рисунке на сайте copter.ardupilot.com с выводами контроллера, то порядок работы моторов получается совсем другой. Как на Х4 с чередованием верхних и нижних моторов. Прошивка 3.2, появилась гипотеза, что в этой прошивке изменили порядок моторов. Залил 3.1.5 - то же самое. Переставил контакты, чтобы порядок совпадал с рисунком и получил сальто при попытке взлета. В чем косяк?

raefa

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

Alex_from_Israel

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