一种机器人路径规划方法及装置与流程

文档序号:11153492阅读:726来源:国知局
一种机器人路径规划方法及装置与制造工艺

本发明属于计算机技术领域,尤其涉及一种机器人路径规划方法及装置。



背景技术:

随着机器人和人工智能技术的不断发展,机器人越来越广泛地用于到社会的各个方面,特别是应用到人无法进入的环境场景,例如,高温、高压、高辐射的灾难环境。在灾难发生的初期,向灾难发生地派遣空中和地面无人机器人群体迅速协同进入灾区探测信息(图像、位置、环境数据等)意义重大,这些机器人通常被称为多异构机器人。

在灾区信息探测过程中,空中和地面机器人之间需要进行信息共享和协同行动,例如,空中机器人负责提供侦测灾区现场的图像信息以及救援目标的信息,然后将这些信息提供给地面机器人,地面机器人负责完成救援任务。由于灾区环境恶劣,对机器人的行进会产生较大影响,因此,如何对投入到灾区的机器人进行规划,例如,如何使投入机器人的数量最少、机器人遍历完所有目标位置所需的时间最短、地面机器人之间成功通信的组合最多、地面机器人探测的覆盖面积最大、空中机器人直视到的地面机器人以及救援的目标位置最多,即如何实现多个目标的最优化,是救灾或类似应用场景中的重要研究方向之一。然而,当需要达到的优化目标数量大于等于四个时,现有的规划方法或算法的性能和效率大幅下降,难以在较短时间内得到一个最优的方案,以实现机器人的行进路径规划。



技术实现要素:

本发明的目的在于提供一种机器人路径规划方法及装置,旨在解决现有机器人路径规划方法效率不高,难以在较短时间内得到机器人的规划路径的问题。

一方面,本发明提供了一种机器人路径规划方法,所述方法包括下述步骤:

当接收到机器人行进路径规划请求时,构造机器人的行进路径优化目标的多目标函数,所述行进路径优化目标的数量大于等于4;

接收用户输入的机器人行驶区域的地图数据以及所述行进路径优化目标的约束条件;

根据所述地图数据、所述约束条件和所述多目标函数,获取所述多目标函数的最优解集,确定所述最优解集为所述机器人的行进路径参数。

另一方面,本发明提供了一种机器人路径规划装置,所述装置包括:

函数构造单元,用于当接收到机器人行进路径规划请求时,构造机器人的行进路径优化目标的多目标函数,所述行进路径优化目标的数量大于等于4;

条件接收单元,用于接收用户输入的机器人行驶区域的地图数据以及所述行进路径优化目标的约束条件;以及

路径参数确定单元,用于根据所述地图数据、所述约束条件和所述多目标函数,获取所述多目标函数的最优解集,确定所述最优解集为所述机器人的行进路径参数。

本发明在对机器人行进路径进行规划时,首先对行进路径优化目标数量大于等于4的机器人的行进路径优化目标的多目标函数进行构造,接收用户输入的机器人行驶区域的地图数据以及行进路径优化目标的约束条件,根据地图数据、约束条件和多目标函数,获取多目标函数的最优解集,确定最优解集为机器人的行进路径参数,从而在机器人优化目标数量大于等于四个时,对机器人行进路径进行快速规划,提高了机器人行进路径规划的效率。

附图说明

图1是本发明实施例提供的机器人路径规划方法的实现流程图;

图2是本发明实施例提供的机器人路径规划方法中获取多目标函数的最优解集的实现流程图;

图3是本发明实施例提供的机器人路径规划方法中计算预设存档中每一个粒子的适应度值的实现流程图;

图4是本发明实施例提供的机器人路径规划方法中对粒子群中的粒子和预设存档进行更新的实现流程图;

图5是本发明实施例提供的机器人路径规划装置的结构示意图;

图6是本发明实施例提供的机器人路径规划装置中路径参数确定单元的结构示意图;

图7是本发明实施例提供的机器人路径规划装置中第一计算单元的结构示意图;以及

图8是本发明实施例提供的机器人路径规划装置中最优解确定单元的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下结合具体实施例对本发明的具体实现进行详细描述:

实施例一:

图1示出了本发明实施例一提供的机器人路径规划方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤S101中,当接收到机器人行进路径规划请求时,构造机器人的行进路径优化目标的多目标函数,行进路径优化目标的数量大于等于4。

