谢勇波, 李 祥, 冯 拔, 王文明
(1.长沙中车智驭新能源科技有限公司, 湖南 长沙 410083; 2.中车时代电动汽车股份有限公司, 湖南 株洲 412007)
自动驾驶客车配备毫米波雷达、激光雷达、远程车载套件等设备,采集自动驾驶客车的车辆运行数据、感知数据、场景数据,上传到自动驾驶客车监控管理系统,进而相应地进行存储、分析、展示[1-2]。本文提出构建自动驾驶客车监控管理系统的设计方案,以满足自动驾驶客车进行数据(感知、场景)采集、存储、分析的要求[3]。自动驾驶客车监控管理系统设计方案主要包含业务框架、功能框架、技术框架、视觉框架。
自动驾驶客车监控平台以自动驾驶客车为载体,聚焦自动驾驶客车实时监控、场景回溯、车速建议、路径下发等功能的应用,联通车端、路端、云端数据[4],满足自动驾驶车辆产品对云平台的要求,从而配套自动驾驶项目的落地。 其中,车端数据主要包含现有车辆数据、 感知数据;路端数据包括红绿灯数据、其他路侧设备数据;云端对车端、路端的数据进行管理。
自动驾驶客车监控平台业务架构分为四层:用户登录层、业务描述层、服务支持层、数据支持层,如图1所示。
图1 业务架构
1) 用户登录层。用户输入账号、密码、验证码进行登录操作。
2) 业务描述层。包含监控总览、线路监控、实时监控、场景回溯、路径下发、车速建议。
3) 服务支持层。包含定时任务、异常监控、权限登录。
4) 数据支持层。包含数据中心。
通过分析业务框架,可知自动驾驶客车监控管理系统所包含的功能有:监控总览、线路监控、实时监控、场景回溯、路径下发、车速建议。
1) 监控总览。默认为查看全国所有城市汇总的自动驾驶线路、车辆在线和行驶情况。若选择指定城市则查看对应城市的线路、车辆运行情况。地图支持通过鼠标进行由全国到省市县地区精准缩放显示,默认为查看城市维度的各城市车辆的当前在线数汇总,进一步放大后为查看该城市各线路车辆在线数汇总,放至最大时展示具体某条线路上的车辆运行情况及轨迹,包含展示数据总览、线路总览以及图层设置。其中,数据总览涵盖自动驾驶道路里程、自动驾驶路线数、智慧站台数、路侧设备数;线路总览即自动驾驶线路的总体情况;图层设置包含RSU、路侧雷达、信号机、摄像头、5G基站、自动驾驶客车在地图上的分布情况。
2) 线路监控。显示某区域下自动驾驶线路的具体路线、路线上自动驾驶客车的分布、自动驾驶客车运行位置情况。线路监控由三个部分构成:第一部分为选择线路,选择需要查看的线路,可通过菜单在选择指定城市后在选项卡中选择线路总览后选择,或通过在地图上进行缩放操作缩放至线路界面选择,若已通过其他页面传递线路参数则跳过本界面直接进入线路详情界面;第二部分为线路详情,由线路运行模拟视图、线路快捷切换下拉菜单及地图构成,其中线路运行模拟视图根据已选择线路展示当前该线路车辆运行情况及站点数据;第三部分为到站预测,由线路运行模拟视图、线路快捷切换下拉菜单及地图构成,其中线路运行模拟视图根据已选择车辆展示当前该车辆在所属线路的到站情况与到站预测数据。
3) 实时监控。包含自动驾驶客车行驶在智慧公交线路上的实时状态,如自动驾驶客车感知数据(障碍物的名称、位置)、自动驾驶模式、方向盘转角、自动驾驶客车当前速度、自动驾驶客车当前位置、自动驾驶客车车门状态、自动驾驶客车转向灯状态、信号机红绿灯状态及转换秒数、自动驾驶客车踏板状态。
4) 场景回溯。对自动驾驶客车在过去某段时间内的监控状态进行回溯,内容包括自动驾驶客车感知数据(障碍物的名称、位置)、自动驾驶模式、方向盘转角、自动驾驶客车速度、自动驾驶客车位置、自动驾驶客车车门状态、自动驾驶客车转向灯状态、信号机红绿灯状态及转换秒数、自动驾驶客车踏板状态。
5) 路径下发。自动驾驶客车监控平台下发路径指令,自动驾驶客车收到路径下发指令后,执行新的行驶路径。自动驾驶客车监控平台管理者可根据实际情况更换车辆行驶路径,并提供相应的地图变更。在对路径下发操作时,需要进行权限验证,若密码验证和短信验证码验证均失败,则无权进行权限验证操作;在验证成功的前提下,生成路径下发任务。
6) 车速建议。自动驾驶客车监控平台下发车速指令,自动驾驶客车收到车速建议指令后执行相应的车速,并计算车辆预计到达下一站的时间,如果预计到达时间 > 计划到达时间,则判定为即将超时,此时便触发车速建议任务。其详细计算公式为建议车速=当前车辆位置与下一站距离 /(下一站计划到达时间-当前时间),并发出相应的车速提示。
WEB端自动驾驶客车监控平台包含的技术框架有前端技术框架和后端技术框架。
技术框架包括VUE[5]、ElemntUI,相关说明如下:
1) VUE:自动驾驶客车监控系统前端开发的渐进式框架。
2) ElemntUI:自动驾驶客车监控系统前端开发UI组件。
技术框架相关说明如下:
1) Java:面向对象的编程语言,作为自动驾驶客车监控系统后端开发的基础开发语言。
2) Springboot:专注于框架的框架[6],用于简化自动驾驶客车后端开发。
3) SpringCloud:开发自动驾驶客车监控系统遵循微服务框架的规范。
图2 监控总览
图4 实时监控及场景回溯
4) Fegin:一个声明WEB服务客户端,实现自动驾驶客车监控系统服务间的接口远程调用。
5) Sentinel:轻量级流量控制框架,用于自动驾驶客车监控系统流量控制、熔断降级等。
6) Seata:用于处理自动驾驶客车监控系统分布式事务。
7) SkyWalking:对自动驾驶客车监控系统的接口访问进行监控、追踪。
8) Tomcat:用于部署自动驾驶客车监控系统的容器。
9) Nigix:高性能的http服务器及反向代理服务器。
10) Redis:内存高速缓存数据库[7]。
11) Kafka:高吞吐量的分布式发布订阅消息系统[8],用于处理自动驾驶客车监控系统协议的消息。
12) Mybatis:ORM持久层框架。
13) Druid:自动驾驶客车监控系统所用的数据库连接池。
14) HBase:存储自动驾驶客车监控系统非关系型数据[9]。
15) MySQL:存储自动驾驶客车监控系统关系型数据。
本文的视觉框架主要指网页客户端设计[10],其原型[11]及UI设计[12]效果如图2、图3、图4所示。
图2所示的监控总览是对整个监控平台的数据总览,包含内容有自动驾驶道路里程、自动驾驶路线、智慧站台、路测设备、自动驾驶客车车辆总数以及相应的图层设置。
图3所示的线路监控是对智慧公交线路下的自动驾驶客车进行监控,包含线路的上下行、车辆当前位置、线路的站点数、配车数。
图4所示的实时监控是对自动驾驶客车当前感知的信息、位置信息、行驶记录信息、视频数据进行实时监控;所示的场景回溯则是对历史数据的回溯,回溯的内容与实时监控数据一致。
路径下发如图5所示,自动驾驶客车监控平台的管理者出于对实际情况的考虑,需要更换自动驾驶客车的行驶路径时,可通过此平台对某辆车下发相应的路径指令。
图5 路径下发
根据业务框架、功能框架设计出以上的原型及UI效果图,再根据技术框架中的详细技术最终编码实现自动驾驶客车监控平台的开发。
本文对自动驾驶客车监控平台[13-14]的业务框架、功能框架、技术框架、视觉框架进行的方案设计,为自动驾驶客车监控平台的实现提供了理论支撑,对智能网联技术发展有一定地推动作用,同时也有利于新能源汽车产业升级。