CN113819919A - 一种基于布尔约束的机器人最优路径规划方法 - Google Patents

一种基于布尔约束的机器人最优路径规划方法 Download PDF

Info

Publication number
CN113819919A
CN113819919A CN202111128776.8A CN202111128776A CN113819919A CN 113819919 A CN113819919 A CN 113819919A CN 202111128776 A CN202111128776 A CN 202111128776A CN 113819919 A CN113819919 A CN 113819919A
Authority
CN
China
Prior art keywords
task
tasks
sequence
robot
boolean
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111128776.8A
Other languages
English (en)
Other versions
CN113819919B (zh
Inventor
何舟
施威杰
马子玥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi University of Science and Technology
Original Assignee
Shaanxi University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shaanxi University of Science and Technology filed Critical Shaanxi University of Science and Technology
Priority to CN202111128776.8A priority Critical patent/CN113819919B/zh
Publication of CN113819919A publication Critical patent/CN113819919A/zh
Application granted granted Critical
Publication of CN113819919B publication Critical patent/CN113819919B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

一种基于布尔约束的机器人最优路径规划方法,首先对机器人全局环境进行划分,并写出空间集合及其邻接矩阵;然后输入机器人的布尔约束任务要求,根据任务要求更新邻接矩阵;再计算任务间的最短距离和对应的路径并储存;随机产生一个满足布尔约束任务要求的初始任务序列,并计算它的最短移动距离及其对应的路径;再对初始任务序列进行模拟退火算法优化;最后输出最优任务序列、最短移动距离及其对应的路径;本发明使机器人在满足任务要求的前提下移动距离最短,较大程度的降低机器人移动成本和时间成本,提高效率,具有良好的应用前景。

Description

一种基于布尔约束的机器人最优路径规划方法
技术领域
本发明涉及机器人技术领域,具体涉及一种基于布尔约束的机器人最优路径规划方法。
技术背景
随着科技的进步和社会的发展,移动机器人的应用越来越广泛,涉及军事、工业、农业、家庭等领域。在机器人路径规划研究领域中的三大核心问题是机器人的定位、任务的分配和路径规划技术,其中,路径规划是移动机器人避开障碍物到达任务目标、完成任务内容的首要条件。例如:家庭服务型清洁机器人需要对室内环境进行合理的路径规划以完成清洁任务;农业采摘机器人需要路径规划才能在农作物间穿行以完成采摘任务;工业机器人也需要进行路径规划才能在共享工作空间中完成给定的任务。
机器人在家庭服务、农业助力、工业环境、军事救助等方面都得到广泛的应用。在这些应用中,机器人路径规划尤为重要,机器人路径最优规划是指:在其工作环境中找到一条从起始状态到目标状态的能完成任务要求并避开所有障碍物的路径,且移动路径最短。
经过多年的研究,对于一般任务要求的最优路径规划方法已经比较成熟,然而,随着任务的复杂度越来越高,如具有布尔约束的任务要求(布尔约束主要包括与、或、非三种描述,具有布尔约束的任务要求是指机器人从起始状态到目标状态的路径满足必须经过某些点完成任务、从某些点中选择部分完成任务、必须避开某些点)的机器人最优路径规划,一般任务要求的最优路径规划方法已经无法满足实际需求。
发明内容
为了克服上述现有技术的缺点,本发明的目的是提出一种基于布尔约束的机器人最优路径规划方法,使机器人在满足任务要求的前提下移动距离最短,较大程度的降低机器人移动成本和时间成本,提高效率,具有良好的应用前景。
为了达到上述目的,本发明采用如下技术方案:
一种基于布尔约束的机器人最优路径规划方法,包括以下步骤:
步骤一:对机器人全局环境进行划分,并写出空间集合及其邻接矩阵;
步骤二:输入机器人的布尔约束任务要求;
步骤三:根据任务要求更新邻接矩阵;
步骤四:计算任务间的最短距离和对应的路径并储存;
步骤五:随机产生一个满足布尔约束任务要求的初始任务序列,并计算它的最短移动距离及其对应的路径;
步骤六:对初始任务序列进行模拟退火算法优化;
步骤七:输出最优任务序列、最短移动距离及其对应的路径。
所述的步骤一具体为:
将全局环境划分为m个空间,分别用集合R={R1,R2,...,Rm}表示;
邻接矩阵W为一个m×m的对称矩阵,如果空间Ri和空间Rj相连,且两个空间之间的距离为ωi,j,则W(i,j)=ωi,j,否则W(i,j)=∞,且W(i,i)=0,i=1,2,...,m。
所述的步骤二具体为:
将任务分为五类:
第一类:起点任务,用集合Ts={Rs},其中1≤s≤m,表示机器人从空间Rs出发;
第二类:终点任务,用集合Te={Re},其中1≤e≤m,表示机器人最终停在空间Re
第三类:布尔约束“与”任务,用集合
Figure BDA0003279735980000031
其中va表示在路径中机器人必须完成的任务个数,用布尔约束的语言描述“与”任务为:
Figure BDA0003279735980000032
第四类:布尔约束“或”任务,分别用集合
Figure BDA0003279735980000033
Figure BDA0003279735980000034
Figure BDA0003279735980000035
其中vo表示在路径中机器人需选择完成的任务个数,其中第1个“或”任务从集合
Figure BDA0003279735980000036
中选择一个空间完成任务,第2个“或”任务从集合
Figure BDA0003279735980000037
中选择一个空间完成任务,…,第vo个“或”任务从集合
Figure BDA0003279735980000038
中选择一个空间完成任务,用布尔约束的语言描述第i个“或”任务为:
Figure BDA0003279735980000039
将所有“或”任务用集合To表示,即
Figure BDA00032797359800000310
第五类:布尔约束“非”任务,用集合
Figure BDA0003279735980000041
其中vm表示在路径中机器人必须避免经过的空间,用布尔约束的语言描述“非”任务为:
Figure BDA0003279735980000042
那么将所有任务用布尔约束描述为:
Figure BDA0003279735980000043
Figure BDA0003279735980000044
所述的步骤三具体为:
将邻接矩阵中所有布尔约束“非”任务所在行和列均设置为∞,即:
Figure BDA0003279735980000045
所述的步骤四具体为:
根据邻接矩阵W利用Dijkstra算法计算两个空间之间的最短移动距离和对应的路径,计算从源点Ri到目标点Rj最短移动距离和路径的流程如下:
1)创建两个集合S、U和一个1×m的全0矩阵P,其中S是已经找到最短路径的顶点,U是还待计算的顶点,令S=Ri,U=U/(Ri∪Tm);
2)将集合U中具有最小距离的顶点Rk加入到集合S中并将Rk和布尔约束“非”任务所在空间从集合U中取出,即S=S∪Rk,U=U/Rk
3)更新集合U中顶点的距离,若从源点Ri到顶点Rh的距离大于源点Ri到顶点Rk的距离加上顶点Rk到顶点Rh的距离,即di,h>di,k+dk,h,则更新di,h=di,k+dk,h,并记录顶点Rh的上一顶点Rk,即P(h)=k;
4)若目标点Rj∈U,则回到步骤2)继续,若目标点Rj∈S,输出从源点Ri到目标点Rj最短移动距离di,j
5)根据矩阵P通过回溯法求解路径li,j
利用上述的Dijkstra算法分别计算集合Ts内库所和集合(Ta∪To)内库所之间的最短移动距离和对应的路径、集合(Ta∪To)内库所各自之间的最短移动距离和对应的路径以及集合(Ta∪To)内库所和集合Te内库所之间的最短移动距离和对应的路径,即Rs
Figure BDA0003279735980000051
之间,
Figure BDA0003279735980000052
各自之间,
Figure BDA0003279735980000053
和Re之间的最短移动距离和对应的路径,并将其以{Ri,Rj,di,j,li,j}的形式储存。
所述的步骤五具体为:
根据布尔约束的任务要求,选择所有“与”任务并在每个“或”任务中选择一个任务组成中途任务序列,即:
Figure BDA0003279735980000054
其中
Figure BDA0003279735980000055
Figure BDA0003279735980000056
共需完成va+vo个中途任务,并对选择的任务进行随机排序
Figure BDA0003279735980000057
并在首尾分别***起点任务RS和终点任务Re生成初始任务序列
Figure BDA0003279735980000058
则读取储存的数据得到当前任务序列的最短移动距离
Figure BDA0003279735980000059
Figure BDA00032797359800000510
最短移动距离对应的路径为
Figure BDA00032797359800000511
Figure BDA00032797359800000512
并作如下操作:
最优任务序列:Mbest=M;
最优任务序列的最短移动距离:Dbest=D;
最优任务序列的最短移动距离对应的路径:Lbest=L。
所述的步骤六具体为:
对初始任务序列进行模拟退火操作,从初始温度
Figure BDA00032797359800000623
开始,并令
Figure BDA00032797359800000622
在每一个温度下充分搜索后以衰减系数α降温到下一个温度,
Figure BDA00032797359800000624
直到温度降低到终止温度
Figure BDA00032797359800000625
以下为止,
Figure BDA00032797359800000626
在每一个温度下的任务序列可能产生三种操作:
第一种操作,两点交换操作:
在任务序列
Figure BDA0003279735980000061
中随机选择两个中途任务
Figure BDA0003279735980000062
Figure BDA0003279735980000063
互换位置生成新的任务序列,假设i<j,即:
Figure BDA0003279735980000064
Figure BDA0003279735980000065
记作,
Figure BDA0003279735980000066
第二种操作,倒序操作:
在任务序列
Figure BDA0003279735980000067
中随机选择两个中途任务
Figure BDA0003279735980000068
Figure BDA0003279735980000069
并对包括在中途任务
Figure BDA00032797359800000610
Figure BDA00032797359800000611
之内的序列进行倒序操作,假设i<j,生成新的任务序列,即:
Figure BDA00032797359800000612
Figure BDA00032797359800000613
记作,
Figure BDA00032797359800000614
第三种操作,重***操作:
在“或”任务中随机选择一个任务集合
Figure BDA00032797359800000615
1≤k≤vo,并从任务集合
Figure BDA00032797359800000616
随机选择一个任务
Figure BDA00032797359800000617
在任务序列M中找到属于任务集合
Figure BDA00032797359800000618
的中间任务
Figure BDA00032797359800000619
如果
Figure BDA00032797359800000620
Figure BDA00032797359800000621
相同,重新从任务集合
Figure BDA0003279735980000071
随机选择一个任务
Figure BDA0003279735980000072
直到
Figure BDA0003279735980000073
Figure BDA0003279735980000074
不同后用
Figure BDA0003279735980000075
代替任务序列M中的
Figure BDA0003279735980000076
即:
Figure BDA0003279735980000077
记作,
Figure BDA0003279735980000078
在得到新的任务序列M*后计算该任务序列的最短移动距离D*及其对应的路径L*,并作如下操作:
如果新的任务序列M*比任务序列M更优,即D*<D,则令:M=M*,D=D*,L=L*
另外,如新的任务序列M*比最优任务序列Mbest更优,即D*<Dbest,则令:
Mbest=M*,Dbest=D*,Lbest=L*
如果新的任务序列M*没有比任务序列M优,即D*>D,则以概率
Figure BDA0003279735980000079
接受这个新的任务序列,则令:
M=M*,D=D*,L=L*
所述的步骤七具体为:
当温度降低到终止温度
Figure BDA00032797359800000710
以下时,即
Figure BDA00032797359800000711
输出最优任务序列Mbest、最短移动距离Dbest及其对应的路径Lbest
本发明的有益效果为:
对于给定的全局环境和基于布尔约束的任务要求,任务选择的组合和任务序列的排列具有多种可能性,对于不同的任务选择和任务排序,机器人对应的移动距离可能存在很大的差异,因此从布尔约束的任务中如何选择任务,对任务如何进行排序,各个任务点之间如何选择避开所有障碍物的最优路径时十分有必要的。本发明利用Dijkstra算法结合模拟退火算法的智能算法,首先将所有可能关联任务点之间的最短移动距离和对应的路径通过Dijkstra算法进行求解并储存,随机选择满足布尔约束的任务产生初始任务序列并对初始任务序列进行模拟退火操作,最终找到最优的任务序列、最短移动距离及其对应的路径;本发明不仅具有良好的通用性,而且能够快速找到最优的任务序列、最短移动距离及其对应的路径,较大程度的降低了移动成本和时间成本,扩大机器人的应用领域,代替人完成复杂的工作任务,提高生产生活自动化水平,具有良好的应用前景。
本发明具有通用性,不仅能够规划完成满足布尔约束任务要求的最优路径,使得机器人的移动距离之和最短,达到降低移动成本和时耗的目的;还与智能算法结合起来,提高计算的高效性。
附图说明
图1是本发明方法的流程框图。
图2是实施例机器人的全局环境图。
图3是实施例机器人的空间集合图。
图4是步骤五模拟退火操作的流程框图。
图5是实施例机器人的最优路径规划图。
具体实施方式
以下结合实施例和附图对发明作进一步说明。
参照图1,一种基于布尔约束的机器人最优路径规划方法,包括以下步骤:
步骤一:对机器人全局环境进行划分,并写出空间集合及其邻接矩阵;
本实施例机器人全局环境如图2所示,将全局环境划分为28个空间,分别用集合R={R1,R2,...,R28}表示,如图3所示;
邻接矩阵W为一个28×8的对称矩阵,如果空间Ri和空间Rj相连,且两个空间之间的距离为ωi,j,则W(i,j)=ωi,j,否则W(i,j)=∞,且W(i,i)=0,i=1,2,...,28;本实施例中所有相邻空间之间的距离均为1,则可根据图4写出邻接矩阵W,其中W(1,1)=0,W(1,3)=1,W(2,2)=0,W(2,3)=1,W(3,1)=1,W(3,2)=1,W(3,3)=0,W(3,4)=1,W(3,10)=1,W(4,3)=1,W(4,4)=0,W(4,6)=1,W(4,9)=1,W(5,5)=0,W(5,6)=1,W(6,4)=1,W(6,5)=1,W(6,6)=0,W(6,7)=1,,W(7,6)=1,W(7,7)=0,W(7,8)=1,W(8,7)=1,W(8,8)=0,W(8,9)=1,W(1,3)=1,W(9,4)=1,W(9,8)=1,W(9,9)=0,W(9,10)=1,W(10,3)=1,W(10,9)=1,W(10,10)=0,W(10,11)=1,W(10,31)=1,W(11,10)=1,W(11,11)=0,W(11,12)=1,W(12,11)=1,W(12,12)=0,W(12,13)=1,W(13,10)=1,W(13,12)=1,W(13,13)=0,W(13,14)=1,W(13,18)=1,W(13,19)=1,W(14,13)=1,W(14,14)=0,W(15,15)=0,W(15,16)=1,W(16,15)=1,W(16,16)=0,W(16,17)=1,W(16,17)=1,W(17,17)=0,W(17,18)=1,W(17,24)=1,W(18,13)=1,W(18,17)=1,W(18,18)=0,W(18,20)=1,W(18,22)=1,W(19,13)=1,W(19,19)=0,W(19,20)=1,W(20,18)=1,W(20,19)=1,W(20,20)=0,W(20,21)=1,W(21,20)=1,W(21,21)=0,W(21,22)=1,W(22,18)=1,W(22,21)=1,W(22,22)=0,W(22,23)=1,W(22,24)=1,W(22,26)=1,W(23,22)=1,W(23,23)=0,W(23,25)=1,W(24,17)=1,W(24,22)=1,W(24,24)=0,W(25,23)=1,W(25,25)=0,W(25,28)=1,W(26,22)=1,W(26,26)=0,W(26,27)=1,W(27,26)=1,W(27,27)=0,W(28,25)=1,W(28,28)=0;
步骤二:输入机器人的布尔约束任务要求;将任务主要分为五类如图3所示,本实施例中的五类任务如下:
第一类:起点任务,用集合Ts={R1},表示机器人从空间R1出发;
第二类:终点任务,用集合Te={R27},其中1≤e≤m,表示机器人最终停在空间R27
第三类:布尔约束“与”任务,用集合Ta={R4,R8,R19},路径中机器人必须完成的任务个数为3,用布尔约束的语言描述“与”任务为:R4∧R8∧R19
第四类:布尔约束“或”任务,分别用集合
Figure BDA0003279735980000101
Figure BDA0003279735980000102
在路径中机器人需选择完成3个任务,其中第1个“或”任务从集合
Figure BDA0003279735980000103
中选择一个任务完成,第2个“或”任务从集合
Figure BDA0003279735980000104
中选择一个任务完成,第3个“或”任务从集合
Figure BDA0003279735980000105
中选择一个任务完成,用布尔约束的语言描述第1个“或”任务为:R7∨R17∨R20,用布尔约束的语言描述第2个“或”任务为:R13∨R16∨R24,用布尔约束的语言描述第3个“或”任务为:R11∨R22,将所有“或”任务用集合To表示,即
Figure BDA0003279735980000111
Figure BDA0003279735980000112
第五类:布尔约束“非”任务,用集合Tm={R12,R15,R21},在路径中有3个空间机器人必须避免经过,用布尔约束的语言描述“非”任务为:
Figure BDA0003279735980000113
那么将所有任务用布尔约束描述为:
Figure BDA0003279735980000114
步骤三:根据任务要求更新邻接矩阵;
将邻接矩阵中所有布尔约束“非”任务所在行和列均设置为∞,即:
W(12,:)=∞,W(:,12)=∞,W(15,:)=∞,W(:,15)=
∞,...,W(21,:)=∞,W(:,21)=∞;即更新W(12,11)=∞,
W(12,12)=∞,W(12,13)=∞,W(11,12)=∞,W(13,12)=∞,
W(15,15)=∞,W(15,16)=∞,W(16,15)=∞,W(21,20)=∞,
W(21,21)=∞,W(21,22)=∞,W(20,21)=∞,W(22,21)=∞;
步骤四:计算任务间的最短距离和对应的路径并储存;
根据邻接矩阵W利用Dijkstra算法计算两个空间之间的最短移动距离和对应的路径,计算从源点Ri到目标点Rj最短移动距离和路径的流程如下:
1)创建两个集合S、U和一个1×m的全0矩阵P,其中S是已经找到最短路径的顶点,U是还待计算的顶点,令S=Ri,U=U/(Ri∪Tm);
2)将集合U中具有最小距离的顶点Rk加入到集合S中并将Rk和布尔约束“非”任务所在空间从集合U中取出,即S=S∪Rk,U=U/Rk
3)更新集合U中顶点的距离,若从源点Ri到顶点Rh的距离大于源点Ri到顶点Rk的距离加上顶点Rk到顶点Rh的距离,即di,h>di,k+dk,h,则更新di,h=di,k+dk,h,并记录顶点Rh的上一顶点Rk,即P(h)=k;
4)若目标点Rj∈U,则回到步骤2)继续,若目标点Rj∈S,输出从源点Ri到目标点Rj最短移动距离di,j
5)根据矩阵P通过回溯法求解路径li,j
利用上述的Dijkstra算法分别计算集合Ts内库所和集合(Ta∪To)内库所之间的最短移动距离和对应的路径、集合(Ta∪To)内库所各自之间的最短移动距离和对应的路径以及集合(Ta∪To)内库所和集合Te内库所之间的最短移动距离和对应的路径,R1
R4,R7,R8,R11,R13,R16,R17,R19,R20,R22,R24之间,
R4,R7,R8,R11,R13,R16,R17,R19,R20,R22,R24各自之间,
R4,R7,R8,R11,R13,R16,R17,R19,R20,R22,R24和R27之间的最短移动距离和对应的路径,并将其以{Ri,Rj,di,j,li,j}的形式储存;
计算本实施例的d1,4=1,l1,4={p1,p3,p4};
d1,8=4,l1,8={p1,p3,p4,p6,p8};…;
d11,27=6,l11,27={p11,p10,p13,p18,p22,p26,p27};
d22,27=2,l22,27={p22,p26,p27},如表1所示,
表1
Figure BDA0003279735980000121
Figure BDA0003279735980000131
Figure BDA0003279735980000141
需要主要的是,从源点Ri到目标点Rj和源点Rj到目标点Ri的最短移动距离相同,为路径为倒序的关系,故只需要储存一个即可;
步骤五:随机产生一个满足布尔约束任务要求的初始任务序列,并计算它的最短移动距离及其对应的路径;
参照图4,根据布尔约束的任务要求,选择所有“与”任务并在每个“或”任务中选择一个任务组成中途任务序列,如:
R4,R8,R19,R17,R13,R22,其中,共需完成6个中途任务,并对选择的任务进行随机排序(如R19,R22,R13,R4,R17,R8)并在首尾分别***起点任务R1和终点任务R27生成初始任务序列M={R1,R19,R22,R13,R4,R17,R8,R27},则读取储存的数据可以得到当前任务序列M的最短移动距离D=d1,19+d19,22+d22,13+d13,4+d4,17+d17,8+d8,27=29,最短移动距离对应的路径为L={l1,19,l19,22,l22,13,l13,4,l4,17,l17,8,l8,27};即:
L={R1,R3,R10,R13,R19,R13,R18,R22,R20,R13,R10,R3,R4,R3,R10,R13,R18,R17,R18,R13,R10,R9,R8,R9,R10,R13,R18,R22,R26,R27}
并作如下操作:
最优任务序列:Mbest=M;
最优任务序列的最短移动距离:Dbest=D;
最优任务序列的最短移动距离对应的路径:Lbest=L;
步骤六:对初始任务序列进行模拟退火算法优化;
对初始任务序列进行模拟退火操作,从初始温度
Figure BDA0003279735980000151
开始,并令
Figure BDA0003279735980000152
在每一个温度下充分搜索后以衰减系数α降温到下一个温度,
Figure BDA0003279735980000153
直到温度降低到终止温度
Figure BDA0003279735980000154
以下为止
Figure BDA0003279735980000155
本实施例中,取初始温度
Figure BDA0003279735980000156
衰减系数α=0.9,终止温度
Figure BDA0003279735980000157
Figure BDA0003279735980000158
在每一个温度下的任务序列可能产生三种操作:
第一种操作,两点交换操作:
在任务序列M={R1,R19,R22,R13,R4,R17,R8,R27}中随机选择两个中途任务
Figure BDA0003279735980000161
Figure BDA0003279735980000162
(假设i<j)互换位置生成新的任务序列,假设选择两个中途任务R22和R17,则:M*={R1,R19,R17,R13,R4,R22,R8,R27};
第二种操作,倒序操作:
在任务序列M={R1,R19,R22,R13,R4,R17,R8,R27}中随机选择两个中途任务
Figure BDA0003279735980000163
Figure BDA0003279735980000164
(假设i<j)并对包括在中途任务
Figure BDA0003279735980000165
Figure BDA0003279735980000166
之内的序列进行倒序操作,生成新的任务序列,假设选择两个中途任务R22和R17,则:M*={R,R19,R17,R4,R13,R22,R8,R27};
第三种操作,重***操作:
在“或”任务中随机,1≤k≤3,并从任务集合
Figure BDA0003279735980000167
随机选择一个任务
Figure BDA0003279735980000168
假设取k=2,则从任务集合
Figure BDA0003279735980000169
随机选择一个任务R22在任务序列M={R1,R19,R22,R13,R4,R17,R8,R27}中找到属于任务集合
Figure BDA00032797359800001610
的中间任务R22,任务相同,假设重新从集合从任务集合
Figure BDA00032797359800001611
随机选择一个任务为R16,用R16代替任务序列M中的R22,即:M*={R1,R19,R16,R13,R4,R17,R8,R27};
在得到新的任务序列M*后计算该任务序列的最短移动距离D*及其对应的路径L*,并作如下操作:
如果新的任务序列M*比任务序列M更优,即D*<D,则令:M=M*,D=D*,L=L*
另外,如新的任务序列M*比最优任务序列Mbest更优,即D*<Dbest,则令:
Mbest=M*,Dbest=D*,Lbest=L*
如果新的任务序列M*没有比任务序列M优,即D*>D,则以一定的概率
Figure BDA0003279735980000171
接受这个新的任务序列,则令:
M=M*,D=D*,L=L*
在本实施例中,在每个温度下进行10次搜索认为在该温度下已经充分搜索,温度衰减至下一温度进行搜索;
步骤七:输出最优任务序列、最短移动距离及其对应的路径;
本实施例中,当温度降低到终止温度
Figure BDA0003279735980000172
以下时,即
Figure BDA0003279735980000173
Figure BDA0003279735980000174
通过MATLAB编写程序运输出最优任务序列Mbest={R1,R4,R8,R13,R19,R20,R22,R27}、最短移动距离Dbest=13,及其对应的路径Lbest={R1,R3,R4,R9,R8,R9,R10,R13,R19,R20,R18,R22,R26,R27},如图5所示。
在本实施例中,对于给定的全局环境和基于布尔约束的任务要求,一共有3*3*2种“或”任务选择情况,对于“与”任务和选定的“或”任务(共6个任务)的排列情况有
Figure BDA0003279735980000175
所以一共有
Figure BDA0003279735980000176
种可能性。用枚举法或者线性规划的方法解决该类问题需要耗费大量的时间成本,因此从布尔约束的任务中如何选择任务,对任务如何进行排序,各个任务点之间如何选择避开所有障碍物的最优路径时十分有必要的。本实施例利用Dijkstra算法结合模拟退火算法的智能算法,首先将所有任务点之间的最短移动距离和对应的路径通过Dijkstra算法进行求解并储存,随机选择满足布尔约束的任务产生初始任务序列并对初始任务序列进行模拟退火操作,最终找到最优的任务序列、最短移动距离及其对应的路径。本实施例仅花费4秒左右的时间就能够找到最优的任务序列、最短移动距离及其对应的路径,较大程度的降低了移动成本和时间成本。针对更大规模的该类问题,本发明所提出的方法利用智能算法依然能够快速高效地求解,具有良好的通用性。

Claims (8)

1.一种基于布尔约束的机器人最优路径规划方法,其特征在于,包括以下步骤:
步骤一:对机器人全局环境进行划分,并写出空间集合及其邻接矩阵;
步骤二:输入机器人的布尔约束任务要求;
步骤三:根据任务要求更新邻接矩阵;
步骤四:计算任务间的最短距离和对应的路径并储存;
步骤五:随机产生一个满足布尔约束任务要求的初始任务序列,并计算它的最短移动距离及其对应的路径;
步骤六:对初始任务序列进行模拟退火算法优化;
步骤七:输出最优任务序列、最短移动距离及其对应的路径。
2.根据权利要求1所述的一种基于布尔约束的机器人最优路径规划方法,其特征在于,所述的步骤一具体为:
将全局环境划分为m个空间,分别用集合R={R1,R2,...,Rm}表示;
邻接矩阵W为一个m×m的对称矩阵,如果空间Ri和空间Rj相连,且两个空间之间的距离为ωi,j,则W(i,j)=ωi,j,否则W(i,j)=∞,且W(i,i)=0,i=1,2,...,m。
3.根据权利要求2所述的一种基于布尔约束的机器人最优路径规划方法,其特征在于,所述的步骤二具体为:
将任务分为五类:
第一类:起点任务,用集合Ts={Rs},其中1≤s≤m,表示机器人从空间Rs出发;
第二类:终点任务,用集合Te={Re},其中1≤e≤m,表示机器人最终停在空间Re
第三类:布尔约束“与”任务,用集合
Figure FDA0003279735970000021
其中va表示在路径中机器人必须完成的任务个数,用布尔约束的语言描述“与”任务为:
Figure FDA0003279735970000022
第四类:布尔约束“或”任务,分别用集合
Figure FDA0003279735970000023
Figure FDA0003279735970000024
Figure FDA0003279735970000025
其中vo表示在路径中机器人需选择完成的任务个数,其中第1个“或”任务从集合
Figure FDA0003279735970000026
中选择一个空间完成任务,第2个“或”任务从集合
Figure FDA0003279735970000027
中选择一个空间完成任务,…,第vo个“或”任务从集合
Figure FDA0003279735970000028
中选择一个空间完成任务,用布尔约束的语言描述第i个“或”任务为:
Figure FDA0003279735970000029
将所有“或”任务用集合To表示,即
Figure FDA00032797359700000210
第五类:布尔约束“非”任务,用集合
Figure FDA00032797359700000211
其中vm表示在路径中机器人必须避免经过的空间,用布尔约束的语言描述“非”任务为:
Figure FDA00032797359700000212
那么将所有任务用布尔约束描述为:
Figure FDA00032797359700000213
4.根据权利要求3所述的一种基于布尔约束的机器人最优路径规划方法,其特征在于,所述的步骤三具体为:
将邻接矩阵中所有布尔约束“非”任务所在行和列均设置为∞,即:
Figure FDA0003279735970000031
5.根据权利要求4所述的一种基于布尔约束的机器人最优路径规划方法,其特征在于,所述的步骤四具体为:
根据邻接矩阵W利用Dijkstra算法计算两个空间之间的最短移动距离和对应的路径,计算从源点Ri到目标点Rj最短移动距离和路径的流程如下:
1)创建两个集合S、U和一个1×m的全0矩阵P,其中S是已经找到最短路径的顶点,U是还待计算的顶点,令S=Ri,U=U/(Ri∪Tm);
2)将集合U中具有最小距离的顶点Rk加入到集合S中并将Rk和布尔约束“非”任务所在空间从集合U中取出,即S=S∪Rk,U=U/Rk
3)更新集合U中顶点的距离,若从源点Ri到顶点Rh的距离大于源点Ri到顶点Rk的距离加上顶点Rk到顶点Rh的距离,即di,h>di,k+dk,h,则更新di,h=di,k+dk,h,并记录顶点Rh的上一顶点Rk,即P(h)=k;
4)若目标点Rj∈U,则回到步骤2)继续,若目标点Rj∈S,输出从源点Ri到目标点Rj最短移动距离di,j
5)根据矩阵P通过回溯法求解路径li,j
利用上述的Dijkstra算法分别计算集合Ts内库所和集合(Ta∪To)内库所之间的最短移动距离和对应的路径、集合(Ta∪To)内库所各自之间的最短移动距离和对应的路径以及集合(Ta∪To)内库所和集合Te内库所之间的最短移动距离和对应的路径,即Rs
Figure FDA0003279735970000041
之间,
Figure FDA0003279735970000042
各自之间,
Figure FDA0003279735970000043
和Re之间的最短移动距离和对应的路径,并将其以{Ri,Rj,di,j,li,j}的形式储存。
6.根据权利要求5所述的一种基于布尔约束的机器人最优路径规划方法,其特征在于,所述的步骤五具体为:
根据布尔约束的任务要求,选择所有“与”任务并在每个“或”任务中选择一个任务组成中途任务序列,即:
Figure FDA0003279735970000044
其中
Figure FDA0003279735970000045
Figure FDA0003279735970000046
共需完成va+vo个中途任务,并对选择的任务进行随机排序
Figure FDA0003279735970000047
并在首尾分别***起点任务Rs和终点任务Re生成初始任务序列
Figure FDA0003279735970000048
则读取储存的数据得到当前任务序列的最短移动距离
Figure FDA0003279735970000049
Figure FDA00032797359700000410
最短移动距离对应的路径为
Figure FDA00032797359700000411
Figure FDA00032797359700000412
并作如下操作:
最优任务序列:Mbest=M;
最优任务序列的最短移动距离:Dbest=D;
最优任务序列的最短移动距离对应的路径:Lbest=L。
7.根据权利要求6所述的一种基于布尔约束的机器人最优路径规划方法,其特征在于,所述的步骤六具体为:
对初始任务序列进行模拟退火操作,从初始温度
Figure FDA0003279735970000051
开始,并令
Figure FDA0003279735970000052
在每一个温度下充分搜索后以衰减系数α降温到下一个温度,
Figure FDA0003279735970000053
直到温度降低到终止温度
Figure FDA0003279735970000054
以下为止,
Figure FDA0003279735970000055
在每一个温度下的任务序列可能产生三种操作:
第一种操作,两点交换操作:
在任务序列
Figure FDA0003279735970000056
中随机选择两个中途任务
Figure FDA0003279735970000057
Figure FDA0003279735970000058
互换位置生成新的任务序列,假设i<j,即:
Figure FDA0003279735970000059
Figure FDA00032797359700000510
记作,
Figure FDA00032797359700000511
第二种操作,倒序操作:
在任务序列
Figure FDA00032797359700000512
中随机选择两个中途任务
Figure FDA00032797359700000513
Figure FDA00032797359700000514
并对包括在中途任务
Figure FDA00032797359700000515
Figure FDA00032797359700000516
之内的序列进行倒序操作,假设i<j,生成新的任务序列,即:
Figure FDA00032797359700000517
Figure FDA00032797359700000518
记作,
Figure FDA00032797359700000519
第三种操作,重***操作:
在“或”任务中随机选择一个任务集合
Figure FDA00032797359700000520
并从任务集合
Figure FDA00032797359700000521
随机选择一个任务
Figure FDA00032797359700000522
在任务序列M中找到属于任务集合
Figure FDA00032797359700000523
的中间任务
Figure FDA00032797359700000524
如果
Figure FDA00032797359700000525
Figure FDA00032797359700000526
相同,重新从任务集合
Figure FDA00032797359700000527
随机选择一个任务
Figure FDA00032797359700000528
直到
Figure FDA00032797359700000529
Figure FDA00032797359700000530
不同后用
Figure FDA00032797359700000531
代替任务序列M中的
Figure FDA0003279735970000061
即:
Figure FDA0003279735970000062
记作,
Figure FDA0003279735970000063
在得到新的任务序列M*后计算该任务序列的最短移动距离D*及其对应的路径L*,并作如下操作:
如果新的任务序列M*比任务序列M更优,即D*<D,则令:M=M*,D=D*,L=L*
另外,如新的任务序列M*比最优任务序列Mbest更优,即D*<Dbest,则令:
Mbest=M*,Dbest=D*,Lbest=L*
如果新的任务序列M*没有比任务序列M优,即D*>D,则以概率
Figure FDA0003279735970000064
接受这个新的任务序列,则令:
M=M*,D=D*,L=L*
8.根据权利要求7所述的一种基于布尔约束的机器人最优路径规划方法,其特征在于,所述的步骤七具体为:
当温度降低到终止温度
Figure FDA0003279735970000065
以下时,即
Figure FDA0003279735970000066
输出最优任务序列Mbest、最短移动距离Dbest及其对应的路径Lbest
CN202111128776.8A 2021-09-26 2021-09-26 一种基于布尔约束的机器人最优路径规划方法 Active CN113819919B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111128776.8A CN113819919B (zh) 2021-09-26 2021-09-26 一种基于布尔约束的机器人最优路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111128776.8A CN113819919B (zh) 2021-09-26 2021-09-26 一种基于布尔约束的机器人最优路径规划方法

