本申请涉及自动驾驶技术领域,特别涉及一种智能驾驶方法、装置、存储介质及计算机程序。
背景技术:
在高级驾驶辅助系统(advanceddriverassistant,adas)中,通过车辆的传感器感知、融合得到车辆周边的环境信息,进而根据环境信息进行路径规划、车辆控制等,实现辅助驾驶员驾驶。
目前,adas中所具有的特性(又称功能)可包括以下中的一种或多种:自适应巡航(adaptivecruisecontrol,acc)、车道保持辅助(lanekeepassistance,lka)、交通拥堵辅助(trafficjamassistance,tja)、自动变道(autolanechange,alc)、半自动变道(semi-autolanechange,slc)、智慧闪躲(collisionavoidassistance,caa)、车道居中控制(lanecentercontrol,lcc)、目标跟随(objectfollow,obf)等等。在一些adas系统的架构中,每个特性对应的控制轨迹基于多条轨迹线生成,为了支持不同特性,需要对环境信息进行处理,生成多条轨迹线,对adas系统的算力要求较高;同时,利用状态机实现上述不同特性之间的切换,切换条件与过渡逻辑较复杂;另外,系统的可扩展性差,若新增特性,需要新生成针对该特性的轨迹线,并需要对状态机进行调整。
技术实现要素:
本申请提出了一种智能驾驶方法、装置、存储介质及计算机程序。
第一方面,本申请的实施例提供了一种智能驾驶方法,所述方法包括:获取当前时刻自车周围的环境信息及当前时刻自车的状态信息;根据所述环境信息及所述状态信息,确定当前时刻的控制点;根据所述控制点、历史时刻的控制轨迹及所述状态信息,生成当前时刻的控制轨迹,所述控制轨迹表示用于导引自车行驶的轨迹。
基于上述技术方案,可以根据当前时刻自车周围的环境信息及当前时刻自车的状态信息,确定当前时刻的控制点;并根据该控制点、历史时刻的控制轨迹及当前时刻自车的状态信息,生成当前时刻的控制轨迹;这样,将环境信息对特性的影响集中到空间中的点(即控制点),通过该控制点即可生成当前时刻的控制轨迹,满足不同场景下的控制要求,且无需预先对环境信息进行处理生成多个条轨迹线,大大降低了对算力的要求,从而提升了adas系统的性能。
根据第一方面,在所述第一方面的第一种可能的实现方式中,所述根据所述环境信息及所述状态信息,确定当前时刻的控制点,包括:根据所述环境信息中各第一对象的预设优先级信息及所述状态信息,依次确定所述当前时刻的控制点。
基于上述技术方案,根据环境信息中各第一对象的预设优先级信息及状态信息,依次确定当前时刻的控制点,这样,通过多个信息源(即环境信息中各第一对象),按照各信息源的优先级排序的方式,改变不同场景的控制点的位置,确定当前时刻的控制点,从而实现多个特性(如:obf、lka、tja、lcc等特性),同时,根据多个信息源的优先级,实现不同特性之间的切换,保证了多个特性或场景间的平滑过渡,且无需利用状态机实现不同特性之间的切换,降低了逻辑复杂度。
根据第一方面的第一种可能的实现方式,在所述第一方面的第二种可能的实现方式中,所述第一对象至少包括:自车道的车道线、目标车辆、邻车道中车辆的一个;其中,所述自车道的车道线、所述目标车辆、所述邻车道中车辆的优先级依次降低;所述根据所述环境信息中各第一对象的预设优先级信息及所述状态信息,依次确定所述当前时刻的控制点,包括:在所述自车道的车道线存在的情况下,将所述自车道的车道线上预设距离对应的、且符合预设条件的位置点作为当前时刻的控制点,所述预设距离基于所述状态信息确定;如果所述自车道的车道线不存在,则在所述目标车辆存在的情况下,将所述目标车辆对应的、且符合预设条件的位置点作为当前时刻的控制点;如果所述自车道的车道线不存在,且所述目标车辆不存在,则在所述邻车道中车辆存在的情况下,将所述邻车道中车辆在自车道投影的、且符合预设条件的位置点作为当前时刻的控制点。
基于上述技术方案,可以根据当前时刻自车周围的环境信息中自车的自车道的车道线确定当前时刻的控制点,进而实现lcc、lka等特性;可以根据当前时刻自车周围的环境信息中cipv,确定当前时刻的控制点,进而实现tja、obf等特性;可以根据当前时刻自车周围的环境信息中邻车道中车辆,确定当前时刻的控制点,进而实现tja、lka等特性;这样,利用自车道的车道线、目标车辆、邻车道中车辆,按照优先级排序的方式,改变不同场景的控制点的位置,根据环境信息中存在的、优先级最高的第一对象,确定当前时刻的控制点,从而实现多个特性(如:lcc、lka、obf、tja等特性),同时,根据自车道的车道线、目标车辆、邻车道中车辆的优先级,实现不同特性之间的切换,保证了多个特性或场景间的平滑过渡。
根据第一方面的第一种或第二种可能的实现方式,在所述第一方面的第三种可能的实现方式中,所述根据所述环境信息中各第一对象的预设优先级信息及所述状态信息,依次确定所述当前时刻的控制点,包括:获取优先级最高的第一对象对应的位置点;判断预设区域内是否存在第二对象,所述第二对象为环境信息中自车的避让对象;在所述第二对象存在时,对所述第一对象对应的位置点进行偏移处理,并将偏移后的位置点作为当前时刻的控制点。
基于上述技术方案,在预设区域中存在第二对象时,说明若以上述获取的第一对象对应的位置点生成控制轨迹,并按照该控制轨迹控制自车行驶,存在碰撞第二对象的风险,此时,对第一对象对应的位置点进行偏移处理,并将偏移后的位置点作为当前时刻的控制点,从而避免碰撞到第二对象,这样,基于第一对象,按照优先级排序的方式,并结合存在的第二对象,共同改变不同场景的控制点的位置,确定当前时刻的控制点,可以实现多个特性(如caa、路沿远离等特性),并保证了多个特性或场景间的平滑过渡。
根据第一方面的第三种可能的实现方式,在所述第一方面的第四种可能的实现方式中,所述第二对象包括自车道的硬边界;所述预设区域为以第一对象对应的位置点为中心预设大小的区域;所述在所述第二对象存在时,对所述第一对象对应的位置点进行偏移处理,并将偏移后的位置点作为当前时刻的控制点,包括:在所述自车道的硬边界存在时,对所述第一对象对应的位置点进行偏移处理,以使所述硬边界在以所述偏移后的位置点为中心预设大小的区域之外,且所述偏移后的位置点在自车道内;将偏移后的位置点作为当前时刻的控制点。
基于上述技术方案,在自车道的硬边界存在时,对第一对象对应的位置点进行偏移处理,以使该硬边界在以偏移后的位置点为中心预设大小的区域之外,且偏移后的位置点在自车道内,并将偏移后的位置点作为当前时刻的控制点,该控制点远离车道的硬边界,从而使得自车根据该控制点生成的控制轨迹行驶时,避免碰撞到硬边界,这样,基于第一对象,按照优先级排序的方式,并结合硬边界,共同改变不同场景的控制点的位置,确定当前时刻的控制点,可以实现多个特性(如路沿远离等特性),并保证了多个特性或场景间的平滑过渡。
根据第一方面的第三种可能的实现方式,在所述第一方面的第五种可能的实现方式中,所述第二对象包括障碍物;所述预设区域为所述自车道中自车前方预设大小的区域;所述在所述第二对象存在时,对所述第一对象对应的位置点进行偏移处理,并将偏移后的位置点作为当前时刻的控制点,包括:在所述障碍物存在时,根据所述障碍物对应的权重信息,对所述第一对象对应的位置点进行偏移处理,以使所述障碍物在以所述偏移后的位置点为中心预设大小的区域之外,且所述偏移后的位置点在自车道内;其中,所述权重信息表示自车避让该障碍物的程度;将偏移后的位置点作为当前时刻的控制点。
基于上述技术方案,考虑到不同的场景中,自车避让障碍物的动作不同,利用障碍物对应的权重信息表示不同场景下自车避让该障碍物的程度,并根据障碍物对应的权重信息,对第一对象对应的位置点进行偏移处理,从而实现不同场景下的位置点偏移,将偏移后的位置点作为当前时刻的控制点,该控制点远离障碍物,从而使得自车案根据该控制点生成的控制轨迹行驶时,避免碰撞到该障碍物,这样,基于第一对象按照优先级排序的方式,并结合障碍物及障碍物对应的权重信息,共同改变不同场景的控制点的位置,确定当前时刻的控制点,从而实现多个特征(如caa等特性),并保证了多个特性或场景间的平滑过渡。
根据第一方面的第五种可能的实现方式,在所述第一方面的第六种可能的实现方式中,所述权重信息的数值至少由车头时距thw、碰撞时间ttc、侵入宽度ivw中的一个确定,其中,所述权重信息的数值与所述thw成负相关,与所述ttc成负相关,与所述ivw成正相关。
基于上述技术方案,权重信息的数值与thw成负相关,即thw越小,自车避让障碍物的动作越明显,权重信息的数值与ttc成负相关,即ttc越小,自车避让障碍物的动作越明显,权重信息的数值与ivw成正相关,即ivw越大,自车避让障碍物的动作越明显;这样,根据不同场景下对应的权重信息的数值,改变不同场景下控制点的位置,确定当前时刻的控制点,实现了不同场景的平滑过渡。
根据第一方面,在所述第一方面的第七种可能的实现方式中,所述根据所述控制点、历史时刻的控制轨迹及所述状态信息,生成当前时刻的控制轨迹,包括:根据所述控制点、历史时刻的控制轨迹及所述状态信息,利用卡尔曼滤波器,生成所述当前时刻的控制轨迹。
基于上述技术方案,卡尔曼滤波器具有时间连续性,将当前时刻控制点的位置信息、历史时刻的控制轨迹及当前时刻自车状态信息,输入到卡尔曼滤波器,利用空间上的控制点在时间域上的连续性生成当前时刻的控制轨迹,满足不同场景下的控制要求,且大大降低了对算力的要求,提高了系统性能。
第二方面,本申请的实施例提供了一种智能驾驶装置,所述装置包括:获取模块,用于获取当前时刻自车周围的环境信息及当前时刻自车的状态信息;确定模块,用于根据所述环境信息及所述状态信息,确定当前时刻的控制点;生成模块,用于根据所述控制点、历史时刻的控制轨迹及所述状态信息,生成当前时刻的控制轨迹,所述控制轨迹表示用于导引自车行驶的轨迹。
根据第二方面,在所述第二方面的第一种可能的实现方式中,所述确定模块,还用于:根据所述环境信息中各第一对象的预设优先级信息及所述状态信息,依次确定所述当前时刻的控制点。
根据第二方面的第一种可能的实现方式,在所述第二方面的第二种可能的实现方式中,所述第一对象至少包括所述自车道的车道线、目标车辆、所述邻车道中车辆的一个;其中,所述自车道的车道线、所述目标车辆、所述邻车道中车辆的优先级依次降低;所述确定模块,还用于:在所述自车道的车道线存在的情况下,将所述自车道的车道线上预设距离对应的、且符合预设条件的位置点作为当前时刻的控制点;所述预设距离基于所述状态信息确定;如果所述自车道的车道线不存在,则在所述目标车辆存在的情况下,将所述目标车辆对应的、且符合预设条件的位置点作为当前时刻的控制点;如果所述自车道的车道线不存在,且所述目标车辆不存在,则在所述邻车道中车辆存在的情况下,将所述邻车道中车辆在自车道投影的、且符合预设条件的位置点作为当前时刻的控制点。
根据第二方面的第一种或第二种可能的实现方式,在所述第二方面的第三种可能的实现方式中,所述确定模块,还用于:获取优先级最高的第一对象对应的位置点;判断预设区域内是否存在第二对象,所述第二对象为环境信息中自车的避让对象;在所述第二对象存在时,对所述第一对象对应的位置点进行偏移处理,并将偏移后的位置点作为当前时刻的控制点。
根据第二方面的第三种可能的实现方式,在所述第二方面的第四种可能的实现方式中,所述第二对象包括自车道的硬边界;所述预设区域为以第一对象对应的位置点为中心预设大小的区域;所述确定模块,还用于:在所述自车道的硬边界存在时,对所述第一对象对应的位置点进行偏移处理,以使所述硬边界在以所述偏移后的位置点为中心预设大小的区域之外,且所述偏移后的位置点在自车道内;将偏移后的位置点作为当前时刻的控制点。
根据第二方面的第三种可能的实现方式,在所述第二方面的第五种可能的实现方式中,所述第二对象包括障碍物;所述预设区域为所述自车道中自车前方预设大小的区域;所述确定模块,还用于:在所述障碍物存在时,根据所述障碍物对应的权重信息,对所述第一对象对应的位置点进行偏移处理,以使所述障碍物在以所述偏移后的位置点为中心预设大小的区域之外,且所述偏移后的位置点在自车道内;其中,所述权重信息表示自车避让该障碍物的程度;将偏移后的位置点作为当前时刻的控制点。
根据第二方面的第五种可能的实现方式,在所述第二方面的第六种可能的实现方式中,所述权重信息的数值至少由车头时距thw、碰撞时间ttc、侵入宽度ivw中的一个确定,其中,所述权重信息的数值与所述thw成负相关,与所述ttc成负相关,与所述ivw成正相关。
根据第二方面,在所述第二方面的第七种可能的实现方式中,所述生成模块,还用于:根据所述当前时刻的控制点、历史时刻的控制轨迹及所述状态信息,利用卡尔曼滤波器,生成所述当前时刻的控制轨迹。
上述第二方面及第二方面的各种可能的实现方式的技术效果,参见上述第一方面。
第三方面,本申请的实施例提供了一种智能驾驶装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的智能驾驶方法。
上述第三方面的技术效果,参见上述第一方面。
第四方面,本申请的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的智能驾驶方法。
上述第四方面的技术效果,参见上述第一方面。
第五方面,本申请的实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的智能驾驶方法。
上述第五方面的技术效果,参见上述第一方面。
第六方面,本申请实施例还提供一种车辆,所述车辆包括上述第二方面或者第二方面的多种可能的实现方式中的一种或几种的智能驾驶装置。
上述第六方面的技术效果,参见上述第一方面。
第七方面,本申请实施例还提供一种自动驾驶辅助系统,所述系统包括:预处理层、规划层、决策层、控制层;其中,所述预处理层,用于生成当前时刻自车周围的环境信息;所述规划层,用于根据所述环境信息及当前时刻自车的状态信息,确定当前时刻的控制点;根据所述控制点、历史时刻的控制轨迹及所述状态信息,生成当前时刻的控制轨迹;所述控制轨迹表示用于导引自车行驶的轨迹;所述决策层,用于对所述控制轨迹是否适用于当前时刻自车的工作状态进行判断;所述控制层,用于在所述控制轨迹适用于当前时刻自车的工作状态的情况下,基于所述控制轨迹,生成当前时刻的控制信号,所述控制信号用于车辆的辅助驾驶。
根据第七方面,在所述第七方面的第一种可能的实现方式中,所述规划层还用于:根据所述环境信息中各第一对象的预设优先级信息及所述状态信息,依次确定所述当前时刻的控制点。
根据第七方面的第一种可能的实现方式,在所述第七方面的第二种可能的实现方式中,所述规划层还用于:获取优先级最高的第一对象对应的位置点;判断预设区域内是否存在第二对象,所述第二对象为环境信息中自车的避让对象;在所述第二对象存在时,对所述第一对象对应的位置点进行偏移处理,并将偏移后的位置点作为当前时刻的控制点。
上述第七方面及第七方面的各种可能的实现方式的技术效果,参见上述第一方面,此外,基于第七方面,若有新增特性,仅需在系统的预处理层增加针对该特性对应的对象的处理,还可以设定新增特定对应对象的优先级等信息,不需要新生成针对该特性的轨迹线,也无需对状态机进行调整,系统可拓展性高。
本申请的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
图1示出根据本申请一实施例的智能驾驶方法适用的应用场景示意图;
图2示出根据本申请一实施例的一种智能驾驶方法的流程图;
图3示出根据本申请一实施例的一种确定当前时刻控制点的流程图;
图4示出根据本申请一实施例的多种车辆入侵自车道的示意图;
图5示出根据本申请一实施例的针对图4中多种车辆入侵自车道场景中位置点偏移的示意图;
图6示出根据本申请一实施例的一种权重体函数的示意图;
图7示出根据本申请一实施例的另一种权重体函数的示意图;
图8示出根据本申请一实施例的一种确定当前时刻控制点的流程图;
图9示出根据本申请一实施例的一种利用控制点实现obf特性的示意图;
图10示出根据本申请一实施例的一种利用控制点实现lcc特性的示意图;
图11示出根据本申请一实施例的一种利用控制点实现tja特性的示意图;
图12示出根据本申请一实施例的一种利用控制点实现alc/slc特性的示意图;
图13示出根据本申请一实施例的一种智能驾驶的对比图;
图14示出根据本申请一实施例的一种横向偏移速度曲线的示意图;
图15示出根据本申请一实施例的一种智能驾驶装置的结构示意图;
图16示出根据本申请一实施例的adas系统架构图;
图17示出根据本申请一实施例的另一种智能驾驶装置的结构示意图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本申请提供了一种智能驾驶方法,该方法可以通过智能驾驶装置执行,其中,该智能驾驶装置可以是独立设置,也可以集成在其他装置中,还可以是通过软件或者软件与硬件结合实现。
示例性地,该智能驾驶装置可以应用于adas或自动驾驶系统(automateddrivingsystem,ads)中,还可以应用于物物通信(devicetodevicecommunication,d2d)、车与任何事物相通信(vehicletoeverything,v2x)、车与车通信(vehicletovehicle,v2v)、长期演进与车通信(longtermevolution-vehicle,lte-v)、长期演进与机器通信(longtermevolution-machine,lte-m)等场景。
示例性地,该智能驾驶装置可为具有控制轨迹生成功能的车辆,或者为具有控制轨迹生成功能的其他部件。该智能驾驶装置包括但不限于:车载终端、车载控制器、车载模块、车载模组、车载部件、车载芯片、车载单元、车载雷达或车载摄像头等传感器,车辆可通过该车载终端、车载控制器、车载模块、车载模组、车载部件、车载芯片、车载单元、车载雷达或摄像头,实施本申请提供的智能驾驶方法。
示例性地,该智能驾驶装置还可以为除了车辆之外的其他具有控制轨迹生成功能的智能终端,或设置在除了车辆之外的其他具有控制轨迹生成功能的智能终端中,或设置于该智能终端的部件中。该智能终端可以为智能运输设备、智能家居设备、机器人、无人机等其他终端设备。该智能驾驶装置包括但不限于智能终端或智能终端内的控制器、芯片、雷达或摄像头等传感器、以及其他部件等。
示例性地,该智能驾驶装置可以是一个通用设备或者是一个专用设备。在具体实现中,该智能驾驶装置还可以为台式机、便携式电脑、网络服务器、云服务器、掌上电脑(personaldigitalassistant,pda)、移动手机、平板电脑、无线终端设备、嵌入式设备或其他具有处理功能的设备。
示例性地,该智能驾驶装置还可以是具有处理功能的芯片或处理器,该智能驾驶装置可以包括多个处理器。处理器可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。该具有处理功能的芯片或处理器可以设置在传感器中,也可以不设置在传感器中,而设置在传感器输出信号的接收端。
为了便于描述,本申请实施例中,以智能驾驶装置应用于adas系统中为例,对提供的智能驾驶方法进行示例性地说明。
下面对本申请实施例提供的智能驾驶方法进行详细说明。
图1示出根据本申请一实施例的智能驾驶方法适用的应用场景示意图。如图1所示,该应用场景可以为高级辅助驾驶场景,该场景中包括:自车401,自车401中安装有至少一个传感器(图中未示出),自车401还包括智能驾驶装置(图中未示出),该传感器用于感知自车401周围的环境信息,例如,自车道(即自车所在的车道)的车道线403、邻车道(即与自车道相邻的车道)的车道线404、道路的路沿边界405、行人406、施工区域407、他车(如,前方车辆402、侧方车辆(图中未示出)、后方车辆(图中未示出))等等,该传感器将感知到的环境信息传输到智能驾驶装置,该智能驾驶装置用于执行本申请实施例中的智能驾驶方法。
需要说明的是,图1中仅以一辆自车、一辆他车、三个车道、一个行人及一个施工区域示出,应理解,应用场景中可以包括更多或更少的车辆、车道及障碍物等,此处不再示出。
此外,本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,本领域技术人员可知,针对其他相似的或新的应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
图2示出根据本申请一实施例的一种智能驾驶方法的流程图。如图2所示,该方法可以应用于上述图1中的自车401中的智能驾驶装置,该方法可以包括以下步骤:
步骤501、智能驾驶装置获取当前时刻自车周围的环境信息、当前时刻自车的状态信息。
其中,环境信息表示该自车周围环境中一个或多个对象及各对象的属性信息,例如,自车道的车道线、道路的路沿边界、邻车道的车道线、目标车辆、前向车流、侧方车辆、后方车辆、邻车道中车辆、行人、交通信号灯、建筑、树木、施工区域等等对象,及各对象的位置、速度、加速度、方位、距离等属性信息。示例性地,可以通过安装在自车车身四周的雷达(如,毫米波雷达、激光雷达、超声波雷达)、图像采集装置(如摄像头)等传感器感知自车周围的环境信息。
自车的状态信息可以包括:驾乘状态信息、运动状态信息等,其中,运动状态信息表示自车的运动学状态的信息,例如,自车的速度、加速度、横摆角速度、转向角度、转向半径、车身位置及姿态等信息。示例性地,可以通过安装于自车内部的传感器,实时获取运行状态信息。驾乘状态信息表示驾驶员设定的参数信息,例如,驾驶员设定的巡航速度,跟车距离,车头时距、驾驶员变道指令、变道时长等等。示例性地,可以接收驾驶员通过显示屏、方向盘的物理按键、语音等方式输入的驾乘状态信息。
需要说明的是,上述周围环境中各对象的速度、加速度、距离等可分别为各对象相对于自车的相对速度、相对加速度、相对距离;各对象的位置、方位等可以为车体坐标系中的位置或方位;其中,车体坐标系用来描述自车周围的对象和该自车之间的相对位置关系,可以通过预先标定明确各个传感器的坐标系与车体坐标系的之间的转换关系,从而根据传感器采集的数据,确定各对象在车体坐标系中的坐标。本申请实施例中,如无特殊说明,各对象的位置等均指在车体坐标系中的坐标;示例性地,以自车后(轮)轴中心在地面上投影为三维原点,沿车身向前为x轴的正方向,沿后轴轴线向左为y轴的正方向,向上为z轴的正方向,即形成了对应的车体坐标系xyz。
步骤502、智能驾驶装置根据当前时刻自车周围的环境信息及自车的状态信息,确定当前时刻的控制点。
其中,控制点,又称虚拟点,可以为上述自车周围环境中的对象上的一个点,例如,可以为目标车辆后保险杠的中点,还可以为自车道的车道线上与自车距离一定长度的点,等等。控制点还可以为上述自车周围环境中的对象之外的一个点,例如,可以为自车道的左右两条车道线之间的一个点,还可以为自车正前方一定距离的点,等等。
下面对该步骤中确定当前时刻的控制点的实现方式进行示例性说明。方式一,可以根据当前时刻自车周围环境信息中所包含的第一对象及自车的状态信息(如驾乘状态信息),确定当前时刻唯一的控制点。
在一种可能的实现方式中,可以根据环境信息中各第一对象的预设优先级信息及当前时刻的驾乘状态信息,依次确定当前时刻的控制点。在一示例中,可以根据各第一对象的预设优先级信息,确定在环境信息中存在的、优先级最高的第一对象,根据该优先级最高的第一对象,确定当前时刻的控制点。例如,可以根据各第一对象的预设优先级信息,依次判断各第一对象在当前时刻自车周围的环境信息中是否存在;当确定一第一对象在当前时刻自车周围的环境信息中存在时,根据存在的该第一对象,确定当前时刻的控制点。
其中,第一对象可以包括自车行驶的参照对象,例如,可以为自车道的车道线、目标车辆、邻车道中车辆等等;不同的第一对象对应于不同的特性,各第一对象对应的特性可以为obf、lka、tja、lcc等特性。即预设优先级也可表征adas系统中预设的处理各特性的优先级排序。示例性地,自车道的车道线、目标对象、邻车道的车道线的预设优先级依次降低。这样,根据环境信息中各第一对象的预设优先级信息及驾乘状态信息,依次确定当前时刻的控制点,这样,通过多个信息源(即环境信息中各第一对象),按照各信息源的优先级排序的方式,改变不同场景的控制点的位置,确定当前时刻的控制点,从而实现多个特性(如:obf、lka、tja、lcc等特性),同时,根据多个信息源的优先级,实现不同特性之间的切换,保证了多个特性或场景间的平滑过渡。无需利用状态机实现不同特性之间的切换,降低了逻辑复杂度。
需要说明的是,在不同的adas解决方案中,可以包括一个或多个特性,不同的特性对应不同的第一对象,其中,特性的数量、第一对象的类型及各类型的预设优先级可以由adas系统预先配置,或者由驾驶员进行设定。
示例性地,第一对象可以包括:自车道的车道线、自车所在车道中最接近的车辆(closestin-pathvehicle,cipv)(即目标车辆)、邻车道中车辆;其中,自车道的车道线、cipv、邻车道中车辆的优先级依次降低。在自车道的车道线存在的情况下,将自车道的车道线上预设距离对应的、且符合预设条件的位置点作为当前时刻的控制点;如果自车道的车道线不存在,则在cipv存在的情况下,将该cipv对应的、且符合预设条件的位置点作为当前时刻的控制点;如果cipv也不存在,则在邻车道中车辆存在的情况下,将该邻车道中车辆在自车道投影的、且符合预设条件的位置点作为当前时刻的控制点。
其中,自车道的车道线存在、cipv存在、邻车道中车辆存在等表示自车的传感器可以感知到自车道的车道线、cipv及邻车道中车辆等的数据,同时,该数据满足预设的对数据的稳定性及准确性的要求。预设条件可以包括:位置点在自车当前行驶状态下可到达的范围之内,例如,自车当前为向前行驶状态,预设条件为位置点的x轴坐标值大于3m,即若位置点位于自车的前方且x轴坐标值大于3m时,则符合预设条件,若位置点位于自车的后方或侧方,则不符合预设条件。预设距离可以基于驾乘状态信息确定,例如,驾驶员设定的跟车距离为15~40m,则预设距离可以包括:位置点的x轴坐标值为15~40m等等,即取自车道的车道线上与车辆的纵向距离相差15~40m的位置点。自车道的车道线上预设距离对应的位置点可以为自车道的车道线上预设距离上的点,可以为自车道的车道线上预设距离上的点投影到自车道的车道中心线上的点,等等;cipv对应的位置点可以为cipv后保险杠中点,还可以为cipv投影到自车道的车道中心线上的点,等等。邻车道中车辆在自车道的投影的位置点可以为邻车道中车辆后保险杠中点横向投影到自车道的投影点,例如,将自车道左边的邻车道中车辆后保险杠中点在横向上向右移动一定距离(如一个车道宽度),所对应的投影点;其中,横向为与车道线所指示的行驶方向垂直的方向,相应的,纵向为车道线所指示的行驶方向。
例如,图3示出根据本申请一实施例的一种确定当前时刻控制点的流程图,如图3所示,智能驾驶装置首先判断环境信息中是否存在自车道的车道线,在自车道的车道线存在的情况下,获取自车道的车道线上预设距离对应的位置点,若该位置点满足预设条件,则将该位置点作为当前时刻的控制点,若该位置点不满足预设条件,则退出adas系统,并提醒驾驶员接管车辆控制;在自车道的车道线不存在的情况下,则进一步判断环境信息中是否存在cipv。在cipv存在的情况下,获取cipv对应的位置点,若该位置点满足预设条件,则将该位置点作为当前时刻的控制点,若该位置点不满足预设条件,则退出adas系统,并提醒驾驶员接管车辆控制;在cipv不存在的情况下,则进一步判断邻车道中车辆是否存在。在邻车道中车辆存在的情况下,获取邻车道中车辆在自车道投影的位置点,若该位置点满足预设条件,则将该位置点作为当前时刻的控制点,若该位置点不满足预设条件,则退出adas系统,并提醒驾驶员接管车辆控制。在邻车道中车辆不存在的情况下,则退出adas系统,并提醒驾驶员接管车辆控制。
其中,在自车道的车道线存在且确定了当前时刻的控制点时,进而生成控制轨迹,可以实现lcc、lka等特性,在cipv存在时且确定了当前时刻的控制点时,进而生成控制轨迹,可以实现tja、obf等特性,在邻车道中车辆存在且确定了当前时刻的控制点时,进而生成控制轨迹,可以实现tja、lka等特性。这样,利用自车道的车道线、目标车辆、邻车道中车辆,按照优先级排序的方式,改变不同场景的控制点的位置,可以根据环境信息中存在的、优先级最高的第一对象确定当前时刻的控制点,从而实现多个特性,例如,可以根据当前时刻自车周围的环境信息中自车道的车道线确定当前时刻的控制点,进而实现lcc、lka等特性;可以根据当前时刻自车周围的环境信息中cipv,确定当前时刻的控制点,进而实现tja、obf等特性;可以根据当前时刻自车周围的环境信息中自车的邻车道中车辆,确定当前时刻的控制点,进而实现tja、lka等特性;同时,根据自车道的车道线、目标车辆、邻车道中车辆的优先级,实现不同特性之间的切换,保证了多个特性或场景间的平滑过渡。
方式二,可以根据当前时刻自车周围的环境信息中所包含的第一对象、第二对象及自车的状态信息(如驾乘状态信息),确定当前时刻唯一的控制点。
在一种可能的实现方式中,根据环境信息中各第一对象的预设优先级信息及当前时刻的驾乘状态信息,依次确定所述当前时刻的控制点,可以包括:获取优先级最高的第一对象对应的位置点;判断预设区域内是否存在第二对象;在第二对象存在时,对第一对象对应的位置点进行偏移处理,并将偏移后的位置点作为当前时刻的控制点。
其中,第一对象对应的位置点可以为上述自车道的车道线上预设距离对应的位置点、cipv对应的位置点、邻车道中车辆在自车道投影的位置点等等,第二对象为环境信息中自车的避让对象,例如,可以为侧方车辆、后方车辆、行人、施工区域、道路的路沿边界等等,不同的第二对象对应不同的特性,各第二对象对应的特性可以为caa、路沿远离等特性。预设区域为道路中具有一定大小的区域,例如,可以为以第一对象对应的位置点为中心的具有一定大小的圆形区域,还可以为自车道中具有一定大小的矩形区域。在上述预设区域中存在第二对象时,说明若以上述获取的第一对象对应的位置点生成控制轨迹,并按照该控制轨迹控制自车行驶,存在碰撞第二对象的风险,此时,对第一对象对应的位置点进行偏移处理,例如,横向偏移处理、纵向偏移处理,并将偏移后的位置点作为当前时刻的控制点,从而避免碰撞到第二对象,这样,基于第一对象,按照优先级排序的方式,并结合存在的第二对象,共同改变不同场景的控制点的位置,确定当前时刻的控制点,可以实现多个特性(如caa、路沿远离等特性),并保证了多个特性或场景间的平滑过渡。
需要说明的是,在不同的adas解决方案中,可以包括一个或多个特性,不同的特性对应不同的第二对象,其中,特性的数量、第二对象的类型及预设区域的大小可以由adas系统预先配置,或者由驾驶员进行设定。
示例性地,第二对象包括车道的硬边界;预设区域为以第一对象对应的位置点为中心预设大小的第一区域。
在一种可能的实现方式中,上述在第二对象存在时,对第一对象对应的位置点进行偏移处理,并将偏移后的位置点作为当前时刻的控制点,包括:在第一区域内存在车道的硬边界时,对第一对象对应的位置点进行偏移处理,以使硬边界在以偏移后的位置点为中心预设大小的区域之外,且偏移后的位置点在自车道内;将偏移后的位置点作为当前时刻的控制点。
其中,硬边界可以是自车不能触碰或跨越的边界,例如可以包括:自车道的实线车道线、道路的路沿边界等,第一区域可以为以第一对象对应的位置点为中心的具有一定大小的区域,例如,可以为以第一对象对应的位置点为圆心,半径为0.5~1.875米,所构成的圆形区域。偏移处理可以为基于自车道的车道中心线的位置,将第一对象对应的位置点在横向上移动一定距离,例如,自车道的车道中心线位于第一对象对应的位置点的左边,则将第一对象对应的位置点在横向上向左移动一定距离,以使该硬边界在以偏移后的位置点为中心的具有一定大小的区域之外,且该偏移后的位置点在自车道内;将偏移后的位置点作为当前时刻的控制点,该控制点远离车道的硬边界,从而使得自车根据该控制点生成的控制轨迹行驶时,避免碰撞到硬边界,这样,基于第一对象,按照优先级排序的方式,并结合硬边界,共同改变不同场景的控制点的位置,确定当前时刻的控制点,可以实现多个特性(如路沿远离等特性),并保证了多个特性或场景间的平滑过渡。
示例性地,第二对象可以包括:侧方车辆、行人等障碍物;预设区域可以为自车道中自车前方预设大小的第二区域。
在一种可能的实现方式中,上述在第二对象存在时,对第一对象对应的位置点进行偏移处理,并将偏移后的位置点作为当前时刻的控制点,包括:在第二区域内存在障碍物时,根据障碍物对应的权重信息,对第一对象对应的位置点进行偏移处理,以使该障碍物在以偏移后的位置点为中心预设大小的区域之外,且该偏移后的位置点在自车道内;将偏移后的位置点作为当前时刻的控制点。
其中,第二区域可以为自车道中自车前方具有一定纵向长度(如10~40m)及一定横向宽度(如1.875~3.75m)的矩形区域。障碍物对应的权重信息表示自车避让该障碍物的程度,例如,权重信息的数值越大,则自车避让该障碍物的动作越明显,相应的偏移后的位置点与第一对象对应的位置点之间的距离越远;权重信息的数值越小,则自车避让该障碍物的动作越小,相应的偏移后的位置点与第一对象对应的位置点之间的距离越近。这样,考虑到不同的场景中,障碍物的纵向距离、横向距离、相对速度等信息不同,自车避让障碍物的动作不同,利用障碍物对应的权重信息表示不同场景下自车避让该障碍物的程度,并根据障碍物对应的权重信息,对第一对象对应的位置点进行偏移处理,从而实现不同场景下的位置点偏移,将偏移后的位置点作为当前时刻的控制点,该控制点远离障碍物,从而使得自车根据该控制点生成的控制轨迹行驶时,避免碰撞到该障碍物,这样,基于第一对象按照优先级排序的方式,并结合障碍物及障碍物对应的权重信息,共同改变不同场景的控制点的位置,确定当前时刻的控制点,从而实现多个特征(如caa等特性),并保证了多个特性或场景间的平滑过渡。
示例性地,权重信息的数值可以由预设的权重函数(或权重体函数)确定,该权重函数所包含的参数可以包括:车头时距(timeofheadway,thw)、碰撞时间(timetocollision,ttc)、侵入宽度(invadevehiclewidth,ivw)等等。其中,thw可以由驾乘状态信息确定,即可以由驾驶员预先设定,ttc可以根据环境信息中入侵车辆与自车的相对距离及相对速度确定,ivw可以根据环境信息中自车道的车道线的位置及入侵车辆的位置确定。以权重函数所包含的参数为thw、ttc、ivw为例,权重信息的数值可以表示为α=f(thw,ttc,ivw),其中,α为权重信息的数值,f表示权重体函数,权重信息的数值α与thw成负相关,即thw越小,自车避让障碍物的动作越明显,权重信息的数值α与ttc成负相关,即ttc越小,自车避让障碍物的动作越明显,权重信息的数值α与ivw成正相关,即ivw越大,自车避让障碍物的动作越明显;这样,根据不同场景下对应的权重信息的数值,改变不同场景下控制点的位置,确定当前时刻的控制点,实现了不同场景的平滑过渡。
下面以障碍物为侵入车辆为例,对不同场景下,障碍物对应的权重信息进行说明。
图4示出根据本申请一实施例的多种车辆入侵自车道场景的示意图,在图4(a)-图4(f)中,箭头的方向表示车辆的速度方向,其中,自车401及入侵车辆701的车头前方的箭头所指的方向为正向,入侵车辆701车尾上的箭头所指的方向为反向,箭头的数量表示车辆的速度大小,箭头的数量越多,则车辆的速度越大,其中,图4(a)表示入侵车辆近距离保持的场景,即入侵车辆701与自车401的速度方向均为正向,且大小近似相等;图4(b)表示入侵车辆高速略过的场景,即入侵车辆701与自车401的速度方向均为正向,且入侵车辆701的速度大小大于自车401的速度大小;图4(c)表示入侵车辆低速逼近的场景,即入侵车辆701的速度方向为反向,自车401的速度方向为正向,且入侵车辆701的速度大小小于自车401的速度大小;图4(d)表示入侵车辆等速切入的场景,即入侵车辆701与自车401的速度方向均为正向,且成一定夹角,且入侵车辆701的速度等于自车401的速度;4(e)表示入侵车辆快速切入的场景,即入侵车辆701与自车401的速度方向均为正向,且成一定夹角,且入侵车辆701的速度大于自车401的速度;4(f)表示入侵车辆低速切入的场景,即入侵车辆701的速度方向为反向,自车401的速度方向为正向,且两者成一定夹角,且入侵车辆701的速度小于自车401的速度。
图5示出根据本申请一实施例的针对图4中多种车辆入侵自车道场景中位置点偏移的示意图,如图5所示,“0”点表示自车道的车道中心线上预设距离的点,“1”点表示入侵车辆的后保险杠在远离入侵车辆的自车道的一条车道线上的横向投影点。设“0”点为第一对象对应的位置点,则偏移后的位置点为以“0”点与“1”点为端点的线段上的点,若以“0”点作为偏移后的位置点,即以“0”点作为控制点生成控制轨迹,引导自车行驶,则自车不会产生避让动作,若以“1”点作为偏移后的位置点,即以“1”点作为控制点生成控制轨迹,引导自车行驶,则自车会有明显的避让动作,若以“0”点与“1”点为端点的线段上的点作为偏移后的位置点,则自车会产生避让动作,避让的程度(或避让动作的幅度)与偏移后的位置点相对于1点的距离负相关,即偏移后的位置点距离1点越近,避让动作幅度越大。针对上述图4(a)-图4(f)所示的不同的车道入侵场景,若以图5中“0”点作为偏移后的位置点,则自车不会产生避让动作,可以适用于图4(b)中入侵车辆高速略过的场景;若以“1”点作为偏移后的位置点,则自车会有明显的避让动作,可以适用于图4(f)表示入侵车辆低速切入的场景。若以“0”点与“1”点之间的点作为偏移后的位置点,则该点距离“0”点越近,自车避让动作越不明显,可以适用于图4(a)中入侵车辆近距离保持的场景及图4(c)中入侵车辆低速逼近的场景;该点距离“1”点越近,自车避让动作越明显,可以适用于图4(d)中入侵车辆等速切入的场景及图4(e)中入侵车辆快速切入的场景。
不同的场景中,可以根据环境信息中侵入车辆的位置、相对距离、相对速度等,基于上述权重体函数f,确定侵入车辆对应的权重信息的数值,即α=f(thw,ttc,ivw),该权重信息的不同取值,即对应了在“0”,“1”连线上的不同点,例如,权重信息的取值在0~1之间,将“0”与“1”之间的线段按比例等分,当权重信息的数值等于1时,对应“1”点为偏移后的位置点;当权重信息的数值等于“0”时,对应“0”点为偏移后的位置点;当权重信息的数值大于0且小于1时,则选取该线段中对应位置的点。这样,在不同场景下,可以根据thw、ttc、ivw及权重体函数f,确定偏移后的位置点,若以该偏移后的位置点作为当前时刻的控制点生成当前时刻的控制轨迹,可以保证自车沿该控制轨迹行驶不会与入侵车辆碰撞。
例如,上述图4中侵入车辆701与自车401在不同场景中,相对位置相同,相对速度不同时,ttc不同,此时所对应的权重体函数形状不同。图6示出根据本申请一实施例的一种权重体函数的示意图,如图6(a)-6(d)所示,ttc=-4时,权重信息的数值α关于thw、ivw的权重体函数,其中,6(a)-6(c)为图6(d)的三视图。随着ttc的变化,权重体函数的形状也会随之改变,对应于不同场景下的避让障碍物情形。图7示出根据本申请一实施例的另一种权重体函数的示意图,如图7(a)-7(d)所示,不同ttc时对应的权重体函数变化趋势;其中,图7(a)示出ttc<0时,α关于thw、ivw的权重体函数;图7(b)示出ttc=∞时,α关于thw、ivw的权重体函数;图7(c)示出ttc=20时,α关于thw、ivw的权重体函数;图7(b)示出ttc=4时,α关于thw、ivw的权重体函数。
图8示出根据本申请一实施例的一种确定当前时刻控制点的流程图,如图8所示,智能驾驶装置首先判断环境信息中是否存在自车道的车道线,在自车道的车道线存在的情况下,获取自车道的车道线上预设距离对应的位置点;在自车道的车道线不存在的情况下,则进一步判断环境信息中是否存在cipv。在cipv存在的情况下,获取cipv对应的位置点;在cipv不存在的情况下,则进一步判断邻车道中车辆是否存在。在邻车道中车辆存在的情况下,获取邻车道中车辆在自车道投影的位置点;在邻车道中车辆不存在的情况下,则退出adas系统,并提醒驾驶员接管车辆控制。
进一步地,在获取自车道的车道线上预设距离对应的位置点、cipv对应的位置点、邻车道中车辆在自车道投影的位置点中任一位置点后,进而判断第一区域内是否存在车道的硬边界及第二区域内是否存在障碍物,其中,执行判断第一区域内是否存在车道的硬边界与判断第二区域内是否存在障碍物的步骤不分先后。在第一区域内存在车道的硬边界或第二区域内存在障碍物时,进行相应的位置点偏移处理,得到偏移后的位置点,若偏移后的位置点满足预设条件,则将该偏移后的位置点作为当前时刻的控制点,若偏移后的位置点不满足预设条件,则退出adas系统,并提醒驾驶员接管车辆控制。在第一区域内不存在车道的硬边界且第二区域内不存在障碍物时,则判断该位置点是否满足预设条件,若该位置点满足预设条件,则将该位置点作为当前时刻的控制点,若该位置点不满足预设条件,则退出adas系统,并提醒驾驶员接管车辆控制。
其中,在自车道的车道线存在且无需进行位置点偏移处理时,进而可以根据确定的控制点生成控制轨迹,可以实现lcc、lka等特性,在cipv存在且无需进行位置点偏移处理时,进而可以根据确定的控制点生成控制轨迹,可以实现tja、obf等特性,在邻车道中车辆存在且无需进行位置点偏移处理时,进而可以根据确定的控制点生成控制轨迹,可以实现tja、lka等特性;在自车道的车道线、cipv、邻车道中车辆中任一个存在,且第一区域内存在车道的硬边界时,进而可以根据确定的控制点生成控制轨迹,可以实现路沿远离等特性。在自车道的车道线、cipv、邻车道中车辆中任一个存在,且第二区域内存在障碍物时,进而可以根据确定的控制点生成控制轨迹,可以实现caa等特性。这样,可以根据当前时刻自车周围的环境信息中的第一对象及第一对象预设的优先级信息,第二对象及第二对象对应的权重信息等,实现不同的特性,并保证多个特性及场景间的平滑过渡。
示例性地,图9示出根据本申请一实施例的一种利用控制点实现obf特性的示意图,obf特性要求在无车道线、只有在自车前方的车辆时,自车能够跟随前方车辆的轨迹行驶。如图9所示,当前时刻环境信息中自车道的车道线不存在,cipv1101存在,此时选取cipv后保险杠中点1102为位置点,同时,第一区域内不存在车道的硬边界,第二区域内不存在障碍物,且该位置点满足预设条件,则将该位置点,即cipv后保险杠中点1102作为控制点,进而生成当前时刻的控制轨迹,实现自车401的obf特性。
示例性地,图10示出根据本申请一实施例的一种利用控制点实现lcc特性的示意图,如图10所示,当前时刻环境信息中自车道的车道线存在,此时选取自车道的两条车道线上纵向上距离自车15~40m的点,从而得到自车道的车道中心线上纵向上距离自车15~40m的点1202,将该点作为位置点,同时,第一区域内不存在车道的硬边界,第二区域内不存在障碍物,且该位置点满足预设条件,则将该位置点作为控制点,进而生成当前时刻的控制轨迹,实现自车401的lcc特性。
示例性地,图11示出根据本申请一实施例的一种利用控制点实现tja特性的示意图,tja特性要求在有车道线,但由于前车遮挡而导致自车的传感器无法准确感知到车道线的位置与形状信息,即传感器感知到的车道线数据无法满足lcc特性对稳定性和准确性要求的情况下,借助前车进行横向控制;同时,tja不能控制自车完全根据前车轨迹行驶,当前车在自车道内偏移(如图11(a)所示)或有切入切出动作(如图11(b)所示)时,仍然需要保持自车在自车道内。如图11(a)-11(b)所示,当前环境中自车道的右车道线的一部分被cipv遮挡,cipv1301存在,此时选取cipv后保险杠中点1302,将自车道的车道中心线作为参考线,将点1302投影到自车道的车道中心线上,即点1303,将该点1303作为位置点,同时,第一区域内不存在车道的硬边界,第二区域内不存在障碍物,且该位置点满足预设条件,则将该位置点1303作为控制点,进而生成当前时刻的控制轨迹,从而保证cipv在自车道内偏移或有切入切出动作时,自车依然能够稳定保持居中,实现自车401的tja特性。
示例性地,图12示出根据本申请一实施例的一种利用控制点实现alc/slc特性的示意图,实现alc(如图12(a)-12(b)所示)及slc(如图12(c)所示)特性的过程实质是将自车道中的控制点逐渐平移到临车道的车道中心线的过程。如图12(a)所示,响应于驾驶员的变道指令,在变道的过程中,判断当前时刻环境信息中自车道的车道线存在,此时选取自车道的车道线上纵向上距离自车401预设距离的点,并将该点在横向上向邻车道偏移一定距离(该距离可以根据预设的变道时长、自车道中心线与邻车道中心线的之间的间距等确定),从而得到位置点1401,同时,第一区域内不存在车道的硬边界,第二区域内不存在障碍物,且该位置点满足预设条件,则将该位置点作为控制点,进而生成当前时刻的控制轨迹,实现自车401的slc特性。如图12(b)所示,响应于驾驶员的变道指令,在变道的过程中,判断当前时刻环境信息中自车道的车道线存在,此时选取自车道的车道线上纵向上距离自车401预设距离的点,并将该点在横向上向邻车道偏移一定距离,得到位置点,同时,第二区域内存在障碍物1402,则进行位置点偏移处理,将偏移后且满足预设条件的位置点1403作为控制点,进而生成当前时刻的控制轨迹,实现自车401的slc避让特性。如图12(c)所示,在前车1404阻挡自车道的通行路线时,进行变道,在变道的过程中,判断当前时刻环境信息中自车道的车道线存在,此时选取自车道的车道线上纵向上距离自车401预设距离的点,并将该点在横向上向邻车道偏移一定距离,得到位置点,同时,第二区域内存在障碍物1405及1404,则进行位置点偏移处理,将偏移后且满足预设条件的位置点1406作为控制点,进而生成当前时刻的控制轨迹,实现自车401的alc特性。
步骤503、根据当前时刻的控制点、历史时刻的控制轨迹及当前时刻自车的状态信息(如运动状态信息),生成当前时刻的控制轨迹,控制轨迹表示用于导引自车行驶的轨迹。
其中,历史时刻的控制轨迹可以包括上一时刻的控制点生成的控制轨迹,可以理解的是,随着实时生成控制轨迹,可以获取历史时刻的控制轨迹;历史时刻的控制轨迹可以表征时间域上的不同时刻的控制点的位置,这样,利用空间上的控制点在时间域上的连续性生成控制轨迹,即只需要空间上一个点即可在时间维度生成控制曲线,将环境信息中各种对象降维到一个点上,相比于在空间域上取多个点生成控制轨迹的方式,本申请实施例无需预先生成多个轨迹线,大大降低了对算力的要求,有效提高了adas系统性能。
例如,图13示出根据本申请一实施例的一种智能驾驶的对比图,如图13所示,目标车辆1505真实的轨迹为1501;1502为通过该真实的轨迹1501,在空间上用最小二乘法拟合生成的obf特性的控制轨迹;1503为通过t1时刻的控制点,t1时刻之前的控制轨迹及t1时刻运动状态信息,生成的t1时刻的obf特性的控制轨迹,1104为通过t2时刻的控制点,t2时刻之前的控制轨迹(包括t1时刻的控制轨迹)及t2时刻运动状态信息,生成的t2时刻的obf特性的控制轨迹。轨迹1501为通过轨迹1501中的多个点在空间维度拟合生成,而轨迹1503及1504为通过目标车辆1505确定各时刻的控制点,基于不同时刻的控制点在时间维度拟合生成。
示例性地,控制轨迹可以为三阶曲线,这样,利用当前时刻的控制点、历史时刻的控制轨迹及当前时刻运动状态信息,生成一条三阶曲线,该三阶曲线可以与一些adas系统架构适配;从而提高了本申请中智能驾驶方法的适用范围。
在一种可能的实现方式中,可以根据当前时刻的控制点、历史时刻的控制轨迹及当前时刻的自车状态信息,利用滤波器,生成当前时刻的控制轨迹。示例性地,该滤波器可以为卡尔曼滤波器(kalmanfilte),卡尔曼滤波器具有时间连续性,将当前时刻控制点的位置信息、历史时刻的控制轨迹及当前时刻自车状态信息,输入到卡尔曼滤波器,利用空间上的控制点在时间域上的连续性生成当前时刻的控制轨迹,从而实现不同的特性,提高了系统性能。可以理解的是,随着时间的推移,不同时刻的控制轨迹不断生成,历史时刻的控制轨迹随之不断迭代。
示例性地,可以将上述图10中cipv后保险杠中点1102的位置信息、历史时刻的控制轨迹及当前时刻自车的速度,横摆角速度、转向半径等信息输入到卡尔曼滤波器生成当前时刻的控制轨迹,并利用该控制轨迹进行循迹控车,从而实现obf特性。
示例性地,可以将上述图11中自车道的车道中心线上纵向上距离自车20m的点1202的位置信息、历史时刻的控制轨迹及当前时刻自车的速度,横摆角速度、转向半径等信息输入到卡尔曼滤波器,生成当前时刻的控制轨迹,并利用该控制轨迹进行车道居中控制,从而实现lcc特性。
示例性地,可以将上述图12中cipv后保险杠的中点1302投影到自车道的车道中心线上的点1303的位置信息、历史时刻的控制轨迹及当前时刻自车的速度,横摆角速度、转向半径等信息输入到卡尔曼滤波器,生成当前时刻的控制轨迹,从而实现tja特性。同时,利用车道中心线上的点生成控制轨迹而不是直接用车道中心线作为控制轨迹,保证了tja特性中控制的平顺性。
示例性地,可以将图13中变道过程中的当前时刻控制点的位置信息、历史时刻的控制轨迹及当前时刻自车的速度,横摆角速度、转向半径等信息输入到卡尔曼滤波器,生成当前时刻的控制轨迹,并利用该控制轨迹进行变道控制,从而实现alc/slc特性。进一步,在实现alc/slc特性的过程中,为了保证变道过程符合驾驶员习惯,通过对大量驾驶员变道数据进行分析,预先得到变道时不同变道时长对应的横向偏移速度曲线,该横向偏移速度曲线表示自车变道时的各时刻的横向速度变化,图14示出根据本申请一实施例的一种横向偏移速度曲线的示意图,如图14所示,驾驶员变道时的横向速度变化符合v形曲线,针对不同变道时长,会在v形的基础上下凹或上突。在变道过程中,可以根据预设或预估的变道时长,选取对应的横向偏移速度曲线,根据该横向偏移速度曲线确定各时刻的对应的横向速度,进而生成各时刻的控制轨迹,达到舒适的变道效果。
需要说明的是,上述利用控制点实现的adas系统的几种特性仅为示例,可以理解的是,本申请实施例的利用控制点实现的特性不限于此,对于adas系统的中涉及横向控制及纵向控制的其他特性均可适用;还可适用于未来演进的特性,例如,多目标协同(multi-objectcoordination,moc),可以根据目标车辆、临车道车辆、前前车辆(即位于自车的前方,且与自车相隔至少一个车辆的车辆)等环境信息,一同作用确定控制点,进而生成控制轨迹,从而改善临车道车辆近距离切入、临车道车辆减速切入、前前车辆刹车且前车切出等场景下acc特性的体验。
本申请实施例中,通过获取当前时刻自车周围的环境信息及当前时刻自车状态信息;根据环境信息及状态信息,确定当前时刻的控制点;根据控制点、历史时刻的控制轨迹及状态信息,生成当前时刻的控制轨迹,控制轨迹表示用于导引自车行驶的轨迹。这样,基于驾驶员驾驶习惯及思维方式,当前时刻驾驶员通常将目光集中在空间中的一点,该点即为驾驶员期望车辆能够行驶到的位置,将该点作为控制点,将环境信息对特性的影响集中在该控制点,通过该控制点生成当前时刻合理的控制轨迹,满足不同场景下的控制要求,且无需预先对环境信息进行处理生成多个条轨迹线,大大降低了对算力的要求,从而提升了adas系统的性能。还可以根据环境信息中各第一对象的预设优先级信息及状态信息,依次确定当前时刻的控制点,这样,通过多个信息源(即环境信息中各第一对象),按照各信息源的优先级排序的方式,改变不同场景下控制点的位置,确定当前时刻的控制点,从而实现多个特性(如:obf、lka、tja、lcc等特性),同时,根据多个信息源的优先级及对应的权重信息,实现不同特性之间的切换,保证了多个特性或场景间的平滑过渡,且无需利用状态机实现不同特性之间的切换,降低了逻辑复杂度。
基于上述方法实施例的同一发明构思,本申请的实施例还提供了一种智能驾驶装置,该智能驾驶装置用于执行上述方法实施例所描述的技术方案。
图15示出根据本申请一实施例的一种智能驾驶装置的结构示意图;如图15所示,该智能驾驶装置可以包括:获取模块1701,用于获取当前时刻自车周围的环境信息及当前时刻自车状态信息;确定模块1702,用于根据所述环境信息及状态信息,确定当前时刻的控制点;生成模块1703,用于根据所述控制点、历史时刻的控制轨迹及所述状态信息,生成当前时刻的控制轨迹,所述控制轨迹表示用于导引自车行驶的轨迹。
在一种可能的实现方式中,所述确定模块1702,还用于:根据所述环境信息中各第一对象的预设优先级信息及所述状态信息,依次确定所述当前时刻的控制点。
在一种可能的实现方式中,所述第一对象至少包括所述自车的自车道的车道线、目标车辆、所述自车的邻车道中车辆的一个;其中,所述自车道的车道线、所述目标车辆、所述邻车道中车辆的优先级依次降低;
所述确定模块1702,还用于:在所述自车道的车道线存在的情况下,将所述自车道的车道线上预设距离对应的、且符合预设条件的位置点作为当前时刻的控制点;所述预设距离基于所述状态信息确定;如果所述自车道的车道线不存在,则在所述目标车辆存在的情况下,将所述目标车辆对应的、且符合预设条件的位置点作为当前时刻的控制点;如果所述自车道的车道线不存在,且所述目标车辆不存在,则在所述邻车道中车辆存在的情况下,将所述邻车道中车辆在自车道投影的、且符合预设条件的位置点作为当前时刻的控制点。
在一种可能的实现方式中,所述确定模块1702,还用于:获取优先级最高的第一对象对应的位置点;判断预设区域内是否存在第二对象,所述第二对象为环境信息中自车的避让对象;在所述第二对象存在时,对所述第一对象对应的位置点进行偏移处理,并将偏移后的位置点作为当前时刻的控制点。
在一种可能的实现方式中,所述第二对象包括自车道的硬边界;所述预设区域为以第一对象对应的位置点为中心预设大小的区域;
所述确定模块1702,还用于:在所述自车道的硬边界存在时,对所述第一对象对应的位置点进行偏移处理,以使所述硬边界在以所述偏移后的位置点为中心预设大小的区域之外,且所述偏移后的位置点在自车道内;将偏移后的位置点作为当前时刻的控制点。
在一种可能的实现方式中,所述第二对象包括障碍物;所述预设区域为所述自车道中自车前方预设大小的区域;
所述确定模块1702,还用于:在所述障碍物存在时,根据所述障碍物对应的权重信息,对所述第一对象对应的位置点进行偏移处理,以使所述障碍物在以所述偏移后的位置点为中心预设大小的区域之外,且所述偏移后的位置点在自车道内;其中,所述权重信息表示自车避让该障碍物的程度;将偏移后的位置点作为当前时刻的控制点。
在一种可能的实现方式中,所述权重信息的数值至少由车头时距thw、碰撞时间ttc、侵入宽度ivw中的一个确定,其中,所述权重信息的数值与所述thw成负相关,与所述ttc成负相关,与所述ivw成正相关。
在一种可能的实现方式中,所述生成模块1703,还用于:根据所述控制点、历史时刻的控制轨迹及状态信息,利用卡尔曼滤波器,生成所述当前时刻的控制轨迹。
本申请实施例中,通过获取当前时刻自车周围的环境信息及当前时刻自车状态信息;根据环境信息及状态信息,确定当前时刻的控制点;根据控制点、历史时刻的控制轨迹及状态信息,生成当前时刻的控制轨迹,控制轨迹表示用于导引自车行驶的轨迹。这样,基于驾驶员驾驶习惯及思维方式,当前时刻驾驶员通常将目光集中在空间中的一点,该点即为驾驶员期望车辆能够行驶到的位置,将该点作为控制点,将环境信息对特性的影响集中在该控制点,通过该控制点生成当前时刻合理的控制轨迹,满足不同场景下的控制要求,且无需预先对环境信息进行处理生成多个条轨迹线,大大降低了对算力的要求,从而提升了adas系统的性能。还可以根据环境信息中各第一对象的预设优先级信息及状态信息,依次确定当前时刻的控制点,这样,通过多个信息源(即环境信息中各第一对象),按照各信息源的优先级排序的方式,改变控制点的位置,确定当前时刻的控制点,不同的第一对象对应于不同的特性,从而实现多个特性(如:obf、lka、tja、lcc等特性),同时,根据多个信息源的优先级及对应的权重信息,实现不同特性之间的切换,保证了多个特性或场景间的平滑过渡,且无需利用状态机实现不同特性之间的切换,降低了逻辑复杂度。
上述实施例的各种可能的实现方式或说明参见上文,此处不再赘述。
本申请实施例还提供了一种新的adas系统构架,图16示出根据本申请一实施例的adas系统架构图。如图16所示,该adas系统架构包括:预处理层、规划层、决策层、控制层等,还可以包括:执行层等等。
其中,预处理层:用于生成当前时刻自车周围的环境信息;示例性地,可以对安装在自车上的传感器所检测到的数据进行处理,得到自车周围的环境信息。另外,还可以基于gps数据、高精地图数据等,得到地图信息,例如,车辆与前方路口的距离,车辆所在的车道等等。
规划层:用于根据所述环境信息及当前时刻自车的状态信息,确定当前时刻的控制点;根据所述控制点、历史时刻的控制轨迹及所述状态信息,生成当前时刻的控制轨迹;所述控制轨迹表示用于导引自车行驶的轨迹;示例性地,该层以预处理层得到的环境信息作为输入,结合自车的状态信息(可以包括:驾乘状态信息及自车状态信息),通过智能驾驶装置,执行本申请的智能驾驶方法,从而确定当前场景适用的特性(或称为功能)及该特性对应的控制轨迹,将该控制轨迹输入到决策层。
进一步地,规划层还可以根据所述环境信息中各第一对象的预设优先级信息及所述状态信息,依次确定所述当前时刻的控制点。还可以获取优先级最高的第一对象对应的位置点;判断预设区域内是否存在第二对象,所述第二对象为环境信息中自车的避让对象;在所述第二对象存在时,对所述第一对象对应的位置点进行偏移处理,并将偏移后的位置点作为当前时刻的控制点。
决策层:用于对所述控制轨迹是否适用于当前时刻自车的工作状态进行判断;示例性地,该层以规划层生成的控制轨迹作为输入,根据当前时刻自车中各部件(如传感器、发动机、电动助力转向等系统)的工作状态,对该控制轨迹能够适用于当前自车的工作状态进行判断,当判断该控制轨迹能适用当前时刻自车的工作状态时,将该控制轨迹输入到控制层。
控制层:用于在所述控制轨迹适用于当前时刻自车的工作状态的情况下,基于所述控制轨迹,生成当前时刻的控制信号,所述控制信号用于车辆的辅助驾驶;示例性地,该层以决策层的控制轨迹为输入,结合车辆的动力学信息,生成方向盘转角、加速度等控制信号。
进一步地,该系统还可以包括执行层:以控制层生成的控制信号作为输入,执行该控制信号,例如,通过电动助力转向系统(electricpowersteering,eps)及发动机执行该控制信号,从而实现车辆的辅助驾驶。
在上述adas系统中,通过规划层,将环境信息中的各对象对特性的影响集中在空间的点上,将该点作为控制点,通过该控制点在时间维度上的连续性,生成控制轨迹,从而实现不同的特性。这样,仅需用于通过控制点生成控制轨迹的轨迹生成器,无需多个轨迹生成器,大大降低了对算力的要求,提高了系统性能。同时,相对于通过状态机,在复杂的切换条件与过渡逻辑下实现场景判断与切换的方案,在上述adas系统中,规划层通过环境信息中不同对象预设的优先级与对应的权重信息确定每一时刻控制点,实现不同特性及场景平滑过渡。另外,在上述adas系统中,若有新增特性,仅需在预处理层增加针对该特性对应的对象的处理,还可以设定新增特性对应对象的优先级及权重信息等信息,不需要新生成针对该特性的轨迹线,也无需对状态机进行调整,系统可拓展性高。
本申请的实施例提供了一种智能驾驶装置,包括:处理器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述智能驾驶方法。
图17示出根据本申请一实施例的另一种智能驾驶装置的结构示意图,如图17所示,该智能驾驶装置可以包括:至少一个处理器1801,通信线路1802,存储器1803以及至少一个通信接口1804。
处理器1801可以是一个通用中央处理器(centralprocessingunit,cpu),微处理器,特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路1802可包括一通路,在上述组件之间传送信息。
通信接口1804,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,ran,无线局域网(wirelesslocalareanetworks,wlan)等。
存储器1803可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路1802与处理器相连接。存储器也可以和处理器集成在一起。本申请实施例提供的存储器通常可以具有非易失性。其中,存储器1803用于存储执行本申请方案的计算机执行指令,并由处理器1801来控制执行。处理器1801用于执行存储器1803中存储的计算机执行指令,从而实现本申请上述实施例中提供的方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码。
在具体实现中,作为一种实施例,处理器1801可以包括一个或多个cpu,例如图17中的cpu0和cpu1。
在具体实现中,作为一种实施例,智能驾驶装置可以包括多个处理器,例如图17中的处理器1801和处理器1807。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,智能驾驶装置还可以包括输出设备1805和输入设备1806。输出设备1805和处理器1801通信,可以以多种方式来显示信息。例如,输出设备1805可以是液晶显示器(liquidcrystaldisplay,lcd),发光二级管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备1806和处理器1801通信,可以以多种方式接收用户的输入。例如,输入设备1806可以是鼠标、键盘、触摸屏设备或传感设备等。
本申请实施例还提供一种高级驾驶辅助系统,应用于无人驾驶或智能驾驶中,其包含至少一个本申请上述实施例提到的智能驾驶装置,还可以包括摄像头或雷达等其他传感器中的至少一个,该传感器用于感知环境信息,该系统内的至少一个装置可以集成为一个整机或设备,或者该系统内的至少一个装置也可以独立设置为元件或装置。
本申请实施例还提供一种车辆,所述车辆包括至少一个本申请上述实施例提到的智能驾驶装置或上述任一系统。
本申请的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(randomaccessmemory,ram)、只读存储器(readonlymemory,rom)、可擦式可编程只读存储器(electricallyprogrammableread-only-memory,eprom或闪存)、静态随机存取存储器(staticrandom-accessmemory,sram)、便携式压缩盘只读存储器(compactdiscread-onlymemory,cd-rom)、数字多功能盘(digitalvideodisc,dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(instructionsetarchitecture,isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(localareanetwork,lan)或广域网(wideareanetwork,wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(field-programmablegatearray,fpga)或可编程逻辑阵列(programmablelogicarray,pla),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或asic(applicationspecificintegratedcircuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。