基于高精度定位的SDK软件研究

(整期优先)网络出版时间:2023-02-24
/ 2

基于高精度定位的SDK软件研究

吴忠银

贵州移动信息科技发展有限公司,中国贵州,200120

要:在5G+AICDE的移动互联网时代,高精度定位逐渐成为诸多应用场景的标配。SDK可将终端、卫星、高精度定位平台等进行融合,进而实现终端的高精度定位需求。高精度定位业务的实现,需对卫星观测数据进行差分计算,最终形成终端所需要的高精度定位数据。本文对高精度定位领域的SDK软件展开研究,分析了SDK软件的系统架构和工作流程,给出了SDK软件中常用的函数。同时,以某车企的某一车型高精度定位辅助项目为例,简要介绍了SDK的应用情况。

关键词:高精度定位;SDK软件;原始观测量GGA;网格ID;差分数据

1  概述

在新基建年代,依托5G+北斗的各行各业获得了蓬勃发展。特别是高精度定位,让众多应用成为可能,比如汽车的自动驾驶或高度智能驾驶、桥梁抖动/山体滑坡的毫米级监控、无人机编队等。可以说,高精度定位的应用,开启了一个全新的时代。本文主要是以智能驾驶为来来介绍高精度定位的实现。

在计算机软件开发中,SDK(Software Development Kit,软件开发包)是指为特定的应用而编写的开发工具,是一种定制化的软件,是各类API的集合。SDK软件能够在特定软件框架、硬件平台、操作系统等环境中,为用户提供软件开发的服务,进而完成相关功能的研发。本文研究的SDK软件,主要应用于交通领域智能驾驶场景的高精度定位服务。

基于上述背景,本文主要聚集于实现高精度定位业务的SDK软件,给出了一种SDK软件的系统架构,分析了SDK软件运行时的业务流程,给出了SDK软件中常用的函数,并通过某个真实的应用案例来说明SDK的使用。本文的工作,旨在为一线业务人员提供全局指导,为管理层提供决策方面的支撑。

基于高精度定位的SDK软件

2.1  SDK软件的系统架构

图1为基于高精度定位的SDK软件系统架构图,SDK软件自下而上分为3个层面:(1)平台层:这是SDK软件实现的底层基础,主要是一些非业务的功能,包括平台管理、驱动配置、交叉编译等;(2)数据层:这是软件的业务功能模块,包括数据管理、输出管理、鉴权认证、平台适配、加密解密、OTA升级、RTK LIB算法引擎等;(3)接口层:提供输入/输出的接口,便于与外界交互。

在终端侧部署的SDK软件,主要功能在于:(1)负责差分数据收发和封装、GNSS算法、底层网络层通信、账号鉴权以及各种其他的服务;(2)提供稳定、统一、易用的SDK服务;(3)实现获取差分数据功能,开发者自主完成差分数据传输、芯片写入工作后,将具备获取高精度位置的能力。

图1:基于高精度定位的SDK软件系统架构图

2.2  SDK软件工作流程及主要函数

图2:基于高精度定位的SDK软件工作流程

在实际的应用中,SDK一般嵌入在终端侧的模组中,与终端侧的GNSS模组和后端的高精度定位平台进行数据交互。图2为一种典型的SDK软件工作流程。整个交互中,主要是接收来自终端侧的GGA数据,向高精度定位平台推送网格ID;接收高精度定位平台的周期性差分数据,反馈给终端侧。整个过程是一个周而复始的过程,不间断、持续推进,直至终端侧调用函数stopSDK()结束应用。

为了实现相应的功能,SDK软件提供了一些列的函数,使用函数getSDKVersion()获取SDK版本,使用接口getExpireDate(char *expire_day, int length)获取账号过期时间,使用接口getFrequency(char *pFreq, int length)获取当前播发频率,调用setServerPort()切换服务器端口用于支持不同坐标系切换,调用接口setRtcmUserInfo("账号", "密码")接口重置账号及密码,,调用接口setDeviceIDInfo("设备ID")接口鉴权登录,调用接口setEtprUserInfo(”企业账号”,”密码”,”自定义ID”)接口鉴权登录,调用接口setMountPoint (“RTCM_HAPXX”)设置或切换到既有挂载点之外的新增挂载点等。

2.3  基于SDK软件的典型案例

图3:某车企项目的SDK软件设计示意图

在智能驾驶场景中,基于SDK软件的高精度定位应用非常广泛,图3为某车企项目的SDK软件设计示意图。在该案例中,SDK软件嵌入在车载终端的TBOX模组中,客户通过终端APP登录到车企TSP平台,经由具体车型的车联网平台,向车端开通/调用业务。车企TSP平台、车载终端经由移动通信网络与高精度定位平台进行数据交互。常见的业务包括开通、激活、启用、停用、续订、关闭、注销高精度定位服务。

以账号开通与鉴权为例,其交互过程如下:(1)车辆下线后,甲方通过TSP系统,调用高精度定位平台接口,将车辆唯一标识(设备ID)发送至中移高精度定位平台,进行账号自动绑定;(2)中移高精度定位平台将绑定后的结果反馈至甲方TSP系统;(3)车辆使用时,车载功能模块(组合导航控制器)携带设备ID,向SDK发起服务请求;(4)SDK收到请求后,与中移高精度定位平台建立网络连接;(5)连接建立后,SDK将设备ID发送至中移高精度定位平台,进行账号鉴权;(6)鉴权成功后,SDK以状态码形式通知车载功能模块(组合导航控制器)。

3  结束语

SDK软件是实现高精度定位业务的重要方式,以中国移动的差分服务SDK为例,仅需在终端侧导入库文件(libcmcc_sdk.so)及头文件(libapi.h),即可实现SDK软件的快速部署,进而可高效调用SDK软件中的api接口。后期,将从两个方面开展工作。一方面,继续对现有的方案进行功能方面的完善和性能方面的优化,进一步提升SDK软件的各项特性。另一方面,将选择更多的车企或项目进行高精度定位SDK软件的使用,在实践中检验软件的性能,促进SDK软件的应用效果最大化。

参考文献

[1]魏立强; 闫锐. 一种基于高精度定位的SDK解决方案[J]. 长江信息通信. 2021(07).

[2]魏立强. 一种基于卫星和惯导算法的终端SDK解决方案[J]. 长江信息通信. 2021(07).

[3]王怡欣; 刘晖; 钱闯; 范潇云. 一种基于智能手机的实时高精度定位系统开发与车载应用测试[J]. 测绘通报. 2022(10).

-----------------

作者介绍:

吴忠银(1985-),男,贵州遵义人,贵州财经大学本科学历,软件与项目管理工程师,从事软件研发、云计算相关工作。