FLL你所不知道的秘密-马达
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FLL,你所不知道的秘密(3)——马达的设置
FLL比赛中,马达的设置是很重要的内容,前进、后退,机械臂的转动都与马达的设置有关,在软件中,跟马达有关的几个模块有:1、移动模块,2、电机模块,3、角度传感器模块,4、重置电机模块。如下所示:
在一个FLL竞赛任务中,小车要离开基地去带一个东西回来,然后要再把这个东西送出去。或者小车的机械臂(马达A)在回到基地过程中,其位置要做调整,然后再离开基地。此时就会出现这样一种情况:小车的机械臂不能够被转动,马达好像被卡住了。
这是什么原因呢?
原来,马达的设置参数有一个“下一个动作”选项,这里面有两个参数分别是:“停止”、“缓停”。这两个有什么区别呢?当把参数设置为“停止”时,马达按指令完成转动后,主机将会控制马达,准确地停止在终点位置上,由于惯性的存在,马达有时还会反转一点,以保证小车的准确停止。当马达的功率越大时,为了保证马达准确停止,马达反转的动作也会增大,表现出来的一个状态就是小车猛地停顿了一下。而且,在程序指令没有全部执行完前,为了保证这个准确性,NXT 主机还会锁定马达,禁止马达转动。
那么,怎么让马达解除锁定状态,在回到基地的过程中可以自由转动呢?这时我们可以使用后一个动作“缓停”。缓停的第一个作用,就是马达在完成动作后,并不马上停止,而是依靠惯性,慢慢停止。由于参数是“缓停”,所以主机不能够锁定马达,因此,缓停还有第二个作用,就是解除主机对马达的锁定。
现在我们知道了,小车回到基地的过程中,如果要允许调整机械臂的状态,也就是要让马达可以转动,则可以把马达的“下一个动作”设置为“缓停”。
接下来,小车在经过基地的短暂调整后,要再次离开基地去做任务了,可问题再次出现了:离开基地的小车,在到了某个任务地点,要做一个任务时,它的机械臂要转动一个角度,例如:90度。我们发现:小车的机械臂,也就是马达不能准确的转动设定的角度。有的时候是多一些,有的时候是少一些,这可是个大麻烦,这又是什么原因呢?
NXT的马达还有一个专业的名称:交互式伺服电机。“交互”是“互动”的意思,表示这种马达和普通的电机不同,它是双向的,它里面装有“角度传感器”,可以把马达转动的角度传送给NXT主机。同时,NXT-G软件的马达模块还内设自动纠错机制,会自动进行参数补偿,帮助机器人移动更为精确。前面马达设置为“停止”时的反转,其实就是自动纠错机制在起作用,当设置为缓停时,就是把自动纠错机制关掉,停止这一功能。
前面说“经过调整后的马达在离开基地后不能准确的转动设定的角度”是什么原因呢?其实这个不能准确的转动设定的角度是我们误解了。马达实际上是有转动我们设定的角度,只不过这个角度的初使值,也就是参考角度0度值并不是我们调整后的位置,而是小车回到基地时的状态。由于程序还没有结束,小车的自动纠错机制还在起作用,当小车回到基地,我们用手调整马达的位置时,自动纠错机制认为这是一个误差,会自动记录转动的角度值。当小车离开基地,要转动设定的某个角度值时,自动纠错机制会自动的减去前面记录的误差值(如果前面调整的方向相反,则要加上误差值)。于是,从主机来看,它是准确的转动到设定的角度。可从我们来看,马达就是没有转动到设定值的状态了。
那么怎么来解决这个问题呢?这时,我们要启用上面所说的第④个图标——重置电机模块。重置电机模块的作用是什么呢?一句很有趣的话,那就是:“忘记过去,从现在开始”。如下图所示例子:
到此,我们的又一个秘密介绍完了。你在做任务过程中是否遇到过类似的问题呢?如果有的话,你应该知道怎么做了吧?