一种可配置的车载高精定位软件方案研究

2020-10-20 07:18张莹蔡之骏杨波冯其高李晓平
汽车实用技术 2020年15期

张莹 蔡之骏 杨波 冯其高 李晓平

摘 要:随着ADAS技术的普及和发展,车辆定位技术的作用也变得更加关键。只有保证车辆定位的精度才能确保许多ADAS应用场景的准确性。车载高精定位系统一般由定位芯片、SOC端、MCU端及RTK服务组成,其中定位芯片能结合GNSS技术与RTK数据从而进入高精定位模式。由于定位芯片和RTK服务都有多种主流产品导致车载高精定位系统存在大量的组合方案,相关的软件适配工作也因此变得非常繁重。文章提出一种可配置的车载高精定位软件方案,能通过修改软件配置文件便捷地适配多种定位芯片与RTK服务的组合方案,从而大幅提升软件的调试效率和可拓展性。

关键词:GNSS;车载高精定位软件;可配置式;RTK

中图分类号:TP319  文献标识码:A  文章编号:1671-7988(2020)15-82-03

Abstract: With the development and popularization of ADAS (Advanced Driving Assistance System), the vehicle positioning technology becomes more critical. Automotive high-precision positioning system includes positioning chip, SOC (System on Chip), MCU (Microcontroller Unit) and RTK (Real Time Kinematics) service, where positioning chip can achieve high-precision positioning by combining GNSS (Global Navigation Satellite Systems) with RTK technology Since there are various main products for positioning chips and RTK service, automotive high-precision positioning system has lots of schemes, which requires abundant hard work for software adaption. This paper suggests a configurable high- precision positioning software solution for vehicles, which is able to adapt the high-precision positioning software for different combinations of position chips and RTK service by simply modifying the configure file. Hence, the software debug efficiency and extensibility can be improved significantly.

Keywords: GNSS; Automotive high-precision positioning software; Configurable; RTK

CLC NO.: TP319  Document Code: A  Article ID: 1671-7988(2020)15-82-03

前言

車载高精定位技术是目前诸多ADAS(Advanced Driving Assistance System)技术的基础,只有保证了车辆定位的精度才能保证V2X(Vehicle-to-Everything)等车辆预警场景的准确性[1][2]。车载高精定位系统一般由定位芯片、SOC (System on Chip) 端、MCU(Microcontroller Unit)端及RTK(Real Time Kinematics)服务组成,其中定位芯片能结合GNSS(Global Navigation Satellite Systems)技术与RTK数据从而进入高精定位模式。该系统的基本工作原理为SOC端周期性地接受定位芯片发送的基础定位信号,并将该信号发送至RTK服务对应的相关基站;之后,SOC端会收到RTK基站返回的RTK数据并将该数据发送给定位芯片,条件允许时定位芯片会进入高精定位模式从而使定位芯片发送给SOC端的定位数据也变成了高精定位数据;MCU端则会向定位芯片周期性地发送惯导推算所需信号(比如轮速tick数、时间戳等)以此辅助定位芯片的高精定位计算。

目前市场上有的主流定位芯片包括Ublox、北斗、高通等,RTK服务提供商有千寻、星舆科技等。由于不同厂商对应的产品在软件上采用不同的流程及函数接口,同时考虑到不同的硬件方案也会导致车载高精定位软件所使用的串口等配置不同,因此,车载高精定位系统存在着大量不同的组合方案,且每种系统方案都在软件实现上会有较大的不同。

本文提出一种可配置的车载高精定位软件方案,在该方案中,车载高精定位软件使用配置文件为特定的程序变量赋值,从而选择高精定位软件进入的流程分支,以此适配不同的车载高精定位系统。该方案中,用户只需修改配置文件即可实适配不同的高精定位系统,从而大幅提升软件调试效率与可拓展性。

注意本文中所述车载高精定位软件不包含定位芯片与RTK服务基站内置的定位推算软件,仅包含定位相关的SOC端软件和MCU端软件(包含定位芯片及RTK服务接口函数)。

1 软件系统组成及原理

如图1所示,车载高精定位软件系统一般采用双CPU通信架构,由SOC端软件(默认使用Linux操作系统)、MCU端软件组成,通过接口函数与定位芯片及RTK服务基站进行信息交互(部分厂商将定位芯片与SOC模组融合在一起,不过软件上SOC端依然需要使用定位相关接口函数收发定位数据)。其中SOC端软件周期性地接受来自定位芯片的定位数据并转发给RTK服务基站,并将基站返回的RTK数据发送给定位芯片从而使该芯片进入高精定位状态,芯片输出的定位信号因此也变成高精定位信号;MCU端软件负责周期性地收集来自CAN信号的轮速等惯导所需信号并将其发送给定位芯片进行惯导推算。注意图1所述为常规的车载高精定位软件原理图,没有使用配置文件。

