一种无人驾驶设备的控制系统、方法及装置与流程

文档序号:25541602发布日期:2021-06-18 20:37阅读:120来源:国知局
一种无人驾驶设备的控制系统、方法及装置与流程

本申请涉及无人驾驶技术领域,尤其涉及一种无人驾驶设备的控制系统、方法及装置。



背景技术:

目前,在对多个无人驾驶设备进行控制时,常见的控制方法有中心化系统控制与去中心化系统控制。

其中,中心化系统控制是由中心化系统统一安排规划各无人驾驶设备的行驶路径,确保各无人驾驶设备之间不发生碰撞。去中心化系统控制是由各无人驾驶设备自主进行路径规划以及避障行驶。



技术实现要素:

本说明书实施例提供一种无人驾驶设备的控制系统、方法及装置,用于部分解决现有技术中的问题。

本说明书实施例采用下述技术方案:

本说明书提供的一种无人驾驶设备的控制系统,该系统至少包括:服务器以及若干无人驾驶设备,其中:

所述服务器,根据各待执行任务,确定各无人驾驶设备的第一行驶数据,并将所述第一行驶数据分别发送至各无人驾驶设备,所述第一行驶数据至少包含所述无人驾驶设备在每个单位时刻对应的位置;

所述无人驾驶设备,接收所述服务器发送的所述第一行驶数据,并根据所述第一行驶数据行驶;

所述无人驾驶设备,当根据自身的设备数据,确定出现紧急情况时,确定执行紧急情况对应的紧急任务的第二行驶数据;

所述无人驾驶设备,判断同一单位时刻在所述第一行驶数据中对应的位置,与在所述第二行驶数据中对应的位置是否处于预设范围内;若是,根据所述第二行驶数据行驶。

可选地,当确定同一单位时刻在所述第一行驶数据中对应的位置,与在所述第二行驶数据中对应的位置不处于预设范围内时,所述无人驾驶设备将所述第二行驶数据发送至所述服务器;

所述服务器根据接收到的所述第二行驶数据,以及其它无人驾驶设备的第一行驶数据,向所述无人驾驶设备发送指示;

所述无人驾驶设备,根据接收到的指示行驶。

可选地,所述服务器,判断同一单位时刻在所述第二行驶数据中对应的位置,与在其他无人驾驶设备的第一行驶数据中对应的位置是否处于预设范围内;若是,向所述无人驾驶设备发送禁止指示,若否,向所述无人驾驶设备发送允许指示;

所述无人驾驶设备,当接收到所述禁止指示时,根据所述第一行驶数据行驶;当接收到所述允许指示时,根据所述第二行驶数据行驶。

可选地,所述服务器,根据所述其它无人驾驶设备的第一行驶数据,重新确定所述无人驾驶设备执行所述紧急任务的第二行驶数据,并将重新确定出的第二行驶数据发送至所述无人驾驶设备;

所述无人驾驶设备,根据接收到的第二行驶数据行驶。

可选地,所述服务器,根据所述无人驾驶设备的第二行驶数据,重新确定所述其它无人驾驶设备的第一行驶数据,并分别向各其它无人驾驶设备发送重新确定的第一行驶数据;

所述其它无人驾驶设备,根据接收到的第一行驶数据行驶。

可选地,当所述第二行驶数据为执行所述紧急任务的部分行驶数据时,所述无人驾驶设备将所述部分行驶数据发送至所述服务器;

所述服务器,根据接收到的所述部分行驶数据,确定所述无人驾驶设备执行所述紧急任务的预测行驶数据;

所述服务器,根据所述预测行驶数据,以及其它无人驾驶设备的第一行驶数据,向所述无人驾驶设备发送指示;

所述无人驾驶设备,根据接收到的指示行驶。

本说明书提供一种无人驾驶设备的控制方法,包括:

接收服务器发送的第一行驶数据,并根据所述第一行驶数据行驶,所述第一行驶数据至少包含无人驾驶设备在每个单位时刻对应的位置;

当根据自身的设备数据,确定出现紧急情况时,确定执行紧急情况对应的紧急任务的第二行驶数据;

判断同一单位时刻在所述第一行驶数据中对应的位置,与在所述第二行驶数据中对应的位置是否处于预设范围内;

若是,根据所述第二行驶数据行驶。

本说明书提供一种无人驾驶设备的控制装置,包括:

接收模块,接收服务器发送的第一行驶数据,并根据所述第一行驶数据行驶,所述第一行驶数据至少包含无人驾驶设备在每个单位时刻对应的位置;

确定模块,当根据自身的设备数据,确定出现紧急情况时,确定执行紧急情况对应的紧急任务的第二行驶数据;

判断模块,判断同一单位时刻在所述第一行驶数据中对应的位置,与在所述第二行驶数据中对应的位置是否处于预设范围内,若是,根据所述第二行驶数据行驶。

本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述无人驾驶设备的控制方法。

本说明书提供的一种无人驾驶设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述无人驾驶设备的控制方法。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

在本说明书中,该系统中的服务器,可先确定各无人驾驶设备执行任务的第一行驶数据,并分别发送至各无人驾驶设备。该无人驾驶设备可根据接收到的第一行驶数据行驶,并当自身出现紧急情况时,确定执行紧急情况对应的紧急任务的第二行驶数据。之后,判断同一单位时刻在第一行驶数据中对应的位置,与在第二行驶数据中对应的位置是否处于预设范围内,当处于预设范围内时,则根据该第二行驶数据行驶。当遭遇紧急情况时,无人驾驶设备可根据服务器规划的第一行驶数据,以及自身规划的第二行驶数据,确定是否可以自主行驶。避免了服务器与无人驾驶设备之间的通信延时,提升了无人驾驶设备控制系统的应急能力。使该控制系统兼具中心化控制系统的安全性和全局最优性,与去中心化控制系统的自主控制性和鲁棒性。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本说明书实施例提供的一种无人驾驶设备的控制系统的架构图;

图2为本说明书实施例提供的一种由服务器综合规划行驶的示意图;

图3为本说明书实施例提供的显示无人驾驶设备行驶位置偏差的示意图;

图4为本说明书实施例提供的显示无人驾驶设备行驶位置偏差的示意图;

图5为本说明书实施例提供的一种调控多无人驾驶设备行驶的示意图;

图6为本说明书实施例提供的一种无人驾驶设备的控制方法的流程图;

图7为本说明书实施例提供的一种无人驾驶设备的控制装置的结构示意图;

图8为本说明书实施例提供的实现无人驾驶设备的控制方法的无人驾驶设备示意图。

具体实施方式

为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

目前,通常采用中心化系统控制或者去中心化系统控制的方法控制多个无人驾驶设备执行任务。

若采用中心化系统控制的方法对多个无人驾驶设备进行控制时,由该中心化系统综合根据各无人驾驶设备的待执行任务,统一进行路径规划。其中,中心化系统在针对每个无人驾驶设备进行路径规划时,均考虑到其它无人驾驶设备行驶的影响,从整体上进行规划,因此中心化系统所规划的路径为全局最优解,安全性较高。

但是当无人驾驶设备遇到突发状况,如无人机遭遇气流影响需要紧急降落,此时无人驾驶设备需要向中心化系统发送请求,以得到控制指令。因此中心化系统对各无人驾驶设备统一进行路径规划外,还需应对各无人驾驶设备的突发情况并进行规划,导致中心化系统的计算量较大,运行压力也较大。并且,中心化系统在与无人驾驶设备进行通信时,双方之间还存在通信延时,导致突发状况无法得到及时处理。此外,当中心化系统出现故障时,则无法对无人驾驶设备的突发状况进行处理,系统鲁棒性较差。

若采用去中心化系统控制的方法对多个无人驾驶设备进行控制时,各无人驾驶设备根据各自的待执行任务,进行路径规划。其中,由于各无人驾驶设备仅考虑自身行驶,并未考虑其它无人驾驶设备的行驶轨迹,只有当无人驾驶设备行驶位置较近时,才能实时避障,因此各无人驾驶设备自身规划的路径往往不是全局最优解。并且,当无人驾驶设备的数量较多时,可避障行驶的范围限制的较小,容易发生碰撞。

基于上述存在的技术问题,本说明书提供一种无人驾驶设备的控制系统。以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本说明书实施例提供的一种无人驾驶设备的控制系统示意图。该系统至少包含服务器100以及若干无人驾驶设备102,其中,无人驾驶设备102可以是无人车、无人机以及机器人等设备中的任意一种,服务器100为中心化系统的控制中心,可以是单个服务器,也可以是多个服务器组成的系统,如分布式服务器系统等,本说明书对此不做限制。

在本说明书中,当控制多个无人驾驶设备102执行任务时,该服务器100可根据各无人驾驶设备102的待执行任务中的起点和终点,综合进行路径规划,确定各无人驾驶设备102的第一行驶数据,并将确定出的第一行驶数据,分别发送至各无人驾驶设备102。其中,该第一行驶数据中至少包含该无人驾驶设备102在行驶过程中的每个单位时刻对应的位置,如,无人驾驶设备102在行驶过程中,每分钟抵达的位置。

图2为服务器100为各无人驾驶设备102综合规划的行驶路径。图中以灰色填充的三角形表示各无人驾驶设备102待执行任务的起点和终点,加深线段表示服务器分别为各无人驾驶设备102规划的行驶路径,即,第一行驶数据,由非加深线段组成的区域表示无人驾驶设备102在每个单位时刻的可偏移范围。

该服务器100在规划各无人驾驶设备102的行驶数据时,还规划了各无人驾驶设备102在行驶过程中的每个单位时刻抵达的位置。图中条纹填充的区域表示各无人驾驶设备102在同一单位时刻所处的位置范围。图中各条纹区域之间未发生重叠,表明各无人驾驶设备102在同一时刻距离较远,未发生碰撞。

之后,针对每个无人驾驶设备102,该无人驾驶设备102可接收服务器100发送的第一行驶数据,并按照该第一行驶数据中规划的路径、时间以及速度等信息行驶,以确保该无人驾驶设备102在每个单位时刻行驶至对应的位置。

在实际执行任务的过程中,各无人驾驶设备102难免遭遇突发状况,如,电量不足需要充电,或者由于风力较大需要进行紧急迫降。当无人驾驶设备102在行驶过程中,根据自身的设备数据,确定出现紧急情况。其中,该无人驾驶设备102的设备数据可以是自身设备的数据,也可以是通过传感器采集的数据,或者接收服务器发送的紧急事件。如,当通过压力传感器检测到气流、风力压力较大时,可确定执行紧急迫降任务。当检测到电池的电量不足时,可确定执行充电任务。当然,该设备数据还可以是设备异常数据,当设备出现故障时,可确定执行急停任务。或者当服务器100发生故障时,该无人驾驶设备102可根据该故障信息自主行驶。

此时,为了避免通信延迟,以及减小服务器100的计算压力。该无人驾驶设备102在遭遇紧急情况时,可先根据自身当前位置,以及该紧急情况对应的紧急任务的终点,确定执行该紧急任务的第二行驶数据。该第二行驶数据中也包含该无人驾驶设备102在每个单位时刻对应的位置。

之后,该无人驾驶设备102可根据该第二行驶数据以及第一行驶数据,判断同一单位时刻在第一行驶数据中对应的位置,与在第二行驶数据中对应的位置是否处于预设范围内,也即,无人驾驶设备102按照第二行驶数据行驶与按照第一行驶数据行驶是否偏差较大。

当确定同一单位时刻两个行驶数据中的位置处于预设范围内时,即,两个行驶数据的偏差较小,该无人驾驶设备102可自行脱离服务器100的控制,按照自身确定的第二行驶数据,执行紧急任务。否则,该无人驾驶设备102仍需按照原始的第一行驶数据行驶。其中,预设范围通常为设备之间预留的安全范围,可以设置为周围1米的范围。

如图3所示,图3中以灰色填充的三角形表示任务的起点和终点,假设根据第一行驶数据,确定无人驾驶设备102在未来某一单位时刻应抵达位置点a,而根据第二行驶数据,确定该无人驾驶设备102在该单位时刻抵达位置点b,由于位置点b位于该位置点a对应的预设范围内,即,图中条纹填充的区域。因此可确定该无人驾驶设备102在该单位时刻沿第一行驶数据与沿第二行驶数据行驶的偏差较小,可按照第二行驶数据行驶。

需要说明的是,在进行上述判断时,需要确定每个相同的单位时刻内的位置差异均较小,即小于预设范围,任一个相同单位时刻的位置差异超出预设范围,则认为两个行驶数据的偏差较大,该无人驾驶设备102不可自行脱离服务器100的控制。

当确定同一单位时刻两个行驶数据中的位置不处于预设范围内时,即,两个行驶数据的偏差较大,该无人驾驶设备102不可自行脱离服务器100的控制。此时该无人驾驶设备102可将执行紧急任务的第二行驶数据发送至该服务器100,由该服务器100决策是否执行紧急任务。

如图4所示,若在同一单位时刻,该无人驾驶设备102在第一行驶数据中对应的位置为位置点a,而在第二行驶数据中对应的位置为位置点b,由于位置点a与位置点b之间的距离超出预设范围,该位置点b不处于位置点a对应的安全范围内,因此该两个行驶数据的偏差较大,该无人驾驶设备102无法自行脱离控制,需要将第二行驶数据发送至服务器100进行决策。

在服务器100接收到第二行驶数据后,该服务器100可根据该第二行驶数据以及其它无人驾驶设备102的第一行驶数据,判断该无人驾驶设备102按照该第二行驶数据行驶,是否对其它无人驾驶设备102产生影响,即,是否与其它无人驾驶设备102发生碰撞。并根据判断结果向该无人驾驶设备102发送指示,以使该无人驾驶设备102按照该指示行驶。

图5示例性的展示了多个无人驾驶设备102的行驶数据,图中只是以两个无人驾驶设备进行举例,实际应用场景中可能存在多个无人驾驶设备。其中无人驾驶设备1执行的任务是从起点1行驶至终点1,无人驾驶设备2执行的任务是从起点2行驶至终点2。假设在同一单位时刻下,该无人驾驶设备2基于第一行驶数据确定处于位置点c,而基于第二行驶数据处于位置点d,由于位置点c与位置点d之间的距离超出预设范围,因此该无人驾驶设备2可将该规划的第二行驶数据发送给服务器100进行决策。

而在同一单位时刻下,该无人驾驶设备2位于位置点d,该无人驾驶设备1位于位置点e,两者之间距离较远不会发生碰撞,该无人驾驶设备2并不影响无人驾驶设备1的行驶。若在行驶过程中的每个相同时间,两者之间距离均较远且互不影响,则可指示该无人驾驶设备2按照第二行驶数据行驶。

其中,在判断该无人驾驶设备102是否会对其它无人驾驶设备102产生影响时,该服务器100可根据该第二行驶数据,以及其它无人驾驶设备102的第一行驶数据,判断同一单位时刻在该第二行驶数据中的位置,与在其它无人驾驶设备102的第一行驶数据中对应的位置是否处于预设范围内。该预设范围可以与上述预设的范围相同,也可以不同,具体可根据需要设置。当确定两个行驶数据在同一单位时刻的位置处于预设范围外时,可确定该无人驾驶设备102在同一单位时刻与其它无人驾驶设备102之间的距离较远,不会发生碰撞,于是向该无人驾驶设备102发送允许指示。该无人驾驶设备102在接收到允许指示后,可执行紧急任务,按照自行规划的第二行驶数据行驶。

在本说明书一种实施例中,当该服务器100确定两个行驶数据在同一单位时刻的位置处于预设范围内时,可确定该无人驾驶设备102在同一单位时刻与其它无人驾驶设备102之间的距离较近,可能发生碰撞,于是向该无人驾驶设备102发送禁止指示。该无人驾驶设备102在接收到禁止指示后,按照原始的第一行驶数据行驶。

