《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 运用仿真技术优化泳池清洁机器人的路径规划设计
运用仿真技术优化泳池清洁机器人的路径规划设计
熊 伟,周国烛
(北京电子科技职业学院,北京 100028)
摘要: 在泳池清洁机器人的设计过程中,为优化路径规划设计,提出了运用计算机仿真程序模拟工作环境进行仿真实验的方法,并对仿真结果进行了详细的对比分析,为研究和设计移动机器人路径规划提供一定的帮助。
Abstract:
Key words :

摘  要: 在泳池清洁机器人的设计过程中,为优化路径规划设计,提出了运用计算机仿真程序模拟工作环境进行仿真实验的方法,并对仿真结果进行了详细的对比分析,为研究和设计移动机器人路径规划提供一定的帮助。
关键词: 仿真;优化;路径规划

  计算机仿真是一门利用计算机软件模拟真实环境进行科学实验的技术。仿真技术的应用领域及其作用越来越大,在复杂系统的研制开发过程中,计算机仿真是一种必不可少的工具,并在减少损失、节约经费、缩短开发周期、提高质量等方面发挥了巨大作用。因此,在泳池清洁机器人的设计过程中,运用计算机仿真技术对路径规划算法和机体主要参数的选择进行了探索与尝试。
1 泳池清洁机器人的功能与需要优化问题
  我国是缺水型国家,如何保护、利用好水资源是无法回避的问题。本文研究的泳池清洁机器人是一种高效的水下清洁设备,主要用于清洁游泳池底部及水中的污物。该机器人用程序控制,在无人看管的情况下,自动对泳池的底部进行刷洗,同时对池水进行持续、细致的过滤;除去水中的沉淀物及细菌;保持池水的清洁与卫生;延长更换池水的时间;从而达到既减轻了繁重的体力劳动、又节约了宝贵水资源的目的。
  泳池清洁机器人主要由以下几部分构成:机械本体、移动机构、传感器定位及控制机构、清洁机构等。根据模块化的设计组织模式,划分为的子系统如图1所示。

     (1)行走子系统:该系统确定机器人的行走方式、驱动方式和行走控制系统。(2)感知子系统:主要实现机器人在水下的位置检测功能,通过各种传感器反馈的信息,确定机器人在水下的方位数据,以便按照路径规划算法得出的路径来控制机器人的行程,从而实现较高的清洁效率。(3)控制子系统:该系统是泳池清洁机器人的核心部分,统一考虑所有动作的协调和单片机控制机器人行走路线的方式、停靠方式、故障报警和电源状况等。(4)清洁子系统:实现机器人在行走的过程中用刷子洗刷泳池的底部,同时将污水吸入过滤箱、将污物收集到过滤箱中。在综合考虑以上4个子系统的过程中,还要充分考虑机器人本体的结构设计,将各子系统有机结合在一起,而且要考虑密封、防腐与结构的合理性及应力分析。
     对于清洁机器人来说,由于要完成的是将整个泳池区域清扫干净,这就要求它将泳池的每一个地方都要走到。所以这与一般的移动机器人路径规划不同,它需要按照一定的轨迹来运动,同时具有运动的遍历性和不重复性。遍历性是指清洁机器人要尽可能的走遍所有需要清扫的区域,可直接反映机器人的清洁效果;不重复性是指清洁机器人的行走路线应尽量避免重复,反映了机器人的清洁效率。基于以上原因,首先要解决清洁机器人的路径规划问题,其次要兼顾机器人的大小问题,以上2个因素直接影响到清洁机器人的清洁效率和清洁效果。通过分析比较,选定了2种路径规划算法进行比较:(1)内螺旋型算法,即让机器人沿着池壁的边界移动,进行内螺旋式“回”字型路径移动;(2)“S”型算法,即让机器人沿着池壁的边界进行“S”型路径移动。选定了2种大小的机器人进行比较,机器人边长分别为0.4 m和0.6 m。
