《机器人毕业设计(共35页).doc》由会员分享,可在线阅读,更多相关《机器人毕业设计(共35页).doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第一章 绪论1.1机器人概述.11.2.21.3.41.45第二章 系统架构与相关技术基础2.1 硬件设计2.1.1 处理器2.1.2 CCD2.1.3 超声波2.2图像的基本知识2.3多传感器信息融合2.4 路径规划第三章 投篮机器人总体结构设计.3.1 题目分析3.2 总体设计第四章 算法设计4.1 路径识别4.2 SIA第五章 软件实现与仿真.73致谢.72参考文献.73附录.73第一章 绪论1.1机器人概述机器人综合了多学科的发展成果,代表了高技术的发展前沿,其在人类生活应用领域的不断扩大引起国际上重新认识机器人技术的作用和影响。随着计算机技术和人工智能技术的
2、飞速发展,机器人在功能和技术上有了极大的提高,移动机器人、机器人视觉和触觉等技术就是其中的典型代表。同时,这些技术的发展,也推动了机器人概念的延伸。对于机器人的概念和定义,由于研究的侧重点不同,国际上目前尚未有明确的统一标准。综合各种定义,可将机器人理解为:机器人是一种在计算机控制下的可编程的自动机器,根据所处的环境和作业需要,它具有至少一项或多项拟人功能,另外还可能在不同程度地具某些环境感知能力(如视觉、力觉、触觉、接近觉等),以及语言功能乃至逻辑思维、判断决策功能等,从而使它能在要求的环境中代替人进行作业。机器人一般由以下部分组成:(1)机械主体部分(2)驱动伺服单元 (3)计算机控制系统
3、 (4)传感系统(5)输入输出系统接口毋庸置疑,未来机器人将拥有广泛的应用领域,例如在医疗服务,社会服务,家庭服务等等。1.4论文结构概述第二章 系统架构与相关技术基础2.1 硬件平台本设计是通过硬件实现的,投篮机器人是由处理器,传感器及相关的机械部分构成的,实现路径识别和灌篮的动作。Atmega16Atmega32CCD超声波电机液晶串口通信光电编码器2.1.1 处理器为了提高处理速度和设计的灵活性,机器人采用了两块处理器。每个处理器既有各自的功能,又有相互通信,实现并行和协作的功能。ATMEL公司的ATMEGA32芯片提供机器人的视觉处理能力,ATmega32是基于增强的AVR RISC结
4、构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega32 的数据吞吐率高达 1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。因为该芯片有较大的内存和较快的处理速度,比较适合做简单的图像处理芯片,该处理器的功能主要有:控制CCD,处理图像,识别路径,控制液晶显示。ATMEGA16芯片是高性能、低功耗的 8位AVR微处理器有先进的RISC结构,131 条指令 大多数指令执行时间为单个时钟周期,32 个8 位通用工作寄存器,全静态工作,工作于16 MHz 时性能高达16 MIPS,只需两个时钟周期的硬件乘法器,非易失性程序和数据存储器,16K 字
5、节的系统内可编程 Flash。因此该芯片适合做控制器。ATMEGA16的功能为:控制超声波传感器,光电编码器,电机控制。2.1.2 CCDOV7670 CAMERACHIPTM图像传感器,通过SCCB 总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率8位影响数据。该产品VGA图像最高达到30帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过SCCB接口编程。感光阵列640X480,IO电压2.5V to 3.0V (内部LDO给核供电1.8V)。CCD的功能为:提供机器人视觉,为路径识别和颜色识别提供硬件平台。 CC
6、D摄像机的工作原理是:当光线经过镜头汇聚成像在摄像机上时,每个光敏单元会因感受到的光强的不同而耦合出不同数量的电荷,通过译码电路可取到每一个光敏单元上耦含出的电荷而形成电流信号,该电流信号即对应一个像素,上百万个像素电流信号的集合,即构成了用电信号表示的图像。2.1.3 超声波超声波是指频率在20KHZ以上,不能引起正常人听觉反应的机械振动波,是物体的机械振动在弹性介质中传播所形成的机械波。由于超声波具有非常短的波长,可以聚集成狭小的发射线束而呈束状直线传播,故传播具有一定的方向性。超声波在空气中的传播速度为340ms。超声波在机器人控制中用来测距实现避障或导航,当遇到障碍物时,发射的超声波信
7、号被障碍物反射回来,接收电路接收到反射回的信号引发单片机中断,进入中断服务程序进行处理,从而避开障碍物。用作导航时,应先设立一个目标物,机器人实时计算与目标物之间的距离,并相应的进行决策,朝着减小或增大与目标物之间距离的方向运行,使机器人在大的方向上不至于走错。本模块输出方式为 PWM 方式。利用单片机从控制口发一个10Us以上的高电平,就可以在接收口等待高电平输出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。如此周期性地测量方可移动测距。2. 1. 4红外传感器为了便于移动机器人顺利完成行进任务,机器人必须使用检测障碍物的传感器,为
8、此采用红外传感器,主要检测左前方和右前方的障碍物。它的检测范围用户可以通过调节两个电位器来调节左右两个红外的检测距离。红外接收模块集成了红外接受管、前置放大器、限幅放大器、带通放大器、峰值检波器、整前电路和输出放大电路,灵敏度很高。有时从红外管侧面和后面漏出的红外光也会被接受模块探测到,所以我们预先将两个红外发射管和一个红外接收器装在一个套管里,然后固定在外壳上的,这样就有效的避免了这种情况的发生。2.1.5光电编码器在机器人转动轮的侧面我们设置了两个光电编码器用来测量机器人的速度,运用红外发射接受模块。反射器(即码盘)是用圆片制成,将其66等分,黑白相间。当轮子旋转带动码盘旋转时,黑条和白条
9、交替闪过光电编码器,即构成一组脉冲,总共33个,每个脉冲的分辨率约为10. 91 0,假如轮子直径为65mm,则周长方面的分辨率约为6. 19mm0光电编码器原理上也是靠发射与接受红外光来工作的,由于红外光照射在黑色辐条会被吸收,没有反射光线;而在白色辐条上是有反射信号的,所以我就可以检测到来自白色条幅的反射信号。2.2 相关知识3.1.1 工作原理摄像头分黑白和彩色两种,为达到寻线目的,只需提取画面的灰度信息,而不必提取其色彩信息,作者采用黑白摄像头以减少单片机采样的负担。摄像头主要由镜头、图像传感芯片和外围电路构成。图像传感芯片是其最重要的部分,但该芯片要配以合适的外围电路才能工作。将芯片
10、和外围电路制作在一块电路板上,称为“单板”。若给单板配上镜头、外壳、引线和接头,就构成了通常所见的摄像头,如聊天用的摄像头;若只给单板配上镜头,这就是“单板摄像头”。单板摄像头日常生活中不多见,生产单板的公司通常将它们卖给其它公司,其它公司再按自己的要求包装这些单板。摄像头的工作原理是:按一定的分辨率,以隔行扫描的方式采集图像上的点,当扫描到某点时,就通过图像传感芯片将该点处图像的灰度转换成与灰度一一对应的电压值,然后将此电压值通过视频信号端输出。具体而言(参见图3.1),摄像头连续地扫描图像上的一行,则输出就是一段连续的电压信号,该电压信号的高低起伏反映了该行图像的灰度变化。当扫描完一行,视
11、频信号端就输出一个低于最低视频信号电压的电平(如 0.3V),并保持一段时间。相当于紧接着每行图像信号之后会有一个电压“凹槽”(行同步脉冲)是扫描换行的标志。然后,跳过一行后(因为摄像头是隔行扫描的),开始扫描新的一行,如此下去,直到扫描完该场的视频信号,接着又会出现一段场消隐区。该区中有若干个复合消隐脉冲,其中有个远宽于(持持续时间长于)其它的消隐脉冲(场同步脉冲)是扫描换场的标志。场同步脉冲标志着新的一场的到来,不过,场消隐区恰好跨在上一场的结尾和下一场的开始部分,得等场消隐区过去,下一场的视频信号才真正到来。摄像头每秒扫描 25 幅图像,每幅又分奇、偶两场,先奇场后偶场,故每秒扫描 50
12、 场图像。奇场时只扫描图像中的奇数行偶场时则只扫偶数。图3.1 摄像头视频信号 摄像头有两个重要的指标:有效像素和分辨率。分辨率实际上就是每场行同步脉冲数,这是因为行同步脉冲数越多,则对每场图像扫描的行数也越多。事实上,分辨率反映的是摄像头的纵向分辨能力,如图3.2 所示。有效像素常写成两数相乘的形式,如“320x240”,其中前一个数值表示单行视频信号的精细程度,即行分辨能力;后一个数值为分辨率,因而有效像素=行分辨能力分辨率。值得注意的是,通常产品说明上标注的分辨率不是等于实际分辨率(即每场行同步脉冲数),而是等于每场行同步脉冲数加上消隐脉冲数之和。因此,产品说明上标注的“分辨率”略大于实
13、际分辨率。要知道实际的分辨率,就得实际测量一下。通过S12 单片机的定时器模块对单个脉冲的下降沿和上升沿间隔、两相邻脉冲上升沿间隔进行计时,可得每行信号和每个脉冲持续的时间。实际测得所用摄像头(1/3 Omni Vision CMOS)的时序参数见表3.3从测得的结果可知,该摄像头扫描的每场中有320 行信号,其中第23 行到310 行是视频信号,第311 行到下一场的第22 行是场消隐信号。在视频信号区,每行信号持续的时间相同,约为64us;每行的行同步脉冲持续时间也相同,约为4.5us。而在场消隐区,每行持续的时间会有所变化,每行对应的消隐脉冲持续的时间,尽管其中大多数为2.5us 和4.
14、5us,但也有变化。在场消隐区中,第320 行的消隐脉冲持续的时间远长于其他消隐脉冲的时间,此脉冲即为场同步脉冲。2.2.2多传感器信息融合的基本原理多传感器信息融合实际上是对人脑综合处理复杂问题的一种功能模拟。在多传感器系统中,各种传感器提供的信息可能具有不同的特征:时变的或者非时变的,实时的或者非实时的,瞬变的或者缓变的,模糊的或者确定的,精确的或者不完整的,可靠的或者非可靠的,相互支持的或互补的,也可能是相互矛盾或竞争的。多传感器信息融合的基本原理就是充分利用多个传感器资源,通过对这些传感器及其观测信息的合理支配和使用,把多个传感器在空间或时间上的冗余或互补信息依据某种准则进行组合,以此
15、获得被测对象的一致性解释或描述,使该传感器系统由此而获得比它的各组成部分的子集所构成的系统更优越的性能多传感器信息融合技术可以对不同类型的数据和信息在不同层次上进行综合,它处理的不仅仅是数据,还可以是证据和属性等。用于融合的信息既可以是未经处理的原始数据,也可以是经过处理的数据。处理后的数据既可以是描述某个过程的参数或状态估计,也可以是支持某个命题的证据,或赞成某个假设的决策。在融合过程中,需要对这些性质不同、变化多样的信息进行复合推理,以此改进分类器的决策能力,提高图像分析器的识别能力,增加跟踪器的精度,增强控制器的控制能力。信息融合的目标是基于各传感器分离观测信息,通过对信息的优化组合导出
16、更多的有效信息。这是最佳协同作用的结果,它的最终目的是利用多个传感器共同或联合操作的优势,来提高整个传感器系统的有效性。2.4路径规划研究现状路径规划方法有:可视图法、栅格法、人工势场法以及模糊逻辑控制方法等。随着研究的发展,路径规划系统的控制目标和控制方法都产生了很大变化。规划目标:控制方法:经典控制方法最优性人工智能实时性,智能性,自适应性研究初期,路径规划系统的控制目标为系统的最优性。例如行驶路程最短,耗时最少等。路径规划一般采用经典控制方法。经典控制方法基于系统状态方程,其算法表现出高度的精确性。这种路径规划方式有许多局限性。由于小车在行驶过程中,环境往往存在许多未知因素,因此很难用精
17、确的数学模型来描述这一过程。即使拥有精确的环境地图能够规划出最优行驶轨迹,由于AGV运动系统和路面状况的复杂性等原因,也很难控制车辆按理想轨迹行驶。此外,基于状态方程的精确控制方法在面对复杂系统时计算量巨大,这会导致消耗大量系统软硬件资源,影响系统实时性。随着研究的深入,人们逐渐认识到机器人对环境的“适应性”相对“最优性”而言是更为基础,更为重要的指标。因此系统的设计目标开始朝着实时性、智能性、自适应性方向发展。系统的控制方法则朝着人工智能方向发展。人工智能技术涵盖面很广,它的研究目标是使机器能拥有类人的智能。目前,AGV路径规划问题上涉及最多人工智能技术是遗传算法、神经网络和模糊控制技术。遗
18、传算法以自然遗传机制和自然选择等生物进化理论为基础,构造一类随机化搜索算法。它利用选择、交叉和变异来培养控制机构的计算程序,在某种程度上对生物进化过程做数学方式的模拟。它不要求适应度函数是可导或连续的,而只要求适应度函数为正,同时作为并行算法,它的隐并行性适用于全局搜索。多数优化算法都是单点搜索算法,很容易陷入局部最优。而遗传算法却是一种多点搜索算法,因而更有可能搜索到全局最优解。由于遗传算法的整体搜索策略和优化计算不依赖于梯度信息,所以解决了一些其它优化算法无法解决的问题。遗传算法的缺点是运算速度不快,进化众多的规划要占据较大的存储空间和运算时间。神经网络和模糊技术都是模拟人类智能的技术。但
19、是它们分属两个截然不同的研究领域。模糊技术从人的思维外特性,即语言和对世界认识的概念上去模仿人类智能,而神经网络则是从人脑的物理结构上去研究人类智慧的产生和形成。两者机理不同,特点不同,但殊途同归都从不同程度上构造了具有一定人类智能特性的控制系统。神经网络模拟了人脑神经元活动的过程,它具有并行化、自组织、自学习等特点。利用神经网络可对小车的行驶行为和环境进行学习,从而使得小车具有自主行驶能力。模糊技术具有人类智能的模糊性和推理能力。它可将人的经验融入控制中,从而提高系统的鲁棒性和自适应性。在路径规划中,模糊推理的应用主要体现在基于行为的导航方式上。所谓基于行为的导航,就是将机器人的运动过程分解
20、为避障、边界跟踪、调速、目标制导等基本行为,各基本行为的激活由不同的机构分别控制,机器人的最终操作由高层控制机构对基本行为进行平衡后作出综合反应。传感器数据用模糊逻辑进行融合后,可以确定是否激发低层行为,然后再利用模糊推理对存在冲突的低层行为进行优先权判别,从而决定实际操作。模糊控制方法将信息获取和模糊推理过程有机结合,从控制目标上看,它以自适应性取代最优性,从控制手法上看它以模糊性取代精确性。这种控制方法的优点在于不依赖机器人的动力学、运动学模型,系统控制融入了人类经验,同时计算量小,构成方法较为简单,节省系统资源,实时性好。第三章 总体设计3.1路径规划设计路径规划一般分为两层。第一层为粗
21、略的总体规划层。它根据全局环境信息和目标点坐标进行路径规划方式的决策。第二层为行为控制层。这一层产生具体的速度、角度控制信号。行为控制层一般包含多种行为决策模式,模式的切换由总体规划层控制。相对总体规划层而言,行为控制层面对的是局部环境信息。它内部一般采用行为式控制结构,传感器信号实时、并行地触发各种简单行为,最后通过一个决策机构产生系统输出。本文中的总体路径规划层以目标点为导向,它根据车辆行驶环境的不同,对行为控制层的路径规划模式进行决策。车辆行驶的环境可以分为有障碍物区和无障碍物区。例如:小车在室内行驶时,环境为有障碍物区。小车在室外行驶时,行驶环境为有障区和无障区的集合。不同行驶环境,行
22、驶方式和策略有所不同。从人类的驾驶经验可知,在遇到障碍时驾驶员会放慢速度,驾驶的注意力主要放在避让障碍物上。在无障碍物区行驶时,驾驶员会提升速度朝目标点行驶。总体路径规划决策结果分为两种:3.2避障路径规划环境中存在障碍物时,路径规划控制系统具有高度不确定性。系统结构如图4-7所示。避障路径规划控制系统篮筐距离环境识别角度判断小车转动控制量运动速度系统输入包括:三个方向上探测的障碍物距离信息、环境类别以及目标点与小车当前车身方向夹角。系统输出为转向装置控制量和期望速度V。这是一个有5个输入量,2个输出量的MIMO系统(多输入多输出系统)。对于这种具有高度不确定性的MIMO系统,传统的控制方法不
23、能达到很好的控制效果。模糊推理控制方法将人类的驾驶经验融入系统控制之中,因此可以较好的满足系统自适应性、鲁棒性和实时性的要求。下面首先介绍模糊推理控制方式基本原理。模糊推理控制方式基本原理:模糊推理控制方式借助模糊数学这一工具通过推理来实现控制。经典数学以精确方法来描述事物。模糊数学与之不同,它以隶属函数去恰当的描述事物的模糊性,并且把具有模糊现象和模糊概念的事物处理成精确的东西。模糊推理的数学基础是模糊逻辑。经典数学采用布尔逻辑。这种逻辑中的命题结果只有两种:“真”或是“假”。模糊逻辑是一种连续逻辑。一个模糊命题是一个可以确定隶属度的句子,它的真值取0,1区间中的任何数。显然,模糊逻辑是二值
24、逻辑的扩展,二值逻辑是模糊逻辑的特殊情况,因此模糊逻辑更具有普遍意义。模糊逻辑模拟了人类思维的模糊性,它采用与人类语言相近的语言变量进行推理,因此借助这一工具可将人类的控制经验融入系统控制之中,使得系统可以像有经验的操作者一样去控制复杂、激励不明的系统。总的说来模糊控制具有以下特点:1.不依赖于被控对象的精确数学模型,易于对不确定性系统进行控制2.易于控制、易于掌握的较理想非线性控制器,是一种语言控制器。3.抗干扰能力强,响应速度快,并对系统参数的变化有较强的鲁棒性。模糊控制器的结构如图所示。它是由模糊输入接口、模糊推理模块以及模糊输出接口三个部分组成的。模糊控制器的结构模糊规则库输入量模糊化
25、模糊推理反模糊化输出量模糊输入接口的主要功能是实现精确量的模糊化,即把物理量的精确值转换成语言变量值。语言变量的分档根据实际情况而定,一般分为37档,档数越多,控制精度越高,计算量也越大。模糊推理决策机构的主要功能是模仿人的思维特征,根据总结人工控制策略取得的语言控制规则进行模糊推理,并决策出模糊输出控制量。在模糊控制中较常使用的是Mamdani推理法。又称为min-max法,本文中使用的模糊控制器采用都是min-max推理机制。模糊输出接口的主要功能是把输出模糊量转化为精确量,施于被控对象。常用反模糊化方法有最大隶属度法、中位数法和重心法。下面介绍投篮机器人的路径规划模糊控制器投篮机器人的输
26、入量有摄像头的视频信息,超声波测量的前方障碍物的距离,信息来源虽然不多但信息量很大,数据处理也有一定的难度,尤其是视频信号的处理。每一帧图像都包含一个很大的矩阵,要从其中提取出想要的路径信息不仅要考虑处理器的处理速度,还要保证数据的实时性。所以,在摄像头的处理上要设计出一个快速有效的算法,才能保证投篮机器人的竞技性能。研究发现,摄像头的大部分信息是冗余的,所以我们可以提取出视频信息的一部分来进行研究。通过不断的测试,可以从一帧数据中提取一个48X60的矩阵,也就是从480X600的矩阵中提取十分之一的信息量。矩阵的减少使得处理器有更多的时间来处理别的数据,提高了工作效率的同时也保证了信息的完整
27、性。要得到模糊输入量还得从视频矩阵中提取出更加详细的信息,可以将矩阵分成两个更加小一点的矩阵。矩阵124X60矩阵224X60矩阵1的功能是识别远处(2050cm)的循迹线的走向矩阵2的功能是识别远处(020cm)的循迹线的走向分别把两个变量转换成模糊输入量,得到近距离循迹线与机器人当前方向夹角、远距离循迹线的走向z,再结合超声波的测量数据可以很好的控制投篮机器人的运动。第四章 算法设计4.1 路径识别4.1.1 二值化算法算法的思路是:设定一个阈值(例如 45),对于视频信号矩阵中每一行,从左至右比较各像素值和阈值的大小。若像素值大于等于阈值,则判定该像素对应的是白色赛道;反之,则判定对应的
28、是目标引导线。记下第一次和最后一次出现像素值小于阈值时的像素点的列号,算出两者的平均值,以此作为该行上目标引导线的位置。算法流程图见图当图像中只有目标引导线一条黑线时,该算法能准确提取出目标引导线。但其抗干扰性不强,当出现光强有大幅度的变化时,或当拍摄图像中出现其他黑色图迹的干扰时,该算法提取的位置就会有可能与目标引导线的实际位置偏离较大。4.1.2边缘检测算法检测目标引导线的上边缘。算法思路是:设定阈值,对于二位数组矩阵中每一列,从上至下求得相邻两像素值间的差值(上减下)。若差值大于等于阈值,则判定其下的像素点对应的是黑色引导线的上边缘,以此像点作为该列的特征点,记录下此像素点的纵坐标值(即
29、为相应的上边缘纵坐标),作为该列上目标引导线的纵坐标。有可能始终不会出现差值大于等于阈值的情况,则让该列上目标引导线纵坐标值保持不变(即同于分析上一场图像数据时求得的纵坐标)。流程图如图所示。当图像中只有目标引导线一条黑线时,该算法能准确提取出目标引导线。该算法很好地消除环境光强变化带来的干扰。该算法能削弱或消除垂直交叉黑色引导线的干扰,因为该算法在二维数组矩阵中是由上至下来寻找目标引导线的上边缘,当黑色图迹干扰出现在目标引导线上方时,该算法无法排除其干扰,而会误将干扰图迹的上边缘当成是目标引导线的上边缘;当出现在下面时,可以排除干扰。4.1.3 跟踪边缘检测算法跟踪边缘检测算法跟上一节介绍的
30、边缘方法一样,如图4.4 所示,也是寻找出目标引导线的上边缘,仍然用上边缘的位置代表目标引导线的位置。但跟踪边缘检测从二维数组矩阵每列中寻找上边缘的方法与上一节中介绍的不同,如图所示。因为目标引导线是连续的,所以相邻两列的上边缘点比较接近。 图4.2二值化算法流程图图4.3 边缘检测算法流程图跟踪边缘检测正是利用了这一特性,其主要思路是:当已寻找出某列的上边缘,若在该位置附近寻找下一列的上边缘,则只用花较少的步骤就可以找到。这种方法的特点就是始终跟踪在每列上边缘的附近,去寻找下一列的上边缘,所以就称这种方法为“跟踪”边缘检测算法。图4.4 直接边缘检测方法搜索左边缘 图4.5跟踪边缘检测法搜寻
31、左边缘4.1.4 中值滤波和曲线拟合虽然采用了边缘检测的方法进行黑线提取,但由于赛道缝隙或其他黑色像点的干扰,仍会使得某些行的黑线位置发生跳变。为了解决这一问题,增加算法的鲁棒性,可以采用中值滤波和曲线拟合的方法对前面获取的黑线位置进行处理。中值滤波的思想是,对于某行的黑线位置,如果它的位置正好在前后两行的中间,则保留原有位置;否则,以这三行中黑线位置居中的代替该行黑线位置。利用中值滤波消除单个的毛刺,但对连续两个以上的毛刺不能滤除。曲线拟合的思路是,判断每行黑线位置与整幅图像黑线平均位置的偏差,如果偏差大于某个数值,就将该点标记为无效点,此处的黑线位置用前后最近两个有效点的黑线位置的算术平均
32、替代。经过测试,上述两种方法都能使得探测到的黑线更加稳定,为各种算法的运用提供了可靠保证。4.1.5 路径识别与自适应阈值计算所谓路径识别,简单的理解就是把图像中反映路径的部分提取出来。这是一个图像分割的过程。图像分割是计算机进行图像处理与分析中的一个重要环节, 是一种基本的计算机视觉技术。在图像分割中,把要提取的部分称为“物体(Object)”,把其余的部分称为“背景(Background)”。分割图像的基本依据和条件有以下4 个方面:1)分割的图像区域应具有同质性,如灰度级别相近、纹理相似等;2)区域内部平整,不存在很小的小空洞;3)相近区域之间对选定的某种同质判据而言,应存在显著的差异性
33、;4)每个分割区域边界应具有齐整性和空间位置的平整性。现在的大多数图像分割方法只是部分满足上述判据。如果加强分割区域的同性质约束,分割区域很容易产生大量小空洞和不规整边缘;若强调不同区域间性质差异的显著性,则极易造成非同质区域的合并和有意义的边界丢失。不同的图像分割方法总是为了满足某种需要在各种约束条件之间找到适当的平衡点。图像分割的基本方法可以分为两大类:基于边缘检测的图像分割和基于区域的图像分割。边缘是指图像局部亮度变化最显著的地方,因此边缘检测的主要依据是图像的一阶导数和二阶导数。但是导数的计算对噪声敏感,所以在进行边缘检测前需要对图像滤波。大多数的滤波算法在滤除噪声的同时,也降低了边缘
34、的强度。此外,几乎所有的滤波算法都避免不了卷积运算,对于智能车系统来说,这种运算的计算量是AVR单片机系统所无法承受的。阈值分割法是一种基于区域的分割技术,它对物体与背景有较强对比的景物的分割特别有用。它计算简单,而且总能用封闭且连通的边界定义不交叠的区域。阈值分割法的关键在于阈值的确定。如果阈值是不随时间和空间而变的,称为静态阈值;如果阈值随时间或空间而变化,称为而动态阈值。基于静态阈值的分割方法算法简单,计算量小,但是适应性差。基于动态阈值的分割方法其复杂程度取决于动态阈值的计算方法针对本智能车系统,普通的双峰法就能适合绝大部分情况,因为智能车的运行环境是比赛赛道,背景和前景区分明显,且背
35、景简约。但是实验环境并不理想,由于受到光线斜射的影响,有时背景和前景的对比十分不明显。结合实际需要,提出了一种新的计算阈值的方法,这种方法的思想与迭代法有些相似。首先我们假定,智能车系统运行时,开始时采集的第一幅图像是良好的。这个“良好”含义是:第一行也就是最近处的一行,完整的包含了导航线,并且使用“双峰法”能正确提取。其次,我们对每一行都定义一个阈值Tr,每一行都用该行的阈值Tr 进行分割。在此基础上按照以下规则进行阈值传递:如果第r 行分割出来的黑色区域(线段)是连续的,那么计算目标区域和背景区域的平均灰度值,并取其中值,作为当前行和下一行的Tr。如果第r 行分割出来的黑色区域是空集或者不
36、连续,则保持当前行和下一行的阈值不变。这种算法的流程图如图5.6 所示,其特点是运算量小,但是能跟踪环境光线的逐渐变化。由于环境光线不管在时间上还是空间上都是逐渐变化的,所以这种分割算法产生严重错误的概率极小,小于1/10000。这个数据的来源是,让智能车在实验赛道上运行,累计时间超过30 分钟,没有一次智能车因为阈值分割错误而停车图4.6 一行的阈值计算流程图4.2模糊推理控制算法SIA避障路径规划模糊控制器的输入包括:近距离循迹线与机器人当前方向夹角、远距离循迹线的走向z、左,右两侧障碍物bl,br, 以及前方篮筐距离d信息。根据机器人传感器的特点和实际应用需要,各输入、输出量的隶属函数如
37、图所示。图a)表示近距离循迹线与机器人当前方向夹角的模糊化隶属函数,(0,180)度。模糊语言变量P取值分为L(左),Z(中),R(右)三档。隶属函数形状为梯形。L Z R图a0 70 110 180图b)表示远距离循迹线的走向z的模糊化隶属函数。模糊语言变量Z取值分为L(左),X(直线),R(右)五档。隶属函数形状为梯形。Z X Y图b图c)表示前方篮筐距离d的模糊化隶属函数。d (0,300)cm。模糊语言变量D取值分为B(远),M(中),S(近)三档。隶属函数形状为梯形S M B图c0 50 100 150 cm图d)表示机器人左,右障碍物b模糊化隶属函数。模糊语言变量B取值分为H(有)
38、,N(没有)两档。隶属函数如图H 图dN 图e)为输出速度变量v的模糊化隶属函数。语言变量值V分为:中速前进(FM),慢速前进(FS)和后退(BA)三档。BA FM FS图e图f)为转向装置控制量的隶属函数。其语言变量值A分为:LL(左大转弯),LS(左小转弯),Z(保持当前方向),RS(右小转弯),RL(右大转弯)五档。这五档分别对应不同的转向机构控制量LL图f2模糊推理规则的建立我们根据盲人走路和汽车驾驶的思维方式制定了如下所示的模糊控制规则:若近距离循迹线与机器人当前方向夹角偏左(L),远距离循迹线的走向向左(Z),前方篮筐距离远(B),左右都没有障碍物,则保持慢速前进(FS),向左大转
39、弯(LL)前进;若近距离循迹线与机器人当前方向夹角较小(Z),远距离循迹线的走向向右(Y),前方篮筐距离远(B),左右都没有障碍物,则保持中速前进(FM),向左小转弯(LS)前进;将控制规则用模糊语言表达为如下形式:If(P=Pi,Z=Zj,D=Dk,Bl=Bll,Br=Brm)Then(A=Aijklm,V=Vijklm)其中 i =0,1,2 j =0,1,2 k = 0,1,2 l = 0,1 m=0,13模糊控制器设计如图4-8所示,模糊控制算法由三个步骤组成。首先将输入量按照隶属函数转化为模糊量,然后用MIN-MAX推理法把模糊输入变量按照推理规则映射成模糊输出量,最后应用重心法对这
40、些模糊输出量进行反模糊处理,这样就得到了速度和转向机构控制量。下面介绍路径规划模糊控制器算法。4.2.2模糊推理控制算法SIA模糊推理是一系列基于if then语句的逻辑计算过程。模糊输入量越多,分档越细,控制语句就越多。大量的if then逻辑计算不仅要占用很多程序存储空间,还会降低计算速度,影响系统实时性。但是为了增强系统知识库的完备性和控制精度,总是需要采用大量模糊推理规则。为了解决这一矛盾,我们设计了一种与存储器相结合的模糊推理优化算法(下文简称SIA算法:Storage Inference Algorithm)。这种算法可以有效地减少运算时间,节省程序存储空间。计算机的存储空间存在着
41、地址与数据的一一对应关系。模糊推理语句也存在着推理输入与推理结果的一一对应关系。如果将模糊推理输入按一定方式转换成地址。而把模糊推理输出结果按照一定格式存储在相应的地址单元里。那么推理过程就可转化为访问存储器的过程。这就是SIA算法的基本思想。SIA算法分为三步:一、形成地址,二、读数据,三、翻译数据。机器人路径规划模糊控制器共有54条推理规则。这些推理规则的前件是由5个模糊输入量构成的。将这5个模糊输入量的组合经过适当简化和整理,可用8位二进制进行表示,其规则如表所示。输入 地址 数据7654321076543210PZDBlBr速度转角速度(V):FM0001 FS0010 BA0000转
42、角(A):Z0000 RS0001 RL0010 LS0011 LL0100P、Z、D、Bl、Br、V、A等为模糊变量名表的左部表示地址形成的规则。表的右部为数据存储规则:每个数据字节的高四位存放速度控制模糊量,低四位存放转向机构控制模糊量。左右两部分反映了地址、数据的一一对应关系。模糊推理过程可由查表指令完成。SIA算法中,推理过程由表格生成和查表两部分形成。其中表格生成是离线进行的。将if then逻辑推理语句按照表的格式生成数据表。表可直接存放在CPU内部或外部的EEPROM中。查表过程是在线进行的,它由形成地址、查表指令以及翻译数据三个步骤构成。模糊推理规则为:If (A =Am &
43、B =Bn) then (C =Cmn) m =p n =q模糊推理规则的数量为:N =(p q) p q常规的模糊推理算法(下文中简称INF),要逐条语句推理并按照Min法则将推理前件隶属度转T =t N =(p q) t p q表中:Am为模糊变量A语言分档值,m =1,2,p;Bn为模糊变量B语言分档值,n =1,2,q;Ck为模糊变量C语言分档值。设有数据类型R:R为一维数组,每个数组元素占两个字节,分别用Ri.Low和Ri.High表示。其存放数据格式如表4.3所示。Ri.Low的高四位存放模糊变量A的语言值代号,低四位存放模糊变量B的语言变量值代号。Ri.High存放相应的语言值隶属度。 Ri.High 76543210 Am隶属度 Bn隶属度 Ri.Low 76543210 Am Bn由前文可知,SIA算法分为形成地址、查表指令以及翻译数据三个步骤。下面用c语言描述这三个步骤。(实现见附录)STEP1:将隶属度不为0的模糊变量A、B的语言值和隶属度按表三格式分别放入数组NA、NB中,数组长度分别记为fa ,fb。模糊变量A的形成地址算法如下:for(i=1;i=p;i+)if(u(Ai)!=0)Ai.low=16i;Ai.High=u(Ai);Af;f表现了隶属函数语言值之间的覆盖程度,一般情况下:,2A Bf f。程序及说明专心-专注-专业
限制150内