Делаю OSD, автопилот и инерциалку...
Можно ли рулить самолетом не имея гироскопа, а имея только показания высоты, абсолютные показания высоты, абсолютный компас, 3D компас, координаты, направление и значение ускорения, и скорость вращения по осям - рулить самолетом?
Акселерометр покажет “направление и значение ускорения” - особенно в повороте! Суммарный вектор будет не перпендикулярен горизонту, а самолетик-то летит горизонтально, без крена.
Магнетометр - вполне работающая вещь, особенно, если вектор маг. поля не под 90 градусов в землю.
Скорость вращения по осям косвенно даст именно гироскоп, после интегрирования мгновенной скорости изменения угла. Интегрирование накапливает ошибку.
В вашей мат.модели IMU есть пограничные точки, где возникает неопределенность? Например, когда самолет перевернулся? Или летит под “неудобным” углом к какому-то вектору?
Товарищи Гуру, кто точно скажет, какие параметры нужны для автопилота? Для полета, для посадки?
кто точно скажет, какие параметры нужны для автопилота
Дык, это давно не секрет: пиджак замшевый тьфу, ДУС (датчик угловых скоростей , а вовсе не гироскоп, как его неГуры называют), -три, акселерометр- три, магнетометр-три (для динамической коррекции ошибки ДУС) ЖПС- чем быстее, тем лучше 5-10Гц- для того же самого. Т.Е. для проверки наличия-отсутствия скольжения в те моменты, когда ДУС+акселерометры показывают горизонтальный полёт.
А на самом деле-эроплан летит криво 😦
Ко всему этому- присобачить матрицу Калмана (лично-не знаком) и будет-щастье.
Давно не был… “конструктор” системы симпатичный… прямо как у Риссы… 😃
Дмитрий, у вас есть систематическая проблема- вы сначала что-то делаете- потом думаете КАК это будет работаь. Не разобравшись в ФИЗИЧЕСКИХ И МАТЕМАТИЧЕСКИХ принципах- очень тяжело построить.
Было очень печально услышать от вас, что вы принцип работы МЕМС ДУС-ов поняли лишь после постройки всей системы…
Ну посмотрите вы тот же ardupilot в конце концов! очень многое решено до вас и за вас…
А вы пытаетесь изобрести велосипед с квадратными колесами… Но к нему специальную дорожку надо будет приделать 😃
велосипед с квадратными колесами
по шпалам ездить 😁
ДУС (датчик угловых скоростей , а вовсе не гироскоп, как его неГуры называют), -три, акселерометр- три, магнетометр-три (для динамической коррекции ошибки ДУС) ЖПС- чем быстее, тем лучше 5-10Гц- для того же самого. Т.Е. для проверки наличия-отсутствия скольжения в те моменты, когда ДУС+акселерометры показывают горизонтальный полёт.
- Угловые скорости по 3м осям. ДУС + процессор = гироскоп в привычном понимании.
- Проекции всех действующих сил на 3 оси. Акселерометры.
- Вектор магнитного поля {x,y,z}. Магнетометр.
- Координаты в системе ШД+высота. GPS.
В итоге: быстрые вращения отслеживает гироскоп, плавные наклоны - акселерометр. По магнетометру делается коррекция уплывающих ДУС, акселерометров при наличии ускорений. По GPS отслеживается скольжение и высота. Можно бародатчик+УЗ датчик расстояний.
Объясните, пожалуйста, как быть, если:
- самолет делает плавный поворот без крена? ДУС не отследили медленно меняющееся возмущение.
- самолет делает быстрый поворот без крена так, что акселерометр начинает врать. Суммарный вектор = g+a_центростремительное, получается под углом 45 к вертикали, к примеру. Аксели отключить, дождаться окончания виража и сделать коррекцию?
- Самолет хочет стать морковкой в грядке. По осям акселерометра 0 в невесомости. Куда тянуть нос, чтобы выровняться?
самолет делает плавный поворот без крена? ДУС не отследили медленно меняющееся возмущение.
Дык, на это ЖПС и приставлен: ему то всё равно, какой разворот-плавный-неплавный: он свою 0,1* выдаст. И компас 3Д не дремлет? Ему тоже плавность пофигу.
Опять же, высота хоть по ЖПС, хоть по баро меняется?
Караул! Падаем!!!
А УЗ в реальной жизни- годится только для посадки, работать начинает где то с 5 метров и врёт- как депутат: отражение от земли шибко от характера поверхности зависит, влажности и прочего…
А УЗ в реальной жизни- годится только для посадки, работать начинает где то с 5 метров и врёт
У меня DYP-ME007 работают до 3 метров. Дальше бывают сбои. В Ардуино, кстати, функция измерения миллисекунд кривая, по второму фронту плохо работает.
Караул! Падаем!!!
Ну если цель системы в предсмертном крике, то конечно… 😃 А вот восстановить сбитый горизонт,а значит адекватно управлять самолетом, уже вряд ли получится…
уже вряд ли получится…
😢
Было очень печально услышать от вас, что вы принцип работы МЕМС ДУС-ов поняли лишь после постройки всей системы…
Не заморачивайтесь. 😃
Папка с материалами, которые были использованны уже на данный момент, по автопилоту уже сейчас перевалила за 2 гига. Одних даташитов и т.д. только на 300 МБт. Если я упустил такой пустяк как оффсет ADC то это просто мелочи.
Еще я на пример забыл подсоединить ресет TMSa куданибудь и он у меня болтался в воздухе. Но это ведь не значит что автопилота не будет. 😃
Короче, сделал я видео ОСД (мое первое видео на ютюбе). 😃
Хотел сделать еще несколько роликов о том как система работает, но оказалось что микрофон не работает, и создание роликов нереносится.
ОСД работает в тестовом режиме. Просто что-то выводит.
При этом пик, который это обсчитывает, может нормально принимать команды. Фактически софт на этот пик уже доделан.
Короче, вот:
Вверху бугут направления домой и на вейпоинт.
Да, забыл. ОСД работает полностью. Если ДСП будет посылать команды, то эти команды нормально будут отображатьося. Я проверял. 😃
Походу пора в полет уже!??😉
Угадайте, что это?
Микроскопом гвозди забиваем ?😃
Вчера прикол обнаружил.
Короче, когда стал испытывать все вместе вместе с сервами, то сервы у меня как-то странно дергались с очень большой задержкой. Я уже было про xBee плохо подумал, что типа это она вносит задержку.
Все оказалось гараздо проще. Оказывается сервы не понимают резкое изменение ширины импулься и думают что это ошибка, поэтому отрабатывают ее с ошибкой.
В итоге мне пришлось поставить что-то типа ФНЧ на обновление значений серв, чтобы сервы не сходили с ума. 😃
Сейчас все работает без задержек. 😃
Для джойстика осталось доделать писишный софт, тоторый будет отвечать за микширование серв, установку значений триммеров и всяких там экспонент. 😃
а что за сервы? и насколько резко импульсы менялись?
а что за сервы? и насколько резко импульсы менялись?
Сервы самые обычные, А импульсы менялись довольно резко, в половину всего диапазона за один раз. Был импульс 1 мс, а потом вдруг резко стал 1.5 или 2 мс. В итоге сервы начинала глючить и отрабатывать операцию с задержкой.
не жизненные какие то изменения
не жизненные какие то изменения
Почему?
Вот была связь, потом пропала, а потом снова появилась… 😃
Для цифровой связи, которая сейчас, вполне жизненные. 😃
не жизненные - в том смысле что самолет так не полетит … А про пропадание связи - да пожалуйста, обычное дело серва должна отрабатывать конечно …
В итоге сервы начинала глючить и отрабатывать операцию с задержкой.
А что, серва должна глючить, если к примеру канал управляется не джойстиком (плавно меняющим длительность) а тумблером? И импульс при этом- меняется как раз “вдруг”- время переключения контакта- меньше миллисекунды 😃
А РРМ , кроме того- и сам по себе 50 раз в секунду “меняется” 😦 ?
Что то ни у кого- не глючит?
думаю, автор имел виду что за секунду ппм мог поменяться в диапазоне раз 50, а если так то за счёт определюнной скорости самой сервы она и отрабатывала среденее “арифметическое” пощёлкайте тумблером раз 10 быстро - серва вообще может не двинуться:)
В итоге мне пришлось поставить что-то типа ФНЧ на обновление значений серв, чтобы сервы не сходили с ума.
Проблема точно не в этом. Обычные сервы не задумаются при сколь угодно резком изменении длительности управляющего импульса в пределах допустимых длительностей.
Какой то баг в коде - генерирует не те длительности импульсов.