2 配置文件及使用方法

为了适配不同组合的车载高精定位系统,本文提出一种可配置的车载高精定位软件方案,在SOC端软件中引入配置文件(一般为.cfg文件,也可使用其他类型)为特定的程序变量赋值,从而选择高精定位软件进入的流程分支;配置文件可由用户自行定义,用于配置高精定位软件使用的定位芯片、RTK(差分数据)来源、串口通道(uart口);同时,在SOC端软件中事先写好所有需要适配的交互流程程序,并使用特定的交互变量决定软件的交互流程。如图2所示,定义变量Model,当Model=1时软件采用定位芯片1的交互流程(包括相应的初始化流程、SDK、函数接口等),当Model=2时软件采用定位芯片2的交互流程;同理可定义变量Source,当Source=1时软件采用RTK服务提供商1的交互流程,当Source=2时软件采用RTK服务提供商2的交互流程;串口等其他通信接口的配置也可使用类似方法完成,撰写代码时需要保证每个交换流程分支都能正常运行。这些变量的取值均来自于自定义的配置文件,软件初始化时会自动从配置文件读取相关参数作为这些配置变量的值。配置文件和SOC端软件一起编译,可在软件运行时直接用putty等工具软件打开对应的端口,然后使用vi模式打开的窗口中修改相应的配置文件,修改后重启SOC端软件即可生效,无需重新编译软件。配置文件中只需按用户自定义的格式撰写相关变量的初始值即可,例如只写一行:Model=1,Source=2,适配其他方案时修改对应的数字即可。

同时,SOC端软件还会将配置文件提供的交互变量值发送给MCU端软件,使MCU端也能根据所选定位芯片进入相应的流程,从而选择芯片所需获取的惯导信号并发送给该定位芯片,发送方式由定位芯片本身需求决定。SOC端软件与MCU端软件的通讯方式由用户决定,一般采用spi通信。

此外,配置文件中还可根据硬件方法的不同适配不同的接口,比如SOC端与定位芯片交互的串口号及波特率等参数均可在配置文件里设置和修改,具体操作与上述流程分支的选择相同,这里不再赘述。

3 软件流程

本文所述的可配置式车载高精定位软件方案流程分为SOC端软件流程和MCU端软件流程,如下所述。

3.1 SOC端软件流程

SOC端软件流程图如图3所示,SOC端软件从配置文件获取流程分支的选择信息,并根据所选芯片和RTK服务周期性地接受来自定位芯片的定位数据并转发给RTK服务基站,并将基站返回的RTK数据发送给定位芯片从而使该芯片进入高精定位状态,芯片输出的定位信号因此也变成高精定位信号。

3.2 MCU端软件流程

MCU端软件流程图如图4所示, MCU端软件从SOC端获取交互变量信息,进入配置文件所选定位芯片相应的惯导流程,从而周期性地收集来自CAN信号的轮速等当前定位芯片所需惯导信号并将其发送给定位芯片进行惯导推算。

4 结论

本文提出一种可配置的车载高精定位软件方案,在该方案中,引入配置文件为车载高精定位软件的特定程序变量赋值,从而选择高精定位软件使用的定位芯片、RTK服务等流程分支,以此适配不同的车载高精定位系统。该方案中,用户只需修改配置文件即可实适配不同的车载高精定位系统,配置文件可使用putty等工具直接修改,无需重新编译,从而大幅提升软件调试效率与可拓展性。

参考文献

[1] IMT-2020(5G)推进组. C-V2X白皮书, 2018-06:2-3.

[2] 张耀丹.无人驾驶汽车的现状及发展趋势[J].汽车实用技术.2018 (06).

[3] 刘宗巍,匡旭,赵福全.V2X关键技术应用与发展综述[J].电讯技术. 2019(01).

[4] 彭旭飞,佀荣,李立功,余文明. 导航与定位中RTK技术研究[J].测繪与空间地理信息. 2019(01).

[5] 王俊超,吴洁. 测绘与空间地理信息. GPS网络RTK系统的定位精度研究[J].2018(10).

[6] 周玉霞,周明,康登榜,黄小红. GNSS互联网数据传输协议标准综述[J].导航定位学报. 2015(04).