海洋探测机器人系统模块设计与路径规划的研究pdf

文章来源:高德娱乐APP下载 2023-11-24

  优秀毕业论文,完美PDF格式,可在线免费浏览全文和下载,支持复制编辑,可为大学生本专业本院系本科专科大专和研究生学士硕士相关类学生提供毕业论文范文范例指导,也可为要代写发表职称论文提供参考!!!

  海洋探测机器人系统模块设计与路径规划研究 捅 要 海洋环境资源智能监测技术是海洋环境资源开发的重要组成部分和主要发 展方向,是实现海洋环境实时监测、资源探测、海洋灾害预警和防治等的重要手 段,对于国民经济、国防安全具有重要的意义。本文致力于研究一种小型的智能 化的海洋探测机器人,包括机器人的系统设计及其路径规划研究。 首先,论文分析了国内外海洋环境探测机器人的现状和发展趋势,提出了该 机器人的设计思路。本系统采用ARM9嵌入式微处理器,装载嵌入式Linux操作 系统。整个系统可以分为四大模块:GPS模块,传感器模块,图像采集模块,GPRS 模块。GPS模块完成机器人的位置探测;传感器模块通过声纳探测障碍物信息, 用来实现自主避障;图像采集模块采集海洋环境信息;GPRS模块将机器人采集 到的信息无线传输到主机端,用于进一步的分析。 其次,概括介绍了机器人路径规划的方法,包括全局路径规划方法:人工势 场法,栅格法,拓扑法,可视图法,自由空间法,以及局部路径规划方法:神经 网络法,模糊逻辑算法,遗传算法等。分析了这些算法的特点以及缺陷。 再次,结合该水面机器人的特点给出了基了二声纳的避障方法。介绍了声纳传 感器的布置方法,声纳坐标系的建立,以及声纳坐标系与固定坐标系的转换关系; 介绍了前面和侧面障碍物的避障方法,以及安全避障距离的确定方法;引入两个 目标探测函数,从而确定在避障方式下的机器人运动方向。 最后,论文介绍了基于改进人工势场法的路径规划。介绍了人工势场法的基 本原理。将原始人工势场法引入到水面机器人的路径规划中,在考虑水流作用的 情况下分析机器人受力,建立新的人工势场模型,并进行仿真实验。多次仿真实 验验证了算法的有效性,同时发现了不足。在此基础上改进原有算法,引入了新 的斥力场函数,并通过仿真实验证明了改进算法有效,从而解决了目标点与障碍 物过近时机器人无法到达目标点的问题。 关键词:嵌入式ARM—Linux系统:人工势场;路径规划:避障 unmanned i I for Desi gnof surfacevehce ocean enVi ronmentI orati onand f anni exp pathp ng Abstract ofocean The enVirollmentisan of technology explorationimportantcomponent me resource itisaIl to oceanenVifonment method deVelopment.Arld important monitorthereal—timeenviro啪entinfonnationnearthecoast.detectresourcesand meocealldisast既Andit forme preVent has伊eatsi盟i矗caIlcecountry’seconomy on and thesisfocusestheresearchofa unmanned security.This desi铲ofintelligent surf-aceVehiclewhichwillbeusedforocean enViro啪entresource exploration.This researchincludesVehicIe’s and systemdesignpathplanning. this introducesthe Vehicle’s Firstly; thesis situationofumannedsurf-ace statllsathomeandabroadand meideaofVehicle’s deVelopment bringsup system theembeddedLinux theARM desi弘.With opemtionsystem,thissystemadopts includesfour andGPRS. microprocessor.Thissystem modules,GPS,sensor,image TheGPSmoduleisusedt0 theVehicle’slocation sensormodule gain infornlation,the theinformationof collectstheinformationofthe modulecollects obstacles,the image oceanenviro舯ent锄dtheGPRSmodulesendstheseinfon.IlationbacktotheserVer forAlrtherresearch. some for thesisintroduces methods Secondly,this popular pathp1枷ing,such asthe artificial globalpathplanningmethods,includingpotentialfield,topolo鳜 Visual and thelocal methods,neural graphf}ee—spacemethod;includingpathplanning and and the and network, algodtmanalyzesadVantages mzzylo百c genetic ofmesemethods. weakpoints on t11esis howtoavoidobstaclesbasedsonarsensor.Two Thirdly’misexplains kindsofcoordinate sonar andthe builtfor syStems,thesystem stationarysystem,are melocation betweenmemis states ofobstaclesandthetransfonnation explained.It howtoaVoidme andsidesandthemeansof the obstacles丘。om矗-ontage confirnling safeobstaclesavoidencedistance.Thentwokindsof如nctionsare to proposedfigure outthe directionunderthisavoidant moVing pattem. new of the field potential Finally;awayoptimizingpathusingimpI。oVed surf.ace is fieldisusedint0meunmanned proposed.Theonginalpotential approach the totheforces Vehicle’s e艉ctof seawaVeistakenintoaccount pathplanning.The andthenewmodelisbulit.Thensimulation aretakent0 analySis experiments proVe the meflawsof potential行eld algorithm.Throu曲simulationexp“ments ori百nal t0 this canalsobe the is solVe found,and algonthm impr0Ved proposed problem.The the andmakesureme newsimulation can field Verify exp甜ments improVedpotential atthe eVenwhenthe totheobstacle. Vehiclecana11riVe goaIis close goal hig柚y embeddedARM—Linux words: Key system;potentialfield;pathplanning;obstacle avoidence. 独创 声 明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含未获得或其他教育机构的学位或证 书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示谢意。 学位论文作者签名: 猕辫 签字日期:为泖年6月’7日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人 授权学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用 影印、缩印或扫描等复制手段保存、汇编学位论文。同时授权中国科学技术信息 研究所将本学位论文收录到《中国学位论文全文数据库》,并通过网络向社会公 众提供信息服务。(保密的学位论文在解密后适用本授权书) 导师签字: 签字同期; ]日 海洋探测机器人系统设计与路径规划研究 1绪论 1.1研究背景 中国拥有18000多公里的大陆岸线多个,依照《联合国海 洋法公约》中200海里专属经济区制度和大陆架制度,中国可拥有约300万平方 公里的管辖海域,海洋资源丰富,过去20多年来,我国在持续开展海洋勘察工 作的同时,海洋科学研究和技术开发也得到了快速发展。海洋环境资源智能监测 技术是海洋环境资源开发的重要组成部分和主要发展趋势,是实现海洋环境实时 监测、资源探测、海洋灾害预警和防治等的重要手段,对于国民经济、国防安全 具备极其重大的意义。目前,国际上主要采用海上定点浮标,实现海洋环境资源的监 测。为了实现对大区域海洋环境的监测,必须在海面上投放大量浮标,这样不仅 投资巨大,而且浮标的适应能力差、定点困难、监测范围小,尤其是在环境恶劣 的海区(如存在暗礁、大风浪等),浮标的投放与回收是个棘手的问题。而在这 样的区域,载人监测船也很难靠近进行实地勘测。为了克服定点浮标和载人监测 船的缺陷,减少对监测系统的投入,扩大探测范围,提高系统的智能化水平,提 高监测站的性能和探测投资的经济效益,实现智能化、自动化、低成本的大区域 海洋水面环境资源的可靠监测,有必要开发一种智能化的自主游动式海洋环境资 源探测机器人系统。 1.2水面探测机器人的国内外发展现状 水面无人探测船较水下无人潜器、无人飞机、陆地机器人等的研发起步晚, 但是发展迅速,目前己有多种水面无人艇开始应用于军事领域Ⅲ。以美国为代表 的西方国家己将其列为重要的发展方向。例如著名的美国海军“斯巴达侦察 兵(SpartanScout),是一种具备半自主能力、可从水面舰船或岸上发射的无 入水面艇,可装备模块化载荷执行水雷战,情报、监视与侦察,部队防护,港口 防护,对敌水面和陆地目标实施精确打击,以及反潜战等任务,第一艘“斯巴达 侦察兵”无人水面艇已经在2003年10月部署。 2007年3月5日美国海军向EDO公司授予无人水面舰艇合同担3,为支持濒海 .b洋探ⅢHL≈^系‰&计々镕径舰划岍究 作战舰水雷战任务提供尤人水向舭艇,ED0公司将为水雷战任务提供新型无人水 面舰艇测试模型与系统样机。该公司将%4作这些模型并分期其与濒海作战舰任务 模块的集成情况。无人水面舰艇主要用于存在高度威胁的水域。 鬻裂缀瀚驻缴 图卜1美国无人探测艇 2003年,以色列成功研制“保护者”(ProLector)水面无人艇,并于200j 年开始批量生产,陔蜒出拉斐尔公司和航空防御系统公司研制,用于执行保卫领 水和近岸水域任务。它长9米,晶大航速达40节,自持力约8小时.有效载荷 重量达1吨。艇上设备包括带有“导航星”空问无线电导航系统接收机的惯性控 制系统、水面目杯搜索甫达及以色列田产“桅顶灯”光电观察系统,后者包括电 视和热成像(工作波段35MKⅥ)摄像机及激光测距仪。对艇的运动的操纵由双 向遥控装置(作用距离20公罩以内)或由艇上计算机按程序自动完成。以色列 研制者正在努力将战艇推向国际军火市场。由于该艇在试验和使用过程中显示出 了较高的战术技术性能,新加坡海军已经决定购买该艇,而美国海军己于2005 年购买了l艘用于试验。 图1—2以色列“保护者”无人艇 海洋探测机器人系统模块设计与路径规划研究 德国韦列电子公司和梅列斯技术GmbH公司联合研制了“泽维泽尔’’无人艇。 该艇长3.3米,宽0.6米,使用玻璃钢材料,使其重量降至50公斤(满载排水 量284公斤,有效载荷184公斤)。动力装置为科马楚公司的2台外挂式双冲程 马达(最大航速可达27节)或2台“德国佬”电动机(最大航速lO节),储备 航程250海里。有效载荷包括水面和岸上目标光电搜索与探测装置、“导航星” 空间无线电导航系统接收机及塔莱斯公司研制的放射性与化学分析传感器。该艇 的实样试验结果表明,遥控设备和无线电数据传输波道能保障指挥所在距离19 公里内稳定地接收遥测信息(视频信号是5公里,操纵信号是28公里)。预计, 该艇将于2008年列装。 与此同时,亚太国家也在积极研制无人艇。2006年,中国沈阳航窄航天公 司以XG一2遥控靶艇为原型研制并正在试验其装备了2套防空导弹系统的遥控装 置的改进型。其动力装置能确保最大航速达36节,作战半径达100公罩,艇长 6.7米,宽2.6米,满载排水量2吨左右。艇上无线电电子设备包括:导航雷达、 空中目标电视探测站、激光测距仪、便携防空导弹系统自动化火控系统。据研制 者称,便携防空导弹系统可被小型反舰导弹或抗水雷和反潜作战装备所取代,包 括声纳、反舰鱼雷或扫雷设备。 同本“雅马哈”公司正在研制一种用于环境监测的无人艇川,它装有电动 机和惯性控制系统及“导航星”空间无线电导航系统接收机,使用太阳能电池 为艇上设备供电。尽管该艇主要用于科学研究目的,只本专家正在研究为其安 装遥控装置和无线电电子观察设备的可能性,用于执行海军战术侦察任务。 综上所述,国内针对海洋动力环境探测的半潜式自主机器人的研发还比较 少,特别是无人、智能、高速等方面的集成,还处于遥控艇的阶段,与欧美等 先迸水平还有较大差距。 1.3论文研究内容与组织结构 本论文研究基于ARⅥ的海洋环境探测机器人系统设计,以及在此基础上研 究海洋探测机器人的路径规划问题。论文的组织结构如下: 第一章介绍了水面机器入的国内外发展现状。 海洋探测机器人系统设计fJj路径规划研究 第二章介绍水面机器人的系统设计,包括GPS模块,传感器模块,图像采 集模块,GPRS模块等的软硬件实现方法及工作原理。 第三章介绍机器入路径规划的方法。包括全局路径规划主要方法:人工势 场法,栅格法,拓扑法,可视图法,自由空间法以及局部路径规划的主要方法: 神经网络法,模糊逻辑算法,遗传算法等。 第四章介绍基于声纳传感器的机器人避障方法。介绍声纳坐标系的建立以及 声纳坐标系与固定坐标系的转换,几种障碍物的躲避方法。 第五章介绍基于改进的人工势场方法的路径规划方法。针对水面机器人的特 点,引入水流的作用,同时改变斥力场函数,有效解决传统势场方法存在的缺陷。 4 海洋撵捌帆#人系缝设汁%路径墁划研究 2海洋探测机器人的系统设计 本课题研究的硬件平台是基于^刚的海洋环境探测机器人。该水面无人机器 人系统基于GPS技术和ePRs无线通信技术,配备了速度传感器、图像采集模块. 并搭载了温度、深度、声纳传感器等海洋测量仪器设备,可以实现对海洋环境的 全面智能实时监测,具有自动避障、实时远程测量数据、自动数据采集与处理、 数据传输以及远程监控等功能。 、k———— 缈々_ 一一巨固匹圈 JI jl 环境探测 障露刊一传感器 陆地监控中心 usB摄像头7 ...................................一 图2— 海洋探测机器人系统组成图 2 1核心控制系统设计 海洋环境探测机器人‘F音的核心控制系统组成如图2.2所示,主要包括中 央控制系统,基于GPs的定位与导航子系统,三维障碍物实时避障系统,自动 数据采集与处理子系统,坫j。V4L(videoForLinux)的州像采集系统等。 海洋探测机器人系统设计与路径规划研究 图2—2监测机器人的核心控制系统组成 (1)基于ARM的中央控制系统 采用基于AR‘Ⅵ9的嵌入式开发系统,如图2—2所示,作为监测机器人 的中央控制系统。主要实现如下功能: 夺接收各功能了系统发来的数据,经处理后通过无线通信系统发送 到远程监控中心。 令接收远程监控中,已、发来的指令,经处理后发送给相关的子系统。 令对采集的数据和图像进行预处理,提取有用信息,发送到远程监 控中心。 (2)基于GPS定位与导航子系统 采用GPS定位技术实时测量监测机器人的经度、纬度、方向、速度 以及时间等参数。 (3)自动数据采集与处理子系统 根据预设的专项监测功能,采集所需要的数据,并对数据进行预处 理,提取有用信息。 (4)基于V4L的图像采集系统 基于V4L采集海面环境图像信息,利用GPRS模块传到后端远程监控 中心进行海面环境分析,为导航和避障提供依据。 (5)三维障碍物实时避障系统 6 海洋探测机器人系统设汁与路径规划研究 在探测机器人上布置两层声纳来获取障碍物的信息,为路径规划提供 障碍物信息。 2.2嵌入式平台选择 考虑到本系统的需要及ARM微处理器的各种优点,我们采用ARM作为系 统的主要硬件平台,但是ARM有多达十几种的内核结构,几十个芯片生产厂家, 以及干变万化的内部功能配置组合,因此我们要对硬件进行选。一般而言,在选 择微处理器时,可以遵循以下原则。¨: ● 根据ARM微处理器内核选择。不同的内核结构适应不同的应用领域,如果 希望使用WinCE或“眦x等作系统以减少软件开发时间,就需要选择 ARM720T以上带有MMU(MemorymanagementUnit)功能的芯片。 ● 根据系统的工作频率选择。工作频率高表示ARM微处理器的处理能力强。 而且不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有的芯 能部件提供不同频率的时钟。 · 根据芯片内存储器的容量选择。大多数的ARM微处理器片内存储器的容量都 不太大,需要在设计系统时外扩存储器,但也有部分芯片具有相对较大的片 内存储空间,用户可根据需要选择。 ●根据芯片内外围电路选择。用在不同的应用领域,需要用不同的接口来扩展 相关的功能模块,或者集成在芯片之中(片内外围电路),如USB接口、IIS 样既可简化系统的设计,同时提高系统的可靠性。 鉴于以上种种因素和实际的需要,我们最后选择了深圳远峰计算机技术有限 并适合用来作为开发高性能的手持式以及便携式智能设备或终端。如图3—3: 器,专门为PDA、Intemet设备和手持设备等专门开发的微处理器。该芯片还包 作系统移植到基于该处理器的目标系统中。该目标板的系统资源如下H:: 7 脚,#镕■目L8^《缱垃L¨’镕M攫斟m咒 々CPu:S3C2410微处理器,工作频率为200MHz: 夺FI勰II:16MB; 々SDRAM:“MBSDRAM: 夺uART:Rs-232串行接口: 々其他:14针ARMJ1AG接LJ。 s3c2410微处理器高性能的同时,本身还集成了其他外设.主要如下: 々l o,100MHz自适应以太同控制器: 々2通道9线制串口: 夺Embedde(I.IcE(标准20DInJTAG)调试接I]: ÷2通道usBI1主机接口: 々核心板上集成标准jl已锋“MBNand-Flash: 々核心扳}集成杯准酗噩“MBSDRAM。 嘲20 YRs3c2410型开发扳 23各模块的选择及工作原理 2.3.1GI)S模块 海洋挥测018^最缱殴*,j镕槿脱划研究 2.31.I模块介绍 目前商用的GPS模块,大都支持12通道。采用c/^编码和ⅫE^0183协议 通过Rs232接口控制。从技术参数,通信协议,控制接口和成本等四个方面考虑 本系统选用G^删I、公司胸GPsl孔模块,如图2—4。其主要特性如f: 图2—4 G黔l孔型的GPs模块 夺超小尺-j.3;州5幸8毫米,非常适合}6}八式系统对于窄叫体积的要求: 夺12通道c/A码接收控制,可㈨时黼控J2路n翟信号,数据更新牢为Is: 々微弱卫星信号的增强型接收功能.对于阴影效应具有良好的抵抗特性: 夺NME^0183协议.siRF:进制脚泌支持: 夺玲/热/中温时的快速启动时『BJ小fd5/l;/8秒: 夺抗多路径干扰: 夺定位精度(15米,速度柑度005m/s: 夺串口可直接与有Rs一232极性的标准的3到;v的cM0s逻辑电平连接, 无需电平转换电路。 2.3l 2GPS信息解析 GPs的基本定位原理【¨惺:卫星不问断地发送自身的星历参数和时蚓信息. 用户接收到这些信息后.经过计算求出接收机的三维位置,三维方向以及运动速 度和时刚信息。随着GPs(全球定位系统)和便携移动殴备的E速发展.各种各样 以GPs为基础的定位最统{目继出现。通过GPs接收模块可以获取GPs卫星信号. 经过信号处理可以获得位簧、时『自J、速度等信息.最终达到定位和导航的目的。 GPs只要处于工作状态,就会源源不断地把接收到的导航定位信息通过串口 传给ARM处理器。这些信息没有经过分类提取之前是无法加以利用的,因此必 须按照协议格式,把需要的信息提取出来加以利用。OPs模块遵循NMEA0183 9 海洋探测机器人系统设计与路径规划研究 协议,所以GPS数据解析任务就是对该协议进行解析的过程。NMEAOl83协议 规定,不同数据帧带有不同的帧头。本系统使用模块获取的数据帧,帧头为 $GPRMC,该帧结构和各字段如下表2—1: 表2.1GPS信息格式 $GPRMC,l,2,3,4,5,6,7,8,9,10,11,ll术hhCRLF lUTC时’日J,hhmmss.dd(时分秒)格式 2定位状态,A=有效定位,V=无效定位警告,与卫星定位不正常 3纬度值:ddmm.mmmm(度分)格式 4 纬度半球,N=北半球(北纬),S=南半球(南纬) 5经度值:ddmm.mmmm(度分)格式 6经度半球,E=东半球(东经),S=西半球(西经) 7 地面速度,单位是l(nots(节) 8地面航向,即方位角,它的范围为ooO.O.359.9 9UTC R期,ddmmyy(同月年)格式 10 磁偏角,范同为000.0一180.0 11 磁偏角方向,E=东,w=西 12 模式指示(A=自主定位,D=差分,E=估算,N=数据无效) 根据以上的信息格式,我们就可以完成GPS数据解析任务,主要包括对当 前时间、经度、纬度和速度等信息的提取。首先初始化GPS模块,设置波特率、 输出时间间隔、输出参数等。接着建立接收缓冲区,把收到的数据存储到缓冲区, 通过搜寻AscII码$来判断是否是帧头,在找到帧头后,对其类别进行判断,确 认是$GPRMC数据帧后,再通过对所经历的逗号个数的计数来判断当前正在处 理的是哪一种定位导航参数,并做相应处理,保存到定义好的数据结构中,供其 他任务调用。 2.3.2传感器模块 2.3.2.1模块介绍 采用新西兰NAVⅥA\公司生产的Fish4200,该设备可以同时返回多种信息, 包括船速、深度、障碍物信息、温度等。 Fi sh4200采用NAVMAN的专利数字声纳SB\II技术,从而在增强回波信号, 10 海洋探测机器人系统设计0路径规划研究 海底目标识别和噪声抑制方面都达到最佳效果;可调节的声纳脉冲强度与长短实 现最佳的浅水/深水的探测;特有的船舶龙骨设置可直接读取船体任何位置至海 底之间的准确深度;卓越的IP67防水性能适应在各种恶劣海况下的j下常使用。 Fish4200的主要技术指标如下: 令工作电压:10.5至16.5V; 令环境温度:O至50摄氏度; 夺探头类型:壁挂式或穿舱式; 夺探头工作频率:单频200KHz; 令声纳输出功率:150W; 令深度探测范围:O.3至180米; 夺防水级别:IP67; 夺告警类型:过浅、过深、鱼群、温度、温差、电池不足; 夺通信口协议:4800波特的NMEAOl83协议。 2.3.2.2传感器信息解析 这三帧中,他们分别包含了深度信息,速度信息和温度信息。如下表2.2: 表2.2传感器信息格式 $PTTKD,1,串hhCRLF1表示深度信息,单位是英尺 2表示速度信息,单位Kn(节) $PTTKVj2,幸hhCRLF $VWMTw,3,术hhCRLF3表示温度信息,单位是摄氏度 传感器数据解析任务,主要完成当前航行速度、温度、水的深度等信息的提 取。首先初始化传感器模块,设置!波特率为4800;数据位为8;奇偶校验为无: 停止位为l位。接着建立接收缓冲区,把收到的数据存储到缓冲区,通过搜寻 ASCII码$来判断是否是帧头,在找到帧头后,对其类别进行判断,确认是 的计数来判断当前正在处理的是哪一种定位导航参数,并做相应处理,保存到定 义好的数据结构中,供其他任务调用。 海洋探测机器人系统设计与路径规划研究 2.3.3图像采集模块 2.3.3.1模块介绍 对于图像采集模块,我们采用了USB摄像头。市场上的摄像头,最广泛的是 采用中芯微公司生产的zc30l芯片,需要在Linux下加载驱动。我们选用深圳新 意格尔公司生产的迈德克斯网络数码摄像头,其主要技术规格如下: 夺最大分辨率:1280X1024(VGA) 冷镜头直径:6fnHl ◇成像范围:3cm无限远 t ◇数据格式:8/16/24bi ◇信噪比:42dB ◇Direct Show:支持动态远程视讯即时传输 2.3.3.2工作原理 (1)摄像头驱动的加载 在嵌入式Linux系统中并没有加载USB设备的驱动程序,需要自己编写并 添加驱动程序,使开发板能够识别USB摄像头。Linux本身自带了采用ov51l 芯片的摄像头驱动,而本系统采用了zc30l芯片的摄像头作为图像采集模块,所 以首先要进行zc301芯片摄像头的驱动加载m】。 首先,加载适用于该摄像头的补丁usb.2.4.3lLE06.patch,然后配置内核, 运行make deVice一 menuconfig,进入内核配置界面。首先水选择Multimedia usb forl for 下的Video inux。然后在usbsupport一目录下卑选择support 和M选中SPCA5XX这一项,至此内核配置完成,接着执行make dep,makezImage, make for1inux modules三条命令,生成具备支持z301芯片摄像头和具有video l芯 片摄像头的驱动文件。将生成的新内核以及驱动文件写入开发板中后,将摄像头 连接到开发板的USB接口上,用新内核启动开发板并运行insmod命令即可加载 摄像头驱动。 (2)图像采集程序的编写 12 海洋探测机器人系统设计与路径规划研究 本系统采用基于Ⅵde04Linux的图像采集方法【10-1 中关于视频设备的内核驱动,它为针对视频设备的应用程序编程提供一系列接口 函数,这些视频设备包括现今市场上流行的TV卡视频捕捉卡和USB摄像头等。 图2.5视频采集流程 1.打开视频设备 摄像头在嵌入式系统中对应的设备文件为/dev/vide00,采用系统调用函数: getpi吐fd20p饥(“/deV/Vide00”,o-RDwR); getpitfd就是设备打开后返回的文件描述符(打开错误返回一1),以后的系统 调用函数就可使用它来对设备文件进行操作了。 2.读取video capability信息 海洋探测机器人系统设计与路径规划研究 V4l-deVicegetpic 利用函数读取video-capability中有关摄像头的信息: ioctl(getpic—fd,VIDl0CGCAP,&getpic·capability); 该函数成功返回后,这些信息从内核空间拷贝到用户程序空间getpic. c印ability各成员分量中。 3.修改video picture信息 若要在用户空间程序中可以改变这些信息,具体方法为先给分量赋新值, 再调用函数,如下: getpic一picture.depth=3; ioctl(getpic_fd,VIDIOCSPICT’&getpic一picture); 完成以上初始化设置工作后,就可以对视频图像截取了。 4.利用mmap()方式视频截取具体进行操作如下: (1)获得摄像头存储缓冲区的帧信息 ioctl(getpic—fd,VIDl0CGMBUF,&getpic-mbuf); (2)修改video mmap中的设置 例如重新设置图像帧的垂直及水平分辨率、彩色显示格式。可利用如下语句 getpic-window.height=240; getpic一window.width=320; getpic一window.fonnat=VIDEO—PALETTlij乇GB24; size=getpic一mbuf.size; 接着把摄像头对应的设备文件映射到内存区,具体使用 这样设备文件的内容就映射到内存区,该映像内存区可读可写并且不同进程 间可共享。该函数成功时返回映像内存区的指针,失败时返回值为.1。 (3)截取图像 在上面获取的摄像头存储缓冲区帧信息中,最多可支持的帧数(疗锄es的值) 一般为两帧。对于单帧采集只需设置picbuf.仔踟e=O,即采集其中的第一帧。下 面进行视频截取: 调用VIDIOCMCAPTURE开始视频截取 14 拇;t撵铡目l≈^采境设*‘j路H艘捌日究 若调用成功则歼始帧的截取,这个过控是非阻塞的,是否截取完毕留给 vIDl0CsYNc来判断。 调用VIDIocsYNc等待一帧截取结束 iodl(铲tp把一fd,VIDlocsYNc+&gdpi争丘am旬; 该函数调月lvlDIOcsYNc判断该帧图像是否截取完毕.成功返回表示截取 完毕,之后就可把图像数据保存成文件的形式。 (4)采集工作结束后调用mumnap取消绑定 m帅map(gdplp)Vmm叩,gelpic-m加£si00; 通过zc30l的摄像头采集的数据是采用jpeg编码的位流。本文采用mm3P 方式编写图像采集程序从zc30l摄像头获取一张jpeg嗣片。由此我们就得到了 一帧图像信息,将它保存到nash中,以备其他任务处理。 234 6PRs模块 4 23 I模块介绍 奉系统的GPRs模块来片1wAVEc删公司推出的q圳。孙模块。如图2—4。它 的主要特性如下: 图2.402403a喇GPRs模块 夺双频GsM/GPRsmD跚模块: 夺供电:3.6VDc l^,通信中平均300lII^(0%叶x,Plll8x)。窑闲时3.;I『lA; +外部尺寸:58×32×6帆,重量:209: 夺短消息服务:点对点的mM0,短消息区域广播,回复呼叫信息: 夺基本特征:通话或紧急呼叫,最高速率,升级最高速率和半速率,双音 海洋探测机器人系统设计≮路径规划研究 多频功台皂(DT.ⅥF); ts/s, ◇数据特征:Q2403A(支持class2),下载26.8kbits/s,上传,13.4kbi 线), bits/s,自动传线(class wAP; 通话和传线A协议,GPRS 夺接口:单一天线V和SIM检测; ◆实时时钟:为手持设备设计,I/0接口,4位平行接口,平行LCD接口, 2个麦克风输入和2个耳机输出,蜂鸣器输出; 夺电源接口:为数据操作,RS232C串口线,通过AT指令控制,波特率从 300到115200 bits/s。 bits/s。自动速率从2400到19200 2.3.4.2工作原理 本系统数据传输是通过GPRS模块进行的,而GPRS数据传输是通过Internet 进行传送,所以终端部分首先要实现拨号接入Internet的功能,然后才能进行 nux 数据通信。通过GPRS上网,要支持PPP(Point—to.PointProtoc01)协议¨¨,在Li 系统中已经包括了对点对点协议PPP的支持,PPP协议提供了一种通过串行点对 点联接传输数掘报的方式,一个PPP会话分为四个步骤:连接建立、连接质量控 制、网络层协议配置、连接终止。并提供密码认证协议(PAP)或者邀请握手认证 协议(CHAP)来保证连接安全。PPP是为在同等单元之间传输数据包这样的简单 链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。 本系统使用GPRS无线,而GPRS使用PPP协议进行网络通讯,所 以要在微控制器中也实现~部分PPP协议才能与之对话。GPRS模块在拨号后 首先要与GPRs网关进行通信链路的协商,即协商点到点的各种链路参数配置。 Control Authentication 协商过程遵守LCP(LinkProtoc01)、PAP(PasswordProtocoI) Protocolcontrol 和IPcP(Intemet Protoc01)等协议。其中LcP协议用于建立、构造、 测试链路连接;PAP协议用于处理密码验证部分;IPCP协议用于设置网络协议 环境,并分配IP地址。协商机制用有限状态机的模型来实现。一旦协商完成, 链路已经创建,IP地址已经分配就可以按照协商的标准进行IP报文的传输了。 根据应用的不同,IP报文中可以携带UDP报文,也可以是TCP或ICMP报文。 本系统正是采用TCP报文传送数据信息的。数据传输完成之后,微控制器会向 16 海洋探测机器人系统设计与路径规划研究 GGsN发送LCP的断开连接报文,以终止网络连接。PPP协议的帧结构如图2.5 所示。微控制器的串口中断接收程序首先以包起始和结束符来判断是否有完整的 PPP包,并对PPP包的内容进行校验,以确定数据包的完整性和正确性。然后, 在主循环中进入PPP报文解析模块,解析过程如图2—5所示。 图2—5PPP报文解析 2.4基于Socket的网络传输 2.4.1 socket简介 统开发的网络通信接口,随着UNIX操作系统的广泛使用,套接字成为当前最流 行的网络通信应用程序接口之一。 以利用它们来开发TCP/IP网络上的应用程序。与文件操作相比,网络的Socket 数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类 似于打开文件的函数调用socket(),该函数返回一个整型的Socket描述符,随后 的连接建立、数据传输等操作都是通过该Socket实现的。 利用Socket进行通信,有两种主要的方式‘2∥。第一种是面向连接的流方式。 这种方式下,两个通信的应用程序之间先要建立~种连接链路,只有确定了这条 通路之后,数据才能被正确接收和发送,这种方式对应的是TCP协议。 第二种叫做无连接的数据报文方式,这时通信双方就像是把数据放在一封封 海洋探测机器人系统设计与路径规划研究 信里利用互联网寄给对方,信在传送的过程中有可能会残缺不全,而且后发出的可 能会先收到,它对应的是UDP协议。 服务端 服务端 面向无连接套接口方式 面向连接套接口方式 图2—6socket的两种通信方式 图2—6为无连接套接口应用程序流程图和面向连接套接口应用程序流程图。 流方式的特点是,通信可靠,对数据有校验和重发的机制,通常用来做文件的传 输;数据报文方式由于取消了重发校验机制,能够达到较高的通信速率,可以用 作一些数据可靠性不是很高的通信。在上一节中已经从GPRS网络的特点方面分 析了TCP/LDP协议,并选择TCP协议作为海洋环境监测机器人系统的通讯协议, 因此远程控制程序将采用面向连接的流方式建立Socket通讯。 2.4.2 socket常用数据结构 海洋探测机器人系统模块设计与路径规划研究 (1)常用的Socket有三种类型洲: · 它使用TCP协议,从而保证了数据传输的正确性和顺序的。 通过相互独立的报文进行传输,是无序的,并且不保证可靠、无差错,它使 用数据报协议LDP。 ·原始socket。原始套接字允许对底层协议如IP或IC.ⅥP直接访问,它功能强 大但使用较为不便,大多数都用在一些协议的开发。 “nux中socket的数据结构有: (2)存储套接字地址的结构体 ● structsockaddr{ short unsignedsa—family://地址类型,一般为AFjNET。 char Sa—data[14]r://14字节的协议地址 }: · internet套接字地址结构 struct sockaddrjn{//in代表internet shortint shortint unsigned sin—port://存储端口号 struct in—addrsin—addr://存储IP地址,使用in—addr这个数据结构 char unsignedsin—zero; }: 保留的空字节。 但是一般编程中并不直接针对sockaddr这个数据结构操作,而是使用另一 操作。因为套接口地址结构作为参数传递给任何一个套接口函数时,它总是通过 指针来传递。当套接口函数通过指针来取得此参数时,它并不需要处理来自所支 持的任何协议族的套接口地址。所以系统定义了一个通用的套接口地址结构,这 样在调用这些函数时,就必须将指向特定协议的套接口地址结构的指针类型转换 19 海洋探测机器人系统设计‘j路径规划研究 成指向通用套接口地址结构的指针。 结构体的指针也可以指向sockaddr的结构体,并代替它。也就是说,可以使用 sockaddr_in建立所需要的信息,在最后用进行类型转换就可以了。 ● struct in—addr{ unsigned10ngs—addr;//按照网络字节顺序存储IP地址 }: 2.4.3 socket常用函数接口 2.4.3.1建立和关闭socket套接字:烈” (1)建立套接字socket() 为了建立socket,程序可以调用socket函数,该函数返回一个类似于文件描 述符的句柄。socket函数原型为: int socket(intdomain,int type,intprotocoI); 常赋值”O”。socket()调用返回一个整型socket描述符,你可以在后面的调用使用 它。 socket描述符是一个指向内部数据结构的指针,它指向描述符表入口。调用 socket函数时,socket执行体将建立一个socket,并分配存储空间。如下: sockfd2 socket(AF一烈ET’SOCK。STREAM,O); sockfd就是是调用socket函数返回的socket描述符。 (2)结束传输close() 当所有的数据操作结束以后,你可以调用close()函数来释放该socket,从而 停止在该socket上的任何数据操作: close(sockfd): 2.4.3.2常用的函数 ·Server程序使用的主要函数: 海洋探测机器人系统设计与路径规划研究 (1)bind()函数 bind函数将socket与本机上的一个端口相关联,随后你就可以在该端口监 听服务请求。bind函数原型为: int sockfd,strl】ct bind(int sockaddr木my—addr,intaddrlen): 指针;addrlen常被设置为sizeof【structsockaddr)。structsockaddr结构类型是用来 其中变量sin 保存socket信息的。 zer0用来将sockaddrin结构填充到与strtlct sockaddr in的指针和指向sockad☆的指针可以相互转换。使用bind函数时,可 以用下面的赋值来自动获得本机IP地址和端口号: my_圃dr.sin_port=0:/木系统随机选择一个未被使用的端口号半/ 或者my_addr.sin』ort=htons(2323):/术手动填写端口号木/ 92.168。O.1”): r.sill一addr.s—addr=inet~addr(”1 骂览者my—add addr.sinaddr.s 可以手动填写端口号。同样,通过将my addr置为烈ADDRANY, 系统会自动填入本机IP地址,也可以自己填写ip地址。htons()表示将一个16 位数从主机字节顺序转换成网络字节顺,in叭一addr()表示将网络地址转成二进 制的数字。 bind()函数在成功被调用时返回0;出现错误时返回”.1”并将黜。置为相应 的错误号。 (2)监听函数listen() 该方法仅适用于TCP连接。监听函数设置侦听模式,使socket处于被动的监 听模式,并为该socket建立一个输入数据队列,将到达的服务请求保存在此队列 中,直到程序处理它们。 int listen(intsockfd,int backlo曲; backlog指定在请求队列中允许的最大请求数,进入的连接请求将在队列中 系统缺省值为20。如果一个服务请求到来时,输入队列已满,该socket将拒绝 2l 海洋探测机器人系统设计卜孑路径规划研究 连接请求,客户将收到一个出错信息。当出现错误时listen函数返回.1,并将e肌。 置为相应的错误码。 (3)接收请求函数accept() 接受请求函数让服务器接收客户的连接请求。在建立好输入队列后,服务器 就调用accept函数,然后睡眠并等待客户的连接请求。 int sockfd,struct acc印t(int sockaddr术client-addr,int木addrlen): l ciem—addr通常是一个指向sockaddrin变量的指针,该变量用来存放提出 连接请求服务的客户端主机信息(客户端主机从某个端口发出该请求);addrlen sockaddr 通常为一个指向值为sizeof(stlllctin)的整型指针变量。出现错误时 accept函数返回.1,并置相应的errno值。 ●C1ient程序使用的主要函数。71: (4)建立连接函数connect() 面向连接的客户程序使用co肌ect函数来配置socket并与远端服务器建立一 个TCP连接,其函数原型为: int sockaddr术serv sockfd,stll】ct addr,int connect(int addrlen): serV addr是包含远端主机IP地址和端口号的指针;addrlen是远端地址结构 的长度。Cofulect函数在出现错误时返回一1,并且设置e肌。为相应的错误码。 进行客户端程序设计时无须调用bind()。 根据以上函数,本系统自定义了一个在客户端建立socket连接的函数。 Void client—socket(int术sockfd,char木ip_addr’intport) 址和端口号,具体函数如下: Void client-socket(int宰sockfd,c:har率ip—addr,intport) { stmcthostent母he: struct sockaddr_in theiLaddr; . //将基本名字和地址转换 he=gethostbyname(ip—addr); //建立一个TCP套接口 perror(1tsocket”); exit(1); ) 海洋探测机器人系统设计与路径规划研究 //初始化结构体,连接到服务器的端口 theiLaddr.sin—family=AF—n、JET; their_addr.sin—port=htons(port); their_addr.sin_addr=书((stmctiLaddr木)he一h.addr); bzero(&(their_addr.sin-zero),8); //和服务器建立连接 if(connect(木sockfd,(stlllct sockaddr宰)&thei-ddrsizeofIstn】ctsockaddr))==一1) { perror(”connect”); exit(1); ) ·数据传输函数 于面向连接的socket上进行数据传输。 send()函数原型为: int send(intsockfd,const len,int Void幸msg,intflags): msg是一个指向要发送数据的指针;Len是以字节为单位的数据的长度;flags 一般情况下置为0。 Send()函数返回实际上发送出的字节数,可能会少于你希望发送的数据。在 不匹配时,应该对这种情况进行处理。 recv()函数原型为: int sockfa,Void木buf,intint recV(int len,unsignedflags); 返回实际上接收的字节数,当出现错误时,返回一1并置相应的e锄。值。 2.4.4客户端的设计与实现 客户端运行在ARM,Linux中,负责将采集到的GPS信息、传感器信息和图 像信息发送到服务器。所以我们编写了三个应用程序,分别完成这三部分的信息 采集和发送功能。系统运行时,这三个程序会同时运行。程序流程如下图: 海洋探测机器人系统设计与路径规划{1)f究 GPS信息采集与传输 传感器信息采集与传输 图像信息采集与传输 图2—7客户端流程图 2.4.5远程监控系统设计 远程监控系统运行在PC上,操作系统为windows。负责接收并显示出客户 端传输来的GPS信息、传感器信息和图像信息,并根据GPS信息绘制出探测机器 人的运行轨迹。同时还可以给客户端发送控制命令。它也要打开三个套接字,分 别用来接收GPS信息、传感器信息和图像信息,同时还可以向监测机器人发送控 制命令。远程监控系统程序流程如图2—8。 24 海洋探测机器人系统设计与路径规划研究 图2—8远程监控系统程序流程 2.5本章小结 本章介绍了水面机器人的系统设计,包括GPs模块,传感器模块,图像采集 模块,GPRS模块等的软硬件实现方法及工作原理,以及基于socket的网络传输 方法。 海洋探测机器人系统设计与路径规划研究 3机器人路径规划的研究概述 3.1路径规划的定义 路径规划是移动机器人的一个重要问题。路径规划问题_¨可以描述成:在一 个存在障碍物的环境中,按照某种优化指标,寻求有界输入使系统在规定的时间 内从起始点转移到目标点。根据机器人对环境信息知道程度的不同,可分为两种 类型:环境信息完全已知的全局路径规划和环境信息完全未知或部分未知,通过 传感器在线地对机器人的工作环境进行探测,以获取障碍物的位置、形状和尺寸 等信息的局部路径规划。全局路径规划和局部路径规划没有本质的区别,很多适 用于全局路径规划的方法经过改进都可以用于局部路径规划,而适用于局部路径 规划的方法都可以适用于全局路径规划。 如果从静态矗躬或动态地获取障碍物信息角度看,全局路径规划属于静态规 划,而局部路径规划则是动态规划。 路径规划可以是限制性的,也可以是非限制性的。这取决于对机器人的运动 除避碰之外还有没有其他的内在的约束条件,如行进中对能量消耗的限制等。 另外,根据完整性还可以把路径规划算法分为确定型和启发型两类。确定型 算法可以找到一个问题的答案,除非它证明问题无解。启发型算法致力于在较短 的时间内找出问题的答案,它可能无法解决较困难的问题或无法给出一个问题的 最优解。 3.2全局路径规划方法 全局路径规划主要方法有:人工势场法,栅格法,拓扑法,可视图法,自由 空间法等。 3.2.1人工势场法 人工势场法是由Khatib提出的一种虚拟力法∞j。其基本思想是将机器人在 环境中的运动视为一种虚拟的人工受力场中的运动。障碍物对机器人产生斥力, 目标点产生引力,引力和斥力的合力作为机器人的加速力,来控制机器人的运动 方向和计算机器人的位置。该法结构简单,便于低层的实时控制,在实时避障和 26 海洋探测机器人系统设计rj路径规划研究 平滑的轨迹控制方面,得到了广泛的应用,但对存在局部最优解的问题,容易产 生死锁现象(DeadLock),因而可能使机器人在到达目标点之前就停留在局部最 优点。 3.2.2栅格法 栅格法又称为单元分解建模法=2;{…,其主要思想是将环境离散化为规则的基 本单元一二维或三维的栅格,通过对栅格的描述实现环境的系统建模,多采用四 叉树或八叉树表示,并利用搜索算法完成路径搜索。这种方法最旱由£lfes和 Moraves提出,并在许多机器人系统中得到应用,是应用上较为成功的一种方法。 栅格法是~种近似的描述建模,其离散特性也有利于栅格地图的创建和维 护。但其缺点是:栅格法的分辨率取决于栅格的大小,栅格划分大了,环境建模 的存储空间小,规划时间短,但分辨率下降,损失的自由空间增加,在密集环境 下发现路径的能力减弱,栅格划分小了,分辨率高,损失的自由空间小,在密集 环境下发现路径的能力强,但环境建模的存储空间变大,规划的复杂度也大大增 加,使计算机的实时处理变得困难。 3.2.3拓扑法 拓扑法∞,根据环境和运动障碍物的几何特点,将组成宅问划分成若干拓扑特 征一致的区域,根据彼此的连通性建立一个拓扑网,在该图中搜索一条拓扑路径。 拓扑法的基本理论是降维法,即将在高维空f’日J中求路径的问题转化成低维拓扑空 间中判别连通性的问题。相比栅格法,这种表示方法只需要较少的建模时间和较 少的存储空间,可以实现快速的路径规划,也为人机交互下达指令提供了一种更 为自然的接口。这种方法的优点在于利用拓扑特征大大缩小了搜索空间,其算法 复杂性仅仅依赖于障碍物的数目,在理论上是完备的缺点在于表示的复杂性、特 殊性,建立拓扑网的过程是相当复杂而费时的,比较难以实现。但是,针对一种 环境拓扑网只需建立一次,因而在实际中能提高效率,显示其优越性。 3.2.4可视图(VGRAPH)法 或多面体构成。首先将机器人缩为一点,然后用直线连接彼此可见的全部顶点(包 括像顶点一样的初始和目标位置)。显然,连接这些无阻挡的顶点是它们之间的 最短距离。因此,路径规划的任务就是沿着由可视图(如图3—1)定义的路径, *洋撂ⅫHL#^系缝&”+j镕nm划Ⅲ, 寻找从初始位霞到H扫;位髓的最li路径 图3一lI叮税躅 可视图法在移动机器人的路径规划rI,比较普遍,部分是因为实现比较简单。 特别在连续的或离散的空州中.当环境的收4;把环境中的物体描述成多边彤时, 可视鸶的搜索一4容占;地使H{障碍物的多边彤描述。 但是,芷使用可视图进行搜索时,仃两个重要的警告。第一.表示的规模和 节点以及边缘的数目,会随障碍物多边彤的数日廊增长。所以.域方法在稀疏环 境中极其迅速和有效。但是,当J;}I在密艇的膳住环境时,与其他技术相比,暖方 法既慢又无效。第一.义可视图规划所找到的替解路径倾向于在走向目标的造中. 使机器人尽可能地接近障碍物。更lf:式地晚,我们可以证明可视图规划按解答路 径的长短是最优的。这个强有力的结粜也意味着,如按照机器人与障碍物保持合 理的距离,则安全保障会冈这个晟优性而妇失。常用的解决方法是:把障碍物增 大到比机器人半径大得多:或者换种方法.在完成路径规划扁,如可能的话. 修改解答路径距离障碍物的距离。§然,这种做法牺牲了可视图路径规划的最优 长度。 沃罗诺伊图”(voronoi)是一种全路线图的方法.它倾向于使图中机器人 与障碍物之见的距离噩大化,对自由空叫中的并点,计算它到最近障碍物的距离。 海洋探蔫帆≈人系统设‘·路径规划酬究 图3—2沃罗诺伊图 在图3—2巾,把距离画成离弧面的高度,当离开障碍物而移动时,高度值增加。 在离两个或多个障碍物等距离的点匕,这种距离图就有陡的lI』杼。沃罗诺伊图就 是由这些陡的山脊点所形成的边缘组成。当配噩空叫障碍物部是多边形时.沃罗 诺伊图山直线和抛物线段纽成。在沃罗诺伊罔上寻找路径的算法.正像町桃围沾 一样。是完备的,因为自由空问中的路径的存在意味着在沃罗诺伊图卜也存在一 条路径。但是,在总K度的意义上,沃罗诺伊图常常远非最优。 在有限距离的定位传感器情况F,沃罗诺伊网有一个摩要的缺点.因为啦 路径规划算法使王f=境中机器人与物体之『日J的距离最大化.机器人上的任何短距传 感器会有感知不到周围环境的危险。如果运种短距离传感器用于定位.则从定位 的观点看,所选的路径会报差;另一方面,我们可以设计可视圈,使机器人尽可 能像我们所期望的那样靠近地图中的物体。 沃罗诺伊图的一个难得的优点是它具有超越其他大多数避障算法的技术: 可执行性。通过沃罗诺伊图规划,给定‘个特殊的以规划路径.配备有距离传感 器(如激光测距仪或超声波传感器)的机器人可以使用简单的控制规则,跟踪存 物理世界中沃罗诺伊的边缘。这些规则与创建沃罗诺伊图的规则相匹配:即机器 人使起传感器值的局部极小值晟大化。这种控制管理系统会自然的使机器人保持在沃 罗诺伊图边缘上,所以基于沃罗诺伊的运动减少了编码器的1:准确性。沃罗诺伊 图的这种有趣的物理性质,即通过在未知的沃罗诺伊边缘上寻找和移动,已经被 用于引导环境的自动作图,然后构建与环境一致的沃岁诺伊图。 海洋探测机器人系统模块设计与路径规划研究 3.2.5自由空间法 自由空问法∞。采用预先定义的如广义锥形和凸多边形等基本形状构造自由 空间,并将自由空间表示为连通图,通过搜索连通图来进行路径规划。自由空间 的构造方法是从障碍物的一个顶点开始,依次作其它顶点的连接线,删除不必 要的连接线,使得连接线与障碍物边界所围成的每一个自由空间都是面积最大的 凸多边形连接各连接线的中点形成的网络图即为机器人可自由运动的路线。自由 空间法的优点是比较灵活,起始点和目标点的改变不会造成连通图的重构,并且 并不如栅格法一般需要大量的存储空问,缺点是其复杂程度与障碍物的多少成正 比,且有时无法获得最短路径。 3。3局部路径规划方法 局部路径规划的主要方法有:神经网络法,模糊逻辑算法,遗传算法等。 3.3.1神经网络法 神经网络。驴3¨,是指为了模拟人类神经细胞群学习特性的结构和功能而构成 的一种信息处理系统或计算机系统,由于拥有很强的适用于复杂环境和多目标控 制要求的能力,并具有以任意精度逼近任意非线性连续函数的特性(自组织,自 学习,自适应)而适用于复杂系统的控制应用领域。 禹建丽。¨j提出了一种基于神经网络的机器人路径规划算法,研究了障碍物形 状和位置已知情况下的机器人路径规划算法,其能量函数的定义利用了神经网络 结构,根据路径点位于障碍物内外的不同位置选取不同的动态运动方程,规划出 的路径达到了折线形的最短无碰路径,计算简单,收敛速度快。陈宗海。3卵等提出 了一种在不确定环境中移动机器人的路径规划方法,将全局路径规划分解为局部 路径规划的组合,为了提高规划的效率,在避障规划中采用了基于案例的学习方 法,以ART一2神经网络实现案例的匹配学习和扩充,满足了规划的实时性要求。 为了提高机器人路径规划的速度,禹建丽等在利用神经网络路径规划方法的 基础上,又引进了线性再励的自适应变步长算法,该算法实现了步长的自适应选 择,使路径规划速度比原来的神经网络规划提高了10倍。 3.3.2基于模糊逻辑的机器人路径规划 模糊逻辑算法?坦K3剐是一种参考人的驾驶经验而研究得出的方法。基于这种方 30 海洋探测机器人系统模块设计与路径规划研究 法的移动平台路径规划并非通过对环境信息精确计算完成的,而是把获得的信息 经过模糊化处理,然后通过查表得到规划出的结果,完成局部路径规划。这种方 法的优点是克服了势场法易产生的局部极小问题,适合时变未知环境下的路径规 划,实时性较好。模糊逻辑算法可用图的程序流程图3—3表示。 图3—3模糊逻辑算法流程图 3.3.3基于遗传算法的机器人路径规划 遗传算法。61由J.H01land在60年代初提出,它是以自然遗传机制和自然选 择等生物进化理论为基础,构造了一类随机化搜索算法。它利用选择、交叉和变 异来培养控制机构的计算程序,在某种程度上对生物进化过程做数学方式的模 拟。它不要求适应度函数是可导或连续的,而只要求适应度函数为正,同时作为 并行算法,它的隐并行性适用于全局搜索。 海洋探测机器人系统模块设计‘j路径规划研究 遗传算法是目前机器人路径规划研究中应用较多的一种方法,无论是单机器 人静态工作空间,还是多机器人动态工作空间,遗传算法及其派生算法都取得了 良好的路径规划结果。 孙树栋。3铂等用遗传算法完成了离散空间下机器人的路径规划,并获得了较好 的仿真结果。但是,该路径规划是基于确定环境模型的,即工作空问中的障碍物 位置是己知的、确定的。 Kazuo Sugihara和JohnSmith在采用离散空间进行路径规划的同时㈨,将 问题更深入化,栅格序号采用二进制编码,统一确定其个体长度随机产生障碍物 位置及数目,并在搜索到最优路径后,再在环境空间中随机插入障碍物,模拟环 境变化,通过仿真结果验证了算法的有效性和可彳『性。 但是,规划空间栅格法建模还存在缺陷,若栅格划分过粗,则规划精度较低; 若栅格划分太细,则数据量又会太大。周明。渖j等提出一种连续空间下基于遗传算 法的机器人路径规划方法,该方法在规划空阃利用链接图建模的基础上,先使用 图论中成熟算法粗略搜索出可选路径,然后再使用遗传算法来调整路径点,逐步 得到较优的行走路线。该方法的染色体编码不会产生无效路径,且仅使用基本遗 传算法就可以完成路径规划。但是该方法对于环境复杂、障碍物数目较多的情况, 链接图的建立会有一定的困难。在遗传算法的改进上周明¨oj等提出一种遗传模拟 退火算法,利用遗传算法与模拟退火算法相结合来解决机器人路径规划问题。有 效地提高了路径规划的计算速度,保证了路径规划的质量。 3.4本章小结 本章介绍了常用的路径规划方法,环境信息完全己知的全局路径规划方法和 需要传感器环境获得信息的局部路径规划方法。每种方法都有其优势,又有缺陷, 本章概括介绍了各种方法的特点,从而对机器人路径规划方法有了概括的认知。 32 拇洋探测帆*人茉缝殴*o潞#墁划W究 4基于声纳传感器的机器人避障方法 4 1移动机器人的声纳布置 水面机器人装载声纳.通过卢纳获得障碍物信息。卢纳14Il根据声波反射原 理进行工作,它的发射装置发出一束声波,如果波束碰到物体后被反射回来,接 收装置收到回波,就可以根据前后声波来回传输的时问计算出机器人与障碍物之 问距离。对干每个声纳,它都是锥形视角,返回的是卢纳到该锥形区域内屉近障 碍物的距离。但是,卢纳的视角范围有限,无法探测到三维空『日J内整个障碍物的 信息,所咀声纳的布置直接影响到机器人对环境的感知。根据机器人的尺寸及使 命任务的要求,本文将卜个声纳分为两层巾置在机器人前端.水面以卜布胃』£个, 水下以下布置h个。通过这f。个声纳机器^就可以探测g怵而以上和水Im以下的 障碍物信息,从而得到整个障碍物的f维信息,声纳的布筲如幽4.1所示: Y‘ ,^纳探捌范喇 } 一j 一+。.J 篓燮孚筝黔蜘 撩彦面u下部分『, 、、.、Jj o x 图4l声纳传感器的布置 图4—2声纳探测范嘲示意图 ” 海洋探测机器人系统模块设计tj路径规划研究 图4—2显示了声纳的探测范围。 4.2声纳坐标系的建立 水面机器人在水面运动的过程中,不但会遇到漂浮在水面的障碍物,还会 遇到隐藏在机器人吃水深度内的水面以下的障碍物,所以将声纳分为两层,分别 用来探测水面上及水下的障碍物,声纳分布在机器人的前端及其两侧,分别以每 个声纳为原心,建立如图4.3所示坐标系【42】。 O 涿. ,\ \ ● ’◆ 障碍物 图4—3声纳坐标系 在该坐标系中,上层声纳的参数方程为: I‰=d×cos∥×cos口 (4一1) {蜘=d×cos∥×sin倪 【zo=d×sin∥ 下层声纳的参数方程为: I 民=d×cos∥×cos口 (4—2) { 甄=d×cos∥×sin口 【 气=d×sin∥+% 式中:d ……一 声纳距离障碍物的距离 Q ……一 声纳线在XOY平面投影与x轴的夹角 B 一~一 声纳线与XOY平面的夹角 r., ……一 两层声纳之间的距离 海洋探测机器人系统模块设计与路径规划石Jf究 而,%,zo…~一 障碍物在坐标系中的坐标 以上是以声纳为原心建立坐标系,但本机器人在每层有5个声纳,为了准确 定位障碍物的信息,需要建立统一的坐标系,为此以上层声纳所在平面为基准以 机器人的中心为原心建立坐标系,如图4—3所示: 图4—4声纳所在统一坐标系 对上层声纳按照顺时针顺序由一到血编号,则图中五个声纳在新坐标系中的 纳发现的障碍物的参数方程变为: f%l=d×cos∥×cos口一所 (4—3) {蜘l=d×cos∥×sin口一,z 【气l=d×sin∥ 二号声纳发现的障碍物的参数方程为: f%2=d×cos∥×cos口一聊 (4—4) {y02=d×cos∥×sin倪 【z02=d×sin∥ 三号声纳发现的障碍物的参数方程为: f.K3=d×cos∥×cos及 (4—5) {%3=d×cos∥×sin口+甩 【知3=d×sin∥ 35 海洋探测机器人系统设汁oj路径规划研究 四号声纳发现的障碍物的参数方程为: =d× 文吣S ×COS口+,竹 (4—6) =d× Ⅸ吣S ×Sln口 = × d .吼.m 厶∥8 ‰‰钿 1. 五号声纳发现的障碍物的参数方程为: ‰5=d×cos∥×cosa+历 (4—7) a一,z %5=d×cos夕×sin Z05=d×sin∥ 同理,下层的五个声纳在新坐标系中的坐标分别为(一m,一n,r11),(一m,0, r。),(O,n,r。),(m,O,r。),(m,一n,r。)。则六至十号声纳的参数方程与一至五号对 应,只是在z方向增加rI)。 由此可见,在以机器人中,心为原心的坐标系中,对于每个声纳探测到的信息, 都能准确的确定障碍物的位置。 4.3坐标变换 水面机器人在水面运行,当遇到障碍物时,声纳返回障碍物的距离信息,但 是这个信息是相对于机器人坐标系的,而水面机器人在运动过程中,障碍物的信 息应该是相对于大地这个坐标系的,因此,需要在这两个坐标系问进行坐标变换。 地球表面上在小范围,短时间内发生的力学过程所使用的参考系可以认为是 惯性参考系。水面机器人的运动就符合这一要求,因此,在水面机器人的运动规 划中,用到的坐标系为固定坐标系。 固定坐标系原点E为海平面上的一点。E乏轴保持水平,一般为水面机器人 的丰航的萨方向。Erl和E毛轴在水平面内,E‘轴垂直于E乏fl坐标平面,其方 向指向地心。 机器人只在水面运动,即只在£毛fl平面内运动,并且只绕固定的轴E‘进 行转向,因此两个坐标系的对应关系如图4—5所示: 海洋探测机器人系统模块设计与路径规划研究 ,●-●一_e 夕‘ \\ x y ● P 1 r 图4—5固定坐标系与船体坐标系的对应关系 两坐标系中的点进行坐标变换的方程为: 足=【‰;‰】[己] (4—13) 式中: 吃=目………P点在{E}坐标系中的坐标; 厂蜀] 己=I%I ~一…P点在{0)坐标系中的坐标; LZD.J ‰=[霉]~…一坐标系;。,中的原点。在坐标系。E,中的坐标; cos秒一sin秒O

  2023年09月上海市农业广播电视学校(上海市农民科技教育培训中心)度公开招聘2名工作人员笔试历年难易错点考题荟萃附带答案详解.docx

  原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者

...
分享到
微信扫一扫
分享到朋友圈