Делаю OSD, автопилот и инерциалку...

blade
Musgravehill:

кто точно скажет, какие параметры нужны для автопилота

Дык, это давно не секрет: пиджак замшевый тьфу, ДУС (датчик угловых скоростей , а вовсе не гироскоп, как его неГуры называют), -три, акселерометр- три, магнетометр-три (для динамической коррекции ошибки ДУС) ЖПС- чем быстее, тем лучше 5-10Гц- для того же самого. Т.Е. для проверки наличия-отсутствия скольжения в те моменты, когда ДУС+акселерометры показывают горизонтальный полёт.
А на самом деле-эроплан летит криво 😦
Ко всему этому- присобачить матрицу Калмана (лично-не знаком) и будет-щастье.

serj

Давно не был… “конструктор” системы симпатичный… прямо как у Риссы… 😃
Дмитрий, у вас есть систематическая проблема- вы сначала что-то делаете- потом думаете КАК это будет работаь. Не разобравшись в ФИЗИЧЕСКИХ И МАТЕМАТИЧЕСКИХ принципах- очень тяжело построить.

Было очень печально услышать от вас, что вы принцип работы МЕМС ДУС-ов поняли лишь после постройки всей системы…

Ну посмотрите вы тот же ardupilot в конце концов! очень многое решено до вас и за вас…

А вы пытаетесь изобрести велосипед с квадратными колесами… Но к нему специальную дорожку надо будет приделать 😃

Musgravehill
serj:

велосипед с квадратными колесами

по шпалам ездить 😁

blade:

ДУС (датчик угловых скоростей , а вовсе не гироскоп, как его неГуры называют), -три, акселерометр- три, магнетометр-три (для динамической коррекции ошибки ДУС) ЖПС- чем быстее, тем лучше 5-10Гц- для того же самого. Т.Е. для проверки наличия-отсутствия скольжения в те моменты, когда ДУС+акселерометры показывают горизонтальный полёт.

  1. Угловые скорости по 3м осям. ДУС + процессор = гироскоп в привычном понимании.
  2. Проекции всех действующих сил на 3 оси. Акселерометры.
  3. Вектор магнитного поля {x,y,z}. Магнетометр.
  4. Координаты в системе ШД+высота. GPS.

В итоге: быстрые вращения отслеживает гироскоп, плавные наклоны - акселерометр. По магнетометру делается коррекция уплывающих ДУС, акселерометров при наличии ускорений. По GPS отслеживается скольжение и высота. Можно бародатчик+УЗ датчик расстояний.

Объясните, пожалуйста, как быть, если:

  1. самолет делает плавный поворот без крена? ДУС не отследили медленно меняющееся возмущение.
  2. самолет делает быстрый поворот без крена так, что акселерометр начинает врать. Суммарный вектор = g+a_центростремительное, получается под углом 45 к вертикали, к примеру. Аксели отключить, дождаться окончания виража и сделать коррекцию?
  3. Самолет хочет стать морковкой в грядке. По осям акселерометра 0 в невесомости. Куда тянуть нос, чтобы выровняться?
blade
Musgravehill:

самолет делает плавный поворот без крена? ДУС не отследили медленно меняющееся возмущение.

Дык, на это ЖПС и приставлен: ему то всё равно, какой разворот-плавный-неплавный: он свою 0,1* выдаст. И компас 3Д не дремлет? Ему тоже плавность пофигу.
Опять же, высота хоть по ЖПС, хоть по баро меняется?
Караул! Падаем!!!
А УЗ в реальной жизни- годится только для посадки, работать начинает где то с 5 метров и врёт- как депутат: отражение от земли шибко от характера поверхности зависит, влажности и прочего…

Musgravehill
blade:

А УЗ в реальной жизни- годится только для посадки, работать начинает где то с 5 метров и врёт

У меня DYP-ME007 работают до 3 метров. Дальше бывают сбои. В Ардуино, кстати, функция измерения миллисекунд кривая, по второму фронту плохо работает.

msv
blade:

Караул! Падаем!!!

Ну если цель системы в предсмертном крике, то конечно… 😃 А вот восстановить сбитый горизонт,а значит адекватно управлять самолетом, уже вряд ли получится…

