基于蚁群算法的多农业机器人路径规划研究

2017-09-08 07:35张衡
数字技术与应用 2017年6期

张衡

摘要:随着计算机技术、信息技术、人工智能理论、传感器等技术的快速发展,机器人的研究到达了一个新的高度。针对多机器人群体作业容易出现路径冲突和碰撞的问题,本文基于蚁群算法,设计和研究了多农业机器人路径规划和导航系统,实现了多农业机器人移动路径的实时动态规划和自主导航功能,为机器人进一步发展提供了一定的理论基础。

关键词:蚁群算法;农业机器人;路径规划;导航

中图分类号:TP242 文献标识码:A 文章编号:1007-9416(2017)06-0147-03

近年来,人工智能已成为新一轮工业革命的基石,其不仅广泛应用于工业控制领域,在农业生产中的应用越来越普及。在农忙时节,农场往往会出现劳动力大量匮乏的现象,因此,机器人在农业上的应用需求越来越明显。研发出一种能进行远程控制的农业机器人,代替传统人力的作业操作,对提高农业生产水平、提高种植效率具有重要意义,同时也是现代化农业的发展趋势。本文根据农业机器人作业环境,采用蟻群算法,结合先全局后局部的路径规划方法,设计和研究了一种多农业机器人路径规划和导航系统。

1 蚁群算法简述

蚁群算法是意大利学者Dorigo在20世纪90年代模拟和总结蚂蚁寻找食物的一系列行为过程,得出的一种解决复杂组合优化问题的方法。谈论其原理,必须从蚂蚁、蜜蜂这些昆虫寻找食物的行为入手,其实对于一个个体而言,它们的行为非常容易分析,但当它们组合成一个庞大的群体后,群体行为分析难度就大大增加了。其原因是因为蚂蚁个体间是由一种分泌物作为信息素进行交流通信,蚂蚁在行走的路线上会留下这些物质,而所有的蚂蚁都能够感知这些物质的浓度,并根据该物质浓度的强弱选择自己的运动方向。因此,蚁群的集体行为会形成一种特定的信息正反馈场景,即某路线上经过的蚂蚁数量越大,则后面选择该路线的蚂蚁就会越多,蚂蚁间根据感知这种信息素物质的强弱实现搜索食物的整个过程,这也就是蚁群算法的缘由。蚁群寻找食物过程示意如图1所示。

如上图所示,假设A为蚁群群居的位置,E为有食物的地方,MN为AE之间的一个阻挡物。由于从A到E之间存在障碍物MN,那么蚁群在搬运食物的过程中只能是从BCD或者BFD两条路径,其中两条路径的长度分别为10和20。假设在一分钟内有200只蚂蚁从A运动到E,蚂蚁经过后信息素总数增加为20,为了让计算比较简单,设定信息素从产生到消失的时间为10分钟。在最开始的时候,没有信息素物质的存在,蚂蚁选择两条路线的概率相同,但是因为BCD路径短,蚂蚁选择BCD需要的时间较少,因此,在相同时间内,走过BCD的蚂蚁会多一些,这样BCD路径上的信息素物质比BFD要多,也会吸引后面的蚂蚁从BCD走,从而实现从A到E的最优路径。

2 多农业机器人路径规划

在多农业机器人作业过程中,障碍物较多,机器人间相互影响,成为彼此的障碍物,因此,多机器人路径规划难度较大。在实际研究中,多个农业机器人在同一种植区作业,需要规划多条最优路径,但在具体的作业过程中,由于障碍物的存在,最优路径会发生变化,这样也会影响其他机器人的移动路径。基于上述问题,为了保证多农业机器人实现无碰撞作业,该系统需要实时规划路线,防止机器人间、机器人与障碍物间的碰撞。

由于产业种植园区环境不确定性因素较大,比如种植人员园区工作以及其他机械的随机移动,另外传感器探测具有一定的局限性,机器人在最初规划的时候往往很难获取全部的信息,因此,采用简单的规划往往难以获得理想的最优路径。因此,可以在获得一定园区环境信息的基础上,进行作业前的全局规划,并将其作为理想的最优路线。在农业机器人群的实际运动作业中,根据后续探测的环境信息,规划出局部的最优路径,进行简单的微调,使机器人避开所有碰撞物,并最快的到达目的地。基于以上问题,该系统采用全局和局部的规划方法,实现多农业机器人的路径规划。多农业机器人路径规划框架如图2所示。

2.1 全局路径规划

本章研究的是多农业机器人在实际园区作业过程中的路径规划算法,因此,对于其全局路径规划,首先要做到的是按照具体作业要求,根据已知环境信息,给每个机器人分配任务,并确定每个机器人作业的起始点和终点,然后结合多机器人间的合作机制,在两点之间规划一条无碰撞的优化路线。在整个算法中,最重要的是提高路线规划速度和实现路径规划的最优性。由于蚂蚁算法路径规划效率比较高,并且其对于障碍物变化的适应性较强,因此,本文将采用蚁群算法对多农业机器人进行全局路径规划。

2.2 局部路径规划

有了全局路径规划之后,农业机器人群就可以开始各自的作业任务。开始阶段,农业机器人将按照各自的规划路径进行作业,并实时采集周边环境信息,根据采集到的动态信息,进行分析处理,根据碰撞检测、决策算法和行为检测等进行局部的路径修改,从而使自身具有更强的环境适应能力。

