一种实际环境下机器人路径规划方法及系统
未命名
09-10
阅读:120
评论:0

1.本发明涉及机器人智能仓储技术领域,具体而言,涉及一种实际环境下机器人路径规划方法及系统。
背景技术:
2.在机器人智能仓储领域,单机器人全局路径规划算法是至关重要的。随着物流和供应链业的发展,仓储成为了重要的环节之一。传统的仓储方式已经无法满足快速、高效和智能的要求。而ai技术的发展,为仓储行业的升级换代提供了新的思路和解决方案,特别是机器人智能仓储技术推动了仓储业的智能化进程。机器人智能仓储技术是利用自动化、智能化、信息化等技术手段,将机器人应用于实现仓储操作的自动化与智能化。
3.机器人智能仓储系统不仅能够提高工作效率,同时还可以减轻人力负担,降低成本,提高安全性。因此,机器人智能仓储技术在仓储行业具有广阔的应用前景。在实际应用中,机器人需要以较快的速度完成货物存放和取出任务,同时还需要保证运动过程中的安全性。然而,由于机器人在移动时有时会碰到障碍物,这是由于现有的机器人路径规划方法中,未考虑实际情况下机器人本身的大小差异,导致机器人在按照规划路线行走时,可能会发生机器人与障碍物发生碰撞,导致损伤货物或机器人自身,给工业、生产等带来一定的损失。
技术实现要素:
4.本发明要解决的技术问题是:
5.为了解决现有的机器人路径规划方法中,未考虑机器人在实际环境下的自身形状大小,可能会在行走过程中损坏货物或自身,造成工业或生产损失的问题。
6.本发明为解决上述技术问题所采用的技术方案:
7.本发明提供了一种实际环境下机器人路径规划方法,包括以下步骤:
8.步骤一、获取并输入起始点、目标节点和地图信息,将起始点添加进开放列表;
9.步骤二、获取路径,包括:
10.从起始点开始,即第一个当前节点为起始点,判断当前节点的相邻节点是否在开放列表中:若在,记录相邻节点中最小g值的节点,将当前节点作为该最小g值相邻节点的父节点;若不在,将该相邻节点加入开放列表并判断该相邻节点是否为目标节点,如果为目标节点,结束当前循环;如果不为目标节点,将当前节点作为该节点的父节点;
11.(2)将(1)中得到的当前节点移入关闭列表;
12.(3)采用改进的评价函数计算相邻节点的f值;
13.(4)选择开放列表中f值最小的节点,作为下一当前节点;
14.当开放列表不为空时重复上述步骤,否则跳到步骤三;
15.步骤三,若目标节点在关闭列表中,则从目标节点开始,沿着每一节点的父节点回溯到起始节点,保存路径;若目标节点不在关闭列表中,则无法找到路径;
16.步骤四、对路径点进行判断,若存在路径点与障碍物之间的最小距离小于最小安全距离则路径无效,否则保存路径,将保存的路径作为初次规划得到路径,最小安全距离定义为机器人中心到其最远边缘的距离;
17.步骤五:对初次规划得到路径进行再处理,在保证路径与障碍物之间的距离大于最小安全距离的情况下,去除路径中的第一类和第二类节点,得到最终路径。
18.进一步地,在步骤二(3)中,改进后的评价函数如式(1)所示,
19.f(n)=g(n)+h(n)+5.1/o(n)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
20.o(n)的计算公式如式(2)和(3)所示:
21.o(n)=min(dist)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0022][0023]
其中,f(n)代表评价函数;g(n)为起始点到当前节点n的观测评估值;h(n)为当前节点n到终点的估计评估值;o(n)为当前节点n与障碍物之间的最小距离,dist为当前节点与障碍物之间的距离;(xn,yn)为当前节点n的坐标;(xo(i),yo(i))为第i个障碍物的坐标;i为障碍物的数量。
[0024]
进一步地,在步骤四中,最小安全距离的条件式如式(4)所示,
[0025]
o(p)≥机器人中心至最远边缘距离
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0026]
其中,p为路径点。
[0027]
进一步地,在步骤五中,判断路径点是否为第一类节点的方法是,计算该节点前一段路径和后一段路径的斜率是否相同,设待判定路径点c的坐标为(xc,yc),其前一个路径点p1的坐标为(x
p1
,y
p1
),后一个路径点p2的坐标为(x
p2
,y
p2
),则这两段路径的斜率k1和k2分别为如式(5)和(6)所示:
[0028][0029][0030]
若k1与k2相同则判定该路径点为第一类节点,将其去除,若k1与k2不同,则保留该节点。
[0031]
进一步地,在步骤五中,判断去除第一类路径点后保留下来的路径点是否为第二类节点的方法为,首先将起始点与目标节点相连得到直线l
1n
,若该直线未经过障碍物并且直线l
1n
路径与障碍物的距离大于等于最小安全距离,则判定起始点与目标节点之间的路径点为第二类节点,保留直线l
1n
作为最终路径;若该直线经过障碍物,则将起始点与倒数第二个路径点相连得到直线l
1n-1
,若直线l
1n-1
未经过障碍物且与障碍物的距离大于等于最小安全距离,则判定起始点与倒数第二个路径点之间的路径点为第二类节点,将其去除,再将倒数第二个节点与目标点相连,确定最终路径;若直线l
1n-1
经过障碍物,则将起始点与倒数第三个路径点相连,以此类推,直到将起始点与目标节点无障碍的连接起来,去除第二类节点后得到的路径为最终路径。
[0032]
进一步地,第一类节点的去除与否不影响最终路径,第二类节点的去除用于避免机器人与障碍物发生碰撞,且路径长度缩短,转弯次数减少。
[0033]
进一步地,在步骤二(1)中,在判断当前节点的相邻节点是否在开放列表中前,需
要判断其是否存在以下三种情况,即是否为被障碍物占据、处于关闭列表中、与目标节点方向不一致,若是则需要忽略该节点,若不是则继续步骤二(1)的操作。
[0034]
一种实际环境下机器人路径规划系统,该系统具有与上述步骤对应的程序模块,运行时执行上述的实际环境下机器人路径规划方法中的步骤。
[0035]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现实际环境下机器人路径规划方法的步骤。
[0036]
相较于现有技术,本发明的有益效果是:
[0037]
本发明一种实际环境下机器人路径规划方法及系统,包括将起始点加入开放列表中,以起始点为第一个当前节点判断其相邻节点是否在开放列表中,若在则记录相邻节点中的g值最小的节点,当前节点为该节点的父节点,若不在则加入开放列表并判断是否为目标节点,若是则结束循环,若不是在将当前节点移入关闭列表,计算相邻节点的f值选择f值最小的节点作为下一当前节点,重复上述操作至开放列表为空,保存可用路径后在最小安全距离下进行再处理,去除路径中的第一类和第二类节点,得到最终路径;
[0038]
通过对传统a-star算法评价函数的改进使机器人远离障碍物,并提出运行过程中的最小安全距离,得到的有效路径需满足最小安全距离的约束,再处理后得到的最终路径更符合实际情况下的机器人运行,避免由于自身体型差异而导致的损伤货物或自身;
[0039]
能够保障机器人在运动时的安全性,对于确保机器人的长期可靠运行和使用至关重要;同时,这也是保障人员安全、提高工作效率、符合法律法规等多方面考虑的结果;且通过实验表明,本发明提出的算法在提高机器人工作效率方面综合性能更优,保证了仓储中工作的高效性与安全。
附图说明
[0040]
图1为本发明实施例中一种实际环境下机器人路径规划方法的流程图;
[0041]
图2为本发明实施例中路径再处理方法的示意图;
[0042]
图3为本发明实施例中改进a-star算法在不同环境下的路径对比图。
具体实施方式
[0043]
在本发明的描述中,应当说明的是,各实施例中的术语名词例如“上”、“下”、“前”、“后”、“左”、“右”等指示方位的词语,只是为了简化描述基于说明书附图的位置关系,并不代表所指的元件和装置等必须按照说明书中特定的方位和限定的操作及方法、构造进行操作,该类方位名词不构成对本发明的限制。
[0044]
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
[0045]
具体实施方案一:结合图1至图3所示,本发明提供一种实际环境下机器人路径规划方法,包括以下步骤:
[0046]
步骤一、获取并输入起始点、目标节点和地图信息,将起始点添加进开放列表;
[0047]
步骤二、获取路径,包括:
[0048]
(1)从起始点开始,即第一个当前节点为起始点,对当前节点的相邻节点进行判断,若相邻节点存在以下三种情况:被障碍物占据、处于关闭列表中、与目标节点方向不一
致,则忽略该节点;
[0049]
若不存在上述三种情况,则判断相邻节点是否在开放列表中:若在,记录相邻节点中最小g值的节点,将当前节点作为该最小g值相邻节点的父节点;若不在,将该相邻节点加入开放列表并判断该相邻节点是否为目标节点,如果为目标节点,结束当前循环;如果不为目标节点,将当前节点作为该节点的父节点;
[0050]
(2)将(1)中得到的当前节点移入关闭列表;
[0051]
(3)采用改进的评价函数计算相邻节点的f值;
[0052]
(4)选择开放列表中f值最小的节点,作为下一当前节点;
[0053]
当开放列表不为空时重复上述步骤,否则跳到步骤三;
[0054]
其中的,改进后的评价函数如式(1)所示,
[0055]
f(n)=g(n)+h(n)+5.1/o(n)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0056]
o(n)的计算公式如式(2)和(3)所示:
[0057]
o(n)=min(dist)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0058][0059]
其中,f(n)代表评价函数;g(n)为起始点到当前节点n的观测评估值;h(n)为当前节点n到终点的估计评估值;o(n)为当前节点n与障碍物之间的最小距离,dist为当前节点与障碍物之间的距离;(xn,yn)为当前节点n的坐标;(xo(i),yo(i))为第i个障碍物的坐标;i为障碍物的数量。
[0060]
步骤三,若目标节点在关闭列表中,则从目标节点开始,沿着每一节点的父节点回溯到起始节点,保存路径;若目标节点不在关闭列表中,则无法找到路径;
[0061]
步骤四、对路径点进行判断,若存在路径点与障碍物之间的最小距离小于最小安全距离则路径无效,否则保存路径,将保存的路径作为初次规划得到路径;最小安全距离定义为机器人中心到其最远边缘的距离,在规划出完整路径后,要按照最小安全距离的约束对路径进行判定,若存在不满足条件式(4)的路径点,则该路径无效,条件式(4)为:
[0062]
o(p)≥机器人中心至最远边缘距离
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0063]
其中,p为路径点;
[0064]
步骤五:对初次规划得到路径进行再处理,在保证路径与障碍物之间的距离大于最小安全距离的情况下,去除路径中的第一类和第二类节点,得到最终路径;
[0065]
在a-star算法规划得到的路径存在两类非必要节点,第一类节点不论去除还是保留对路径都没有影响,第二类节点去除后机器人不会与障碍物发生碰撞,且路径长度缩短,转弯次数减少;
[0066]
本发明提出判断路径点是否为第一类节点的方法是,计算该节点前一段路径和后一段路径的斜率是否相同,设待判定路径点c的坐标为(xc,yc),其前一个路径点p1的坐标为(x
p1
,y
p1
),后一个路径点p2的坐标为(x
p2
,y
p2
),则这两段路径的斜率k1和k2分别为如式(5)和(6)所示:
[0067][0068]
[0069]
若k1与k2相同则判定该路径点为第一类节点,将其去除,若k1与k2不同,则保留该节点。
[0070]
去除第一类路径点后,本发明对保留下来的路径点判断其是否为第二类节点,方法为:首先将起始点与目标节点相连得到直线l
1n
,若该直线未经过障碍物并且直线l
1n
路径与障碍物的距离大于等于最小安全距离,则判定起始点与目标节点之间的路径点为第二类节点,保留直线l
1n
作为最终路径;若该直线经过障碍物,则将起始点与倒数第二个路径点相连得到直线l
1n-1
,若直线l
1n-1
未经过障碍物且与障碍物的距离大于等于最小安全距离,则判定起始点与倒数第二个路径点之间的路径点为第二类节点,将其去除,再将倒数第二个节点与目标点相连,确定最终路径;若直线l
1n-1
经过障碍物,则将起始点与倒数第三个路径点相连,以此类推,直到将起始点与目标节点无障碍的连接起来;
[0071]
去除第二类节点后,即完成了本文对路径的再处理,有效减少了路径的转弯次数,从而缩短了路径长度,增加了机器人路径的安全性。
[0072]
路径再处理方法示例如图2所示。图中点a为起始点,点b为目标节点,图中路径[acfdeb]为初次规划所得路径,其中点c的前一段路径[ac]和后一段路径[cf]的斜率不同,因此保留路径点c,同理,将路径点d和e保留。而点f的前一段路径[cf]和后一段路径[fd]的斜率相同,因此路径点f为第一类节点,将其去除,保留下来的路径为[acdeb]。
[0073]
在该路径的基础上继续对路径点进行第二类节点的判定,首先将路径点a与点b相连,连线经过障碍物,则将点a与点e相连,连线仍经过障碍物,继续将点a与点d相连,连线未经过障碍物,并且可以看出直线[ad]比路径[acf]更加安全,可以判断出该直线与障碍物之间的最小距离大于最小安全距离,则判定点c为第二类节点,将其去除;同理,再将点d与目标点b相连,未经过障碍物且直线与障碍物之间的最小距离大于最小安全距离,判定点e为第二类节点,将其去除,最终保留下来的路径为[adb]。
[0074]
具体实施方案二:一种实际环境下机器人路径规划系统,该系统具有与上述步骤对应的程序模块,运行时执行上述的实际环境下机器人路径规划方法中的步骤。本实施方案的其他组合和连接关系与具体实施方案一相同。
[0075]
具体实施方案三:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现实际环境下机器人路径规划方法的步骤。本实施方案的其他组合和连接关系与具体实施方案二相同。
[0076]
实施例
[0077]
在相同地图、起始点和目标节点下理想环境和实际条件下得到的路径进行对比。
[0078]
实施例中采用30m
×
30m大小的地图,设路径起点为(4,1),终点为(26,29),保证了起点和终点的位置符合最小安全距离的约束。
[0079]
实验环境:cpu:12th gen intel(r)core(tm)i5-1240p 1.70ghz,16g ram,windows11。
[0080]
本发明将实际环境下得到的路径与理想环境下得到的路径进行对比,得到的路径如图3所示,相应指标如表1所示。
[0081]
表1不同环境下改进a-star算法性能比较
[0082][0083]
由表1可知,实际条件下的改进a-star算法在拐点数量、路径长度及计算时间的角度都与理想条件下的改进a-star算法相差不大,但明显优于传统a-star算法。改进a-star算法在两种条件下路径拐点数和路径长度在数值上相差较少,拐点数量相差2,路径长度相差1m以内,计算时间稍长但相差数值较小。但在与传统a-star算法进行对比时可发现,拐点数减少了8个或6个,访问节点数均低于传统a-star算法的访问节点数,计算时间均低于传统a-star算法的计算时间。结果表明,在降低拐点数的同时可降低与障碍物碰撞的概率,且减少了计算时间,进而增加的计算效率,在保证机器人行驶安全的前提下实际条件下改进a-star算法的性能能够满足智能仓储中的要求。
[0084]
降低障碍物的碰撞的概率一方面是因为在改进算法中自己加了安全距离,如果发生碰撞就代表路径小于安全距离,则会认为该路径是无效的,另一方面在结果图中也可以看出,理想条件下和实际的对比,理想得到的路径距离障碍物比较近,而实际条件下处理之后的路径距离障碍物较远,因此可以避免碰撞。
[0085]
虽然本发明公开披露如上,但本发明公开的保护范围并非仅限于此。本发明领域技术人员在不脱离本发明公开的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。
技术特征:
1.一种实际环境下机器人路径规划方法,其特征在于,包括以下步骤:步骤一、获取并输入起始点、目标节点和地图信息,将起始点添加进开放列表;步骤二、获取路径,包括:从起始点开始,即第一个当前节点为起始点,判断当前节点的相邻节点是否在开放列表中:若在,记录相邻节点中最小g值的节点,将当前节点作为该最小g值相邻节点的父节点;若不在,将该相邻节点加入开放列表并判断该相邻节点是否为目标节点,如果为目标节点,结束当前循环;如果不为目标节点,将当前节点作为该节点的父节点;(2)将(1)中得到的当前节点移入关闭列表;(3)采用改进的评价函数计算相邻节点的f值;(4)选择开放列表中f值最小的节点,作为下一当前节点;当开放列表不为空时重复上述步骤,否则跳到步骤三;步骤三、若目标节点在关闭列表中,则从目标节点开始,沿着每一节点的父节点回溯到起始节点,保存路径;若目标节点不在关闭列表中,则无法找到路径;步骤四、对路径点进行判断,若存在路径点与障碍物之间的最小距离小于最小安全距离则路径无效,否则保存路径,将保存的路径作为初次规划得到路径,最小安全距离定义为机器人中心到其最远边缘的距离;步骤五:对初次规划得到路径进行再处理,在保证路径与障碍物之间的距离大于最小安全距离的情况下,去除路径中的第一类和第二类节点,得到最终路径。2.根据权利要求1所述的一种实际环境下机器人路径规划方法,其特征在于:在步骤二(3)中,改进后的评价函数如式(1)所示,f(n)=g(n)+h(n)+5.1/o(n) (1)o(n)的计算公式如式(2)和(3)所示:o(n)=min(dist) (2)其中,f(n)代表评价函数;g(n)为起始点到当前节点n的观测评估值;h(n)为当前节点n到终点的估计评估值;o(n)为当前节点n与障碍物之间的最小距离,dist为当前节点与障碍物之间的距离;(x
n
,y
n
)为当前节点n的坐标;(x
o
(i),y
o
(i))为第i个障碍物的坐标;i为障碍物的数量。3.根据权利要求2所述的一种实际环境下机器人路径规划方法,其特征在于:在步骤四中,最小安全距离的条件式如式(4)所示,o(p)≥机器人中心至最远边缘距离
ꢀꢀꢀꢀꢀꢀꢀꢀ
(4)其中,p为路径点。4.根据权利要求3所述的一种实际环境下机器人路径规划方法,其特征在于:在步骤五中,判断路径点是否为第一类节点的方法是,计算该节点前一段路径和后一段路径的斜率是否相同,设待判定路径点c的坐标为(x
c
,y
c
),其前一个路径点p1的坐标为(x
p1
,y
p1
),后一个路径点p2的坐标为(x
p2
,y
p2
),则这两段路径的斜率k1和k2分别为如式(5)和(6)所示:
若k1与k2相同则判定该路径点为第一类节点,将其去除,若k1与k2不同,则保留该节点。5.根据权利要求4所述的一种实际环境下机器人路径规划方法,其特征在于:在步骤五中,判断去除第一类路径点后保留下来的路径点是否为第二类节点的方法为,首先将起始点与目标节点相连得到直线l
1n
,若该直线未经过障碍物并且直线l
1n
路径与障碍物的距离大于等于最小安全距离,则判定起始点与目标节点之间的路径点为第二类节点,保留直线l
1n
作为最终路径;若该直线经过障碍物,则将起始点与倒数第二个路径点相连得到直线l
1n-1
,若直线l
1n-1
未经过障碍物且与障碍物的距离大于等于最小安全距离,则判定起始点与倒数第二个路径点之间的路径点为第二类节点,将其去除,再将倒数第二个节点与目标点相连,确定最终路径;若直线l
1n-1
经过障碍物,则将起始点与倒数第三个路径点相连,以此类推,直到将起始点与目标节点无障碍的连接起来,去除第二类节点后得到的路径为最终路径。6.根据权利要求5所述的一种实际环境下机器人路径规划方法,其特征在于:第一类节点的去除与否不影响最终路径,第二类节点的去除用于避免机器人与障碍物发生碰撞,且路径长度缩短,转弯次数减少。7.根据权利要求6所述的一种实际环境下机器人路径规划方法,其特征在于:在步骤二(1)中,在判断当前节点的相邻节点是否在开放列表中前,需要判断其是否存在以下三种情况,即是否为被障碍物占据、处于关闭列表中、与目标节点方向不一致,若是则需要忽略该节点,若不是则继续步骤二(1)的操作。8.一种实际环境下机器人路径规划系统,其特征在于:该系统具有与上述权利要求1-7任一项权利要求的步骤对应的程序模块,运行时执行上述的实际环境下机器人路径规划方法中的步骤。9.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求1-7中任一项所述的实际环境下机器人路径规划方法的步骤。
技术总结
本发明提供一种实际环境下机器人路径规划方法及系统,属于智能仓储领域。为解决现有机器人路径规划中,未考虑机器人在实际环境下的自身大小,造成工业或生产损失问题。包括对当前节点判断其相邻节点是否在开放列表中,若在则记录相邻节点中g值最小节点,若不在则加入开放列表并判断是否为目标节点,若是则结束循环,若不是在将当前节点移入关闭列表,计算相邻节点的f值选择f值最小的节点作为下一当前节点,重复上述操作至开放列表为空,保存可用路径后在最小安全距离下进行再处理,得到最终路径。更符合实际情况下的机器人运行,避免由于自身体型差异而导致的损伤货物或自身,提高机器人工作效率,保证了仓储中工作的高效性与安全。与安全。与安全。
技术研发人员:焉晓贞 周新悦 罗清华 丁若晨 王晨旭 周志权 贾广乐
受保护的技术使用者:哈尔滨工业大学(威海)
技术研发日:2023.06.21
技术公布日:2023/9/7

版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/