blade
msv:

уже вряд ли получится…

😢

Diman_Y
serj:

Было очень печально услышать от вас, что вы принцип работы МЕМС ДУС-ов поняли лишь после постройки всей системы…

Не заморачивайтесь. 😃

Папка с материалами, которые были использованны уже на данный момент, по автопилоту уже сейчас перевалила за 2 гига. Одних даташитов и т.д. только на 300 МБт. Если я упустил такой пустяк как оффсет ADC то это просто мелочи.
Еще я на пример забыл подсоединить ресет TMSa куданибудь и он у меня болтался в воздухе. Но это ведь не значит что автопилота не будет. 😃

Короче, сделал я видео ОСД (мое первое видео на ютюбе). 😃

Хотел сделать еще несколько роликов о том как система работает, но оказалось что микрофон не работает, и создание роликов нереносится.

ОСД работает в тестовом режиме. Просто что-то выводит.
При этом пик, который это обсчитывает, может нормально принимать команды. Фактически софт на этот пик уже доделан.

Короче, вот:

Вверху бугут направления домой и на вейпоинт.

Да, забыл. ОСД работает полностью. Если ДСП будет посылать команды, то эти команды нормально будут отображатьося. Я проверял. 😃

Diman_Y

Вчера прикол обнаружил.

Короче, когда стал испытывать все вместе вместе с сервами, то сервы у меня как-то странно дергались с очень большой задержкой. Я уже было про xBee плохо подумал, что типа это она вносит задержку.
Все оказалось гараздо проще. Оказывается сервы не понимают резкое изменение ширины импулься и думают что это ошибка, поэтому отрабатывают ее с ошибкой.
В итоге мне пришлось поставить что-то типа ФНЧ на обновление значений серв, чтобы сервы не сходили с ума. 😃
Сейчас все работает без задержек. 😃
Для джойстика осталось доделать писишный софт, тоторый будет отвечать за микширование серв, установку значений триммеров и всяких там экспонент. 😃

SGordon

а что за сервы? и насколько резко импульсы менялись?

Diman_Y
SGordon:

а что за сервы? и насколько резко импульсы менялись?

Сервы самые обычные, А импульсы менялись довольно резко, в половину всего диапазона за один раз. Был импульс 1 мс, а потом вдруг резко стал 1.5 или 2 мс. В итоге сервы начинала глючить и отрабатывать операцию с задержкой.

Diman_Y
SGordon:

не жизненные какие то изменения

Почему?
Вот была связь, потом пропала, а потом снова появилась… 😃
Для цифровой связи, которая сейчас, вполне жизненные. 😃

SGordon

не жизненные - в том смысле что самолет так не полетит … А про пропадание связи - да пожалуйста, обычное дело серва должна отрабатывать конечно …

blade
Diman_Y:

В итоге сервы начинала глючить и отрабатывать операцию с задержкой.

А что, серва должна глючить, если к примеру канал управляется не джойстиком (плавно меняющим длительность) а тумблером? И импульс при этом- меняется как раз “вдруг”- время переключения контакта- меньше миллисекунды 😃
А РРМ , кроме того- и сам по себе 50 раз в секунду “меняется” 😦 ?
Что то ни у кого- не глючит?

Иван

думаю, автор имел виду что за секунду ппм мог поменяться в диапазоне раз 50, а если так то за счёт определюнной скорости самой сервы она и отрабатывала среденее “арифметическое” пощёлкайте тумблером раз 10 быстро - серва вообще может не двинуться:)

Панкратов_Сергей
Diman_Y:

В итоге мне пришлось поставить что-то типа ФНЧ на обновление значений серв, чтобы сервы не сходили с ума.

Проблема точно не в этом. Обычные сервы не задумаются при сколь угодно резком изменении длительности управляющего импульса в пределах допустимых длительностей.
Какой то баг в коде - генерирует не те длительности импульсов.

blade
Панкратов_Сергей:

Какой то баг в коде

По моему, дело не в коде 😦
Не удивлюсь, если автор нам поведает, что он не читал, как устроена РРМ кодировка 😂