CN104807465A - 机器人同步定位与地图创建方法及装置 - Google Patents

机器人同步定位与地图创建方法及装置 Download PDF

Info

Publication number
CN104807465A
CN104807465A CN201510206216.8A CN201510206216A CN104807465A CN 104807465 A CN104807465 A CN 104807465A CN 201510206216 A CN201510206216 A CN 201510206216A CN 104807465 A CN104807465 A CN 104807465A
Authority
CN
China
Prior art keywords
robot
information
centerdot
probability distribution
volume
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
CN201510206216.8A
Other languages
English (en)
Other versions
CN104807465B (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.)
Anhui Polytechnic University
Original Assignee
Anhui Polytechnic University
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 Anhui Polytechnic University filed Critical Anhui Polytechnic University
Priority to CN201510206216.8A priority Critical patent/CN104807465B/zh
Publication of CN104807465A publication Critical patent/CN104807465A/zh
Application granted granted Critical
Publication of CN104807465B publication Critical patent/CN104807465B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

本发明实施例公开一种机器人同步定位与地图创建方法及装置,属于机器人同步定位与地图创建领域。该方法包括:根据外部传感器采集的外部环境信息,得到观测信息数据集;根据当前时刻的后验概率分布和下一时刻的运动控制信息,得到下一时刻的先验概率分布;利用所述下一时刻的先验概率分布和所述观测信息数据集更新后验概率分布;根据更新后的后验概率分布更新当前时刻地图特征信息并更新当前时刻机器人控制信息。本发明实施例通过容积变换,避免了直接线性化过程,减少了计算雅可比矩阵的计算量,提高了精度,减小了截断误差对于系统稳定性的影响,改进了通过迭代测量更新,改进了容积点采样规则,减小采样点在高度非线性环境下的失真。

Description

机器人同步定位与地图创建方法及装置
技术领域
本发明涉及机器人同步定位与地图创建领域,尤其涉及一种机器人同步定位与地图创建方法及装置。
背景技术
机器人定位和地图创建问题是移动机器人导航研究中的关键问题,可靠导航是自主机器人最基本、最重要的一项功能,对移动机器人的研究有非常重要的意义。
目前解决移动机器人同步定位与地图创建问题的主要方法是应用卡尔曼滤波计算。例如,申请号为201410581627.0的申请文件提出一种卡尔曼滤波方法,根据机器人的运动学方程和基于相对方位的量测方程,给出多移动机器人自定位的动态模型;采用SR-UKF滤波算法,以相对方位为输入对系统状态进行整体更新,实现多移动机器人的协同自定位。申请文件201410581627.0采用的卡尔曼滤波法姿态解算方法建模简单、实时性较好,但是忽略了非线性因素尤其是载体位移加速度对姿态测量信息的影响。
为了提高机器人的姿态解算精度,申请号为201410489632.9的专利申请文件提出一种基于改进的扩展卡尔曼滤波算法的两轮自平衡机器人姿态解算方法,利用STM32交互采集处理两轮自平衡机器人惯性姿态测量数据;利用两轮自平衡机器人姿态测量系统建立MEMS陀螺仪误差数学模型;利用两轮自平衡机器人姿态测量系统建立MEMS IMU姿态解算数学模型;利用MEMSIMU姿态解算数学模型构建扩展卡尔曼滤波器模型;利用改进的扩展卡尔曼滤波算法对两轮自平衡机器人姿态测量数据进行数据融合;利用二阶近似解算减少非线性函数非线性截断误差;利用位移加速度判断公式,自适应量测噪声矩阵对两轮自平衡机器人姿态进行补偿;利用两步量测更新的方法提高改进的扩展卡尔曼滤波的先验解算精度。
但是该种方法未充分考虑到机器人模型非线性化的程度,如果机器人模型非线性化程度较高,易产生较大的位姿估计误差,影响非线性的环境下的系统定位精度。
发明内容
本发明实施例提供一种机器人同步定位与地图创建方法及装置,能够减小采样点在高度非线性环境下的失真。
本发明实施例采用如下技术方案:
一方面提供一种机器人同步定位与地图创建方法,包括:
根据外部传感器采集的外部环境信息,得到观测信息数据集;
根据当前时刻的后验概率分布和下一时刻的运动控制信息,得到下一时刻的先验概率分布;
利用所述下一时刻的先验概率分布和所述观测信息数据集更新后验概率分布;
根据更新后的后验概率分布更新当前时刻地图特征信息并更新当前时刻机器人控制信息。
可选的,所述根据外部传感器采集的外部环境信息,得到观测信息数据集之前,还包括:建立机器人运动模型;
建立所述机器人运动模型应用的机器人运动方程为:
m k = m x , k m y , k m θ , k = m x , k - 1 + T · v k · cos ( m θ , k - 1 + α k ) m y , k - 1 + T · v k · sin ( m θ , k - 1 + α k ) m θ , k - 1 + T · v k · sin ( α k ) L
其中,mk表示机器人位姿,T表示系统内部采样间隔,vk表示机器人行进速度,αk表示转角,L表示轮距,mk表示K时刻机器人的位姿,mk包括机器人K时刻X方向上的位移(mx,k),K时刻Y方向上的位移(my,k),K时刻角度位移(mθ,k),相应的参数如mx,k-1表示为机器人K-1时刻X方向上的位移,αk为机器人转角。
可选的,所述根据外部传感器采集的外部环境信息,得到观测信息数据集之前,还包括:建立观测模型;
建立所述观测模型应用的机器人观测方程为:
z k = l k β k = ( m x , i - m x , k ) 2 + ( m y , i - m y , k ) 2 arctan ( m y , i - m y , k m x , i - m x , k ) - m θ , k
其中,lk表示机器人与观测到地图特征点的距离,βk表示机器人与观测到地图特征点的夹角,(mx,i,my,i)为机器人观测到的地图特征点i的位置,zk表示机器人相对于观测到的地图特征点的位置。
可选的,所述根据当前时刻的后验概率分布和下一时刻的运动控制信息,得到下一时刻的先验概率分布包括:
确定采样容积点集,其中各容积点包含了机器人的运动信息,控制信息,和地图特征信息;其数学表达式为:其中,由数学公式 S k - 1 A = S k - 1 u k , L k - 1 A = L k - 1 0 0 Q k 处理而来,其中机器人状态信息Sk-1和运动信息uk要增广为高斯噪声变量,ξi表示为互相正交的完全对称容积点集,表示为其中ξi存在2(ns+nu)列, ξ i = n s + n u 1 0 . . . 0 , 0 1 . . . 0 , . . . , 0 . . . 1 0 , 0 . . . 0 1 , . . . , - 1 0 . . . 0 , 0 - 1 . . . 0 , . . . , 0 . . . - 1 0 , 0 . . . 0 - 1 ;
将采样的容积点通过非线性模型传递,得到随机变量的统计数据,进而得到下一时刻关于每个容积点的机器人运动信息、控制信息和地图特征信息的先验估计(先验概率分布);
通过容积变换,将每个容积点的先验估计进行拟合,得到下一时刻运动控制信息的先验概率分布,并且对产生的协方差误差矩阵做QR分解处理,得到平方根因子用于下一步传递,其中容积变换公式为:
I = ∫ f ( y ) N ( y ; μ , Σ ) dy ≈ 1 2 n y Σf ( Σ ξ i + μ ) ;
协方差误差矩阵为:
A k | k - 1 = 1 2 ( n s + n u ) x k | k - 1 1 - S k | k - 1 x k | k - 1 2 - S k | k - 1 . . . x k | k - 1 2 ( n s + n u ) - S k | k - 1 ;
QR分解为:[Q R]=qr(Ak|k-1 T),Ck|k-1=RT
可选的,所述利用所述下一时刻的先验概率分布和所述观测信息数据集更新后验概率分布包括:
通过所述观测模型建立新的容积点集,任意一个容积点迭代初始值分别为Sk|k-1和Ck|k-1,第l次迭代机器人位姿信息和平方根因子分别为由数学公式:得到更新的容积点集;
根据所述下一时刻运动控制信息的先验概率分布和根据所述观测模型得到的观测数据,得到下一时刻机器人运动信息的后验估计;经由所述观测方程,容积点传递后得到的容积点观测信息拟合各容积点信息: z ‾ k | k - 1 i , ( l ) = 1 2 n s Σ j = 1 2 n s z k | k - 1 i , j , ( l ) ;
QR分解新的协方差误差矩阵 Q R = qr B k | k - 1 i , ( l ) R k T , P k | k - 1 zz , ( l ) = R T ;
新的协方差矩阵由:
B k | k - 1 i , ( l ) = 1 2 n s z k | k - 1 1 - z ‾ k | k - 1 i , ( l ) z k | k - 1 2 - z ‾ k | k - 1 i , ( l ) . . . z k | k - 1 2 ( n s + n u ) - z ‾ k | k - 1 i , ( l ) 可得;
P k | k - 1 zz , ( l ) = R T , P k | k - 1 xz , ( l ) = A k | k - 1 ( l ) B k | k - 1 ( l ) T
进一步求得卡尔曼增益: W k ( l ) = P k | k - 1 xz , ( l ) · ( P k | k - 1 zz , ( l ) T · P k | k - 1 zz , ( l ) ) - 1 ;
计算下一时刻平方根因子,用于递增更新,迭代l+1次时机器人位姿信息和平方根因子
S k | k - 1 ( l + 1 ) = S k | k - 1 + W k ( l ) [ z k - h ( S k | k - 1 ( l ) ) - P k | k - 1 xz , ( l ) T · B k | k - 1 i , ( l ) - 1 ( S k | k - 1 - S k | k - 1 ( l ) ) ]
C k | k - 1 ( l + 1 ) = C k | k - 1 - W k ( l ) · P k | k - 1 zz , ( l ) · ( W k ( l ) ) T
设置迭代终止条件,l=Lmax,Lmax为迭代最大次数,是预先设置的固定常量,当迭代终止时,各数据实现更新:
另一方面提供一种机器人同步定位与地图创建装置,包括:
第一确定模块,用于根据外部传感器采集的外部环境信息,得到观测信息数据集;
第二确定模块,用于根据当前时刻的后验概率分布和下一时刻的运动控制信息,得到下一时刻的先验概率分布;
第一更新模块,用于根据所述下一时刻的先验概率分布和所述观测信息数据集更新后验概率分布;
第二更新模块,用于根据更新后的后验概率分布更新当前时刻地图特征信息并更新当前时刻机器人控制信息。
可选的,还包括:第一建模模块,用于建立机器人运动模型;
建立所述机器人运动模型应用的机器人运动方程为:
m k = m x , k m y , k m θ , k = m x , k - 1 + T · v k · cos ( m θ , k - 1 + α k ) m y , k - 1 + T · v k · sin ( m θ , k - 1 + α k ) m θ , k - 1 + T · v k · sin ( α k ) L
其中,mk表示机器人位姿,T表示系统内部采样间隔,vk表示机器人行进速度,αk表示转角,L表示轮距,mk表示K时刻机器人的位姿,mk包括机器人K时刻X方向上的位移(mx,k),K时刻Y方向上的位移(my,k),K时刻角度位移(mθ,k),相应的参数如mx,k-1表示为机器人K-1时刻X方向上的位移,αk为机器人转角。
可选的,还包括:第二建模模块,用于建立观测模型;
建立所述观测模型应用的机器人观测方程为:
z k = l k β k = ( m x , i - m x , k ) 2 + ( m y , i - m y , k ) 2 arctan ( m y , i - m y , k m x , i - m x , k ) - m θ , k
其中,lk表示机器人与观测到地图特征点的距离,βk表示机器人与观测到地图特征点的夹角,(mx,i,my,i)为机器人观测到的地图特征点i的位置,zk表示机器人相对于观测到的地图特征点的位置。
可选的,所述第二确定模块具体用于:
确定采样容积点集,其中各容积点包含了机器人的运动信息,控制信息,和地图特征信息;其数学表达式为:其中,由数学公式 S k - 1 A = S k - 1 u k , L k - 1 A = L k - 1 0 0 Q k 处理而来,其中机器人状态信息Sk-1和运动信息uk要增广为高斯噪声变量,ξi表示为互相正交的完全对称容积点集,表示为其中ξi存在2(ns+nu)列, ξ i = n s + n u 1 0 . . . 0 , 0 1 . . . 0 , . . . , 0 . . . 1 0 , 0 . . . 0 1 , . . . , - 1 0 . . . 0 , 0 - 1 . . . 0 , . . . , 0 . . . - 1 0 , 0 . . . 0 - 1 ;
将采样的容积点通过非线性模型传递,得到随机变量的统计数据,进而得到下一时刻关于每个容积点的机器人运动信息、控制信息和地图特征信息的先验估计(先验概率分布);
通过容积变换,将每个容积点的先验估计(先验概率分布)进行拟合,得到下一时刻运动控制信息的先验概率分布,并且对产生的协方差误差矩阵做QR分解处理,得到平方根因子用于下一步传递,其中容积变换公式为:
I = ∫ f ( y ) N ( y ; μ , Σ ) dy ≈ 1 2 n y Σf ( Σ ξ i + μ ) ;
协方差误差矩阵为:
A k | k - 1 = 1 2 ( n s + n u ) x k | k - 1 1 - S k | k - 1 x k | k - 1 2 - S k | k - 1 . . . x k | k - 1 2 ( n s + n u ) - S k | k - 1 ;
QR分解为:[Q R]=qr(Ak|k-1 T),Ck|k-1=RT
可选的,所述第一更新模块具体用于:
通过所述观测模型建立新的容积点集,任意一个容积点迭代初始值分别为Sk|k-1和Ck|k-1,第l次迭代机器人位姿信息和平方根因子分别为由数学公式:得到更新的容积点集;
根据所述下一时刻运动控制信息的先验估计(先验概率分布)和根据所述观测模型得到的观测数据,得到下一时刻机器人运动信息的后验估计;经由所述观测方程,容积点传递后得到的容积点观测信息拟合各容积点信息: z ‾ k | k - 1 i , ( l ) = 1 2 n s Σ j = 1 2 n s z k | k - 1 i , j , ( l ) ;
QR分解新的协方差误差矩阵 Q R = qr B k | k - 1 i , ( l ) R k T , P k | k - 1 zz , ( l ) = R T ;
新的协方差矩阵由:
B k | k - 1 i , ( l ) = 1 2 n s z k | k - 1 1 - z ‾ k | k - 1 i , ( l ) z k | k - 1 2 - z ‾ k | k - 1 i , ( l ) . . . z k | k - 1 2 ( n s + n u ) - z ‾ k | k - 1 i , ( l ) 可得;
P k | k - 1 zz , ( l ) = R T , P k | k - 1 xz , ( l ) = A k | k - 1 ( l ) B k | k - 1 ( l ) T
进一步求得卡尔曼增益: W k ( l ) = P k | k - 1 xz , ( l ) · ( P k | k - 1 zz , ( l ) T · P k | k - 1 zz , ( l ) ) - 1 ;
计算下一时刻平方根因子,用于递增更新,迭代l+1次时机器人位姿信息和平方根因子
S k | k - 1 ( l + 1 ) = S k | k - 1 + W k ( l ) [ z k - h ( S k | k - 1 ( l ) ) - P k | k - 1 xz , ( l ) T · B k | k - 1 i , ( l ) - 1 ( S k | k - 1 - S k | k - 1 ( l ) ) ]
C k | k - 1 ( l + 1 ) = C k | k - 1 - W k ( l ) · P k | k - 1 zz , ( l ) · ( W k ( l ) ) T
设置迭代终止条件,l=Lmax,Lmax为迭代最大次数,是预先设置的固定常量,当迭代终止时,各数据实现更新:
基于上述技术方案的机器人同步定位与地图创建方法及装置,通过容积变换,避免了直接线性化过程,减少了计算雅可比矩阵的计算量,提高了精度;利用协方差矩阵的平方根因子代替协方差矩阵传递,减小了截断误差对于系统稳定性的影响;改进了通过迭代测量更新,改进了容积点采样规则,减小采样点在高度非线性环境下的失真。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本发明实施例1示出的一种机器人同步定位与地图创建方法的流程图;
图2为本发明实施例1示出的另一种机器人同步定位与地图创建方法的流程图;
图3为本发明实施例2示出的一种移动机器人的系统结构图;
图4为本发明实施例2示出的一种机器人同步定位与地图创建方法的流程图;
图5为本发明实施例3示出的一种机器人同步定位与地图创建装置的结构示意图;
图6为本发明实施例3示出的一种机器人同步定位与地图创建装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本实施例提供一种机器人同步定位与地图创建方法,该方法包括:
11、根据外部传感器采集的外部环境信息,得到观测信息数据集;
12、根据当前时刻的后验概率分布和下一时刻的运动控制信息,得到下一时刻的先验概率分布;
13、利用所述下一时刻的先验概率分布和所述观测信息数据集更新后验概率分布;
14、根据更新后的后验概率分布更新当前时刻地图特征信息并更新当前时刻机器人控制信息。
可选的,如图2所示上述步骤11之前,还可以包括:10a建立机器人运动模型;
建立所述机器人运动模型应用的机器人运动方程为:
m k = m x , k m y , k m θ , k = m x , k - 1 + T · v k · cos ( m θ , k - 1 + α k ) m y , k - 1 + T · v k · sin ( m θ , k - 1 + α k ) m θ , k - 1 + T · v k · sin ( α k ) L
其中,mk表示机器人位姿,T表示系统内部采样间隔,vk表示机器人行进速度,αk表示转角,L表示轮距。
可选的,如图2所示,上述步骤11之前,还可以包括:10b建立观测模型;
建立所述观测模型应用的机器人观测方程为:
z k = l k β k = ( m x , i - m x , k ) 2 + ( m y , i - m y , k ) 2 arctan ( m y , i - m y , k m x , i - m x , k ) - m θ , k
其中,lk表示机器人与观测到地图特征点的距离,βk表示机器人与观测到地图特征点的夹角,(mx,i,my,i)为机器人观测到的地图特征点i的位置。
可选的,所述根据当前时刻的后验概率分布和下一时刻的运动控制信息,得到下一时刻的先验概率分布包括:
确定采样容积点集,其中各容积点包含了机器人的运动信息,控制信息,和地图特征信息;其数学表达式为:其中,由数学公式 S k - 1 A = S k - 1 u k , L k - 1 A = L k - 1 0 0 Q k 处理而来,其中机器人状态信息Sk-1和运动信息uk要增广为高斯噪声变量,ξi表示为互相正交的完全对称容积点集,表示为其中ξi存在2(ns+nu)列, ξ i = n s + n u 1 0 . . . 0 , 0 1 . . . 0 , . . . , 0 . . . 1 0 , 0 . . . 0 1 , . . . , - 1 0 . . . 0 , 0 - 1 . . . 0 , . . . , 0 . . . - 1 0 , 0 . . . 0 - 1 ;
将采样的容积点通过非线性模型传递,得到随机变量的统计数据,进而得到下一时刻关于每个容积点的机器人运动信息、控制信息和地图特征信息的先验估计(先验概率分布);
通过容积变换,将每个容积点的先验估计(先验概率分布)进行拟合,得到下一时刻运动控制信息的先验估计(先验概率分布),并且对产生的协方差误差矩阵做QR分解处理,得到平方根因子用于下一步传递,其中容积变换公式为:
I = ∫ f ( y ) N ( y ; μ , Σ ) dy ≈ 1 2 n y Σf ( Σ ξ i + μ ) ;
协方差误差矩阵为:
A k | k - 1 = 1 2 ( n s + n u ) x k | k - 1 1 - S k | k - 1 x k | k - 1 2 - S k | k - 1 . . . x k | k - 1 2 ( n s + n u ) - S k | k - 1 ;
QR分解为:[Q R]=qr(Ak|k-1 T),Ck|k-1=RT
可选的,所述利用所述下一时刻的先验概率分布和所述观测信息数据集更新后验概率分布包括:
通过所述观测模型建立新的容积点集,任意一个容积点迭代初始值分别为Sk|k-1和Ck|k-1,第l次迭代机器人位姿信息和平方根因子分别为由数学公式:得到更新的容积点集;
根据所述下一时刻运动控制信息的先验估计(先验概率分布)和根据所述观测模型得到的观测数据,得到下一时刻机器人运动信息的后验估计;经由所述观测方程,容积点传递后得到的容积点观测信息拟合各容积点信息: z ‾ k | k - 1 i , ( l ) = 1 2 n s Σ j = 1 2 n s z k | k - 1 i , j , ( l ) ;
QR分解新的协方差误差矩阵 Q R = qr B k | k - 1 i , ( l ) R k T , P k | k - 1 zz , ( l ) = R T ;
新的协方差矩阵由:
B k | k - 1 i , ( l ) = 1 2 n s z k | k - 1 1 - z ‾ k | k - 1 i , ( l ) z k | k - 1 2 - z ‾ k | k - 1 i , ( l ) . . . z k | k - 1 2 ( n s + n u ) - z ‾ k | k - 1 i , ( l ) 可得;
P k | k - 1 zz , ( l ) = R T , P k | k - 1 xz , ( l ) = A k | k - 1 ( l ) B k | k - 1 ( l ) T
进一步求得卡尔曼增益: W k ( l ) = P k | k - 1 xz , ( l ) · ( P k | k - 1 zz , ( l ) T · P k | k - 1 zz , ( l ) ) - 1 ;
计算下一时刻平方根因子,用于递增更新,迭代l+1次时机器人位姿信息和平方根因子
S k | k - 1 ( l + 1 ) = S k | k - 1 + W k ( l ) [ z k - h ( S k | k - 1 ( l ) ) - P k | k - 1 xz , ( l ) T · B k | k - 1 i , ( l ) - 1 ( S k | k - 1 - S k | k - 1 ( l ) ) ]
C k | k - 1 ( l + 1 ) = C k | k - 1 - W k ( l ) · P k | k - 1 zz , ( l ) · ( W k ( l ) ) T
设置迭代终止条件,l=Lmax,Lmax为迭代最大次数,是预先设置的固定常量,当迭代终止时,各数据实现更新:
本实施例中,可以在上述步骤14之后,更新当前时刻地图特征信息,更新当前时刻机器人控制信息,实现位姿更新:
本实施例的机器人同步定位与地图创建方法,通过容积变换,避免了直接线性化过程,减少了计算雅可比矩阵的计算量,提高了精度;利用协方差矩阵的平方根因子代替协方差矩阵传递,减小了截断误差对于系统稳定性的影响;改进了通过迭代测量更新,改进了容积点采样规则,减小采样点在高度非线性环境下的失真。
实施例2
本实施例提供一种机器人同步定位与地图创建方法,该方法可以通过图3所示的移动机器人的系统结构图实现,如图4所示,该方法包括:
S1:建立机器人运动模型和观测模型:
S1.1:机器人运动方程为:
m k = m x , k m y , k m θ , k = m x , k - 1 + T · v k · cos ( m θ , k - 1 + α k ) m y , k - 1 + T · v k · sin ( m θ , k - 1 + α k ) m θ , k - 1 + T · v k · sin ( α k ) L
其中,mk表示机器人位姿,T表示系统内部采样间隔,vk表示机器人行进速度,αk表示转角,L表示轮距,mk表示的是K时刻机器人的位姿,mk包括机器人K时刻X方向上的位移(mx,k),K时刻Y方向上的位移(my,k),K时刻角度位移(mθ,k)。相应的参数如mx,k-1表示为机器人K-1时刻X方向上的位移。αk为机器人转角。
S1.2:机器人观测方程为:
z k = l k β k = ( m x , i - m x , k ) 2 + ( m y , i - m y , k ) 2 arctan ( m y , i - m y , k m x , i - m x , k ) - m θ , k :
其中,lk表示机器人与观测到地图特征点的距离,βk表示机器人与观测到地图特征点的夹角,(mx,i,my,i)为机器人观测到的地图特征点i的位置,zk表示为机器人相对于观测到的地图特征点的位置(亦可称为机器人观测相对位姿),它包括lk表示机器人与观测到地图特征点的距离,βk表示机器人与观测到地图特征点的夹角。my,k如上F1解释为K时刻Y方向上的位移,其他同理。
步骤2:观测模块通过外部传感器采集外部环境信息,得到观测信息数据集。
其中,整个机器人主体包括两个部分,即运动模块和观测模块,运动模块用于根据内部参数计算机器人的位姿(位置和角度),观测模块通过外部传感器(外部传感器是观测模块的一部分,在机器人前端)感知环境,得到自身位姿数据。
本发明实施例中,外部传感器获取到与特征点i的相对位置mx,i,my,i(距离i点的X方向相对距离,距离i点的Y方向相对距离),通过公式 z k = l k β k = ( m x , i - m x , k ) 2 + ( m y , i - m y , k ) 2 arctan ( m y , i - m y , k m x , i - m x , k ) - m θ , k 得到i点的观测信息数据。i点特指一个点,实际情况是能观测到多个点的。多个特征点的观测信息数据集合成观测信息数据集。
S3:观测阶段,利用该时刻的后验概率分布和下一时刻的运动控制信息,得到下一时刻的先验概率分布。
例如,K时刻的后验概率分布由K-1时刻确定,初始时刻的后验概率分布经预先设定。
K时刻的运动控制信息即 m k = m x , k m y , k m θ , k 由K-1时刻的已知信息和动力学方程 m k = m x , k m y , k m θ , k = m x , k - 1 + T · v k · cos ( m θ , k - 1 + α k ) m y , k - 1 + T · v k · sin ( m θ , k - 1 + α k ) m θ , k - 1 + T · v k · sin ( α k ) L 得到。初始时刻K时刻运动控制信息需要事先设定。
进一步的,所述S3包括:
S3.1:计算采样容积点集,其中各容积点包含了机器人的运动信息,控制信息,和地图特征信息;其数学表达式为: 由数学公式 S k - 1 A = S k - 1 u k , L k - 1 A = L k - 1 0 0 Q k 处理而来。本发明实施例中,各容积点是一系列容积点集,它是通过一系列的特定的点集,经过数学公式转化而来。容积点表示为:(K-1时刻,第j个序列的容积点)。它由公式得到。
其中机器人状态信息Sk-1和运动信息uk要增广为高斯噪声变量。ξi表示为互相正交的完全对称容积点集,表示为其中ξi存在2(ns+nu)列,
ξ i = n s + n u 1 0 . . . 0 , 0 1 . . . 0 , . . . , 0 . . . 1 0 , 0 . . . 0 1 , . . . , - 1 0 . . . 0 , 0 - 1 . . . 0 , . . . , 0 . . . - 1 0 , 0 . . . 0 - 1 .
S3.2:将采样的容积点通过非线性模型传递,得到随机变量的统计数据,进而得到下一时刻关于每个容积点的机器人运动信息、控制信息和地图特征信息的先验估计(先验概率分布)。以容积点j为例:
本发明实施例中,K时刻下定义如下变量:表示机器人K时刻系统状态信息,其中(此处即是机器人运动模型中的mk)表示机器人位姿信息,表示K时刻地图特征向量,ns表示系统状态向量维数。U1:k=[u1,u2,…,uk]T表示机器人K时刻控制向量,nu表示机器人控制向量维数。Z1:k=[z1,z2,…k]T表示机器人K时刻观测向量,nz表示机器人观测向量维数。
是容积点,它通过函数(此函数包含了一系列公式,此处抽象为一个函数)得到了(表示为在已知K-1时刻容积点信息的条件下推测出的K时刻的容积点信息的估计。)
S3.3:通过容积变换,将每个容积点的先验估计(先验概率分布)进行拟合,得到下一时刻运动控制信息的先验概率分布。并且对产生的协方差误差矩阵做QR分解处理,得到平方根因子用于下一步传递。其中容积变换公式为: I = ∫ f ( y ) N ( y ; μ , Σ ) dy ≈ 1 2 n y Σf ( Σ ξ i + μ ) .
协方差误差矩阵为:
A k | k - 1 = 1 2 ( n s + n u ) x k | k - 1 1 - S k | k - 1 x k | k - 1 2 - S k | k - 1 . . . x k | k - 1 2 ( n s + n u ) - S k | k - 1 ,
QR分解为:[Q R]=qr(Ak|k-1 T),Ck|k-1=RT。qr(Ak|k-1 T)中qr()是一种处理矩阵的手段,叫作QR分解。Ak|k-1 T是中间数据,QR分解Ak|k-1 T后,同时得到Q矩阵和R矩阵,R的转置矩阵为RT,RT=Ck|k-1,此处Ck|k-1表示平方根因子,用于下一阶段处理。
S4:更新阶段,利用下一时刻的先验概率分布和观测信息数据集更新后验概率分布。
进一步的,所述的步骤4包括:
S4.1:通过观测模型建立新的容积点集。以第i个特征点为例,假设迭代初始值分别为Sk|k-1和Ck|k-1,第l次迭代机器人位姿信息和平方根因子分别为由数学公式:得到更新的容积点集。其中,特征点为机器人在移动环境中观测到的障碍物,或者称为标志点。
S4.2:结合S3所得到的机器人下一时刻运动控制信息的先验估计(先验概率分布)和S1得到的观测数据,得到下一时刻机器人运动信息的后验估计。经由观测方程,容积点传递后得到的容积点观测信息拟合各容积点信息:其中,表示为在K-1时刻的已知信息下得到的K时刻的关于地图特征点i的,关于容积点序列j的第L次迭代的观测信息,由观测方程函数h()得到,h()为一系列处理方式,包含K-1时刻,关于地图特征点i的,第L次迭代的机器人位姿信息,运动控制信息和各特征点估计信息;是对上面数据的一种拟合方法,用于下面具体的数据处理。
QR分解新的协方差误差矩阵 Q R = qr B k | k - 1 i , ( l ) R k T , P k | k - 1 zz , ( l ) = R T .
新的协方差矩阵由:
B k | k - 1 i , ( l ) = 1 2 n s z k | k - 1 1 - z ‾ k | k - 1 i , ( l ) z k | k - 1 2 - z ‾ k | k - 1 i , ( l ) . . . z k | k - 1 2 ( n s + n u ) - z ‾ k | k - 1 i , ( l ) 可得。
P k | k - 1 zz , ( l ) = R T , P k | k - 1 xz , ( l ) = A k | k - 1 ( l ) B k | k - 1 ( l ) T
进一步求得卡尔曼增益: W k ( l ) = P k | k - 1 xz , ( l ) · ( P k | k - 1 zz , ( l ) T · P k | k - 1 zz , ( l ) ) - 1
S4.3:继续计算下一时刻平方根因子,用于递增更新。迭代l+1次时机器人位姿信息和平方根因子
S k | k - 1 ( l + 1 ) = S k | k - 1 + W k ( l ) [ z k - h ( S k | k - 1 ( l ) ) - P k | k - 1 xz , ( l ) T · B k | k - 1 i , ( l ) - 1 ( S k | k - 1 - S k | k - 1 ( l ) ) ]
C k | k - 1 ( l + 1 ) = C k | k - 1 - W k ( l ) · P k | k - 1 zz , ( l ) · ( W k ( l ) ) T
S4.4:设置迭代终止条件,l=Lmax,Lmax为迭代最大次数,是预先设置的固定常量。重复S3.1至S3.3,当迭代终止时,各数据实现更新: 其中,预先设置的迭代次数,迭代完成后,得到最终的在K-1时刻已知的情况下K时刻综合估计出的机器人位姿信息;为预先设置好的迭代次数,迭代完成后,得到最终的在K-1时刻已知的情况下K时刻综合估计出的机器人平方根因子。
S5:更新当前时刻地图特征信息,更新当前时刻机器人控制信息。实现位姿更新: S k = S k | k - 1 + W k ( z k i - z ‾ k | k - 1 i ) . 其中, S k = S k | k - 1 + W k ( z k i - z ‾ k | k - 1 i ) , Sk为机器人最终信息(包括位置信息和地图信息),Sk由两部分相加而成。Sk|k-1表示已知K-1时刻机器人信息估计的K时刻信息(前述步骤得出)。表示偏差量,由卡尔曼增益Wk乘以(观测量偏差:)。
ξ i = n s + n u 1 0 . . . 0 , 0 1 . . . 0 , . . . , 0 . . . 1 0 , 0 . . . 0 1 , . . . , - 1 0 . . . 0 , 0 - 1 . . . 0 , . . . , 0 . . . - 1 0 , 0 . . . 0 - 1 中有2(ns+nu)列。
S6、根据更新后的信息控制机器人。
本实施例的机器人同步定位与地图创建方法,通过容积变换,避免了直接线性化过程,减少了计算雅可比矩阵的计算量,提高了精度;利用协方差矩阵的平方根因子代替协方差矩阵传递,减小了截断误差对于系统稳定性的影响;改进了通过迭代测量更新,改进了容积点采样规则,减小采样点在高度非线性环境下的失真。
实施例3
如图5所示,本实施例提供一种机器人同步定位与地图创建装置,包括:
第一确定模块51,用于根据外部传感器采集的外部环境信息,得到观测信息数据集;
第二确定模块52,用于根据当前时刻的后验概率分布和下一时刻的运动控制信息,得到下一时刻的先验概率分布;
第一更新模块53,用于根据所述下一时刻的先验概率分布和所述观测信息数据集更新后验概率分布;
第二更新模块54,用于根据更新后的后验概率分布更新当前时刻地图特征信息并更新当前时刻机器人控制信息。
可选的,如图6所示,还包括:第一建模模块50a,用于建立机器人运动模型;
建立所述机器人运动模型应用的机器人运动方程为:
m k = m x , k m y , k m θ , k = m x , k - 1 + T · v k · cos ( m θ , k - 1 + α k ) m y , k - 1 + T · v k · sin ( m θ , k - 1 + α k ) m θ , k - 1 + T · v k · sin ( α k ) L
其中,mk表示机器人位姿,T表示系统内部采样间隔,vk表示机器人行进速度,αk表示转角,L表示轮距,mk表示的是K时刻机器人的位姿,mk包括机器人K时刻X方向上的位移(mx,k),K时刻Y方向上的位移(my,k),K时刻角度位移(mθ,k)。相应的参数如mx,k-1表示为机器人K-1时刻X方向上的位移。αk为机器人转角。
可选的,如图6所示,还包括:第二建模模块50b,用于建立观测模型;
建立所述观测模型应用的机器人观测方程为:
z k = l k β k = ( m x , i - m x , k ) 2 + ( m y , i - m y , k ) 2 arctan ( m y , i - m y , k m x , i - m x , k ) - m θ , k
其中,lk表示机器人与观测到地图特征点的距离,βk表示机器人与观测到地图特征点的夹角,(mx,i,my,i)为机器人观测到的地图特征点i的位置,zk表示为机器人相对于观测到的地图特征点的位置(亦可称为机器人观测相对位姿),它包括lk表示机器人与观测到地图特征点的距离,βk表示机器人与观测到地图特征点的夹角。my,k如上F1解释为K时刻Y方向上的位移,其他同理。
其中,整个机器人主体包括两个部分,即运动模块和观测模块,运动模块用于根据内部参数计算机器人的位姿(位置和角度),观测模块通过外部传感器(外部传感器是观测模块的一部分,在机器人前端)感知环境,得到自身位姿数据。
本发明实施例中,外部传感器获取到与特征点i的相对位置mx,i,my,i(距离i点的X方向相对距离,距离i点的Y方向相对距离),通过公式 z k = l k β k = ( m x , i - m x , k ) 2 + ( m y , i - m y , k ) 2 arctan ( m y , i - m y , k m x , i - m x , k ) - m θ , k 得到i点的观测信息数据。i点特指一个点,实际情况是能观测到多个点的。多个特征点的观测信息数据集合成观测信息数据集。
可选的,所述第二确定模块具体用于:
确定采样容积点集,其中各容积点包含了机器人的运动信息,控制信息,和地图特征信息;其数学表达式为:其中,由数学公式 S k - 1 A = S k - 1 u k , L k - 1 A = L k - 1 0 0 Q k 处理而来,其中机器人状态信息Sk-1和运动信息uk要增广为高斯噪声变量,ξi表示为互相正交的完全对称容积点集,表示为其中ξi存在2(ns+nu)列, ξ i = n s + n u 1 0 . . . 0 , 0 1 . . . 0 , . . . , 0 . . . 1 0 , 0 . . . 0 1 , . . . , - 1 0 . . . 0 , 0 - 1 . . . 0 , . . . , 0 . . . - 1 0 , 0 . . . 0 - 1 ;
将采样的容积点通过非线性模型传递,得到随机变量的统计数据,进而得到下一时刻关于每个容积点的机器人运动信息、控制信息和地图特征信息的先验估计(先验概率分布);
通过容积变换,将每个容积点的先验估计(先验概率分布)进行拟合,得到下一时刻运动控制信息的先验估计(先验概率分布),并且对产生的协方差误差矩阵做QR分解处理,得到平方根因子用于下一步传递,其中容积变换公式为:
I = ∫ f ( y ) N ( y ; μ , Σ ) dy ≈ 1 2 n y Σf ( Σ ξ i + μ ) ;
协方差误差矩阵为:
A k | k - 1 = 1 2 ( n s + n u ) x k | k - 1 1 - S k | k - 1 x k | k - 1 2 - S k | k - 1 . . . x k | k - 1 2 ( n s + n u ) - S k | k - 1 ;
QR分解为:[Q R]=qr(Ak|k-1 T),Ck|k-1=RT
可选的,所述第一更新模块具体用于:
通过所述观测模型建立新的容积点集,任意一个容积点迭代初始值分别为Sk|k-1和Ck|k-1,第l次迭代机器人位姿信息和平方根因子分别为由数学公式:得到更新的容积点集;
根据所述下一时刻运动控制信息的先验估计(先验概率分布)和根据所述观测模型得到的观测数据,得到下一时刻机器人运动信息的后验估计;经由所述观测方程,容积点传递后得到的容积点观测信息拟合各容积点信息: z ‾ k | k - 1 i , ( l ) = 1 2 n s Σ j = 1 2 n s z k | k - 1 i , j , ( l ) ;
QR分解新的协方差误差矩阵 Q R = qr B k | k - 1 i , ( l ) R k T , P k | k - 1 zz , ( l ) = R T ;
新的协方差矩阵由:
B k | k - 1 i , ( l ) = 1 2 n s z k | k - 1 1 - z ‾ k | k - 1 i , ( l ) z k | k - 1 2 - z ‾ k | k - 1 i , ( l ) . . . z k | k - 1 2 ( n s + n u ) - z ‾ k | k - 1 i , ( l ) 可得;
P k | k - 1 zz , ( l ) = R T , P k | k - 1 xz , ( l ) = A k | k - 1 ( l ) B k | k - 1 ( l ) T
进一步求得卡尔曼增益: W k ( l ) = P k | k - 1 xz , ( l ) · ( P k | k - 1 zz , ( l ) T · P k | k - 1 zz , ( l ) ) - 1 ;
计算下一时刻平方根因子,用于递增更新,迭代l+1次时机器人位姿信息和平方根因子
S k | k - 1 ( l + 1 ) = S k | k - 1 + W k ( l ) [ z k - h ( S k | k - 1 ( l ) ) - P k | k - 1 xz , ( l ) T · B k | k - 1 i , ( l ) - 1 ( S k | k - 1 - S k | k - 1 ( l ) ) ]
C k | k - 1 ( l + 1 ) = C k | k - 1 - W k ( l ) · P k | k - 1 zz , ( l ) · ( W k ( l ) ) T
设置迭代终止条件,l=Lmax,Lmax为迭代最大次数,是预先设置的固定常量,当迭代终止时,各数据实现更新:
本实施例的机器人同步定位与地图创建装置,通过容积变换,避免了直接线性化过程,减少了计算雅可比矩阵的计算量,提高了精度;利用协方差矩阵的平方根因子代替协方差矩阵传递,减小了截断误差对于系统稳定性的影响;改进了通过迭代测量更新,改进了容积点采样规则,减小采样点在高度非线性环境下的失真。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。

Claims (10)

1.一种机器人同步定位与地图创建方法,其特征在于,包括:
根据外部传感器采集的外部环境信息,得到观测信息数据集;
根据当前时刻的后验概率分布和下一时刻的运动控制信息,得到下一时刻的先验概率分布;
利用所述下一时刻的先验概率分布和所述观测信息数据集更新后验概率分布;
根据更新后的后验概率分布更新当前时刻地图特征信息并更新当前时刻机器人控制信息。
2.根据权利要求1所述的方法,其特征在于,所述根据外部传感器采集的外部环境信息,得到观测信息数据集之前,还包括:建立机器人运动模型;
建立所述机器人运动模型应用的机器人运动方程为:
m k = m x , k m y , k m θ , k = m x , k - 1 + T · v k · cos ( m θ , k - 1 + α k ) m y , k - 1 + T · v k · sin ( m θ , k - 1 + α k ) m θ , k - 1 + T · v k · sin ( α k ) L
其中,mk表示机器人位姿,T表示系统内部采样间隔,vk表示机器人行进速度,αk表示转角,L表示轮距,mk表示K时刻机器人的位姿,mk包括机器人K时刻X方向上的位移(mx,k),K时刻Y方向上的位移(my,k),K时刻角度位移(mθ,k),相应的参数如mx,k-1表示为机器人K-1时刻X方向上的位移,αk为机器人转角。
3.根据权利要求1或2所述的方法,其特征在于,所述根据外部传感器采集的外部环境信息,得到观测信息数据集之前,还包括:建立观测模型;
建立所述观测模型应用的机器人观测方程为:
z k = l k β k = ( m x , i - m x , k ) 2 + ( m y , i - m y , k ) 2 arctan ( m y , i - m y , k m x , i - m x , k ) - m θ , k
其中,lk表示机器人与观测到地图特征点的距离,βk表示机器人与观测到地图特征点的夹角,(mx,i,my,i)为机器人观测到的地图特征点i的位置,zk表示机器人相对于观测到的地图特征点的位置。
4.根据权利要求3所述的方法,其特征在于,所述根据当前时刻的后验概率分布和下一时刻的运动控制信息,得到下一时刻的先验概率分布包括:
确定采样容积点集,其中各容积点包含了机器人的运动信息,控制信息,和地图特征信息;其数学表达式为:其中,由数学公式 S k - 1 A = S k - 1 u k , L k - 1 A = L k - 1 0 0 Q k 处理而来,其中机器人状态信息Sk-1和运动信息uk要增广为高斯噪声变量,ξi表示为互相正交的完全对称容积点集,表示为其中ξi存在2(ns+nu)列,
ξ i = n s + n u { 1 0 . . . 0 0 1 . . . 0 , . . . , 0 . . . 1 0 , 0 . . . 0 1 , . . . , - 1 0 . . . 0 0 - 1 . . . 0 , . . . , 0 . . . - 1 0 0 . . . 0 - 1 } ;
将采样的容积点通过非线性模型传递,得到随机变量的统计数据,进而得到下一时刻关于每个容积点的机器人运动信息、控制信息和地图特征信息的先验估计;
通过容积变换,将每个容积点的先验估计进行拟合,得到下一时刻运动控制信息的先验概率分布,并且对产生的协方差误差矩阵做QR分解处理,得到平方根因子用于下一步传递,其中容积变换公式为:
I = ∫ f ( y ) N ( y ; μ , Σ ) dy ≈ 1 2 n y Σf ( Σ ξ i + μ ) ;
协方差误差矩阵为:
A k | k - 1 = 1 2 ( n s + n u ) x k | k - 1 1 - S k | k - 1 x k | k - 1 2 - S k | k - 1 . . . x k | k - 1 2 ( n s + n u ) - S k | k - 1 ;
QR分解为:[Q R]=qr(Ak|k-1 T),Ck|k-1=RT
5.根据权利要求4所述的方法,其特征在于,所述利用所述下一时刻的先验概率分布和所述观测信息数据集更新后验概率分布包括:
通过所述观测模型建立新的容积点集,任意一个容积点迭代初始值分别为Sk|k-1和Ck|k-1,第l次迭代机器人位姿信息和平方根因子分别为由数学公式:得到更新的容积点集;
根据所述下一时刻运动控制信息的先验估计和根据所述观测模型得到的观测数据,得到下一时刻机器人运动信息的后验估计;经由所述观测方程,容积点传递后得到的容积点观测信息拟合各容积点信息: z ‾ k | k - 1 i , ( l ) = 1 2 n s Σ j = 1 2 n s z k | k - 1 i , j , ( l ) ;
QR分解新的协方差误差矩阵 Q R = qr ( B k | k - 1 i , ( l ) R k T ) , P k | k - 1 zz , ( l ) = R T ;
新的协方差矩阵由:
B k | k - 1 i , ( l ) = 1 2 n s z k | k - 1 1 - z ‾ k | k - 1 i , ( l ) z k | k - 1 2 - z ‾ k | k - 1 i , ( l ) . . . z k | k - 1 2 ( n s + n u ) - z ‾ k | k - 1 i , ( l ) 可得;
P k | k - 1 zz , ( l ) = R T , P k | k - 1 xz , ( l ) = A k | k - 1 ( l ) B k | k - 1 ( l ) T
进一步求得卡尔曼增益: W k ( l ) = P k | k - 1 xz , ( l ) · ( P k | k - 1 zz , ( l ) T · P k | k - 1 zz , ( l ) ) - 1 ;
计算下一时刻平方根因子,用于递增更新,迭代l+1次时机器人位姿信息和平方根因子
S k | k - 1 ( l + 1 ) = S k | k - 1 + W k ( l ) [ z k - h ( S k | k - 1 ( l ) ) - P k | k - 1 xz , ( l ) T · B k | k - 1 i , ( l ) - 1 ( S k | k - 1 - S k | k - 1 ( l ) ) ]
C k | k - 1 ( l + 1 ) = C k | k - 1 - W k ( l ) · P k | k - 1 zz , ( l ) · ( W k ( l ) ) T
设置迭代终止条件,l=Lmax,Lmax为迭代最大次数,是预先设置的固定常量,当迭代终止时,各数据实现更新:
6.一种机器人同步定位与地图创建装置,其特征在于,包括:
第一确定模块,用于根据外部传感器采集的外部环境信息,得到观测信息数据集;
第二确定模块,用于根据当前时刻的后验概率分布和下一时刻的运动控制信息,得到下一时刻的先验概率分布;
第一更新模块,用于根据所述下一时刻的先验概率分布和所述观测信息数据集更新后验概率分布;
第二更新模块,用于根据更新后的后验概率分布更新当前时刻地图特征信息并更新当前时刻机器人控制信息。
7.根据权利要求6所述的装置,其特征在于,还包括:第一建模模块,用于建立机器人运动模型;
建立所述机器人运动模型应用的机器人运动方程为:
m k = m x , k m y , k m θ , k = m x , k - 1 + T · v k · cos ( m θ , k - 1 + α k ) m y , k - 1 + T · v k · sin ( m θ , k - 1 + α k ) m θ , k - 1 + T · v k · sin ( α k ) L
其中,mk表示机器人位姿,T表示系统内部采样间隔,vk表示机器人行进速度,αk表示转角,L表示轮距,mk表示K时刻机器人的位姿,mk包括机器人K时刻X方向上的位移(mx,k),K时刻Y方向上的位移(my,k),K时刻角度位移(mθ,k),相应的参数如mx,k-1表示为机器人K-1时刻X方向上的位移,αk为机器人转角。
8.根据权利要求6或7所述的装置,其特征在于,还包括:第二建模模块,用于建立观测模型;
建立所述观测模型应用的机器人观测方程为:
z k = l k β k = ( m x , i - m x , k ) 2 + ( m y , i - m y , k ) 2 arctan ( m y , i - m y , k m x , i - m x , k ) - m θ , k
其中,lk表示机器人与观测到地图特征点的距离,βk表示机器人与观测到地图特征点的夹角,(mx,i,my,i)为机器人观测到的地图特征点i的位置,zk表示机器人相对于观测到的地图特征点的位置。
9.根据权利要求8所述的装置,其特征在于,所述第二确定模块具体用于:
确定采样容积点集,其中各容积点包含了机器人的运动信息,控制信息,和地图特征信息;其数学表达式为:其中,由数学公式 S k - 1 A = S k - 1 u k , L k - 1 A = L k - 1 0 0 Q k 处理而来,其中机器人状态信息Sk-1和运动信息uk要增广为高斯噪声变量,ξi表示为互相正交的完全对称容积点集,表示为其中ξi存在2(ns+nu)列, ξ i = n s + n u { 1 0 . . . 0 0 1 . . . 0 , . . . , 0 . . . 1 0 , 0 . . . 0 1 , . . . , - 1 0 . . . 0 0 - 1 . . . 0 , . . . , 0 . . . - 1 0 0 . . . 0 - 1 } ;
将采样的容积点通过非线性模型传递,得到随机变量的统计数据,进而得到下一时刻关于每个容积点的机器人运动信息、控制信息和地图特征信息的先验估计;
通过容积变换,将每个容积点的先验估计进行拟合,得到下一时刻运动控制信息的先验概率分布,并且对产生的协方差误差矩阵做QR分解处理,得到平方根因子用于下一步传递,其中容积变换公式为:
I = ∫ f ( y ) N ( y ; μ , Σ ) dy ≈ 1 2 n y Σf ( Σ ξ i + μ ) ;
协方差误差矩阵为:
A k | k - 1 = 1 2 ( n s + n u ) x k | k - 1 1 - S k | k - 1 x k | k - 1 2 - S k | k - 1 . . . x k | k - 1 2 ( n s + n u ) - S k | k - 1 ;
QR分解为:[Q R]=qr(Ak|k-1 T),Ck|k-1=RT
10.根据权利要求9所述的装置,其特征在于,所述第一更新模块具体用于:
通过所述观测模型建立新的容积点集,任意一个容积点迭代初始值分别为Sk|k-1和Ck|k-1,第l次迭代机器人位姿信息和平方根因子分别为由数学公式:得到更新的容积点集;
根据所述下一时刻运动控制信息的先验估计和根据所述观测模型得到的观测数据,得到下一时刻机器人运动信息的后验估计;经由所述观测方程,容积点传递后得到的容积点观测信息拟合各容积点信息: z ‾ k | k - 1 i , ( l ) = 1 2 n s Σ j = 1 2 n s z k | k - 1 i , j , ( l ) ;
QR分解新的协方差误差矩阵 Q R = qr ( B k | k - 1 i , ( l ) R k T ) , P k | k - 1 zz , ( l ) = R T ;
新的协方差矩阵由:
B k | k - 1 i , ( l ) = 1 2 n s z k | k - 1 1 - z ‾ k | k - 1 i , ( l ) z k | k - 1 2 - z ‾ k | k - 1 i , ( l ) . . . z k | k - 1 2 ( n s + n u ) - z ‾ k | k - 1 i , ( l ) 可得;
P k | k - 1 zz , ( l ) = R T , P k | k - 1 xz , ( l ) = A k | k - 1 ( l ) B k | k - 1 ( l ) T
进一步求得卡尔曼增益: W k ( l ) = P k | k - 1 xz , ( l ) · ( P k | k - 1 zz , ( l ) T · P k | k - 1 zz , ( l ) ) - 1 ;
计算下一时刻平方根因子,用于递增更新,迭代l+1次时机器人位姿信息和平方根因子
S k | k - 1 ( l + 1 ) = S k | k - 1 + W k ( l ) [ z k - h ( S k | k - 1 ( l ) ) - P k | k - 1 xz , ( l ) T · B k | k - 1 i , ( l ) - 1 ( S k | k - 1 - S k | k - 1 ( l ) ) ]
C k | k - 1 ( l + 1 ) = C k | k - 1 - W k ( l ) · P k | k - 1 zz , ( l ) · ( W k ( l ) ) T
设置迭代终止条件,l=Lmax,Lmax为迭代最大次数,是预先设置的固定常量,当迭代终止时,各数据实现更新:
CN201510206216.8A 2015-04-27 2015-04-27 机器人同步定位与地图创建方法及装置 Active CN104807465B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510206216.8A CN104807465B (zh) 2015-04-27 2015-04-27 机器人同步定位与地图创建方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510206216.8A CN104807465B (zh) 2015-04-27 2015-04-27 机器人同步定位与地图创建方法及装置

