运用计算机仿真技术对泳池清洁机器人进行优化

描述

计算机仿真计算机仿真是应用电子计算机对系统的结构、功能和行为以及参与系统控制的人的思维过程和行为进行动态性比较逼真的模仿。它是一种描述性技术,是一种定量分析方法。通过建立某一过程和某一系统的模式,来描述该过程或该系统,然后用一系列有目的、有条件的计算机仿真实验来刻画系统的特征,从而得出数量指标,为决策者提供有关这一过程或系统得定量分析结果,作为决策的理论依据。仿真是对现实系统的某一层次抽象属性的模仿。人们利用这样的模型进行试验,从中得到所需的信息,然后帮助人们对现实世界的某一层次的问题做出决策。仿真是一个相对概念,任何逼真的仿真都只能是对真实系统某些属性的逼近。仿真是有层次的,既要针对所欲处理的客观系统的问题,又要针对提出处理者的需求层次,否则很难评价一个仿真系统的优劣。仿真技术的应用领域及其作用越来越大,在复杂系统的研制开发过程中,计算机仿真是一种必不可少的工具,并在减少损失、节约经费、缩短开发周期、提高质量等方面发挥了巨大作用。因此,在泳池清洁机器人的设计过程中,运用计算机仿真技术对路径规划算法和机体主要参数的选择进行了探索与尝试。

1 泳池清洁机器人的功能与需要优化问题

我国是缺水型国家,如何保护、利用好水资源是无法回避的问题。本文研究的泳池清洁机器人是一种高效的水下清洁设备,主要用于清洁游泳池底部及水中的污物。该机器人用程序控制,在无人看管的情况下,自动对泳池的底部进行刷洗,同时对池水进行持续、细致的过滤;除去水中的沉淀物及细菌;保持池水的清洁与卫生;延长更换池水的时间;从而达到既减轻了繁重的体力劳动、又节约了宝贵水资源的目的。智能清扫机器人1、扫地省时、省力:整个清洁过程不需要人控制,减轻您操作负担,省下时间看电视、陪家人。2、低噪音:小于50分贝,清洁房间的过程免受噪音之苦。3、净化空气:内置活性碳、吸附空气中有害物质。4、轻便小巧:轻松打扫普通吸尘器清理不到的死角。

泳池清洁机器人主要由以下几部分构成:机械本体、移动机构、传感器定位及控制机构、清洁机构等。根据模块化的设计组织模式,划分为的子系统如图1所示。

仿真

(1)行走子系统:该系统确定机器人的行走方式、驱动方式和行走控制系统。(2)感知子系统:主要实现机器人在水下的位置检测功能,通过各种传感器反馈的信息,确定机器人在水下的方位数据,以便按照路径规划算法得出的路径来控制机器人的行程,从而实现较高的清洁效率。(3)控制子系统:该系统是泳池清洁机器人的核心部分,统一考虑所有动作的协调和单片机控制机器人行走路线的方式、停靠方式、故障报警和电源状况等。(4)清洁子系统:实现机器人在行走的过程中用刷子洗刷泳池的底部,同时将污水吸入过滤箱、将污物收集到过滤箱中。

对于清洁机器人来说,由于要完成的是将整个泳池区域清扫干净,这就要求它将泳池的每一个地方都要走到。所以这与一般的移动机器人路径规划不同,它需要按照一定的轨迹来运动,同时具有运动的遍历性和不重复性。遍历性是指清洁机器人要尽可能的走遍所有需要清扫的区域,可直接反映机器人的清洁效果;不重复性是指清洁机器人的行走路线应尽量避免重复,反映了机器人的清洁效率。基于以上原因,首先要解决清洁机器人的路径规划问题,其次要兼顾机器人的大小问题,以上2个因素直接影响到清洁机器人的清洁效率和清洁效果。通过分析比较,选定了2种路径规划算法进行比较:(1)内螺旋型算法,即让机器人沿着池壁的边界移动,进行内螺旋式"回"字型路径移动;(2)"S"型算法,即让机器人沿着池壁的边界进行"S"型路径移动。选定了2种大小的机器人进行比较,机器人边长分别为0.4m和0.6m.

2 仿真程序的设计与实现

清洁机器人常用的路径规划算法大都基于栅格地图,因此本仿真程序也采用了栅格地图作为环境模型。仿真程序采用WindowsXP操作系统下的VS.NET编译环境,采用C语言面向对象的编程方式。C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。C语言是一种成功的系统描述语言,用C语言开发的UNIX操作系统就是一个成功的范例;同时C语言又是一种通用的程序设计语言,在国际上广泛流行。世界上很多着名的计算公司都成功的开发了不同版本的C语言,很多优秀的应用程序也都使用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类是一个抽象的类,包括有机器人当前坐标、传感器的探测范围等。

仿真程序考虑到了"误差"问题。对于泳池清洁机器人而言,"误差"主要于两个方面,即距离传感器产生的探测误差和车轮与池底的滑动而产生的误差。基于以上原因,仿真程序引入了"误差"变量。假定当"误差"设定为+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"型算法相比具有的优点如下:清洁行程较短,理论上减少了转弯的次数、减少了能耗、提高了清洁效率。

在泳池清洁机器人的研究和开发过程中,实验是一个非常重要的环节。但是,直接构造实体移动机器人系统用于反复实验不仅价格昂贵、所需的时间也较长,同时不成熟的算法在实验中可能会对机器人本体造成损坏。而通过计算机仿真程序来模拟移动机器人、工作环境以及执行任务的过程,甚至不需要硬件环境,就可以初步验证控制算法、策略的正确性和有效性,对优化选择泳池清洁机器人的路径规划算法和机体主要参数起到了重要作用。展望21世纪机器人将是一个与20世纪计算机的普及一样,会深入地应用到各个领域,所以很多专家预测,在21世纪的前20年是机器人从制造业走向非制造业的发展一个重要时期,也是智能机器人发展的一个关键时期,目前国际上很多国家,也对机器人对人类社会的影响的估计提出了新的认识,同时,我们也可以看到机器人技术,涉及到多个学科,机械、电工、自动控制、计算机测量、人工智能、传感技术等等,它是一个国家高技术实力的一个重要标准。



  :

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分