本系统采用的局部规划算法是利用机器人的车载传感器对周边环境信息进行实时检测,并与全局规划时的信息进行对比分析,根据碰撞检测子系统对是否存在碰撞风险进行评估。若存在撞机危险,则对局部路径进行一定的调整,在调整过程中,始终以作业终点为最终目标,避免出现局部的极值点而忽略机器人整体规划。另外,在局部规划过程中,行为检测子系统需要实时对农业机器人规划的路径进行判断,确定其是否符合全局规划的目标,若符合,则执行。在机器人成功避开障碍物后,则可以按照全局规划的路线继续进行作业操作,在执行期望路径的过程中,向最近的子路径节点移动。如此反复,不管局部规划路径怎么实施,农业机器人最终的目标终点不会发生改变,直到其成功到达终点。

3 多农业机器人导航系统

3.1 导航系统整体方案

多农业机器人导航系统是指在执行任务期间,对各农业机器人的作业路线进行导航,即根据之间的作出的全局规划,结合在前进过程中感知到的部分环境信息,实时对路线进行恰当的修改,引导各机器人安全前进到指定位置。该方案主要包括环境建模、自主定位和路径规划三部分。由于路径规划已在前一章详细的阐述,这里不再重复。endprint

3.1.1 环境建模

环境建模是指采用数学模型的方法,对农业作业区域进行详细描述,并将其抽象成计算机系统能够直接识别的数据信息。本文所采取的导航系统数据信息存在在后台服务器中,并由该信息抽象出拓扑图,对路线信息进行简单的描述。另外,也方便各农业机器人识别道路之間的联系,准确实现全局、局部路径规划和实时导航。

3.1.2 农业机器人定位

农业机器人定位是指根据周边环境信息和GPS确定其在作业区域相对于全局坐标的具体位置。

3.2 环境建模的具体实现

环境建模的空间信息对实现多农业机器人的导航具有决定性的意义,本文所采用的方法是将地图信息存在后台服务器,通过后台服务器的数据库进行拓扑图的绘制,并采用循环链表的方式将数据信息进行保存。因此,后台服务器中的数据库存放有地图的全部信息,可以用于多农业机器人的实时定位与导航,而拓扑图则可以用于结合蚂蚁算法实现路径的最优规划。

3.2.1 地图信息数据库

先将地图信息分为站和道路两种,其中站面积比较大,占地较多,可以用来让机器人进行短暂的停留;而道路则是机器人前进的路线,用来连接各个站。

其次,在策略算法进行规划的过程中,可以将站和道路看成一段段或者一块块的矩阵,将其连接起来就可以用来表示地图。地图信息如图3所示。

3.2.2 建立拓扑图

建立拓扑图需要以服务器中的数据信息为依据,其主要是用来描述各站点与道路之间的连接状态,在内存中以循环链表的方式进行储存。导航地图拓扑图如图4所示。

如图4所示,循环链表是数据结构中一种常用的保存数据信息的方法,其可以灵活的表示数据见的前后关系,找到其中一个信息,便可以知道其前后内存里面的信息。在导航过程过程中,需要经常访问节点间的连接信息,因此采用该方法可以大大提高数据读取信息。

4 结语

针对多农业机器人联合作业容易出现路径冲突和碰撞的问题,采用蚁群算法,设计和研究了多农业机器人路径规划和导航系统。由于针对产业种植园区环境不确定性因素较大,以及机器人在最初规划的时候往往很难获取全部的信息,提出了先全局后局部的路径规划方法,实现多农业机器人移动路径的实时动态规划。提出了多农业机器人环境下,各机器人利用环境建模和自主定位进行自主导航的方法,通过建立地图信息数据库和拓扑图,实现对多农业机器人的安全引导。

参考文献

[1]张巍.基于双目立体视觉的室内移动机器人地图构建研究[D].武汉科技大学,2009.

[2]唐惠康,郑宝林.基于SingalR和Web的农业机器人远程编队控制研究[J].农机化研究,2017,(03):237-241.

[3]葛斯楠.基于改进蚁群算法的多机器人任务分配[D].沈阳工业大学,2016.

[4]王友发.面向智能制造的多机器人系统任务分配研究[D].南京大学,2016.

[5]王维.基于多智能体系统的多机器人路径规划方法研究及应用[D].电子科技大学,2015.

[6]王丽.移动机器人路径规划方法研究[D].西北工业大学,2007.

[7]李静.多移动机器人路径规划避碰和协调研究[D].上海交通大学,2007.

[8]吕强.柑橘农业机器人工作场景信息感知技术与路径规划研究[D].江苏大学,2010.

[9]李瑞,韩永祥.改进蚁群算法在配货发送方面的研究[J].电脑知识与技术,2009,(22):6290-6291.

[10]邵杰,杨静宇,杜丽娟. 基于改进学习分类器的多机器人混合分层体系结构[J]. 南阳理工学院学报,2009,(03):21-24.

[11]刘小梅,张君静.蚁群优化算法基本原理及其应用[J].西部探矿工程,2008,(10):240-243.

[12]何武 基于蚁群优化算法的无线传感器网络路由算法研究[D].西南交通大学,2008.endprint