基于英语文本遥控的采摘集群机器人系统设计

2018-08-10 09:27
农机化研究 2018年11期
关键词:集群编程蚂蚁

赵 宏

(吉林师范大学,吉林 四平 136000)

0 引言

云计算是一种新的商业计算模型和服务模式,是分布式计算、并行计算、效用计算、网络存储、虚拟化及负载均衡等传统计算机和网络技术发展融合的产物。并行计算是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。随着云计算和并行计算技术的发展,机器人的集群控制成为可能,如果将机器人集群控制引入到采摘机器人的控制系统中,通过批量采摘机器人的作业控制,并采用基于英语文本遥控的编程技术,将大大提高采摘机器人的作业效率,提高作业质量。

1 英语文本程序遥控和采摘机器人集群系统

英语文本程序是机器人遥控程序中最常用的编程符号,特别是一些英文缩写,如RF表示射频,RLC表示在无线遥控系统链路中链路层的协议,RS一般表示遥感。英语文本在很多控制场合可以作为程序开发语言,特别是英语简写,占用内存小,容易实现,如一组PLC程序如下:

LPP

TON T37, 30

LDN Q0.4

TON T60, 30

LD I0.0

利用英语文本程序可以直接对程序中对应的名称进行定义,然后通过编程对各个功能部位进行控制,以黄瓜采摘机器人为例,图1为中国农业大学研制的一款黄瓜采摘机器人。

图1 黄瓜采摘机器人Fig.1 The cucumber picking robot

利用编程技术可以实现黄瓜采摘机器人远程和自动化控制,而程序采用英文文本编写,可以占用更少的内存,提高采摘机器人的控制效率,其控制过程如图2所示。英语文本程序包括英语缩写和功能代码,可以实现采摘机器人采摘作业的控制。在采摘机器人实际作业时,如果采用采摘机器人集群的方式,可以大大提高采摘机器人的作业效率。本研究将采用蚁群算法和英语文本编程的方式,测试该设计方案的可行性。

图2 基于英语文本的采摘机器人控制流程Fig.2 The control flow of picking robot based on English text

2 基于蚁群算法优化的采摘机器人集群系统

蚁群算法利用自适应反馈调节可以找到搜索目标的最佳路径;此外,蚁群算法还有另外的一些功能,如避开障碍物的能力和对环境的适应能力,即当蚂蚁的巢穴和食物之间存在障碍物时,蚂蚁群体可以顺利地避开障碍物,找到距离食物的最佳距离。在搜索过程中需要借助于多目标优化策略,从而实现群体的最优行为,其行为示意图如图3所示。

蚂蚁算法原理较为简单,主要是根据大量蚂蚁留下的信息素,选择避开障碍物又到实物最近的距离,其过程如图4所示。

图3 蚂蚁群体避障行为Fig.3 The avoiding obstacle behavior of ant colony

图4 蚁群算法基本流程图Fig.4 The basic flow chart of ant colony algorithm

该算法是基于自然中蚁群的觅食过程,路径选择具有随机性,每个蚂蚁在算法中独立存在,在进行算法优化时具有并行行为,因此在一定程度上要优于其他一些算法。

在蚂蚁寻找食物的过程中,距离食物最近的蚂蚁的信息元素多,评价算法效果的好坏可以用适应度函数来表示,如违背函数和资源利用函数。SLA违背函数为

(1)

其中,uCPU表示物理结点的CPU利用率,可以通过改变该值的门限值90%,降低违背率。当超过门限值时,fSLA会迅速地下降,该值越低,CPU的利用率越低,越不利于蚁群算法的实现。另外一个函数是资源利用函数,即

fresource(uCPU,umem,ubw)=uCPU·umem·ubw

(2)

其中,uCPU、umem、ubw表示物理结点上CPU、内存和网络带宽的利用率。资源利用函数反映了蚁群算法实现过程中各种资源的利用率,该值越大,说明越有利于蚁群算法的实现。蚁群算法在实现时,每只蚂蚁在完成一次循环后会形成信息素轨迹,信息素的浓度会影响蚂蚁的搜索路径。在搜索初期,信息素的浓度是相同的,在每次循环以后,在最优搜索路径上对信息素进行更新和加强,其更新的规则为

(3)

(4)

其中,allowedk=(1,2,…,n)-tabuk表示蚂蚁k下一次允许选择的虚拟机;α是信息启发式因子;β是能见度启发式因子;γiu是虚拟机i上的信息素强度;ηiu为能见度因数,其表达式为

(5)

其中,rCPU、rmem、rbw分别为虚拟机i请求的CPU、内存和网络带宽占主机结点u上相应资源的比例;ηiu为蚂蚁搜索虚拟机i的启发程度。为了提高计算资源的利用,提高采摘机器人群的控制效率,可以采用并行控制策略,发挥蚁群算法的集群控制效果。蚁群算法是典型的并行控制策略,在下节中,将采用英文文本编程的方法实现该算法,并对其控制效果进行测试。

3 基于英语文本程序控制的采摘机器人集群控制测试

为了验证蚁群算法在采摘机器人集群控制中的作用,本次采用文本编程的方法,将蚁群算法嵌入到采摘机器人集群控制系统中。为了简化实验,将采摘机器人以载体部分代替,对采摘机器人的群体避障行为进行实验,如图5所示。

图5 采摘机器人集群控制实验Fig.5 The cluster control experiment of picking robot

在实验室人为设置了一些障碍物,对采摘机器人群体的避障行为进行了测试,通过测试得到了如图6所示的测试结果。

图6 采摘机器人群避碍物测试Fig.6 The crowd obstacle avoidance test of picking machine

由测试结果可以看出:采用蚁群算法可以成功地实现采摘机器人群体的避障行为,且可以搜索得到最佳路径。表1表示对不同数目的采摘机器人进行测试得到的测试结果。

由测试结果可以看出:随着采摘机器人数目的增多,其集群的避障效果和最优路径的搜索准确率也保持较高的水平,从而验证了算法的可靠性。

表2为对采摘机器人集群的计算时间和计算效率进行了测试的结果。测试结果表明:蚁群算法并行计算时间比串行计算时间效率更高,更节省时间,蚁群算法是一种有效和可靠的采摘机器人集群控制算法。

表1 采摘机器人群避障行为测试Table 1 The obstacle avoidance behavior test of picking machines

表2 采摘机器人群计算机时间和效率测试Table 2 The computer time and efficiency tests of crowds picking machines

4 结论

基于英语文本编程和蚁群算法,设计了一种适用于多采摘机器人控制的群体控制算法,并利用多目标优化算法对采摘机器人的路径搜索算法进行了设计。为了验证方案的可行性,以多采摘机器人控制系统为测试对象,对多采摘机器人的避障行为和算法效率进行了测试。测试结果表明:随着采摘机器人数目的增多,其集群的避障效果和最优路径的搜索准确率也能保持较高的水平。蚁群算法并行计算时间比串行计算时间效率更高,更节省时间,从而验证了算法的可行性和可靠性,为采摘机器人集群控制系统的研究提供了较有价值的参考。

猜你喜欢
集群编程蚂蚁
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
海上小型无人机集群的反制装备需求与应对之策研究
一种无人机集群发射回收装置的控制系统设计
我们会“隐身”让蚂蚁来保护自己
Python与Spark集群在收费数据分析中的应用
蚂蚁
勤快又呆萌的集群机器人