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

Syberian
igor_v_t:

не могу разобраться с калибровкой магнетометра HMC-5883L. То есть не понимаю алгоритма калибровки. Может кто то может объяснить на пальцах?

самый правильный алгоритм - крутить магнетометр по всем осям, засекать минимальные и максимальные показания по каждой оси и выравнивать их: Moff=(Mmax+Mmin)/2; M=Mraw-Moff
В ардукоптере используется какой-то странный метод, когда крайние отклонения предсказываются из частичных с учетом показаний IMU. Работает 50/50.

alexeykozin:

почему высоту не держит в альтхолд

Ключевое слово propwash.
Хоть супер-пупер крутой баро поставь - если на него попадает или 1) отраженный поток от винта, или 2) зона вакуума над винтом, или 3) невообразимая каша из потоков, разрежений и резонансов 4 и более винтов, что обычно и бывает в действительности

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

З.Ы. что-то я темы попутал 😃

Covax
igor_v_t:

Единственное, как то не могу разобраться с калибровкой магнетометра HMC-5883L. То есть не понимаю алгоритма калибровки. Может кто то может объяснить на пальцах?

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

Gurdzhy
Syberian:

Ключевое слово propwash.
Хоть супер-пупер крутой баро поставь - если на него попадает или 1) отраженный поток от винта, или 2) зона вакуума над винтом, или 3) невообразимая каша из потоков, разрежений и резонансов 4 и более винтов, что обычно и бывает в действительности

  • удержания высоты не жди.

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

Syberian:

Баро в идеале надо подключать к трубочке, на нее - большую поролоновую грушу, и на стойку мин. 10 см над винтами.

Что -то я на назе и вуконге не замечал поролоновых груш на мачте - как они работают?

Covax
Gurdzhy:

Что -то я на назе и вуконге не замечал поролоновых груш на мачте - как они работают?

  1. умный код плюс точный баро 2. два баро + умный код
    Т.е. без умного кода, который бы интерпретировал показания баро в сигналы моторов ну никак не обойтись 😃
Gurdzhy
Covax:
  1. умный код плюс точный баро 2. два баро + умный код
    Т.е. без умного кода, который бы интерпретировал показания баро в сигналы моторов ну никак не обойтись 😃

Сергей, дык понятно что дело в коде! Какие в опу груши!)))

igor_v_t
Syberian:

самый правильный алгоритм - крутить магнетометр по всем осям, засекать минимальные и максимальные показания по каждой оси и выравнивать их: Moff=(Mmax+Mmin)/2; M=Mraw-Moff

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

Covax

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

igor_v_t
Gurdzhy:

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

Рекомендуют вату положить на баро. BMP085 шумит на пару метров и показания уходят на 2 метра в течении короткого времени, когда стоит на столе. Поэтому о точности лучше 2 метров говорить не приходилось. А с новым надо пробовать и если реально в 4-5 раз лучше то это будет очень хорошо.

ReGet

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

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

Covax
ReGet:

Меня платформа арду совершенно устраивает, как любителя доделывать все вещи “под себя” и только потом использовать для чего-либо полезного

+1, у меня она полигон для экспериментов, если че на самолет уйдет 😃

Sir_Alex
Covax:

При всем уважении к разработчикам ардукоптеров, к сожалению, у них любительский подход к коду… летает как бы и ладно, переписывывают код два раза на дню, именно переписывают, ну где это видано вообще…

Ничего они не переписывают. Точнее переписывают, но не потому что плохо работает, а потому что готовят код под новую платформу (APM2 и ARM). Сколько я занимаюсь проектом, никаких кардинальных переделок там не было, ну правят баги ну и что?
По поводу баро… только на одном баро нельзя сделать точное удержание высоты, когда сам баро метра под 2 точностью + воздушные потоки от пропеллеров. В Назе могли совместить баро с акселем, что то же есть в Арде, но пока в режиме отладки/тестирования. Кстати, лично у меня, точность MS5611 - метр и причем показания плывут со временем (а значит высота базы то же плывет, т.к. инициализируется при старте), по ссылке высота по MS5611, платы лежащей на столе (по времени, минут 5)
Лично мне нравится, как написан код АрдуКоптера, по большей части все понятно и логично, а сейчас еще и комментариев добавили ко всем глобальным переменным. 😃 Хотя с другой стороны, иногда кажется что они затыкают дыры изначально непродуманные.

igor_v_t
ReGet:

Преимущество Арду: в открытом исходном коде и цене.
😃

Я сам большой поклонник Арду, но если не править код и не доводить под себя то не все так хорошо как хотелось бы всем. Достоинство то , что программа простая и вносить изменения легко. После того как изрядно поковырялся летает очень даже ничего. Режимов много и все их отработать не так то просто. Сейчас после перехода на более качественные датчики есть надежда, что будет еще лучше, но после отработки.

Covax

Алексей, вот обьясни, почему в 1.0.49 прошивке у баро bmp085 показания (не raw, а в планере) скачут плюс минус пол метра в помещении, а в 2.1 там же в помещении плюс минус 3 метра?

alexeykozin
igor_v_t:

Рекомендуют вату положить на баро. BMP085 шумит на пару метров и показания уходят на 2 метра в течении короткого времени, когда стоит на столе. Поэтому о точности лучше 2 метров говорить не приходилось. А с новым надо пробовать и если реально в 4-5 раз лучше то это будет очень хорошо.

так тест был уже на новой плате фиолетовой, там вместо бошевского барометра MS5611-01BA03
потоки создаваемые винтами безусловно должны влиять на баро даже когда одно отверстие в герметичном корпусе снизу, но в режиме зависания на высоте 5м и 7м винты должны одинаково влиять на барометр и сооветственно ухода быть недолжно, либо в коде бага либо пид какой надо настраивать, телеметрия нужна чтоб понять в самом деле ли он считает будучи на 7 метрах что он на 5 или ему пофиг на альтеррор в 2 метра
в первом (маленьком пилоте) например барометрическую высоту в пропорции смешивали с высотой по жпс, что имхо бред жпска может врать по высоте метров на 200 и показывать при этом чудесные DOP и CNR
вот пример, на высоте 5 этажа жпс показывает -80 метров под уровнем моря

Sir_Alex
Covax:

Алексей, вот обьясни, почему в 1.0.49 прошивке у баро bmp085 показания (не raw, а в планере) скачут плюс минус пол метра в помещении, а в 2.1 там же в помещении плюс минус 3 метра?

Понятия не имею, 2.1 я не смотрел, портирование начал сразу с 2.1.1 Альфа, а сейчас 2.2, особой разницы в код 085 не заметил. Зато заметил, что MS5611 не имеет никакого фильтра, так что, пока его не добавят - будет высота плавать хорошенько.
Как я уже говорил, сейчас проблемы вылазят из за переделок прошивки под новую APM2 и подготовкой под ARM. Просто надо перетерпеть этот период.

alexeykozin

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

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

igor_v_t
alexeykozin:

так тест был уже на новой плате фиолетовой, там вместо бошевского барометра MS5611-01BA03
потоки создаваемые винтами безусловно должны влиять на баро даже когда одно отверстие в герметичном корпусе снизу, но в режиме зависания на высоте 5м и 7м винты должны одинаково влиять на барометр и сооветственно ухода быть недолжно, либо в коде бага либо пид какой надо настраивать, телеметрия нужна чтоб понять в самом деле ли он считает будучи на 7 метрах что он на 5 или ему пофиг на альтеррор в 2 метра
в первом (маленьком пилоте) например барометрическую высоту в пропорции смешивали с высотой по жпс, что имхо бред жпска может врать по высоте метров на 200 и показывать при этом чудесные DOP и CNR
вот пример, на высоте 5 этажа жпс показывает -80 метров под уровнем моря

Про то что плата новая я понимаю. Дырочка не годится. Нужен именно кусок ваты, чтобы дуло со всех сторон, но поток основательно тормозился и оставалось одно давление. Алгоритмы действительно кривоваты. Я летаю с сонаром и баро МВ1260. До 8 метров сонар работает хорошо. Алгоритм достоверности показаний сонара из ArducopterNG. При недостоверном сонаре или после 8 метров переход на баро. При этом Пиды на баро в два раза ниже, чтобы не дергалось сильно. Но из-за больших шумов ВМР085 все равно сильно гоняет по высоте. Действительно без телеметрии и лога с нужными параметрами настроить невозможно. На ArducopterNG могу вписать что угодно, а с новой программой пока не разобрался, поэтому вникнуть надо. Пока что вожусь с магнетометром. Он тоже плохо работает при наклонах коптера и поэтому в автопилоте прямая превращается в дугу. Работы по доводке очень много и не всегда есть время и настроение.

Alex27111972
Sir_Alex:

Просто надо перетерпеть этот период.

“Золотые слова, Юрий Венедиктович!” (Наша Раша)

igor_v_t
alexeykozin:

а что за баро такой ? МВ1260
может опечатка?

Сонар это. Диапазон 0,2-10 метров. Разрешение 1 см Хорошо работает на земле, асфальте, низкой траве. Плохо на высокой