From 982bac4c65a29ee6001535dc23a97992996476bf Mon Sep 17 00:00:00 2001 From: ioFish <1747370119@qq.com> Date: Sat, 31 Jan 2026 21:03:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=80=92=E7=BD=AE=E4=BA=91=E5=8F=B0?= =?UTF-8?q?=E5=BA=95=E5=BA=A7=E6=97=B6=E4=BA=91=E5=8F=B0=E6=BC=82=E7=A7=BB?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- UserLib/BMI088/IMU_Task.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/UserLib/BMI088/IMU_Task.cpp b/UserLib/BMI088/IMU_Task.cpp index 6e33b53..64f9c0a 100644 --- a/UserLib/BMI088/IMU_Task.cpp +++ b/UserLib/BMI088/IMU_Task.cpp @@ -106,6 +106,13 @@ void InsTask(void *argument) { &bmi088_real_data.temp); } + // 倒拿检测与修正 + if (bmi088_real_data.accel[2] < 0) { // 假设 z 轴向下为正 + bmi088_real_data.accel[0] = -bmi088_real_data.accel[0]; // 反转 x + bmi088_real_data.accel[1] = -bmi088_real_data.accel[1]; // 反转 y + bmi088_real_data.accel[2] = -bmi088_real_data.accel[2]; // 反转 z + } + AHRS.update(bmi088_real_data.gyro[0], bmi088_real_data.gyro[1], bmi088_real_data.gyro[2], bmi088_real_data.accel[0], bmi088_real_data.accel[1], bmi088_real_data.accel[2]); get_angle(AHRS.q.data(), INS_angle, INS_angle + 1, INS_angle + 2);