Mikhail_015 0 29 мая, 2020 Опубликовано 29 мая, 2020 · Жалоба Здравствуйте. Возможно, эта тема уже обсуждалась, но я не смог найти обсуждение и решение задачи, которая появилась у меня. Если я правильно понимаю, для устранения возможности "блокировки (вырождения) осей" (gimbal lock и т.д.) при 3-х осях (рамках) гироскопа, необходимо добавить 4-ю вращающуюся рамку и держать ее плоскость в перпендикуляре с плоскостью 2-й рамки. Т.е., как для гироскопа, так и для получения БЕСПРОБЛЕМНОГО вращения тела в 3-х мерном пространстве (мне надо найти решение именно для этой задачи) необходимо иметь математику пересчета углов движения тела, зафиксированного во внутренней, первой раме (например, по аналогии с самолетами - крен, тангаж, рысканье) в углы поворота всех 4-х осей рамок (держа при этом плоскости 4-й и 2-й рамок все время перпендикулярно). Если с первой (внутренней) осью (которая, например, ответственна за вращение по "крену") все просто, то повороты по двум остальным осям ("тангаж", "рысканье") необходимо преобразовать в одновременные (в общем случае) повороты остальных трех осей (рамок). Подскажите, пожалуйста, где можно найти решение этой задачи и, по возможности, минимизировать вычислительный процесс, чтобы обеспечить хорошее быстродействие системы (четырех вращающихся рамок). Тема вырождения осей уже обсуждалась, но немного в другом плане. Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Егоров 0 29 мая, 2020 Опубликовано 29 мая, 2020 · Жалоба Может я неверно понял проблему, но давным-давно в надежных гироскопах ставили четвертый канал под 45 градусов к остальным трем. Потерянная ось вычислялась проекцией ( умножением на коэффициент ) показаний 4-го канала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mikhail_015 0 29 мая, 2020 Опубликовано 29 мая, 2020 · Жалоба 7 часов назад, Егоров сказал: Может я неверно понял проблему, но давным-давно в надежных гироскопах ставили четвертый канал под 45 градусов к остальным трем. Потерянная ось вычислялась проекцией ( умножением на коэффициент ) показаний 4-го канала. Спасибо за ответ. Ну да, я и не сомневаюсь, что есть механические решения для этой ситуации - наверно, любая четвертая ось, расположенная под ненулевым углом к внешней (третьей) рамке, решает эту задачу. И иначе бы у нас не было хороших приборов на основе гироскопа. Я просто, сколько не искал, не нашел выхода на математические формулы, которые помогут мне НЕ с гироскопом, а с переводом 3-х углов отклонения, которые должны производятся "внутренним" телом, в необходимые углы отклонения четырех осей, которые вращают 4 рамки, и таким образом, обеспечивают поворот "внутреннего" тела на заданные углы. Скорее всего, эта математика для специалистов не очень сложная (кватернионы там всякие, умножения матриц поворота и т.п.), но я не особо математик, а задачу с определением углов поворота 4-х осей хотелось бы решить... Поэтому и обращаюсь сюда, к спецам - в надежде выйти на формулы, которые я смог бы использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба Я никаких знаний в этой области не имею. Предлагаю распределить 4 оси равномерно в пространстве. Направить оси из центра тетраэдра к его вершинам (надеюсь, понятно описал). А как и что там считать - без понятий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба 19 hours ago, Mikhail_015 said: Если я правильно понимаю, для устранения возможности "блокировки (вырождения) осей" (gimbal lock и т.д.) при 3-х осях (рамках) гироскопа, необходимо добавить 4-ю вращающуюся рамку и держать ее плоскость в перпендикуляре с плоскостью 2-й рамки. Зачем придумывать 4-ю ось если можно просто поменять схему поворотов при определенных ориентациях? Ведь все обработки и фильтрации угловых перемещений все равно ведутся в пространстве кватернионов. Потом когда надо вернуться к физическим углам кватернионы конвертируют в схему поворотов. И если эта схема поворотов приводит в точку вырождения или близко к ней (когда две рамки гимбала оказываются совмещенными в одной плоскости) то просто выбирают другую схему поворотов где совмещения рамок не возникнет.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mikhail_015 0 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба 19 минут назад, AlexandrY сказал: Зачем придумывать 4-ю ось если можно просто поменять схему поворотов при определенных ориентациях? Ведь все обработки и фильтрации угловых перемещений все равно ведутся в пространстве кватернионов. Потом когда надо вернуться к физическим углам кватернионы конвертируют в схему поворотов. И если эта схема поворотов приводит в точку вырождения или близко к ней (когда две рамки гимбала оказываются совмещенными в одной плоскости) то просто выбирают другую схему поворотов где совмещения рамок не возникнет.. Я как раз и привёл пример с гороскопом, чтобы понятно было, что без 4-й оси решить задачу корректно невозможно. В определенной ориентации возникает блокировка вращения по одному из каналов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба 1 minute ago, Mikhail_015 said: Я как раз и привёл пример с гороскопом, чтобы понятно было, что без 4-й оси решить задачу корректно невозможно. В определенной ориентации возникает блокировка вращения по одному из каналов. Если подумать, то ту же ориентацию можно получить и сдругим расположением рамок. Так что мешает привести к этому другому расположению? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mikhail_015 0 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба 19 минут назад, AlexandrY сказал: Если подумать, то ту же ориентацию можно получить и сдругим расположением рамок. Так что мешает привести к этому другому расположению? Ну, и, на всякий случай, уточню, что задача состоит не просто в занятии телом определенного положения в пространстве - это можно было бы решить и тремя рамами, а необходимо в ЛЮБОМ его положении в пространстве иметь возможность вращаться по каждой из трёх осей, т.е. ИЗБЕЖАТЬ блокировки осей. а это без 4-й рамки никак... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба 1 hour ago, Mikhail_015 said: Ну, и, на всякий случай, уточню, что задача состоит не просто в занятии телом определенного положения в пространстве - это можно было бы решить и тремя рамами, а необходимо в ЛЮБОМ его положении в пространстве иметь возможность вращаться по каждой из трёх осей, т.е. ИЗБЕЖАТЬ блокировки осей. а это без 4-й рамки никак... Тогда надо яснее формулировать. Дескать так и так, но почему-то хочу двигать телом в рамках по невозможной траектории с произвольного места в физическом гимбале. А в пространстве с вображаемыми рамками (и меняя на ходу конфигурацию их соединения) вам ничто не мешает двигать тело как угодно с любой позиции и без всяких виртуальных 4-х рамок. Тем виртуальность и отличается от реальности что там можно мгновенно все менять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mikhail_015 0 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба Ну вот, я, похоже, опять не правильно объяснил... Есть не виртуальные, а вполне физические 4 рамки одна в другой, с осями под 90 градусов. И ко внутренней рамке прикреплено тело, которое необходимо иметь возможность вращать из любого места по ЛЮБОЙ возможной траектории, в ЛЮБОМ направлении (это НЕ является невозможным при 4-х рамках). И эти всевозможные направления движения надо обеспечивать нужными поворотами осей этих 4-х рамок. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба 12 minutes ago, Mikhail_015 said: Ну вот, я, похоже, опять не правильно объяснил... Есть не виртуальные, а вполне физические 4 рамки одна в другой, с осями под 90 градусов. И ко внутренней рамке прикреплено тело, которое необходимо иметь возможность вращать из любого места по ЛЮБОЙ возможной траектории, в ЛЮБОМ направлении (это НЕ является невозможным при 4-х рамках). И эти всевозможные направления движения надо обеспечивать нужными поворотами осей этих 4-х рамок. Тогда непонятна в чем вы нашли проблему. Держите 4-ю рамку на подстраховке одной из тех что сложаться. Т.е. перепендикулярной ей и перпендикулярно третьей в точке вырождения. Что тут сложного? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mikhail_015 0 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба 7 минут назад, AlexandrY сказал: Тогда непонятна в чем вы нашли проблему. Держите 4-ю рамку на подстраховке одной из тех что сложаться. Т.е. перепендикулярной ей и перпендикулярно третьей в точке вырождения. Что тут сложного? Вот-вот, поэтому сюда и обратился, что для вас ничего сложного, а для меня непонятно, какими формулами преобразовывать (3 необходимых угла поворота тела, например, X,Y,Z в 4 угла поворота всех 4-х осей, например, A, B, C, D), и как в них "зашить" постоянную перпендикулярность 4-й и 2-й рамки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба On 5/29/2020 at 1:52 PM, Mikhail_015 said: необходимо добавить 4-ю вращающуюся рамку и держать ее плоскость в перпендикуляре с плоскостью 2-й рамки. А, простите, можно картинку этих четырех рамок? В смысле где именно оси проходят? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mikhail_015 0 1 июня, 2020 Опубликовано 1 июня, 2020 · Жалоба Извините, я не только математик не очень, но и художник не ахти... Но примерно это может выглядеть так, как самый простой вариант рамок, "вложенных" одна в другую: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 1 июня, 2020 Опубликовано 1 июня, 2020 · Жалоба 3 hours ago, Mikhail_015 said: Но примерно это может выглядеть так, как самый простой вариант рамок, "вложенных" одна в другую: Если в этом варианте, крутя мотором самые наружные оси Вы будете удерживать 90 градусов в отмеченных осях, то вроде будет так, как надо: При любом повороте второй от наружной рамки угол будет определяться только положением наружной рамки. Вот сейчас у Вас на картинке угол в отмеченных осях - 0, а надо крутить мотором наружную рамку, пока не станет 90. И все вроде. Энкодер, PID-регулятор, мотор - и вперед ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться