一种移动机器人的对接方法、装置、终端及存储介质与流程

专利2023-09-10  101



1.本发明涉及导航技术领域,特别是涉及一种移动机器人的对接方法、装置、终端及计算机可读存储介质。


背景技术:

2.为了提高仓储系统和工业系统等的自动化水平,降低人力成本的投入,agv(automated guided vehicle,自动导引运输车)被广泛应用在这些领域。而在这些领域,通常需要搬运货物、工件等,这就需要agv与货架的配合从而提高搬运效率。
3.现有的技术方案主要有两类:(一)、背负式agv,即货架固定在agv上面,这类agv加上货架外形较大,即使空载时也要背负货架,运行不够灵活,(二)、分离式agv,即货架和agv相互独立,这就需要agv能正确的搬运货架。
4.为此,主要有两种方法:1、通过机器人自身的定位系统如gps定位到一个位置举起货架,这种方法对机器人的定位精度及货架摆放的位置精度要求均很高,造成定位系统成本高,2、通过二维码辅助定位到一个位置顶起货架,这种方法需要在地面铺设二维码,实施起来工作量较大,二期受限于二维码的铺设,机器人的行走路线也不够灵活,后期如需更改路线等,维护也不方便。
5.为此,需要一种使用范围广,维护便捷,成本低的移动机器人的对接方法。


技术实现要素:

6.本发明主要解决的技术问题是提供一种移动机器人的对接方法、装置、终端及计算机可读存储介质,解决现有技术中移动机器人与待搬运目标的对接精确度比较低的问题。
7.为解决上述技术问题,本发明采用的第一个技术方案是:提供一种移动机器人的对接方法,移动机器人的对接方法包括:根据获取的待搬运目标的轮廓特征信息,得到待搬运目标的预测举升位置;基于获取的移动机器人的当前位姿信息和预测举升位置,预测移动机器人的运行信息;控制移动机器人基于运行信息向待搬运目标进行运行;响应于移动机器人检测到待搬运目标上的标注导航信息,则基于标注导航信息控制移动机器人运行至待搬运目标的标注举升位置并举升待搬运目标。
8.其中,待搬运目标的轮廓特征信息包括待搬运目标两侧的第一直线和第二直线;根据获取的待搬运目标的轮廓特征信息,得到待搬运目标的预测举升位置,包括:分别选取第一直线和第二直线中与移动机器人的距离最短的位置点,记为第一位置点和第二位置点;其中,第一位置点包含于第一直线,第二位置点包含于第二直线;基于第一位置点的方向信息,确定第一直线的方向信息;基于第二位置点的方向信息,确定第二直线的方向信息;根据第一直线的方向信息和第二直线的方向信息,确定待搬运目标的方向信息;基于待搬运目标的方向信息、待搬运目标边缘到标注举升位置的距离、第一位置点和第二位置点的位置信息,确定待搬运目标的预测举升位置。
9.其中,基于待搬运目标的方向信息、待搬运目标边缘到标注举升位置的距离、第一位置点和第二位置点的位置信息,确定待搬运目标的预测举升位置,包括:根据如下公式确定待搬运目标的预测举升位置c;
10.c=(p
m1
+p
m2
)/2+r(θ)*l1]
11.式中:r(θ)为待搬运目标朝向对应的旋转矩阵;p
m1
为第一位置点的位置坐标;p
m2
为第二位置点的位置坐标;l1为待搬运目标的边缘到标注举升位置的距离。
12.其中,基于第一位置点的方向信息,确定第一直线的方向信息,包括:响应于p
m1
.[cos(f
l1
),sin(f
l1
)]》0,则确定第一直线的方向信息为f
l1
(n
m1
+π/2)。
[0013]
其中,基于第一位置点的方向信息,确定第一直线的方向信息,包括:响应于p
m1
.[cos(f
l1
),sin(f
l1
)]≤0,则确定第一直线的方向信息为f
l1
(n
m1-π/2)。
[0014]
其中,根据第一直线的方向信息和第二直线的方向信息,确定待搬运目标的方向信息,包括:根据如下公式确定待搬运目标的方向信息θ;
[0015]
θ=acrtan[(l
l1
+l
l2
)y,(l
l1
+l
l2
)
x
]
[0016]
式中:l
l1
为第一直线的方向向量;l
l2
为第二直线的方向向量。
[0017]
其中,标注导航信息包括检测到标注导航信息的当前位置处的预设方向信息和预设位姿信息以及从当前位置处运行至待搬运目标的标注举升位置的预设运行信息;响应于移动机器人检测到待搬运目标上的标注导航信息,则基于标注导航信息控制移动机器人运行至待搬运目标的标注举升位置并举升待搬运目标,包括:基于预设方向信息和预设位姿信息调整移动机器人在检测到标注导航信息的当前位置处的运行参数;根据预设运行信息控制移动机器人从当前位置处运行至待搬运目标的标注举升位置并举升待搬运目标。
[0018]
其中,根据预设运行信息控制移动机器人从当前位置处运行至待搬运目标的标注举升位置并举升待搬运目标,还包括:基于移动机器人检测待搬运目标的轮廓特征信息的预设位置点的位置信息、移动机器人从预设位置点运行至标注举升位置的变化量,确定标注举升位置的位置信息。
[0019]
其中,移动机器人的对接方法还包括:控制移动机器人将待搬运目标搬运至目标位置。
[0020]
其中,控制移动机器人将待搬运目标搬运至目标位置,还包括:基于移动机器人的位置信息与待搬运目标的位置信息之间的误差以及目标位置的位置信息,确定将待搬运目标搬运至目标位置时移动机器人的位置信息。
[0021]
其中,根据获取的待搬运目标的轮廓特征信息,得到待搬运目标的预测举升位置,之前还包括:响应于移动机器人运行至预设位置点,则获取激光雷达的探测数据;基于探测数据,确定待搬运目标的特征轮廓信息。
[0022]
其中,探测数据包括多个激光位点及激光位点的位置信息,激光位点的位置信息为激光坐标系中的位置信息;基于探测数据,确定待搬运目标的特征轮廓信息,包括:对获取的n个激光位点进行筛选,得到候选点云集;候选点云集包括m的激光位点,且激光位点按照时序依次排列;其中,n≥m,且n、m均为正整数;将候选点云集中包含于同一直线的激光位点分别进行聚类,得到直线对应的共线点云集;响应于两个共线点云集分别对应的直线符合预设要求,则将两个共线点云集进行合并得到候选直线点云集;基于候选直线点云集对应直线之间的位置关系,确定对应的候选直线点云集对应的直线是否为待搬运目标的特征
轮廓信息。
[0023]
其中,对获取的n个激光位点进行筛选,得到候选点云集,包括:基于各激光位点分别与待搬运目标的预设中心位点之间的距离对激光位点进行筛选,得到第一点云集;遍历第一点云集中所有的激光位点,基于选取的激光位点与相邻的前一激光位点之间的距离、选取的激光位点与相邻的后一激光位点之间的距离对选取的激光位点进行筛选,得到候选点云集。
[0024]
其中,基于各激光位点分别与待搬运目标的预设中心位点之间的距离对激光位点进行筛选,得到第一点云集,包括:判断各激光位点分别与待搬运目标的预设中心位点之间的距离是否小于第一预设距离;如果激光位点与待搬运目标的预设中心位点之间的距离小于第一预设距离,则将激光位点归属于第一点云集。
[0025]
其中,基于选取的激光位点与相邻的前一激光位点之间的距离、选取的激光位点与相邻的后一激光位点之间的距离对选取的激光位点进行筛选,得到候选点云集,包括:判断选取的激光位点与相邻的前一激光位点之间的距离是否小于第二预设距离、选取的激光位点与相邻的后一激光位点之间的距离是否小于第二预设距离;如果选取的激光位点与相邻的前一激光位点之间的距离小于第二预设距离,或选取的激光位点与相邻的后一激光位点之间的距离小于第二预设距离,则将选取的激光位点归属于候选点云集。
[0026]
其中,对获取的n个激光位点进行筛选,得到候选点云集,还包括:响应于选取的激光位点与相邻的前一激光位点之间的距离大于第二预设距离,且选取的激光位点与相邻的后一激光位点之间的距离大于第二预设距离,则基于相邻的前一激光位点和相邻的后一激光位点确定对应的第三直线;判断选取的激光位点与第三直线之间的距离是否小于第三预设距离;如果选取的激光位点与第三直线之间的距离小于第三预设距离,则将选取的激光位点归属于候选点云集;如果选取的激光位点与第三直线之间的距离大于第三预设距离,则删除选取的激光位点。
[0027]
其中,将候选点云集中包含于同一直线的激光位点分别进行聚类,得到直线对应的共线点云集,包括:根据各候选点云集中的第一个激光位点和最后一个激光位点,确定第一个激光位点和最后一个激光位点构建的第四直线;计算得到候选点云集中除第一个激光位点和最后一个激光位点之外的其他各激光位点分别与第四直线之间的直线距离;选取最大的直线距离,将最大的直线距离对应的激光位点确定为第一标识位点;响应于最大的直线距离大于第四预设距离,则将候选点云集从第一标识点位处进行分割,得到两条直线对应的两个共线点云集。
[0028]
其中,将候选点云集中包含于同一直线的激光位点分别进行聚类,得到直线对应的共线点云集,还包括:计算得到候选点云集中相邻两个激光位点之间的间隙距离;将最大的间隙距离对应的相邻两个激光位点中的后一个激光位点确定为第二标识位点。
[0029]
其中,将候选点云集中包含于同一直线的激光位点分别进行聚类,得到直线对应的共线点云集,还包括:响应于最大的直线距离小于第四预设距离,则判断最大的间隙距离是否大于第五预设距离;如果最大的间隙距离大于第五预设距离,则将候选点云集从第二标识点位处进行分割,得到两条直线对应的两个共线点云集。
[0030]
其中,将候选点云集中包含于同一直线的激光位点分别进行聚类,得到直线对应的共线点云集,还包括:响应于最大的直线距离小于第四预设距离,且最大的间隙距离小于
第五预设距离,则确定候选点云集为一条直线的共线点云集。
[0031]
其中,将候选点云集中包含于同一直线的激光位点分别进行聚类,得到直线对应的共线点云集,还包括:基于共线点云集包含的激光位点的数量和共线点云集对应的直线的长度对共线点云集进行筛选。
[0032]
其中,基于共线点云集包含的激光位点的数量和共线点云集对应的直线的长度对共线点云集进行筛选,包括:计算得到各共线点云集对应的直线的长度,并统计各共线点云集中包含的激光位点的数量;响应于共线点云集对应的直线的长度大于第一预设长度,且共线点云集包含的激光位点的数量大于第一预设数量,则保留共线点云集;响应于共线点云集对应的直线的长度小于第一预设长度,和/或,共线点云集包含的激光位点的数量小于第一预设数量,则删除共线点云集。
[0033]
其中,响应于两个共线点云集分别对应的直线符合预设要求,则将两个共线点云集进行合并得到候选直线点云集,包括:基于共线点云集对应的直线之间的参数信息,确定是否将两条直线分别对应的共线点云集进行合并得到候选直线点云集。
[0034]
其中,直线的参数信息包括相切圆半径和法向量;基于共线点云集对应的直线之间的参数信息,确定是否将两条直线分别对应的共线点云集进行合并得到候选直线点云集,包括:基于共线点云集中的激光位点的位置信息,确定共线点云集对应的直线的法向量和直线的相切圆半径;基于两条直线分别对应的相切圆半径和法向量,确定是否将两条直线分别对应的共线点云集进行合并得到候选直线点云集。
[0035]
其中,基于共线点云集对应的直线之间的参数信息,确定是否将两条直线分别对应的共线点云集进行合并得到候选直线点云集,还包括:基于共线点云集中至少两个激光位点的位置信息、共线点云集对应的直线的法向量,确定至少两个激光位点对应的相切圆半径和直线的法向量;基于相切圆半径之间的误差值和法向量之间的误差值分别迭代共线点云集对应的直线的相切圆半径和直线的法向量。
[0036]
其中,基于共线点云集中的激光位点的位置信息,确定共线点云集对应的直线的法向量和直线的相切圆半径,包括:基于如下公式,确定共线点云集对应的直线的法向量nk;
[0037]
nk=arctan[(p
(a)y-p
(d)y
)/(p
(a)x-p
(d)x
)]+π/2
[0038]
式中:p
(a)
和p
(d)
分别为不同激光位点的位置坐标。
[0039]
其中,基于共线点云集中的激光位点的位置信息,确定共线点云集对应的直线的法向量和直线的相切圆半径,包括:计算得到共线点云集中各激光位点的测距协方差;基于共线点云集中各激光位点的测距协方差和共线点云集对应的直线的法向量,确定各激光位点到共线点云集对应的直线的距离协方差;基于各激光位点到共线点云集对应的直线的距离协方差、共线点云集对应的直线的法向量,确定共线点云集对应的直线的相切圆半径。
[0040]
其中,基于各激光位点到共线点云集对应的直线的距离协方差、共线点云集对应的直线的法向量,确定共线点云集对应的直线的相切圆半径,包括:基于如下公式,确定共线点云集对应的直线的相切圆半径rk;
[0041][0042]
式中:rk为直线的相切圆半径。
[0043]
其中,基于两条直线分别对应的相切圆半径和法向量,确定是否将两条直线分别对应的共线点云集进行合并得到候选直线点云集,还包括:基于共线点云集中各激光位点的位置信息、共线点云集对应的直线的法向量和直线的相切圆半径,确定共线点云的协方差矩阵。
[0044]
其中,基于两条直线分别对应的相切圆半径和法向量,确定是否将两条直线分别对应的共线点云集进行合并得到候选直线点云集,包括:响应于两条直线对应的小于预设值,则将两条直线分别对应的共线点云集进行合并得到候选直线点云集;其中,
[0045]
其中,基于两条直线分别对应的相切圆半径和法向量,确定是否将两条直线分别对应的共线点云集进行合并得到候选直线点云集,还包括:根据共线点云集对应的协方差矩阵,确定预合并的两条直线中各直线的相切圆半径和法向量的权重值;基于预合并的两条直线分别对应的相切圆半径的加权和得到候选直线点云集对应的候选直线的相切圆半径;基于两条直线分别对应的法向量的加权和得到候选直线点云集对应的候选直线的法向量。
[0046]
其中,基于两条直线分别对应的相切圆半径和法向量,确定是否将两条直线分别对应的共线点云集进行合并得到候选直线点云集,还包括:采用如下公式基于预合并的两条直线分别对应的共线点云集的协方差矩阵,确定候选直线点云集的协方差矩阵;
[0047][0048]
公式中:p
li
为候选直线点云集的协方差矩阵。
[0049]
其中,基于候选直线点云集对应直线之间的位置关系,确定对应的候选直线点云集对应的直线是否为待搬运目标的特征轮廓信息,包括:判断候选直线点云集对应的候选直线的长度是否大于第二预设长度、候选直线对应的候选直线点云集中包含激光位点的数量是否大于第二预设数量;如果候选直线的长度大于第二预设长度,且候选直线对应的候选直线点云集中包含激光位点的数量大于第二预设数量,则基于候选直线的相切圆半径和法向量确定对应候选直线的切点位置;响应于两个候选直线对应的切点位置之间的间距与待搬运目标的预设宽度之间的差值小于阈值,则基于两个候选直线分别对应的法向量确定两个候选直线是否为待搬运目标的特征轮廓信息。
[0050]
其中,基于两个候选直线分别对应的法向量确定两个候选直线是否为待搬运目标的特征轮廓信息,包括:判断两个候选直线分别对应的法向量之间的差值是否处于预设范围;如果两个候选直线分别对应的法向量之间的差值处于预设范围,则两个候选直线为待搬运目标的特征轮廓信息。
[0051]
为解决上述技术问题,本发明采用的第二个技术方案是:提供一种移动机器人的对接装置,移动机器人的对接装置包括:预测模块,用于根据获取的待搬运目标的轮廓特征信息,得到待搬运目标的预测举升位置;分析模块,基于获取的移动机器人的当前位姿信息和预测举升位置,预测移动机器人的运行信息;执行模块,用于控制移动机器人基于运行信息向待搬运目标进行运行;对接模块,用于响应于移动机器人检测到待搬运目标上的标注导航信息,则基于标注导航信息控制移动机器人运行至待搬运目标的标注举升位置并举升
待搬运目标。
[0052]
为解决上述技术问题,本发明采用的第三个技术方案是:提供一种终端,该终端包括存储器、处理器以及存储于存储器中并在处理器上运行的计算机程序,处理器用于执行程序数据以实现上述移动机器人的对接方法中的步骤。
[0053]
为解决上述技术问题,本发明采用的第四个技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述移动机器人的对接方法中的步骤。
[0054]
本发明的有益效果是:区别于现有技术的情况,提供的一种移动机器人的对接方法、装置、终端及计算机可读存储介质,移动机器人的对接方法包括:根据获取的待搬运目标的轮廓特征信息,得到待搬运目标的预测举升位置;基于获取的移动机器人的当前位姿信息和预测举升位置,预测移动机器人的运行信息;控制移动机器人基于运行信息向待搬运目标进行运行;响应于移动机器人检测到待搬运目标上的标注导航信息,则基于标注导航信息控制移动机器人运行至待搬运目标的标注举升位置并举升待搬运目标。本技术通过基于待搬运目标的轮廓特征信息预测待搬运目标的预测举升位置,并根据移动机器人的当前位置和预测举升位置确定移动机器人运行到预测举升位置的运行信息,移动机器人基于运行信息向待搬运目标进行运行,移动机器人在运行过程中检测到待搬运目标上的标注导航信息,则控制移动机器人基于标注导航信息进行运行,并控制移动机器人运行至待搬运目标的标注举升位置,实现移动机器人与待搬运目标的精确对接,进而通过移动机器人举升待搬运目标。
附图说明
[0055]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0056]
图1是移动机器人的结构示意图;
[0057]
图2是移动机器人处于预设位置点时与货架的相对位置关系示意图;
[0058]
图3是本发明提供的移动机器人对接方法的流程示意图;
[0059]
图4是本发明提供的移动机器人对接方法一具体实施例的流程示意图;
[0060]
图5是图3提供的移动机器人对接方法中步骤s2一具体实施例的流程示意图;
[0061]
图6是图5提供的移动机器人对接方法中步骤s21一具体实施例的流程示意图;
[0062]
图7是图3提供的移动机器人对接方法中步骤s3一具体实施例的流程示意图;
[0063]
图8是本发明提供的移动机器人对接装置的示意框图;
[0064]
图9是本发明提供的终端一实施方式的示意框图;
[0065]
图10是本发明提供的计算机可读存储介质一实施方式的示意框图。
具体实施方式
[0066]
下面结合说明书附图,对本技术实施例的方案进行详细说明。
[0067]
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之
类的具体细节,以便透彻理解本技术。
[0068]
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
[0069]
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明所提供的一种移动机器人的对接方法做进一步详细描述。
[0070]
请参阅图1至图4,图1是移动机器人的结构示意图;图2是移动机器人处于预设位置点时与货架的相对位置关系示意图;图3是本发明提供的移动机器人对接方法的流程示意图;图4是本发明提供的移动机器人对接方法一具体实施例的流程示意图。
[0071]
本实施例中提供一种移动机器人的对接方法,该方法适用于搬运货架、物料等多种待搬运目标。本实施例中的执行主体为移动机器人,如图1,移动机器人包括移动底盘、2d激光雷达传感器和上视相机、举升装置等。其中,移动底盘内设置有运动控制器、电机、电池、嵌入式计算机和里程计。移动机器人在仓储环境内生成的二维栅格地图中进行高精度定位。其中,二维栅格地图包括货架、工作台、房屋支撑架以及待搬运目标等部件。二维栅格地图中各部件的位置坐标基于世界坐标系建立。移动机器人的对接方法包括如下步骤。
[0072]
s1:响应于移动机器人运行至预设位置点,则获取激光雷达的探测数据。
[0073]
具体地,移动机器人进行自动识别待搬运目标前,需要先运行到预设位置点,如图2。其中,预设位置点标注有在世界坐标系中的位置坐标。移动机器人在预设位置点需要识别待搬运目标,进而才能准确的自动运行到待搬运目标,并与待搬运目标进行对接。
[0074]
移动机器人运行到预设位置点后,通过控制激光雷达向待搬运目标发射激光点云。之后移动机器人通过2d激光雷达传感器探测2d激光点云中各激光位点以及激光位点的位置信息。激光位点的位置信息为激光坐标系中的位置信息。在本实施例中,激光坐标系的坐标原点为移动机器人。在本实施例中,激光点云是依据时序进行反射的,因此,各激光位点具有时间标记。
[0075]
在仓储环境中,移动机器人进行导航时,会有拓扑路线地图,用于标记移动机器人的移动路线以及移动机器人所需要经过与到达的节点。这些节点会标记出货架区、栈板区,表示移动机器人需要将货架运输到对应的理想位置。在货架检测前,移动机器人先通过里程计和激光雷达进行导航,让移动机器人到达预设位置点。待移动机器人到达预设位置点,移动机器人会获取到货架的总长度、货架边缘距离标注举升位置处的长度l1和l2、货架的宽度w和货架标注位置。在本实施例中货架的横截面为矩形,货架与预设位置点最近的一端的边缘与标注举升位置之间的长度为l1,与预设位置点最近的一端相邻边缘与标注举升位置之间的长度为l2。
[0076]
由于货架的整体结构不规则,货架的标注举升位置并不一定为货架底座的轮廓中心。如果货架为正方体结构,则货架的标注举升位置为货架底座的轮廓中心。如果货架为不规则梯形结构,则货架的标注举升位置不是货架底座的轮廓中心。本实施例中,基于不同的货架的具体结构,货架的标注举升位置不同。在货架的标注举升位置可以更平稳的将货架举升,避免货架在举升过程中由于不平衡发生侧翻现象。
[0077]
s2:基于探测数据,确定待搬运目标的特征轮廓信息。
[0078]
具体地,对探测数据进行处理和分析,确定待搬运目标的特征轮廓信息的具体步骤如下所示。
[0079]
请参阅图5,图5是图3提供的移动机器人对接方法中步骤s2一具体实施例的流程示意图。
[0080]
s21:对获取的n个激光位点进行筛选,得到候选点云集。
[0081]
具体地,候选点云集包括m个激光位点,且激光位点按照时序依次排列。其中,n≥m,且n、m均为正整数。
[0082]
为了检测到准确的货架轮廓特征信息,则需要对获取的激光位点进行筛选。通过对n个激光位点进行至少两次筛选的具体步骤如下所示。
[0083]
请参阅图6,图6是图5提供的移动机器人对接方法中步骤s21一具体实施例的流程示意图。
[0084]
s211:基于各激光位点分别与待搬运目标的预设中心位点之间的距离对激光位点进行筛选,得到第一点云集。
[0085]
具体地,判断各激光位点分别与待搬运目标的预设中心位点之间的距离是否小于第一预设距离。如果激光位点与待搬运目标的预设中心位点之间的距离小于第一预设距离,则将对应的激光位点归属于第一点云集。如果激光位点与待搬运目标的预设中心位点之间的距离不小于第一预设距离,则将对应的激光位点进行删除。
[0086]
在一具体实施例中,根据所有激光位点以及货架标注位置分别在激光坐标系中的位置坐标,计算得到所有激光位点分别与货架标注位置之间的距离,判断激光位点与货架标注位置之间的距离是否小于第一预设距离。其中,第一预设距离可以为两倍的货架总长度。如果激光位点与货架标注位置之间的距离小于第一预设距离,则表明对应的激光位点处于货架轮廓上,将该激光位点保留并归属于第一点云集。如果激光位点与货架标注位置之间的距离不小于第一预设距离,则表明对应的激光位点未处于货架上,将该激光位点删除。
[0087]
通过上述方法对获取的所有激光位点进行筛选,得到第一点云集。
[0088]
s212:遍历第一点云集中所有的激光位点,基于选取的激光位点与相邻的前一激光位点之间的距离、选取的激光位点与相邻的后一激光位点之间的距离对选取的激光位点进行筛选,得到候选点云集。
[0089]
具体地,判断选取的激光位点与相邻的前一激光位点之间的距离是否小于第二预设距离、选取的激光位点与相邻的后一激光位点之间的距离是否小于第二预设距离;如果选取的激光位点与相邻的前一激光位点之间的距离小于第二预设距离,或选取的激光位点与相邻的后一激光位点之间的距离小于第二预设距离,则将选取的激光位点归属于候选点云集。
[0090]
在一具体实施例中,选取的激光位点pi,激光位点pi左右相邻的激光位点分别记为p
i-1
、p
i+1
。计算得到激光位点pi与激光位点p
i-1
之间的距离d1;计算得到激光位点pi与激光位点p
i+1
之间的距离d2。判断激光位点pi与激光位点p
i-1
之间的距离d1或激光位点pi与激光位点p
i+1
之间的距离d2是否小于第二预设距离。其中,第二预设距离可以设定为4cm。如果激光位点pi与激光位点p
i-1
之间的距离d1或激光位点pi与激光位点p
i+1
之间的距离d2小于第二预设距离,则保留选取的激光位点,并将选取的激光位点归属于候选点云集中。
[0091]
在另一实施例中,响应于选取的激光位点与相邻的前一激光位点之间的距离大于第二预设距离,且选取的激光位点与相邻的后一激光位点之间的距离大于第二预设距离,则基于相邻的前一激光位点和相邻的后一激光位点确定对应的第三直线;判断选取的激光位点与第三直线之间的距离是否小于第三预设距离;如果选取的激光位点与第三直线之间的距离小于第三预设距离,则将选取的激光位点归属于候选点云集;如果选取的激光位点与第三直线之间的距离大于第三预设距离,则删除选取的激光位点。
[0092]
具体地,如果激光位点pi与激光位点p
i-1
之间的距离d1大于第二预设距离,且激光位点pi与激光位点p
i+1
之间的距离d2大于第二预设距离,则利用激光位点p
i-1
和激光位点p
i+1
构建第三直线。第三直线具有对应的法向量和相切圆半径。
[0093]
激光位点p
i-1
和激光位点p
i+1
构建的第三直线的法向量ni如公式1所示。
[0094]
ni=arctan[(p
(i-1)y-p
(i+1)y
)/(p
(i-1)x-p
(i+1)x
)]+π/2
ꢀꢀꢀꢀꢀꢀꢀ
(公式1)
[0095]
式中:ni的取值范围为(-π,π]。
[0096]
当|p
(i-1)x-p
(i+1)x
|》10-9
,则激光位点p
i-1
和激光位点p
i+1
构建的第三直线的法向量ni等于0。
[0097]
激光位点p
i-1
和激光位点p
i+1
构建的第三直线的相切圆半径ri如公式2所示。
[0098]ri
=p
i-1
.[cos(ni)sin(ni)]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(公式2)
[0099]
式中:p
i-1
为激光位点p
i-1
的位置坐标,ni为第三直线的法向量。
[0100]
当计算得到ri<0,则第三直线的法向量为ni+π,第三直线的相切圆半径为-ri。
[0101]
计算得到第三直线的法向量和相切圆半径后,则通过公式3计算得到激光位点pi到第三直线的距离δdi。
[0102]
δdi=ri*cos(n
i-ai)-riꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(公式3)
[0103]
式中:ri是第i个激光位点到激光坐标系原点的测距距离;ai是第i个激光位点在激光坐标系下的角度。
[0104]
判断激光位点pi到第三直线的距离δdi是否大于第三预设距离。进而判断激光位点pi是否数属于第三直线。其中,第三预设距离可以设定为5cm。如果激光位点pi到第三直线的距离δdi大于第三预设距离,则确定激光位点pi与第三直线处于同一直线上,保留激光位点pi。如果激光位点pi到第三直线的距离δdi小于第三预设距离,则确定激光位点pi与第三直线不处于同一直线上,删除激光位点pi。
[0105]
通过上述方法遍历第一点云集中的所有激光位点,得到筛选后的候选点云集。
[0106]
s22:将候选点云集中包含于同一直线的激光位点分别进行聚类,得到直线对应的共线点云集。
[0107]
具体地,由于候选点云集中的所有激光位点是根据时序进行排列。根据各候选点云集中的第一个激光位点和最后一个激光位点,确定第一个激光位点和最后一个激光位点构建的第四直线;计算得到候选点云集中除第一个激光位点和最后一个激光位点之外的其他各激光位点分别与第四直线之间的直线距离;选取最大的直线距离,将最大的直线距离对应的激光位点确定为第一标识位点;响应于最大的直线距离大于第四预设距离,则将候选点云集从第一标识点位处进行分割,得到两条直线对应的两个共线点云集。
[0108]
在一具体实施例中,选取候选点云集中的第一个激光位点ps和最后一个激光位点pe。根据第一个激光位点ps和最后一个激光位点pe确定对应的第四直线。具体根据公式1和
公式2计算得到第四直线对应的法向量和相切圆半径。
[0109]
基于公式3计算得到候选点云集中各激光位点到第四直线之间的直线距离δdi,并选取最大的直线距离d
max
,将最大的直线距离d
max
对应的激光位点确定为第一标识位点i
max

[0110]
判断最大的直线距离d
max
是否大于第四预设距离,进而确定最大的直线距离d
max
对应的激光位点是否与之前的激光位点处于同一直线。其中,第四预设距离可以设定为5cm,也可以根据实际情况自行设定。如果最大的直线距离d
max
大于第四预设距离,则确定最大的直线距离d
max
对应的激光位点与之前的激光位点处于不同的直线上。则将第一标识位点作为候选点云集的分割点,将候选点云集分割为第一共线点云集s1[ps,p
imax
)和第二共线点云集s2[p
imax
,pe]。
[0111]
在一实施例中,如果最大的直线距离小于第四预设距离,则需要计算得到候选点云集中相邻两个激光位点之间的间隙距离;将最大的间隙距离对应的相邻两个激光位点中的后一个激光位点确定为第二标识位点。响应于最大的直线距离小于第四预设距离,则判断最大的间隙距离是否大于第五预设距离;如果最大的间隙距离大于第五预设距离,则将候选点云集从第二标识点位处进行分割,得到两条直线对应的两个共线点云集。
[0112]
在一具体实施例中,遍历候选点云集中的所有激光位点,计算得到相邻两个激光位点之间的间隙距离。选取最大的间隙距离d
gap
,则将最大的间隙距离d
gap
对应的两个激光位点中的后一个激光位点作为第二标识位点。
[0113]
当最大的直线距离d
max
小于第四预设距离,则需要判断最大的间隙距离d
gap
是否大于第五预设距离。其中,第五预设距离可以设定为10cm,也可以根据实际情况自行设定。如果最大的直线距离d
max
小于第四预设距离,且最大的间隙距离d
gap
大于第五预设距离,则确定最大的间隙距离d
gap
对应的激光位点与之前的激光位点处于不同的直线上。则将第二标识位点作为候选点云集的分割点,将候选点云集分割为第一共线点云集s1[ps,p
igap
)和第二共线点云集s2[p
igap
,pe]。
[0114]
在另一实施例中,响应于最大的直线距离小于第四预设距离,且最大的间隙距离小于第五预设距离,则确定候选点云集为一条直线的共线点云集。
[0115]
在一具体实施例中,当最大的直线距离d
max
小于第四预设距离,且最大的间隙距离d
gap
小于第五预设距离,则确定最大的间隙距离d
gap
对应的激光位点与之前的激光位点处于同一直线上,不再进行下一步的分割。
[0116]
通过上述方法,遍历候选点云集中的所有激光位点,以及各共线点云集中的所有激光位点,将处于同一直线的激光位点归属于同一共线点云集。
[0117]
在另一实施例中,基于共线点云集包含的激光位点的数量和共线点云集对应的直线的长度对共线点云集进行筛选。在一具体实施例中,计算得到各共线点云集对应的直线的长度,并统计各共线点云集中包含的激光位点的数量;响应于共线点云集对应的直线的长度大于第一预设长度,且共线点云集包含的激光位点的数量大于第一预设数量,则保留共线点云集。其中,第一预设长度可以为货架总长度的一半,第一预设数量可以为50。响应于共线点云集对应的直线的长度小于第一预设长度,和/或,共线点云集包含的激光位点的数量小于第一预设数量,则删除共线点云集。
[0118]
通过上述方法将候选点云集分割为多个共线点云集。
[0119]
s23:响应于两个共线点云集分别对应的直线符合预设要求,则将两个共线点云集进行合并得到候选直线点云集。
[0120]
具体地,基于共线点云集对应的直线之间的参数信息,确定是否将两条直线分别对应的共线点云集进行合并得到候选直线点云集。直线的参数信息包括相切圆半径和法向量。
[0121]
在一实施例中,基于共线点云集中的激光位点的位置信息,确定共线点云集对应的直线的法向量和直线的相切圆半径;基于两条直线分别对应的相切圆半径和法向量,确定是否将两条直线分别对应的共线点云集进行合并得到候选直线点云集。
[0122]
计算得到共线点云集中各激光位点的测距协方差;基于共线点云集中各激光位点的测距协方差和共线点云集对应的直线的法向量,确定各激光位点到共线点云集对应的直线的距离协方差;基于各激光位点到共线点云集对应的直线的距离协方差、共线点云集对应的直线的法向量,确定共线点云集对应的直线的相切圆半径。
[0123]
在一具体实施例中,基于公式4计算得到共线点云集中各激光位点的测距协方差
[0124][0125]
式中:为第k组点云集合的第i个点云的测距长度;为第k组点云集合的第i个点云的角度;σ
φ
为角度观测误差的标准差;σd为距离观测误差的标准差。
[0126]
在一具体实施例中,基于公式5计算得到各激光位点到共线点云集对应的直线的距离协方差
[0127][0128]
其中:nk为第k组共线点云集对应的直线的法向量的初步估计值。
[0129]
在一具体实施例中,基于如下公式6,确定共线点云集对应的直线的相切圆半径rk。
[0130][0131]
式中:rk为直线的相切圆半径。
[0132]
公式6中的p
rr
通过如下公式7计算得到。
[0133][0134]
在一具体实施例中,基于上述公式1确定各共线点云集对应的直线的法向量。具体地,可以基于共线点云集中的所有激光位点的方向信息优化共线点云集对应的直线的法向量,得到如公式8所示的法向量。
[0135]
nk=nk+δnkꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(公式8)
[0136]
式中,nk为共线点云集对应的直线的法向量。
[0137]
在一具体实施例中,δnk具体通过如下公式9得到。
[0138][0139]
式中:
[0140][0141][0142][0143][0144][0145][0146]
在一具体实施例中,基于共线点云集中至少两个激光位点的位置信息、共线点云集对应的直线的法向量,确定至少两个激光位点对应的相切圆半径和直线的法向量;基于相切圆半径之间的误差值和法向量之间的误差值分别迭代共线点云集对应的直线的相切圆半径和直线的法向量。直至法向量的变化量和相切圆半径的变化量小于设定的阈值为止。
[0147]
将上述步骤得到的所有共线点云集对应的直线放到直线集合s
l
中。
[0148]
在一具体实施例中,基于共线点云集中各激光位点的位置信息、共线点云集对应的直线的法向量和直线的相切圆半径,确定共线点云集的协方差矩阵。
[0149]
具体地,基于如下公式10得到各共线点云集的协方差矩阵具体地,基于如下公式10得到各共线点云集的协方差矩阵
[0150]
公式9中的g
t
通过如下公式11计算得到。
[0151][0152]
判断上述直线集合s
l
中直线的数量是否大于3。如果直线集合s
l
中直线的数量大于3,则遍历直线集合s
l
,选取两条直线记为s
li
和s
li+1
。其中,s
li
=[ri,ni],s
li+1
=[r
i+1
,n
i+1
]。
[0153]
利用卡方检验,判断两条直线s
li
和s
li+1
是否为通一条直线,从而决定是否将s
li
和s
li+1
进行合并。
[0154]
在一具体实施例中,响应于两条直线对应的小于预设值,则将两条直线分别对应的共线点云集进行合并得到候选直线点云集;其中,
预设值可以为3,也可以根据实际情况进行设定。
[0155]
在一实施例中,根据共线点云集对应的协方差矩阵,确定预合并的两条直线中各直线的相切圆半径和法向量的权重值;基于预合并的两条直线分别对应的相切圆半径的加权和得到候选直线点云集对应的候选直线的相切圆半径;基于两条直线分别对应的法向量的加权和得到候选直线点云集对应的候选直线的法向量。
[0156]
在一具体实施例中,基于如下公式12计算得到候选直线点云集对应的候选直线的直线方程。直线方程通过法向量和相切圆半径表示。
[0157][0158]
公式中:li表示候选直线的直线方程。
[0159]
在一具体实施例中,采用如下公式13基于预合并的两条直线分别对应的共线点云集的协方差矩阵,确定候选直线点云集的协方差矩阵。
[0160][0161]
公式中:p
li
为候选直线点云集的协方差矩阵;和为不同直线对应的协方差矩阵。
[0162]
通过上述步骤得到多个候选直线点云集对应的候选直线。
[0163]
s24:基于候选直线点云集对应直线之间的位置关系,确定对应的候选直线点云集对应的直线是否为待搬运目标的特征轮廓信息。
[0164]
具体地,为了确定候选直线点云集对应的多个候选直线是否待搬运目标的特征轮廓,则判断候选直线点云集对应的候选直线的长度是否大于第二预设长度、候选直线对应的候选直线点云集中包含激光位点的数量是否大于第二预设数量。其中,第二预设长度大于第一预设长度,第二预设数量大于第一预设数量。
[0165]
如果候选直线的长度小于第二预设长度,或候选直线对应的候选直线点云集中包含激光位点的数量小于第二预设数量,则确定对应的候选直线点云集对应的候选直线不是待搬运目标的特征轮廓信息,将对应的候选直线点云集进行删除。
[0166]
如果候选直线的长度大于第二预设长度,且候选直线对应的候选直线点云集中包含激光位点的数量大于第二预设数量,则基于候选直线的相切圆半径和法向量确定对应候选直线的切点位置。
[0167]
在一具体实施例中,基于如下公式14计算得到候选直线的相切圆的切点位置坐标。
[0168]
ei=[ri*cos(ni),ri*sin(ni)]
ꢀꢀꢀꢀꢀꢀꢀ
(公式14)
[0169]
通过公式13计算得到各候选直线的相切圆对应的切点坐标位置。基于两条直线分别对应的相切圆的切点坐标计算得到两个切点坐标之间的间距wij=|ei

