SCI论文(www.lunwensci.com)
摘要: 本文介绍了无人驾驶车辆信息系统的组成及 Web 服务工作原理,设计了一款无人驾驶车辆的信息 管理软件。该软件使用 HTML+jQuery 进行开发,并以 HTTP 协议进行通信,部署简单且使用方便,能 够对无人驾驶车辆的各种运行信息进行监控和设置。
关键词: Web 服务,HTTP 协议,无人驾驶车辆,信息管理
Design of unmanned vehicle information management software based on Web Service Fang Zimu, Wang Bo, Cai Xibin, Song Zhenhua, Li Yuxi
(Xi’an Modern Control Technology Research Institute, Xi’an Shaanxi, 710065)
Abstract: This paper introduces the composition of the unmanned vehicle information system and the working principle of Web service, designs an information management software for unmanned vehicles. The software is developed with HTML + jQuery and uses HTTP protocol to communicate. It is simple to deploy and easy to use, and can manage various operation information of unmanned vehicles.
Key words: Web service; HTTP protocol; unmanned vehicle; information management
一、引言
近年来,随着社会对无人驾驶车辆智能化要求 的逐步提高,车辆上安装的电子设备也在不断增 加。为了保证车辆的安全行驶,相关人员必须对这 些设备的运行状况进行实时监控,并在需要的情况 下对参数进行调整。常见的方案是在车载计算机上 部署管理程序,并通过车内显示器和键鼠来显示和 操作数据,但该方案不支持远程访问。本文设计并 实现了一种基于 Web 服务的无人驾驶车辆信息管理 软件,能够实现对无人驾驶车辆的远程管理,且该 软件部署便捷、操作简单。
二、无人驾驶车辆信息系统组成
无人驾驶车辆上安装的电子设备较多,这些电 子设备之间的互联互通构成了无人驾驶车辆信息系 统 [1] 。信息系统的核心是规划计算机,其是整个 车辆的决策者和信息中转者,几乎所有信息的传输 均需要经过规划计算机。
如果按照通信方式(接口) 对设备进行划分, 那么典型的无人驾驶车辆信息系统的构成如图 1 所示。
(一)串行接口
串行接口是采用串行通信方式接口,如 RS422、USB 等。使用串行接口的多为惯导组件、 定位组件、防碰撞雷达等传感器设备。使用串行接 口设备的数据传输量一般不大,但是对实时性的要 求较高,因此需要直接连接规划工控机,并由规划工控机进行信息采集。
(二)CAN总线接口
CAN 总线是一种支持分布式、实时控制的通信 总线,主要用于车辆底盘设备之间的通信,包括底 盘控制器(ECU) 、制动机构、转向机构、油门机 构等 [2]。规划计算机也连接在 CAN 总线之上,因 此可以随时与底盘各设备建立通信。
(三)网络接口
这里的网络指的是以太网(Ethernet),随着 无人驾驶车辆智能化程度的提高和车联网的普及, 使用网络接口的设备在逐渐增多。交换机是所有网 络数据交换的中心节点,不仅可以使规划计算机和 各个网络设备建立通信,而且可以将网络上的数据 通过无线网关(WIFI、5G 等)传递到远端。
三、Web服务
(一)基于HTTP协议的Web服务
Web 服务(Web Service) 是一种面向服务的技术,能够接受用户的网络服务请求并为之提供相 应的功能服务。Web 服务常用的通信协议有 HTTP、 SOAP 等 [3]。
HTTP 协议是基于请求 / 响应模型构建的,其 工作流程如下。
客户端上的浏览器使用链接地址建立与服务器 上的Web服务之间的连接,并打开对应的HTML网页;
浏览器需要某个数据时,会向 Web 服务发送 HTTP 请求;
Web 服务会建立一个新的子进程,用于执行 CGI(公共网关接口)程序;
Web 服务会将相关参数传递至 CGI 程序;
Web 服务获取 CGI 程序的执行结果,通过 HTTP 响应反馈给浏览器,并在网页上显示。
HTTP 协议定义了 8 种请求类型,包括 GET、 POST、PUT 等 [4],其中的 POST 是本文所用的请求。
POST 请求消息是由请求行、请求头部、空行 和请求体组成,其中,请求体可以用于存储浏览器 向 Web 服务发送的内容,例如需要查询哪些数据、 设置哪些参数等。POST 请求对应的响应消息由状 态行、响应头部、空行和响应体 4 个部分组成,其 中,响应体可以用于Web服务向浏览器反馈的数据, 例如查询到的数据内容。
(二)JavaScript语言与jQuery框架
HTML 是一种标记语言,只能用于实现静态页 面,因此,为了实现数据实时刷新、参数设置等动 态功能, 需要使用 JavaScript 语言。JavaScript 是一种脚本语言,能够嵌入 HTML 语言。
JavaScript 语言有许多第三方的框架(代码 库),其中, jQuery是一个简洁的JavaScript框架, 其封装了 JavaScript 常用的功能代码,可以用来 向 HTML 网页添加交互行为。
本研究使用的是 jQuery 3.5.1. 在实现 POST 请求时,主要调用的是 $.post () 函数,调用方 法 为 $.post (URL,data,callback,dataType)。 其 中,URL 为请求的链接,服务器可以使用 URL 来分 辨客户端的需求,如分辨数据查询和参数设置; callback 为回调函数, 可不使用;dataType 为服 务端响应的数据类型,本文使用的是 json 格式。
在 $.post () 函数执行完成后,服务器会给客 户端回传响应。回传的响应主要用于存放服务器查 询到的数据内容。响应的内容存放在 dataType 变 量中,程序可以对 dataType 中保存的 json 格式内 容进行解析,从而获取查询到的数据内容。
四、Web服务设计
信息管理软件采用 B/S 模式(浏览器 / 服务器模式)进行设计。
(一)网页文件
当客户端的浏览器访问 Web 服务时,浏览器可 通过 HTTP 协议获取并打开网页,因此技术人员需 要提前设计好服务端的网页文件。本文涉及的网页 文件有四类:第一,HTML 文件,网页文件的主体 定义了网页的内容, 包括各种控件, 主要是文本框、 按钮及显示图像、视频的标签;第二,JavaScript 文件,能够被 HTML 文件引用的脚本文件,定义了 HTML 文件上各种控件的规则,如文本刷新、按钮 响应等;第三, CSS 文件, 规定了 HTML 文件的样式, 用于定义 HTML 网页上各个控件的布局;第四,其 他文件, 主要是图片等资源文件, 可以被HTML引用。 (二)服务端与客户端间的数据传输
无人驾驶车辆信息管理软件的所有信息和交互 元素的显示,都以控件的形式布置在网页上,主要 分为以下几种类型:第一,状态监控,以文本的形 式在网页上显示,如车辆的行驶速度和挡位、设备 的运行情况和工作模式等;第二,参数设置,以文 本框和按钮的形式在网页上显示,文本框用于输入 参数值,按钮用于点击后将参数传递给服务端,如 车辆限速设置、设备工作模式设置等;第三,图片 显示,以图片的形式在网页上显示,一般为感知设 备处理后得到的点云图片;第四,视频显示,获取 摄像头处的视频流并在网页上显示。
除视频外,服务端和客户端之间的数据交互均 通过 POST 的方式进行传输,三种数据涉及的数据 传输流程如图 2 所示。
第一,浏览器在加载完成 HTML 网页的所有标 签之后,自动执行 jQuery 的入口函数。
第二,启动定时器,用于定时向 Web 服务发出 POST 请求来查询状态或者获取图片。Web 服务在接 收到该请求之后,会调用 CGI 程序来获取状态或图 片信息,并将这些信息通过响应反馈给客户端。客户端会对响应进行解析,并将解析得到的数据用于 实时刷新网页上的显示内容。、
第三,如果操作者点击网页上的参数按钮,系 统便会向 Web 服务发出 POST 请求,以对某些参数 进行设置。服务器在接收到请求之后,会对请求进 行解析,并将解析得到的参数传递给 CGI,由 CGI 对相应的设备进行设置。
(三)服务端数据处理
如上文所述,POST 请求对应的类型有状态监 控、参数设置及图片三种。Web 服务在接收到 POST 请求后,会根据 URL 中关键字的不同来判断 POST 请求类型,并调用不同的 CGI 程序。
当 URL 为“get/state ?”时,Web 服务调用 的 CGI 程序会通过串行接口、CAN 总线接口获取各 个设备的状态,并返还给 Web 服务。Web 服务将这 些设备状态打包成 json 格式,并通过响应反馈给 客户端。客户端在得到 json 格式数据后,会将其 解包,然后把获得的状态在网页上刷新。
当 URL 为“get/pic ?”时,Web 服务调用的 CGI 程序会获取其他程序计算得到的点云图片,并 将其保存为二进制流。Web 服务将二进制流嵌入 json 数据,并通过响应反馈回客户端。客户端在 得到 json 格式数据后,将二进制流提取出来,并 重新转化为图片在网页上刷新。
当URL为“set/para1=d1¶1=d2……?”时, CGI 程序会对“para1=d1¶1=d2……”这一字 符串进行解析,并将各设备的状态按照 para1、 para2……进行重新设置。例如,para1 参数为限 速时, CGI 程序会将 ECU 中的速度上限设置为 d1; para2 参数为模式时, CGI 程序会将规划计算机的 工作模式设置为 d2.以此类推。
五、程序的部署与运行
Web 服务只需要部署在车辆的规划计算机上, 即可通过规划计算机上的浏览器实现本地访问,但 是,为了保证局域网内其他计算机上的浏览器能够 访问,还需要部署代理服务器,本文使用的代理服 务器为 Nginx 1.23.
客户端不需要专门的程序部署,只需要为浏览 器安装 VLC 插件即可。任意一台接入局域网的计算 机,只要使用浏览器访问 Web 服务,即可实现对信 息管理软件及摄像头视频流的访问,实际访问效果 如图 3 所示。其中,第一行为状态监控区域,显示 规划计算机获取到的各设备状态;第二行为参数设 置区域,点击按钮即可对相应的参数进行设置;第 三行左侧区域为实时获取的点云图片,右侧区域为 实时获取的摄像头视频
六、结语
本文设计了一个基于 Web 服务的无人驾驶车辆 信息管理软件,其部署在无人驾驶车辆的规划工控 机上, 使用 HTML+jQuery 进行开发, 并以 HTTP 协 议进行通信。客户端可通过浏览器监控车辆设备监 控与设置参数,并实时查看点云图片和车辆摄像头 视频。软件经过实际运行检验,执行可靠、操作简 单,后续可在无人驾驶领域推广应用。
【参考文献】
[1]钱玉 宝,余米森,郭旭涛,黄华 宝,李世震.无人 驾驶车辆智能控制技术发展[J] .科学技术与工 程,2022(10).
[2]吴大勇.车辆数据采集中CAN总线的应用[J].中小 企业管理与科技(下旬刊),2017(06).
[3]胡舜良.基于HTTP的WEB Server监控系统[J].微 计算机信息,2011(09).
[4]林小钰,冯文龙,陈诚.基于HTTP协议的车载终端 数据传输的实现[J].信息系统工程,2014(02).
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网! 文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/51753.html