High end Low cost Quatrocopter
Работе сонара по моему впечатлению может мешать писк моторов. Проблема у меня была с Турниги 2830. Заменил на новые, потом перешел на DT750 и на них проблемы не видел.
у меня как раз турниги 2209… вот жеж! а был полностью дволен их неубиваемостью… везде есть ложка дегтя ((
у меня как раз турниги 2209… вот жеж! а был полностью дволен их неубиваемостью… везде есть ложка дегтя ((
Вопрос не в марке,а скорее наверно в размерах. У маленьких моторов частота писка выше.
Игорь, а сколько стоит ArduIMU+ V3 и где купить можно?
То есть , сейчас можно взять плату, залить вашу прошивку и спокойно летать?
Хотел брать кролика, но вот теперь думаю.
Прочитал PDF на магнетометр 5883, дотошно прочитал. Изобразил тестовую программку для чтения в нормальном режиме и с включением положительного и отрицательного тестового поля. Ткнули осциллографом на выводы 8, 12.
Результаты таковы:
На выводах 8 , 12 с частотой приблизительно 50 Гц шлепают импульсы, которые якобы размагничивают датчик. Но при вращении ассиметрия выхода остается. Это может быть разбаланс моста, но его компенсировать как то надо. Поэтому шаманство с вращением во всех плоскостях и определение минимума и максимума остается и других идей нет пока.
Вот это тестовое поле положительное и отрицательное весьма странное, так как в этом режиме внешнее поле Земли на выход магнетометра не влияет. Выдает по всем выходам + или минус 1200-1300.
И результат.
В горизонтальной плоскости как то меряет, но при наклонах крутится на ± 50 легко. Это при том, что из DCM - матрицы углы по крену и тангажу правильные идут.
С 5843 как то летал и не задумывался, хотя траекторию полета ровной не назовешь, хотя как то не приходило в голову наклонять коптер при проверке магнетометра. И проблем особых не было, а что с этим делать? Еще проверю правильно ли знак магнетометра по вертикальной оси задан при расчетах и идеи кончились.
Игорь, а сколько стоит ArduIMU+ V3 и где купить можно?
То есть , сейчас можно взять плату, залить вашу прошивку и спокойно летать?
Хотел брать кролика, но вот теперь думаю.
Плата 78 ам.руб плюс доставка без трека 4. store.diydrones.com/…/kt-arduimu-30.htm
Думать надо. Потому что кроликом масса народа занимается и программка отрабатывается, а здесь первый тестовый вариант. Но если в программировании чуть понимаете, то с этой платой повозится интересно. Датчики хорошие.
Недостаток этой платы в том, что свободных выводов мало. Мало того выходы на два мотора берутся с резисторов. Для подключения датчиков есть еще пара входов чисто АЦП и один цифровой вывод. Остальное по I2C.
Себе я эту плату купил, чтобы с новыми датчиками разобраться пока АРМ 2.0 ехала.
Понятно. Буду думать.
Я правильно понял, у вас свой отдельный форк MultiWii , скрещенный с ArduCopter? Мне кажется вы пошли не очень правильным путем, по двум причинам: одному человеку трудно будет портировать все новые фишки, которые добавляет сообщество разработчиков, и все ваши разработки также останутся недоступны сообществу, если сильно уйдете в сторону.
Я также любитель поковыряться с программой и добавить что то новое, но к вашему проекту не присоединюсь именно по этой причине - не стоит плодить столько клонов. Но ничто не мешает, конечно, советоваться и брать рабочиее решения друг у друга.
Я так понял что это более продвинутая версия Адруины.
одному человеку трудно будет портировать все новые фишки, которые добавляет сообщество разработчиков, и все ваши разработки также останутся недоступны сообществу, если сильно уйдете в сторону.
Таймкоп в пример) портировал multiwii на платформу stm8\32 ,уже набил оскомину)
Главное что если будет положительный эффект, доступное железо и простота софта , то сразу появится куча желающих что-то ковырять в коде ,прикручивать новые сенсоры, сонары и почее г, равно как и летчиков испытателей))
Я сам занимаюсь Arducopter ом. В начале прошлого года была программа ArducopterNG к которой я дописал свой автопилот. Меня интересовал полет в автоматическом режиме. И программку потихоньку довел. Заодно разобрался как все работает. При появлении АРМ 2 решил , что мне пора переходить Arducopter 2.0
Поскольку АРМ 2 долго не ехал купил ArduIMU+ V3и начал изучать датчики. Гироскопы понравились. Они получше, чем в АРМ 1. Понадобилось попробовать влияет ли качество гироскопа на реальный полет. Для этого взял DCM матрицу и алгоритм стабилизации из проекта Арду к этому добавил обработку сигналов приемника от МультиВии и соответственно вывод на моторы из МультиВии. В результате получилась программка, которая летает. Можно было это сделать и чисто на МультиВии, но DCM матрица мне ближе. Подключать к этому дальше датчики смысла нет, так как АРМ 2 стоит $200 и существенно интереснее.
Поэтому это не проект, а просто результат работы куски из которой можно использовать. Или в целом виде, если кому нибудь такое нужно. Можно при желании переделать под железки МультиВии. Но это если кому-то нравится DCM матрица.
Алгоритм обработки датчиков и расчета управляющих сигналов взят из более серьезного проекта и вставлен в Атмегу 328.
Ну а далее попробовать сделать так , чтобы летало не хуже NAZA, но это если получится. Сейчас разбираюсь с магнетометром и барометром в АРМ 2. И если удастся написать простой алгоритм стабилизации по высоте по барометру и акселерометру, можно будет прицепить баро и летать как NAZA , но может и не получится, так как ВМР085 не подойдет по причине низкой точности, а будет ли в ближайшее время что то хорошее и дешевое непонятно. Второе - может элементарно не хватить мощности процессора для обработки.
Так вроде стабилизации по барометру и по компасу есть (в той или иной версии работоспособности) во всех проектах? Я из-за недостатка времени только MultiWii пробовал, но он понравился сразу продуманностью кода, то что полетел сразу же без плясок с бубном, с 9 DOF сенсорами. Все, что надо - там есть уже, дальше можно тольк улучшать понемногу. Если вы следите за официальным форумом, там сейчас в разработке много интересных нововведений, и это здорово когда можно полностью сосредоточился на каком-то куске кода и в то же время не пропустить что то важное (ошибки или улучшения) сделанные другими.
Так вроде стабилизации по барометру и по компасу есть (в той или иной версии работоспособности) во всех проектах? Я из-за недостатка времени только MultiWii пробовал, но он понравился сразу продуманностью кода, то что полетел сразу же без плясок с бубном, с 9 DOF сенсорами. Все, что надо - там есть уже, дальше можно тольк улучшать понемногу. Если вы следите за официальным форумом, там сейчас в разработке много интересных нововведений, и это здорово когда можно полностью сосредоточился на каком-то куске кода и в то же время не пропустить что то важное (ошибки или улучшения) сделанные другими.
Компас почти у всех 5883L. А к нему у меня вопросы.
Если взять DCM матрицу, то с нормальными датчиками при повороте коптера с допустимой угловой скоростью по любой оси матрица мгновенно выдает текущее состояние (углы по осям). С магнетометром если вращать в горизонтальной плоскости, то более менее, а по другим осям смотреть на результаты грустно. А по углу вращения вокруг вертикальной оси других данных нет. И гироскопы подстраивать не по чему.
По барометрам- ВМР085 дает большие шумы и высота, рассчитанная по баро гоняет коптер по вертикали и точного удержания не получить. Усреднение (медианный фильтр) не очень здорово, так как сигнал идет с запозданием. Полгода тому, я возился с этой проблемой , но бросил потому что в конечном итоге за 10-20 минут высота измеренная по баро уползала на 2 метра. Поэтому поставил сонар - сначала МВ 1200, а потом МВ1260 и до восьми метров от земли начал мерять с точностью до нескольких сантиметров. С появлением 5661 к этой проблеме вернулся.
Для нормального управления коптером в любой момент времени надо знать его положение.
А теперь для чего это мне.
Хочу чтобы коптер летал быстро. Сейчас он у меня летает с наклоном до 45 град. И при этом хорошо себя чувствует. Скорость пока на длинных пролетах не мерял, но на 40 метрах до 15 м/сек разгоняется легко. На более длинных участках будет больше 20 м/сек.
С быстпыми подъемами проблем ни у кого не было. Со спусками сложнее. Последнее решение линеаризовать характеристику регулятора. После этого введения на спуске раскачиваться перестал.
Далее винты у меня на коптере не останавливаются, а обычный диапазон управления таков , что это очень вероятно. В Арду ограничение по управлению наклоном ±250 мкс плюс к этому -60 на спуск. Крутизна характеристики на начальном участке регулятора в 2-3 раза ниже. При перевороте кверху ногами у меня газ тут же сбрасывается, дабы не шел на полном ходу в землю. И куча других мелочей.
Поэтому , учитывая что в Арду любые данные есть в удобном виде, мне он и понравился. И матрица за это нравится, что не надо напрягать мозги реализуя какую то очередную бредовую идею.
Существенный момент тот что в Арду пишется лог и потом если полетел не так можно выяснить почему. И здесь вывод углов вместо условных величин упрощает анализ, особенно если кувыркнулись.
Вот поэтому и взялся за эту платку и реализовал эту идею. А времени ушло на это - неделя по вечерам. И все равно это время потратил бы разбираясь с датчиками. А потом выяснить что существенно, а что не очень тоже не просто. Так по моему теперешнему пониманию - качество гироскопов больше влияет на виброустойчивость. А далее для получения эффекта от хороших гир серьезно надо возится и при желании за счет этого можно компенсировать медленные акселерометры и их шумы. И так далее.
Вот иллюстрация тех проблем которые пытаюсь решить
Лог полета 30 мая прошлого года . Погода тихо без ветра. Три пролета по маршруту на одном заряде. Маршрут - на юг от точки старта на 20 метров и два пролета по квадрату 20 на 40 метров. Далее команда возврат в точку старта. И так три раза. По шкале времени 1 соттв. 0,2 сек. Достигнув точки висим 10 сек.
Кино одного из пролетов.
Лог высоты
Хотелось бы чтобы коптер летал оченб резво но прямо. Направление не выдерживает из-за магнетометра. С высотой в данном случае не настроен и сильно проваливается но проблема не единственная. А так автомат полный.
Компас почти у всех 5883L. А к нему у меня вопросы. Если взять DCM матрицу, то с нормальными датчиками при повороте коптера с допустимой угловой скоростью по любой оси матрица мгновенно выдает текущее состояние (углы по осям). С магнетометром если вращать в горизонтальной плоскости, то более менее, а по другим осям смотреть на результаты грустно
В мултиви сейчас компас работает удовлетворительно, гляньте как там сделано. Я с компасом не разбирался ещё детально, т.к. GPS пока не планирую, а удержание ориентации по YAW он выполняет с незначительным дрейфом, что не сильно страшно. На форуме multiwii.com есть тема, где человек добился существенно более высокой точности при калибровке, говорит что достаточно для GPS. Может появится в следующей прошивке.
А по углу вращения вокруг вертикальной оси других данных нет. И гироскопы подстраивать не по чему.
По другим осям он и не нужен, есть акселерометр. Компасс только для YAW.
По барометрам- ВМР085 дает большие шумы и высота, рассчитанная по баро гоняет коптер по вертикали и точного удержания не получить. Усреднение (медианный фильтр) не очень здорово, так как сигнал идет с запозданием. Полгода тому, я возился с этой проблемой , но бросил потому что в конечном итоге за 10-20 минут высота измеренная по баро уползала на 2 метра. Поэтому поставил сонар - сначала МВ 1200, а потом МВ1260 и до восьми метров от земли начал мерять с точностью до нескольких сантиметров. С появлением 5661 к этой проблеме вернулся.
Да, на прошлой неделе тоже с ним возился - выдает ужасные результаты, но у меня плавает с выключенными двигателями не так страшно, ± 0.5м. Я написал PID-регулируемый фильтр с подключением гир и акселерометра для опеределния точного ускорения, скорости и смещения по Z, а также PID-регулятор высоты. Но пока опробовать на практике не могу, только в теории + понаблюдать в GUI. Если то, что показывает GUI, правда, и оно сохранится с включенем моторов, то барометр будет работать очень неплохо, даже такой хреновый как BMP085. А с хорошим барометром и сонар не нужен. Если вкратце, то что я делаю, позволит:
- держать высоту с любым углом наклона коптера (до 60гр.) и с любыми горизонталными ускорениями и перемещениями
- агрессивно держать нулевую скорость (то, что так любфт демострировать, резко пихая коптер вниз. Хотя в полете такие возмущения крайне маловероятны)
- маневрировать по высоте, не выключая режим удержания высоты.
- автоматически подстраиваться под “уплывания” акселя по оси Z (я такого у себя не видел, но многие жалуются)
Сонар я тоже планирую пркрутить, правда недорой за 4$. (он меряет до 4 метров и довольно глючный, плохо ведет себя когда теряет сигнал - так что не знаю, будет ли от него польза). Напишите подробней по своему опыту и результатм - насколько сонар чувствителен к наклонам, к поверхности, и есть ли видео его работы на удержание высоты?
Последнее решение линеаризовать характеристику регулятора
Поясните подробней суть проблемы и ваше решение.
У вас коптер летает по программе. Программа зашита в мозги или удаленно передается? Если зашита то как обновляется? И я так понял у вас GPS? Иначе отследить положение невозможно
Вот ролик полугодичной давности от разработчика multiwii:
Так что у нее со стабилностью тоже все в порядке 😃
но может и не получится, так как ВМР085 не подойдет по причине низкой точности
vot alternativa ВМР085
pravda price ne smotrel…
vot alternativa ВМР085
pravda price ne smotrel…
www.kosmodrom.com.ua/el.php?name=MPXH6115AC6U это примерно 7 баксов
Почитаю даташит на альтернативу ВМР085, но там может быть ньюанс со скоростью реагирования на изменение высоты. За подсказку спасибо.
По сонару - в матрице DCM [2][2] косинус углла отклонения от вертикали. На него умножается результат измерения.
Программа автопилота в памяти. Точки записываются в ЕЕРROM в виде смещения от точки старта по горизонтали и вертикали, высоты и скорости полета (чтобы не носился как угорелый).
Вот тут полетали при ветре и под дождиком. Полет сначала в полуавтомате- высота по сонару, по горизонтали держит ЖПС, а стиками изменяем точку удержания. С 45 сек пытаемся лететь в автомате. (газ в автомате 1450 мкс) При полете к первой точке коптер должен был подняться на 5 метров. Ветром его швырнуло вверх, коптер сбросил газ на -60 мкс и интегральная составляющая чего-то добавила и в результате регулятор начал работать в нелинейной области. Коптер остался цел. Один винтик пострадал. При более слабом ветре не падал, хотя раскачивался.
Магнетометр в МультиВии посмотрю и отпишусь.
Оказалось увлекательное занятие 9 осей правильно взаимно расположить. В результате магнетометр начал работать с ошибкой меньше 15 град при наклонах. А при хороших гироскопах и акселерометр не очень нужен.😃
интегральная составляющая чего-то добавила и в результате регулятор начал работать в нелинейной области
takie kosyaki bivayut iz za perepolneniy peremennih… po krayney mere v multiwii v PID regulyatorah mnogo gde ispolzuetsya int16_t… potomu nado ostorozhno i vnimatel’no…
odin v odin poluchil kuvirok imenno iz-za perepolneniya peremennoy v PID regule…
takie kosyaki bivayut iz za perepolneniy peremennih… po krayney mere v multiwii v PID regulyatorah mnogo gde ispolzuetsya int16_t… potomu nado ostorozhno i vnimatel’no…
На этом коптере стоят у меня перемотанные DT750 с 1000 об/вольт, поэтому регуляторы работают на начале характеристики (газ висения 1450). До этого с этой же электроникой летал на другом коптере , где газ висения был 1560 мкс и проблем не было. После линеаризации проблемы исчезли. К тому же поставил ограничение снизу, чтобы моторы не останавливались
По сонару - в матрице DCM [2][2] косинус углла отклонения от вертикали. На него умножается результат измерения
Я тоже сначала так хотел сделать, но думаю все же правильно не учитывать угол наклона, или учитывать но с поправочными коэффициентами - сонар излучает расхоящийся пучек и все равно первым вернется импульс, перпендиклярный поверхности. Опыт подтвердил, что малые углы наклона не виляют на расстоянияе.
А полет по точкам - это уже очень сложно, думаю тут десяток крашей при отладке гарантирован. Но я пока не понимаю какя польза от того что коптер научится летать по программе?
Я тоже сначала так хотел сделать, но думаю все же правильно не учитывать угол наклона, или учитывать но с поправочными коэффициентами - сонар излучает расхоящийся пучек и все равно первым вернется импульс, перпендиклярный поверхности. Опыт подтвердил, что малые углы наклона не виляют на расстоянияе.
tut da, vse pravilno… rashodyaschiysya luch… ya eto tozhe zametil, cho nakloni do ~20-ti gradusov ne vliyaut na pokazaniya sonara… + videl podobnuyu korrektirovky v arducopterNG, no po defoltu ona otkluchena vidimo po etoy zhe prichine
А полет по точкам - это уже очень сложно, думаю тут десяток крашей при отладке гарантирован. Но я пока не понимаю какя польза от того что коптер научится летать по программе?
dlya menya aktualen rezhim ALYARM! GO HOME! 😃
potomu GPS budu brat’ kak min dlya etogo…
Я тоже сначала так хотел сделать, но думаю все же правильно не учитывать угол наклона, или учитывать но с поправочными коэффициентами - сонар излучает расхоящийся пучек и все равно первым вернется импульс, перпендиклярный поверхности. Опыт подтвердил, что малые углы наклона не виляют на расстоянияе.
А полет по точкам - это уже очень сложно, думаю тут десяток крашей при отладке гарантирован. Но я пока не понимаю какя польза от того что коптер научится летать по программе?
Дотошно как меряет сонар не исследовал. Но при полетах над асфальтом с лежащим полицейским на полицейским подпрыгивает. При наклонах не подпрыгивает. Второе 20 градусов наклона для полета в автомате мало. У меня один раз коптер сдуло несильным ветром и час на поле искал. У меня разрешенный угол для управления автоматом ± 45 градусов и до 50 по диагонали.
При отработке автомата падал не меньше сотни раз, но с маленькой высоты. Поломано десяток винтов и несколько лучей.
dlya menya aktualen rezhim ALYARM! GO HOME! 😃
potomu GPS budu brat’ kak min dlya etogo…
Между нормальным возвратом домой и полетом в автомате практически нет разницы. Вместо дома подставляете путевые точки. Одно из применений автомата - видеосъемка. Коптер летит по заданной программе, а пилот может немного подруливать и сосредоточиться на видеосъемке.