基于区块链的自动驾驶控制方法及装置与流程

文档序号:16043816发布日期:2018-11-24 10:42阅读:305来源:国知局

本发明涉及计算机技术领域,尤其涉及一种基于区块链的自动驾驶控制方法及装置。

背景技术

随着汽车持有量的增加,道路交通拥堵现象越来越严重,每年发生的交通事故也在不断上升,为了更好的解决这一问题,研究和开发汽车自动驾驶系统很有必要。

目前自动驾驶汽车主要采用车载雷达检测车辆周围环境,并根据感知所获得的道路、车辆位置和障碍物信息,控制车辆的转向和速度,从而使车辆能够安全、可靠地在道路上行驶,从而有效的减少直至消除由于驾驶员疏忽而导致的交通事故。

现有的一种汽车自动驾驶系统是由装在驾驶室的摄像机和图像识别系统辨别驾驶环境,然后由车载主控计算机、gps定位系统和路径规划软件根据预先存好的道路地图等信息对车辆进行导航,在车辆的当前位置和目的地之间规划出合理的行驶路径将车辆导向目的地。

上述汽车自动驾驶系统中,由于道路地图是预存于车辆内,其数据的更新依赖于驾驶员的人工操作,更新频率不能够保证,并且,即使驾驶员能够做到及时更新,也可能由于现有资源里没有关于道路的最新信息而使得最终得到的资料不能够反应当下的道路情况,最终造成行车路线不合理,导航准确率不高,给行车带来不便。



技术实现要素:

基于上述问题,本发明实施例提供了一种基于区块链的自动驾驶控制方法及装置。

第一方面,本发明实施例提供了一种基于区块链的自动驾驶控制方法。包括:

获取目标运载工具的位置和待执行动作,并将所述目标运载工具的位置和待执行动作记录在所述区块链中;

根据所述目标运载工具的位置,以及所述区块链记录的其他运载工具的位置和待执行动作,确定与所述运载工具相邻的第一运载工具的待执行动作;

根据所述第一运载工具的待执行动作调整所述目标运载工具的待执行动作;

根据调整后的目标运载工具的待执行动作控制所述目标运载工具。

在一个可选地实现中,所方法还包括:

通过分布在多个位置的多种环境模块实时获取环境信息;

每个环境模块将实时获取的环境信息和其所在位置记录在所述区块链中。

在另一个可选地实现中,还包括:

根据所述目标运载工具的位置,以及所述区块链记录环境模块的位置和环境信息,确定所述目标运载工具所在位置的环境信息。

在另一个可选地实现中,所述根据所述目标运载工具的位置,以及所述区块链记录的其他运载工具的位置和待执行动作,确定与所述运载工具相邻的第一运载工具的待执行动作包括:

通过车载传感器确定与所述目标运载工具相邻的第一运载工具,并确定第一运载工具与目标运载工具的相对位置;

根据所述目标运载工具的位置,以及所述区块链记录的其他运载工具的位置和待执行动作,选择位置与所述目标运载工具相邻的第二运载工具,获取所述第二运载工具的位置和待执行动作;

根据所述第一运载工具与目标运载工具的相对位置和所述第二运载工具位置,对所述第一运载工具和所述第二运载工具进行匹配,确定与所述第一运载工具匹配的第二运载工具的待执行动作为所述第一运载工具的待执行动作。

第二方面、本发明实施例还提供了一种基于区块链的自动驾驶控制装置。该装置包括:

第一记录单元,用于获取目标运载工具的位置和待执行动作,并将所述目标运载工具的位置和待执行动作记录在所述区块链中;

确定单元,用于根据所述目标运载工具的位置,以及所述区块链记录的其他运载工具的位置和待执行动作,确定与所述运载工具相邻的第一运载工具的待执行动作;

调整单元,用于根据所述第一运载工具的待执行动作调整所述目标运载工具的待执行动作;

控制单元,用于根据调整后的目标运载工具的待执行动作控制所述目标运载工具。

在一个可选地实现中,还包括:

获取单元,用于通过分布在多个位置的多种环境模块实时获取环境信息;

第二记录单元,用于每个环境模块将实时获取的环境信息和其所在位置记录在所述区块链中。

在另一个可选地实现中,所述确定单元还用于,根据所述目标运载工具的位置,以及所述区块链记录环境模块的位置和环境信息,确定所述目标运载工具所在位置的环境信息。

在另一个可选地实现中,所述确定单元具体用于:

通过车载传感器确定与所述目标运载工具相邻的第一运载工具,并确定第一运载工具与目标运载工具的相对位置;

根据所述目标运载工具的位置,以及所述区块链记录的其他运载工具的位置和待执行动作,选择位置与所述目标运载工具相邻的第二运载工具,获取所述第二运载工具的位置和待执行动作;

根据所述第一运载工具与目标运载工具的相对位置和所述第二运载工具位置,对所述第一运载工具和所述第二运载工具进行匹配,确定与所述第一运载工具匹配的第二运载工具的待执行动作为所述第一运载工具的待执行动作。

第三方面,本说明书实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述第一方面的方法步骤。

第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的方法。

第五方面,提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述第一方面所述的方法。

第六方面,提供了一种基于区块链的自动驾驶系统。该系统包括:

区块链节点,用于存储区块链;

运载工具模块,用于获取目标运载工具的位置和待执行动作,并将所述目标运载工具的位置和待执行动作记录在所述区块链中;根据所述目标运载工具的位置,以及所述区块链记录的其他运载工具的位置和待执行动作,确定与所述运载工具相邻的第一运载工具的待执行动作;根据所述第一运载工具的待执行动作调整所述目标运载工具的待执行动作;根据调整后的目标运载工具的待执行动作控制所述目标运载工具。

在一个可选地实现中,还包括:

环境模块,用于实时获取环境信息,以及将实时获取的环境信息和其所在位置记录在所述区块链中。

通过区块链实现运载工具之间位置以及待执行动作的同步,进一步可以结合同步的信息调整待执行动作,以避免运载工具之间待执行动作的干扰,从而降低运载工具事故发生率。

附图说明

图1为本发明实施例提供的一种自动驾驶系统示意图;

图2为本发明实施例提供的一种基于区块链的自动驾驶控制方法的流程图;

图3为本发明实施例提供的一种基于区块链的自动驾驶控制装置的结构示意图;

图4示出了本说明书实施例所提供的一种计算机设备结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种基于区块链的自动驾驶控制方法及装置。该方法适用于图1所示的自动驾驶系统,如图1所示,包括:区块链节点网络以及功能模块。其中,功能模块包括一个或多个运载工具模块120,可选地,还可以包括一个或多个环境模块130,例如,运载工具模块120可以包括车载电脑或者车载传感器模块、车载摄像机模块等等,该车载传感器模块可以包括车载雷达模块以及车载红外模块等等。环境模块130可以包括传感器模块或者摄像机模块等等。

运载工具模块120可以配置在运载工具上。运载工具模块120主要用于采集运载工具周围的信息、运载工具的运动状态以及待执行的动作,还用于生成待执行动作和控制运载工具执行待执行动作等等,例如,运载工具模块120可以包括控制模块以及信息采集模块,信息采集模块用于采集运载工具周围的信息、运载工具的运动状态以及待执行的动作,控制模块用于生成待执行动作和控制运载工具执行待执行动作。运载工具模块120还可以通过与区块链节点进行交互可以获取区块链以及将其获取的运载工具的信息记录在区块链中。例如,运载工具模块120,用于获取目标运载工具的位置和待执行动作,并将所述目标运载工具的位置和待执行动作记录在所述区块链中;根据所述目标运载工具的位置,以及所述区块链记录的其他运载工具的位置和待执行动作,确定与所述运载工具相邻的第一运载工具的待执行动作;根据所述第一运载工具的待执行动作调整所述目标运载工具的待执行动作;根据调整后的目标运载工具的待执行动作控制所述目标运载工具。

环境模块130分布在多个位置,该环境模块130可以包括多种。环境模块130主要用于采环境信息,并通过与区块链节点进行交互将采集的环境信息记录在区块链中。例如,环境模块130,用于实时获取环境信息,以及将实时获取的环境信息和其所在位置记录在所述区块链中。

区块链节点网络包括一个或多个区块链节点110,每个区块链节点上都可以下载完整的区块链,该区块链节点110可以与运载工具模块120以及环境模块130进行交互。其中,区块链节点与功能模块可以实现在同一具有计算能力的设备上,也可以分别有不同的设备实现。

本申请的申请人通过分析发现。目前的自动驾驶技术主要是根据已存在的环境信息来控制运载工具的运行。这些已存在的环境信息一般通过雷达或者摄像头获得,这些已存在的环境信息包括道路、车辆位置以及障碍物信息。但是,障碍物包括固定的障碍物和运动的障碍物,固定的障碍物可以有效避让,运动的障碍物由于其运动轨迹难以估计,所以很难避让。对于自动驾驶过程中的运载工具,其运动的障碍物主要包括其他运载工具以及行人。由于行人的运动速度较低,所以对自动驾驶造成的影响不大,但是,运动的其他运载工具,往往会对自动驾驶造成很严重的干扰,甚至造成交通事故。例如,两辆自动处于自动驾驶的运载工具相向而行,当双方都发现对方时,都会选择避让,但是如果选择的避让方向一致,则可能会相撞,造成交通事故。

为了解决运载工具在自动驾驶时相互之间的干扰,本发明实施例提供了一种基于区块链的自动驾驶控制方法及装置。通过结合区块链实现自动驾驶运载工具之间信息的同步,根据同步信息进行自动驾驶控制,以此减少处于自动驾驶状态的运载工具之间的相互干扰。

为便于对本发明实施例的理解,下面将结合附图以具体实施例作进一步的解释说明,实施例并不构成对本发明实施例的限定。

图2为本发明实施例提供的一种基于区块链的自动驾驶控制方法流程图。该方法适用于通过图1所示的场景中。如图2所示,区块链中包括环境信息,该方法具体包括:

s210,获取目标运载工具的位置和待执行动作,并将所述目标运载工具的位置和待执行动作记录在所述区块链中。

运载工具在处于自动驾驶的过程中,需要获取运载工具周围的环境信息以及运载工具自身的信息,并依据周围环境信息和自身的信息生成运载工具待执行动作,并确定该待执行动作的执行时机,该执行时机可以包括环境条件和/或者时间条件等,该待执行动作一般指下一个或多个动作,也就是即将执行的动作。

其中,运载工具周围环境信息可以通过其自身安装的传感器获取,也可以通过从区块链节点中获取,还可以结合二者获取的信息得到最终的环境信息。

在一个示例中,可以在自动驾驶环境中布置多个环境模块。该多个环境模块可以包括多种,该多个环境模块可以分布在多个位置。每个环境模块可以实时获取其所在位置的环境信息,并将该环境模块所在的位置以及其获取的环境信息通过区块链节点记录在区块链中。目标运载工具可以从区块链节点中获取区块链,根据目标运载工具的位置,以及区块链记录环境模块的位置和环境信息,确定该运载工具所在位置的环境信息。

在另一个示例中,可以将前述示例中从区块链中获取的环境信息以及通过车载传感器获取的环境信息,按位置进行融合,最终获得该目标运载工具其所在位置的环境信息。

运载工具自身的信息可以包括运载工具的运动状态、运载工具的位置、运载工具周围环境、以及运载工具待执行的动作等中的一项或多项。该运载工具自身的信息可以通过安装特定的组件获取,或者采集已有组件(例如位置组件)中的数据。其中,运载工具的运动状态可以包括运载工具的运行速度,加速度以及运载工具正执行动作等等。运载工具正在执行或待执行动作包括待行驶路线或者控制运载工具方向或速度的动作等等。控制运载工具方向或速度的动作可以包括转向、加速或减速等等。

在整个自动驾驶环境中,可以包括多个自动驾驶的运载工具,每个自动驾驶的运载工具都可以将各自的运载工具的信息,甚至车载传感器采集的环境信息通过区块链节点记录在区块链中。每个运载工具都可以通过区块链获取其他运载工具的信息。

s220,根据所述目标运载工具的位置,以及所述区块链记录的其他运载工具的位置和待执行动作,确定与所述运载工具相邻的第一运载工具的待执行动作。

目标运载工具可以从区块链节点中获取区块链,并结合其自身所在的位置和所述区块链记录的其他运载工具的位置,确定与运载工具相邻的运载工具,并获取该相邻的运载工具的位置和待执行动作。

另外,与目标运载工具相邻的运载工具的确定可以结合车载传感器获取的信息以及从区块链中获取的其他运载工具的位置进行综合得到,并进一步确定出相邻运载工具的待执行动作。具体可以通过如下步骤实现:

通过车载传感器确定与目标运载工具相邻的第一运载工具,并确定第一运载工具与目标运载工具的相对位置;该第一运载工具可以包括一个或多个。

根据目标运载工具的位置,以及区块链记录的其他运载工具的位置和待执行动作,选择位置与目标运载工具相邻的第二运载工具,获取所述第二运载工具的位置和待执行动作;该第二运载工具可以包括一个或多个。该第二运载工具的数量可以大于或等于第运载工具的数量。

根据第一运载工具与目标运载工具的相对位置和第二运载工具位置,对第一运载工具和第二运载工具进行匹配,确定与第一运载工具匹配的第二运载工具的待执行动作为第一运载工具的待执行动作。

由于记录在区块链中的运载工具的位置与该运载工具的实际位置可能存在一定的时差,所以,相邻运载工具的位置可以以车载传感器获取的位置为准,从区块链中获取的主要是相邻运载工具的待执行动作。

