ternence

【ADI 工程师博客】陀螺仪的漂移指标,对机器人意味着什么

ternence 在 2018-5-15 建立的討論區
最後回覆由linan於2018-5-29提供

原文:https://ez.analog.com/blogs/engineeringmind/2018/01/06/power-up-your-robots

 

一年一度的FIRST机器人挑战赛结束了,全球数千名高中生展开竞争,在 6 周内设计、构建和测试机器人。ADI 在今年的赛季上为参赛队伍提供了哪些器件呢?参赛队伍为什么要使用这些器件呢?

 

ADI 提供—— ADXRS450陀螺仪板

这与去年赛季上 ADI 提供的套件中包含的陀螺仪板相同。使用这些板的代码已经集成到 WPI 库中,因此只需要将板插入 RoboRIO 的 SPI 连接器中,就可以立即开始工作了。我们在冠军赛上和几支队伍交谈过,并且看到去年很多队伍使用它们都在自动运行期间取得了好成绩。采用陀螺仪是确定机器人朝向哪个方向的一种简便方法,令自动运行期间执行转弯或是在扫射时保持麦克纳姆驱动的机器人朝向正确的方向都非常便捷。ADXRS450 陀螺仪板是参赛队伍非常好的一个起步之选,尤其是对不了解机器人陀螺仪的队伍。

 

ADI 提供—— ADIS16448 10自由度IMU板

ADIS16448 工业级惯性测量单元(IMU)今年再次列入FIRST Choice。如果的确需要精确的运动控制,此款IMU是理想之选。每个单元都在工厂独立校准,这意味着机器人将更精确。剧烈振动的环境(例如安装在有电机和气动装置的竞技机器人上,以及撞到墙上)也会导致成本较低的陀螺仪出现明显误差,但是 ADIS16448 恰恰能出色地抑制这些影响,毕竟它是为工业级 UAV 设计的!所有这些都意味着用于帮助机器人判别朝向时的超高性能。代码可以通过 此处的github获得,感谢 jchong,还有现成的 安装工具,提供给使用LabVIEW的队伍。此外,我们知道队伍过去使用这个板有些问题,我们很高兴发布了最新款的 RoboRIO 图像,让队伍可以获得比往年更好的 IMU性能。这适用于我们所有的IMU板,不论获得的时间。

 

大多数队伍在为机器人选择陀螺仪时喜欢使用的指标是漂移。我们来探讨一下这对机器人意味着什么……

 

大多数陀螺仪,包括 ADXRS450 和 ADIS16448 IMU 中的陀螺仪,产生一个输出,单位是度/秒。这是在特定时间单位t内旋转速率的度量。数值越大,机器人旋转得越快。陀螺仪不会简单地输出机器人已旋转的度数。陀螺仪会在给定的时间段内读取数百个读数,如下图中的紫色、红色、绿色线条所示。如果将这些读数加在一起,则最终会得到在设定时间段内(下例中为1秒)发生的实际角度变化。这在微积分术语中就叫积分。对于那些学过微积分的人(或那些还记得“当年”微积分课的“老伙计”),这与计算曲线围成的面积相同。这个数学计算是在 WPI 库中完成的,或对 IMU 来说,是在上述代码链接中完成的。

integration.png

 

当首次启动机器人时,机器人放置的方向将被设置为0度。把这看作是机器人眼中的“正北”或者笔直前进的方向(例如,朝向对手队伍的驾驶站)。

zerodegrees.png

在本例中,上方代表机器人的前方

 

 

然而,因为没有任何陀螺仪是十全十美的,所以这个方向会随时间而漂移。还记得我们如何获得实际方向的角度吗?必须将每个采样加起来。随时间推移,每个独立读数中的每个小误差都会累加起来。这些误差可能来自任何数目的不同内部和外部来源。(如果您有兴趣了解更多关于所有这些误差源的信息,可以查看文章《MEMS陀螺仪中主要噪声 源的预测和管理》)对这种漂移影响最大的因素是陀螺仪的偏置稳定度规格,这是衡量陀螺仪在长时间段内测量结果稳定性的一个指标。如果将机器人开启一个小时并且不移动它,陀螺仪在一个小时结束时读取的数值却根本不是零。

driftrobot.png

同样,上方代表机器人的前方

 

这就是通常队伍所说的陀螺仪漂移。一旦考虑到上述链接文章中所提到的不同的误差来源,参赛队伍会发现,IMU的漂移介于每小时 20 至 30 度之间。乍一看,这看上去像是漂移很大!但是,如果您看一下这在比赛过程中意味着什么,就会发现这种漂移实际上并不是太糟糕。如果假设机器人在比赛开始前保持了 7 分钟的开机时间,机器人会认为它的前进方向只改变了 3 度左右。


到比赛结束时,这个数值接近 4 或 5 度,其实是很小的数字,而且非常容易管理。

 

看完本文,你们都是陀螺仪漂移方面专家了,对吗?版主相信,你们已经了解了相关知识,可以制定出有史以来最棒的自动运行轨迹了!

 

那么,您准备好为您的机器人能量升级了吗?

結果