在本说明书另一种实施例中,当该服务器100确定两个行驶数据在同一单位时刻的位置处于预设范围内时,即,该无人驾驶设备102与其它无人驾驶设备102可能发生碰撞,于是该服务器100可根据其它无人驾驶设备102的第一行驶数据,重新确定该无人驾驶设备102执行该紧急任务的第二行驶数据,并将重新确定出的第二行驶数据发送至该无人驾驶设备102,以使该无人驾驶设备102按照重新确定出的第二行驶数据行驶,不会与各其它无人驾驶设备102发生碰撞。

进一步的,为了减少服务器100的计算压力,当该服务器100确定两个行驶数据在同一单位时刻的位置处于预设范围内时,该服务器100还可检测自身计算资源是否充足,在计算资源充足的情况下,为该无人驾驶设备102规划执行紧急任务的第二行驶数据。若自身计算资源不足,则该服务器100可向该无人驾驶设备102下发重新规划的指示,使该无人驾驶设备102重新规划第二行驶数据,直至该无人驾驶设备102按照第二行驶数据行驶不会与其它无人驾驶设备102发生碰撞为止。

更进一步的,若该无人驾驶设备102规划第二行驶数据的次数超出预设阈值,则可确定该无人驾驶设备102无法规划出避让其它无人驾驶设备102行驶的第二行驶数据,则由该服务器100根据各其它无人驾驶设备102的第一行驶数据,对该无人驾驶设备102进行规划。其中,预设阈值可根据需要设置,如,设置为5次。

在本说明书其它实施例中,当该服务器100确定两个行驶数据在同一单位时刻的位置处于预设范围内时,该服务器100还可调整其它无人驾驶设备102的行驶数据,以避免该无人驾驶设备102与其它无人驾驶设备102发生碰撞。因此该服务器100可根据该无人驾驶设备102的第二行驶数据,重新确定其它无人驾驶设备102的第一行驶数据,并分别向各其它无人驾驶设备102发送重新确定的第一行驶数据。当各其它无人驾驶设备102接收到的重新确定的第一行驶数据后,可按照重新确定的第一行驶数据行驶。

进一步的,在本说明书中为减少无人驾驶设备102自身的计算量,当该无人驾驶设备102确定出自身执行紧急任务的第二行驶数据后,可先根据服务器100下发的第一行驶数据,以及自身规划的第二行驶数据,确定在较短的预设时长内是否会发生偏离,即,在该较短的预设时长内,该第一行驶数据以及该第二行驶数据在同一时刻对应的位置是否在预设范围内。其中,该预设时长可根据需要设置,如,设置为5分钟。

若在较短的预设时长内发生偏离,则该无人驾驶设备102无需比较后续的行驶数据,直接将该第二行驶数据发送至该服务器100,由该服务器100进行决策。

若在较短的预设时长内未发生偏离,则该无人驾驶设备102可继续检测后续两个行驶数据之间是否发生偏离,并当后续未发生偏离时,按照自主规划的第二行驶数据行驶。

在本说明书一种实施例中,该无人驾驶设备102在确定出现紧急情况后,由于并未预先存储抵达紧急任务终点的地图信息,因此无法进行完整的路径规划,只能根据实时行驶过程中采集的障碍物信息,规划路径行驶。于是该无人驾驶设备102确定出的第二行驶数据为短时间内的行驶数据,即,部分行驶数据。

当该无人驾驶设备102确定两个行驶数据在同一单位时刻的位置处于预设范围外时,可将该部分行驶数据发送至该服务器100。该服务器100可根据接收到的部分行驶数据,以及该紧急任务对应的终点,预测该无人驾驶设备102执行该紧急任务的预测行驶数据。并根据该预测行驶数据,以及其它无人驾驶设备102的第一行驶数据,判断该无人驾驶设备102是否与其它无人驾驶设备102发生碰撞。当根据该预测行驶数据确定该无人驾驶设备102会与其它无人驾驶设备102发生碰撞,则向该无人驾驶设备102下发禁止指示,使该无人驾驶设备102按照原始的第一行驶数据行驶。否则,向该无人驾驶设备102下发允许指示,使该无人驾驶设备102自行按照第二行驶数据行驶。

其中,在对该无人驾驶设备102进行预测时,还可根据该无人驾驶设备102的剩余电量,确定该无人驾驶设备102所能行驶的范围,以确定该无人驾驶设备102的预测行驶数据。

在本说明书中,当该服务器100确定该无人驾驶设备102脱离控制时,可根据各无人驾驶设备102执行紧急任务的第二行驶数据,对各无人驾驶设备102的第一行驶数据进行更新。以当后续其余无人驾驶设备102出现紧急情况时,可避开各无人驾驶设备102的第一行驶数据行驶。

基于图1所示的无人驾驶设备的控制系统,该系统中的服务器,可先确定各无人驾驶设备执行任务的第一行驶数据,并分别发送至各无人驾驶设备。该无人驾驶设备可根据接收到的第一行驶数据行驶,并当自身出现紧急情况时,确定执行紧急情况对应的紧急任务的第二行驶数据。之后,判断同一单位时刻在第一行驶数据中对应的位置,与在第二行驶数据中对应的位置是否处于预设范围内,当处于预设范围内时,则根据该第二行驶数据行驶。当遭遇紧急情况时,无人驾驶设备可根据服务器规划的第一行驶数据,以及自身规划的第二行驶数据,确定是否可以自主行驶。避免了服务器与无人驾驶设备之间的通信延时,提升了无人驾驶设备控制系统的应急能力。使该控制系统兼具中心化控制系统的安全性和全局最优性,与去中心化控制系统的自主控制性和鲁棒性。

针对上述图1所示的无人驾驶设备的控制系统,本说明书还对应提供了无人驾驶设备的控制方法,如图6所示。

图6为本说明书实施例提供的无人驾驶设备的控制方法的流程示意图,其中,该无人驾驶设备的控制方法可用于无人驾驶设备的控制系统中,具体可包括以下步骤:

s200:接收服务器发送的第一行驶数据,并根据所述第一行驶数据行驶。

本说明书提供的控制方法是应用于无人驾驶设备执行任务的过程中,对无人驾驶设备的行驶进行控制。其中,该无人驾驶设备可以是无人机、无人车以及机器人等任意一种。

当该无人驾驶设备执行任务时,可接收服务器发送的第一行驶数据,并根据该第一行驶数据行驶,以抵达任务终点。其中,该第一行驶数据中至少包含该无人驾驶设备在每个单位时刻抵达的位置。

s202:当根据自身的设备数据,确定出现紧急情况时,确定执行紧急情况对应的紧急任务的第二行驶数据。

在无人驾驶设备行驶过程中,难免遭遇突发状况,如电量不足需要充电,或者需要进行紧急迫降。

于是,在本说明书中,当无人驾驶设备在行驶过程中,根据自身的设备数据,确定出现紧急情况时,该服务器可先根据自身当前位置,以及该紧急情况对应的紧急任务的终点,确定执行该紧急任务的第二行驶数据。该第二行驶数据中也包含该无人驾驶设备在每个单位时刻对应的位置。

其中,该无人驾驶设备的设备数据可以是自身设备的数据,也可以是通过传感器采集的数据。如,当通过压力传感器检测到气流、风力较大时,可确定执行紧急迫降任务。当检测到电池的电量不足时,可确定执行充电任务。当然,该设备数据还可以是设备异常数据,当设备出现故障时,可确定执行急停任务。

s204:判断同一单位时刻在所述第一行驶数据中对应的位置,与在所述第二行驶数据中对应的位置是否处于预设范围内,若是,执行步骤s206。

为了避免通信延迟,减小服务器的计算压力以及保障行驶安全性,该无人驾驶设备可根据服务器规划的第一行驶数据,以及自身执行紧急任务的第二行驶数据,确定执行紧急任务是否与原始规划偏离较远。

