CN116161048A - 路径生成方法、装置、设备及介质 - Google Patents
路径生成方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116161048A CN116161048A CN202111415848.7A CN202111415848A CN116161048A CN 116161048 A CN116161048 A CN 116161048A CN 202111415848 A CN202111415848 A CN 202111415848A CN 116161048 A CN116161048 A CN 116161048A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- data
- motion control
- path
- vehicle pose
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000006870 function Effects 0.000 claims description 84
- 230000001133 acceleration Effects 0.000 claims description 56
- 230000008859 change Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 239000000758 substrate Substances 0.000 claims 2
- 230000008569 process Effects 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000007704 transition Effects 0.000 description 8
- 239000002245 particle Substances 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000010845 search algorithm Methods 0.000 description 5
- 230000004888 barrier function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
- B60W2050/0021—Differentiating means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0043—Signal treatments, identification of variables or parameters, parameter estimation or state estimation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本公开涉及一种路径生成方法、装置、设备及介质。其中,路径生成方法包括:为目标车辆生成多组运动控制数据,其中每组运动控制数据包括多个运动控制量;基于每组运动控制数据对预设微分方程求解,得到每组运动控制数据对应的车辆位姿数据,预设微分方程为基于车辆动力学和车辆运动学构建的微分方程,车辆位姿数据包括多个车辆位姿;在多组车辆位姿数据中确定目标车辆的车辆位置数据,车辆位置数据用于形成目标车辆的目标路径。根据本公开实施例,能够提高路径规划的准确性。
Description
技术领域
本公开涉及自动驾驶技术领域,尤其涉及一种路径生成方法、装置、设备及介质。
背景技术
随着车辆驾驶技术的发展,自动驾驶作为一项重要的汽车辅助驾驶功能也成为重要研究方向之一。
在相关的自动驾驶技术中,需要利用道路的左右两侧边界线来进行路径规划,这种规划方法无法进行准确的路径规划。
发明内容
为了解决上述技术问题,本公开提供了一种路径生成方法、装置、设备及介质。
第一方面,本公开提供了一种路径生成方法,包括:
基于基准运动控制数据,为目标车辆生成多组运动控制数据,其中每组运动控制数据包括多个运动控制量;
基于每组运动控制数据对预设微分方程求解,得到每组运动控制数据对应的车辆位姿数据,预设微分方程为基于车辆动力学和车辆运动学构建的微分方程,车辆位姿数据包括多个车辆位姿;
在多组车辆位姿数据中确定目标车辆位姿数据,目标车辆位姿数据用于形成目标车辆的目标路径。
第二方面,本公开提供了一种路径生成装置,包括:
数据生成模块,用于为目标车辆生成多组运动控制数据,其中每组运动控制数据包括多个运动控制量;
第一数据处理模块,用于基于每组运动控制数据对预设微分方程求解,得到每组运动控制数据对应的车辆位姿数据,预设微分方程为基于车辆动力学和车辆运动学构建的微分方程,车辆位姿数据包括多个车辆位姿;
第二数据处理模块,用于在多组车辆位姿数据中确定目标车辆的车辆位置数据,目标车辆位姿数据用于形成目标车辆的目标路径。
第三方面,本公开提供了一种路径生成设备,包括:
处理器;
存储器,用于存储可执行指令;
其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现第一方面的路径生成方法。
第四方面,本公开提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现第一方面的路径生成方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例的路径生成方法、装置、设备及介质,由于预设微分方程是基于车辆动力学和车辆运行学构建的,利用预设微分方程求解得到的各组车辆位姿符合车辆动力学要求和车辆运动学要求,从而在多组车辆位姿数据中可以进一步确定的目标车辆位姿数据,能够使得根据多组车辆位姿数据中目标车辆位姿数据生成的目标路径能够符合车辆动力学要求和车辆运动学要求,提高了路径规划的准确性。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1示出了一种自动驾驶的场景图;
图2示出了本公开实施例提供的一种路径生成方法的流程示意图;
图3示出了本公开实施例提供的一种车身坐标系的示意图;
图4示出了本公开实施例提供的一种世界坐标系的示意图;
图5示出了本公开实施例提供的另一种路径生成方法的流程示意图;
图6示出了本公开实施例提供的又一种路径生成方法的流程示意图;
图7示出了本公开实施例提供的一种路径生成装置的结构示意图;
图8示出了本公开实施例提供的一种路径生成设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
发明人发现,在某些场景下,在诸如高速场景分叉路口、高速匝道等不规则道路、城市自动驾驶场景中掉头路口、分叉等不规则道路的使用场景中,这些场景可能存在着道路边界线或者车道线缺失或者仅具有一侧边界线等问题,上述方法无法进行准确的路径规划。如图1所示,该场景为目标车辆120在分叉路口110的自动驾驶场景。由于分叉路口往往车道线缺失,或者存在分叉道路的多条车道线,若采用上述相关技术,往往无法进行准确的路径规划。
为了解决上述的问题,本公开实施例提供了一种路径生成方法、装置、设备和介质,在获取车辆的多组运动控制数据之后,能够利用预设微分方程求解得到多组车辆位姿数据,进而在多组车辆位姿数据中寻优得到目标车辆位姿数据,由于预设微分方程是基于车辆动力学和车辆运行学构建的,从而能够使得根据多组车辆位姿数据中目标车辆位姿数据生成的目标路径能够符合车辆动力学要求和车辆运动学要求,提高了路径规划的准确性。下面,首先对本公开实施例提供的路径生成方法进行说明。
图2示出了本公开实施例提供的一种路径生成方法的流程示意图。
在本公开一些实施例中,图2所示的方法可以应用于车辆的控制器,例如可以应用于图1所示的车辆120的控制器。又或者,可以应用于诸如物理服务器、虚拟服务器等具有计算功能的设备,对此不作具体限定。
如图2所示,该路径生成方法可以包括如下步骤。
S210,为目标车辆生成多组运动控制数据,其中每组运动控制数据包括多个运动控制量。
在一些实施例中,运动控制量用于反映目标车辆在某一时刻的车辆制动信息。相应地,一组运动控制数据用于反映目标车辆在某一备选路径上的多个时刻的车辆制动信息。
在一个示例中,运行控制量可以包括目标车辆的制动角度。比如,制动角度可以是目标车辆的方向盘转角或者目标车辆的前轮转角。
在另一个示例中,运动控制量还可以包括诸如车辆的运动速度、车辆的制动加速度、车辆的制动加速度变化率等制动控制量中的一个或者多个,对此不作具体限定。
在一个具体的示例中,若多组运动控制数据表示为U1、…、UN。其中,第i组运动控制数据包括M个运动控制量,δi1、…、δiM。比如,一组运动控制数据可以包括10个方向盘转角值。其中,N和M为大于或等于2的整数,i为任意不大于N的正整数。
在一些实施例中,可以根据基准运动控制数据,生成多组运动控制数据。相应地,S210可以包括下述步骤A1至A3。
步骤A1,获取基准运动控制数据。
在一个实施例中,基准运动控制数据可以是预先设置的基准数据。比如,可以预先设置基准运动控制数据中的多个运动控制量均等于0。需要说明的是,基准数据还可以根据实际情况和具体场景设置为其他值,对此不再赘述。
在另一个实施例中,若需要迭代求解目标车辆位姿数据,则在第一次迭代时,可以选取预先设置的基准数据作为基准运动控制数据。以及,在后续迭代过程中,在任意相邻两次迭代过程中,可以将前一次迭代过程的多组运动控制数据中的最优一组运动控制数据作为下一次迭代过程中的基准运动控制数据。
可选地,可以计算前一次迭代过程的多组运动控制数据各自对应的车辆位姿数据,然后计算各组车辆位姿数据对应的代价值。接着,将最小代价值对应的运动控制数据作为下一次迭代过程中的基准运动控制数据。
步骤A2,确定基准运动控制数据对应的数据选取范围。
在一个实施例中,基准运动控制数据对应的数据选取范围可以包括:基准运动控制数据中每一基准运动控制量对应的数据选取范围。示例性地,针对基准运动控制数据中第j个基准运动控制量,可以确定该基准运动控制量对应的数据选取范围。可选地,数据选取范围可以是第j个基准运动控制量对应的数据选取范围可以是以第j个基准运动控制量为中心的取值范围。
步骤A3,在数据选取范围内,选取多组运动控制数据。
在一个实施例中,可以在数据选取范围内,随机生成多组运动控制数据。或者,可以按照预设选取规则,选取多组运动控制数据。本公开实施例对运动控制数据的具体选取方式不作限定。
示例性地,针对第j个基准运动控制量对应的数据选取范围,可以在这个范围内选取各组运动控制数据的第i个运动控制量。
S220,基于每组运动控制数据对预设微分方程求解,得到每组运动控制数据对应的车辆位姿数据。其中,车辆位姿数据包括多个车辆位姿。预设微分方程,即状态方程,其可以为基于车辆动力学和车辆运动学构建的微分方程。
在本公开实施例中,若S210中生成N组运动控制数据,则通过S220可以对应生成N组车辆位姿数据。进一步地,若每组运动控制数据包括M个运动控制量,则每组车辆位姿数据中包括M个车辆位姿。
在一些实施例中,车辆位姿用于反映目标车辆的车辆位置信息,相应地,一组车辆位置数据用于反映目标车辆在某一条备选路径中的多个车辆位置信息。比如,车辆位姿可以包括车辆位置和车辆偏航角,比如车辆位姿可以表示为(x,y,θ)。
可选地,每一组车辆位姿数据中第j+1个车辆位姿中的车辆偏航角可以是根据第j+1个车辆位姿中的车辆位置(xj+1,yj+1)和第j个车辆位姿的车辆位置(xj,yj)计算得到的。其中,第1个车辆位姿中的车辆偏航角可以取默认值,比如0。
比如,第j+1个车辆位姿中的车辆偏航角θj+1可以表示为下述公式(1):
θj+1=arctan((yj+1-yj)/(xj+1-xj)) (1)
可选地,车辆位置可以为车辆在世界坐标系内的位置,车辆偏航角可以为车辆在世界坐标系内的车辆方向。
具体地,世界坐标系可以为车辆在自动驾驶过程中建立的用于感知车辆的移动轨迹的绝对坐标系。世界坐标系可以基于车身坐标系构建。车身坐标系可以为用于感知车辆与其他事物之间的相对位置的相对坐标系。
为了更清楚地说明车辆位置、车辆偏航角、车辆前轮转角,首先介绍车身坐标系和世界坐标系。
图3示出了本公开实施例提供的一种车身坐标系的示意图。如图3所示,可以将车辆310抽象为带有方向的质点模型,其中,质点320位于车辆310的后轴中心处,质点320可以为车身坐标系的坐标原点,质点320朝向车头中心处的方向为车身坐标系的X轴正方向,垂直X轴的左侧方向为车身坐标系的Y轴正方向。
图4示出了本公开实施例提供的一种世界坐标系的示意图。如图4所示,可以将路径起点时车辆310的质点320的位置作为世界坐标系的坐标原点,将路径起点时车辆310的车身坐标系的X轴正方向为世界坐标系的x轴正方向,路径起点时车辆310的车身坐标系的Y轴正方向为世界坐标系的y轴正方向。
因此,车辆位置可以为车辆310行驶在世界坐标系下的质点320坐标(x,y),车辆偏航角可以为车辆310行驶在世界坐标系下的车身坐标系的X轴正方向与世界坐标系的x轴正方向之间的夹角θ。
此外,对于车辆偏航角,其可以是车辆的前车轮在车身坐标系下中与车身坐标系的a轴的夹角。
在介绍了车辆位姿数据之后,接下来对预设微分方程展开具体说明。
在一些实施例中,预设微分方程用于表示车辆的运动控制数据与车辆位姿数据之间的对应关系。
在一个实施例中,预设微分方程可以表示为下述公式(2):
其中,Q为车辆位姿数据,为车辆位姿数据的一阶偏导,为运动控制数据,为目标车辆的状态转移矩阵,为目标车辆的控制转移矩阵。可选地,状态转移矩阵和控制转移矩阵可以是在实验阶段预先计算得到的。其中,同一车型车辆对应同一状态转移矩阵和控制转移矩阵,不同车型车辆可以对应不同的状态转移矩阵和控制转移矩阵。
示例性地,针对S220,在获取多组运动控制数据表示为U1、…、UN,可以将其分别代入上述公式(2),得到多组车辆位姿数据Q1、…、QN。
在另一个实施例中,预设微分方程可以表示为下述公式(3)-(5):
其中,x表示目标车辆在世界坐标系内X轴方向上的位置,表示x的一阶偏导,y表示目标车辆在世界坐标系内Y轴方向上的位置,/>表示y的一阶偏导,表示目标车辆的车辆偏航角,/>表示的一阶偏导,δ表示目标车辆的前轮转角,m表示目标车辆的车辆质量。lf、lr分别表示质心到前后轴的距离,cf、cr分别表示前后轮的侧偏刚度,v表示目标车辆的行驶速度,L表示目标车辆的轴距。
S230,在多组车辆位姿数据中确定目标车辆位姿数据。其中,目标车辆位姿数据用于形成目标车辆的目标路径。
在本公开实施例中,每组车辆位姿数据均各自对应一条备选路径,通过S230,可以从多条备选路径中选择出最优路径对应的目标车辆位姿数据。
在一些实施例中,可以从多组车辆位姿数据中确定一组车辆位姿数据作为目标车辆位姿数据。
在一个实施例中,可以利用预设寻优算法对多组车辆位姿数据进行寻优,寻优得到目标车辆位姿数据。可选地,为了保证路径规划速度,可以利用全局搜索算法,确定目标车辆位姿数据。比如,可以利用遗传算法、粒子算法等方法确定目标车辆位姿数据。
需要说明的是,本公开实施例中通过使用全局搜索算法,可以不依赖梯度信息和黑塞(Hessian)信息在多组车辆位姿数据中寻优得到目标车辆位姿数据,节省了路径规划的算力,从而保证了路径规划的速度。并且,不依赖梯度信息的寻优,可以自定义路径规划的约束条件,从而提高路径规划的灵活性。
在一些实施例中,可以根据预设的代价函数,计算各组车辆位姿数据的代价值,再从中选择最小代价值对应的车辆位姿数据作为目标车辆位姿数据。
可选地,可以利用全局搜索算法和代价函数,确定目标位姿数据。相应地,具体实施方式包括下述步骤A1至步骤A5。
步骤A1,在利用全局搜索算法的每次迭代过程中,可以通过步骤S210-S220确定本次迭代过程中生成的多组运动控制数据各自对应的车辆位姿数据。
步骤A2,利用代价函数,确定各组车辆位姿数据的代价值。
步骤A3,判断是否达到预设迭代停止条件。如果达到预设迭代停止条件,继续执行步骤A4,如果未达到预设迭代停止条件,则继续执行步骤A5。
在一个示例中,预设迭代停止条件可以是迭代次数达到预设次数阈值。其中,预设次数阈值可以根据实际情况和具体场景设置,对此不再赘述。
在另一个示例中,预设迭代停止条件可以包括本次迭代过程中的多组车辆位姿数据的代价值中的最小值小于预设代价阈值。其中,预设代价阈值可以根据实际场景和具体需求设置,对此不再赘述。
步骤A4,如果达到迭代停止条件,可以将本次迭代过程中的最小代价值对应的一组车辆位姿数据确定为目标车辆位姿数据。
步骤A5,如果未达到迭代停止条件,则可以将本次迭代过程中的最小代价值对应的一组运动控制数据作为下一次迭代过程中的基准运动控制数据,进入下一次迭代过程,即返回步骤A1。
其中,若本次迭代过程中的10组运动控制数据对应生成10组车辆位姿数据,若第7组车辆位姿数据的代价值是10组车辆位姿数据中的最小值,则由于第7组运动控制数据对应于第7组车辆位姿数据,相应地,第7组车辆位姿数据的代价值可以认为对应于第7组运动控制数据,即最小代价值对应的一组运动控制数据为第7组运动控制数据。
在介绍了如何确定目标车辆位姿数据之后,接下来对目标路径展开具体说明。
在一个实施例中,若目标车辆位姿数据可以表示为(x1,y1,θ1)、(x2,y2,θ2)、…、(xM,yM,θM)。则目标路径对应的多个轨迹点可以为(x1,y1)、(x2,y2)、…、(xM,yM)。通过将上述多个轨迹点连接起来的路径即为目标路径。需要说明的是,目标路径还可以根据上述轨迹点拟合得到的,对其具体生成方式不作具体限定。
本公开实施例的路径生成方法,由于预设微分方程是基于车辆动力学和车辆运行学构建的,利用预设微分方程求解得到的各组车辆位姿符合车辆动力学要求和车辆运动学要求,从而在多组车辆位姿数据中可以进一步确定的目标车辆位姿数据,能够使得根据多组车辆位姿数据中目标车辆位姿数据生成的目标路径能够符合车辆动力学要求和车辆运动学要求,提高了路径规划的准确性。
另外,本公开实施例通过生成多组运动控制数据,再对应生成多组车辆位姿数据,进而在多组车辆位姿数据中寻优得到目标车辆位姿数据。与直接生成多组车辆位姿数据来寻优得到目标车辆位姿数据的方式相比,由于本公开实施例利用预设微分方程可以使得求解得到的每组运动控制数据符合动力学要求和运动学要求,因此仅需要较少的运动控制数据,即可得到相同或者更优的路径规划精度。比如本公开实施例通过10组运动控制数据对应的路径规划精度可能与直接生成100组车辆位姿数据对应的路径规划精度相同,从而本公开实施例可以减少求解量,且更加符合车辆动力学要求,兼顾了路径规划精度和计算效率,节省了算力。
图5示出了本公开实施例提供的另一种路径生成方法的流程示意图。本公开实施例在上述实施例的基础上进行优化,本公开实施例可以与上述一个或者多个实施例中各个可选方案结合。
在本公开一些实施例中,图5所示的方法可以应用于车辆的控制器,例如可以应用于图1所示的车辆120的控制器。又或者,可以应用于诸如物理服务器、虚拟服务器等具有计算功能的设备,对此不作具体限定。
如图5所示,该路径生成方法可以包括如下步骤。
S510,为目标车辆生成多组运动控制数据,其中每组运动控制数据包括多个运动控制量。其中,S510的具体实施方式与S210类似,在此不再赘述。
S520,基于每组运动控制数据对预设微分方程求解,得到每组运动控制数据对应的车辆位姿数据。其中,车辆位姿数据包括多个车辆位姿。其中,预设微分方程为基于车辆动力学和车辆运动学构建的微分方程。
具体地,S520的具体实施方式与S220类似,在此不再赘述。
S530,获取每组车辆位姿数据对应的路径约束特征。
在一些实施例中,路径约束特征可以是用于评价备选路径是否符合规划要求的一维或者多维特征。也就是说,可以是在路径规划时,需要考虑的一维或者多维特征。
每组车辆位姿数据对应于一个或者多个路径约束特征。
可选地,路径约束特征包括下述约束特征1至约束特征6中的至少一个。
约束特征1、轨迹长度。相应地,预设代价函数包括轨迹长度对应的轨迹长度约束函数JS(U)。
对于轨迹长度,每组车辆位姿数据对应的轨迹长度可以表征该组车辆位姿数据所对应备选轨迹的轨迹长度。可选地,每组车辆位姿数据对应的轨迹长度可以是根据该组车辆位姿数据中的多个车辆位姿计算得到的。比如,可以是多个车辆位姿中的车辆位置中每相邻两个车辆位置的欧式距离的和值。比如,若一组车辆位姿数据包括3个车辆位姿,分别为(x1,y1,θ1)、(x2,y2,θ2)、(x3,y3,θ3),则轨迹长度S可以是(x1,y1)与(x2,y2)之间的第一欧式距离与(x2,y2)与(x3,y3)之间的第二欧式距离之和。
可选地,轨迹长度约束函数JS(U)可以使计算得到的轨迹长度对应的约束代价值CL与轨迹长度S成正比,也就是说,若轨迹长度越短,则通过约束函数JS(U)计算得到的约束代价值CL越小。
又可选地,轨迹长度约束函数JS(U)可以使取值范围小于或等于第一轨迹长度阈值的轨迹长度的约束代价值CL为第一轨迹代价值,使大于第一轨迹长度阈值且小于或等于第二轨迹长度阈值的轨迹长度的约束代价值CL为第二轨迹代价值,同理地,使大于第P轨迹长度阈值且小于或等于第P+1轨迹长度阈值的轨迹长度的约束代价值CL为第P+1轨迹代价值,其中,P为任意整数。其中,第一轨迹长度阈值小于第二轨迹长度阈值、…、第P轨迹长度阈值小于第P+1轨迹长度阈值。第一轨迹代价值小于第二轨迹代价值、…、第P轨迹代价值小于第P+1轨迹代价值。
需要说明的是,轨迹长度约束函数JS(U)还可以是其他能够使得目标路径的轨迹长度尽量最短的函数,对此不作限定。
通过约束条件1,可以通过防止车辆行驶轨迹过长,从而节省了用户的驾驶成本,且减小了对车辆的损耗。
约束特征2、目标车辆与障碍物之间的第一距离,预设代价函数包括第一距离对应的障碍物约束函数Jobs(U)。可选地,障碍物的位置信息可以预设的,或者可以是路径规划前实时采集的。
对于第一距离,其可以是该组车辆位姿数据中的多个车辆位姿计算得到的。可选地,可以将一组车辆位姿数据中的各个车辆位姿与障碍物之间的距离分别作为一个第一距离。又或者,可以是将一组车辆位姿数据中的各个车辆位姿与障碍物之间的距离中的最小距离作为第一距离。例如,可以车辆位姿中的车辆位置与障碍物的位置计算得到第一距离。比如,可以将车辆位置(x1,y1)与障碍物位置(xobs1,yobs1)的欧式距离作为第一距离。需要说明的是,还可以采用其他方法计算第一距离,对此不作具体限定。
又可选地,若包括多个障碍物,可以将一个车辆位姿与各个障碍物之间的距离分别作为一个第一距离。又或者,可以是将一个车辆位姿与多个障碍物之间的距离中的最小距离作为第一距离。
本公开实施例对第一距离的具体计算方式不作限定。
对于障碍物约束函数Jobs1(U),其用于使得车辆在按照目标路径行驶时,不与障碍物发生碰撞。
可选地,障碍物约束函数Jobs1(U)可以使计算得到的第一距离对应的约束代价值Cobs1与第一距离成反比,也就是说,若第一距离越小,即目标车辆距离障碍物越近,则通过障碍物约束函数Jobs1(U)计算得到的障碍物代价值Cobs1越大。
又可选地,障碍物约束函数Jobs1(U)可以使取值范围小于或等于预设障碍物距离阈值的障碍物代价值Cobs1为第一障碍物代价值,使大于预设障碍物距离阈值的障碍物代价值Cobs1为第二障碍物代价值。
其中,预设障碍物距离阈值可以根据实际情况和具体需求设置,比如可以根据车辆的宽度、车辆长度等确定,以保证车身不会碰撞障碍物。
其中,第一障碍物代价值可以远远大于第二障碍物代价值,比如至少相差一到两个数量级。比如,第一障碍物代价值可以取+∞,第二障碍物代价值可以取0。又比如,第一障碍物代价值可以取+1000,第二障碍物代价值可以取1,对其具体取值不作限定。
需要说明的是,障碍物约束函数Jobs1(U)还可以是其他能够使得车辆在按照目标路径行驶时不会与障碍物发生碰撞的约束函数,对此不作限定。
通过约束条件2,可以防止车辆与障碍物碰撞,从而提高了车辆驾驶的安全性。
约束特征3、目标车辆与道路边界之间的第二距离,预设代价函数包括第二距离对应的约束函数Jobs2(U)。其中,道路边路可以能够表示道路边界的对象,比如可以是道路两边的路桩、道路中间或两边的防护栏、道路与人行道之间的台阶、道路上的实黄线、虚黄线、白线等车道线,对此不作具体限定。
对于第二距离,其可以是该组车辆位姿数据中的多个车辆位姿计算得到的。可选地,可以将一组车辆位姿数据中的各个车辆位姿与道路边界之间的距离分别作为一个第二距离。又或者,可以是将一组车辆位姿数据中的各个车辆位姿与道路边界之间的距离中的最小距离作为第一距离。例如,可以车辆位姿中的车辆位置与道路边界的位置计算得到第二距离。比如,可以将车辆位置(x1,y1),道路边界位置(xobs2,yobs2)的欧式距离作为第二距离。需要说明的是,还可以采用其他方法计算第二距离,对此不作具体限定。
又可选地,若包括多个道路边界,或者一个道路边界包括多个位置点,可选地,可以将一个车辆位姿与各个道路边界、或者一个车辆位姿与各个位置点之间的距离分别作为一个第二距离。又或者,可以是将一个车辆位姿与多个障碍物之间的距离中的最小距离作为第一距离。
本公开实施例对第二距离的具体计算方式不作限定。
对于道路边界约束函数Jobs2(U),其用于使得车辆在按照目标路径行驶时,不与道路边界发生碰撞或者碾压。
可选地,道路边界约束函数Jobs2(U)以使计算得到的第二距离对应的道路边界代价值Cobs2与第二距离成反比,也就是说,若第二距离越小,即目标车辆距离道路边界越近,则通过道路边界约束函数Jobs2(U)计算得到的道路边界代价值Cobs2越大。
又可选地,道路边界约束函数Jobs2(U)可以使取值范围小于或等于预设道路边界距离阈值的道路边界代价值Cobs2为第一道路边界代价值,使大于预设道路边界距离阈值的道路边界代价值Cobs2为第二道路边界代价值。
其中,预设道路边界距离阈值可以根据实际情况和具体需求设置,比如可以根据车辆的宽度、车辆长度等确定,以保证车身不会碰撞道路边界。
其中,第一道路边界代价值可以远远大于第二道路边界代价值,比如至少相差一到两个数量级。比如,第一道路边界代价值可以取+∞,第二道路边界代价值可以取0。又比如,第一道路边界代价值可以取+1000,第二道路边界代价值可以取1,对其具体取值不作限定。
需要说明的是,道路边界约束函数Jobs(U)还可以是其他能够使得车辆在按照目标路径行驶时不会与道路边界发生碰撞的约束函数,对此不作限定。
通过约束条件3,可以防止车辆与道路边界碰撞,从而提高了车辆驾驶的安全性。
约束特征4、目标车辆在路径终点的车辆位姿偏差,预设代价函数包括车辆位姿偏差对应的终点约束函数Jend(U)。
在一些实施例中,车辆位姿偏差可以表示路径终点的期望车辆位姿与通过S520实际计算得到的路径终点的实际车辆位姿之间的偏差。
可选地,目标车辆在路径终点的期望车辆位姿可以在路径规划前输入的。可选地,期望位置信息可以包括目标车辆在路径终点的期望位置,又或者,可以包括目标车辆在路径终点的期望位置和期望车辆偏航角。
可选地,可以将S520计算得到的各组车辆位姿数据中的最后一个车辆位姿作为路径终点的实际车辆位姿。
对于终点约束函数Jend(U),其用于使得车辆按照目标路径行驶到路径终点时的位姿能够符合期望位姿。
可选地,终点约束函数Jend(U)可以使计算得到的终点代价值Cend与车辆位姿偏差成正比,也就是说,若车辆位姿偏差越小,即目标车辆在路径终点的位姿越符合预期,则通过终点约束函数Jend(U)计算得到的终点代价值Cend越小。
又可选地,终点约束函数Jend(U)可以使取值范围小于或等于第一位姿偏差阈值的终点代价值Cend为第一终点代价值,使大于第一位姿偏差阈值且小于或等于第二位姿偏差阈值的终点代价值Cend为第二终点代价值,…,同理地,使大于第T位姿偏差阈值且小于或等于第T+1位姿偏差阈值的终点代价值Cend为第T+1终点代价值,其中,T为任意整数。其中,第一位姿偏差阈值小于第二位姿偏差阈值、…、第T位姿偏差阈值小于第T+1位姿偏差阈值。第一终点代价值小于第二终点代价值、…、第T终点代价值小于第T+1终点代价值。
需要说明的是,终点约束函数Jend(U)还可以是其他能够使得目标路径的路径终点的实际车辆位姿达到期望车辆位姿的函数,对此不作限定。
通过约束条件4,可以使得车辆在按照目标路径行驶时,在路径终点的实际车辆位姿达到期望车辆位姿,从而提高了路径规划的准确率。
约束特征5、目标车辆的加速度,预设代价函数包括加速度对应的约束函数。对于加速度约束函数Ja(U),其用于使得车辆在按照目标路径行驶时加速度不超过预设加速度阈值。
对于目标车辆的加速度,其可以是根据任意相邻车辆位姿与任意相邻车辆位姿之间的时间差计算得到的。
可选地,加速度约束函数Ja(U)可以使加速度小于或等于预设加速度阈值的约束代价值Ca为第一加速度代价值,使该组车辆位姿数据中任一加速度大于预设加速度阈值时,将该组车辆位姿数据对应的加速度代价值Ca取值为第二加速度代价值。
其中,第一加速度代价值可以远远大于第二加速度代价值,比如至少相差一到两个数量级。比如,第一加速度代价值可以取+∞,第二加速度代价值可以取0。又比如,第一加速度代价值可以取+1000,第二加速度代价值可以取1,对其具体取值不作限定。
需要说明的是,加速度约束函数Ja(U)还可以是其他能够使得目标车辆的加速度不超过预设加速度阈值的函数,对此不作限定。
通过约束条件5,可以通过防止车辆加速度过大对车辆平顺性的影响,从而提高了车辆驾驶的平顺性。
约束特征6、目标车辆的加速度变化率,预设代价函数包括加速度变化率对应的约束函数。
对于目标车辆的加速度变化率,其可以是根据任意相邻车辆位姿与任意相邻车辆位姿之间的时间差计算得到的。
可选地,加速度变化率约束函数JΔa(U)可以使加速度变化率小于或等于预设加速度变化率阈值的约束代价值CΔa为第一加速度变化率代价值,使该组车辆位姿数据中任一加速度变化率大于预设加速度变化率阈值时,将该组车辆位姿数据对应的加速度变化率代价值CΔa取值为第二加速度变化率代价值。
其中,第一加速度变化率代价值可以远远大于第二加速度变化率代价值,比如至少相差一到两个数量级。比如,第一加速度变化率代价值可以取+∞,第二加速度变化率代价值可以取0。又比如,第一加速度变化率代价值可以取+1000,第二加速度变化率代价值可以取1,对其具体取值不作限定。
需要说明的是,加速度变化率约束函数JΔa(U)还可以是其他能够使得目标车辆的加速度变化率不超过预设加速度变化率阈值的函数,对此不作限定。
通过约束条件6,可以通过防止车辆加速度变化率过大对车辆舒适性的影响,从而提高了车辆驾驶的舒适性。
S540,根据预设代价函数和路径约束特征,计算每组车辆位姿数据对应的代价值。
在一些实施例中,可以将路径约束特征代入预设代价函数J(U),计算得到每组车辆位姿数据对应的代价值。
在一个示例中,每组车辆位姿数据对应多个路径约束特征。相应地,S540可以包括如下步骤:
步骤B1,利用任意路径约束特征对应的约束函数,计算任意路径约束特征对应的约束代价值。
可选地,以上述路径约束特征为例,若路径约束特征包括上述约束特征1至约束特征6中的至少两个,则可以计算各预设特征对应的代价值。
步骤B2,计算多个路径约束特征各自对应的约束代价值之和,得到每组车辆位姿数据对应的代价值。
示例性地,若每组车辆位姿数据的路径约束特征包括上述约束特征1至约束特征6,则每组车辆位姿数据对应的代价值满足下述公式(6):
C=CL+Cobs1+Cobs2+Cend+Ca+CΔa (6)
S550,将最小代价值对应的车辆位姿数据确定为目标车辆位姿数据。
示例性地,若共包括5组车辆位姿数据,各车辆位姿数据对应的代价值分别为1、1000、5、22、60。则将其中第一组车辆位姿数据作为目标车辆位姿数据。
本公开实施例的路径生成方法,由于预设微分方程是基于车辆动力学和车辆运行学构建的,利用预设微分方程求解得到的各组车辆位姿符合车辆动力学要求和车辆运动学要求,从而在多组车辆位姿数据中可以进一步确定的目标车辆位姿数据,能够使得根据多组车辆位姿数据中目标车辆位姿数据生成的目标路径能够符合车辆动力学要求和车辆运动学要求,提高了路径规划的准确性。
另外,本公开实施例通过生成多组运动控制数据,再对应生成多组车辆位姿数据,进而在多组车辆位姿数据中寻优得到目标车辆位姿数据。与直接生成多组车辆位姿数据来寻优得到目标车辆位姿数据的方式,由于本公开实施例利用预设微分方程可以使得求解得到的每组运动控制数据符合动力学要求和运动学要求,因此仅需要较少的运动控制数据,即可得到相同或者更优的路径规划精度。比如本公开实施例通过10组运动控制数据对应的路径规划精度可能与直接生成100组车辆位姿数据对应的路径规划精度相同,从而本公开实施例可以减少求解量,且更加符合车辆动力学要求,兼顾了路径规划精度和计算效率,节省了算力。
图6示出了本公开实施例提供的又一种路径生成方法的流程示意图。本公开实施例在上述实施例的基础上进行优化,本公开实施例可以与上述一个或者多个实施例中各个可选方案结合。
在本公开一些实施例中,图6所示的方法可以应用于车辆的控制器,例如可以应用于图1所示的车辆110的控制器。又或者,可以应用于诸如物理服务器、虚拟服务器等具有计算功能的设备,对此不作具体限定。
如图6所示,该路径生成方法可以包括如下步骤。
S610,为目标车辆生成多组运动控制数据,其中每组运动控制数据包括多个运动控制量。
可选地,在第一次迭代时,可以选取预先设置的基准数据作为基准运动控制数据。以及,在后续迭代过程中,在任意相邻两次迭代过程中,可以将前一次迭代过程的多组运动控制数据中的最优一组运动控制数据作为下一次迭代过程中的基准运动控制数据。
需要说明的是,S610的其他内容可以参见S210的相关内容,在此不再赘述。
可选地,在第一次迭代开始前,可以进行参数初始化,比如将基准运动控制数据设置为初始值,比如0值。又比如,可以将迭代次数初始化为0值。
S620,基于每组运动控制数据对预设微分方程求解,得到每组运动控制数据对应的车辆位姿数据。其中,车辆位姿数据包括多个车辆位姿。其中,预设微分方程为基于车辆动力学和车辆运动学构建的微分方程,
具体地,S620的具体实施方式与S220类似,在此不再赘述。
S630,判断是否达到预设迭代停止条件。其中,在未达到预设迭代停止条件的情况下,返回执行步骤S610,直至达到预设迭代停止条件,得到本次迭代对应的多组车辆位姿数据,即继续执行S630。
可选地,在S630中,若未达到预设迭代停止条件,还可以计算多组车辆位姿数据各自的代价值,将最小代价值对应的一组运动控制数据作为下一次迭代的基准运动控制数据来对应生成下一次迭代过程中的多组运动控制数据。
又可选地,若未达到预设迭代停止条件,可以计算多组车辆位姿数据各自的代价值,将多组车辆位姿数据各自的代价值和基准代价值中最小代价值作为新的基准代价值,并将基准代价值对应的一组运动控制数据作为下一次迭代的基准运动控制数据来对应生成下一次迭代过程中的多组运动控制数据。
其中,计算代价值的具体实施方式可以参见上述步骤B2和步骤B3的相关内容,在此不再赘述。
其中,根据基准运动控制数据来对应生成多组运动控制数据的具体实施方式可以参见上述步骤A1至步骤A3的相关内容,在此不再赘述。
S640,在多组车辆位姿数据中确定目标车辆的车辆位置数据,以目标车辆位姿数据用于形成目标车辆的目标路径。
需要说明的是,S640的其他内容可以参见S230的相关内容,在此不再赘述。
本公开实施例的路径生成方法,由于预设微分方程是基于车辆动力学和车辆运行学构建的,利用预设微分方程求解得到的各组车辆位姿符合车辆动力学要求和车辆运动学要求,从而在多组车辆位姿数据中可以进一步确定的目标车辆位姿数据,能够使得根据多组车辆位姿数据中目标车辆位姿数据生成的目标路径能够符合车辆动力学要求和车辆运动学要求,提高了路径规划的准确性。
另外,本公开实施例通过生成多组运动控制数据,再对应生成多组车辆位姿数据,进而在多组车辆位姿数据中寻优得到目标车辆位姿数据。与直接生成多组车辆位姿数据来寻优得到目标车辆位姿数据的方式,由于本公开实施例利用预设微分方程可以使得求解得到的每组运动控制数据符合动力学要求和运动学要求,因此仅需要较少的运动控制数据,即可得到相同或者更优的路径规划精度。比如本公开实施例通过10组运动控制数据对应的路径规划精度可能与直接生成100组车辆位姿数据对应的路径规划精度相同,从而本公开实施例可以减少求解量,且更加符合车辆动力学要求,兼顾了路径规划精度和计算效率,节省了算力。
在本公开实施例中,通过全局搜索算法进行目标车辆位姿数据的求解,可以不依赖梯度和Hessian信息,从而减小了路径生成的计算量,提高了计算效率。
图7示出了本公开实施例提供的一种路径生成装置的结构示意图。
在本公开一些实施例中,图7所示的路径生成装置可以应用于车辆的控制器,例如可以应用于图1所示的车辆110的控制器。又或者,可以应用于诸如物理服务器、虚拟服务器等具有计算功能的设备,对此不作具体限定。
如图7所示,该路径生成装置700可以包括数据生成模块710、第一数据处理模块720和第二数据处理模块750。
该数据生成模块710可以用于为目标车辆生成多组运动控制数据,其中每组运动控制数据包括多个运动控制量。
该第一数据处理模块720可以用于基于每组运动控制数据对预设微分方程求解,得到每组运动控制数据对应的车辆位姿数据,预设微分方程为基于车辆动力学和车辆运动学构建的微分方程,车辆位姿数据包括多个车辆位姿。
该第二数据处理模块730可以用于在多组车辆位姿数据中确定目标车辆的车辆位置数据,目标车辆位姿数据用于形成目标车辆的目标路径。
本公开实施例的路径生成装置,由于预设微分方程是基于车辆动力学和车辆运行学构建的,利用预设微分方程求解得到的各组车辆位姿符合车辆动力学要求和车辆运动学要求,从而在多组车辆位姿数据中可以进一步确定的目标车辆位姿数据,能够使得根据多组车辆位姿数据中目标车辆位姿数据生成的目标路径能够符合车辆动力学要求和车辆运动学要求,提高了路径规划的准确性。
在本公开一些实施例中,该路径生成装置700还可以包括迭代模块。
该迭代模块可以用于在未达到预设迭代停止条件的情况下,返回执行为目标车辆生成多组运动控制数据的步骤,直至达到预设迭代停止条件,得到本次迭代对应的多组车辆位姿数据。
在本公开一些实施例中,该路径生成装置700还可以包括特征获取模块和代价值计算模块。
该特征获取模块可以用于获取每组车辆位姿数据对应的路径约束特征;
该代价值计算模块可以用于根据预设代价函数和路径约束特征,计算每组车辆位姿数据对应的代价值;
相应地,第二数据处理模块730可以具体包括:
将最小代价值对应的车辆位姿数据确定为目标车辆位姿数据。
在本公开一些实施例中,路径约束特征包括下列中的至少一个:
轨迹长度,预设代价函数包括轨迹长度对应的约束函数;
目标车辆与障碍物之间的第一距离,预设代价函数包括第一距离对应的约束函数;
目标车辆与道路边界之间的第二距离,预设代价函数包括第二距离对应的约束函数;
目标车辆在路径终点的车辆位姿偏差,预设代价函数包括车辆位姿偏差对应的约束函数;
目标车辆的加速度,预设代价函数包括加速度对应的约束函数;
目标车辆的加速度变化率,预设代价函数包括加速度变化率对应的约束函数。
在本公开一些实施例中,每组车辆位姿数据对应多个路径约束特征,
根据预设代价函数和路径约束特征,计算每组车辆位姿数据对应的代价值,包括:
利用任意路径约束特征对应的约束函数,计算任意路径约束特征对应的约束代价值;
计算多个路径约束特征各自对应的约束代价值之和,得到每组车辆位姿数据对应的代价值。
在本公开一些实施例中,数据生成模块710,包括:数据获取单元、范围确定单位和数据选取单元。
该数据获取单元可以用于获取基准运动控制数据;
该范围确定单位可以用于确定基准运动控制数据对应的数据选取范围;
该数据选取单元可以用于在数据选取范围内,选取多组运动控制数据。
在本公开一些实施例中,运动控制量包括目标车辆的前轮转角或者方向盘转动;和/或,车辆位姿包括目标车辆的车辆位置和目标车辆的车辆偏航角。
需要说明的是,图7所示的路径生成装置700可以执行图2至图6所示的方法实施例中的各个步骤,并且实现图2至图6所示的方法实施例中的各个过程和效果,在此不作赘述。
图8示出了本公开实施例提供的一种路径生成设备的结构示意图。
如图8所示,该路径生成设备可以包括控制器801以及存储有计算机程序指令的存储器802。
具体地,上述控制器801可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器802可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器802可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器802可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器802可在综合网关设备的内部或外部。在特定实施例中,存储器802是非易失性固态存储器。在特定实施例中,存储器802包括只读存储器(Read-Only Memory,ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。
控制器801通过读取并执行存储器802中存储的计算机程序指令,以执行本公开实施例所提供的路径生成方法的步骤。
在一个示例中,该路径生成设备还可包括收发器803和总线804。其中,如图8所示,控制器801、存储器802和收发器803通过总线804连接并完成相互间的通信。
总线804包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(ExtendedIndustry Standard Architecture,EISA)总线、前端总线(Front Side BUS,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,MCA)总线、外围控件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线804可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
在一个示例中,该路径生成设备还可包括自动驾驶感知设备,自动驾驶感知设备可以通过总线与控制器801连接,自动驾驶感知设备可以包括超声波雷达、全景相机等传感器,传感器可以用于障碍物、道路边界等环境数据。
本公开实施例还提供了一种计算机可读存储介质,该存储介质可以存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开实施例所提供的路径生成方法。
上述的存储介质可以例如包括计算机程序指令的存储器802,上述指令可由电池内阻检测设备的处理器801执行以完成本公开实施例所提供的电池内阻检测方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(CompactDiscROM,CD-ROM)、磁带、软盘和光数据存储设备等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种路径生成方法,其特征在于,包括:
为目标车辆生成多组运动控制数据,其中每组运动控制数据包括多个运动控制量;
基于每组运动控制数据对预设微分方程求解,得到每组运动控制数据对应的车辆位姿数据,所述预设微分方程为基于车辆动力学和车辆运动学构建的微分方程,所述车辆位姿数据包括多个车辆位姿;
在多组车辆位姿数据中确定目标车辆位姿数据,所述目标车辆位姿数据用于形成所述目标车辆的目标路径。
2.根据权利要求1所述的方法,其特征在于,在所述得到每组运动控制数据对应的车辆位姿数据之后,在所述在多组车辆位姿数据中确定目标车辆位姿数据之前,所述方法还包括:
在未达到预设迭代停止条件的情况下,返回执行为目标车辆生成多组运动控制数据的步骤,直至达到预设迭代停止条件,得到本次迭代对应的多组车辆位姿数据。
3.根据权利要求1或2所述的方法,其特征在于,所述在多组车辆位姿数据中确定目标车辆位姿数据之前,所述方法还包括:
获取每组所述车辆位姿数据对应的路径约束特征;
根据预设代价函数和路径约束特征,计算所述每组车辆位姿数据对应的代价值;
将最小代价值对应的车辆位姿数据确定为所述目标车辆位姿数据。
4.根据权利要求3所述的方法,其特征在于,所述路径约束特征包括下列中的至少一个:
轨迹长度,所述预设代价函数包括所述轨迹长度对应的约束函数;
所述目标车辆与障碍物之间的第一距离,所述预设代价函数包括所述第一距离对应的约束函数;
所述目标车辆与道路边界之间的第二距离,所述预设代价函数包括所述第二距离对应的约束函数;
所述目标车辆在路径终点的车辆位姿偏差,所述预设代价函数包括所述车辆位姿偏差对应的约束函数;
所述目标车辆的加速度,所述预设代价函数包括所述加速度对应的约束函数;
所述目标车辆的加速度变化率,所述预设代价函数包括所述加速度变化率对应的约束函数。
5.根据权利要求3所述的方法,其特征在于,所述每组车辆位姿数据对应多个路径约束特征,
所述根据预设代价函数和路径约束特征,计算所述每组车辆位姿数据对应的代价值,包括:
利用任意路径约束特征对应的约束函数,计算所述任意路径约束特征对应的约束代价值;
计算所述多个路径约束特征各自对应的约束代价值之和,得到所述每组车辆位姿数据对应的代价值。
6.根据权利要求1所述的方法,其特征在于,
所述为目标车辆生成多组运动控制数据,包括:
获取基准运动控制数据;
确定所述基准运动控制数据对应的数据选取范围;
在所述数据选取范围内,选取所述多组运动控制数据。
7.根据权利要求1所述的方法,其特征在于,
所述运动控制量包括所述目标车辆的前轮转角或者方向盘转动;和/或,
所述车辆位姿包括所述目标车辆的车辆位置和所述目标车辆的车辆偏航角。
8.一种路径生成装置,其特征在于,包括:
数据生成模块,用于为目标车辆生成多组运动控制数据,其中每组运动控制数据包括多个运动控制量;
第一数据处理模块,用于基于每组运动控制数据对预设微分方程求解,得到每组运动控制数据对应的车辆位姿数据,所述预设微分方程为基于车辆动力学和车辆运动学构建的微分方程,所述车辆位姿数据包括多个车辆位姿;
第二数据处理模块,用于在多组车辆位姿数据中确定目标车辆的车辆位置数据,所述目标车辆位姿数据用于形成所述目标车辆的目标路径。
9.一种路径生成设备,其特征在于,包括:
处理器;
存储器,用于存储可执行指令;
其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-7中任一项所述的路径生成方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现用上述权利要求1-7中任一项所述的路径生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111415848.7A CN116161048A (zh) | 2021-11-25 | 2021-11-25 | 路径生成方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111415848.7A CN116161048A (zh) | 2021-11-25 | 2021-11-25 | 路径生成方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116161048A true CN116161048A (zh) | 2023-05-26 |
Family
ID=86410170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111415848.7A Pending CN116161048A (zh) | 2021-11-25 | 2021-11-25 | 路径生成方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116161048A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116572997A (zh) * | 2023-07-11 | 2023-08-11 | 北京集度科技有限公司 | 车辆控制器、车辆及车辆控制方法 |
-
2021
- 2021-11-25 CN CN202111415848.7A patent/CN116161048A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116572997A (zh) * | 2023-07-11 | 2023-08-11 | 北京集度科技有限公司 | 车辆控制器、车辆及车辆控制方法 |
CN116572997B (zh) * | 2023-07-11 | 2023-09-15 | 北京集度科技有限公司 | 车辆控制器、车辆及车辆控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105774805B (zh) | 用于估算车道的系统及其方法 | |
Kang et al. | Comparative evaluation of dynamic and kinematic vehicle models | |
CN112441022B (zh) | 一种车道中心线确定方法及装置 | |
EP3029538B1 (en) | Vehicle position/bearing estimation device and vehicle position/bearing estimation method | |
CN110803163B (zh) | 车辆行驶轨迹的预测、车辆跟随目标的选择方法及设备 | |
CN112435287A (zh) | 距离估计设备及其操作方法和主车辆设备 | |
CN109878530B (zh) | 识别车辆侧向行驶工况的方法和系统 | |
US11731692B2 (en) | Driving support device that performs steering control and deceleration control for avoiding an object | |
CN116161048A (zh) | 路径生成方法、装置、设备及介质 | |
CN110865360B (zh) | 一种数据融合方法及装置 | |
CN114466776A (zh) | 车辆控制方法、车辆控制装置和包括该车辆控制装置的车辆控制系统 | |
Damon et al. | Inverse perspective mapping roll angle estimation for motorcycles | |
KR102473392B1 (ko) | 섹션 노드 및 섹션 링크를 이용한 차로 중심선 네트워크를 결정하기 위한 방법 및 장치 | |
JP5682302B2 (ja) | 走行道路推定装置、方法およびプログラム | |
CN115123291A (zh) | 一种基于障碍物识别的行为预测方法及装置 | |
CN111497852B (zh) | 弯道场景的障碍物位置判定方法、装置、设备及存储介质 | |
CN114926729A (zh) | 一种基于行车视频的高风险路段鉴别系统及方法 | |
CN109866682B (zh) | 车辆fcw的报警方法、装置及汽车 | |
CN115112114B (zh) | 一种修正自车周围车辆朝向角的处理方法和装置 | |
CN115661797B (zh) | 目标跟踪方法、装置及设备 | |
CN115973162B (zh) | 用于确定车辆行驶轨迹的方法、装置、电子设备和介质 | |
CN114084133B (zh) | 一种跟车目标的确定方法及相关装置 | |
Mancuso | Study and implementation of lane detection and lane keeping for autonomous driving vehicles | |
CN118025155A (zh) | 一种跟车目标确定方法、设备、车辆及程序产品 | |
CN113899378A (zh) | 一种变道处理方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |