*原文发表于2019年09月08日
作者:宋子琦

信标,顾名思义,存在一个标志传递给小车信号,小车接收信号驶向此标志。竞赛中的信标组就是重复这个过程。使用自己制作的信标小车灭掉不断发出光信号的信标灯。通过目的可以发现在制作此小车过程中应关注的两个点,分别是接受信号和灭灯。

接收信号一般使用光电传感器,如:摄像头,CCD。。。

常用的为摄像头,传统摄像头有山外鹰眼(硬件二值化),普通ov7725摄像头,红外摄像头。由于比赛环境日渐恶劣,传统摄像头已经不能满足比赛需求,推荐大家使用逐飞的灰度摄像头及基于nxp的openmv(强烈推荐)。这两款摄像头可以较好适应无遮光环境,更适合以后的比赛使用。下面分析一下两款摄像头的优劣,灰度摄像头目前只有逐飞有卖,给的例程也是基于逐飞库,若使用其他库则需移植,但移植有可能会出现各种问题。且灰度摄像头尚不能在有阳光直射赛道的情况下使用,当然,听说有大佬写出阳光算法,但以14届华南赛的实际情况来看,大佬毕竟是大佬,用灰度能跑的很好的只用两三只队伍。基于nxp的openmv由一块rt1062主控,可在有阳光直射的环境下找到信标灯,但是容易误判,值得一提的是openmv有自己的ide,可以在此ide中使用python编程,下载在rt1062中,然后通过串口将需要的数据传输给小车主控芯片,也就是说不需要在代码中写摄像头部分,大大降低了主程序的难度但需新学简单的python编程。目前知道两种判断方案,一种是首先在openmv上直接二值化,另一种是寻找色块,因为信标灯是以一定频率闪烁红光及红外光,我们可以寻找相似色块来确定信标灯位置。但是这两种方发均需要现场调试,使用现场调试的阈值才能正常进行比赛。不管是使用灰度摄像头还是openmv都会有现场调试部分,所以希望比赛队伍能在实验室模拟赛场可能出现的各种环境进行调试,以免到了赛场上出现时间不足,或出现极端环境(阳光直射)而不知所措。

灭灯有两部分,分别是路径和避障。路径的选择至为重要,有两大类方案,分别是使用一个摄像头情况下把智能车分出头尾,有摄像头一端为头,摄像头找到信标灯后小车直接灭灯,之后选择绕灯一圈或在灯前旋转寻找下一个信标灯;或者是使用两个或以上摄像头,这样就可以基本保证无死角,可在赛场上来回穿梭,小车不分头尾,哪一头的摄像头找到灯就径直灭掉,此时下一个信标灯亮,可以快速找到下一个灯的位置,省掉了转圈找灯过程,大大减少了比赛用时,更容易获得好成绩。避障较简单,可使用红外,超声波,激光等模块检测前方是否有障碍物,推荐使用可测距模块,这样可以更加准确得到数据,方便控制,且可以使赛车运行更加流畅。

了解以上知识后就会对信标车的制作有一个大致的概念,且对方案的选择有启发作用,希望读者可以在以后的比赛中取得好成绩。

最后修改:2022 年 04 月 02 日
如果觉得我的文章对你有用,请随意赞赏