一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于移动机器人的路径规划方法及程序产品与流程

2023-02-19 13:54:03 来源:中国专利 TAG:


1.本发明涉及移动机器人领域、尤其是移动机器人的运动控制领域,具体涉及一种用于移动机器人的路径规划方法、用于移动机器人的全局路径规划方法、一种用于移动机器人的运动控制方法以及相应的计算机程序产品。


背景技术:

2.随着经济快速增长、人力成本逐渐上升,移动机器人越来越广泛地应用于各种工业和家庭环境中。例如,自动引导车(agv)、自主移动机器人(amr)、叉车等移动机器人是现代物流系统的关键设备之一。移动机器人能够根据路径规划和作业要求运动并停靠到目标地点,以完成物料搬运输送等任务。路径规划是移动机器人的运动控制中的关键。
3.移动机器人在某些场景下需要精确地经过特定位置。例如,在特定位置处放置有二维码,移动机器人需要在经过该特定位置处时读取二维码。然而,在对移动机器人进行路径规划时,常出现规划的路径未准确地经过途经点的情况。
4.例如,在进行路径规划时,可能并未考虑途经点的精确位置,使得途经点未准确地位于规划的路径上,而是仅在规划的路径附近。例如,常用的teb算法虽然可以通过增加途经点的权重使局部规划轨迹尽量经过途经点,但由于teb算法本质上是多目标优化算法,因此仍然无法保证精确地经过途经点。或者,尽管在进行全局路径规划时考虑了途经点的精确位置,但途经点的位置相对于全局路径规划过程考虑的相应的途经点的位置存在偏差或在之后发生了变化。例如,二维码的放置位置可能存在一定的偏差。
5.现有技术在对于移动机器人的轨迹规划和运动控制方面仍然存在诸多不足。


技术实现要素:

6.本发明的目的在于提供一种改进的用于移动机器人的路径规划方法、全局路径规划方法和运动控制方法,以确保移动机器人能够沿光滑的路径运动并准确地经过途经点。
7.根据本发明的第一方面,提供了一种用于移动机器人的路径规划方法,其中,所述路径规划方法包括以下步骤:信息获取步骤s11,其中,获取待规划的第一路径的起点、终点和预定的途经点集合的位置信息,所述途经点集合为由至少一个途经点组成的集合;曲线确定步骤s12,其中,根据起点、终点和途经点集合的位置信息确定从起点开始经过所述至少一个途经点并在终点结束的光滑的曲线,所述曲线具有连续的二阶导数;路径确定步骤s13,其中,将所述光滑曲线作为移动机器人的第一路径。
8.在一个示例性实施例中,信息获取步骤s11还包括获取待规划的第一路径的附加约束信息,所述附加约束信息包括下述中的至少一者:预定的起点速度方向,其表示移动机器人在起点处的速度方向;预定的路径起点曲率,其表示待规划的第一路径在起点处的曲率;预定的终点速度方向,其表示移动机器人在终点处的速度方向;预定的路径终点曲率,其表示待规划的第一路径在终点处的曲率;预定的途经点速度方向,其表示移动机器人在所述至少一个途经点处的速度方向。在曲线确定步骤s12中,附加地根据附加约束信息确定
所述曲线。
9.在一个示例性实施例中,所述曲线为贝塞尔曲线或b样条曲线。
10.在一个示例性实施例中,所述至少一个途经点的数量为m,其中m为任意正整数,所述曲线为m 3阶贝塞尔曲线,所述贝塞尔曲线的第一个控制点和第m 4个控制点分别为起点和终点。
11.在一个示例性实施例中,所述曲线由下式表示:
[0012][0013]
其中,i=0,1,

,m 3,,m 3,表示贝塞尔曲线的控制点的坐标并且其中,控制点的坐标通过以下方式来确定:
[0014]
为起点的坐标,为终点的坐标;
[0015]
(x
1-x0)、(y
1-y0)分别与同正负,其中,是表示预定的起点速度方向的单位矢量;
[0016]
(x
m 3-x
m 2
)、(y
m 3-y
m 2
)分别与)分别与同正负,其中,是表示预定的终点速度方向的单位矢量;
[0017]
其中,表示所述至少一个途经点中的第j个途经点的坐标,j=1,2,

,m,表示第j个途经点对应的s的取值;
[0018]
与的方向相同,其中,是表示在第j个途经点处的预定的途经点速度方向的单位矢量,p

(s)表示的一阶导的坐标,表示在处的一阶导的坐标;
[0019]
将s=0和к(0)=к0代入中,其中,к0表示预定的路径起点曲率,p
x