具体的,该无人驾驶设备可根据该第一行驶数据以及第二行驶数据,判断同一单位时刻在第一行驶数据中对应的位置,与在第二行驶数据中对应的位置是否处于预设范围内。并当处于预设范围内时,执行后续步骤s206。

s206:根据所述第二行驶数据行驶。

在本说明书中,当确定同一单位时刻两个行驶数据中的位置处于预设范围内时,即,两个行驶数据的偏差较小。于是,该无人驾驶设备可自行脱离服务器的控制,按照自身确定的第二行驶数据执行紧急任务。其中,预设范围通常为设备之间预留的安全范围,可以设置为周围1米的范围。

当然,在本说明书中,若确定同一单位时刻两个行驶数据中的位置不处于预设范围内时,即,两个行驶数据的偏差较大,则该无人驾驶设备不可自行脱离服务器的控制。此时该无人驾驶设备可将执行紧急任务的第二行驶数据发送至该服务器,由该服务器决策是否执行紧急任务。其中,若该无人驾驶设备无法确定执行紧急任务的完整行驶数据时,可向该服务器发送确定出的部分行驶数据。

基于图6所示的无人驾驶设备的控制方法,可先接收服务器发送的第一行驶数据,并根据该第一行驶数据行驶。当根据自身的设备数据,确定出现紧急情况时,确定执行紧急情况对应的紧急任务的第二行驶数据。之后,判断同一单位时刻在第一行驶数据中对应的位置,与在第二行驶数据中对应的位置是否处于预设范围内,并当确定处于预设范围内时,则根据该第二行驶数据行驶。当遭遇紧急情况时,无人驾驶设备可根据服务器规划的第一行驶数据,以及自身规划的第二行驶数据,确定是否可以自主行驶。避免了服务器与无人驾驶设备之间的通信延时,提升了无人驾驶设备的应急能力。

在本说明书中,当以无人驾驶设备为执行主体,执行该控制方法时,可通过上述步骤s200~s206所示的方法执行。当然,也可以服务器为执行主体执行该控制方法。

具体的,当以服务器为执行主体执行该控制方法时,首先,该服务器可根据各待执行任务,确定各无人驾驶设备的第一行驶数据,并分别将各第一行驶数据分发至各无人驾驶设备,以使各无人驾驶设备按照该第一行驶数据行驶。

之后,当该服务器接收到任一无人驾驶设备发送的执行紧急任务的第二行驶数据时,可根据该第二行驶数据以及其它无人驾驶设备的第一行驶数据,判断该无人驾驶设备按照该第二行驶数据行驶,是否对其它无人驾驶设备产生影响,即,是否与其它无人驾驶设备发生碰撞。并根据判断结果向该无人驾驶设备发送指示,以使该无人驾驶设备按照该指示行驶。

其中,在判断该无人驾驶设备是否会对其它无人驾驶设备产生影响时,该服务器可根据该第二行驶数据,以及其它无人驾驶设备的第一行驶数据,判断同一单位时刻在该第二行驶数据中的位置,与在其它无人驾驶设备的第一行驶数据中对应的位置是否处于预设范围内。当确定两个行驶数据在同一单位时刻的位置处于预设范围外时,可确定该无人驾驶设备在同一单位时刻与其它无人驾驶设备之间的距离较远,不会发生碰撞,于是向该无人驾驶设备发送允许指示。该无人驾驶设备在接收到允许指示后,可执行紧急任务,按照自行规划的第二行驶数据行驶。

在本说明书一种实施例中,当该服务器确定两个行驶数据在同一单位时刻的位置处于预设范围内时,可确定该无人驾驶设备在同一单位时刻与其它无人驾驶设备之间的距离较近,可能发生碰撞,于是向该无人驾驶设备发送禁止指示。该无人驾驶设备在接收到禁止指示后,按照原始的第一行驶数据行驶。

