CN111113422A - 机器人定位方法、装置、计算机可读存储介质及机器人 - Google Patents

机器人定位方法、装置、计算机可读存储介质及机器人 Download PDF

Info

Publication number
CN111113422A
CN111113422A CN201911399798.0A CN201911399798A CN111113422A CN 111113422 A CN111113422 A CN 111113422A CN 201911399798 A CN201911399798 A CN 201911399798A CN 111113422 A CN111113422 A CN 111113422A
Authority
CN
China
Prior art keywords
positioning
pose
particle
robot
increment
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.)
Granted
Application number
CN201911399798.0A
Other languages
English (en)
Other versions
CN111113422B (zh
Inventor
张思民
刘志超
刘洪剑
赵文恺
赵云
庞建新
熊友军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN201911399798.0A priority Critical patent/CN111113422B/zh
Publication of CN111113422A publication Critical patent/CN111113422A/zh
Application granted granted Critical
Publication of CN111113422B publication Critical patent/CN111113422B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Abstract

本申请属于机器人技术领域,尤其涉及一种机器人定位方法、装置、计算机可读存储介质及机器人。所述方法包括:使用粒子滤波算法对机器人进行定位,得到第一定位位姿;使用牛顿迭代优化算法对所述第一定位位姿进行矫正计算,得到矫正的位姿增量;若所述位姿增量大于预设的阈值,则将所述第一定位位姿确定为所述机器人的定位结果;若所述位姿增量小于或等于所述阈值,则根据所述第一定位位姿和所述位姿增量计算第二定位位姿,并将所述第二定位位姿确定为所述机器人的定位结果。通过本申请,可以兼顾对于鲁棒性和精度的考虑,得到准确可靠的定位结果。

Description

机器人定位方法、装置、计算机可读存储介质及机器人
技术领域
本申请属于机器人技术领域,尤其涉及一种机器人定位方法、装置、计算机可读存储介质及机器人。
背景技术
在机器人的激光定位导航过程中,定位的场景适用性(即鲁棒性)和精度是两个重要的参数指标,但这两者也是一对相互制约的性能指标,定位要在各种场景都保持稳定,就需要一定的冗余,这时要达到较高的精度就比较困难。
发明内容
有鉴于此,本申请实施例提供了一种机器人定位方法、装置、计算机可读存储介质及机器人,以解决现有的机器人定位方法难以兼顾高鲁棒性和精度的问题。
本申请实施例的第一方面提供了一种机器人定位方法,可以包括:
使用粒子滤波算法对机器人进行定位,得到第一定位位姿;
使用牛顿迭代优化算法对所述第一定位位姿进行矫正计算,得到矫正的位姿增量;
若所述位姿增量大于预设的阈值,则将所述第一定位位姿确定为所述机器人的定位结果;
若所述位姿增量小于或等于所述阈值,则根据所述第一定位位姿和所述位姿增量计算第二定位位姿,并将所述第二定位位姿确定为所述机器人的定位结果。
进一步地,所述使用粒子滤波算法对机器人进行定位,得到第一定位位姿包括:
获取对所述机器人进行定位的粒子集合;
根据预设的运动模型对所述粒子集合中的各个粒子的状态分别进行更新,得到各个粒子的更新状态;
获取激光雷达的观测数据;
根据所述观测数据和各个粒子的更新状态分别计算各个粒子的权重;
根据各个粒子的权重进行重采样,得到更新后的粒子集合;
根据所述更新后的粒子集合对所述机器人进行定位,得到所述第一定位位姿。
进一步地,所述根据各个粒子的权重进行重采样,得到更新后的粒子集合包括:
根据目标粒子的权重计算所述目标粒子的采样概率,所述目标粒子为所述粒子集合中的任意一个粒子,且所述目标粒子的采样概率与所述目标粒子的权重正相关;
根据所述目标粒子的采样概率对所述目标粒子进行采样,并将采样结果添加入所述更新后的粒子集合中。
进一步地,所述使用牛顿迭代优化算法对所述第一定位位姿进行矫正计算,得到矫正的位姿增量包括:
根据下式计算所述位姿增量:
Δξ=H-1dTr
Figure BDA0002347195020000021
Figure BDA0002347195020000022
其中,ξ为所述第一定位位姿,i为激光点的序号,1≤i≤n,n为激光点的数目,Si(ξ)为第i个激光点变换到栅格地图坐标系下的坐标,M(Si(ξ))为Si(ξ)被占据的概率,Δξ为所述位姿增量。
进一步地,所述机器人定位方法还可以包括:
根据下式计算第i个激光点变换到栅格地图坐标系下的坐标:
Figure BDA0002347195020000031
其中,(px,py)为所述第一定位位姿中的位置坐标,
Figure BDA0002347195020000032
为所述第一定位位姿中的姿态角,
Figure BDA0002347195020000033
为第i个激光点的位置坐标。
进一步地,所述根据所述第一定位位姿和所述位姿增量计算第二定位位姿包括:
根据下式计算所述第二定位位姿:
ξ′=ξ+Δξ
其中,ξ为所述第一定位位姿,Δξ为所述位姿增量,ξ′为所述第二定位位姿。
本申请实施例的第二方面提供了一种机器人定位装置,可以包括:
粒子滤波模块,用于使用粒子滤波算法对机器人进行定位,得到第一定位位姿;
牛顿迭代优化模块,用于使用牛顿迭代优化算法对所述第一定位位姿进行矫正计算,得到矫正的位姿增量;
第一定位结果确定模块,用于若所述位姿增量大于预设的阈值,则将所述第一定位位姿确定为所述机器人的定位结果;
第二定位结果确定模块,用于若所述位姿增量小于或等于所述阈值,则根据所述第一定位位姿和所述位姿增量计算第二定位位姿,并将所述第二定位位姿确定为所述机器人的定位结果。
进一步地,所述粒子滤波模块可以包括:
粒子集合获取单元,用于获取对所述机器人进行定位的粒子集合;
状态更新单元,用于根据预设的运动模型对所述粒子集合中的各个粒子的状态分别进行更新,得到各个粒子的更新状态;
观测数据获取单元,用于获取激光雷达的观测数据;
粒子权重计算单元,用于根据所述观测数据和各个粒子的更新状态分别计算各个粒子的权重;
重采样单元,用于根据各个粒子的权重进行重采样,得到更新后的粒子集合;
粒子定位单元,用于根据所述更新后的粒子集合对所述机器人进行定位,得到所述第一定位位姿。
进一步地,所述重采样单元可以包括:
采样概率计算子单元,用于根据目标粒子的权重计算所述目标粒子的采样概率,所述目标粒子为所述粒子集合中的任意一个粒子,且所述目标粒子的采样概率与所述目标粒子的权重正相关;
采样子单元,用于根据所述目标粒子的采样概率对所述目标粒子进行采样,并将采样结果添加入所述更新后的粒子集合中。
进一步地,所述牛顿迭代优化模块具体用于根据下式计算所述位姿增量:
Δξ=H-1dTr
Figure BDA0002347195020000041
Figure BDA0002347195020000042
其中,ξ为所述第一定位位姿,i为激光点的序号,1≤i≤n,n为激光点的数目,Si(ξ)为第i个激光点变换到栅格地图坐标系下的坐标,M(Si(ξ))为Si(ξ)被占据的概率,Δξ为所述位姿增量。
进一步地,所述牛顿迭代优化模块可以包括:
坐标变换计算单元,用于根据下式计算第i个激光点变换到栅格地图坐标系下的坐标:
Figure BDA0002347195020000043
其中,(px,py)为所述第一定位位姿中的位置坐标,
Figure BDA0002347195020000051
为所述第一定位位姿中的姿态角,
Figure BDA0002347195020000052
为第i个激光点的位置坐标。
进一步地,所述第二定位结果确定模块可以包括:
位姿计算单元,用于根据下式计算所述第二定位位姿:
ξ′=ξ+Δξ
其中,ξ为所述第一定位位姿,Δξ为所述位姿增量,ξ′为所述第二定位位姿。
本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种机器人定位方法的步骤。
本申请实施例的第四方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种机器人定位方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述任一种机器人定位方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例首先使用粒子滤波算法对机器人进行定位,得到一个粗略的定位结果(也即所述第一定位位姿),然后在此基础上使用牛顿迭代优化算法对其进行矫正,从而得到一个精准的定位结果(也即所述第二定位位姿),若两者之间的误差较大时,则可以认为此时环境变化较大,迭代优化的过程可能出现发散,此时可以将鲁棒性强的所述第一定位位姿确定为所述机器人的定位结果,若两者之间的误差较小时,则可以认为此时环境变化不大,优化矫正的结果是可靠的,此时可以将精度高的所述第二定位位姿确定为所述机器人的定位结果,从而兼顾了对于鲁棒性和精度的考虑,得到准确可靠的定位结果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例中一种机器人定位方法的一个实施例流程图;
图2为使用粒子滤波算法对机器人进行定位的示意流程图;
图3为本申请实施例中一种机器人定位装置的一个实施例结构图;
图4为本申请实施例中一种机器人的示意框图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
机器人激光定位技术是移动机器人的一项关键技术,其定位的核心在于通过激光雷达扫描到的特征反算出机器人自身的位置,是一种相对定位,这种相对定位会非常容易受到周围环境变化的影响;同时周围环境形成的地图也是由激光雷达预先扫描建立的,在地图生成过程中会给地图设置一个分辨率(如一个像素代表实际当中5cm),通常这个分辨率会兼顾导航精度和计算量,受地图分辨率的影响,导航精度得到一定的制约,不会在一个像素内提高的非常多。所以针对需要达到高精度定位(如3cm内)且对定位的稳定性要求也较高的场景(如地面不平导致定位偏移,需要迅速校正定位),拥有一套高精度且鲁棒的定位系统是一项迫切需要解决的技术问题。
为了让机器人能够在不同的场景满足不同的需求,机器人定位精度是一个重要的指标,有些场景不需要非常高的精度,但是需要定位稳定,即使环境有一定的变化也不能产生定位漂移,而有些场景需要达到高的精度,同时能够保持一定的定位稳定性。为了让整体系统能够适应不同的环境和场景,此时就需要有一种鲁棒的高精度定位方法。
请参阅图1,本申请实施例中一种机器人定位方法的一个实施例可以包括:
步骤S101、使用粒子滤波算法对机器人进行定位,得到第一定位位姿。
如图2所示,步骤S101具体可以包括如下步骤:
步骤S1011、获取对所述机器人进行定位的粒子集合。
在本申请实施例中,可以使用蒙特卡洛(Monte Carlo)法在所述机器人附近生成由一系列的粒子所构成的粒子集合,这些粒子符合一定的分布特性,此处将当前时刻记为时刻t,类似地,还可以将当前时刻的上一时刻记为时刻t-1,将当前时刻的下一时刻记为时刻t+1,以此类推;将粒子的序号记为m,1≤m≤M,M为粒子的数目;则可以将时刻t的第m个粒子的状态记为:
Figure BDA0002347195020000081
类似地,可以将时刻t-1的第m个粒子的状态记为:
Figure BDA0002347195020000082
对于所述机器人而言,每一个粒子的状态即为所述机器人一种可能的位姿。
步骤S1012、根据预设的运动模型对所述粒子集合中的各个粒子的状态分别进行更新,得到各个粒子的更新状态。
在本申请实施例中,可以根据如下的运动模型对所述粒子集合中的各个粒子的状态分别进行更新:
Figure BDA0002347195020000083
其中,ut为所述机器人在时刻t的运动信息,sample_motion_model为使用的运动模型,所述运动模型可以根据实际情况选择现有技术中的任意一种运动模型,本申请实施例在此不做具体限定。
经过上述的这一更新过程,将时刻t-1的粒子状态
Figure BDA0002347195020000084
更新为了时刻t的粒子状态
Figure BDA0002347195020000085
步骤S1013、获取激光雷达的观测数据。
所述激光雷达是以发射激光束探测目标的位置、速度等特征量的雷达系统。其工作原理是向目标发射探测信号(激光束),然后将接收到的从目标反射回来的信号(目标回波)与发射信号进行比较,作适当处理后,就可获得目标的有关信息,如目标距离、方位、高度、速度、姿态、甚至形状等参数,从而对目标进行探测、跟踪和识别。
所述激光雷达的观测数据为一帧二维的数据,在本申请实施例中,可以使用距离向量和角度向量来表示所述观测数据。其中,所述距离向量记为:R={r1,r2...ri...,rn},所述角度向量记为:θ={θ12...θi...,θn},n为所述观测数据中的激光点的数目,i为所述观测数据中的各个激光点的序号,且1≤i≤n,ri为第i个激光点与所述激光雷达之间的距离值,θi为第i个激光点在预设的雷达坐标系下对应的角度值。对于第i个激光点而言,其在所述雷达坐标系下的笛卡尔坐标可以表示为:(ricosθi,risinθi)。
一般地,所述机器人可以按照预先设定的一个数据采集频率来进行观测数据的采集,每隔一定的时间间隔即采集一帧观测数据。具体的数据采集频率可以根据实际情况进行设置,本申请实施例对此不作具体限定。
步骤S1014、根据所述观测数据和各个粒子的更新状态分别计算各个粒子的权重。
在本申请实施例中,可以根据如下的观测模型分别计算得到各个粒子的权重:
Figure BDA0002347195020000091
其中,zt为所述观测数据,
Figure BDA0002347195020000092
为将时刻t的第m个粒子的权重,measurement_model为使用的观测模型,所述观测模型可以通过所述观测数据建立,为每一个粒子计算一个权重,这个权重可以反应粒子的可信程度。
步骤S1015、根据各个粒子的权重进行重采样,得到更新后的粒子集合。
以所述粒子集合中的任意一个粒子为例,将该粒子称为目标粒子,则首先可以根据目标粒子的权重计算所述目标粒子的采样概率。所述目标粒子的采样概率与所述目标粒子的权重正相关,即若其权重越大,则其被采样到的概率也越大,反之,若其权重越小,则其被采样到的概率也越小。然后,可以根据所述目标粒子的采样概率对所述目标粒子进行采样,并将采样结果添加入所述更新后的粒子集合中。
在本申请实施例中,可以从所述粒子集合中采样M次以生产所述更新后的粒子集合,因为每个粒子的可信度并不相同,所以并不能等概率采样,抽取到每个粒子的概率便由粒子权重决定,权重越高,也就是可信度高的例子被采样到的次数相对较多。因此采样结束后,粒子向可信度高的状态处聚集。通过这样的方式,可以复制权重高、位姿可靠性强的粒子,并丢弃掉权重低、位姿不可信的粒子,使得最终计算出的位姿趋近于机器人真实的位姿。
步骤S1016、根据所述更新后的粒子集合对所述机器人进行定位,得到所述第一定位位姿。
根据所述更新后的粒子集合中各个粒子的状态,可以计算出平均位姿作为所述第一定位位姿。通过粒子滤波得到的位姿具有非常高的鲁棒性,这是因为:一方面,由于采用了多个粒子,会保留非常多的次优粒子,机器人的位姿是一个缓慢变化的过程,不会发生跳变;另一方面,当环境变化大,即观测值不可靠时,通过本次观测带来权重也较低,对系统的影响减弱,系统会优先按运动模型进行机器人位姿状态的计算,因此机器人能够在正确的位姿维持较长的时间。以上两个方面即体现了粒子滤波在机器人定位过程中的鲁棒性。但是次优粒子的存在,就让机器人的定位精度打了折扣,最终得到的位姿是所有粒子的一个平均值,这个值在最优值的附近,因此它达不到很高的定位精度。
步骤S102、使用牛顿迭代优化算法对所述第一定位位姿进行矫正计算,得到矫正的位姿增量。
在得到了一个较为鲁棒的机器人定位后,本申请实施例可以在此粗定位的基础上,对机器人的位姿进行再次求解。此时会根据机器人的周围环境信息,采用迭代优化的方法,求出机器人的最优位姿。
具体地,获得t时刻的激光数据后,计算t-1时刻到t时刻的位姿增量,在t-1的附近去迭代匹配得到最好的匹配结果。在此过程中,可以构造如下所示的目标函数:
Figure BDA0002347195020000101
其中,ξ为所述第一定位位姿,且
Figure BDA0002347195020000102
(px,py)为所述第一定位位姿中的位置坐标,
Figure BDA0002347195020000103
为所述第一定位位姿中的姿态角,i为激光点的序号,1≤i≤n,n为激光点的数目,Si(ξ)为第i个激光点变换到栅格地图坐标系下的坐标,M(Si(ξ))为Si(ξ)被占据的概率。
对于Si(ξ)而言,可以根据下式对其进行计算:
Figure BDA0002347195020000111
其中,
Figure BDA0002347195020000112
为第i个激光点的位置坐标,且:
Figure BDA0002347195020000113
将位姿增量记为Δξ,通过
Figure BDA0002347195020000114
估计位姿变换,使得对于所有的激光点,误差最小,即:
Figure BDA0002347195020000115
对其进行一阶泰勒展开:
Figure BDA0002347195020000116
再对Δξ求导:
Figure BDA0002347195020000117
令:
Figure BDA0002347195020000118
Figure BDA0002347195020000119
那么,则可以根据下式计算得到所述位姿增量:
Δξ=H-1dTr
这样就通过优化的方法求出了机器人的位姿增量,采用牛顿迭代的方法得到机器人的最优位姿,这个精度可以达到传感器误差级别的精度,普通的激光传感器也能达到1cm左右的精度,这就远远高于粒子滤波定位的精度。这种方法当环境特征明显时,由于它能够计算出最优的位姿,所有可以得到较高的精度,但是当环境有一定的变化,或者环境相似的区域,位姿就会变得不稳定,产生位姿跳动,而且当位姿跳到错误位姿之后由于机器人的运动,会越来越偏离正确的位姿,当超过匹配的范围后,会导致无法恢复定位,如匹配范围为1米,此方法位姿漂移超过1米后便无法恢复。
步骤S103、判断所述位姿增量是否大于预设的阈值。
所述阈值可以根据实际情况进行设置,本申请实施例对其不作具体限定。若所述位姿增量大于预设的阈值,则可以认为此时环境变化较大,迭代优化的过程可能出现发散,此时执行步骤S104,若所述位姿增量小于或等于所述阈值,则可以认为此时环境变化不大,优化矫正的结果是可靠的,此时可以执行步骤S105和步骤S106。
步骤S104、将所述第一定位位姿确定为所述机器人的定位结果。
步骤S105、根据所述第一定位位姿和所述位姿增量计算第二定位位姿。
具体地,可以根据下式计算所述第二定位位姿:
ξ′=ξ+Δξ
其中,ξ为所述第一定位位姿,Δξ为所述位姿增量,ξ′为所述第二定位位姿。
步骤S106、将所述第二定位位姿确定为所述机器人的定位结果。
综上所述,本申请实施例首先使用粒子滤波算法对机器人进行定位,得到一个粗略的定位结果(也即所述第一定位位姿),然后在此基础上使用牛顿迭代优化算法对其进行矫正,从而得到一个精准的定位结果(也即所述第二定位位姿),若两者之间的误差较大时,则可以认为此时环境变化较大,迭代优化的过程可能出现发散,此时可以将鲁棒性强的所述第一定位位姿确定为所述机器人的定位结果,若两者之间的误差较小时,则可以认为此时环境变化不大,优化矫正的结果是可靠的,此时可以将精度高的所述第二定位位姿确定为所述机器人的定位结果,从而兼顾了对于鲁棒性和精度的考虑,得到准确可靠的定位结果。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的一种机器人定位方法,图3示出了本申请实施例提供的一种机器人定位装置的一个实施例结构图。
本实施例中,一种机器人定位装置可以包括:
粒子滤波模块301,用于使用粒子滤波算法对机器人进行定位,得到第一定位位姿;
牛顿迭代优化模块302,用于使用牛顿迭代优化算法对所述第一定位位姿进行矫正计算,得到矫正的位姿增量;
第一定位结果确定模块303,用于若所述位姿增量大于预设的阈值,则将所述第一定位位姿确定为所述机器人的定位结果;
第二定位结果确定模块304,用于若所述位姿增量小于或等于所述阈值,则根据所述第一定位位姿和所述位姿增量计算第二定位位姿,并将所述第二定位位姿确定为所述机器人的定位结果。
进一步地,所述粒子滤波模块可以包括:
粒子集合获取单元,用于获取对所述机器人进行定位的粒子集合;
状态更新单元,用于根据预设的运动模型对所述粒子集合中的各个粒子的状态分别进行更新,得到各个粒子的更新状态;
观测数据获取单元,用于获取激光雷达的观测数据;
粒子权重计算单元,用于根据所述观测数据和各个粒子的更新状态分别计算各个粒子的权重;
重采样单元,用于根据各个粒子的权重进行重采样,得到更新后的粒子集合;
粒子定位单元,用于根据所述更新后的粒子集合对所述机器人进行定位,得到所述第一定位位姿。
进一步地,所述重采样单元可以包括:
采样概率计算子单元,用于根据目标粒子的权重计算所述目标粒子的采样概率,所述目标粒子为所述粒子集合中的任意一个粒子,且所述目标粒子的采样概率与所述目标粒子的权重正相关;
采样子单元,用于根据所述目标粒子的采样概率对所述目标粒子进行采样,并将采样结果添加入所述更新后的粒子集合中。
进一步地,所述牛顿迭代优化模块具体用于根据下式计算所述位姿增量:
Δξ=H-1dTr
Figure BDA0002347195020000141
Figure BDA0002347195020000142
其中,ξ为所述第一定位位姿,i为激光点的序号,1≤i≤n,n为激光点的数目,Si(ξ)为第i个激光点变换到栅格地图坐标系下的坐标,M(Si(ξ))为Si(ξ)被占据的概率,Δξ为所述位姿增量。
进一步地,所述牛顿迭代优化模块可以包括:
坐标变换计算单元,用于根据下式计算第i个激光点变换到栅格地图坐标系下的坐标:
Figure BDA0002347195020000143
其中,(px,py)为所述第一定位位姿中的位置坐标,
Figure BDA0002347195020000144
为所述第一定位位姿中的姿态角,
Figure BDA0002347195020000145
为第i个激光点的位置坐标。
进一步地,所述第二定位结果确定模块可以包括:
位姿计算单元,用于根据下式计算所述第二定位位姿:
ξ′=ξ+Δξ
其中,ξ为所述第一定位位姿,Δξ为所述位姿增量,ξ′为所述第二定位位姿。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
图4示出了本申请实施例提供的一种机器人的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。
如图4所示,该实施例的机器人4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个机器人定位方法实施例中的步骤,例如图1所示的步骤S101至步骤S106。或者,所述处理器40执行所述计算机程序42时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至模块304的功能。
示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述机器人4中的执行过程。
本领域技术人员可以理解,图4仅仅是机器人4的示例,并不构成对机器人4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人4还可以包括输入输出设备、网络接入设备、总线等。
所述处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述机器人4的内部存储单元,例如机器人4的硬盘或内存。所述存储器41也可以是所述机器人4的外部存储设备,例如所述机器人4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述机器人4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述机器人4所需的其它程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种机器人定位方法,其特征在于,包括:
使用粒子滤波算法对机器人进行定位,得到第一定位位姿;
使用牛顿迭代优化算法对所述第一定位位姿进行矫正计算,得到矫正的位姿增量;
若所述位姿增量大于预设的阈值,则将所述第一定位位姿确定为所述机器人的定位结果;
若所述位姿增量小于或等于所述阈值,则根据所述第一定位位姿和所述位姿增量计算第二定位位姿,并将所述第二定位位姿确定为所述机器人的定位结果。
2.根据权利要求1所述的机器人定位方法,其特征在于,所述使用粒子滤波算法对机器人进行定位,得到第一定位位姿包括:
获取对所述机器人进行定位的粒子集合;
根据预设的运动模型对所述粒子集合中的各个粒子的状态分别进行更新,得到各个粒子的更新状态;
获取激光雷达的观测数据;
根据所述观测数据和各个粒子的更新状态分别计算各个粒子的权重;
根据各个粒子的权重进行重采样,得到更新后的粒子集合;
根据所述更新后的粒子集合对所述机器人进行定位,得到所述第一定位位姿。
3.根据权利要求2所述的机器人定位方法,其特征在于,所述根据各个粒子的权重进行重采样,得到更新后的粒子集合包括:
根据目标粒子的权重计算所述目标粒子的采样概率,所述目标粒子为所述粒子集合中的任意一个粒子,且所述目标粒子的采样概率与所述目标粒子的权重正相关;
根据所述目标粒子的采样概率对所述目标粒子进行采样,并将采样结果添加入所述更新后的粒子集合中。
4.根据权利要求1所述的机器人定位方法,其特征在于,所述使用牛顿迭代优化算法对所述第一定位位姿进行矫正计算,得到矫正的位姿增量包括:
根据下式计算所述位姿增量:
Δξ=H-1dTr
Figure FDA0002347195010000021
Figure FDA0002347195010000022
其中,ξ为所述第一定位位姿,i为激光点的序号,1≤i≤n,n为激光点的数目,Si(ξ)为第i个激光点变换到栅格地图坐标系下的坐标,M(Si(ξ))为Si(ξ)被占据的概率,Δξ为所述位姿增量。
5.根据权利要求4所述的机器人定位方法,其特征在于,还包括:
根据下式计算第i个激光点变换到栅格地图坐标系下的坐标:
Figure FDA0002347195010000023
其中,(px,py)为所述第一定位位姿中的位置坐标,
Figure FDA0002347195010000024
为所述第一定位位姿中的姿态角,
Figure FDA0002347195010000025
为第i个激光点的位置坐标。
6.根据权利要求1至5中任一项所述的机器人定位方法,其特征在于,所述根据所述第一定位位姿和所述位姿增量计算第二定位位姿包括:
根据下式计算所述第二定位位姿:
ξ′=ξ+Δξ
其中,ξ为所述第一定位位姿,Δξ为所述位姿增量,ξ′为所述第二定位位姿。
7.一种机器人定位装置,其特征在于,包括:
粒子滤波模块,用于使用粒子滤波算法对机器人进行定位,得到第一定位位姿;
牛顿迭代优化模块,用于使用牛顿迭代优化算法对所述第一定位位姿进行矫正计算,得到矫正的位姿增量;
第一定位结果确定模块,用于若所述位姿增量大于预设的阈值,则将所述第一定位位姿确定为所述机器人的定位结果;
第二定位结果确定模块,用于若所述位姿增量小于或等于所述阈值,则根据所述第一定位位姿和所述位姿增量计算第二定位位姿,并将所述第二定位位姿确定为所述机器人的定位结果。
8.根据权利要求7所述的机器人定位装置,其特征在于,所述粒子滤波模块包括:
粒子集合获取单元,用于获取对所述机器人进行定位的粒子集合;
状态更新单元,用于根据预设的运动模型对所述粒子集合中的各个粒子的状态分别进行更新,得到各个粒子的更新状态;
观测数据获取单元,用于获取激光雷达的观测数据;
粒子权重计算单元,用于根据所述观测数据和各个粒子的更新状态分别计算各个粒子的权重;
重采样单元,用于根据各个粒子的权重进行重采样,得到更新后的粒子集合;
粒子定位单元,用于根据所述更新后的粒子集合对所述机器人进行定位,得到所述第一定位位姿。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的机器人定位方法的步骤。
10.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的机器人定位方法的步骤。
CN201911399798.0A 2019-12-30 2019-12-30 机器人定位方法、装置、计算机可读存储介质及机器人 Active CN111113422B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911399798.0A CN111113422B (zh) 2019-12-30 2019-12-30 机器人定位方法、装置、计算机可读存储介质及机器人

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911399798.0A CN111113422B (zh) 2019-12-30 2019-12-30 机器人定位方法、装置、计算机可读存储介质及机器人

Publications (2)

Publication Number Publication Date
CN111113422A true CN111113422A (zh) 2020-05-08
CN111113422B CN111113422B (zh) 2021-10-29

Family

ID=70505604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911399798.0A Active CN111113422B (zh) 2019-12-30 2019-12-30 机器人定位方法、装置、计算机可读存储介质及机器人

Country Status (1)

Country Link
CN (1) CN111113422B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112462769A (zh) * 2020-11-25 2021-03-09 深圳市优必选科技股份有限公司 机器人定位方法、装置、计算机可读存储介质及机器人
CN112506190A (zh) * 2020-11-19 2021-03-16 深圳市优必选科技股份有限公司 一种机器人定位方法、机器人定位装置及机器人
WO2022183785A1 (zh) * 2021-03-05 2022-09-09 深圳市优必选科技股份有限公司 机器人定位方法、装置、机器人和可读存储介质
WO2023131048A1 (zh) * 2022-01-06 2023-07-13 上海安亭地平线智能交通技术有限公司 位姿信息的确定方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106949895A (zh) * 2017-04-13 2017-07-14 杭州申昊科技股份有限公司 一种适用于变电站环境下的巡检机器人定位方法
CN107463871A (zh) * 2017-06-19 2017-12-12 南京航空航天大学 一种基于角特征加权的点云匹配方法
CN110531766A (zh) * 2019-08-27 2019-12-03 熵智科技(深圳)有限公司 基于已知占据栅格地图的持续激光slam构图定位方法
CN110608742A (zh) * 2019-09-27 2019-12-24 五邑大学 基于粒子滤波slam的地图构建方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106949895A (zh) * 2017-04-13 2017-07-14 杭州申昊科技股份有限公司 一种适用于变电站环境下的巡检机器人定位方法
CN107463871A (zh) * 2017-06-19 2017-12-12 南京航空航天大学 一种基于角特征加权的点云匹配方法
CN110531766A (zh) * 2019-08-27 2019-12-03 熵智科技(深圳)有限公司 基于已知占据栅格地图的持续激光slam构图定位方法
CN110608742A (zh) * 2019-09-27 2019-12-24 五邑大学 基于粒子滤波slam的地图构建方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KOHLBRECHER S,STRYK O V,MEYER J,ET AL: "A flexible and scalable SLAM system with full 3D motion", 《2011IEEE》 *
刘文之: "基于激光雷达的SLAM和路径规划算法研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506190A (zh) * 2020-11-19 2021-03-16 深圳市优必选科技股份有限公司 一种机器人定位方法、机器人定位装置及机器人
CN112462769A (zh) * 2020-11-25 2021-03-09 深圳市优必选科技股份有限公司 机器人定位方法、装置、计算机可读存储介质及机器人
WO2022110451A1 (zh) * 2020-11-25 2022-06-02 深圳市优必选科技股份有限公司 机器人定位方法、装置、计算机可读存储介质及机器人
WO2022183785A1 (zh) * 2021-03-05 2022-09-09 深圳市优必选科技股份有限公司 机器人定位方法、装置、机器人和可读存储介质
WO2023131048A1 (zh) * 2022-01-06 2023-07-13 上海安亭地平线智能交通技术有限公司 位姿信息的确定方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN111113422B (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
CN111113422B (zh) 机器人定位方法、装置、计算机可读存储介质及机器人
CN111912417B (zh) 地图构建方法、装置、设备及存储介质
CN112764053B (zh) 一种融合定位方法、装置、设备和计算机可读存储介质
CN108332758B (zh) 一种移动机器人的走廊识别方法及装置
CN113050116B (zh) 机器人定位方法、装置、机器人和可读存储介质
JP4984659B2 (ja) 自車両位置推定装置
CN113436238A (zh) 点云配准精度的评估方法、装置和电子设备
CN112462769A (zh) 机器人定位方法、装置、计算机可读存储介质及机器人
CN112444246A (zh) 高精度的数字孪生场景中的激光融合定位方法
CN111915675A (zh) 基于粒子漂移的粒子滤波点云定位方法及其装置和系统
CN113112491A (zh) 一种悬崖检测方法、装置、机器人及存储介质
CN110216664B (zh) 基于点云数据的障碍物识别方法及装置
CN113459088B (zh) 地图调整方法、电子设备及存储介质
JP2022080303A (ja) オプティカルフローを用いたライダー位置推定
CN113252023A (zh) 基于里程计的定位方法、装置及设备
CN113218408A (zh) 适用于多地形的多传感器融合的2Dslam方法及其系统
D’Adamo et al. Registration of three‐dimensional scanning LiDAR sensors: An evaluation of model‐based and model‐free methods
CN111157012B (zh) 一种机器人导航方法、装置、可读存储介质及机器人
CN113340310B (zh) 一种移动机器人台阶地形识别定位方法及相关装置
CN115127538A (zh) 地图更新方法、计算机设备及存储装置
CN110823225A (zh) 室内动态情景下的定位方法和装置
CN112781591A (zh) 机器人定位方法、装置、计算机可读存储介质及机器人
CN112987010A (zh) 一种用于机器人的多雷达建图的系统及方法
CN110609561A (zh) 一种行人跟踪方法、装置、计算机可读存储介质及机器人
CN117824667B (zh) 一种基于二维码和激光的融合定位方法及介质

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
GR01 Patent grant
GR01 Patent grant