LINUX.ORG.RU

Преобразование угловых скоростей

 ,


1

2

Как происходит преобразование линейных координат при изменении системы координат мне понятно. Вопрос как преобразовать угловые скорости при переходе от одной системы координат к другой при их повороте? Можно ограничится поворотом по одной оси.

ЕМНИП то ли на синус, то ли на косинус угла надо умножать

Есть же матрицы поворота

bvn13 ★★★★★
()

перейти из сферических координат в декартовы, там сделать преобразование поворота, и потом перейти обратно.

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

У меня нет сферических координат. Задача есть гироскоп, он выдает угловые скорости относительно своего корпуса Vx, Vy, Vz. Гироскоп установлен в «устройстве» под некоторым углом a. Ось y гироскопа и y' прибора совпадают, между осями x-x' и z-z' угол а. Мне нужно из Vx, Vy, Vz получить Vz'. Само положение в пространстве меня не интересует, нужна угловая скорость...

ZayaTCCC
() автор топика
Ответ на: комментарий от ZayaTCCC

По сути это скорости в сферических координатах.

dikiy ★★☆☆☆
()

как преобразовать угловые скорости при переходе от одной системы координат к другой при их повороте?

Угловая скорость. Связь с конечным поворотом в пространстве ©.

Можно ограничится поворотом по одной оси.

Проще всего через квартернион ©.

quickquest ★★★★★
()
Ответ на: комментарий от ZayaTCCC

А можно то же самое, но в форме доступной простым колхозникам.

Проще «низя». Это основы механики твёрдого тела (погугли пособие «для колхозников»). Ну или теория гироскопа «для чайников».

quickquest ★★★★★
()
Ответ на: комментарий от dikiy

Возьмем для примера уугловую скорость omega в плоскости XY. Имеем

r'·e_x/|r| = cos(omega), где e_x единичный вектор по X.

Пусть T матрица перехода в новые координаты. Для простоты положим, что она ортогональная, это значит, что |r| не меняется.

тогда имеем

T r'·e_x/|r|=cos(omega2).

Основая задача состоит в том, чтобы найти все компоненты вектора r', исходя из угловых скоростей:

r_x=R cos(theta)cos(phi) — это выражение перехода координат из сферических в декартовы. Угловая скорость omega — это d(phi)/dt. Значит берем производную по t от r_x:

r'_x= - R sin(theta)theta' cos(phi) - R sin(phi)phi' cos(theta)
r'_y= - R sin(theta)theta' sin(phi) + R cos(phi)phi' cos(theta)
r'_z= R cos(theta)theta'

phi' и theta' — угловые скорости.

Отсюда видим, что угловую скорость r'_x можно рассчитать, исхода из координат phi и theta (повернутой системы) и собственно самих скоростей phi', theta'

dikiy ★★☆☆☆
()

Угловая скорость — это по сути аксиальный вектор. Так что твоя задача - повернуть аксиальный вектор в трехмерном пространстве. Ну а остальное тебе уже все сказали: матрицы поворота, кватернионы, аффинные преобразования... Что больше нравится, то и применяй.

morse ★★★★★
()
Ответ на: комментарий от morse

Я правильно понимаю, что сигналы по трем осям гироскопа дают мне компоненты аксиального вектора угловой скорости в привязке к системе координат гироскопа, после этого я считаю скалярное произведение этого вектора, на единичный вектор нужной мне оси и получаю значение угловой скорости на нужной мне оси?

ZayaTCCC
() автор топика
Ответ на: комментарий от ZayaTCCC

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

morse ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.