2 仿真程序的设计与实现
     清洁机器人常用的路径规划算法大都基于栅格地图,因此本仿真程序也采用了栅格地图作为环境模型。仿真程序采用WindowsXP操作系统下的VS.NET编译环境,采用C语言面向对象的编程方式。
  本程序中共有3个主要的类:Form类、Map类和Robot类,其中Form类代表窗体,Map类代表地图相关信息、Robot类代表机器人相关信息。Form类和Map类之间是一对多的普通关联;Map类和Robot类之间是一对一的双向关联,Form类和Robot类之间没有直接联系。Form类生成窗体对象,主要属性为:用(X0,Y0)表示地图的左下角在屏幕中的位置;Map_long、Map_width表示地图长和宽的格数;Path_type表示路径规划的方法,分为内螺旋式算法和“S”型算法。Map类生成地图对象,建立路径规划环境模型,用动态二维数组表示栅格地图的长和宽,每个栅格单元有坐标和类型2种信息属性,分别表示栅格具体位置和未清扫或已清扫区域。Robot类是一个抽象的类,包括有机器人当前坐标、传感器的探测范围等。所以Map类要依靠Form类生成初始池壁地图信息,Form类要根据Map类地图信息的改变对界面进行刷新,而Robot类要依赖Map类的信息来运动,同时Map类也要根据Robot类的反馈信息更新数据。
     仿真程序考虑到了“误差”问题。对于泳池清洁机器人而言,“误差”主要来源于两个方面,即距离传感器产生的探测误差和车轮与池底的滑动而产生的误差。基于以上原因,仿真程序引入了“误差”变量。假定当“误差”设定为+2%时,实际行走距离为理论行走距离的102%,当“误差”设定为-2%时,实际行走距离为理论行走距离的98%,以此来更加精确地模拟实际情况。
     仿真程序的界面中间的方格是矩形栅格表示的地图空间,下边是各种初始状态设置和工作控制区,主要分为:机器人设置、路径算法选择和运动控制。“显示结果”是在机器人清洁过程中,实时输出结果,包括清洁用时、清洁覆盖率、清洁重复率和未清扫率4项内容。
3 仿真实验结果与分析
     仿真图中浅灰色部分表示池壁,白色表示机器人清扫过的路径,灰色网格表示可清洁区域,深灰色代表机器人。这样就可以清楚地观察机器人的运动状况和运动效果。为了加快仿真程序的运行速度,适当加快了机器人的运行速度(加快60倍),因此仿真程序中的“清洁用时”并不是实际清洁用时。
     通过下面的因素进行评价:(1)观察路径是否满足要求;(2)相同泳池环境中不同的路径规划算法实验结果比较;(3)相同泳池环境中不同大小的机器人实验结果比较;(4)改变“误差”状态的实验结果比较。
3.1 相同环境中不同算法仿真结果及分析
     当清洁区域设定为25 m×12.5 m,机器人边长为0.6 m,对2种不同算法分别进行仿真实验,内螺旋算法仿真图如图2所示,“S”型算法仿真图如图3所示,仿真实验结果见表1。

  通过表1的对比数据可以看出:在理想状态下(没有误差时)内螺旋算法和“S”型算法均能实现100%的覆盖率,但是内螺旋算法比“S”型算法工作效率提高5.05%,清洁重复率降低46.2%。
  

  由此可见,内螺旋算法比“S”型算法优势明显,从而有效地提高了清洁效率。
3.2 相同环境中不同大小的机器人仿真结果分析
    当清洁区域设定为25 m×12.5 m,机器人边长分别设为0.4 m、0.6 m 2种,并对2种不同大小的机器人选用内螺旋算法分别进行了仿真实验。0.6 m边长的机器人仿真图如图4所示, 0.4 m边长的机器人仿真图如图5所示,仿真实验结果见表2。

  通过表2的对比数据可以看出:在理想状态下(没有误差时)都选用内螺旋算法,把机器人边长分别设为0.4 m、0.6 m,机器人均能实现100%的覆盖率。但是边长为0.4 m的机器人清洁重复率为0.99%;边长为0.6米的机器人清洁重复率为2.97%。在综合考虑清洁效率的前提下,虽然边长为0.6 m的机器人比边长为0.4 m的机器人清洁重复率上升了1.98%,但是工作效率提高31.88%。由此可见,将泳池清洁机器人的边长选定为0.6 m更加合适。
  

3.3 改变“误差”状态的实验结果及分析
  当清洁区域设定为25 m×12.5 m,机器人边长为0.6 m,“误差”为“0”和“-0.02”时,对内螺旋算法分别进行仿真实验,“误差”为“0”时的仿真实验图如图6所示,“误差”为“-0.02”时的仿真实验图如图7所示,实验结果见表3。

  当清洁区域设定为25 m×12.5 m,机器人边长为0.6 m,“误差”为“0”和“-0.02”时,对“S”型算法分别进行仿真实验,“误差”为“0”时的仿真实验图如图8所示,“误差”为“-0.02”时的仿真实验图如图9所示,实验结果见表4。

  通过对比可以看出:在相同的清洁环境下,不论有没有误差,内螺旋算法比“S”型算法有更高的覆盖率和更低的重复率,清洁用时也较短,可见内螺旋算法清洁效率是最高的。内螺旋算法与“S”型算法相比具有的优点如下:清洁行程较短,理论上减少了转弯的次数、减少了能耗、提高了清洁效率。
     在泳池清洁机器人的研究和开发过程中,实验是一个非常重要的环节。但是,直接构造实体移动机器人系统用于反复实验不仅价格昂贵、所需的时间也较长,同时不成熟的算法在实验中可能会对机器人本体造成损坏。而通过计算机仿真程序来模拟移动机器人、工作环境以及执行任务的过程,甚至不需要硬件环境,就可以初步验证控制算法、策略的正确性和有效性,对优化选择泳池清洁机器人的路径规划算法和机体主要参数起到了重要作用。
 

此内容为AET网站原创,未经授权禁止转载。