Б.г.> первые три колонки - угловые скорости
Сразу хочу уточнить сопряжение осей датчиков с моей системой координат.
На старте ракета направлено перпендикулярно плоской поверхности старта, где её локальная система координат имеет следующие направления:
Ось Y направлена вдоль корпуса ракеты к её обтекателю и также перпендикулярна плоской поверхности старта.
Ось Х направлена условно вправо, если смотреть на ракету сбоку.
При первых двух условиях задания осей X и Y, ось Z получается автоматически при известном условии, что система координат правосторонняя.
Теперь для датчиков я взял пока вот так:
Для угловых скоростей:
GLRocket.VWFull.X := Giro_Y.GetY(GL_Time);
GLRocket.VWFull.Y := Giro_Z.GetY(GL_Time);
GLRocket.VWFull.Z := Giro_X.GetY(GL_Time);
Правильно ли выбраны знаки по осям?
Для ускорений:
GLRocket.A.X := -Axel_Y.GetY(GL_Time);
GLRocket.A.Y := -Axel_Z.GetY(GL_Time);
GLRocket.A.Z := -Axel_X.GetY(GL_Time);
Ускорения брать с обратным знаком по всем осям?
Пока по воспроизведению получается, что до 2,5с всё, нормально, а потом в районе 2,5-3с на канале угловой скорости Z (вроде) наблюдается зашкаливание данных, и ракета в итоге в этот момент поворачивается как-то не так и далее летит уже не туда, хотя вектор ускорений направлен относительно корпуса ракеты верно - перпендикулярно её главной оси, что должно соответствовать её горизонтальному полёту вниз, если бы данные в этот момент не потерялись.