本发明实施例适用于机器人,具体可用于机器人的行进路径规划,例如,救灾机器人的行进路径规划、生产机器人的行进路径规划以及清洁机器人的行进路径规划,以在满足用户多个行进路径优化目标时,得到对应的最佳路径。

具体地,接收到的机器人行进路径规划请求中可包括用户设置的多个行进路径优化目标,作为示例地,这些优化目标可以为:投入到行驶区域中空中、地上机器人数量优化目标,地面机器人遍历完行驶区域中目标的时间优化目标,地面机器人实时探测面积优化目标,空中机器人探测到地面机器人的数量优化目标,空中机器人实时探测行驶区域中目标的数量,地面机器人和空中机器人可通信组合优化目标。

优选地,行进路径优化目标的多目标函数为其中,m为行进路径优化目标的数量,m的值为6,Ω为行驶区域的地图数据集合,以用于限定机器人的行进或活动范围,f1(x)为投入到行驶区域中空中、地上机器人数量优化目标,f2(x)为地面机器人遍历完行驶区域中目标的时间优化目标,f3(x)为地面机器人实时探测面积优化目标,f4(x)为空中机器人探测到地面机器人的数量优化目标,f5(x)为空中机器人实时探测行驶区域中目标的数量,f6(x)为地面机器人和空中机器人可通信组合优化目标。通过计算F(x)的最优解,即求解F(x)的最小值,实现用户六个行进路径优化目标时的路径规划。

在步骤S102中,接收用户输入的机器人行驶区域的地图数据以及行进路径优化目标的约束条件。

在本发明实施例中,进路径优化目标的约束条件用于在实现行进路径优化目标时,对各个行进路径优化目标进行限定或约束。例如,投入到行驶区域中空中、地上机器人数量必须大于0并少于预设数量,地面机器人遍历完行驶区域中目标的时间必须小于预设时长,空中机器人实时探测行驶区域中目标的数量必须大于预设的数量。

在步骤S103中,根据地图数据、约束条件和多目标函数,获取多目标函数的最优解集,确定最优解集为机器人的行进路径参数。

在本发明实施例中,最优解集即为多目标函数的最优解的集合,其中的解为一套机器人行进路径参数规划的可行方案,例如,这些行进路径参数可使得同时满足投入到行驶区域中空中、地上机器人数量适当,地面机器人遍历完行驶区域中目标的时间越短,地面机器人实时探测面积更大,空中机器人探测到地面机器人的数量越多,空中机器人实时探测行驶区域中目标越多,地面机器人和空中机器人可通信组合越多,从而可以根据实际情况,选择其中一个更好符合实际情况的解(方案)来实现机器人行径路径的规划。

实施例二:

图2示出了本发明实施例一提供的机器人路径规划方法中获取多目标函数的最优解集的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

为了获得机器人的行进路径参数,在获取多目标函数的最优解集时,使用粒子群表示多目标函数的解集,粒子群中的粒子表示多目标函数的解集中的一个解,从而通过下述步骤获取多目标函数的最优解集:

在步骤S201中,根据约束条件随机生成多目标函数的初始粒子群,初始化粒子群中每个粒子的飞行速度,将每个粒子的个体最优解初始化为该粒子自身。

在步骤S202中,根据Pareto支配关系筛选出初始粒子群中的非支配个体,并将非支配个体保存到预设存档中。

在本发明实施例中,粒子的飞行速度表明了搜索方向和搜索步长,预设存档用于存储整个算法过程中收敛性和多样性都较好的粒子,从而保证最优解集中解的收敛性和多样性。

在步骤S203中,根据多目标函数的粒子群中粒子的适应度计算公式fit(pi,P)=α×Cd(pi,P)+β×Cv(pi,P),计算预设存档中每一个粒子的适应度值fit(pi,P)。

在本发明实施例中,α和β为预设参数,Cv(pi,P)表示当前计算粒子pi的收敛性距离,Cd(pi,P)表示当前计算粒子pi的多样性距离,P表示当前粒子群。其中,粒子的适应度反映了每个粒子在整个粒子群中收敛性与多样性的相对状态,粒子的收敛性距离反映了粒子到实际真实的最优解集端面的距离程度,粒子的多样性距离反映了粒子在整个粒子群中的拥挤程度(或密度),通过该适应度计算公式可得到每个粒子的收敛性和多样性状态,从而平衡整个粒子群中粒子的收敛性和多样性。

