本申请涉及自动驾驶,特别涉及一种轨迹修正方法以及自动驾驶车辆。
背景技术:
1、随着自动驾驶技术的不断发展,自动驾驶车辆可以按照预定的行驶轨迹自动行驶,并且自动驾驶车辆还会对其他车辆的行驶轨迹进行预测,以便于根据预测到的其他车辆的行驶轨迹调整自身的行驶轨迹。
技术实现思路
1、本申请实施例提供了一种轨迹修正方法和自动驾驶车辆,提高了对移动对象的移动轨迹进行预测的准确性,并且通过对移动对象的移动轨迹的准确预测,可以保证自动驾驶车辆规避移动对象的移动轨迹,进而保证自动驾驶车辆不会与移动对象发生碰撞,提高了自动驾驶车辆移动过程中的安全性。该技术方案如下:
2、一方面,提供了一种轨迹修正方法,所述方法包括:
3、基于移动对象以及对应的障碍物的点云数据和图像数据,获取所述移动对象的第一预测轨迹以及所述障碍物的第一轮廓,所述第一预测轨迹指示预测到的所述移动对象的移动轨迹;
4、根据所述移动对象的宽度以及所述第一轮廓生成扩散轮廓,所述扩散轮廓包括符合所述移动对象在绕行方向上的轮廓片段;
5、基于所述扩散轮廓对所述第一预测轨迹修正,得到第二预测轨迹。
6、一方面,提供了一种轨迹修正装置,所述装置包括:
7、获取模块,用于基于移动对象以及对应的障碍物的点云数据和图像数据,获取所述移动对象的第一预测轨迹以及所述障碍物的第一轮廓,所述第一预测轨迹指示预测到所述移动对象的移动轨迹;
8、轮廓生成模块,用于根据所述移动对象的宽度以及所述第一轮廓生成扩散轮廓,所述扩散轮廓包括符合所述移动对象在绕行方向上的轮廓片段;
9、修正模块,用于基于所述扩散轮廓对所述第一预测轨迹修正,得到第二预测轨迹。
10、在一种可能的实现方式中,所述轮廓生成模块,用于:
11、以所述移动对象的宽度为边长生成第二轮廓;
12、以所述第二轮廓和所述第一轮廓的相交点为原点,将所述第二轮廓沿所述第一轮廓移动;
13、将所述第二轮廓移动过程中所扫过的区域的边缘确定为所述扩散轮廓。
14、在一种可能的实现方式中,所述修正模块,包括:
15、确定单元,用于根据所述第一预测轨迹与所述扩散轮廓的两个相交点,确定所述第一预测轨迹中的待修正轨迹片段和所述扩散轮廓中的参考轮廓片段,所述参考轮廓片段为所述两个相交点之间符合所述移动对象的绕行方向的轮廓片段;
16、修正单元,用于基于所述参考轮廓片段和所述待修正轨迹片段对所述第一预测轨迹修正,得到第二预测轨迹。
17、在一种可能的实现方式中,所述确定单元,用于:
18、获取所述第一预测轨迹与所述扩散轮廓的两个相交点;
19、将所述第一预测轨迹中所述两个相交点之间的轨迹片段确定为所述待修正轨迹片段;
20、生成以所述待修正轨迹片段中的多个轨迹点为原点、以所述绕行方向为朝向的射线;
21、根据生成的射线与所述扩散轮廓的相交点确定所述参考轮廓片段。
22、在一种可能的实现方式中,所述修正单元,还用于:
23、将所述待修正轨迹片段替换为所述参考轮廓片段,得到中间预测轨迹;
24、对所述中间预测轨迹修正,得到第二预测轨迹。
25、在一种可能的实现方式中,所述修正单元,还用于:
26、基于所述中间预测轨迹中多个轨迹点中相邻两个轨迹点之间的位移对所述多个轨迹点进行平滑处理;
27、基于平滑后的多个轨迹点确定所述第二预测轨迹。
28、在一种可能的实现方式中,所述两个相交点包括穿入点,所述穿入点为所述第一预测轨迹穿入所述扩散轮廓的相交点,所述修正单元,还用于:
29、以所述中间预测轨迹上位于所述穿入点之后的第n个轨迹点为起始轨迹点,依次向前遍历每个轨迹点,每遍历到轨迹点时,获取所述轨迹点与前一个轨迹点之间在绕行方向上的位移,n为正整数;
30、在所述位移大于第一阈值时,对所述前一个轨迹点沿所述绕行方向进行移动,以使所述轨迹点与移动后的所述前一个轨迹点在所述绕行方向上的位移达到所述第一阈值。
31、在一种可能的实现方式中,所述两个相交点包括穿出点,所述穿出点为所述第一预测轨迹穿出所述扩散轮廓的相交点,所述修正单元,还用于:
32、以所述中间预测轨迹上位于所述穿出点之前的第m个轨迹点为起始轨迹点,依次向后遍历每个轨迹点,每遍历到轨迹点时,获取所述轨迹点与后一个轨迹点之间在绕行方向上的位移,m为正整数;
33、在所述位移大于第二阈值时,对所述后一个轨迹点沿所述绕行方向进行移动,以使所述轨迹点与移动后的所述后一个轨迹点在所述绕行方向上的位移达到所述第二阈值。
34、在一种可能的实现方式中,所述修正单元,还用于对所述平滑后的多个轨迹点进行贝塞尔曲线拟合,得到所述第二预测轨迹。
35、一方面,提供了一种自动驾驶车辆,所述自动驾驶车辆包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如上述任一种可能实现方式的轨迹修正方法所执行的操作。
36、一方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现如上述任一种可能实现方式的轨迹修正方法所执行的操作。
37、一方面,提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品包括:计算机程序代码,所述计算机程序代码被自动驾驶车辆执行时,使得所述自动驾驶车辆实现如上述任一种可能实现方式的轨迹修正方法所执行的操作。
38、本申请实施例提供的方案中,在对移动对象的预测移动轨迹上存在障碍物的情况下,可以对障碍物的第一轮廓进行扩散,得到扩散后的扩散轮廓,并且扩散轮廓包括符合移动对象在绕行方向上的轮廓片段,因此基于扩散轮廓对该预测的移动对象的第一预测轨迹进行修正,以保证移动对象按照修正后的得到的第二预测轨迹可以绕开障碍物,提高了对移动对象的移动轨迹进行预测的准确性,并且通过对移动对象的移动轨迹的准确预测,可以保证自动驾驶车辆规避移动对象的移动轨迹,进而保证自动驾驶车辆不会与移动对象发生碰撞,提高了自动驾驶车辆移动过程中的安全性。
1.一种轨迹修正方法,其特征在于,所述方法应用于自动驾驶车辆,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述移动对象的宽度以及所述第一轮廓生成扩散轮廓,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述扩散轮廓对所述第一预测轨迹修正,得到第二预测轨迹,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一预测轨迹与所述扩散轮廓的两个相交点,确定所述第一预测轨迹中的待修正轨迹片段和所述扩散轮廓中的参考轮廓片段,包括:
5.根据权利要求3所述的方法,其特征在于,所述基于所述参考轮廓片段和所述待修正轨迹片段对所述第一预测轨迹修正,得到第二预测轨迹,包括:
6.根据权利要求5所述的方法,其特征在于,所述对所述中间预测轨迹修正,得到第二预测轨迹,包括:
7.根据权利要求6所述的方法,其特征在于,所述两个相交点包括穿入点,所述穿入点为所述第一预测轨迹穿入所述扩散轮廓的相交点,所述基于所述中间预测轨迹中多个轨迹点中相邻两个轨迹点之间的位移对所述多个轨迹点进行平滑处理,包括:
8.根据权利要求6所述的方法,其特征在于,所述两个相交点包括穿出点,所述穿出点为所述第一预测轨迹穿出所述扩散轮廓的相交点,所述基于所述中间预测轨迹中多个轨迹点中相邻两个轨迹点之间的位移对所述多个轨迹点进行平滑处理,包括:
9.根据权利要求6至8任一所述的方法,其特征在于,所述基于平滑后的多个轨迹点确定所述第二预测轨迹,包括:
10.一种自动驾驶车辆,其特征在于,所述自动驾驶车辆包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如权利要求1至9任一项所述的轨迹修正方法所执行的操作。