CN104240297A - 一种救援机器人三维环境地图实时构建方法 - Google Patents
一种救援机器人三维环境地图实时构建方法 Download PDFInfo
- Publication number
- CN104240297A CN104240297A CN201410444634.6A CN201410444634A CN104240297A CN 104240297 A CN104240297 A CN 104240297A CN 201410444634 A CN201410444634 A CN 201410444634A CN 104240297 A CN104240297 A CN 104240297A
- Authority
- CN
- China
- Prior art keywords
- point
- angle
- rgb image
- transformation matrix
- unique point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
一种救援机器人三维环境地图构建方法,该方法采用高效的加速鲁棒特性SURF算法进行特征点的识别和匹配;其次提出了区间分析法,生成粗匹配的位姿变换矩阵,该方法有较好的鲁棒性,在给定一组约束条件下可以包括所有可能的值;为了克服ICP算法可能使得迭代过程无法收敛到全局最优解的缺点,提出了一种改进的最近点选取方法:对点云A中的测点,求出另一点云B中与其最近的3个点,组成一个平面,该平面的经过测点的法向量与该平面的交点作为最近点,较好地提高了算法的精度。另外,采用惯性测量单元IMU和里程计数据与位姿变换矩阵融合的方法,使得算法有更好的鲁棒性,在特征点匹配不成功或者环境动态变化的情况下也能做到准确的定位。
Description
技术领域
本发明涉及基于救援机器人领域的三维重构方法,为三维地图构建提供解决方案,为灾难环境中的救援提供可视化的依据。
背景技术
在机器人研究领域,对未知环境的探索与建立一直以来是一个研究热点。三维环境地图的构建为机器人在未知环境下的探索和搜救工作提供了直观的依据。
文献“RGB-D mapping:Using depth camera for dense3D modeling of indoor environnments,12thISER.2010,20:p22-25”公开了一种基于RGB-D传感器的三维重建方法,该方法也是目前使用最普遍的算法。该方法采用SIFT算法进行特征点的提取和匹配,再经过RANSAC算法剔除误匹配的点对,得到粗匹配的姿态转移矩阵,最后由ICP算法完成点云的拼接以优化初始位置。该算法采用的SIFT算法效率不高,时间复杂度大;ICP算法要求两个配对点云之间有包含关系,否则影响ICP算法的收敛结果,另外ICP算法的迭代精度与两个数据点集的初始相对位置密切相关,要求两组点云之间具有比较相近的初始位置;该算法适合在静态的环境中使用,在动态变化的环境中特征点的匹配效果较差。针对该三维重构算法存在的问题,本专利提出了一些自己的解决方法。
发明内容
鉴于背景技术存在的不足,本发明要解决的问题是提供一种能够提高精度和鲁棒性的救援机器人三维环境地图实时构建方法。
一种救援机器人三维环境地图实时构建方法,其特征在于包括以下步骤:
步骤一:从救援机器人的体感传感器上获取RGB图像,采用加速鲁棒特性算法(SURF)算法提取前后两个周期的RGB图像的特征点并提取相互匹配的特征点对p(X,Y,Z)和p'(X',Y',Z'),
步骤二:利用区间分析法得到位姿变换矩阵从而初步估计机器人的位姿,
将位姿变换矩阵定义为T=(Rt),R是旋转变换矩阵且是正交矩阵,t是平移矢量,对任一对匹配点,满足
其中Xi,Yi,Zi是前一周期RGB图像中的第i个特征点所在空间中的三维坐标,Xj,Yj,Zj是与特征点(Xi,Yi,Zi)相匹配的当前周期RGB图像中的第j个特征点的三维坐标,
定义旋转变换矩阵为:
其中φ,θ,是遵守左手法则的三个欧拉角,φ,θ,分别对应横滚角roll,俯仰角pitch,偏航角yaw,
定义平移矢量
其中,tx,ty,tz分别对应三维空间中x轴、y轴、z轴方向的位移,
把(2)、(3)代入(1)得到三个方程:
从步骤一得到的相互匹配的特征点对中选取3个不在一条直线上的相互匹配的特征点对即:
p1(X1,Y1,Z1)与p1'(X'1,Y1',Z'1)、p2(X2,Y2,Z2)与p'2(X'2,Y2',Z'2)及p3(X3,Y3,Z3)与p'3(X'3,Y3',Z'3),其中X1,Y1,Z1是前一周期RGB图像中的特征点p1的三维坐标值,X2,Y2,Z2是前一周期RGB图像中的特征点p2的三维坐标值,X3,Y3,Z3是前一周期RGB图像中的特征点p3的三维坐标值,X'1,Y1',Z'1是当前周期RGB图像中的特征点p1'的三维坐标值,X'2,Y2',Z'2是当前周期RGB图像中的特征点p'2的三维坐标值,X'3,Y3',Z'3是当前周期RGB图像中的特征点p'3的三维坐标值,
再将3个相互匹配的特征点对代入公式(4)并用区间分析法得到6个变量φ,θ,,tx,ty,tz闭区间解集,其中φ,θ,分别对应横滚角roll,俯仰角pitch,偏航角yaw,tx,ty,tz分别对应三维空间中x轴、y轴、z轴方向的位移,以此作为粗匹配的位姿变换矩阵,再把粗匹配的位姿变换矩阵和来自救援机器人上的惯性测量单元IMU的横滚角roll,俯仰角pitch,偏航角yaw三个数据进行融合,生成新的位姿变换矩阵,如果通过区间分析法得到的闭区间解集为空集,则从救援机器人上的惯性测量单元IMU获取横滚角roll、俯仰角pitch及偏航角yaw,并分别以横滚角roll、俯仰角pitch及偏航角yaw作为粗匹配的位姿变换矩阵中的三个欧拉角φ、θ、从救援机器人上的里程计获取x轴方向的位移dx、y轴方向的位移dy、z轴方向的位移dz作为粗匹配的位姿变换矩阵中的三个位移tx,ty,tz,生成位姿变换矩阵,
所述融合的方法如下:
将惯性测量单元IMU的横滚角roll、俯仰角pitch及偏航角yaw三个数据与粗匹配的位姿变换矩阵中的三个欧拉角φ、θ及分别进行差值运算,如果:
(1)所有差值都小于5度,则分别以两者的中值作为新的位姿变换矩阵中的三个变量φ、θ、的值,
(2)有差值在5~10度之间时,则分别以25%的惯性测量单元IMU的角度与75%的位姿变换矩阵中的对应角度之和作为新的位姿变换矩阵中的三个变量φ、θ、的值,
(3)所有差值都大于10度,则以惯性测量单元IMU的横滚角roll、俯仰角pitch及偏航角yaw和里程计的x轴方向位移dx、y轴方向位移dy、z轴方向位移dz作为新的位姿变换矩阵中的六个变量φ、θ、tx、ty、tz的值;
所述的区间分析法为:
i.从步骤一得到的相互匹配的特征点对中任选三个点对即p1(X1,Y1,Z1)与p1'(X'1,Y1',Z'1)、p2(X2,Y2,Z2)与p'2(X'2,Y2',Z'2)及p3(X3,Y3,Z3)与p'3(X'3,Y3',Z'3),其中X1,Y1,Z1是前一周期RGB图像中的特征点p1的三维坐标值,X2,Y2,Z2是前一周期RGB图像中的特征点p2的三维坐标值,X3,Y3,Z3是前一周期RGB图像中的特征点p3的三维坐标值,X'1,Y1',Z'1是当前周期RGB图像中的特征点p1'的三维坐标值,X'2,Y2',Z'2是当前周期RGB图像中的特征点p'2的三维坐标值,X'3,Y3',Z'3是当前周期RGB图像中的特征点p'3的三维坐标值
ii.用向量外积法判断三点p1,p2,p3是否共线,若三点共线,则返回步骤i,直到选取的三个特征点p1,p2,p3不共线,进行步骤iii
iii.设定六个变量φ、θ、tx、ty、tz的初始区间:φ=[-3.14,3.14],θ=[-3.14,3.14],tx=[-10,10],ty=[-10,10],tz=[-10,10]
iv.先后把三个点对p1(X1,Y1,Z1)与p1'(X'1,Y1',Z'1)、p2(X2,Y2,Z2)与p'2(X'2,Y2',Z'2)及p3(X3,Y3,Z3)与p'3(X'3,Y3',Z'3)的坐标代入(4),得到9个方程,即9个约束条件
v.把六个变量φ、θ、tx、ty、tz的区间依次代入9个约束条件中,通过区间运算,得到缩小的闭区间解集:φ=[φ1,φ2]、θ=[θ1,θ2]、tx=[tx1,tx2]、ty=[ty1,ty2]、tz=[tz1,tz2],其中φ1,φ2,θ1,θ2,tx1,tx2,ty1,ty2,tz1,tz2分别是所属区间的上下限,若有一个区间为空,则回到步骤i,重复以上步骤,否则运算结束,取对应区间的中间值为相应变量的值,即
tx=(tx1+tx2)/2,ty=(ty1+ty2)/2,tz=(tz1+tz2)/2,
以此作为粗匹配的位姿变换矩阵
步骤三:从救援机器人的体感传感器上获取与步骤一中前后两个周期的RGB图像所对应的前后两个周期的点云数据,采用改进的迭代最近点ICP算法对采集的点云中的点进行精确配准,对机器人的位姿进行优化,得到拼接的三维点云图,改进的迭代最近点ICP算法如下:设有第一三维点集W={w1,w2,...,wn}和第二三维点集Q={q1,q2,...ql},其中n和l是分别两个点集中点的个数,且第一三维点集W由前一周期点云中的点构成,第二三维点集Q由当前周期点云中的点构成,
i.根据精度要求设定表示拼接准确度的阈值E0,
ii.从第一三维点集W中的任选一点wm∈W,在第二三维点集Q中,找出与所选点wm距离最近的3个点qk1,qk2,qk3,并由qk1,qk2,qk3形成一个平面,把所述平面中经过所选点wm的法向量和该平面的交点记为qk,并将所选点wm与交点qk作为最近点对,遍历三维点集W中的所有点,得到最近点对云,将得到的第二三维点集中的最近点组成第三三维点集U={u1,u2,...un},
iii.对步骤ii中所有最近点对进行最小二乘法迭代计算,利用四元素法计算出三维空间变换R',T'
iv.利用R',T'对W进行变换,得到第四三维点集W1,W1=R'W+T',并计算均方误差E,其中ua和wb分别是点集U和点集W中的所匹配的最近点,
v.判断步骤iv中的误差值E是否小于设定的阈值E0,若小于,则停止迭代,否则W=W1,并返回步骤ii,直到误差E小于阈值E0为止,
步骤四:绘制点云,更新全局地图,回到步骤一,继续上述过程,直到全局地图生成完成。
附图说明
图1是本发明中三维环境地图构建方法的流程图。
图2是本发明中区间分析法的流程图。
图3是本发明中改进的迭代最近点ICP算法流程图。
具体实施方式
如图1所示,是本发明三维环境地图构建方法的流程图。
步骤一:从救援机器人的体感传感器上获取RGB图像,采用加速鲁棒特性(SURF)算法提取前后两个周期的RGB图像的特征点并提取相互匹配的特征点对p(X,Y,Z)和p'(X',Y',Z')。
SURF算法引入尺度不变的特征,即每个检测到的特征点都伴随着对应的尺寸因子。SURF算法与SIFT算法相比,SIFT算法比较稳定,检测特征点更多,但是复杂度较高,而SURF算法运算更简单,效率高,运算时间更短,因此SURF算法是SIFT算法的加强版,效率高的同时又有更好的鲁棒性。
采用加速鲁棒特性SURF算法进行特征点的提取与匹配.特征点的提取通过计算近似的黑森Hessian矩阵的行列式的极值来确定特征点的位置。对于一幅图像I上的每一个像素点x,定义其在x处尺度为σ的黑森矩阵H(x,σ):
然后构建图像I的尺度空间,即图像在不同解析度下的表示。加速鲁棒特性SURF算法通过不同尺寸作为过滤模板和积分图像求取H(x,σ)矩阵行列式的响应图像,然后在响应图像上采用3D非极大值抑制,求取各个不用尺度的斑点。使用3×3×3的模板在三维空间进行非极大值抑制,当行列式的值大于预设的阈值,且比邻近的26个点的相应值都大时,被选为特征点,然后采用三维线性插值法使其更精确。
为了保证特征矢量具有旋转不变性,统计特征点邻域内的Haar小波特征。即以特征点为中心,计算半径为6s(s为特征点所在的尺度值)的邻域内,统计60度扇形内所有点在水平和垂直方向的Haar小波响应总和(Haar小波边长取4s),并给这些响应赋高斯权重系数,靠近特征点的响应权重大,而原理特征点的响应权重小,然后60度范围内的响应相加以形成新的矢量,遍历整个圆形区域,选择最长矢量的方向最为该特征点的主方向。通过对特征点逐个进行计算,得到每一个特征点的主方向。
进行完特征点的提取后进行特征点的匹配,有如下步骤:
1)在计算H矩阵的行列式时,同时计算出矩阵的迹。由于按亮度不同,将特征点分为两种:特征点及其周围小邻域的亮度大于背景区域,H矩阵的迹为正;特征点及其周围小邻域的亮度小于背景区域,H矩阵的迹为负。依次特性,先对两个特征点的H矩阵的迹进行比较:若同号,说明两个特征点具有相同对比度;若异号则说明对比度不同,放弃2)的相似性度量;
2)在1)的基础上对两个特征点描述子的相似性度量,采用欧式距离进行计算,欧式距离定义为:其中Xik表示前一周期RGB图像中第i个特征描述子的第k个元素,Xjk表示当前周期RGB图像中第j个特征描述子的第k个元素,n表示特征向量的维数。
对于当前周期RGB图像上的特征点,计算其到前一周期RGB图像上所有特征点的欧氏距离,得到一个距离集合。通过对距离集合进行比较得到最小欧式距离和次欧式距离。设定阈值,一般为0.8,当最小欧式距离和次欧式距离的比值小于该阈值时,认为特征点与对应最小欧氏距离的特征点是匹配的,否则,没有点与该特征点相匹配。阈值越小,匹配越稳定,但匹配的特征点对也越少。
步骤二:利用区间分析法得到位姿变换矩阵从而初步估计机器人的位姿。相对于RGBD-slam等三维环境建图算法利用基于概率分布的RANSAC算法,区间分析法在剔除误匹配对的成功率上和RANSAC算法不相上下,经测试在一些情况下数据处理的时间更短,算法效率更高。
首先定义[x]是根据概率分布得到的随机变量x的闭区间,这种表示方式可以表达不精确概率密度函数下的随机变量,对一些不确定条件有较好的鲁棒性,且在给定一组约束的条件下可以包括所有可能的值。
其次定义一种区间运算,把算术运算和方程解法运用到区间上,举例如下:
[-1,3]+[3,7]=[2,10]
[-1,3]·[3,7]=[-7,21]
[-1,3]/[3,7]=[-1/3,1]
cos[0,π]=[-1,1]
区间分析法的思想如下:
例如考虑约束条件:x3=x1+x2,首先定义[x1]=[-∞,2],[x2]=[-∞,3],[x3]=[4,∞]。采用区间分析法得
x3=x1+x2→z∈[4,∞]∩([-∞,2]+[-∞,3])
=[4,∞]∩[-∞,5]=[4,5]
x1=x3-x2→z∈[-∞,2]∩([4,∞]-[-∞,3])
=[-∞,2]∩[1,∞]=[1,2]
x2=x3-x1→z∈[-∞,3]∩([4,∞]+[-∞,2])
=[-∞,3]∩[2,∞]=[2,3]
综上可以得到缩小的的区间x1=[1,2],x2=[2,3],x3=[4,5]。
再如考虑函数f(x)=x1×cos(x2)+exp(x3),令y=f(x)=0,对方程进行分解得到:
[a1]=cos([x2])
[a2]=[x1]*[a1]
[a3]=exp([x3])
[y]=[a2]+[a3]
[y]=[y]∩{0}
其中[a1],[a2],[a3]是定义的中间变量。若[y]是空集,则在该约束下的方程无解,否则[y]={0},由上述方程组逆推得:
[a2]=[a2]∩([y]-[a3])
[a3]=[a3]∩([y]-[a2])
[x3]=[x3]∩log([a3])
[a1]=[a1]∩([a2]/[x1])
[x1]=[x1]∩([a2]/[a1])
[x2]=[x2]∩cos-1([a1])
同理可以得到一个闭区间解集,即缩小的区间
其次将位姿变换矩阵定义为T=(Rt),R是旋转变换矩阵且是正交矩阵,t是平移矢量,对任一对匹配点,满足
其中Xi,Yi,Zi是前一周期RGB图像中的第i个特征点所在空间中的三维坐标,Xj,Yj,Zj是与特征点(Xi,Yi,Zi)相匹配的当前周期RGB图像中的第j个特征点的三维坐标,
定义旋转变换矩阵为:
其中φ,θ,是遵守左手法则的三个欧拉角,φ,θ,分别对应横滚角roll,俯仰角pitch,偏航角yaw,定义平移矢量
其中,tx,ty,tz分别对应三维空间中x轴、y轴、z轴方向的位移,
把(2)、(3)代入(1)得到三个方程:
区间分析法最主要的优点在于当约束方程的个数多于变量的个数时,能快速求解非线性系统的方程。本专利要解决的问题涉及六个未知变量φ,θ,tx,ty,tz,每一对匹配的特征点对都有3个方程。这意味着只需要两对特征点对就能得出六个变量的值,但得到的六个值可能出现较大的误差。因此用区间分析法可以规避这个问题。首先把足够多的点对依次代入方程(4),利用上述区间运算进行求解,对每一点对三个约束条件的求解都能缩小变量的区间,直到达到预期的效果,如φ,θ,三个变量中每一个变量的区间长度都小于0.1rad,tx,ty,tz三个变量中每一个变量的区间长度都小于0.05m。经测试,为了使区间达到这个精度,区间分析法需要的训练样本数量在不同的情况下都不一样,当步骤一匹配误差较大时,可能需要200个数据,计算时间过长,而匹配误差较小时,则只需要4个样本。针对这个问题,提出一种解决方案:从步骤一提取的点对中选取3对不共线且匹配准确的点对,代入(4)得到9个约束方程。经测试,通过对9个约束方程进行区间运算即可得到满足区间长度要求的6个区间,进而得到对应的6个变量的值。
因此,从步骤一得到的相互匹配的特征点对中选取3个不在一条直线上的相互匹配的特征点对即:p1(X1,Y1,Z1)与p1'(X'1,Y1',Z'1)、p2(X2,Y2,Z2)与p'2(X'2,Y2',Z'2)及p3(X3,Y3,Z3)与p'3(X'3,Y3',Z'3),其中X1,Y1,Z1是前一周期RGB图像中的特征点p1的三维坐标值,X2,Y2,Z2是前一周期RGB图像中的特征点p2的三维坐标值,X3,Y3,Z3是前一周期RGB图像中的特征点p3的三维坐标值,X'1,Y1',Z'1是当前周期RGB图像中的特征点p1'的三维坐标值,X'2,Y2',Z'2是当前周期RGB图像中的特征点p'2的三维坐标值,X'3,Y3',Z'3是当前周期RGB图像中的特征点p'3的三维坐标值。
再将3个相互匹配的特征点对代入公式(4)并用区间分析法得到6个变量φ,θ,,tx,ty,tz闭区间解集,以此作为粗匹配的位姿变换矩阵,再把粗匹配的位姿变换矩阵和来自救援机器人上的惯性测量单元IMU的横滚角roll,俯仰角pitch,偏航角yaw三个数据进行融合,生成新的位姿变换矩阵;如果通过区间分析法得到的闭区间解集为空集,或匹配差较大,可能是环境发生了动态的变化,或者两幅RGB图像中特征点较少,例如两幅白墙的图片,无法匹配,不能生成位姿变换矩阵,则采用如下方式:从救援机器人上的惯性测量单元IMU获取横滚角roll、俯仰角pitch及偏航角yaw,并分别以横滚角roll、俯仰角pitch及偏航角yaw作为粗匹配的位姿变换矩阵中的三个欧拉角φ、θ、,从救援机器人上的里程计获取x轴方向的位移dx、y轴方向的位移dy、z轴方向的位移dz作为粗匹配的位姿变换矩阵中的三个位移tx,ty,tz,生成位姿变换矩阵。
所述融合的方法如下:
将惯性测量单元IMU的横滚角roll、俯仰角pitch及偏航角yaw三个数据与粗匹配的位姿变换矩阵中的三个欧拉角φ、θ及分别进行差值运算,如果:
(1)所有差值都小于5度,则分别以两者的中值作为新的位姿变换矩阵中的三个变量φ、θ、的值,
(2)有差值在5~10度之间时,则分别以25%的惯性测量单元IMU的角度与75%的位姿变换矩阵中的对应角度之和作为新的位姿变换矩阵中的三个变量φ、θ、的值,
(3)所有差值都大于10度,则以惯性测量单元IMU的横滚角roll、俯仰角pitch及偏航角yaw和里程计的x轴方向位移dx、y轴方向位移dy、z轴方向位移dz作为新的位姿变换矩阵中的六个变量φ、θ、tx、ty、tz的值;
所述的区间分析法为:
i.从步骤一得到的相互匹配的特征点对中任选三个点对即p1(X1,Y1,Z1)与p1'(X'1,Y1',Z'1)、p2(X2,Y2,Z2)与p'2(X'2,Y2',Z'2)及p3(X3,Y3,Z3)与p'3(X'3,Y3',Z'3),其中X1,Y1,Z1是前一周期RGB图像中的特征点p1的三维坐标值,X2,Y2,Z2是前一周期RGB图像中的特征点p2的三维坐标值,X3,Y3,Z3是前一周期RGB图像中的特征点p3的三维坐标值,X'1,Y1',Z'1是当前周期RGB图像中的特征点p1'的三维坐标值,X'2,Y2',Z'2是当前周期RGB图像中的特征点p'2的三维坐标值,X'3,Y3',Z'3是当前周期RGB图像中的特征点p'3的三维坐标值,
ii.用向量外积法判断三点p1,p2,p3是否共线,
点p1,p2构成向量其中a1=X2-X1,a2=Y2-Y1,a3=Z2-Z1,点p1,p3构成向量其中b1=X3-X1,b2=Y3-Y1,b3=Z3-Z1,向量的向量积的模 若|则三点共线,则返回步骤i,直到选取的三个特征点p1,p2,p3不共线,进行步骤iii
iii.设定六个变量φ、θ、tx、ty、tz的初始区间:φ=[-3.14,3.14],θ=[-3.14,3.14],tx=[-10,10],ty=[-10,10],tz=[-10,10]
iv.先后把三个点对p1(X1,Y1,Z1)与p1'(X'1,Y1',Z'1)、p2(X2,Y2,Z2)与p'2(X'2,Y2',Z'2)及p3(X3,Y3,Z3)与p'3(X'3,Y3',Z'3)的坐标代入(4),得到9个方程,即9个约束条件
v.把六个变量φ、θ、tx、ty、tz的区间依次代入9个约束条件中,通过区间运算,得到缩小的闭区间解集:φ=[φ1,φ2]、θ=[θ1,θ2]、tx=[tx1,tx2]、ty=[ty1,ty2]、tz=[tz1,tz2],其中φ1,φ2,θ1,θ2,tx1,tx2,ty1,ty2,tz1,tz2分别是所属区间的上下限,若有一个区间为空,则回到步骤i,重复以上步骤,否则运算结束,取对应区间的中间值为相应变量的值,即
tx=(tx1+tx2)/2,ty=(ty1+ty2)/2,tz=(tz1+tz2)/2,
以此作为粗匹配的位姿变换矩阵。
步骤三:从救援机器人的体感传感器上获取与步骤一中前后两个周期的RGB图像所对应的前后两个周期的点云数据,采用改进的迭代最近点ICP算法对采集的点云中的点进行精确配准,对机器人的位姿进行优化,得到拼接的三维点云图,改进的迭代最近点ICP算法如下:设有第一三维点集W={w1,w2,...,wn}和第二三维点集Q={q1,q2,...ql},其中n和l是分别两个点集中点的个数,且第一三维点集W由前一周期点云中的点构成,第二三维点集Q由当前周期点云中的点构成,
i.根据精度要求设定拼接准确度的阈值E0,E0表示两个点云中的相匹配的点对的平均误差,一般设定E0=0.2mm,
ii.从第一三维点集W中的任选一点wm∈W,在第二三维点集Q中,找出与所选点wm欧式距离最近的3个点qk1,qk2,qk3,并由qk1,qk2,qk3形成一个平面,把所述平面中经过所选点wm的法向量和该平面的交点记为qk,并将所选点wm与交点qk作为最近点对,遍历三维点集W中的所有点,得到最近点对云,将得到的第二三维点集中的最近点组成第三三维点集U={u1,u2,...un},
iii.对步骤ii中所有最近点对进行最小二乘法迭代计算,利用四元数法计算三维空间变换R',T'
设旋转向量为单位四元数 ,其中q0>=0,且q'0 2+q1'2+q'2 2+q'3 2=1,可以得到一个3×3的旋转矩阵R(qr):
再取平移变换矩阵 把三维点集W和U中对应的点对的坐标代入,使得
最小的R',T'就是所求的变换矩阵,其中ua和wb分别是点集U和点集W中的所匹配的最近点。
iv.利用R',T'对W进行变换,得到第四三维点集W1,W1=R'W+T',
v.判断步骤iii中的误差值E是否小于设定的阈值E0,若小于,则停止迭代,否则W=W1,并返回步骤ii,直到误差E小于阈值E0为止,
步骤四:绘制点云,更新全局地图,回到步骤一,继续上述过程,直到全局地图生成完成。
Claims (1)
1.一种救援机器人三维环境地图实时构建方法,其特征在于包括以下步骤:
步骤一:从救援机器人的体感传感器上获取RGB图像,采用加速鲁棒特性(SURF)算法提取前后两个周期的RGB图像的特征点并提取相互匹配的特征点对p(X,Y,Z)和p'(X',Y',Z'),其中X,Y,Z是特征点p的坐标,X',Y',Z'是特征点p'的坐标,
步骤二:利用区间分析法得到位姿变换矩阵从而初步估计机器人的位姿,
将位姿变换矩阵定义为T=(Rt),R是旋转变换矩阵且是正交矩阵,t是平移矢量,对任一对匹配点,满足
其中Xi,Yi,Zi是前一周期RGB图像中的第i个特征点所在空间中的三维坐标,Xj,Yj,Zj是与特征点(Xi,Yi,Zi)相匹配的当前周期RGB图像中的第j个特征点的三维坐标,
定义旋转变换矩阵为:
其中φ,θ,是遵守左手法则的三个欧拉角,φ,θ,分别对应横滚角roll,俯仰角pitch,偏航角yaw,
定义平移矢量
其中,tx,ty,tz分别对应三维空间中x轴、y轴、z轴方向的位移,
把(2)、(3)代入(1)得到三个方程:
从步骤一得到的相互匹配的特征点对中选取3个不在一条直线上的相互匹配的特征点对即:p1(X1,Y1,Z1)与p1'(X'1,Y1',Z'1)、p2(X2,Y2,Z2)与p'2(X'2,Y2',Z'2)及p3(X3,Y3,Z3)与p'3(X'3,Y3',Z'3),其中X1,Y1,Z1是前一周期RGB图像中的特征点p1的三维坐标值,X2,Y2,Z2是前一周期RGB图像中的特征点p2的三维坐标值,X3,Y3,Z3是前一周期RGB图像中的特征点p3的三维坐标值,X'1,Y1',Z'1是当前周期RGB图像中的特征点p1'的三维坐标值,X'2,Y2',Z'2是当前周期RGB图像中的特征点p'2的三维坐标值,X'3,Y3',Z'3是当前周期RGB图像中的特征点p'3的三维坐标值,
再将3个相互匹配的特征点对代入公式(4)并用区间分析法得到6个变量φ,θ,,tx,ty,tz闭区间解集,其中φ,θ,分别对应横滚角roll,俯仰角pitch,偏航角yaw,tx,ty,tz分别对应三维空间中x轴、y轴、z轴方向的位移,以此作为粗匹配的位姿变换矩阵,再把粗匹配的位姿变换矩阵和来自救援机器人上的惯性测量单元IMU的横滚角roll,俯仰角pitch,偏航角yaw三个数据进行融合,生成新的位姿变换矩阵,如果通过区间分析法得到的闭区间解集为空集,则从救援机器人上的惯性测量单元IMU获取横滚角roll、俯仰角pitch及偏航角yaw,并分别以横滚角roll、俯仰角pitch及偏航角yaw作为粗匹配的位姿变换矩阵中的三个欧拉角φ、θ、从救援机器人上的里程计获取x轴方向的位移dx、y轴方向的位移dy、z轴方向的位移dz作为粗匹配的位姿变换矩阵中的三个位移tx,ty,tz,生成位姿变换矩阵,
所述融合的方法如下:
将惯性测量单元IMU的横滚角roll、俯仰角pitch及偏航角yaw三个数据与粗匹配的位姿变换矩阵中的三个欧拉角φ、θ及分别进行差值运算,如果:
(1)所有差值都小于5度,则分别以两者的中值作为新的位姿变换矩阵中的三个变量φ、θ、的值,
(2)有差值在5~10度之间时,则分别以25%的惯性测量单元IMU的角度与75%的位姿变换矩阵中的对应角度之和作为新的位姿变换矩阵中的三个变量φ、θ、的值,
(3)所有差值都大于10度,则以惯性测量单元IMU的横滚角roll、俯仰角pitch及偏航角yaw和里程计的x轴方向位移dx、y轴方向位移dy、z轴方向位移dz作为新的位姿变换矩阵中的六个变量φ、θ、tx、ty、tz的值;
所述的区间分析法为:
i.从步骤一得到的相互匹配的特征点对中任选三个点对即p1(X1,Y1,Z1)与p1'(X'1,Y1',Z'1)、p2(X2,Y2,Z2)与p'2(X'2,Y2',Z'2)及p3(X3,Y3,Z3)与p'3(X'3,Y3',Z'3),其中X1,Y1,Z1是前一周期RGB图像中的特征点p1的三维坐标值,X2,Y2,Z2是前一周期RGB图像中的特征点p2的三维坐标值,X3,Y3,Z3是前一周期RGB图像中的特征点p3的三维坐标值,X'1,Y1',Z'1是当前周期RGB图像中的特征点p1'的三维坐标值,X'2,Y2',Z'2是当前周期RGB图像中的特征点p'2的三维坐标值,X'3,Y3',Z'3是当前周期RGB图像中的特征点p'3的三维坐标值,
ii.用向量外积法判断三点p1,p2,p3是否共线,若三点共线,则返回步骤i,直到选取的三个特征点p1,p2,p3不共线,进行步骤iii,
iii.设定六个变量φ、θ、tx、ty、tz的初始区间:φ=[-3.14,3.14],θ=[-3.14,3.14],tx=[-10,10],ty=[-10,10],tz=[-10,10],
iv.先后把三个点对p1(X1,Y1,Z1)与p1'(X'1,Y1',Z'1)、p2(X2,Y2,Z2)与p'2(X'2,Y2',Z'2)及p3(X3,Y3,Z3)与p'3(X'3,Y3',Z'3)的坐标代入(4),得到9个方程,即9个约束条件,
v.把六个变量φ、θ、tx、ty、tz的区间依次代入9个约束条件中,通过区间运算,得到缩小的闭区间解集:
φ=[φ1,φ2]、θ=[θ1,θ2]、tx=[tx1,tx2]、ty=[ty1,ty2]、tz=[tz1,tz2],其中φ1,φ2,θ1,θ2,tx1,tx2,ty1,ty2,tz1,tz2分别是所属区间的上下限,若有一个区间为空,则回到步骤i,重复以上步骤,否则运算结束,取对应区间的中间值为相应变量的值,即
tx=(tx1+tx2)/2,ty=(ty1+ty2)/2,tz=(tz1+tz2)/2,
以此作为粗匹配的位姿变换矩阵,
步骤三:从救援机器人的体感传感器上获取与步骤一中前后两个周期的RGB图像所对应的前后两个周期的点云数据,采用改进的迭代最近点ICP算法对采集的点云中的点进行精确配准,对机器人的位姿进行优化,得到拼接的三维点云图,改进的迭代最近点ICP算法如下:设有第一三维点集W={w1,w2,...,wn}和第二三维点集Q={q1,q2,...ql},其中n和l是分别两个点集中点的个数,且第一三维点集W由前一周期点云中的点构成,第二三维点集Q由当前周期点云中的点构成,
i.根据精度要求设定表示拼接准确度的阈值E0,
ii.从第一三维点集W中的任选一点wm∈W,在第二三维点集Q中,找出与所选点wm距离最近的3个点qk1,qk2,qk3,并由qk1,qk2,qk3形成一个平面,把所述平面中经过所选点wm的法向量和该平面的交点记为qk,并将所选点wm与交点qk作为最近点对,遍历三维点集W中的所有点,得到最近点对云,将得到的第二三维点集中的最近点组成第三三维点集U={u1,u2,...un},
iii.对步骤ii中所有最近点对进行最小二乘法迭代计算,利用四元数法计算出三维空间变换R,T
iv.利用R',T'对W进行变换,得到第四三维点集W1,W1=R'W+T',并计算均方误差E,其中ua和wb分别是点集U和点集W中的所匹配的最近点,
v.判断步骤iv中的误差值E是否小于设定的阈值E0,若小于,则停止迭代,否则W=W1,并返回步骤ii,直到误差E小于阈值E0为止,
步骤五:绘制点云,更新全局地图,回到步骤一,继续上述过程,直到全局地图生成完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410444634.6A CN104240297A (zh) | 2014-09-02 | 2014-09-02 | 一种救援机器人三维环境地图实时构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410444634.6A CN104240297A (zh) | 2014-09-02 | 2014-09-02 | 一种救援机器人三维环境地图实时构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104240297A true CN104240297A (zh) | 2014-12-24 |
Family
ID=52228298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410444634.6A Pending CN104240297A (zh) | 2014-09-02 | 2014-09-02 | 一种救援机器人三维环境地图实时构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104240297A (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104680520A (zh) * | 2015-02-06 | 2015-06-03 | 周晓辉 | 一种现场三维信息勘验方法及系统 |
CN104851094A (zh) * | 2015-05-14 | 2015-08-19 | 西安电子科技大学 | 一种基于rgb-d的slam算法的改进方法 |
CN104933704A (zh) * | 2015-05-28 | 2015-09-23 | 西安算筹信息科技有限公司 | 一种三维立体扫描方法及系统 |
CN106056664A (zh) * | 2016-05-23 | 2016-10-26 | 武汉盈力科技有限公司 | 一种基于惯性和深度视觉的实时三维场景重构系统及方法 |
CN106408654A (zh) * | 2016-09-07 | 2017-02-15 | 武汉工程大学 | 一种三维地图的创建方法及系统 |
CN106570903A (zh) * | 2016-10-13 | 2017-04-19 | 华南理工大学 | 一种基于rgb‑d摄像头的视觉识别与定位方法 |
CN106705965A (zh) * | 2017-01-12 | 2017-05-24 | 苏州中德睿博智能科技有限公司 | 场景三维数据配准方法及导航系统误差校正方法 |
CN106815852A (zh) * | 2016-12-24 | 2017-06-09 | 辽宁师范大学 | 基于四元数极谐变换的彩色图像取证方法 |
CN106908052A (zh) * | 2017-02-09 | 2017-06-30 | 北京光年无限科技有限公司 | 用于智能机器人的路径规划方法及装置 |
CN107741234A (zh) * | 2017-10-11 | 2018-02-27 | 深圳勇艺达机器人有限公司 | 一种基于视觉的离线地图构建及定位方法 |
CN108460820A (zh) * | 2018-01-29 | 2018-08-28 | 北京理工大学 | 基于图像反馈的微型移动设备控制装置和方法 |
CN109087338A (zh) * | 2017-06-13 | 2018-12-25 | 北京图森未来科技有限公司 | 一种图像稀疏光流的提取方法和装置 |
CN109147374A (zh) * | 2017-06-15 | 2019-01-04 | 深圳市金溢科技股份有限公司 | 停车场管理方法、系统、车载单元及后台服务器 |
CN109211236A (zh) * | 2017-06-30 | 2019-01-15 | 沈阳新松机器人自动化股份有限公司 | 导航定位方法、装置及机器人 |
CN109903330A (zh) * | 2018-09-30 | 2019-06-18 | 华为技术有限公司 | 一种处理数据的方法和装置 |
CN110009681A (zh) * | 2019-03-25 | 2019-07-12 | 中国计量大学 | 一种基于imu辅助的单目视觉里程计位姿处理方法 |
CN110163963A (zh) * | 2019-04-12 | 2019-08-23 | 南京华捷艾米软件科技有限公司 | 一种基于slam的建图装置和建图方法 |
CN110580740A (zh) * | 2019-08-27 | 2019-12-17 | 清华大学 | 多智能体协同三维建模方法及装置 |
CN111024100A (zh) * | 2019-12-20 | 2020-04-17 | 深圳市优必选科技股份有限公司 | 一种导航地图更新方法、装置、可读存储介质及机器人 |
CN111263960A (zh) * | 2018-01-15 | 2020-06-09 | Sk电信有限公司 | 更新用于自主驾驶的高清晰度地图的设备和方法 |
CN111784835A (zh) * | 2020-06-28 | 2020-10-16 | 北京百度网讯科技有限公司 | 制图方法、装置、电子设备及可读存储介质 |
CN111950370A (zh) * | 2020-07-10 | 2020-11-17 | 重庆邮电大学 | 动态环境下线拓展视觉里程计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100172571A1 (en) * | 2009-01-06 | 2010-07-08 | Samsung Electronics Co., Ltd. | Robot and control method thereof |
CN102435188A (zh) * | 2011-09-15 | 2012-05-02 | 南京航空航天大学 | 一种用于室内环境的单目视觉/惯性全自主导航方法 |
CN103413352A (zh) * | 2013-07-29 | 2013-11-27 | 西北工业大学 | 基于rgbd多传感器融合的场景三维重建方法 |
CN103900583A (zh) * | 2012-12-25 | 2014-07-02 | 联想(北京)有限公司 | 用于即时定位与地图构建的设备和方法 |
-
2014
- 2014-09-02 CN CN201410444634.6A patent/CN104240297A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100172571A1 (en) * | 2009-01-06 | 2010-07-08 | Samsung Electronics Co., Ltd. | Robot and control method thereof |
CN102435188A (zh) * | 2011-09-15 | 2012-05-02 | 南京航空航天大学 | 一种用于室内环境的单目视觉/惯性全自主导航方法 |
CN103900583A (zh) * | 2012-12-25 | 2014-07-02 | 联想(北京)有限公司 | 用于即时定位与地图构建的设备和方法 |
CN103413352A (zh) * | 2013-07-29 | 2013-11-27 | 西北工业大学 | 基于rgbd多传感器融合的场景三维重建方法 |
Non-Patent Citations (3)
Title |
---|
刘俊: "非平整地面移动机器人平台位姿估计与控制研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
杨鸿 等: "基于Kinect传感器的移动机器人室内环境三维地图创建", 《东南大学学报(自然科学版)》 * |
钟莹 等: "基于改进ICP算法的点云自动配准技术", 《控制工程》 * |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104680520B (zh) * | 2015-02-06 | 2018-08-14 | 清远初曲智能科技有限公司 | 一种现场三维信息勘验方法及系统 |
CN104680520A (zh) * | 2015-02-06 | 2015-06-03 | 周晓辉 | 一种现场三维信息勘验方法及系统 |
CN104851094A (zh) * | 2015-05-14 | 2015-08-19 | 西安电子科技大学 | 一种基于rgb-d的slam算法的改进方法 |
CN104933704A (zh) * | 2015-05-28 | 2015-09-23 | 西安算筹信息科技有限公司 | 一种三维立体扫描方法及系统 |
CN104933704B (zh) * | 2015-05-28 | 2019-06-04 | 算筹信息科技有限公司 | 一种三维立体扫描方法及系统 |
CN106056664B (zh) * | 2016-05-23 | 2018-09-21 | 武汉盈力科技有限公司 | 一种基于惯性和深度视觉的实时三维场景重构系统及方法 |
CN106056664A (zh) * | 2016-05-23 | 2016-10-26 | 武汉盈力科技有限公司 | 一种基于惯性和深度视觉的实时三维场景重构系统及方法 |
CN106408654B (zh) * | 2016-09-07 | 2019-05-03 | 武汉工程大学 | 一种三维地图的创建方法及系统 |
CN106408654A (zh) * | 2016-09-07 | 2017-02-15 | 武汉工程大学 | 一种三维地图的创建方法及系统 |
CN106570903A (zh) * | 2016-10-13 | 2017-04-19 | 华南理工大学 | 一种基于rgb‑d摄像头的视觉识别与定位方法 |
CN106815852A (zh) * | 2016-12-24 | 2017-06-09 | 辽宁师范大学 | 基于四元数极谐变换的彩色图像取证方法 |
CN106815852B (zh) * | 2016-12-24 | 2019-08-27 | 辽宁师范大学 | 基于四元数极谐变换的彩色图像取证方法 |
CN106705965A (zh) * | 2017-01-12 | 2017-05-24 | 苏州中德睿博智能科技有限公司 | 场景三维数据配准方法及导航系统误差校正方法 |
CN106908052A (zh) * | 2017-02-09 | 2017-06-30 | 北京光年无限科技有限公司 | 用于智能机器人的路径规划方法及装置 |
CN109087338A (zh) * | 2017-06-13 | 2018-12-25 | 北京图森未来科技有限公司 | 一种图像稀疏光流的提取方法和装置 |
CN109147374A (zh) * | 2017-06-15 | 2019-01-04 | 深圳市金溢科技股份有限公司 | 停车场管理方法、系统、车载单元及后台服务器 |
CN109211236B (zh) * | 2017-06-30 | 2022-03-04 | 沈阳新松机器人自动化股份有限公司 | 导航定位方法、装置及机器人 |
CN109211236A (zh) * | 2017-06-30 | 2019-01-15 | 沈阳新松机器人自动化股份有限公司 | 导航定位方法、装置及机器人 |
CN107741234A (zh) * | 2017-10-11 | 2018-02-27 | 深圳勇艺达机器人有限公司 | 一种基于视觉的离线地图构建及定位方法 |
CN107741234B (zh) * | 2017-10-11 | 2021-10-19 | 深圳勇艺达机器人有限公司 | 一种基于视觉的离线地图构建及定位方法 |
CN111263960B (zh) * | 2018-01-15 | 2022-04-05 | Sk电信有限公司 | 用于更新高清晰度地图的设备和方法 |
CN111263960A (zh) * | 2018-01-15 | 2020-06-09 | Sk电信有限公司 | 更新用于自主驾驶的高清晰度地图的设备和方法 |
CN108460820B (zh) * | 2018-01-29 | 2022-05-10 | 北京理工大学 | 基于图像反馈的微型移动设备控制装置和方法 |
CN108460820A (zh) * | 2018-01-29 | 2018-08-28 | 北京理工大学 | 基于图像反馈的微型移动设备控制装置和方法 |
CN109903330A (zh) * | 2018-09-30 | 2019-06-18 | 华为技术有限公司 | 一种处理数据的方法和装置 |
CN109903330B (zh) * | 2018-09-30 | 2021-06-01 | 华为技术有限公司 | 一种处理数据的方法和装置 |
CN110009681A (zh) * | 2019-03-25 | 2019-07-12 | 中国计量大学 | 一种基于imu辅助的单目视觉里程计位姿处理方法 |
CN110163963A (zh) * | 2019-04-12 | 2019-08-23 | 南京华捷艾米软件科技有限公司 | 一种基于slam的建图装置和建图方法 |
CN110163963B (zh) * | 2019-04-12 | 2023-06-20 | 南京华捷艾米软件科技有限公司 | 一种基于slam的建图装置和建图方法 |
CN110580740B (zh) * | 2019-08-27 | 2021-08-20 | 清华大学 | 多智能体协同三维建模方法及装置 |
CN110580740A (zh) * | 2019-08-27 | 2019-12-17 | 清华大学 | 多智能体协同三维建模方法及装置 |
CN111024100A (zh) * | 2019-12-20 | 2020-04-17 | 深圳市优必选科技股份有限公司 | 一种导航地图更新方法、装置、可读存储介质及机器人 |
CN111784835A (zh) * | 2020-06-28 | 2020-10-16 | 北京百度网讯科技有限公司 | 制图方法、装置、电子设备及可读存储介质 |
CN111784835B (zh) * | 2020-06-28 | 2024-04-12 | 北京百度网讯科技有限公司 | 制图方法、装置、电子设备及可读存储介质 |
CN111950370A (zh) * | 2020-07-10 | 2020-11-17 | 重庆邮电大学 | 动态环境下线拓展视觉里程计方法 |
CN111950370B (zh) * | 2020-07-10 | 2022-08-26 | 重庆邮电大学 | 动态环境下线拓展视觉里程计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104240297A (zh) | 一种救援机器人三维环境地图实时构建方法 | |
CN106679648B (zh) | 一种基于遗传算法的视觉惯性组合的slam方法 | |
Robert et al. | Applications of nonmetric vision to some visually guided robotics tasks | |
CN110009674B (zh) | 基于无监督深度学习的单目图像景深实时计算方法 | |
CN104395932A (zh) | 对准数据的方法 | |
WO2022142214A1 (zh) | 车辆位姿确定方法、车辆控制方法及相应的装置、车辆、存储介质 | |
CN107818598B (zh) | 一种基于视觉矫正的三维点云地图融合方法 | |
CN110223382B (zh) | 基于深度学习的单帧图像自由视点三维模型重建方法 | |
Zhang et al. | Visual SLAM for underwater vehicles: A survey | |
CN113034571B (zh) | 一种基于视觉—惯性的物体三维尺寸测量方法 | |
TWI768776B (zh) | 室內定位系統及室內定位方法 | |
CN115272596A (zh) | 一种面向单调无纹理大场景的多传感器融合slam方法 | |
CN111998862A (zh) | 一种基于bnn的稠密双目slam方法 | |
CN114299405A (zh) | 一种无人机图像实时目标检测方法 | |
Lee et al. | Improved feature map merging using virtual supporting lines for multi-robot systems | |
CN116385660A (zh) | 室内单视图场景语义重建方法及系统 | |
CN113160315B (zh) | 一种基于对偶二次曲面数学模型的语义环境地图表征方法 | |
Fan et al. | Large-scale dense mapping system based on visual-inertial odometry and densely connected U-Net | |
Kokovkina et al. | The algorithm of EKF-SLAM using laser scanning system and fisheye camera | |
CN111696147A (zh) | 一种基于改进YOLOv3模型的深度估计方法 | |
CN106600651A (zh) | 一种成像系统的建模方法 | |
CN114708309A (zh) | 基于建筑平面图先验信息的视觉室内定位方法及系统 | |
CN115578460A (zh) | 基于多模态特征提取与稠密预测的机器人抓取方法与系统 | |
Zhang | Experimental comparison of superquadric fitting objective functions | |
Mo et al. | Cross-based dense depth estimation by fusing stereo vision with measured sparse depth |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141224 |