From c1fab9fcb3d868085615d59e25db2ff70a5b3acd Mon Sep 17 00:00:00 2001 From: Radzhab Bisultanov Date: Thu, 12 Mar 2026 13:26:06 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D1=8B=20?= =?UTF-8?q?=D0=BD=D0=B5=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=20IRS.h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/INS/IRS.h | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/Source/INS/IRS.h b/Source/INS/IRS.h index 1645a77..18ba789 100644 --- a/Source/INS/IRS.h +++ b/Source/INS/IRS.h @@ -6,33 +6,35 @@ #include "quaternion.h" #include "vector.h" -Quaternion orientationQuat; -Vector3 tilts; // local oriented sinX sinY cosZ - typedef struct { - Vector3 Gyro, Accel; -} IMU; // последние значения датчиков + Quaternion orientationQ; // главный кватерион ориентации + // Vector3 tilts; // локально ориентированные наклоны sinX sinY cosZ + + Vector3 gyro, accel; // последние значения датчиков + + float roll, pitch, yaw; -typedef struct -{ - Vector3 Accel, Spd, Pos; -} Inertial; // инерциальные значения движения + // Vector3 accel, spd, pos; // инерциальные значения движения +} IRS; + +void updateIRS(IRS* irs, const Vector3* gyro, const Vector3* accel, float dt); +void IRSgetEuler(const IRS* irs); void updateGyro(Vector3* gyro, const Vector3* newGyro); void updateAccel(Vector3* accel, const Vector3* newAccel); -void setShiftAlpha(const Vector3* pos, const Vector3* spd, const float* qua); // коэффициент восстановления позиции и скорости в секунду +// void setShiftAlpha(const Vector3* pos, const Vector3* spd, const float* qua); // коэффициент восстановления позиции и скорости в секунду -void updatePosSpeed(); +// void updatePosSpeed(); void updateQuat(); -void restoreAllShift(); +// void restoreAllShift(); -void setAccelShift(); +// void setAccelShift(); -void getSinXYCosZ(); -void getRollPitchYaw(); -void getInertial(); +// void getSinXYCosZ(); +// void getRollPitchYaw(); +// void getInertial(); #endif \ No newline at end of file