在步骤S204中,根据预设存档中所有粒子的适应度值对预设存档中粒子进行升序排序。

在步骤S205中,检测当前迭代代数是否小于预设的最大迭代代数,当当前迭代代数小于预设的最大迭代代数时,执行步骤S206,否则执行步骤S207。

在步骤S206中,当当前迭代代数小于最大迭代代数时,对粒子群中的粒子和预设存档进行更新,对当前迭代代数进行加1操作,并跳转至步骤S205。

在步骤S207中,当当前迭代代数等于最大迭代代数时,获取预设存档中的粒子,并将其确定为多目标函数的最优解。

在本发明实施例中,通过非支配关系确定最优解集中都是非支配解,进而通过平衡收敛性与多样性的优化的适应度值计算方式确定每个粒子的状态,从而可以提高了最优解集中解的收敛性和多样性,实现了机器人超多行进路径优化目标。

实施例三:

图3示出了本发明实施例二提供的机器人路径规划方法中计算预设存档中每一个粒子的适应度值的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤S301中,对粒子群中每个粒子进行归一化操作,以得到一个归一化的目标空间。

在本发明实施例中,采用公式对粒子群中每个粒子进行归一化操作,以得到一个归一化的目标空间,其中,fk(pi)表示粒子pi在行进路径优化目标k上的值,f’k(pi)表示归一化的值,fkmin表示粒子群中粒子在k上的最小值,fkmax表示粒子群中粒子在k上的最大值。该归一化操作有助于消除不同幅度对多目标优化的影响。

在步骤S302中,根据预设的平移距离公式计算每个粒子pi的、表示该粒子在目标空间中拥挤程度的距离,对计算得到的距离进行归一化操作,以得到目标空间中表示粒子多样性的距离Cd(pi,P)。

在本发明实施例中,利用平移距离公式计算每个粒子表示该粒子在目标空间中拥挤程度的距离,其中,在对计算得到的距离进行归一化操作时,可使用对应的归一化公式进行,以得到目标空间中表示粒子多样性的距离Cd(pi,P)。

在步骤S303中,计算目标空间中每个粒子pi到理想粒子之间的距离,并对该计算得到的距离进行归一化操作,以得到目标空间中表示粒子收敛性的距离Cv(pi,P)。

在步骤S304中,获取每个粒子pi在直线L上的投影点到理想粒子的距离d1(pi)以及该粒子到直线L的垂直距离d2(pi),直线L为目标空间中通过理想粒子和最差粒子的直线。

在本发明实施例中,理想粒子为所有目标都取最优值时的粒子,是机器人的一种最理想行进路径(或参数),最差粒子为所有目标都同时为最差时的粒子。

在步骤S305中,根据Cd(pi,P)、Cv(pi,P)、d1(pi)和d2(pi)将目标空间划分为预设数量的区域,根据每个粒子所处的区域对α和β值进行设置。

在本发明实施例中,计算目标空间中所有粒子的Cv(pi,P)距离的平均值、Cd(pi,P)距离的平均值、d1(pi)的平均值以及d2(pi)的平均值,将目标空间中粒子的Cd(pi,P)、Cv(pi,P)、d1(pi)和d2(pi)与计算得到的对应平均值进行比较,根据比较结果将目标空间划分为到对应的区域,根据每个粒子所处的区域对α和β值进行设置,从而平衡粒子群中粒子的收敛性和多样性。

在步骤S306中,根据α、β、Cd(pi,P)和Cv(pi,P)的值,通过适应度计算公式fit(pi,P)=α×Cd(pi,P)+β×Cv(pi,P)计算预设存档中每一个粒子的适应度值fit(pi,P)。

在本发明实施例中,通过上述步骤计算预设存档中每一个粒子的适应度值,实现了每个粒子的收敛性与多样性的平衡,通过计算得到的适应度值对不同的两个粒子做优劣比较,从而可以选择比较优的粒子进行进化操作,以对存档进一步进行更新,并选择比较优的粒子作为整个粒子群的全局最优粒子,使得整个粒子群沿着最优的方向搜索。

实施例四:

