关于中小学机器人比赛中巡线校正程序的探究

2021-09-24 04:02崔更新
中国信息技术教育 2021年18期
关键词:巡线白线黑线

崔更新

摘要:在中小学的机器人比赛中,大部分编程类的项目都需要光电传感器巡线来完成任务。要想提高机器人完成任务的成功率,就必须保证机器人完成任务时的角度是相对一致的。作者在实践中发现,借助比赛场地的黑线或者白线来校正机器人的相对位置,能够有效保证机器人完成任务所需的精度。

关键词:巡线校正;机器人比赛

中图分类号:G434  文献标识码:A  论文编号:1674-2117(2021)18-0067-03

巡线程序是中小学机器人比赛中一个最基本的程序。机器人要通过巡线程序走角度确定自身所在的位置,再根据场地中比赛任务的位置,有针对性地去完成任务。当巡线距离不够时,机器人的摇摆幅度会比较大。虽然PID巡线机器人的摇摆幅度会比较小,但在完成精细的任务时还是可能会遭遇失败。机器人每次完成任务前的相对位置是提高成功率的关键因素。本文借助巡线程序来自动校正机器人面向任务时所在的相对位置,切实保证完成任务的成功率。

● 提出问题

笔者探究的巡线校正程序主要是用来解决机器人平行、垂直于黑线或者白线的问题。笔者以黑线为例,具体如图1所示。机器人在巡线的过程中会产生一定幅度的摇摆,而摇摆会导致机器人的相对位置不精准,从而对完成任务有很大的影响。

实际上,光电传感器不仅可以巡线,还可以借助光电传感器反射光的数值,确定机器人的相对位置是偏左还是偏右,最终通过机器人左转或者右转来小幅度地调整机器人的位置。

● 分析问题

本文重点分析平行于黑线的情况,这种情况特指在黑线巡线的前方有一条垂直的黑线,通过校正机器人让机器人水平地停在前方的黑线上。只要平行于黑线的情况解决了,垂直黑线的情况就只要让机器人顺时针或者逆时针转一个直角就是平行于黑线的情况。

1.光电传感器的数量及位置

本文探究的巡线校正程序是在机器人能够巡线的基础上完成的,要求光电传感器的数量至少为2个。而光电巡线的机器人要求两者的间距正好是黑线的宽度,如果要求的精度不高,可以将巡线的光电传感器当作校正的光电传感器使用。如果要进一步提高机器人巡线校正的精度,可以再安装两个光电传感器专门用来校正,也可以用来记录路口(左转、右转),两者之间的间距越大越好,可以正好等于机器人车身的宽度。安装示意图如上页图2所示。

2.解决问题的思路

(1)机器人遇线停止的位置

笔者以4个光电传感器为例来说明,并从左到右将其依次命名为1,2,3,4号光电传感器(如图3)。机器人在巡线的过程中,如果1,4号光电传感器同时检测到黑线,说明机器人已经到达丁字路口,这个时候机器人的相对位置有3种情况,分别为机器人居中、机器人左偏和机器人右偏。具体如图4所示。

(2)机器人3种停止位置的异同点

不管是以上3种情况的哪一种情况,它们的共同点是1号和4号光电传感器同时检测到黑线,不同点是各个光电传感器的反射光值大小不同。在理想状态下,当机器人居中的时候,4个光电传感器的反射光值完全相同;当机器人左偏的时候,1~4号光电传感器的反射光值依次减少;当机器人右偏的时候,1~4号光电传感器的反射光值依次增大。但是,实际情况下4个光电传感器的反射光值性能不可能完全一样,加之比赛场地光线不可能完全一致,所以无法保证完全在黑线上的反射光值一定小于部分在黑线上的反射光值。

基于以上考虑,笔者采用反射光值跟阈值比较,当反射光值大于等于阈值时,说明该光电传感器位于白色区域;当反射光值小于阈值时,说明光电传感器位于黑色区域。

(3)解决思路

因为在上述3种情况下,机器人1号和4号光电传感器检测的颜色都是黑色,所以机器人在初始停止的位置无法判别机器人到底属于哪一种情况。要想识别机器人属于哪一种情况,必须让机器人前进或者后退来进行识别。笔者以机器人后退为例来进行说明。

①机器人后退确定位置。

首先让机器人后退,直到1号和4号光电传感器至少有一个检测到白色;再检测1号和4号光电传感器目前所在的区域;最后通过判别二者所在的区域来识别机器人属于哪一种情况。如果1号和4号光电传感器同时检测到白线,说明机器人居中;如果1号光电传感器检测到白线,同时4号光电传感器检测到黑线,说明机器人左偏;如果1号光电传感器检测到黑线,同时4号光电传感器检测到白线,说明机器人右偏。

②机器人校正

如果机器人处于居中位置,可以让机器人继续前进遇线停止;如果机器人偏左,可以让机器人左轮正转,直到机器人1号光感检测到黑线停止;如果机器人偏右,可以让机器人右轮正转,直到机器人4号光感检测到黑线停止。

经历以上过程,机器人即完成了1次位置调整,调整之后的机器人1号和4号光电传感器又重新检测到黑线,调整之后的机器人相比调整前的机器人更加水平平行于黑线。但是一次调整并不能保证机器人能调整到所需的精度,所以可以让机器人重复刚才的过程3~5次,最后能保证机器人处于一个相对精准的位置。

● 解决问题

1.程序流程图

根据以上的分析,梳理出巡线校正的程序流程图,如下页图5所示。

2.程序编写

根据程序流程图,笔者使用图像化的编程软件LEGO MINDSRORMS Education EV3来编写程序,分段程序如下页图6、图7、图8所示,其他编程软件亦可。

● 结语

经过亲自试验,该巡线校正程序能够很好地解决机器人水平、垂直对准白线或者黑线的问题,从而提高机器人完成任务的成功率。在编写程序的过程中,可以参考以下事项,尽量让巡线校正程序适应更复杂的场景。

1.注意事项

巡线校正程序编写完成之后要不断进行测试。在测试的过程中,因为要消除机器人惯性对机器人位置的影响,所以机器人在遇线停止以及单轮正转的过程中功率不能太大,这样才能保证机器人遇线停止时正好停在黑线上,而不会因为惯性的问题停在白线上,从而导致无法判断机器人的位置。

该巡线校正程序适用于巡线区域是两种颜色的情况,不能在巡线的区域出现多颜色交错的情况,这样就无法判别机器人所在的位置了。

2.程序升级

为了让巡线校正程序适用更复杂的情况,在机器人单轮正转的过程中,如果连续一小段时间都没有遇到黑线,说明机器人转反了,可以让机器人反转,直到遇到黑線。

参考文献:

[1]邵宗敏.大道至简,精于心,简于行——浅析光感巡线在EV3编程实践中的设计与优化[J].中国教育信息化,2020(24):37-42.

[2]徐德生.巡线机器人路口教学策略的优化研究[J].理科爱好者,2020(16):97-98.

猜你喜欢
巡线白线黑线
基于移动互联网的智能化巡线管理系统的建设与应用
黑线
青丝与白线
在失败中奋进
白线
无人机为仁化高山电网线路“把脉”
智能识别算法在无人机巡线中的应用研究
让机器人巡线不脱线
虾背黑线真的特别“脏”吗
青丘白线线