轨迹规划方法、装置、车辆、电子设备和存储介质与流程

未命名 07-11 阅读:61 评论:0


1.本公开涉及智能交通技术领域,尤其涉及自动驾驶以及轨迹规划领域,具体涉及一种轨迹规划方法、装置、车辆、电子设备和存储介质。


背景技术:

2.在自动驾驶领域中,轨迹规划的过程包括:在前端对路径进行搜索,以及在后端对搜索得到的路径或轨迹进行优化,从而能够保证得到目标轨迹为最优解。虽然这种轨迹规划算法能受到大众欢迎,但是,这种算法普遍需要较多算力才能求解得到最优轨迹。


技术实现要素:

3.本公开提供了一种轨迹规划方法、装置、车辆、电子设备和存储介质。
4.根据本公开的一方面,提供了一种轨迹规划方法,包括:
5.在车辆行驶至规划轨迹中的中间目的点、并且所述车辆的行驶速度变为零的情况下,基于中间目的点,确定规划轨迹是否存在异常;
6.在规划轨迹存在异常的情况下,针对所述车辆重新规划轨迹,得到所述车辆的重规划轨迹。
7.根据本公开的另一方面,提供了一种轨迹规划装置,包括:
8.轨迹异常判断模块,用于在车辆行驶至规划轨迹中的中间目的点、并且车辆的行驶速度变为零的情况下,基于中间目的点,确定规划轨迹是否存在异常;
9.第一轨迹重规划模块,用于在规划轨迹存在异常的情况下,针对所述车辆重新规划轨迹,得到所述车辆的重规划轨迹。
10.根据本公开的另一方面,提供了一种电子设备,包括:
11.至少一个处理器;以及
12.与该至少一个处理器通信连接的存储器;其中,
13.该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开实施例中任一轨迹规划方法。
14.根据本公开的另一方面,提供了一种车辆,包括本公开实施例中任一电子设备。
15.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开实施例中任一轨迹规划方法。
16.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开实施例中任一轨迹规划方法。
17.根据本公开的技术,车辆在行驶过程中停顿(例如车辆到达换档点或被障碍物刹停时)且轨迹存在异常情况下才触发重规划,可以实现非必要不对规划轨迹进行重规划,即懒惰重规划(lazy replanning)或非实时重规划,提高重规划效率。而且,本公开的重规划是在车辆停顿时才触发,这可以使车辆中的其他部件或模块释放算力给重规划,降低重规划耗时。从而,在低算力平台中针对需要高算力的轨迹规划算法采用本公开的非实时重规
划方案,能够提高重规划效率。
18.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
19.附图用于更好地理解本方案,不构成对本公开的限定。其中:
20.图1是本公开一实施例提供的轨迹规划的应用场景图;
21.图2是本公开一实施例的轨迹规划方法的流程图;
22.图3是本公开一实施例的规划轨迹的示意图;
23.图4是本公开另一实施例的轨迹规划方法的流程图;
24.图5是本公开一实施例的轨迹规划装置的结构框图;
25.图6是本公开另一实施例的轨迹规划装置的结构框图;
26.图7是用来实现本公开实施例的轨迹规划方法的电子设备的框图。
具体实施方式
27.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
28.为了便于理解本公开实施例提供的轨迹规划方法,以下对本公开实施例的相关技术进行说明,以下相关技术作为可选方案与本公开实施例的技术方案可以进行任意结合,其均属于本公开实施例的保护范围。
29.在自动驾驶领域中,轨迹规划为自动驾驶任务中的一种。在车辆行驶过程中,轨迹不仅仅是规划一次,当任务终点发生改变或者原规划轨迹被障碍物占据时,需要重新生成可行的规划轨迹,即重规划。但是,频繁的重规划会导致一些需要较高算力的规划算法无法应用于低算力平台。
30.以下将举例描述两种规划算法,具体如下:
31.1、按照设定的频率,周期性地对轨迹进行重新规划;
32.2、在检测到车辆轨迹有可能出现碰撞时立即触发重规划。
33.其中,对于第1种规划算法,在重规划期间,车辆有可能是运动的,重规划所选取的起点需要确保在重规划完成时车辆不能越过该起点。这种假设较难保证,需要较大的算力才能达到这种假设的要求。
34.对于第2种规划算法,这需要在原轨迹上预瞄一个车辆将要停车的刹停点,该刹停点需要与碰撞点保持一定的安全距离从而保证车辆的停车安全,并以该刹停点作为重规划的起点。由于重规划算法的耗时存在不确定性,在车辆到达刹停点之前,无法确保重规划算法一定能准时完成。因此,该方法还需要额外规划一条过渡轨迹,来完成新旧轨迹的切换。这种重规划方法过于复杂,所需要的算力也是较大的。
35.而且,碰撞点是具有不确定性,有可能在车辆到达刹停点之前,碰撞点消失,此时不必进行重规划。但是,由于第2种规划算法在检测到碰撞点时即执行重规划了,这是多余
的、不必进行的重规划。因此,第2种规划算法会导致重规划过于频繁,且存在非必要的重规划。
36.因此,本公开提供一种方案,能够解决上述问题。
37.图1是本公开一实施例提供的轨迹规划的应用场景图。如图1所示,本公开实施例提供的轨迹规划方法可以应用于自动泊车规划场景中。在该场景中,车辆的感知模块通过车载相机识别周围车位,例如,针对车位a进行识别,其识别到的信号是具有噪声的。这种噪声或误差会导致车辆所观测到车位的位置或姿态是发生跳动的,进而导致车辆的行驶终点发生跳变。因此,这种跳变的情况会导致泊车轨迹频繁地重规划,需要大量的算力。而且,这也限制了一些高算法力的规划算法无法应用于到该场景中。
38.为此,在该场景中采用本公开实施例的轨迹方法,可以降低重规划的频率,提高重规划的效率,使得一些高算法力的规划算法也能应用于到该场景中。
39.图2是本公开一实施例的轨迹规划方法的流程图。该方法可以应用于车辆、车辆中的车载设备或者服务器等。示例性地,车辆可以是自动驾驶车辆。示例性地,服务器可以与车辆建立通信连接,以对车辆轨迹进行规划。在一些可能的实现方式中,该方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
40.如图2所示,该方法可以包括:
41.s210,在车辆行驶至规划轨迹中的中间目的点、并且车辆的行驶速度变为零的情况下,基于中间目的点,确定规划轨迹是否存在异常;
42.s220,在规划轨迹存在异常的情况下,针对车辆重新规划轨迹,得到车辆的重规划轨迹。
43.其中,在得到重规划轨迹时,基于重规划轨迹更新上述规划轨迹,以使车辆按照更新后的规划轨迹继续行驶。
44.需要说明的是,车辆行驶至中间目的点应该理解为,在允许误差范围内车辆接近中间目的点也可认为是车辆行驶至中间目的点。车辆的行驶速度为零应该理解为,在允许误差范围内接近零的车速也可认为是车速为零。
45.示例性地,规划轨迹包括多个离散的轨迹点。
46.图3是本公开一实施例的规划轨迹的示意图。如图3所示,规划轨迹中的各个轨迹点从起点到终点按位置顺序进行排列。车辆按照规划轨迹从起点开始行驶至终点。每个轨迹点包括位置信息,也包括车辆在该轨迹点上的姿态、速度、加速度和曲率等信息。姿态可以包括车辆的朝向。其中,轨迹点的类型可以包括起点、终点、换档点、刹停点以及碰撞点等。刹停点是基于刹车安全距离和车辆在当前行驶道路上的碰撞点确定的轨迹点。刹停点和碰撞点可以是动态地出现或消失在规划轨迹中。例如,当动态障碍物出现在规划轨迹所对应的道路中时,基于动态障碍物的位置在规划轨迹中设置碰撞点;当动态障碍物从规划轨迹所对应的道路中消失时,在规划轨迹中删除该碰撞点。
47.示例性地,中间目的点可以包括换档点和/或刹停点。当车辆位于换档点时,车辆的运动方向发生改变。当车辆位于刹停点时,车辆被障碍物刹停,障碍物对应的碰撞点位于刹停点之前。
48.示例性地,换档点可以包括车辆从前进档换为倒车档的位置或车辆从倒车档换为前进档的位置。
49.示例性地,规划轨迹可以包括一个或多个单向子规划轨迹。
50.在实际应用中,按照规划轨迹中的换档点对规划轨迹分割,得到多个单向子规划轨迹,其中,车辆前进行驶时为正向,车辆后退行驶时为负向。在车辆行驶至一个换档点时,将该换档点至规划轨迹中的下一个换挡点之间的子规划轨迹作为车辆的跟踪轨迹,并下发给车辆跟踪。在车辆按照跟踪轨迹行驶的过程中,如果因检测到碰撞点而得到刹停点,则基于车辆的当前位置,确定与车辆距离最近的轨迹跟踪点,以该轨迹跟踪点至刹停点之间的轨迹作为车辆的跟踪轨迹,并下发给车辆继续跟踪。因此,跟踪轨迹的终点可以是换档点或刹停点,子规划轨迹的终点为换挡点。
51.示例性地,车辆可以按照到达换档点的顺序,逐段下发子规划轨迹给车辆进行轨迹跟踪。例如,第一个子规划轨迹的起点为规划轨迹的起点,终点为第一个换档点,在车辆从规划轨迹的起点开始行驶至第一个换档点的情况下,将第一个子规划轨迹作为跟踪轨迹,并下发给车辆进行轨迹跟踪;第二个子规划轨迹的起点为第一个换档点,终点为第二个换档点,在车辆从第一个换档点开始行驶至第一个换档点的情况下,将第二个子规划轨迹作为跟踪轨迹,并下发给车辆进行轨迹跟踪,依此类推。又如,如果车辆在第一个子规划轨迹中行驶时遇到障碍物并产生一个刹停点,则可以基于车辆的当前位置,确定与车辆距离最近的轨迹跟踪点,并基于该轨迹跟踪点和刹停点截断第一个子规划轨迹,然后下发截断后的第一子规划轨迹作为跟踪轨迹给车辆执行,从而,车辆的跟踪轨迹变为从与车辆距离最近的轨迹跟踪点至刹停点。其中,准确地来说,车辆的跟踪轨迹的起点始终为基于车辆的当前位置所确定的与车辆距离最近的轨迹跟踪点。
52.示例性地,规划轨迹存在异常的情况可以包括:无法确定车辆在规划轨迹中的轨迹跟踪点、车辆的行驶终点发生变化、规划轨迹上出现障碍物而可能使车辆发生碰撞等。例如,在自动泊车场景中,由于感知噪声的影响,车辆在不同时刻对车位进行感知到的位置信息和姿态信息是不相同的。如果行驶终点的位置或姿态发生较大改变,则可称为终点跳变过大,需要对轨迹进行重规划。
53.示例性地,针对车辆重新规划轨迹,得到车辆的重规划轨迹,可以包括:基于车辆的观测数据,确定车辆的行驶终点;基于车辆的当前位置和行驶终点,确定车辆的重规划轨迹。
54.例如,以车辆的当前位置为重规划起点,以基于车辆的观测数据所确定的行驶终点作为重规划终点,基于重规划起点和重规划终点,确定车辆的重规划轨迹。
55.其中,观测数据可以包括在车辆按照规划轨迹行驶的过程中出现的障碍物的信息、车位信息等。
56.根据上述实施方式,车辆在行驶过程中停顿(例如车辆到达换档点或被障碍物刹停时)且轨迹存在异常情况下才触发重规划,可以实现非必要不对规划轨迹进行重规划,即懒惰重规划或非实时重规划,提高重规划效率。而且,本公开的重规划是在车辆停顿时才触发,这可以使车辆中的其他部件或模块释放算力给重规划,降低重规划耗时。
57.从而,在低算力平台中针对需要高算力的轨迹规划算法采用本公开的非实时重规划方案,能够提高重规划效率。
58.其中,上述停顿可以是必要停顿处或主动停顿处。例如,在车辆因换档点或刹停点而被动地停车时的位置,可称为必要停顿处。在用户想停车或因交通红绿灯的变化而主动
控制车辆停车时的位置,可称为主动停顿处。
59.在一种实施方式中,基于中间目的点,确定规划轨迹是否存在异常,可以包括:在中间目的点为换档点的情况下,基于车辆的观测数据,更新车辆的行驶终点;在更新后的行驶终点与规划轨迹中的终点不匹配的情况下,确定规划轨迹存在异常。
60.在一种实施方式,在更新后的行驶终点与规划轨迹中的终点匹配的情况下,确定规划轨迹不存在异常。
61.示例性地,当车辆位于换档点时,判断车辆的行驶速度是否变为零(容易理解的是,在允许误差范围内接近零的车速也可认为是车速为零),如果变为零,则可以确定车辆已停下来。此时,车辆对周围环境进行感知得到的观测数据,基于观测数据可以确定新终点。原终点为原规划轨迹中的终点。如果新终点与原终点之间的位置差异大于设定阈值或者姿态差异大于设定阈值,则认为新终点与原终点不匹配,即终点跳变过大,则触发重规划。如果新终点与原终点之间的位置差异和姿态差异均小于设定阈值,则认为新终点与原终点匹配,即终点未出现大跳变,则不触发重规划,车辆按照原规划轨迹继续行驶。
62.示例性地,上述实施方式中的换档点可以包括车辆从前进档换为倒车档的位置或车辆从倒车档换为前进档的位置。
63.根据上述实施方式,在车辆到达换档点时,如果终点发生大变化则触发重规划。此时,由于车辆处于换档的停顿期间,重规划的耗时对于用户来说是无感的,而且,此期间车辆可以释放大量的算力给重规划,大大降低重规划的耗时。
64.在一种实施方式中,基于中间目的点,确定规划轨迹是否存在异常,可以包括:在中间目的点为刹停点的情况下,确定规划轨迹存在异常;其中,刹停点是基于刹车安全距离和车辆在当前行驶道路上的碰撞点确定的轨迹点。
65.需要说明的是,本实施例可以以刹停点截断或更新规划轨迹,车辆根据截断后或更新后的规划轨迹进行跟踪(行驶),在到达刹停点时停车。
66.示例性地,碰撞点是车辆与障碍物有可能发生碰撞的位置。障碍物可以是静态障碍物也可以是动态障碍物。
67.示例性地,刹停点是车辆在与障碍物发生碰撞之前能够安全停车的位置。
68.示例性地,刹车安全距离可以为0.5米或1米等。基于碰撞点和刹车安全距离,得到刹停点,其中,刹停点位于碰撞点之前,且刹停点与碰撞点之间的距离为刹车安全距离。
69.如图3所示,实线方框表征车辆按照规划轨迹行驶时的当前位置,虚线方框表征车辆按照规划轨迹行驶时预测的与障碍物可能发生碰撞的位置,轨迹点p
i+2
表征碰撞点,轨迹点p
i+1
表征刹停点。从图3可知,刹停点p
i+1
位于碰撞点p
i+2
之前。
70.在实际应用中,由于车辆在行驶过程中所感知的障碍物存在不确定性,如果在规划轨迹上检测到障碍物时,车辆暂时不会触发重规划。在车辆刹停之前,会持续地对障碍物的状态进行检测,以确定碰撞点。因此,如果该障碍物是动态障碍物,则碰撞点是动态变化的。或者,由于车辆与障碍物之间的距离关系,车辆与障碍物之间的距离越近,车辆确定与该障碍物发生碰撞的碰撞点越准确。因而,随着车辆不断行驶,针对同一障碍物,其碰撞点的位置也有可能发生变化。
71.根据上述实施方式,由于碰撞点是动态变化,而刹停点是基于碰撞点和刹车安全距离所确定的,则刹停点也是动态变化的。如果在车辆到达刹停点之前,刹停点消失了,则
表明用于确定该刹停点对应的碰撞点消失了,则车辆可以不必停车,不必重规划,实现非必要不重规划的效果。
72.而且,在车辆到达刹停点时停车,则触发重规划。此时,由于车辆处于被刹停点刹停的停顿期间,重规划的耗时对于用户来说是无感的,而且,此期间车辆可以释放大量的算力给重规划,大大降低重规划的耗时。
73.在实际应用中,当车辆沿规划轨迹行驶的过程中遇到障碍物时,需要确定规划轨迹中的刹停点,从而保证车辆能在障碍物之前安全地停下来。由于障碍物存在不确定性,例如,车辆侧方的动态障碍物可能会频繁地进入或离开规划轨迹的范围,车辆需要对其进行实时避障,如此,车辆需要频繁地更新规划轨迹中的刹停点。其中,在规划轨迹中设置有刹停点的情况下,车辆当前的跟踪轨迹的终点为该刹停点,因此,上述情况会导致车辆的跟踪轨迹的终点频繁跳变,这对车辆控制以及用户体验都不友好。
74.因此,本公开提出的实施例还可以解决这一问题。
75.在一种实施方式中,上述轨迹规划方法还可以包括:基于设定的频率,预测车辆在当前行驶道路上是否存在碰撞点;在预测到车辆在当前行驶道路上存在碰撞点的情况下,执行以下操作:将预测到的碰撞点存入第一碰撞点集合;从第一碰撞点集合中删除存入时间早于设定时间的碰撞点,并基于第一碰撞点集合中剩余的碰撞点,得到第二碰撞点集合;在第二碰撞点集合中确定与车辆距离最近的碰撞点;基于与车辆距离最近的碰撞点和刹车安全距离,更新规划轨迹中的刹停点。
76.示例性地,上述设定频率可以是10hz(赫兹),20hz或50hz等。
77.示例性地,第二碰撞点集合包括在第一碰撞点集合中删除存入时间早于设定时间的碰撞点后剩余的碰撞点。
78.示例性地,第一碰撞点集合中的碰撞点可以以队列的形式按照碰撞点的存入时间从早到晚地排列。第二碰撞点集合中的碰撞点可以以队列的形式按照碰撞点的存入时间从早到晚地排列。
79.示例性地,如果将碰撞点a存入第一碰撞点集合对应的队列中,则碰撞点a排列在该队列的末尾。
80.示例性地,在删除该队列中存入时间早于设定时间的碰撞点的过程中包括:在该队列中确定存入时间小于或等于设定时间、并且存入时间与设定时间距离最近的第一碰撞点,在该队列中将从该队列的起始点到第一碰撞点之间的碰撞点删除。
81.在该示例中,采用队列的方式表示集合,并且队列中的碰撞点按照存入时间从早到晚排列,如此,可以快速方便地删除队列中存入时间早于设定时间的碰撞点。
82.示例性地,在存入碰撞点于第一碰撞点集合之后,将第一碰撞点集合中的存入时间早于当前时间2秒的碰撞点删除。这里的2秒仅为示例,其可以是1秒,也可以是3秒。其可以根据实际需要进行设定。
83.示例性地,基于与车辆距离最近的碰撞点和刹车安全距离,更新规划轨迹中的刹停点,包括:基于与车辆距离最近的碰撞点和刹车安全距离,确定第一刹停点;在第一刹停点与规划轨迹中的刹停点不相同的情况下,将规划轨迹中的刹停点更新为第一刹停点;在第一刹停点与规划轨迹中的刹停点相同的情况下,不更新规划轨迹中的刹停点。
84.根据上述示例,碰撞点队列是具有时间长度,此时间长度表示每个碰撞点在队列
中从存入时间到被删除时间的有效期。如此,前后两次在集合中确定的与车辆距离最近的碰撞点有可能相同,对应的刹停点相同,则不必更新规划轨迹中的刹停点。因此,上述实施方式可以避免刹停点的频繁更新,以避免车辆的跟踪轨迹的终点频繁跳变。
85.示例性地,上述碰撞点集合或队列可以用于对障碍物进行真假判断。在车辆停车之前,碰撞点集合或队列中某个碰撞点消失了,则这个碰撞点对应的障碍物为假,否则为真。
86.在实际应用中,车辆与障碍物之间的距离越近,车辆确定的碰撞点越准确。以下将以碰撞点队列为例,介绍对障碍物进行真假判断以决定是否触发轨迹重轨迹的过程,具体如下:
87.在车辆刹停之前,如果规划轨迹中的刹停点a1对应的碰撞点a2从碰撞点队列中删除了,则碰撞点a2对应的障碍物a3为假。此时,如果碰撞点队列仍然非空,则在碰撞点队列中确定与车辆距离最近的碰撞点b2,其中,b2在a2之后。基于碰撞点b2和刹车安全距离,得到新的刹停点b1,其中,b1位于a1之后。在规划轨迹中设置轨迹点a1不再是刹停点,并设置轨迹点b1为刹停点。车辆以刹停点b1继续执行新的刹停程序,并重复上述步骤,直到出现以下两种情况:
88.1、车辆到达规划轨迹中的刹停点,车辆停车,刹停程序结束。此时,该刹停点对应的障碍物为真的障碍物,车辆重新规划轨迹,以避开该真的障碍。
89.2、碰撞点队列变为空,则表明队列中曾经存储过的所有碰撞点各自对应的障碍物都是假的障碍物,刹停程序被取消,车辆沿原规划轨迹行驶,不必避开这些假的障碍物。
90.当车辆遇到动态障碍物时,可以同样采用上述策略,持续地对碰撞点进行检测并执行上述步骤,能够达到以下效果:
91.1、在车辆靠近动态障碍物过程中,如果动态障碍物已挪走,则车辆不需要对轨迹进行重规划,继续沿原轨迹行驶即可。
92.2、在车辆与动态障碍物距离较近时,如果动态障碍物仍然存在,则触发重规划,以得到可以避开动态障碍物的新轨迹。
93.在车辆被障碍物刹停时,重规划所使用的终点为基于车辆的观测数据所确定的新终点,以避免终点跳变对重规划轨迹的影响。
94.示例性地,在预测到车辆在当前行驶道路上存在多个碰撞点的情况下,将多个碰撞点中的与车辆距离最近的碰撞点存入第一碰撞点集合。但是,在实际应用中,每次检测到的碰撞点一般只有一个,且为与车辆距离最近的碰撞点。具体如下:
95.假设车辆以10hz的频率运行碰撞点检测程序,每次检测都是从车辆的当前轨迹跟踪点(当前跟踪轨迹中与车辆距离最近的轨迹跟踪点)开始检测,直至最后一个检测点。其中,最后一个检测点可以是当前跟踪轨迹所对应的子规划轨迹的终点,也可以是整个规划轨迹的终点。
96.以最后一个检测点为这段子规划轨迹的终点为例,进行以下介绍:
97.如果本次检测到这段子规划轨迹的某个轨迹点c1存在碰撞,则停止本次碰撞点检测,不再针对这段子规划轨迹中轨迹点c1之后的轨迹点进行碰撞点检测。因此,在实际应用中,车辆每次检测碰撞点时,可以仅检测与车辆距离最近的碰撞点,并将该碰撞点添加在碰撞点队列中。
98.如果本次检测已到达这段子规划轨迹的终点,仍未检测到碰撞点,则停止本次碰撞点检测。
99.如果下一次检测到这段子规划轨迹中的轨迹点c2存在碰撞,碰撞点c2有可能与上一次检测到的碰撞点c1为同一轨迹点,也有可能是不相同的轨迹点。无论这两者是否相同,都会将碰撞点c2存入碰撞点队列中。如果某个碰撞点c2在碰撞点队列中出现的次数越多,则表示该碰撞点对应的障碍物为真的概率越大。
100.根据上述实施方式,以设定的频率预测车辆在当前行驶道路上的碰撞点并执行上述步骤,对于本次预测到新的碰撞点,如果该碰撞点不是集合中与车辆距离最近的碰撞点,则集合中与车辆距离最近的碰撞点有可能是上一次确定的刹停点所基于的碰撞点,即本次确定刹停点所基于的碰撞点与上一次确定刹停点所基于的碰撞点有可能相同。规划轨迹中的刹停点可以保持不变。从而,上述实施方式能够避免刹停点的频繁更新,以避免跟踪轨迹的终点频繁跳变。
101.在一种实施方式中,上述轨迹规划方法还可以包括:在预测到车辆在当前行驶道路上不存在碰撞点的情况下,执行以下操作:在第一碰撞点集合为非空的情况下,从第一碰撞点集合中删除存入时间早于设定时间的碰撞点,并基于第一碰撞点集合中剩余的碰撞点,得到第二碰撞点集合;在第二碰撞点集合为非空的情况下,在第二碰撞点集合中确定与车辆距离最近的碰撞点;基于与车辆距离最近的碰撞点和刹车安全距离,更新规划轨迹中的刹停点。
102.在实际应用中,在检测到车辆在当前行驶道路上不存在碰撞点时,第一碰撞点集合或第二碰撞点集合有可能是非空,因此需要对第一碰撞点集合和第二碰撞点集合进行判断其是否非空。如果第二碰撞点集合非空,则说明该集合中的与车辆距离最近的碰撞点仍然有效,与该碰撞点对应的障碍物离开规划轨迹范围的时间不久,该障碍物有可能短时间再次出现在规划轨迹的范围。因而,车辆基于该碰撞点所确定的刹停点而执行的刹停程序,在短时间内仍能对该障碍物有避障的效果。
103.示例性地,由于上述步骤是按照设定频率执行的,则碰撞点集合也是按照这个频率动态删除存入时间早于设定时间的碰撞点。碰撞点集合的碰撞点具有设定的有效期。如此,前后两次在集合中确定的与车辆距离最近的碰撞点有可能相同,对应的刹停点相同,则不必更新规划轨迹中的刹停点。从而,上述实施方式可以避免刹停点的频繁更新,进而,避免跟踪轨迹的终点频繁跳变。
104.示例性地,基于与车辆距离最近的碰撞点和刹车安全距离,更新规划轨迹中的刹停点,包括:基于与车辆距离最近的碰撞点和刹车安全距离,确定第一刹停点;在第一刹停点与规划轨迹中的刹停点不相同的情况下,将规划轨迹中的刹停点更新为第一刹停点;在第一刹停点与规划轨迹中的刹停点相同的情况下,不更新规划轨迹中的刹停点。
105.根据上述实施方式,在动态障碍物从规划轨迹对应的行驶道路上离开时,车辆预测到该行驶道路上不存在碰撞点。此时,由于第一和第二碰撞点集合非空,可以利用第二碰撞点集合中的与车辆距离最近的碰撞点来确定刹停点。假设该碰撞点为上述动态障碍物与车辆有可能发生碰撞的位置。当短时间内该动态障碍物又出现在规划轨迹上,此时预测到碰撞点与前述碰撞点相同,即前后两次所确定的刹停点相同。此时,刹停点不必更新,仍然能避免车辆与该动态障碍物发生碰撞。从而,上述实施方式在实现实时避障的前提下,避免
频繁地更新刹停点,以避免车辆的跟踪轨迹的终点频繁跳变。
106.在一个实施方式中,上述轨迹规划方法还可以包括:在预测到车辆在当前行驶道路上不存在碰撞点,并且第一碰撞点集合为空和/或第二碰撞点集合为空的情况下,在规划轨迹中不设置刹停点。
107.其中,在第一碰撞点集合为空时,第二碰撞点集合为空。在第一碰撞点集合为非空时,第二碰撞点集合可以是空也可以是非空。
108.根据本实施方式,在检测不到障碍物,且第一碰撞点集合为空或第二碰撞点集合为空时,则说明该障碍物暂时不会再出现了。此时,在规划轨迹中不设置刹停点,车辆不会刹停,从而避免触发非必要的重规划。
109.在以设定频率预测碰撞点并执行上述策略,可知:
110.1、每次预测到的碰撞点可能相同也可能不相同,但都会存入碰撞点队列中。如果某个碰撞点被存入多次,则表示该碰撞点对应的障碍物为真的概率较大,即车辆在该碰撞点上发生碰撞的概率较大。如果在集合中删除已过期的碰撞点之后该碰撞点仍然是队列中与车辆距离最近的碰撞点,则车辆会以该碰撞点确定刹停点。
111.2、由于规划轨迹中的刹停点是由队列中的最近碰撞点(与车辆距离最近的碰撞点)所确定的,队列中的非最近碰撞点的后移或删除不会影响规划轨迹中的刹停点。非最近碰撞点为队列中除了与车辆距离最近的碰撞点以外的碰撞点。
112.3、如果在车辆刹停之前,删除队列中的与车辆距离最近的碰撞点,这不会触发重规划,仅根据新队列中的与车辆距离最近的碰撞点更新刹停点即可。
113.4、车辆在到达刹停点时才触发重规划。
114.根据上述策略,本公开实施例可以自适应地更新规划轨迹中的刹停点,避免触发不必要的重规划。
115.在一个实施方式中,上述轨迹规划方法还可以包括:根据当前时间和预设时间间隔,确定设定时间,其中,设定时间在当前时间之前。当前时间与设定时间之间的间隔为上述预设时间间隔。
116.例如,将当前时间减去预设时间间隔,得到设定时间,然后在第一碰撞点集合中删除存入时间早于设定时间的碰撞点。
117.其中,预设时间间隔可以根据需要进行设定。
118.以下以预设时间间隔为2秒为例进行介绍。如果当前时间为10:00,则设定时间为9:58。将存入时间早于9:58的碰撞点从第一碰撞点集合中删除。如果当前时间为14:30,则设定时间为14:28。将存入时间早于14:28的碰撞点从第一碰撞点集合中删除。
119.根据上述实施方式,保持集合中的碰撞点为,存入时间在距离当前时间的预设时间间隔内的碰撞点。如此,前后两次在集合中确定的与车辆距离最近的碰撞点有可能相同,对应的刹停点相同,则不必更新规划轨迹中的刹停点。从而,上述实施方式可以避免刹停点的频繁更新,进而,避免车辆的跟踪轨迹的终点频繁跳变。
120.在一个实施方式中,上述轨迹规划方法还可以包括:在规划轨迹中确定与车辆距离最近的轨迹跟踪点;基于轨迹跟踪点与中间目的点之间的距离,确定车辆是否行驶至中间目的点。
121.在实际应用中,车辆在按照规划轨迹行驶时会确定车辆的轨迹跟踪点。利用该轨
迹跟踪点可以确定车辆是否行驶至换档点或刹停点。
122.根据上述实施方式,可以准确地确定车辆是否行驶至中间目的点。
123.在一个实施方式中,在规划轨迹中确定与车辆距离最近的轨迹跟踪点,包括:在规划轨迹中未曾确定过与车辆距离最近的轨迹跟踪点的情况下,确定规划轨迹为目标轨迹;在规划轨迹中曾确定过与车辆距离最近的轨迹跟踪点的情况下,将从上一次在所述规划轨迹中确定的轨迹跟踪点到规划轨迹中的终点之间的轨迹作为目标轨迹;在目标轨迹中确定与车辆距离最近的轨迹跟踪点。
124.根据本实施方式,只需要针对从规划轨迹中的目标轨迹来确定轨迹跟踪点,不必每次都遍历规划轨迹中所有的轨迹点来确定轨迹跟踪点,节省确定轨迹跟踪点的时间,提高效率。
125.当然,在一些实施例中,无论是否曾确定过与车辆距离最近的轨迹跟踪点,均以规划轨迹为目标轨迹来确定与车辆距离最近的轨迹跟踪点,也是可以的。
126.在一个实施方式中,在目标轨迹中确定与车辆距离最近的轨迹跟踪点,包括:基于从第一轨迹点到车辆的当前位置的距离向量,以及从第一轨迹点到第二轨迹点的单位长度向量,确定第一乘积,其中,第一轨迹点和第二轨迹点为目标轨迹中的任意相邻的两个轨迹点;基于第一乘积,以及从第一轨迹点到第二轨迹点的线段长度,确定与车辆距离最近的轨迹跟踪点。
127.示例性地,对于第一乘积,可以为:从第一轨迹点到车辆的当前位置的距离向量、与从第一轨迹点到第二轨迹点的单位长度向量的乘积。
128.示例性地,基于第一乘积,以及从第一轨迹点到第二轨迹点的线段长度,确定与车辆距离最近的轨迹跟踪点,包括:在第一乘积大于零、并且小于或等于从第一轨迹点到第二轨迹点的线段长度的情况下,确定第一轨迹点或第二轨迹点为与车辆距离最近的轨迹跟踪点。
129.示例性地,基于第一乘积,以及从第一轨迹点到第二轨迹点的线段长度,确定与车辆距离最近的轨迹跟踪点,包括:在第一乘积小于零、或者大于从第一轨迹点到第二轨迹点的线段长度的情况下,确定第一轨迹点和第二轨迹点不是与车辆距离最近的轨迹跟踪点。
130.示例性地,上述第一乘积的物理含义为,车辆投影在规划轨迹中的相邻两个轨迹点之间的线段上的投影向量。
131.根据本实施方式,针对规划轨迹中的任意轨迹点进行上述投影向量的计算,在确定到投影向量达到设定条件时,即可确定与车辆距离最近的轨迹跟踪点,不必再针对其他轨迹点计算投影向量,可以节省确定轨迹跟踪点的时间,提高效率。
132.在一个实施方式中,在目标轨迹中确定与车辆距离最近的轨迹跟踪点,包括:从目标轨迹的第1个轨迹点开始,执行以下步骤:基于从第i个轨迹点到车辆的当前位置的距离向量,以及从第i个轨迹点到第i+1个轨迹点的单位长度向量,确定第二乘积;其中,i为正整数;基于第二乘积,以及从第i个轨迹点到第i+1个轨迹点的线段长度,确定第i个轨迹点或第i+1个轨迹点是否为与车辆距离最近的轨迹跟踪点。
133.示例性地,在确定第i个轨迹点或第i+1个轨迹点为与车辆距离最近的轨迹跟踪点时,停止执行上述步骤。
134.示例性地,基于第二乘积,以及从第i个轨迹点到第i+1个轨迹点的线段长度,确定
第i个轨迹点或第i+1个轨迹点是否为与车辆距离最近的轨迹跟踪点,包括:在第二乘积大于零、并且小于或等于从第i个轨迹点到第i+1个轨迹点的线段长度的情况下,确定第i个轨迹点或第i+1个轨迹点为与车辆距离最近的轨迹跟踪点。
135.示例性地,基于第二乘积,以及从第i个轨迹点到第i+1个轨迹点的线段长度,确定第i个轨迹点或第i+1个轨迹点是否为与车辆距离最近的轨迹跟踪点,包括:在第二乘积小于零或大于从第i个轨迹点到第i+1个轨迹点的线段长度的情况下,确定第i个轨迹点和第i+1个轨迹点不是与车辆距离最近的轨迹跟踪点。
136.在实际应用中,可以这样确定与车辆距离最近的轨迹跟踪点:针对目标轨迹,以目标轨迹的起点为第1个轨迹点,从以i的初始值为1开始,计算从第i个轨迹点到车辆的当前位置的距离向量与从第i个轨迹点到第i+1个轨迹点的单位长度向量的第二乘积,在第二乘积小于零或大于从第i个轨迹点到第i+1个轨迹点的线段长度时,对i加一后返回继续计算上述第二乘积,直至第二乘积大于零、并且小于或等于从第i个轨迹点到第i+1个轨迹点的线段长度时,确定第i个轨迹点或第i+1个轨迹点为与车辆距离最近的轨迹跟踪点。
137.示例性地,上述第二乘积的物理含义,车辆投影在规划轨迹中的相邻两个轨迹点之间的线段上的投影向量。
138.示例性地,以下采用公式的方式描述上述投影向量d的计算过程,具体如下:
[0139][0140]
其中,表示第i个轨迹点pi与车辆位置b之间的距离向量,表示第i个轨迹点pi与第i+1个轨迹点p
i+1
之间的距离向量,表示从第i个轨迹点pi到第i+1个轨迹点p
i+1
的线段长度,i为正整数。
[0141]
其中,表示第i个轨迹点pi与第i+1个轨迹点p
i+1
之间的单位长度向量。
[0142]
如图3所示,第i个轨迹点pi指向车辆位置b的有向线条表示第i个轨迹点pi与车辆位置b之间的距离向量,第i个轨迹点指向第i+1个轨迹点p
i+1
的有向线条表示第i个轨迹点pi与第i+1个轨迹点p
i+1
之间的距离向量。
[0143]
如果投影向量d满足则以第i个轨迹点作为与车辆距离最近的轨迹跟踪点。在一些实施例中,也可以以第i+1个轨迹点作为与车辆距离最近的轨迹跟踪点。
[0144]
根据上述实施方式,在车辆需要跟踪的轨迹点较多的情况下,从目标轨迹的第1个轨迹点开始确定该轨迹点是否为与车辆距离最近的轨迹跟踪点,在确定轨迹跟踪点时即可停止对目标轨迹中剩余的轨迹点执行上述遍历操作,不必遍历目标轨迹中的所有轨迹点来确定与车辆距离最近的轨迹跟踪点,进一步提高确定轨迹跟踪点的效率。
[0145]
在一个实施方式中,在目标轨迹中确定与车辆距离最近的轨迹跟踪点,包括:针对目标轨迹,逐个轨迹点地执行以下步骤:基于该轨迹点与车辆的当前位置的欧氏距离,以及该轨迹点的位置向量与车辆的运动方向向量的第三乘积,确定是否基于该欧氏距离更新第一距离;在针对目标轨迹中的各轨迹点均执行一次上述步骤的情况下,基于第一距离最后
一次更新时对应的轨迹点,确定与车辆距离最近的轨迹跟踪点。
[0146]
示例性地,基于该轨迹点与车辆的当前位置的欧氏距离,以及该轨迹点的位置向量与车辆的运动方向向量的第三乘积,确定是否基于欧氏距离更新第一距离,包括:计算该轨迹点与车辆的当前位置之间的欧氏距离,以及计算该轨迹点的位置向量与车辆的运动方向向量的第三乘积;在欧氏距离小于第一距离、并且第三乘积大于零的情况下,基于欧氏距离更新第一距离;在欧氏距离大于第一距离,或者欧氏距离小于第一距离、并且第三乘积小于零时,不更新第一距离。
[0147]
示例性地,基于第一距离最后一次更新时对应的轨迹点,确定与车辆距离最近的轨迹跟踪点,包括:以第一距离最后一次更新时所对应的轨迹点作为与车辆距离最近的轨迹跟踪点。
[0148]
示例性地,针对目标轨迹中的轨迹点,逐个轨迹点地执行上述步骤,包括,从目标轨迹的起点至终点,逐个轨迹点地执行上述步骤,或者,从目标轨迹的终点至起点,逐个轨迹点地执行上述步骤。
[0149]
示例性地,如果第三乘积大于零,则表示该轨迹点与车辆的运动方向相同,如果第三乘积小于零,则表示该轨迹点与车辆的运动方向相反。
[0150]
根据上述实施方式,针对目标轨迹中的轨迹点,逐个轨迹点地计算轨迹点与车辆之间的距离,并将该距离与第一距离比较,如果小于第一距离且轨迹点与车辆运动方向相同,则以该距离更新第一距离,否则不更新。在已对目标轨迹中的各轨迹点均执行一次这样的操作之后,以第一距离最后一次更新时对应的轨迹点为与车辆距离最近的轨迹跟踪点。如此,上述实施方式可以准确地在目标轨迹中确定与车辆距离最近的轨迹跟踪点。
[0151]
根据上述实施方式,针对规划轨迹中的轨迹点,逐个轨迹点地计算轨迹点与车辆之间的距离,并将该距离与第一距离比较,如果小于第一距离且轨迹点与车辆运动方向相同,则以该距离更新第一距离,否则不更新。在已对规划轨迹中的各轨迹点均执行一次这样的操作之后,以第一距离最后一次更新时对应的轨迹点为与车辆距离最近的轨迹跟踪点。如此,上述实施方式可以准确地在规划轨迹中确定与车辆距离最近的轨迹跟踪点。
[0152]
示例性地,以下采用公式描述上述遍历操作,具体如下:
[0153]
车辆位置表示为t
wb
,姿态表示为θb,车速表示为vb。其中,车辆前进的方向为正向,车辆后退的方向为负向,车辆运动方向为车辆后退的方向为负向,车辆运动方向为
[0154]
从目标轨迹的起点开始,按顺序逐个轨迹点地对目标轨迹中的轨迹点进行以下遍历操作,或者,从规划轨迹的起点开始,按顺序逐个轨迹点地对规划轨迹中的轨迹点进行以下遍历操作:计算第i个轨迹点与车辆位置之间的距离向量以及以二范数的方式表示这两者的欧氏距离如果该欧氏距离小于最小距离s,则计算第i个轨迹点的轨迹方向与车辆运动方向之间的点乘结果,即上述第三乘积。如果该点乘结果大于零,则表示第i个轨迹点的轨迹方向与车辆运动方向相同。此时,以上述欧氏距离更新最近距离s,否则对下一个轨迹点执行上述操作直至中间目的点时停止遍历。例如,遍历至换档点时停止遍历。
[0155]
在一个实施方式中,上述轨迹规划方法还可以包括:在设定时间段内未能确定出
轨迹跟踪点的情况下,控制车辆停车并确定车辆的停车位置;基于车辆的观测数据,重新确定车辆的行驶终点;基于停车位置和行驶终点,确定车辆的重规划轨迹。
[0156]
其中,在得到车辆的重规划轨迹时,基于重规划轨迹更新车辆的规划轨迹,以使车辆按照更新后的规划轨迹继续行驶。
[0157]
在实际应用中,如果未找到与车辆距离最近的轨迹跟踪点,则表示车辆的轨迹跟踪出现异常,需要重新规划轨迹。
[0158]
图4是本公开另一实施例的轨迹规划方法的流程图。
[0159]
如图4所示,该方法包括以下步骤:
[0160]
s401,在规划轨迹中寻找与车辆距离最近的轨迹跟踪点。车辆获取规划轨迹所需要的数据,基于该数据确定规划轨迹并更新规划地图。判断车辆是否到达规划轨迹中的终点。如果未到达终点,则寻找与车辆距离最近的轨迹跟踪点。如果寻找到轨迹跟踪点则进入步骤s402,如果未寻找到轨迹跟踪点则进入步骤s415。
[0161]
s402,判断轨迹跟踪点是否接近换档点。如果轨迹跟踪点接近换档点,则进入步骤s403。如果轨迹跟踪点未接近换档点,则进入步骤s407。
[0162]
s403,判断车辆速度是否接近零。如果车辆速度接近零,则进入步骤s404。如果车辆速度不接近零,则进入步骤s407。
[0163]
s404,基于当前观测数据,计算新终点。
[0164]
s405,判断新终点与原终点之间的位置是否大于设定阈值。如果大于,则进入步骤s415,如果不大于,则进入步骤s406。
[0165]
s406,判断车辆在换档点上切换档位是否成功。如果成功,则车辆的跟踪轨迹切换到规划轨迹中的下一段子规划轨迹。其中,下一段子规划轨迹包括规划轨迹中的从上述换档点至规划轨迹中的下一个换挡点的轨迹。如果不成功,则进入步骤s407。
[0166]
s407,判断当前行驶道路上是否存在碰撞点。如果存在碰撞点,则进入步骤s408。如果不存在碰撞点,则判断碰撞点队列是否为非空。如果碰撞点队列为非空,则进入步骤s409。
[0167]
s408,将碰撞点存入碰撞点队列中。
[0168]
s409,剔除碰撞点队列中早于设定时间的碰撞点。
[0169]
s410,判断碰撞点队列是否为非空,如果非空,则进入步骤s411。
[0170]
s411,在碰撞点队列中确定与车辆距离最近的目标碰撞点。
[0171]
s412,沿车辆的行驶方向,设置刹停点位于目标碰撞点之前,且刹停点与目标碰撞点之间的距离为0.5米。
[0172]
s413,判断轨迹跟踪点是否接近刹停点。如果接近,进入步骤s414。
[0173]
s414,判断车辆速度是否接近零。如果车辆速度接近零,则进入步骤s415。
[0174]
s415,重新规划车辆的规划轨迹,以使车辆按照重新规划得到的规划轨迹行驶。
[0175]
根据上述实施方式,在车辆停顿且轨迹存在异常的情况下才触发重规划,实现非必要不重规划的效果。而且,重规划以车辆停顿时的位置作为起点,避免起点难选的问题。由于车辆刹停时一般需要1至2秒的时间,在此阶段中对轨迹进行重规划,车辆可以释放算力给重规划,从而车辆可以使用一些需要高算力的规划算法。而且,在此阶段进行重规划所需要的耗时对用户来说是无感的,可以提升用户体验感。另外,车辆停顿时车辆中的其他模
块对算力的要求有所降低,可以释放算力给重规划,降低重规划的耗时。
[0176]
图5是本公开一实施例的轨迹规划装置的结构框图。
[0177]
如图5所示,本公开实施例提供了一种轨迹规划装置,包括:
[0178]
轨迹异常判断模块501,用于在车辆行驶至规划轨迹中的中间目的点、并且车辆的行驶速度变为零的情况下,基于中间目的点,确定规划轨迹是否存在异常;
[0179]
第一轨迹重规划模块502,用于在规划轨迹存在异常的情况下,针对车辆重新规划轨迹,得到车辆的重规划轨迹。
[0180]
图6是本公开另一实施例的轨迹规划装置的结构框图。
[0181]
如图6所示,本公开实施例提供一种轨迹规划装置包括轨迹异常判断模块601和第一轨迹重规划模块602。其中,图6中的轨迹异常判断模块601和第一轨迹重规划模块602与图5中的轨迹异常判断模块501和第一轨迹重规划模块502作用相同,在此不详述。
[0182]
在一种实施方式中,如图6所示,轨迹异常判断模块601包括:
[0183]
行驶终点确定单元6011,用于在中间目的点为换档点的情况下,基于车辆的观测数据,更新车辆的行驶终点;
[0184]
第一异常判定单元6012,用于在更新后的行驶终点与规划轨迹中的终点不匹配的情况下,确定规划轨迹存在异常;
[0185]
在一种实施方式中,轨迹异常判断模块601包括:
[0186]
第二异常判定单元6013,用于在中间目的点为刹停点的情况下,确定规划轨迹存在异常;其中,刹停点是基于刹车安全距离和车辆在当前行驶道路上的碰撞点确定的轨迹点。
[0187]
在一种实施方式中,如图6所示,轨迹规划装置还包括:
[0188]
碰撞点预测模块603,用于基于设定的频率,预测车辆在当前行驶道路上是否存在碰撞点;
[0189]
第一刹停点更新模块604,用于在预测到车辆在当前行驶道路上存在碰撞点的情况下,执行以下操作:
[0190]
将预测到的碰撞点存入第一碰撞点集合;
[0191]
从第一碰撞点集合中删除存入时间早于设定时间的碰撞点,并基于第一碰点集合中剩余的碰撞点,得到第二碰撞点集合;
[0192]
在第二碰撞点集合中确定与车辆距离最近的碰撞点;
[0193]
基于与车辆距离最近的碰撞点和刹车安全距离,更新规划轨迹中的刹停点。
[0194]
在一种实施方式中,如图6所示,轨迹规划装置还包括:
[0195]
第二刹停点更新模块605,用于在预测到车辆在当前行驶道路上不存在碰撞点的情况下,执行以下操作:
[0196]
在第一碰撞点集合为非空的情况下,从第一碰撞点集合中删除存入时间早于设定时间的碰撞点,并基于第一碰撞点集合中剩余的碰撞点,得到第二碰撞点集合;
[0197]
在第二碰撞点集合为非空的情况下,在第二碰撞点集合中确定与车辆距离最近的碰撞点;
[0198]
基于与车辆距离最近的碰撞点和刹车安全距离,更新规划轨迹中的刹停点。
[0199]
在一种实施方式中,如图6所示,轨迹规划装置还包括:
[0200]
时间确定模块606,用于根据当前时间和预设时间间隔,得到设定时间,其中,设定时间在当前时间之前。
[0201]
在一种实施方式中,如图6所示,轨迹规划装置还包括:
[0202]
轨迹跟踪点确定模块607,用于在规划轨迹中确定与车辆距离最近的轨迹跟踪点;
[0203]
行驶位置确定模块608,用于基于轨迹跟踪点与中间目的点之间的距离,确定车辆是否行驶至中间目的点。
[0204]
在一种实施方式中,轨迹跟踪点确定模块607包括:
[0205]
第一轨迹确定单元6071,在规划轨迹中未曾确定过与车辆距离最近的轨迹跟踪点的情况下,确定规划轨迹为目标轨迹;
[0206]
第二轨迹确定单元6072,在规划轨迹中曾确定过与车辆距离最近的轨迹跟踪点的情况下,将从上一次在规划轨迹中确定的轨迹跟踪点到规划轨迹中的终点之间的轨迹作为目标轨迹;
[0207]
跟踪点确定单元6073,用于在目标轨迹中确定与车辆距离最近的轨迹跟踪点。
[0208]
在一种实施方式中,跟踪点确定单元6073具体用于:
[0209]
基于从第一轨迹点到所述车辆的当前位置的距离向量,以及从所述第一轨迹点到第二轨迹点的单位长度向量,确定第一乘积,其中,所述第一轨迹点和所述第二轨迹点为所述目标轨迹中的任意相邻的两个轨迹点;
[0210]
基于所述第一乘积,以及从所述第一轨迹点到所述第二轨迹点的线段长度,确定与所述车辆距离最近的轨迹跟踪点。
[0211]
在一种实施方式中,跟踪点确定单元6073具体用于:
[0212]
从所述目标轨迹的第1个轨迹点开始,执行以下步骤:
[0213]
基于从第i个轨迹点到所述车辆的当前位置的距离向量,以及从第i个轨迹点到第i+1个轨迹点的单位长度向量,确定第二乘积;其中,i为正整数;
[0214]
基于所述第二乘积,以及从第i个轨迹点到第i+1个轨迹点的线段长度,确定第i个轨迹点或第i+1个轨迹点是否为与所述车辆距离最近的轨迹跟踪点。
[0215]
在一种实施方式中,跟踪点确定单元6073具体用于:
[0216]
针对所述目标轨迹,逐个轨迹点地执行以下步骤:基于该轨迹点与所述车辆的当前位置的欧氏距离,以及该轨迹点的位置向量与所述车辆的运动方向向量的第三乘积,确定是否基于所述欧氏距离更新第一距离;
[0217]
在针对所述目标轨迹中的各轨迹点均执行一次上述步骤的情况下,基于所述第一距离最后一次更新时对应的轨迹点,确定与所述车辆距离最近的轨迹跟踪点。
[0218]
在一种实施方式中,如图6所示,轨迹规划装置还包括:
[0219]
车辆停车控制模块609,用于在设定时间段内未能确定出轨迹跟踪点的情况下,控制车辆停车并确定车辆的停车位置;
[0220]
行驶终点确定模块610,用于基于车辆的观测数据,重新确定车辆的行驶终点;
[0221]
第二轨迹重规划模块611,用于基于停车位置和行驶终点,确定车辆的重规划轨迹。
[0222]
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0223]
根据本公开的实施例,本公开还提供了一种电子设备、一种车辆、一种可读存储介质和一种计算机程序产品。
[0224]
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0225]
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
[0226]
设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0227]
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如一种轨迹规划方法。例如,在一些实施例中,一种轨迹规划方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的一种轨迹规划方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行一种轨迹规划方法。
[0228]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0229]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件
包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0230]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0231]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
[0232]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0233]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0234]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0235]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

技术特征:
1.一种轨迹规划方法,包括:在车辆行驶至规划轨迹中的中间目的点、并且所述车辆的行驶速度变为零的情况下,基于所述中间目的点,确定所述规划轨迹是否存在异常;在所述规划轨迹存在异常的情况下,针对所述车辆重新规划轨迹,得到所述车辆的重规划轨迹。2.根据权利要求1所述的方法,其中,所述基于所述中间目的点,确定所述规划轨迹是否存在异常,包括:在所述中间目的点为换档点的情况下,基于所述车辆的观测数据,更新所述车辆的行驶终点;在更新后的所述行驶终点与所述规划轨迹中的终点不匹配的情况下,确定所述规划轨迹存在异常。3.根据权利要求2所述的方法,其中,所述换档点包括所述车辆从前进档换为倒车档的位置或所述车辆从倒车档换为前进档的位置。4.根据权利要求1所述的方法,其中,所述基于所述中间目的点,确定所述规划轨迹是否存在异常,包括:在所述中间目的点为刹停点的情况下,确定所述规划轨迹存在异常;其中,所述刹停点是基于刹车安全距离和所述车辆在当前行驶道路上的碰撞点确定的轨迹点。5.根据权利要求4所述的方法,还包括:基于设定的频率,预测所述车辆在当前行驶道路上是否存在碰撞点;在预测到所述车辆在当前行驶道路上存在碰撞点的情况下,执行以下操作:将预测到的所述碰撞点存入第一碰撞点集合;从所述第一碰撞点集合中删除存入时间早于设定时间的碰撞点,并基于所述第一碰点集合中剩余的碰撞点,得到第二碰撞点集合;在所述第二碰撞点集合中确定与所述车辆距离最近的碰撞点;基于所述与所述车辆距离最近的碰撞点和所述刹车安全距离,更新所述规划轨迹中的刹停点。6.根据权利要求5所述的方法,还包括:在预测到所述车辆在当前行驶道路上不存在碰撞点的情况下,执行以下操作:在所述第一碰撞点集合为非空的情况下,从所述第一碰撞点集合中删除存入时间早于所述设定时间的碰撞点,并基于所述第一碰撞点集合中剩余的碰撞点,得到第二碰撞点集合;在所述第二碰撞点集合为非空的情况下,在所述第二碰撞点集合中确定与所述车辆距离最近的碰撞点;基于所述与所述车辆距离最近的碰撞点和所述刹车安全距离,更新所述规划轨迹中的刹停点。7.根据权利要求5或6所述的方法,还包括:根据当前时间和预设时间间隔,确定所述设定时间,其中,所述设定时间在所述当前时间之前。
8.根据权利要求1-7中任一项所述的方法,还包括:在所述规划轨迹中确定与所述车辆距离最近的轨迹跟踪点;基于所述轨迹跟踪点与所述中间目的点之间的距离,确定所述车辆是否行驶至所述中间目的点。9.根据权利要求8所述的方法,其中,所述在所述规划轨迹中确定与所述车辆距离最近的轨迹跟踪点,包括:在所述规划轨迹中未曾确定过与所述车辆距离最近的轨迹跟踪点的情况下,确定所述规划轨迹为目标轨迹;在所述规划轨迹中曾确定过与所述车辆距离最近的轨迹跟踪点的情况下,将从上一次在所述规划轨迹中确定的轨迹跟踪点到所述规划轨迹中的终点之间的轨迹作为目标轨迹;在所述目标轨迹中确定与所述车辆距离最近的轨迹跟踪点。10.根据权利要求9所述的方法,其中,所述在所述规划轨迹中确与所述车辆距离最近的轨迹跟踪点,包括:基于从第一轨迹点到所述车辆的当前位置的距离向量,以及从所述第一轨迹点到第二轨迹点的单位长度向量,确定第一乘积,其中,所述第一轨迹点和所述第二轨迹点为所述目标轨迹中的任意相邻的两个轨迹点;基于所述第一乘积,以及从所述第一轨迹点到所述第二轨迹点的线段长度,确定与所述车辆距离最近的轨迹跟踪点。11.根据权利要求9所述的方法,其中,所述在所述目标轨迹中确定与所述车辆距离最近的轨迹跟踪点,包括:从所述目标轨迹的第1个轨迹点开始,执行以下步骤:基于从第i个轨迹点到所述车辆的当前位置的距离向量,以及从第i个轨迹点到第i+1个轨迹点的单位长度向量,确定第二乘积;其中,i为正整数;基于所述第二乘积,以及从第i个轨迹点到第i+1个轨迹点的线段长度,确定第i个轨迹点或第i+1个轨迹点是否为与所述车辆距离最近的轨迹跟踪点。12.根据权利要求9所述的方法,其中,所述在所述目标轨迹中确定与所述车辆距离最近的轨迹跟踪点,包括:针对所述目标轨迹,逐个轨迹点地执行以下步骤:基于该轨迹点与所述车辆的当前位置的欧氏距离,以及该轨迹点的位置向量与所述车辆的运动方向向量的第三乘积,确定是否基于所述欧氏距离更新第一距离;在针对所述目标轨迹中的各轨迹点均执行一次上述步骤的情况下,基于所述第一距离最后一次更新时对应的轨迹点,确定与所述车辆距离最近的轨迹跟踪点。13.根据权利要求8-12中任一项所述的方法,还包括:在设定时间段内未能确定出所述轨迹跟踪点的情况下,控制所述车辆停车并确定所述车辆的停车位置;基于所述车辆的观测数据,重新确定所述车辆的行驶终点;基于所述停车位置和所述行驶终点,确定所述车辆的重规划轨迹。14.一种轨迹规划装置,包括:轨迹异常判断模块,用于在车辆行驶至规划轨迹中的中间目的点、并且所述车辆的行
驶速度变为零的情况下,基于所述中间目的点,确定所述规划轨迹是否存在异常;第一轨迹重规划模块,用于在所述规划轨迹存在异常的情况下,针对所述车辆重新规划轨迹,得到所述车辆的重规划轨迹。15.根据权利要求14所述的装置,其中,所述轨迹异常判断模块包括:行驶终点确定单元,用于在所述中间目的点为换档点的情况下,基于所述车辆的观测数据,更新所述车辆的行驶终点;第一异常判定单元,用于在更新后的所述行驶终点与所述规划轨迹中的终点不匹配的情况下,确定所述规划轨迹存在异常。16.根据权利要求14所述的装置,其中,所述轨迹异常判断模块包括:第二异常判定单元,用于在所述中间目的点为刹停点的情况下,确定所述规划轨迹存在异常;其中,所述刹停点是基于刹车安全距离和所述车辆在当前行驶道路上的碰撞点确定的轨迹点。17.根据权利要求16所述的装置,还包括:碰撞点预测模块,用于基于设定的频率,预测所述车辆在当前行驶道路上是否存在碰撞点;第一刹停点更新模块,用于在预测到所述车辆在当前行驶道路上存在碰撞点的情况下,执行以下操作:将预测到的所述碰撞点存入第一碰撞点集合;从所述第一碰撞点集合中删除存入时间早于设定时间的碰撞点,并基于所述第一碰点集合中剩余的碰撞点,得到第二碰撞点集合;在所述第二碰撞点集合中确定与所述车辆距离最近的碰撞点;基于所述与所述车辆距离最近的碰撞点和所述刹车安全距离,更新所述规划轨迹中的刹停点。18.根据权利要求17所述的装置,其中,还包括:第二刹停点更新模块,用于在预测到所述车辆在当前行驶道路上不存在碰撞点的情况下,执行以下操作:在所述第一碰撞点集合为非空的情况下,从所述第一碰撞点集合中删除存入时间早于所述设定时间的碰撞点,并基于所述第一碰撞点集合中剩余的碰撞点,得到第二碰撞点集合;在所述第二碰撞点集合为非空的情况下,在所述第二碰撞点集合中确定与所述车辆距离最近的碰撞点;基于所述与所述车辆距离最近的碰撞点和所述刹车安全距离,更新所述规划轨迹中的刹停点。19.根据权利要求17或18所述的装置,还包括:时间确定模块,用于根据当前时间和预设时间间隔,得到所述设定时间,其中,所述设定时间在所述当前时间之前。20.根据权利要求14-19中任一项所述的装置,还包括:轨迹跟踪点确定模块,用于在所述规划轨迹中确定与所述车辆距离最近的轨迹跟踪
点;行驶位置确定模块,用于基于所述轨迹跟踪点与所述中间目的点之间的距离,确定所述车辆是否行驶至所述中间目的点。21.根据权利要求20所述的装置,其中,所述轨迹跟踪点确定模块包括:第一轨迹确定单元,在所述规划轨迹中未曾确定过与所述车辆距离最近的轨迹跟踪点的情况下,确定所述规划轨迹为目标轨迹;第二轨迹确定单元,在所述规划轨迹中曾确定过与所述车辆距离最近的轨迹跟踪点的情况下,将从上一次在所述规划轨迹中确定的轨迹跟踪点到所述规划轨迹中的终点之间的轨迹作为目标轨迹;跟踪点确定单元,用于在所述目标轨迹中确定与所述车辆距离最近的轨迹跟踪点。22.根据权利要求21所述的装置,其中,所述跟踪点确定单元具体用于:基于从第一轨迹点到所述车辆的当前位置的距离向量,以及从所述第一轨迹点到第二轨迹点的单位长度向量,确定第一乘积,其中,所述第一轨迹点和所述第二轨迹点为所述目标轨迹中的任意相邻的两个轨迹点;基于所述第一乘积,以及从所述第一轨迹点到所述第二轨迹点的线段长度,确定与所述车辆距离最近的轨迹跟踪点。23.根据权利要求21所述的装置,其中,所述跟踪点确定单元具体用于:从所述目标轨迹的第1个轨迹点开始,执行以下步骤:基于从第i个轨迹点到所述车辆的当前位置的距离向量,以及从第i个轨迹点到第i+1个轨迹点的单位长度向量,确定第二乘积;其中,i为正整数;基于所述第二乘积,以及从第i个轨迹点到第i+1个轨迹点的线段长度,确定第i个轨迹点或第i+1个轨迹点是否为与所述车辆距离最近的轨迹跟踪点。24.根据权利要求21所述的装置,其中,所述跟踪点确定单元具体用于:针对所述目标轨迹,逐个轨迹点地执行以下步骤:基于该轨迹点与所述车辆的当前位置的欧氏距离,以及该轨迹点的位置向量与所述车辆的运动方向向量的第三乘积,确定是否基于所述欧氏距离更新第一距离;在针对所述目标轨迹中的各轨迹点均执行一次上述步骤的情况下,基于所述第一距离最后一次更新时对应的轨迹点,确定与所述车辆距离最近的轨迹跟踪点。25.根据权利要求20-24中任一项所述的装置,还包括:车辆停车控制模块,用于在设定时间段内未能确定出所述轨迹跟踪点的情况下,控制所述车辆停车并确定所述车辆的停车位置;行驶终点确定模块,用于基于所述车辆的观测数据,重新确定所述车辆的行驶终点;第二轨迹重规划模块,用于基于所述停车位置和所述行驶终点,确定所述车辆的重规划轨迹。26.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的方法。
27.一种车辆,包括权利要求26所述的电子设备。28.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-13中任一项所述的方法。29.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-13中任一项所述的方法。

技术总结
本公开提供了一种轨迹规划方法、装置、电子设备、车辆和存储介质,涉及智能交通技术领域,尤其涉及自动驾驶以及轨迹规划领域。具体实现方案为:在车辆行驶至规划轨迹中的中间目的点、并且所述车辆的行驶速度变为零的情况下,基于所述中间目的点,确定所述规划轨迹是否存在异常;在所述规划轨迹存在异常的情况下,针对所述车辆重新规划轨迹,得到所述车辆的重规划轨迹。采用本公开的技术方案,可以提升非实时轨迹规划算法的重规划效率。升非实时轨迹规划算法的重规划效率。升非实时轨迹规划算法的重规划效率。


技术研发人员:王丕阁
受保护的技术使用者:阿波罗智联(北京)科技有限公司
技术研发日:2023.05.17
技术公布日:2023/7/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