(s)、py′
(s)、p
x

(s)、py″
(s)分别是的一阶导横、纵坐标和二阶导横、纵坐标;
[0020]
将s=1和к(1)=к1代入中,其中,к1表示预定的路径终点曲率。
[0021]
在一个示例性实施例中,途经点集合包含恰好一个途经点,在曲线确定步骤s12中确定的曲线由下式表示:
[0022]
[0023]
其中,表示贝塞尔曲线的控制点的坐标并且i=0,1,

,4,其中,控制点的坐标通过以下方式来确定:
[0024]
为起点的坐标,为终点的坐标;
[0025]
(x
1-x0)、(y
1-y0)分别与同正负,其中,是表示预定的起点速度方向的单位矢量;
[0026]
(x
4-x3)、(y
4-y3)分别与同正负,其中,是表示预定的终点速度方向的单位矢量;
[0027]
其中,(xv,yv)表示途经点的坐标,sv表示途经点对应的s的取值;
[0028]
其中,的第一分量和第二分量分别与和同正负,是表示在途经点处的预定的途经点速度方向的单位矢量;
[0029]
其中,к0表示预定的路径起点曲率,
[0030]
其中,к1表示预定的路径终点曲率。
[0031]
在一个示例性实施例中,移动机器人为差速机器人。
[0032]
根据本发明的第二方面,提出了一种用于移动机器人的全局路径规划方法,其中,
所述全局路径规划方法包括以下步骤:初始规划步骤s21,其中,获取用于移动机器人的初始的全局路径;途经点确定步骤s22,其中,确定途经点集合,途经点表示移动机器人需要经过的点,所述途经点集合为由至少一个途经点组成的集合,并且包含全局路径未经过的至少一个遗漏的途经点;局部路径确定步骤,其中,确定全局路径中的邻近途经点集合所包含的途经点的初始局部路径区段;重新规划步骤s24,其中,将所述初始局部路径区段的起始点和终止点分别作为起点和终点,基于起点、终点和途经点集合根据本发明的路径规划方法确定用于移动机器人的第一路径;以及路径替换步骤s25,其中,将全局路径中的初始局部路径区段替换为第一路径。
[0033]
在一个示例性实施例中,在重新规划步骤s24中,执行下述中的至少一者:使第一路径的起点速度方向等于初始局部路径区段的起点速度方向;使第一路径的路径起点曲率等于初始局部路径区段的路径起点曲率;使第一路径的终点速度方向等于初始局部路径区段的终点速度方向;使第一路径的路径终点曲率等于初始局部路径区段的路径终点曲率。
[0034]
在一个示例性实施例中,在重新规划步骤s24中,第一路径被确定为使得至少一个途经点处的速度方向满足以下条件中的一者:与初始局部路径区段上的距离相应的途经点最近的点的速度方向相同;与初始局部路径区段的起始点到终止点的方向相同;满足移动机器人在相应的途经点处的任务需求。
[0035]
在一个示例性实施例中,在途经点确定步骤s22中,确定移动机器人应经过的途经点,从全局路径未经过的遗漏的途经点中最靠近全局路径的起始点的第一途经点开始,将第一途经点和满足以下条件的途经点作为途经点集合中的途经点之一:全局路径上的相应地距离途经点集合中的各途经点最近的点中的每两个相邻点之间的路径长度小于预定的阈值。
[0036]
在一个示例性实施例中,在局部路径确定步骤中,初始局部路径区段的起始点和终止点被确定为使得:沿着全局路径的方向,初始局部路径区段的起始点位于全局路径上的所有分别距离途经点集合中的各途经点最近的点之前;沿着全局路径的方向,初始局部路径区段的终止点位于全局路径上的所有分别距离途经点集合中的各途经点最近的点之后。
[0037]
在一个示例性实施例中,所述全局路径规划方法还包括:重复执行途经点确定步骤s22、局部路径确定步骤s23、重新规划步骤s24和路径替换步骤s25,直到不存在移动机器人应经过而全局路径未经过的遗漏的途经点。
[0038]
根据本发明的第三方面,提供了一种用于移动机器人的运动控制方法,所述运动控制方法包括以下步骤:实时途经点检测步骤s31,其中,在移动机器人沿着规划路径运动期间,检测位于相对于移动机器人的当前位置点的预定距离范围内的规划路径未经过的至少一个遗漏的途经点,所述途经点表示移动机器人需要经过的点;实时途经点确定步骤s32,其中,确定途经点集合,所述途经点集合为由至少一个途经点组成的集合并且包含所述至少一个遗漏的途经点;实时局部路径确定步骤s33,其中,确定规划路径中的邻近途经点集合所包含的途经点的原局部路径区段;实时重新规划步骤s34,其中,将所述原局部路径区段的起始点和终止点分别作为起点和终点,基于起点、终点和途经点集合根据本发明的路径规划方法确定用于移动机器人的第一路径;以及实时路径替换步骤s35,其中,将规划路径中的原局部路径区段替换为第一路径,并控制移动机器人按照替换后的规划路径运
动。
[0039]
在一个示例性实施例中,在实时局部路径确定步骤s33中,将移动机器人的当前位置点作为原局部路径区段的起始点。
[0040]
在一个示例性实施例中,在实时重新规划步骤s34中,执行下述中的至少一者:使第一路径的起点速度方向等于原局部路径区段的起点速度方向;使第一路径的路径起点曲率等于原局部路径区段的路径起点曲率;使第一路径的终点速度方向等于原局部路径区段的终点速度方向;使第一路径的路径终点曲率等于原局部路径区段的路径终点曲率。
[0041]
在一个示例性实施例中,在实时重新规划步骤s34中,第一路径被确定为使得至少一个途经点处的速度方向满足以下条件中的一者:与原局部路径区段上的距离相应的途经点最近的点的速度方向相同;与原局部路径区段的起始点到终止点的方向相同;满足移动机器人在相应的途经点处的任务需求。
[0042]
在一个示例性实施例中,在实时途经点确定步骤s32中,将所述至少一个遗漏的途经点和满足以下条件的途经点作为途经点集合中的途经点之一:规划路径上的相应地距离途经点集合中的各途经点最近的点中的每两个相邻点之间的路径长度小于预定的阈值。
[0043]
在一个示例性实施例中,在实时局部路径确定步骤s33中,原局部路径区段的起始点和终止点被确定为使得:沿着规划路径的方向,原局部路径区段的起始点位于规划路径上的所有分别距离途经点集合中的各途经点最近的点之前;沿着规划路径的方向,原局部路径区段的终止点位于规划路径上的所有分别距离途经点集合中的各途经点最近的点之后。
[0044]
在一个示例性实施例中,所述运动控制方法还包括:重复执行实时途经点确定步骤s32、实时局部路径确定步骤s33、实时重新规划步骤s34和实时路径替换步骤s35,直到不存在移动机器人应经过而规划路径未经过的遗漏的途经点。
[0045]
根据本发明的第四方面,提供了一种计算机程序产品,其包括计算器程序指令,其中,当所述计算机程序指令被一个或多于一个处理器执行时,所述处理器够执行根据本发明的路径规划方法或根据本发明的全局路径规划方法或根据本发明的运动控制方法。
[0046]
通过本发明,可得到从起点开始准确地经过特定的途经点并在终点结束的光滑的路径。由此,移动机器人可沿着光滑的路径精确地经过特定的途经点,进而能够在途经点处完成任务。
附图说明
[0047]
下面,通过参看附图更详细地描述本发明,可以更好地理解本发明的原理、特点和优点。附图包括:
[0048]
图1示意性地示出了根据本发明的一个示例性实施例的路径规划方法的流程图;
[0049]
图2示意性地示出了通过根据本发明的一个示例性实施例的路径规划方法得到的第一路径;
[0050]
图3示意性地示出了根据本发明的一个示例性实施例的用于移动机器人的全局路径规划方法的流程图;
[0051]
图4a、图4b和图4c示意性地示出了通过根据本发明的一个示例性实施例的全局路径规划方法进行全局路径规划的过程;以及
[0052]
图5示意性的示出了根据本发明的一个示例性实施例的用于移动机器人的运动控制方法。
具体实施方式
[0053]
为了使本发明所要解决的技术问题、技术方案以及有益的技术效果更加清楚明白,以下将结合附图以及多个示例性实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,而不是用于限定本发明的保护范围。
[0054]
本发明适用于移动机器人1,其可以是任何能够自主地进行空间移动的机器人,例如agv、amr等。所述移动机器人1可用于执行各种任务,例如用作仓储机器人、清扫型机器人、家庭陪护机器人、迎宾机器人等。
[0055]
应理解,在本文中,表述“第一”、“第二”等仅用于描述性目的,而不应理解为指示或暗示相对重要性,也不应理解为隐含指明所指示的技术特征的数量。限定有“第一”、“第二”的特征可以明示或者隐含地表示包括至少一个该特征。
[0056]
图1示意性地示出了根据本发明的一个示例性实施例的用于移动机器人1的路径规划方法的流程图。所述路径规划方法包括以下步骤:
[0057]
信息获取步骤s11,其中,获取待规划的第一路径2的起点、终点和预定的途经点集合的位置信息,所述途经点集合为由至少一个途经点组成的集合;
[0058]
曲线确定步骤s12,其中,根据起点、终点和途经点集合的位置信息确定从起点开始经过所述至少一个途经点并在终点结束的光滑的曲线,所述曲线具有连续的二阶导数;以及
[0059]
路径确定步骤s13,其中,将所述光滑曲线作为移动机器人1的第一路径2。
[0060]
移动机器人1在某些场景下需要精确经过特定位置以完成任务。例如,移动机器人1可包括扫码器,并具有在特定位置处扫描二维码的任务。通过这种路径规划方法,可得到从起点开始准确地经过特定的途经点并在终点结束的光滑的第一路径2。由此,移动机器人1可沿着光滑的路径精确地经过特定的途经点,进而能够在途经点处完成任务。
[0061]
图2示意性地示出了通过根据本发明的一个示例性实施例的路径规划方法得到的第一路径2。
[0062]
在图2所示的实施例中,移动机器人1例如为差速机器人,即移动机器人1包括差速轮运动系统。对于差速机器人而言,规划的第一路径2具有连续的二阶导数能够特别有利地适应差速机器人的运动特性。特别是,第一路径2能够具有连续的曲率。这使得移动机器人的速度和加速度的变化更平缓。替代地,移动机器人1也可以是其它类型的机器人,例如单舵轮机器人或双舵轮机器人等。相应地,移动机器人1例如可包括双舵轮运动系统。
[0063]
移动机器人1例如还包括传感器。在信息获取步骤s11中,可通过传感器的检测结果来获取所需的信息、如位置信息。移动机器人1例如还包括用于与其它设备、例如调度控制系统进行通信的通信装置。在信息获取步骤s11中,可通过通信装置接收到的信号来获取所需的信息。
[0064]
移动机器人1例如还包括控制器。控制器用于移动机器人1的部件,所述部件例如包括差速轮运动系统、传感器、通信装置等。控制器还可以通过通信线路接收相应部件、例如传感器的工作状态或检测数据,用以监测或控制移动机器人1的操作。路径规划方法例如
可借助于控制器来执行,也可借助于能够与控制器进行数据交换的另外的设备、例如调度控制系统来执行。
[0065]
在图2所示的实施例中,在曲线确定步骤s12中确定的曲线为贝塞尔曲线。替代地,所述曲线也可以使其它类型的光滑曲线,例如多项式曲线或b样条曲线、特别是clamped-b样条曲线、例如nurbs曲线。
[0066]
信息获取步骤s11例如还包括获取待规划的第一路径2的附加约束信息,所述附加约束信息包括下述中的至少一者:预定的起点速度方向,其表示移动机器人1在起点处的速度方向;预定的路径起点曲率,其表示待规划的第一路径2在起点处的曲率;预定的终点速度方向,其表示移动机器人1在终点处的速度方向;预定的路径终点曲率,其表示待规划的第一路径2在终点处的曲率;预定的途经点速度方向,其表示移动机器人1在所述至少一个途经点处的速度方向。相应地,在曲线确定步骤s12中,附加地根据附加约束信息确定所述曲线。借助于附加约束信息,能够获得更符合需求的第一路径2。
[0067]
图2中示出了途经点集合包含恰好一个途经点的情况。在此,在曲线确定步骤s12中确定的曲线可由下式表示:
[0068][0069]
其中,表示贝塞尔曲线的控制点的坐标并且i=0,1,