另外,在第一运载工具与第二运载工具进行匹配时,可以结合运载工具的标识信息,例如,该标识信息可以包括运载工具的颜色、类型以及车牌号等信息的一种或多种。

s230,根据所述第一运载工具的待执行动作调整所述目标运载工具的待执行动作。

在确定目标运载工具位置相邻的运载工具的待执行动作后,可以确定该相邻的运载工具的待执行动作与目标运载工具的待执行动作是否冲突。

如果冲突,则目标运载工具和相邻的运载工具进行协商,并在区块链中更新协商后各自的待执行动作。例如,该协商过程可以为目标运载工具与第一运载工具直接进行交互协商。也可以是基于相同的预制规则,目标运载工具和第一运载工具确定其中的哪一个需要对待执行动作进行调整,例如该阈值规则可以为时间优先原则,谁先发现谁调整,或者行驶速度优先原则,谁速度慢谁调整等等。其中,目标运载工具可以包括多个备选待执行动作,目标运载工具在需要作出调整时,可以根据预置规则选择备选待执行动作中的一个,并将选择的结果记录在区块链中。

如果不冲突,则无需调整各自的待执行动作。

s240,根据调整后的目标运载工具的待执行动作控制目标运载工具。

在根据待执行动作控制目标运载工具的行驶之后,可以继续根据目标运载工具的周围环境信息和运载工具自身的信息确定该目标工具待执行动作,并继续执行步骤s210,直至自动驾驶结束。

通过本发明实施例,可以通过区块链实现运载工具之间位置以及待执行动作的同步,进一步可以结合同步的信息调整待执行动作,以避免运载工具之间待执行动作的干扰,从而降低运载工具事故发生率。例如,两辆自动处于自动驾驶的运载工具相向而行,当双方都发现对方时,都会将避让作为待执行动作,通过本发明可以实现避让动作不冲突或者一方避让,另一方正常行驶,从而保证运载工具的行驶的安全。

图3为本发明实施例提供的一种基于区块链的自动驾驶控制装置结构示意图。该装置具体包括:

第一记录单元301,用于获取目标运载工具的位置和待执行动作,并将所述目标运载工具的位置和待执行动作记录在所述区块链中;

确定单元302,用于根据所述目标运载工具的位置,以及所述区块链记录的其他运载工具的位置和待执行动作,确定与所述运载工具相邻的第一运载工具的待执行动作;

调整单元303,用于根据所述第一运载工具的待执行动作调整所述目标运载工具的待执行动作;

控制单元304,用于根据调整后的目标运载工具的待执行动作控制所述目标运载工具。

在一个可选地实现中,还包括:

获取单元,用于通过分布在多个位置的多种环境模块实时获取环境信息;

第二记录单元,用于每个环境模块将实时获取的环境信息和其所在位置记录在所述区块链中。

在另一个可选地实现中,所述确定单元302还用于,根据所述目标运载工具的位置,以及所述区块链记录环境模块的位置和环境信息,确定所述目标运载工具所在位置的环境信息。

在另一个可选地实现中,所述确定单元302具体用于:

通过车载传感器确定与所述目标运载工具相邻的第一运载工具,并确定第一运载工具与目标运载工具的相对位置;

根据所述目标运载工具的位置,以及所述区块链记录的其他运载工具的位置和待执行动作,选择位置与所述目标运载工具相邻的第二运载工具,获取所述第二运载工具的位置和待执行动作;

根据所述第一运载工具与目标运载工具的相对位置和所述第二运载工具位置,对所述第一运载工具和所述第二运载工具进行匹配,确定与所述第一运载工具匹配的第二运载工具的待执行动作为所述第一运载工具的待执行动作。

图4示出了本说明书实施例所提供的一种计算机设备结构示意图,该计算机设备可以包括:处理器410、存储器420、输入/输出接口430、通信接口440、总线450、传感器460和驱动470。其中处理器44、存储器420、输入/输出接口430和通信接口440通过总线450实现彼此之间在设备内部的通信连接。处理器410执行存储器420中存储的程序时实现前述结合图2所示的步骤。

处理器410可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器420可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。

输入/输出接口430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线450包括一通路,在设备的各个组件(例如处理器410、存储器420、输入/输出接口430和通信接口440)之间传输信息。

传感器460可以包括多种车载传感器,例如加速度计以及雷达等等。

驱动470主要用于根据处理器410的指令,控制运载工具执行相应的动作。例如,方向驱动或者动力驱动等等。

需要说明的是,尽管上述设备仅示出了处理器410、存储器420、输入/输出接口430、通信接口440、总线450、传感器460以及驱动470,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的范围之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1