面向智慧园区的无人车远程约车系统

2020-06-04 04:00张小俊
汽车电器 2020年5期
关键词:约车模组车载

张小俊,张 泽,陈 正

(1.河北工业大学,天津 300222;2.中国汽车技术研究中心,天津 300300)

随着无人驾驶技术的飞速发展,中国的百度、长安等企业以及国防科技大学、军事交通学院等高校已经研制出了L4级的无人驾驶汽车。无人驾驶汽车装备一台高性能的计算机,用于接收车载传感器采集的环境信息并对其进行处理分析,进而作出各种决策,传递指令给汽车的各个执行系统,实现车辆的智能驾驶并完成车与人、车、路以及云端的通信。L4级的无人驾驶是指在限定的道路和环境中可由无人驾驶系统完成所有驾驶操作,本课题以L4级无人驾驶汽车为依托,设计一种在封闭园区内的约车系统,实现无人车在封闭园区内部的示范运营。用户通过手机APP选择起点和终点,并通过手机APP与云端、车载通信终端的信息交互实现远程约车,进而完成接送用户、自动还车等功能。

1 系统的总体设计

远程约车系统基于无人驾驶技术,融合计算机、通信、车辆工程的综合性策略系统,主要由无人驾驶汽车、云平台、车载单元和手机APP组成,各个子单元采用CAN总线和4G网络通信。

1.1 云平台设计

云平台服务具有多用户、高并发的特点,平台搭建需要从处理数据的性能和后期维护成本两方面考虑。目前云平台主要包含C/S和B/S架构,C/S采用的PPP协议针对点对点,兼容性不强,另外还需要专门开发客户端软件,拓展性较弱。B/S架构可简化为一个Web浏览器,将策略逻辑和数据在服务器中实现,且维护成本低,综上所述,云平台选择B/S架构。云平台与车载单元的通信协议选择MQTT协议,其建立在TCP/IP协议的基础上,针对系统中APP发送远程指令、云平台控制车辆和数据流传输的物联网协议。

1.2 车载单元设计

车载单元是约车系统传输层的关键组成部分,其主要功能包括采集/发送数据、处理数据、和自我管理的能力。采集/发送数据是指车载单元通过CAN总线采集无人驾驶车辆的传感器、工控机、定位信息和车辆驾驶行为数据,这些数据通过制定的通信格式打包给4G模组发送至云平台;处理数据是车载单元的核心业务,针对无人车数据流较大且实时性要求高,主处理器选用ARM架构的恩智浦IMX6.Q系列处理器,底层嵌入Linux操作系统,完成数据处理和逻辑判断;自我管理通过MCU对车载单元的电源模块、GNSS模块、CAN模块、主处理器、4G模组进行管理,控制其电源供给和GPIO的电压配置,并在特定情况下进行工作/休眠模式的切换。终端架构如图1所示。

图1 车载单元系统架构图

1)核心处理器

核心处理器选择基于Arm Cortex-A9架构的IMX6.Q处理器,其符合车规级认证,主频为1.2GHz,具有满足操作系统的MIPS需求来增强高级便捷式应用程序功能,支持丰富的外围接口、1GB RAM和8GB ROM,为数据采集/处理提供可靠保障。

2)MCU的选择

MCU选择飞思卡尔的FS32K148,是一款符合车规级AEC-Q100规范,具有超低功耗的微处理器,基于32位Arm Cortex-M4F和Cortex-M0+内核的MCU,运行频率112MHz,有多种性能、存储器和特性可供选择,具有良好的兼容性和拓展性。

3)4G通信模组

车载单元通信模组选用华为的ME909s,其支持LTE/HSDPA/GSM/GPRS多种频率通信,最大支持数据传输的上行速率10Mb/s和下行速率150Mb/s,内嵌TCP/IP通信协议,与其他通信模组相比具有较快的传输速度和全面的通信频段,同时支持多种外围接口,便于与其他模块进行信息传输。

4) GNSS模组

GNSS模组选择MAX-M8Q-01A,采用常用的C/A编码,支持NMEA0183协议,在GPS+GLONASS+北斗的混合定位模式下导航灵敏度为-167dBm,单一全球当行卫星系统频率18MHz,并行导航系统频率10MHz,位置精度2米CEP,能在高楼大厦之间、地下停车场以及隧道提供可靠不间断的定位信息,定位信息通过UART串口输出,波特率支持4800/9600 /38400 /115200b /s。

2 应用程序的设计

系统硬件电路通电后,U-boot会对微处理器及其外围电路初始化,后把开发板的控制权移交给嵌入式Linux操作系统,系统通过对应用层线程的调度,实现各种功能。

2.1 通信功能初始化

最基本的通信功能为CAN通信和网络通信,设计皆基于socket通信。CAN通信采用原始套接字SOCK_ROW,PF_CAN协议族,struct can_frame定义CAN收发数据的消息体,sock_fd=socket()建立套接字,strcpy (ifr.ifr_name,“can0”) 对CAN接口初始化,设置接口名“can0”和波特率为500kHz,bind()将生成的套接字与网络地址绑定,创建recv() /send()函数收发CAN数据。网络通信通过调用net init(char*net_name)函数完成4G通信模组的初始化,设置云平台的IP和Port,并调用socket (AF_INET,SOCK_STREAM,0)函数设置IPv4网络通信协议,建立TCP连接实现云平台和车载单元的网络通信。