,4。上式(1)可以以矩阵形式表示如下:
[0070][0071]
第一控制点的坐标可设定为起点的坐标,第五控制点的坐标为终点的坐标。
[0072]
下面将示例性地描述确定其它控制点的过程。
[0073]
将式(2)对s进行求导可得:
[0074][0075]
当s=0,当s=1,可以看出,在起点和终点处的切线方向与起始和终止的相邻两个控制点的连线方向平行。
[0076]
换言之,第一控制点与第二控制点连线方向即为起点处的轨迹方向。将预定的起点速度方向用单位矢量表示,则第一控制点和第二控制点具有以下关系:
[0077][0078]
其中且(x
1-x0)、(y
1-y0)分别与同正负。由此,可使得规划的第一路径2具有预定的起点速度方向。这对于差速机器人而言尤为有利,因为差速机器人的速度方向只能沿着差速机器人本身的前方方向。在差速机器人在起点处具有给定的起点位姿的情况下,由此规划的第一路径2具有与所述给定的位姿相匹配的起点速度方向。
[0079]
同理,第四控制点与第五控制点连线方向即为终点处的轨迹方向。将预定的终点速度方向用单位矢量表示,则第四控制点和第五控制点具有以下关系:
[0080][0081]
其中且(x
4-x3)、(y
4-y3)分别与同正负。由此,可使得规划的第一路径2具有预定的终点速度方向。这对于差速机器人而言尤为有利。在差速机器人在终点处具有给定的终点位姿的情况下,由此规划的第一路径2具有与所述给定的位姿相匹配的终点速度方向。
[0082]
为了使第一路径2准确地经过途经点,应使途经点位于曲线上。用pv(xv,yv)表示途经点的坐标,并用sv表示途经点对应的s的取值,其中sv∈(0,1),则途经点满足下式:
[0083][0084]
另外,还可设定移动机器人1在途经点处的速度方向(即,预定的途经点速度方向)。将预定的途经点速度方向用单位矢量表示,则预定的途经点速度方向满足下式:
[0085][0086]
其中,的第一分量和第二分量分别与和同正负。
[0087]
为了获得更优化的第一路径2,还可考虑第一路径2在起点和终点处的曲率。四阶
贝塞尔曲线的曲率公式如下:
[0088][0089]
其中p
x

(s)、py′
(s)、p
x

(s)、py″
(s)分别是式(1)中的一阶导横、纵坐标和二阶导横、纵坐标。当s=0时,根据式(3)可得p
x

(0)=-4x0 4x1,py′
(0)=-4y0 4y1。对式(3)的s再求一次导数可得:
[0090][0091]
由式(9)可知,p
x

(0)=12x
0-24x1 12x2,py″
(0)=12y
0-24y1 12y2。用к0表示预定的路径起点曲率,则第一路径2在起点处的曲率满足下式:
[0092][0093]
对于差速机器人,运动轨迹的曲率可通过角速度大小与线速度大小之比得出。通过设定起点p0处的线速度大小为v0,角速度大小为ω0,可设定预定的路径起点曲率同理可得终点处的预定的路径终点曲率。
[0094]
通过式(3)和式(8)还可得到:p
x

(1)=4(x
4-x3),py′
(1)=4(y
4-y3),p
x

(1)=12(x
2-2x3 x4),py″
(1)=12(y
2-2y3 y4)。用к1表示预定的路径终点曲率,则第一路径2在终点处的曲率满足下式:
[0095][0096]
通过上述式(4)、式(5)、式(6)、式(7)、式(10)和式(11),可以得出控制点p1、p2和p3的坐标。换言之,在第一路径2满足从起点经过途经点达到终点的情况下,通过将预定的起点速度方向、预定的路径起点曲率、预定的终点速度方向、预定的路径终点曲率、预定的途经点速度方向作为附加约束条件,可得出第二、三、四控制点的坐标。第一控制点和第五控制点的坐标已经通过第一路径2的起点和终点确定。由此,可确定式(1)表示的四阶贝塞尔曲线的五个控制点,进而确定整条曲线。通过如上设定的附加约束条件可获得特别适应于差速机器人的运动特性的第一路径2。应理解,也可考虑其它约束条件来确定曲线,例如考虑曲线的总长度等。
[0097]
显然,在根据本发明的另外的实施例中,途经点集合也可包含不止一个途经点。在途经点集合包含的途经点的数量为m(m为任意正整数)的情况下,所述曲线例如可以是m 3阶贝塞尔曲线,所述贝塞尔曲线的第一个控制点和第m 4个控制点分别为第一路径2的起点
和终点。
[0098]
在这种情况下,在曲线确定步骤s12中,曲线可由下式表示:
[0099][0100]
其中,i=0,1,

