1。赛题要求 在第十六届全国大学生智能车竞赛〔1〕中,有一个室内AI视觉竞速组别〔2〕,要求参赛队伍的车模作品能够在高速运行过程中,快速根据赛道上的三岔路口元素以及AprilTag〔3〕表示,来识别路旁的数字图片以及动物、水果〔4〕(https:zhuoqing。blog。csdn。netarticledetails110253008第十六届全国大学生智能车竞赛)中,有一个室内AI视觉竞速组别〔5〕,要求参赛队伍的车模作品能够在高速运行过程中,快速根据赛道上的三岔路口元素以及AprilTag〔6〕标示,来识别路旁的数字图片以及动物、水果〔409734〕图片等,并且根据识别内容做出相应的动作。在三岔路口,根据识别数字的奇偶特性〔7〕做出向左和向右转弯判断;在识别到动物图片时,则需要在动物前停留3秒钟;在识别到水果图片的之后,需要使用小型激光发射器对重目标图片中心发送一束激光,激发目标靶响应。 靶标牌上的动物和水果图案 最后一项要求使用小型激光器发送激光束照射目标靶,主要考察车模对于目标识别定位的精度,以及执行的准确性。由于激光束的准直特性,可以保证照射目标区域定位明确。 另外,使用激光束照射目标物,相比于使用机械结构触碰目标靶,对于车模制作来讲,可以大大降低设计制作的难度。比如下面动图所示是今年百度智慧交通创意组〔8〕中,赛题设计要求使用机械装置完成目标靶位的射击。 百度创意比赛中使用机械彩笔对于路边目标进行触碰2。图片边框 为了降低在单片机中搜寻识别目标图片的难度,提高识别速度和精度,在实际比赛中的目标图片四周增加有宽度为1厘米的彩色框,这样便于识别算法进行快速目标搜索分割。 在目标图片周围设置有宽度为1厘米的彩色框 由于通常赛道背景是蓝色,所以彩色框的颜色是除了蓝色之外的其它色彩。 那么,同学们该如何设计制作击中目标图片的激光器呢?下面根据裁判系统的原理,反过来讲述对于射击目标的激光发射电路的要求。 1。光电检测位置 为了检测激光光斑是否准确投射到目标中心,在目标板上布置了五个微型的光电传感器。分别位于目标图像的中心,以及四个边缘部分。由于光电传感器非常小(直径小于3mm),对于目标图片影响可以忽略。 当激光光斑投射到中心光电传感器,并且不涵盖四周四个光电传感器,表示此次光斑投射准确。如果在中间光电传感器检测到激光信号时刻前后5秒钟之内,四周四个光电传感器任何一个检测到过激光信号,则表示此次激光照射识别。 光电检测传感器的位置分布 根据这种方案,要求车模只能在准确定位置后,才能够开启激光器发送信号,否则就会失去这次激发目标靶的得分机会。2。激光发射器 用于激发目标靶的激光发射器的选择需要满足一下几点要求:功率安全:为了避免使用过程中出现损伤眼睛的危险,需要选择低能激光器(激光功率等级小于等于2级,输出功率小于1mW)的激光器。考虑到下面对于激光器进行扩斑,可以要求输出功率小于5mW(3A级)。方便调整聚焦透镜:由于激光检测光电传感器非常小,因此,透射激光光斑不能太小。否则瞄准目标中心极其困难。所以需要对激光发射器聚焦透镜进行调整,使其在发射距离之内投射到目标板的激光光斑的直径在56厘米左右。内部具有恒流驱动电路:这样只要使用超过其工作电压的直流电驱动,便可以安全发送功率恒定的激光信号,免去制作恒流驱动电路的麻烦。 根据上述要求,下面这种带有可调透镜的微型激光器便可以用于比赛车模作品中。 带有可调透镜的小功率激光器3。微型光电管 为了检测激光信号,可以使用一下微型光电二极管(SP1CL3)。它的灵敏度高,响应速度快,前面半球形的透镜使其对正前方的激光信号感应性能最强,对于周围杂散光具有一定的屏蔽作用。如果在其外边增加黑色热缩管,可以进一步一致周围杂散光的干扰,只对正前方规定角度范围内入射的激光信号进行检测。 SP1CL3外形与尺寸 下图是SP1CL3光电二极管的输出特性,可以看到它在正向电压小于0。3V的情况下,输出的反向电流与入射光强呈现很好的线性关系。因此,可以使用普通的轨到轨〔9〕低压运放将光电二极管反相电流转换成电压信号送入检测电路。 1。为什么要信号调制? 为了提高对目标靶位命中率,激光器发送的光束被扩大到直径5厘米的光斑,所以光的强度大大降低了。而在普通的室内光线下,环境光的变化对于传感器所产生的影响就会很大。 比如在下面动图中,改变光电管的方向,可以看到它的输出信号就会发生很大的变化。二维它前面物体的遮挡、反射光都会引起信号的剧烈变化。 周围环境光线对于光电检测传感器的影响 为了避免环境光线的干扰,需要将激光器发送光波调制到一个特定的频率信号,与环境干扰信号进行区分。2。如何进行调制? 最简单的调制就是使用一个三极管来控制激光器工作电源,按照一定频率开关激光器。这样就可以使得激光器发送的光强信号被斩波,形成一定频率的方波信号。 下图显示了通过ESP32的一个管脚输出占空比为50的PWM波形,驱动小功率三极管9018带动激光管发送调制方波信号。 通过9018驱动激光管闪烁 调试频率为100Hz,使用光电二极管检测激光信号。下图显示了被激光束照射下的光电传感器输出的光强信号(青色)。 激光管工作电压型号(黄色)与光电管检测电压信号(青色)3。如何进行信号检测? 光电传感器输出信号中包括有环境光干扰信号以及激光调制信号,它们的幅值都在很大范围内发生变化。那么如何检测激光调制信号呢? 下图显示了使用ESP32采集到的光电输出信号。采集频率为1kHz。 采集到的频率 将采集到的电压信号进行快速傅里叶变换(FFT),得到信号的离散频谱。如下图所示: 采集数据的FFT 可以看到在频谱中出现了100Hz的基频信号,300Hz,500Hz等谐波信号。之所以没有200Hz,400Hz等偶次谐波,主要是因为激光调制波形是占空比为50的方波,它属于奇谐对称〔10〕波形。 因此只要判断在调制频率(100Hz)出的频谱是否大于某个设定阈值,便可以确定是否检测到调制激光信号了。 由于只要判断确定频率下的频谱幅值,所以实际上不需要对采集的信号进行FFT计算得到所有的离散频谱,而只是通过离散傅里叶变换(DFT)直接计算所需要的频谱会更快、更便捷。4。如何选择调制频率? 前面实验中使用100Hz坐在调制频率并不一定适合普通场景。在博文电灯泡内通有交流电,为什么看不到灯泡在闪烁?〔11〕中,作者对于常见到的室内光源(白炽灯、日光灯、节能灯、卤素灯)进行光强测试,发现它们都具有不同频率的波动。一般情况下,100Hz是最常见的波动频率。 小型日光灯的光强变化 下面是普通的节能日光灯的光强的波动情况(蓝色曲线),之所以波动是因为内部的交流整流滤波电路所产生的电压波动引起输出光强的变化。 日光灯光强 因此,选择避开100Hz及其高次谐波的调制频率点可以减少环境照明光线对于光电检测电路的干扰。 那么在实际上检测电路中要求,激光调制频率设定在125Hz。 1。制作激光投射器 根据前面介绍室内视觉赛题组裁判系统检测方案,下面归纳一下车模作品上透射激光束的激光模块的制作方案: 1、选择便于调整光束大小的小功率红激光管(功率小于5mW),红色光谱也在SP1CL3接收光线频段范围之内; 2、调整激光投送光斑大小,使其直径在5厘米左右。过小则会降低激光对靶标的命中率,过大则会增加被目标靶位边界光电管的检测到的危险。 3、对激光管进行125Hz的方波调制,频率误差在正负1Hz之内。 4、激光投射时间不小于1秒钟。 在对水果类目标进行激光透射时,需要在对目标准确定位置后再打开激光器。发射1秒钟之后,关闭激光器之后,再继续行进。2。检测是否命中 为了便于裁判员判断车模是否命中目标靶心,裁判电子系统会在检测到信号之后给出响应。在目标物上方布置有红、绿两个LED,直径为1厘米左右。当激光准确射中靶心,绿灯点亮,五秒钟后熄灭;如果四周光电传感器检测光斑偏移靶心,则红灯点亮,五秒钟后熄灭;蜂鸣器声音:当激光准确投射到靶心,蜂鸣器发出持续1秒钟的声响;等激光器透射偏离靶心,蜂鸣器发出间隔100ms的短促蜂鸣声(即10Hz,占空比为50)。 目标靶位上的响应LED 车模也可以通过摄像头或者音声传感器判断裁判系统给出反馈之后,继续行进,而不必等待1秒钟再行进。参考资料 〔1〕第十六届全国大学生智能车竞赛:https:zhuoqing。blog。csdn。netarticledetails110253008 〔2〕室内AI视觉竞速组别:https:zhuoqing。blog。csdn。netarticledetails111352093 〔3〕AprilTag:https:blog。csdn。nethan784851198articledetails90261197 〔4〕奇偶:奇数为1,3,5,等不能被2整除的整数;偶数是2,4,6等可以被2整除的数字 〔5〕室内AI视觉竞速组别:https:zhuoqing。blog。csdn。netarticledetails111352093 〔6〕AprilTag:https:blog。csdn。nethan784851198articledetails90261197 〔7〕奇偶:奇数为1,3,5,等不能被2整除的整数;偶数是2,4,6等可以被2整除的数字 〔8〕百度智慧交通创意组:https:zhuoqing。blog。csdn。netarticledetails112217028 〔9〕轨到轨:https:blog。csdn。netbmbm546articledetails7760183 〔10〕奇谐对称:奇谐对称周期信号是指它移动半个周期与其自身呈现正负相反对称的性质 〔11〕电灯泡内通有交流电,为什么看不到灯泡在闪烁?:https:zhuoqing。blog。csdn。netarticledetails108519603