Единый протокол
похоже на алгоритмы расчёта углов через кватернионы
Точно так. Просто слово это умное забыл.
Широко используется фильтр Калмана и сейчас стал популярен альфа-бета фильтр
Альфа-бета – ИМХО туповат. Идея, конечно хорошая, но это попытка сгладить значения за счет статистики. А в нашем случае, когда оно должно жить сейчас, т.е. он-лайн – оно не канает. Сглаживая оно угробляет точность. Да и Кальман не безгрешен. И его пробовал. Коррекция одних данных через другие – более эффективна.
Уж лучше делать массивы датчиков. И по данным большого массива получать более точные данные по угловым скоростям. А значит, интегрируя по времени (время между замерами считать) получать данные по углам. (хотя уж лучше получать вектора)
Или, как вариант “совмещать ужа с ежом”. У вас куча ДЛУ. В одной из книг читал, что если их разнести от ЦТ на некоторое расстояние, то можно с некоторой точностью по разности сил вычислять углы смещения. Конечно это было писано для кораблей. Но если усложнить, то и для систем вращающихся в трехмере покатит. А значит смешав их через кватернионы с данными простого ДЛУ и ГИРов можно добиться усреднения и устранения “плывунов”. Хотя, думаю, идея уже не нова.
если дадите источники, где такое было написано
Извините. Я-то диссер на эту тему не пишу… Источники, увы, не сохранил. Просто принял к сведению и держу в голове.
Кватернионы - слово то какое хитрое. Сейчас давно не выпендриваются, говорят: матрицы, вектора…
Сейчас давно не выпендриваются, говорят: матрицы, вектора…
Хм… как бы матрицы это одно, векторы - другое а кватернион - третье. 😃
Все - частный случай матрицы, такшто нефик. 😃
Все - частный случай матрицы, такшто нефик
Так можно и натуральные числа к матрицам свести. Тоже типа частный случай 😃
Ну совсем уж в крайности я думаю не стоит бросаться.
А про то, о чем речь - там матричная математика. Перемножение матриц, сложение матриц, транспонирование, нормализация и т.п. И для краткости весь этот зоопарк матрицами зовут, и классы (в языках программирования) - сплошь обзывают matrix.
Или, как вариант “совмещать ужа с ежом”. У вас куча ДЛУ. В одной из книг читал, что если их разнести от ЦТ на некоторое расстояние, то можно с некоторой точностью по разности сил вычислять углы смещения. Конечно это было писано для кораблей. Но если усложнить, то и для систем вращающихся в трехмере покатит.
Подозреваю, что речь шла не про измерение углов, а про измерение угловых ускорений, из которых углы получаются двойным интегрированием. Уж лучше честный ДУС, благо их есть и незадорого 😃
2RedSun
Я почитал Вашу ссылку и смотрю есть много протоколов
Какой из них максимально востребованный?
Вам оно для чего ? Если хочется получать красивые картинки из наземки, то достаточно любого, который эта самая наземка понимает. Творение ХеппиКилмора понимает почти все из Вашего списка. Родной для нее ArduPilot Legacy (ASCII). Я Вам прислал ссылку на код, который этот протокол реализует. Вполне достаточно для экспериментов…
Сырцы, реализующие другие протоколы, придется выковыривать из других проектов. Это вполне реально, я как-то приживил к ардупилоту глюоновскую наземку. Требует аккуратности и понимания того, что делаешь.