一种机器人的定位定姿方法、设备及存储介质
技术领域
本发明涉及机器人定位导航技术领域,特别涉及一种机器人的定位定姿方法、设备及存储介质。
背景技术
随着机器人发展和应用的逐步深入,机器人定位定姿为机器人的自主导航定位提供基础,是推进机器人进行广泛应用的核心技术之一,机器人定位定姿能力已成为限制机器人服务能力提高的瓶颈之一。
在相关定位定姿技术中,机器人定位定姿方法一般采用差分GNSS和惯导进行组合导航来获得位置和姿态信息,GNSS定位容易受到外界天气环境因素的干扰,惯导瞬时定位精度高,但随时间而累计误差,降低精度,二者经过组合虽能取长补短,但仍属于有源定位,需要外界GNSS信号的输入,且受外界条件不可控因素的影响,定位效果不可控。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种机器人的定位定姿方法、设备及存储介质,不需要额外的GNSS定位设备来提供定位信息,能完全避免外界因素带来的定位信号弱的问题。
本发明的第一方面,提供了一种机器人的定位定姿方法,用于控制工具,所述机器人包括激光雷达和惯性导航测量单元,并且在限定区域内运动,包括以下步骤:
根据所述机器人采集的所述限定区域内的激光点云数据和惯性导航数据,构建先验地图;
对激光点云数据进行曲率计算提取激光点云特征,基于提取的激光点云特征以及所述机器人的惯性导航位置姿态,根据重定位方法获取所述机器人的惯性导航位置姿态于所述先验地图中对应的初始位置姿态;
基于所述初始位置姿态,获取所述机器人在激光点云坐标系中的当前位置姿态,并基于所述机器人在激光点云坐标系中的当前位置姿态构建局部跟踪点云地图;
将所述局部跟踪点云地图转换为局部跟踪栅格地图,根据相似环境检测方法,获取所述先验地图和所述局部跟踪栅格地图的位置姿态转换参数;
基于所述位置姿态转换参数,对所述机器人在激光点云坐标系中的当前位置姿态进行修正。
根据本发明的实施例,至少具有如下技术效果:
本方法首先根据机器人采集限定区域内的激光点云数据和惯性导航数据,构建在限定区域内的先验地图;其次对激光点云数据进行曲率计算提取激光点云特征,结合机器人的惯性导航位置姿态,根据重定位方法获取机器人的惯性导航位置姿态于先验地图中对应的初始位置姿态;然后基于初始位置姿态,得到机器人在激光点云坐标系中的当前位置姿态,并且根据机器人在激光点云坐标系中的当前位置姿态构建局部跟踪点云地图;然后将局部跟踪点云地图转换为局部跟踪栅格地图,并根据相似环境检测方法,进行相似环境匹配,得到先验地图和局部跟踪栅格地图之间的位置姿态转换参数;最后基于位置姿态转换参数对机器人在激光点云坐标系中的当前位置姿态进行修正。本方法无需额外的GNSS定位设备来提供定位信息,不依靠外界信号,提高机器人在自主运动中的定位定姿精度。而且本方法对激光点云数据采用了曲率计算的方式,只保留激光点云数据中的有效信息,剔除冗余数据,定位时同样采用了栅格地图来进行跟踪计算,减少了计算量,降低了对计算力的要求,同时大大降低了数据传输的压力。
本发明的第二方面,提供了一种机器人的定位定姿设备,包括:至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如本发明第一方面所述的机器人的定位定姿方法。
本发明的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本发明第一方面所述的机器人的定位定姿方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种机器人的定位定姿方法的流程示意图;
图2为本发明实施例提供的一种机器人的定位定姿方法的具体实施示意图;
图3为本发明实施例提供的一种机器人的定位定姿设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在现有的定位定姿技术中,机器人定位定姿方法一般采用差分GNSS和惯导进行组合导航来获得位置和姿态信息,GNSS定位容易受到外界天气环境因素的干扰,惯导瞬时定位精度高,但随时间而累计误差,降低精度,二者经过组合虽能取长补短,但仍属于有源定位,需要外界GNSS信号的输入,且受外界条件不可控因素的影响,定位效果不可控。
为了解决上述缺点,参照图1和图2,本发明的一个实施例,提供了一种机器人的定位定姿方法,用于控制工具,机器人包括激光雷达和惯性导航测量单元,并且在限定区域内运动,包括以下步骤:
步骤S101、根据机器人采集的限定区域内的激光点云数据构建点云栅格地图,结合惯性导航数据,作为先验地图;
步骤S102、对激光点云数据进行曲率计算提取特征,结合惯性导航位置姿态,根据重定位方法获取机器人当前的惯性导航位置姿态于先验地图中对应的初始位置姿态;
步骤S103、基于初始位置姿态,获取机器人在激光点云坐标系中的当前位置姿态,并基于当前位置姿态构建局部跟踪点云地图;
步骤S104、对局部跟踪点云地图进行处理,转换为局部跟踪栅格地图,根据相似环境检测方法,获取先验地图和局部跟踪栅格地图的位置姿态转换参数;
步骤S105、基于位置姿态转换参数,对机器人在激光点云坐标系中的当前位置姿态进行修正,并跳转至步骤S103。
本方法无需额外的GNSS定位设备来提供定位信息,不依靠外界信号,提高机器人在自主运动中的定位定姿精度,而且本方法对激光点云数据采用了曲率计算的方式,只保留激光点云数据中的有效信息,剔除冗余数据,定位时同样采用了栅格地图来进行跟踪计算,减少了计算量,降低了对计算力的要求,同时大大降低了数据传输的压力。
作为一种可选的实施方式,本实施例中的控制工具可以是机器人的控制***(以处理器为核心的控制***),也可以是与机器人建立通信连接的服务器,还可以是与机器人建立通信连接的上位机(如PC端)。能够实现对机器人的多种控制方式。
基于上述实施例,步骤S101具体包括步骤:
以
作为数据格式,构建惯性导航位置姿态,其中
表示坐标,
表示姿态,
表示标识。
以
作为数据格式,构建点云栅格地图,其中
表示与
的格式相匹配的标识,
表示当前点云帧数据,
表示固定行列数组成的矩阵,矩阵中每个位置存放着与真实地理坐标相符合的该位置范围激光点云的高程均值,
为对
每列取均值的单行矩阵,
为对
每行取均值的单列矩阵;
其中
表示激光点云中的点坐标信息,
表示颜色信息,
表示激光强度信息,
表示时间信息。
保存以上述格式构建出的惯性导航位置姿态和点云栅格地图,作为该片预设区域内的先验地图数据,生成先验地图。
基于上述实施例,步骤S102具体包括步骤:
S1021、从采集的激光点云数据中,提取激光点云特征。
首先按照激光点云中的点间曲率对特征进行提取, 曲率的计算方式为:
(1)对激光雷达中每条扫描线的边缘m个点,因不满足左右各m个点计算曲率的条件,故不参与计算;
(2)对任意目标激光点, 在该点所在扫描线上,选取该点左右两侧各n个点,n小于
;
(3)对选取的每个点,计算与目标激光点在x坐标方向上求平均差
:
(4)计算每个点与目标激光点在y坐标方向上平均差
:
(5)计算每个点与目标激光点在z坐标方向上平均差
:
然后,得到三维曲率c后, 根据三维曲率阈值t挑选特征点,来区分角特征点和平面特征点。
角特征点选择条件:
(1)从三维曲率最大的点开始,最多选择N个, 只有曲率大于t的点才能被选取;
(2)若一个点周围五个点中已有点被选为角特征点,则跳过该点, 从曲率更小的点中选取。
平面特征点选择条件:
(1)从三维曲率最小的点开始,最多选择N个, 只有曲率小于t的点才能被选取;
(2)若一个点周围五个点中已有点被选为平面特征点,则跳过该点, 从曲率更大的点中选取。
由此分别得到激光坐标系下的激光点云特征(即上述求得的激光点云角点和平面点特征)。
S1022、从采集的惯性导航数据中,提取机器人当前的惯性导航位置姿态。
根据采集的惯性导航数据,推算得到机器人于惯性导航坐标系下所处的位置姿态,令为
。
S1023、根据惯性导航坐标系与激光雷达坐标系之间固定的旋转关系和平移关系,将激光点云特征数据转换至惯性导航坐标系下,再与惯性导航位置姿态数据结合,与先验地图中的点云帧数据进行配准,获取惯性导航坐标系的原点于先验地图中对应的位置姿态。
采用点云配准算法,利用
作为配准初值,将激光点云特征与先验地图中的点云帧数据进行配准,确定机器人重定位期间的惯性导航坐标系的原点在先验地图坐标系下所处的位置姿态,令为
。
S1024、通过机器人当前的惯性导航位置姿态和惯性导航坐标系的原点于先验地图中对应的位置姿态,得到机器人当前的惯性导航位置姿态于先验地图中对应的初始位置姿态。
通过以下公式得到机器人当前的惯性导航位置姿态于先验地图坐标系下对应的初始位置姿态
:
其中,
表示机器人的惯性导航位置姿态于先验地图中的初始位置姿态。
基于上述实施例,步骤S103具体包括步骤:
首先,根据初始位置姿态
、以及惯性导航坐标系与激光雷达坐标系之间固定的旋转关系和平移关系,转换机器人当前的惯性导航位置姿态,得到机器人在激光点云坐标系中的当前位置姿态:
其中,
表示机器人在激光点云坐标系中的当前位置姿态,
表示机器人于先验地图中的初始位置姿态,
表示惯性导航坐标系与激光雷达坐标系之间固定的旋转关系,
表示惯性导航坐标系与激光雷达坐标系之间固定的平移关系。
然后,根据
、当前采集的激光点云和当前采集的惯性导航位置姿态,构建局部跟踪点云地图。
基于上述实施例,步骤S104具体包括步骤:
首先,对当前时刻的局部跟踪点云地图进行处理,以激光坐标系x方向为起点,激光中心为坐标系原点,以固定距离和角度划分区域,将激光点按距离
和角度
编排归纳为固定
行列的矩阵,每个激光点所对应的行列号
和
计算公式如下:
矩阵中每个位置存放局部跟踪点云地图在该位置范围内的所有激光点云的高程均值H:
对上述矩阵进行处理,分别以列和行取均值,得到局部跟踪栅格地图的行矩阵和列矩阵。
然后,对先验地图中的矩阵建立二叉树索引模型,同时对局部跟踪栅格地图的行矩阵和列矩阵建立二叉树索引模型,二者进行迭代搜索,计算出环境相似度和标识,对环境相似度设定阈值,相似度大于阈值才判定局部跟踪栅格地图与先验地图据具有一定的相似性,认定机器人所在位置属于先验地图的特定区域,同时利用标识对点云帧数据进行配准,得到位置姿态转换参数
。
基于上述实施例,步骤S105具体包括步骤:
以机器人的当前位置姿态为
,利用位置姿态转换参数
进行修正,得到
:
本方法首先根据机器人采集限定区域内的激光点云数据和惯性导航数据,构建在限定区域内的先验地图;其次对激光点云数据进行曲率计算提取激光点云特征,结合机器人的惯性导航位置姿态,根据重定位方法获取机器人的惯性导航位置姿态于先验地图中对应的初始位置姿态;然后基于初始位置姿态,得到机器人在激光点云坐标系中的当前位置姿态,并且根据机器人在激光点云坐标系中的当前位置姿态构建局部跟踪点云地图;然后将局部跟踪点云地图转换为局部跟踪栅格地图,并根据相似环境检测方法,进行相似环境匹配,得到先验地图和局部跟踪栅格地图之间的位置姿态转换参数;最后基于位置姿态转换参数对机器人在激光点云坐标系中的当前位置姿态进行修正。本方法无需额外的GNSS定位设备来提供定位信息,不依靠外界信号,提高机器人在自主运动中的定位定姿精度。而且本方法对激光点云数据采用了曲率计算的方式,只保留激光点云数据中的有效信息,剔除冗余数据,定位时同样采用了栅格地图来进行跟踪计算,减少了计算量,降低了对计算力的要求,同时大大降低了数据传输的压力。
参照图3,本发明的一个实施例,提供了一种机器人的定位定姿设备,该机器人的定位定姿设备可以是任意类型的智能终端,例如手机、平板电脑、个人计算机等。
具体地,该机器人的定位定姿设备包括:一个或多个控制处理器和存储器。控制处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本发明实施例中的机器人的定位定姿设备对应的程序指令/模块。控制处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行上述方法实施例的机器人的定位定姿方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于控制处理器远程设置的存储器,这些远程存储器可以通过网络连接至该机器人的定位定姿设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个控制处理器执行时,执行上述方法实施例中的机器人的定位定姿方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,可使得上述一个或多个控制处理器执行上述方法实施例中的机器人的定位定姿方法。
通过以上的实施方式的描述,本领域技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现。本领域技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read Only Memory ,ROM)或随机存储记忆体(Random Access Memory ,RAM)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。