第五章 软件系统设计与实现
幅图像。虽然这种查询方式比起跟踪法较为费时,但准确性高,而且在十字路口可以避免90度的跟错。 5.3.2.2 赛道类型判断
由于赛道黑线在两边,用求中线法较麻烦,而且图像本来是失真的。充分利用本届比赛赛道的特点,中线扫描是我们粗略分类的方法。再加上辅助分析,赛道可以分为三类:直道,小S,弯道。具体方法如下: 中线扫描:选择整幅图像的中间两列,从近向远查询,如果这两列有黑点出现,则表明是弯道,否则是直道或小S。
小S和直道的区分:直道的边线位置是一个趋势,而小S有某些地方有相反的趋势。根据这一特征可以准确的区分小S和直道。 5.3.2.3 弯道方向判断
用中线扫描法判断出是弯道后,就要判断弯道方向。中间两列从近向远查询时,如果有黑点,则可以确定黑点的位置,提取行位置记为Control_hang。然后从此行向近处跳三行,再从中间向两边查询一定的列数,如果左边查询到黑线,则方向为“右”。反则反之。如果左右都没有黑线,则认为是直道,也就是遇到了直道上的起跑线。 5.3.2.3 弯道分析框图:
20
第七届全国大学生智能汽车邀请赛技术报告
从中间两列向上查询 N 是否遇到黑线? Y 记录此行为control_hang, 向回跳三行, 再向两边查询, 是否遇到黑线? 直道和小S分析 判断左右方向 根据control_hang计算舵机控制量
5.3 算法流程图
21
第五章 软件系统设计与实现
5.3.2.3 图像展示
5.4 弯道二值化图像
22
第七届全国大学生智能汽车邀请赛技术报告
图5.5 小S二值化图像
23
第五章 软件系统设计与实现
图5.6 直道二值化图像
5.3.2.4 起跑线识别
起跑线识别有两种方案,一种是摄像头识别,另外一种是光电管识别。 a. 摄像头识别:分析摄像头采集回来的图像,识别起跑线。 优点:不需要外部硬件电路。
缺点:偶尔会误判,而且在起跑线之前提前检测到就要延时停车,这个延时时间受当前速度影响,不好把握,调试较为麻烦。
b. 光电管识别:在小车后面安装一排ST188光电管,以一定周期进行检测。 优点:检测精确,程序简单。
缺点:增加了外围电路,增加小车重量。
综上所述,我们最终选择了用光电管检测起跑线。虽然增加了外围电路,但检测失误率很低,而且程序很简单。
24