毕业论文-轮式移动机器人路径规划设计_第1页
毕业论文-轮式移动机器人路径规划设计_第2页
毕业论文-轮式移动机器人路径规划设计_第3页
毕业论文-轮式移动机器人路径规划设计_第4页
毕业论文-轮式移动机器人路径规划设计_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

轮式移动机器人路径规划摘要路径规划技术是移动机器人研究领域中的一个重要分支。路径规划是指在给定环境的障碍条件,以及起始的和目标的位置,要求选择一条从起始点到目标点的路径,使运动物体(机器人)能安全、无碰撞的通过所有的障碍。移动机器人的路经规划可分成两类,一类是基于环境先验信息的全局路径规划,另一类是在不确定环境下的基于传感器信息的局部避碰规划。本文主要针对第二类也就是基于传感器信息的局部避碰规划。通过PC平台利用VC编程然后调用机载传感器信息,在工作中实现了试验平台与机器人的通信,经实验证明机器人能够躲避在其前方(前方障碍物距离可以人为设定)出现的障碍物,满足了课题的要求。在本文中还提出了利用视觉信息对不同颜色目标进行分析并跟踪的可能性。关键词:路径规划,避障行为,PID算法I轮式移动机器人路径规划AbstractPathplanningtechnologyisoneimportantbranchofthefieldofmobilerobotresearch.Pathplanningmeanstheselectionofapathfromthestartingpointtothetargetpointwhichthemovingobjects(robots)canpasssafelyandwithoutcollisionintheconditionwhichtheobstaclesenvironment,thestartingpointandthetargetpointaregiven.Theresearchofmobilerobotpathplanningcanbedividedintotwocategorieswhichoneistheglobalpathplanningbasedonpriorinformationandtheotheristhecollision-freepathplanningbasedontheinformationofsensorsunderuncertainenvironment.Mainly,thelocalplanningbasedonsensorinformationforPreventingCollisions.Theexperimentprovedthattherobotcanavoidtheobstaclesinfrontoftheir(thedistanceinfrontofobstaclescanbesetbyMan-made,theresultofexperimenttomeettherequirementsofthesubject.Inthispaperalsoproposedtheuseofvisualinformationonthedifferentcolorsandobjectiveanalysisofthepossibilityoftracking.Keywords:PathPlanning,behaviorofavoid-colliding,PIDalgorithmII轮式移动机器人路径规划目录第一章绪论.11.1移动机器人的发展历程.11.2轮式机器人的主要形式.11.3本课题的意义.21.4轮式移动机器人路径规划的国内外发展情况.31.5本课题主要解决问题.41.6本章小结.5第二章UP-Voyager自主移动机器人控制系统.62.1控制系统的组成.62.2传感采集系统.72.2.1传感器主板丝印图.82.2.2电源输入以及简单保护电路.92.2.3电源电路.92.2.4部分电源保护电路.102.2.5红外传感器输入接口.112.2.6超声声纳输入接口.112.3UP-VOYAGERII的扩展能力.122.3.1类PCI扩展卡.122.3.2模块扩展接口电路.132.4UP-VOYAGERII各种扩展卡简介.152.4.1运动控制卡.152.4.2超声红外的基本工作原理.172.5罗盘扩展板处理电路.212.6RS485RS232转换电路.222.7本章小结.23第三章UP-Voyager机器人的机械结构.243.1机器人的总体结构.243.2机器人行走机构.25III轮式移动机器人路径规划3.3机器人的悬挂机构.263.4机器人电源及驱动模块.273.5机器人传感器模块.273.6搭载计算机设备模块.273.7本章小结.28第四章机器人路径规划的实现.334.1路径规划实现过程.334.1.1各基类的物理意义.334.1.2VC+MFC编程.364.2PID控制方法原理.464.3程序实验调试.474.4本章小结.47第五章总结与展望.495.1总结.495.2技术经济分析.495.3展望.50参考文献.52致谢.54申明.55IV轮式移动机器人路径规划第一章绪论1.1移动机器人的发展历程移动机器人的研究始于60年代末期,斯坦福研究院(SRI)的NilsNilssen和CharlesRosen等人,在1966年至1972年期间研造出了取名Shakey的自主移动机器人,目的是研究应用人工智能技术,在复杂环境下机器人系统的自主推理、规划和控制。70年代末,随着计算机的应用和传感技术的发展,移动机器人研究又出现了新的高潮。特别是在80年代中期,设计和制造机器人的浪潮席卷全世界。90年代以来,以研制高水平的环境信息传感器和信息处理技术,高适应性的移动机器人控制技术,真实环境下的规划技术为标志,开展了移动机器人更高层次的研究。移动机器人的研究涉及许多方面,首先,要考虑移动方式,可以是轮式的、履带式、腿式的,对于水下机器人,则是推进器。其次,必需考虑驱动器的控制,以使机器人达到期望的行为。第三,必需考虑导航或路径规划,对于后者,有更多的方面要考虑,如传感器的融合、特征提取、避碰及环境映射。因此,移动机器人是一个集环境感知、动态决策与规划、行为控制与执行等多功能于一体的综合系统。对移动机器人的研究,提出了许多新的或挑战性的理论与工程技术课题。引起越来越多的专家学者和工程技术人员的兴趣,更由于它在军事侦察、扫雷排险、防核化污染等危险与恶劣环境已及民用中的物料搬运上具有广阔的应用前景,使得对它的研究在世界各国受到普遍关注。目前,移动机器人特别是自主机器人研究是一个十分活跃、具有广泛应用前景的前沿研究领域。移动机器人按工作环境可分为:室内移动机器人、室外移动机器人和特殊环境下的机器人;按移动方式可分为:轮式移动机器人、步行移动机器人、蛇形机器人、履带式移动机器人、爬行机器人等;按控制体系结构可分为:功能式(水平式)结构机器人、行为式(垂直式)结构机器人和混合式机器人;按功能和用途可分为:医疗机器人、军用机器人、助残机器人、清洁机器人、地下管道检测移动机器人、行星探测机器人等;按作业空间可分为:陆地移动机器人、水下机器人、无人飞机和空间机器人1。1.2轮式机器人的主要形式1轮式移动机器人路径规划轮式移动机器人有多种结构形式,其中被广泛研究的主要有以下五种:(l)前轮驱动并可转向的移动机器人前轮驱动并可转向的移动机器人,后两轮是随动的。理论上前轮的偏角可以达到90度,但在实际工程中前轮的偏角要受到限制。(2)两轮差动驱动的移动机器人两轮差动驱动的移动机器人,采用两轮独立驱动的方式。通过控制两个驱动轮的速度,使机器人跟踪不同的轨迹。这种结构方式的优点是转向灵活,当两轮速率相同,方向相反时,车体可以原地转弯。前轮是两个独立的驱动轮,后轮是可以任意方向滚动的小角轮,小角轮的作用是使车体稳定,但会给系统带来力学上的干扰冲突。两轮差动驱动的移动机器人可以视为一种较为典型的三轮式移动机器人。(3)汽车式移动机器人汽车式移动机器人是应用最为广泛,也是研究最多的一种移动机器人,其驱动机构和运动基本上与三轮式移动机器人相同。前轮为转向机构,后两轮为驱动机构。通常,汽车式移动机器人转弯半径受限,车体不可能原地回转。当车速为一个恒定值时,汽车式移动机器人模型简化为Reed&Shepp车(允许倒车存在)和Dubins车(不允许倒车存在)。(4)带拖车的轮式移动机器人带拖车的轮式移动机器人是一种特殊类型的移动机器人系统,由一系列相互铰链在一起的多个两轮式刚体小车组成。在非标准情况下,这种轮式移动机器人系统由一个卡车形的牵引车拖动一个或多个被动的拖车组成。(5)三轮全向移动机器人三轮全向移动机器人,三个车轮互成120度,分别由三个电机驱动。另外,还2。有使用六轮驱动的移动机器人,例如用于火星探测的轮式移动机器人1.3本课题的意义近年来,移动机器人路径规划技术受到了广泛的关注。分别登入火星的猎兔犬2号、勇气号和机遇号,它们的路径规划技术代表者当今世界移动机器人路径规划技术的最高水平。移动机器人路径规划问题是指如何在有障碍物的工作环境中,寻找一条从给定起点到终点的适当的运动路径,使机器人在运动过程中能安全、无碰撞地绕过所2轮式移动机器人路径规划有的障碍物。当机器人具备全局环境信息时,可用一次性的全局规划来得到一条自起点到终点的安全路径,并能对运行过程中的某些性能指标进行优化,这方面的研究已有广泛的报道。但实际上,机器人具有的环境信息往往不完全,并且是动态变化的,这时不能离线做出一次性全局规划,机器人只能依靠实时探测到的环境信息,经过多次重规划(滚动规划)来得到可行的安全路径。人们已提出了不少解决静态未知环境下路径规划问题的方法和策略,但对于存在动态障碍物的未知环境,还缺少有效的规划方法。因此,对机器人在外界静态未知障碍物和动态未知障碍物环境下的路径规划研究将具有重要的意义。1.4轮式移动机器人路径规划的国内外发展情况目前足球机器人(也就是上述的两轮差动驱动的移动机器人)的路径规划已经引起了国内外专家的关注,取得了大量的研究成果,呈现了百花齐放的局面。可以分为全局规划和局部规划两个方面。就足球机器人全局规划方法的研究来说,主要有:拓扑法、可视图法、栅格法4。拓扑法是将规划空间分割成具有拓扑特征的子和人工智能方法:遗传算法等等空间,并建立拓扑网络,在拓扑网络上寻找起始点到目标点的拓扑路径,最终由拓扑路径求出几何路径的方法。从应用角度来说,由于拓扑法中建立拓扑网络的过程复杂,如何提高图形速度有待解决,因而很难满足足球机器人比赛对实时性要求高的特点;可视图法视机器人为一点,将机器人、目标点和多边形障碍物的各顶点进行组合连接,要求机器人和障碍物各顶点间、目标点和障碍物各顶点间以及各障碍物顶点与顶点之间的连线,均不能穿越障碍物,即直线是可视的。搜索最优路径的问题就转化为从起始点到目标点经过这些可视直线的最短距离问题。可视图法虽然能求出最短路径,但是它容易使机器人小车离障碍物太近甚至接触,并且搜索时间长,因而应用的也比较少;栅格法将机器人的工作空间解耦为多个简单的区域,一般称为栅格。由这些栅格构成了一个连通图,在这个连通图上搜索一条从起始栅格到目标栅格的路径。其特点是可以与多种方法结合使用来求得一条最好路径。哈工大多采用该种方法参照人类在人群中行走的经验对栅格地图进行进一步规划,成功实现了机器人小车的避障目的;遗传算法是一种人工智能方法,是由美国的John.Holland教授研究出的。遗传算法基于达尔文的生物进化论的适者生存原理,模仿3轮式移动机器人路径规划了生物的遗传和进化法则,通过引入随机统计理论而形成的。在求解过程中,算法从一个初始变量群体开始,逐代寻找问题的最优解,直至满足收敛条件或预先设定的迭代次数为止。国外的KazuoSugibara和JohnSmith等学者一直从事遗传算法在足球机器人路径规划应用方面的研究。国内的西北工业大学、北京理工大学和北京工业大学等队采用了此种方法进行路径规划。从局部路径规划方法的研究来说,目前主要有:人工势场法和模糊推理法等。人工势场实际是对机器人运行环境的一种抽象描述。势场中包括斥力场和引力场,不希望机器人小车进入的区域和障碍物是斥力场,子目标及其建议机器人进入的区域为引力场。引力场和斥力场的周围有一定的抽象势能,它的负梯度方向表达了机器人小车系统所受抽象力的方向,正是这种抽象力,促使机器人小车以平滑的曲线朝向目标前进。人工势场法在避障和轨迹规划的同时也考虑了机器人小车的运动性能指标。是国内外使用的最多的方法。其具有计算方法简单,计算量小,在避障、轨迹规划的同时也考虑了机器人运动性能的特点。国内的清华大学和华中师范大学等队采用了此种方法进行路径规划;模糊推理法是在美国波克莱加州大学L.A.Zadeh教授于1965年创立模糊集合理论的数学基础上发展起来的,是在线规划中通常采用的一种规划方法。用模糊逻辑是通过对驾驶员的工作过程观察研究得出的。驾驶员的避碰动作并不是对环境信息的精确计算来完成的,而是根据比较模糊的环境信息,靠经验来决定采取什么样的操作。该方法在移动障碍物和移动目标的环境中能有效的实现机器人避碰和导航。广东工业大学在这一方面进行了研究和实验。吉林大学、广东工业大学等队采用了此种方法进行路径规划除了以上的方法外,韩国学者John-HwanKim提出了向量场法。处于向量场上的车型机器人只要沿着所处位置的向量方向移动,就可以到达目标位置。每次计算被控机器人所在位置点的向量方向,因此计算量很小,简单,实时性好。韩国的一些学者还提出了安全弧的方法,尽管它能规划出较优的路径且方法比较简单,但是由于它假设了在每个采样周期内机器人移动的距离固定不变,因此,在应用范围上有很大的局限性。国内还有学者提出了随机路标规划法、遇障速度法、状态空间法和动态二叉树表示环境的A*算法等足球机器人路径规划方法。1.5本课题主要解决问题(1)如何在PC环境下用VC建立基本的机器人控制界面。4轮式移动机器人路径规划(2)如何使控制界面与机器人的对接及控制机器人机载超声传感器的调用。(3)构思机器人避障基本行为逻辑。(4)如何用C语言实现机器人避障功能的行为逻辑。1.6本章小结本章介绍了机器人的发展史,并结合发展史深化到轮式移动机器人的结构形式和研究本课题的意义,还介绍了最近几年国内外对于轮式移动机器人的研究状况和发展态势。5轮式移动机器人路径规划第二章UP-Voyager自主移动机器人控制系统2.1控制系统的组成UP-Voyager自主移动机器人系统图如图2-1所示:6轮式移动机器人路径规划图2-1UP-Voyager系统框图UP-VOYAGERII的控制系统框图,其主要分为用户层、决策控制层、传感/底层决策层、运动执行层。各层与各层之间通讯都有标准的物理层与协议层,因此各层都具有很强的扩展性,用户只须按照标准的物理层与协议规范就可以自由增加用户自己的设备与控制程序。其中:7轮式移动机器人路径规划用户层:用户层硬件主要是由一台高性能的台式机或都笔记与通讯模块(比例如无线网络、无线电台等)组成,同时可以加配全景摄像机以及其它全局传感器。软件方面主要有通讯类、运动控制类、传感器反馈类等等。用户层可以通过网络或无线电通讯查询机器人的有关信息,比如前景图像住处、全景图像信息、24路超声信息、24红外信息、二轴或三轴罗盘的方向信息、陀螺信息、GPS经纬度信息、机器人自身状态信息(包括系统电压、系统电流、系统功耗、剩余能源、电压波型、电流波型等)。用户层的设计主要是为了:1)便于机器人的研究与开发由于机载PC对于用户层是完全透明的,因为用户只须先在用户层上开发调试程序,并完成较好的演示性。之后,把程序移植机载PC上,Voyager机器人就变成了完全自主的机器人。这种调试方法,去除了用户在机载PC开发的种种不方便。2)智能化与远程监控相结合由于现在机器人智能化受到传感器与智能算法的限制,尽管在某些方面机器人智能化已经超过人类,但在大多数方面还是远不如人类的慧。因此,更多的环境下是在机器人智能化的基础上引入人类的智慧,在适当的时候可以对机器人进行远程监控。3)增强机器人的智能化水平由于机载PC受到功耗、重量、体积等限制,其运算能力有限。对于一些大型的智能化算法无法实现,这样就需要一台在用户层增加一台高性能的计算机进行数据运算以实现高智能化算法的实现,提高机器人的智能化水平。机载PC机载PC是Voyager机器人的运算控制核心,主控计算机根据用户需求可以选配为高性能笔记本、工控计算机、嵌入计算机、普通PC,而配件有CCD摄像头、全景摄像机、二自由云台摄像机、麦克、音响以及各类接口等。2.2传感采集系统8轮式移动机器人路径规划2.2.1传感器电路板丝印图12点方向的超声波传感器及红外传感器接口号为24#,顺时针方向为1、2、3、4、5如图2-2所示。图2-2传感器主板丝印图2.2.2电源输入以及简单保护电路VOYAGERII传感器主板电源输入如图3-3,由两针接口POWER输入之后分成两路,一路经过可恢复保险管与TVS管(用于反接与过压保护)为传感器系统提供24电源,另一路直接为PC提供电源。其中LED01与LED02分别是传感器系统与PC系统电源指示灯。如图2-3所示。9轮式移动机器人路径规划图2-3电源输入以及简单保护电路2.2.3电源电路VOYAGERII为了使系统更加可靠,通过DC/DC模块实现功率电源与逻辑电源相互隔离。其中传感器主板需要三组电原,超声声纳供电电源+12V,逻辑供电电源+5V,以及功率电路中的+5V电源(用+5P表示)。如图2-4所示。原理图上设计的12V稳压电路是使用的VICOR的DC/DC2412,100W,如图3-4。由于超声声纳最多选配为24个,每一个超声声纳静态工作电流55mA,超声声纳系统静态工作电流为24*55=1320mA,而一个超声声纳使能测距,电流为2A,而系统设计一次同时使能两个超声声纳即4A电流。据此系统12V的功耗最大电流不会超过6A,即最大功耗为72W,因此选取用了VICOR-100W的DC/DC模块。10轮式移动机器人路径规划图2-412V电源电路VICOR原理图上设计的5V稳压电路是使用的VICOR的DC/DC2405,50W。其主为红外传感器、陀螺仪传感器以及其数字逻辑电路供电,而红外传感器工作最大电流为50mA,最多选配8个,即8*50mA=400mA,陀螺仪功耗小于100mA,而其它数字逻辑电路功耗很小,不过1A,所以系统逻辑5V功耗肯定小于2A,但考虑用户扩展设备的可能存在需求,采用的50W电源模块,为用户预留了至少25W的5V电源。如图2-5所示。图2-55V电源电路VICOR2.2.4部分电源保护电路为了便于用户扩展,各扩展卡的每一路电源以有信号都进行可靠的保护,即使用出现把短路、接反、信号混乱也不会导致整个系统崩溃。如图2-6。11轮式移动机器人路径规划图2-6部分电源保护电路2.2.5红外传感器输入接口传感器供电为5V,HY_OUT,如图2-7。图2-7红外传感器输入接口2.2.6超声声纳输入接口传感器主板上有24路超声声纳接口,其接口定义如图3-6。其中:a)POWER、GND是12V供电接口;b)Echo_OUT是超声声纳回波信号输出;c)INT_IN是超声声纳使能输入;如图2-8。图2-8超声声纳输入接口电路2.3UP-VOYAGERII的扩展能力12轮式移动机器人路径规划2.3.1类PCI扩展卡VOYAGERII有2个类PCI扩展卡,其接口定义如图39,封装为标准确的PCI插槽,示意如图3-10。其中具体定义如下:a)POWER为动力供电电源2030V;b)+5_P、GND为功率电路的5V供电电源;c)LVCC、LGND为逻辑电路的5V供电电源;d)485RA、485RB、485TA、485TB为PC的485总线;注:请勿把LGND与GND有电气连,否则可能导致系统的稳定性下降。类PCI扩展卡由于其采用标准的电脑PCI卡的封闭形式,便于用户开发新通用性的扩展性设备,并且有一定的互易性。图2-9VOYAGER类PCI接口定义13轮式移动机器人路径规划图2-10VOYAGER类PCI接口封闭示意2.3.2模块扩展接口电路VOYAGERII的模块扩展板的接口定义如图3-11,封闭示意如图3-12,具体定义如下:a)+5为逻辑5V供电,+5P为5V功率供电,+12为12V供电,GND为5V/12V地;+24为电池电源24V28V,BATGND为电池地;b)RA/RB为模块485总线接收正/负逻辑,TA/TB为模块485总线发送正/负逻辑。SDA/SCL为扩展总线,可直接用做I2C总线。用户可根据提供的封装图及接口协议扩展新的模块,在主板上一共有9个扩展接口,电气性质完全相同,可随意使用。如果用户的PCB大于50mm*50mm,可合并2-8个模块的空间。图2-11模块扩展接口电路14轮式移动机器人路径规划图2-12模块扩展接口电路封装及接口定义2.4UP-VOYAGERII各种扩展卡简介2.4.1运动控制卡1)主控制器选器:嵌入式CPU的选择上,本课题考虑了DSP方案和ARM方案。TI的C2000系列DSP适用于工业控制,集成外设十分丰富,可靠性和运算能力均较高,专用的CCS集成开发环境也十分方便;但封装形式面积较大,不太适合于微小型化,另外15轮式移动机器人路径规划功耗约为200mA3.3V。ARM方案中选中的是PHILIPS公司的LPC2129(如图2.2),它基于ARM7TDMIS内核,采用了128bit宽度的内部总线访问程序Flash,实际速度比一般的ARM7核CPU要快,集成的外设也比较丰富,此外LPC2129的封装形式较小,并且功耗仅为C2000系列DSP的一半。2)部分原理图图2-13部分原理图(1)LPC2129主要任务有:a)读取24位AD芯片ADS1256的SPI总线数据,并做FIR数字滤波得到角度信息;b)读取罗盘HMR3100方向信息,并作FIR数字滤波得到现在的方向信息;16轮式移动机器人路径规划c)读取左右驱动器的运动距离信息d)角度信息、方向信息与运动距离信息做卡尔曼滤波融合为现在运动状信息;e)根据现在的运动状态信息进行PID运算法,得到左右电机差速信息;f)控制UART0,向左右驱动器各发送速度信息;g)中断监听RS485总线的控制信息,并做出相应的响应;图2-14LPC2129部分原理图(2)由于陀螺输出信号为模拟信号,在此采用24位AD芯片ADS1256对信号进行采集,为了提高采集精度,使用高稳定性能电源芯片REF195、REF192,为陀螺、17轮式移动机器人路径规划AD采集芯片提供高精度的电源与参考电平。图2-15LPC2129部分原理图(3)由于ARM7只有两个串口,无法满足系统多串口通讯的要求,因此采用74AC153、74AC139进行数据选择实现1个串口扩展四个串口,以实现控制多个RS232协议的驱动器。3)程序基本流程图:18轮式移动机器人路径规划图2-16LPC2129基本流程图2.4.2超声红外的基本工作原理信息处理电路主控制芯片为AVR系列单片机Mega16,其通过8路锁存器芯片74HC573分时使能24超声声纳,每次使能一个;同时扫描红外传感器输出;接收到超声波的反射信号后停止计时器,将超声波的反射时间简单计算后存入缓冲区,在接收到PC查询指令后通过RS485总线转RS232总线反馈给机载PC。19轮式移动机器人路径规划图2-17超声声纳/红外信息处理电路程序基本流程图:20轮式移动机器人路径规划图2-18超声红外基本流程图2.5罗盘扩展板处理电路(1)基本工作原理:在接收到PC查询指令后读取罗盘数据,并按标准协议发送到PC。21轮式移动机器人路径规划图2-19罗盘扩展板处理电路(2)程序基本流程图:图2-19罗盘基本流程图2.6RS485RS232转换电路(1)基本工作原理:22轮式移动机器人路径规划通过MAX491将+12V7V的RS485差分电平转化为05V的CMOS电平,然后通过MAX232将CMOS电平转化为PC的+12V7V的RS232电平,实现PC与模块设备的通信。图2-20RS485RS232转换电路图2.7本章小结本章介绍了机器人的基本控制系统,把控制系统分为几个部分,传感采集系统,RS485RS232转换电路,罗盘扩展板处理电路,各种扩展卡及其扩展能力并结合各个控制电路的电路图和流程图等做了详细的说明。23轮式移动机器人路径规划第三章UP-Voyager机器人的机械结构3.1机器人的总体结构图3-1机器人的总体结构图24轮式移动机器人路径规划机器人的主要尺寸如图3-2所示:图3-2机器人主要尺寸图3.2机器人行走机构包含运动部分伺服驱动(电机、减速器、编码器、轮子或履带),提供基本的运动功能,提供的接口为12针航空插头,包含了电机引线及编码器信号。如图3-3所示。25轮式移动机器人路径规划图3-3机器人行走机构结构图机器人运动底盘主要由两个橡胶轮、两个电机(包括减速器与编码盘)和安装平板三部分组成。其中具体参数如下:表3-1行走机构具体参数序号行走机构具体参数1橡胶轮直径210mm2安装平台(长,宽,厚)310*198*6mm3电机减速比1:054增量式编码盘500线或1000线伺服电机及同轴安装的行星齿轮减速器安装到U型机架上,电机的转动通过一对1:1的渐开线齿轮传递到输出轴及橡胶轮胎上。这里1:1的齿轮组作用是将电机动力输出轴平移,以使两台对称的电机能够紧凑地安装在机器人上。为了和轮履复合式运动模块的机械接口兼容,轮式运动模块通过铝合金适配板与悬挂系统连接。3.3机器人的悬挂机构UP-Voyager通过弹性悬挂来提高机体的抗冲击能力。通过弹簧片的变形来吸收冲击。作用在轮子或履带的冲击造成悬挂机构的弹性形变,悬挂机构通过深沟球轴承与机体刚性连接。26轮式移动机器人路径规划图3-4悬挂机构图试验机器人悬挂机构简单而可靠。实际使用中,能吸收例如地面沟坎、碎石、高速对墙面的撞击能量,保护机器人不受损坏。但是该悬挂机构也会造成机器人整体结构刚度下降,且会导致轮子或履带与地面接触面积减少,降低摩擦力。因此根据实际情况需要,可去掉弹簧片,改为刚性连接。3.4机器人电源及驱动模块电池及驱动模块包含箱体、充电电池,电源管理及保护系统,以及相应的指示灯和充电器。这个模块是机器人的动力来源,内置电池提供24V直流电,用以供给驱动行走机构的电机和其他模块,如传感器模块、计算机模块等。同时,计算机发出的运动控制指令通过RS485总线传送到这个模块内的电机控制器,控制电机完成指定动作,并把编码器的信息反馈给上层的计算机以供处理。27轮式移动机器人路径规划图3-5电源及驱动模块箱体图图3-6机器人开关面板图开关面板及指示面板电气定义如表3-2所示。表3-2开关面板及指示面板电气定义控制单元单元状态各单元作用交流输入口220V,50Hz电源总开关打开系统上电正常工作关闭电源关闭,待充电模式系统电压显示显示系统工作或是工作时的系统电压充电输入口只能接系统专用充电器并且只有在总电源开关断开时充电模式才有效系统指示1系统供电指示灯2系统充电指示灯28轮式移动机器人路径规划3系统电量不足指示4外接交流电源指示系统控制开关1交流电源输出开关2保留电机航插接口:图3-7电机航插接口电机航插电气接口定义如下:表3-3电机航插电气接口定义序号信号定义注示航插序号1EncoderA码盘A通道信号12EncoderB码盘B通道信号33VCC码盘供电+5V74GND码盘供电地线105MOTOR+电机正116MOTOR-电机负1225针D型头的外形和序号如图3-8所示:图3-825针D型头29轮式移动机器人路径规划其电气接口定义如下:表3-425针D型头电气接口定义序号信号定义注示25针D型头序号124V电源供电24V正1-52GND电源供电地线6-103NC悬空114PXD-PCPC的RS232接受端125TXD-PCPC的RS232发送端136NC悬空147GND-PC信号地158GND-LR信号地169RXD_L左电机驱动器RS232接收端1710TXD_L左电机驱动器RS232发送端1811RXD_R右电机驱动器RS232接收端1912RXD_R右电机驱动器RS232发送端2013485TARS485总线TA2114485TBRS485总线TB2215485RARS485总线RA2316485RBRS485总线RB243.5机器人传感器模块传感器模块包含壳体、光电开关传感器、超声声纳、传感器信号处理主板、GPS接收机、1-3轴电子罗盘、加速度传感器及摄像机信号处理模块。具备24电源接口及针数据总线口。基本底盘通过4个螺栓与传感器模块固定,电气连接包括两个接口:1个DB9-9针数据总线接口,1个24V电源输出(2芯航空插头)。连接关系如图2.8所示。因此基本底盘与传感器模块之间机械连接仅为4个螺栓,电气连接为2个插头。30轮式移动机器人路径规划图3-9传感器模块图3.6搭载计算机设备模块图3-10搭载计算机设备模块图31轮式移动机器人路径规划3.7本章小结本章介绍了机器人的机械结构部分,由于实验用机器人在设计之初就采用模块化的设计理念,所以在本章中将机器人各个模块如机器人行走机构,搭载计算机设备模块,机器人传感器模块,机器人电源及驱动模块,机器人的悬挂机构细化出来并进行说明。针对有些插口也用图和表格结合的形式作了介绍。32轮式移动机器人路径规划第四章机器人路径规划的实现4.1路径规划实现过程根据机器人实验条件,本课题机器人路径程序代码是在PC环境下编写,本课题用VC+来实现机器人的路径规划。通过课题任务内容,首先要解决代码与机器人的连接问题,也就是如何实现代码与机器人的行动单元的对接。微软为客户事先提供了许多的类都封装好了,在需要时只需调用这些已经封装好的类就可以了。4.1.1各基类的物理意义(1)IPhy是物理抽象类,规范物理层的基本接口。它包括如下成员函数:SetCmd设置指令类对象Send发送指令的标准接口(2)CVoyCmd协议解析类SetBothMotorsSpeed同时发送左右两侧电机速度SetLMotorSpeed发送左侧电机速度SetRMotorSpeed发送右侧电机速度Brake刹车AutoQueryUSonic自动查询超声传感器信息QueryUltrasonicSensor单次查询超声传感器信息AutoQueryInfraRed自动查询红外传感器信息QueryInfrared单次查询红外传感器信息AutoQueryCompas自动查询罗盘信息QueryCompass单次查询罗盘信息Demarcate陀螺仪的标定CircleByGyro带姿态纠正的原地转向(必须安装陀螺仪)SpeedByGyro带姿态纠正的直行(必须安装陀螺仪)Kick激活射球动作ShowSensor将传感器信息显示在控件上SetBehavior设置机器人行为对象33轮式移动机器人路径规划Parse硬件层传递数据的入口(3)IBehavior行为抽象类SetCmd设置指令解析层对象AfterUpdateInfrared红外传感器信息更新后的处理函数AfterUpdateUSonic超声传感器信息更新后的处理函数AfterUpdateVideoSample主前视摄像装置图像更新后的处理函数AfterUpdateOverlook全局摄像装置图像更新后的处理函数AfterSendCommand发送控制指令后的处理函数(4)CCaptureVideo视频捕捉类SetPosID设置视频设备位置编号(以便于行为调用)EnumDevices枚举视频捕捉设备并显示在ListBox控件中Create创建视频流Graph并开始视频捕捉显示Stop停止视频流的捕捉动作GrabOneFrame截获当前图像保存为静态图片SetCmd设置指令解析层对象指针SetFileDir指定捕获的文件存放目录ConnectTo连接到远程端并发送视频图像数据(5)CSampleGrabberCB视频流截取类BufferCB视频流图像更新回调函数SaveBitmap保存当前画面到图片文件DisplayCapturedBits显示图像数据到界面控件(6)CPieSensor超声与红外传感器图形显示类SetBitmap设置显示图形元素UpdateUntrasonic更新超声传感器数据及显示UpdateInfrared更新红外传感器数据及显示InitSensor初始化控件状态ReleaseUltrasonic释放超声传感器信息数组ReleaseInfrared释放红外传感器信息数组CalPoint计算显示坐标点OnPaint自绘函数,对控件的绘制工作34轮式移动机器人路径规划(7)CCompasee电子罗盘数据显示控件Init控件的初始化Update更新电子罗盘数据CalPoint计算指针位置坐标OnPaint自绘函数,绘制控件显示内容ImageBuf设定待处理图像像素数组指针和相关信息SetParam设置筛选阀值范围FindSplash根据阀值范围筛选像素GetColor获取图像某一点的像素数据SetColor设置图像某一点的像素颜色DrawFocus在显示图像上绘制焦点坐标(8)CNetCmt网络接收类Listen网络监听函数Close关闭网络监听AferConnect监听到网络连接处理函数AfterReceived接收到数据后的处理函数GetHostIP获取主机自身IPSetMainWin设置主窗体GetClientList获取已连接的远程客户端IP信息列表m_Parse解析接收到的数据m_Control根据接收到的操作代码进行相关操作(9)CNetSend网络发送类ConnectTo连接到远程监听端Send向已连接的远程端发送数据Close关闭已存在的连接isConnecting查询是否已连接到远程端(10)其他类CCatchingIBehavior子类CDemoIBehavior子类CFindingIBehavior子类35轮式移动机器人路径规划4.1.2VC+MFC编程本课题是基于VC+的MFC编程的,为了建立一个机器人的控制界面首先应该在VC+编译界面中创建一个工程。按照点击左上角菜单项“文件”“新建”选择MFCAppWizard输入工程名:VoyTest确定,的顺序创建出如图4-1的界面。图4-1为了能和机器人实现对接功能,首先要完成界面与机器人的对接,这步工作我为“打开串口”功能建立一个编辑框与按钮,编辑框用于输入串口号,按钮用于启动串口程序。如图4-2图4-2鼠标右击该按钮,在弹出的菜单里选择“属性”,即可以修改该按钮控件的资源ID和显示文字,因为后面需要为这个按钮映射出一个函数,所以这里最好将资源ID修改为容易识别而没有其他重复的单词,这里改为“IDC_OPEN”。然后再将编辑框按照上边步骤将其资源ID改为“IDC_PORT”。如图4-3,图4-4,图4-5所示。36轮式移动机器人路径规划图4-3图4-4图4-5再下一步需要为它映射一个变量,记录输入的串口号。Windows的窗体程序的交互是基于消息映射机制,比如本课题的编辑框可以映射一个变量,在编辑框里输入数据后,这个数据可以传递到映射变量中;而控制界面的按钮可以映射出一个函数,当在运行的窗体点击这个按钮时,相应的映射函数就被执行。映射变量的添加在类向导里进行,点击菜单栏的“察看”,选择“建立类向导”在类向导里,选择MemberVariables选项卡。找到刚才定义的编辑框ID:IDC_PORT。点击右侧的AddVariable37轮式移动机器人路径规划按钮,为其映射一个UINT或者int类型的变量,这里的变量名定为m_nPort。如图4-6。图4-6至于按钮的映射函数添加较为方便,只需要在资源预览中双击按钮控件,便会弹出一个AddMemberFunction的对话框。这里使用默认的函数名OnOpen,点击OK进入函数体内编写响应函数。这里先用UpdateData函数从编辑框获取m_nPort的值,然后再在响应函数体里写上下列代码m_Com.SetCmd(/协议层与通讯层对接BOOLopen=m_Com.Create(m_nPort);/打开通讯串口if(open=TRUE)AfxMessageBox(串口打开成功!);elseAfxMessageBox(串口打开失败!);38轮式移动机器人路径规划代码中的m_Cmd是一个对象,为了能让协议层和通讯层真正对接还需在控制界面的头文件中写上CSerialComm_Com;/硬件层串口对象CVoyCmdm_Cmd;/协议类对象接下来该用已经写好的串口通信来控制机器人的运动,建立五个按钮分别对应机器人前进,后退,左转,右转,刹车等动作。如图4-7。图4-7在各个函数体中分别写上m_Cmd.SetBothMotorsSpeed(100,100)./前行m_Cmd.SetBothMotorsSpeed(-100,-100)./后退m_Cmd.SetBothMotorsSpeed(-100,100)./左转m_Cmd.SetBothMotorsSpeed(100,-100)./右转m_Cmd.Brake(1)./刹车虽然上写了代码但是代码中的成员函数还不能被计算机所识别,原因在于还没有在工程中加人成员函数所属的行为类,所以需要把响应的行为类文件拷贝到工程错在的目录下并按图中所示将相应的文件添加到工程中。如图4-8。39轮式移动机器人路径规划图4-8完成上述操作后,还需在本控制窗口的头文件中包含已经加载到工程的类文件也就是加入如下代码:#includeSerialCom.h#includeVoyCmd.h#includeDemo.h基本行为逻辑已经实现,按照课题要求需要让机器人实现简单的避障功能,实现避障就要用到各种传感器。在本课题中只用超声传感器来为机器人避障提供环境信息。按照上边的操作再绘制几个按钮和编辑框。如图4-9。40轮式移动机器人路径规划图4-9在超声的激活按钮的函数体中写入下列代

温馨提示

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

评论

0/150

提交评论