最新消息:

【竞赛特刊】黑线定位的正确姿势,到那就停!

乐高 少儿编程 2048浏览 0评论
竞赛特刊

2018FLL的中国公开赛结束啦!

 

遇上很多号里的朋友,有学生、家长也有教练员们。

跟大家交流后,收获也挺多的。

 

【竞赛特刊】黑线定位的正确姿势,到那就停!

 

其实这样的比赛,是一个跟别人交流分享的难得机会。

如果只顾着比赛,是不是可惜了点内?

 

所以,忙不迭地赶回上海,开始码文字,得把号里面朋友们给顾忌上不是~

 


今天我们还是就竞赛的一些基本程序,给大家一些建议。

 

在场地赛环节中,和走位一样重要的,还有一点,

 

就是定位

 

【竞赛特刊】黑线定位的正确姿势,到那就停!

一般的场地设置里,都会有一些黑色的线段,供大家使用。

 

我们遇到这些条件时,会用双色感确定机器的位置,从而让长路线,变成各个短路线,这样电机的误差就可以得到很有效的控制

 

普通的单、双色感定位,会由于训练与赛场的环境不同、色差、惯性等等原因,而造成定位不准确。

 

今天给大家分享的就是一个双色感定位的方法。

 

很有用的哦!

 


 

在现实场景中,我们面对的场景变化,会带来参数的变化。

 

归根结底,有2个数值。

 

1、光线反射值

2、电机转动值

 

所以,我们要解决的,就是这些值变化所带来的问题。

 

首先我们要知道,色感不管用几个,产生的反应,往往都是用对比法。

 

——让色感之间的值产生一个对比,从而解决问题。

 

换言之,场地如果变了,反射纸会变化,但!比较值一般变化还是很小的。

 

随便编个例子,比如:

训练时候反射值分别是30,29;

到了场地,40,41。

参数的变化在可以达到10左右。而对比值,差距只有2。

对不?

 

所以,在测试环节的时候,我们只需要测试好标准值,程序只要修改“一个参数”,就可以解决了。

 


 

回到程序,我们首先做出3个变量。

【竞赛特刊】黑线定位的正确姿势,到那就停!

Power(电机功率)

Compare(比较,对比方法)

Reflect(反射)

 

我们先做主程序的第一部分,

——找到黑线

 

这是个独立的程序,那么我们就先要定义动作模块。

【竞赛特刊】黑线定位的正确姿势,到那就停!

Power的值直接给到电机,作为功率值。

用变量模块是为了方便我们自己以后修改,最终这个模块要做成“我的模块”方便日后使用。

【竞赛特刊】黑线定位的正确姿势,到那就停!

当程序开始启动,这个时候,电机就会转动前进。

之后,就会遇到黑色的线。

 

所以我们接着把反射值和比较值,作为定位环节触发的条件。

【竞赛特刊】黑线定位的正确姿势,到那就停!

这里的反射纸和比较值,也是我们设定的,根据实际场地变化,可以进行一些数据调整。我们文末说明。

 

当程序进行到这一步时,意味着其中一个色感看到了黑色的线,电机停止转动后,我们要让它往后退一点(以防有些时候因为惯性停止位置越过了黑线)

 

这样,第一部分就完成了。

 


 

接下来,我们开始真正的的定位部分,

——定位黑线

 

一般,竞赛的车体部分,色感和两个电机的位置都是并排对称的。

 

所以,

1号色感对B电机,2号色感对C电机。

反正就是在同一侧,电机和传感器一一对应。

 

还记得吗?

我们以前做过一个距离越近,功率越低直至0停止的程序。

 

这里其实是一样的!

 

不同的是,我们的反射值实景情况下几乎不会到0的状态,可能你去测,测下来最小值是15甚至20。

 

所以我们需要在程序的最前面,再加上一个实际测试值:

 

Offset(补偿值)

【竞赛特刊】黑线定位的正确姿势,到那就停!

补偿什么?

前面我们不是退回来一点点吗?

那我们要走到黑线定位,这一小段距离,就是我们要补偿的电机转动。

 


 

增加第二部分的主循环。

 

当一侧的颜色传感器离黑线(我们设定的offset值)越近的时候,功率越小,直至0。 

【竞赛特刊】黑线定位的正确姿势,到那就停!

这样,两个电机就会越接近黑线的定位置(补偿值),越慢,直到停下来。


 

最后,我们要写入一段程序停止的结束条件

 

1、两个电机的转动都为0的时候。

2、同时两个色感的对比值为0的时候。

 

如下图,作为整个程序的停止条件。

 

【竞赛特刊】黑线定位的正确姿势,到那就停!

 

最后,程序全部停止时,锁死电机,

看一下完整的程序。(点击大图)

 

【竞赛特刊】黑线定位的正确姿势,到那就停!

 

我们可以把这个程序作为一个我的模块来方便使用。

这一步就不说明了,大家自己设置一下即可。

 


 

以下是对于这四个可设定变量的说明。

【竞赛特刊】黑线定位的正确姿势,到那就停!

1、Power:

程序启动时的电机功率,一般30以下比较稳。

2、Compare:

比较方式,1、2、3、4、5分别对应小于到大于的比较方法,大家可以参考正常模块的值对应的比较方式。

3、Relfect:

反射触发值,如果场地上纯黑线,测试下来是15,那么这里就写15及以上的接近数字,这个是用来触发定位环节的。

4、Offset:

补偿值,让电机参照传感器的值,自动补偿转动角度,使机械慢慢移动到规定的黑线位置。最小值为纯黑线测试下来的那个数值。

试试看吧,自己再根据实际情况调整一下哦!

您必须 登录 才能发表评论!