苏晨 陈梅 赵静雅 高震宇
摘要:本文首先对各种常见室内外定位技术并对这些定位技术进行比较,研究选取最适合于自动驾驶的定位技术。其次,由于室内外定位机制采用不同的坐标体系,因此针对所选取的室内外定位机制设计室内外统一坐标体系。本文设计了两种坐标系统一方法,并对两种方法的误差进行了理论分析,编写简单程序对两种方法输出结果进行比较,并改进定位系统上位机进行实验使之能实时输出统一后的位置坐标。
关键词:室内定位;室外定位;坐标统一;切换;融合
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2021)10-0037-03
1引言
高精度定位是自动驾驶中至关重要的技术。目前的定位方案主要是基于卫星信号的GPS或北斗定位方案[1],这种基于卫星信号的定位方式技术成熟[2],但是由于卫星信号容易被遮挡、室内环境复杂多变等原因导致这种定位方式只能应用于空旷的户外场景中[3],而自动驾驶车辆往往需要进入隧道、地下通道或室内停车场等环境,因此,在室内需要采用另一套定位机制来确保自动驾驶车辆的持续定位[4,5]。
2室内外统一坐标体系设计
由于DGPS系统串口输出的是目标物体的大地经纬度坐标,而且此坐标更为通用,可以用于地图绘制和坐标导航,因此设计将两种定位系统输出坐标统一为大地经纬度坐标。由于GPS定位输出已经是大地经纬度坐标,仅在单位格式上需要转换,所以重点对UWB定位系统进行输出坐标转换[3]。
2.1 简单线性变换
设定UWB定位系统坐标系X轴向正东(沿纬线)、Y轴向正北(沿经线)、Z轴垂直于地球切面。由于室内定位场景相对于整个地球表面非常小,可以做近似处理,假设坐标系XYZ为三维直角坐标系,XOY面与地球表面平行。假设地球为规则的正球体,那么此时同一经度、纬度变化跟距离变化的关系可以转化为线性关系。
2.2 高斯-克吕格投影间接计算
已知UWB定位系统坐标系原点的经纬度高度,先将大地坐标系(经纬度)做高斯-克吕格投影,求出UWB坐标原点的高斯投影平面坐标,再将UWB相对坐标系作平移,将待测物体的UWB坐标转化成高斯投影平面坐标,再做投影反变换,变换成大地坐标。
2.2.1 高斯-克吕格投影原理
高斯-克吕格投影是地球椭球面和平面间正形投影的一种,最初是由德国数学家、物理学家、天文学家高斯于十九世纪二十年代拟定,随后德国大地测量学家克吕格对此投影公式进行补充,因此称为高斯-克吕格投影,又名“等角横切椭圆柱投影”[6],如图2所示。
高斯-克吕格投影假设地球放置于一个椭圆柱面中,且与椭圆柱面相切于某一条经线。按照等角条件将此经线左右各一定范围内的经纬线投影到这个椭圆柱面上,然后将此椭圆柱面展开,展开后即可形成一个平面坐标系。由于赤道和中央子午线在椭圆柱面上的投影展开后均为直线,因此平面坐標系以两者的交点为坐标原点,以中央子午线的投影直线为横轴X,以赤道的投影直线为纵轴Y。在高斯平面直角坐标系中,坐标(x,y)指的是地球上某一点到赤道和中央经线的垂直距离。
高斯投影根据投影范围的不同划分为两种,分别是6度带和3度带,高斯投影带的划分情况如图3所示:
4.2.2 高斯投影正反算公式
高斯投影正算公式是由大地经纬度坐标向高斯投影平面坐标转换的公式,高斯投影反算公式是已知高斯投影平面坐标来求解对应的大地经纬度坐标。由于本坐标统一方法需要将坐标原点经纬度坐标转换为高斯投影坐标,又需要将计算出的待测目标高斯投影坐标转换成大地经纬度坐标,因此两个公式都要使用。
正算公式(由大地坐标到高斯投影平面坐标)
3 坐标统一误差分析
经高斯-克吕格投影后经纬线的长度不是与实际长度一致的,而是产生了不同程度的形变。由于椭圆柱面与中央经线相切,则中央经线在投影后的长度保持不变。根据几何原理,除了中央经线以外,其他任何经纬线投影后的长度均会变长。具体来说,在某一条经线上,越靠近赤道位置产生的形变越大;在某一条纬线上,越偏离中央经线形变越大,如图4所示。
高斯平面直角坐标值是某点到X轴、Y轴的垂直距离。UWB坐标系到高斯平面坐标是由平移得到的。而在高斯平面坐标中除中央经线外均会有长度的变形,且长度比均大于1。由于UWB坐标系到高斯投影坐标是将UWB坐标系中实际长度直接与高斯投影坐标相加,而高斯投影坐标系中对应长度要比实际长度长,那么最后高斯投影反变换后会使待测目标的经纬度值产生偏差。偏差的大小取决于待测目标的经纬度值和其在UWB坐标系中的坐标位置。
坐标统一误差如图5所示:
按照上述坐标转换方法计算出的待测目标在高斯投影平面的坐标为左边的黑点位置,由于投影后的长度要变长,所以待测目标在UWB中的坐标值,即与x轴y轴的垂直距离转换到高斯投影平面坐标中要变长,则待测目标在高斯投影平面中的真实位置会是右边黑点的位置,这样对测量位置做高斯投影反变换后的结果会使经度偏小,纬度偏小,从而产生误差。
4 两种坐标统一方法比较
用VS2013平台,采用C++语言编写简单坐标转换程序。输入UWB定位系统坐标原点经纬度和高度建立坐标系,再输入待测物体在此坐标系下的坐标,即可输出转换后的大地坐标。
其中高斯投影反变换坐标转换采用高斯投影6度带,由于试验在北京附近进行,则带号为20。高斯投影后的平面坐标系X轴为赤道,Y轴为带内中央经线。本实验在20号带内进行,则Y轴为东经117°。
简单线性变换输出结果:
高斯投影间接计算结果:
由图7可知,两种坐标转换方法所得结果相差不大,仅在第六位小数有差别,而此小数位对应的距离在十厘米左右,即两种转换方法仅有几分米的差别,但明显第二种方法的计算复杂度要高。
5 改进定位结果输出系统
对上位机源码进行修改,将坐标转换代码添加到上位机软件源码中,并对软件界面做出修改,使之可以实时输出目标位置的经纬度高度坐标,完成UWB系统坐标向大地坐标系的统一。再次搭建实验场景,输入坐标原点经纬度坐标后,在标签位置一栏可以直接输出标签的经纬度坐标,软件界面如图8:
在最初的基础上增加了一个表格,设置坐标原点的经纬度和高度,用于坐标转换。标签栏增加了三列,用于输出标签转换后的经纬度高度坐标。
GPS串口输出数据格式转换:
GPS串口输出数据中经度坐标格式为dddmm.mmmmmm,纬度坐标格式为ddmm.mmmmmm,而坐标统一方法中输出坐标以度为单位,因此将此数据转换成ddd.dddddd和dd.dddddd格式。
转换算法如下:
举例如下:
原始纬度数据:3957.530700
转换后纬度数据:39+57.530700/60=39.958845
这样就完成了两种定位系统坐标系的统一,为两种定位数据的切换融合奠定了基础。
6 结论
本文针对GPS定位系统和UWB定位系统这两种定位系统输出数据的坐标系不统一,设计了两种坐标统一方法,分别是简单线性变换和高斯-克吕格投影间接计算。首先对两种坐标统一方法的原理进行了阐述,并从理论角度对可能产生的误差进行了详细的分析。其次编写小程序对两种坐标统一方法的输出结果进行对比。最后将坐标统一方法应用于UWB系统上位机中,使之可以实时输出待测物体的经纬度坐标。
参考文献:
[1] 全球定位系统构成和特点[J].能源与节能,2017(2):186.
[2] 刘公绪,史凌峰.室内导航与定位技术发展综述[J].导航定位学报,2018,6(2):7-14.
[3] 石敏,周后盘,吴辉,等.室内定位技术发展与研究综述[J].计算机时代,2018(8):1-4.
[4] 王杨,赵红东.室内定位技术综述及发展前景展望[J].测控技术,2016,35(7):1-3,8.
[5] 朱永龙.基于UWB的室内定位算法研究与应用[D].济南:山东大学,2014.
[6] 刘沛兰.现代工程大比例尺地形圖数学基础的研究[D].武汉:武汉大学,2011.
【通联编辑:唐一东】