Как обработать данные акселерометра и гироскопа в фильтре Мэджвика - PullRequest
0 голосов
/ 10 февраля 2020

Я использую MPU-6050 для получения данных акселерометра и гироскопа.
Я хочу использовать фильтр Madgwick для обработки моих данных.
Фильтр Madgwick отсюда:
https://github.com/morgil/madgwick_py/blob/master/madgwickahrs.py

Акселерометр работает нормально, и я получаю координаты X, Y, Z в градусах в диапазоне [-90; +90].
Гироскоп тоже работает нормально. Я конвертирую данные гироскопа в радианы / сек c: gyro_x = gyro_raw_x * 0,01745.
Но когда я использую фильтр Мэджвика, я получаю некоторые неверные данные.
Вот код в Python:

angles = MadgwickAHRS()
gyro_xyz = [gyro_x,gyro_y,gyro_z] # in Radian\sec
acc_xyz = [acc_x,acc_y,acc_z]     # in degrees
 # Madgwick filter
angles.update_imu(gyro_xyz,acc_xyz)
degrees = angles.quaternion.to_euler_angles() # transform data to Euler angles

После фильтра Мэджвика я получаю такие данные:
"x": "- 0,07", "y": "0,00", "z": "- 0,03" И эти данные почти не совпадают не меняется, когда я поворачиваю свое устройство.
Что я должен сделать, чтобы получить правильные данные из фильтра Madgwick ??

...