图4示出了本发明实施例二提供的机器人路径规划方法中对粒子群中的粒子和预设存档进行更新的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤S401中,从预设存档中前预设数量个的粒子中随机选择一个粒子作为粒子群的全局最优粒子,根据速度公式vi(t+1)=ωvi(t)+c1r1(Pbesti-pi(t))+c2r2(gbesti-pi(t))+c3r3(gbesti-Pbesti)更新粒子群中每个粒子的速度。

在本发明实施例中,Vi(t+1)表示下一代粒子的飞行速度,ω为随机数,表示粒子的飞行惯性参数,Vi(t)为当前代数的第i个粒子的速度,c1、c2、c3为随机数,表示粒子的学习参数,r1、r2、r3为预设范围内的随机数,Pbesti表示当前粒子本身的历史最优粒子,gbesti表示整个粒子群的全局最粒子,pi(t)表示当前粒子。优选地,第一预设数量为预设存档中粒子总数的10%,从而在保证粒子群多样性的同时,提高粒子群中粒子的收敛速度。通过该公式更新粒子群中每个粒子的速度时可提高粒子群的收敛速度,从而更快地获取到多目标函数的最优解集。

在步骤S402中,根据位移公式pi(t+1)=pi(t)+vi(t+1)更新粒子群中每个粒子在目标空间中的位置。

在本发明实施例中,pi(t+1)表示下一代(更新后的)粒子的位置,pi(t)表示当代粒子位置(更新前的粒子),vi(t+1)表示下一代粒子的速度(更新后粒子的速度)。

在步骤S403中,若更新后得到的新粒子pinew支配更新前粒子pi,则将粒子的Pbesti更新为pinew,否则Pbesti保持不变。

在步骤S404中,根据更新后的粒子群对预设存档进行更新。

在本发明实施例中,在对预设存档进行更新时,首先判断粒子群中每一个粒子是否被预设存档中一个粒子支配,当当前粒子未被预设存档中一个粒子支配时,判断预设存档是否已经达到预设的最大存档粒子数,若未达到则将当前粒子加入到预设存档中,若已经达到最大存档粒子数,根据适应度计算公式计算预设存档中每个粒子以及当前粒子的适应度值,根据该适应度值判断当前粒子是否加入到预设存档中,当当前粒子的适应度值比预设存档中适应度值最大的粒子的适应度值小时,将当前粒子加入到预设存档中,并删除预设存档中适应度值最大的粒子。

在本发明实施例中,结合粒子间支配关系以及平衡粒子群中粒子收敛性和多样性的适应度值对预设存档进行更新,从而在超多行进路径优化目标(例如,目标数量大于4的情形)的优化过程中,可得到收敛性和多样性更佳的最优解集,为机器人提供更优的行进路径。

在本发明实施例中,进一步优选地,将当前粒子加入到预设存档中,并删除预设存档中适应度值最大的粒子之后,还可以对预设存档中的粒子进行进化操作,以进一步对预设存档中的粒子进行优化。

具体地,对预设存档中的粒子进行进化操作时,对预设存档中的每个粒子与预设存档中前第二预设数量个粒子中的一个随机粒子进行模拟二进制交叉操作,得到一个新粒子,并对该新粒子进行变异操作,使用变异后的所有粒子对预设存档进行更新,以得到更新后的预设存档。

在本发明实施例中,在前述对预设存档进行更新后,进一步通过进化操作对更新后的存档进行再次更新,从而增加了粒子在目标空间中的搜索方向,使得最优解集的多样性更佳。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。

实施例五:

图5示出了本发明实施例五提供的机器人路径规划装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:

函数构造单元51,用于当接收到机器人行进路径规划请求时,构造机器人的行进路径优化目标的多目标函数,行进路径优化目标的数量大于等于4;

条件接收单元52,用于接收用户输入的机器人行驶区域的地图数据以及行进路径优化目标的约束条件;以及

路径参数确定单元53,用于根据地图数据、约束条件和多目标函数,获取多目标函数的最优解集,确定最优解集为机器人的行进路径参数。

优选地,如图6所示,路径参数确定单元53包括:

初始化单元531,用于根据约束条件随机生成多目标函数的初始粒子群,初始化粒子群中每个粒子的飞行速度,将每个粒子的个体最优解初始化为该粒子自身,粒子群表示多目标函数的解集,粒子群中的粒子表示多目标函数的解集中的一个解;