2.2 子系统之间的通信交互

CAN收发线程通过select()函数监听车辆工控机节点转发的无人车传感器信息、车辆信息和车辆驾驶行为,当2.1所述的套接字收到开始接收数据时,线程将收到的数据暂放在缓存区内,其他应用层线程需要CAN数据时直接从缓存区读取。车辆工控机与车载单元进行CAN数据交互前需要车载单元发送认证请求,车辆工控机回复随机数,车载单元通过加密算法计算后回复密钥完成校验。无人驾驶的控制数据关系车辆的安全,此方法保证了系统运行的安全性。

车载单元与云平台家里TCP连接后,网络收发线程首先发送登录鉴权信息 (每个车载单元与车辆会在云平台Web注册),云平台验证通过后回复车载单元完成登录;为验证链接状态,防止某一方掉线后另一端重复发送指令,车载单元每10s发送一次心跳信息,云平台收到并回复;在发送数据之前,车载单元向云平台发送校时信息,保证双方信息包时间的统一;完成上述准备工作后,车载单元与云平台开始按照制定的通信格式进行周期性信息和触发性信息的交互 (周期性信息指随时需要上报的信息,如车速、雷达状态;而触发性信息指在特定条件下才需要发送的信息,如开始约车、车辆到达起点)。图2为子系统之间的通信交互。

2.3 远程约车策略

图2 子系统之间的通信交互

图3 为车-终端-云平台之间的约车策略及系统流程图。①无人驾驶车辆在停车场进行充电 (车载单元报告状态,报告内容:正在充电、状态正常、自动驾驶软件关闭、传感器关闭),车辆处于休眠状态;②云平台接收到约车命令后,向车载单元发送唤醒命令,无人驾驶车辆启动,将自动驾驶软件、传感器打开,车载单元将本车传感器状态、无人驾驶软件状态上传 (报告内容:自动驾驶软件、传感器状态、GPS状态)。③GPS、雷达、软件状态正常时,云平台下发从停车场到路线起始点的路点文件和路网文件。车辆收到路点文件和路网文件后,向云平台校验接收成功。云平台下发启动命令,车辆接收启动命令后,云平台根据车辆实时回传GPS信息,判断车辆是否成功启动,是否正常运行,若车辆回传GPS与轨迹GPS不一致,则车辆故障,打开警示灯,等待救援;④车辆执行完停车场到起点的路点文件和路网文件,车辆停止后,车辆上传已到达起点至云平台,云平台发送进入接管状态指令,并下发从停车场到路线起始点的路点文件和路网文件,车辆收到路点文件和路网文件后,向云平台校验接收成功;⑤乘客上车后,云平台下发启动命令,车辆接收启动命令后,进入自动驾驶模式,车辆启动。云平台根据车辆实时回传GPS信息,判断车辆是否成功启动,是否正常运行。若车辆回传GPS与轨迹GPS不一致,则车辆故障;⑥车辆行驶过程中乘客可以选择临时停车,临时停车后有两种选择,一是继续行驶,二是结束约车;⑦车辆行驶到终点,停车后车辆发送已到达预设位置信号至云平台,云平台发送进入接管状态指令。云平台判断,若有新任务,云平台下发新路点文件和路网文件。若无任务,云平台下发路线终点位置到停车场路点文件和路网文件。

3 测试验证

本文实验采用中国汽车技术研究中心的无人驾驶与智能网联实验平台进行验证,验证无人车工控机与车载单元的CAN网络信息交互,包含传感器信息、驾驶行为信息和车辆状态信息;验证车载单元与云平台的网络信息交互,包含信息上报格式、车辆数据的准确性和链接的状态验证;并通过手机APP发送约车指令,验证约车功能的逻辑是否正确,行驶过程中路点文件、控制信息的准确度,保证车辆到达目的地并能应对突发情况,约车系统联合测试过程如图4所示。

图3 远程约车策略实现流程图

图4 约车系统联合测试过程

4 结束语

无人驾驶技术已经成为汽车行业的研究重点,本文依据现阶段的无人驾驶技术,设计园区内的无人车约车系统,具有全面的数据传输能力和远程控制功能,在园区内无人驾驶参观、游览等应用方向具备创新性进展,经过APP、智能车、车载单元和云平台的联合验证,此系统满足数据传输、逻辑判断和远程控制等基本功能要求,具有低延迟、高可靠的性能要求。此外,本文所述的远程约车系统的整体架构和约车策略的设计方案,对无人驾驶技术的应用有一定的参考价值。

猜你喜欢
约车模组车载
某车载提神香氛功效验证及应用
一种车载可折叠宿营住房
云南所有高铁动车唯一车载杂志
首汽约车针对不同用户收不同费用
移远通信:以利润换市场
首汽约车改制大考
高通联发科等公司与阿里达成合作
SA2型76毫米车载高炮多视图
全模组电源选购