Publications (2)

Publication Number Publication Date
CN113819919A true CN113819919A (zh) 2021-12-21
CN113819919B CN113819919B (zh) 2022-07-01

Family

ID=78921372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111128776.8A Active CN113819919B (zh) 2021-09-26 2021-09-26 一种基于布尔约束的机器人最优路径规划方法

Country Status (1)

Country Link
CN (1) CN113819919B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117075596A (zh) * 2023-05-24 2023-11-17 陕西科技大学 一种环境和运动不确定下的机器人复杂任务路径规划方法及***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107196858A (zh) * 2017-07-04 2017-09-22 西安理工大学 一种考虑多类型约束的k最短路径求解方法
US20180341894A1 (en) * 2017-05-24 2018-11-29 Telespazio S.P.A. Innovative satellite scheduling method based on genetic algorithms and simulated annealing and related mission planner
CN109141430A (zh) * 2018-09-04 2019-01-04 南京理工大学 基于模拟退火蚁群算法的电力巡检机器人路径规划方法
LU102400A1 (en) * 2019-08-06 2021-02-09 Nanjing Seawolf Ocean Tech Co Ltd Path planning method and system for unmanned surface vehicle based on improved genetic algorithm
CN112951399A (zh) * 2021-03-31 2021-06-11 广东医通软件有限公司 一种智能调度方法及调度***
CN112965500A (zh) * 2021-03-27 2021-06-15 同济大学 一种过必经点集且有额外硬约束的路径规划方法及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180341894A1 (en) * 2017-05-24 2018-11-29 Telespazio S.P.A. Innovative satellite scheduling method based on genetic algorithms and simulated annealing and related mission planner
CN107196858A (zh) * 2017-07-04 2017-09-22 西安理工大学 一种考虑多类型约束的k最短路径求解方法
CN109141430A (zh) * 2018-09-04 2019-01-04 南京理工大学 基于模拟退火蚁群算法的电力巡检机器人路径规划方法
LU102400A1 (en) * 2019-08-06 2021-02-09 Nanjing Seawolf Ocean Tech Co Ltd Path planning method and system for unmanned surface vehicle based on improved genetic algorithm
CN112965500A (zh) * 2021-03-27 2021-06-15 同济大学 一种过必经点集且有额外硬约束的路径规划方法及设备
CN112951399A (zh) * 2021-03-31 2021-06-11 广东医通软件有限公司 一种智能调度方法及调度***

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LIN, BL,ET AL.: "Integrating traffic routing optimization and train formation plan using simulated annealing algorithm", 《APPLIED MATHEMATICAL MODELLING》 *
方惠蓉: "基于遗传模拟退火算法的移动机器人路径规划", 《漳州职业技术学院学报》 *
李东等: "必经节点集约束型无环最短路径算法研究", 《杭州电子科技大学学报(自然科学版)》 *
王强等: "节点约束型链路分离算法", 《计算机工程与设计》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117075596A (zh) * 2023-05-24 2023-11-17 陕西科技大学 一种环境和运动不确定下的机器人复杂任务路径规划方法及***
CN117075596B (zh) * 2023-05-24 2024-04-26 陕西科技大学 一种环境和运动不确定下的机器人复杂任务路径规划方法及***

Also Published As

Publication number Publication date
CN113819919B (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
CN109542103B (zh) 一种基于烟花粒子群算法的机器人焊接路径规划方法
CN110632907B (zh) 一种分布式装配式置换流水车间调度优化方法及***
Svestka et al. Coordinated motion planning for multiple car-like robots using probabilistic roadmaps
Rossi et al. Integration of hybrid additive/subtractive manufacturing planning and scheduling by metaheuristics
CN111611274A (zh) 一种数据库查询优化方法和***
CN110802601B (zh) 一种基于果蝇优化算法的机器人路径规划方法
CN113139710B (zh) 一种基于遗传算法的多资源并行任务高级计划排程方法
CN113819919B (zh) 一种基于布尔约束的机器人最优路径规划方法
Tseng Guided genetic algorithms for solving a larger constraint assembly problem
CN109991950A (zh) 基于遗传算法的协作机器人装配生产线的平衡改善方法
Tseng et al. A particle swarm optimisation algorithm for multi-plant assembly sequence planning with integrated assembly sequence planning and plant assignment
Zhang et al. Robot path planning based on genetic algorithm with hybrid initialization method
Wang et al. Non-productive time optimization for 5-axis EDM drilling using HVNTS algorithm
CN116907490A (zh) 一种基于冲突搜索的多机器人路径规划方法
Huang et al. Obstacle-avoiding octagonal Steiner tree construction based on particle swarm optimization
Jiang et al. A control system of rail-guided vehicle assisted by transdifferentiation strategy of lower organisms
Ab Rashid et al. A novel Tiki-Taka algorithm to optimize hybrid flow shop scheduling with energy consumption
CN113792494B (zh) 基于迁徙鸟群算法和交叉融合的多目标柔性作业车间调度方法
Bahubalendruni Computer aided optimal robotic assembly sequence generation
Martinez Computational tools for genomic studies in plants
CN115700647A (zh) 一种基于禁忌搜索遗传算法的车间柔性作业调度方法
Zhang et al. A Robot Spraying Path Planning Method for the Digital Camouflage Pattern
CN117215275B (zh) 一种基于遗传编程的柔性车间大规模动态双效调度方法
CN102750460A (zh) 分层简化大规模图数据的运算方法
Chou et al. Niche Genetic Algorithm for Solving Multiplicity Problems in Genetic Association Studies.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant