技术领域
[0001] 本申请涉及智能交通技术领域,特别是涉及一种车队构建方法、控制方法、设备和存储介质。
相关背景技术
[0002] 自动驾驶与统一调度的结合可以提高车辆的通行效率,在一些场景中,会把多个车辆组成车队,将整个车队作为一个整体统一控制,其中,车队构建的越快,就能越快对车队进行统一控制,进而加快车辆的通行效率。因此,如何提高车队的构建效率,对提高车辆的通行效率意义重大。
具体实施方式
[0018] 为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。
[0019] 另外,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
[0020] 本文所述的车辆可以是任何类型的自动驾驶车辆,例如为自动引导车(AGV,Automated Guided Vehicle),下面将以车辆为自动引导车为例对本申请提供的车队构建方法和车队控制方法进行简要说明。其中,对于无人工厂中的自动引导车,其会根据指定任务与路线(路径)在地图中行驶。若位置在前的车辆(前车)的行驶受到阻碍,则会影响位置在后车辆(后车)的路径下发,导致后车路径下发的延迟,当一长队车辆异步延时依次按照下发的路径行驶而非协同按照下发路径行驶时,则会产生延时累计,严重影响大型无人工厂的运作效率。故为了提高车辆的通行效率,可对无人工厂中的自动引导车进行车队构建,构建多个车队,然后对于各车队,控制属于同一车队中的各车辆协同行驶(一同行驶)。其中,控制车队协同行驶的前提是构建车队,故可以理解的是,车队构建的速度越快,就能越快的对各车队中的成员进行协同控制,进而加快无人工厂中的自动引导车的通行效率。
[0021] 本申请提供的车队构建方法,在车队构建的过程中,一次可将至少一车辆加入到待构建车队中,相比于每次只加入一车辆到待构建车队的方式,本申请上述方式可加快车队的构建速度,有效提高车队的构建效率。
[0022] 本申请提供的车队控制方法可在获取最新构建的各目标车队之后,基于各车辆在当前时刻分别对应的行驶数据,检测不同车辆之间的安全性,得到对应的安全检测结果,然后基于各安全检测结果,控制各目标车队协同行驶。其中,不同车辆可能属于相同目标车队或不同目标车队,在不同车辆属于相同目标车队和不同目标车队的两种情况下,所采用的检测策略不同。本申请分情况进行安全检测,针对性更强,能够减少因统一标准而导致的误检现象,进而能够提高安全检测结果的准确性,便于后续各车队的车辆能够安全行驶。
[0023] 请参阅图1,图1是本申请提供的车队构建方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图1所示的流程顺序为限。如图1所示,本实施例包括:
[0024] S11:从待构建车队选出一车辆作为参考车辆。
[0025] 本实施例用于在基于参考车辆,确定待构建车队的目标车辆后,确定目标车辆是否属于当前存在的第一已构建车队中的车辆,并在目标车辆属于当前存在的第一已构建车队中的车辆的情况下,从该第一已构建车队中选出包括目标车辆在内的至少一车辆,作为待合并车辆,并将至少一辆待合并车辆加入该待构建车队,以通过一次加入至少一辆待合并车辆的方式,提高车队的构建效率。
[0026] 需要说明的是,在车队构建场景中,至少需要构建一个车队,在需要构建多个车队的情况下,各车队均可以采用本申请提供的方法进行车队构建。
[0027] 具体地,可遍历各待构建车队,为各待构建车队选出一车辆作为参考车辆,并依次进行上述待构建车队的构建过程,得到各待构建车队对应的第二已构建车队。其中,各待构建车队对应的第二已构建车队为目标区域中当前行驶场景下构建得到的车队。
[0028] 其中,在遍历各待构建车队过程中,可依次随机选择各待构建车队,还可按照各待构建车队的位置排序,或者按照各待构建车队行驶的优先级排序,遍历各待构建车队。其中,优先级排序可根据各待构建车队中的首车造成堵车的车辆的数量,首车在原地等待的时间,和任务紧急程度中的一者或者多者确定。
[0029] 在一实施场景中,上述各车辆为自动引导车,目标区域中属于相同车队中的不同自动引导车所执行的任务可以相同,也可以不同。即本申请提供的车队构建方法与各车辆所执行的任务、以及车辆的目的地等均无关系,只需根据车辆之间的位置关系,从目标区域中选取与参考车辆之间的位置关系满足合队条件的目标车辆,然后根据目标车辆确定待合并车辆。
[0030] 在一些实施场景中,目标区域中当前已存在多个已构建车队,其中,该当前已存在的已构建车队可以但不限于是由历史时刻构建、且当前还未开始重建的车队,还可以是历史时刻构建的、但当前已将其作为待构建车队,且已利用本申请提供的车队构建方法进行重新构建得到的车队(即第二已构建车队)。
[0031] 本实施例中,待构建车队可以是当前存在的已构建车队,参考车辆为该已构建车队中的任一车辆;例如为该一已构建车队中位于车队尾或车队首的车辆。当然,在目标区域中存在不属于任一车队的落单车辆的情况下,待构建车队也可以是新创建的车队,其中,新创建的车队仅包括对应的参考车辆,即新创建的车队是将落单车辆作为参考车辆。其中,该落单车辆可以是在目标区域中不存在任何已构建车队情况下的任一车辆,也可以是目标区域中不属于任一当前存在的已构建车队的落单车辆。
[0032] 本实施例中,在构建待构建车队时,需要基于该待构建车队的参考车辆与目标区域中各车辆之间的位置关系,确定满足合队条件的目标车辆,进而基于该目标车辆确定能够加入该待构建车队的所有待合并车辆。
[0033] 在一些实施例中,考虑到待合并车辆在加入待构建车队之前,为不属于待构建车队的车辆,且构建车队时,待构建车队行驶在路口时,或者行驶在道路上时,待合并车辆可能会从各个方向汇入待构建车队,故可随机或者按照预设优先级顺序从待构建车队选出一车辆作为参考车辆;当然,在其他实施例中,也可选取待构建车队中位于特定位置处的车辆作为参考车辆。
[0034] 在一实施例中,考虑到车队中的各车辆是向前方行驶的,为了不影响该车队中已存在车辆的行驶,可将待构建车队中位于队尾的车辆作为参考车辆,以车尾为参考车辆,确定可以加入车尾的待合并车辆。
[0035] 在另一实施例中,可优先考虑将待构建车队中位于队尾的车辆作为参考车辆,以车尾为参考车辆,确定可以加入车尾的待合并车辆。但在待构建车队的队尾后方或者侧方不存在满足合队条件的目标车辆的情况下,可再选取位于待构建车队队尾前方的一车辆作为参考车辆,并继续执行后续步骤,或者,在待构建车队的队尾后方或者侧方不存在满足合队条件的目标车辆的情况下,将当前最新的待构建车队作为新构建得到的第二已构建车队,以结束该待构建车队的构建。
[0036] S12:从目标区域中,选取与参考车辆之间的位置关系满足合队条件的车辆,作为目标车辆。
[0037] 目标区域为车队构建场景中场景所在的区域。示例性的,在车辆为无人工厂中的自动引导车的场景中,目标区域为无人工厂所在的区域。
[0038] 本步骤中,是根据目标区域中各车辆与参考车辆之间的位置关系选取满足合队条件的目标车辆,故在本步骤之前,需要确定各车辆与参考车辆之间的位置关系。
[0039] 在一具体实施例中,可在步骤S12之前,获取目标区域中各车辆在当前时刻的行驶数据,然后再基于各车辆在当前时刻的行驶数据,确定不同车辆之间的位置关系。
[0040] 本实施例中,不同车辆间的位置关系包括车辆之间的距离关系和段路径的涵盖关系中的至少一者。段路径包括:预测得到的车辆在当前时刻的待行驶路径。
[0041] 行驶数据可以但不限于包括车辆当前时刻的待行驶路径,还可以包括车辆在未来预设时间段的待行驶路径,各待行驶路径可根据车辆当前信息(例如车辆的位置、速度等)、交通情况和道路条件等中的至少部分因素进行预测得到,当然,行驶数据还可以是车辆在当前时刻的位置、行驶速度或者行驶方向等。
[0042] 其中,若各车辆的行驶数据包括车辆当前时刻的待行驶路径,则可直接根据该待行驶路径确定车辆之间的距离关系和/或段路径的涵盖关系;当然,若行驶数据包括车辆在当前时刻的位置、行驶速度或者行驶方向等,则可根据各车辆的行驶数据进行路径规划,得到车辆的待行驶路径,再根据待行驶路径确定车辆之间的距离关系和/或段路径的涵盖关系。
[0043] 本实施例中,合队条件为:与参考车辆最近且距离小于或等于距离阈值,段路径涵盖参考车辆,或段路径被参考车辆涵盖。
[0044] 在一实施例中,若参考车辆为待构建车队中当前位于车队尾的车辆,则对应的合队条件可设置为:位于参考车辆之后,与参考车辆最近且距离小于或等于距离阈值,段路径涵盖参考车辆。也就是说,本实施例中,可从目标区域中,选取位于参考车辆之后,与参考车辆最近且距离小于或等于距离阈值,段路径涵盖参考车辆的车辆作为目标车辆,以便后续可以从位于待构建车队后方的车辆中选取待合并车辆。
[0045] 在另一实施例中,若参考车辆为待构建车队中当前位于车队首的车辆,则对应的合队条件可设置为:位于参考车辆之前,与参考车辆最近且距离小于或等于距离阈值,段路径被参考车辆涵盖。也就是说,本实施例中,可从目标区域中,选取位于参考车辆之前,与参考车辆最近且距离小于或等于距离阈值,段路径被参考车辆涵盖的车辆作为目标车辆,以便后续可以从位于待构建车队前方的车辆中选取待合并车辆。
[0046] 在另一实施例中,若参考车辆为待构建车队中当前位于车队首和车队尾之间的一车辆,合队条件为,位于车队侧边,与参考车辆最近且距离小于或等于距离阈值,段路径涵盖参考车辆,或段路径被参考车辆涵盖的车辆作为目标车辆,以便后续可以从位于待构建车队侧方的车辆中选取待合并车辆。
[0047] S13:响应于目标车辆属于当前存在的第一已构建车队中的车辆,从第一已构建车队中选出包括目标车辆在内的至少一车辆,作为待合并车辆。
[0048] S14:将待合并车辆加入待构建车队,以得到新构建得到的第二已构建车队。
[0049] 步骤S13中的情形为目标车辆为属于当前存在的第一已构建车队中的车辆的情形,在该情形下,可从该第一已构建车队中选出包括目标车辆在内的至少一车辆,作为待合并车辆。其中,待合并车辆为能够加入待构建车队中的车辆。
[0050] 构建车队的目的是为了便于后续对构建的属于同一车队的多个车辆进行协同控制。但在一些实施场景中,例如,车队在过红绿灯路口时,虽然该车队中的各车辆均需要通过红绿灯路口,但由于路口一般会设置通行时间,在通行时间内未通过的车辆若此时仍和同一车队的其他成员协同行驶,则易违反交通规则,且容易因其他车队的通行造成交通事故,或者影响其他与待构建车队有不同行驶方向车队的顺利通行。
[0051] 故,为便于控制属于同一车队的多个车辆,避免因一个车队中车辆数量过多造成不利于控制的情况,可将车队中的车辆数量控制在一定范围内,即需预先确定各车队的最大容量。此外,为了保证加入待合并车辆后,待构建车队中的车辆数量未超出对应的最大容量,需要在上述步骤S12,甚至步骤S11之前,确定待构建车队当前是否存在剩余容量,若待构建车队当前存在剩余容量,则继续执行后续步骤,否则,直接将达到最大容量的待构建车队作为第二已构建车队。
[0052] 在一具体实施例中,从第一已构建车队中选出包括目标车辆在内的至少一车辆,作为待合并车辆,包括:确定待构建车队的剩余容量;响应于剩余容量大于或者等于第一已构建车队的成员数量,且目标车辆位于第一已构建车队的车队首,将第一已构建车队中的所有车辆作为待合并车辆;响应于剩余容量小于第一已构建车队的成员数量,且目标车辆位于第一已构建车队的车队首,将第一已构建车队中位置靠前的目标数量个车辆作为待合并车辆。其中,目标数量等于剩余容量。
[0053] 也就是说,在确定待合并车辆的过程中,先确定待构建车队的剩余容量,若剩余容量大于目标车辆所在车队的成员数量,且目标车辆位于该车队的车队首,这种情况下,即使将该车队中的所有车辆均作为待合并车辆,一起加入待构建车队中,也不会超出待构建车队的最大容量。故在剩余容量大于目标车辆所在车队的成员数量,且目标车辆位于该车队的车队首的情况下,可将目标车辆所在车队的所有车辆作为待合并车辆。但若待构建车队的剩余容量小于目标车队所在车队(第一已构建车队)的成员数量,且目标车辆位于第一已构建车队的车队首,则将第一已构建车队中位置靠前的目标数量个车辆作为待合并车辆,将待合并车辆加入待构建车队,并将该第一已构建车队中未加入待构建车队的剩余车辆作为该第一已构建车队的车辆。其中,目标数量等于剩余容量。
[0054] 由上可见,在目标车辆为第一已构建车队中位于车队首的车辆、且剩余容量大于1的情况下,可将目标车辆所在车队中包括目标车辆在内的至少两个车辆均作为待合并车辆。
[0055] 上述为目标车辆属于当前存在的第一已构建车队中的车辆的情形下的车队构建策略。但在有些情况下,目标车辆为不属于任何已构建车队的落单车辆,在这种情形下,可只将目标车辆作为待合并车辆。并在将目标车辆加入待构建车队之后,若待构建车队还存在剩余容量,可重新执行上述从待构建车队选出一车辆作为参考车辆及其之后的步骤,直至待构建车队不存在剩余容量,或目标区域中不存在最新确定的参考车辆的目标车辆,将最近的待构建车队作为新构建得到的第二已构建车队。
[0056] 示例性的,在将目标车辆加入待构建车队之后,若待构建车队还存在剩余容量,可将加入的目标车辆作为新的参考车辆,并重新确定目标车辆步骤以及后续步骤。
[0057] 需要说明的是,第一已构建车队为在构建待构建车队时,目标区域中当前已经存在的已构建车队。第二已构建车队为待构建车队不存在剩余容量或目标区域中不存在对应参考车辆的目标车辆的情况下的待构建车队。
[0058] 具体地,在待构建车队为当前存在的一已构建车队的情况下,第二已构建车队为对待构建车队进行重建,并重建完成后得到的最终的车队,其中重建完成的判断条件为:待构建车队不存在剩余容量,或目标区域中不存在待构建车队的参考车辆的目标车辆。
[0059] 在待构建车队为新创建的车队的情况下,第二已构建车队为创建完成的待构建车队。其中,创建完成的判断条件与上述重建完成的判断条件相同。
[0060] 可以理解的是,第二已构建车队可能需要执行多轮上述确定参考车辆、目标车辆和待合并车辆的步骤才能构建完成。
[0061] 在一些实施例中,上述构建的第二已构建车队中各车辆的排序是依照车辆的位置的排列顺序确定的,第二已构建车队中相邻的后车辆的段路径涵盖前车辆的段路径,且后车辆与前车辆之间的距离小于或等于距离阈值。
[0062] 上述方案,在选出待构建车队的参考车辆和与参考车辆满足合队条件的目标车辆后,若目标车辆属于当前存在的已构建车队(第一已构建车队)中的车辆,可从该已构建的车队中选出包括车辆在内的至少一车辆作为待合并车辆,并将待合并车辆加入待构建车队中,以得到新构建得到的车队(第二已构建车队)。可见,本申请在车队构建的过程中,一次可将至少一车辆加入到待构建车队中,相比于每次只加入一车辆到待构建车队的方式,本申请上述方式可有效提高车队的构建效率。
[0063] 在一些实施例中,考虑到各车辆在行驶过程中,不同车辆之间的位置关系会发生改变,例如两个车辆的距离越来越远,或者两个车辆的段路径不再一致,若在此情况下,仍将该两个车辆作为一个车队中的车辆进行协同控制,会影响目标区域中车辆的行驶效率,或影响车辆之间的安全行驶等,故可在基于各车辆的行驶数据,确定不同车辆间的位置关系之后,基于不同车辆之间的位置关系,确定位置关系满足裂变条件的各相邻目标车辆对,并将相邻目标车辆对作为分裂点,将对应的车队分裂为两个车队,且相邻目标车辆对中的两个车辆分别属于裂变后的两个车队。
[0064] 具体地,请参阅图2,图2是本申请提供的车队裂变一实施例的流程示意图。本实施例中,车队裂变包括:
[0065] S21:依次将当前存在的已构建车队作为第三已构建车队,基于位置关系,从第三已构建车队中查找出位置关系满足裂变条件的相邻目标车辆对。
[0066] S22:将第三已构建车队以相邻目标车辆对作为分裂点,基于各分裂点将第三已构建车队分裂为至少两个新的已构建车队,其中,相邻目标车辆对中的两个车辆分别属于裂变后的两个新存在的已构建车队。
[0067] 本实施例中,可预先设置裂变条件,然后依次从各第三已构建车队中查找出位置关系满足裂变条件的相邻目标车辆对,并将各第三已构建车队以相邻目标车辆对作为分裂点,基于各分裂点将第三已构建车队分裂为至少两个新的已构建车队,其中,相邻目标车辆对中的两个车辆分别属于裂变后的两个新的已构建车队,即裂变后的相邻目标车辆对中的两个车辆不再属于同一个第三已构建车队,其中,裂变后的新的已构建车队可能只包含一个车辆,也可能包含两个以上的车辆。
[0068] 优选地,不同车辆之间的位置关系包括距离关系和段路径的涵盖关系,裂变条件包括:相邻目标车辆对的后车辆的段路径不涵盖前车辆的段路径,或者,相邻目标车辆对之间的距离大于距离阈值。即本实施例中,可从第三已构建车队中查找出后车辆的段路径不涵盖前车辆的段路径,或者距离大于距离阈值的相邻目标车辆对,然后以相邻目标车辆对作为分裂点,找出该第三已构建车队中的所有裂变点,并基于各分裂点将该第三已构建车队分裂为至少两个新的已构建车队。具体的距离阈值可根据车队控制效果确定。其中,段路径的涵盖关系可以理解为两个车辆中一个车辆的段路径是否与另一车辆的段路径存在重叠的路径,各车辆的段路径包括对应车辆当前要走的一段路径。
[0069] 在一具体实施例中,请结合参阅图3,图3为本申请提供的目标区域中车队构建前后的对比示意图。本实施例中,参考车辆为待构建车队中当前位于车队尾的车辆,合队条件为:位于参考车辆之后,与参考车辆最近且距离小于或等于距离阈值,段路径涵盖参考车辆,各车队的最大容量为4辆。如图3所示,箭头所指方向为构建后的车队示意图,目标区域中存在若干车辆。其中,车辆E和车辆F为车队10中的车辆,车辆B、车辆C和车辆D为车队20中的车辆,车辆A为不属于任何车队的落单车辆,车队10和车队20为当前存在的第一已构建车队。本实施例中,可先将车队10作为待构建车队,并选取车辆E作为该待构建车队的参考车辆,然后从目标区域中,选取与车辆E之间的位置关系满足合队条件的车辆D作为目标车辆,图3中,车辆D为当前存在的第一已构建车队(车队20)中的车辆,且位于车队20的车队首,车队10的剩余容量为2(预设各车队的最大容量为4),故将车队20中位置靠前的2个车辆(车辆C和车辆D)加入车队10,车辆C和车辆D加入车队10后,车队10不存在剩余容量,将此时的车队10作为新构建得到的第二已构建车队11。其中,将车队20中的车辆C和车辆D加入车队10后,更新后的车队20只剩下车辆B(为当前不属于任何车队的落单车辆),此时将车辆B作为另一待构建车队的参考车辆,然后从目标区域中,选取与车辆B之间的位置关系满足合队条件的车辆A作为目标车辆,其中,车辆A为当前不属于任何已构建车队的落单车辆,故将车辆A作为待合并车辆,加入车辆B所在的待构建车队,此时,目标区域中不存在参考车辆(车辆B)的目标车辆,故将此时的待构建车队作为新构建得到的第二已构建车队21。
[0070] 需要说明的是,在一些实施场景中,构建车队的目的是为了便于后续对属于同一车队中的不同车辆进行协同控制,例如是控制属于同一车队中的不同车辆按照各自的目标行驶数据(目标行驶路径)行驶。
[0071] 请参阅图4,图4是本申请提供的车队控制方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图4所示的流程顺序为限。如图4所示,本实施例包括:
[0072] S41:获取若干目标车队。
[0073] 本实施例用于在控制各目标车队协同行驶之前,检测不同车辆之间的安全性,进而基于不同车辆之间的安全性检测结果,控制各目标车队协同行驶。
[0074] 其中,目标车队为上文的第二已构建车队,具体各目标车队的构建方法可参考上文第二已构建车队构建过程的描述,此处不做过多赘述。
[0075] S42:依次将各目标车队中各车辆作为待检测车辆,并从若干目标车队中确定出待检测车辆的安全比对车辆。
[0076] 本实施例中,可按照不同目标车队的优先级顺序和同一车队中不同车辆的优先级顺序,依次将各目标车队中的各车辆作为待检测车辆。其中,不同目标车队的优先级顺序可根据目标车队中首车的等待时间,因首车静止导致后车的拥堵数量和各车辆的任务紧急程度等中的至少部分因素确定,同一目标车队中的优先级顺序可根据各车辆的位置顺序确定,例如同一目标车队中的首车优先级最高,以首车为基础从前向后依次减弱车辆的优先级。待检测车辆和安全比对车辆为若干目标车队中的相邻车辆。
[0077] S43:基于待检测车辆和安全比对车辆在当前时刻分别对应的行驶数据,检测待检测车辆和安全比对车辆之间的安全性,得到对应的安全检测结果。
[0078] 其中,安全比对车辆与待检测车辆可能属于相同目标车队,也可能属于不同目标车队,在待检测车辆和安全比对车辆属于相同目标车队和不同目标车队的两种情况下,所采用的检测策略不同。
[0079] 本实施例中,在检测待检测车辆和安全比对车辆之间的安全性之前,需先基于待检测车辆和安全比对车辆分别对应的行驶数据,确定待检测车辆和安全比对车辆在当前时刻分别对应的第一待行驶路径,和/或,确定待检测车辆和安全比对车辆在未来预设时间段分别对应的第二待行驶路径和第三待行驶路径,各车辆在当前时刻的第一待行驶路径用于表征对应车辆在当前时刻的即将行走的待行驶路径,第二待行驶路径和第三待行驶路径分别为待检测车辆和安全比对车辆在未来预设时间段即将要行走的待行驶路径。
[0080] 在一实施例中,行驶数据本身包括车辆在当前时刻的第一待行驶路径和在未来预设时间段的待行驶路径。在另一实施例中,行驶数据包括车辆在当前时刻的位置、行驶方向、速度等数据中的至少部分,各车辆在当前时刻的第一待行驶路径和在未来预设时间段的待行驶路径可根据各车辆的行驶数据进行预测得到。
[0081] 本实施例中,检测待检测车辆和安全比对车辆之间的安全性包括:检测待检测车辆和安全比对车辆之间的第一安全性,和/或,检测待检测车辆和安全比对车辆之间的第二安全性。
[0082] 概括来说,本实施例中,基于待检测车辆和安全比对车辆分别对应的行驶数据,检测待检测车辆和安全比对车辆之间的安全性,得到对应的安全检测结果包括:基于待检测车辆和安全比对车辆分别对应的第一待行驶路径,检测待检测车辆和安全比对车辆之间的第一安全性,得到第一安全检测结果;和/或,基于安全比对车辆的第一待行驶路径、待检测车辆的第一待行驶路径、第二待行驶路径和第三待行驶路径中的至少两者,检测待检测车辆和安全比对车辆之间的第二安全性,得到第二安全检测结果。其中,第一待行驶路径、第二待行驶路径和第三待行驶路径为基于对应车辆在当前时刻的行驶数据确定。
[0083] 待检测车辆和安全比对车辆为若干目标车队中的相邻车辆。上述基于待检测车辆和安全比对车辆分别对应的第一待行驶路径,检测待检测车辆和安全比对车辆之间的第一安全性,得到第一安全检测结果,包括以下两种检测策略:
[0084] 策略一、响应于安全比对车辆与待检测车辆属于相同的目标车队,且待检测车辆为安全比对车辆的前车辆,确定安全比对车辆的第一待行驶路径的第一终点是否达到待检测车辆的第一待行驶路径的第一预设位置;其中,若第一终点达到第一预设位置,确定安全比对车辆与待检测车辆之间存在第一危险,否则,确定安全比对车辆与待检测车辆之间存在第一安全。
[0085] 其中,第一预设位置和待检测车辆的第一待行驶路径的终点之间的距离大于或者等于待检测车辆的车身长度。
[0086] 简言之,若相邻的安全比对车辆与待检测车辆属于相同的目标车队,且待检测车辆为安全比对车辆的前车辆,在检测过程中,若检测到在后的安全比对车辆的第一待行驶路径的终点达到前面的待检测车辆的第一待行驶路径的第一预设位置,则确定安全比对车辆会追尾待检测车辆,即确定安全比对车辆与待检测车辆之间存在碰撞危险,否则确定安全比对车辆与待检测车辆之间是安全的。
[0087] 策略二、响应于安全比对车辆与待检测车辆属于不同的目标车队,且待检测车为安全比对车辆的后车辆,确定待检测车辆的第一待行驶路径的第二终点是否与安全比对车辆接触;其中,若第二终点与安全比对车辆接触,确定安全比对车辆与待检测车辆之间存在第二危险,否则,确定安全比对车辆与待检测车辆之间存在第二安全。
[0088] 简言之,若安全比对车辆与待检测车辆属于不同的目标车队,且安全检测车为安全比对车辆的后车辆,在检测过程中,若检测到在后的待检测车辆的第一待行驶路径的终点与安全比对车辆接触,则确定全比对车辆与待检测车辆之间存在碰撞危险,否则,确定安全比对车辆与待检测车辆之间是安全的。
[0089] 为便于理解上述检测过程,可参考图5,图5是本申请提供的待检测车辆与安全比对车辆的待行驶路径对比示意图。图5中待检测车辆为B,A和C均为待检测车辆B的安全比对车辆,其中,安全比对车辆A和待检测车辆B属于相同的目标车队,安全比对车辆C和待检测车辆B属于不同的目标车队。其中,若安全比对车辆A的第一待行驶路径2的终点达到待检测车辆B的第一待行驶路径3的第一预设位置5处,则确定安全比对车辆A会追尾待检测车辆B。其中,第一预设位置5和待检测车辆B的第一待行驶路径3的终点之间的距离等于待检测车辆B的车身长度,即当安全比对车辆A的第一待行驶路径2的终点达到第一预设位置5时,安全比对车辆A与待检测车辆B接触,这种情况下,安全比对车辆A会追尾待检测车辆B;需要说明的是,为提高车辆之间的安全性,可设置第一预设位置和待检测车辆的第一待行驶路径的终点之间的距离稍大于待检测车辆的车身长度。
[0090] 请继续参阅图5,若检测到在后的待检测车辆B的第一待行驶路径3的终点与安全比对车辆C接触,则确定全比对车辆C与待检测车辆B之间存在碰撞危险,否则,确定安全比对车辆C与待检测车辆B之间是安全的。
[0091] 从图5可以看出,在对属于相同目标车队中的安全比对车辆A和待检测车辆B进行安全检测时,是检测安全比对车辆A的第一待行驶路径2的终点是否达到待检测车辆B的第一待行驶路径3的第一预设位置5;而在对不属于相同目标车队中的安全比对车辆C和待检测车辆B进行安全检测时,是检测待检测车辆B的第一待行驶路径3的终点与安全比对车辆C是否接触,而不是检测待检测车辆B的第一待行驶路径3的终点与安全比对车辆C的第一待行驶路径4的位置关系。即本实施例中,在待检测车辆和安全比对车辆属于相同目标车队和不同目标车队的两种情况下,所采用的检测策略不同。
[0092] 进一步地,在一些实施例中,上述基于安全比对车辆的第一待行驶路径、待检测车辆的第一待行驶路径、第二待行驶路径和第三待行驶路径中的至少两者,检测待检测车辆和安全比对车辆之间的第二安全性,得到第二安全检测结果,包括:
[0093] 第一、检测安全比对车辆的第三待行驶路径的第三终点是否达到待检测车辆的第一待行驶路径的第一预设位置;其中,若第三终点达到第一预设位置,确定安全比对车辆与待检测车辆之间存在第三危险;第一预设位置和待检测车辆的第一待行驶路径的终点之间的距离大于或者等于待检测车辆的车身长度。
[0094] 第二、响应于安全比对车辆与待检测车辆之间存在第三危险,检测待检测车辆的第二待行驶路径的第四终点是否达到安全比对车辆的第一待行驶路径的第二预设位置;其中,若第四终点达到第二预设位置,确定安全比对车辆与待检测车辆之间存在第四危险;第二预设位置和安全比对车辆的第一待行驶路径的终点之间的距离大于或者等于安全比对车辆的车身长度。
[0095] 本实施例的第二安全性检测是为了利用各车辆在未来预设时间段的待行驶路径进行安全检测,其中,需先检测安全比对车辆的第三待行驶路径的第三终点是否达到待检测车辆的第一待行驶路径的第一预设位置,若第三终点达到第一预设位置,确定安全比对车辆与待检测车辆之间存在第三危险。其中,需要说明的是,在存在第三危险的情况下,并不能说明安全比对车辆与待检测车辆之间一定是危险的,可以在存在第三危险的情况下,切割在后的安全比对车辆的第三待行驶路径,但若检测到于安全比对车辆与待检测车辆之间存在第三危险的同时,检测到安全比对车辆与待检测车辆之间还存在第四危险,则确定安全比对车辆与待检测车辆之间存在真正的危险。后续在检测到安全比对车辆与待检测车辆之间既存在第三危险又存在第四危险的情况下,应控制待检测车辆或安全比对车辆静止,以免安全比对车辆与待检测车辆碰撞。
[0096] S44:基于各安全检测结果,控制各目标车队协同行驶。
[0097] 本实施例中,基于各安全检测结果,控制各目标车队协同行驶,包括以下至少一个步骤:
[0098] 第一、基于各安全检测结果,确定各待检测车辆和各安全比对车辆的目标待行驶路径,控制各目标车队中的各车辆按照目标待行驶路径行驶。
[0099] 其中,每对待检测车辆和安全比对车辆的目标待行驶路径是基于对应的第一安全检测结果对待检测车辆和安全比对车辆的第一待行驶路径进行调整得到。
[0100] 需要说明的是,在上述基于待检测车辆和安全比对车辆分别对应的第一待行驶路径,检测得到待检测车辆和安全比对车辆之间的第一安全检测结果后,若上述第一安全检测结果为在后的安全比对车辆与在前的待检测车辆之间存在第一危险,则对在后的安全比对车辆的第一待行驶路径进行切割,得到第一切割路径,将第一切割路径作为安全比对车辆的目标待行驶路径,并将待检测车辆的第一待行驶路径作为待检测车辆的目标待行驶路径;其中,第一切割路径的终点未达到待检测车辆的第一待行驶路径的第一预设位置,且第一切割路径的终点与第一预设位置的距离大于第一距离阈值。
[0101] 但若上述第一安全检测结果为安全比对车辆与待检测车辆之间存在第二危险,对待检测车辆的第一待行驶路径进行切割,得到第二切割路径,并将第二切割路径作为待检测车辆的目标待行驶路径,并将安全比对车辆的第一待行驶路径作为安全比对车辆的目标待行驶路径;其中,第二切割路径的终点与安全比对车辆的距离大于第二距离阈值。具体的第一距离阈值和第二距离阈值可根据实际需要确定。
[0102] 简言之,在检测到属于同一目标车队中的在后的安全比对车辆与在前的待检测车辆之间存在危险的情况下,为避免在后的车辆碰撞到在前的车辆,可对在后的安全比对车辆的第一待行驶路径进行切割,使切割后得到的第一切割路径的终点在待检测车辆的第一待行驶路径的第一预设位置之前。如图5所示,通过切割缩短安全比对车辆A的第一待行驶路径2的长度,使安全比对车辆A的切割后的第一待行驶路径2的终点在第一预设位置5之前,这样可避免安全比对车辆A追尾待检测车辆B。
[0103] 但在检测到属于不同目标车队的在后的待检测车辆与在前的安全比对车辆之间存在危险的情况下,为避免在后的车辆碰撞到在前的车辆,可对在后的待检测车辆的第一待行驶路径进行切割,使切割后得到的第二切割路径的终点在安全比对车辆当前所在位置之前。请参阅图5,通过切割待检测车辆B的第一待行驶路径3的长度,使待检测车辆B的切割后的第一待行驶路径3的终点在安全比对车辆C当前所在位置之前。最终确定的目标待行驶路径为对应车辆的第一待行驶路径中的至少部分路径。
[0104] 可以理解的是,为使若干目标车队中的各在后的车辆不与在前的车辆碰撞,且减少对各车辆进行重复安全检测和/或重复对待检测车辆或安全比对车辆的第一行驶路径进行切割的操作,可根据若干目标车队中各车辆的位置由前到后的顺序,依次选择待检测车辆。
[0105] 在一实施例中,在确定各待检测车辆和各安全比对车辆的目标待行驶路径之后,可直接控制各目标车队中的各车辆按照对应的目标待行驶路径行驶。
[0106] 在另一实施例中,在确定各待检测车辆和各安全比对车辆的目标待行驶路径之后,还需确定待检测车辆和安全比对车辆之间的第二安全检测结果,并基于第二安全检测结果,控制各目标车队中的各车辆按照对应的目标待行驶路径行驶。即本实施例中,控制每对待检测车辆和安全比对车辆按照目标待行驶路径行驶是基于对应的第二安全检测结果触发的。
[0107] 其中,若第二安全检测结果为安全比对车辆与待检测车辆之间不存在第三危险或第四危险,控制待检测车辆或安全比对车辆按照目标待行驶路径行驶。但若第二安全检测结果为安全比对车辆与待检测车辆之间存在第三危险和第四危险,控制待检测车辆或安全比对车辆静止,以免待检测车辆与安全比对车辆发生碰撞。
[0108] 第二、对于各目标车队,响应于目标车队中的各车辆的第一安全检测结果和第二安全检测结果中的至少一个结果为安全,控制目标车队中的各车辆协同行驶。
[0109] 其中,控制目标车队中的各车辆协同行驶可以理解为控制目标车队中的各车辆按照对应的目标待行驶路径一同行驶。
[0110] 需要说明的是,由于目标区域中构建的目标车队的数量可能有多个,其中在控制各目标车队中的各车辆按照对应的目标待行驶路径一同行驶的过程中,可按照各目标车队的优先级顺序控制各目标车队协同行驶。具体各目标车队的优先级顺序的确定方式可参考前文的方法确定,此处不做过多赘述。
[0111] 请参阅图6,图6是本申请提供的车队构建装置一实施例的框架示意图。本实施例中,车队构建装置60包括第一选取模块61、第二选取模块62、第三选取模块63和构建模块64。第一选取模块61用于从待构建车队选出一车辆作为参考车辆;第二选取模块62用于从目标区域中,选取与参考车辆之间的位置关系满足合队条件的车辆,作为目标车辆;第三选取模块63用于响应于目标车辆属于当前存在的第一已构建车队中的车辆,从第一已构建车队中选出包括目标车辆在内的至少一车辆,作为待合并车辆;构建模块64用于将待合并车辆加入待构建车队,以得到新构建得到的第二已构建车队。
[0112] 在一些实施例中,第二选取模块62在从目标区域中,选取与参考车辆之间的位置关系满足合队条件的车辆,作为目标车辆之前,还包括:获取目标区域中各车辆在当前时刻的行驶数据;基于各车辆的行驶数据,确定不同车辆间的位置关系。
[0113] 在一些实施例中,在基于各车辆的行驶数据,确定不同车辆间的位置关系之后,还包括:依次将当前存在的已构建车队作为第三已构建车队,基于位置关系,从第三已构建车队中查找出位置关系满足裂变条件的相邻目标车辆对;将第三已构建车队以相邻目标车辆对作为分裂点,基于各分裂点将第三已构建车队分裂为至少两个新的已构建车队,其中,相邻目标车辆对中的两个车辆分别属于裂变后的两个新存在的已构建车队。
[0114] 在一些实施例中,裂变条件包括:相邻目标车辆对的后车辆的段路径不涵盖前车辆的段路径,或者,相邻目标车辆对之间的距离大于距离阈值。
[0115] 在一些实施例中,位置关系包括距离关系和段路径的涵盖关系;第二已构建车队中各车辆的排序是依照车辆的位置的排列顺序确定的,第二已构建车队中相邻的后车辆的段路径涵盖前车辆的段路径,且后车辆与前车辆之间的距离小于或等于距离阈值;参考车辆为待构建车队中当前位于车队尾的车辆,合队条件包括:位于参考车辆之后,与参考车辆最近且距离小于或等于距离阈值,段路径涵盖参考车辆;或者,参考车辆为待构建车队中当前位于车队首的车辆,合队条件包括:位于参考车辆之前,与参考车辆最近且距离小于或等于距离阈值,段路径被参考车辆涵盖。
[0116] 在一些实施例中,第三选取模块63从第一已构建车队中选出包括目标车辆在内的至少一车辆,作为待合并车辆,包括:确定待构建车队的剩余容量;响应于剩余容量大于或者等于第一已构建车队的成员数量,且目标车辆位于第一已构建车队的车队首,将第一已构建车队中的所有车辆作为待合并车辆;响应于剩余容量小于第一已构建车队的成员数量,且目标车辆位于第一已构建车队的车队首,将第一已构建车队中位置靠前的目标数量个车辆作为待合并车辆;目标数量等于剩余容量。
[0117] 在一些实施例中,在第二选取模块62从目标区域中,选取与参考车辆之间的位置关系满足合队条件的车辆,作为目标车辆之后,还包括:响应于目标车辆当前为不属于任何已构建车队的落单车辆,将目标车辆作为待合并车辆;和/或,构建模块64在将待合并车辆加入待构建车队之后,还包括:响应于待构建车队还存在剩余容量,重新执行从待构建车队选出一车辆作为参考车辆及其之后的步骤,直至待构建车队不存在剩余容量,或目标区域中不存在最新确定的参考车辆的目标车辆,将最近的待构建车队作为新构建得到的第二已构建车队。
[0118] 在一些实施例中,待构建车队为当前存在的一已构建车队,或者新创建的车队,其中,新创建的车队仅包括参考车辆,在待构建车队为一已构建车队的情况下,待构建车队的参考车辆为一已构建车队中位于车队尾的车辆;和/或,各车辆为自动引导车;属于相同车队中的不同自动引导车所执行的任务相同或不同。
[0119] 请参阅图7,图7是本申请提供的车队控制装置一实施例的框架示意图。本实施例中,车队控制装置70包括获取模块71、确定模块72、检测模块73和控制模块74。获取模块71用于获取若干目标车队;确定模块72用于依次将各目标车队中各车辆作为待检测车辆,并从若干目标车队中确定出待检测车辆的安全比对车辆;检测模块73用于基于待检测车辆和安全比对车辆在当前时刻分别对应的行驶数据,检测待检测车辆和安全比对车辆之间的安全性,得到对应的安全检测结果;其中,安全比对车辆与待检测车辆属于相同目标车队或不同目标车队,在待检测车辆和安全比对车辆属于相同目标车队和不同目标车队的两种情况下,所采用的检测策略不同;控制模块74用于基于各安全检测结果,控制各目标车队协同行驶。
[0120] 在一些实施例中,确定模块72基于待检测车辆和安全比对车辆在当前时刻分别对应的行驶数据,检测待检测车辆和安全比对车辆之间的安全性,得到对应的安全检测结果,包括:基于待检测车辆和安全比对车辆分别对应的第一待行驶路径,检测待检测车辆和安全比对车辆之间的第一安全性,得到第一安全检测结果;和/或,基于安全比对车辆的第一待行驶路径、待检测车辆的第一待行驶路径、第二待行驶路径和第三待行驶路径中的至少两者,检测待检测车辆和安全比对车辆之间的第二安全性,得到第二安全检测结果;其中,第一待行驶路径、第二待行驶路径和第三待行驶路径为基于对应车辆在当前时刻的行驶数据确定,第一待行驶路径为对应车辆在当前时刻的待行驶路径,第二待行驶路径和第三待行驶路径分别为待检测车辆和安全比对车辆在未来预设时间段的待行驶路径;控制模块74基于各安全检测结果,控制各目标车队协同行驶,包括以下至少一个步骤:基于各安全检测结果,确定各待检测车辆和各安全比对车辆的目标待行驶路径,控制各目标车队中的各车辆按照目标待行驶路径行驶,其中,每对待检测车辆和安全比对车辆的目标待行驶路径是基于对应的第一安全检测结果对待检测车辆和安全比对车辆的第一待行驶路径进行调整得到,和/或,控制每对待检测车辆和安全比对车辆按照目标待行驶路径行驶是基于对应的第二安全检测结果触发的;对于各目标车队,响应于目标车队中的各车辆的第一安全检测结果和第二安全检测结果中的至少一个结果为安全,控制目标车队中的各车辆协同行驶。
[0121] 在一些实施例中,待检测车辆和安全比对车辆为若干目标车队中的相邻车辆;基于待检测车辆和安全比对车辆分别对应的第一待行驶路径,检测待检测车辆和安全比对车辆之间的第一安全性,得到第一安全检测结果,包括:响应于安全比对车辆与待检测车辆属于相同的目标车队,且待检测车辆为安全比对车辆的前车辆,确定安全比对车辆的第一待行驶路径的第一终点是否达到待检测车辆的第一待行驶路径的第一预设位置;其中,若第一终点达到第一预设位置,确定安全比对车辆与待检测车辆之间存在第一危险,否则,确定安全比对车辆与待检测车辆之间存在第一安全;响应于安全比对车辆与待检测车辆属于不同的目标车队,且待检测车为安全比对车辆的后车辆,确定待检测车辆的第一待行驶路径的第二终点是否与安全比对车辆接触;其中,若第二终点与安全比对车辆接触,确定安全比对车辆与待检测车辆之间存在第二危险,否则,确定安全比对车辆与待检测车辆之间存在第二安全。
[0122] 请参阅图8,图8是本申请提供的电子设备一实施例的框架示意图。本实施方式中,电子设备80包括相互耦接的存储器81和处理器82。
[0123] 存储器81存储有程序指令,处理器82用于执行存储器81中存储的程序指令,以实现上述任一方法实施方式的步骤。在一个具体的实施场景中,电子设备80可以包括但不限于:微型计算机、服务器,此外,电子设备80还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
[0124] 具体而言,处理器82用于控制其自身以及存储器81以实现上述任一实施方式的步骤。处理器82还可以称为CPU(Central Processing Unit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器82可以由集成电路芯片共同实现。
[0125] 请参阅图9,图9是本申请提供的计算机可读存储介质的框架示意图。本申请实施例的计算机可读存储介质90存储有程序指令91,该程序指令91被执行时实现上述方法中任一实施例以及任意不冲突的组合所提供的方法。其中,该程序指令91可以形成程序文件以软件产品的形式存储在上述计算机可读存储介质90中,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式方法的全部或部分步骤。而前述的计算机可读存储介质90包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
[0126] 上述方案,在选出待构建车队的参考车辆和与参考车辆满足合队条件的目标车辆后,若目标车辆属于当前存在的已构建车队(第一已构建车队)中的车辆,可从该已构建的车队中选出包括车辆在内的至少一车辆作为待合并车辆,并将待合并车辆加入待构建车队中,以得到新构建得到的车队(第二已构建车队)。可见,本申请在车队构建的过程中,一次可将至少一车辆加入到待构建车队中,相比于每次只加入一车辆到待构建车队的方式,本申请上述方式可有效提高车队的构建效率。
[0127] 上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
[0128] 在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
[0129] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
[0130] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0131] 集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0132] 以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。