ej|。
[0170]
由于待搬运目标为货架,本技术中货架的轮廓特征信息位于货架两侧,因此判断货架的宽度与两条直线分别对应的相切圆的切点的间距wij之间的差值。
[0171]
响应于两个候选直线对应的切点位置之间的间距wij与待搬运目标的预设宽度之
间的差值小于阈值,则基于两个候选直线分别对应的法向量确定两个候选直线是否为待搬运目标的特征轮廓信息。其中,阈值可以设定为10cm,也可以根据实际情况自行设定。
[0172]
在一具体实施例中,判断两个候选直线分别对应的法向量之间的差值是否处于预设范围;如果两个候选直线分别对应的法向量之间的差值处于预设范围,则确定两个候选直线为待搬运目标的特征轮廓信息。
[0173]
具体地,由于货架的轮廓特征信息位于货架两侧,而货架的两侧相互平行。则还需要判断两条直线分别对应的法向量之间的差值是否小于阈值。如果两条直线分别对应的法向量之间的差值小于阈值,则确定两条直线的法向量接近,确定两个候选直线平行且为货架的特征轮廓信息。如果两条直线分别对应的法向量之间的差值等于π,则确定两条直线的法向量正好相反,也确定两个候选直线平行且为货架的特征轮廓信息。
[0174]
s3:根据获取的待搬运目标的轮廓特征信息,得到待搬运目标的预测举升位置。
[0175]
具体地,待搬运目标的轮廓特征信息包括待搬运目标两侧的第一直线和第二直线。
[0176]
请参阅图7,图7是图3提供的移动机器人对接方法中步骤s3一具体实施例的流程示意图。
[0177]
s31:分别选取第一直线和第二直线中与移动机器人的距离最短的位置点,记为第一位置点和第二位置点。
[0178]
具体地,选取第一直线l
m1
=[r
m1
,n
m1
]和第二直线l
m2
=[r
m2
,n
m2
],遍历第一直线对应的共线点云集和第二直线对应的共线点云集,选取第一直线对应的共线点云集中距离激光坐标系原点距离最近的激光位点p
m1
,记为第一位置点。选取第二直线对应的共线点云集中距离激光坐标系原点距离最近的激光位点p
m2
,记为第二位置点。其中,第一位置点包含于第一直线,第二位置点包含于第二直线。
[0179]
s32:基于第一位置点的方向信息,确定第一直线的方向信息;基于第二位置点的方向信息,确定第二直线的方向信息。
[0180]
具体地,响应于p
m1
.[cos(f
l1
),sin(f
l1
)]》0,则确定第一直线的方向信息为f
l1
(n
m1
+π/2)。响应于p
m1
.[cos(f
l1
),sin(f
l1
)]≤0,则确定第一直线的方向信息为f
l1
(n
m1-π/2)。
[0181]
在另一实施例中,响应于p
m2
.[cos(f
l2
),sin(f
l2
)]》0,则确定第二直线的方向信息为f
l2
(n
m2
+π/2)。响应于p
m2
.[cos(f
l2
),sin(f
l2
)]≤0,则确定第二直线的方向信息为f
l2
(n
m2-π/2)。
[0182]
s33:根据第一直线的方向信息和第二直线的方向信息,确定待搬运目标的方向信息。
[0183]
具体地,根据如下公式15确定待搬运目标的方向信息θ。
[0184]
θ=acrtan[(l
l1
+l
l2
)y,(l
l1
+l
l2
)
x
]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(公式15)
[0185]
式中:l
l1
为第一直线的方向向量;l
l2
为第二直线的方向向量。
[0186]
s34:基于待搬运目标的方向信息、待搬运目标边缘到标注举升位置的距离、第一位置点和第二位置点的位置信息,确定待搬运目标的预测举升位置。
[0187]
具体地,根据如下公式16确定待搬运目标的预测举升位置c。
[0188]
c=(p
m1
+p
m2
)/2+r(θ)*l1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(公式16)
[0189]
式中:r(θ)为待搬运目标朝向对应的旋转矩阵;p
m1
为第一位置点的位置坐标;p
m2
为第二位置点的位置坐标;l1为待搬运目标的边缘到标注举升位置的距离。
[0190]
s4:基于获取的移动机器人的当前位姿信息和预测举升位置,预测移动机器人的运行信息。
[0191]
具体地,为了便于移动机器人可以更准确向靠近货架的方向运行,则移动机器人可以根据在当前位置处的位置信息、移动机器人的位姿信息以及移动机器人到预测举升位置处的距离,规划出移动机器人从预设位置点到预测举升位置处的路径,以及路径中各位置点的运行速度和方向。在一具体实施例中,根据预设位置点在激光坐标系中的位置坐标、预设位置点在世界坐标系中的位置坐标以及预测举升位置在激光坐标系中的位置坐标可以确定预测举升位置在世界坐标系中的位置坐标。
[0192]
s5:控制移动机器人基于运行信息向待搬运目标进行运行。
[0193]
具体地,移动机器人可以根据规划的运行速度和方向从预设位置点向待搬运目标运行。移动机器人可以运行到待搬运目标的底部。并在待搬运目标的底部进行移动,向靠近预测举升位置的方向运行。
[0194]
在一具体实施例中,移动机器人根据预测的运行信息像货架靠近,当运行到货架下方时,则控制移动机器人开启上视相机。上视相机用于采集货架底座上设置的标注导航信息。
[0195]
s6:响应于移动机器人检测到待搬运目标上的标注导航信息,则基于标注导航信息控制移动机器人运行至待搬运目标的标注举升位置并举升待搬运目标。
[0196]
具体地,标注导航信息包括检测到标注导航信息的当前位置处的预设方向信息和预设位姿信息以及从当前位置处运行至待搬运目标的标注举升位置的预设运行信息。
[0197]
基于预设方向信息和预设位姿信息调整移动机器人在检测到标注导航信息的当前位置处的运行参数;根据预设运行信息控制移动机器人从当前位置处运行至待搬运目标的标注举升位置并举升待搬运目标。
[0198]
在本实施例中,标注导航信息可以为货架码。货架码包括至少一个引导码和一个举升码。其中,引导码包含有移动机器人在当前位置处的预设位姿和朝向,用于引导移动机器人向靠近举升码的方向运行。举升码为货架的标注举升位置。引导码中还包括当前位置与下一个引导码之间的距离以及引导码与举升码之间的距离和方向位置关系。
[0199]
当移动机器人检测到待搬运目标上的标注导航信息之前,则移动机器人通过激光雷达和里程计根据预测的运行信息进行运行。当移动机器人检测到待搬运目标上的标注导航信息时,则移动机器人切换到货架码导航方式,根据引导码上的标注导航信息对移动机器人在当前位置处的当前位姿和朝向进行运行,进而控制移动机器人可以更准确的运行至货架的标注举升位置。
[0200]
在一实施例中,基于移动机器人检测待搬运目标的轮廓特征信息的预设位置点的位置信息、移动机器人从预设位置点运行至标注举升位置的变化量,确定标注举升位置的位置信息。
[0201]
具体地,基于如下公式17计算得到标注举升位置在世界坐标系中的位置坐标。
[0202]
th=ts*t
sh
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(公式17)
[0203]
式中:th为标注举升位置在世界坐标系中的位置坐标;ts为预设位置点在世界坐标系中的位置坐标;t
sh
为移动机器人从预设位置点运行至标注举升位置的变化量。
[0204]
s7:控制移动机器人将待搬运目标搬运至目标位置。
[0205]
具体地,基于移动机器人的位置信息与待搬运目标的位置信息之间的误差以及目标位置的位置信息,确定将待搬运目标搬运至目标位置时移动机器人的位置信息。
[0206]
具体地,基于如下公式18计算得到货架搬运至目标位置时移动机器人的位置信息。
[0207]
tb=t
cb
*t
h1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(公式18)
[0208]
式中:tb为货架在世界坐标系中的位置坐标,t
h1
为移动机器人在世界坐标系中的位置坐标;t
cb
为相机识别到的货架相对于移动机器人的位置偏差。
[0209]
在移动机器人举起货架行走的过程中,通过激光导航估计的机器人位姿,叠加上设备相对于二维码相对变化量,保证设备移动过程中能让货架跟巡理想的路线,在放下货架时,也能将货架放在理想的目标点上。
[0210]
本实施例提供一种移动机器人的对接方法包括:根据获取的待搬运目标的轮廓特征信息,得到待搬运目标的预测举升位置;基于获取的移动机器人的当前位姿信息和预测举升位置,预测移动机器人的运行信息;控制移动机器人基于运行信息向待搬运目标进行运行;响应于移动机器人检测到待搬运目标上的标注导航信息,则基于标注导航信息控制移动机器人运行至待搬运目标的标注举升位置并举升待搬运目标。本技术通过基于待搬运目标的轮廓特征信息预测待搬运目标的预测举升位置,并根据移动机器人的当前位置和预测举升位置确定移动机器人运行到预测举升位置的运行信息,移动机器人基于运行信息向待搬运目标进行运行,移动机器人在运行过程中检测到待搬运目标上的标注导航信息,则控制移动机器人基于标注导航信息进行运行,并控制移动机器人运行至待搬运目标的标注举升位置,实现移动机器人与待搬运目标的精确对接,进而通过移动机器人举升待搬运目标。
[0211]
参阅图8,图8是本发明提供的移动机器人对接装置的示意框图。本实施例提供一种移动机器人的对接装置60,移动机器人的对接装置60包括预测模块61、分析模块62、执行模块63和对接模块64。
[0212]
预测模块61用于根据获取的待搬运目标的轮廓特征信息,得到待搬运目标的预测举升位置。
[0213]
其中,待搬运目标的轮廓特征信息包括待搬运目标两侧的第一直线和第二直线;预测模块61用于分别选取第一直线和第二直线中与移动机器人的距离最短的位置点,记为第一位置点和第二位置点;其中,第一位置点包含于第一直线,第二位置点包含于第二直线;基于第一位置点的方向信息,确定第一直线的方向信息;基于第二位置点的方向信息,确定第二直线的方向信息;根据第一直线的方向信息和第二直线的方向信息,确定待搬运目标的方向信息;基于待搬运目标的方向信息、待搬运目标边缘到标注举升位置的距离、第一位置点和第二位置点的位置信息,确定待搬运目标的预测举升位置。
[0214]
具体地,根据如下公式确定待搬运目标的预测举升位置c。
[0215]
c=(p
m1
+p
m2
)/2+r(θ)*l1]
[0216]
式中:r(θ)为待搬运目标朝向对应的旋转矩阵;p
m1
为第一位置点的位置坐标;p
m2
为第二位置点的位置坐标;l1为待搬运目标的边缘到标注举升位置的距离。
[0217]
响应于p
m1
.[cos(f
l1
),sin(f
l1
)]》0,则确定第一直线的方向信息为f
l1
(n
m1
+π/2)。
[0218]
响应于p
m1
.[cos(f
l1
),sin(f
l1
)]≤0,则确定第一直线的方向信息为f
l1
(n
m1-π/2)。
[0219]
根据如下公式确定待搬运目标的方向信息θ;
[0220]
θ=acrtan[(l
l1
+l
l2
)y,(l
l1
+l
l2
)
x
]
[0221]
式中:l
l1
为第一直线的方向向量;l
l2
为第二直线的方向向量。
[0222]
分析模块62用于基于获取的移动机器人的当前位姿信息和预测举升位置,预测移动机器人的运行信息。
[0223]
执行模块63用于用于控制移动机器人基于运行信息向待搬运目标进行运行。
[0224]
对接模块64用于响应于移动机器人检测到待搬运目标上的标注导航信息,则基于标注导航信息控制移动机器人运行至待搬运目标的标注举升位置并举升待搬运目标。
[0225]
标注导航信息包括检测到标注导航信息的当前位置处的预设方向信息和预设位姿信息以及从当前位置处运行至待搬运目标的标注举升位置的预设运行信息。对接模块64用于基于预设方向信息和预设位姿信息调整移动机器人在检测到标注导航信息的当前位置处的运行参数;根据预设运行信息控制移动机器人从当前位置处运行至待搬运目标的标注举升位置并举升待搬运目标。对接模块64用于基于移动机器人检测待搬运目标的轮廓特征信息的预设位置点的位置信息、移动机器人从预设位置点运行至标注举升位置的变化量,确定标注举升位置的位置信息。
[0226]
执行模块用于控制移动机器人将待搬运目标搬运至目标位置。并基于移动机器人的位置信息与待搬运目标的位置信息之间的误差以及目标位置的位置信息,确定将待搬运目标搬运至目标位置时移动机器人的位置信息。
[0227]
预测模块61还用于响应于移动机器人运行至预设位置点,则获取激光雷达的探测数据;基于探测数据,确定待搬运目标的特征轮廓信息。探测数据包括多个激光位点及激光位点的位置信息,激光位点的位置信息为激光坐标系中的位置信息。
[0228]
具体地,预测模块61用于对获取的n个激光位点进行筛选,得到候选点云集;候选点云集包括m的激光位点,且激光位点按照时序依次排列;其中,n≥m,且n、m均为正整数;将候选点云集中包含于同一直线的激光位点分别进行聚类,得到直线对应的共线点云集;响应于两个共线点云集分别对应的直线符合预设要求,则将两个共线点云集进行合并得到候选直线点云集;基于候选直线点云集对应直线之间的位置关系,确定对应的候选直线点云集对应的直线是否为待搬运目标的特征轮廓信息。
[0229]
预测模块61用于基于各激光位点分别与待搬运目标的预设中心位点之间的距离对激光位点进行筛选,得到第一点云集;遍历第一点云集中所有的激光位点,基于选取的激光位点与相邻的前一激光位点之间的距离、选取的激光位点与相邻的后一激光位点之间的距离对选取的激光位点进行筛选,得到候选点云集。
[0230]
预测模块61用于判断各激光位点分别与待搬运目标的预设中心位点之间的距离是否小于第一预设距离;如果激光位点与待搬运目标的预设中心位点之间的距离小于第一预设距离,则将激光位点归属于第一点云集。
[0231]
预测模块61用于判断选取的激光位点与相邻的前一激光位点之间的距离是否小于第二预设距离、选取的激光位点与相邻的后一激光位点之间的距离是否小于第二预设距离;如果选取的激光位点与相邻的前一激光位点之间的距离小于第二预设距离,或选取的
激光位点与相邻的后一激光位点之间的距离小于第二预设距离,则将选取的激光位点归属于候选点云集。
[0232]
预测模块61用于响应于选取的激光位点与相邻的前一激光位点之间的距离大于第二预设距离,且选取的激光位点与相邻的后一激光位点之间的距离大于第二预设距离,则基于相邻的前一激光位点和相邻的后一激光位点确定对应的第三直线;判断选取的激光位点与第三直线之间的距离是否小于第三预设距离;如果选取的激光位点与第三直线之间的距离小于第三预设距离,则将选取的激光位点归属于候选点云集;如果选取的激光位点与第三直线之间的距离大于第三预设距离,则删除选取的激光位点。
[0233]
预测模块61用于根据各候选点云集中的第一个激光位点和最后一个激光位点,确定第一个激光位点和最后一个激光位点构建的第四直线;计算得到候选点云集中除第一个激光位点和最后一个激光位点之外的其他各激光位点分别与第四直线之间的直线距离;选取最大的直线距离,将最大的直线距离对应的激光位点确定为第一标识位点;响应于最大的直线距离大于第四预设距离,则将候选点云集从第一标识点位处进行分割,得到两条直线对应的两个共线点云集。
[0234]
预测模块61用于计算得到候选点云集中相邻两个激光位点之间的间隙距离;将最大的间隙距离对应的相邻两个激光位点中的后一个激光位点确定为第二标识位点。
[0235]
预测模块61用于响应于最大的直线距离小于第四预设距离,则判断最大的间隙距离是否大于第五预设距离;如果最大的间隙距离大于第五预设距离,则将候选点云集从第二标识点位处进行分割,得到两条直线对应的两个共线点云集。
[0236]
预测模块61用于响应于最大的直线距离小于第四预设距离,且最大的间隙距离小于第五预设距离,则确定候选点云集为一条直线的共线点云集。
[0237]
预测模块61用于基于共线点云集包含的激光位点的数量和共线点云集对应的直线的长度对共线点云集进行筛选。
[0238]
预测模块61用于计算得到各共线点云集对应的直线的长度,并统计各共线点云集中包含的激光位点的数量;响应于共线点云集对应的直线的长度大于第一预设长度,且共线点云集包含的激光位点的数量大于第一预设数量,则保留共线点云集;响应于共线点云集对应的直线的长度小于第一预设长度,和/或,共线点云集包含的激光位点的数量小于第一预设数量,则删除共线点云集。
[0239]
预测模块61用于基于共线点云集对应的直线之间的参数信息,确定是否将两条直线分别对应的共线点云集进行合并得到候选直线点云集。
[0240]
预测模块61用于基于共线点云集中的激光位点的位置信息,确定共线点云集对应的直线的法向量和直线的相切圆半径;基于两条直线分别对应的相切圆半径和法向量,确定是否将两条直线分别对应的共线点云集进行合并得到候选直线点云集。
[0241]
预测模块61用于基于共线点云集中至少两个激光位点的位置信息、共线点云集对应的直线的法向量,确定至少两个激光位点对应的相切圆半径和直线的法向量;基于相切圆半径之间的误差值和法向量之间的误差值分别迭代共线点云集对应的直线的相切圆半径和直线的法向量。
[0242]
预测模块61用于基于如下公式,确定共线点云集对应的直线的法向量nk。
[0243]
nk=arctan[(p
(a)y-p
(d)y
)/(p
(a)x-p
(d)x
)]+π/2
[0244]
式中:p
(a)
和p
(d)
分别为不同激光位点的位置坐标。
[0245]
预测模块61用于计算得到共线点云集中各激光位点的测距协方差;基于共线点云集中各激光位点的测距协方差和共线点云集对应的直线的法向量,确定各激光位点到共线点云集对应的直线的距离协方差;基于各激光位点到共线点云集对应的直线的距离协方差、共线点云集对应的直线的法向量,确定共线点云集对应的直线的相切圆半径。
[0246]
预测模块61用于基于如下公式,确定共线点云集对应的直线的相切圆半径rk。
[0247][0248]
式中:rk为直线的相切圆半径。
[0249]
预测模块61用于基于共线点云集中各激光位点的位置信息、共线点云集对应的直线的法向量和直线的相切圆半径,确定共线点云的协方差矩阵。
[0250]
预测模块61用于响应于两条直线对应的小于预设值,则将两条直线分别对应的共线点云集进行合并得到候选直线点云集;其中,
[0251]
预测模块61用于根据共线点云集对应的协方差矩阵,确定预合并的两条直线中各直线的相切圆半径和法向量的权重值;基于预合并的两条直线分别对应的相切圆半径的加权和得到候选直线点云集对应的候选直线的相切圆半径;基于两条直线分别对应的法向量的加权和得到候选直线点云集对应的候选直线的法向量。
[0252]
预测模块61用于采用如下公式基于预合并的两条直线分别对应的共线点云集的协方差矩阵,确定候选直线点云集的协方差矩阵。
[0253][0254]
公式中:p
li
为候选直线点云集的协方差矩阵。
[0255]
预测模块61用于判断候选直线点云集对应的候选直线的长度是否大于第二预设长度、候选直线对应的候选直线点云集中包含激光位点的数量是否大于第二预设数量;如果候选直线的长度大于第二预设长度,且候选直线对应的候选直线点云集中包含激光位点的数量大于第二预设数量,则基于候选直线的相切圆半径和法向量确定对应候选直线的切点位置;响应于两个候选直线对应的切点位置之间的间距与待搬运目标的预设宽度之间的差值小于阈值,则基于两个候选直线分别对应的法向量确定两个候选直线是否为待搬运目标的特征轮廓信息。
[0256]
预测模块61用于判断两个候选直线分别对应的法向量之间的差值是否处于预设范围;如果两个候选直线分别对应的法向量之间的差值处于预设范围,则两个候选直线为待搬运目标的特征轮廓信息。
[0257]
本实施例中通过基于待搬运目标的轮廓特征信息预测待搬运目标的预测举升位置,并根据移动机器人的当前位置和预测举升位置确定移动机器人运行到预测举升位置的运行信息,移动机器人基于运行信息向待搬运目标进行运行,移动机器人在运行过程中检测到待搬运目标上的标注导航信息,则控制移动机器人基于标注导航信息进行运行,并控制移动机器人运行至待搬运目标的标注举升位置,实现移动机器人与待搬运目标的精确对
接,进而通过移动机器人举升待搬运目标。
[0258]
请参阅图9,图9是本发明提供的终端一实施方式的示意框图。终端80包括相互耦接的存储器81和处理器82,处理器82用于执行存储器81中存储的程序指令,以实现上述任一移动机器人的对接方法实施例的步骤。在一个具体的实施场景中,终端80可以包括但不限于:微型计算机、服务器,此外,终端80还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
[0259]
具体而言,处理器82用于控制其自身以及存储器81以实现上述任一图像检测模型的训练方法实施例的步骤。处理器82还可以称为cpu(central processing unit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器82可以由集成电路芯片共同实现。
[0260]
请参阅图10,图10是本发明提供的计算机可读存储介质一实施方式的示意框图。计算机可读存储介质90存储有能够被处理器运行的程序指令901,程序指令901用于实现上述任一移动机器人的对接方法实施例的步骤。
[0261]
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0262]
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
[0263]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
[0264]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0265]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0266]
若本技术技术方案涉及个人信息,应用本技术技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本技术技术方案涉及敏感个人信息,应用本技术技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
[0267]
以上仅为本发明的实施方式,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:
1.一种移动机器人的对接方法,其特征在于,所述移动机器人的对接方法包括:根据获取的待搬运目标的轮廓特征信息,得到所述待搬运目标的预测举升位置;基于获取的所述移动机器人的当前位姿信息和所述预测举升位置,预测所述移动机器人的运行信息;控制所述移动机器人基于所述运行信息向所述待搬运目标进行运行;响应于所述移动机器人检测到所述待搬运目标上的标注导航信息,则基于所述标注导航信息控制所述移动机器人运行至所述待搬运目标的标注举升位置并举升所述待搬运目标。2.根据权利要求1所述的移动机器人的对接方法,其特征在于,所述待搬运目标的轮廓特征信息包括所述待搬运目标两侧的第一直线和第二直线;所述根据获取的待搬运目标的轮廓特征信息,得到所述待搬运目标的预测举升位置,包括:分别选取所述第一直线和所述第二直线中与所述移动机器人的距离最短的位置点,记为第一位置点和第二位置点;其中,所述第一位置点包含于所述第一直线,所述第二位置点包含于所述第二直线;基于所述第一位置点的方向信息,确定所述第一直线的方向信息;基于所述第二位置点的方向信息,确定所述第二直线的方向信息;根据所述第一直线的方向信息和所述第二直线的方向信息,确定所述待搬运目标的方向信息;基于所述待搬运目标的方向信息、所述待搬运目标边缘到所述标注举升位置的距离、所述第一位置点和所述第二位置点的位置信息,确定所述待搬运目标的预测举升位置。3.根据权利要求2所述的移动机器人的对接方法,其特征在于,所述基于所述待搬运目标的方向信息、所述待搬运目标边缘到所述标注举升位置的距离、所述第一位置点和所述第二位置点的位置信息,确定所述待搬运目标的预测举升位置,包括:根据如下公式确定所述待搬运目标的预测举升位置c;c=(p
m1
+p
m2
)/2+r(θ)*l1]式中:r(θ)为所述待搬运目标朝向对应的旋转矩阵;p
m1
为所述第一位置点的位置坐标;p
m2
为所述第二位置点的位置坐标;l1为所述待搬运目标的边缘到所述标注举升位置的距离。4.根据权利要求2所述的移动机器人的对接方法,其特征在于,所述基于所述第一位置点的方向信息,确定所述第一直线的方向信息,包括:响应于p
m1
.[cos(f
l1
),sin(f
l1
)]>0,则确定所述第一直线的方向信息为f
l1
(n
m1
+π/2)。5.根据权利要求2所述的移动机器人的对接方法,其特征在于,所述基于所述第一位置点的方向信息,确定所述第一直线的方向信息,包括:响应于p
m1
.[cos(f
l1
),sin(f
l1
)]≤0,则确定所述第一直线的方向信息为f
l1
(n
m1-π/2)。6.根据权利要求2所述的移动机器人的对接方法,其特征在于,所述根据所述第一直线的方向信息和所述第二直线的方向信息,确定所述待搬运目标的方向信息,包括:
根据如下公式确定所述待搬运目标的方向信息θ;θ=acrtan[(l
l1
+l
l2
)
y
,(l
l1
+l
l2
)
x
]式中:l
l1
为所述第一直线的方向向量;l
l2
为所述第二直线的方向向量。7.根据权利要求1所述的移动机器人的对接方法,其特征在于,所述标注导航信息包括检测到所述标注导航信息的当前位置处的预设方向信息和预设位姿信息以及从所述当前位置处运行至所述待搬运目标的标注举升位置的预设运行信息;所述响应于所述移动机器人检测到所述待搬运目标上的标注导航信息,则基于所述标注导航信息控制所述移动机器人运行至所述待搬运目标的标注举升位置并举升所述待搬运目标,包括:基于所述预设方向信息和所述预设位姿信息调整所述移动机器人在检测到所述标注导航信息的当前位置处的运行参数;根据所述预设运行信息控制所述移动机器人从所述当前位置处运行至所述待搬运目标的标注举升位置并举升所述待搬运目标。8.根据权利要求7所述的移动机器人的对接方法,其特征在于,所述根据所述预设运行信息控制所述移动机器人从所述当前位置处运行至所述待搬运目标的标注举升位置并举升所述待搬运目标,还包括:基于所述移动机器人检测所述待搬运目标的轮廓特征信息的预设位置点的位置信息、所述移动机器人从所述预设位置点运行至所述标注举升位置的变化量,确定所述标注举升位置的位置信息。9.根据权利要求1所述的移动机器人的对接方法,其特征在于,所述移动机器人的对接方法还包括:控制所述移动机器人将所述待搬运目标搬运至目标位置。10.根据权利要求9所述的移动机器人的对接方法,其特征在于,所述控制所述移动机器人将所述待搬运目标搬运至目标位置,还包括:基于所述移动机器人的位置信息与所述待搬运目标的位置信息之间的误差以及所述目标位置的位置信息,确定将所述待搬运目标搬运至所述目标位置时所述移动机器人的位置信息。11.根据权利要求1所述的移动机器人的对接方法,其特征在于,所述根据获取的待搬运目标的轮廓特征信息,得到所述待搬运目标的预测举升位置,之前还包括:响应于所述移动机器人运行至预设位置点,则获取激光雷达的探测数据;基于所述探测数据,确定所述待搬运目标的特征轮廓信息。12.根据权利要求11所述的移动机器人的对接方法,其特征在于,所述探测数据包括多个激光位点及所述激光位点的位置信息,所述激光位点的位置信息为激光坐标系中的位置信息;所述基于所述探测数据,确定所述待搬运目标的特征轮廓信息,包括:对获取的n个所述激光位点进行筛选,得到候选点云集;所述候选点云集包括m的所述激光位点,且所述激光位点按照时序依次排列;其中,n≥m,且n、m均为正整数;将所述候选点云集中包含于同一直线的所述激光位点分别进行聚类,得到所述直线对
应的共线点云集;响应于两个所述共线点云集分别对应的所述直线符合预设要求,则将所述两个共线点云集进行合并得到候选直线点云集;基于所述候选直线点云集对应所述直线之间的位置关系,确定对应的所述候选直线点云集对应的所述直线是否为所述待搬运目标的特征轮廓信息。13.根据权利要求12所述的移动机器人的对接方法,其特征在于,所述对获取的n个所述激光位点进行筛选,得到候选点云集,包括:基于各所述激光位点分别与所述待搬运目标的预设中心位点之间的距离对所述激光位点进行筛选,得到第一点云集;遍历所述第一点云集中所有的所述激光位点,基于选取的所述激光位点与相邻的前一所述激光位点之间的距离、所述选取的激光位点与相邻的后一所述激光位点之间的距离对所述选取的激光位点进行筛选,得到所述候选点云集。14.根据权利要求13所述的移动机器人的对接方法,其特征在于,所述基于各所述激光位点分别与所述待搬运目标的预设中心位点之间的距离对所述激光位点进行筛选,得到第一点云集,包括:判断各所述激光位点分别与所述待搬运目标的预设中心位点之间的距离是否小于第一预设距离;如果所述激光位点与所述待搬运目标的预设中心位点之间的所述距离小于所述第一预设距离,则将所述激光位点归属于所述第一点云集。15.根据权利要求13所述的移动机器人的对接方法,其特征在于,所述基于选取的所述激光位点与相邻的前一所述激光位点之间的距离、所述选取的激光位点与相邻的后一所述激光位点之间的距离对所述选取的激光位点进行筛选,得到所述候选点云集,包括:判断所述选取的激光位点与相邻的前一所述激光位点之间的距离是否小于第二预设距离、所述选取的激光位点与相邻的后一所述激光位点之间的距离是否小于所述第二预设距离;如果所述选取的激光位点与相邻的前一所述激光位点之间的所述距离小于所述第二预设距离,或所述选取的激光位点与相邻的后一所述激光位点之间的所述距离小于所述第二预设距离,则将所述选取的激光位点归属于所述候选点云集。16.根据权利要求15所述的移动机器人的对接方法,其特征在于,所述对获取的n个所述激光位点进行筛选,得到候选点云集,还包括:响应于所述选取的激光位点与相邻的前一所述激光位点之间的所述距离大于所述第二预设距离,且所述选取的激光位点与相邻的后一所述激光位点之间的所述距离大于所述第二预设距离,则基于所述相邻的前一激光位点和所述相邻的后一激光位点确定对应的第三直线;判断所述选取的激光位点与所述第三直线之间的距离是否小于第三预设距离;如果所述选取的激光位点与所述第三直线之间的所述距离小于所述第三预设距离,则将所述选取的激光位点归属于所述候选点云集;如果所述选取的激光位点与所述第三直线之间的所述距离大于所述第三预设距离,则
删除所述选取的激光位点。17.根据权利要求12所述的移动机器人的对接方法,其特征在于,所述将所述候选点云集中包含于同一直线的所述激光位点分别进行聚类,得到所述直线对应的共线点云集,包括:根据各所述候选点云集中的第一个所述激光位点和最后一个所述激光位点,确定所述第一个激光位点和所述最后一个激光位点构建的第四直线;计算得到所述候选点云集中除所述第一个激光位点和所述最后一个激光位点之外的其他各所述激光位点分别与所述第四直线之间的直线距离;选取最大的所述直线距离,将所述最大的直线距离对应的所述激光位点确定为第一标识位点;响应于所述最大的直线距离大于第四预设距离,则将所述候选点云集从所述第一标识点位处进行分割,得到两条直线对应的两个所述共线点云集。18.根据权利要求17所述的移动机器人的对接方法,其特征在于,所述将所述候选点云集中包含于同一直线的所述激光位点分别进行聚类,得到所述直线对应的共线点云集,还包括:计算得到所述候选点云集中相邻两个所述激光位点之间的间隙距离;将最大的所述间隙距离对应的相邻两个所述激光位点中的后一个所述激光位点确定为第二标识位点。19.根据权利要求18所述的移动机器人的对接方法,其特征在于,所述将所述候选点云集中包含于同一直线的所述激光位点分别进行聚类,得到所述直线对应的共线点云集,还包括:响应于所述最大的直线距离小于所述第四预设距离,则判断所述最大的间隙距离是否大于第五预设距离;如果所述最大的间隙距离大于所述第五预设距离,则将所述候选点云集从所述第二标识点位处进行分割,得到两条直线对应的两个所述共线点云集。20.根据权利要求18所述的移动机器人的对接方法,其特征在于,所述将所述候选点云集中包含于同一直线的所述激光位点分别进行聚类,得到所述直线对应的共线点云集,还包括:响应于所述最大的直线距离小于所述第四预设距离,且所述最大的间隙距离小于所述第五预设距离,则确定所述候选点云集为一条直线的所述共线点云集。21.根据权利要求17所述的移动机器人的对接方法,其特征在于,所述将所述候选点云集中包含于同一直线的所述激光位点分别进行聚类,得到所述直线对应的共线点云集,还包括:基于所述共线点云集包含的所述激光位点的数量和所述共线点云集对应的所述直线的长度对所述共线点云集进行筛选。22.根据权利要求21所述的移动机器人的对接方法,其特征在于,所述基于所述共线点云集包含的所述激光位点的数量和所述共线点云集对应的所述直线的长度对所述共线点云集进行筛选,包括:计算得到各所述共线点云集对应的所述直线的长度,并统计各所述共线点云集中包含
的所述激光位点的数量;响应于所述共线点云集对应的所述直线的长度大于第一预设长度,且所述共线点云集包含的所述激光位点的所述数量大于第一预设数量,则保留所述共线点云集;响应于所述共线点云集对应的所述直线的长度小于所述第一预设长度,和/或,所述共线点云集包含的所述激光位点的所述数量小于所述第一预设数量,则删除所述共线点云集。23.根据权利要求12所述的移动机器人的对接方法,其特征在于,所述响应于两个所述共线点云集分别对应的所述直线符合预设要求,则将所述两个共线点云集进行合并得到候选直线点云集,包括:基于所述共线点云集对应的所述直线之间的参数信息,确定是否将两条所述直线分别对应的所述共线点云集进行合并得到所述候选直线点云集。24.根据权利要求23所述的移动机器人的对接方法,其特征在于,所述直线的参数信息包括相切圆半径和法向量;所述基于所述共线点云集对应的所述直线之间的参数信息,确定是否将两条所述直线分别对应的所述共线点云集进行合并得到所述候选直线点云集,包括:基于所述共线点云集中的所述激光位点的位置信息,确定所述共线点云集对应的所述直线的法向量和所述直线的相切圆半径;基于两条所述直线分别对应的所述相切圆半径和所述法向量,确定是否将所述两条直线分别对应的所述共线点云集进行合并得到所述候选直线点云集。25.根据权利要求24所述的移动机器人的对接方法,其特征在于,所述基于所述共线点云集对应的所述直线之间的参数信息,确定是否将两条所述直线分别对应的所述共线点云集进行合并得到所述候选直线点云集,还包括:基于所述共线点云集中至少两个所述激光位点的位置信息、所述共线点云集对应的所述直线的法向量,确定所述至少两个所述激光位点对应的相切圆半径和所述直线的法向量;基于所述相切圆半径之间的误差值和所述法向量之间的误差值分别迭代所述共线点云集对应的所述直线的相切圆半径和所述直线的法向量。26.根据权利要求24所述的移动机器人的对接方法,其特征在于,所述基于所述共线点云集中的所述激光位点的位置信息,确定所述共线点云集对应的所述直线的法向量和所述直线的相切圆半径,包括:基于如下公式,确定所述共线点云集对应的所述直线的法向量n
k
;n
k
=arctan[(p
(a)y-p
(d)y
)/(p
(a)x-p
(d)x
)]+π/2式中:p
(a)
和p
(d)
分别为不同激光位点的位置坐标。27.根据权利要求24所述的移动机器人的对接方法,其特征在于,所述基于所述共线点云集中的所述激光位点的位置信息,确定所述共线点云集对应的所述直线的法向量和所述直线的相切圆半径,包括:计算得到所述共线点云集中各所述激光位点的测距协方差;基于所述共线点云集中各所述激光位点的所述测距协方差和所述共线点云集对应的所述直线的法向量,确定各所述激光位点到所述共线点云集对应的所述直线的距离协方
差;基于各所述激光位点到所述共线点云集对应的所述直线的所述距离协方差、所述共线点云集对应的所述直线的法向量,确定所述共线点云集对应的所述直线的相切圆半径。28.根据权利要求27所述的移动机器人的对接方法,其特征在于,所述基于各所述激光位点到所述共线点云集对应的所述直线的所述距离协方差、所述共线点云集对应的所述直线的法向量,确定所述共线点云集对应的所述直线的相切圆半径,包括:基于如下公式,确定所述共线点云集对应的所述直线的相切圆半径r
k
;式中:r
k
为所述直线的相切圆半径。29.根据权利要求24所述的移动机器人的对接方法,其特征在于,所述基于两条所述直线分别对应的所述相切圆半径和所述法向量,确定是否将所述两条直线分别对应的所述共线点云集进行合并得到所述候选直线点云集,还包括:基于所述共线点云集中各所述激光位点的位置信息、所述共线点云集对应的所述直线的法向量和所述直线的相切圆半径,确定所述共线点云的协方差矩阵。30.根据权利要求29所述的移动机器人的对接方法,其特征在于,所述基于两条所述直线分别对应的所述相切圆半径和所述法向量,确定是否将所述两条直线分别对应的所述共线点云集进行合并得到所述候选直线点云集,包括:响应于所述两条直线对应的小于预设值,则将所述两条直线分别对应的所述共线点云集进行合并得到所述候选直线点云集;其中,31.根据权利要求29所述的移动机器人的对接方法,其特征在于,所述基于两条所述直线分别对应的所述相切圆半径和所述法向量,确定是否将所述两条直线分别对应的所述共线点云集进行合并得到所述候选直线点云集,还包括:根据所述共线点云集对应的所述协方差矩阵,确定预合并的所述两条直线中各所述直线的相切圆半径和所述法向量的权重值;基于预合并的所述两条直线分别对应的所述相切圆半径的加权和得到所述候选直线点云集对应的候选直线的相切圆半径;基于所述两条直线分别对应的所述法向量的加权和得到所述候选直线点云集对应的候选直线的法向量。32.根据权利要求29所述的移动机器人的对接方法,其特征在于,所述基于两条所述直线分别对应的所述相切圆半径和所述法向量,确定是否将所述两条直线分别对应的所述共线点云集进行合并得到所述候选直线点云集,还包括:采用如下公式基于预合并的所述两条直线分别对应的所述共线点云集的所述协方差矩阵,确定所述候选直线点云集的协方差矩阵;公式中:p
li
为所述候选直线点云集的协方差矩阵。
33.根据权利要求12所述的移动机器人的对接方法,其特征在于,所述基于所述候选直线点云集对应所述直线之间的位置关系,确定对应的所述候选直线点云集对应的所述直线是否为所述待搬运目标的特征轮廓信息,包括:判断所述候选直线点云集对应的候选直线的长度是否大于第二预设长度、所述候选直线对应的所述候选直线点云集中包含所述激光位点的数量是否大于第二预设数量;如果所述候选直线的长度大于所述第二预设长度,且所述候选直线对应的所述候选直线点云集中包含所述激光位点的数量大于第二预设数量,则基于所述候选直线的所述相切圆半径和所述法向量确定对应所述候选直线的切点位置;响应于两个所述候选直线对应的所述切点位置之间的间距与所述待搬运目标的预设宽度之间的差值小于阈值,则基于所述两个候选直线分别对应的所述法向量确定所述两个候选直线是否为所述待搬运目标的特征轮廓信息。34.根据权利要求33所述的移动机器人的对接方法,其特征在于,所述基于所述两个候选直线分别对应的所述法向量确定所述两个候选直线是否为所述待搬运目标的特征轮廓信息,包括:判断所述两个候选直线分别对应的所述法向量之间的差值是否处于预设范围;如果所述两个候选直线分别对应的所述法向量之间的差值处于所述预设范围,则所述两个候选直线为所述待搬运目标的特征轮廓信息。35.一种移动机器人的对接装置,其特征在于,所述移动机器人的对接装置包括:预测模块,用于根据获取的待搬运目标的轮廓特征信息,得到所述待搬运目标的预测举升位置;分析模块,基于获取的所述移动机器人的当前位姿信息和所述预测举升位置,预测所述移动机器人的运行信息;执行模块,用于控制所述移动机器人基于所述运行信息向所述待搬运目标进行运行;对接模块,用于响应于所述移动机器人检测到所述待搬运目标上的标注导航信息,则基于所述标注导航信息控制所述移动机器人运行至所述待搬运目标的标注举升位置并举升所述待搬运目标。36.一种终端,其特征在于,所述终端包括存储器、处理器以及存储于所述存储器中并在所述处理器上运行的计算机程序,所述处理器用于执行程序数据以实现如权利要求1~34任一项所述的移动机器人的对接方法中的步骤。37.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1~34任一项所述的移动机器人的对接方法中的步骤。

技术总结
本发明提供的一种移动机器人的对接方法、装置、终端及存储介质,移动机器人的对接方法包括:根据获取的待搬运目标的轮廓特征信息,得到待搬运目标的预测举升位置;基于获取的移动机器人的当前位姿信息和预测举升位置,预测移动机器人的运行信息;控制移动机器人基于运行信息向待搬运目标进行运行;响应于移动机器人检测到待搬运目标上的标注导航信息,则基于标注导航信息控制移动机器人运行至待搬运目标的标注举升位置并举升待搬运目标。本申请先预测待搬运目标的预测举升位置,根据预测举升位置确定的运行信息进行运行,当检测到标注导航信息,则基于标注导航信息运行至待搬运目标的标注举升位置,实现移动机器人与待搬运目标的精确对接。的精确对接。的精确对接。


技术研发人员:胡立志 卢维 王政 李铭
受保护的技术使用者:浙江华睿科技股份有限公司
技术研发日:2022.05.19
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-5031.html

最新回复(0)