Перейти к содержанию
    

Mikhail_015

Участник
  • Постов

    15
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Mikhail_015


  1. В 03.07.2020 в 14:42, AndreyVN сказал:

    Скажу честно, весь топик не читал, но тема хорошо знакома.

    Gimbal lock или регуляризация уравнений Эйлера действительно решается переходом к 4 параметрам - параметрам Родрига-Гамильтона. Подробно см. Бранец В.Н., Шмыглевский И.П. Применение кватернионов в задаче ориентации твердого тела. Только, 4 параметра не имеют ничего общего с четвертой осью.

    Пока Вы работаете с углами Эйлера или Крылова победить особую точку - не удастся, в какой-то монографии это явно прописано, если сильно нужно - напишите, подниму старые записи, возможно, найду ссылку.

    Увы, используя 3 рамы, мы имеем проблему НЕ с математикой, а с механикой. Ибо, если 1 и 3 оси встают параллельно (а это запросто может быть, если внутренней рамке "захочется" туда повернуться, как, например летчику или космонавту), то происходит блокировка, каким бы образом Вы ни считали математику - с помощью углов Эйлера , или кватернионов, или ещё как ...

  2. В 02.06.2020 в 22:23, Rst7 сказал:

    Что-то чем дальше в лес, тем вообще какой-то туман с этой четвертой осью. А можете вообще ссылку на какое-нибудь описание предоставить (именно про четырехосвевые дела с удержанием в перпендикуляре к рамке 2)? А то я что-то совсем разучился в гугл, ничего не могу найти.

    И опять здравствуйте.

    Здесь немного написано про проблему, необходимость дополнительной рамки и держать ее под 90 градусов, чтобы избежать блокировки: 

    https://en.wikipedia.org/wiki/Gimbal_lock

    image.thumb.png.6a8f4ceb03474902e6f0ea51469b7d49.png

  3. 2 часа назад, AlexandrY сказал:

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

    Спасибо. Вселяет оптимизм, что Вам "сразу видно" - а то большинству людей надо упорно объяснять необходимость четвертой рамки.

    У нас есть товарищи, которые могут перевести математику в необходимые повороты осей, но у нас НЕТ самОй математики.

    То есть, например, "на входе" имеем углы положения внутренней рамки относительно "земли" X, Y, Z, а положение 4-х осей при этом A, B, C, D.

    Необходимо каждый угол изменить на x, y, z (то есть получить новое положение внутренней рамки X+x, Y+y, Z+z). И на "выходе" этой математики надо иметь решение - НА КАКИЕ УГЛЫ a, b, c, d НАДО ПОВЕРНУТЬ все 4 оси (то есть получить положение 4-х осей A+a, B+b, C+c, D+d) чтобы получить требуемое положение внутренней рамки?

    И, при этом, чтобы избежать "вырождения осей" держать плоскости рамы 4 и 2 перпендикулярно (правда, в Вашей версии это 1 и 4 рамки - но это пока не важно).

    Вот мы и "упёрлись" в отсутствие у нас этой "математики" пересчета...

    В надежде на неё выйти и обратились сюда.

     

  4. https://ru.wikipedia.org/wiki/Складывание_рамок

    Оканчивается текст фразой:

    Решение проблемы — добавление четвёртой внешней рамки (redundant gimbal), управляя которой удерживают среднюю рамку в удалении от области «gimbal lock»[1].

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

    И если из этого положения ей надо будет горизонтально развернуться на Юг или Север? И не важно, как в этот момент внутренняя рамка 1 сориентирована - или горизонтально, или повернута по оси 1 на какой-либо угол - она НЕ МОЖЕТ повернуться вокруг вертикальной оси (в сторону Юга или Севера) - её нет...

    А если бы внешняя (3-я) рамка стояла бы "на ребре", то тогда внутренняя рамка НЕ МОГЛА бы двигаться вертикально верх (ось 2 стояла бы вертикально). А если бы она была повернута на любой другой угол, например, 17 градусов, то рамка 1 не могла бы двигаться по наклонной траектории в 17 градусов... То есть, когда внутренней рамке "захочется" сориентироваться на Восток и быть при этом "в горизонте", (то есть когда СОВПАДАЮТ оси 1 и 3), то возникает проблема, о которой мы и говорим.

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

    А ведь рамка у нас такая вредная, ей наверняка "захочется" когда-нибудь занять это положение ;-)

    Для этого и нужна 4-я ось.

    image0 (3).jpeg

  6. Так вот как раз и проблема в том, что мы должны в любой точке НЕ ИМЕТЬ вырождения, и иметь возможность не просто выйти из точки вырождения КУДА-ТО, куда позволяет ситуация, и потом ехать дальше, а иметь возможность В ЛЮБОЙ ТОЧКЕ иметь возможность двигаться в ЛЮБОМ направлении...

    То есть, НЕ ИМЕТЬ нигде вырождения...

  7. 36 минут назад, Rst7 сказал:

    Ладно, я так понял, у Вас там не гироскоп внутри, а наоборот Вы сами хотите вращать произвольно внутреннее тело. Тогда все с точностью до наоборот. Из нужной Вам DCM, определяющей положение тела в пространстве относительно Земли, вы получаете угол a2. Мотор a4 устанавливаете a4=a2+pi/2. Затем DCM поворачиваете на угол pi/2-a2. Потом достаете из повернутой DCM углы a1 и a3, они и будут нужными углами соответствующих моторов. А мотор a2 устанавливаете в pi/2.

    Добрый день.

    Спасибо.

    Извините, вынужден был немного отсутствовать...

    Да, Вы правильно поняли задачу - нам надо вращать тело четырьмя осями, и не иметь НИКАКИХ ограничений по направлению его движения, вращения. С самого начала я написал про Гироскоп, ибо у большинства людей возникают вопросы о необходимости 4-й оси, а про гироскоп и необходимость 4-й рамки для того, чтобы избежать gimbal lock, много где написано.

    Попробуем смоделировать, что Вы написали.

  8. Да, именно так и есть. Надо все время держать плоскость 4-й (внешней) рамки в перпендикуляре ко второй рамке - и задача решена.

    Но я с этим вопросом и пришел сюда - какой математикой преобразовывать необходимые (требуемые) углы поворота тела (=внутренней рамки) в четыре угла поворота всех четырех осей рамок, и при этом держать в перпендикуляре эти 4-ю и 2-ю рамки. Как я понимаю, стандартных функций для такого преобразования нет - 3 угла в 4 угла поворота, два из которых "связаны"... 

  9. 7 минут назад, AlexandrY сказал:

    Тогда непонятна в чем вы нашли проблему. Держите 4-ю рамку на подстраховке одной из тех что сложаться.
    Т.е. перепендикулярной ей и перпендикулярно третьей в точке вырождения. Что тут сложного?  

    Вот-вот, поэтому сюда и обратился, что для вас ничего сложного, а для меня непонятно, какими формулами преобразовывать (3 необходимых угла поворота тела, например, X,Y,Z в 4 угла поворота всех 4-х осей,  например, A, B, C, D), и как в них "зашить" постоянную перпендикулярность 4-й и 2-й рамки.

     

  10. Ну вот, я, похоже, опять не правильно объяснил...

    Есть не виртуальные, а вполне физические 4 рамки одна в другой, с осями под 90 градусов. 
    И ко внутренней рамке прикреплено тело, которое необходимо иметь возможность вращать из любого места по ЛЮБОЙ возможной траектории, в ЛЮБОМ направлении (это НЕ является невозможным при 4-х рамках).  
    И эти всевозможные направления движения надо обеспечивать нужными поворотами осей этих 4-х рамок. 

  11. 19 минут назад, AlexandrY сказал:

    Если подумать, то ту же ориентацию можно получить и сдругим расположением рамок.  Так что мешает привести к этому другому расположению? 

    Ну, и, на всякий случай, уточню, что задача состоит не просто в занятии телом определенного положения в пространстве - это можно было бы решить и тремя рамами, а необходимо в ЛЮБОМ его положении в пространстве иметь возможность вращаться по каждой из трёх осей, т.е. ИЗБЕЖАТЬ блокировки осей.

    а это без 4-й рамки никак...

  12. 19 минут назад, AlexandrY сказал:

    Зачем придумывать 4-ю ось если можно просто поменять схему поворотов при определенных ориентациях? 
    Ведь все обработки и фильтрации угловых перемещений все равно ведутся в пространстве кватернионов.
    Потом когда надо вернуться к физическим углам кватернионы конвертируют в схему поворотов.
    И если эта схема поворотов приводит в точку вырождения или близко к ней (когда две рамки гимбала оказываются совмещенными в одной плоскости) то просто выбирают другую схему поворотов где совмещения рамок не возникнет.. 

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

  13. 7 часов назад, Егоров сказал:

    Может я неверно понял проблему, но давным-давно в надежных гироскопах ставили четвертый канал под 45 градусов к остальным трем.
    Потерянная ось вычислялась проекцией ( умножением на коэффициент ) показаний 4-го канала.

    Спасибо за ответ.

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

    И иначе бы у нас не было хороших приборов на основе гироскопа.

    Я просто, сколько не искал, не нашел выхода на математические формулы, которые помогут мне НЕ с гироскопом, а с переводом 3-х углов отклонения, которые должны производятся "внутренним" телом, в необходимые углы отклонения четырех осей, которые вращают 4 рамки, и таким образом, обеспечивают поворот "внутреннего" тела на заданные углы.

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

    Поэтому и обращаюсь сюда, к спецам - в надежде выйти на формулы, которые я смог бы использовать.

  14. Здравствуйте.

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

    Если я правильно понимаю, для устранения возможности "блокировки (вырождения) осей" (gimbal lock и т.д.) при 3-х осях (рамках) гироскопа, необходимо добавить 4-ю вращающуюся рамку и держать ее плоскость в перпендикуляре с плоскостью 2-й рамки.

    Т.е., как для гироскопа, так и для получения БЕСПРОБЛЕМНОГО вращения тела в 3-х мерном пространстве (мне надо найти решение именно для этой задачи) необходимо иметь математику пересчета углов движения тела, зафиксированного во внутренней, первой раме (например, по аналогии с самолетами - крен, тангаж, рысканье) в углы поворота всех 4-х осей рамок (держа при этом плоскости 4-й и 2-й рамок все время перпендикулярно).

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

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

    Тема вырождения осей уже обсуждалась, но немного в другом плане.

    Заранее спасибо.

     

×
×
  • Создать...