发明内容
有鉴于此,本申请提供一种车辆的轨迹重规划方法、装置、***、车辆及存储介质。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种车辆的轨迹重规划方法,包括:
在车辆处于自动驾驶模式的情况下,响应于油门踏板传感器采集到的油门踏板开度信号,从上一次规划的行驶轨迹中确定与所述车辆所处位置距离最近的目标轨迹点,所述目标轨迹点包括第一横向控制输入信息和第一纵向控制输入信息;以及根据所述油门踏板开度信号获取所述车辆的第二纵向控制输入信息;
将所述目标轨迹点的所述第一纵向控制输入信息替换为所述第二纵向控制输入信息;
根据包括所述第一横向控制输入信息和所述第二纵向控制输入信息的目标轨迹点进行轨迹重规划;其中,所述目标轨迹点指示所述车辆在重规划轨迹中的起始点。
可选地,所述将所述目标轨迹点的所述第一纵向控制输入信息替换为所述第二纵向控制输入信息,还包括:
若所述车辆所处位置与所述目标轨迹点之间的横向距离小于预设距离,将所述目标轨迹点的所述第一纵向控制输入信息替换为所述第二纵向控制输入信息;
所述方法还包括:
若所述车辆所处位置与所述目标轨迹点之间的横向距离大于或等于所述预设距离,根据所述车辆所处位置、所述车辆所处位置对应的第二横向控制输入信息和所述第二纵向控制输入信息进行轨迹重规划。
可选地,所述从上一次规划的行驶轨迹中确定与所述车辆所处位置距离最近的目标轨迹点,还包括:
若所述车辆处于所述行驶轨迹的轨迹范围内,从上一次规划的行驶轨迹中确定与所述车辆所处位置距离最近的目标轨迹点;其中,所述车辆是否处于所述行驶轨迹的轨迹范围内根据由所述行驶轨迹的起点、终点和所述车辆所处位置之间的差异确定;
所述方法还包括:若所述车辆不在所述行驶轨迹的轨迹范围内,根据所述车辆所处位置、所述车辆所处位置对应的第二横向控制输入信息和所述第二纵向控制输入信息进行轨迹重规划。
可选地,所述将所述目标轨迹点的所述第一纵向控制输入信息替换为所述第二纵向控制输入信息,包括:
将所述目标轨迹点的所述第一纵向控制输入信息替换为第三纵向控制输入信息,所述第三纵向控制输入信息为对所述第二纵向控制输入信息进行调整后得到,所述第三纵向控制输入信息所包含的参数小于所述第二纵向控制输入信息所包含的参数、且大于所述第一纵向控制输入信息所包含的参数;
所述根据包括所述第一横向控制输入信息和所述第二纵向控制输入信息的目标轨迹点进行轨迹重规划,还包括:
根据包括所述第一横向控制输入信息和所述第三纵向控制输入信息的目标轨迹点进行轨迹重规划。
可选地,所述车辆的自动驾驶***包括有规划模块和控制模块,所述规划模块用于进行行驶轨迹规划,所述控制模块用于根据规划的行驶轨迹控制车辆行驶;所述规划模块的规划频率小于所述控制模块的控制频率;
所述车辆所处位置为在所述车辆当前位置叠加了预测运动量得到;其中,所述预测运动量根据所述规划模块和所述控制模块之间的延时、和所述车辆的运动学模型确定;所述规划模块和所述控制模块之间的延时根据所述规划频率和所述控制频率之间的差异确定。
可选地,所述第一横向控制输入信息和所述第二横向控制输入信息均包括以下至少一种参数:所述车辆所处位置与目标位置之间的横向位置误差、车头朝向、方向盘角度和/或所述方向盘角度与目标角度之间的角度误差;
所述第一纵向控制输入信息和所述第二纵向控制输入信息均包括以下至少一种参数:所述车辆的速度和/或加速度。
可选地,所述方法还包括:
根据重规划后的行驶轨迹生成横向控制信息和纵向控制信息;
根据所述横向控制信息控制所述车辆的方向盘转动相应角度,以及根据所述纵向控制指令控制所述车辆加速。
根据本申请实施例的第二方面,提供一种车辆的轨迹重规划装置,包括:
信息获取单元,用于在车辆处于自动驾驶模式的情况下,响应于油门踏板传感器采集到的油门踏板开度信号,从上一次规划的行驶轨迹中确定与所述车辆所处位置距离最近的目标轨迹点,所述目标轨迹点包括第一横向控制输入信息和第一纵向控制输入信息;以及根据所述油门踏板开度信号获取所述车辆的第二纵向控制输入信息;
替换单元,用于将所述目标轨迹点的所述第一纵向控制输入信息替换为所述第二纵向控制输入信息;
重规划单元,用于根据包括所述第一横向控制输入信息和所述第二纵向控制输入信息的目标轨迹点进行轨迹重规划;其中,所述目标轨迹点指示所述车辆在重规划轨迹中的起始点。
根据本申请实施例的第三方面,提供一种车辆,包括:油门踏板、与油门踏板连接的油门踏板传感器、处理器、存储器以及存储在存储器上并可在处理器上运行的可执行指令;
所述油门踏板传感器与处理器连接,用于将采集到的油门踏板开度信号发送给所述处理器;
所述处理器执行所述可执行指令时实现如第一方面任意一项所述方法中的步骤。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现第一方面任意一项所述方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例中,在自动驾驶场景中,当用户踩油门踏板时,相应的,与油门踏板关联的油门踏板传感器会采集到油门踏板开度信号,则触发本申请实施例提供的轨迹重规划流程。车辆确定上一次规划的行驶轨迹中与所述车辆所处位置距离最近的目标轨迹点,进而对该目标轨迹点进行改造,将改造后的包括所述第一横向控制输入信息和所述第二纵向控制输入信息的目标轨迹点作为轨迹起始点进行轨迹重规划,改造后的目标轨迹点沿用了上一次规划的轨迹中的第一横向控制输入信息,有利于保障横向规划的连续性和横向控制的稳定性,避免或者减少车辆横向控制的抖动;而将目标轨迹点的第一纵向控制输入信息替换为第二纵向控制输入信息,实现按照用户踩油门踏板行为进行对应的纵向重规划,使得车辆能够响应于用户踩油门踏板的行为实现加速行驶。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在用户踩油门踏板的时候,自动驾驶***会进行行驶轨迹的重规划。相关技术中的重规划算法是将车辆的横纵向协同重规划,即根据车辆当前的状态信息(比如位置、朝向、转向角度、速度、加速度等等)进行轨迹重规划,该状态信息既包含了与横向控制有关的信息也包含了与纵向控制有关的信息;在用户踩油门踏板的时候,该重规划算法会使车辆的横向也进行重规划,而实际上该重规划过程是因为用户踩油门踏板的行为所引起的,车辆的横向规划过程本身可能并无差错,在该种情况下,车辆横向仍然不停重规划会导致横向控制不稳定,严重会导致方向盘失控。
针对于相关技术中的问题,本申请实施例针对于自动驾驶场景中用户踩油门踏板的情况,提供了一种车辆的轨迹重规划方法。在车辆处于自动驾驶模式下,能够响应于油门踏板传感器采集到的油门踏板开度信号,确定上一次规划的行驶轨迹中与所述车辆所处位置距离最近的目标轨迹点,所述目标轨迹点包括第一横向控制输入信息和第一纵向控制输入信息;以及根据所述油门踏板开度信号获取所述车辆的第二纵向控制输入信息;进而将所述目标轨迹点的所述第一纵向控制输入信息替换为所述第二纵向控制输入信息;最后根据包括所述第一横向控制输入信息和所述第二纵向控制输入信息的目标轨迹点进行轨迹重规划;其中,所述目标轨迹点指示所述车辆在重规划的轨迹中的起始点。本实施例实现更改车辆在重规划的轨迹的起始点,将包括所述第一横向控制输入信息和所述第二纵向控制输入信息的目标轨迹点作为轨迹起始点进行轨迹重规划,沿用了上一次规划的轨迹中的第一横向控制输入信息而不对其进行更改,有利于保障横向规划的连续性和横向控制的稳定性;而将目标轨迹点的第一纵向控制输入信息替换为第二纵向控制输入信息,实现在用户踩油门踏板时,车辆纵向按照用户踩油门踏板的行为进行重规划,使得车辆能够响应于用户踩油门踏板的行为实现加速行驶。
在一示例性的实施例中,请参阅图1,图1是本申请实施例提供的一种自动驾驶***的结构示意图。所述自动驾驶***包括环境感知输入模块10、驾驶员输入模块20、规划模块30、控制模块40、横向执行器50和纵向执行器60。
所述环境感知输入模块10用于接收车辆周围环境的感知信息。示例性的,所述环境感知输入模块包括用于感知周围环境的至少一个传感器,如摄像头、激光雷达、毫米波雷达、超声波传感器或者红外传感器等等。示例性的,所述感知信息包括但不限于交通标示信息、车道线信息、障碍物的属性信息(如静态障碍物和动态障碍物等)或者车辆与障碍物之间的距离等。
所述驾驶员输入模块20用于接收驾驶员对车辆进行控制的动作信息,所述动作信息包括但不限于油门踏板、制动踏板、方向盘、安全带、挡位以及其他控制的输入信息。示例性的,所述驾驶员输入模块与油门踏板传感器连接,用于接收油门踏板传感器采集的油门踏板开度信息。
所述规划模块30用于根据所述环境感知输入模块10的感知信息和所述驾驶员输入模块20的动作信息进行规划,进行向控制模块40输出规划结果;示例性的,所述行驶轨迹规划包括路径规划、行为规划、行驶轨迹规划以及速度规划等;路径规划为广义的路线规划,即完成对从当前位置到达目的地的路线进行规划;行为规划即对车辆在未来一小段时间的行为动作进行规划计算,例如前方要进行变道,超车以及入弯等行为进行规划计算输出;行驶轨迹规划为局部的路线规划,即对车辆前方行驶轨迹进行规划;速度规划即对车辆的行驶轨迹上的各个轨迹点进行目标速度规划。当然,规划模块30除了从环境感知输入模块10接收感知信息和从驾驶员输入模块20接收动作信息之外,还可以从车辆中的其他部件中接收其他信息,比如所述其他信息包括但不限于车重、偏航率和/或挡位等。
所述控制模块40用于根据所述规划结果生成横向控制指令和纵向控制指令,控制车辆的横向执行器50执行所述横向控制指令以及控制车辆的纵向执行器60执行所述纵向控制指令,实现车辆的自动驾驶。示例性的,横向执行器50包括车辆的转向机构,由转向机构根据所述横向控制指令对车辆的横向进行控制,如控制车辆方向盘的转动角度。示例性的,纵向执行器60包括车辆的动力机构和制动机构,由动力机构根据所述纵向控制指令执行车辆的驾驶功能,由制动机构根据所述纵向控制指令执行车辆的减速功能。
可以理解的是,所述自动驾驶***所包括的各个模块可以为软件模块,也可以为硬件模块,还可以为软件与硬件结合的模块,本实施例对此不做任何限制。
在一些实施例中,在规划算法的运行中,其实很多时候并不需要每一帧都对车辆的行驶轨迹进行重规划。这样做的原因有两点:一是出于算法效率考虑,每一帧的重新规划不仅耗时还无必要,因为环境可能并没有出现太大的改动;二是对于控制模块来说,连续稳定的轨迹更利于控制模块下发指令的平滑性,避免车辆产生抖动。但在出现以下示例性的情况时,则需要以车辆当前位置进行轨迹的重规划:(1)自动驾驶模式关闭时;(2)没有上一帧的行驶轨迹;(3)车辆当前位置与目标点的位置相差过大时(比如横向误差超过预设误差0.5m,纵向误差超过预设误差2.5m);(3)当前时间大于上一帧的行驶轨迹的最终时间;(4)用户踩油门踏板时。当然,实际情况并不限于上述4种情况,还可能包含其他情况。
其中,当用户踩油门踏板的时候,车辆中的自动驾驶***需响应于用户踩油门踏板的行为,将车辆的横纵向协同重规划;而实际上车辆的横向规划过程本身可能并无差错,在该种情况下,车辆横向不停重规划过程会导致横向控制不稳定,无法保证横向控制的舒适性和安全性。
基于此,请参阅图2,本申请实施例提供了一种车辆的轨迹重规划方法,所述方法可由车辆来执行,所述方法包括:
在步骤S101中,在车辆处于自动驾驶模式的情况下,响应于油门踏板传感器采集到的油门踏板开度信号,从上一次规划的行驶轨迹中确定与所述车辆所处位置距离最近的目标轨迹点,所述目标轨迹点包括第一横向控制输入信息和第一纵向控制输入信息;以及根据所述油门踏板开度信号获取所述车辆的第二纵向控制输入信息。
在步骤S102中,将所述目标轨迹点的所述第一纵向控制输入信息替换为所述第二纵向控制输入信息。
在步骤S103中,根据包括所述第一横向控制输入信息和所述第二纵向控制输入信息的目标轨迹点进行轨迹重规划;其中,所述目标轨迹点指示所述车辆在重规划的轨迹中的起始点。
本实施例中,在自动驾驶场景中,当用户踩油门踏板时,相应的,与油门踏板关联的油门踏板传感器会采集到油门踏板开度信号,则触发本申请实施例提供的轨迹重规划流程。车辆确定上一次规划的行驶轨迹中与所述车辆所处位置距离最近的目标轨迹点,进而对该目标轨迹点进行改造,将改造后的包括所述第一横向控制输入信息和所述第二纵向控制输入信息的目标轨迹点作为轨迹起始点进行轨迹重规划,改造后的目标轨迹点沿用了上一次规划的轨迹中的第一横向控制输入信息而不对其进行更改,有利于保障横向规划的连续性和横向控制的稳定性,避免或者减少车辆横向控制的抖动;而将目标轨迹点的第一纵向控制输入信息替换为第二纵向控制输入信息,实现按照用户踩油门踏板行为进行对应的纵向重规划,使得车辆能够响应于用户踩油门踏板的行为实现加速行驶。
示例性的,所述第一横向控制输入信息和所述第二横向控制输入信息均包括以下至少一种参数:所述车辆所处位置与目标位置之间的横向位置误差、车头朝向、方向盘角度(或者说车辆前轮的朝向)和/或所述方向盘角度与目标角度之间的角度误差;所述第一纵向控制输入信息和所述第二纵向控制输入信息均包括以下至少一种参数:所述车辆的速度和/或加速度。
在一些实施例中,请参阅图1,所述车辆的自动驾驶***包括有规划模块30和控制模块40,所述规划模块30用于进行行驶轨迹规划,所述控制模块40用于根据规划的行驶轨迹控制车辆行驶。由于规划模块进行规划的过程较为复杂,规划量较大,一次规划过程需要耗费较长的时长,因此一般情况下,所述规划模块的规划频率小于所述控制模块的控制频率。比如在一个例子中,所述规划模块的规划频率是每隔100ms进行一次行驶轨迹规划,所述控制模块的控制频率是每隔10ms发送一次控制指令。这样会存在一个问题,即规划模块如果按照车辆当前位置进行行驶轨迹规划,由于在规划过程中车辆也在同步运动,则规划模块在规划得到的行驶轨迹中的起始点与车辆在同步运动后的位置不同,控制模块如果仍然根据该行驶轨迹控制车辆行驶,会使得车辆控制不稳定。
因此,为了提高车辆控制的稳定性和安全性,在所述规划模块的规划频率小于所述控制模块的控制频率的情况下,车辆可以预先根据所述规划模块的规划频率和所述控制模块的控制频率之间的差异确定规划模块和控制模块之间的延时,进而根据规划模块和控制模块之间的延时、和所述车辆的运动学模型确定车辆的预测运动量。车辆的运动学模型从几何学的角度研究车辆的运动规律,包括车辆在空间中的位姿、速度等参量随时间而产生的变化。在实际规划过程中,可以根据规划模块和控制模块之间的延时对车辆位置进行补偿,在车辆当前位置基础上递推得到用于轨迹规划的车辆所处位置;示例性的,所述车辆所处位置为在所述车辆当前位置叠加了上述的预测运动量得到,基于所述车辆所处位置进行规划重规划,有利于提高车辆控制的稳定性和安全性。
在一些实施例中,在自动驾驶场景下,为了提高规划准确性,响应于用户踩油门踏板的行为(即油门踏板传感器采集到的油门踏板开度信号),车辆首先获取上一次规划的行驶轨迹,然后根据所述行驶轨迹的起点、终点和所述车辆所处位置之间的差异确定所述车辆是否处于所述行驶轨迹的轨迹范围;示例性的,请参阅图3,所述行驶轨迹的起点和终点包括位置信息,该位置信息以在预设车辆坐标系中的坐标表示,该预设车辆坐标系的纵坐标(Y)指示车辆的行驶方向,横坐标(X)指示车辆的横向方向;所述轨迹范围为所述行驶轨迹的起点的纵坐标和终点的纵坐标所构成的范围。在一个例子中,所述车辆所处位置以二维坐标表示,请参阅图4,若所述车辆的纵坐标在所述行驶轨迹的起点的纵坐标和终点的纵坐标之间,则可以确定车辆处于所述行驶轨迹的轨迹范围内;请参阅图3,若所述车辆的纵坐标不在所述行驶轨迹的起点的纵坐标和终点的纵坐标之间,则可以确定车辆不在所述行驶轨迹的轨迹范围内。
请参阅图3,如果所述车辆不在所述行驶轨迹的轨迹范围内,表示上一帧的行驶轨迹与车辆所处位置差异较大,无法作为参考,则按照相关技术中的重规划算法进行轨迹重规划,即车辆根据所述车辆所处位置、所述车辆所处位置对应的第二横向控制输入信息和所述第二纵向控制输入信息进行轨迹重规划。请参阅图4,若所述车辆处于所述行驶轨迹的轨迹范围内,则表示上一次规划的轨迹可以作为参考,车辆可以执行步骤S101,即确定上一次规划的行驶轨迹中与所述车辆当前位置距离最近的目标轨迹点。本实施例在用户踩油门踏板的情况下,首先判断上一次规划的行驶轨迹是否具备可参考性,从而根据不同的判断结果采用不同的重规划方式,有利于提高规划准确性。
在一些实施例中,为了进一步提高规划准确性,在初步确定上一次规划的行驶轨迹具备可参考性之后,车辆可以从上一次规划的行驶轨迹中确定与所述车辆所处位置距离最近的目标轨迹点,请参阅图4,进而可以根据所述车辆所处位置与所述目标轨迹点之间的横向距离来确定上一次规划的行驶轨迹车辆横向规划过程是否有差错。示例性的,如果所述车辆所处位置与所述目标轨迹点之间的横向距离大于或等于预设距离,表示上一次规划的行驶轨迹中车辆横向规划过程也出现差错,则按照相关技术中的重规划算法进行轨迹重规划,即车辆根据所述车辆所处位置、所述车辆所处位置对应的第二横向控制输入信息和所述第二纵向控制输入信息进行轨迹重规划。如果所述车辆所处位置与所述目标轨迹点之间的横向距离小于预设距离,则表示上一次规划的行驶轨迹中车辆横向规划过程无差错,为了提高横向规划的平滑性和连续性,车辆可以将所述目标轨迹点的所述第一纵向控制输入信息替换为所述第二纵向控制输入信息,进而根据包括所述第一横向控制输入信息和所述第二纵向控制输入信息的目标轨迹点进行轨迹重规划;其中,所述目标轨迹点指示所述车辆在重规划轨迹中的起始点。本实施例中在确定目标轨迹点之后,进一步判断车辆所处位置与所述目标轨迹点之间的横向距离是否满足要求,根据不同的判断结果采用不同的重规划方式,从而有利于提高规划准确性。
可以理解的是,所述预设距离可依据实际应用场景进行具体设置,本实施例对此不做任何限制。示例性的,所述预设距离为0.5米或者1米等。
在一些实施例中,考虑到用户踩油门踏板的过程中,在用户停止踩油门踏板的瞬间,车辆的速度和/或加速度会急速下降,从而导致车辆抖动。为了降低车辆抖动程度,在根据所述油门踏板开度信号获取所述车辆的第二纵向控制输入信息之后,车辆可以对第二纵向控制输入信息进行调整以得到第三纵向控制输入信息,其中,所述第三纵向控制输入信息所包含的参数(比如速度和/或加速度)小于所述第二纵向控制输入信息所包含的参数、且大于所述第一纵向控制输入信息所包含的参数;进而将所述目标轨迹点的所述第一纵向控制输入信息替换为第三纵向控制输入信息,最后根据包括所述第一横向控制输入信息和所述第三纵向控制输入信息的目标轨迹点进行轨迹重规划。本实施例通过降低第二纵向控制输入信息中的速度和加速度,有利于避免或者减少用户停止踩油门踏板瞬间的车辆抖动。
示例性的,可以将第二纵向控制输入信息包含的速度和/或加速度减去预设值,得到第三纵向控制输入信息中的速度和/或加速度。所述预设值可以依据实际应用场景进行具体设置,本实施例对此不做任何限制,比如所述预设值与所述油门踏板开度信号成正比关系,油门踏板开度越大,则该预设值越大,但是第三纵向控制输入信息所包含的参数(比如速度和/或加速度)大于所述第一纵向控制输入信息所包含的参数,以实现车辆能够响应于用户踩油门踏板的行为实现加速行驶。
在一些实施例中,在进行轨迹重规划之后,车辆可以根据重规划后的行驶轨迹生成横向控制信息和纵向控制信息;根据所述横向控制信息控制所述车辆的方向盘转动相应角度,以及根据所述纵向控制指令控制所述车辆加速。本实施例中,在面对用户踩油门踏板但方向盘依然由自动驾驶控制的自动驾驶场景下,采用本申请实施例提供的轨迹重规划方法进行轨迹重规划,横向控制输入信息沿用上一次规划得到的信息从而保障横向规划的连续性,这样按照重规划后的行驶轨迹对车辆进行控制,进一步有利于保证横向控制的稳定性、舒适性和安全性。
其中,不难理解,上述各实施例中的描述的方案在不存在冲突的情况,可以进行组合,本公开实施例中不一一例举。
相应地,请参阅图5,本申请实施例还提供了一种车辆的轨迹重规划装置,包括:
信息获取单元201,用于在车辆处于自动驾驶模式的情况下,响应于油门踏板传感器采集到的油门踏板开度信号,从上一次规划的行驶轨迹中确定与所述车辆所处位置距离最近的目标轨迹点,所述目标轨迹点包括第一横向控制输入信息和第一纵向控制输入信息;以及根据所述油门踏板开度信号获取所述车辆的第二纵向控制输入信息。
替换单元202,用于将所述目标轨迹点的所述第一纵向控制输入信息替换为所述第二纵向控制输入信息。
重规划单元203,用于根据包括所述第一横向控制输入信息和所述第二纵向控制输入信息的目标轨迹点进行轨迹重规划;其中,所述目标轨迹点指示所述车辆在重规划轨迹中的起始点。
在一些实施例中,所述替换单元202还用于若所述车辆所处位置与所述目标轨迹点之间的横向距离小于预设距离,将所述目标轨迹点的所述第一纵向控制输入信息替换为所述第二纵向控制输入信息。所述重规划单元203还用于若所述车辆所处位置与所述目标轨迹点之间的横向距离大于或等于所述预设距离,根据所述车辆所处位置、所述车辆所处位置对应的第二横向控制输入信息和所述第二纵向控制输入信息进行轨迹重规划。
在一些实施例中,所述信息获取单元201还用于若所述车辆处于所述行驶轨迹的轨迹范围内,从上一次规划的行驶轨迹中确定与所述车辆所处位置距离最近的目标轨迹点;其中,所述车辆是否处于所述行驶轨迹的轨迹范围内根据由所述行驶轨迹的起点、终点和所述车辆所处位置之间的差异确定。所述重规划单元203还用于若所述车辆不在所述行驶轨迹的轨迹范围内,根据所述车辆所处位置、所述车辆所处位置对应的第二横向控制输入信息和所述第二纵向控制输入信息进行轨迹重规划。
在一些实施例中,所述替换单元202还用于将所述目标轨迹点的所述第一纵向控制输入信息替换为第三纵向控制输入信息,所述第三纵向控制输入信息为对所述第二纵向控制输入信息进行调整后得到,所述第三纵向控制输入信息所包含的参数小于所述第二纵向控制输入信息所包含的参数、且大于所述第一纵向控制输入信息所包含的参数。所述重规划单元203还用于根据包括所述第一横向控制输入信息和所述第三纵向控制输入信息的目标轨迹点进行轨迹重规划。
在一些实施例中,所述车辆的自动驾驶***包括有规划模块和控制模块,所述规划模块用于进行行驶轨迹规划,所述控制模块用于根据规划的行驶轨迹控制车辆行驶;所述规划模块的规划频率小于所述控制模块的控制频率;所述车辆所处位置为在所述车辆当前位置叠加了预测运动量得到;其中,所述预测运动量根据所述规划模块和所述控制模块之间的延时、和所述车辆的运动学模型确定;所述规划模块和所述控制模块之间的延时根据所述规划频率和所述控制频率之间的差异确定。
在一些实施例中,所述第一横向控制输入信息和所述第二横向控制输入信息均包括以下至少一种参数:所述车辆所处位置与目标位置之间的横向位置误差、车头朝向、方向盘角度和/或所述方向盘角度与目标角度之间的角度误差;所述第一纵向控制输入信息和所述第二纵向控制输入信息均包括以下至少一种参数:所述车辆的速度和/或加速度。
在一些实施例中,所述装置还包括车辆行驶控制单元,用于根据重规划后的行驶轨迹生成横向控制信息和纵向控制信息;根据所述横向控制信息控制所述车辆的方向盘转动相应角度,以及根据所述纵向控制指令控制所述车辆加速。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应地,请参阅图6,本申请实施例还提供了一种车辆,包括:油门踏板11、与油门踏板连接的油门踏板传感器12、处理器13、存储器14以及存储在存储器14上并可在处理器上运行的可执行指令;
所述油门踏板传感器12与处理器13连接,用于将采集到的油门踏板开度信号发送给所述处理器13;
所述处理器13执行所述可执行指令时实现上述任意一项所述方法中的步骤。
所述处理器13执行所述存储器14中包括的可执行指令,所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器14存储轨迹重规划方法的可执行指令,所述存储器14可以包括至少一种类型的存储介质,存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,车辆可以与通过网络连接执行存储器的存储功能的网络存储装置协作。存储器14可以是车辆的内部存储单元,例如车辆的硬盘或内存。存储器14也可以是车辆的外部存储车辆,例如车辆上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器14还可以既包括车辆的内部存储单元也包括外部存储车辆。存储器14用于存储可执行指令以及车辆所需的其他程序和数据。存储器14还可以用于暂时地存储已经输出或者将要输出的数据。
当然,车辆还包括其他部件,如车辆一般包括有底盘、车身、发动机和电气设备。发动机是车辆的动力装置,用于产生动力;底盘用于支撑发送机和车身,并且底盘可以根据发动机产生的动力驱动车辆运动;车身安装在底盘的车架上,用以驾驶员、乘客乘坐或者装载货物;电气设备包括电源和用电设备,例如电源包括蓄电池和发电机,用电设备包括发动机的起动系或者其他用电装置。可选地,车辆还包括有车载传感器(如摄像头、激光雷达、毫米波雷达、RGBD相机等),用于感知车辆周围环境的环境信息。可选地,车辆还包括有自动驾驶***,用于辅助驾驶员驾驶。
上述设备中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
相应的,本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时用于实现上述的图像处理方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当存储介质中的指令由终端的处理器执行时,使得终端能够执行上述方法。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。此外,计算机可以嵌入在另一设备中,例如车辆,全球定位***(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种***模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和***通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。