基于视觉识别技术的机车定位系统研究
发布时间:2020-02-08
摘要:本文通过视觉SLAM技术,设计一套视觉图像采集处理系统,利用摄像机视觉定位方式,实现机车在站场股道的精确定位。系统首先通过图像采集装置,实现站场大量数据采集,并将该数据用于站场高精地图构建基础。将构建高精地图植入车载主机,在实际机车站场运行中,根据采集的实时图像数据与高精地图数据做学习对比,最终实现机车站场高精度定位,并根据位置信息实现机车操纵指导提醒。
关键词:SLAM技术;前端数据采集装置;车载主机;ORB-SLAM算法;高精度定位
1概述
机车调车管理在在铁路运输安全监管、效率优化和安全驾驶等方面,具有至关重要的作用。目前的铁路运营管理环境,虽然已经装备了多项设备和管理系统,对铁路运输管理也可以起到一定的保障作用,但对于机车在调车过程中,由于LKJ在调车状态下受到轨道电路条件制约,无法将地面信号传至机车、无法获取机车所处实时精准位置、不能有效防止调车作业车列越过阻挡信号造成的挤岔事故、超速行驶造成的冲突事故和脱轨事故、特定地点操纵提示、连挂时距离车列位置等安全隐患。在调车作业时完全依靠调车员和司机确认地面信号,由此引发因人员失误造成的“挤、脱、撞”事故。据此,机车在车站内的精确定位将大大提升作业效率,降低安全风险,具有重要的研究意义和应用价值。
1背景
在过去的十年里,定位技术在以卫星定位为基础的技术上获得了快速的发展和广泛的应用,如,全球定位系统(GlobalPositioningSystem,GPS)。然而GPS系统的精度仍然较差,单端GPS的定位精度约为5~10m左右,差分GPS虽然宣称能够获得10~2m级的定位精度,但由于其往往需要部署多个GPS基站,并利用通信方式彼此互相修正误差,因而鲁棒性和适应性较差,上述问题困扰GPS定位方式,使其不能够成为自动驾驶或移动机器人的主流定位方式。
相关期刊推荐:《导航定位学报》(季刊)创刊于1995年,是由全国测绘科技信息网主办的我国唯一的测绘科技文献检索期刊,是供测绘及相关行业从事测绘生产、管理、科研、教学人员查询中、外最新测绘科技文献的检索工具。本刊主要设有:地形测量、大地测量、地球形状、海洋测绘、航空摄影测量、遥感技术、测绘仪器、专业测绘与工程测量、地籍测绘等栏目。
在机器人的定位领域,基于视觉(或摄像机)的同时定位和地图构建(SimultaneousLocalizationAndMapping,SLAM)系统得到了快速的发展。SLAM是指搭载传感器的机器人在移动时利用传感器测量数据建立环境地图,同时估计机器人自身的位姿[1]。SLAM同时包含定位与地图构建技术,被认为是实现机器人自主性的关键技术之一,对机器人的控制、导航、任务规划等领域有重要的研究意义[2]。
根据SLAM的求解方法可以将其分为扩展卡尔曼滤波类(ExtendedKalmanFilter,EKF)SLAM、粒子滤波类(ParticleFiltering,PF)SLAM和图优化类(GraphOptimization)SLAM。EKF-SLAM最早由Smith等[3]提出,在假设噪声为高斯噪声的基础上,通过运动模型和观测模型来估计机器人自身及路标点的位置。之后许多专家学者在其方法上进一步改进,针对EKF-SLAM的估计不一致性和非线性函数的线性化问题,Julier等提出无迹卡尔曼滤波(UnscentedKalmanFilter,UKF)方法,利用样本加权求和直接逼近随机分布,从而避免了对非线性函数雅各比矩阵的计算。误差。此外,EKF-SLAM依赖于正确的数据关联,一旦数据关联出错则会导致构建地图失败;而且EKF-SLAM的计算成本高,计算量正比于地图规模的平方,因此只能对较小范围的环境构建地图。
除了滤波器求解SLAM问题之外,最近基于图优化SLAM成为研究的热点。其起源于基于捆集调整(BundleAdjustment,BA)的运动构建(StructureFromMotion,SFM)领域,SFM把位姿估计看作是一个全局优化问题,约束条件为相机的运动方程,目标函数为观测误差,最终通过最小化目标函数获得相机位姿。但是由于全局优化的计算量巨大,早期的SFM只能是离线的位姿估计和地图构建。后来研究者逐步认识到了SLAM求解问题的稀疏性,Sibley[5]提出了把SLAM问题看作是一个图优化问题,图优化的节点描述了需要优化的变量,边则是与优化变量相关的约束条件,最终采用稀疏目标优化方法计算获得优化变量,即机器人的位姿和路标点位置。Klein等[6]提出了平行跟踪和地图构建方法(ParallelTrackingAndMapping,PTAM),把运动跟踪和地图构建分为两个任务,并在两个平行的线程同时进行处理,在线实时地实现了SLAM算法,虽然PTAM存在着缺少足够的回环检测、重定位不变性低、需要人工初始化地图等问题,但是其代表了视觉SLAM的一个重要突破。
继PTAM之后,Mur-Artal等[7]提出了ORB-SLAM(OrientedfastandRotatedBriefSimultaneousLocalizationAndMapping)算法,该算法具有跟踪、地图构建、重定位三个平行线程,有效地解决了回环检测、重定位和地图初始化等问题,能够在小范围和大范围的未知环境中在线实时地实现高精度定位,特别适合于求解自动驾驶、移动机器人等场景的定位问题。
本文将视觉SLAM技术引入到铁路机车定位问题中,通过采集安装在机车上摄像机产生的视频数据,利用摄像机视觉定位方式,产生对机车位置的精确定位。本文在朔黄铁路肃宁北站采集了超过10GB的视频数据,并尝试依据该视频数据上验证视觉定位、地图构建问题,并通过定量测试定位精度,评估本文提出定位系统在求解机车定位问题的优势和局限。
2基于视觉定位系统
2.1硬件系统
硬件方面主要是前端采集和数据处理两个主要部分:
前端数据采集装置主要用于采集行进方向图像数据,用于站场高精度地图建立及定位算法时数据获取。根据当前的需求,采用工业摄像机采集高分辨率的站场数据。本文采用“灰点(Pointgrey)”公司的以太网接口工业摄像机,该相机采用200万像素CMOS传感器,最大分辨率1920x1080;最大分辨率下帧率达到60fps,并且具有良好的弱光响应能力,特别适合作为包括自动驾驶、自主机器人的视觉传感器。同时,本例为保障采集图像具有良好的视场角,采用等效焦距8mm的广角主镜头,能够保障机车前方约3m以外的全部视觉特征信息。
车载主机对采集的视频数据进行实时位置解算和地图构建,最终实现机车股道高精度定位及固定位置模式化操纵指导提醒,主机具备多传输接口,可与现有车载无线传输装置和车载显示终端实现数据接口互通。最终实现定位结果上传和本地显示。
2.2软件系统
软件方面,在图像处理主机上采用Linux系统,具体版本为Ubuntu16.04LTS版本,同时将适用于机器人定位、感知和控制的ROS加载到该Ubuntu系统之上,通过ORB-SLAM算法实现机车精确定位。
本文采用ROSKinect系统作为管理视觉传感数据、定位算法、地图构建的基本系统。ROS(RobotOperationSystem)是用于机器人的一种后操作系统,或者说次级操作系统.他提供类似操作系统所提供的功能,包含:硬件抽象描述;底层驱动程序管理;公用功能的执行;程序间的消息传递;程序发行包管理;它也提供一些工具程序和库用于获取,建立,编写和运行多机整合的程序。
ROS是一种分布式处理框架,又名Nodes,这种可执行文件能被单独设计,并且运行时松散耦合。这些过程可以封装到数据包(Package)和堆栈(Stacks)中,以便共享和分发。ROS还支持代码库的联合系统。使得协作亦能被分发。这种文件系统级别到社区级别的设计独立的决定发展和实施工作成为可能。
2.3ORB-SLAM算法
ORB-SLAM是一个基于特征点的实时单目SLAM系统,在大规模的、小规模的、室内室外的环境都可以运行。该系统对剧烈运动也很鲁棒,支持宽基线的闭环检测和重定位,包括全自动初始化。该系统包含了所有SLAM系统共有的模块:跟踪(Tracking)、建图(Mapping)、重定位(Relocalization)、闭环检测(Loopclosing)。由于ORB-SLAM系统是基于特征点的SLAM系统,故其能够实时计算出相机的轨线,并生成场景的稀疏三维重建结果。其中ORB-SLAM2在ORB-SLAM的基础上,还支持标定后的双目相机和RGB-D相机。
可以看到ORB-SLAM主要分为三个线程进行,也就是论文中的下图所示的,分别是Tracking、LocalMapping和LoopClosing。
1)跟踪(Tracking)
这一部分主要工作是从图像中提取ORB特征,根据上一帧进行姿态估计,或者进行通过全局重定位初始化位姿,然后跟踪已经重建的局部地图,优化位姿,再根据一些规则确定新的关键帧。
2)建图(LocalMapping)
这一部分主要完成局部地图构建。包括对关键帧的插入,验证最近生成的地图点并进行筛选,然后生成新的地图点,使用局部捆集调整(LocalBA),最后再对插入的关键帧进行筛选,去除多余的关键帧。
3)闭环检测(LoopClosing)
这一部分主要分为两个过程,分别是闭环探测和闭环校正。闭环检测先使用WOB进行探测,然后通过Sim3算法计算相似变换。闭环校正,主要是闭环融合和EssentialGraph的图优化,如图1所示。
3实验结果
本文将上节介绍的视觉定位系统安装在一台车站调车机车上,采集了超过10GB的视频数据,采集时间超过4个小时。采集过程中,该机车正常开展各项调车作业,本定位系统在采集数据同时,给出实时的定位和建图结果,实时的建图和定位结果见图所示。在采集定位数据和实时定位同时,本文采集了GPS定位数据,并采用差分GPS定位解算算法进行误差修正和精度提升,以便对比差分GPS定位方法与本文提出视觉定位方法的定位性能。如图2所示。
本文采取相对定位误差和绝对定位误差两种方式来评价定位精度。
3.1相对定位误差
相对定位误差测量车辆的运行中,经过同一点的定位误差值。基于SLAM定位估计每两帧图像的位移,并将这些位移累加起来产生定位估计,因而会产生不断累加的误差,这种误差需要通过与地图中的离散路标点进行解算和平差,从而将累加误差控制在一个恒定范围内。由于无法获得车辆精确的定位数据(GPS定位数据并不准确),本文采用测试相对定位精度的方式,模拟车辆经过长时间定位解算,经过同一位置的定位精度。
实验中,我们整理采集到的定位数据,经过编辑的定位数据中,机车沿同一路径运行4次,本文测定4次定位的误差情况,如图3所示:
4次运行轨迹由不同颜色标出,从图上可以看出,不同曲线总体趋势一致,证明定位算法性能可靠,经过4次往复行走,超过60min运行,误差仍然保持恒定。
本文假定将多条轨迹的均值作为实际路径,测量几条轨迹与实际路径的偏差,用轨迹点之间的最小距离来确定相对定位误差,由此得出的几条轨迹之间的定位误差见表1。
从定位误差可以看出,相对定位误差最大为0.9735米,在该误差下,定位算法能够将机车定位在正确的股道中,故该系统的定位精度能够在车站内准确的确定机车所在轨道,以及最大误差在1m以内的定位结果输出。
3.2相对定位误差
本文亦比较了视觉定位轨迹与GPS定位轨迹的定位结果,为方便比较,本文给出采集的车站的GPS实景地图,该地图取自谷歌地图,如图4所示。
本文对比了视觉定位算法和GPS定位算法在同一车站的,基本相同的两段行走过程的定位轨迹,如图5所示:
可以看出,视觉定位轨迹的偏差较小,轨迹较为光滑。而GPS定位轨迹存在较大偏差,轨迹存在大量明显错误偏离点。实验观察结果显示,这些偏离点都是GPS定位漂移所致,而漂移范围在1m~5m不等。
4结论
本文提出一种基于视觉的机车定位方法,通过在机车上架设专门的定位软硬件系统,包括视觉传感器、车载定位计算机、视觉定位算法,能够较为精确的实时计算机车当前位置。本文通过定量实验,证明视觉定位算法精度小于1m,满足机车车站定位的精度要求,能够准确的指导机车作业。同时,通过与查分GPS定位方法比较,证明本文提出定位算法具有较好的定位准确性和一致性,在机车运行的实际定位精度和鲁棒性上优于当前最好的差分GPS定位方法。