坐标系
直接读取到的 N100 惯导模块的数据,参考坐标系为北东地坐标系,而机器人一般使用的是东北天坐标系。
位置信息:
大佬,我的位置10分钟漂移的数大概是:N:-0.015米->0.160米, E :-0.034 -> 0.033, N : 0.136 -> -0.578
角度信息
需要做的事情
- 切换波特律为115200,921600太快,容易丢包。上位机就行。
- 添加磁力计校准,九轴融合。发现校准不了。。。。4%的误差才行。之后还需要设置参数吗?有没有防磁的屏蔽罩。如何判断是使用了磁力计开关的? 打开 AID_MAG_V_MAGNETIC
- 打开 AID_ZERO_POS_UPDATE
- 打开AID_ZERO_VEL_UPDATE
- 关闭AID_INIT_YAW_USE_MAG, 需要从零开始的航向角,就关闭这个开关。这个开关需要打开磁力计的融合。
- 惯导模块调平:安装之前进行校准,确保静止状态下YAW数据不会改变,安装之后调平,确保重力加速度正常及安装误差角调零。
校准和调平
这里需要做的工作比较多。当下面的参数在什么情况下,就能使用了呢?
加速度计的模需要为9.8左右。
陀螺仪
三轴角度在静止状态下都应该是什么样的稳定度呢?
量程呢?怎么yaw总是在0和360度表外化呢?
初始状态下,pitch和roll都是相对北东地坐标的,然后yaw不加磁的更新,就是初始为0.
然后加磁的更新,yaw也是相对北东地的,如果打开磁力计的开关,那么yaw会有磁的纠正。
yaw的量程是0~360度。
位置应该都是0
初始时刻位置应该都是0,至少有0.5cm的稳定度,单位是米。也就是说,三轴的位置刚上电应该有0.01米不跳动。
之后都是相对于一开始的位置,在北东地三轴上的线位移。
安装坐标系?-初始坐标系
磁力计
打开磁力计开关需要注意精度,尽量小点,2%,%3。
现在在电脑跟前,最好校准的效果就是4%, 看看4%拟合误差下,yaw能偏离多少?
- 8字画的稍微慢一点小一点。具体看视频教程
- 等变成high之后,最好的拟合误差小于阈值,点transmit
- 点write flash
出现下面的界面是不是正常的??: - 右边出现这个就成功了:
(FDI 011) SUCCESS: Executed CMD: 245 (FDI 011) config: Parameters saved to flash memory.
- 打开磁力计开关,save to fdi才会保存()
设备参数
这里这个相对航向,是指上电为0的航向角。
有了磁之后,就可以选择AID_INIT_YAW_USE_MAG,用磁力计校准航向,这时候,初始状态 航向角就不是0。
,也就是说,所有的姿态包括距离,都是载体坐标系相对北东地坐标系而言吗?
只不过初始化为0,后续载体移动,传出来的三轴姿态,其实就相当于在北东地坐标系下的坐标减去初始化时的坐标吗?
上手目标
下面目标的具体配置都没有磁,主要是aid那部分:
初始值:
roll: 和载体放置的位置相对北东地坐标系有关系
pitch:和载体放置的位置相对北东地坐标系有关系
yaw: 应该为0左右,不使用磁校准,使用相对航向。以上电的角度为0角度。
pos_n: 1e-5或者1e-4, 0.几的毫米
pos_e:1e-5或者1e-4, 0.几的毫米
pos_d:可能会稍微大一些。竟然有4毫米的初始偏差?怎么解决
三轴的加速度:
模应为9.8左右。
水平放置时
x:0
y:0
z:9.8
静止10分钟正常的飘移,如果漂太多,即超过0.33度,要gyro_trae,陀螺零偏的校准:
roll: 偏离 0.014度
pitch: 偏离0.008度,0.06度都正常
yaw: 偏离0.595度,没有磁的校准,精度确实是这么差,RMS均方根是0.5,1个$\sigma$, 峰峰值是6$\sigma$, 3度确实离谱
。偏离2.232度。有校准会好一些。
pos_n: 静止10分钟,几乎没有漂移
pos_e:静止10分钟,几乎没有漂移
pos_d:静止10分钟,可能会有几毫米的漂移。
动态(模拟测试时的探头运动):
拿到模块后,目的就是三轴角度都不漂移,三轴的位置也不漂移。如果将模块按照北东地的位置放,那应该三轴的角度都接近0,因为不可能完全水平。 三轴的位置无论什么位置,都是按照上电时的位置为0。
角度重复性0.1度
在10分钟内,3轴角度漂移0.33度算正常,3轴位置漂移多少算正常?
校准了陀螺零偏后的角度漂移如下,正常水平,10分钟内的变化:
roll:-0.225 --> -0.2779
pitch : - 0.331 --> -0.338
yaw : 359.97 --> 359.521
校准了陀螺零偏后的位置漂移如下,正常水平,10分钟内的变化:
然后,将模块按照其他位置放,观察输出的三轴角度是否和自己设想的一样,或者令模块运动,观察模块是否运动了相应的距离。(这里可以使用上位机的pilot功能查看是否正常
,也可以使用data功能)
3轴的量程
其他目标
一些零散的,没有的数据包就不接收。
具体操作
1.磁力计校准。这里可能也不校准了,防止干扰。反正只对航向有关系。
aid具体配置
疑问
校准的时候没磁,使用的时候有磁,那这个磁校准还有意义吗?
除了大电机算磁厉害,其他还有什么能影响磁呢?
在比较空旷的地方校准好了磁,那在其他地方能管用吗?如果其他地方有磁干扰呢?
只要这两个地方的地磁都是0.5高斯左右,就能互用是吧?
请问大概超过多少高斯,两地就不能互用这个校准后的参数呢?没有具体的标准,看实际的输出
干脆不用磁校准,和用磁力计能有多大差别?yaw还会初始为0吗?(超声探头有磁吗?)
航向角用磁辅助,是因为航向的角度最差吗?其他两个角度的精度如何。
用磁和不用磁的区别
yaw轴有相对航向和绝对航向。绝对航向就是载体相对于北东地的姿态,相对航向就是载体在移动过程中,相对于初始时载体yaw角的偏移。
如果选择相对航向,可以在初始化时使用磁力计初始化,也是相对航向,但初始化不为0。
加了磁才能获取绝对的航向角,就是相对北东地的。不加磁只能相对航向。
- 不加磁的话,
模块上电姿态数据漂移
问题四:模块每次上电后姿态一直在漂移是怎么回事,明明模块是静止放
置的?
答:该问题的根本原因大概率是模块启动时计算的陀螺仪静态零偏有误,解
决方法如下:
- 确保模块静止的前提下对模块重新上电,观测此时姿态是否仍然在漂移。
- 如果姿态仍然在漂移,在静止条件下点击 Gyro Tare 按钮进行陀螺仪静
态零偏的重新计算,接着点击 write flash 按钮写入,注意,一定要点右下角的 save to flash,否则下次上电还是不行
。该按钮功能说明见 3.2 小节
系统调平和参数导入导出。 - 进行完 2 步骤后姿态仍然在偏移,用户需检查模块附近是否存在变化的
磁场。(磁力计开关打开时),或者周围温度是否存在剧烈的变化。前者会导致
航向角的漂移,后者会导致陀螺仪零偏发生改变,因为温度是导致陀螺仪零偏变
化的主要原因。 - 如果上述步骤操作完后仍然没有解决问题,则联系我们技术人员进行沟
通交流。
需要说明的是 , 上位机中 FDIGroundStation SPKF 融合开关(左下角)中的
AID_GYO_TURN_ON_TARE_ENABLED
开关是默认打开的,其功能是上电时自动计算一次陀螺仪静态零偏,需要模块上电时静止放置,如果用户使用环境无法做到静止启动,则关闭该开关,否则上电后姿态可能漂移。
我的模块确实是静止的,而且也打开了这个开关,但第一次使用的时候,确实是在漂移。感觉这个手动校准一下陀螺零偏还是很有必要的。
其他
磁场的模只要是0.5高斯附近就行,x,y,z可能有些轴会很大,但不影响。