一种车辆的自动驾驶***及方法
技术领域
本发明涉及车辆技术领域,特别是涉及一种车辆的自动驾驶***和一种车辆的自动驾驶方法。
背景技术
随着科技的发展,车辆的自动驾驶技术越来越成熟。在车辆的自动驾驶***中,往往通过双路冗余实现车辆的自动驾驶,当其中一路控制路径单个节点失效时,另外一个节点能够继续工作。这种双路冗余的工作模式,能够在自动驾驶过程中,有效保证车辆行驶的安全性与稳定性。然而,在自动驾驶***中,每一个节点的资源都是按照最大的需求进行设计,在实际***运行过程中,并不需要使用到所有的资源,容易造成资源浪费,无法有效利用车载资源。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种车辆的自动驾驶***和相应的一种车辆的自动驾驶方法。
相应的,本发明实施例还提供了一种车辆的自动驾驶方法,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种车辆的自动驾驶***,所述自动驾驶***包括感知模型、与所述感知模型通信连接的融合模型、与所述融合模型通信连接的规划决策模型、与所述规划决策模型通信连接的执行控制模型;以及与自动驾驶***中所述执行控制模型通信连接的执行器;
所述感知模型,用于确定车辆当前所处环境的目标对象;
所述融合模型,用于采集所述目标对象的特征参数;
所述规划决策模型,用于获取所述车辆的运动信息;根据所述运动信息与所述特征参数,生成自动驾驶指令;
所述执行控制模型,用于控制车辆对应的执行器执行所述自动驾驶指令,实现所述车辆的自动驾驶。
可选地,所述感知模型包括第一感知子模型以及第二感知子模型,所述目标对象包括与所述车辆当前所处环境对应的第一目标对象与第二目标对象;
所述第一感知子模型,用于通过预设传感器识别所述车辆当前所处环境中,小于或等于预设距离的第一目标对象;
所述第二感知子模型,用于通过所述传感器识别所述车辆当前所述环境中,大于预设距离的第二目标对象。
可选地,所述融合模型包括第一融合子模型以及第二融合子模型,所述目标对象至少包括环境对象以及运动对象;
所述第一融合子模型,用于通过所述传感器采集第一环境对象的第一环境特征参数,以及第一运动对象的第一运动参数和第一对象类型;
所述第二融合子模型,用于通过所述传感器采集第二环境对象的第二环境特征参数,以及第二运动对象的第二运动参数和第二对象类型。
可选地,所述规划决策模型包括第一决策子模型以及第二决策子模型;
所述第一决策子模型,用于获取所述车辆的运动信息;采用所述运动信息、所述第一环境特征参数、所述第一运动对象的第一运动参数和第一对象类型,生成针对所述第一运动对象的第一自动驾驶指令;
所述第二决策子模型,用于采用所述运动信息、所述第二环境特征参数、所述第二运动对象的第二运动参数和第二对象类型,生成针对所述第二运动对象的第二自动驾驶指令。
可选地,所述执行控制模型包括第一控制子模型以及第二控制子模型;
所述第一控制子模型,用于在第一预设时间段内,控制车辆对应的执行器执行与所述第一自动驾驶指令对应的操作,实现所述车辆自动驾驶;
所述第二控制子模型,用于在第二预设时间段内,控制车辆对应的执行器执行与所述第二自动驾驶指令对应的操作,实现所述车辆自动驾驶;
其中,所述第一预设时间段与所述第二预设时间段为相互承接的时间段。
可选地,所述第一融合子模型与所述第二融合子模型之间通过第一共享层通信连接;
所述第一融合子模型,用于通过所述第一共享层获取所述第二环境对象和所述第二运动对象,并通过所述传感器采集所述第二感知子模型识别的所述第二环境对象的第二环境特征参数,以及所述第二运动对象的第二运动参数和第二对象类型;
所述第二融合子模型,用于通过所述第一共享层获取所述第一环境对象和所述第一运动对象,并通过所述传感器采集所述第一感知子模型识别的所述第一环境对象的第一环境特征参数,以及所述第一运动对象的第一运动参数和第一对象类型。
可选地,所述第一决策子模型与所述第二决策子模型之间通过第二共享层通信连接;
所述第一决策子模型,用于获取所述车辆的运动信息;通过所述第二共享层从所述第二决策子模型中获取所述第二环境特征参数、所述第二运动对象的第二运动参数和第二对象类型,并采用所述运动信息、所述第二环境特征参数、所述第二运动对象的第二运动参数和第二对象类型,生成针对所述第二运动对象的第二自动驾驶指令;
所述第二决策子模型,用于通过所述第一共享层从所述第一决策子模型中获取所述第一环境特征参数、所述第一运动对象的第一运动参数和第一对象类型,并采用所述运动信息、所述第一环境特征参数、所述第一运动对象的第一运动参数和第一对象类型,生成针对所述第一运动对象的第一自动驾驶指令。
可选地,所述第一控制子模型与所述第二控制子模型之间通过第三共享层通信连接;
所述第一控制子模型,用于通过所述第三共享层获取从所述第二控制子模型获取第二自动驾驶指令,并在所述第二预设时间段内,控制车辆对应的执行器执行与所述第二自动驾驶指令对应的操作,实现所述车辆自动驾驶;
所述第二控制子模型,用于通过所述第三共享层获取从所述第一控制子模型获取第一自动驾驶指令,并在所述第一预设时间段内,控制车辆对应的执行器执行与所述第一自动驾驶指令对应的操作,实现所述车辆自动驾驶。
本发明实施例还公开了一种车辆的自动驾驶方法,应用于车辆的自动驾驶***以及与所述自动驾驶***通信连接的执行器,所述方法包括:
确定车辆当前所处环境的目标对象;
采集所述目标对象的特征参数;
获取所述车辆的运动信息,并根据所述运动信息与所述特征参数,生成自动驾驶指令;
控制所述执行器执行所述自动驾驶指令,实现车辆的自动驾驶。
可选地,所述自动驾驶***包括感知模型,所述感知模型包括第一感知子模型以及第二感知子模型,所述确定所述车辆当前所述环境的目标对象,包括:
通过所述第一感知子模型基于预设传感器识别所述车辆当前所处环境中小于或等于预设距离的第一目标对象;
通过所述第二感知子模型基于所述传感器识别所述车辆当前所处环境中大于预设距离的第二目标对象。
可选地,所述自动驾驶***还包括与所述感知模型通信连接的融合模型,所述融合模型包括第一融合子模型以及第二融合子模型,所述目标对象至少包括环境对象以及运动对象,所述采集所述目标对象的特征参数,包括:
通过所述第一融合子模型基于所述传感器采集第一环境对象的第一环境特征参数,以及第一运动对象的第一运动参数和第一对象类型;
通过所述第二融合子模型基于所述传感器采集第二环境对象的第二环境特征参数,以及第二运动对象的第二运动参数和第二对象类型。
可选地,所述自动驾驶***还包括与所述融合模型通信连接的规划决策模型,所述规划决策模型包括第一决策子模型以及第二决策子模型,所述获取所述车辆的运动信息,根据所述运动信息与所述特征参数,生成自动驾驶指令,包括:
通过所述第一决策子模型获取所述车辆的运动信息,并采用所述运动信息、所述第一环境特征参数、所述第一运动对象的第一运动参数和第一对象类型,生成针对所述第一运动对象的第一自动驾驶指令;
通过所述第二决策子模型采用所述运动信息、所述第二环境特征参数、所述第二运动对象的第二运动参数和第二对象类型,生成针对所述第二运动对象的第二自动驾驶指令。
可选地,所述自动驾驶***还包括与所述规划决策模型通信连接的执行控制模型,所述执行控制模型包括第一控制子模型以及第二控制子模型,所述控制所述执行器执行所述自动驾驶指令,实现车辆的自动驾驶,包括:
通过所述第一控制子模型在第一预设时间段内,控制车辆对应的执行器执行与所述第一自动驾驶指令对应的操作,实现所述车辆自动驾驶;
通过所述第二控制子模型在第二预设时间段内,控制车辆对应的执行器执行与所述第二自动驾驶指令对应的操作,实现所述车辆自动驾驶;
其中,所述第一预设时间段与所述第二预设时间段为相互承接的时间段。
可选地,所述第一融合子模型与所述第二融合子模型之间通过第一共享层通信连接,所述采集所述目标对象的特征参数,包括:
通过所述第一融合子模型基于所述第一共享层获取所述第二环境对象和所述第二运动对象,并通过所述传感器采集所述第二感知子模型识别的所述第二环境对象的第二环境特征参数,以及所述第二运动对象的第二运动参数和第二对象类型;
通过所述第二融合子模型基于所述第一共享层获取所述第一环境对象和所述第一运动对象,并通过所述传感器采集所述第一感知子模型识别的所述第一环境对象的第一环境特征参数,以及所述第一运动对象的第一运动参数和第一对象类型。
可选地,所述第一决策子模型与所述第二决策子模型之间通过第二共享层通信连接,所述获取所述车辆的运动信息,并根据所述运动信息与所述特征参数,生成自动驾驶指令,包括:
通过所述第一决策子模型获取所述车辆的运动信息,以及通过所述第二共享层从所述第二决策子模型中获取所述第二环境特征参数、所述第二运动对象的第二运动参数和第二对象类型,并采用所述运动信息、所述第二环境特征参数、所述第二运动对象的第二运动参数和第二对象类型,生成针对所述第二运动对象的第二自动驾驶指令;
通过所述第二决策子模型基于所述第一共享层从所述第一决策子模型中获取所述第一环境特征参数、所述第一运动对象的第一运动参数和第一对象类型,并采用所述运动信息、所述第一环境特征参数、所述第一运动对象的第一运动参数和第一对象类型,生成针对所述第一运动对象的第一自动驾驶指令。
可选地,所述第一控制子模型与所述第二控制子模型之间通过第三共享层通信连接,所述控制所述执行器执行所述自动驾驶指令,实现车辆的自动驾驶,包括:
通过所述第一控制子模型基于所述第三共享层获取从所述第二控制子模型获取第二自动驾驶指令,并在所述第二预设时间段内,控制车辆对应的执行器执行与所述第二自动驾驶指令对应的操作,实现所述车辆自动驾驶;
通过所述第二控制子模型基于所述第三共享层获取从所述第一控制子模型获取第一自动驾驶指令,并在所述第一预设时间段内,控制车辆对应的执行器执行与所述第一自动驾驶指令对应的操作,实现所述车辆自动驾驶。
可选地,还包括:
获取针对所述自动驾驶***的训练样本;
将所述训练样本输入所述自动驾驶***进行模型训练,生成与所述训练样本对应的预测值;
将所述预测值与预设的参考值进行比对,并根据比对结果对所述自动驾驶***进行反向训练。
可选地,所述将训练样本输入所述自动驾驶***进行模型训练,生成与所述训练样本对应的预测值,包括:
将所述训练样本分别输入所述第一感知子模型,生成第一感知结果,以及将所述训练样本输入所述第二感知子模型,生成第二感知结果;
将所述第一感知结果输入所述第一融合子模型,生成第一融合结果,以及将所述第二感知结果输入第二融合子模型,生成第二融合结果;
将所述第一融合结果输入所述第一决策子模型,生成第一决策结果,以及将所述第二融合结果输入所述第二决策子模型,生成第二决策结果;
将所述第一决策结果输入所述第一控制子模型,生成第一预测值,将所述第二决策结果输入所述第二控制子模型,生成第二预测值。
可选地,所述将所述预测值与预设的参考值进行比对,并根据比对结果对所述自动驾驶***进行反向训练,包括:
将所述第一预测值与预设的第一参考值进行比对,获得第一比对结果;
将所述第二预测值与预设的第二参考值进行比对,获得第二比对结果;
将所述第一比对结果与所述第二比对结果输入预设的初始自动驾驶***进行迭代,并计算每次迭代后的初始自动驾驶***的多个损失函数;
当迭代后的初始自动驾驶***的多个损失函数均最小化时,停止迭代,生成目标自动驾驶***。
本发明实施例还公开了一种车辆,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述车辆执行如上所述的方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上所述的方法。
本发明实施例包括以下优点:
在本发明实施例中,车辆的自动驾驶***可以包括感知模型、与感知模型通信连接的融合模型、与融合模型通信连接的规划决策模型、与规划决策模型通信连接的执行控制模型,则可以通过感知模型,用于确定车辆当前所处环境的目标对象,接着融合模型采集目标对象的特征参数,通过规划决策模型获取车辆的运动信息;根据运动信息与特征参数,生成自动驾驶指令,然后通过执行控制模型控制车辆对应的执行器执行自动驾驶指令,实现车辆的自动驾驶,从而通过自动驾驶***中各个模型之间的通信连接关系,对车辆所处的环境进行信息获取、参数处理、决策生成,在实现车辆自动驾驶的同时,充分利用车载资源,提高了资源的可管理性与利用率。
附图说明
图1是本发明的一种车辆的自动驾驶***实施例的结构框图;
图2是本发明实施例中自动驾驶***的结构框图;
图3是本发明实施例中自动驾驶***的结构框图;
图4是本发明实施例中自动驾驶***的结构框图;
图5是本发明的一种车辆的自动驾驶方法实施例的步骤流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种车辆的自动驾驶***实施例的结构框图,所述自动驾驶***包括感知模型、与所述感知模型通信连接的融合模型、与所述融合模型通信连接的规划决策模型、与所述规划决策模型通信连接的执行控制模型;以及与自动驾驶***中所述执行控制模型通信连接的执行器;
所述感知模型,用于确定车辆当前所处环境的目标对象;
所述融合模型,用于采集所述目标对象的特征参数;
所述规划决策模型,用于获取所述车辆的运动信息;根据所述运动信息与所述特征参数,生成自动驾驶指令;
所述执行控制模型,用于控制车辆对应的执行器执行所述自动驾驶指令,实现所述车辆的自动驾驶。
作为一种示例,对于自动驾驶***而言,可以通过双路冗余的方式保证车辆的稳定性,在一条控制路径单个节点失效的情况下,另一个节点能够继续工作。具体的,自动驾驶***的冗余线路可以包括双向主干电线布局,形成往返处理器的环路,同时,主干网可以作为两个独立的环路运行,若主干网的一部分发生故障,则设备的数据可以发送至从处理器进行处理,以保证车辆的稳定行驶。
在本发明实施例中,车辆可以包括自动驾驶***,自动驾驶***可以包括感知模型、融合模型、规划决策模型以及执行控制模型,并且车辆可以包括与自动驾驶***通信连接的执行器。其中,自动驾驶***所包括的各个模型可以为软件模块,也可以为硬件模块,还可以为软件与硬件结合的模块;执行器可以包括转向机构、驱动电机、制动结构以及档位控制机构等用于对车辆的行驶状态进行控制的执行器,其可以实现对车辆的横向与纵向的控制。
为了方便理解与说明,本发明实施例以自动驾驶***中各模型为软硬件结合的模块,即软件控制硬件的方式为例进行示例性说明,包括感知、融合、规划以及决策处理可以是控制器内部的软件或者硬件,控制具体的控制器内部的芯片,也可以是芯片内的模块,也可以是芯片上运行的软件模型来实现不同路径的对应功能,执行器控制可以通过控制器内部的软件模块处理,选择相应的硬件端口或软件模块输出针对执行器的控制指令等,可以理解的是,本发明对此不作限制。
在具体实现中,感知模型可以对车辆实际行驶过程中所处环境进行感知,包括识别出车辆所处环境中包括对车辆行驶有影响的目标对象,目标对象可以包括环境对象以及运动对象,环境对象可以包括所处环境的车道线、交通灯、路障以及其他位置固定、指示车辆行驶的对象,运动对象可以包括所处环境的人、动物、车辆等处于运动状态的对象。需要说明的是,对于驻足原地的人、动物等将其归纳于运动对象中,以避免人或动物突然进入运动状态,进而导致***判断错误。其中,感知模型可以包括摄像头、毫米波雷达、激光雷达、定位***以及超声波雷达等用于信息采集、处理的传感器,则在车辆开启了自动驾驶功能之后,可以通过传感器对车辆当前所处环境进行对象识别,确定目标对象。
当感知模型通过传感器识别出车辆周围包括对车辆行驶有影响的目标对象之后,可以通过融合模型对车辆与目标对象之间的位置关系、目标对象的特征参数进行确定。可选地,融合模型可以为各个传感器中用于数据处理的处理器,其可以与感知模型位于同一个传感器,则感知模型负责识别车辆所处环境的环境对象与运动对象,融合模型对环境对象与车辆、运动对象与车辆之间的位置关系进行处理,获得能够在不同场景以及环境条件下可靠的环境特征参数、运动参数以及运动对象的对象类型,以便进行行车指令的决策。
在一种示例中,感知模型与融合模型可以位于相同的传感器,例如位于毫米波雷达、超声波雷达以及激光雷达等传感器,则感知模型可以通过传感器识别出环境对象与运动对象,确定车辆所处环境中包括对车辆行驶有影响的行车指示标识与运动对象等等,接着通过融合模型采集环境对象的环境特征参数,以及运动对象的运动参数和对象类型。具体的,对于环境对象的环境特征参数,可以包括指示行驶、限制行驶、减速行驶、禁止变道、允许变道等特征参数,例如当环境对象为交通灯,则红灯代表停车等待、绿灯代表允许通行以及黄灯代表警示;当环境对象为双黄线,则表示当前车道禁止变道以及压线行驶等;当环境对象为限速行驶标识,则表示当前车道为限速车道等等。对于运动对象,其包括车辆、人以及动物等处于运动状态的对象,则可以先识别出各个运动对象的对象类型,例如为车辆、为人、为动物等,接着通过视觉感知的方式,获取运动对象的运动参数(包括运动方向、运动速度等等),以便进行跟车、对行人与动物避让等,从而通过识别所处环境的环境对象,并获取环境对象的环境特征参数,以及识别运动对象,并获取运动对象的运动参数与对象类型,得到能够在各种场景以及环境条件下进行自动驾驶决策的可靠特征参数,以便后续进行自动驾驶的决策。
规划决策模型可以根据感知模型识别的环境对象与运动对象,以及融合模型输出的环境对象的环境特征参数,运动对象的对象类型和运动参数,结合车辆自身的运动信息,进行自动驾驶的决策和规划。具体的,车辆的运动信息可以包括车辆当前的运动方向、运动速度等,并且规划决策模型中还可以预置行驶规则以及存储用户的驾驶习惯等,从而规划决策模型可以为根据所得到的特征参数、行驶规则以及用户的驾驶习惯等进行规划和决策,生成自动驾驶指令。
在一种示例中,规划决策模型可以基于环境特征参数与行驶规则,生成自动驾驶指令,例如根据识别到的车道线、交通灯指示标识等,结合预置的行驶规则,生成对应的自动驾驶指令(例如前进、停车、加速、变道等指令),还可以基于运动对象的运动参数和对象类型,生成自动驾驶指令,例如获取前、后、左、右侧等车辆的运动参数,并输出包括前车、后车、旁车等与本车之间的距离、加速度等车辆之间的关系,并根据车辆关系,生成自动驾驶指令(例如减速避让、跟随前车等指令),还可以获取行人的运动参数,根据行人的运动方向与运动速度,结合车辆自身的运动方向和运动速度,输出行人与车辆之间的位置关系,进而可以输出自动驾驶指令(例如减速指令等)。
在规划决策模型输出自动驾驶指令之后,可以将自动驾驶指令传输至对应的车辆执行器,以便通过车辆执行器执行自动驾驶指令,实现车辆的自动驾驶。其中,执行器可以包括转向机构、驱动电机、制动***以及档位控制机构等用于对车辆的行驶状态进行控制的执行器。具体的,可以通过转向机构与驱动电机等对车辆的转向进行控制,通过驱动电机、制动***以及档位控制机构等对车辆的速度进行控制,实现车辆的自动驾驶。
在本发明的一种可选实施例中,参考图2,示出了本发明实施例中自动驾驶***的示意图,自动驾驶***可以包括双路冗余模型,即感知模型可以包括第一感知子模型与第二感知子模型,融合模型可以包括第一融合子模型与第二融合子模型,决策规划模型可以包括第一决策子模型与第二决策子模型,执行控制模型可以包括第一控制子模型与第二控制子模型,则第一控制链路可以包括第一感知子模型-第一融合子模型-第一决策子模型-第一控制子模型;第二链路可以包括第二感知子模型-第二融合子模型-第二决策子模型-第二控制子模型。其中,仲裁模块可以将自动驾驶指令传输至执行器,由执行器执行对应的自动驾驶指令。
可选地,自动驾驶***可以包括冗余模式、互补模式以及学习模式,在冗余模式下,自动驾驶***可以通过其中一条链路对车辆的行驶进行控制;在互补模式下,自动驾驶***可以通过两条链路对复杂场景下车辆的行驶进行控制;在学习模式下,可以对自动驾驶***中各个模型所涉及的算法模型进行训练优化,从而保持模型的最优性,以便应对更加复杂、多变的道路环境。
对于冗余模式,自动驾驶***的数据处理过程可以参考上述描述,即在一条控制链路中单个节点失效的情况下,可以通过另一个节点进行工作,保证控制链路的完整性、稳定性,在此不再赘述。
在互补模式下,可以针对复杂的行车场景,通过自动驾驶***中两个链路进行互补,实现对复杂场景的识别、数据处理以及车辆控制。其中,复杂场景可以包括人车混流的小区场景或商业区场景,以及高速公路或城市道路的拥堵场景等,在这些场景下要求车辆既识别中远距离的目标对象,也识别近距离的目标对象,并且目标对象也较为复杂,因此,通过自动驾驶***中双路控制路径的协同工作,可以有效利用车载资源,在保证车辆安全行驶的情况下,调用冗余的部分,使得自动驾驶***可以最大化地车载资源。
需要说明的是,在复杂场景下,除了常见的车辆、两轮车、行人之外,还可能包括影响通行的特殊作业车辆以及动物等,并且需要车辆在复杂的地面标线中准确识别车道线和不同意义的导引线,同时要求车辆在复杂的路面建筑或者障碍之间识别出交通指示牌、交通信号灯、车辆指示灯等等,从而在相应的限制条件下做出合理的决策,以保证车辆的安全行驶。其中,限制条件可以包括保证车辆行驶符合行驶规则的条件(限速、限行以及让行等条件),保证车辆运行安全,防止碰撞、剐蹭等事故发生的条件,保证车辆运行平顺、减少过大的加减速以及转弯动作的条件,以及符合驾驶员的驾驶习惯的条件(行驶的路线、驾驶的方式等)。因此,通过自动驾驶***的互补模式,充分对双路控制路径进行调用,实现车载资源的有效管理和利用,在保证车辆安全行驶的情况下,实现集合两个通道的计算资源实现更多模型以及更复杂参数的计算,达到软硬件资源的叠加,充分利用车载资源。
在具体实现中,针对复杂场景的车辆行驶,可以通过第一感知子模型基于预设传感器识别车辆当前所处环境中,小于或等于预设距离的第一目标对象,以及通过第二感知子模型基于传感器识别车辆当前环境中,大于预设距离的第二目标对象。其中,预设距离可以针对车辆设置的距离阈值,小于或等于该距离阈值的环境,可以视为中近距离的场景;大于该距离阈值的环境,可以视为远距离的场景,例如,预设距离可以为30米,则第一感知子模型可以通过传感器对30米内的目标对象进行识别,第二感知子模型可以对30米外的目标对象进行识别,从而通过调用两个感知模型进行不同距离的对象识别,充分利用车载资源,有效提高了信息获取的效率。
当感知模型识别出目标对象之后,第一融合子模型可以通过传感器采集第一环境对象的第一环境特征参数,以及第一运动对象的第一运动参数和第一对象类型,第二融合子模型可以通过传感器采集第二环境对象的第二环境特征参数,以及第二运动对象的第二运动参数和第二对象类型。然后第一融合子模型可以将第一环境对象的第一环境特征参数、第一运动对象的第一运动参数和第一对象类型传输至第一决策子模型,由第一决策子模型在获取了车辆的运动信息之后,采用运动信息、所述第一环境特征参数、所述第一运动对象的第一运动参数和第一对象类型,生成针对所述第一运动对象的第一自动驾驶指令,;第二融合子模型可以将第二环境对象的第二环境特征参数、第二运动对象的第二运动参数和第二对象类型传输至第二决策子模型,是的第二决策子模型可以采用运动信息、第二环境特征参数、第二运动对象的第二运动参数和第二对象类型,生成针对第二运动对象的第二自动驾驶指令。
需要说明的是,对于决策规划模型,由于第一融合子模型与第二融合子模型针对的是不同距离的目标对象的特征参数计算,因此,决策规划模型所输出的自动驾驶指令可以为针对不同距离的驾驶指令,从而可以通过两条控制路径生成相互承接的自动驾驶指令,使得车辆能够在复杂场景中保证未来一段时间的运行平顺,优化行车体验。
具体的,第一控制子模型可以在第一预设时间段内,控制车辆对应的执行器执行与第一自动驾驶指令对应的操作,实现车辆自动驾驶,第二控制子模型可以在第二预设时间段内,控制车辆对应的执行器执行与第二自动驾驶指令对应的操作,实现车辆自动驾驶。其中,第一预设时间段与第二预设时间段为相互交替且承接的时间段,例如,0~5秒(第一预设时间段),6~10秒(第二预设时间段),10~15秒(第一预设时间段),16~20(第二预设时间段)秒等等,从而自动驾驶***根据两条控制路径生成的不同时间段的行驶指令,控制车辆执行器执行对应的操作,使得车辆能够在复杂场景中保证未来一段时间的运行平顺,优化行车体验。
在本发明的另一种可选实施例中,参考图3,示出了本发明实施例中自动驾驶***的示意图,第一融合子模型与第二融合子模型之间可以通过共享层通信连接,第一决策子模型与第二决策子模型之间可以通过第二共享层通信连接,第一控制子模型与第二控制子模型之间通过第三共享层通信连接,通过在自动驾驶***中添加数据共享通道,对计算的模型进行调度和管理,能够集合两个通道的计算资源,提高了自动驾驶***中模型之间的联动运行的灵活性,进而可以根据不同场景调用对应的模型进行数据处理,满足不同行车场景。
在具体实现中,第一融合子模型可以用于通过第一共享层获取第二环境对象和第二运动对象,并通过传感器采集第二感知子模型识别的第二环境对象的第二环境特征参数,以及第二运动对象的第二运动参数和第二对象类型;第二融合子模型可以用于通过第一共享层获取第一环境对象和第一运动对象,并通过传感器采集第一感知子模型识别的第一环境对象的第一环境特征参数,以及第一运动对象的第一运动参数和第一对象类型。
第一决策子模型可以用于获取车辆的运动信息;通过第二共享层从第二决策子模型中获取第二环境特征参数、第二运动对象的第二运动参数和第二对象类型,并采用运动信息、第二环境特征参数、第二运动对象的第二运动参数和第二对象类型,生成针对第二运动对象的第二自动驾驶指令;第二决策子模型可以用于通过第一共享层从第一决策子模型中获取第一环境特征参数、第一运动对象的第一运动参数和第一对象类型,并采用运动信息、第一环境特征参数、第一运动对象的第一运动参数和第一对象类型,生成针对第一运动对象的第一自动驾驶指令。
第一控制子模型可以用于通过第三共享层获取从第二控制子模型获取第二自动驾驶指令,并在第二预设时间段内,控制车辆对应的执行器执行与第二自动驾驶指令对应的操作,实现车辆自动驾驶;第二控制子模型可以用于通过第三共享层获取从第一控制子模型获取第一自动驾驶指令,并在第一预设时间段内,控制车辆对应的执行器执行与第一自动驾驶指令对应的操作,实现车辆自动驾驶。
具体的,通过模型之间的数据共享层,使得第一融合子模型既可以使用路径A中的感知结果,也可以使用路径B中的感知结果,第二融合子模型同理;第一决策子模型既可以使用路径A中的融合结果,也可以使用路径B中的融合结果,第二决策子模型同理;第一控制子模型既可以使用路径A中的决策结果,也可以使用路径B中的决策结果,通过这种数据交互以及模型调度的配置,可以使得自动驾驶***的感知、融合以及规划控制更加的灵活,能够根据车辆实际行驶场景的需求,在不同模式下相互切换,并根据场景需要运行不同模式,同时在路径A和路径B的模式发生切换的过程中,自动驾驶***仍然能够保证模型计算的连续性,例如,路径B的模型在从冗余模式切换到互补模型仅运行远距离感知、融合以及规划控制模型产生的规划控制结果,能够与路径A近距离感知、融合以及规划控制模型产生的结果能够保持关联和稳定。
在学习模式下,可以通过对两组学习参数的对比,实时对执行的效果进行对比分析,从而优化学习参数,对自动驾驶***进行优化更新。
在具体实现中,可以通过获取针对自动驾驶***的训练样本,接着将训练样本输入自动驾驶***进行模型训练,生成与训练样本对应的预测值,然后将预测值与预设的参考值进行比对,并根据比对结果对自动驾驶***进行反向训练。
具体的,可以将训练样本分别输入第一感知子模型,生成第一感知结果,以及将训练样本输入第二感知子模型,生成第二感知结果;将第一感知结果输入第一融合子模型,生成第一融合结果,以及将第二感知结果输入第二融合子模型,生成第二融合结果;将第一融合结果输入第一决策子模型,生成第一决策结果,以及将第二融合结果输入第二决策子模型,生成第二决策结果;将第一决策结果输入第一控制子模型,生成第一预测值,将第二决策结果输入第二控制子模型,生成第二预测值。
将第一预测值与预设的第一参考值进行比对,获得第一比对结果;将第二预测值与预设的第二参考值进行比对,获得第二比对结果;将第一比对结果与第二比对结果输入预设的初始自动驾驶***进行迭代,并计算每次迭代后的初始自动驾驶***的多个损失函数;当迭代后的初始自动驾驶***的多个损失函数均最小化时,停止迭代,生成目标自动驾驶***。
其中,对模型的参数更新,可以是基于梯度下降策略,以目标梯度方向对参数进行更新。在具体实现中,可以预设一学习率,控制每一轮迭代中参数的更新步长,从而最终得到自动驾驶***中各个模型。此外,在实际中由于损失函数的最小值往往难以达到,则还可以通过设置迭代次数对模型迭代进行控制,损失函数达到预期值,或基本保持不变时,即可以视为模型训练结束,完成对自动驾驶***的更新。
在一种示例中,若在路径A和路径B使用同样的数据并且运行同样的模式,则原则上可以得到相同的结果,若修改某些或某组特定的参数,则可以对比不同模型参数对车辆整体运行状况在多种场景下的执行效果,进而实现对车辆自动驾驶***的优化更新。例如,参考图4,示出了本发明实施例中自动驾驶***的示意图,对规划决策模型进行学***顺优先而产生的期望动作和行为;基于驾驶习惯而产生的期望动作和行为等等,这些规则模型所使用的参数可以对自动驾驶***的输出结果产生不同的影响,从而通过两组模型参数的实时对比,可以得到对各种场景下车辆的运动表现最优的模型参数。可选地,对于自动驾驶***中其他模型的学习过程,可以参考上述过程,在此不再赘述。
在本发明实施例中,车辆的自动驾驶***可以包括感知模型、与感知模型通信连接的融合模型、与融合模型通信连接的规划决策模型、与规划决策模型通信连接的执行控制模型,则可以通过感知模型,用于确定车辆当前所处环境的目标对象,接着融合模型采集目标对象的特征参数,通过规划决策模型获取车辆的运动信息;根据运动信息与特征参数,生成自动驾驶指令,然后通过执行控制模型控制车辆对应的执行器执行自动驾驶指令,实现车辆的自动驾驶,从而通过自动驾驶***中各个模型之间的通信连接关系,对车辆所处的环境进行信息获取、参数处理、决策生成,在实现车辆自动驾驶的同时,充分利用车载资源,提高了资源的可管理性与利用率。
参照图5,示出了本发明的一种车辆的自动驾驶方法实施例的步骤流程图,应用于车辆的自动驾驶***以及与所述自动驾驶***通信连接的执行器,具体可以包括如下步骤:
步骤501,确定车辆当前所处环境的目标对象;
步骤502,采集所述目标对象的特征参数;
步骤503,获取所述车辆的运动信息,并根据所述运动信息与所述特征参数,生成自动驾驶指令;
步骤504,控制所述执行器执行所述自动驾驶指令,实现车辆的自动驾驶。
在本发明的一种可选实施例中,所述自动驾驶***包括感知模型,所述感知模型包括第一感知子模型以及第二感知子模型,所述确定所述车辆当前所述环境的目标对象,包括:
通过所述第一感知子模型基于预设传感器识别所述车辆当前所处环境中小于或等于预设距离的第一目标对象;
通过所述第二感知子模型基于所述传感器识别所述车辆当前所处环境中大于预设距离的第二目标对象。
在本发明的一种可选实施例中,所述自动驾驶***还包括与所述感知模型通信连接的融合模型,所述融合模型包括第一融合子模型以及第二融合子模型,所述目标对象至少包括环境对象以及运动对象,所述采集所述目标对象的特征参数,包括:
通过所述第一融合子模型基于所述传感器采集第一环境对象的第一环境特征参数,以及第一运动对象的第一运动参数和第一对象类型;
通过所述第二融合子模型基于所述传感器采集第二环境对象的第二环境特征参数,以及第二运动对象的第二运动参数和第二对象类型。
在本发明的一种可选实施例中,所述自动驾驶***还包括与所述融合模型通信连接的规划决策模型,所述规划决策模型包括第一决策子模型以及第二决策子模型,所述获取所述车辆的运动信息,根据所述运动信息与所述特征参数,生成自动驾驶指令,包括:
通过所述第一决策子模型获取所述车辆的运动信息,并采用所述运动信息、所述第一环境特征参数、所述第一运动对象的第一运动参数和第一对象类型,生成针对所述第一运动对象的第一自动驾驶指令;
通过所述第二决策子模型采用所述运动信息、所述第二环境特征参数、所述第二运动对象的第二运动参数和第二对象类型,生成针对所述第二运动对象的第二自动驾驶指令。
在本发明的一种可选实施例中,所述自动驾驶***还包括与所述规划决策模型通信连接的执行控制模型,所述执行控制模型包括第一控制子模型以及第二控制子模型,所述控制所述执行器执行所述自动驾驶指令,实现车辆的自动驾驶,包括:
通过所述第一控制子模型在第一预设时间段内,控制车辆对应的执行器执行与所述第一自动驾驶指令对应的操作,实现所述车辆自动驾驶;
通过所述第二控制子模型在第二预设时间段内,控制车辆对应的执行器执行与所述第二自动驾驶指令对应的操作,实现所述车辆自动驾驶;
其中,所述第一预设时间段与所述第二预设时间段为相互承接的时间段。
在本发明的一种可选实施例中,所述第一融合子模型与所述第二融合子模型之间通过第一共享层通信连接,所述采集所述目标对象的特征参数,包括:
通过所述第一融合子模型基于所述第一共享层获取所述第二环境对象和所述第二运动对象,并通过所述传感器采集所述第二感知子模型识别的所述第二环境对象的第二环境特征参数,以及所述第二运动对象的第二运动参数和第二对象类型;
通过所述第二融合子模型基于所述第一共享层获取所述第一环境对象和所述第一运动对象,并通过所述传感器采集所述第一感知子模型识别的所述第一环境对象的第一环境特征参数,以及所述第一运动对象的第一运动参数和第一对象类型。
在本发明的一种可选实施例中,所述第一决策子模型与所述第二决策子模型之间通过第二共享层通信连接,所述获取所述车辆的运动信息,并根据所述运动信息与所述特征参数,生成自动驾驶指令,包括:
通过所述第一决策子模型获取所述车辆的运动信息,以及通过所述第二共享层从所述第二决策子模型中获取所述第二环境特征参数、所述第二运动对象的第二运动参数和第二对象类型,并采用所述运动信息、所述第二环境特征参数、所述第二运动对象的第二运动参数和第二对象类型,生成针对所述第二运动对象的第二自动驾驶指令;
通过所述第二决策子模型基于所述第一共享层从所述第一决策子模型中获取所述第一环境特征参数、所述第一运动对象的第一运动参数和第一对象类型,并采用所述运动信息、所述第一环境特征参数、所述第一运动对象的第一运动参数和第一对象类型,生成针对所述第一运动对象的第一自动驾驶指令。
在本发明的一种可选实施例中,所述第一控制子模型与所述第二控制子模型之间通过第三共享层通信连接,所述控制所述执行器执行所述自动驾驶指令,实现车辆的自动驾驶,包括:
通过所述第一控制子模型基于所述第三共享层获取从所述第二控制子模型获取第二自动驾驶指令,并在所述第二预设时间段内,控制车辆对应的执行器执行与所述第二自动驾驶指令对应的操作,实现所述车辆自动驾驶;
通过所述第二控制子模型基于所述第三共享层获取从所述第一控制子模型获取第一自动驾驶指令,并在所述第一预设时间段内,控制车辆对应的执行器执行与所述第一自动驾驶指令对应的操作,实现所述车辆自动驾驶。
在本发明的一种可选实施例中,还包括:
获取针对所述自动驾驶***的训练样本;
将所述训练样本输入所述自动驾驶***进行模型训练,生成与所述训练样本对应的预测值;
将所述预测值与预设的参考值进行比对,并根据比对结果对所述自动驾驶***进行反向训练。
在本发明的一种可选实施例中,所述将训练样本输入所述自动驾驶***进行模型训练,生成与所述训练样本对应的预测值,包括:
将所述训练样本分别输入所述第一感知子模型,生成第一感知结果,以及将所述训练样本输入所述第二感知子模型,生成第二感知结果;
将所述第一感知结果输入所述第一融合子模型,生成第一融合结果,以及将所述第二感知结果输入第二融合子模型,生成第二融合结果;
将所述第一融合结果输入所述第一决策子模型,生成第一决策结果,以及将所述第二融合结果输入所述第二决策子模型,生成第二决策结果;
将所述第一决策结果输入所述第一控制子模型,生成第一预测值,将所述第二决策结果输入所述第二控制子模型,生成第二预测值。
在本发明的一种可选实施例中,所述将所述预测值与预设的参考值进行比对,并根据比对结果对所述自动驾驶***进行反向训练,包括:
将所述第一预测值与预设的第一参考值进行比对,获得第一比对结果;
将所述第二预测值与预设的第二参考值进行比对,获得第二比对结果;
将所述第一比对结果与所述第二比对结果输入预设的初始自动驾驶***进行迭代,并计算每次迭代后的初始自动驾驶***的多个损失函数;
当迭代后的初始自动驾驶***的多个损失函数均最小化时,停止迭代,生成目标自动驾驶***。
在本发明实施例中,车辆的自动驾驶***可以包括感知模型、与感知模型通信连接的融合模型、与融合模型通信连接的规划决策模型、与规划决策模型通信连接的执行控制模型,则可以通过感知模型,用于确定车辆当前所处环境的目标对象,接着融合模型采集目标对象的特征参数,通过规划决策模型获取车辆的运动信息;根据运动信息与特征参数,生成自动驾驶指令,然后通过执行控制模型控制车辆对应的执行器执行自动驾驶指令,实现车辆的自动驾驶,从而通过自动驾驶***中各个模型之间的通信连接关系,对车辆所处的环境进行信息获取、参数处理、决策生成,在实现车辆自动驾驶的同时,充分利用车载资源,提高了资源的可管理性与利用率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
对于方法实施例而言,由于其与***实施例基本相似,所以描述的比较简单,相关之处参见***实施例的部分说明即可。
本发明实施例还提供了一种车辆,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述车辆执行本发明实施例所述的方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器、EEPROM、Flash以及eMMC等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种车辆的自动驾驶方法和一种车辆的自动驾驶***装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。