在本说明书另一种实施例中,当该服务器确定两个行驶数据在同一单位时刻的位置处于预设范围内时,即,该无人驾驶设备与其它无人驾驶设备可能发生碰撞,于是该服务器可根据其它无人驾驶设备的第一行驶数据,重新确定该无人驾驶设备执行该紧急任务的第二行驶数据,并将重新确定出的第二行驶数据发送至该无人驾驶设备,以使该无人驾驶设备按照重新确定出的第二行驶数据行驶,不会与各其它无人驾驶设备发生碰撞。

进一步的,为了减少服务器的计算压力,当该服务器确定两个行驶数据在同一单位时刻的位置处于预设范围内时,该服务器还可检测自身计算资源是否充足,在计算资源充足的情况下,为该无人驾驶设备规划执行紧急任务的第二行驶数据。若自身计算资源不足,则该服务器可向该无人驾驶设备下发重新规划的指示,使该无人驾驶设备重新规划第二行驶数据,直至该无人驾驶设备按照第二行驶数据行驶不会与其它无人驾驶设备发生碰撞为止。

在本说明书其它实施例中,当该服务器确定两个行驶数据在同一单位时刻的位置处于预设范围内时,该服务器还可调整其它无人驾驶设备的行驶数据,以避免该无人驾驶设备与其它无人驾驶设备发生碰撞。因此该服务器可根据该无人驾驶设备的第二行驶数据,重新确定其它无人驾驶设备的第一行驶数据,并分别向各其它无人驾驶设备发送重新确定的第一行驶数据。以使各无人驾驶设备按照重新确定的第一行驶数据行驶。

在本说明书一种实施例中,当该服务器接收到该无人驾驶设备发送的部分行驶数据时,该服务器可根据接收到的部分行驶数据,以及该紧急任务对应的终点,预测该无人驾驶设备执行该紧急任务的预测行驶数据。并根据该预测行驶数据,以及其它无人驾驶设备的第一行驶数据,判断该无人驾驶设备是否与其它无人驾驶设备发生碰撞。当根据该预测行驶数据确定该无人驾驶设备会与其它无人驾驶设备发生碰撞,则向该无人驾驶设备下发禁止指示,使该无人驾驶设备按照原始的第一行驶数据行驶。否则,向该无人驾驶设备下发允许指示,使该无人驾驶设备自行按照第二行驶数据行驶。

其中,在对该无人驾驶设备进行预测时,还可根据该无人驾驶设备的剩余电量,确定该无人驾驶设备所能行驶的范围,以确定该无人驾驶设备的预测行驶数据。

在本说明书中,该无人驾驶设备的控制方法可应用于上述无人驾驶设备的控制系统中,由于具体的详细控制过程已经在系统侧进行了详细阐述,本说明书在方法侧不再进行赘述,具体可参考前文。

本说明书提供的无人驾驶设备的控制方法,可应用于无人驾驶设备的配送过程中,如,使用无人驾驶设备进行快递、外卖等配送的场景中。当无人驾驶设备应用于配送领域时,可通过本说明书的控制方法,可确定无人驾驶设备执行配送任务的行驶数据,以根据行驶数据行驶。

基于图6所示的一种无人驾驶设备的控制方法,本说明书实施例还对应提供一种无人驾驶设备的控制装置的结构示意图,如图7所示。

图7为本说明书实施例提供的一种无人驾驶设备的控制装置的结构示意图,包括:

接收模块300,接收服务器发送的第一行驶数据,并根据所述第一行驶数据行驶,所述第一行驶数据至少包含无人驾驶设备在每个单位时刻对应的位置;

确定模块302,当根据自身的设备数据,确定出现紧急情况时,确定执行紧急情况对应的紧急任务的第二行驶数据;

判断模块304,判断同一单位时刻在所述第一行驶数据中对应的位置,与在所述第二行驶数据中对应的位置是否处于预设范围内,若是,根据所述第二行驶数据行驶。

本说明书实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图6提供的无人驾驶设备的控制方法。

根据图6所示的一种无人驾驶设备的控制方法,本说明书实施例还提出了图8所示的无人驾驶设备的示意结构图。如图8,在硬件层面,该无人驾驶设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图6所示的无人驾驶设备的控制方法。

当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和生成专用的集成电路芯片。而且,如今,取代手工地生成集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1