前言
本文提出一种使用面阵CCD并且能够有效利用S12单片机内部硬件资源的路径参数检测方法。普通CCD图像传感器的工作电压一般为12V,输出NTSC或者PAL制式的模拟视频信号。利用S12内部的AD转换器,配合从视频信号中分离出的同步信号,可直接将图像信号采集到单片机内部RAM中,然后通过软件对图像信息进行处理,得到路径各种参数。
技术难点与解决方法:
直接利用S12单片机中的AD采集视频图像,存在着采集速度、存储数据空间、处理速度、工作电压以及同步信号分离等方面的技术难点。下面就这些问题及其解决方法进行讨论。
采集速度
跑道都是由直线和圆弧组成,检测车模前方一段路线参数,只需要得到中心线上3~5个点的位置信息就可以估算出路径参数(位置、方向、曲率等)。这些点的位置,通过图像中若干行信息就可以检测出来(如图1所示)。因此,所需检测图像应该是水平分辨率高、垂直分辨率低。
图1 部分赛道形状,赛道中心线检测位置
将S12单片机采集的图像分辨率特点,与赛道检测对图像分辨率的要求进行对比,可以发现,在安装CCD摄像头的时候,只要将它旋转90度,输出的图像信息也相应旋转90度(如图2所示)。这样一来,S12中的AD转换器采集的图像信息,水平分辨率与垂直分辨率就会互换,原来水平分辨率低、垂直分辨率高的图像,就会变成水平分辨率高、垂直分辨率低的实际图像,正好满足道路参数检测的要求。
图2 赛道图像以及旋转90度后的赛道图像
此外,我们还可以通过让S12适当超频运行、降低AD转换器精度等方式,提高AD转换器的速度。
图像存储空间:
由于将图像水平旋转了90度,需要将图像数据进行存储,在整幅图像的基础上计算出路径水平信息。S12内部有8K字节的RAM空间。如果存储300*48分辨率图像则不够,但可以存储若干幅75*24的低分辨率图像数据。从低分辨率图像所得到的路径参数,其精度仍可以满足车模控制的需要。一般情况下,只需要两块图像存储空间即可,一块作为采集图像的存储空间,另外一块作为处理缓冲区。