具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中所涉及的终端设备可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(TabletComputer)等智能设备;显示设备可以包括但不限于个人电脑、电视等具有显示功能的设备。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
目前,由于道路上的车辆比较多,跟随在自动驾驶车辆的后车车距也往往不足,自动驾驶车辆采取通常的紧急制动或者刹停的策略,极易导致后车追尾。
因此,亟需提供一种自动驾驶车辆的控制方法,能够在行驶前方存在切入车辆情况下,保证自动驾驶车辆行驶过程的安全性。
请参考图1,其示出了本申请一个实施例提供的自动驾驶车辆的控制方法的流程示意图。该自动驾驶车辆的控制方法,具体可以包括:
步骤101、获取第一车辆的行驶数据和第二车辆的行驶数据;所述第一车辆是待切入至所述自动驾驶车辆的行驶方向上的切入车辆,所述第二车辆是在所述自动驾驶车辆的后方行驶的车辆。
步骤102、基于所述第一车辆的行驶数据和所述自动驾驶车辆的行驶数据,获得所述自动驾驶车辆和所述第一车辆之间的第一横向距离和横向安全距离、所述自动驾驶车辆和所述第一车辆之间的第一纵向距离和所述纵向安全距离。
步骤103、响应于所述第一横向距离不满足所述横向安全距离,且所述第一纵向距离不满足所述纵向安全距离,确定所述第一纵向距离和预设的间距阈值的关系。
步骤104、响应于所述第一纵向距离达到所述预设的间距阈值,根据所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述第二车辆的行驶数据,获得所述目标制动减速度。
步骤105、基于所述目标制动减速度,控制所述自动驾驶车辆的行驶。
需要说明的是,该自动驾驶车辆可以是本车,或者是自车。第一车辆是待切入至所述自动驾驶车辆的行驶方向上的切入车辆,即第一车辆是可能成为自车的前车的车辆。第二车辆是在所述自动驾驶车辆的后方行驶的车辆,即可以是与自车相邻的后方行驶的第一辆车辆。
需要说明的是,该自动驾驶车辆可以包括但不限于自动驾驶配送车、无人驾驶物流车和自动驾驶汽车等。第一车辆和第二车辆均可以包括但不限于非机动车辆、机动车辆等。第一车辆和第二车辆均也可以替换为其他交通参与者,例如,行人、机器人、低速行驶的移动设备等。
需要说明的是,预设的间距阈值可以是根据第一车辆的预设的最大减速度所确定的。预设的间距阈值可以是第一车辆的预设的最大减速度对应的第一车辆和自动驾驶车辆之间的距离,即第一车辆的减速度为该预设的最大减速度时,第一车辆和自动驾驶车辆之间的距离。
可以理解的是,该第一车辆的预设的最大减速度可以是在切入自动驾驶车辆前方情况下,设定的最大减速度的经验值。
可以理解的是,制动减速度可以是与自动驾驶车辆行驶方向相反的加速度。目标制动减速度可以是负值,例如,-1米每平方秒(m/s2),其中,负号(-)表示与自动驾驶车辆的行驶方向相反。
需要说明的是,步骤101~105的执行主体的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(SoftwareDevelopment Kit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,或者还可以为位于网络侧的分布式系统,例如,网络侧的自动驾驶平台中的处理引擎或者分布式系统等,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在本地终端上的本地程序(nativeApp),或者还可以是本地终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
这样,可以通过获取第一车辆的行驶数据和第二车辆的行驶数据,所述第一车辆是待切入至所述自动驾驶车辆的行驶方向上的切入车辆,所述第二车辆是在所述自动驾驶车辆的后方行驶的车辆,进而可以基于所述第一车辆的行驶数据和所述自动驾驶车辆的行驶数据,获得所述自动驾驶车辆和所述第一车辆之间的第一横向距离和横向安全距离、所述自动驾驶车辆和所述第一车辆之间的第一纵向距离和纵向安全距离,响应于所述第一横向距离不满足所述横向安全距离,且所述第一纵向距离不满足所述纵向安全距离,若确定所述第一纵向距离达到所述预设的间距阈值,则根据所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述第二车辆的行驶数据,获得所述目标制动减速度,使得能够基于所述目标制动减速度,控制所述自动驾驶车辆的行驶,由于可以基于自动驾驶车辆、第一车辆和第二车辆的当前行驶数据,以及自动驾驶车辆、第一车辆和第二车辆之间的距离情况,确定出更加合理有效地自动驾驶车辆的目标制动减速度,可以将自动驾驶车辆的制动减速度控制在合理的制动量内,在行驶前方存在切入车辆情况下,可以避免自动驾驶车辆与切入车辆发生碰撞的同时,还保证了自动驾驶车辆和其后车的安全行驶距离,从而有效地保证了自动驾驶车辆行驶过程的安全性和平稳性。
而且,可以通过结合第二车辆的行驶数据来确定目标制动减速度,在保证了自动驾驶车辆行驶过程的平稳性的同时,还可以有效保证了自动驾驶车辆的后车的行驶过程的安全性和平稳性,从而提升了自动驾驶车辆行为策略对后车行驶的友好性。
可选地,在本实施例的一个可能的实现方式中,在步骤104中,具体可以响应于所述第一纵向距离达到所述预设的间距阈值,基于预设的选取策略,获得所述第一车辆的最大制动减速度,进而可以基于所述第一车辆的最大制动减速度、所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述纵向安全距离,获得第一制动减速度,基于所述自动驾驶车辆的行驶数据和所述第二车辆的行驶数据,获得第二制动减速度,使得能够基于预设的条件、所述第一制动减速度和所述第二制动减速度,获得所述目标制动减速度。
这样,可以通过本实现方式,在第一纵向距离达到预设的间距阈值的情况下,获得对应的目标制动减速度,提升了目标制动减速度的准确性,可以进一步地将自动驾驶车辆的制动减速度控制在合理的制动量内,从而提升了自动驾驶车辆行驶过程的安全性和平稳性。
在本实现方式中,第一制动减速度可以是相对于第一车辆的自动驾驶车辆的制动减速度,即前向安全制动。第二制动减速度可以是相对于第二车辆的自动驾驶车辆的制动减速度,即后向安全制动。
在本实现方式中,预设的选取策略可以包括按照预定的间隔,从预定的减速度范围中,选取第一车辆的最大制动减速度。
示例性的,预定的间隔可以是0.5 m/s2,预定的减速度范围可以是[-5m/s2,-1m/s2],则可以选取得到第一车辆的最大制动减速度-1m/s2,-1.5m/s2,……,-4.5 m/s2,-5m/s2。
在该实现方式的一个具体实现过程中,可以直接从预定的减速度范围中,选取一个制动减速度值作为第一车辆的最大制动减速度。
在该实现方式的另一个具体实现过程中,进一步地还可以响应于所述第一纵向距离达到预设的间距阈值,基于所述第一纵向距离、所述第一车辆的行驶数据和所述自动驾驶车辆的行驶数据,利用预设的安全距离算法,获得所述第一车辆的最大制动减速度,利用所述预设的选取策略,对所述第一车辆的最大制动减速度进行调整处理,以获得调整后的第一车辆的最大制动减速度。
该具体实施过程的一种情况是,所述第一车辆的行驶数据可以包括所述第一车辆的速度、所述自动驾驶车辆的行驶数据包括所述自动驾驶车辆的速度,具体可以利用所述预设的安全距离算法,对所述第一纵向距离、所述第一车辆的速度、以及所述自动驾驶车辆的速度进行推导处理,进而可以基于所述推导处理的结果,获得所述第一车辆的最大制动减速度。
在本实现方式中,预设的安全距离算法可以是基于RSS模型的推导最大制动减速度的距离算法。
在该具体实现过程中,可以基于自动驾驶车辆装载的传感器设备感测到自动驾驶车辆和第一车辆的实时的距离,即第一纵向距离。
该具体实施过程的另一种情况是,具体可以获取预设的多级制动减速度,所述多级制动减速度包括从小到大排序的多个制动减速度,当所述第一车辆的最大制动减速度小于多级制动减速度中最小值时,将所述第一车辆的最大制动减速度调整为所述最小值。
可以理解的是,第一车辆的最大制动减速度小于多级制动减速度中最小值,即第一车辆的最大制动减速度的绝对值大于多级制动减速度中最小值的绝对值。
在本实现方式中,所述预设的选取策略可以包括按照预设的多级制动减速度与第一车辆的最大制动减速度的关联关系,对第一车辆的最大制动减速度进行调整处理。
在本实现方式中,所述多级制动减速度包括从小到大排序的多个制动减速度。多个制动减速度可以是按照预定的间隔,从预定的减速度范围中选取的。
该具体实施过程的再一种情况是,当所述第一车辆的最大制动减速度在所述多级制动减速度中最小值与最大值之间时,从所述多级制动减速度中获取与所述第一车辆的最大制动减速相邻且小于所述第一车辆的最大制动减速的制动减速度值,进而可以将所述第一车辆的最大制动减速调整为所述制动减速度值。
可以理解的是,与第一车辆的最大制动减速度相邻且小于所述第一车辆的最大制动减速的制动减速度值,即与第一车辆的最大制动减速度的绝对值相邻且大于多级制动减速度中制动减速度值的绝对值。
示例性的,预定的间隔可以是0.5m/s2,预定的减速度范围可以是[-5m/s2,-1m/s2],则可以选取得到制动减速度分别为-1m/s2,-1.5m/s2,……,-4.5 m/s2,-5m/s2。
例如,当第一车辆的最大制动减速度为-6m/s2,第一车辆的最大制动减速度的绝对值大于5m/s2、即第一车辆的最大制动减速度小于-5m/s2时,可以将所述第一车辆的最大制动减速度调整为-5m/s2。
再例如,当第一车辆的最大制动减速度为-1.7m/s2,第一车辆的最大制动减速度在-1m/s2至-5m/s2之间时,可以从多级制动减速度中获取与第一车辆的最大制动减速相邻且小于所述第一车辆的最大制动减速的制动减速度值,即-2m/s2,可以将第一车辆的最大制动减速度调整为-2m/s2。
这里,通过利用预设的多级制动减速度,对计算得到第一车辆的最大制动减速度进行调整,可以提升了第一车辆的最大制动减速度的合理性和可靠性,以便于后续可以基于该数据获得更加准确有效的自动驾驶车辆的制动减速度。
在该实现方式的另一个具体实现过程中,可以响应于所述第一制动减速度和所述第二制动减速度满足预设的条件,基于所述第一制动减速度,获得所述目标制动减速度。
或者,可以响应于所述第一制动减速度和所述第二制动减速度未满足预设的条件,对所述第二制动减速度进行优化处理,以获得所述目标制动减速度。
这样,可以通过基于第一制动减速度和第二制动减速度不同情况,分别获得对应的目标制动减速度,提升了目标制动减速度的针对性和可靠性,进一步地保证了自动驾驶车辆的制动减速度的合理性,从而进一步地提升了自动驾驶车辆行驶过程的安全性和平稳性。
在本实现方式中,该预设的条件可以包括第一制动减速度大于零、以及第一制动减速度小于零,且第一制动减速度大于第二制动减速度,即第二制动减速度小于第一制动减速度小于零其中的一项。
可以理解的是,这里,第一制动减速度大于第二制动减速度,即第一制动减速度的绝对值小于第二制动减速度的绝对值。
本具体实现过程的一种情况是,可以响应于第一制动减速度大于零,基于所述第一制动减速度,获得所述目标制动减速度。
本具体实现过程的另一种情况是,可以响应于第一制动减速度小于零,且第一制动减速度大于第二制动减速度,基于所述第一制动减速度,获得所述目标制动减速度。
本具体实现过程的再一种情况是,可以响应于第一制动减速度小于第二制动减速度小于零,对所述第二制动减速度进行优化处理,以获得所述目标制动减速度。
可以理解的是,这里,第一制动减速度小于第二制动减速度,即第一制动减速度的绝对值大于第二制动减速度的绝对值。
在本具体实现过程中,在所述对所述第二制动减速度进行优化处理,以获得所述目标制动减速度过程中,具体可以利用预设的优化模型,对所述第二制动减速度进行优化处理,进而可以基于所述优化处理的结果,获得所述目标制动减速度。
在本具体实现过程中,可以将优化处理的结果作为所述目标制动减速度。
这样,可以通过利用预设的优化模型,对所述第二制动减速度进行优化处理,将优化的结果作为目标制动减速度,进一步地提升了目标制动减速度针对性和可靠性。
具体地,该预设的优化模型的目标函数可以表示为:||a-acc||2,预设的
优化模型的约束条件可以表示为:。
其中,acc可以为制动减速度,如,第二制动减速度,a可以为优化后的制动减速度,c可以为安全信号,C可以为安全信号约束阈值。
需要说明的是,在控制自动驾驶车辆行驶的规划周期中,下一个行驶状态的安全
信号与当前行驶状态的安全信号的关系可以是如下公式(1)所示:
其中,为下一个行驶状态的安全信号,为当前行驶状态的安全信号,为系数的置换矩阵,a可以表示当前行驶状态的动作,即制动减速度。这里,可以对
安全信号和制动减速度分别取粗略的最大值极限,可推导出一维的为1.0。
具体地,该预设的优化模型中定义的最优拉格朗日乘子λ * ,如下公式(2)所示:
其中,为系数,为系数的置换矩阵,为制动减速度,为当前
状态的安全信号,C可以表示安全信号约束阈值。
具体地,优化后的制动减速度,即修改后的动作a *,如下公式(3)所示:
其中,为制动减速度,λ * 为最优拉格朗日乘子,为系数。
本具体实现过程的一种情况是,首先,将第二制动减速度输入预设的优化模型。其次,基于输入的第二制动减速度,计算最优拉格朗日乘子。若最优拉格朗日乘子大于零,则对第二制动减速度进行优化处理。再次,基于优化后的第二制动减速度,再计算最优拉格朗日乘子,若最优拉格朗日乘子大于零,则对第二制动减速度进行再次优化处理,直至最优拉格朗日乘子小于等于零,则可以终止优化,输出最优拉格朗日乘子小于等于零时,对应的优化处理后的第二制动减速度。
本具体实现过程的另一种情况是,首先,将第二制动减速度输入预设的优化模型。其次,基于输入的第二制动减速度,计算最优拉格朗日乘子。若最优拉格朗日乘子小于等于零,则对输入的第二制动减速度进行二分处理。再次,基于二分处理后的第二制动减速度,再计算最优拉格朗日乘子。若最优拉格朗日乘子大于零,则对第二制动减速度进行优化处理,并基于优化处理后的第二制动减速度,再计算最优拉格朗日乘子,直至最优拉格朗日乘子小于等于零,则可以终止优化,输出最优拉格朗日乘子小于等于零时,对应的优化处理后的第二制动减速度。
本具体实现过程的另一种情况是,首先,将第二制动减速度输入预设的优化模型。其次,基于输入的第二制动减速度,计算最优拉格朗日乘子。若最优拉格朗日乘子小于等于零,则可以不对该第二制动减速度进行优化。
可以理解的是,在利用预设的优化模型对第二制动减速度进行优化处理的过程中,当最优拉格朗日乘子小于等于零时,可以终止优化。并且可以将最优拉格朗日乘子小于等于零时,对应的优化后第二制动减速度作为模型的输出。
本具体实现过程的另一种情况是,将所述第二制动减速度输入预设的优化模型,基于输入的第二制动减速度,计算得到最优拉格朗日乘子,当所述最优拉格朗日乘子小于等于零时,对所述第二制动减速度进行二分处理,基于所述最优拉格朗日乘子,对所述二分处理后的第二制动减速度进行迭代优化,直至满足预设的优化终止条件,以获得优化处理后的第二制动减速度。
在该实现过程中,预设的优化终止条件可以包括迭代处理的次数到达预设的迭代次数阈值、或最优拉格朗日乘子小于等于零。
示例性的,首先,将第二制动减速度输入预设的优化模型。其次,基于输入的第二制动减速度,计算最优拉格朗日乘子。若最优拉格朗日乘子大于零,则对第二制动减速度进行优化处理。再次,基于优化后的第二制动减速度,再计算最优拉格朗日乘子,一方面,若最优拉格朗日乘子大于零,则对第二制动减速度进行再次优化处理,再计算新的最优拉格朗日乘子,若新的最优拉格朗日乘子大于零,可以对第二制动减速度进行迭代优化处理,直至迭代处理的次数到达预设的迭代次数阈值,输出的第二制动减速度可以为0 m/s2;另一方面,若最优拉格朗日乘子小于等于零,则可以终止优化,输出最优拉格朗日乘子小于等于零时,对应的优化处理后的第二制动减速度。
示例性的,首先,将第二制动减速度输入预设的优化模型。其次,基于输入的第二制动减速度,计算最优拉格朗日乘子。若最优拉格朗日乘子小于等于零,则对输入的第二制动减速度进行二分处理。再次,基于二分处理后的第二制动减速度,再计算最优拉格朗日乘子。若最优拉格朗日乘子大于零,则对第二制动减速度进行优化处理,并基于优化处理后的第二制动减速度,再计算新的最优拉格朗日乘子,若新的最优拉格朗日乘子大于零,可以对第二制动减速度进行迭代优化处理,直至迭代处理的次数到达预设的迭代次数阈值,输出的第二制动减速度为0m/s2;另一方面,若新的最优拉格朗日乘子小于等于零,则可以终止优化,输出新的最优拉格朗日乘子小于等于零时,对应的优化处理后的第二制动减速度。
在该实现方式的另一个具体实现过程中,在基于预设的条件,对第一制动减速度和第二制动减速度进行比较处理之前,还可以利用预设的优化模型,对所述第一制动减速度进行优化处理,进而可以基于优化后的第一制动减速度与第二制动减速度进行比较处理。
在该实现方式的再一个具体实现过程中,具体可以利用预设的制动算法,对所述第一车辆的最大制动减速度、所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述纵向安全距离进行计算处理,以获得所述第一制动减速度。
在该具体实现过程中,自动驾驶车辆的行驶数据可以包括自动驾驶车辆的位置信息、自动驾驶车辆的速度、自动驾驶车辆的反应时间、自动驾驶车辆的最大加速度、自动驾驶车辆的最小制动减速度以及自动驾驶车辆的最大制动减速度。
具体地,自动驾驶车辆的位置信息可以是所获取的当前的自动驾驶车辆的坐标信息。自动驾驶车辆的速度是所获取的当前的行驶速度。
可以理解的是,在计算第一制动减速度的过程中,自动驾驶车辆的最大加速度、自动驾驶车辆的最小制动减速度以及自动驾驶车辆的最大制动减速度可以是根据自动驾驶车辆的类型所预先配置的。
在该具体实现过程中,第一车辆是待切入至所述自动驾驶车辆的行驶方向上的切入车辆。第一车辆的行驶数据可以包括第一车辆的速度、第一车辆的位置信息等。
在该具体实现过程中,预设的制动算法可以包括基于责任敏感安全(Responsibility-Sensitive Safety, RSS)模型和智能驾驶员模型(Intelligent DriverModel, IDM)的制动算法,即Safe IDM制动算法、以及IDM模型的制动算法。
具体地,可以利用Safe IDM制动算法,如下公式(4),基于所述第一车辆的最大制
动减速度、所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述纵向安全距离,
计算得到第一制动减速度。
其中,为自动驾驶车辆的当前速度,即自车的当前速度,为自动驾驶车辆的期
望速度,为第一车辆和自动驾驶车辆的速度差值,为自动驾驶车辆的期望加速度,为
自动驾驶车辆的期望减速度,为加速度指数,为基于RSS模型的同向行驶纵向安全距
离,即纵向安全距离,为安全系数,优选地该安全系数可以为1.1。
其中,该纵向安全距离可以利用如下公式(5)计算得到。
这里,自动驾驶车辆相对于第一车辆,该自动驾驶车辆为后车,第一车辆为前车,
为自动驾驶车辆的当前速度,即后车的当前速度,为第一车辆的当前速度,即前车的当前
速度,为自动驾驶车辆的反应时间,为自动驾驶车辆的最大加速度,为自动
驾驶车辆的最大制动减速度,为第一车辆的最大制动减速度。
这样,可以通过利用预设的制动算法,对所述第一车辆的最大制动减速度、所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述纵向安全距离进行计算处理,得到更加准确地第一制动减速度,提升了第一制动减速度的可靠性,可以进一步地提升了目标制动减速度合理性和可靠性,从而进一步地保证了自动驾驶车辆行驶过程的平稳性。
而且,由于通常的IDM模型无法很好的满足安全模型约束,并且计算得到制动减速度可能存在安全过度的问题。基于RSS模型和IDM模型的制动算法可以利用RSS模型尽量避免IDM模型的存在的不足,进而可以计算得到更加合理地制动减速度。
可以理解的是,此外,也可以利用现有的IDM模型的制动算法,基于所述第一车辆的最大制动减速度、所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述纵向安全距离,计算得到第一制动减速度。
在该实现方式的再一个具体实现过程中,具体可以基于所述自动驾驶车辆的行驶数据和所述第二车辆的行驶数据,获得所述自动驾驶车辆和所述第二车辆之间的第二纵向距离,进而可以利用预设的距离算法,对所述第二纵向距离、所述自动驾驶车辆的行驶数据和所述第二车辆的行驶数据进行计算处理,以获得所述第二制动减速度。
在该具体实现过程中,所述第二车辆是在所述自动驾驶车辆的后方行驶的车辆。第二车辆的行驶数据可以包括第二车辆的速度、第二车辆的位置信息、第二车辆的反应时间、第二车辆的最大加速度、第二车辆的最小制动减速度以及第二车辆的最大制动减速度。
在该具体实现过程中,预设的距离算法可以是基于RSS模型的推导最大制动减速度的距离算法。这里,推导出的最大制动减速度可以作为自动驾驶车辆的第二制动减速度。
在该具体实现过程中,可以基于自动驾驶车辆的位置信息和第二车辆的位置信息,获得自动驾驶车辆和第二车辆之间的距离,进而可以基于自动驾驶车辆和第二车辆之间的距离、自动驾驶车辆的速度、第二车辆的速度、第二车辆的反应时间、第二车辆的最大加速度、以及第二车辆的最小制动减速度,利用预设的距离算法,推导得到自动驾驶车辆的最大制动减速度。
具体地,可以利用如下公式(6),推导计算得到自动驾驶车辆的最大制动减速度,即第二制动减速度:
其中,为自动驾驶车辆和第二车辆之间的距离,即第二纵向距离。这里,自动驾
驶车辆相对于第二车辆,该自动驾驶车辆为前车,第二车辆为后车。为自动驾驶车辆的速
度,即前车的当前速度,为第二车辆的速度,即后车的当前速度,为第二车辆的反应时
间,为第二车辆的最大加速度,为第二车辆的最大制动减速度,即后车的最
小的制动加速度,为待推导计算的自动驾驶车辆的最大制动减速度,即第二制动减
速度,也是作为前车的自动驾驶车辆的最大制动减速度。
这样,可以通过基于自动驾驶车辆的行驶数据和第二车辆的行驶数据,获得自动驾驶车辆和所述第二车辆之间的第二纵向距离,进而可以利用预设的距离算法,对第二纵向距离、自动驾驶车辆的行驶数据和第二车辆的行驶数据进行计算处理,得到更加准确地第二制动减速度,提升了第二制动减速度的可靠性,可以进一步地提升了目标制动减速度合理性和可靠性,从而进一步地保证了自动驾驶车辆行驶过程的平稳性。
而且,可以通过结合第二车辆的行驶数据确定目标制动减速度,在进一步地保证了自动驾驶车辆行驶过程的平稳性的同时,还可以进一步地保证了自动驾驶车辆的后车的行驶过程的安全性和平稳性,从而进一步地提升了自动驾驶车辆行为策略对后车行驶的友好性。
需要说明的是,本实现方式中所提供的多种具体实现过程之间可以相互结合,来实现本实施例的自动驾驶车辆的控制方法中获得所述目标制动减速度的步骤。详细的描述可以参见本实现方式中的相关内容,此处不再赘述。
可选地,在本实施例的一个可能的实现方式中,在步骤103之后,具体可以响应于所述第一纵向距离未达到所述预设的间距阈值,获取预先配置的制动减速度,将所述预先配置的制动减速度作为所述目标制动减速度。
在本实现方式中,预先配置的制动减速度可以是较小的制动减速度,例如,预先配置的制动减速度可以是-0.1m/s2。
可以理解的是,第一车辆在刚切入到自动驾驶车辆前方时,即在自动驾驶车辆和第一车辆之间的第一纵向距离未达到预设的间距阈值时,一般第一车辆是不会立刻进行减速制动的。因此,在第一车辆在刚切入到自动驾驶车辆前方时,可以将预先配置的制动减速度作为自动驾驶车辆的目标制动减速度,即以较小的制动减速度控制自动驾驶车辆行驶,使得自动驾驶车辆采取缓刹车操作。这样,可以进一步地保障了自动驾驶车辆行驶的平稳性。
可以理解的是,第一车辆在刚切入到自动驾驶车辆前方时,如果第一车辆立刻减速制动,第一车辆可能会被认定为是故意别车,是非正常的行驶行为,在此可以不考虑该情况。
需要说明的是,本实现方式中所提供的具体实现过程,可以结合前述实现方式中所提供的多种具体实现过程,来实现本实施例的自动驾驶车辆的控制方法。详细的描述可以参见前述实现方式中的相关内容,此处不再赘述。
可选地,在本实施例的一个可能的实现方式中,在步骤105之前,还可以响应于所述第一横向距离不满足所述横向安全距离,且所述第一纵向距离满足所述纵向安全距离,基于所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述纵向安全距离,获得第三制动减速度、并基于所述自动驾驶车辆的行驶数据和所述第二车辆的行驶数据,获得第四制动减速度,响应于所述第三制动减速度小于所述第四制动减速度,对所述第四制动减速度进行优化处理,以获得所述目标制动减速度。
在本实现方式中,具体可以响应于所述第三制动减速度小于所述第四制动减速度小于零,对所述第四制动减速度进行优化处理,以获得所述目标制动减速度。
在本实现方式中,第三制动减速度是相对于第一车辆的自动驾驶车辆的制动减速度。第四制动减速度是相对于第二车辆的自动驾驶车辆的制动减速度。
在该实现方式的一个具体实现过程中,可以利用预设的制动算法,对所述第一车辆的最大制动减速度、所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述纵向安全距离进行计算处理,以获得所述第三制动减速度。
这里,该第一车辆的最大制动减速度可以是基于第一车辆的类型所预先配置的最大制动减速度,或者,也可以是基于预设的选取策略所获得的。
在本实现方式中,预设的制动算法可以与前述步骤中的预设的制动算法相同。预设的制动算法可以包括Safe IDM模型制动算法、以及IDM模型制动算法等。
在该实现方式的另一个具体实现过程中,可以基于所述自动驾驶车辆的行驶数据和所述第二车辆的行驶数据,获得所述自动驾驶车辆和所述第二车辆之间的第二纵向距离,进而可以利用预设的距离算法,对第二纵向距离、自动驾驶车辆的行驶数据和所述第二车辆的行驶数据进行计算处理,以获得所述第四制动减速度。
可以理解的是,第三制动减速度相当于在第一横向距离不满足所述横向安全距离,且所述第一纵向距离满足所述纵向安全距离情况下的第一制动减速度,即相对于第一车辆的自动驾驶车辆的制动减速度,即前向安全制动。第四制动减速度相当于在第一横向距离不满足所述横向安全距离,且所述第一纵向距离满足所述纵向安全距离情况下的第二制动减速度,即相对于第二车辆的自动驾驶车辆的制动减速度,即后向安全制动。
在本实现方式中,可以基于预设的条件、所述第三制动减速度和所述第四制动减速度,获得所述目标制动减速度。
其中,该预设的条件可以包括第三制动减速度大于零、以及第三制动减速度小于零,且第三制动减速度大于第四制动减速度。
在该实现方式的再一个具体实现过程中,响应于所述第三制动减速度小于所述第四制动减速度,可以利用预设的优化模型,对所述第四制动减速度进行优化处理,以获得所述目标制动减速度。
具体地,可以当所述第三制动减速度小于所述第四制动减速度小于零时,利用预设的优化模型,对所述第四制动减速度进行优化处理,以获得所述目标制动减速度。
可以理解的是,这里,对第四制动减速度进行优化处理的方式可以参照第二制动减速度进行优化处理的方式,详细的描述可以参见前述实现方式中的相关内容,此处不再赘述。
在该实现方式的再一个具体实现过程中,响应于第三制动减速度小于零,且所述第三制动减速度大于所述第四制动减速度,可以将第三制动减速度作为目标制动减速度。
在该实现方式的再一个具体实现过程中,响应于第三制动减速度大于零,可以将第三制动减速度作为目标制动减速度。
在该实现方式的再一个具体实现过程中,在基于预设的条件,在对第三制动减速度和第四制动减速度进行比较处理之前,还可以利用预设的优化模型,对所述第三制动减速度进行优化处理,进而可以基于优化后的第三制动减速度与第四制动减速度进行比较处理。
这样,可以通过本实现方式,在第一横向距离不满足横向安全距离,且所述第一纵向距离满足纵向安全距离的情况下,获得更加合理地目标制动减速度,可以避免自动驾驶车辆与切入车辆发生碰撞的同时,还保证了自动驾驶车辆和其后车的安全行驶距离,从而有效地保证了自动驾驶车辆行驶过程的安全性和平稳性。
需要说明的是,本实现方式中所提供的具体实现过程,可以结合前述实现方式中所提供的多种具体实现过程,来实现本实施例的自动驾驶车辆的控制方法。详细的描述可以参见前述实现方式中的相关内容,此处不再赘述。
可选地,在本实施例的一个可能的实现方式中,第一车辆的行驶数据可以包括横向的行驶数据,所述自动驾驶车辆的行驶数据可以包括横向的行驶数据。在步骤102中,可以基于所述第一车辆的横向的行驶数据和所述自动驾驶车辆的横向的行驶数据,获得所述自动驾驶车辆和所述第一车辆之间的第一横向距离和横向安全距离。
在该实现方式中,第一车辆的横向的行驶数据可以包括第一车辆的横向速度、第一车辆的横向最大加速度、第一车辆的横向最大/最小制动减速度以及第一车辆的横向位置信息等。
自动驾驶车辆的横向的行驶数据可以包括自动驾驶车的横向速度、自动驾驶车的横向最大加速度、自动驾驶车的横向最大/最小制动减速度度以及自动驾驶车的横向位置信息等。
可以理解的是,第一车辆的横向最大加速度、第一车辆的横向最大/最小制动减速度,以及自动驾驶车的横向最大加速度、自动驾驶车的横向最大/最小制动减速度可以是根据车辆的类型和行驶环境所预先配置的。
在该实现方式的一个具体实现过程中,可以基于第一车辆的位横向置信息和自动驾驶车的横向位置信息,计算得到自动驾驶车辆和所述第一车辆之间的第一横向距离,即当前行驶情况下的第一横向距离。
在该实现方式的另一个具体实现过程中,可以利用预设的横向安全距离算法,基于第一车辆的横向的行驶数据和自动驾驶车辆的横向的行驶数据,计算得到横向安全距离。
在该具体实现过程中,该预设的横向安全距离算法可以包括基于RSS模型的同向行驶横向安全距离算法。
可以理解的是,也可以利用现有的其他方式计算得到第一纵向距离和纵向安全距离,在此可以不做具体限定。
可选地,在本实施例的一个可能的实现方式中,第一车辆的行驶数据可以包括纵向的行驶数据,所述自动驾驶车辆的行驶数据可以包括纵向的行驶数据。在步骤102中,还可以基于所述第一车辆的纵向的行驶数据和所述自动驾驶车辆的纵向的行驶数据,获得所述自动驾驶车辆和所述第一车辆之间的第一纵向距离和纵向安全距离。
在该实现方式中,第一车辆的纵向的行驶数据可以包括第一车辆的纵向速度、第一车辆的纵向最大加速度、第一车辆的纵向最大/最小制动减速度以及第一车辆的纵向位置信息等。
自动驾驶车辆的纵向的行驶数据可以包括自动驾驶车的纵向速度、自动驾驶车的纵向最大加速度、自动驾驶车的纵向最大/最小制动减速度以及自动驾驶车的纵向位置信息等。
可以理解的是,第一车辆的纵向最大加速度、第一车辆的纵向最大/最小制动减速度,以及自动驾驶车的纵向最大加速度、自动驾驶车的纵向最大/最小制动减速度可以是根据车辆的类型和行驶环境所预先配置的。
在该实现方式的一个具体实现过程中,基于第一车辆的纵向位置信息和自动驾驶车的纵向位置信息,计算得到自动驾驶车辆和所述第一车辆之间的第一纵向距离,即当前行驶情况下的第一纵向距离。
在该实现方式的另一个具体实现过程中,可以利用预设的纵向安全距离算法,基于第一车辆的纵向的行驶数据和自动驾驶车辆的纵向的行驶数据,计算得到纵向安全距离。
在该具体实现过程中,该预设的纵向安全距离算法可以包括基于RSS模型的同向行驶纵向安全距离算法。
可以理解的是,也可以利用现有的其他方式计算得到第一纵向距离和纵向安全距离,在此可以不做具体限定。
需要说明的是,本实现方式中所提供的具体实现过程,可以结合前述实现方式中所提供的多种具体实现过程,来实现本实施例的自动驾驶车辆的控制方法。详细的描述可以参见前述实现方式中的相关内容,此处不再赘述。
为了更好地理解本申请实施例的方法,下面结合附图和具体应用场景对本申请实施例的方法进行说明。
图2是本申请另一个实施例提供的自动驾驶车辆的控制方法的流程示意图,如图2所示。
步骤201、获取自动驾驶车辆的行驶数据、第一车辆的行驶数据和第二车辆的行驶数据。
在本实施例中,自动驾驶车辆也可以称为本车,或者,自车。第一车辆可以是可能切入到自车前方的切入车辆,也可以称为前车或切入车辆。第二车辆是在自动驾驶车辆后方行驶的车辆,也可以称为后车。
在本实施例中,在一个控制规划周期内,可以获取当前的自动驾驶车辆的行驶数据、第一车辆的行驶数据和第二车辆的行驶数据。
示例性的,一个控制规划周期可以为0.1秒。
可以理解的是,在自动驾驶车辆行驶过程是按照连续的控制规划周期,对车辆行驶进行控制的。
步骤202、基于第一车辆的行驶数据和自动驾驶车辆的行驶数据,获得自动驾驶车辆和第一车辆之间的第一横向距离和横向安全距离。
步骤203、基于第一车辆的行驶数据和自动驾驶车辆的行驶数据,获得自动驾驶车辆和第一车辆之间的第一纵向距离和纵向安全距离。
步骤204、在第一横向距离满足横向安全距离,且第一纵向距离满足纵向安全距离的情况下,自动驾驶车辆基于当前行驶策略继续行驶。
步骤205、在第一横向距离不满足横向安全距离,且第一纵向距离不满足纵向安全距离的情况下,确定第一纵向距离是否达到预设的间距阈值。
在本实施例中,预设的间距阈值可以是第一车辆的预设的最大减速度对应的第一车辆和自动驾驶车辆之间的距离。第一车辆的预设的最大减速度可以是在切入自动驾驶车辆前方情况下,设定的切入车辆的最大减速度的经验值。
例如,第一车辆的预设的最大减速度可以是-1 m/s2,预设的间距阈值可以是-1m/s2所对应的第一车辆和自动驾驶车辆之间的距离。
步骤206、在第一纵向距离达到预设的间距阈值的情况下,基于多级减速度的选取策略,获得第一车辆的最大制动减速度。
在本实施例中,图3是本申请另一个实施例提供的自动驾驶车辆的控制方法中多级减速度的选取策略的示意图,如图3所示。
具体地,该场景中包括自动驾驶车辆,即本车,以及第一车辆,即前车。预设的选取策略可以是多级减速度的选取策略,该多级减速度的选取策略可以是按照预定的间隔,从预定的减速度范围中,选取第一车辆的最大制动减速度。
示例性的,预定的间隔可以是0.5 m/s2,预定的减速度范围可以是[-5m/s2,-1m/s2],则可以选取得到第一车辆的最大制动减速度-1m/s2,-1.5m/s2,……,-4.5 m/s2,-5m/s2。
在该实现方式的一个具体实现过程中,进一步地还可以响应于所述第一纵向距离达到预设的间距阈值,基于所述第一纵向距离、所述第一车辆的行驶数据和所述自动驾驶车辆的行驶数据,利用预设的安全距离算法,获得所述第一车辆的最大制动减速度,利用所述预设的选取策略,对所述第一车辆的最大制动减速度进行调整处理,以获得调整后的第一车辆的最大制动减速度。
该具体实施过程的一种情况是,所述第一车辆的行驶数据可以包括所述第一车辆的速度、所述自动驾驶车辆的行驶数据包括所述自动驾驶车辆的速度,具体可以利用所述预设的安全距离算法,对所述第一纵向距离、所述第一车辆的速度、以及所述自动驾驶车辆的速度进行推导处理,进而可以基于所述推导处理的结果,获得所述第一车辆的最大制动减速度。
在本实现方式中,预设的安全距离算法可以是基于RSS模型的推导最大制动减速度的距离算法。
在该具体实现过程中,可以基于自动驾驶车辆装载的传感器设备感测到自动驾驶车辆和第一车辆的实时的距离,即第一纵向距离。
具体地,可以利用如下公式(7),推导计算得到第一车辆的最大制动减速度:
其中,可以为自动驾驶车辆和第一车辆之间的第一纵向距离,即实时获取的第
一纵向距离。这里,自动驾驶车辆相对于第一车辆,该自动驾驶车辆为后车,第一车辆为前
车,为自动驾驶车辆的当前速度,即后车的当前速度,为第一车辆的当前速度,即前车的
当前速度,为自动驾驶车辆的反应时间,为自动驾驶车辆的最大加速度,为
自动驾驶车辆的最大制动减速度,为第一车辆的最大制动减速度,即为待推导计算
未知值。
可选地,可以获取预设的多级制动减速度;所述多级制动减速度包括从小到大排序的多个制动减速度,当所述第一车辆的最大制动减速度小于多级制动减速度中最小值时,将所述第一车辆的最大制动减速度调整为所述最小值。
可以理解的是,第一车辆的最大制动减速度小于多级制动减速度中最小值,即第一车辆的最大制动减速度的绝对值大于多级制动减速度中最小值的绝对值。
在本实现方式中,所述预设的选取策略可以包括按照预设的多级制动减速度与第一车辆的最大制动减速度的关联关系,对第一车辆的最大制动减速度进行调整处理。
在本实现方式中,所述多级制动减速度包括从小到大排序的多个制动减速度。多个制动减速度可以是按照预定的间隔,从预定的减速度范围中选取的。
在该实现方式的一个具体实现过程中,当所述第一车辆的最大制动减速度在所述多级制动减速度中最小值与最大值之间时,从所述多级制动减速度中获取与所述第一车辆的最大制动减速相邻且小于所述第一车辆的最大制动减速的制动减速度值,进而可以将所述第一车辆的最大制动减速调整为所述制动减速度值。
可以理解的是,与第一车辆的最大制动减速度相邻且小于所述第一车辆的最大制动减速的制动减速度值,即与第一车辆的最大制动减速度的绝对值相邻且大于多级制动减速度中制动减速度值的绝对值。
示例性的,预定的间隔可以是0.5m/s2,预定的减速度范围可以是[-5m/s2,-1m/s2],则可以选取得到制动减速度分别为-1m/s2,-1.5m/s2,……,-4.5 m/s2,-5m/s2。
例如,当第一车辆的最大制动减速度为-6m/s2,第一车辆的最大制动减速度的绝对值大于5m/s2、即第一车辆的最大制动减速度小于-5m/s2时,可以将所述第一车辆的最大制动减速度调整为-5m/s2。
再例如,当第一车辆的最大制动减速度为-1.7m/s2,第一车辆的最大制动减速度在-1m/s2至-5m/s2之间时,可以从多级制动减速度中获取与第一车辆的最大制动减速相邻且小于所述第一车辆的最大制动减速的制动减速度值,即-2m/s2,可以将第一车辆的最大制动减速度调整为-2m/s2。
这里,通过利用预设的多级制动减速度,对计算得到第一车辆的最大制动减速度进行调整,可以提升了第一车辆的最大制动减速度的合理性和可靠性,以便于后续可以基于该数据获得更加准确有效的自动驾驶车辆的制动减速度,可以更好地应对前车极端切入的行驶应用场景。
步骤207、基于第一车辆的最大制动减速度、自动驾驶车辆的行驶数据、第一车辆的行驶数据和纵向安全距离进行计算处理,利用预设的制动算法,计算得到第一制动减速度。
这里,如前述实施例所述,可以利用前述公式(4),基于第一车辆的最大制动减速度、自动驾驶车辆的行驶数据、第一车辆的行驶数据和纵向安全距离,计算得到第一制动减速度。
可以理解的是,详细的描述可以参见前述实施例中的相关内容,此处不再赘述。
在本实施例中,还可以利用预设的优化模型,对计算得到第一制动减速度进行优化处理,得到优化后的第一制动减速度。利用优化后的第一制动减速度执行后续相关处理步骤。
步骤208、基于自动驾驶车辆的行驶数据和第二车辆的行驶数据,计算得到自动驾驶车辆和第二车辆之间的第二纵向距离。
步骤209、基于第二纵向距离、自动驾驶车辆的行驶数据和第二车辆的行驶数据,利用预设的距离算法,计算得到第二制动减速度。
这里,如前述实施例所述,可以利用前述公式(6),基于第二纵向距离、自动驾驶车辆的行驶数据和第二车辆的行驶数据,推导计算得到自动驾驶车辆的最大制动减速度,即第二制动减速度。
可以理解的是,详细的描述可以参见前述实施例中的相关内容,此处不再赘述。
步骤210、在第一制动减速度小于第二制动减速度小于零的情况下,利用预设的优化模型,对第二制动减速度进行优化处理,以将优化处理的结果作为目标制动减速度。
步骤211、在第一制动减速度大于零,或,第一制动减速度小于零,且第一制动减速度大于第二制动减速度的情况下,将第一制动减速度作为目标制动减速度。
这里,对第二制动减速度进行优化处理的详细的描述可以参见前述实施例中的相关内容,此处不再赘述。
步骤212、在第一纵向距离未达到预设的间距阈值的情况下,获取预先配置的制动减速度,将预先配置的制动减速度作为目标制动减速度。
步骤213、在第一横向距离不满足横向安全距离,且第一纵向距离满足纵向安全距离情况下,基于自动驾驶车辆的行驶数据、第一车辆的行驶数据和纵向安全距离,获得第三制动减速度、并基于自动驾驶车辆的行驶数据和第二车辆的行驶数据,获得第四制动减速度。
步骤214、在第三制动减速度小于第四制动减速度小于零的情况下,利用预设的优化模型,对第四制动减速度进行优化处理,以将优化处理的结果作为目标制动减速度。
这里,对第四制动减速度进行优化处理的详细的描述可以参见前述实施例中的相关内容,此处不再赘述。
步骤215、在第三制动减速度大于零,或,第三制动减速度小于零,且第三制动减速度大于第四制动减速度的情况下,将第三制动减速度作为目标制动减速度。
步骤216、基于目标制动减速度,控制自动驾驶车辆的行驶。
在本实施例中,至此,可以将目标制动减速度作为该自动驾驶车辆当前的制动减速度。自动驾驶车辆可以基于该目标制动减速度继续行驶。
在本实施例中,图4A是基于现有的自动驾驶车辆的控制方法的三类车辆的速度变化和制动减速度变化的示意图;图4B是本申请一个实施例提供的自动驾驶车辆的控制方法中三类车辆的速度变化和制动减速度变化的示意图。
如图4A所示,横轴可以表示时间(1s, 2s, 3s,4s),即可以是自动驾驶车辆的控制规划周期,左侧纵轴可以表示速度[-10m/s,10m/s],右侧纵轴可以表示制动减速度[-10m/s2,10m/s2]。其中,曲线1(蓝色虚线)是第一车辆的速度,曲线2(橙色虚线)是自动驾驶车辆的速度,曲线3(绿色虚线)是第二车辆的速度,曲线4(蓝色实线)是第一车辆的制动减速度,曲线5(橙色实线)是自动驾驶车辆的目标制动减速度,曲线6(绿色实线)是第二车辆的制动减速度,曲线7(红色实线)是自动驾驶车辆的后向制动减速度,即第二制动减速度。图4A中,在自动驾驶车辆执行制动之初0-1s时间段,自动驾驶车辆的目标制动减速度的曲线在自动驾驶车辆的后向制动减速度的曲线下方,这样,较易发生后车追尾自动驾驶车辆的情况。
如图4B所示,横轴可以表示时间(1s, 2s, 3s,4s),即可以是自动驾驶车辆的控制规划周期,左侧纵轴可以表示速度[-10m/s,10m/s],右侧纵轴可以表示制动减速度[-10m/s2,10m/s2]。其中,曲线1(蓝色虚线)是第一车辆的速度,曲线2(橙色虚线)是自动驾驶车辆的速度,曲线3(绿色虚线)是第二车辆的速度,曲线4(蓝色实线)是第一车辆的制动减速度,曲线5(橙色实线)是自动驾驶车辆自动驾驶车辆的目标制动减速度,曲线6(绿色实线)是第二车辆的制动减速度,曲线7(红色实线)是自动驾驶车辆的后向制动减速度,即第二制动减速度。图4B中,在执行制动之初0-1s时间段,自动驾驶车辆的目标制动减速度的曲线在自动驾驶车辆的后向制动减速度的曲线上方,且自动驾驶车辆的目标制动减速度和自动驾驶车辆的后向制动减速度之间的差距较明显,这样,可以在自动驾驶车辆制动时,有效地避免后车追尾情况的发生。
此外具体地,如图4B所示的各个曲线状态,可以看出,在第一车辆切入过程中,自动驾驶车辆的速度和第二车辆的速度变化均比较平滑,即自动驾驶车辆和其后面的第二车辆的行驶状态是相对平稳的。而且,自动驾驶车辆的制动减速度的曲线和期望的自动驾驶车辆制动减速度曲线比较相近。因此,采用本实施例中的技术方案,通过多级制动减速度策略,保证了自动驾驶车辆和后车制动减速度控制在较小并合理的制动量内,有效保证了自动驾驶车辆和后车行驶过程的安全性和平稳性,同时提升了自动驾驶车辆行为策略对后车行驶的友好性,
此外,采用本实施例中的技术方案,可以更好地应对前车极端切入自车行驶方向的行驶场景,在该行驶场景下,也可以有效保证自动驾驶车辆和后车行驶过程的安全性和平稳性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图5示出了本申请一个实施例提供的自动驾驶车辆的控制装置的结构框图,如图5所示。本实施例的自动驾驶车辆的控制装置500可以包括数据获取单元501,第一获得单元502、关系确定单元503、第二获得单元504和行驶控制单元505。其中,数据获取单元501,用于获取第一车辆的行驶数据和第二车辆的行驶数据;所述第一车辆是待切入至所述自动驾驶车辆的行驶方向上的切入车辆,所述第二车辆是在所述自动驾驶车辆的后方行驶的车辆;第一获得单元502,用于基于所述第一车辆的行驶数据和所述自动驾驶车辆的行驶数据,获得所述自动驾驶车辆和所述第一车辆之间的第一横向距离和横向安全距离、所述自动驾驶车辆和所述第一车辆之间的第一纵向距离和纵向安全距离;关系确定单元503,用于响应于所述第一横向距离不满足所述横向安全距离,且所述第一纵向距离不满足所述纵向安全距离,确定所述第一纵向距离和预设的间距阈值的关系;第二获得单元504,用于响应于所述第一纵向距离达到所述预设的间距阈值,根据所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述第二车辆的行驶数据,获得所述目标制动减速度;行驶控制单元505,用于基于所述目标制动减速度,控制所述自动驾驶车辆的行驶。
需要说明的是,本实施例的自动驾驶车辆的控制装置的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,或者还可以为位于网络侧的分布式系统,例如,网络侧的自动驾驶平台中的处理引擎或者分布式系统等,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在本地终端上的本地程序(nativeApp),或者还可以是本地终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
可选地,在本实施例的一个可能的实现方式中,第二获得单元504,具体可以用于响应于所述第一纵向距离达到所述预设的间距阈值,基于预设的选取策略,获得所述第一车辆的最大制动减速度;基于所述第一车辆的最大制动减速度、所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述纵向安全距离,获得第一制动减速度;基于所述自动驾驶车辆的行驶数据和所述第二车辆的行驶数据,获得第二制动减速度;基于预设的条件、所述第一制动减速度和所述第二制动减速度,获得所述目标制动减速度。
可选地,在本实施例的一个可能的实现方式中,第二获得单元504,具体可以用于响应于所述第一制动减速度所述第二制动减速度满足预设的条件,基于所述第一制动减速度,获得所述目标制动减速度;或,响应于所述第一制动减速度和所述第二制动减速度未满足预设的条件,对所述第二制动减速度进行优化处理,以获得所述目标制动减速度。
可选地,在本实施例的一个可能的实现方式中,第二获得单元504,具体可以用于利用预设的优化模型,对所述第二制动减速度进行优化处理;基于所述优化处理的结果,获得所述目标制动减速度。
可选地,在本实施例的一个可能的实现方式中,第二获得单元504,具体可以用于利用预设的制动算法,对所述第一车辆的最大制动减速度、所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述纵向安全距离进行计算处理,以获得所述第一制动减速度。
可选地,在本实施例的一个可能的实现方式中,第二获得单元504,具体可以用于基于所述自动驾驶车辆的行驶数据和所述第二车辆的行驶数据,获得所述自动驾驶车辆和所述第二车辆之间的第二纵向距离;利用预设的距离算法,对所述第二纵向距离、所述自动驾驶车辆的行驶数据和所述第二车辆的行驶数据进行计算处理,以获得所述第二制动减速度。
可选地,在本实施例的一个可能的实现方式中,第二获得单元504,具体可以用于响应于所述第一纵向距离达到预设的间距阈值,基于所述第一纵向距离、所述第一车辆的行驶数据和所述自动驾驶车辆的行驶数据,利用预设的安全距离算法,获得所述第一车辆的最大制动减速度;利用所述预设的选取策略,对所述第一车辆的最大制动减速度进行调整处理,以获得调整后的第一车辆的最大制动减速度。
可选地,在本实施例的一个可能的实现方式中,第二获得单元504,还具体可以用于获取预设的多级制动减速度;所述多级制动减速度包括从小到大排序的多个制动减速度;
当所述第一车辆的最大制动减速度小于多级制动减速度中最小值时,将所述第一车辆的最大制动减速度调整为所述最小值,以获得调整后的第一车辆的最大制动减速度;
或者,当所述第一车辆的最大制动减速度在所述多级制动减速度中最小值与最大值之间时,从所述多级制动减速度中获取与所述第一车辆的最大制动减速相邻且小于所述第一车辆的最大制动减速的制动减速度值;将所述第一车辆的最大制动减速调整为所述制动减速度值,以获得调整后的第一车辆的最大制动减速度。
可选地,在本实施例的一个可能的实现方式中,行驶控制单元505,具体可以用于响应于所述第一横向距离不满足所述横向安全距离,且所述第一纵向距离满足所述纵向安全距离,基于所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述纵向安全距离,获得第三制动减速度、并基于所述自动驾驶车辆的行驶数据和所述第二车辆的行驶数据,获得第四制动减速度;响应于所述第三制动减速度小于所述第四制动减速度,对所述第四制动减速度进行优化处理,以获得所述目标制动减速度。
本实施例中,通过数据获取单元获取第一车辆的行驶数据和第二车辆的行驶数据,所述第一车辆是待切入至所述自动驾驶车辆的行驶方向上的切入车辆,所述第二车辆是在所述自动驾驶车辆的后方行驶的车辆,进而可以由第一获得单元对基于所述第一车辆的行驶数据和所述自动驾驶车辆的行驶数据,获得所述自动驾驶车辆和所述第一车辆之间的第一横向距离和横向安全距离、所述自动驾驶车辆和所述第一车辆之间的第一纵向距离和纵向安全距离,由关系确定单元响应于所述第一横向距离不满足所述横向安全距离,且所述第一纵向距离不满足所述纵向安全距离,确定所述第一纵向距离和预设的间距阈值的关系,由第二获得单元响应于所述第一纵向距离达到所述预设的间距阈值,根据所述自动驾驶车辆的行驶数据、所述第一车辆的行驶数据和所述第二车辆的行驶数据,获得所述目标制动减速度,使得行驶控制单元能够基于所述目标制动减速度,控制所述自动驾驶车辆的行驶,由于可以基于自动驾驶车辆、第一车辆和第二车辆的当前行驶数据,以及自动驾驶车辆、第一车辆和第二车辆之间的距离情况,确定出更加合理地目标制动减速度,来控制自动驾驶车辆的行驶,可以将自动驾驶车辆的制动减速度控制在合理的制动量内,在行驶前方存在切入车辆情况下,可以避免自动驾驶车辆与切入车辆发生碰撞的同时,还保证了自动驾驶车辆和其后车的安全行驶距离,从而有效地保证了自动驾驶车辆行驶过程的安全性和平稳性。
而且,可以通过结合第二车辆的行驶数据来确定目标制动减速度,在保证了自动驾驶车辆行驶过程的平稳性的同时,还可以有效保证了自动驾驶车辆的后车的行驶过程的安全性和平稳性,从而提升了自动驾驶车辆行为策略对后车行驶的友好性。
本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的自动驾驶车辆的控制方法。
本申请一个实施例提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的自动驾驶车辆的控制方法。
本申请一个实施例提供了一种提供了一种自动驾驶车辆,包括如上所述的电子设备。具体地,该自动驾驶车辆可以是L2级别及其以上的车辆。
本申请的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
图6示出了可以用来实施本申请的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储电子设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口606也连接至总线604。
电子设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如自动驾驶车辆的控制方法。例如,在一些实施例中,自动驾驶车辆的控制方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到电子设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的自动驾驶车辆的控制方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行自动驾驶车辆的控制方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。