具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种作业车辆的控制方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种作业车辆的控制方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,在确定第一作业车辆需要执行第一作业任务的情况下,从多个作业区段中确定目标作业区段,其中,多个作业区段是对作业区域进行划分得到的结果,目标作业区段用于第一作业车辆移动至该作业区段对应的作业位置上执行第一作业任务。
上述的第一作业车辆可以是矿区中执行作业任务的自动驾驶车辆,对于不同业务场景,第一作业车辆的类型不同,例如,在自动驾驶作业车辆执行煤炭、表土等物料的自动化卸载的场景中,第一作业车辆可以是自动驾驶矿卡,但不仅限于此。上述的第一作业任务可以是第一作业车辆需要执行的作业任务,对于不同业务场景,第一作业任务的类型不同,例如,在自动驾驶作业车辆执行煤炭、表土等物料的自动化卸载的场景中,第一作业任务可以是物料卸载任务,但不仅限于此。
上述的作业区域可以是能够实现第一作业车辆执行第一作业任务的区域,在不同场景下,作业区域的大小不同。在自动驾驶作业车辆执行煤炭、表土等物料的自动化卸载的场景中,自动驾驶作业车辆除了可以行驶至固定卸载位置(如破碎站)执行物料卸载任务之外,还可以行驶至排土挡墙处进行物料卸载,使得物料沿着排土挡墙卸载至排土挡墙坡面以下。在该场景中,如图2所示,作业区域20可以是以排土挡墙10为边缘的区域,第一作业车辆可以在该区域内行驶、倒车,从而行驶至排土挡墙处。
考虑到在一个作业区域内往往同时有多个作业车辆执行作业任务,而且,在实际场景中,排土挡墙往往在间隔一段时间之后,需要辅助设备(如铲车)进行挡墙的修正。为了避免不同车辆之间出现交叉作业,可以预先将整个作业区域划分成多个不同的作业区段,作业区段的数量可以根据作业区域的大小、执行作业任务的自动驾驶作业车辆的数量等确定,但不仅限于此。如图2所示,可以将作业区域20划分为两个作业区段,分别为作业区段21和作业区段22。
在一种可选的实施例中,本发明实施例提供的方法可以应用于自动驾驶作业车辆,也可以应用于云平台。如果该方法应用于云平台,则第一作业车辆在确定需要执行第一作业任务的时候,可以发送消息至云平台,通知云平台第一作业车辆需要执行第一作业任务,此处的消息可以是作业任务的执行请求,也可以是第一作业车辆的位置信息。如果该方法应用于自动驾驶作业车辆,自动驾驶作业车辆可以预先从云平台获取自动驾驶作业车辆所处区域的地图,并基于自动驾驶作业车辆的定位信息,确定第一作业车辆是否需要执行第一作业任务,例如,如果第一作业车辆行驶至作业区域的入口,则可以确定第一作业车辆需要执行第一作业任务,否则,可以确定第一作业车辆不需要执行第一作业任务。
在另一种可选的实施例中,在确定第一作业车辆需要执行第一作业任务的情况下,可以根据预先设定的作业区段筛选规则从多个作业区段中筛选出一个合适的作业区段,作为目标作业区段,从而第一作业车辆可以行驶至目标作业区段对应的作业位置上执行第一作业任务。上述的作业区段筛选规则可以包括如下至少之一:该作业区段内是否存在辅助设备执行辅助任务;第一作业任务的紧急程度;该作业区段与作业区域的入口之间的距离;该作业区段与作业区域的出口之间的距离;第一作业车辆行驶至该作业区段对应的作业位置执行第一作业任务的行驶距离或行驶时间,但不仅限于此。在实际应用场景中,可以根据用户需要确定作业区段筛选规则,并基于该规则从多个作业区段中筛选出合适的目标作业区段。
步骤S104,从目标作业区段对应的多个作业位置中确定目标作业位置,其中,多个作业位置是对目标作业区段对应的子区域进行划分得到的结果,目标作业位置是在存在已经进入目标作业区段但未移动至目标作业区段对应的作业位置上执行第二作业任务的第二作业车辆的情况下,根据第一作业车辆和第二作业车辆的行驶通道所确定的作业位置,或者,根据第二作业车辆对应的作业位置和预设作业位置间隔所确定的作业位置。
考虑到排土挡墙的长度较长,而自动驾驶作业车辆的宽度较小,为了避免不同自动驾驶作业车辆在物料卸载过程中出现交叉,可以进一步按照自动驾驶作业车辆的宽度对每个作业区段对应的子区域进行划分,得到每个作业区段对应的多个作业位置。需要说明的是,为了避免严格按照自动驾驶作业车辆的宽度,无法对作业区段进行均匀划分,可以对划分宽度进行适当扩大,使得能够对作业区段进行均匀划分。如图2所示,可以将每个作业区域划分成13个作业位置(如图中的矩形框所示)。
在一种可选的实施例中,在从多个作业区段中确定出目标作业区段之后,可以根据预先设定的作业位置筛选规则从目标作业区段对应的多个作业位置中筛选出一个合适的作业位置,作为目标作业位置,从而第一作业车辆可以行驶至目标作业位置上执行第一作业任务。上述的作业位置筛选规则可以包括如下至少之一:与作业区域内的其他自动驾驶作业车辆是否会出现冲突;该作业位置与目标作业区段的入口之间的距离;该作业位置与目标作业区段的出口之间的距离;第一作业车辆行驶至该作业位置执行第一作业任务的行驶距离或行驶时间,但不仅限于此。在实际应用场景中,可以根据用户需要确定作业位置筛选规则,并基于该规则从多个作业区段中筛选出合适的目标作业区段。
可选的,在确定出目标作业区段之后,为了避免不同自动驾驶作业车辆之间出现冲突,在存在已经进入目标作业区段但未移动至目标作业区段对应的作业位置上执行第二作业任务的第二作业车辆的情况下,根据第一作业车辆和第二作业车辆的行驶通道确定目标作业位置,或者,根据第二作业车辆对应的作业位置和预设作业位置间隔确定目标作业位置。
步骤S106,生成作业控制指令,其中,作业控制指令用于控制第一作业车辆移动至目标作业位置执行第一作业任务。
在一种可选的实施例中,如果该方法应用于云平台,则在云平台确定出目标作业位置之后,可以基于目标作业位置生成一个作业控制指令,并通过互联网发送给第一作业车辆,从而第一作业车辆可以基于接收到的作业控制指令,自动行驶至目标作业位置并执行第一作业任务。如果该方法应用于自动驾驶作业车辆,则在自动驾驶作业车辆确定出目标作业位置之后,可以基于目标作业位置生成一个作业控制指令,并发送给第一作业车辆的控制器,由控制器控制第一作业车辆移动至目标作业位置执行第一作业任务。
下面结合图3,以自动驾驶作业车辆执行排土卸载作业为例进行详细说明,如图3所示,可以在作业区域中沿着排土挡墙生成多个排土位,并且,可以对排土挡墙(排土线)进行划分得到多个排土段,使得在确定自动驾驶作业车辆需要进行排土作业的情况下,从多个排土段中选择目标排土段,然后从目标排土段对应的多个排土位中选择目标排土位,最后可以控制自动驾驶作业车辆前往目标排土位进行排土作业。
通过本发明上述实施例提供的技术方案,在确定第一作业车辆需要执行第一作业任务的情况下,从多个作业区段中确定目标作业区段,进一步从目标作业区段对应的多个作业位置中确定目标作业位置,最后生成作业控制指令,以控制第一作业车辆移动至目标作业位置执行第一作业任务。容易注意到的是,通过预先将作业区域划分为多个作业区段,并将作业区段对应的子区域划分成多个作业位置,从而在确定自动驾驶作业车辆需要执行卸载作业的情况下,可以从多个作业区段中确定一个合适的目标作业区段,进一步从目标作业区段对应的多个作业位置中确定一个合适的目标作业位置,可选的,在存在已经进入目标作业区段但未移动至目标作业区段对应的作业位置上执行第二作业任务的第二作业车辆的情况下,根据第一作业车辆和第二作业车辆的行驶通道确定目标作业位置,或者,根据第二作业车辆对应的作业位置和预设作业位置间隔确定目标作业位置,避免了自动驾驶作业车辆之间,以及自动驾驶作业车辆与辅助设备之间出现冲突,不仅解决了相关技术中自动驾驶作业车辆自主选择作业位置导致作业效率降低的技术问题,进一步达到了最大化同时执行作业的自动驾驶作业车辆的数量,从而最大化自动驾驶作业车辆在作业过程中的效率的技术效果。
在本发明上述实施例中,从多个作业区段中确定目标作业区段,包括:确定多个作业区段的当前状态,其中,当前状态用于表征是否允许第一作业车辆移动至多个作业区段对应的作业位置上执行第一作业任务;基于当前状态,从多个作业区段中确定目标作业区段。
在第一种可选的实施例中,考虑到排土挡墙往往在间隔一段时间之后,需要辅助设备(如铲车)进行挡墙的修正,可以预先基于辅助设备的辅助作业需求,确定每个作业区段是否允许自动驾驶作业车辆执行作业任务。在第二种可选的实施例中,考虑到排土挡墙在一段时间之后可能导致部分作业位置无法满足自动驾驶作业车辆的作业需求,例如,作业位置上土量较多,导致自动驾驶作业车辆无法安全停放在该作业位置上,可以根据作业区段对应的作业位置上的土量情况,确定每个作业区段是否允许自动驾驶作业车辆执行作业任务。在第三种可选的实施例中,为了避免同一个作业区段内同时执行作业任务的自动驾驶作业车辆的数量较多,可以实时监控同一个作业区段内的自动驾驶作业车辆,并根据自动驾驶作业车辆的总数量,确定该作业区段是否允许自动驾驶作业车辆执行作业任务。
在确定出每个作业区段是否允许自动驾驶作业车辆执行作业任务之后,可以为每个作业区段标注相应的状态,例如,可以将状态标志位设置相应的数值。例如,如果允许自动驾驶作业车辆执行作业任务,则可以将状态标志位置1,如果不允许自动驾驶作业车辆执行作业任务,则可以将状态标志位置0。
进一步地,在需要从多个作业区段中筛选出目标作业区段的时候,可以通过每个作业区段的状态标志位的具体取值,确定每个作业区段的当前状态,进而基于当前状态确定多个作业区段中的目标作业区段。
在本发明上述实施例中,确定多个作业区段的当前状态,包括:针对多个作业区段中的任一作业区段:在确定辅助设备在该作业区段执行辅助作业任务的情况下,确定该作业区段的当前状态表征不允许第一作业车辆移动至该作业区段对应的作业位置上执行第一作业任务,其中,辅助设备用于对作业区段进行修整;或者,在确定辅助设备在该作业区段完成辅助作业任务的情况下,确定该作业区段的当前状态表征允许第一作业车辆移动至该作业区段对应的作业位置上执行第一作业任务。
在第一种可选的实施例中,考虑到排土挡墙往往在间隔一段时间之后,需要辅助设备进行挡墙的修正,可以基于辅助设备的辅助作业需求,确定每个作业区段是否允许自动驾驶作业车辆执行作业任务。对于每一个作业区段,如果该作业区段需要辅助设备执行辅助作业任务,也即,如果该作业区段需要辅助设备修整挡墙,则确定该作业区段不允许自动驾驶作业车辆执行作业任务,进而确定该作业区段的当前状态表征不允许第一作业车辆移动至该作业区段对应的作业位置上执行第一作业任务;如果该作业区段不需要辅助设备执行辅助作业任务,也即,如果该作业区段不需要辅助设备修整挡墙,则确定该作业区段允许自动驾驶作业车辆执行作业任务,进而确定该作业区段的当前状态表征允许第一作业车辆移动至该作业区段对应的作业位置上执行第一作业任务。
通过判断辅助设备是否在作业区域内执行辅助任务,确定作业区段的当前状态,可以达到避免自动驾驶作业车辆和辅助设备交叉作业的问题,进而提升自动驾驶作业车辆执行卸载作业任务的效率和安全性。
在本发明上述实施例中,基于当前状态,从多个作业区段中确定目标作业区段,包括:确定多个作业区段的优先级;基于当前状态和优先级,从多个作业区段中确定目标作业区段。
上述的优先级可以表示作业区段内执行作业任务的紧急程度,紧急程度越高,相应的优先级越高,紧急程度越低,相应的优先级越低。可选地,优先级与以下参数至少之一相关:第一作业车辆的当前位置和作业区段的入口之间的距离,作业区段对应的挡墙推进的进度。例如,第一作业车辆的当前位置和作业区段的入口之间的距离越近,优先级越高;又例如,作业区段对应的挡墙推进的进度越快,优先级越高。
在一种可选的实施例中,在确定多个作业区段的当前状态之后,可以进一步确定每个作业区段的优先级,从而筛选出当前状态为允许第一作业车辆移动至多个作业区段对应的作业位置上执行第一作业任务,且优先级较高的作业区段,作为目标作业区段。
在本发明上述实施例中,从目标作业区段对应的多个作业位置中确定目标作业位置,包括:确定是否存在已经进入目标作业区段但未移动至目标作业区段对应的作业位置上执行第二作业任务的第二作业车辆;在不存在第二作业车辆的情况下,从多个作业位置中确定预设筛选规则对应的作业位置,作为目标作业位置;或者,在存在第二作业车辆的情况下,从多个作业位置中确定第一作业车辆的行驶通道与第二作业车辆的行驶通道不发生冲突的作业位置,作为目标作业位置。
上述的行驶通道可以是作业车辆在行驶过程中,作业车辆所覆盖的区域,可以理解为是以作业车辆的轨迹点为中心,具有一定宽度的通道,此处的宽度可以是作业车辆的宽度。行驶通道可以确保作业车辆行驶顺畅,与其他障碍物不发生冲突。
在一种可选的实施例中,在确定出目标作业区段之后,为了避免不同自动驾驶作业车辆之间出现冲突,在筛选目标作业位置的过程中,首先判断目标作业区段内是否存在多个自动驾驶作业车辆同时执行作业任务,也即,判断是否存在已经进入目标作业区段但未移动至目标作业区段对应的作业位置上执行第二作业任务的第二作业车辆。然后基于判断结果采用不同的处理策略,例如,如果不存在第二作业车辆,则表明目标作业区域内不会出现作业冲突的问题,可以直接基于预设筛选规则从多个作业位置中筛选出一个合适的作业位置,作为目标作业位置;如果存在第二作业车辆,则表明目标作业区域内可能会出现作业冲突的问题,可以从多个作业位置中确定第一作业车辆的行驶通道与第二作业车辆的行驶通道不发生冲突的作业位置,作为目标作业位置。
可选的,预设筛选规则包括如下之一:确定距离目标作业区段的入口最近的作业位置,作为目标作业位置;确定距离目标作业区段的出口最近的作业位置,作为目标作业位置;确定从目标作业区段的入口进入且从目标作业区段的出口离开的预测行驶距离最短或者预测行驶时间最短的作业位置,作为目标作业位置。
在第一种可选的实施例中,如果不存在第二作业车辆,为了方便作业车辆快速达到目标作业位置,可以从多个作业位置中选择一个距离目标作业区段的入口最近的作业位置,作为目标作业位置。在第二种可选的实施例中,如果不存在第二作业车辆,为了方便作业车辆快速离开目标作业区域,可以从多个作业位置中选择一个距离目标作业区段的出口最近的作业位置,作为目标作业位置。在第三种可选的实施例中,如果不存在第二作业车辆,为了缩短作业车辆在目标作业区域内的行驶时间或行驶距离,可以从多个作业位置中选择一个从目标作业区段的入口进入且从目标作业区段的出口离开的预测行驶距离最短或者预测行驶时间最短的作业位置,作为目标作业位置。
在本发明上述实施例中,从多个作业位置中确定第一作业车辆的行驶通道与第二作业车辆的行驶通道不发生冲突的作业位置,作为目标作业位置,包括:基于第二作业车辆对应的作业位置和第二作业车辆的行驶参数,生成第二作业车辆的行驶通道,其中,第二作业车辆的行驶通道用于第二作业车辆移动至第二作业车辆对应的作业位置上执行第二作业任务;基于多个作业位置和第一作业车辆的行驶参数,生成多个第一作业车辆的行驶通道,其中,第一作业车辆的行驶通道用于第一作业车辆移动至相应的作业位置上执行第一作业任务;从多个第一作业车辆的行驶通道中,确定与第二作业车辆的行驶通道不会发生冲突的目标行驶通道;在多个第一作业车辆的行驶通道中存在目标行驶通道的情况下,从多个作业位置中确定目标行驶通道对应的作业位置,作为目标作业位置。
上述的行驶参数可以是作业车辆在行驶过程中的参数,例如,转弯半径、倒车距离、换向点位置等,但不仅限于此。对于每个自动驾驶作业车辆,往往型号是相同的,也即行驶过程中的参数是相同,进一步地,行驶参数也可以包括作业车辆的预设的标准行驶轨迹片段,如图4所示,标准行驶轨迹片段可以是自动驾驶作业车辆倒车进入作业位置的轨迹片段。可选的,在本实施例中,根据目标作业区段入口、第二作业车辆当前的作业位置、以及该预设的标准行驶轨迹片段,并结合第一作业车辆的感知数据,可以准确预测出第二作业车辆待驶入的目标作业位置,进而确定第二作业车辆的行驶通道。或者,可选的,在第二作业车辆驶入目标作业区段且尚未驶入目标作业位置的情况下,其自主生成V2V(Vehicle toVehicle,车联网)信息,其中,V2V信息中携带了其即将驶入的目标作业位置,进而第一作业车辆在驶入该目标作业区段的入口之前,可以获取到该V2V信息,并根据目标作业区段入口、第二作业车辆当前的作业位置、该预设的标准行驶轨迹片段以及第二作业车辆的目标作业位置,确定第二作业车辆的行驶通道。从上述实施例可以看出,通过预设标准行驶轨迹片段,可以使得第一作业车辆更便捷精准的获取第二作业车辆的行驶通道,并且也可以更便捷精准的预测第一作业车辆的行驶通道。
在一种可选的实施例中,在存在第二作业车辆的情况下,为了避免多个作业车辆之间出现冲突,可以获取第二作业车辆对应的作业位置和第二作业车辆的行驶参数,然后利用预先设定好的行驶通道生成算法,基于第二作业车辆对应的作业位置和第二作业车辆的行驶参数,生成第二作业车辆的行驶通道。并且,可以利用预先设定好的行驶通道生成算法基于每个作业位置和第一作业车辆的行驶参数,生成每个作业位置对应的行驶通道,作为第一作业车辆的行驶通道。通过判断每个作业位置对应的行驶通道与第二作业车辆的行驶通道是否发生冲突,例如,判断每个作业位置对应的行驶通道与第二作业车辆的行驶通道是否发生重叠,确定每个作业位置是否可以作为目标作业位置,其中,如果一个作业位置对应的行驶通道与第二作业车辆的行驶通道不会发生冲突,则可以确定该作业位置为目标作业位置。
可选地,可以通过以下方式获取第二作业车辆对应的作业位置和/或第二作业车辆的行驶参数:通过车联网获取第二作业车辆对应的作业位置和/或第二作业车辆的行驶参数;或者,获取针对第二作业车辆的感知数据,并根据感知数据获取第二作业车辆对应的作业位置和/或第二作业车辆的行驶参数。
在一种可选的实施例中,对于第一作业车辆,可以直接通过车联网与第二作业车辆进行通信,也即,第一作业车辆通过车联网发送位置获取请求和/或参数获取请求,使得第二作业车辆可以根据获取到的请求返回第二作业车辆的作业位置和/或第二作业车辆的行驶参数至第一作业车辆,使得第一作业车辆可以获取到第二作业车辆对应的作业位置和/或第二作业车辆的行驶参数。
在另一种可选的实施例中,可以通过第一作业车辆上安装的传感器(例如激光雷达传感器、毫米波雷达传感器、图像采集器等)对第二作业车辆进行感知,得到第二作业车辆的感知数据,从而通过对感知数据进行分析,可以确定第二作业车辆对应的作业位置和/或第二作业车辆的行驶参数。需要说明的是,感知数据的具体分析方法可以采用相关技术中的数据处理方法实现,本申请对此不作具体限定。
在本发明上述实施例中,从多个作业位置中确定第一作业车辆的行驶通道与第二作业车辆的行驶通道不发生冲突的作业位置,作为目标作业位置,包括:获取预设作业位置间距,其中,预设作业位置间距用于表征在第一作业车辆的行驶通道与第二作业车辆的行驶通道不发生冲突的情况下,第一作业车辆对应的作业位置与第二作业车辆对应的作业位置之间的最小间距;从多个作业位置中获取与第二作业车辆对应的作业位置之间的距离大于预设作业位置间距的作业位置,作为目标作业位置。
由于行驶通道的生成需要消耗较多的计算资源,而且自动驾驶作业车辆的型号往往是相同的,使得不同自动驾驶作业车辆的标准行驶轨迹片段也是相同的。因此,为了避免资源浪费,可以在对作业区域进行划分,得到多个作业区段,并对每个作业区段进行划分,得到多个作业位置之后,通过对自动驾驶作业车辆的标准行驶轨迹片段进行分析,根据标准行驶轨迹片段,可以得到两个自动驾驶作业车辆进入作业位置的行驶通道没有冲突的情况下,作业位置之间的最小间距(如作业位置之间的最小间隔数量)。
例如,如图5所示,如果作业位置之间间隔3个作业位置,两个自动驾驶作业车辆进入作业位置的行驶通道之间仍然存在冲突,如果作业位置之间间隔7个作业位置,可以确保两个自动驾驶作业车辆进入作业位置的行驶通道之间不存在冲突。
在一种可选的实施例中,在存在第二作业车辆的情况下,为了避免不同自动驾驶作业车辆之间存在冲突,在获取到第二作业车辆对应的作业位置之后,可以选择与该作业位置的距离大于预设作业位置间距的作业位置,作为目标作业位置。例如,如果预设作业位置间隔7个作业位置,那么可以选取第二作业车辆对应的作业位置的左侧第8个作业位置或右侧第8个作业位置,作为目标作业位置。
在本发明上述实施例中,从多个作业位置中确定第一作业车辆的行驶通道与第二作业车辆的行驶通道不发生冲突的作业位置,作为目标作业位置,包括:从多个作业位置中确定与第二作业车辆对应的作业位置之间的距离大于预设作业位置间距的作业位置,作为候选作业位置;在候选作业位置的数量为一个的情况下,确定候选作业位置为目标作业位置;在候选作业位置的数量为多个的情况下,从多个候选作业位置中确定预设筛选规则对应的候选作业位置,作为目标作业位置。
在一种可选的实施例中,无论按照行驶通道确定目标位置,还是按照预设作业位置间距确定目标位置,由于与第二作业车辆对应的作业位置之间的距离大于预设作业位置间距的作业位置通常不止一个,如果候选作业位置只有一个,则可以直接将该候选作业位置为目标作业位置;如果候选作业位置不止一个,则可以按照预先设定的作业位置筛选规则,从多个候选作业位置中确定一个合适的作业位置,作为目标作业位置。需要说明的是,此处的作业位置筛选规则如前面的内容所述,在此不做赘述。
在本发明上述实施例中,在多个作业位置中不存在与第二作业车辆对应的作业位置之间的距离大于预设作业位置间距的作业位置的情况下,该方法还包括:按照指定作业位置间距,从多个作业位置中确定与第二作业车辆对应的作业位置之间的距离大于指定作业位置间距的目标候选作业位置,并基于目标候选作业位置确定目标作业位置,其中,指定作业位置间距是按照指定规则对预设作业位置间距进行缩小得到的。可选的,可以通过第一作业车辆前端的感知装置采集感知数据(优选地,为激光点云数据),对感知数据进行分析获取目标作业区段内已驶入目标作业位置的车辆及待驶入目标作业位置的车辆的相邻车辆之间的横向位置距离,得到多个横向位置距离,并根据该多个横向位置距离确定对预设作业位置间距进行缩小的缩小量,以确定指定作业位置间距。
上述的指定规则可以是按照一定的缩小量将预设作业位置间距缩小,例如,缩小量为3个作业位置,则可以将预设作业位置间距从7个作业位置调整为4个作业位置。上述的指定规则还可以是动态缩小预设作业位置间距的规则,例如,可以通过二分查找的方式实现预设作业位置间距缩小的目的。
在一种可选的实施例中,可以按照预先设定好的规则(也即上述的指定规则)将预设作业位置间距缩小,得到指定作业位置间距,并可以选择与该作业位置的距离大于预设作业位置间距的作业位置,作为目标作业位置。例如,可以将预设作业位置间距从7个作业位置调整为4个作业位置,得到指定作业位置间距,那么可以选取第二作业车辆对应的作业位置的左侧第5个作业位置或右侧第5个作业位置,作为目标作业位置。
在另一种可选的实施例中,可以采用二分查找的方式,将预设作业位置间距缩小一半,得到指定作业位置间距,进一步基于指定作业位置间距从多个作业位置中确定目标作业位置,如果仍然无法确定目标作业位置,则可以重复上述操作,直至得到目标作业位置。例如,假设预设作业位置间距为7个作业位置,如果此时无法确定目标作业位置,则可以将预设作业位置间距调整为(7-1)/2=3个作业位置,以此类推。
通过上述方法,可以尽量在保证多个自动驾驶作业车辆在同一个作业区段内执行作业任务的情况下,最大程度地保证不同自动驾驶作业车辆之间的安全距离。
在本发明上述实施例中,在控制第一作业车辆移动至目标作业位置执行第一作业任务的过程中,该方法还包括:获取第一作业车辆的第一感知信息,其中,第一感知信息用于表征目标作业区段中除第一作业车辆之外的第二作业车辆的信息;基于第一感知信息确定第二作业车辆对应的作业位置;确定第二作业车辆对应的作业位置与目标作业位置之间的目标间距;在目标间距大于或等于预设间距的情况下,控制第一作业车辆移动至目标作业位置执行第一作业任务。
上述的预设间距可以是预先设定的安全间距,通过该间距可以确保不同自动驾驶作业车辆之间的安全作业。
在一种可选的实施例中,在第一作业车辆行驶至目标作业位置执行第一作业任务的过程中,需要实时监测自身与其他自动驾驶作业车辆之间的间距,可选的,可以通过第一作业车辆上安装的传感器对第一作业车辆周围环境进行感知,得到第一感知信息,进而通过对第一感知信息进行分析,可以确定第一作业车辆与第二作业车辆之间的目标间距。进一步地,如果确定目标间距大于或等于预设间距,则表明第一作业车辆与第二作业车辆之间可以进行安全作业,因此,第一作业车辆可以继续向目标作业位置行驶,并在行驶过程中重复上述操作,直至第一作业车辆到达目标作业位置。
在本发明上述实施例中,在目标间距小于预设间距的情况下,该方法还包括:控制第一作业车辆停止移动;获取第一作业车辆的第二感知信息,其中,第二感知信息用于表征第二作业车辆的信息;基于第二感知信息确定第二作业车辆是否执行第二作业任务成功且是否驶离第二作业车辆对应的作业位置;在确定第二作业车辆执行第二作业任务成功且驶离第二作业车辆对应的作业位置的情况下,控制第一作业车辆移动至目标作业位置执行第一作业任务。
在一种可选的实施例中,如果确定目标间距小于预设间距,为了确保不同自动驾驶作业车辆之间的安全作业,可以控制第一作业车辆停止移动,等待第二作业车辆完成第二作业任务并驶离第二作业车辆对应的作业位置之后,可以控制第一作业车辆继续向目标作业位置行驶,并在行驶过程中重复上述操作,直至第一作业车辆到达目标作业位置。
实施例2
根据本发明实施例,还提供了一种作业车辆的控制装置的实施例,该装置可以执行上述实施例1中提供的作业车辆的控制方法,具体实现过程和应用场景与上述实施例1相同,在此不做赘述。
图6是根据本发明实施例的一种作业车辆的控制装置的示意图,如图6所示,该装置包括:
作业区段确定模块62,用于在确定第一作业车辆需要执行第一作业任务的情况下,从多个作业区段中确定目标作业区段,其中,多个作业区段是对作业区域进行划分得到的结果,目标作业区段用于第一作业车辆移动至该作业区段对应的作业位置上执行第一作业任务。
作业位置确定模块64,用于从目标作业区段对应的多个作业位置中确定目标作业位置,其中,多个作业位置是对目标作业区段对应的子区域进行划分得到的结果,目标作业位置是在存在已经进入目标作业区段但未移动至目标作业区段对应的作业位置上执行第二作业任务的第二作业车辆的情况下,根据第一作业车辆和第二作业车辆的行驶通道所确定的作业位置,或者,根据第二作业车辆对应的作业位置和预设作业位置间隔所确定的作业位置。
指令生成模块66,用于生成作业控制指令,其中,作业控制指令用于控制第一作业车辆移动至目标作业位置执行第一作业任务。
在本发明上述实施例中,作业区段确定模块62包括:状态确定单元,用于确定多个作业区段的当前状态,其中,当前状态用于表征是否允许第一作业车辆移动至多个作业区段对应的作业位置上执行第一作业任务;作业区段确定单元,用于基于当前状态,从多个作业区段中确定目标作业区段。
在本发明上述实施例中,状态确定单元还用于:针对多个作业区段中的任一作业区段:在确定辅助设备在该作业区段执行辅助作业任务的情况下,确定该作业区段的当前状态表征不允许第一作业车辆移动至该作业区段对应的作业位置上执行第一作业任务,其中,辅助设备用于对作业区段进行修整;或者,在确定辅助设备在该作业区段完成辅助作业任务的情况下,确定该作业区段的当前状态表征允许第一作业车辆移动至该作业区段对应的作业位置上执行第一作业任务。
在本发明上述实施例中,作业区段确定单元还用于:确定多个作业区段的优先级;基于当前状态和优先级,从多个作业区段中确定目标作业区段。
在本发明上述实施例中,作业位置确定模块64包括:车辆确定单元,用于确定是否存在已经进入目标作业区段但未移动至目标作业区段对应的作业位置上执行第二作业任务的第二作业车辆;第一作业位置确定单元,用于在不存在第二作业车辆的情况下,从多个作业位置中确定预设筛选规则对应的作业位置,作为目标作业位置;或者,第二作业位置确定单元,用于在存在第二作业车辆的情况下,从多个作业位置中确定第一作业车辆的行驶通道与第二作业车辆的行驶通道不发生冲突的作业位置,作为目标作业位置。
在本发明上述实施例中,第二作业位置确定单元还用于:基于第二作业车辆对应的作业位置和第二作业车辆的行驶参数,生成第二作业车辆的行驶通道,其中,第二作业车辆的行驶通道用于第二作业车辆移动至第二作业车辆对应的作业位置上执行第二作业任务;基于多个作业位置和第一作业车辆的行驶参数,生成多个第一作业车辆的行驶通道,其中,第一作业车辆的行驶通道用于第一作业车辆移动至相应的作业位置上执行第一作业任务;从多个第一作业车辆的行驶通道中,确定与第二作业车辆的行驶通道不会发生冲突的目标行驶通道;在多个第一作业车辆的行驶通道中存在目标行驶通道的情况下,从多个作业位置中确定目标行驶通道对应的作业位置,作为目标作业位置。
在本发明上述实施例中,第二作业位置确定单元还用于:获取预设作业位置间距,其中,预设作业位置间距用于表征在第一作业车辆的行驶通道与第二作业车辆的行驶通道不发生冲突的情况下,第一作业车辆对应的作业位置与第二作业车辆对应的作业位置之间的最小间距;从多个作业位置中获取与第二作业车辆对应的作业位置之间的距离大于预设作业位置间距的作业位置,作为目标作业位置。
在本发明上述实施例中,第二作业位置确定单元还用于:从多个作业位置中确定与第二作业车辆对应的作业位置之间的距离大于预设作业位置间距的作业位置,作为候选作业位置;在候选作业位置的数量为一个的情况下,确定候选作业位置为目标作业位置;在候选作业位置的数量为多个的情况下,从多个候选作业位置中确定预设筛选规则对应的候选作业位置,作为目标作业位置。
在本发明上述实施例中,作业位置确定模块还用于在多个作业位置中不存在与第二作业车辆对应的作业位置之间的距离大于预设作业位置间距的作业位置的情况下,按照指定作业位置间距,从多个作业位置中确定与第二作业车辆对应的作业位置之间的距离大于指定作业位置间距的目标候选作业位置,并基于目标候选作业位置确定目标作业位置,其中,指定作业位置间距是按照指定规则对预设作业位置间距进行缩小得到的。
在本发明上述实施例中,该装置还包括:感知模块,用于在控制第一作业车辆移动至目标作业位置执行第一作业任务的过程中,获取第一作业车辆的第一感知信息,其中,第一感知信息用于表征目标作业区段中除第一作业车辆之外的第二作业车辆的信息;作业位置确定模块还用于基于第一感知信息确定第二作业车辆对应的作业位置;间距确定模块,用于确定第二作业车辆对应的作业位置与目标作业位置之间的目标间距;第一控制模块,用于在目标间距大于或等于预设间距的情况下,控制第一作业车辆移动至目标作业位置执行第一作业任务。
在本发明上述实施例中,该装置还包括:第二控制模块,用于在目标间距小于预设间距的情况下,控制第一作业车辆停止移动;感知模块还用于获取第一作业车辆的第二感知信息,其中,第二感知信息用于表征第二作业车辆的信息;判定模块,用于基于第二感知信息确定第二作业车辆是否执行第二作业任务成功且是否驶离第二作业车辆对应的作业位置;第一控制模块还用于在确定第二作业车辆执行第二作业任务成功且驶离第二作业车辆对应的作业位置的情况下,控制第一作业车辆移动至目标作业位置执行第一作业任务。
实施例3
本申请的实施例还提供了一种电子设备,包括:存储器,存储有可执行程序;处理器,用于运行程序,其中,程序运行时执行本发明各个实施例中的方法。
实施例4
本申请的实施例还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的可执行程序,其中,在可执行程序运行时控制计算机可读存储介质所在设备执行本发明各个实施例中的方法。
实施例5
本申请的实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本发明各个实施例中的方法。
实施例6
本申请的实施例还提供了一种计算机程序产品,包括非易失性计算机可读存储介质,非易失性计算机可读存储介质用于存储计算机程序,计算机程序被处理器执行时实现本发明各个实施例中的方法。
实施例7
本申请的实施例还提供了一种计算机程序,计算机程序被处理器执行时实现上述本发明各个实施例中的方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。