Publications (2)

Publication Number Publication Date
CN104807465A true CN104807465A (zh) 2015-07-29
CN104807465B CN104807465B (zh) 2018-03-13

Family

ID=53692506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510206216.8A Active CN104807465B (zh) 2015-04-27 2015-04-27 机器人同步定位与地图创建方法及装置

Country Status (1)

Country Link
CN (1) CN104807465B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105651284A (zh) * 2015-12-29 2016-06-08 福州华鹰重工机械有限公司 提高经验导航中节点选择效率的方法及装置
CN108613679A (zh) * 2018-06-14 2018-10-02 河北工业大学 一种移动机器人扩展卡尔曼滤波同步定位与地图构建方法
CN111837084A (zh) * 2018-03-15 2020-10-27 索尼公司 控制装置、控制方法和程序
CN113112565A (zh) * 2021-04-08 2021-07-13 安徽工程大学 一种基于机器人视觉闭环检测算法的地图构建方法、存储介质及设备
WO2022036792A1 (zh) * 2020-08-21 2022-02-24 苏州三六零机器人科技有限公司 多数据源的slam方法、设备及计算机可读存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093503A (zh) * 2006-06-20 2007-12-26 三星电子株式会社 在移动机器人中建立网格地图的方法、设备和介质
CN101183266A (zh) * 2006-11-16 2008-05-21 三星电子株式会社 使用粒子滤波器估算移动机器人姿态的方法、设备和介质
CN102034030A (zh) * 2010-12-28 2011-04-27 杭州电子科技大学 一种多机器人系统合作定位危险气味源方法
CN102136088A (zh) * 2011-03-10 2011-07-27 哈尔滨工程大学 一种基于模糊逻辑的同步定位与地图创建数据关联方法
CN102402225A (zh) * 2011-11-23 2012-04-04 中国科学院自动化研究所 一种实现移动机器人同时定位与地图构建的方法
CN102496184A (zh) * 2011-12-12 2012-06-13 南京大学 一种基于贝叶斯和面元模型的增量三维重建方法
CN102706341A (zh) * 2011-03-28 2012-10-03 江苏久祥汽车电器集团有限公司 环境模块与自主导航技术
CN102706342A (zh) * 2012-05-31 2012-10-03 重庆邮电大学 一种智能移动机器人的定位与环境建模方法
CN103383776A (zh) * 2013-07-14 2013-11-06 浙江大学 一种基于分段匹配和贝叶斯估计的递进式立体匹配算法
US20140005933A1 (en) * 2011-09-30 2014-01-02 Evolution Robotics, Inc. Adaptive Mapping with Spatial Summaries of Sensor Data
US20140350839A1 (en) * 2013-05-23 2014-11-27 Irobot Corporation Simultaneous Localization And Mapping For A Mobile Robot
CN104236551A (zh) * 2014-09-28 2014-12-24 北京信息科技大学 一种蛇形机器人基于激光测距仪的地图创建方法
CN104330090A (zh) * 2014-10-23 2015-02-04 北京化工大学 机器人分布式表征智能语义地图创建方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093503A (zh) * 2006-06-20 2007-12-26 三星电子株式会社 在移动机器人中建立网格地图的方法、设备和介质
CN101183266A (zh) * 2006-11-16 2008-05-21 三星电子株式会社 使用粒子滤波器估算移动机器人姿态的方法、设备和介质
CN102034030A (zh) * 2010-12-28 2011-04-27 杭州电子科技大学 一种多机器人系统合作定位危险气味源方法
CN102136088A (zh) * 2011-03-10 2011-07-27 哈尔滨工程大学 一种基于模糊逻辑的同步定位与地图创建数据关联方法
CN102706341A (zh) * 2011-03-28 2012-10-03 江苏久祥汽车电器集团有限公司 环境模块与自主导航技术
US20140005933A1 (en) * 2011-09-30 2014-01-02 Evolution Robotics, Inc. Adaptive Mapping with Spatial Summaries of Sensor Data
CN102402225A (zh) * 2011-11-23 2012-04-04 中国科学院自动化研究所 一种实现移动机器人同时定位与地图构建的方法
CN102496184A (zh) * 2011-12-12 2012-06-13 南京大学 一种基于贝叶斯和面元模型的增量三维重建方法
CN102706342A (zh) * 2012-05-31 2012-10-03 重庆邮电大学 一种智能移动机器人的定位与环境建模方法
US20140350839A1 (en) * 2013-05-23 2014-11-27 Irobot Corporation Simultaneous Localization And Mapping For A Mobile Robot
CN103383776A (zh) * 2013-07-14 2013-11-06 浙江大学 一种基于分段匹配和贝叶斯估计的递进式立体匹配算法
CN104236551A (zh) * 2014-09-28 2014-12-24 北京信息科技大学 一种蛇形机器人基于激光测距仪的地图创建方法
CN104330090A (zh) * 2014-10-23 2015-02-04 北京化工大学 机器人分布式表征智能语义地图创建方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘少刚等: "基于直线特征匹配搜救机器人的同步定位与地图构建", 《吉林大学学报(工学版)》 *
孟旭炯等: "视觉同步定位与地图重建——基于先验信息的SIFT匹配算法", 《控制与决策》 *
弋英民等: "位置观测噪声时机器人同步定位与地图构建", 《控制理论与应用》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105651284A (zh) * 2015-12-29 2016-06-08 福州华鹰重工机械有限公司 提高经验导航中节点选择效率的方法及装置
CN105651284B (zh) * 2015-12-29 2017-06-20 福州华鹰重工机械有限公司 提高经验导航中节点选择效率的方法及装置
CN111837084A (zh) * 2018-03-15 2020-10-27 索尼公司 控制装置、控制方法和程序
CN108613679A (zh) * 2018-06-14 2018-10-02 河北工业大学 一种移动机器人扩展卡尔曼滤波同步定位与地图构建方法
CN108613679B (zh) * 2018-06-14 2020-06-16 河北工业大学 一种移动机器人扩展卡尔曼滤波同步定位与地图构建方法
WO2022036792A1 (zh) * 2020-08-21 2022-02-24 苏州三六零机器人科技有限公司 多数据源的slam方法、设备及计算机可读存储介质
CN113112565A (zh) * 2021-04-08 2021-07-13 安徽工程大学 一种基于机器人视觉闭环检测算法的地图构建方法、存储介质及设备

Also Published As

Publication number Publication date
CN104807465B (zh) 2018-03-13

Similar Documents

Publication Publication Date Title
CN104807465A (zh) 机器人同步定位与地图创建方法及装置
Jiancheng et al. Study on innovation adaptive EKF for in-flight alignment of airborne POS
CN104075715B (zh) 一种结合地形和环境特征的水下导航定位方法
CN103900574B (zh) 一种基于迭代容积卡尔曼滤波姿态估计方法
CN102620886B (zh) 两步在轨辨识组合航天器转动惯量估计方法
CN106772524B (zh) 一种基于秩滤波的农业机器人组合导航信息融合方法
CN102706342A (zh) 一种智能移动机器人的定位与环境建模方法
CN103878770B (zh) 基于速度估计的空间机器人视觉时延误差补偿方法
CN108387236B (zh) 一种基于扩展卡尔曼滤波的偏振光slam方法
CN101982732A (zh) 一种基于esoqpf和ukf主从滤波的微小卫星姿态确定方法
CN108362288B (zh) 一种基于无迹卡尔曼滤波的偏振光slam方法
CN105486312A (zh) 一种星敏感器与高频角位移传感器组合定姿方法及系统
CN103914068A (zh) 一种基于栅格地图的服务机器人自主导航方法
CN111536967A (zh) 一种基于ekf的多传感器融合温室巡检机器人跟踪方法
CN110986939A (zh) 一种基于imu预积分的视觉惯性里程计方法
CN104330083A (zh) 基于平方根无迹卡尔曼滤波的多机器人协同定位算法
CN106597017A (zh) 一种基于扩展卡尔曼滤波的无人机角加速度估计方法及装置
CN103065037B (zh) 非线性系统基于分散式容积信息滤波的目标跟踪方法
CN103471595A (zh) 一种面向ins/wsn室内移动机器人紧组合导航的迭代扩展rts均值滤波方法
CN102980580A (zh) 基于张量积多胞鲁棒h2滤波的无陀螺卫星姿态确定方法
CN105222780A (zh) 一种基于Stirling插值多项式逼近的椭球集员滤波方法
CN107743299A (zh) 面向无人机机载移动传感器网络的一致性信息滤波算法
CN111623771A (zh) 一种基于光强的偏振惯导紧组合导航方法
CN102314690A (zh) 机械臂运动学参数分离辨识方法
CN110275193A (zh) 一种基于因子图的集群卫星协同导航方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant