智能车辆窄路协调通行的远端控制技术
滕政哲 林士飏 王界钦 张天淼 穆虎255022) (山东理工大学,淄博
【摘要】为避免对向行驶的自动驾驶车辆进入窄路段后出现会车死结的情况,设计了一种基于 Android的车辆远程控制系统,利用车联网通信技术实现车辆在窄路段的协同控制,并利用远程车辆实时控制技术使车辆在进入窄路段前调整合适的速度形成集群通行窄路段,减少车辆的等待时间。仿真分析结果表明,云端集成的远程控制系统使车辆窄路通行效率大幅提高。
主题词:窄路通行 远程控制 自动驾驶 车联网U495;TP311.1 A 10.19620/j.cnki.1000-3703.20200908中图分类号: 文献标识码: DOI:
1 前言
目前,国内对于车辆远程驾驶技术的研究大多集中在远程获取车辆的信息以及对简单电器设备的控制,包括远程控制车辆起动、打开和关闭车门、车辆定位等[1]。白云伟等人设计和开发出了一款远程控制车
APP, XMPP
辆的 采用 通信协议进行手机端和车载系统的通信[2]。曹正策等人提出基于车联网技术的分时租赁系统方案和分时租赁控制系统方案[3]。李治民等人提出了一种基于硬件在环半实物仿真平台的远程控制系统的测试方法[4]。智能网联汽车研究目前主要集中在车辆的换道、超
Nie
车、避碰,以及交叉路口附近车辆的协同控制。 等人提出了一种分布式自动驾驶车辆换道决策框架[5]。
Michael Düring
等人提出了自动驾驶汽车协同运动规划
Huang
的方法[6]。 等人提出了一种新型混合控制系统[7],
利用人工势场的方法实现对车辆路径的规划和运动控制。然而,对于窄路场景下车辆的协同运动却鲜有研究,可以预见,若无相应机制,当两对向行驶的无人驾驶车辆进入窄路段,可能会触发前向避碰机制,使车辆停于窄路导致会车死结情况的发生。为满足窄路场景下车辆协调通行需求,本文提出一
Android Socket
种基于 的车辆远程驾驶系统,通过 通信、
Socket
蓝牙 通信、九针串口连接的方式建立从控制端到
CAN
汽车 网络的连接,使用户通过控制界面实现对车辆的加速、制动、转向的远程控制,使得窄路两侧车辆形
成集群,以有效避免会车死结的发生,并对该系统集成于云端对于窄路场景下车辆通行效率的影响进行研究。
2 系统开发环境
Eclipse 2019 ,
电脑端的控制程序以 作为开发平台
Server) Socket
控制界面( 通过 通信的方式实现与手机端
Client) JDK11
( 之间信息的传递。本文选用 作为编译和
Java Java JavaFX11
执行 程序的 开发环境,同时引入 作
Java
为外部依赖 集开发控制界面。
Android Studio
手机端的控制程序以 作为开发平
Socket GCAN-203
台,利用蓝牙 的通信方式实现手机与之间通信的连接,手机端的应用程序将从电脑端获得的
GCAN-203
控制字节流转传给 。
3 系统总体设计方案
操作人员通过电脑端的控制界面发送控制车辆运
APP, 13
动的指令给手机端 指令是由 个字节组成的数
APP
据帧。手机端的 获取电脑端控制指令后将其转传
GCAN- 203,GCAN- 203 DB9
给设备 将该数据帧通过 连
CAN
接器传送到汽车的 总线,从而实现对车辆运动的
1
控制。系统总体设计方案如图 所示。
3.1 系统硬件组成
Android
该系统硬件由笔记本电脑、 手机、设备
GCAN- 203 4
、汽车 个部分组成,其中,笔记本电脑选用
14, Windows 10 16 GB
惠普星 搭载 系统,拥有 运行内存,
Intel Core i7 Android
使用 处理器,满足电脑端 控制主程
Android Mate20x 5G
序的需求。 手机选用华为 版手机,
Android 9 EMUI 9.0, 980
其操作系统为基于 的 搭载麒麟
8 GB 5G
处理器,拥有 运行内存,可以使用 网络。
GCAN-203 CAN
为沈阳广成科技有限公司的蓝牙转 总
H7,
线设备。汽车选用哈弗 该车辆经改造,后备箱内
dSPACE MicroAutoBox, CAN
搭载 公司的 有外接汽车 总
DB9 12 V
线的 连接器,以及为后备箱设备供电的超威 、
60 A · h
的汽车蓄电池,转向盘下加装步进电机用于接
CAN GCAN
收来自 总线的报文后进行转向动作。设备
203 CAN
是将电脑端的控制指令发送到汽车 总线上的
2
关键硬件,如图 所示。
GCAN- 203
目前, 已广泛应用于现场总线实验室、
CAN
智能小区、工业控制、总线网络领域中的数据处
CAN
理、 总线网络控制节点的数据采集等方面,该设备
CAN-Bus 5 Kb/s~1 Mb/s
具有 通信波特率在 间任意可编
9~24 V - 40~85 ℃
程、使用 直流供电、工作温度范围为 、
300 /s 6
最高数据流量为 帧 等性能特点,其 个引脚的定
1
义如表 所示。
GCAN-203 CAN
为了保证设备 与汽车 总线在车辆行驶过程中连接的稳定性,消除物理连接不良导致数
DB9
据发送失败的可能性,制作九针串口的 连接器(公
CAN
头)与连接汽车 总线的九针串口母头相连。为使
GCAN-203 CAN
设备 正常与汽车上的 总线进行控制信
GCAN-203 4 CAN_L) DB9
息传递,需要将 的 号引脚( 与
2 CAN_L) GCAN- 203 6
连接器的 号引脚( 以及 的 号引
CAN_H) DB9 7 CAN_H)
脚( 与 连接器的 号引脚( 用导线连接。
3.2 系统软件设计
3.2.1
电脑端软件的设计
本文将电脑端作为车辆运动的控制终端,利用
Eclipse JDK11 JavaFX11
开发平台,引入 以及 作为开发环境,进行程序的开发,该程序主要完成控制界面的设
Socket
计、 通信架构的搭建(服务端)、按钮点击事件的
3
构建 个部分。
3.2.1.1
控制界面的设计
4
电脑端控制界面设计了上、下、左、右 个键位,分别对应车辆的加速、制动、左转和右转控制。此控制界
JavaFX11 jar
面的开发用到了 中一些 包中的方法,所以
Java javafx.*.*
在 编程的初始阶段需要导入 包,保证界面设计调用方法能够被正确使用。
3.2.1.2 Socket
通信架构搭建
Socket
是一种相对底层的网络编程方式,是支持
TCP/IP TCP/IP
协议的网络通信中的基本操作单元。在
5 Socket
协议的 层模型中, 位于应用层和传输层之间,是
Socket 3
抽象层。 的通信模型如图 所示。
Server)
由该通信模型可以明确电脑端( 与手机端
Client) Socket Server
( 建立 通信的编程流程。 服务端初
55533,
始化时设置一个端口,本文选用端口 然后建立
ServerSocket
一个 绑定该端口号并对该端口进行监听,
accept() ServerSocket
之后调用 方法为 接收请求并返回
Socket IP,
一个 对象。客户端初始化时需设置端口和 并
Socket IP
建立一个 绑定该端口和 。本文双方建立连接
getInputStream() getOutputStream()
后用 和 的方法获得输入字节流和输出字节流,并建立缓冲区对数据进行读
Socket getInputStream()
取。由于本文使用了 通信以及 和
getOutputStream()
等方法,需要在程序编写的初始阶段
java.net.Socket java.net.ServerSocket java.io.
导入 、 、
OutputStream java.io.InputStream jar
、 等 包。
3.2.1.3
按钮点击事件的构建
Socket
完成控制界面的构建以及 通信架构搭建后,为了在点击按钮时能够传递相应的控制指令,需
4
要对按钮点击事件进行设计,事件构建流程如图所示。
Calendar.
其中,计算机时钟内时间的获取使用
getInstance() get(Calendar.MINUTE)
中的 方法以及
get(Calendar.SECOND)
方法。按键按下与抬起时间的差值作为汽车加速、制动及转向动作幅度的依据,将取得
16 Socket的数值转化为对应的 进制数写入 通信模块中服务端的输入字节流,按键抬起时将对应的控制指令从电脑端发送到手机端。3.2.2
手机端软件的设计
GCAN
本文将手机作为控制信息从电脑发送到
203
的中间设备,其作为客户端接收来自电脑服务端的
Socket
字节流,同时将其通过蓝牙 进行转传。手机端
Android Android Studio
主程序以 为开发平台,该程序主
APP Socket
要完成手机 主界面的设计、蓝牙 通信的构
Socket 3
建、 通信客户端程序的编写 个部分。
3.2.2.1 APP
手机 主界面设计
layout activity_main.xml
手机端主界面运用 中的 文
Button TextView Button
件设计 控件和 控件。 控件完成
Server
对蓝牙的搜索连接任务,向 服务端发送连接请求
TextView
任务, 控件完成对来自客户端的控制指令的显
5
示。手机端主界面如图 所示。3.2.2.2 Socket
蓝牙 通信的构建
APP GCAN- 203
为实现手机 与设备 之间的蓝牙
Socket
通信,需在配置文件中添加相关权限,包括允许程序连接到已配对的蓝牙设备、允许程序发现和配对蓝
Socket
牙设备、允许程序打开网络套接字。手机端蓝牙
6
通信的程序设计流程如图 所示。
4 远程驾驶可行性测试4.1 通信协议
Socket Socket
通过 通信及蓝牙 的方式传送的控制
GCAN
信息(报文),需遵循车辆的控制接口协议以及
203 CAN2.0B
使用的 协议帧格式,才能保证传输的报文
CAN2.0B
被各节点正确接收。 协议帧格式决定了一条
CAN 13 1 4
帧包含 个字节,其中包括 个字节的帧信息,
ID 8
个字节的帧 以及 个字节的帧数据,帧信息指明了该帧的帧类型和数据长度。所使用的车辆的控制接口协
0X08,
议决定了本文中帧信息设为 表示该帧为数据帧和
8 ID 0X238
标准帧,数据长度为 个字节;帧 为 表明该帧用
500 Kb/s,
于主动加速、减速以及转向请求;波特率为 同
Motorola
时使用 的编码格式。车辆的控制接口协议如
2
表 所示。
4.2 通信测试
CAN
为了保证传输到汽车 总线上数据的准确性,排除因数据帧错误导致相应节点无法接收而造成的车辆远程控制失败,需要在实车测试前进行通信测试。具
12 V G- CAN203
体方法是通过 的蓄电池为设备 供电,
USB- CAN DB9 USB
使其与 适配器通过 连接器相连,
CAN USB
适配器再通过 接口与电脑连接。
USB-CAN CAN
适配器可以作为一个标准的 节点,
USB2.0 2 CAN
带有 接口和 路 接口,其与电脑连接后可
USB- CAN Tool
通过 对接收到的数据进行解析,判断从
7
电脑端发送的数据是否正确,测试软件如图 所示。7
由图 所示软件,可获取从电脑端控制界面发送的ID
数据,包括 号、帧类型、帧格式、长度,由此判断通信链路可行性。
4.3 实车测试
GCAN- 203 CAN
理论上,当设备 与汽车的 总线连接后,电脑端的控制界面就可以向汽车发送控制信息,
GCAN-203 DB9
本文将设备 置于汽车后备箱,使用 连接
CAN DB9 CAN1
器将其与汽车 总线的外接 连接器 相连,
8
从电脑端发送控制信息进行验证,如图 所示。电脑端控制界面点击“上”键后,电脑端通过通信链
0x080000023844000000**000000
路向汽车发送 数据
** 1
帧,其中 代表 个字节的目标驱动加速度;点击“下”按 键 后 ,向 汽 车 发 送 数 据 帧
0x08000002384800000000##0000, ## 1
其中 代表 个字节的目标制动减速度;点击“左”“右”按键后,向汽车发送
0x0800000238420000000000XXXX, XXXX
数据帧 其中
2
代表 个字节的目标转向盘转角,向左转向数值范围为
0~32 767, 32 768~65 535
向右转向数值范围为 。通过电脑端控制车辆的加速、制动、转向动作,可实现对车辆的远程控制。
5 窄路仿真验证5.1 理论方法
[8] Cooperative Speed文献提出了合作速度协调(汽车技术
Harmonization,CSH) 2
的方法,证明了 条不同道路的车
CSH
辆交替通过交叉口的可行性。为了做到这一点,将同一道路车辆分组,使其像波浪一样向交叉口移动,
2 CSH
对于 条交汇的道路, 分别运用不同的波长,以集中控制的方法使车辆接近最近的虚拟波,不同道路上的波浪会在不同的时间轮流到达交叉口。但是这种方法只适用于到达交叉口后车辆同向行驶的情况,对于窄路对向行驶的车辆不完全适用。因此,本文只借鉴其方法,使车辆到达到窄路段前形成集群,车辆集群过
9
程如图 所示。9
由图 可以看出,道路左侧的车辆由虚线波引导,道路右侧的车辆由实线波引导,车辆会通过对自身速度的调整使其向最接近的虚拟波靠拢,同一运行方向的车
10
辆在道路上形成分组集群。如图 所示,以道路右侧
B
被实线波引导的车辆 为例,车辆运行速度由以下过程获得:
首先取得窄路段中心位置与车辆前波间的距离dw:式中, PIDT、、、为控制器参数; vmin为车辆运行的最小速
Δet
度; 为 et的差值;最大运算符可使差值et过低时有合适的控制器输出速度。进入窄路段前,车辆会根据上述速度控制方式形成集群,当车辆将要进入窄路段,中止该速度控制方式,改由以下方式对车辆进行速度的控制:车辆进入窄路段时会提前得到对向集群的信息以及道路信息,如集群内车辆运行速度、集群的规模、集群内车辆的间隙、窄路段的长度。车辆依据当前获取的信
10
息,合理规划进入窄路的行车速度,其过程见图 。
11
图 所示为窄路通行过程。窄路左侧集群中的主
V1,
车为 长度为LV1,其后的跟随车辆为V2,V1 V2
与的距离为Lg1,窄路端的长度为LW,目标车辆与窄路段的距离为Lr。由此可以得出:
5.2 仿真场景建置
本文打通了车辆远程控制的通信链路,在可期的未来将系统完善后置于云端,可以远程控制区域内车辆的联合运动。本文针对窄路场景,云端收集该区域内的道路环境信息后对车辆远程控制,理论上可以使行车更加
12
高效。窄路场景如图 所示。
SUMO
为了验证车辆在窄路处的通行效率,使用 搭
NETEDIT
建窄路场景进行仿真。利用 对仿真所需路网
net.xml) rou.xml)
文件( 、车流文件( 以及附加文件进行设
60 m
计。其中路网文件中构筑长度为 的狭窄路段,车流文件设计车辆的数量、行驶路径以及车辆本身的属性,附加文件中设置瞬时感应线圈以记录车辆进入和离
3
开窄路的时间。本文共设计了 组对照仿真工况,分别
50 75 100 2
使 辆、 辆、 辆汽车从窄路段通过,每组进行 次仿真,其中一次使车辆在远程驾驶下通过窄路,另一次使车辆依据自身的驾驶模型自由通过窄路段用来模拟人工驾驶。
6 结果与分析
SUMO-GUI
通过 运行搭建的仿真场景获得车辆运行整体情况以及各探测器的取得的结果,对取得的数据
3
进行处理,得到了 组通过窄路段汽车的数量与时间的关系以及车辆整个运行过程的平均速度与时间的关系,
13 14
分别如图 和图 所示。
13 3
由图 可知,在人工驾驶的方式下,种不同数量的汽车全部通过窄路段所需时间均大于远程控制方式所需时间,同时可以看出,远程控制的方式汽车通行过程较为规律,因此在远程控制下汽车的通行效率更高。
75
在远程控制下,出现 辆汽车通过窄路所需时间大于
100
辆汽车通过窄路所需时间的情况。这与仿真软件
SUMO
中车辆出现的时间点相关,由于车辆出现的时间点随机,若某一时段内车辆出现较少,按照该机制对车辆速度进行控制,形成的集群内车辆的数量将相对较少,因此车辆全部出现时将形成更多的集群,使得交替通过窄路的次数增多,通过窄路所需的时间增加,这与现实中路口处车流密度实时变化情况相符。14
由图 可知,在人工驾驶的方式下,汽车在整个运行过程中速度的波动较大,出现过停车的状况,其运行
3 14c 0~210 s
过程大致分为 个阶段,以图 为例:在第 时由于没有集群同行的机制,存在一侧车辆在窄路前等待
210~302 s
的状况;第 时等待一侧的车辆找准时间间隙
302~373 s
开始通过窄路;第 窄路处车辆开始通行顺畅,车辆整体平均速度提升。而在远程控制下,车辆运行速
20 m/s
度平稳,速度维持在约 。由于每次经过窄路段的
75
车辆数量随机, 辆汽车一组在远程控制下由于通过
100
窄路次数较多,导致其时间略长于 辆汽车在远程控制下通过窄路段所需时间。
13 14
综合图 和图 可以得出,在远程控制的方式下车辆通过窄路段效率更高,因为所有车辆被集中控制,这允许车辆间有更小的距离,同时收集到的窄路范围内的道路环境信息使得车辆能够以合适的速度通过路口而无需停车,避免了车辆在路口起停的时间损耗。
7 结束语
Android
本文设计了一种基于 的车辆远程控制系
TCP Socket OBEX
统,使用支持 协议的 以及支持 协议的
Socket
蓝牙 的通信方式实现了字节流的传输,利用
GCAN-203 CAN
将字节流信息传输到汽车 总线,实现了
SUMO
对车辆的远程操纵,通过 构筑窄路场景,验证了远程驾驶系统集成在云端可以大幅提高车辆通行效率。本文未完成云端系统的构建,未来将通过路侧设备、车载传感以及通讯设备完成对道路环境信息的获取,在云端进行信息处理后,通过本文设计的车辆远程控制系统完成决策的执行,实现从云端整体控制窄路处车辆的通行。
参考文献
[1] , , , . [C]//陈静 于永彦 贾晓龙 等 汽车远程控制方案浅析2018 . :中国汽车工程学会年会论文集 北京 机械工业出版, 2018: 1234-1235.社CHEN J, YU Y Y, JIA X L, et al. Analysis of Remote Control Scheme of Vehicle[C]// Proceedings of the 2018 Annual Meeting of China Society of Automotive Engineering. Beijing: China Machine Press, 2018: 12341235. [2] , . Android APP[J].白云伟 李丽萍 基于 的车辆远程控制 计, 2020, 29(2): 112-117.算机系统应用BAI Y W, LI L P. Android Based Vehicle Remote Control APP[J]. Application of Computer System, 2020, 29(2): 112117. [3] , , .曹正策 谭威 马浩 电动汽车分时租赁控制系统的研究[J]. , 2019, 36(1): 110-114.通信电源技术CAO Z C, TAN W, MA H. Research on Control System of Electric Vehicle Time Sharing Lease[J]. Communication Power Supply Technology, 2019, 36(1): 110-114. [4] , , , . APP李治民 张东波 林杰 等 汽车 远程控制测试方法研[J]. , 2019(10): 59-62.究 汽车文摘LI Z M, ZHANG D B, LIN J, et al. Research on Test Method of Vehicle Remote Control System[J]. Automotive Digest, 2019(10): 59-62. [5] NIE J Q, ZHANG J. Decentralized Cooperative LaneChange Decision- Making for Connected Autonomous Vehicle[J]. IEEE Access, 2016, 4: 9413-9420. [6] DÜRING M, LEMMER K. Cooperative Maneuver Planning for Cooperative Driving[J]. IEEE Intelligent Transportation Systems Magazine, 2016, 8(3): 8-22. [7] HUANG Z C, CHU D F, WU C Z, et al. Path Planning and Cooperative Control for Automated Vehicle Platoon Using Hybrid Automata[J]. IEEE Transacion on Intelligent Transportation Systems, 2019, 20(3): 959-974. [8] ENGLUND C, CHEN L, VORONOV A. Cooperative Speed Harmonization for Efficient Road Utilization[C]// Proceedings of the 7th International Workshop on Communication Technologies for Vehicles, 2014. (责任编辑 斛畔) 2020 10 12修改稿收到日期为 年 月 日。