无人车控制方法、无人车、服务器和无人车系统与流程

文档序号:12613634阅读:232来源:国知局
无人车控制方法、无人车、服务器和无人车系统与流程
本发明涉及人工智能领域,特别是一种无人车控制方法、无人车、服务器和无人车系统。
背景技术
:人工智能是当前最热门的话题之一,其中,无人车的发展又是人工智能领域的一个重点。无人车可以应用于多种领域,特别是在物流领域,能够减少人工操作,降低人力成本,提高物流运输的自动化。由于无人车的许多行为需要由后端进行调控,因此无人车和后端控制中心的通信显得极其重要。现有技术中采用无线遥控器进行操控的方式距离短、抗干扰性和穿透性差,而采用远程通信的方式由于消息传递的不及时会导致控制中心不能及时对无人车进行有效控制,甚至可能会导致道路交通安全问题。技术实现要素:本发明的一个目的在于提出一种服务器与无人车之间远程通信的方案,提高消息传输的及时性。根据本发明的一个方面,提出一种无人车控制方法,包括:无人车通过移动通信网络与服务器建立长连接;接收来自服务器的控制消息;根据控制消息驱动无人车执行操作。可选地,还包括:无人车向服务器发送状态消息并作为保持与服务器的长连接的心跳消息。可选地,状态消息中包括车速、位置、方向、电量、货舱门状态和/或请求人工驾驶信息。可选地,根据控制消息驱动无人车执行操作包括:根据控制消息中的前进指令、后退指令和/或转向指令执行无人车驱动操作。可选地,根据控制消息驱动无人车执行操作包括:根据控制消息中的视频传输指令开启行车记录,并将画面传输给服务器。可选地,根据控制消息驱动无人车执行操作包括:根据控制消息中的目的地址变更指令变更无人车运动的目的地址。可选地,根据控制消息驱动无人车执行操作包括:根据控制消息中的路线信息确定无人车的行车路线,并根据行车路线运动。可选地,还包括:当无人车发生故障时,向服务器发送故障消息,故障消息中包括故障原因信息。可选地,还包括:无人车根据预定格式生成向服务器发送的上行消息,其中,上行消息包括连接建立消息、状态消息、连接释放消息和/或故障消息,上行消息中包括无人车消息标识、无人车所属站点标识、无人车标识、目的地址、有效载荷字段长度、消息类型标识、消息序号、有效载荷和/或校验码。通过这样的方法,无人车与服务器之间能够建立长连接,能够及时获取来自服务器的控制消息并及时做出反应执行操作,降低数据丢失的风险,提高消息传输的及时性。根据本发明的另一个方面,提出一种无人车控制方法,包括:服务器与无人车建立长连接;向无人车发送控制消息以驱动无人车执行操作。可选地,还包括:接收来自无人车的状态消息,并将状态消息作为保持与无人车长连接的心跳消息。可选地,状态消息中包括车速、位置、方向、电量、货舱门状态和/或请求人工驾驶信息;无人车控制方法还包括:根据状态消息确定无人车的行驶状态是否正常;当无人车的行驶状态不正常时,根据预定正常行驶状态生成控制消息。可选地,无人车控制方法还包括:当状态消息中包括请求人工驾驶信息时,根据工作人员的远程控制操作生成控制消息。可选地,还包括:接收来自无人车的故障消息;基于预定规则生成与故障消息相匹配的控制消息;和/或,根据工作人员的故障排除操作生成控制消息;向无人车发送控制消息以驱动无人车执行操作包括:将生成的控制消息发送给无人车以排除无人车的故障。可选地,还包括服务器根据预定格式生成向无人车发送的下行消息,其中,下行消息包括连接建立消息、控制消息和/或连接释放消息,下行消息中包括无人车消息标识、无人车所属站点标识、无人车标识、目的地址、有效载荷字段长度、消息类型标识、消息序号、有效载荷和/或校验码。通过这样的方法,服务器与无人车之间能够建立长连接,服务器的控制消息能够准确及时的到达无人车从而实现对无人车的控制,降低数据丢失的风险,提高消息传输的及时性。根据本发明的又一个方面,提出一种无人车,包括:无人车长连接控制模块,用于通过移动通信网络与服务器建立长连接;控制消息接收模块,用于接收来自服务器的控制消息;操作执行模块,用于根据控制消息驱动无人车执行操作。可选地,还包括:无人车长连接控制模块还用于向服务器发送状态消息并作为保持与服务器的长连接的心跳消息,状态消息中包括车速、位置、方向、电量、货舱门状态和/或请求人工驾驶信息。可选地,操作执行模块具体用于:根据控制消息中的前进指令、后退指令和/或转向指令执行无人车驱动操作。可选地,操作执行模块具体用于:根据控制消息中的视频传输指令开启行车记录,并将画面传输给服务器。可选地,操作执行模块具体用于:根据控制消息中的目的地址变更指令变更无人车运动的目的地址。可选地,操作执行模块具体用于:根据控制消息中的路线信息确定无人车的行车路线,并根据行车路线运动。可选地,还包括:故障告警模块,用于当无人车发生故障时,向服务器发送故障消息,故障消息中包括故障原因信息;可选地,还包括:上行消息生成模块,用于根据预定格式生成向服务器发送的上行消息,其中,上行消息包括连接建立消息、状态消息、连接释放消息和/或故障消息,上行消息中包括无人车消息标识、无人车所属站点标识、无人车标识、目的地址、有效载荷字段长度、消息类型标识、消息序号、有效载荷和/或校验码。这样的无人车能够与服务器之间能够建立长连接,能够及时获取来自服务器的控制消息并及时做出反应执行操作,降低数据丢失的风险,提高消息传输的及时性。根据本发明的再一个方面,提出一种无人车服务器,包括:服务器长连接控制模块,用于与无人车建立长连接;控制消息发送模块,用于向无人车发送控制消息以驱动无人车执行操作。可选地,服务器长连接控制模块还用于接收来自无人车的状态消息,并将状态消息作为保持与无人车长连接的心跳消息。可选地,状态消息中包括车速、位置、方向、电量、货舱门状态和/或请求人工驾驶信息;服务器还包括:状态反馈模块,用于根据状态消息确定无人车的行驶状态是否正常,当无人车的行驶状态不正常时,根据预定正常行驶状态生成控制消息。可选地,状态反馈模块用于当状态消息中包括请求人工驾驶信息时,根据工作人员的远程控制操作生成控制消息。可选地,控制消息中包括前进指令、后退指令、转向指令、视频传输指令、目的地址变更指令和/或路线信息。可选地,服务器还包括:故障消息接收模块,用于接收来自无人车的故障消息;故障反馈模块基于预定规则生成与故障消息相匹配的控制消息;和/或,根据工作人员的故障排除操作生成控制消息;控制消息发送模块用于将生成的控制消息发送给无人车以排除无人车的故障。可选地,服务器还包括:下行消息生成模块,用于根据预定格式配置向无人车发送的下行消息,其中,下行消息包括连接建立消息、控制消息和/或连接释放消息,下行消息中包括无人车消息标识、无人车所属站点标识、无人车标识、目的地址、有效载荷字段长度、消息类型标识、消息序号、有效载荷和/或校验码。这样的无人车服务器能够与无人车之间能够建立长连接,服务器的控制消息能够准确及时的到达无人车从而实现对无人车的控制,降低数据丢失的风险,提高消息传输的及时性。根据本发明的另外一个方面,提出一种无人车系统,包括上文中提到的任意一种无人车;和,上文中提到的任意一种无人车服务器。这样的无人车系统中,服务器与无人车之间能够建立长连接,服务器的控制消息能够准确及时的到达无人车以便无人车及时做出反应执行操作,降低数据丢失的风险,提高消息传输的及时性。另外,根据本发明的另一个方面,提出一种无人车系统,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中提到的任意一种无人车控制方法。这样的无人车系统中,服务器与无人车之间能够建立长连接,服务器的控制消息能够准确及时的到达无人车以便无人车及时做出反应执行操作,降低数据丢失的风险,提高消息传输的及时性。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1为本发明的无人车控制方法的一个实施例的流程图。图2为本发明的无人车控制方法的另一个实施例的流程图。图3为本发明的无人车的一个实施例的示意图。图4为本发明的无人车的另一个实施例的示意图。图5为本发明的无人车服务器的一个实施例的示意图。图6为本发明的无人车服务器的另一个实施例的示意图。图7为本发明的无人车系统的一个实施例的示意图。图8为本发明的无人车系统的另一个实施例的示意图。图9为本发明的无人车系统的又一个实施例的示意图。具体实施方式下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。本发明的无人车控制方法的一个实施例的流程图如图1所示。在步骤101中,无人车通过移动通信网络与服务器建立长连接。在一个实施例中,移动通信网络可以包括第三代移动通信网络、第四代移动通信网络和下一代移动通信网络。无人车上可以装配有移动通信模块,用于通过移动通信网络与服务器建立连接,从而实现远程通信。在一个实施例中,无人车与服务器之间的通信可以采用TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/因特网互联协议),通过三次握手建立连接、四次挥手释放连接,从而实现与现有通信网络的兼容。当建立连接后,无人车与服务器保持长连接状态,基于已建立的长连接进行信息交互。在步骤102中,无人车接收来自服务器的控制消息。在步骤103中,无人车根据控制消息驱动无人车执行操作。通过这样的方法,无人车与服务器之间能够建立长连接,能够及时获取来自服务器的控制消息并及时做出反应执行操作,降低数据丢失的风险,提高消息传输的及时性。在一个实施例中,无人车可以向服务器发送心跳消息以保证长连接状态。由于无人车会较为频繁的向服务器发送状态消息,因此将状态消息作为心跳消息。通过这样的方法,一方面保证了无人车与服务器之间的长连接,提高消息传输的及时性,另一方面还能够避免单独传输额外的心跳消息,降低了网络的负担。在一个实施例中,状态消息中可以包括车速、位置、方向、电量以及货舱门状态等信息中的一个或多个,以便服务器及时获知车辆状态并做出相应的反应,实现服务器对无人车的实时监控。在一个实施例中,状态消息中还可以包括请求人工驾驶信息,以便工作人员在服务器端进行人工驾驶控制操作,提高无人车对于紧急或复杂情况的处理能力,提高无人车运行的鲁棒性。在一个实施例中,无人车接收到来自服务器的控制消息时,可以识别控制消息的种类及其具体的控制内容,进而进行对应的操作。如:若控制消息中包括前进指令、后退指令、转向指令等,则无人车根据接收到的指令执行对应的操作,从而实现服务器对于无人车每个动作的控制。若控制消息中包括视频传输指令,则无人车将行车记录信息发送给服务器。若无人车未开启摄像头,则开启摄像头,并将行车记录信息实时发送给服务器,从而提高了服务器对于无人车的实时监控能力。若控制消息中包括目的地址变更指令,则修改无人车的目的地址,无人车可以重新进行路径规划,向新的目的地址行驶,从而提高了无人车行驶的灵活性。若控制消息中包括路线信息,则将服务器提供的路线信息作为行车路线,按照行车路线进行行驶,从而便于服务器对于无人车的行车路径进行规划,提高无人车的可控性。若控制消息中包括订单信息,且订单信息中包括多个订单,则根据订单信息提取每个订单的目的地址,并依次将每个订单的目的地址作为行驶的目的地址,从而便于实现连续的路线控制,减少信息交互,特别是在物流领域,可以一次性实现多个订单的派送,减少无人车在站点之间的往返时间,提高派送效率。在一个实施例中,无人车可以根据每个订单的目的地址进行统一路径规划,对目的地址进行排序,规划能够到达各个目的地址的最优顺序和最优路径,提高行车效率。在一个实施例中,当无人车发生故障时,可以向服务器发送故障消息,故障消息中包括故障原因信息,从而便于服务器及时获取无人车的故障状态,采用相应的控制信息进行故障排除,提高无人车的安全性和稳定性。在一个实施例中,为了便于无人车与服务器之间的交互,需要采用统一的协议。无人车根据预定格式生成向服务器发送的上行消息,上行消息可以包括连接建立消息、状态消息、连接释放消息、故障消息等。上行消息中包括无人车消息标识、无人车所属站点标识、无人车标识、目的地址、有效载荷字段长度、消息类型标识、消息序号、有效载荷、校验码等信息,以便保证实现消息的识别、无人车的识别、字段识别、消息类型识别以及数据校验等功能。组包完成后,调用相关函数将包结构转换成字节数组,然后基于TCP/IP协议和移动通信协议封装后以帧的形式发送到服务端。在一个实施例中,上行消息的格式可以如表1所示:表1上行消息字段示意表各个字段的取值范围可以如表2所示:字节索引内容取值(bit)0~1SF0X552~3LEN0~655354~5SEQ0~655356~7STATION0~655358~17SYSID0~28018~19COMP0~6553520~21MSG0~6553522~23CDTYPE0~6553524~24+nPAYLOAD具体数据25+n~26+nCRC(CRA+CRB)根据校验结果确定表2各字段取值消息结构中,SF(StartFlag,起始标志位)可以用于协议版本的标志,在一个实施例中,可以以“0x55”作为帧标志位,确定该消息为无人车与服务器之间交互的消息。该字段可以用于保证消息发送方和接收方的协议版本一致,避免由于版本不一致导致的错误。LEN字段标识了payload(有效载荷)字段的数据长度,在消息的接收端通过该字段可以计算出整个帧的长度,便于判断接收消息帧的总长度及计算校验码变量。SEQ字段为帧的序列号,消息的发送端每发送一个帧就会将该字段自动加一,接收端可以根据该字段是否连续判断是否有丢包。SEQ字段初始值为0,每发送一次自动加1,到65535则又从0开始。STATION字段为站点ID,该字段用于区分无人车归属的不同站点或配送站点等,用于站点信息查询等操作,具体信息如表3所示。SYSID字段为发送包的ID,具体可以为无人车编号,用于消息接收端识别是哪个无人车发来的消息。COMP可以为终端设备(无人车或控制系统)的单元编号,也可以作为保留字段供扩展使用。MSG可以为消息编号,不同的有效载荷对应不同的消息编号,该字段用于区分消息的类型,如0为状态消息、1为连接建立消息、10为登录消息等,以便于接收端有针对性的解析有效载荷的内容。CDTYPE字段为有效载荷的编码格式标识,具体字段值设置可以如表3所示。PAYLOAD字段为有效数据载荷,包括需要传输的实际数据。PAYLOAD字段的长度为可变长,最小帧中不包括有效数据载荷,最小帧大小为26bytes。CRC为校验码,包括CRA和CRB字段,可以为是对所有字段字节进行移位处理后相加的结果,用于确定该数据包未发生误码、数据丢失错误。表3部分字段值设置同时,无人车获取的来自服务器的信息的格式与无人车发送给服务器的信息的格式相同。通过这样的方法,可以采用完整的通信协议实现服务器与无人车之间的信息交互,便于将无人车的状态发送给服务器,以及获取和解析服务器的控制消息。在一个实施例中,无人车获取来自服务器的信息后,首先会获取无人车下行消息中的无人车消息标识,如获取消息结构体0~1字节字段,判断是否为预定标识(如0X55),当无人车消息标识与预定标识匹配时,则确定消息为来自无人车的消息,否则抛弃该消息;进而根据LEN字段获取无人车下行消息的长度;根据校验码字段信息校验无人车下行消息,若校验不成功,则抛弃该消息;若校验成功,则进一步根据消息类型标识确定无人车下行消息的类型,根据无人车下行消息的类型解析有效载荷部分的数据信息。通过这样的方法,能够成功校验和解析来自服务器的信息,一方面能够校验是否传输错误,保证解析信息的准确性,另一方面能够利用上述验证手段避免对错误消息中的载荷字段的进行解析,降低了无人车信息处理的负担。本发明的无人车控制方法的另一个实施例的流程图如图2所示。在步骤201中,服务器与无人车建立长连接。在一个实施例中,无人车与服务器之间的通信可以采用网络通信协议TCP/IP,通过三次握手建立连接、四次挥手释放连接,从而实现与现有通信网络的兼容。当建立长连接后,无人车与服务器保持长连接状态,基于已建立的长连接进行信息交互。在步骤202中,服务器向无人车发送控制消息以驱动无人车执行操作。在一个实施例中,控制消息中可以包括前进指令、后退指令、转向指令、开启视频传输指令、修改目的地址指令,配置订单指令等中的一个或多个。通过这样的方法,服务器与无人车之间能够建立长连接,服务器的控制消息能够准确及时的到达无人车从而实现对无人车的控制,降低数据丢失的风险,提高消息传输的及时性。在一个实施例中,服务器可以将获取的来自无人车的状态消息作为心跳消息以确定无人车处于在线状态,保证与无人车的长连接。通过这样的方法,一方面保证了无人车与服务器之间的长连接,提高消息传输的及时性,另一方面还能够避免单独传输额外的心跳消息,降低了网络的负担。在一个实施例中,状态消息中可以包括车速、位置、方向、电量以及货舱门状态等信息中的一个或多个,服务器能够根据状态消息及时获知车辆状态并做出相应的反应,实现服务器对无人车的实时监控。在一个实施例中,服务器可以根据状态消息判断无人车是否正常行驶,如与预定的车速、位置、方向进行比较,当与预定值的差距大于阈值时,确定车辆行驶异常,可以下发控制消息进行纠正;判断电量是否小于电量门限,若小于电量门限,则控制车辆前往充电点充电;判断车门是否正常关闭,若未正常关闭,则下发控制消息关闭车门,或控制车辆前往人工服务点供工作人员手动关门等。通过这样的方法能够实现服务器对无人车的实时监控,提高了无人车运行的可靠性。在一个实施例中,服务器还可以根据状态信息中的位置、方向等内容记录车辆的行车路线,便于进行大数据运算,实现路径优化,提高行驶效率。在一个实施例中,状态消息中还可以包括请求人工驾驶信息,服务器端的工作人员可以根据该请求进行人工驾驶控制操作,提高无人车对于紧急或复杂情况的处理能力,提高无人车运行的鲁棒性。在一个实施例中,服务器端还可以主动要求进行人工驾驶控制操作,服务器端的控制信息优先级高于无人车的自动驾驶信息,因此无人车能够根据服务器端的控制信息进行行驶,从而进一步提高了无人车的可控性。在一个实施例中,服务器还能够接收来自无人车的故障消息,并根据故障种类生成相匹配的控制消息发送给无人车,无人车在按照控制消息执行操作后能够解除故障,从而实现了故障的自动排除,提高无人车运行的稳定性。在一个实施例中,若未能根据故障种类获取相匹配的控制消息,则服务器可以请求人工干预,将工作人员配置的故障排除操作生成控制信息,并发送给无人车进行故障排除,从而进一步提高了无人车运行的稳定性。在一个实施例中,服务器能够根据预定格式生成向无人车发送的下行消息。下行消息可以包括连接建立消息、控制消息、连接释放消息等。下行消息中包括无人车消息标识、无人车所属站点标识、无人车标识、目的地址、有效载荷字段长度、消息类型标识、消息序号、有效载荷、校验码等信息,以便保证实现消息的识别、无人车的识别、字段获取、消息连接以及数据校验等功能。在一个实施例中,下行消息的格式、各字段的取值范围、部分字段值的设置可以如表1~3所示,从而便于采用完整的通信协议实现服务器与无人车之间的信息交互,便于获取和解析来自无人车的状态消息,并向无人车发送控制消息。在一个实施例中,服务器获取来自无人车的信息后,首先会获取消息中的无人车消息标识,如获取消息结构体0~1字节字段,判断是否为预定标识(如0X55),当无人车消息标识与预定标识匹配时,则确定消息为来自无人车的消息,否则抛弃该包;进而根据LEN字段获取无人车下行消息的长度;根据校验码字段信息校验无人车下行消息,若校验不成功,则抛弃该数据包;若校验成功,则进一步根据消息类型标识确定无人车下行消息的类型,根据无人车下行消息的类型解析有效载荷部分的数据信息。例如,当服务器收到来自无人车的消息后,调用C++/Java语言的相关函数从socket(套接字)端口获取字节数组;判断前两个字节是否是0x55,若不是则抛弃该包;若确认成功,则获取第3、4个字节,转换成10进制,即为PAYLOAD字段长度;根据PAYLOAD字段长度确定整个帧的长度;进而对整个帧数据的每个字节进行计算得到校验和,与CKA,CKB的值进行比较,一致则继续解包,否则抛弃;按字节依次获取SYSID、MSG和PAYLOAD的字节段,转换成具体的业务包结构;通过以上步骤,服务端解包完成,从MSG字段中获取了消息类型,从PAYLOAD字段中获取了具体的业务信息,然后服务端回复确认消息给无人车。例如,若消息类型为登录请求,且登录成功,则服务器向无人车返回登录成功消息。通过这样的方法,能够成功校验和解析来自服务器的信息,一方面能够校验是否传输错误,保证解析信息的准确性,另一方面能够利用上述验证手段避免对错误消息中的载荷字段进行解析,降低了服务器信息处理的负担。本发明的无人车的一个实施例的示意图如图3所示。其中,无人车长连接控制模块301能够通过移动通信网络与服务器建立长连接。在一个实施例中,移动通信网络可以包括第三代移动通信网络、第四代移动通信网络和下一代移动通信网络。无人车长连接控制模块301可以利用无人车上装配的移动通信模块通过移动通信网络与服务器建立连接,从而实现远程通信。在一个实施例中,无人车与服务器之间的通信可以采用网络通信协议TCP/IP,通过三次握手建立连接、四次挥手释放连接,从而实现与现有通信网络的兼容。当建立长连接后,无人车与服务器保持长连接状态,基于已建立的长连接进行信息交互。控制消息接收模块302能够接收来自服务器的控制消息。操作执行模块303能够根据控制消息驱动无人车执行操作。这样的无人车能够与服务器之间建立长连接,能够及时获取来自服务器的控制消息并及时做出反应执行操作,降低数据丢失的风险,提高消息传输的及时性。在一个实施例中,无人车长连接控制模块301可以向服务器发送心跳消息以保证长连接状态。由于无人车长连接控制模块301会较为频繁的向服务器发送状态消息,因此可以将状态消息作为心跳消息。这样的无人车一方面保证了无人车与服务器之间的长连接,提高消息传输的及时性,另一方面还能够避免单独传输额外的心跳消息,降低了网络的负担。在一个实施例中,状态消息中可以包括车速、位置、方向、电量以及货舱门状态等信息中的一个或多个,以便服务器及时获知车辆状态并做出相应的反应,实现服务器对无人车的实时监控。在一个实施例中,状态消息中还可以包括请求人工驾驶信息,以便工作人员在服务器端进行人工驾驶控制操作,提高无人车对于紧急或复杂情况的处理能力,提高无人车运行的鲁棒性。在一个实施例中,无人车接收到来自服务器的控制消息时,操作执行模块可以识别控制消息的种类及其具体的控制内容,进而进行对应的操作。如:若控制消息中包括前进指令、后退指令、转向指令等,则操作执行模块根据接收到的指令执行对应的操作,从而实现服务器对于无人车每个运动动作的控制。若控制消息中包括视频传输指令,则操作执行模块将行车记录信息发送给服务器。若无人车未开启摄像头,则操作执行模块开启摄像头,并将行车记录信息实时发送给服务器,从而提高了服务器对于无人车的实时监控能力。若控制消息中包括目的地址变更指令,则操作执行模块修改无人车的目的地址,无人车可以重新进行路径规划,向新的目的地址行驶,从而提高了无人车行驶的灵活性。若控制消息中包括路线信息,则操作执行模块将服务器提供的路线信息作为行车路线,按照行车路线进行行驶,从而便于服务器对于无人车的行车路径进行规划,提高无人车的可控性。若控制消息中包括订单信息,且订单信息中包括多个订单,则操作执行模块根据订单信息提取每个订单的目的地址,并依次将每个订单的目的地址作为行驶的目的地址,从而便于实现连续的路线控制,减少信息交互,特别是在物流领域,可以一次性实现多个订单的派送,减少无人车在站点之间的往返时间,提高派送效率。在一个实施例中,操作执行模块可以根据每个订单的目的地址进行统一路径规划,对目的地址进行排序,规划能够依次到达各个目的地址的最优顺序和最优路径,提高行车效率。本发明的无人车的另一个实施例的示意图如图4所示。其中,无人车长连接控制模块401、控制消息接收模块402和操作执行模块403的结构和功能与图3所示实施例中相似。无人车还包括故障告警模块404,能够在无人车发生故障时向服务器发送故障消息,故障消息中包括故障原因信息,从而便于服务器及时获取无人车的故障状态,采用相应的控制信息进行故障排除,提高无人车的安全性和稳定性。在一个实施例中,如图4所示,无人车还包括上行消息生成模块405,能够根据预定格式生成向服务器发送的上行消息,上行消息可以包括连接建立消息、状态消息、连接释放消息、故障消息等。上行消息中包括无人车消息标识、无人车所属站点标识、无人车标识、目的地址、有效载荷字段长度、消息类型标识、消息序号、有效载荷、校验码等信息,以便保证实现消息的识别、无人车的识别、字段识别、消息类型识别以及数据校验等功能。在一个实施例中,上行消息的格式、各字段的取值范围、部分字段值的设置可以如表1~3所示,从而便于采用完整的通信协议实现服务器与无人车之间的信息交互,便于将无人车的状态发送给服务器,以及获取和解析服务器的控制消息。在一个实施例中,无人车还可以包括消息解析模块,用于在获取来自服务器的信息后,首先获取无人车下行消息中的无人车消息标识,如获取消息结构体0~1字节字段,判断是否为预定标识(如0X55),当无人车消息标识与预定标识匹配时,则确定消息为来自无人车的消息;进而根据LEN字段获取无人车下行消息的长度;根据校验码字段信息校验无人车下行消息,若校验成功,则进一步根据消息类型标识确定无人车下行消息的类型,根据无人车下行消息的类型解析有效载荷部分的数据信息。这样的无人车能够成功校验和解析来自服务器的信息,一方面能够校验是否传输错误,保证解析信息的准确性,另一方面能够利用上述验证手段避免对错误消息中的载荷字段进行解析,降低了无人车信息处理的负担。本发明的无人车服务器的一个实施例的示意图如图5所示。其中,服务器长连接控制模块501能够与无人车建立长连接。在一个实施例中,无人车与服务器之间的通信可以采用TCP/IP,通过三次握手建立连接、四次挥手释放连接,从而实现与现有通信网络的兼容。当建立长连接后,无人车与服务器保持长连接状态,基于已建立的长连接进行信息交互。控制消息发送模块502能够向无人车发送控制消息以驱动无人车执行操作。在一个实施例中,控制消息中可以包括前进指令、后退指令、转向指令、开启传输视频指令、修改目的地址指令、配置订单指令等中的一个或多个。这样的服务器能够与无人车之间建立长连接,服务器的控制消息能够准确及时的到达无人车从而实现对无人车的控制,降低数据丢失的风险,提高消息传输的及时性。在一个实施例中,服务器长连接控制模块501能够获取来自无人车的状态消息。状态消息中可以包括车速、位置、方向、电量以及货舱门状态等信息中的一个或多个,服务器能够根据状态消息及时获知车辆状态并做出相应的反应,实现服务器对无人车的实时监控。在一个实施例中,服务器可以将获取的来自无人车的状态消息作为心跳消息以确定无人车处于在线状态,保证与无人车的长连接。这样的服务器一方面保证了无人车与服务器之间的长连接,提高消息传输的及时性,另一方面还能够避免单独传输额外的心跳消息,降低了网络的负担。本发明的无人车服务器的又一个实施例的示意图如图6所示。其中,服务器长连接控制模块601和控制消息发送模块602的结构和功能与图5的实施例中相似。无人车服务器还包括状态反馈模块603,当服务器长连接控制模块601接收到状态消息后,状态反馈模块603能够根据状态消息判断无人车是否正常行驶,如与预定的车速、位置、方向进行比较,当与预定值的差距大于阈值时,确定车辆行驶异常,可以下发控制消息进行纠正;判断电量是否小于电量门限,若小于电量门限,则控制车辆前往充电点充电;判断车门是否正常关闭,若未正常关闭,则下发控制消息关闭车门,或控制车辆前往人工服务点供工作人员手动关门等。这样的无人车服务器能够保证对无人车的实时监控,提高了无人车运行的可靠性。在一个实施例中,状态反馈模块603还可以根据状态信息中的位置、方向等内容记录车辆的行车路线,便于进行大数据运算,实现路径优化,提高行驶效率。在一个实施例中,状态消息中还可以包括请求人工驾驶信息,服务器端的工作人员可以根据该请求进行人工驾驶控制操作,状态反馈模块603向无人车反馈人工驾驶操作的控制信息,提高无人车对于紧急或复杂情况的处理能力,提高无人车运行的鲁棒性。在一个实施例中,服务器端还可以主动要求进行人工驾驶控制操作,状态反馈模块603向无人车反馈人工驾驶操作的控制信息,服务器端的控制信息优先级高于无人车的自动驾驶信息,因此无人车能够根据服务器端的控制信息进行行驶,从而进一步提高了无人车的可控性。在一个实施例中,如图6所示,无人车服务器还可以包括故障消息接收模块604和故障反馈模块605,其中,故障消息接收模块604能够接收来自无人车的故障消息,故障反馈模块605能够根据故障种类生成相匹配的控制消息发送给无人车,无人车在按照控制消息执行操作后能够解除故障,从而实现了故障的自动排除,提高无人车运行的稳定性。在一个实施例中,若故障反馈模块605未能根据故障种类获取相匹配的控制消息,则服务器可以请求人工干预,故障反馈模块605将工作人员配置的故障排除操作生成控制信息,并发送给无人车进行故障排除,从而进一步提高了无人车运行的稳定性。在一个实施例中,服务器还可以包括下行消息生成模块,与服务器长连接控制模块601相连接,能够根据预定格式生成向无人车发送的下行消息。下行消息可以包括连接建立消息、控制消息、连接释放消息等。下行消息中包括无人车消息标识、无人车所属站点标识、无人车标识、目的地址、有效载荷字段长度、消息类型标识、消息序号、有效载荷、校验码等信息,以便保证实现消息的识别、无人车的识别、字段识别、消息类型识别以及数据校验等功能。在一个实施例中,下行消息的格式、各字段的取值范围、部分字段值的设置可以如表1~3所示,从而便于采用完整的通信协议实现服务器与无人车之间的信息交互,便于获取和解析来自无人车的状态消息,并向无人车发送控制消息。在一个实施例中,服务器获取来自无人车的信息后,首先会获取消息中的无人车消息标识,如获取消息结构体0~1字节字段,判断是否为预定标识(如0X55),当无人车消息标识与预定标识匹配时,则确定消息为来自无人车的消息;进而根据LEN字段获取无人车下行消息的长度;根据校验码字段信息校验无人车下行消息,若校验成功,则进一步根据消息类型标识确定无人车下行消息的类型,根据无人车下行消息的类型解析有效载荷部分的数据信息。这样的服务器能够成功校验和解析来自服务器的信息,一方面能够校验是否传输错误,保证解析信息的准确性,另一方面能够利用上述验证手段避免对错误消息中的载荷字段的进行解析,降低了服务器信息处理的负担。本发明的无人车系统的一个实施例的示意图如图7所示。其中,无人车701与无人车服务器702之间建立长连接,无人车701可以是上文中提到的任意一种无人车,无人车服务器702可以是上文中提到的任意一种无人车服务器。监控中心703和手持终端704可以通过网络访问无人车服务器702,便于工作人员进行多终端查看和操作。无人车701可以通过移动通信网络接入网络,无人车701接入基站705,与无人车服务器702之间进行通信。这样的无人车系统中,服务器与无人车之间能够建立长连接,服务器的控制消息能够准确及时的到达无人车以便无人车及时做出反应执行操作,降低数据丢失的风险,提高消息传输的及时性。本发明的无人车系统的另一个实施例的示意图如图8所示,无人车系统包括存储器810和处理器820。其中:存储器810可以是磁盘、闪存或其它任何非易失性存储介质。存储器810用于存储上文中无人车端的无人车控制方法所对应实施例中的指令。处理器820耦接至存储器810,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器820用于执行存储器中存储的指令,能够实现在无人车端的无人车控制。存储器810还可以用于存储上文中无人车服务器端的无人车控制方法所对应实施例中的指令。处理器820耦接至存储器810,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器820用于执行存储器中存储的指令,能够实现在无人车服务器端对的无人车的控制。在一个实施例中,还可以如图9所示,无人车系统900包括存储器910和处理器920。处理器920通过BUS总线930耦合至存储器910。该无人车系统900还可以通过存储接口940连接至外部存储装置950以便调用外部数据,还可以通过网络接口960连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1