MultiWii - обсуждаем и отлаживаем Alt Hold
альхолд как я понимаю игнорит газ, а тут надо чтобы вниз - игнорил, а вверх поднимался, пока низко находимся
Можно управлять не газом ,а заданной высотой (полуавтоматический режим)
а с другой стороны - какова вероятность что сигнала долго нет из-за глюка/поверхности?
Вероятность большая. Например при определенном угле наклона сигнал уже не вернется. Ещё mahovik говорил, что шум моторов может сонар забивать (может на какой-то резонансной частоте, непредсказуемо). Так что тут однозначно нужна связка сонар+баро.
AltHold может управляться газом, но по другому алгоритму (подстройка высоты идет, а коптер старается ей соотвествовать). Но в данном случае подстраивать вниз нельзя, а вверх можно сколько угодно резко, так что этот режим - не AltHold.
А если сделать такой режим, что до X высоты летем как хочешь, ниже X - огранчиваем скорость снижения, напрмер 10см/сек. Тогда и посадка возможна без выхода из этого режима, и большие просчеты пилотирования будет время скорректировать.
как вариант можно ограничить угол наклона на малой высоте, что уменьшит скорость (опасно гонять у земли) и не даст пропасть сигналу из-за сильного наклона
опять же как вариант: повесить 2 сонара под углом (например 10*) и поочередно их мучить - это конечно усложнит конструкцию, но добавит надежности и при наклонах и при потери сигнала
скорость снижения сложно сделать 10см/сек, при том что баро показывает ±1м, а сонар может врать или вообще пропадать
Выложил все наработки, все протестировал в GUI.
code.google.com/p/multiwii-alexmos/…/browse/?r=15#…
Улучшения:
- Мягкий старт - сенсоры согласуются сразу при инициализации и не требуется время на стабилизацию
- Автоматическая подстройка внутреннего PID-регулятора сенсоров
(позволяет автоматически усилить влияние акселерометр в случае его корректной работы, и быстрее корректировать его ошибку в случае некорректной) - Более точная процедура калибровки акселерометра по 3-м осям (для улучшения точности удержания высоты в движении + для улучшения полетов в level mode)
www.multiwii.com/forum/viewtopic.php?f=7&t=1247 - Настраиваемая коррекция газа по углу наклона (как в ардукоптере, для улучшения точности удержания высоты в движении) - THROTTLE_ANGLE_CORRECTION
- улучшен алгоритм управления высотой в режиме AltHold по стику газа (более плавный чем был)
- плавный переход с сонара на барометр на заданной высоте (начиная с SONAR_MAX_DISTANCE - 1м)
- добавлен коэффициент усиления Alt PID при использвании сонара - SONAR_BARO_PID_GAIN (для более агрессивной стабилизации при полете по сонару)
- улучшен алгоритм авто-калибровки акслерометра в полете (теперь калибруется по всем 3-м осям, а не только по Z, что дает бОльшую точность AltHold в движении)
- в теории эту автокалибровку можно брать и для level-mode, даже если не включен AltHold.
А вот и тесты новой версии:
www.youtube.com/watch?feature=player_detailpage&v=…
www.youtube.com/watch?v=nuJkHBdoO3U&feature=player…
После подстройки PID сонар работает просто идеально: высоту держит ±5 см и стабилизируется за 2-3сек без осцилляций вообще.
По барометру вроде тоже неплохо, в пределах расчетного метра и тоже без осцилляций.
А вот и тесты новой версии:
Судя по видео Супер.Алексей,а не могли бы вы выложить готовую прошивку,так сказать для простых смертных)))
А вот и тесты новой версии:
не, всё… завтра впаиваю bmp085 и сонар и то же так попробую (нашел заначку с пропами - 2 пакета - ^_^ можно экспериментить снова)
Выложил все наработки, все протестировал в GUI.
code.google.com/p/multiwii-al...unc%2FMultiWii
или я чето не то делаю или у меня косяк с DNSками
$ svn checkout multiwii-alexmos.googlecode.com/svn/trunk/ multiwii-alexmos-read-only
svn: E170000: URL ‘multiwii-alexmos.googlecode.com/svn/trunk’ doesn’t exist
upd: скачалось… транк надо было стереть
не могли бы вы выложить готовую прошивку
nekaka.com/folder/view/fflQygFI - папка с multiwii вещами и ссылка на прошивку nekaka.com/d/goCWk9pImD
Я сделал zip-архивчик, для тех у кого нет svn: code.google.com/p/multiwii-alexmos/…/detail?name=M…
этот конфиг я заливаю себе. Только я закоментил сонар (навряд ли у кого он есть) и отдладку в GUI. Все остальное “нестандартное” подписано в config.h
Кстати сонар я брал у этого продавца: www.ebay.com/itm/280778106586 (цена вопроса 4$ с доставкой), взял 4 штуки про запас все рабочие.
Совет: откалибруйте акселерометр по моему алгоритму www.multiwii.com/forum/viewtopic.php?f=7&t=1247 (повернуть и откалиброватья по всем 6-ти направлениям), и проверьте что в GUI с него действительно идут даные 255 (±5) в предельных положениях для всех осей.
И очень желательно тестировать “с рук” для начала, т.к. толком не протестил все, а разные сетапы могут себя вести непредсказуемо (особенно это касается акселерометра). У меня он почти не уплывает со временем, и мало плывет от вибраций, поэтому его показания позволяют сильно повысить точность стабилизации.
Кстати, с сонаром посадка намного упрощается. И раньше проблем не было благодаря моду ThrottleExpo, но теперь в режиме AltHold как перышко опускается 😃 С барометром так не прокатывает - все таки подкидывает немного возле земли из-за более слабых настроек PID.
На видео видна разница.
После подстройки PID сонар работает просто идеально: высоту держит ±5 см и стабилизируется за 2-3сек без осцилляций вообще. По барометру вроде тоже неплохо, в пределах расчетного метра и тоже без осцилляций.
Алексей, если не трудно впиши свои демо-ПИДы в EEPROM.pde или выложи их сюда pls…
Я сделал zip-архивчик, для тех у кого нет svn: code.google.com/p/multiwii-alexmos/…/detail?name=M…
этот конфиг я заливаю себе. Только я закоментил сонар (навряд ли у кого он есть) и отдладку в GUI…
это вы зря)) я как раз ждал когда ж появится поддержка) сонар лежит) служба идет) точнее кролик идет)
дособеру большую раму, обязательно проверю)
www.ebay.com/itm/200659774649?ru=http%3A%2F%2Fwww.…
такой брал, для ушастого. )5 ног.
У меня он почти не уплывает со временем, и мало плывет от вибраций, поэтому его показания позволяют сильно повысить точность стабилизации.
- bma180 хорош однозначно и резолюшн можно поднять до +/-16g и точность 256 на 1g еще останется, чего вполне достаточно… + температурный сенсор (и корректировка по нему) внутри…
- bma020 при 8g дает всего 64 единицы на 1g… маловато…
- adxl345 резолюшн дает хороший, но поплывет на морозе (уже приехал… все никак не впихну)
Если в дачике настроен фильтр 25Hz, разве из этого следует, что в течение 40мс показания не меняются с него? Это как взять слегка размытую картинку (Гаусс ~ LPF) и разбить на большие пиксели - разница все равно будет заметна глазу.
посмотрел датаршит на adxl345 (7-я таблица)… как и говорил, количество самплов всего в два раза выше чем полоса пропускания… т.е. по 2 сампла на герц…
по bma180 надо смотреть, не удивлюсь если там также…
бегло посмотрел код:
- Помнишь говорили про “раскрытие скобок”? походу ошибка все еще там 😉
- BaroSonarDiff думаю стоит повесить на старт движков, т.к. за пару мин. баро может уплыть на 1…3 метра, а взлетов-посадок обычно несколько на одной батарее…
- в последней дев. прошивке есть улучшайзер для бмп085, также вот тут чел запостил изменения по драйверу баро
www.multiwii.com/forum/viewtopic.php?f=7&t=363&sta…
как мин. усреднение температурного сенсора точно можно взять, т.к. этот параметр меняется очень медленно… думаю уменьшит шум по баро…
Я сделал zip-архивчик, для тех у кого нет svn: code.google.com/p/multiwii-al...q=#makechanges
этот конфиг я заливаю себе. Только я закоментил сонар (навряд ли у кого он есть) и отдладку в GUI. Все остальное “нестандартное” подписано в config.h
Слежу за этим проектом в основном из за сонара, лежит в пакетике уже несколько месяцев и ждет своего часа, похоже он настал.
Хотелось бы попробовать прошивку с полностью задействованным сонаром,а также как попросил mahowik демо-ПИДы в EEPROM.pde, и если можно подробней про точную калибровку акселя, по ссылке не очень понятно.
Да, самое главное забыл 😃 Мои PID для Alt: P=10, I=0.05, D=10.
Можно начать с таких, это первое, что я поставил, и оно заработало.
(в этом PID D пропорционально P, так что если увеличиваете P, D можно не трогать).
Vel PID не используется, можно их не крутить.
Ещё в конфиге SONAR_BARO_PID_GAIN 1, что дает удвоение отклика PID при работе сонара.
Хотелось бы попробовать прошивку с полностью задействованным сонаром,а также как попросил mahowik демо-ПИДы в EEPROM.pde, и если можно подробней про точную калибровку акселя
Сонар в config.h включается, просто раскоментируйте #define SONAR
Тогда с тестами не спешите, я напишу инструкцию на русском, как все правильно настроить и проверить перед полетом (а то уже человек пожаловался, что в небо улетел 😃
- Помнишь говорили про “раскрытие скобок”? походу ошибка все еще там
Вряд ли - я достаточно долго в GUI гонял, пробовал и разные формулы, сейчас принцип корректировки самый верный.
посмотрел датаршит на adxl345 (7-я таблица)… как и говорил, количество самплов всего в два раза выше чем полоса пропускания… т.е. по 2 сампла на герц…
У меня стоит в плане попробовать уменьшить частоту до 20…50Hz и сравнить две версии. Но это не совсем просто, так надо будет по новой найти все коэффициенты при интеграторах.
- BaroSonarDiff думаю стоит повесить на старт движков, т.к. за пару мин. баро может уплыть на 1…3 метра, а взлетов-посадок обычно несколько на одной батарее…
Не принципиально. При старте системы на земле, 100% рабоатет сонар, а барометр корректируется по нему за пару секунд (LPF, стоящий на разницу, совсем слабый - только чтобы шум барометра сгладить).
в последней дев. прошивке есть улучшайзер для бмп085, также вот тут чел запостил изменения по драйверу баро
www.multiwii.com/forum/viewto...tart=130#p9159
как мин. усреднение температурного сенсора точно можно взять, т.к. этот параметр меняется очень медленно… думаю уменьшит шум по баро…
В планах стоит смержиться с последней версией, но пока она dev - много ошибок находят, подожду релиза.
На оф. форуме у marbalona на обном барометре очень крутая стабилизация. Я слежу за веткой.
PS: Если хочешь, создам branch в svn чтобы ты мог тоже править исходники. А то ты свои редко выкладываешь, но некоторые вещи интересно посмотреть.
Эххх, вот бы надо пиратом такая же команда работала… а то походу я там вообще один остался 😦
Эххх, вот бы надо пиратом такая же команда работала… а то походу я там вообще один остался
когда то и с пиратом так было =)
Эххх, вот бы надо пиратом такая же команда работала…
Так на пирате это все уже работает. Я, кстати, сегодня подлетнул на 2,4. В комнате. Поднял на пол-метра и сел. Места мало
- в последней дев. прошивке есть улучшайзер для бмп085, также вот тут чел запостил изменения по драйверу баро
www.multiwii.com/forum/viewtopic.php?f=7&t=363&sta…
как мин. усреднение температурного сенсора точно можно взять, т.к. этот параметр меняется очень медленно… думаю уменьшит шум по баро…
Попробовал улучшайзер. У меня не помогает, правда стоит усреднение по 4 измерениям. Пришел к выводу что MS5611 все легко и просто , а с 085 ±1 метр в самом хорошем случае. Я с ним применял сонар МВ1200 . Он меряет до 7 метров по паспорту и до 5 обычно без проблем . И это позволяло в автомате летать на любой высоте.
Сделал инструкцию для тестеров: rcopen.com/blogs/97312/13713
Я по поводу сонара. А что если его на 2-х микросервах повесить? Чтобы всегда строго вниз смотрел. Типа подвеса камеры.
Углы известны, но 2 свободных пвм выхода арду нужны.
А управление сервами тупо пропорционально углам наклона по крену и тангажу.
в multiwii и так есть вход на сервы для 2х осей pitch и roll для подвеса камеры, я это в megapirate предлагал, но не помню почему так и не сделал
Я по поводу сонара. А что если его на 2-х микросервах повесить? Чтобы всегда строго вниз смотрел. Типа подвеса камеры.
Это безусловно будет работать, но во первых сложно - фактически двухосевой подвес делать надо, во вторых на ProMini (и других ардуинах на этом чипе) уже ноги закончились 😃 а MultiWii все таки ориентироан на такие простые платки. Сонар терпимо держит углы до 20-30 градусов, думаю этого хватит с учетом того что барометр страхует. Опять же, есть сонары с бОльшей диаграммой направленности. Я не сильный их знаток, но если есть дорогие сонары - то и работают наверное лучше.