CN115760911A - 示教路径处理方法、装置、计算机设备和存储介质 - Google Patents
示教路径处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115760911A CN115760911A CN202211354857.4A CN202211354857A CN115760911A CN 115760911 A CN115760911 A CN 115760911A CN 202211354857 A CN202211354857 A CN 202211354857A CN 115760911 A CN115760911 A CN 115760911A
- Authority
- CN
- China
- Prior art keywords
- path
- path point
- smoothed
- vector
- turning
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
本申请涉及一种示教路径处理方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:通过获取机器人示教过程中生成的路径点集;对所述路径点集进行预处理,得到目标路径点集;根据所述目标路径点集中路径点的曲率突变情况,从所述目标路径点集中识别出待平滑的转弯路径点;对所述待平滑的转弯路径点进行路径曲线平滑处理。在生成示教路径前,通过删除路径点集中的异常数据点,并对待平滑的转弯路径点进行路径曲线平滑处理,使得生成的示教路径不仅平滑,而且满足运动学约束,从而提高了机器人在导航过程中的执行效率。
Description
技术领域
本申请涉及机器人技术领域,特别是涉及一种示教路径处理方法、装置、计算机设备和存储介质。
背景技术
随着机器人技术的发展,出现了机器人示教技术。目前,大多数机器人示教技术是通过手持示教器操纵机器人按操纵的路径行走,得到一系列路径点集,再通过路径点集生成示教路径。
然而,由于手持示教器示教过程中不可避免会出现传感器异常的问题和示教路径比较随意的问题,因而路径点集中包括大量异常的路径点。通过路径点集生成的示教路径不仅准确度和精确度低,而且还不符合机器人运动学模型约束,从而造成机器人按照示教路径导航时执行效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高机器人执行效率的示教路径处理方法、装置、计算机设备和计算机可读存储介质。
第一方面,本申请提供了一种示教路径处理方法。所述方法包括:
获取机器人示教过程中生成的路径点集;
对路径点集进行预处理,得到目标路径点集;
根据目标路径点集中路径点的曲率突变情况,从目标路径点集中识别出待平滑的转弯路径点;
对待平滑的转弯路径点进行路径曲线平滑处理。
在其中一个实施例中,对路径点集进行预处理,得到目标路径点集,包括:
依次确定路径点集中当前路径点与后一个路径点之间的距离差值;
若距离差值大于距离阈值,则删除当前路径点,将删除当前路径点后的路径点集作为初步路径点集;
对初步路径点集进行插值处理,得到目标路径点集。
在其中一个实施例中,对待平滑的转弯路径点进行路径曲线平滑处理后得到初始示教路径;对待平滑的转弯路径点进行路径曲线平滑处理之后,还包括:
确定初始示教路径中的碰撞路径点;碰撞路径点是定位跳变的路径点;
将碰撞路径点进行平移,得到无碰撞的目标示教路径。
在其中一个实施例中,根据目标路径点集中路径点的曲率突变情况,从目标路径点集中识别出待平滑的转弯路径点,包括:
从目标路径点集中依次确定当前路径点,确定与当前路径点相邻的在先路径点和在后路径点,当前路径点和在先路径点均无曲率突变情况;
确定第一向量和第二向量之间的第一向量夹角,第一向量是在先路径点与当前路径点组成的方向向量,第二向量是当前路径点与在后路径点组成的方向向量;
根据第一向量夹角校验在后路径点是否为待平滑的转弯路径点。
在其中一个实施例中,根据第一向量夹角校验在后路径点是否为待平滑的转弯路径点,包括:
若第一向量夹角大于夹角阈值,则确定第三向量与第一向量之间的第二向量夹角,第三向量是当前路径点与相邻在后路径点组成的方向向量;相邻在后路径点是当前路径点的在后路径点之后的相邻路径点;
若第二向量夹角不小于夹角阈值,则判定在后路径点为待平滑的转弯路径点。
在其中一个实施例中,对待平滑的转弯路径点进行路径曲线平滑处理,包括:
根据待平滑的转弯路径点、与待平滑的转弯路径点相邻的在先路径点和机器人的转弯半径,确定待平滑的转弯路径点处对应的平滑路径曲线。
在其中一个实施例中,与待平滑的转弯路径点相邻的在先路径点为第一在先路径点;与第一在先路径点相邻的在先路径点为第二在先路径点;根据待平滑的转弯路径点、与待平滑的转弯路径点相邻的在先路径点和机器人的转弯半径,确定待平滑的转弯路径点处对应的平滑路径曲线,包括:
根据第二在先路径点与第一在先路径点组成的方向向量,确定第四向量;
根据待平滑的转弯路径点与待平滑的转弯路径点的在后路径点组成的方向向量,确定第五向量;
通过将第四向量指示的方向作为杜宾斯曲线的初始位姿朝向、第五向量指示的方向作为杜宾斯曲线的目标位姿朝向,并将机器人的转弯半径作为杜宾斯曲线的曲率,将第一在先路径点和待平滑的转弯路径点采用杜宾斯曲线连接,得到待平滑的转弯路径点处对应的平滑路径曲线。
第二方面,本申请还提供了一种示教路径处理装置。所述装置包括:
获取模块,用于获取机器人示教过程中生成的路径点集;
预处理模块,用于对所述路径点集进行预处理,得到目标路径点集;
识别模块,用于根据所述目标路径点集中路径点的曲率突变情况,从所述目标路径点集中识别出待平滑的转弯路径点;
平滑处理模块,用于对所述待平滑的转弯路径点进行路径曲线平滑处理。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
上述示教路径处理方法、装置、计算机设备、存储介质和计算机程序产品,通过获取机器人示教过程中生成的路径点集;对所述路径点集进行预处理,得到目标路径点集;根据所述目标路径点集中路径点的曲率突变情况,从所述目标路径点集中识别出待平滑的转弯路径点;对所述待平滑的转弯路径点进行路径曲线平滑处理。在生成示教路径前,通过删除路径点集中的异常数据点,并对待平滑的转弯路径点进行路径曲线平滑处理,使得生成的示教路径不仅平滑,而且满足运动学约束,从而提高了机器人在导航过程中的执行效率。
通过获取机器人示教过程中生成的路径点集;对路径点集进行预处理,得到目标路径点集;根据目标路径点集中路径点的曲率突变情况,从目标路径点集中识别出待平滑的转弯路径点;对待平滑的转弯路径点进行路径曲线平滑处理。在生成示教路径前,通过删除路径点集中的异常数据点,并对待平滑的转弯路径点进行路径曲线平滑处理,使得生成的示教路径不仅平滑,而且满足运动学约束,从而提高了机器人在导航过程中的执行效率。
附图说明
图1为一个实施例中示教路径处理方法的流程示意图;
图2A为一个实施例中识别待平滑的转弯路径点的示意图;
图2B为一个实施例中识别待平滑的转弯路径点的示意图;
图3为一个实施例中对待平滑的转弯路径点进行路径曲线平滑处理的示意图;
图4为另一个实施例中示教路径处理方法的流程示意图;
图5A为一个实施例中示教路径处理装置的结构框图;
图5B为一个实施例中识别模块的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一向量称为第二向量,且类似地,可将第二向量称为第一向量。第一向量和第二向量两者都是向量,但其不是同一向量。
可以理解,本申请各实施例中的示教路径处理方法可以由机器人自身执行,即可以通过机器人身上设置的芯片设备来执行,也可以是由服务器来执行,即机器人将示教过程中生成的路径点集发送至服务器,由服务器执行本申请各实施例的示教路径处理方法中的各步骤。
在一个实施例中,如图1所示,提供了一种示教路径处理方法,以该方法应用于计算机设备为例进行举例说明,计算机设备可以是机器人身上设置的芯片设备,也可以是服务器。具体包括以下步骤:
步骤101、获取机器人示教过程中生成的路径点集。
其中,路径点集是机器人示教过程中的生成的一系列路径点的集合。
在一些实施例中,路径点集中包括大量路径点,每个路径点包括该路径点的X坐标和Y坐标等位置坐标信息,并且每个路径点是按照示教时间的先后顺序生成的。即,路径点集中包括按照机器人的示教时间的先后顺序生成的一系列有序的路径点。可以理解,路径点集中的路径点按照示教时间进行排序。
示例性地,计算机设备加载机器人示教过程中产生的原始路径点,将原始路径点记录到路径点集,即计算机设备获取机器人示教过程中生成的路径点集。
步骤102、对路径点集进行预处理,得到目标路径点集。
其中,目标路径点集是指符合要求的各目标路径点组成的集合。
在一些实施例中,目标路径点集中包括但不限于符合距离差值和曲率的一系列路径点。
示例性地,计算机设备对获取到的路径点集通过预设条件进行预处理,得到符合要求的各目标路径点,各目标路径点组成的集合就是目标路径点集。
在一个实施例中,预处理可以包括通过预设条件对路径点集中的路径点进行过滤处理。即,可以基于过滤后剩余的路径点确定目标路径点集。
在一个实施例中,预处理也可以包括通过预设条件对路径点集中的路径点进行初步过滤处理,并对初步过滤后剩余的路径点进行扩增。即,扩增后的各个路径点可以用于确定目标路径点集。
步骤103、根据目标路径点集中路径点的曲率突变情况,从目标路径点集中识别出待平滑的转弯路径点。
其中,待平滑的转弯路径点是指待平滑处理的路径点。
示例性地,计算机设备通过目标路径点集中各路径点的曲率表征信息来判断各路径点的曲率突变情况,从目标路径点集中识别出待平滑的转弯路径点。
在一个实施例中,曲率表征信息包括路径点的曲率值。路径点的曲率值的求解过程如下:先对路径点的坐标作插值处理得到拟合曲线,再求解路径点在拟合曲线的一阶导数值和二阶导数值,最后将一阶导数值和二阶导数值带入曲率公式即可求解得到路径点的曲率值。
在另一个实施例中,曲率表征信息还包括路径点与相邻的路径点组成的方向向量之间的向量夹角值。
示例性的,当路径点的曲率值小于曲率阈值或向量夹角值小于夹角阈值时,说明此路径点未发生曲率突变情况。当路径点的曲率值不小于曲率阈值或向量夹角值不小于夹角阈值时,说明此路径点发生曲率突变情况。其中,曲率阈值是指判断某路径点的曲率发生曲率突变时的临界值。具体地,曲率阈值由机器人的最小转弯半径决定,不同类型的机器人的最小转弯半径不一样,曲率阈值也有所不同。
步骤104、对待平滑的转弯路径点进行路径曲线平滑处理。
可以理解,待平滑的转弯路径点存在曲率突变的情况,所以待平滑的转弯路径点所对应的那部分路径曲线就不够平滑,跳跃性、突变性比较大,所以,计算机设备可以对待平滑的转弯路径点对应的那部分路径曲线进行平滑处理,从而使得机器人的整个示教路径曲线平滑。
上述示教路径处理方法中,通过获取机器人示教过程中生成的路径点集;对路径点集进行预处理,得到目标路径点集;根据目标路径点集中路径点的曲率突变情况,从目标路径点集中识别出待平滑的转弯路径点;对待平滑的转弯路径点进行路径曲线平滑处理。在生成示教路径前,通过删除路径点集中的异常数据点,并对待平滑的转弯路径点进行路径曲线平滑处理,使得生成的示教路径不仅平滑,而且满足运动学约束,从而提高了机器人在导航过程中的执行效率。
在一个实施例中,对路径点集进行预处理,得到目标路径点集,包括:依次确定路径点集中当前路径点与后一个路径点之间的距离差值;若距离差值大于距离阈值,则删除当前路径点,将删除当前路径点后的路径点集作为初步路径点集;对初步路径点集进行插值处理,得到目标路径点集。
其中,当前路径点是指当前计算距离差值的路径点。可以理解,每次计算距离差值的路径点都是当前路径点。例如,当路径点集中包括100个路径点,第一次计算第一个路径点与第二个路径点之间的距离差值,则当前路径点为第一个路径点。第二次计算第二个路径点和第三个路径点之间的距离差值,则当前路径点为第二个路径点。
距离差值是当前路径点与其相邻的后一路径点之间距离的差值。具体地,距离差值可通过距离公式计算,常用的距离公式包括但不限于欧式距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、或马氏距离等中的任意一种。
需要说明的是,路径点集中的每个路径点都会依次作为当前路径点,并计算每个当前路径点与后一个路径点之间的距离差值。
距离阈值是判断两相邻路径点之间距离突变的临界值。在一些实施例中,距离阈值与机器人的大小呈正相关。示例性地,小型机器人可以设置距离阈值为10cm,中大型机器人可以设置距离阈值为15cm,通常根据机器人的大小对应地设置距离阈值。在一些情形中,假设机器人本身要求以5cm间隔记录路径点,则此时的距离阈值设置为5cm。
初步路径点集是对路径点集进行初步处理后得到的路径点集。具体地,若当前路径点与后一个路径点之间的距离差值大于距离阈值时,说明当前路径点发生距离突变情况,即当前路径点是噪声点,需要剔除,删除所有距离突变的路径点后的路径点集就是初步路径点集。
插值处理是一种从已知点近似计算未知点的近似计算方法。具体地,插值处理包括拉格朗日插值法、牛顿插值法、或高斯插值法等中的至少一种。
示例性地,在获取到机器人示教过程中生成的路径点集后,计算机设备依次确定路径点集中当前路径点与后一个路径点之间的距离差值;若距离差值大于距离阈值,则删除当前路径点,即当前路径点是噪声点,将删除当前路径点后的路径点集作为初步路径点集;对初步路径点集进行插值处理,得到目标路径点集
在一个实施例中,计算机设备可以对初步路径点集进行均匀插值,使得各路径点间的距离尽可能地相等。在其他实施例中,计算机设备也可以对初步路径点集进行随机插值,来对初步路径点集进行路径点扩充。
上述实施例中,通过剔除路径点集中距离突变的点,并对初步路径点集做插值处理得到目标路径点集,减少了示教路径算法的计算量,使得示教路径算法的计算效率更高。
在一个实施例中,对待平滑的转弯路径点进行路径曲线平滑处理后得到初始示教路径;对待平滑的转弯路径点进行路径曲线平滑处理之后,还包括:确定初始示教路径中的碰撞路径点;碰撞路径点是定位跳变的路径点;将碰撞路径点进行平移,得到无碰撞的目标示教路径。
其中,初始示教路径是指对待平滑的转弯路径点对应的那部分路径曲线进行平滑处理后,结合目标路径点集中无需平滑处理的路径点得到的示教路径。即,初始示教路径是结合待平滑的转弯路径点处对应的平滑路径曲线和目标路径点集中无需平滑处理的路径点得到的示教路径。碰撞路径点是定位跳变的路径点。具体地,碰撞路径点可以是因为机器人本身定位异常而产生的路径点。可以理解,在示教过程中经过有障碍物的某处,理论上该障碍物所在点不会作为路径点,因为机器人在实际场景中不会穿过障碍物,但由于机器人本身定位差异,采集该障碍物所在点作为路径点,即碰撞路径点。
目标示教路径是指将初始示教路径中的碰撞路径点进行平移后得到的示教路径,即无碰撞的目标示教路径。
具体地,计算机设备对待平滑的转弯路径点进行路径曲线平滑处理后,得到待平滑的转弯路径点处对应的平滑路径曲线,结合目标路径点集中无需平滑处理的路径点得到初始示教路径,对初始示教路径进行碰撞检测,确定初始示教路径中的碰撞路径点,并将碰撞路径点进行平移,得到无碰撞路径点组成的无碰撞路径点集合,根据无碰撞路径点集合得到无碰撞的目标示教路径。
在一个实施例中,在生成示教路径时,会将路径点映射到栅格地图,机器人可以根据路径点集中各个路径点的坐标去获取栅格地图中对应路径点的像素值,如果某路径点的像素值为255,即该路径点在栅格地图中为白色格子,就判定该路径点为非碰撞路径点。如果某路径点的像素值为0,即该路径点在栅格地图中为黑色格子,就判定该路径点为碰撞路径点。机器人可以将该碰撞路径点向地图栅格为白色通行区域的区间方向平移,可以理解,白色通行区域的区间即属于无碰撞点的所在区间。
上述实施例中,通过平移碰撞路径点,使得生成的目标示教路径更加准确,进而使得后续的路径曲线平滑处理更加准确。
在一个实施例中,根据目标路径点集中路径点的曲率突变情况,从目标路径点集中识别出待平滑的转弯路径点,包括:从目标路径点集中依次确定当前路径点,确定与当前路径点相邻的在先路径点和在后路径点,当前路径点和在先路径点均无曲率突变情况;确定第一向量和第二向量之间的第一向量夹角,第一向量是在先路径点与当前路径点与组成的方向向量,第二向量是当前路径点与在后路径点组成的方向向量;根据第一向量夹角从目标路径点集中识别出待平滑的转弯路径点。
其中,在先路径点是与当前路径点相邻的前一个路径点,在后路径点是与当前路径点相邻的后一个路径点。可以理解,路径点相邻是指以示教时间的先后来区分各路径点之间的先后顺序。例如,记录当前路径点的时刻的前一记录时刻记录的路径点就是在先路径点,记录当前路径点的时刻的下一记录时刻记录的路径点就是在后路径点。
在一个实施例中,分别在9点5分,9点6分,9点8分,9点9分记录了路径点,得到4个路径点。将9点8分记录的路径点作为当前路径点,则9点9分记录的路径点是9点8分记录的路径点的在后路径点,9点6分记录的路径点是9点8分记录的路径点的在先路径点。
当前路径点与在先路径点都是非曲率突变的点,在后路径点是待校验曲率是否突变的点,通过两个非曲率突变的当前路径点与在先路径点去校验在后路径点的曲率突变情况,即通过两个曲率正常点去校验未知点的曲率突变情况。
第一向量是在先路径点与当前路径点组成的方向向量,第二向量是当前路径点与在后路径点组成的方向向量,第一向量夹角是第一向量和第二向量之间的夹角,通过第一向量夹角的值判断在后路径点是否存在曲率突变情况。
示例性地,计算机设备从目标路径点集中依次确定当前路径点,确定与当前路径点相邻的在先路径点和在后路径点,当前路径点和在先路径点均无曲率突变情况;确定第一向量和第二向量之间的第一向量夹角,第一向量是在先路径点与当前路径点组成的方向向量,第二向量是当前路径点与在后路径点组成的方向向量;通过第一向量夹角的值判断在后路径点是否存在曲率突变情况,并从目标路径点集中识别出待平滑的转弯路径点。
上述实施例中,通过两个非曲率突变的路径点去校验未知路径点是否存在曲率突变情况,简单高效。
需要说明的是,上述实施例中通过两个曲率正常的路径点去校验未知的路径点,也就是说目标路径点集中包括至少三个路径点,且第一个当前路径点是从目标路径点集中的第二个路径点起算。
在一个实施例中,根据第一向量夹角校验在后路径点是否为待平滑的转弯路径点,包括:若第一向量夹角大于夹角阈值,计算机设备则确定第三向量与第一向量之间的第二向量夹角,第三向量是当前路径点与相邻在后路径点组成的方向向量;相邻在后路径点是当前路径点的在后路径点之后的相邻路径点;若第二向量夹角不小于夹角阈值,则判定在后路径点为待平滑的转弯路径点。
其中,夹角阈值是判断夹角是否正常的临界值。具体地,夹角阈值跟机器人的最小转弯半径和轴距有关,夹角阈值=arsin(轴距/最小转弯半径)。
相邻在后路径点是当前路径点的在后路径点之后的相邻路径点,第三向量是当前路径点与相邻在后路径点组成的方向向量。
示例性地,当第一向量夹角大于夹角阈值,说明在后路径点是个曲率突变的路径点或者是个待平滑的转弯路径点,需要进一步计算第二向量夹角来判断在后路径点的曲率突变情况。当第二向量夹角小于夹角阈值时,说明在后路径点是个曲率突变的点,则将该在后路径点删除。当第二向量夹角不小于夹角阈值时,说明在后路径点是个待平滑的转弯路径点。
在一些实施例中,如图2A所示,提供了一种识别待平滑的转弯路径点的示意图。
其中,路径点Pi-1为在先路径点、路径点Pi为当前路径点、路径点Pi+1为在后路径点、路径点Pi+2为相邻在后路径点。第一向量a=(Pi-1,Pi),第二向量b=(Pi,Pi+1),第三向量c=(Pi,Pi+2),第一向量夹角β1是指第一向量a与第二向量b之间的夹角,第二向量夹角β2是指第一向量a和第三向量c之间的夹角。需要说明的是,当前路径点Pi和在先路径点Pi-1均无曲率突变情况。
示例性地,当第一向量夹角β1大于夹角阈值,说明在后路径点Pi+1是个曲率突变的路径点或者是个待平滑的转弯路径点,进一步地,判断第二向量夹角β2是否大于夹角阈值来判断在后路径点Pi+1的曲率突变情况。若第二向量夹角β2小于夹角阈值,则说明在后路径点Pi+1是个曲率突变的点,则将该在后路径点Pi+1删除。
需要说明的是,图2A中的相邻在后路径点Pi+2与在后路径点Pi+1的相对位置关系仅仅用以举例说明,本实施例在此不作限定。
在一个实施例中,如图2B所示,提供了另一种识别待平滑的转弯路径点的示意图。
其中,关于路径点Pi-1、路径点Pi、路径点Pi+1、路径点Pi+2、第一向量a、第二向量b和第一向量夹角β1的描述详见上述实施例,本实施例在此不再赘述。
第三向量f=(Pi,Pi+2),第二向量夹角β3是指第一向量a和第三向量f之间的夹角。
示例性地,当第一向量夹角β1大于夹角阈值,说明在后路径点Pi+1是个曲率突变的路径点或者是个待平滑的转弯路径点,进一步地,判断第二向量夹角β3是否大于夹角阈值来判断在后路径点Pi+1的曲率突变情况。若第二向量夹角β3不小于夹角阈值,即大于等于夹角阈值,则说明在后路径点Pi+1是个为待平滑的转弯路径点,并对在后路径点Pi+1进行路径平滑处理。
可以理解,图2A中的β2小于夹角阈值,图2B中的β3大于或等于夹角阈值,因此β2小于β3。
需要说明的是,图2B中的相邻在后路径点Pi+2与在后路径点Pi+1的相对位置关系仅仅用以举例说明,本实施例在此不作限定。上述实施例中,通过二次计算向量夹角,并将向量夹角与夹角阈值相比较来判断在后路径点的曲率突变情况,准确度更高。
在另一个实施例中,若第一向量夹角不大于夹角阈值,则说明在后路径点未发生曲率突变,无需对在后路径点进行路径曲线平滑处理。
在一个实施例中,对待平滑的转弯路径点进行路径曲线平滑处理,包括:根据待平滑的转弯路径点、与待平滑的转弯路径点相邻的在先路径点和机器人的转弯半径,确定待平滑的转弯路径点处对应的平滑路径曲线。
其中,路径曲线平滑处理是指对待平滑的转弯路径点处的路径曲线作平滑处理。具体地,假设在后路径点是一个待平滑的转弯路径点,则将在后路径点与当前路径点用曲线连接。
在一个实施例中,采用杜宾斯曲线,即Dubins曲线,连接在后路径点和当前路径点。其中,杜宾斯曲线是在满足曲率约束和规定的始端和末端的切线(进入方向)的条件下,连接两个二维平面的最短路径,而且限制目标只能向前行进。
上述实施例中,通过对转弯路径点处的路径曲线作平滑处理,大大降低机器人在转弯路径点处的转弯频率,使得机器人的执行效率更高。
在一个实施例中,计算机设备对路径点集进行预处理,得到目标路径点集;根据目标路径点集中路径点的曲率突变情况,从目标路径点集中识别出待平滑的转弯路径点后,确定与待平滑的转弯路径点相邻的在先路径点为第一在先路径点;与第一在先路径点相邻的在先路径点为第二在先路径点。计算机设备再根据第二在先路径点与第一在先路径点组成的方向向量,确定第四向量;根据待平滑的转弯路径点与待平滑的转弯路径点的在后路径点组成的方向向量,确定第五向量;通过将第四向量指示的方向作为杜宾斯曲线的初始位姿朝向、第五向量指示的方向作为杜宾斯曲线的目标位姿朝向,并将机器人的转弯半径作为杜宾斯曲线的曲率,将第一在先路径点和待平滑的转弯路径点采用杜宾斯曲线连接,得到待平滑的转弯路径点处对应的平滑路径曲线。在一个实施例中,机器人的转弯半径是指机器人的最小转弯半径。可以理解,不同类型的机器人的最小转弯半径不一样,即机器人的转弯半径跟机器人的类型有关。
在一个实施例中,如图3所示,提供了一种对待平滑的转弯路径点进行路径曲线平滑处理的示意图。
其中,P1是待平滑的转弯路径点P2相邻的在先路径点,即第一在先路径点;P0是与第一在先路径点P1相邻的在先路径点,即第二在先路径点;P3是待平滑的转弯路径点P2的在后路径点。计算机设备根据第二在先路径点P0与第一在先路径点P1组成的方向向量,确定第四向量d=(P0,P1);根据待平滑的转弯路径点P2与待平滑的转弯路径点的在后路径点P3组成的方向向量,确定第五向量e=(P2,P3)。再将第四向量d指示的方向作为杜宾斯曲线的初始位姿朝向、第五向量e指示的方向作为杜宾斯曲线的目标位姿朝向,并将机器人的最小转弯半径作为杜宾斯曲线的曲率,将第一在先路径点P1和待平滑的转弯路径P2采用杜宾斯曲线连接,得到待平滑的转弯路径点P2处对应的平滑路径曲线。
在上述实施例中,通过采用杜宾斯曲线衔接转弯处的路径曲线,避免机器人在转弯处发生原地转弯的动作,提高了机器人的执行效率。
在另一个实施例中,如图4所示,提供了一种示教路径处理方法的流程示意图,以该方法应用于计算机设备为例进行举例说明。具体包括以下步骤:
步骤401、获取机器人示教过程中生成的路径点集。
步骤402、依次确定路径点集中当前路径点与后一个路径点之间的距离差值。
步骤404、判断距离差值是否大于距离阈值。若是,则执行步骤404;否则执行步骤405。
步骤404、删除当前路径点,将删除当前路径点后的路径点集作为初步路径点集。
步骤405、保留当前路径点。
步骤406、对初步路径点集进行均匀插值处理,得到目标路径点集。
步骤407、从目标路径点集中依次确定当前路径点,确定与当前路径点相邻的在先路径点和在后路径点,当前路径点和在先路径点均无曲率突变情况。
步骤408、确定第一向量和第二向量之间的第一向量夹角,第一向量是在先路径点与当前路径点组成的方向向量,第二向量是当前路径点与在后路径点组成的方向向量。
步骤409、判断第一向量夹角是否大于夹角阈值。若是,则执行步骤410;否则执行步骤411。
步骤410、确定第三向量与第一向量之间的第二向量夹角,第三向量是当前路径点与相邻在后路径点组成的方向向量;相邻在后路径点是当前路径点的在后路径点之后的相邻路径点。
步骤411、确定在后路径点为非待平滑的转弯路径点。
可以理解,在后路径点为非待平滑的转弯路径点是指无需对在后路径点做路径曲线平滑处理。
步骤412、判断第二向量夹角是否大于夹角阈值。若是,则执行步骤413;否则执行步骤414。
步骤413、确定在后路径点为待平滑的转弯路径点。
步骤414、删除在后路径点。
步骤415、根据第二在先路径点与第一在先路径点组成的方向向量,确定第四向量;根据待平滑的转弯路径点与待平滑的转弯路径点的在后路径点组成的方向向量,确定第五向量。
其中,与待平滑的转弯路径点相邻的在先路径点为第一在先路径点,与第一在先路径点相邻的在先路径点为第二在先路径点。
步骤416、通过将第四向量指示的方向作为杜宾斯曲线的初始位姿朝向、第五向量指示的方向作为杜宾斯曲线的目标位姿朝向,并将机器人的转弯半径作为杜宾斯曲线的曲率,将第一在先路径点和待平滑的转弯路径点采用杜宾斯曲线连接,得到待平滑的转弯路径点处对应的平滑路径曲线。
步骤417、对待平滑的转弯路径点进行路径曲线平滑处理,得到初始示教路径之后,确定初始示教路径中的碰撞路径点;碰撞路径点是定位跳变的路径点;将碰撞路径点进行平移,得到无碰撞的目标示教路径。
上述方法实施例中,通过获取机器人示教过程中生成的路径点集;对路径点集进行预处理,得到目标路径点集;根据目标路径点集中路径点的曲率突变情况,从目标路径点集中识别出待平滑的转弯路径点;对待平滑的转弯路径点进行路径曲线平滑处理。在生成示教路径前,通过删除路径点集中的异常数据点,并对待平滑的转弯路径点进行路径曲线平滑处理,使得生成的示教路径不仅平滑,而且满足运动学约束,从而提高了机器人在导航过程中的执行效率。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的示教路径处理方法的示教路径处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个示教路径处理装置实施例中的具体限定可以参见上文中对于示教路径处理方法的限定,在此不再赘述。
在一个实施例中,如图5A所示,提供了一种示教路径处理装置,包括:获取模块501、预处理模块502、识别模块503和平滑处理模块504,其中:
获取模块501,用于获取机器人示教过程中生成的路径点集。
预处理模块502,用于对路径点集进行预处理,得到目标路径点集。
识别模块503,用于根据目标路径点集中路径点的曲率突变情况,从目标路径点集中识别出待平滑的转弯路径点。
平滑处理模块504,用于对待平滑的转弯路径点进行路径曲线平滑处理。
在一个实施例中,预处理模块502还用于依次确定路径点集中当前路径点与后一个路径点之间的距离差值;若距离差值大于距离阈值,则删除当前路径点,将删除当前路径点后的路径点集作为初步路径点集;对初步路径点集进行插值处理,得到目标路径点集。
在另一个实施例中,预处理模块502还用于对待平滑的转弯路径点进行路径曲线平滑处理后得到初始示教路径;确定初始示教路径中的碰撞路径点;碰撞路径点是定位跳变的路径点;将碰撞路径点进行平移,得到无碰撞的目标示教路径。
在一个实施例中,如图5B所示,识别模块503包括:
第一确定单元503a,用于从目标路径点集中依次确定当前路径点,确定与当前路径点相邻的在先路径点和在后路径点,当前路径点和在先路径点均无曲率突变情况;
第二确定单元503b,用于确定第一向量和第二向量之间的第一向量夹角,第一向量是在先路径点与当前路径点组成的方向向量,第二向量是当前路径点与在后路径点组成的方向向量;
识别单元503c,用于根据第一向量夹角校验在后路径点是否为待平滑的转弯路径点。
在一个实施例中,识别模块503具体用于若第一向量夹角大于夹角阈值,则确定第三向量与第一向量之间的第二向量夹角,第三向量是当前路径点与相邻在后路径点组成的方向向量;相邻在后路径点是当前路径点的在后路径点之后的相邻路径点;若第二向量夹角不小于夹角阈值,则判定在后路径点为待平滑的转弯路径点。
在一个实施例中,平滑处理模块504用于根据待平滑的转弯路径点、与待平滑的转弯路径点相邻的在先路径点和机器人的转弯半径,确定待平滑的转弯路径点处对应的平滑路径曲线。
在一个实施例中,与待平滑的转弯路径点相邻的在先路径点为第一在先路径点;与第一在先路径点相邻的在先路径点为第二在先路径点;平滑处理模块504具体用于根据第二在先路径点与第一在先路径点组成的方向向量,确定第四向量;根据待平滑的转弯路径点与待平滑的转弯路径点的在后路径点组成的方向向量,确定第五向量;通过将第四向量指示的方向作为杜宾斯曲线的初始位姿朝向、第五向量指示的方向作为杜宾斯曲线的目标位姿朝向,并将机器人的转弯半径作为杜宾斯曲线的曲率,将第一在先路径点和待平滑的转弯路径点采用杜宾斯曲线连接,得到待平滑的转弯路径点处对应的平滑路径曲线。
上述示教路径处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器或机器人,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和通信接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种示教路径处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种示教路径处理方法,其特征在于,所述方法包括:
获取机器人示教过程中生成的路径点集;
对所述路径点集进行预处理,得到目标路径点集;
根据所述目标路径点集中路径点的曲率突变情况,从所述目标路径点集中识别出待平滑的转弯路径点;
对所述待平滑的转弯路径点进行路径曲线平滑处理。
2.根据权利要求1所述的方法,其特征在于,所述对所述路径点集进行预处理,得到目标路径点集,包括:
依次确定所述路径点集中当前路径点与后一个路径点之间的距离差值;
若所述距离差值大于距离阈值,则删除所述当前路径点,将删除当前路径点后的路径点集作为初步路径点集;
对所述初步路径点集进行插值处理,得到所述目标路径点集。
3.根据权利要求1所述的方法,其特征在于,对所述待平滑的转弯路径点进行路径曲线平滑处理后得到初始示教路径;所述对所述待平滑的转弯路径点进行路径曲线平滑处理之后,还包括:
确定所述初始示教路径中的碰撞路径点;所述碰撞路径点是定位跳变的路径点;
将所述碰撞路径点进行平移,得到无碰撞的目标示教路径。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标路径点集中路径点的曲率突变情况,从所述目标路径点集中识别出待平滑的转弯路径点,包括:
从所述目标路径点集中依次确定当前路径点,确定与当前路径点相邻的在先路径点和在后路径点,所述当前路径点和所述在先路径点均无曲率突变情况;
确定第一向量和第二向量之间的第一向量夹角,所述第一向量是所述在先路径点与所述当前路径点组成的方向向量,所述第二向量是所述当前路径点与所述在后路径点组成的方向向量;
根据所述第一向量夹角校验所述在后路径点是否为待平滑的转弯路径点。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一向量夹角校验所述在后路径点是否为待平滑的转弯路径点,包括:
若所述第一向量夹角大于夹角阈值,则确定第三向量与第一向量之间的第二向量夹角,所述第三向量是所述当前路径点与相邻在后路径点组成的方向向量;所述相邻在后路径点是所述当前路径点的在后路径点之后的相邻路径点;
若所述第二向量夹角不小于夹角阈值,则判定所述在后路径点为待平滑的转弯路径点。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述对所述待平滑的转弯路径点进行路径曲线平滑处理,包括:
根据待平滑的转弯路径点、与待平滑的转弯路径点相邻的在先路径点和机器人的转弯半径,确定待平滑的转弯路径点处对应的平滑路径曲线。
7.根据权利要求6所述的方法,其特征在于,所述与待平滑的转弯路径点相邻的在先路径点为第一在先路径点;与所述第一在先路径点相邻的在先路径点为第二在先路径点;所述根据待平滑的转弯路径点、与待平滑的转弯路径点相邻的在先路径点和机器人的转弯半径,确定待平滑的转弯路径点处对应的平滑路径曲线,包括:
根据所述第二在先路径点与所述第一在先路径点组成的方向向量,确定第四向量;
根据所述待平滑的转弯路径点与所述待平滑的转弯路径点的在后路径点组成的方向向量,确定第五向量;
通过将所述第四向量指示的方向作为杜宾斯曲线的初始位姿朝向、所述第五向量指示的方向作为所述杜宾斯曲线的目标位姿朝向,并将所述机器人的转弯半径作为所述杜宾斯曲线的曲率,将所述第一在先路径点和所述待平滑的转弯路径点采用所述杜宾斯曲线连接,得到所述待平滑的转弯路径点处对应的平滑路径曲线。
8.一种示教路径处理装置,其特征在于,所述装置包括:
获取模块,用于获取机器人示教过程中生成的路径点集;
预处理模块,用于对所述路径点集进行预处理,得到目标路径点集;
识别模块,用于根据所述目标路径点集中路径点的曲率突变情况,从所述目标路径点集中识别出待平滑的转弯路径点;
平滑处理模块,用于对所述待平滑的转弯路径点进行路径曲线平滑处理。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211354857.4A CN115760911A (zh) | 2022-11-01 | 2022-11-01 | 示教路径处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211354857.4A CN115760911A (zh) | 2022-11-01 | 2022-11-01 | 示教路径处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115760911A true CN115760911A (zh) | 2023-03-07 |
Family
ID=85355036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211354857.4A Pending CN115760911A (zh) | 2022-11-01 | 2022-11-01 | 示教路径处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115760911A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116728437A (zh) * | 2023-08-08 | 2023-09-12 | 江苏集萃智能制造技术研究所有限公司 | 基于欧氏空间距离的康养机器人轨迹采样滤波方法及系统 |
-
2022
- 2022-11-01 CN CN202211354857.4A patent/CN115760911A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116728437A (zh) * | 2023-08-08 | 2023-09-12 | 江苏集萃智能制造技术研究所有限公司 | 基于欧氏空间距离的康养机器人轨迹采样滤波方法及系统 |
CN116728437B (zh) * | 2023-08-08 | 2023-10-13 | 江苏集萃智能制造技术研究所有限公司 | 基于欧氏空间距离的康养机器人轨迹采样滤波方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704553B2 (en) | Neural network system for single processing common operation group of neural network models, application processor including the same, and operation method of neural network system | |
US11815602B2 (en) | Grid occupancy mapping using error range distribution | |
EP2828044A1 (en) | Trajectory generation device, moving object, trajectory generation method | |
US20210370510A1 (en) | Robot path planning method with static and dynamic collision avoidance in an uncertain environment | |
CN111015656A (zh) | 一种机器人主动避障的控制方法、装置及存储介质 | |
CN112348817B (zh) | 车位识别方法、装置、车载终端和存储介质 | |
CN115760911A (zh) | 示教路径处理方法、装置、计算机设备和存储介质 | |
CN114646932A (zh) | 基于外置雷达的雷达外参标定方法、装置和计算机设备 | |
CN112561859A (zh) | 基于单目视觉的锚护用钢带钻孔与锚网识别方法及装置 | |
US20200209876A1 (en) | Positioning method and apparatus with the same | |
Ramachandran et al. | A probabilistic approach to automated construction of topological maps using a stochastic robotic swarm | |
CN112097772B (zh) | 机器人及其地图构建方法和装置 | |
Jafarzadeh et al. | An exact geometry–based algorithm for path planning | |
Bourmaud | Online variational bayesian motion averaging | |
Zürn et al. | Topology matching of branched deformable linear objects | |
Kohler et al. | Fast computation of the C-space of convex 2D algebraic objects | |
CN117193278A (zh) | 动态沿边路径生成的方法、装置、计算机设备和存储介质 | |
CN115096286A (zh) | 地图合并方法、装置、机器人、存储介质和程序产品 | |
CN114193455A (zh) | 机器人的加工路径生成方法、设备和存储介质 | |
CN114966578A (zh) | 基于拍摄设备的雷达外参标定方法、装置和计算机设备 | |
Mukhopadhyay et al. | Multi-robot Map Exploration Based on Multiple Rapidly-Exploring Randomized Trees | |
Zieliński et al. | 3d dense mapping with the graph of keyframe-based and view-dependent local maps | |
CN114770510B (zh) | 运动学解析解择优方法、装置、计算机设备及存储介质 | |
US11846948B2 (en) | Path planning apparatus of robot and method thereof | |
US11491650B2 (en) | Distributed inference multi-models for industrial applications |
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 |