文档从网络中收集,已重新整理排版.word版本可编辑.欢迎下载支持.扫地机器人的设计与实现内容摘要:随着人类发展和社会进步,智能化在现实生活中的应用越来越广泛。
本文阐述了扫地机器人在无人操控的情况下完成清扫具有桌子﹑椅子﹑饮水机和茶几的室内地面的任务。
本设计由控制模块、感知模块、移动模块、清洁模块四大模块组成。
控制模块由控制器部分和电源部分构成,是整个设计的中心。
感知模块要运用到传感器,常用的传感器有感应式传感器﹑电容式传感器﹑超声波传感器﹑红外光反射传感器﹑碰撞传感器和感光传感器。
移动模块一般用到的结构包括步进式﹑轮式和履带式及其他方式,轮式和履带式结构一般用于平滑的地面,而步进式则适合在路况较差的地面上运动。
清洁模块包括吸尘装置﹑清扫装置,吸尘装置可以吸附地面上较小的垃圾以及灰尘,清扫刷可以除去地面上的顽固污渍。
小车采用智能控制技术,按照规定路线在室内行驶,具有自动发现垃圾并清洁地面的功能。
基于AT89C51单片机和C语言小车能够实现预期的功能。
关键字:感知移动清洁目录1.概述..............................................................................................................1.1设计目的和设计要求 ........................................................................1.2设计构思 ............................................................................................2.设计原理及方案 .........................................................................................2.1模块设计 ............................................................................................2.2工作流程 ............................................................................................2.3路径规划研究 .....................................................................................2.4路径的实现——内螺旋算法 ............................................................3.实验及其结果 ..............................................................................................4.总结与心得体会.......................................................................................... 参考文献..........................................................................................................扫地机器人的设计与实现2.设计原理及方案2.1模块设计扫地机器人由各功能模块构成,各功能模块相互协调,共同作用,保证机器人的顺利工作。
扫地机器人的中心是控制模块,使用了AT89C51单片机,它对其他各功能模块进行控制。
移动模块负责行走,由驱动电机,驱动轮和万向轮组成,因房间地面平滑,故采用轮式结构。
感知模块负责采集周围环境的各种信息。
感知模块由传感器构成,传感器的选择取决于机器人的工作需要,机器人对传感器的一般要求是:精度高,可重复使用,稳定性好,不受外界干扰干扰,质量和体积小。
综合这几点,同时考虑到机器人对避障和清扫任务的要求,感知模块决定采用超声波传感器、红外线传感器。
清洁模块由起尘刷、挡尘盖、清扫电机、清扫刷、集尘室和吸尘风机组成,由于客观条件的限制,没有安装洒水装置和擦地装置。
图一和图二为机械结构图。
图一图二2.2工作流程①首先启动机器人,令其开始进行工作。
②机器人开始工作后便控制吸尘装置进行吸尘,清扫装置开始扫地。
③机器人一旦开始工作,感知模块就开始不停地搜集周围的信息,送入控制模块进行分析处理从而决定机器人的行走路径。
④当路径规划需要机器人实现转向的时候,控制模块便改变两轮的速度,通过速度差来实现转向。
该扫地机器人利用安装的传感器获得房间内部的基本信息,例如障碍物的位置,墙壁的位置,然后根据获得的信息,采取相应的措施,通过以单片机为核心的控制模块进行障碍物的判断、避障方式选择和前进的实施。
2.3路径规划研究所谓机器人路径规划技术,就是机器人根据自身的传感器对环境的感知,按照某种优化指标,在起点和终点之间规划出一条与障碍物无碰撞的路径。
路径规划可分为两类,一种是传统的从起点到终点的路径规划,它的目标是找到一种两点间的最优路径,其中包括路程最短,耗时最少,耗能节约等方面,并且使机器人能正常运行并避开障碍物;另一种是完全遍历路径规划,这是一种在平面工作范围中特殊的路径规划,指在满足某种前提下,找到一条在设定区域内从起点到终点且经过所有可达到点的连续路径。
对于扫地机器人来说,由于它要将整个房间清扫干净,这就要求它要走遍房间的每一个角落,所以这与一般的移动机器人路径规划不同,它要按照一定的轨迹来运动,同时具有运动的遍历性和不重复性。
遍历性指的是机器人要尽可能地走遍所有需要清扫的区域。
它反映了机器人的实效性。
不重复性指的是机器人的行走路线应尽量避免重复。
它反映了机器人的工作效率的高低。
同时我们希望路径是连续的、不间断的;机器人能避开所有障碍;清洁机器人行走的总距离和时间最小,以达到最小的能量消耗。
在本设计中,我采用的是完全遍历路径规划,机器人不必去探测垃圾的具体位置,只需走遍房间的每个角落即可,发现有垃圾便清洁即可。
2.4路径的实现——内螺旋算法内螺旋算法是让机器人沿墙壁移动,进行内螺旋式“回”字型路径规划,内收缩式的清扫,如图三。
图中箭头表示前进方向,直线表示行进路线。
在清扫过程中遇到障碍物时,清洁机器人的正常轨迹就会中断,进入绕障碍的程序,绕障结束后回归原来的轨迹。
同时清洁的轨迹需要依据一定的规则来限定。
本路径规划易于实现较大的覆盖率。
这种方法简单,满足了遍历性和不重复性的要求。
在整个行进过程中,机器人是从外向内运动的。
机器人的初始位置是靠墙的。
自起点开始,采用“回”字型内螺旋式进行清扫,沿顺时针方向绕房间沿墙行走,每转一周与墙边距离增加一个车身的宽度,直至走到房间中心,机器人在每一周的直线运行过程中要保持与墙不变的距离,当遇到障碍物时就绕过障碍物。
具体流程如图四图三 内 螺 旋 算 法 示 意 图否是否图四 内螺旋方式流程图 是开始 按照“回”字型内螺旋方式进行清扫是否遇到障碍物 绕开障碍物是否清扫完所有区域3.实验及其结果为了验证方案的可行性,选择一个房间进行实验,检验机器人是否能按照预先规划好的路径行走且能够成功避障直到完成清扫任务。
同时,通过实验,对机器人的硬件结构,系统电路和控制程序的正确性做进一步验证。
机器人在走直线和转弯时均有一定偏差,此外还有漏扫的情况,经分析和处理后机器人基本可以完成任务。
4.总结与心得体会在这次设计中,我亲自动手制作了机器人,令其完成清洁工作看似是一件容易的事情,但是实际的过程中遇到了很多麻烦。
对于出现的各种情况,我采取了相应的办法。
首先要考虑的就是机器人应该分成哪几个部分,扫地只是它的功能,为此则需要多个模块来共同实现,首先要有清扫工具,,移动依靠轮子,为了避免撞到墙壁和障碍物则需要传感器做出感应,所有这一切都需要控制器的统一协调和安排。
在考虑路径规划时,我查阅了一些资料,其中包括自由空间法,栅格法等,但是这些方法要么需要较大的内存空间,要么对传感器的要求非常高,或者有一些其他的要求,这些要求客观上都不太容易满足,权衡各方面因素,我最终选择了内螺旋法。
在实验的过程中,机器人在走直线的时候存在偏差,在程序中设置的两个轮子理想的行驶速度是一致的,但是两个轮子的大小不可能完全一样,电机的驱动可能也稍有差别。
机器人在转弯的时候不能达到90度,这与硬件有关,可能也受到地面摩擦的影响,我不断调整两轮速度大小以及持续时间从而达到理想的效果。
地面上的某些区域是机器人没有能够清扫到的,我发现机器人离障碍还有较远的距离时就开始躲避障碍,这应该是传感器感知障碍的距离的设置有问题,将距离适当设小一些就能让机器人基本上清扫到所能清扫的所有区域。
另外,程序本身也有一定问题,机器人显得不够灵活,应该是各个模块之间的协同性不够好,经过反复调试,各个模块之间可以较好的配合。
机器人在改进后基本上能达到了预期的实验效果。
通过实验我明白了理论和实际是有偏差的,设计程序时要考虑到硬件和客观环境这些因素的影响。
这次实验是让我把理论知识勇于实践当中,考验了我的动手能力。
参考文献[1] 罗志增,蒋静坪,机器人感觉与多信息融合,机械工业出版社,2002[2] 徐德,谭民,李源,机器人视觉测量与控制,国防工业出版社,2011[3] 赵小川,机器人技术创意设计,北京航空航天大学出版社,2013[4] John Blankenship,Samuel Mishal,机器人编程设计与实现,科学出版社,2010。