粒子筛选单元532,用于根据Pareto支配关系筛选出初始粒子群中的非支配个体,并将非支配个体保存到预设存档中;

第一计算单元533,用于根据多目标函数的粒子群中粒子的适应度计算公式fit(pi,P)=α×Cd(pi,P)+β×Cv(pi,P),计算预设存档中每一个粒子的适应度值fit(pi,P),其中,α和β为预设参数,Cv(pi,P)表示当前计算粒子pi的收敛性距离,Cd(pi,P)表示当前计算粒子pi的多样性距离,P表示当前粒子群;

粒子排序单元534,用于根据预设存档中所有粒子的适应度值对预设存档中粒子进行升序排序;

代数检测单元535,用于检测当前迭代代数是否小于预设的最大迭代代数;以及

最优解确定单元536,用于当当前迭代代数小于预设的最大迭代代数时,对粒子群中的粒子和预设存档进行更新,对当前迭代代数进行加1操作,并触发代数检测单元535检测所当前迭代代数是否小于预设的最大迭代代数,否则确定预设存档中的粒子为多目标函数的最优解。

优选地,如图7所示,第一计算单元533包括:

目标空间获取单元5331,用于对粒子群中每个粒子进行归一化操作,以得到一个归一化的目标空间;

第一距离获取单元5332,用于根据预设的平移距离公式计算每个粒子pi的、表示该粒子在目标空间中拥挤程度的距离,对计算得到的距离进行归一化操作,以得到目标空间中表示粒子多样性的距离Cd(pi,P);

第二距离获取单元5333,用于计算目标空间中每个粒子pi到理想粒子之间的距离,并对该计算得到的距离进行归一化操作,以得到目标空间中表示粒子收敛性的距离Cv(pi,P);

第三距离获取单元5334,用于获取每个粒子pi在直线L上的投影点到理想粒子的距离d1(pi)以及该粒子到所述直线L的垂直距离d2(pi),直线L为目标空间中通过理想粒子和最差粒子的直线;

参数设置单元5335,用于根据Cd(pi,P)、Cv(pi,P)、d1(pi)和d2(pi)将目标空间划分为预设数量的区域,根据每个粒子所处的区域对α和β值进行设置;以及

计算子单元5336,用于根据α、β、Cd(pi,P)和Cv(pi,P)的值,通过适应度计算公式fit(pi,P)=α×Cd(pi,P)+β×Cv(pi,P)计算预设存档中每一个粒子的适应度值fit(pi,P)。

优选地,如图8所示,最优解确定单元536包括:

粒子速度更新单元5361,用于从预设存档中前预设数量个的粒子中随机选择一个粒子作为粒子群的全局最优粒子gbest,根据速度公式vi(t+1)=ωvi(t)+c1r1(Pbesti-pi(t))+c2r2(gbesti-pi(t))+c3r3(gbesti-Pbesti)更新粒子群中每每个粒子的速度;

粒子位置更新单元5362,用于根据位移公式pi(t+1)=pi(t)+vi(t+1)更新粒子群中每个粒子在目标空间中的位置;

个体最优解更新单元5363,用于若更新后得到的新粒子pinew支配更新前粒子pi,则将粒子的个体最优解Pbesti更新为pinew,否则Pbesti保持不变;以及

存档更新单元5364,用于根据更新后的粒子群对预设存档进行更新。

在本发明实施例中,存档更新单元5364包括:

判断单元,用于判断更新后的粒子群中的每一个粒子是否被预设存档中一个粒子支配,当当前粒子未被预设存档中一个粒子支配时,判断预设存档是否已经达到预设的最大存档粒子数;

第二计算单元,用于若未达到则将当前粒子加入到预设存档中,若已经达到最大存档粒子数,根据适应度计算公式计算预设存档中每个粒子以及当前粒子的适应度值;以及

粒子加入单元,用于当当前粒子的适应度值比预设存档中适应度值最大的粒子的适应度值小时,将当前粒子加入到预设存档中,并删除预设存档中适应度值最大的粒子。

在本发明实施例中,机器人路径规划装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为机器人的一个软、硬件单元,在此不用以限制本发明。上述各单元的具体实施方式可参考前述实施例中步骤的对应描述,在此不再赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1