Кому лимон?
Вот, собственно, про ПИДы. Сколько их должно быть всего? А сколько степеней свободы у летательного аппарата, плюс к тому, сколько у него органов управления. Для дрона три оси перемещательных, три вращательных и четыре пропеллерных. Для вертолёта тоже всё пересчитываем, оси рулевых машинок в автомате перекоса тоже не забываем. Про пропеллерные ПИДы чуть выше немного обсудили, поэтому начну с другого края. Например, ПИД канала высоты, для чего он нужен? Какой информацией он оперирует? Нужен для того, чтобы после получения команды, допустим, “набрать высоту 1 метр” спустя минимальное время аппарат оказался на 1 метр выше, чем был, при этом остальные параметры полёта оказались возможно более близкими к первоначальным. Это существенно, а то ведь можно так нарегулировать, что высоту наберёт, и скорость заодно, и ещё дальше полетит по инерции, беги-лови его. А дальше объясняю на простых примерах, от простого к сложному. Как выполнялся бы манёвр космическим кораблём в невесомости? Импульс двигателем в одну сторону, через некоторое время - в другую. А вертолёт что сделает? Прибавит обороты(либо шаг, у кого как), набирая вертикальную скорость, а после убавит, не до висения, а ещё меньше, и по инерции взойдёт на заданную высоту, и только на ней восстановит прежние параметры. Для всего этого ПИД оперирует несколькими данными, прежде всего массой и либо ускорением(с акселерометра), либо тягой(от оборотов). Есть другие параметры, о них попозже. Итак, акселерометр. Иногда кажется, что он вообще кажет что хочет, реагирует на любой стук, даже в покое ведёт себя беспокойно, а на вибрирующем вертолёте - и подавно. При этом проинтегрировать его показания один раз, чтобы получить скорость, и проинтегрировать скорость, чтобы получить перемещение, вот эта задача весьма нетривиальная. При интегрировании константа выплывает, при втором - вообще всё убегает со страшной силой. Поэтому акселерометр - только для того, чтобы констатировать, что переходный процесс успокоился, и ускорение равно земному. А весь остальной манёвр - за счёт физики процесса. Кстати, хороший фильтр для акселерометра сегодня выложу. Пойду материал по нему готовить, а вы пока осмысливайте.
Пойду материал по нему готовить, а вы пока осмысливайте.
Дмитрий, хорошее дело затеяли, многим не хватает общей, так сказать концептуальной информации по этой науке. С нетерпением ждем продолжения!
Люди, я вам обещал интересный фильтр для акселерометра, но у меня тут ситуация дурацкая: видит око, да скриншот неймёт. Помогите себе сами, хорошо? Я вам сейчас распишу, что и как.
1.Берём поток данных от реального акселерометра в реальных условиях. Не в полёте, лучше в руках держать.
2. От этих значений находится экспоненциальная средняя Y1=X*K+Y0*(1-K);
Вот с этим К придётся немного поэкспериментировать.
3. Ещё две экспоненциальные средние находим, но с условиями: у одной значение обновляется только когда данные выше или равны вот той первой средней, а у другой - ниже или равны. У обеих коэффициент меньше чем у первой раз в 5 (т.е. медленнее). Должны получиться две более-менее стабильные границы, средняя постоянно мотается между ними. Не обращаем на неё внимания, пока она не попытается оттуда выйти.
4. А вот если попыталась, то тащим обе границы вслед за ней. То есть сдвигаем обе ровно настолько, насколько попыталась выйти.
5. Между этими двумя границами находим ( A+B )/2, это и считаем показаниями акселерометра.
Сделайте, пожалуйста кто-нибудь и выложите сюда, а то мне некогда разбираться почему не получается, на работе конец месяца, могут премировать, а могут кремировать.
Сделайте, пожалуйста кто-нибудь и выложите сюда,
Попробую реализовать сегодня-завтра, как время позволит. Несколько небольших вопросов ,возможно не очень умных, показания берем откалиброванного акселерометра или “raw”? на какой диапазон настроить? и на какую частоту настраиваем выдачу показаний (от этого зависят параметры шума)? Нужно ли подстраивать внутренние цифровые фильтры акселерометра? На всякий случай уточню, использую комбинированный датчик LSM303DLH от ST c 12-разрядными сырыми данными. Обмен по I2C на 200кГц (магнитометр почему-то на 400кГц не откликается).
Да и, если можно, пару слов о физике/математике фильтра, чтоб лучше понимать что искать и куда смотреть.
Я мучил акселерометр ММА7455, он не интеллектуальный вовсе, 10 разрядов на 8g, данные абсолютно сырые, снимаются когда сам выставит готовность, частота шины - любая, успевает. Можно с любым проделать.
Стохастический подавитель какой-то. Физика фильтра мне самому не совсем понятна. Я не люблю такие вещи, которые раздирают данные напополам. Но он работает, и гладит хорошо, и реагирует быстро по сравнению со всем остальным. А глядеть графики хорошо, когда они ВСЕ на экране. Сразу видно, что было и что стало. Коэффициент подбирать, чтобы средняя моталась почти до самых границ, но не задевала их, а то потащит.
Стохастический подавитель какой-то
Я так понял, что его лучше использовать с сырыми данными, до умножения на матрицу калибровочных коэффициентов, можно даже потом попробовать откалибровать заново, есть подозрение, что коэффициенты немного изменятся.
Ролики от КРОК
www.youtube.com/user/crocrobots
Мы сняли ролик про полигон, рассказ о том что мы ждем от участников к КТ4, ну и полет нашего собственного коптера в автоматическом режиме.
И для развлечения участников два ролика про отладку,
в сильный ветер:
и тест горизонтальной стабилизации, в тот же день:
Мой прогноз таков: на полигоне КРОК КT4 пройдут 7 команд, из них будет 3 Ar.Dron-a, которые выполнят задание случайно.
Сегодня на нашем полигоне первая команда продемонстрировала выполнение КТ4. На Ардроне 😃
Не могли бы Вы выложить несколько клипов с бортовой камеры - пролет коридора, подлет и посадка на крест, не пожатых ютубом, в низком разрешении ?
(для настройки софта)
Сегодня сняли несколько подлетов к площадке с борта, но забыл флешку в офисе 😦. Завтра постараюсь выцепить…
А что за ветер дует? Вроде стены по периметру? Сквозняк от пола?
Стремно как-то если порыв ветра швырнет аппарат на стену…
А что за ветер дует? Вроде стены по периметру? Сквозняк от пола?
Стремно как-то если порыв ветра швырнет аппарат на стену…
Ничего критичного на самом деле. Стены очень хорошо защищают от ветра, но внутрь задувает, то есть такого что “швырнет на стену” не будет, всегда будет несколько секунд чтобы посадить 😃.
Но он ощущается, и PIDы, отрегулированные на полет “с достоинством” в комнате, просто не позволяли аппарату развивать скорость для полета против ветра.
Летать быстрее ветра… Опасно, но очень хочется. Только придётся очень внимательно контролировать кинетическую энергию, а то ведь она от скорости растёт в квадрате. Вот, например, как выполняется кинетический старт.
Представьте, вертолёт стартовал, на регуляторе максимальное значение, ротор интенсивно раскручивается, но тяги ещё недостаточно, чтобы взлететь. Фильтр акселерометра уже начал работу, он настраивается под вибрации, но среднее значение будет 1g, поскольку вертолёт ещё не взлетел. Вот это значение нам очень нужно. Ещё у нас есть два сумматора, в один мы будем складывать значения акселерометра за вычетом земного тяготения, то есть интегрировать будем, и период получения данных у нас dt. А в другой - значение из первого сумматора, тоесть двойное интегрирование делаем.
Вертолёт оторвался от поверхности и стремительно уходит вверх, первый интегратор тоже убегает вверх, он показывает вертикальную скорость. Из этой скорости мы можем вычислить кинетическую энергию вертолёта как масса умноженная на квадрат скорости и делённая пополам. Второй интегратор следует за ним, показывая высоту. Наш вертолёт не просто так взлетел, ему задана целевая высота h, в этой точке его потенциальная энергия будет mh. Из значений интеграторов находим мгновенные значения потенциальной и кинетической энергии. В момент, когда их сумма станет равна нужной нам целевой потенциальной энергии, мы выключаем двигатель. Нет, тормозить его не будем, просто прекращаем качать в него энергию. Пропеллер по инерции продолжает вращаться, ведь он только что давал максимальную тягу. Но показания акселерометра коренным образом поменялись, он показывает отрицательное ускорение. Поэтому интегратор скорости развернулся и бежит от плюса к нулю. И вот когда он прибежит к нулю, только тогда мы переводим двигатель на режим висения. Как вы думаете, где в результате окажется вертолёт? Где надо, там и окажется. Летать быстрее ветра можно. Только вот летать быстрее, чем думать, не надо. Мы уже знаем, чем это заканчивается. Летательным исходом.
Сам себя поправлю. Совсем отключать энергию от двигателя на летящем вертолёте нельзя. Представьте висящий на месте вертолёт. Его потенциальная энергия не меняется, кинетическая тоже. Однако он расходует энергию. Этот расход состоит из двух частей, я назову их “налог на висение” и “налог на устойчивость и управляемость”. Если первую часть энергопотока можно спокойно на некоторое время отключать, то вот вторую нельзя отключать ни в коем случае!!! Угроза аварии носителя!!! Проверено, мины есть. Я кстати, обнаружил, что такое “неуловимо погнулось” в наших вертолётах. Зубья в передаче от двигателя к ротору. Если навести механический лупоглаз(объектив от старого фотоувеличителя), то картина предстаёт во всей красе. Кинетическая энергия - она такая, она не могла бесследно исчезнуть.
Лихо это Вы закрутили…) Надеюсь Вы имели ввиду модель вертолета? Да еще и соосник к тому же… ) Потому что в настоящих (да и не только) ротор раскручивается на земле, до рабочих оборотов, а тяга регулируется изменяемым шагом… Вплоть до отрицательной…
Лихо это Вы закрутили…)
Продукция “Лаборатории безумного учёного”, выбывшей в КТ3 команды.
Надеюсь Вы имели ввиду модель вертолета? Да еще и соосник к тому же… )
Да, речь действительно идёт о 30-граммовом микровертолёте. Мы в конкурсе новички, обставить тех, кто давно летательными аппаратами занимается, у нас всё равно бы не получилось. Поэтому мы решили сильно не тратиться, а бросили клич, что собираем полурабочие/нерабочие летающие игрушки. Скоро у нас этих вертолётиков собралось целое помойное ведро. С ними и начали опыты. Увлекательнейшее занятие, я вам скажу. Этот конкурс - вообще такой “спортзал для мозгов”, прям драйв и адреналин.
Ну так вот, я продолжу размышления о вертикальном маневрировании. Я вот о посадке думаю. Вот висит вертолёт, потенциальная энергия =mh. Надо у него эту энергию отнять. К двигателям поток энергии идёт на нужды висения вертолёта. А если из этого энергопотока вычесть лишнее? Тупо по электросчётчику, в ватт-часах, джоулях или милливатт-секундах, как вам будет удобно. Вертолёт ведь спустится, никуда не денется. У нас такая картина происходила, когда переводили двигатель с оборотов висения в свободном пространстве на обороты висения на подушке. Разница небольшая, спуск медленный. А нужно быстрее. У нас гонки или не гонки?
Причём эту лишнюю энергию можно вычесть в произвольном порядке, вертолёт в силу наличия у его массы всё равно это воздействие проинтегрирует. Интересно получается, правда? По акселерометру летали, по гироскопу летали, по электросчётчику ещё ни разу не летали!
Вот висит вертолёт, потенциальная энергия =mh. Надо у него эту энергию отнять.
mgh. Хотя и не в ней дело. Дело больше в ускорениях. И не только при вертикальном перемещении, а в горизонтальном тоже. В техкарте, кстати, вопрос про скорость как-то некорректно звучит. Хотя, для тихолетов может быть. Если хотите оочень быстро приземлиться, включаете отрицательный шаг. А при приземлении положительный, чтобы не разбиться соответственно. Только физику всю нужно четко просчитать и заранее. Иных вариантов быть не может. Вертолетов с флайбаром и детскими лопастями не касается, естественно. Я вот тоже когда-то соорудил аппарат с флайбаром, но это такая гадость оказалась. А что я хотел, собственно, от механической системы с дикой инерцией. А при быстром приземлении с ним аппарат уходил в дикий “унитаз”. Тем не менее, была интересная машинка, в первую очередь тем, что получился соосник без редукторов на б/к движках. Думаю идею как-то воплотить все ж.
У нас гонки или не гонки?
Я вот тоже думал, что гонки, но уже понял, что ошибался. Хотя бы по тому, что показывает сам Крок. Угол тангажа ограничили уж слишком сильно. Градуса в 3, наверное. Какая там горизонтальная составляющая… Да и с ветром простым аппарату было не справится. Это основная причина того, что не удалось приземлиться на площадку во втором видео, имхо:
И для развлечения участников два ролика про отладку,
Увеличьте максимальный тангажа градусов до 8-10 хотя бы. А то так совсем все грустно. Нет возможности сманеврировать никакой. У вас с такими винтами вполне должен быть запас по тяговооруженности. Я понимаю, что весит он около 2,7 кг, и страшновато. Но если “по рабоче-крестьянски”, откинув тонкости и побочные эффекты, то тяга винтов для горизонтального полета коптера с тангажем альфа будет примерно равна mg / cos (альфа) . Т.е. для малого угла не так и много.
Этот конкурс - вообще такой “спортзал для мозгов”
С этим абсолютно согласен. Меня он как-то сдвинул с мертвой точки в плане электроники. А по леталкам вообще получил большой заряд для творчества, а то коптер уже в углу валялся давно и никакого интереса у меня уже не вызывал. Только чего-то под конец драйв у меня кончился, скорее, движок просто закипел от избытка адреналина в топливе:)
Да и лето все ж. Хочется уж когда-то отдохнуть. В июле отпуск, хотел как раз его потратить на конкурс целиком. А теперь смотрю немного иначе на это дело, и хорошо что вылетел. Теперь месяц семье уделю, а не вертолетам. Да и на вертолеты, возможно, посмотрю несколько иначе, со свежей головой. Летом удобно полетать, протестить в поле, но сами конкурсы, на мой взгляд, летом проводить не очень хорошо. Лучше ближе к концу осени. Летом человеческий организм больше на отдых как-то настроен. А энергии и сил нужно много на подготовку к подобным мероприятиям. Особенно, если ты все делаешь в одиночку. Командам, думаю, тоже не сладко от такой подготовки летом. Кто-то в отпуск хочет, многие же летом хотят, у кого-то семья, дети, нужно их на море, ну и т.п. Это я выражаю свое мнение, может оно и не совсем правильно. Но, думаю, что стоит обсудить оптимальное время проведения будущих конкурсов.
Думаю что у крока квадр сильно перегружен, нет запаса по тяге (моторы почти на максимуме). У меня был изначально квадр на нуке, очень тяжело летал. Теперь гекса на нуке, в ветер ее конечно носит, но деваться некуда. Для квартиры гекса слишком здоровая, остается только на улице тестировать. Ветер эт +1 к уровню адреналина.
Спортзал не только для мозгов, но и для рук. У меня все оборудование (вместе с вертолетом) в чемодан умещается, в сумме там 12 кг (верт, груз, аппа, роутер, планшет, старт.площадка, чумадан)… каждый день прокачиваюсь… если конечно футболлеры на аэродроме не бегают …
Ролики от КРОК
Мы сняли ролик про полигон, рассказ о том что мы ждем от участников к КТ4, ну и полет нашего собственного коптера в автоматическом режиме.
Может ли отличатся ориентация “крестов” (в виде “+” со стороны полёта), от представленной в презентации? А именно, линии крестов параллельны стенам полигона, или возможен поворот?
Что мы можем увидеть, “+” или “Х” или что-то третье, если будем двигаться по центру вдоль длинной стороны?
В новостях показали последствия грозы в Москве. Как полигон, не пострадал?
Думаю что у крока квадр сильно перегружен, нет запаса по тяге (моторы почти на максимуме)…
Мне тоже так показалось, т.к. пилот держит ручку газа приблизительно 3/4 от максимума, а возможно ещё центр масс не удачный, из-за лидара.
Сообщение от askoog
Думаю что у крока квадр сильно перегружен, нет запаса по тяге (моторы почти на максимуме)…
Мне тоже так показалось, т.к. пилот держит ручку газа приблизительно 3/4 от максимума, а возможно ещё центр масс не удачный, из-за лидара.
На самом деле, все не так страшно. В реальности коптер висит при 50% газа, 3/4 выставилено исключительно для запаса по управлению газом. Логика взаимодействия такова, что максимальный газ, который контроллер выдаст на моторы, сверху ограничен значением, получаемым с пульта РУ. Т.е. независимо от того, какое управление придёт с вычислителя, коптер в вверх “на все деньги” не уйдёт, а всегда по максимальному значению будет ограничен “большим братом” в лице РУ на те самые 3/4
… коптер в вверх “на все деньги” не уйдёт, …
Для ДВС-ов есть выражение “на всю мазуту”. Это я так, к слову.
На самом деле, все не так страшно.
привет!
Уважаемые участники, рад вам представить еще одного представителя команды КРОК, вы могли видеть Алексея на наших последних роликах в роли тест-пилота.
Может ли отличатся ориентация “крестов” (в виде “+” со стороны полёта), от представленной в презентации? А именно, линии крестов параллельны стенам полигона, или возможен поворот?
Что мы можем увидеть, “+” или “Х” или что-то третье, если будем двигаться по центру вдоль длинной стороны?
Все что угодно. Ориентация креста никак не нормирована.
Как полигон, не пострадал?
Да вроде нет, спасибо 😃
Для квартиры гекса слишком здоровая
Да и квадр для квартиры не подарок. У меня квадр с лучами всего 50см. Но и его страшновато запускать в домашних условиях. В былые времена сделал девайс под названием “турбокрышкаунитаза”😉 Реальная крышка унитаза с винтом сверху, чтобы по воде и льду гонять:) Так эта штуковина как-то проехалась около двери балконной и АПЦэшным винтом ее пропорола насквозь. До сих пор эта пробоина напоминает мне о технике безопасности. Тогда я понял, что квадры в домашних условиях отменяются, или только на пластмассовых убогих винтах, которые в случае чего разлетятся на куски. Да и то, когда уверен, что вся электроника не подведет. А эксперименты в автомате уж точно очень опасны.
Коллеги, а поделитесь, если не жалко, информацией…
А как вы NUC питаете? Или он свои 19 вольт только по паспорту хочет, но и от 12 работает? Я что-то уперся в одноядерный atom, не хватает (USB уперлось в пропускную способность, блин, а там только один контроллер, да и обработка xtion+оптика очень проц хочет)… У КРОКа в техкарте вижу, что 4S1P, но там 19 вольт ±10% nuc-овских трудно достать простым способом…
В ответ готов рассказать свои приколы на тестовых полетах, и вообще спалить общую идею (уже можно 😃
– Команда: Икар-Москва, большой гекс (3+ кг), AeroQuad, OpenCV, PCL и т.п. 😃