毕业设计(论文)-基于ROS的跟踪机器人的设计说明书_第1页
毕业设计(论文)-基于ROS的跟踪机器人的设计说明书_第2页
毕业设计(论文)-基于ROS的跟踪机器人的设计说明书_第3页
毕业设计(论文)-基于ROS的跟踪机器人的设计说明书_第4页
毕业设计(论文)-基于ROS的跟踪机器人的设计说明书_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于ROS的跟踪机器人的设计摘 要本课题内容主要是基于ROS的跟踪机器人的设计,首先从跟踪机器人的研究背景出发,从而明确研究机器人的意义和前人为机器人的研发的苦痛历程。之后对跟踪机器人的核心技术背景进行分析,从而思考核心技术的原理及进步历程,明白前人思维,对于技术有着更为深刻的理解。随后我从前人研究机器人的方法运用到我的跟踪机器人的设计中。跟踪机器人的整个机体需要最先进行了设计。这设计将成为一栋高楼大厦坚实的地基,一切完善的设计都在沿它的建设而出现,可以说种种精密的设计都是为了跟踪机器人在不偏离整体的前提下进行发展。它就是一幅完美的蓝图。在机体设计完成后,跟踪机器人的硬件部分的分析选型紧随其后。而硬件将会成为整体大厦中的种种设施,大厦的壮丽与否取决于硬件的各项性能是否达到完善的地步。而这正是我们所要解决的问题。电机的性能是否强悍,影响着整个机体中的各项功能能否正常运转;而上位机的性能是否精密,控制着机体中各个部件能否进行精密的工作;其中下位机的性能是否优越,决定着机体中各个传感器能否进行完美的运行各个部件的选型结束后,跟踪机器人的核心算法也将进行设计。如若说硬件是大厦壮丽的外观,那么软件就是大厦中华美的内饰,它决定着整个机体的性能是否充足乃至破格的发挥作用。这正是我对其进行重点设计的根本原因。目标跟踪算法是否优越,掌控着机体跟踪功能的强大与否;超声波避障算法是否完善,决定着机体避障功能的准确与否在一切设计完成后,将整篇设计说明书进行了明确的梳理,整理了设计的思路,系统地书写了之前各项部件的情况,为我以后的进一步发展奠定了基础。关键词:ROS;目标跟踪;超声波避障;跟踪机器人;运动控制ABSTRACTThemaincontentofthistopicisthedesignoftrackingrobotbasedonROS.Firstly,startingfromtheresearchbackgroundoftrackingrobot,thesignificanceofrobotresearchandthepainfulprocessofpreviousresearchanddevelopmentforrobotareclarified.Aftertheanalysisofthecoretechnologybackgroundofthetrackingrobot,wecanthinkabouttheprincipleandprogressofthecoretechnology,understandthepreviousthinking,andhaveadeeperunderstandingofthetechnology.ThenIappliedthemethodofpreviousresearchonrobotstothedesignofmytrackingrobot.Trackingtheentirebodyoftherobotneedstobedesignedfirst.Thisdesignwillbethesolidfoundationofatallbuilding,andalltheperfectdesignswillappearalongitsconstruction,sotoallthesophisticateddesignsaredesignedtotrackthedevelopmentoftherobotwithoutdeviatingfromthepremiseofthewhole.It'sablueprintforperfection.Afterthecompletionofthebodydesign,theanalysisandselectionofthehardwarepartofthetrackingrobotfollowed.Andthehardwarewillbecomethewholebuildingofvariousfacilities,thegrandeurofthebuildingdependsonwhethertheperformanceofthehardwarehasreachedtheperfectpoint.Andthat'swhatwe'retryingtosolve.Whethertheperformanceofthemotorisstrongornotaffectsthenormaloperationofvariousfunctionsinthewholebody;Theperformanceoftheuppercomputerisprecise,whichcontrolswhetherthevariouscomponentsinthebodycancarryoutprecisework;WhethertheperformanceofthelowermachineissuperiordetermineswhetherthevarioussensorsinthebodycanrunperfectlyAftertheselectionofeachcomponent,thecorealgorithmofthetrackingrobotwillalsobedesigned.Ifthehardwareisthemagnificentappearanceofthebuilding,thenthesoftwareisthebeautifulinteriordecorationofthebuilding,itdetermineswhethertheperformanceofthewholeorganismissufficientorevenexceptionalplayarole.ThisisthefundamentalreasonwhyIdesignitwithemphasis.Whetherthetargettrackingalgorithmissuperiorcontrolswhetherthetrackingfunctionofthebodyisstrongornot.Ultrasonicobstacleavoidancealgorithmisperfect,determinestheaccuracyofthebodyobstacleavoidancefunctionAfterallthedesigniscompleted,thewholedesignmanualisclearlysortedout,thedesignideasaresortedout,andthesituationofthepreviouscomponentsissystematicallywritten,whichlaysafoundationformyfurtherdevelopmentinthefuture.Keywords:ROS;Targettracking;Ultrasonicobstacleavoidance;Tracktherobot;Motioncontrol目 录绪论 1课题研究目的及意义 1国内外研究现状和发展趋势 3移动机器人研究现状 3目标跟踪与行人检测研究现状及发展态势 6论文主要内容及章节安排 8跟踪机器人的机械硬件设计及分析 10跟踪机器人的底盘结构对比及设计 10传感器的布局设计 14视觉传感器 14超声波传感器 15本章小结 16跟踪机器人的控制硬件设计 17跟踪机器人的硬件系统框图 17跟踪机器人硬件设备及其选型 18上位机 18下位机 19电机及电机驱动模块 20总体接口设计 22本章小结 24跟踪机器人的软件系统设计 25机器人操作系统(ROS)简介 25卷积神经网络简介 29跟踪算法研究 30基于YOLOv3和DeepSORT的行人检测与跟踪 30以维纳滤波理论为基础的Kalman滤波跟踪 37跟踪机器人的定位与建图 39跟踪机器人的传感器研究 40基于匹配逻辑的多相机多目标匹配 404.5.3超声波避障算法 42跟踪机器人的全局路径规划RRT算法 43改进RRT算法 44算法前后仿真实验 45本章小结 535总结 54参考文献 55致 谢 57PAGEPAGE11绪论课题研究目的及意义伴随着现代文明的进一步扩张,一部分机械电子领域,诸如:机械动力学、数控技术、机器人控制技术、传感器等学科迎来了一次前所未有的巨大跨越。在人类这数千年来奠定的厚重基础上建立起了一座座万丈高楼,之后它们开始了进一步的融合,形成了现代文明的代表:“智能机器人”。智能机器人的主要作用是能够完成设定的工作且能够根据情况的进一步发展开始新一轮的应对。而新中国的机器人研发于1970年才开始进行,但领导人的高瞻远睹让机器人的研发科技广受重视,开始了攻关项目七.五"、"八.五"的诞生,规定了机器人的发展准则和“863”计划的规划。现在,机器人作为本世纪科技的前沿阵地,被列入国家政策性文件。智能机器人的感官系统由各种类型的传感器组成,像常人一般能够观察远方,感受事物波动,与其他存在进行沟通,感知环境等。机器人的传感器主要能够被划分成:视觉、听知识、触觉、动力感和接近知识五大类。在新一轮的科技革命中,跟踪机器人的所发挥的能力更为强大,具体表现为功能愈发繁多。它可以在一个极端繁复的迷宫中自如移动,找到出口,成功驶离。跟踪机器人之所以能完成如此惊艳的操作,需要的自然是各项传感器的密切合作。正如:身体的活动离不开器官的配合。对于进行外界检测的数据来说应输入到有关视界感知的装置;对于外界障碍物的详细数据应由能够控制超声波的装置进行查探。而跟踪机器人的各项检测外界环境的装置的结合自然是"智能化技术",其能够根据自身机体的配置和环境的诸多数据做出最为合理的计划。智能化技术最为重要的就是人机交互功能。顾名思义,该功能的作用是为了人类与机体能够进行互动。智能化技术的进一步发展目标是成为人类生活的一部分。诸如:智能手机的发展,让手机成为现代生活的核心,没有手机就将被社会排斥在外;而越来越引发人类渴望的虚拟现实技术。这些都是智能化技术带来的变化。而其中人机互动的具体表现为:实时地图的跟踪技术,虚拟现实游戏的动作识别技术,"意念轮椅"所需的脑电波技术等等。而对于目前的智能机器人技术来说,每个不同的机器人有着自己特定的用途,不同机器人的操作系统与软件各不相同。而智能机器人领域的前沿阵地是各项软件的普遍使用,这需要的是操作系统的公用化或普遍化,它将会在不同的硬件平台上移植使得机器人功能得以使用。ROS制机器人在多元化的真实世界与数据世界中进行穿梭。它的技术源头其实是美国斯坦福大学的一个人工智能人和机器人(standfordairobot,stair)这个计算机科学项目、个人机器人(PersonalRobots,PR)项目。最后在柳树车库(WillowGarage)的资源提供下,ROS(RobotOperatingSystem)诞生。自此,智能机器人功ROSROS复用率的提高。ROS层的是功能包:其负责诸如:环境感知、避障感知等功能的实现。ROS为软件革命的曙光,主要原因就在于诞生后开发软件速率的增大。它的功能之所以越来越得到科学家的钟情,是因为其具有底层设备控制,硬件抽象等功能。在现ROS目攻关,这是跟踪机器人的目标跟踪的前置科技。科学界一向认为跟踪机器人智能化的核心科技研究是机器人的自主定位,建图构建导航及路径规划技术,全世界的科学院单位及高科技企业都在此方向攻关。自主定位与地图构建需要的是解决一个“我位于哪”,“外界环境如何”的问题,而经过考察得知跟踪机器人的解SLAM(SimultaneousLocalizationandMapping)技术。它就是本次全世界攻关的成果:能同步定位也能进行地图的构建。而它的原理是使用自身机体是的各项传感器获得外界数据,从而进行即时的地图构建,定位机体地址,自行规SLAM个难题—"如何进行跟踪"。幸而这种问题在全人类的智慧下自然不堪一击,最先出现的跟踪算法是基于相关滤波的算法,其首先出现于二十一世纪十年代,DavidSBolmeMOSSE习的繁荣使得基于卷积神经网络的算法到了属于它的时代。基于卷积神经网络的跟踪算法有:AlexNet,ZFNet,MDNet,TCNN通过以上的叙述,能够发现显而易见的一个事实:各项算法在接二连三的更新换代,各种电子产品在不断研发报废,而机器人研究领域也正在大跨步的向前狂奔。人类数千年的发展似乎远远比不上这几年的进步,科技正如指数级爆炸发展:八十年前国家百废待兴,五十年前高楼屹立,二十年前机器人初兴,现在机器人随处可见。而我们绝不能在接下来的科技革命掉队落伍,科技一旦产生代差就再也难以弥补,为中华之崛起而读书。本课题的目的是设计一款基于ROS的跟踪机器人,其系统的算法将进行智能化,属于研究深度学习算法的部署和对智能化解决问题的一次实验。国内外研究现状和发展趋势移动机器人研究现状从机器人的研发历史中,可以得知当时的不易。在现今的科学界大致认为从过去的机器人到如今有了三次的推进工作。第一个是示教重复的再现式机器人。于我国二十世纪六十年代,第一位机器人从德沃尔和约瑟夫英格伯格的手中诞生。Unimation作为了早期机器人的经典代表。它的工作原理:首先机器人工作所需的动作需要让人先来控制它的完成或者可以使用遥控器进行控制人机械臂动作。而在这次使用中,机器人可以把这种使用存入一特定装置,即记忆装置。这样,机器人就学会了它的工作内容,且其永不疲惫能够一直工作。但它的缺点在于它不拥有对外界的感知能力,也对环境毫无适应能力。第二次推进后诞生的是具有感知的机器人。这种机器人对于未知环境具有某种程度的辨别能力,且其并不具备现今机器人的全部知觉,只能对某项对工作有用的进行保留。此机器人在生产是,它能够灵活的应用自身的某项传感器中传递的数据,在任何情况下进行生产。第三次推进后诞生的是智能机器人。它是将各项传感器融合为一后的巅峰之作,它将获得与人体完全一致甚至更强的对环境感知能力。该机器人不仅可以对外界环境做出辨别,还可以自行完成计划。因为它将应用智能化技术。而本课题所设计的跟踪机器人也是它的经典模板之一。智能机器人之所以被称为“现代文明的代表”,是因为它集结了所有仿生学,机器人控制技术,信息与传感技术,机械电子工程,编程等各项领域的最先进的研发成就,结合成的一个丰硕成果。机器人在各项生产活动中都应用广泛,经常用于完成焊接,装配,打磨等活动,与此同时其也适用于家庭,地质勘探,救灾抢险,航空航天等不同领域。时间节点是在整个二十世纪的五六十年代后期,第一台完全智能化的微型机器shakey就是在这里成功诞生的。它最初是由当时位于美国的一家人工智能研究中心负责开发而且完成。其坐落于斯坦福研究院(SRI)Shakey虽然过于简陋且效率迟缓但丝毫不影响它身为智能机器人的价值。它在那个时候就能够自行依靠自身的传感器对外界环境进行感知,并对设定的任务规划路径,完成目标。1970年,斯坦福研究院(SRI)CART,其可以自行躲避障碍物。它主要是通过视觉传感器感知外界信息,计划路线,使用装配的传感器检测外界障碍物并进行躲避。时间推进到了1980年,伴随着计算机和传感器等技术的新一轮大跨步迈进,机器人领域也被推上了风口浪尖。到了八十年代,此时机器人领域的光辉前景已经浮现于全世界人的脑海,每个人都意识到新一轮的科技革命奔涌而来。美国作为世界头号强国当仁不让地想要在这全新的领域一览群雄。在此时斯坦福研究院(SRI)因在人工智能领域的专业性被美国国防部请求与卡内基梅隆大学等单位一起研究ALV(陆地自主车辆);而美国能源部也制定了一系列项目,其包括:智能系统项目,和位于太空中的关于机器人项目;而地处于欧洲的各国也不甘于落伍,制定了"尤里卡计划"要以此紧跟时代潮流。;日本也因此打算普及机器人,成为"机器人王国"。除了各个国家以外,一些知名公司也看到了机器人的未来,开始提供资本研究制造机器人,促进了多项的研发项目。随着时代发展到1980年,智能机器人进一步研发的前置科技已经出现。那就是高性能的环境感知传感器及数据处理科技,高度可协调的机器人控制科技,现实空间的规划科技。时间进入到1990年,被任命为收集火山口气体的智能机器人Dante由卡耐基梅隆大学人工智能中心研发。但由于情况估计不足,光缆被高温烧断,Dante失败。经过失败后,研发出了智能机器人DanteⅡ,它装配八爪鱼底盘,且更新了算法,让它根据自身情况选择路线。也是在这九十年代,第一台火星探测器索杰纳进入了火星表面,它由科学家从地面控制于火星行走。它拍摄了大量火星图片,让人们对火星有了更深的了解,测量了火星的气候,检测了火星的石块与土地,揭开了智能机器人科技的大幕。随着时光的流转,到了2010年,Kiva项目研究被亚马逊接手,其主要用于仓库储蓄功能。它的能力是关于货物的选择,传递,当然也包括着分类等。它大大提高了亚马逊的生产效能。岁月流逝到了2016年,此时一家人工智能技术高超的公司波士顿动力研制出全球效能最好的一台拟人机器人Alas。这台机器人的特殊之处在于其能够如同体操运动员一般的身体协调能力,灵活运用肢体。它高超的身体协调来源于其体内种种"器官"的融合。通过各项"器官",它能首先能保证机体协调,之后取得外界的一切数据,当然也不会缺乏检测目标和障碍物的能力。相较于国外百花齐放的研究场面,我国此时仍是一片机器人的荒漠。而到了1980年,“八五计划”开始初露锋芒。在此时间内,攻关"无人驾驶"技术获得初步成果,ATB-1(AutonomousTestBed-1)研发成功。而到了"九五"项目,涌现出了更多优秀成果:ATB-1得到了升级变为了二代,74km/h的高速;HQ3,其已成功抵达世界科技前沿阵地。目标跟踪与行人检测研究现状及发展态势ROS的跟踪机器人的设计。而对于跟踪机器人而言,最为重要的自然是"跟踪问题",解决方案就是目标跟踪算法的出现。目标跟踪算法与跟踪机器人相互促进,目标跟踪算法的进一步更新换代使得跟踪机器人跟踪效果得以强化,而跟踪机器人在跟踪时暴露的问题也是跟踪算法能够进一步更新的动力。目标跟踪一般来说并不复杂,其主要是通过视觉传感器获得图片,然后由控制者或算法在第一个图片中选择跟踪物体(方框),之后由目标跟踪算法计算目标在之后图片中所处的区域。目标跟踪算法在目标跟踪中大致可以划分为两种基本流派:人工判别目标跟踪算法,它的工作原理主要是通过让目标跟踪机器人对目标进行学习,根据目标的显著特征(通过人工对目标进行标注或识别目标自身所具有的特征),首先将目标与图片中的特征作为一项准则,对目标与背景之间的关系进行了判别,并在接下来的图片中继续训练,直到完美的判别,该算法的家族主要包括kcf,srdcf和大多数基于卷积神经网络的算法;第二种目标跟踪算法称之为"生成类",其主要关心于哪类最易生成目标的数据,生成类首先生成目标的模型,之后在接下来的图片中对比与目标更为类似的位置即更易生成目标数据。其家族主要有卡尔曼滤波算法和mean—shift等。伴随着深度学习势不可挡的崛起和肉眼可见的相关跟踪数据集性能的急速增强,以CNN为基础的跟踪算法也在这股浪潮中不断更新换代,性能愈发强悍。具体可表现为:MDNet以其优良的性能成为VOT2015的冠军。算法的更新换代是如此的急促,到了2016年第一个超越100FPS的跟踪算法GOTURN研发成功,其的主要原理便是回归。这是一个不平凡的年份,卷积神经网络于牛津大学诞生,它因自身的结构,效能和其他方面优良的协调性得到了科学家广泛的青睐,卷积神经网络发展的浪潮在蠢蠢欲动。在目标跟踪算法不断更新换代的背景下,目标检测技术也在快速发展,而其中行人检测正是视觉传感器的高新技术,其经历了在研究所缓慢研究的诞生阶段,之后在研究成功后终于可以进入市场来得以进一步的提高。到了现今社会,检测路上行人的算法仍是属于跟踪机器人的核心之处,全世界的高科技国家在这方面竞争异常焦灼,当一个算法刚刚提出另一个更高效的算法陡然出现,全球都在这场科技盛宴中互动繁多,几乎长时间有顶级水准的新高科集会开始进行互动。检测行人技术的主要方向在于根据外界的数据确定所找的目标,并获得目标所处的距离方向等。该技术主要可划分成:以背景差分为原理的检测行人,该原理的主要内容在于不含目标的背景区域与包含着目标的背景区域的不同来设定一个具体的特征值用于察觉出目标的存在,然后进行背景区域的进一步刷新。但这些只是理论情况,如何将其应用于现实生活才是重中之重,但既然提出了问题,那自然可以被解决,一款自适应背景算法成为了这项技术的拯救者,它能够精确的获得外界数据用于搭建背景模型,但其只能应用于一般的平凡场景完全无法应用于激烈的场景变换和有着强光照耀的场合;这个算法不并能说是成功之作,而科学家们也不甘在这方面示弱,所以一款更好的能够应用于场景变换的算法被研发出来那就是帖间差分算法。它的原理内容是根据场景的极速变换来收集外界数据的变换,根据这种变换能够检测出上下两个场景数据的不同将其作差,而这种差值如果变换过大就可以认为其中存在着我们的目标,而如果差值过小就可以看做并不存在目标。这种原理虽然通俗易懂但立刻科学家们就发现该其中蕴含的缺陷,那就是如果行人直接保持不动状态怎么办,难道让这算法直接无法工作吗,且在这算法中差值属于当之无愧的核心,该如何确定差值其是研发的重点;在经历了前两种检测技术后,科学家们再次提出了一个新的算法—模板匹配,既然依靠单纯的算法无法研发检测技术,那么直接建立关于行人的数据。这其中的方法是依靠跟踪机器人的各项传感器装配在人身上,得到关于行人的一系列数据,且将这些数据融合在一起形成关于行人的数据样例。根据这些数据样例来匹配图像中的目标。这种算法的性能非常不错,但由于它花销较大且其数据样例过少则不足以包含行人的种种行为,所以必须在可扩展性与识别正确率间做出协调。论文主要内容及章节安排在本毕业论文"基于ROS的跟踪机器人的设计"中,其中跟踪机器人最为重要的功能便是目标跟踪及超声波避障功能。首先我论述了关于本跟踪机器人的国内外研究现状,并从研究中发现:无论是目标跟踪或超声波避障对于现阶段的跟踪机器人来说都属于核心问题。在这些核心问题之外,还有一个重要问题在拦在本次课题上,那就是各项传感器之间的结合问题,它们仿佛一堆游兵散勇无法拧合在一起:目标跟踪算法在现实生活中无法正常使用,性能过低;而对于视觉传感器中的匹配算法实时性过低,目标跟踪容错率因此降低;对于本次制造的跟踪机器人不应只有这些使用方法,但由于本人学识问题使得机器人无法与算法密不可分。所以发现了一种全地形移动跟踪算法与机器人,其具备建图、定位、导航等可远程自主移动的功能。因此问题得以解决:在本次的算法研究中将以深度学习为基础的视觉传感器系统与运动控制模块进行相互融合,将开放算法的目标跟踪算法现实化,对视觉传感器的匹配算法进行更新换代,并构建基于ROS的跟踪机器人完成其在外界环境中的自身位置核定与对外界环境进行感知。对于跟踪机器人的核心学术问题:目标跟踪。本课题始终不敢大意,对目标跟踪进行改进,使其现实化是研发的终极目标。这其中必须提高机器人跟踪系统的自身性能诸如:鲁棒性与对外界环境的抗干扰能力。之后的目标是将机器人中的机械部分与软件部分进行融合,这需要的是在历史中汲取养分,一人计短,众人计长,从机器人的历史中可以研究出跟踪机器人的整个机体中各个部件的研发目的并从中吸取精华,打造出符合自身需要的跟踪机器人。根据上述研究内容,本课题将研究内容分布如下:第一章:绪论。本课题将在本章中主要介绍了跟踪机器人的制造目的及设计机器人的意义。紧跟着又对跟踪机器人的从诞生到发展的一系列辉煌历史进行了回顾与纪念。在此之后对跟踪机器人的核心问题作出了正面的回应。除此之外,对本课题的结构也进行了明确的划分。第二章:跟踪机器人的机械硬件设计及分析。本课题于本章中对于跟踪机器人的整个部件进行了设计,其中最为重要的便是机体底台的设计并构建出各自的运动学模型同时对超声波等传感器的布局设计。第三章:跟踪机器人的控制硬件设计。本课题于本章中进行了机体控制硬件部分的结构研究,主要构建了硬件系统框图。在机械部分的研究中详细介绍了硬件部分的应用方向与应用情况。当然也成功搭建了各部分的电子电路。第四章:跟踪式机器人的应用与软件设计。本章中为大家介绍了毕业设计的开发所需要运用的一个研究框架-ros。也阐述了卷积神经网络的特点和概念。并对各项跟踪算法进行了分析,比较。之后开始描述定位与建图功能的原理及实现。并介绍了以避障为功能的超声波避障算法。而为提高跟踪机器人在未知环境中建图的精度和避障功能的进一步加强,对双目摄像头所得到的信息紧密结合起来,这将大幅提高跟踪机器人在现实环境中的智能决策与控制能力。第五章:ROS的跟踪机器人进行一个全面性的总结。PAGEPAGE10跟踪机器人的机械硬件设计及分析跟踪机器人的机械硬件设计犹如一棵擎天巨树的主干,一切设计都在沿它的成长而出现,可以说种种精密的设计都是为了跟踪机器人在不偏离整体的前提下进行发展。因此对整体设计来说,结构稳定性及可靠性可谓是重中之重,毕竟根子歪了就再也长不直了。跟踪机器人的底盘结构对比及设计在整个跟踪机器人的设计中最为重要的部件不是传感器、不是操作系统、而是最为平常的底盘,它是整座大厦的地基,其他的一切都建立在底盘之上。因此在研究跟踪机器人之中,无法忽视的就是跟踪机器人底盘的研发,但不同的现实环境自然不能设计成统一的底盘。而这就需要研发者根据自身的需求来设计自身的底盘。在历史上,各位科学家为设计出性能最好的跟踪机器人在这方面做出了丰富的尝试。在荒漠地段,履带式跟踪机器人走出了优秀的能力,它在凹凸不平的地段如履平地。但它的自身质量相较于其它底盘来说过大因此它所需的驱动装置也必须足够强悍,且它的缺陷还在于持久力过低容易缺乏动力和协调能力完全不够;而在山地路段,无冕之王自然是腿式底盘,它能够在山地自如移动,但它的缺陷在于它科技含量过高,以我的学识能力无法使用此底盘;与腿式底盘相同的还有蛇形底盘,它的科技含量与腿式不相上下,而使用环境比起其余底盘来说更为匮乏;组合式顾名思义由以上底盘精华处组合而成,而科技含量自然也更强;因此本课题自然使用轮式的底盘,因为本人的学识也就够轮式了,且轮式的移动效率也不错,持久力够强,整体性能不错。因此本课题选择轮式作为底盘。在轮式结构中:而在轮式跟踪机器人中也分为几大类:三轮与二轮的底盘结构在现实环境中装配的较多,且其移动速率不错;而在四轮底盘中,它的科技含量较高,负荷量大,均衡性不错,移动速率很快但它对于小型研究所与个人爱好者的性能配置不太友好;而到了六轮更不用说,它的科技含量更进一步,均衡性与速度更为完美。这几种结构的底盘对比如图2.1所示。而在这几种结构中依靠车轮制动与换挡变速的种种区别划分为:操舵转向、差速转向。根据这两种不同进行对比,差速主要是运用两个驱动轮速度差来进行转向,通俗易懂,协调能力强,因此本课题应用差速转向的原理。在研究中我们需要对底盘结构进行设计。图2.1常见移动机器人移动形式分析因为底盘的重要性,本课题设计了一款三轮的运行底盘。如图2.2所示。该三轮底盘将具备较好的抗干扰能力及高超的协调能力,该底盘的构造是一个方形平台统合这下属的三个轮子,这三个轮子分别是:位于平台左右两侧的驱动轮,在平台前方的一个万能轮。两个驱动轮之间根据的差速原理使得跟踪机器人得以在短时间内进行转向,使得操作更为简易。而在前方的万能轮则起到维持架构的作用。为了彻底把握该平台的行驶,将建立一个以该驱动为模板的运动样例。如图2.3所示。22.222.3如图2.2所示。在图中可发现其可以构建成一个坐标系。路径与整个坐标系X轴中形成的一个角度。而两个进行驱动的轮子之间的距离假设为d,其轮的半径设为r,将两个轮子间进行虚拟的线条联结,其中心点可谓:M,那么将会推导XM为这个点的横坐标,而为yM点的纵坐标,则中心点M的坐标为(xM,yM)。倘若将平台的两个轮子的旋转速度分别设为ωL和ωR,则:(2.1)可以通过公式(2.1)得知:(2.2)从上述的公式,可以研究出接下来,处于M点位置的切向速度与对Z轴进行回旋的角速度,计算为:R可得,M点处的转弯半径为:

(2.3)(2.4)(2.5)从以上推导出的各项公式可知,要使得该平台进行直线的路径行驶,那么必须使得两个驱动轮的角速度完全一样,其中的原理是从公式中得知:当驱动轮角速度一样时,ωM=0,R将趋于∞,平台将只能直线行驶。而若让平台转向,那么可以使得ωL=-ωR,R0,0,M360回旋。以上的种种研究算法可以认为是该底盘的动力学模型,通过上述公式所解释的含义,能够将这个底盘进行灵活自如的控制。且该底盘所装配的操纵板能够将输入轮子的种种移动数据输出给系统处理器。或者将处理器的移动速率等数据输入到操纵板,让轮子进行调整。该底盘能够优秀的完成跟踪机器人的主要功能即:目标跟踪与超声波避障。对于本课题来说,本次的底盘设计也是一次成功的设计,使得其真正成为了整体设计的一部分。传感器的布局设计视觉传感器视觉传感器是跟踪机器人设计中颇为重要的一种传感器,其主要目的是为了获取目标的三维图像资料,从而更好的进行目标跟踪。视觉传感器在现今研究中分为两种,即:双目摄像与深度摄像。其中主要区别在于:它们获得外界数据的方式不一致。对于一个双目摄像头来说,它实际上是最为传统的一种用于获取三维数据的计算方式,即依靠着自身的视差原理,用着自身的图像处理系统从不同的方向拍摄摄取的相同背景,根据所能够感知到的数据不同来进行计算和分析外界的三维,它的适应范围就是在光耀下;而对于一些深度摄像机来说就不同了,它们显得更为地现代化,它能够感知到外界数据的技术主要是光编码。在本次课题中,视觉传感器将选用小觅摄像头产品,其系列中的D1000-IR-120/Color的摄像装置作为跟踪机器人的"眼"。在该种摄像装置里,其具备着在全局进行拍摄的能力,可以确保跟踪机器人在运动过程中的种种误差不会产生。该摄像装置的可观测范围最高可以抵达三分之一圆,可以全面保障目标的存在。其中该摄像装置的同步性能可以抵达毫米级,基本可以考虑忽视误差的存在。且该装置也可以同步与ROS系统上,将感知到的各项数据进入ROS的架构中,当然也可以研发者也可以通过ROS用以更改感知目标的数据。该摄像装置如图2.4所示。图2.4小觅系列D1000-IR-120/Color型双目摄像机超声波传感器本课题所采用的关于跟踪机器人的自主定位,路径规划等功能依靠的是超声波传感器。由超声波传感器被输入控制信息后(一直保持在10us的高信号电压),传感器内部会主动发出工作频率为40khz的矩形超声波并在发出时进行自主的计时功能,并在成功传回信号后停止计时,开始记录时间,从数据可得知超声波在空气中的速度,根据这一系列算法就可以得知障碍物对于机器人的距离与方位。在超声波传感器的跟踪原理说明之后,就开始对超声波传感器进行选型。其中HC-SR04在研发期间被选中,其具有优秀的性能与抗干扰能力,并且指向性能强悍。如图2.5所示。对于此超声波传感器来说,STM32F4295V,其在数据测试中,4m,且从该传感器的数据可以得知其的152mmVCCGND图2.5HC-SR04超声波传感本章小结在本章中起初确立了以机械硬件为优先的设计方案,同时对于整体中的重要部件进行了特别的选型及设计。在其中:我先进行了底盘的对比与设计并分别构建了各自的运动模型,之后我分别开始了对视觉,超声波等传感器进行研究与详细阐述并确立了最终的选用。跟踪机器人的控制硬件设计在本次毕业设计中我将针对控制硬件系统进行一个整体性的设计并重新构建机器人软件和系统的结构框图,完成了相应电路的设计。对于机器人跟踪中使用的相关设备进行了充分的探索和研究,确定了它们的使用与选型。跟踪机器人的硬件系统框图系统的硬件框图如图3.1所示图3.1系统硬件框图在本课题的跟踪机器人实现目标跟踪的过程中:首先,跟踪机器人必须获得跟踪目标的图像借此明确跟踪目标,而在该机器人中完成这项功能的是小觅系列D1000-IR-120/Color摄像装置;而除此之外,对于跟踪而言必须得知目标的距离、方位这就需要超声波传感器的帮忙。而在这两种传感器中其运行的方式也是不一样的。对于视觉传感器来说,其将所获图像通过串口传递给上位机;而超声波传感器是将数据传递给下位机,随后再由下位机传递给上位机。最后经由这两种数据的输入上位机中的目标跟踪算法以及路径规划算法将达到对应的数据,再输入到下位机中,在下位机中对此数据进行计算以PWM为媒介操作电机使其得以运行。而就在这时,电机所传递的数据也已抵达下位机,其将推导出驱动轮的现实转速,当该数据出现后,其动力学模型开始工作,这将形成一个闭环。到了这个时候,跟踪的一部分到此结束。而在这个过程中,其将无数次进行这个闭环,直到跟踪完成或被迫关闭。跟踪机器人硬件设备及其选型上位机上位机,顾名思义即为在底盘上方的机械部位。其的主要任务是对这个跟踪机器人的目标跟踪算法、路径规划算法等软件进行存储,分析,处理。因此其必须有着优良的性能才足以完成众多数据的集成。对于现代来说,较为普遍的是触摸屏,工控机和工作站等。而在研发中发现了一款来自英伟达的上位机:JetsonTX1,其具有一切上位机拥有的平直:SD、SATA数据、GPIO、SPI。且其内部有256个CUDA核心的NVIDIAMaxwellGPU和功率峰值仅10W。其的性能卓越,抗干扰性强与跟踪机器人各个部位通讯良好。如图3.2所示作为备受关注的JetsonTX1,其对于研发者异常友好,这套组件在英伟达官网中有着近乎全部的相关文档和开发包资源,可供研发者随意取用。这也是本课题对其选用的重要原因。且而对于研发者来说,应用JetPack不仅能够对其进行安装还可以对该开发工具进行刷机和更新换代。除此之外本课题中,上位机的应用操纵框架将会使用Ubuntu16.04,且对于该操作系统的ROS进行更进一步的研究与现实操作,其将会行使上位机的种种控制。图3.2JetsonTX1开发板下位机机器人的下位机部分是上位机与算法之间进行沟通的媒介,其重要性不言而喻。而在下位机部分其也具备着动力学控制的算法,需要对底盘进行速度控制。作为下位机,其也很普遍。有着:由意法半导体推出的STM32系列,其具备的功率耗能小,价格低廉,性能优良等优点;也有Arduino这种微控制器,其的应用足够灵活,创意更为梦幻。但对于本课题来说STM32系列的下位机更受到青睐。因此本课题选STM32STM32F4293.3所示。其主要负责控制超声波传感器的功能触发,底层转向舵机、转动电机的驱动和同上位机通信执行上层发来的控制指令等功能。PAGEPAGE20图3.3STM32F429单片机电机及电机驱动模块在该跟踪机器人的整体设计中,电机驱动的部分属于该机器的动力源泉。对于电机的各项参数必须做到心中有数,不能让电机无法驱动跟踪机器人的移动直接造成实验失败,也不能让跟踪机器人的速度过快使得下位机的动力学模块无法控制。本毕业设计中主要选择了一款直流驱动电机用来作为自动定位跟踪减速机器人的减速驱动光源电机,减速比51:1,带有13线光电信号编码器,其参数为12v36mm,搭配一台一个T型位于头部的圆形航模驱动电池组用来同时给驱动电机系统提供驱动电源,并在其中分别使用一个L298N模块组来进行驱动电机的减速驱动。该增压发动机的一个主要参数值如表3.1所示。表3.1电机参数电机参数参数值空载电流(A)<0.650空载转速(rpm)223额定负载扭矩()7额定负载电流(A)2.500额定负载转速(rpm)178L298NST公司自主研发的一种新H桥的全稳压电流大型高电流的全电压桥式电机驱动器,带有自动光耦合和分隔驱动功能,适用于直流驱动电机、步进驱动电机等多种直流电机。L298N相较于其他的直流电机系统驱动控制模块,它已经具备了很多的主要优点,例如它能够具备很强的电机驱动稳定性能和能够抵抗电磁干扰的驱动能力,IN1、IN2、IN3、IN4驱动两路控制电机,直接通过给出两个电机对应引脚一定的智能高低控制电压水平(TTL和高电平),即用户可以轻松直接实现针对两路控制电机的智能控制,通过分别输入VPWM两个信号的工作频率和能量大小即可来准确判断整个控制设备单片的电机工作转速的不断变化及其快慢,VCCGND为整个控制设备电源及其共地,stm32f429上的两个控制电源引脚分别进行共地供电,需要特别提醒我们l298n在控制设备中正常使用时必须与整个控制单片机分别进行共地,3.4所示。图3.4L298N电机驱动板本课题中检测电机转速的数据可用从光电编码器中得知而光电功率编码器的原理电机采用它对光栅功率进行计数,记录某个特定时间段内的各个光栅功率计数值之和,从而用来确定一台电动机的额定转速。增量型无线光电信号编码器的基本工作结构原理及其框图结构如以下的图形3.5所示。图3.5增量式光电编码器原理从上述图表可以得知,光电编码器有诸多部件。例如:光源,码盘与转换器和控制电路等。而在光栅上可以看到两个能够透出光线的缝隙,其被标识为a,b。并且从研究中,可以发现透光之间的距离与在缝隙间的距离完全相同。在研究中必须关注两个缝隙之间必须相差1/4的圆周角,即每个误裂间隙为1/4个透光间隙。例如,当一个新的光源设备穿过一个缝隙向外弦波投射信号给一个新的光电强度传感器时,它所可能产生的一个相位精度误差就有点像是一个正弦波的发射信号。电机在其中高速运行时,码盘的中心位置光栅会自动跟着一个电机的运动转轴进行旋转,当这个码盘和缝隙光栅上的一个白色缝隙完全保持对齐时,光源才可以能够通过这个缝隙光栅被一个专门用于光电检测传感器的光电检测传感仪所自动接受检测到,并且经由信号转换处理电路被用来对其进行各种信号转换处理,计算可以得出一个电机的真实运动转速,根据驱动轮的旋转半径,时间等这些计算信息便可以能够直接计算获取并得到一个电机和驱动工作者的物体位移和运动加速度。总体接口设计跟踪机器人的自动化跟踪系统就是需要把从输入到输出的每一个传感器和电机的驱动电路和控制器有机地紧密结合在一起,使其能够形成一个紧密结合的系统。从其硬件系统框图中可以得知这个跟踪机器人机械部分的连接情况以及它们2.8所示可知,对于下位机而言,电机驱动与控制超声波的i/o口与各种超声波传感器之间的串口进行通信;而对于上位STM32F429和视觉传感器的联系方式便是串口。对于超声波传感器和测距中断传感器而言,其中断信号是由接收器在终端通过连接发送到每个单片机的一个定时器中断终端口,作为外部的输入中断源并在接收器得到该中断信号后向每个单片机接口发送一个中断请求,以此更便于控制计算机的输入中断时间。pwm端口控制的方向信号除了输入是通过控制一个片上电机端口驱动的一个方向控制信号外,pwm端口输入和输出发生的方向信号也是通过一个控制单片上电机pm和wm端口输出的一个端口信号来进行提供。经过一个驱动控制电路信号后,电机通过驱动控制电路把电机输出的一个驱动电机和所控制的输出电压同时附着传送到一个驱动电机的正、负端。所以智能机器人的整个硬件集成系统仅仅只要直接采用它的杜邦线和它的usb连接线就已经能够轻松完成一个系统搭建。特别值得需要我们指出特别注意的一点是,ab相同的输出时,stm32f429的两个中断引脚,并且我们采用了边缘点中断触发的操作方式,a在设计中对数值的处理精度。l298nvss5v的一般电源电路输出接地线主要用于直接为驱动电机和模块驱动它的模块电源输出电路供电,vs12v的一般电源电路输出接地线主要用于直接为电机驱动模块电机和它的isenb一般电源输出线供电接地。另外其它与此有关的引脚中也只需要连接一个新的普通i/o口。除了整体接口设计以外,整个系统的电源系统也非常重要。整个系统的供电电源框图如图3.6所示。根据该驱动控制电路系统的性能要求,上位机、超声波传感器、双目近视摄像头传感器都可能需要同时为其提供5v稳压电源,而稳压电动机的稳压驱动控制电路因为其驱动负载主要是直流电的发动机,所以必须同时为其提供12v稳压直流电源。直流稳压电机通常是通过一个直流驱动器连接来方便携带的,因此不用再额外添加交流电源。各个组成部分的变频电路之间并没有直接发生任何电磁干扰,本机在设计中由于变频电机需要消耗的电源用量也比较少,所以我们仅仅可以直接共享一个信号电源,没有对其他信号来源进行任何隔离。图3.6跟踪机器人硬件系统供电框图本章小结本章为大家构建了一个追踪式机器人系统总体的软硬件系统结构框图,详细地论述了系统的主要软硬件组合构成以及对硬件装置的选型,其中包括:上位机(nvidia的jetsontx1),下位机(stm32f49),电机及相关电机驱动模块和总体的接口设计。最后按照软硬件系统结构框图把各个组成部分的软件模块相互地进行了连接,完成机器人的软硬件系统。跟踪机器人的软件系统设计在本次设计中我将针对软件系统做一个整体性的设计和构建机器人软件系统的总体结构框图。之后详细介绍了本次开发所需要使用的研究框架—ROS,阐述了卷积神经网络的特点和概念也对跟踪机器人设计中所需的算法进行了研究。机器人操作系统(ROS)简介ROS的主要意义在于为这个机器人的软件研发构建了一个统一的科学标准,能够有效帮助工业科研与工程开发者快速地准确进行相关技术基础研究与工程仿真。严格的技术意义上来说,ROS的系统能够直接适用于各个机器人的操作系统上,且其具有着完全自由的系统架构,其基本软件结构设计如下文中见图4.1所示,能够将各种工业机器人的各种底层共用硬件以及数据库代码进行抽象,提高底层代码的运行质量和代码复用率,具备对各种底层驱动程序的运行管理和共用硬件Kinect2.0、华硕Kixtion等所有相机软件进行通用驱动、并且能够具备许多普遍较为流行的相机通用驱动功能。拥有丰富的地图模块式优化工作实具包,rrviz、Gazebo等多种模块化地图仿真测试工具,实现对虚拟地图图像建立的场景可视化和创建虚拟空间环境等多场景的地图机器人仿真测试。ROS开发系统虽然已经可以直接促使系统开发者可以避免把大部分的工作时间都直接浪费于系统基础软硬件的开发搭建上,ROS开发系统在软件设计上的深入理解与实践学习,依旧可能需要我们花费一定的时间精力。然而,使用基于ROS操作系统所自行编写的开放源代码,ROS应用系统的不同功能类型应用机器人的应用平台上直接对其进行智能模拟化和智能复用,提高了这类型应用机器人的技术研究和产品开发工作效率。ROS松散的分布式软件进程开发框架能够直接让每个软件进程开发者各自独立地负责进行一个软件的功能设计,然后与其他软件开发进行实时的功能组合,从而可以达到完整的开发目标。ROS数据系统通过点对点的数据设计,以及数据信息的实时发布、订阅、请求、服务和处理节点数据管理器的工作机制,可以有效地大大分散了数字图像数据处理和数字语音等等数据处理所可能带来的数据实时性和计算处理压力。但是,在实际的工业应用中,大量的视频信息和海量数据处理,将来还有很大可能会因为此而受到软硬件综合性能的巨大约束,影响涉及到移动机器人的真正应用实际操作和应用效果。ROSC++Python等多种编程语言,集成了专门用于对机器人OopenCV库,SLAM中国地图的模型建设与定位导航功能。ROS这种操作系统不仅可以依靠自身应用软件了构建模型,也可以通过一款仿真模拟软件了进行模拟,用以来测试模拟,驱动一个驾驶机器人对一个车辆转向进行了自动避障,路径路线规划,地图的组合构建和自动引导车的导航等多种智能仿真模拟实验。图4.1ROS机器人操作系统架构图接下来,我们将看到ROS操作系统中各部分工作的层级与具体概念。(1)节点(Node)节点耦合是一个ROS的分布式,松散的耦合节点机制的理论根据就是信号作为传递器的载体。通俗而言,节点档案是一个完整的可执行网络档案,它通常能够同时让我们通过网络电视广播话题或者网络服务等多种方式与其他网络节点进行交流。各个网络节点之间可以经由各种松散和耦合的网络机制(如网络话题)作用来相互进行各种信息连接通讯,实现了工业机器人系统的信息模块化,提高了系统的性能易于使用容错度和系统的安全可维修性。各种系统节点都同样可以很有选择性地使用不同的系统编程设计语言方法来对它们节点进行系统设计和工程编写,较为常见的设计方法主要有C和C++,Python等。(2)消息(Message)消息的数据传递,是以其自身作为载体,而每一次的消息都应有自己独有的特点与自身够着,且能够依据各种节点的需求来进行自适应。并且其可以进行多项支持,使得各种数据同时运转。从本课题的动力学模块可以看到:当发出控制话题可称:ecmd_vel/,其中内容的格式可以为:sgeometry_msgs/twist.msg,因此对于4.2所示。twist型的消息矢量可以分别划lineargiangular两个不同矢量,x、y、z64float,用来分别描述运动机器人三个不同矢量在各个运动方向上的不同轴线运动加速度和矢量相应的方向角度加速度。图4.2geometry_msgs/Twist.msg消息格式(3)话题(Topic)消息主要传递是通过直接依附于消息话题中以及消息发布与新闻订阅的这两种传递方式上来进行消息传递,它们是采用一对多的介于消息话题发布与新闻订阅之间的消息关联性传递机制,即同一个消息话题节点可以同时拥有多个相关消息的发布订阅者或消息发布商,并且每一个消息节点都功能可以同时自动进行消息订阅与同时发布多个消息话题。当某一个新的节点主题遇到了一个需要特定的节点消息,就通过手动订阅其中含有包含这个特定消息的节点主题文件来快速地直接获取其节点相应的消息数据。例如,机器人的移动下位机所发布需要的底盘速度运动信息(此时即诸如geometry_msgs/twist.msgs等消息)被广泛地被应用于运动跟踪和分析控制汽车底盘的速度运动,因此基于汽车底层底盘运动速度跟踪系统控制的速度节点就被广泛认为用户可以通过查询订阅上位机的运动跟踪控制节点所需要发布的gecmd_vel/t等话题,来直接快速获取与其相关或对应的速度信息。其中我们需要特别注意的一个地方之一就是,在同一台操作系统中命名不得同时包含与自己系统命名的相同主题,否则很有可能会直接命名造成系统混淆。(4)功能包(Package)ROS文件系统各个层次的概念,它指的是专门用来实现特定功能的各种代码和文件集合,其中包括了依赖库,节点文件,参数配置文件等组成部分。并且各个功能包之间相互独立可以同时工作。在网络研究中对于一个可以用来直接描述这个ROS网络系统的各个网络主题、节点、服务、消息等组成部分都应该是如何在其中直接进行信息计算网络工作的被我们一般称为网络计算图级,其以一种基于点对点的网络计算图和网络图的形式将其呈现了显示出来,4.3rosr所支持的节点跨服务平台实时通讯中被我们称为两个节点实时管理器(master通过节点执行命令roscore,启动两个节点假如管理器执行Master后就不会自动开始实时启动,则两个节点之间就可能无法正常进行实时通讯。ROS系统的Master是一个中央命令站,可以在任何基于ROS系统的软硬件上同时执行。参数服务器(parameterserver)能够自动配置各个节点内部的参数,改变各个节点正常工作的状态。而网络服务(service)主要为了更好地实现网络交互模式的多元化。图4.3ROS计算图级示例ROS系统的社交网站层,能够让用户通过互联网进行对知识与软件的传播和分享。在该社区内我们可以直接下载到ROS操作系统的最新版本和ROS学习材料,并且还可以向用户提供问题答疑等服务。主要目的就是为了推动ROS系统实现自由开源共用这一发展理念,同时它也是为了整合全球范围内的人才,促进ROS系统发展。卷积神经网络简介在卷积神经网络成熟应用之前,研究人员通常使用手工设计的算子(例如HOG或者SIFT算子)来对图像进行特征提取。但是手工设计的特征泛化性不好,设计也较为复杂,应用很受限制。后来广泛应用的卷积式图像神经网络,自动识别训练时能提取图像特征,识别时在我国统一技术框架内自动训练进行特征提取与识别分类,取得了较好的识别效果,可以广泛应用于各种图像特征分类,目标特征检测,语义特征分割等特殊识别目的。常见的卷积式输入神经网络大致以上可以详细划分如下为两个输入网络层、卷积层等结构。如图4.4所示。PAGEPAGE30图4.4卷积神经网络基本结构示意图卷积式神经网络在训练的过程中一般被划分为前向传播阶段和逆向传播阶段。在本章训练时,首先对网络的权值参数进行了初始化,之后通过网络读取数据,数据在经过卷积层、池化层和整体连接层之后,得到一个输出值,比较后所得到的输出值和期望值之间的误差。通常采用损失函数的形式来确定误差,当误差阈值大于我们设置的误差阈值之后,将其反向传播返回网络,其可以计算出各部分的误差,再进行一次更新换代再由此输入相关数据,前后传递不断进行,直至我们所求得的误差在我们所期望的误差阈值范围之内,训练的过程就可以完成,特征也自动从大量的数据中学习得到。卷积式动态神经网络系统具有两个重要的系统基本特征,即系统局部参数连接与系统权值参数共享,或者被统称为稀疏参数连接与局部参数权值共享。局部连接区别于全连接,局部连接的神经元只需要和上一层的部分神经元相连接即可,这么做能有效减少参数数量,也很符合图像数据局部的值之间高度相关,较远的位置之间相关性不强的实际空间特点。权值参数共享主要目的是基于用来明确指定在滤波器遍历一个图像过程中的每个时候,参数的权值是否应该保持是固定不变的。跟踪算法研究YOLOv3DeepSORT基于检测的多目标跟踪算法是当前的主流多目标跟踪算法,常用的在线目标跟踪开源算法有SORT、DeepSORT等,DeepSORT多目标跟踪算法是SORT算法的改进版本,在现在被广泛用作跟踪器。基于检测的多目标跟踪算法十分依赖于目标检测器的性能。一般而言,同样是一种跟踪检测方法,目标检测器的特点是性能强,跟踪的方法性能就会随着越好。基于深度机器学习的问题目标检查方法主要包括两类,two-stageone-stagetwo-stage检测方法的精确性相对较高,但是数据检测速度相对较慢,难以配合检测器满足实时跟踪的要求。常见的算法主要有r-cnnspp-netfastr-cnnfasterr-cnnmaskr-cnnone-stage的方法由于其检测速度相对比较快,并且能够很好地满足数据库的实时性要求,常见的检测方法主要yolossdyolov2yolov3等。YOLOv3的准确率也较高,工程使用可以取得实时性与准确性的平衡。YOLOv3是YOLO目标检测算法的第三代,在保证实时性的前提下,能够达到较高的精度,而且对小目标的识别能力有所提升。yolov3在yolov1和yolov2的基础上做出了改进,对于网络的结构也做出了一些调整,利用了多维的特征,并用logistic替代softma进行了对象的分类。要实现在对视频中每个目标从出现到离开画面的保持跟踪,需要使用多目标跟踪技术,基于检测的跟踪先检测出目标,再利用检测出来的结果进行跟踪,这是目前的主流算法,过程如图4.5所示:图4.5基于检测的跟踪流程示意图要对实时传来的监控画面检测,算法必须能够离线跟踪。DeepSORTSORT是多目标跟踪里开源而且常使用的经典算法,能够很好地进行工程化改进,YOLOv3作为检测器能在实时性与准确性上取得均衡,YOLOv3与DeepSORT相结合是现阶段较为理想的选择。SORT是一种简单而且有效的多目标跟踪算法,提出之时即成为当年的热点算法。SORT主要包含三个方面的贡献,首先是使用卷积神经网络作为检测器,使得检测结果的准确性有了很大提升,也对跟踪效果的提升有较大帮助;其二是使用匈牙利算法来寻找视频前后两帧多个目标的最优匹配和用卡尔曼滤波的方法来预测当前的位置,对二阶匹配的算法进行了创新;其三是该算法开源了相关代码,能够供广大研究者共同研发使用,这对于工程应用具有极大的意义。DeepSORT是SORT的基础上改进得来,SORT目标跟踪算法虽然能够较为快速地进行跟踪,但是没有处理遮挡,因而场景中有遮挡时,算法的效果不甚理想,无遮挡时才能有较好的表现,而且跟踪时ID会时常切换。针对sort目标跟踪算法的不足,deepsort进行了一些相应改进。deepsort仍然以一种传统的单片机假设自动跟踪系统方式为其中的核心思想,引入了一种完全可以在普通行人和商用机器人双重识别的小型大数据的收集上用经过深度机器学习或者远程离线技术训练好的自动跟踪系统模型,在对跟踪目标物体进行远程实时自动跟踪的时候,将对象的表观特征提取出来进行最邻近匹配。把对象的外观信息纳入匹配计算时的考虑,对象在被遮挡后又出现时,可以重新正确匹配到ID,在一定程度上提升有遮挡场景时的跟踪效果,减轻对象ID的突然切换问题,避免了对象的ID切换过于频繁。算法的整个流程如图4.6所示:图4.6DeepSORT算法的流程示意图deepsort8维的边界框状态空间来表示一个目标在某一个特定时刻的边界框状,其中,边界框的中心坐标分别为(u,v),长宽比分别为γ,h,剩余的四个参数分别表示其所需要对应的四个变量在这个图像中心坐标系里面的移动速度。对象的运动状况预测所采用的是一种基于线性观察模型和非线性加速度模型的卡尔曼滤波器,预测结果如下(u,v,γ,h)。在卡尔曼滤波预测这一部分,deepsort与sort算法的轨迹处理方法基本相同,在卡尔曼的追踪器上,会为这个轨迹设置一个计数器,在卡尔曼滤波预测期间,这个计数器可能会进行递增,但是当卡尔曼滤波预测的结果与卡尔曼追踪的结果之间能够完全匹配时,这个计数器就可能会被设定为零。如果这个轨迹是否在规定的时间内没有可能与所检测的结果正确相上,就需要把这个轨迹从轨迹池里面去掉。如果在画面里出现了一个现有的跟踪轨迹而没法匹配上的检测结果,即当所有新的检测结果都会出现时,此时会假定出现了新的目标对象,并为这个对象创建一个跟踪的轨迹,如果接下来的连续3帧,这条新轨迹对目标的预测位置与检测的结果都能够匹配,那么这条轨迹可以确认保留,确实是出现了新的目标,否则,这条临时轨迹就会被删除。SORT算法是把当前帧的目标检测结果的框和跟踪的框的交并比作为代价矩阵,deepsort算法把跟踪目标的运动信息和物体外观信息之间的关系一起进行考虑,根据这种融合度量的模型方式分别来计算物体追踪的轨迹和被检测到的相互匹配度。deepsort采用的是跟踪仪器件预测框和检查模块上的马氏距离对运动相互关联度进行了描述。在搭建好基于YOLOv3的DeepSORT行人的行人检测框架后,并将代码写为C++后,对其在实际场景中进行测试。在该测试环境下进行测试并且拍摄了视频,包含了单人多人不同尺度及遮挡与背景下的效果,单人跟踪结果如图4.7到图4.10所示:(a)近距离 (b)较近距离(c)较远距离 (d)远距离图4.7单人不同尺度跟踪结果(a)行人背景接近 (b)行人背景相反图4.8单人不同背景跟踪结果(a)脚部遮挡 (b)单腿遮挡(c)腿部遮挡 (d)半身遮挡图4.9单人有遮挡跟踪结果(a)远距离 (b)近距离图4.10多人跟踪结果从单人尺度变化的结果可以看出,同样的人物在镜头的远近即使大小变化很剧烈,也不妨碍对行人的跟踪结果。在背景与所跟踪的行人很相近时,检测跟踪系统仍然能够将行人准确检出,并且标号未发生变化,这样可以保持对场景中行人的服色具有极强的适应能力。在有部分的遮挡情况时,可以看出,行人的检测未受过大的影响,包括刚出现被墙体部分遮挡和被其他物品遮挡时,均有良好的表现,能够准确跟踪。多人跟踪时,虽然行人在行进的过程中,但为每个行人准确分配了标号,并且跟踪的期间,标号未发生丢失与变化,在多人情况每人大小不同而且也相互存在遮挡时,衣服与背景相近时,表现仍然良好。在不将视频的读取显示与保存的时间纳入考虑的情况下,跟踪算法所需要的时间在30ms左右,多数时间消耗在了目标检测器,如表4.1所示:表4.1目标检测消耗时间batch=1batch=2batch=4batch=8YOLOv215ms25ms45ms85msYOLOv325ms44ms80ms该套室外监控管理系统不仅具有较高的监控准确性与鲁棒性和监控数据的自动实时性,能够充分地地满足室内交通行人对室外监控数据跟踪的各种需求,实现了对多人目标的稳定跟踪。Kalmankalman滤波跟踪方程就是根据物体在运动中目标的状态,kalman滤波器来建立物体跟踪目标的模型,使用物体在运动中目标的状态方程式和观察方程,基于上述目标以前的状态信息,对其中的下一步状态信息进行了最优化和估计,预测kalman滤波追溯跟踪算法是一种基于与模型相匹配的追溯方法,因此我们需要在这种情况下搭建一个目标追溯跟踪算法,kalman追溯算法的具体实现流程。卡尔曼跟踪一个节点首先我们需要为它建立一个卡尔曼对象,把卡尔曼对象的所有与它相关联的参数都对它进行了初始化。卡尔曼滤波器根据目标某一时刻的状态,进行估计,然后再使用估计结果,进行校正。目标的状态方程和观测方程如下:X(k)=AX(k−1)+W(k)(4.1)Z(k)=HX(k)+V(k) (4.2)在公式中倘若a与k被视为该系统的噪声传递矩阵,h和k为系统观察过程矩阵,其作为系统在进行观测时的噪声,被视为系统在一个周期中进行测量时的噪声,为某在k到某时刻一个系统的观测状态,z(k)的值是一个系统在k到k一个时刻的状态测量噪声值。由卡尔曼跟踪公式,可以研究出卡尔曼首先使用了目标的初始状态参数,通过步骤预测新一个目标的位置,计算在现在这个时刻其状态的协方差估计值,再根据式(4.2)对新一个目标进行测量值,将预测的误差值和新一个测量值进行结合,校正新一个目标的位置。Kalman的原理与算法论证完毕后开始进行实验。而在这个实验中,选择了一块红色的乒乓球纪念品拍摄视频作为上位机跟踪的目标,图像中的一个蓝色和矩形分别作为上位机运动目标的一个标记区域,黑色和白色的两个箭头分别作为上位机目标的向左和朝右方向运动的一个参考物,实验过程中的视频帧图像显示是myntaid1000-ir-120/color型双目摄像机进行实时采集的视频帧,在上位机上位机显示的跟追溯结果。移动式机器人利用kalman跟踪算法来实现对目标追踪的一种实验结果,如图4.114.11(a)4.11(b)为了检测运动中目标的远离和接近机器人的运动状态,由此我们可以清楚地看出,kalman跟踪算法在工作中能够准确预测得出目标的位置,进行了跟踪,4.11(c)4.11(d)分别为对运动目标在一个向左和一个向右方式运动时对目标的追溯结果,由此我们可以清楚地看出kalman跟踪算法,能够实现对运动目标的同步追溯。实际在测试中,当目标行动关于迅速时,kalman的算法将会过于迟钝,误差急剧增大。而当目标在kalman的计算范围内时,算法的实时性将会达到同步。此时,进一步研究的目标将是不断提高跟踪算法的稳定性。因此,本课题中将会选用基于YOLOv3和DeepSORT的行人检测与目标跟踪算法。图4.11Kalman跟踪算法实验结果跟踪机器人的定位与建图地图主要有多种类型的表示方式,常见的类型有几何性质地图、拓扑形状地图和线条式栅格地图,每一种地图都适用于不同的情况。几何类型的特征地图是利用传感器收集到的外界环境资料信息,将其分析并提取出来形成相应的几何类型特征,使用此类型的几何性质特征可以对环境条件进行描绘,能够让地图的显示更加紧凑,使得目标的识别与定位估计操作过程简单化。由于几何性质上的特征地图在计算时数量较小,而且坐标可以通过局部区域里获得相对较高的精确度,但是在很大范围内的环境里却难以保证坐标信息的准确性。该地图在提取时对于感知到数据的次序和多少都是有很高的要求,而且需要额外经过的处理。拓扑地图是一种抽象性认识程度很高的地图,这种地图是用一张带有拓扑含义的地图对外部环境的地点、PAGEPAGE40特征状态等进行抽象,外部环境的地点、状态。使用图中的节点来表示,若节点之间有连线,则表明在环境中,这两个地方是可达的。这种地图占用的存储空间较小,能够快速进行运算,方便进一步地进行路径规划,而且有很多现有的搜索算法可以引申到拓扑地图上应用,但如果环境中存在两个比较相似的地点,会加大拓扑地图对节点的匹配和识别难度,造成这两点区分的困难。栅格地图是在移动机器人中应用较广的一种地图。这种地图把外部的环境,分割成了很多个大小一样的网格,每个网格都可以表示在这个网格中,是不是有障碍物存在,这种地图的创建于维护相对比较直观容易,对环境中的信息也有着比较全面的保留,这种地图也天然的适合机器人进行定位和路径规划。但若面临的环境较大,栅格又必须保持一定的密度时,会造成地图过大,维护困难,难以实现实时,对算法要求较高。在对移动机器人系统进行应用时,有时很难提前获得所要工作的环境地图,此时,就需要让移动机器人在自己的位置和条件不明朗的情况下,在一个完全不可能被认为是无法预测到的环境下一边对系统进行了定位,一边自己设计和建立环境地图,这也是当前研究的热点,即同时定位与地图创建的问题。移动式的机器人是处于一个完全不可以被称为未知地点的环境下的一个完全不可以被称为自己所认识的位置,并从这个未知地点的位置出发开始进行移动,在移动过程之中根据传感器所能够传来的数据与自己位置估计等多种方式,对自身地点进行了定位,同时可以构建增量式地图。4.5.1由射影几何公式可得,不同的照片在相机拍摄时地面处于同一平面上,可由单应矩阵公式可以得到不同位置和坐标之间的对应关系,单应矩阵通过标定N对对应的点来得到,因为行人都是站立在所拍摄的地面上的,以行人的检测框最下方的点为基准,把像素中一个点的坐标转换到另外一个摄像头画面里,另外一个摄像头画面之中也会有行人检测所得的框,同样以最下方的点作为行人的位置,根据距离判断这两个点是否是对应同一个行人。由于画面中会存在多个行人,因而在两个相机中是多对多的对应,Kuhn-Munkres(KM算法匹配算法替代原先的最近邻匹配算法。针对已经匹配过的行人是否还需要再次进行匹配的问题,如果已经匹配成功就不需要再次进行匹配,如果一旦发生某一帧匹配错误的情况,该错误就会一直存在无法得到纠正。而如果每一帧都进行匹配,则在某一帧的误匹配就会导致标号进行切换,而且会有可能发生切换为相同标号的情况,通过简单的延迟匹配,连M次,才会进行更新。最后优化后的匹配逻辑为:为保持标号的稳定性,每M帧进行一次匹配,如果和上次的匹配结果一致,1,当匹配的次数N

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论