,m 3,,m 3,表示贝塞尔曲线的控制点的坐标并且
[0101]
控制点的坐标可通过以下方式来确定:
[0102]
为起点的坐标,为终点的坐标;
[0103]
(x
1-x0)、(y
1-y0)分别与同正负,其中,是表示预定的起点速度方向的单位矢量;
[0104]
(x
m 3-x
m 2
)、(y
m 3-y
m 2
)分别与)分别与同正负,其中,是表示预定的终点速度方向的单位矢量;其中,表示所述至少一个途经点中的第j个途经点的坐标,j=1,2,

,m,表示第j个途经点对应的s的取值;
[0105]
与的方向相同,其中,是表示在第j个途经点处的预定的途经点速度方向的单位矢量,p

(s)表示的一阶导的坐标,表示在处的一阶导的坐标;
[0106]
将s=0和к(0)=к0代入中,其中,к0表示预定的路径起点曲率;以及
[0107]
将s=1和к(1)=к1代入中,其中,к1表示预定的路径终点曲率。
[0108]
当m》1时,确定各控制点的方式与上文针对图2所示的m=1的情况所描述的方式类似。不同之处主要在于,当途经点的数量大于1时,每增加一个途经点,则根据途经点坐标和途经点处的速度方向增加两个附加约束条件。相应地,贝塞尔曲线的阶数增加一阶,需要多确定一个附加的控制点的坐标,这可通过增加两个附加约束条件来实现。
[0109]
图3示意性地示出了根据本发明的一个示例性实施例的用于移动机器人1的全局路径规划方法的流程图。如图3所示,所述全局路径规划方法包括以下步骤:
[0110]
初始规划步骤s21,其中,获取用于移动机器人1的初始的全局路径3;
[0111]
途经点确定步骤s22,其中,确定途经点集合,途经点表示移动机器人1需要经过的点,所述途经点集合为由至少一个途经点组成的集合,并且包含全局路径3未经过的至少一个遗漏的途经点;
[0112]
局部路径确定步骤s23,其中,确定全局路径3中的邻近途经点集合所包含的途经点的初始局部路径区段31;
[0113]
重新规划步骤s24,其中,将所述初始局部路径区段31的起始点和终止点分别作为起点和终点,基于起点、终点和途经点集合根据本发明的路径规划方法确定用于移动机器人1的第一路径2;以及
[0114]
路径替换步骤s25,其中,将全局路径3中的初始局部路径区段31替换为第一路径2。
[0115]
目前,在对移动机器人1进行全局路径规划时,常出现规划的全局路径3未经过需要经过的所有途经点的情况。例如,在进行全局路径规划时,可能并未考虑途经点的精确位置,使得途经点未准确地位于规划得到的全局路径3上,而是仅在全局路径3附近。或者,尽管在进行全局路径规划时考虑了途经点的精确位置,但(部分)途经点的位置相对于全局路径规划过程考虑的相应的途经点的位置存在偏差或在之后发生了变化,例如移动机器人1需扫描的二维码的放置位置可能相对于进行全局规划过程中考虑的途经点位置存在一定的偏差。又如,可能在完成全局路径规划之后,例如由于任务设置或环境变动等原因,增加了移动机器人1需要经过的新的途经点。
[0116]
借助于上述全局路径规划方法,即使出现初始的全局路径3未经过需要经过的所有途经点的情况,也无需重新进行完整的全局路径规划过程。而是,可在初始的全局路径3的基础上进行优化,以得到更优化的新的全局路径3,使得新的全局路径3准确地经过途经点,并且能够较少地偏离初始的全局路径3。
[0117]
全局路径规划方法例如可借助于移动机器人的控制器来执行,也可借助于能够与控制器进行数据交换的另外的设备、例如调度控制系统来执行。
[0118]
初始的全局路径3可利用任何适用的已知方法来获取。例如,可通过a星(a*)算法来规划初始的全局路径3。通常,初始的全局路径3已经考虑了对于移动机器人1的约束条件和优化目标的较优的路径。例如,初始的全局路径3可能是从起始点到终止点的最短路径。根据本发明的全局路径规划方法在较少地偏离初始的全局路径3的基础上进行局部优化,能够保持初始的全局路径3的优点、例如短路径长度。另外,能够简化规划过程,减少计算量。
[0119]
图4a、图4b和图4c示意性地示出了通过根据本发明的一个示例性实施例的全局路径规划方法进行全局路径规划的过程,其中,图4b和图4c是图4a中的方框b和c所框出的部分的放大视图。下面结合图4a、图4b和图4c,示例性地描述根据本发明的一个示例性实施例的全局路径规划方法的执行过程。
[0120]
首先,在初始规划步骤s21中,获取用于移动机器人1的初始的全局路径3。如图4a所示,初始的全局路径3未准确地经过所有的途经点。
[0121]
然后,在途经点确定步骤s22中,确定途经点集合。例如,在途经点确定步骤s22中,确定移动机器人1应经过的途经点并确定全局路径3未经过的遗漏的途经点,如途经点p
v1
和途经点p
v2
。从全局路径3未经过的遗漏的途经点中最靠近全局路径3的起始点的第一途经点
(以途经点p
v1
为例)开始,将第一途经点和满足以下条件的途经点(可位于或不位于当前的全局路径3上)作为途经点集合中的途经点之一:全局路径3上的相应地距离途经点集合中的各途经点最近的点中的每两个相邻点之间的路径长度小于预定的阈值。
[0122]
图4b示意性地示出了在遗漏的途经点p
v1
处的放大视图。下面以途经点p
v1
为例进行说明。为简化说明的目的,途经点集合在此示例性地仅包含一个途经点p
v1
。然而,如上文所述,途经点集合也可包含多于一个途经点。例如,如果在该放大视图中所示的途经点pv附近还有另外的途经点,则可将所述另外的途经点也纳入途经点集合,以使得在重新规划步骤s24获得的第一路径2附加地经过所述另外的途经点。
[0123]
在局部路径确定步骤s23中,确定全局路径3中的邻近途经点集合所包含的途经点的初始局部路径区段31。例如,初始局部路径区段31的起始点和终止点被确定为使得:沿着全局路径3的方向,初始局部路径区段31的起始点位于全局路径3上的所有分别距离途经点集合中的各途经点最近的点之前、例如在之前的间隔预定的第一路径2长度(例如2m)处;沿着全局路径3的方向,初始局部路径区段31的终止点位于全局路径3上的所有分别距离途经点集合中的各途经点最近的点之后、例如在之后的间隔预定的第二路径长度(例如2m)处。第二路径长度例如可设定为小于或等于预定的阈值。
[0124]
在重新规划步骤s24中,将所述初始局部路径区段31的起始点和终止点分别作为起点和终点,基于起点、终点和途经点集合根据本发明的路径规划方法确定用于移动机器人1的第一路径2。在重新规划步骤s24中,可执行下述中的至少一者:使第一路径2的起点速度方向等于初始局部路径区段31的起点速度方向;使第一路径2的路径起点曲率等于初始局部路径区段31的路径起点曲率;使第一路径2的终点速度方向等于初始局部路径区段31的终点速度方向;使第一路径2的路径终点曲率等于初始局部路径区段31的路径终点曲率。由此,可设定用于第一路径2的附加约束条件,使得第一路径2具有与初始局部路径区段31一致的起点速度方向、路径起点曲率、终点速度方向、路径终点曲率。因此,在将初始局部路径区段31替换为第一路径2时,能够实现无缝衔接。换言之,能够实现尽可能平滑的衔接,而不会出现速度或曲率的突变。
[0125]
在图4b所示的实施例中,第一路径2被确定为使得途经点p
v1
处的速度方向与初始局部路径区段31上的距离途经点p
v1
最近的点的速度方向相同。由此,可减小第一路径2相对于初始局部路径区段31的偏离程度。
[0126]
替代地或附加地,第一路径2也可被确定为使得至少一个途经点处的速度方向与初始局部路径区段31的起始点到终止点的方向相同。由此,可有利于得到较为平缓的第一路径2。
[0127]
替代地或附加地,第一路径2也可被确定为使得至少一个途经点处的速度方向满足移动机器人1在相应的途经点处的任务需求。由此,可有利于移动机器人1在沿着第一路径2经过途经点时方便地完成其任务。例如,如果移动机器人1需要在途经点p
v1
处完成扫描布置在此的二维码的任务,则第一路径2可被确定为使得在途经点p
v1
处的速度方向有利于移动机器人1在经过途经点p
v1
时以扫码器正对着布置在此的二维码。
[0128]
在路径替换步骤s25中,将全局路径3中的初始局部路径区段31替换为第一路径2(在图4a中以虚曲线示意性地示出)。由此,可得到新的全局路径3。
[0129]
参见图4a,在得到新的全局路径3之后,可将所述新的全局路径3作为当前的全局
路径3,然后,重复执行途经点确定步骤s22、局部路径确定步骤s23、重新规划步骤s24和路径替换步骤s25,直到不存在移动机器人1应经过而全局路径3未经过的遗漏的途经点(参见图3中的虚线所示)。例如,在途经点p
v1
附近的初始局部路径区段31被替换之后,可将途经点p
v2
作为全局路径3未经过的遗漏的途经点中最靠近全局路径3的起始点的第一途经点,并从途经点p
v2
开始再次确定途经点集合。
[0130]
图5示意性的示出了根据本发明的一个示例性实施例的用于移动机器人1的运动控制方法。所述运动控制方法包括以下步骤:
[0131]
实时途经点检测步骤s31,其中,在移动机器人1沿着规划路径运动期间,检测位于相对于移动机器人1的当前位置点的预定距离范围内的规划路径未经过的至少一个遗漏的途经点,所述途经点表示移动机器人1需要经过的点;
[0132]
实时途经点确定步骤s32,其中,确定途经点集合,所述途经点集合为由至少一个途经点组成的集合并且包含所述至少一个遗漏的途经点;
[0133]
实时局部路径确定步骤s33,其中,确定规划路径中的邻近途经点集合所包含的途经点的原局部路径区段;
[0134]
实时重新规划步骤s34,其中,将所述原局部路径区段的起始点和终止点分别作为起点和终点,基于起点、终点和途经点集合根据本发明的路径规划方法确定用于移动机器人1的第一路径2;以及
[0135]
实时路径替换步骤s35,其中,将规划路径中的原局部路径区段替换为第一路径2,并控制移动机器人1按照替换后的规划路径运动。
[0136]
如上文所述,对于移动机器人1,常出现其规划路径未经过需要经过的所有途经点的情况。以常用的teb算法为例,虽然teb算法可以通过增加途经点的权重使局部规划轨迹尽量经过途经点,但由于teb算法本质上是多目标优化算法,因此无法保证精确地经过途经点。
[0137]
借助于上述运动控制方法,即使出现移动机器人1的原规划路径未经过需要经过的所有途经点的情况,也可在移动机器人1运动过程中优化其规划路径,以确保在途经点附近的规划路径精确地经过途经点,并且能够较少地偏离原规划路径。
[0138]
原规划路径可利用任何适用的已知方法来获取。例如,原规划路径可通过a星算法来规划。根据本发明的运动控制方法在较少地偏离原规划路径的基础上进行局部优化,能够保持原规划路径的优点、例如短路径长度。另外,能够简化规划过程,减少计算量。
[0139]
运动控制方法例如可借助于移动机器人的控制器来执行。
[0140]
在实时局部路径确定步骤s33中,可将移动机器人1的当前位置点作为原局部路径区段的起始点。
[0141]
可选地,在实时重新规划步骤s34中,执行下述中的至少一者:使第一路径2的起点速度方向等于原局部路径区段的起点速度方向;使第一路径2的路径起点曲率等于原局部路径区段的路径起点曲率;使第一路径2的终点速度方向等于原局部路径区段的终点速度方向;使第一路径2的路径终点曲率等于原局部路径区段的路径终点曲率。
[0142]
可选地,在实时重新规划步骤s34中,第一路径2被确定为使得至少一个途经点处的速度方向满足以下条件中的一者:与原局部路径区段上的距离相应的途经点最近的点的速度方向相同;与原局部路径区段的起始点到终止点的方向相同;满足移动机器人1在相应
的途经点处的任务需求。
[0143]
可选地,在实时途经点确定步骤s32中,将所述至少一个遗漏的途经点和满足以下条件的途经点作为途经点集合中的途经点之一:规划路径上的相应地距离途经点集合中的各途经点最近的点中的每两个相邻点之间的路径长度小于预定的阈值。
[0144]
可选地,在局部路径确定步骤中,原局部路径区段的起始点和终止点被确定为使得:沿着规划路径的方向,原局部路径区段的起始点位于规划路径上的所有分别距离途经点集合中的各途经点最近的点之前;沿着规划路径的方向,原局部路径区段的终止点位于规划路径上的所有分别距离途经点集合中的各途经点最近的点之后。
[0145]
在实时路径替换步骤s35之后,规划路径中的原局部路径区段被替换为第一路径2,并形成新的规划路径。在得到新的规划路径之后,可将所述新的规划路径作为当前的规划路径,然后,重复执行实时途经点确定步骤s32、实时局部路径确定步骤s33、实时重新规划步骤s34和实时路径替换步骤s35,直到不存在移动机器人1应经过而规划路径未经过的遗漏的途经点。
[0146]
根据本发明的运动控制方法与根据本发明的路径规划方法和全局规划方法具有对应的特性和相似的原理。上文中针对路径规划方法和全局规划方法所描述的特征和优势,也可相应地适用于运动控制方法。
[0147]
另外,本发明还涉及一种计算机程序产品,其包括计算器程序指令,当所述计算机程序指令被一个或多于一个处理器执行时,所述处理器能够执行根据本发明的路径规划方法、全局规划方法或运动控制方法。
[0148]
在本发明中,计算机程序产品可存储在计算机可读存储介质中。计算机可读存储介质例如可包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其它易失性固态存储器件。处理器10可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器等。
[0149]
尽管这里详细描述了本发明的特定实施方式,但它们仅仅是为了解释的目的而给出的,而不应认为它们对本发明的范围构成限制。在不脱离本发明精神和范围的前提下,各种替换、变更和组合可被构想出来。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献