Найти - Пользователи
Полная версия: Использование стабилизатора полёта на IMU датчиках ( акслерометр+ гироскоп +магнитометр ).
Начало » ДВС основной форум » Использование стабилизатора полёта на IMU датчиках ( акслерометр+ гироскоп +магнитометр ).
1 2 3 4 5 6
Userpc1010
Кто-нибудь использовал на ДВС IMU датчики или обычные стабилизаторы полёта, автопилоты как они себя ведут на ДВС, создают ли вибрации помехи в их работе и каким образом с этим можно эффективно бороться ( использовать виброфильтры или как-то балансировать движок )?
CAMELION
На вертолётах с ДВС стоят, а там вибрации не дай Бог!
Userpc1010
Вот я как раз собираюсь ставить такой модуль ( mpu 9250) на свой аппарат но сейчас уровень вибрации запредельный, несмотря на использование кватернионного фильтра на датчиках показания +/-10град скачат. Поэтому хочу узнать кто ставил стабилизаторы полёта или автопилоты на ДВС как они работают или что придумали что-бы работало, идеи конечно есть но может уже существует проверенный способ.
CAMELION
Userpc1010
Вот я как раз собираюсь ставить такой модуль ( mpu 9250) на свой аппарат но сейчас уровень вибрации запредельный, несмотря на использование кватернионного фильтра на датчиках показания +/-10град скачат. Поэтому хочу узнать кто ставил стабилизаторы полёта или автопилоты на ДВС как они работают или что придумали что-бы работало, идеи конечно есть но может уже существует проверенный способ.

Это связано с ардуино?
Userpc1010
Вроде этого Atmel atsam3x8e ARM на нём есть среда и для arduino IDE такая известна как DUE она по мощней обычных ардуинок 32 бит против 8 бит, 84МГЦ против 16МГц, в общем это связано с программируемые контроллерами.
root
Судя по всему вы сами хотите написать систему стабилизации, это будет вам стоить очень много вертолетов, ДВС тут плохой выбор, хотя бы на начальных стадиях.

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

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

Обычная ардуина не потянет, DUE возможно, обычно используют STM32F4 160-180 MHz или STM32F7 не помню, порядка 200 MHz
Userpc1010
Я использую фильтр Маджвика от DIY Drone, вроде как этот фильтр точнее фильтра Калмана и написан специально для определения ориентации в пространстве дронов ИНС (AHRS), в фильтре используются показания всех 3х датчиков и с помощью них восстанавливаются показания тонгажа, крена, и курса ( азимут ) фильтр сам определяет вектор скорости аппарата для восстановления вектора силы тяжести тем самым линейные ускорения не сбивают углы тонгажа и крена. Восстановление углов направления ( курса ) происходит по магнитометру хотя это с 1й стороны уменьшает точность до +/-1 град но такой она остаётся почти всегда ведь магнитометр не накапливает ошибку. Сам фильтр проверял на гиростабилизированной платформе и точность устраивает. Полагаю при создании стабилизатора предавать углы ориентации в ПИД для стабилизации полёта, и с помощью точки консенсуса в ПИД регуляторе управлять полётом, углы тонгажа и крена будут ограничены что-бы уменьшить нагрузки и увеличить точность показаний датчиков.
Есть такой проект ardupilot ( в моём случае у меня с ним ничего общего нет я иду своим путём, но просто для примера ) так вот там вроде как на 16МГц Mega работает автопилот, ориентируется по IMU датчикам и вычислительной мощности хватает.
Есть ещё один вопрос который я до сих пор не могу решить, ( обращался ко многим специалистам даже профессорам в институте ) как правильно настроить расходы рулей к углам тонгожа и крена? Имеем следующие углы тонгожа: + 90, - 90град; углы крена: + 180, -180; углы по рысканью ( курс ) 0-360град; расходы рулей + 30, -30 град. Возможно просто ограничить углы ( для примера возьмём тонгаж ) но как это сделать 1:1 т.е. 30град тонгажа 30 град отклонения рулей но получится резко мне кажется можно сделать по другому 1:2 60град тонгажа 30град отклонения рулей, но всё это довольно топорно ( получается всё что за 60 град не используется ), профессор считает что нужен airspeed который измеряя скорость набегающего потока будет управлять углами, но на моделях я не часто видел airspeed и он до конца не понятно как он решит задачу стабилизации ведь всё эти углы должны опираться на ПИД а не скорость потока, к тому-же в большинстве стабилизаторов полёта и даже автопилотах нет airspeed ( на автопилотах порт под него зачастую есть но его мало кто устанавливает ) и эта задача как-то решается.

Ну и что-бы внести ясность это не вертолёт а БПЛА ( самолёт ), летающая платформа для отработки алгоритмов АСУП, машинного зрения, установки разных датчиков, в общем всё что захочется))) на борту есть мощная ЭВМ полноценный компьютер который берёт на себя все ресурс-ёмкие расчёты. Поэтому мне бы хотелось что-бы все алгоритмы управления были мои включая стабилизатор полёта что-бы точно знать как они работают и изменять их в случае необходимости. К тому-же выбор уже сделан 80% оборудования у меня уже есть включая ДВС, в случае чего я конечно могу приобрести готовое решение и управлять этим стабилизатором/автопилотом с помощью ШИМ но хотелось бы иметь своё.
root
1) По поводу фильтра, ничего не могу сказать не пробовал.

2) Открываем официальный сайт ардупилота берем первые 3 рекомендованные платформы
http://ardupilot.org/copter/docs/common-pixhawk-overview.html [ardupilot.org]
http://ardupilot.org/copter/docs/common-thecube-overview.html [ardupilot.org]
http://ardupilot.org/copter/docs/common-pixracer-overview.html [ardupilot.org]
У всех кортекс M4 168 MHz

У четвертой вообще A8 1Gz
http://ardupilot.org/copter/docs/common-beagle-bone-blue.html [ardupilot.org]

Возможно на AVR и работает кое как, но для надежного полета думаю что нет.

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

От начала до середины хода стика, отклонения (например элеронов) маленькие, так получается очень точно корректировать курс
А от середины к концу, отклонение резко растет, так есть возможность выполнять экстремальные повороты фигуры и т.п.

4) Если это самолет то имхо проблем вообще не должно быть.

ЗЫЖ
Как PID, текущая позиция и сигналы управления взаимодействуют между собой, лучше посмотреть в готовых проектах я уже отошел от этих дел и давно не слежу. Также обратите внимания на код проекта betaflight.
Userpc1010
root
1) По поводу фильтра, ничего не могу сказать не пробовал.

2) Открываем официальный сайт ардупилота берем первые 3 рекомендованные платформы
http://ardupilot.org/copter/docs/common-pixhawk-overview.html [ardupilot.org]
http://ardupilot.org/copter/docs/common-thecube-overview.html [ardupilot.org]
http://ardupilot.org/copter/docs/common-pixracer-overview.html [ardupilot.org]
У всех кортекс M4 168 MHz

У четвертой вообще A8 1Gz
http://ardupilot.org/copter/docs/common-beagle-bone-blue.html [ardupilot.org]

Возможно на AVR и работает кое как, но для надежного полета думаю что нет.

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

От начала до середины хода стика, отклонения (например элеронов) маленькие, так получается очень точно корректировать курс
А от середины к концу, отклонение резко растет, так есть возможность выполнять экстремальные повороты фигуры и т.п.

4) Если это самолет то имхо проблем вообще не должно быть.

ЗЫЖ
Как PID, текущая позиция и сигналы управления взаимодействуют между собой, лучше посмотреть в готовых проектах я уже отошел от этих дел и давно не слежу. Также обратите внимания на код проекта betaflight.

Pixhawk да согласен, но там вроде даже машинное зрение используется ( оптический поток для висения на одной точке квадрокоптеров ), к тому-же он рассчитан на разные модели самолётов вертолётов и не только, в моём случае всё заранее определено, сложные расчёты берёт на себя компьютер, задача DUE научится лететь по заданному курсу и высоте вот и всё что от неё пока нужно, если атмега может как-то с этим справятся от DUE должна справится в 7 раз лучше. К слову сейчас у меня частота обновлений стабилизатора на атмеге 150Гц а DUE 650Гц это гораздо быстрей реакции человека.

Касательно РУ приблизительно понятно, но вопрос немного про другое, что-бы понятнее объяснить зайду из далека. У нас есть стабилизатор полётов такая “коробочка” которая крепится в центре масс и напичкана IMU датчиками, если я правильно понимаю задача стабилизатора удержать самолёт в горизонтальном полёте по заданному курсу. Т.е. если самолёт просто разогнать ( бросить с руки ) и отпустить он должен максимально долго удерживать его в горизонтальном полёте пока он не свалится из-за потери скорости. Стабилизатор не имеет airspeed ( по крайней мере большинство) и ориентируется по 3м датчикам ( акселерометр +гироскоп+магнитометр ) из этих датчиков он получает углы ориентации ( пока не важно как ) и что дальше он с этими углами делает? Просто предаёт их ПИД? Ведь тогда если у нас максимальный угол тонгажа 90град то и максимальное отклонение рулей ( на 30 град ) наступит при пикировании под 90 град, что на мой взгляд слишком поздно соответственно придётся менять соотношение углов например 1:2 тогда оно наступит раньше при 45град. Вопрос в том правильно ли я мыслю нужно ли делать это соотношение или это делается по другому? Возможно есть некий коэффициент который меняется по экспоненте и как он рассчитывается/определяется этим стабилизатором? Или всё таки углы ( готовые углы конечно ) вот так вот предаются в ПИД и потом просто подбирают коэффициенты?
root
Не обязательно нажимать ответить если сообщение на которые вы хотите ответить последнее.
И так понятно что вы отвечаете а визуально читать проще.

Нужно просто передавать в PID.
Давайте пример, он очень идеальный и не учитывает некоторых вещей о которых я опишу позже.

Стабилизация по углу элеватора, другие углы держатся сами идеально ровно, либо их вообще не существует.
Есть заданное положение угла модели(не элеватора!) по оси элеватора и есть текущий угол с датчиков, эти данные передаются в PID регулятор.
PID работает на итерациях. У него есть 3 коэффициента.
P - пропорциональный, грубо говоря на сколько за 1 итерацию сместить элеватор, т.е. он каждую итерацию будет опускаться до тех пор пока модель не достигнет нужного угла, это не будет до бесконечности т.к. есть и другие коэффициенты.
I - интегральный, это накопление ошибки, если модель заваливается вниз и PID регулятор постоянно подруливает то это подруливание накапливается в I составляющей, от того как быстро оно накапливается влияет это значение
D - дифференциальный, прогнозирует что будет в будущем, как бы сглаживает и учитывает задержки в регуляции.
root
И теперь самое важное все это описывается для идеальных условий, когда объект воздействия прямо влияет на ось поворота.
Если задача исключительно стабильный полет прямо, то проблем нет.
А если нужно развернуть модель но 90 градусов ? Руля для такой задачи как правило не хватает, поворот по курсу осуществляется заваливанием элеронами и подруливанием элеватора.
Когда самолет завален в бок, нужно учитывать что элеватор будет влиять уже на 2 оси относительно земли!
Хотя можно упростить задачу и стабилизировать самолет относительно его собственных осей, а не земли, но имхо хороший самолет и так прямо пикирует в землю без стабилизации )
Userpc1010
Да, естественно, ПИД будет использоваться для стабилизации, манёвры будут прописываться отдельно, предположительно если угол поворота не больше 30град по курсу, будет использоваться руль направления а если больше будет использоваться манёвр крен+тонгаж пока самолёт не попадёт в это промежуток +/-30град и тогда он выравнивается, подруливая рулём направления уже пойдёт по курсу. Касательно набора высоты в ПИД будет предаваться угол 20-15 град ( определю уже опытным путём ) и вот он должен стабилизировать самолёт с такими углами атаки и лететь так пока не наберёт высоту. Углы как я уже говорил для удобства пока будут ограничены по крайней мере при полёте со стабилизатором/автопилотом приблизительно +/-20град тонгаж ( зависит от тяги) +/-45град крен ( при таких углах меньше сбивается гироскоп+магнитометр по курсу мож даж сделаю их меньше, надеюсь этого будет достаточно для поворота боинг вроде поворачивает при 30град ).

Значит прямо продевать в ПИД, изначально я так и делал но когда проводил тесты рулевые поверхности ( точнее отклонялись сервы на столе ) очень слабо отклонялись ( при тонгаже 30-40 град ) и макс расход рулей был только при 90град, но возможно я просто неправильно его настроил или класс ПИД из библиотеки ( я использую готовую библиотеку с ПИД ) работает не правильно ( в одном из видео [youtu.be] на Youtube мне казалось что стабилизатор вообще работает 1н в1 с тонгажом ). Но если везде готовые углы ориентации предаются в ПИД то вероятно ошибка в нём и есть.

Касательно самих манёвров на практике, если честно я нигде не видел как летают самолёты с V tail только в теории ( V tail потому что спереди будет турель с стабилизатором, сзади двигатель, пришлось переделать зажигание что-бы он мог крутится в другую сторону ), возможно придётся сделать паузу между манёврами для стабилизации, если тонгаж превысит определённый порог а когда он выровняется продолжить манёвр. Т.к. при микшировании V tail ( формула кажется такая: LEFT_VTAIL = (рыскания+тангаж)*0.5 RIGHT_VTAIL = (рысканье-тангаж)*0.5) эффективный расход будет как будто 15 град если я всё правильно понимаю. К тому-же при крене или тонгажа угол направления ( курса ) меняет свои функции ( так при тонгаже 90град нельзя определить крен а при крене 90 курс ) поэтому руление по курсу будет только в том случае если самолёт выравнивается ( соответственно стабилизатор по крену должен не дать ему накренится и тем самым меняться должно только направление (курс) ).


Для большей наглядности на картинке самолёт с V tail т.е. внешний вид будет схожим:
root
Да я прекрасно представляю что такой V-tail
PID не будет нормально работать в статическом виде, он должен видеть что управляющее воздействие как-то меняет состояние системы.
PID настраивается следующем образом
Вначале подбирается значение P остальные коэффициенты = 0
Потом подбирается I если есть уплывания и далее D
Как правило перед подбором I, параметр P немного уменьшается % на 15, в дальнейшем может быть увеличен.
Сделайте лодку из пенопласта с килем и эл двигателем, не быструю, по пускайте в луже, фонтане, пруде.
Опробуйте вашу стабилизацию на так называемом стенде.
Userpc1010
Касательно ПИД может у вас есть цифры от которых необходимо отталкиваться, мне известно что интегральная часть должна составлять десятые или сотые доли но главное по пропорциональной и дифференциальной части, я так понимаю в полётном стабилизаторе тоже изначально забиты цифры от которых он он отталкивается. Или может быть ( конечно ПИД могут быть разные ) есть отношение как на примере с интегральной частью когда она должна быть очень не большой, может пропорциональная должна быть не выше дифференциальной ( для самолёта ) или как-то по другому. И как они будут выглядеть для тонгожа, крена, рысканья? Крен я так понимаю должен быть “подкручен сильнее” т.к. там углы могут быть от -180 до +180. Рысканье также придётся разбить с 360 на 180 и -180 поэтому наверно будут чем-то схожи с креном, у тонгажа углы меньше поэтому с ним должно быть проще всего.

Никто никогда не строил аэродинамические трубы для обдувки небольших моделей? Может есть у нас ( в Ставрополе ) такие места где можно продуть небольшой пенопластовый корпус что-бы сделать предварительные настройки?
root
Все подбирается имперически, нет каких то конкретных значений, возьмите из примера в для вашей библиотеки, просто увеличивайте и уменьшайте значение, следите за реакцией.

Не думаю что есть.
Vikto50
Обратитесь к специалистам, может что посоветуют.
Userpc1010
Интересно, что они мне могут посоветовать? ( я сильно сомневаюсь в том что они будут, что-то советовать) Очевидно выход один начать испытания на практике, ближе к лету закуплю фанеру и буду мастерить “корпус” а там уже в полевых условиях будет ясно. По ходу буду ещё спрашивать, вот такой план))).
Vikto50
Беспилотники нового типа начнут делать в Ставрополе14.05.2018, 11:56Ставропольский край


Аппараты смогут преодолевать сотни километров без посадки и подниматься выше, чем обычные беспилотные летательные аппараты, сообщил гендиректор группы компаний «Стилсофт» Юрий Стоянов.
К концу 2018 года компания определит, как именно наладить производство беспилотных летательных аппаратов самолётного типа. Они могут применяться в военных и мирных целях, например, в сельскохозяйственных работах.

— Высота полёта может составлять сотни метров, потому что этот аппарат сможет увести оптику, которая с сотен метров позволит детально рассмотреть цели. Возможно применение бензиновых, метановых двигателей, водородных двигателей. Они достаточно шумные на низкой высоте, но на большой мы можем себе это смело позволить, — говорит Юрий Стоянов.

Он отметил, что полёт таких аппаратов может проходить несколько часов. В мире есть и другие компании, которые ведут разработки подобных аппаратов, но «Стилсофт» внесли свою изюминку, дополнив БЛА самолётного типа возможностью вертикального взлёта.

Об этой и других инновациях Юрий Стоянов рассказал гостям на открытии нового производственного корпуса, в котором будут работать 20 цехов. Примечательно, что на крыше здания есть футбольное поле с подогревом, где, также, можно испытывать беспилотники.

Как сообщалось ранее, на Ставрополье военные учились не только использовать их, но и сбивать из «Арбалета». Также ставропольские подростки посоревнуются в использовании БЛА.
jukov26
Userpc1010
ближе к лету закуплю фанеру и буду мастерить “корпус”
Судя по терминам, не проще ли будет использовать готовый планер? На постройку модели уйдёт много времени и труда. И почему именно этот прототип? Какой вес ,размах?
Userpc1010
а там уже в полевых условиях будет ясно.
Может понадобиться много “корпусов”. Был печальный опыт.
Userpc1010
сзади двигатель, пришлось переделать зажигание что-бы он мог крутится в другую сторону
Нет смысла в такой переделке (реверс двс гораздо сложнее чем переделка зажигания), ставится другой
винт.
http://avia-simply.ru/o-tolkajuschih-vozdushnih-vintah/ [avia-simply.ru]

P.S. Я бы испытал сначала на электропене ,после эксперименты с фильтрами и механическим демпфированием.
Вот вариант с механическим демпфированием(пенорезина различной плотности) гироскопов(одноосевых) на модели 55сс.

Userpc1010
Ну начну по порядку:

“Судя по терминам, не проще ли будет использовать готовый планер? На постройку модели уйдёт много времени и труда. И почему именно этот прототип? Какой вес ,размах?” - Конечно проще, вот-бы на него ещё денег насобирать, да и размером он должен быть не маленьким что-бы нести мою полезную нагрузку 10кг. Такие планеры начинают стоить от 100к рублей а мой бюджет по скромнее так в 2 раза. Вес в пределах 10кг 15 мах, размах крыла 3м. При таких ЛТХ он 100% будет поднимать 10кг ну ещё с учётом двигателя на 51куб у него где-то 9кг тяги.

“Может понадобиться много “корпусов”. Был печальный опыт.” - Изначально собранный корпус будет просто планировать в высокую траву. Так я проверю стабилизатор а когда он уже более мене будет готов начну подлетать над этой травой и планировать на неё пока такой план.

“Нет смысла в такой переделке (реверс двс гораздо сложнее чем переделка зажигания), ставится другой
винт.” - Двигатель я уже переделал и испытания провёл всё норм, реверс ДВС это проста установка датчика холла ( геркона ) в другое место мой ДВС это позволяет тяга вроде есть, на мой взгляд вполне успешно получилось.

Видео к стати интересное, всё-таки значит можно ставить IMU датчики на ДВС причём тут я не заметил какого-то сложного виброфильтра ( если он там вообще есть ). Полагаю необходимо 2а уровня фильтрации 1й непосредственно на самом двигателе (на раме) что-бы уменьшить предваряемые вибрации на корпус и следовательно дребезг контактов, 2й для самих IMU датчиков ( стабилизатора ) вроде паука на микрофоне мне кажется он подайдёт лучше всего.

P.S. Я бы испытал сначала на электропене ,после эксперименты с фильтрами и механическим демпфированием.Вот вариант с механическим демпфированием(пенорезина различной плотности) гироскопов(одноосевых) на модели 55сс. - Я бы тоже так сделал если-бы он у меня был, но пока его нет. К тому-же ПИД всё-равно придётся перенастраивать под более тяжёлую модель.



This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB