Unity3d 来自惯性模块LSM9DS1 Arduino的定向问题

Unity3d 来自惯性模块LSM9DS1 Arduino的定向问题,unity3d,arduino,iot,accelerometer,gyroscope,Unity3d,Arduino,Iot,Accelerometer,Gyroscope,我正在做一个项目,我必须用加速计、陀螺仪和磁强计确定物联网物体的位置和旋转。目标是在Unity3D虚拟世界中显示此对象 为此,我有一个Arduino Nano 33 BLE,其中包括一个LSM9DS1作为惯性模块。 所以,我开始确定物体的旋转。这个链接非常有用: 这是获取Y轴的直线: 角度=0.98*(角度+浮动(gy)0.01/131)+0.02atan2((双)ax,(双)az)*180/PI 用这个,我可以得到X,Y和Z角。当我尝试一个接一个的轴方向时,所有的轴旋转都很好。问题是当我同时使

我正在做一个项目,我必须用加速计、陀螺仪和磁强计确定物联网物体的位置和旋转。目标是在Unity3D虚拟世界中显示此对象

为此,我有一个Arduino Nano 33 BLE,其中包括一个LSM9DS1作为惯性模块。 所以,我开始确定物体的旋转。这个链接非常有用:

这是获取Y轴的直线: 角度=0.98*(角度+浮动(gy)0.01/131)+0.02atan2((双)ax,(双)az)*180/PI

用这个,我可以得到X,Y和Z角。当我尝试一个接一个的轴方向时,所有的轴旋转都很好。问题是当我同时使用两个或更多轴时。例如,我只使用X轴和Y轴。当我仅将X轴旋转90°时,Y轴也将旋转90°。本视频将比文字更准确地解释:

我找了很多东西来修复它,但现在,我不知道了。有人能指引我吗