0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于FPGA+OV7620图像传感器+C3188摄像头模组的视觉导航小车设计与实现方案

基于FPGA+OV7620图像传感器+C3188摄像头模组的视觉导航小车设计与实现方案

来源: elecfans
2021-07-27
类别:工业控制
eye 27
文章创建人 拍明

原标题:基于FPGA的视觉导航小车设计与实现方案

  摘要:视觉导航作为新兴起的技术,受众多研究者的青睐.设计了以现场可编程门列阵(FPGA)为控制核心的自主导航小车,采用一种新颖的自适应路径识别算法实现路径的识别与提取,并结合圆弧路线规划和控制策略完成小车的自主导航控制.自适应路径识别算法使导航小车可以适应多种光照和路面条件.测试结果表明,小车能够在不同光照条件下的实验室和露天田径跑道环境中实现较好的导航效果,在田径跑道上的导航测试中,小车的最高运行速度达到3.5m/s。

  目前,在视觉导航小车的研究中所采用的控制处理核心大多是单片机或数字信号处理(DSP)芯片[1-2]。这类处理核心的优点是成本低,使用方便.但是由于单片机和DSP的图像处理速度有限,所以需要对视频图像进行下采样处理,以适应视频采集的速率,从而影响了图像处理和识别的效果.采用现场可编程门列阵(FPGA)芯片可以大大提高图像处理和识别的速度,克服以上缺点.FPGA是一种新型的信息处理系统,是一个介于软件和硬件之间的计算平台.它既可以像软件一样现场编程,也可以像硬件一样直接控制门电路进行运算,这个特性使得它更易于实现并行运算,提高图像处理速度,保证图像处理的实时性.因此FPGA非常适用于视觉控制系统的控制中心[3]。

  在迅速准确地处理和分析图像的基础上,控制处理中心可以实时获得小车与路径的相对位置,并依此对小车进行路线规划和运动控制,实现小车的自主导航.在路线规划方面已有大量的研究[4-15]。Liu[9]、Fu[10]等以小车当前位置与目标位置之间的距离和转角偏差作为参数设计模糊控制表,对小车进行控制;Hsueh等[11]对位置和角度偏差的计算方法进行改进,并设计比例-积分-微分(PID)控制器,实现了小车自主导航;刘海涛等[12]提出了基于模式匹配的模糊控制方法;李进等[13]提出了直线拟合提取路径信息,结合PID控制完成小车自主驾驶的方法.任永新等[14]提出将控制分成2部分:大转角部分采用模糊控制、小转弯的路径采用精确的控制方法.在小转弯时,设计一条规划圆弧路线,依据此圆弧路线的曲率半径,通过一定的转换关系得到控制小车2个驱动轮转速的控制量,实现小车的转向控制.本文以OV7620作为图像传感器,以FPGA为核心控制器,通过图像采集、路径识别以及查找表技术实现了小车导航控制系统。

  1 硬件结构

  自主导航小车的图像获取采用搭载OV7620图像传感器的C3188摄像头模组,FPGA控制板采用Xilinx公司的Spartan3E开发板,小车为恒龙3851-2遥控四驱越野模型车。

  小车通过图像传感芯片OV7620获取图像信息。FPGA以图像传感器芯片提供的3个时钟信号作为同步信号完成图像采集.通过FPGA控制板的数字接口直接连接摄像头的8位数据线和相应控制信号,实现视频信号的快速采集.图像速率为30帧/s。

  2 路径识别与路线规划

  2.1 路径识别

  路径识别首先要对图像进行二值化处理。虽然在图像二值化算法方面已经有很多研究,由于视觉导航对运算速度有很高的要求,所以普遍采用最简单的固定阈值方法.但是固定阈值二值化方法对环境的光照条件和背景噪声非常敏感,使得相应的路径识别效果对环境条件要求高,而且非常不稳定.因此我们提出了一种自适应的路径识别方法,把图像二值化、路径位置和宽度的确定这两个分立的步骤结合起来,从一组预设的路径宽度和二值化阈值出发,对图像进行逐行处理,并根据上一行的宽度和阈值计算结果对宽度和阈值的预设值进行调整,当预设值与测量值趋于平衡时,识别结果趋于准确.具体的流程如图1所示.在上电初始化时,以初始的阈值、车道宽度值和路径中心点值作为预设值,对图像第一行数据进行如下处理:

  1)对一行图像进行均值滤波。

  2)根据预设的阈值对图像进行二值化处理。

  3)从预设的路径中心点出发分别向视野的两侧搜索路径边缘。

  4)计算路径宽度和路径中心点,把计算的路径宽度值与预设值比较.当计算宽度值大于预设宽度值时,提高预设宽度和二值化阈值,反之作相反调整.路径中心点直接作为新的预设路径中心点。

  5)若已到本帧图像的最后一行,则跳到6)处理,否则返回步骤1)处理下一行图像数据。

  6)在下一帧图像开始时,以上一帧图像最后一行图像处理后得到的路径宽度和阈值作为预设值返回1)进行处理。

  在以上自适应算法中,图像的滤波和二值化是同时进行的,系统只需要存储一行二值化后的图像,在提高处理速度的同时,有效降低了存储需求。

  

图1 自适应算法流程


  在步骤3)中,采用卷积的方法对路径边缘进行检测并计算路径的位置和宽度,其流程如图2所示。从预设中心点向两边同时扫描,确定路径的边缘.利用路径自身的连续性,使上一行的检测结果在下一行的检测中得到应用,有效提高了算法的稳定性和适应能力。

  

图2 边缘检测流程


  图2中2个卷积函数在硬件上的实现方式分别为

  从上式可知,V1、V2的取值范围为8~16,故定义当卷积值大于或等于12时为路径边缘点判据.当左右边缘搜索结束后,根据如下规则确定这一行路径中心点和路径宽度.记前一行路径中心点为M0,当前所扫描到的左边缘位置为L,右边缘位置为R,当前行的路径中心点位置M 和路径宽度W 的计算方法如下:

  

基于FPGA的视觉导航小车设计与实现


  以上4点中,除了第4)外,其余3点都对阈值及预定的路径宽度进行了调整.我们用上一帧图像第一行路径的中心位置和宽度作为下一帧图像的中心位置和宽度的预设值。

  2.2 路线规划

  小车上的摄像头是固定的,其视野范围也随之固定。图3给出摄像头的视野范围及相对位置,其中梯形框为视野范围,y轴为小车前进方向,O为小车前轴中心点,D 为视野最前方的路径中心点,即目标点.规划路线为通过O 和D 点且与y 轴相切的圆弧.在小车偏离了路径的情况下,规划路线可以引导小车逐渐回归导航路径.根据图3给出的几何关系,可以得出规划路径的曲率半径R 满足方程

  

图3 小车视野与规划路线示意图


  

基于FPGA的视觉导航小车设计与实现


  图4给出小车在圆弧上行驶的示意图,其中A,B两点分别代表小车前轴和后轴的中心点,L 为小车主轴的长度.从图4可以得到小车舵机转角与规划路线的曲率半径R 之间关系

  

image.png


  sinα=L/2R. (3)

  由于在实际行走的路线中,实际路线的曲率半径R 远大于车轴L,因此,式(3)可以简化成

  α≈L/2R. (4)

  根据式(4)计算的转角,可以对小车的舵机转角进行实时控制.实验中的小车采用脉冲调制(PWM)控制器来控制舵机转角.舵机转角与输出给控制器的占空比成正比,有

  α=μx, (5)

  其中x 为占空比,μ为比例系数。

  由式(3)~(5)可知,控制舵机转角的占空比与规划路线的曲率是成正比关系

  

image.png


  由于导航过程中,b保持不变,所以只需测得目标点D 在视场中的横坐标值a,即可根据式(7)求得控制所需的占空比,实现的小车的导航和控制。

  任永新等[14]同样采用圆弧路线规划,但是采用小车前轴中点与预瞄点之间的距离为路线参数,这不利于计算,而我们给出的公式更有利于在图像上直接获得,更便于实时性计算.传统的模糊控制中将路径分区段和类型进行控制,控制是不连续、不精确的,而本文提出的圆弧路线规划算法则具有连续精确控制的优点。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案