发明名称 一种三维环境中多模态环境地图构建方法
摘要 本发明公开了一种三维环境中多模态环境地图构建方法。以建图模式多次运行无人车,每一次运行得到不同的关键帧坐标序列。基于欧式距离计算不同关键帧坐标间的地理接近性,以此识别不同次运行关键帧序列的交叉点,这些交叉点作为拓扑地图的节点,将多条轨迹联结在一起,构成一整个地图。在此拓扑地图上执行基于启发式图搜索算法的路径规划,即可获得路径交叉点序列,用这个路径交叉点序列可以索引得到原始的稠密关键帧坐标,这些坐标作为轨迹规划的结果,输入到无人车控制执行系统,实现无人车的位置跟踪。
申请公布号 CN106599108A 申请公布日期 2017.04.26
申请号 CN201611077303.9 申请日期 2016.11.30
申请人 浙江大学 发明人 刘勇;张高明;张涛
分类号 G06F17/30(2006.01)I;G01C21/34(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 浙江杭州金通专利事务所有限公司 33100 代理人 刘晓春
主权项 一种三维环境中多模态环境地图构建方法,其特征在于,包括以下步骤:步骤1,无人车为随机探索环境的自动运行模式,无人车的双目相机采集环境图像,建立稀疏视觉特征地图,该地图的参考坐标系称为特征地图坐标系,坐标原点是无人车启动时相机的中心,正前方为z轴正方向,正右方为x轴正方向,并以二进制文件形式将特征地图的数据存储至车载计算机本地磁盘;步骤2,从车载计算机的本地磁盘读取地图数据文件至内存,无人车设定为定位模式,定位成功后,接收用户设置的目标位置坐标信息;有位置关系变化后,反复尝试重定位;步骤3,步骤2中每次成功定位后,稠密立体匹配双目相机的左右图像,获得三维点云序列;步骤4,从三维点云中拟合得到无人车的底盘的平面模型;从三维点云序列中随机选取3个三维点;检测3个三维点是否共线,若共线,则重新选取;估计出一个平面方程<img file="FDA0001166309530000011.GIF" wi="505" he="78" />其中,<img file="FDA0001166309530000012.GIF" wi="293" he="63" />是平面方程的参数,x、y、z是三维点云的坐标;统计点云序列中有多少三维点符合这一平面方程,记这个数量为K;重复执行这个统计过程L次,考察选择K值最大的一个平面方程,若其K值大于某一事先设定的阈值K<sub>thresh</sub>,那么,这个方程就是地盘平面模型Π:ax+by+cz+d=0,否则,认为本次计算失败,沿用上一次计算的结果作为当前的平面模型Π;步骤5,将三维点云序列变换至特征地图坐标系,并根据点云序列的高度属性,利用八叉树栅格地图(Octomap)方法,构建三维栅格地图;5‑1,点云变换:采用如下齐次变换公式,将点云坐标从相机坐标系变换至至特征地图坐标系(如附图中图2);<maths num="0001"><math><![CDATA[<mrow><mmultiscripts><mi>P</mi><mprescripts/><none/><mi>A</mi></mmultiscripts><mo>=</mo><msup><mmultiscripts><mi>T</mi><mprescripts/><mi>B</mi><mi>A</mi></mmultiscripts><mi>B</mi></msup><mi>P</mi></mrow>]]></math><img file="FDA0001166309530000013.GIF" wi="197" he="63" /></maths>其中,<sup>A</sup>P表示点云P在特征地图坐标系下的坐标,<sup>B</sup>P表示点云P在相机坐标系下的坐标,<img file="FDA0001166309530000021.GIF" wi="58" he="63" />表示特征地图坐标系到相机坐标系的变换矩阵;5‑2,基于步骤4中的平面模型Π划分稠密点云为地面部分和高于地面部分,高于地面部分视为障碍物点云,操作如下:获取三维点云序列中的一个点云P,计算P到平面Π的距离<img file="FDA0001166309530000022.GIF" wi="494" he="157" />其中,P<sub>x</sub>、P<sub>y</sub>、P<sub>z</sub>是点P的坐标;若d≤d<sub>thresh</sub>,将P加入可通行区域点云集合P<sub>free</sub>,其中,d<sub>thresh</sub>是事先设定的距离阈值。5‑3,基于5‑2中点云高度属性的判断,即可通行区域点云集合P<sub>free</sub>对应地面部分,其余点云对应高于地面的障碍部分,利用八叉树栅格地图方法(如附图中图3),以点云集合{<sup>A</sup>P}构建三维栅格地图;步骤6,对步骤5中的三维栅格地图进行降维处理,之后进行离散化,得到二维栅格地图,具体步骤如下:6‑1,根据双目相机的高度,将高于双目相机的点云在三维栅格地图中对应的节点剔除,与此同时,将三维栅格单元的坐标值投影到特征地图坐标系的x‑z平面;6‑2,对经过降维的三维栅格地图,进行栅格单元中心点的坐标的离散化处理,得到二维栅格地图,包括如下步骤:确定二维栅格地图中坐标x的取值范围:x<sub>min</sub>,x<sub>max</sub>;确定二维栅格地图中坐标z的取值范围:z<sub>min</sub>,z<sub>max</sub>;输入二维栅格地图节点中心的连续坐标值:x<sub>c</sub>,z<sub>c</sub>;圆整至邻近的整数值:x<sub>r</sub>,z<sub>r</sub>;利用坐标范围映射数组索引:x<sub>d</sub>=x<sub>min</sub>+x<sub>r</sub>,z<sub>d</sub>=z<sub>min</sub>+z<sub>r</sub>。x<sub>d</sub>、z<sub>d</sub>即是离散化的二维栅格地图节点的坐标值。
地址 310058 浙江省杭州市西湖区余杭塘路388号