模拟训练方法、装置及计算设备集群

申请号 CN202211237632.0 申请日 2022-10-10 公开(公告)号 CN117910188A 公开(公告)日 2024-04-19
申请人 华为云计算技术有限公司; 发明人 周顺波; 任航; 徐乔博; 王烽;
摘要 本 申请 提供了一种模拟训练方法、装置及计算设备集群。在 实施例 中,该方法应用于 云 管理平台,包括:提供第一配置 接口 ,所述第一配置接口用于获取目标模拟环境的标识和目标模拟设备的标识;提供第二配置接口,所述第二配置接口用于获取任务指令;根据所述任务指令,利用目标模拟设备在所述目标模拟环境中执行任务,获得执行结果。由此,能够在云端实现可移动设备和其所在环境的模拟,云端通过用户配置的模拟设备在用户配置的模拟环境执行用户配置的任务,实现智能化的任务执行。
权利要求

1.一种模拟训练方法,其特征在于,应用于管理平台,所述方法包括:
提供第一配置接口,所述第一配置接口用于获取目标模拟环境的标识和目标模拟设备的标识;
提供第二配置接口,所述第二配置接口用于获取任务指令;
根据所述任务指令,利用目标模拟设备在所述目标模拟环境中执行任务,获得执行结果。
2.根据权利要求1所述的方法,其特征在于,所述获取目标模拟场景的标识前,所述方法包括:
获取所述目标模拟环境对应的采集数据;
提供第三配置接口,所述第三配置接口用于获取所述目标模拟环境的类型参数;
根据所述目标模拟环境对应的采集数据和所述目标模拟环境的类型参数,生成所述模拟环境。
3.根据权利要求2所述的方法,其特征在于,所述类型参数包括下述的一种或多种:
室内场景、室外场景、天气类型。
4.根据权利要求1至3中所述的方法,其特征在于,所述目标模拟环境中包括至少一个三维模型和其各自携带的物理参数,所述根据所述任务指令,利用目标模拟设备在所述目标模拟环境中执行任务,包括:
根据所述任务指令,利用目标模拟设备和所述至少一个三维模型的物理参数,在所述目标模拟环境中执行任务。
5.根据权利要求4中所述的方法,其特征在于,所述物理参数包括摩擦系数和/或空气阻系数。
6.根据权利要求1至5中任一所述的方法,其特征在于,所述第二配置接口,还用于获取所述任务对应的进程数。
7.根据权利要求1至6中任一所述的方法,其特征在于,所述任务包括起始点和终点,所述第二配置接口,还用于获取用户设置的所述起始点和所述终点。
8.根据权利要求1至7中任一所述的方法,其特征在于,所述获取目标模拟环境的标识,包括:
所述第一配置接口用于获取用户从多个备选模拟环境中选择的所述目标模拟环境的标识;
和/或,所述获取模拟设备的标识,包括:
所述第一配置接口用于获取所述用户从多个备选模拟设备中选择的所述目标模拟设备的标识。
9.根据权利要求1至8中任一所述的方法,其特征在于,所述方法还包括:
将所述执行结果下发至与所述目标模拟设备对应的目标设备。
10.根据权利要求1至9中任一所述的方法,其特征在于,所述根据所述任务指令,利用模拟设备在所述目标模拟环境中执行任务,包括:
基于语义识别,将所述任务指令转换为仿真指令,所述仿真指令为计算机可读的格式;
基于所述仿真指令,利用所述目标模拟设备在所述目标模拟环境中执行所述任务。
11.根据权利要求1至10中任一所述的方法,其特征在于,所述执行结果包括运动轨迹,所述方法还包括显示所述运动轨迹。
12.根据权利要求1至11中任一所述的方法,其特征在于,所述目标模拟设备包括至少一个关节和其各自对应的动力学参数,所述根据所述任务指令,利用目标模拟设备在所述目标模拟环境中执行任务,包括:
根据所述任务指令,利用目标模拟设备中至少一个关节的动力学参数,控制目标模拟设备在所述目标模拟环境中执行任务。
13.一种模拟训练装置,其特征在于,应用于云管理平台,所述装置包括:
第一接口提供模,用于提供第一配置接口,所述第一配置接口用于获取目标环境的标识和目标模拟设备的标识;
第二接口提供模块,用于提供第二配置接口,所述第二配置接口用于获取任务指令;
任务执行模块,用于根据所述任务指令,利用目标模拟设备在所述仿真场景中执行任务,获得执行结果。
14.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1‑12任一所述的方法。
15.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求的1‑12任一所述的方法。
16.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1‑12任一所述的方法。

说明书全文

模拟训练方法、装置及计算设备集群

技术领域

[0001] 本申请涉及模拟技术领域,尤其涉及一种模拟训练方法、装置及计算设备集群。

背景技术

[0002] 目前,在机器人的实现方式中,虚拟的机器人得到了越来越广泛的应用。其中,在危险 的、肮脏的、繁琐性的以及实现较为困难的一些应用场景中,对虚拟的机器人的任务执行的 要求也更高。
[0003] 现有技术中的虚拟的机器人执行任务的方案不够智能,尚不能满足用户需求。如何构建 一种虚拟的机器人的执行方案,是目前亟待解决的问题。发明内容
[0004] 本申请实施例提供了一种模拟训练方法、装置及计算设备集群,能够在端实现可移动 设备和其所在环境的模拟,云端通过用户配置的模拟设备在用户配置的模拟环境执行用户配 置的任务,实现智能化的任务执行。
[0005] 第一方面,本申请实施例提供了一种模拟训练方法,应用于云管理平台,该方法包括: 提供第一配置接口,第一配置接口用于获取目标模拟环境的标识和目标模拟设备的标识; 提供第二配置接口,第二配置接口用于获取任务指令;根据任务指令,利用目标模拟设 备在仿真场景中执行任务,获得执行结果。
[0006] 本方案中,能够在云端实现可移动设备和其所在环境的模拟,云端通过用户配置的模拟 设备在用户配置的模拟环境执行用户配置的任务,实现智能化的任务执行。
[0007] 在一种可能的实现方式中,获取目标模拟场景的标识前,方法包括:获取目标模拟环 境对应的采集数据;提供第三配置接口,第三配置接口用于获取目标模拟环境的类型参 数;根据目标模拟环境对应的采集数据和目标模拟环境的类型参数,生成目标模拟环境。
[0008] 本方案中,能够基于环境的类型进行仿真,确保仿真出的环境能够接近真实的环境。
[0009] 在一个例子中,类型参数包括下述的一种或多种:室内场景、室外场景、天气类型。
[0010] 在一个例子中,目标环境对应的采集数据包括目标环境对应的真实环境中的可移动 设备和/或场地设备感知到的数据。
[0011] 在一种可能的实现方式中,目标环境中包括至少一个三维模型和其各自对应的物理参 数,根据任务指令,利用目标模拟设备在目标模拟环境中执行任务,包括:根据任务指 令,利用目标模拟设备和至少一个三维模型的物理参数,在目标模拟环境中执行任务。
[0012] 本方案中,能够基于仿真的环境中的物体的物理参数执行任务,确保任务执行结果能够 接近真实的任务执行情况。
[0013] 在一个例子中,物理参数基于目标环境对应的采集数据确定。
[0014] 在一个例子中,物理参数包括摩擦系数和/或空气阻系数。
[0015] 在一种可能的实现方式中,第二配置接口,还用于获取任务对应的进程数。
[0016] 本方案中,能够设置进程数,从而实现并行执行任务,确保任务执行效率。
[0017] 在一种可能的实现方式中,任务包括起始点和终点,第二配置接口,还用于获取用户 设置的起始点和终点。
[0018] 在一种可能的实现方式中,获取目标模拟环境的标识,包括:第一配置接口用于获取 用户从多个备选模拟环境中选择的目标模拟环境的标识。
[0019] 在一个例子中,多个备选环境各自基于其对应的采集数据确定,采集数据包括对应 的真实环境中的可移动设备和/或场地设备感知到的数据。
[0020] 在一种可能的实现方式中,获取目标模拟设备的标识,包括:第一配置接口用于获取 用户从多个备选模拟设备中选择的目标模拟设备的标识。
[0021] 在一个例子中,多个备选设备包括预先设置的备选设备或者基于真实设备的外观数 据建模生成的备选设备。
[0022] 在一种可能的实现方式中,方法还包括:将执行结果下发至与模拟设备对应的目标设 备。
[0023] 在一种可能的实现方式中,根据任务指令,利用目标模拟设备在目标模拟环境中执行 任务,包括:基于语义识别,将任务指令转换为仿真指令,仿真指令为计算机可读的格 式;基于仿真指令,利用目标模拟设备在目标模拟环境中执行任务。
[0024] 在一种可能的实现方式中,任务包括至少一个技能。
[0025] 在一个例子中,技能包括导航,执行结果包括运动轨迹,方法还包括显示运动轨迹。
[0026] 在一个例子中,目标模拟设备包括至少一个关节,至少一个关节对应有动力学参数, 根据任务指令,利用目标模拟设备在目标模拟环境中执行任务,包括:根据任务指令, 利用目标模拟设备中至少一个关节的动力学参数,控制目标模拟设备在目标模拟环境中 执行任务。
[0027] 本方案中,能够基于模拟设备中的关节的动力学参数,从而控制模拟设备执行任务,确 保任务执行结果能够接近真实的任务执行情况。
[0028] 在一个例子中,方法还包括:显示至少一个技能各自在执行时的资源消耗。
[0029] 在一个例子中,方法还包括:确定至少一个技能中部署在目标模拟设备对应的目标设备 的目标技能。
[0030] 在一种可能的实现方式中,任务包括预测指标,执行结果包括预测指标的指标值。
[0031] 在一个例子中,预测指标包括目标模拟设备对应的目标设备中部件的温度阈值、运行时 长阈值和电量阈值。
[0032] 在一种可能的实现方式中,仿真场景中目标环境具有语义信息。
[0033] 在一种可能的实现方式中,任务包括预测指标,执行结果包括预测指标的指标值。
[0034] 在一种可能的实现方式中,第一配置接口用于获取静态模拟物体的标识、静态模拟物体 在目标模拟环境的第一位置,和/或,物体模拟物体行为的标识,物体模拟物体行为在目标 模拟环境的第二位置。
[0035] 目标模拟环境中的第一位置包括静态模拟物体,第二位置包括物体模拟物体行为。
[0036] 第二方面,本申请实施例提供了一种模拟训练装置,应用于云管理平台,装置包括:
[0037] 第一接口提供模,用于提供第一配置接口,第一配置接口用于获取目标模拟环境 的标识和目标模拟设备的标识;
[0038] 第二接口提供模块,用于提供第二配置接口,第二配置接口用于获取任务指令;
[0039] 任务执行模块,用于根据任务指令,利用目标模拟设备在仿真场景中执行任务,获 得执行结果。
[0040] 在一种可能的实现方式中,装置还包括:环境生成模块,环境生成模块包括数据采集单 元、接口提供单元、生成单元;其中,
[0041] 数据采集单元,用于获取目标模拟环境对应的采集数据;
[0042] 接口提供单元,用于提供第三配置接口,第三配置接口用于获取目标模拟环境的类型 参数;
[0043] 生成单元,用于根据目标模拟环境对应的采集数据和目标模拟环境的类型参数,生成 目标模拟环境。
[0044] 在一个例子中,类型参数包括下述的一种或多种:室内场景、室外场景、天气类型。
[0045] 在一个例子中,目标模拟环境对应的采集数据包括目标模拟环境对应的真实环境中 的可移动设备和/或场地设备感知到的数据。
[0046] 在一种可能的实现方式中,目标模拟环境中包括至少一个三维模型和其各自对应的物 理参数,任务执行模块,用于根据任务指令,利用目标模拟设备和至少一个三维模型的 物理参数,在目标模拟环境中执行任务。
[0047] 在一个例子中,物理参数基于目标环境对应的采集数据确定。
[0048] 在一个例子中,物理参数包括摩擦系数和/或空气阻力系数。
[0049] 在一种可能的实现方式中,第二配置接口,还用于获取任务对应的进程数。
[0050] 在一种可能的实现方式中,任务包括起始点和终点,第二配置接口,还用于获取用户 设置的起始点和终点。
[0051] 在一种可能的实现方式中,第一配置接口用于获取用户从多个备选模拟环境中选择的 目标模拟环境的标识。
[0052] 在一种可能的实现方式中,第一配置接口用于获取用户从多个备选模拟设备中选择的 目标模拟设备的标识。
[0053] 在一个例子中,多个备选模拟设备包括预先设置的备选模拟设备或者基于真实设备 的外观数据建模生成的备选模拟设备。
[0054] 在一种可能的实现方式中,装置还包括:下发模块;其中,下发模块用于将执行结果 下发至与目标模拟设备对应的目标设备。
[0055] 在一种可能的实现方式中,任务执行模块,用于基于语义识别,将任务指令转换为仿 真指令,仿真指令为计算机可读的格式;基于仿真指令,利用目标模拟设备在目标模拟 环境中执行任务。
[0056] 在一种可能的实现方式中,任务包括至少一个技能。
[0057] 在一个例子中,技能包括导航,执行结果包括运动轨迹,方法还包括显示运动轨迹。
[0058] 在一个例子中,模拟设备包括至少一个关节和其各自对应的动力学参数,任务执行模 块,用于利用目标模拟设备中至少一个关节的动力学参数,控制目标模拟设备在仿真场 景中执行任务。
[0059] 在一个例子中,装置还包括:显示模块;其中,显示模块用于显示至少一个技能各自在 执行时的资源消耗。
[0060] 在一个例子中,装置还包括:部署模块;其中,部署模块用于确定至少一个技能中部署 在目标模拟设备对应的目标设备的目标技能。
[0061] 在一种可能的实现方式中,任务包括预测指标,执行结果包括预测指标的指标值。
[0062] 在一个例子中,预测指标包括目标模拟设备对应的目标设备中部件的温度阈值、运行时 长阈值和电量阈值。
[0063] 在一种可能的实现方式中,仿真场景中目标环境具有语义信息。
[0064] 在一种可能的实现方式中,任务包括预测指标,执行结果包括预测指标的指标值。
[0065] 在一种可能的实现方式中,第一配置接口用于获取静态模拟物体的标识、静态模拟物体 在目标模拟环境的第一位置,和/或,物体模拟物体行为的标识,物体模拟物体行为在目标 模拟环境的第二位置。
[0066] 目标模拟环境中的第一位置包括静态模拟物体,第二位置包括物体模拟物体行为。
[0067] 第三方面,本申请实施例提供了一种模拟训练装置,包括:至少一个存储器,用于存储 程序;至少一个处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理 器用于执行第一方面中所提供的方法。
[0068] 第四方面,本申请实施例提供了一种模拟训练装置,其特征在于,装置运行计算机程序 指令,以执行第一方面中所提供的方法。示例性的,该装置可以为芯片,或处理器。
[0069] 在一个例子中,该装置可以包括处理器,该处理器可以与存储器耦合,读取存储器中的 指令并根据该指令执行第一方面中所提供的方法。其中,该存储器可以集成在芯片或处理器 中,也可以独立于芯片或处理器之外。
[0070] 第五方面,本发明实施例提供了一种计算设备集群,包括:至少一个计算设备,每个计 算设备包括处理器和存储器;至少一个计算设备的处理器用于执行至少一个计算设备的存储 器中存储的指令,以使计算设备集群执行第一方面中所提供的方法。
[0071] 第六方面,本申请实施例提供了一种计算机存储介质,计算机存储介质中存储有指令, 当指令在计算机上运行时,使得计算机执行第一方面中所提供的方法。
[0072] 第七方面,本申请实施例提供了一种包含指令的计算机程序产品,当指令在计算机上运 行时,使得计算机执行第一方面中所提供的方法。附图说明
[0073] 图1是本申请实施例提供的一种云端系统的系统架构图;
[0074] 图2是本申请实施例提供的一种云端场景的示意图;
[0075] 图3是本申请实施例提供的一种模拟训练方法的流程示意图一;
[0076] 图4是本申请实施例提供的一种模拟训练方法的流程示意图二;
[0077] 图5a是本申请实施例提供的一种模型配置页面的示意图;
[0078] 图5b是本申请实施例提供的一种任务编排页面的示意图;
[0079] 图6a是本申请实施例提供的一种园区巡检场景下的边云协同的示意图;
[0080] 图6b是本申请实施例提供的一种方舱医院场景下的边云协同的示意图;
[0081] 图7是本申请实施例提供的一种模拟训练装置的结构示意图;
[0082] 图8是本发明实施例提供的一种计算设备的结构示意图;
[0083] 图9是本发明实施例提供的一种计算设备集群的结构示意图;
[0084] 图10是图9提供的一种计算设备集群的应用场景的示意图。

具体实施方式

[0085] 为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实 施例中的技术方案进行描述。
[0086] 在本申请实施例的描述中,“示例性的”、“例如”或者“举例来说”等词用于表示作例子、 例证或说明。本申请实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或 设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性 的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
[0087] 在本申请实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可 以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B 这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系 统是指两个或两个以上的系统,多个终端是指两个或两个以上的终端。
[0088] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者 隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括 一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”, 除非是以其他方式另外特别强调。
[0089]
[0090]
[0091]
[0092]
[0093]
[0094] 图1为本发明实施例提供的一种云端系统的架构示意图。如图1所示,该系统包括云服务 器集群100、边侧设备200和终端设备300。
[0095] 其中,云服务器集群100可以用独立的电子设备或者是多个电子设备组成的设备集群来 实现。可选地,云服务器集群100中的电子设备可为终端也可为计算机,还可以为服务器。 在一个例子中,本方案中涉及的服务器可以用于提供云服务,其可以为一种可以与其他的设 备建立通信连接、且能为其他的设备提供运算功能和/或存储功能的服务器或者是超级终端。 其中,本方案中涉及的服务器可以是硬件服务器,也可以植入虚拟化环境中,例如,本方案 中涉及的服务器可以是在包括一个或多个其他虚拟机硬件服务器上执行的虚拟机。
[0096] 其中,边侧设备200可以为可移动设备210、场地设备220。其中,可移动设备210可以为 机器人、车辆等可以移动的设备,可移动设备210上安装有传感器,比如,摄像头camera、激 光雷达Laser Radar等。场地设备220可以为灯杆上安装的传感器,比如,摄像头camera、激光 雷达Laser Radar、温度计、湿度计等。图2为本发明实施例提供的一种云端场景的示意图。如 图2所示,可移动设备210可以为轮式机器人、无人机、四足机器狗等,场地设备220可以为园 区监控设备。
[0097] 其中,终端设备300可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑 和便携式可穿戴设备。本方案中涉及的终端设备300的示例性实施例包括但不限于搭载iOS、 android、Windows、鸿蒙系统(Harmony OS)或者其他操作系统的电子设备。本发明实施例 对电子设备的类型不做具体限定。
[0098] 其中,边侧设备200分别和云服务器集群100通过网络连接,从而使得边侧设备200上的传 感器采集到的数据可以上传到云服务器集群100。其中,网络可以为有线网络或无线网络。示 例地,有线网络可以为电缆网络、光纤网络、数字数据网(Digital  Data Network,DDN)等, 无线网络可以为电信网络、内部网络、互联网、局域网络(Local Area Network,LAN)、广域 网络(Wide Area Network,WAN)、无线局域网络(Wireless Local Area Network,WLAN)、城 域网(Metropolitan Area Network,MAN)、公共交换电话网络(Public Service Telephone Network, PSTN)、蓝牙网络、紫蜂网络(ZigBee)、移动电话(Global System for Mobile Communications, GSM)、CDMA(Code Division Multiple Access)网络、CPRS(GeneralPacketRadioService) 网络等或其任意组合。可以理解的是,网络可使用任何已知的网络通信协议来实现不同客户 端层和网关之间的通信,上述网络通信协议可以是各种有线或无线通信协议,诸如以太网、 通用串行总线(universal serial bus,USB)、火线(firewire)、全球移动通讯系统(global system for mobile communications,GSM)、通用分组无线服务(general packet radio service,GPRS)、码分 多址接入(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time‑division code division multiple access,TD‑SCDMA)、 长期演进(long term evolution,LTE)、新空口(new radio,NR)、蓝牙(bluetooth)、无线保 真(wireless fidelity,Wi‑Fi)等通信协议。
[0099] 如图1所示,云服务器集群100包括数据仓库111、模拟环境库112、模拟设备库113、素材 库114、模拟物体库115、行为模式库116、模拟行为库117、语义资料库118、算法库119。
[0100] 其中,数据仓库111用于存储对边侧设备200接收到的多种格式的数据进行处理后的数据。 这里,处理可以为降噪数据、时间空间对齐等处理。这些数据为多种格式的多源数据,比如 激光点云(支持ply(Polygon File Format,多边形档案)、pcd(Point Cloud Data,是一种存储点 云数据的文件格式)、e57(是3D图像数据文件格式标准,汇集了点云和图像)等主流格式)、 视频(mp4、rmvb(RealMedia Variable Bit Rate,RealMedia可变比特率)、mkv(是Matroska 的一种媒体文件,Matroska是一种新的多媒体封装格式,也称多媒体容器(Multimedia Container))、avi(Audio Video Interleaved,音频视频交错格式)等主流格式)、图像(jpeg(Joint Photographic Experts Group,联合图像专家组)、jpg(是JPEG联合图像专家组定义的一种用 于连续色调静态图像压缩的标准)、bmp(Bitmap,位图)、png(Portable Network Graphics, 便携式网络图形)等主流格式)、机器人本体型号等数据(txt,xml(Extensible Markup Language, 可扩展标记语言),xlsx,json(JavaScript Object Notation,JS对象简谱)等主流格式)。
[0101] 其中,模拟环境库112用于存储模拟场景对应的标识(比如,可以为模拟场景的存储地址), 模拟场景包括若干个三维模型各自对应的描述信息。这里,描述信息可以包括几何信息(可 以形成三维模型的信息)、位置信息,物理参数,纹理信息;其中,物理参数为影响运动的 参数,比如,摩擦力系数和/或空气阻力系数,示例地,模拟场景中具有物理参数的三维模型 可以指示地面。纹理信息可以理解为物体表面的纹路(通常指的是材质)和图案,可以更好 的表现物体表面的信息,具体可以包括材质、反射率、颜色等。需要指出,模拟环境还可以 包括环境描述信息,环境描述信息可以包括天气情况、光线情况和空气的物理参数,尤其对 于室外的模拟环境,需要确定不同天气下的光线情况、空气的物理参数,从而更加接近真实 的环境。进一步地,模拟环境还可以包括多种地图,比如,二维地图,三维地图,语义地图, 点云地图等。需要说明的是,模型场景中的模拟物体通常是在环境中固定不变的物体,比如, 树、地面、建筑物,或者在环境中固定活动范围的运动物体,比如,动物园中的老虎、狮子 等。需要说明的是,模拟环境库112虽然存储的是模拟场景对应的标识,但是模拟场景还是 存储在云服务器集群100,该标识可以从云服务集群100中存储模拟场景的地方读取出模拟场 景的存储数据。
[0102] 其中,模拟设备库113用于存储模拟设备对应的标识(比如,可以为模拟设备的存储地址)。 示例地,模拟设备可以为机器人模型。其中,模拟设备是通过对实体的可移动设备210的几何 形状、结构及外观进行1:1几何外观建模,对可移动设备210每个可活动的智能关节的仿真(包 括但不限于电机加速器、阻尼参数等)构建的虚拟的可移动设备210,可支持设计模型更新、 三维重建等方法实现模型构建。此外,还需要对可移动设备210的传感器进行物理仿真。其中, 物理仿真包括物理重力仿真,物理碰撞仿真,应用物理材质来表达摩擦力、光反射等自身物 理属性,上述物理属性将影响可移动设备210在特定环境下的行为。这里,模拟设备包括若干 个关节的动力学参数,其中,动力学参数可以包括惯性参数和摩擦参数等,具体可结合实际 需求确定,本发明实施例对此不做具体限定。在实际应用中,模拟设备可以预先通过三维软 件构建的模型。在一个例子中,动力学参数可以为模拟设备指示的可移动设备210出厂时厂家 提供的每个关节的动力学参数。需要说明的是,模拟设备库113虽然存储的是模拟设备对应的 标识,但是模拟设备还是存储在云服务器集群100,该标识可以从云服务集群100中存储模拟 设备的地方读取出模拟设备的存储数据。
[0103] 其中,素材库114用于存储构建模拟物体的素材、模拟场景的素材的标识(比如,可以为 模拟物体的素材地址)。需要说明的是,素材库114虽然存储的是素材对应的标识,但是素材 还是存储在云服务器集群100,该标识可以从云服务集群100中存储素材的地方读取出素材的 存储数据。
[0104] 其中,模拟物体库115用于存储模拟物体对应的标识(比如,可以为模拟物体的存储地址); 在实际应用中,该模拟物体可以表示实际场景中可能存在的各种物体,比如静止物体。另外, 模拟物体可以包括物体的描述信息,比如几何信息、纹理信息、类别等可以模拟出真实物体 的信息。需要说明的是,模拟物体库115虽然存储的是模拟物体对应的标识,但是模拟物体还 是存储在云服务器集群100,该标识可以从云服务集群100中存储模拟物体的地方读取出模拟 物体的存储数据。
[0105] 其中,行为模式库116用于存储行为素材的标识(比如,可以为行为素材的存储地址)。 示例地,行为素材可以为车辆的运动片段;示例地,行为素材可以为天气变化的运动片段, 比如,光线变化,速变化,雨量变化等。这里,光线变化可以通过物体表面的情况表现, 风速变化可以通过物体的晃动表现,雨量变化可以通过对雨天的拍摄照片体现。需要说明的 是,行为模式库116虽然存储的是行为素材对应的标识,但是行为素材还是存储在云服务器集 群100,该标识可以从云服务集群100中存储行为素材的地方读取出行为素材的存储数据。
[0106] 其中,模拟行为库117用于存储模拟行为对应的标识(比如,可以为模拟行为的存储地址)。 在实际应用中,模拟行为可以和模拟物体关联,通常同一个模拟物体可以有不同的模拟行为, 则同一模拟物体可以具有多个模拟行为,对应的,模拟行为对应的标识还需要包括模拟物体 的标识(比如,可以为模拟物体的存储地址)。这里,模拟物体可以为人、车辆、动物,模 拟行为可以为直线、曲线、转圈、转弯等。另外,模拟行为也可以为天气变化,比如,天气 的变化可以包括风速变化(比如,可以记录风速随着时间的变化)、光线变化(比如,光线 强度随着时间的变化)、雨量变化(比如,可以记录雨量随着时间的变化)等,这里,模拟 行为是单独存在的,不需要依附模拟物体。需要说明的是,模拟行为库117虽然存储的是模拟 行为对应的标识,但是模拟行为还是存储在云服务器集群100,该标识可以从云服务集群100 中存储模拟行为的地方读取出模拟行为的存储数据。
[0107] 其中,语义资料库118用于存储模拟物体的语义信息。其中,语义信息可以为物体的轮廓、 颜色、材质、位置信息、是否运动、类别、周边物体等。在实际应用中,一个语义资料库118 可以存储若干个模拟环境的语义信息。
[0108] 其中,算法库119中存储有各种算法,比如,机器人的动力学参数辨识算法、空气阻力的 计算算法、摩擦力的计算算法、交互力的计算算法、人工智能算法。这里,人工智能算法可 以为各种深度学习算法、机器学习算法、深度强化学习算法、运动学规划算法等。其中深度 学习算法可包括卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(Recurrent Neural Network,RNN)、深度神经网络(Deep Neural Networks,DNN)、基于快速区域卷积网 络(FastR‑CNN)、YOLO(You Only Look Once)、单级多框预测(Single Shot MultiBox Detector, SSD)、长短期记忆网络(LSTM,Long Short‑Term Memory)、深层双向语言模型(Embeddings fromLanguage Models,ELMO)、Bidirectional Encoder Representation from  Transformers,基于 Transformers的双向编码器表示(Bidirectional Encoder Representation fromTransformers,BERT)、 生成式预训练(Generative Pre‑Training,GPT)等。
[0109] 如图2所示,云服务器集群100通过语义抽取层、物体/场景重建层、行为重建层和物理参 数层实现模拟环境的构建和更新。
[0110] 对于语义抽取层,云服务器集群100可以对数据仓库131中的数据进行语义提取,得到多 个模拟物体的语义信息,并存储到语义资料库中。
[0111] 对于物体/场景重建层,云服务器集群100可以对数据仓库131中的数据进行时间/空间对齐, 得到可以建模的素材,将素材存储在素材库114中,一方面,基于素材库114中的素材进行物 体建模,将构建的若干个模拟物体的标识存储在模拟物体库115中,另一方面,基于素材库中 的素材进行场景建模,将构建的模拟场景的标识存储在模拟场景库115中。可选地,云服务器 集群100可以基于数据仓库111中的激光点云数据,进行SLAM
(Simultaneous Localization and Mapping,即时定位与地图构建)建图,生成点云模型,结合激光点云数据在时间和空间上对 齐的图片数据,进行网格纹理重建,得到模拟场景。
另外,可以结合语义资料库117,得到模 拟场景的语义地图。
[0112] 对于行为重建层,云服务器集群100可以对数据仓库131中的数据(比如视频数据)进行 行为统计/抽取,得到行为模式,将行为模式存储在行为模式库116中;然后,对行为模式库 116中的行为模式进行建模,得到模拟行为,将模拟行为的标识存储在模拟行为库117中。示 例地,可以统计车辆的转弯的各种相似片段,然后将这些相似片段作为行为模式,之后,可 以对这些行为模式进行建模,确定转弯的速度,行驶的轨迹,得到模拟行为。示例地,可以 统计砖头掉落的各种相似片段,然后将这些相似片段作为行为模式,之后,可以对这些行为 模式进行建模,确定砖头掉落的加速器、运动轨迹等,得到模拟行为。
[0113] 对于物理参数层,云服务器集群100对于模拟场景,基于算法库119中的空气阻力、交互 力等计算算法,结合构建模拟场景的数据中可移动设备210的运动数据和所在环境的环境数据, 可以得到该模拟场景中若干个三维模型的物理参数。另外,云服务器集群100还可以对于模拟 设备库113中的模拟设备,基于模拟设备指示的真实设备的运动数据和算法库119中的动力学 辨识的计算算法,确定模拟设备中的每个关节的动力学参数。
[0114] 对于更新层,云服务器集群100可以实现语义更新、几何更新、物理参数更新、动力学参 数更新。值得注意的是,几何更新可以理解为外形的更新,比如在模拟环境中新增模拟物体, 或者,删除模拟环境中的模拟物体,在几何更新后的,需要保留原有的模拟场景,并将更新 后的模拟场景的标识存储在模拟模拟场景库112。语义更新可以理解为删除模拟物体的描述信 息、新增模拟物体的描述信息和/或更新模拟物体的描述信息,比如,可以将树边有车,更新 为树边无车。物理参数更新可以理解为模拟场景中特定的三维模型的物理参数的更新。假设 园区中的地面的摩擦力为A,现在园区中下雨了,地面非常湿滑,此时就会重新计算地面的 摩擦力系数并更新该系数。值得注意的是,物理参数更新后,需要存储到对应的模拟场景中。 另外,物理参数更新可包括模拟环境的环境描述信息的更新,比如,之前构建晴天下的模拟 环境,现在园区中下雨了,就可以更新环境描述信息为下雨天的相关情况,值得注意的是, 环境描述信息需要保留之前的信息,并将更新后环境描述信息存储到对应的模拟场景中。
[0115] 本发明实施例中的模拟环境基于边侧设备200上的传感器(为了便于描述和区别,称为目 标传感器)采集的数据构建。在实际应用中,云服务器集群100可以获取到指示模拟环境中发 生变化情况的数据(为了便于描述和区别,称为目标数据),通过语义抽取层实现语义更新, 通过物体/场景重建层的物体建模或场景建模实现几何更新,通过物理参数层实现物理参数的 更新。
[0116] 在一个例子中,云服务器集群100可以基于数据仓库111中的目标传感器采集的数据,判 断模拟环境是否发生变化,在环境发生变化时,确定指示模拟环境中发生变化情况的数据(为 了便于描述和区别,称为目标数据)。
[0117] 在一个例子中,可移动设备210可以基于数据仓库111中的目标传感器采集的数据,判断 模拟环境是否发生变化,在环境发生变化时,确定指示模拟环境中发生变化情况的目标数据 上传到云服务器集群100,云服务器集群100获取到目标数据。
[0118] 需要说明的是,在实际应用中,云管理平台分为客户端和服务端,云服务器集群100安 装有云管理平台的服务端。用户可以在终端设备300上安装云管理平台的客户端,或者,安 装浏览器,在浏览器输入网址从而访问云管理平台的客户端。
[0119] 举例来说,用户在浏览器输入网址,进入客户端的登录页面,操作登录页面注册一个账 号,手动设置或者由云管理平台的服务端分配一个账号密码,得到可以访问云管理平台的客 户端的账号(为了便于描述和区别,称为目标账号)和账号密码(为了便于描述和区别,称 为目标账号密码);然后,用户在登录页面输入目标账号和目标账号密码,进入云管理平台的 客户端;之后,用户可以通过云管理平台的客户端使用云管理平台的服务端可以提供的各种 服务。
[0120] 在一个例子中,用户通过终端设备300建立模型生成任务。
[0121] 示例地,用户可以从素材库114中选择某时间段可移动设备210上传的数据用于模型重建, 或者自己上传素材到素材库114,这个素材指可移动设备210或用户通过别的方式采集的点云 图片等数据,之后,再从素材库114中选择用于重建的数据。然后,云服务器集群100可以基 于用户选择的数据创建模型。
[0122] 可选地,若用于重建模拟物体,则可以创建的模拟物体存储在目标账号下的模拟物体库 115。
[0123] 可选地,若用于重建模拟场景,则可以将创建的模拟场景存储在目标账号下的模拟场景 库112。进一步地,还可以确定需要选择是否需要确定物理参数、语义信息、和/或纹理信息。
[0124] 示例地,用户可以从行为模式库116中选择某时间段的行为模式用于行为重建,则可以将 创建的模拟行为存储在目标账号下的模拟行为库117。
[0125] 示例地,用户可以从模拟环境库112中选择模拟环境,并为模拟环境配置是否进行几何更 新、语义更新、物理参数更新。
[0126] 值得注意的是,模拟环境库112、模拟设备库113、模拟物体库115、模拟行为库117可以 预先存储所有用户共享的模型;素材库114可以预先存储所有用户共享的素材,行为模式库116 可以预先存储所有用户共享的行为片段。
[0127] 另外,在实际应用中,数据仓库111可以存储边侧设备200的监控数据。
[0128] 【方法实施例】
[0129] 本发明实施例提供了一种模拟训练方法。可以理解,该方法可以通过任何具有计算、处 理能力的装置、设备、平台、设备集群来执行。比如,图1示出的云端系统。下面结合图1 示出的云端系统对本发明实施例提供的模拟训练方法进行介绍。
[0130] 图3本发明实施例提供了一种模拟训练方法的流程示意图,如图3所示,该模拟训练方 法包括:
[0131] 步骤301、云服务器集群100提供第一配置接口。
[0132] 步骤302、终端设备300显示第一配置接口,获取用户对第一配置接口的操作,以获取目 标模拟环境的标识和目标模拟设备的标识。
[0133] 根据一种可行的实现方式,第一配置接口可以为模型配置界面。具体地,云服务器集群 100可以发布第一配置接口,对应的,终端设备300会向用户显示模型配置界面,以使用户 通过终端设备300操作模型配置界面,确定目标环境的标识和模拟设备的标识,并上传至云 服务器集群100。
[0134] 图5a是本申请实施例提供的一种模型配置页面的示意图,如图5a所示,模型配置界面包 括模拟环境配置控件和模拟设备配置控件。在实际应用中,用户通过在终端设备300输入目 标账号和密码登录云管理平台的客户端,之后,用户操作终端设备300,终端设备300显示 模型配置界面,用户点击模型配置界面中的模拟环境配置控件,显示目标账号下的模拟环境 库112中的模拟环境的缩略图的列表,然后用户选择列表中的缩略图,第一配置接口就可以 从模拟环境库112中的多个备选模拟环境中确定目标模拟环境的标识;相似的,用于点击模 型配置界面中的模拟设备配置控件,显示目标账号下的模拟设备库113中的模拟设备的缩略 图的列表,然后用户选择列表中的缩略图,第一配置接口就可以从模拟设备库113中的多个 备选模拟设备中确定目标模拟设备的标识。
[0135] 根据一种可行的实现方式,在获取目标场景的标识前,步骤302还包括如下内容:
[0136] 获取目标模拟环境对应的采集数据;提供第三配置接口,第三配置接口用于获取目 标环境的类型参数;根据目标模拟环境对应的采集数据和目标模拟环境的类型参数,生 成目标模拟环境。
[0137] 可选地,第三配置接口为模型生成界面,用户在终端设备300通过模型生成界面建立模 型生成任务时,模型生成界面包括数据配置控件、类型参数配置控件,数据配置控件用于选 择目标模拟环境对应的采集数据,比如,可移动设备210和场地设备220在上午10点到10 点半采集的数据,类型参数配置控件用于配置目标模拟环境的类型参数,之后,云服务器集 群100可以根据用户配置的数据、目标模拟环境的类型参数,生成目标模拟环境。
[0138] 其中,类型参数可以为包括若干个参数,比如室内场景、室外场景、天气类型。示例地, 天气类型可以为晴天、阴天、雨天、多云、雾天、扬尘、大风等。需要说明的是,不同的类 型参数对建模的要求不同,比如,在室内场景,一般不需要关注光线变化,但是在室外场景, 光线变化和天气类型很重要,需要耗费更多的资源模拟出室外光线。值得注意的是,在实际 应用中,通常室外场景和天气类型是关联的,因此在类型参数为室外场景时,一方面可以直 接配置天气类型,另一方面,无需配置天气类型,可以结合天气预报信息等确定天气类型, 实现智能化建模。
[0139] 上述类型参数仅仅作为示例,并不构成对类型参数的具体限定,在一些可能的实施例中, 类型参数可以包括比上述更多或更少的参数;比如,类型参数还可以包括特征复杂等级、具 有透明特征的物体、动态物体复杂等级。
[0140] 其中,特征复杂等级用于说明需要构建的模拟环境的特征的数目的大小,等级越高说明 特征的数目越多。这里,特征复杂等级用于选择不同的特征选取方法,从而减小构建的模拟 场景和真实场景之间的差异。比如,对于走廊这种特征较为简单的场景,可以采用光流法实 现特征提取。比如,对于园区这种特征较为复杂的场景,可以采用人工智能算法实现特征提 取,比如,从算法库119中选择合适的人工智能算法实现特征提取。示例地,特征复杂等级 可以分为3个等级,比如,简单、中等、复杂;示例地,特征复杂等级可以分为5个等级, 比如,非常简单、简单、中等、复杂、非常复杂。值得注意的是,基于特征复杂等级可以为 不同的传感器采集的数据选择不同的特征提取方法,或者,相同的特征提取方法,比如,图 像和采用激光的方式感知环境的传感器比如激光雷达采集的激光点云数据均可以采用人工智 能算法的方式提取特征。
[0141] 其中,具有透明特征的物体可以为玻璃、透明桶等具有较高折射率和反射率的物体, 这类物体对采用激光的方式感知环境的传感器比如激光雷达采集的数据具有较大的影响,可 能会影响模拟环境的构建,增大模拟环境和真实环境的差异。则可以删除对采用激光的方式 感知环境的传感器比如激光雷达采集的激光点云数据中具有透明特征的物体所在区域的数据, 降低模拟环境和真实环境的差异。这里,可以通过图像感知具有透明特征的物体所在的区域。 在一个例子中,第三配置接口可以配置有具有透明特征的物体的列表,用户可以从列表中选 择具有透明特征的物体,比如,玻璃,透明水桶等。在实际应用中,可选地,云服务集群100 中的模拟物体库115存储的模拟物体的标识中包括具有透明特征的物体的标识。此时,第三 配置接口关联模拟物体库115中具有透明特征的物体的标识。值得注意的是,模拟物体具有 物体的描述信息,描述信息可以包括是否透明,则可以基于物体的描述信息判断物体是否具 有透明特征。
[0142] 其中,动态物体复杂等级用于说明需要构建的模拟环境对应的实际环境中的动态物体的 数目的大小,等级越高说明活动的动态物体的数目越多,则遮挡的地方越多,模拟环境重建 越复杂,因此,可以基于动态物体复杂等级选择不同的模拟环境重建方法,从而减小构建的 模拟场景和真实场景之间的差异。比如,对于十字路口这种动态物体较多的场景,可以以摄 像头感知的图像为主,采用激光的方式感知环境的传感器比如激光雷达采集的激光点云数据 为辅,实现模拟环境重建。示例地,动态物体复杂等级可以分为3个等级,比如,简单、中 等、复杂;示例地,动态物体复杂等级可以分为5个等级,比如,非常简单、简单、中等、 复杂、非常复杂。
[0143] 另外,在实际应用中,可以基于具有透明特征的物体对数据仓库111中采用激光的方式 感知环境的传感器比如激光雷达采集的激光点云数据进行处理,基于动态物体复杂等级选择 合适的模拟场景重建的方式,为不同传感器赋予不同的权重,基于不同传感器的权重和基于 特征复杂等级选择合适的特征提取方式,对不同传感器采集的数据进行特征提取和融合,分 析真实场景中物体表面的位置、颜色、纹理等,实现真实环境的模拟,减小模拟环境和真实 环境之间的差异。这里,基于不同传感器的权重和基于特征复杂等级选择合适的特征提取方 式,对不同传感器采集的数据进行特征提取和融合,可以理解为基于特征复杂等级选择合适 的特征提取方式,对不同传感器采集的数据进行特征提取,分析真实场景中物体表面的位置、 颜色、纹理等;之后,基于不同传感器的权重对不同传感器采集的数据进行特征提取的特征 进行融合,得到可以较为准确反映真实场景中物体表面的位置、颜色、纹理等,从而实现真 实环境的模拟。
[0144] 步骤303、终端设备300向云服务器集群100发送目标模拟环境的标识和目标模拟设备的 标识。
[0145] 步骤304、云服务器集群100提供第二配置接口。
[0146] 步骤305、终端设备300显示第二配置接口,获取用户对第二配置接口的操作,以获取第 一任务指令。
[0147] 根据一种可行的实现方式,第二配置接口可以为任务编排界面。具体地,云服务器集群 100可以发布任务编排界面,对应的,终端设备300会显示任务编排界面,以使用户通过任 务编排界面,确定第一任务指令,并上传至云服务器集群100。需要说明的是,第一任务指 令指示了需要让模拟设备完成的任务。
[0148] 在一个例子中,用户通过在终端设备300输入目标账号和密码登录云管理平台的客户端, 之后,用户操作终端设备300,终端设备300显示第二配置接口指示的任务编排界面,用户 可以在任务编排界面中编排任务,得到第一任务指令。
[0149] 图5b是本申请实施例提供的一种任务编排页面的示意图。如图5b所示,任务编排页面 包括任务描述控件,比如输入框,示例地,可以在任务编排页面中输入任务描述,比如,搬 运物资通过消毒点送到目标点。任务编排页面还包括任务流创建控件,在实际应用中,用户 可以操作任务流创建控件,在任务流创建的区域内创建任务流。具体地,可以先创建任务开 始节点,然后创建子任务的节点,并添加子任务的描述,不断添加子任务,最后得到任务流。 比如,对于搬运物资通过消毒点送到目标点,可以创建5个子任务,依次的为抓取物资,到 达消毒点,物资消毒,到达目标点,卸货。值得注意的是,任务编排页面还可以显示目标模 拟环境的缩略图,通常为二维地图,用户可以在目标模拟环境的缩略图中表明导航点。比如, 对于搬运物资通过消毒点送到目标点,则需要标注物资点、消毒点、目标点(物资存放的地 方)。
[0150] 步骤306、终端设备300向云服务器集群100发送第一任务指令。
[0151] 步骤307、云服务器集群100根据第一任务指令、目标模拟环境的标识和目标模拟设备的 标识,利用目标模拟设备在目标模拟场景中执行任务,获得第一执行结果。
[0152] 在实际应用中,可以基于语义识别,了解第一任务指令需要完成的任务是什么,从而将 第一任务指令转化成仿真指令,仿真指令为计算机可读的格式,之后,基于仿真指令、目标 模拟环境的标识和目标模拟设的标识,加载目标模拟设备和目标模拟环境,并利用模拟设备 在目标模拟场景中执行任务。
[0153] 在实际应用中,第一配置接口还可以确定目标仿真器的标识;在目标仿真器中加载目标 模拟环境和目标模拟设备。如图5a所示,模型配置界面包括仿真器配置控件。在一个例子中, 用户点击模型配置界面中的仿真器配置控件,显示仿真器的列表,然后用户选择列表中的仿 真器,从而使得第一配置接口可以获取用户配置的目标仿真器的标识。值得注意的是,仿真 器的种类多种多样,不同的仿真器的偏重有所不同,比如,有的仿真器的物体表面的细节更 为真实,视觉感受好,有的仿真器的三维模型的细节表现更为真实,用户可以选择不同的仿 真器实现模拟。
[0154] 根据一种可行的实现方式,第二配置接口还用于获取进程数。对应的,云服务器集群 100创建适配进程数的进程,从而并行利用目标模拟设备在目标模拟场景中执行任务,确保任 务执行的效率。举例来说,可以将任务分解成多个子任务,不同的子任务由不同的进程完成, 从而实现并行处理。
[0155] 本方案中,通过第一配置接口和第二配置接口,实现模拟设备、模拟环境、任务的 配置,之后,可实现可移动设备和其所在环境的仿真,并在仿真出的环境中执行任务,降低 了对实体设备完成任务的难度和成本。
[0156] 可移动设备210活动的室外开放环境一般面积比较大,生成的模拟环境也很大,一次性加 载完整的模拟环境既需要很长时间也需要消耗很多资源,而且操作时也不流畅,渲染整个模 拟环境也要很长时间,对于目前的主流仿真器是个很大的挑战。
[0157] 为了解决上述问题,本发明实施例通过云上丰富的服务器资源,将大模型分割成若干部 分,分别由不同的服务器分布式加载,极大地降低了对单台机器的资源需求。
[0158] 对应的,在上述图3所示实施例的基础上,本发明实施例中,第一配置接口可以配置实例 数目。这里,实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。对应的, 步骤307可以包括如下内容:
[0159] 云服务器集群100在实例数目匹配的实例上加载目标模拟环境和目标模拟设备,从而可以 由不同的服务器分布式加载目标模拟设备和目标模拟环境,极大地降低了对单台机器的资源 需求。
[0160] 进一步地,还可以基于模拟设备上的模拟传感器的感知范围,自适应的确定局部实时模 型加载范围,可以在一定程度上避免对模拟环境的无关区域的加载,减少了模型的整体加载 时间,并提高了操作的流畅度,实现了超大规模模型的高效加载和操作。
[0161] 对应的,步骤307可以包括如下内容:
[0162] 云服务器集群100在加载目标模拟设备后,在基于第一任务指令执行任务的过程中,基于 模拟设备上的模拟传感器的感知范围,加载目标模拟环境在感知范围内的环境。
[0163] 根据一种可行的实现方式,在加载目标模拟设备后,可以初始化目标模拟设备在目标模 拟环境的位置,在基于第一任务指令执行任务的过程中,基于模拟设备上的模拟传感器的感 知范围,加载目标模拟环境在感知范围内的环境。
[0164] 根据另一种可行的实现方式,可以先加载目标模拟环境的部分,然后在加载的目标模拟 环境中随机加载目标模拟设备,之后,基于模拟设备上的模拟传感器的感知范围,加载感知 范围内的目标模拟环境和目标模拟设备。
[0165] 综上,本方案通过分布式加载和自适应的确定局部实时模型加载范围这两种方式,减少 了模型的整体加载时间,并提高了操作的流畅度,实现了超大规模模型的高效加载和操作。
[0166] 在上述图3所示实施例的基础上,本发明实施例中,目标模拟环境包括至少一个三维模 型和其各自携带的物体参数。可选地,第一配置接口还可以确定目标模拟环境中的至少一个 三维模型对应的物理参数。
[0167] 在实际应用中,如图5a所示,第一配置接口指示的模型配置页面还包括目标模拟环境中 的三维模型的物理参数配置控件。在一个例子中,物理参数配置控件可以显示三维模型对应 的物理参数,从而使得第一配置接口可以从三维模型的备选物理参数中,选择目标物理参数。 这里,三维模型通常为路面。
[0168] 对应的,在步骤307中,云服务器集群100利用目标模拟设备和至少一个三维模型的 物理参数,在目标模拟场景中执行任务。
[0169] 在实际应用中,对于室内场景,在涉及到目标模拟设备和三维模型交互的时候,需 要物理参数。
[0170] 示例地,三维模型为物资,此时物资的物理参数可以包括摩擦力系数和物资的重量, 当目标模拟设备需要抓取物资时,需要基于物资的摩擦力系数和重量,计算摩擦力,确 定目标模拟设备需要用多大的力才能抓取物资。
[0171] 示例地,三维模型为路面,路面的物理参数可以包括摩擦力系数,假设目标模拟设 备需要巡检时,此时目标模拟设备需要在路面上运动时,此时需要基于路面的摩擦力系 数,目标模拟设备的重量,计算目标模拟设备和路面之间的摩擦力,然后结合目标模拟 设备的空气阻力系数,以及,室内环境下的预设的空气信息,可以得到目标模拟设备在 路面上运动需要的最小的速度。进一步地,若目标模拟设备搬运有物资,还需要考虑保 证物资不会掉落的最大的速度。
[0172] 本方案中,使用物理参数辨识技术赋予模拟环境真实的物理参数,持续降低真实‑数 字之间的差异,提供了一个可靠的仿真环境。
[0173] 本发明实施例中通过收集环境中真实物体的数据,构建接近真实物体的模拟物体,建立 模拟物体库116,可以在模拟环境中增加或减少模拟物体,生成复杂的模拟环境供机器人训 练,解决现实环境下意外情形发生概率低,数据量少的问题。
[0174] 对应的,在上述图3所示实施例的基础上,本发明实施例中,步骤302还可以包括如下 内容:
[0175] 终端设备300显示目标模拟场景的缩略图,获取用户对第一配置接口的操作,以获取目 标模拟物体的标识、目标模拟物体在目标模拟场景中的第一位置。
[0176] 在实际应用中,如图5a所述,第一配置接口指示的模型配置页面还可以在环境缩略图的 显示区域显示目标模拟场景的缩略图,模拟物体配置控件。模拟物体配置控件用于显示模拟 物体库115中的模拟物体的缩略图的列表,用户可以拖拽缩略图到目标模拟场景的缩略图中, 从而使得第一配置接口可以获取目标模拟物体的标识、目标模拟物体在目标模拟场景中的第 一位置。
[0177] 对应的,步骤307具体包括如下内容:
[0178] 云服务器集群100加载目标模拟环境,并在目标模拟环境中的第一位置加载目标模拟物 体。
[0179] 值得注意的是,在分布式加载和自适应加载的过程中,在第一位置位于目标模拟设备的 模拟传感器的感知范围内,此时,可以在第一位置加载目标模拟物体。
[0180] 值得注意的是,在实际应用中,用户可以将目标模拟设备放置到目标模拟环境中的某一 位置,该位置作为目标模拟设备的初始位置。具体地,如图5a所示,模型配置页面在设备缩 略图的显示区域显示目标模拟设备的缩略图,用户可以拖拽目标模拟设备的缩略图到目标模 拟场景的缩略图中,确定目标模拟设备在目标模拟设备的初始位置。
[0181] 进一步地,本发明实施例中通过收集环境中物体的运动行为,建立模拟行为库116,可 以在模拟环境中模拟出物体的真实的运动行为,生成各种案例供机器人训练,解决现实环境 下案例发生概率低,数据量少的问题。
[0182] 对应的,对应的,在上述图3所示实施例的基础上,本发明实施例中,步骤302还可以 包括如下内容:
[0183] 终端设备300显示目标模拟场景的缩略图,获取用户对第一配置接口的操作,以获取目 标模拟物体的目标行为的标识。
[0184] 在实际应用中,如图5a所示,第一配置接口指示的模型配置页面可以显示目标模拟场景 的缩略图(显示在在环境缩略图的显示区域),模拟物体配置控件、模拟行为配置控件。在一 个例子中,模拟行为配置控件用于显示模拟行为库116中的目标模拟物体的模拟行为的缩略 图的列表,用户可以点击模拟行为的缩略图,从而使得第一配置接口可以获取目标模拟物体 的目标行为的标识。
[0185] 对应的,步骤307具体包括如下内容:
[0186] 云服务器集群100加载目标模拟环境,并在目标模拟环境中的第一位置加载目标模拟物 体,控制目标模拟物体按照目标行为运动,得到最终的目标模拟环境。
[0187] 值得注意的是,在分布式加载和自适应加载的过程中,在第一位置位于目标模拟设备的 模拟传感器的感知范围内,此时,可以在第一位置加载目标模拟物体,并控制该目标模拟物 体按照目标行为运动。
[0188] 本发明实施例中通过收集环境中天气的运动行为,可以在模拟环境中模拟出真实的天气 行为,生成各种模拟环境供机器人训练,解决现实环境下异常天气发生概率低,数据量少的 问题。
[0189] 对应的,在上述图3所示实施例的基础上,本发明实施例中,在步骤303之后,还可以 包括如下内容:
[0190] 终端设备300获取用户对第一配置接口的操作,以获取目标天气行为的标识。对应的, 步骤307具体包括如下内容:
[0191] 云服务器集群100加载目标模拟环境,并在目标模拟环境中加载目标天气行为。
[0192] 值得注意的是,天气行为可以包括风速变化、雨量变化等,从而可以得到目标模拟设备 在不同天气下的执行结果,适配真实场景的复杂性。
[0193] 对于维护和保养机器人,一般都是机器人在运行过程中出现问题,比如设备损坏,然后 进行维修作业,这种做法存在以下问题:
[0194] 1.机器人的维修作业用户一般并不能在短时间内完成,需要联系厂商或开发者定位问题并 提供解决方案,会耽误工作进度。
[0195] 2.机器人的设备维修会带来一定的经济成本,尤其是激光雷达,高精度摄像头等价格动辄 几千上万的传感器。
[0196] 3.机器人出现问题时,往往会造成一些意外,会给周边环境和人员带来一定的风险,比如 机器人直接撞到行人或车辆。
[0197] 基于此,本发明实施例可以通过模拟设备和模拟环境对可移动设备210进行预测性维护, 尽可能的延长可移动设备210的设备使用寿命,降低出现意外的风险。
[0198] 在上述图3所示实施例的基础上,本发明实施例中,第一任务指令指示的任务可以为预测 性维护任务;对应的,任务包括至少一个维护指标。执行结果包括至少一个维护指标的指标 值。
[0199] 示例地,至少一个维护指标包括可移动设备中部件的温度阈值、可移动设备的电量阈 值和/或可移动设备的运行时长阈值。这里的部件可以为中央处理器(central processing unit,简称CPU)。
[0200] 则步骤307具体可以包括如下内容:
[0201] 云服务器集群100在目标模拟环境中对目标模拟设备进行模拟测试,确定目标模拟设备的 至少一个维护指标的指标值。
[0202] 进一步地,云服务器集群100可以接收目标模拟设备对应的目标设备发送的运行信息;基 于运动信息和第一执行结果,确定目标设备的损耗情况,在损耗较高时进行告警。
[0203] 值得注意的是,在预测性维护任务这一场景下,用户可以配置多个目标模拟环境。 后续,在多个目标模拟环境中对目标模拟设备进行模拟测试,确定至少一个维护指标的 指标值,从而能够更为精准对可移动设备210进行损耗分析。
[0204] 这里,目标设备的运行信息可以包括电量、CPU温度和/或运行总时长等,则可以通 过一个维护指标确定损耗程度,也可以通过多个维护指标确定损耗程度。
[0205] 需要说明的是,在通过CPU温度或电量确定损耗程度时,可以将运行信息中的CPU温 度和CPU的温度阈值进行比较,比如,可以将运行信息中的CPU温度和CPU温度阈值的 比值作为损耗程度,一旦运行信息中的CPU温度接近CPU的温度阈值,就告警。电量和 运行时长类同,不再赘述。
[0206] 本发明实施例可以实现模拟设备的技能训练测试,而模拟设备的运动需要模拟设备中的 关节的动力学参数,从而确保可以实现模拟设备的技能训练测试。在实际应用中,在涉及到 目标模拟设备的关节运动的任务时,需要动力学参数。比如,目标模拟设备需要抓取物 体、跳舞、打招呼、拖地、撒消毒水、卸货、搬运石头等。
[0207] 在上述图3所示实施例的基础上,本发明实施例中,目标模拟设备包括至少一个关节, 第一配置接口还可以确定目标模拟设备中的至少一个关节对应的动力学参数。
[0208] 在实际应用中,如图5a所示,第一配置接口指示的模型配置页面还可以包括目标模拟设 备的动力学参数配置控件。在一个例子中,动力学参数配置控件可以显示目标模拟设备的多 套动力学参数,从而使得第一配置接口可以从目标模拟设备的备选的多套动力学参数中,选 择动力学参数。这里,每套动力学参数包括目标模拟设备中所有关节的动力学参数。
[0209] 可选地,用户无需配置目标模拟设备中至少一个关节的动力学参数,直接采用默认的动 力学参数即可。
[0210] 对应的,在步骤307中,云服务器集群100利用目标模拟设备中的至少一个关节的动 力学参数,控制目标模拟设备在目标模拟环境中执行任务。
[0211] 值得注意的是,可以利用目标模拟设备中的关节的动力学参数,可以控制关节运动 需要的力,从而实现目标模拟设备的关节活动,使得目标模拟设备可以完成各种各样的 动作,比如,跳舞,打招呼,走路,搬运等。
[0212] 举例来说,假设目标模拟设备为机器人,任务为跨越土堆,在执行跨越土堆的任务 时,云服务器集群100可以设置抬脚的多个高度以及每个高度各自对应的抬脚速度,然后, 可以基于机器人抬脚时需要的关节的动力学参数,确定机器人抬脚时如何控制关节的活动; 之后,可以对每个高度和其对应的抬脚速度进行模拟测试,看机器人是否跨越土堆。
[0213] 根据一种可行的实现方式,第一任务指令指示的任务包括若干个技能。技能指示了可移 动设备210可以实现的活动。对应的,第一执行结果包括若干个技能各自的技能实现策略。在 实际应用中,目标模拟设备对应的目标设备执行技能实现策略实现技能。在一个例子中,若 干个技能包括导航、避障、拍摄、跳舞、打招呼、拖地、撒消毒水、卸货、抓取货物、搬运 石头、跨越土堆等。
[0214] 在一个例子中,若干个技能包括导航,则技能实现策略包括运动轨迹,换言之,执行 结果包括运动轨迹。可选地,云服务器集群100还可以显示运动轨迹。值得注意的是,在 技能为导航时,此时需要标注好多个任务点,这些任务点包括起始点和终点,在一些可 能的场景,起始点和终点之间还存在若干个任务点。值得注意的是,任务点可以关联一个 或多个技能,即需要在任务点完成这些技能,任务点的技能可以为拍摄、跳舞、打招呼、卸 货、抓取货物、搬运石头等。示例地,第一任务指令指示的任务包括N个技能和M个任务点, 假设技能的数目有N个,N个技能包括导航和N‑1个其他的技能,N‑1个其他的技能和M个 任务点关联。举例来说,如图5b所示,任务编排页面还可以显示目标模拟环境的缩略图, 通常为二维地图,用户可以在目标模拟环境的缩略图中表明若干个任务点,比如,物资点、 消毒点、目标点(物资存放的地方),这里,物资点可以为起始点、目标点可以为终点,物资 点关联的技能为抓取物资,消毒点关联的技能为物资消毒,目的点关联的技能为卸载物资。
[0215] 需要说明的是,在实际应用中,第一任务指令指示的任务需要结合目标模拟设备在目标 模拟环境执行任务实际遇到的情况灵活增加,可以不断的增加新的技能。比如,第一任务指 令为搬运物资通过消毒点送到目标点,假设目标模拟环境中存在正在运动的物体,目标模拟 设备在执行任务的过程中遇到该物体,此时,可以新增一个技能为避障;再比如,目标模拟 环境中存在土堆,目标模拟设备在执行任务的过程中遇到该土堆,此时,可以新增一个技能 为跨越土堆。
[0216] 在一种可能的情况,第一执行结果中的技能实现策略为表现较好的策略。举例来说,假 设目标模拟设备为机器人,任务为跨越土堆,在执行跨越土堆的任务时,云服务器集群 100可以设置抬脚的多个高度以及每个高度各自对应的抬脚速度,之后,可以对每个高度和 其对应的抬脚速度进行模拟测试,看机器人是否跨越土堆,之后,可以分析每个高度和其对 应的抬脚速度下的机器人是否跨越成功、能耗、消耗时间和动作的平滑程度,最后可以选择 跨越成功、能耗较低、消耗时间较低、动作较为平滑的高度和其对应的抬脚速度。
[0217] 如图3所示,在上述图3所示步骤301到步骤307的基础上,本发明实施例中,至少还可以 包括如下步骤:
[0218] 步骤308、云服务器集群100向目标模拟设备对应的目标设备下发第一执行结果。
[0219] 在实际应用中,云服务器集群100可以将第一执行结果下发到目标模拟设备对应的目标设 备即真实设备,使得目标设备可以按照第一执行结果执行任务。需要说明的是,目标设备为 可移动设备210。
[0220] 举例来说,假设任务为搬运物资通过消毒点送到目标点,则目标设备可以按照执行结果 中的运动轨迹运行,并在达到物资点时搬运物资,将搬运的物资搬运到消毒点消毒,然后将 消毒后的物资搬运到目标点,最后将消毒后的物资放到目标点。
[0221] 在一种可能的情况,第一执行结果中的技能实现策略为能够实现技能的策略,为了满足 用户的需求,可以由用户决定实现技能需要的技能实现策略。为了便于用户决策,第一执行 结果还包括任务执行情况,任务执行情况指示了目标模拟设备按照技能实现策略执行时 的执行情况,比如,执行时间,资源消耗,目标设备在实现技能过程中是否平稳等。
[0222] 如图3所示,在上述图3所示步骤301到步骤307的基础上,本发明实施例中,至少还可以 包括如下步骤:
[0223] 步骤309、云服务器集群100向终端设备300发送第一执行结果中的任务执行情况。
[0224] 在一个例子中,云服务器集群100可以将技能实现策略发送到目标设备,接收目标设备发 送的自身执行技能实现策略的执行情况。
[0225] 在一个例子中,云服务器集群100可以控制目标模拟设备按照技能实现策略在目标模拟环 境中实现技能,得到执行情况。
[0226] 之后,汇总第一执行结果中所有的技能实现策略的执行情况,得到任务执行情况。
[0227] 步骤310、终端设备300显示任务执行情况,确定任务部署策略。
[0228] 根据一种可行的实现方式,终端设备300可以显示任务执行情况,为了便于用户决策部署 技能,任务执行情况还可以包括目标模拟设备执行每个技能实现策略时的缩略视频,对应的, 终端设备300还可以显示目标模拟设备执行技能实现策略的缩略视频,从而便于用户决策。
[0229] 这里,任务部署策略包括任务执行情况中的多个技能各自对应的标识、部署策略以及目 标技能实现策略的标识。
[0230] 其中,部署策略可以为部署在目标设备,部署在云服务器集群100,或者,自适用决策, 即可以结合目标设备的资源情况,确定自身执行,还是云服务器集群100执行。在实际应用时, 用户在看到不同的多个技能各自的执行情况后,可以决定技能部署在云服务器集群100,还是 部署在目标设备,还是自适应决策。
[0231] 对于任一技能,第一执行结果中该技能可以有多个技能实现策略,此时,用户可以选择 表现较好的技能实现策略作为该技能的目标技能实现策略。进一步地,若目标技能实现策略 有多个,即用户选择了多个目标技能实现策略,则任务部署策略还包括该技能的多个目标技 能实现策略各自的执行顺序,从而确保在实际应用过程中技能的实现。
[0232] 步骤311、终端设备300向云服务器集群100发送任务部署策略。
[0233] 步骤312、云服务器集群100基于任务部署策略,确定任务执行策略。
[0234] 这里,任务执行策略指示了多个技能各自的部署策略、目标技能实现策略。在目标技能 实现策略有多个时,还包括目标技能实现策略的执行顺序。
[0235] 在具体实现时,将任务部署策略中的技能实现策略的标识替换为第一执行结果中的技能 实现策略,得到任务执行策略。
[0236] 步骤313、云服务器集群100向目标设备下发任务执行策略。
[0237] 在实际应用中,云服务器集群100可以将任务执行策略下发到目标模拟设备对应的目标设 备即真实设备,使得目标设备可以按照任务执行策略执行任务。
[0238] 本方案中,用户可以预测整个任务的执行过程中相关技能的执行时间,执行效果,为工 作量的规划和分配提供参考,确保用户体验。
[0239] 本发明实施例可以通过模拟设备和模拟环境可以实现和可移动设备210的实时交互,降低 可移动设备210出现意外的风险。
[0240] 根据一种可行的实现方式,实时交互可以为位姿同步。第一任务指令指示的任务可以为 交互式定位。
[0241] 如图4所述,在上述图3所示的步骤307之前,本发明实施例中还包括:
[0242] 步骤401、终端设备300上传第一位姿。
[0243] 对应的,步骤307具体可以包括如下内容:
[0244] 步骤307a、云服务器集群100根据第一任务指令、目标模拟环境的标识和目标模拟设备的 标识、第一位姿,利用目标模拟设备在目标模拟场景中执行任务,获得第一执行结果。
[0245] 具体地,云服务器集群100获取目标模拟设备对应的目标设备的第一位姿;根据第一位 姿,更新目标模拟环境中目标模拟设备的位姿,对应的,第一执行结果为更新后的目标 模拟环境和目标模拟设备。
[0246] 考虑到可移动设备210采集的位姿数据上传到云服务器集群100存在延迟,因此,在 云服务器集群100处理位姿数据时,现实中可移动设备210的位姿可能已经发生了变化, 为了确保能够与现实中的可移动设备120的位姿同步,可以基于第一位姿和仿真的加速时 长,预测现实中可移动设备210的真实位姿。
[0247] 可选地,第二配置接口还可以上传加速时长;则云服务器集群100可以根据第一位姿 和加速时长,更新仿真场景中目标模拟设备的位姿。这里,加速时长可以为用户手动输 入的。
[0248] 可选地,第二配置接口还可以指示采用默认加速时长。则云服务器集群100可以计算自 身与可移动设备210之间的通信延迟,将该通信延迟作为默认加速时长。对应的,云服务器集 群100可以根据第一位姿和默认加速时长,更新仿真场景中目标模拟设备的位姿。
[0249] 进一步地,在上述步骤307a的基础上,至少还包括如下步骤:
[0250] 步骤402、终端设备300显示第一执行结果。
[0251] 云服务器集群100显示目标模拟设备和目标模拟场景,以及第四配置接口,第四配置接 口可以为目标模拟环境的语义显示接口、目标模拟环境的几何更新接口、目标模拟环境 的物理参数的更新接口。在实际应用中,终端设备300也会显示目标模拟设备和目标模拟 场景,以及第四配置接口,用户可以通过终端设备300对第四配置接口进行操作,对应的, 云服务器集群100可以基于第四配置接口提供的信息,实现对目标模拟环境的语义显示、几何 更新、物理参数的更新,这里,物理参数的更新不仅包括模拟物体的物理参数的更新,还可 以包括天气的物理参数的更新。另外,若目标模拟设备的动力学参数可以更新,则第四配 置接口还可以包括目标模拟设备的动力学参数的更新接口。
[0252] 值得注意的是,后续,云服务器集群100可以获取目标模拟设备对应的目标设备的第二 位姿;根据第一位姿和第二位姿,更新目标模拟环境中所述目标模拟设备的位姿和第一 位姿和第二位姿的运动轨迹。从而实现实时位姿的更新。
[0253] 步骤403、终端设备300获取第三任务指令。
[0254] 需要说明的是,可移动设备210的传感器的感知范围有限,可能无法感知到潜在的危 险动作(比如,下坡),或者,监控死的移动障碍物,此时,可移动设备210有较高的 风险,需要规避风险。此时,可以预测评估可移动设备210之后的运动情况,从而控制机 器人的操作以规避风险。
[0255] 对应的,第三任务指令指示的任务为预测任务。在一个例子中,上述第四配置接口还 可以包括预测接口,在实际应用中,终端设备300显示预测接口,用户可以通过终端设备 300对预测接口进行操作,设置预测时长等信息,对应的,云服务器集群100可以基于预测 接口提供的信息,实现运动轨迹预测。
[0256] 步骤404、云服务器集群100基于第三任务指令,加速目标模拟场景的仿真时间,预测 目标模拟设备的运动轨迹,得到预测运动轨迹。
[0257] 在一些可能的场景中,目标模拟场景中可以存在一些固定场所的运动物体,这些运 动物体可以处于可移动设备的监控死角,此时通过仿真预测,可以提前感知到风险,从 而为后续的风险规避提供依据。
[0258] 在一些可能的场景中,目标模拟场景中可以存在一些剧烈变化的路段,比如上坡路 段、下坡路段、地面起伏较大的路段,对于这些路段,会增加可移动设备210的风险,此 时通过仿真预测,可以提前感知到风险,从而为后续的风险规避提供依据。
[0259] 步骤405、云服务器集群100确定预测运动轨迹对应的监控数据。
[0260] 值得注意的是,在一些可能的场景中,目标模拟场景中可以存在一些固定场所的运动 物体,这些运动物体可以处于可移动设备的监控死角,此时通过监控数据,可以提前感 知到风险,从而为后续的风险规避提供依据。
[0261] 需要说明的是,监控数据可以为边侧设备200采集到的,比如,对于园区运行的多个 机器人和园区的监控设备,监控数据可以为综合园区运行的多个机器人采集到的数据和 监控设备采集到的数据综合确定。
[0262] 步骤406、云服务器集群100向终端设备300发送预测运动轨迹和其对应的监控数据。
[0263] 步骤407、终端设备300显示预测运动轨迹和其对应的监控数据。
[0264] 在实际应用中,用户可以结合预测后的预测运动轨迹和并根据该预测运动轨迹对应的监 控数据,分析可移动设备210视野盲区是否有潜在的移动障碍物,若判定有碰撞的风险,会提 示用户提前下发减速或停止指令进行规避。
[0265] 步骤408、终端设备300确定目标设备的操作指令。
[0266] 在实际应用中,可以对目标模拟设备下发加速、减速、停止等操作指令,从而控制可移 动设备210规避风险。
[0267] 步骤409、终端设备300向云服务器集群100发送目标设备的操作指令。
[0268] 云服务器集群100下发对目标模拟设备的操作指令至目标设备,以使目标设备按照操作指 令进行操作。
[0269] 本方案中,一方面通过加速仿真时间,可以使得真实环境和模拟环境中的可移动设备的 位姿同步。另一方面,通过云端丰富的计算资源,在模拟环境中可以对模拟设备的运动轨迹 进行预测,规避潜在的风险。
[0270] 根据一种可行的实现方式,实时交互可以为可移动设备210在实际运运行过程上传到云服 务器集群100的边侧任务。
[0271] 如图3所示,本发明实施例中,可移动设备210在实际运行的过程中,还可以包括如下步 骤:
[0272] 步骤314、目标模拟设备对应的目标设备向云服务器集群100发送的第二任务指令和任务 数据。
[0273] 步骤315、云服务器集群100根据第二任务指令,处理任务数据执行任务,得到第二执行 结果。
[0274] 需要说明的是,真实的场景比较复杂,本发明实施例构建的模拟环境一般只考虑到了环 境中几乎不会发生变化的物体,因此,对于实时性要求较高的任务:实时避障和局部路径规 划,需要部署在可移动设备210本体执行。目前,随着大场景地图的使用和人工智能模型的引 入,可移动设备210本体的资源消耗得越来越多,导致可移动设备210本体资源紧张,通常可 移动设备210在执行一些必要的任务后,可能已经没有额外的资源执行资源消耗较多的任务。 本发明实施例为了解决该问题,可以通过云服务器集群100执行可移动设备210本体资源消耗 较大的任务。
[0275] 根据一种可行的实现方式,第二任务指令指示的任务可以为内容识别。则任务数据可 以为传感器采集的数据。可选地,内容识别需要识别的内容可以为声纹识别、语音识别、手 势识别。
[0276] 根据一种可行的实现方式,第二任务指令指示的任务的资源消耗大于设定的资源消耗阈 值。在实际应用中,目标模拟设备对应的目标设备可以实时监控执行非必要的任务的资源消 耗,在资源消耗大于设定的资源消耗阈值,可以将该任务的第二任务指令上传到云服务器集 群100。这里,非必要的任务可以理解为实时性要求较低的任务,比如,实时避障和局部路径 规划之外的任务。
[0277] 根据一种可行的实现方式,第二任务指令指示的任务可以为局部地图下发。
[0278] 本发明实施例中,还基于机器人传感器感知范围,自适应的确定机器人当前运行所 需局部地图,并从云上下发给机器人,从而避免了大规模地图部署给机器人本体带来的 资源消耗。具体地,云服务器集群100基于可移动设备210的传感器的感知范围,自适应的确 定可移动设备210当前运行所需的局部地图后下发至可移动设备210,从而避免了大规模地图 部署给可移动设备210本体带来的资源消耗。
[0279] 需要指出,在确定局部地图的基础上,目标模拟设备对应的目标设备只需要关注环境中 的移动障碍物即可,可以在一定程度上降低资源消耗。
[0280] 在一个例子中,任务数据可以为目标模拟设备对应的目标设备的传感器采集的数据(可 以指示目标设备可以感知的最大区域),则云服务器集群100接收目标模拟设备对应的目标设 备发送的任务数据,基于任务数据和目标模拟环境进行匹配,确定出局部区域;之后,即可 确定目标模拟场景在局部区域的局部地图。
[0281] 在一个例子中,若云服务器集群100中目标模拟设备在目标模拟环境中的位置和真实世 界适配,则可以基于目标模拟设备的当前的模拟传感器的感知范围,确定目标模拟设备对应 的目标设备的局部地图,并将局部地图下发到目标模拟设备对应的目标设备中。若采用该方 式,则无需任务数据。
[0282] 步骤316、云服务器集群100向目标设备下发第二执行结果。
[0283] 本方案中,可移动设备可以将资源消耗大或者比较难执行的任务上传到云上,云端平台 处理完后,将结果返回给边侧的可移动设备,降低了对可移动设备的硬件的要求。并且云端 资源是弹性的,可以让用户按需取用,进一步降低了经济成本。
[0284] 下面结合具体的场景对本发明实施例提供的模拟训练方法的具体应用进行描述。下面以 可移动设备210为机器人为例进行描述。
[0285] 场景1:机器人在园区内进行巡检。传统的做法为:先对园区进行建图,得到二维栅格地 图或三维点云地图后,在图上标注任务点,然后下发任务到机器人上。机器人预先在真实环 境中或仿真世界中进行导航技能的开发与测试,随后按照地图进行导航巡检。
[0286] 本发明实施例旨在通过建立一个模拟环境和模拟设备(可以统称为数字孪生世界),让 机器人能高效地进行技能训练,从而完成园区巡检任务。下面结合上述内容和图6a,对巡检 任务的训练流程进行描述:
[0287] A1、多机器人协同作业,采集园区的激光点云,视觉图像,机器人自身的速度,机器人 的型号和结构数据等多源异构数据,并将其上传到云服务器集群100。云服务器集群100进行 降噪处理后,将数据放到数据仓库111。
[0288] A2、云服务器集群100将数据仓库111中的点云、视频、图像等数据进行时间/空间对齐处 理,基于激光点云数据,进行SLAM建图,生成点云模型,结合图片数据,进行网格纹理重 建,生成园区的模拟环境,并将模拟环境加入到模拟环境库112;另外,还可以生成园区中的 物体的模拟物体,并将模拟物体加入到模拟物体库115。提取点云和图片数据中的物体的描述 信息,存储至语义资料库118,基于语义资料库118中的物体和模拟环境中的三维模型的描述 信息的匹配,得到模拟环境的语义地图。将模拟环境和机器人模型作为数字孪生世界。
[0289] A3、云服务器集群100基于算法库119中的算法,对采集到的机器人的运动数据和环境数 据进行动力学辨识、空气阻力、交互力的分析,一方面,可以得到机器人中各关节的动力学 参数,使模拟设备更加贴近现实的机器人;另一方面,可以得到模拟环境中的三维模型的摩 擦系数、空气阻力系数等物理参数,使上一步得到的模拟环境中的模拟物体和/或模拟环境的 天气具有贴近现实的物理参数,进一步降低模拟环境和真实环境的差异。
[0290] A4.云服务器集群100基于采集到的视频数据抽取运动物体的行为片段,并加以统计,生 成行为模式,得到行为模式库116,然后基于行为模式库中的行为模式进行建模,得到模拟行 为库116,从而模拟出真实的物体行为和天气行为,生成不同的模拟环境以供机器人训练,提 高机器人在现实世界中应对复杂环境的处理能力。
[0291] A5.用户通过终端设备300对云服务器集群100提供的模型配置界面(上述第一配置接口) 进行操作,确定模拟设备的标识、模拟环境的标识,并可以确定模拟环境中新增的一些模拟 物体的标识、模拟物体的模拟行为的标识、模拟天气行为的标识。
[0292] 在一些可能的实现方式中,模拟设备的标识可以由机器人型号和其结构参数确定,则云 服务器集群100可以基于机器人型号和其结构参数,匹配模拟设备库113中的模拟设备,选择 最接近的模拟设备作为机器人模型。
[0293] A6.云服务器集群100基于模型配置界面(上述第一配置接口)提供的标识,构建数据孪 生世界。
[0294] 可选地,数据孪生世界可以由模拟设备、模拟环境、模拟物体、模拟物体的模拟行为、 模拟天气行为进行切分和分布式加载得到,可以减少整个模型的加载时间,提高仿真的流畅 度。
[0295] A7.用户通过终端设备300对云服务器集群100提供的任务编排页面(上述第二配置接口) 进行操作,确定巡检任务。
[0296] A8.云服务器集群100通过算法库119中的人工智能算法,在A6构建的数字孪生世界中, 执行任务编排页面(上述第二配置接口)上传的巡检任务,得到第一执行结果。
[0297] 这里,云服务器集群100形成感知,决策,规划,控制的闭环模拟训练体系,从而提升机 器人技能开发测试的效率。
[0298] A9.云服务器集群100将第一执行结果作为任务执行策略进行应用部署的打包,将打包好 的机器人应用下发给边侧的多个机器人。其中,机器人应用,又称机器人原生应用,是指针 对机器人平台及场景设计开发的应用程序。
[0299] 这里,任务执行策略可以为规划后的运动路径。
[0300] A10.边侧的多个机器人各自运行收到的机器人应用,在园区进行巡检。
[0301] A11.边侧的多个机器人各自在巡检过程中采集到的多源异构数据再次上传到云服务器集 群100,由云服务器集群100针对已有的模拟环境进行更新,对发生变化的部分进行网格纹理 重建,并更新语义资料库。
[0302] 本方案中,通过采集园区多源传感器数据,建立一个模拟环境,并通过对模拟环境进行 持续更新,以及通过给模拟环境赋予了贴近真实环境的物理参数,进一步降低两者的差异,给 机器人提供了精确的导航用的地图。另外,生成的数字孪生世界用于赋能进行闭环仿真,减 少了机器人实地测试带来的时间和经济成本。利用边云协同技术,大幅提升了机器人本地和 云上资源利用效率,并加速机器人技能的开发和测试。
[0303] 场景2:在一些特殊场所,比如疫情隔离区,或者方舱医院,人工执行任务会带来感染的 风险,并且要经过各种消毒防疫的流程,有很大的时间和经济成本。因此可以使用机器人来 代替人工执行任务,与室外园区巡检不同的是,方舱医院这种场所环境复杂,机器人要执行 的任务也比传统的巡检要更难,包括搬运物资,进入指定区域消毒,到达目标点卸货,和隔 离场所内人员的互动,还要评估机器人执行任务的质量和完成时间,以确定每天的物资运送 量。
[0304] 下面结合图6b和上述内容,对方舱医院场景下的模拟训练流程进行描述:
[0305] 下面结合上述内容对具体的流程进行描述:
[0306] B1、机器人在方舱医院中采集多源异构数据,并将数据上传到云服务器集群100,基于上 述A1至A6描述的构建数字孪生世界的流程,生成方舱医院的第一数字孪生世界。
[0307] 值得注意的是,第一数字孪生世界为用户配置的用于实现模拟训练的数字孪生世界,可 以构建各种各样复杂的、真实世界少见的环境。
[0308] B2.用户通过终端设备300对物资消毒运送任务进行语义分析和拆解,比如将“搬运物资通 过消毒点送到目标点”转化为一个任务流:抓取物资,到达消毒点,消毒,到达目标点,卸货。
[0309] B3、用户通过云服务器集群100提供的任务编排页面(上述第二配置接口),对任务编排 页面(上述第二配置接口)对拆解后的任务流进行编辑。
[0310] 比如在数字孪生世界上标明起点,物资抓取点,消毒点、卸货点。
[0311] B4、云服务器集群100基于B1确定的第一数据孪生世界中,对任务编排页面(上述第二配 置接口)上传的任务流中的多个技能进行模拟训练,确定第一执行结果。
[0312] 需要说明的是,在实际应用中,云服务器集群100可以对任务流的任务拆解成多个技能(不 可再分割),对每个技能进行模拟训练。
[0313] 这里,第一执行结果可以包括多个技能各自的若干个技能实现策略。
[0314] B5、云服务器集群100向终端设备100发送第一执行结果中的任务执行情况。
[0315] B6、终端设备300显示任务执行情况,确定任务部署策略。
[0316] 详细内容参见上文对步骤309至步骤312的描述,不再赘述。
[0317] B7.云服务器集群100基于任务部署策略确定任务执行策略,基于任务执行策略进行应用 部署的打包准备工作,将打包好的机器人应用下发给边侧的机器人。
[0318] B8.边侧的机器人运行收到的机器人应用,在方舱医院中进行物资消毒运送,实时监控任 务的资源消耗以及执行难易,若遇到资源消耗大或较难处理的任务时,将该边侧的任务上传 到云服务器集群100执行。
[0319] 这里,边侧的任务可以为:与隔离点内人员交互、手势识别等任务。
[0320] B9、云服务器集群100在执行完任务后,将第二执行结果下发到边侧的机器人。
[0321] B10.云服务器集群100基于上述A1至A6描述的构建数字孪生世界的流程,生成方舱医院 的第二数字孪生世界,终端设备300显示第二数字孪生世界。
[0322] 值得注意的是,第二数字孪生世界为用户配置的用于实现实时交互的数字孪生世界,比 较接近真实的环境。
[0323] B11、云服务器集群100通过接收边侧的机器人的实时位姿数据,不断地更新B9确定的第 二数字孪生世界中机器人模型的位姿,实现与现实中机器人的位姿同步。
[0324] 在实际应用中,云服务器集群100根据机器人的实际位姿数据,加速当前数字孪生世界的 时间,减少仿真与实际世界的延迟,以达到一个实时遥操作的目的。详细内容参见上文对步 骤307a的描述。
[0325] B12、云服务器集群100可以基于终端设备300对第二数字孪生世界的预测接口的操作,可 以预测第二数字孪生世界中的机器人模型之后的运动轨迹,得到预测运动轨迹,并确定该预 测运动轨迹对应的方舱医院的监控数据。在一个例子中,云服务器集群100可以分析机器人视 野盲区是否有潜在的移动障碍物,若判定有碰撞的风险,会向终端设备300询问是否同意边侧 的机器人执行操作指令(减速或停止指令)进行规避,若终端设备
300同意该操作指令,则云 服务器集群100可以将该操作指令下发到边侧的机器人。在一个例子中,云服务器集群100可 以向终端设备300发送预测运动轨迹和其对应的方舱医院的监控数据,让分析机器人视野盲区 是否有潜在的移动障碍物,若用户判定有碰撞的风险,可以向云服务器集群100上传边侧的机 器人的操作指令,云服务器集群100可以将该操作指令下发到对应的边侧的机器人。
[0326] 本方案中,机器人在方舱医院中执行任务,避免了人工执行的病毒感染风险,简化了消 毒防疫流程,减少了时间和经济成本。基于本发明建立的方舱医院的数字孪生世界,除了给 机器人技能训练提供了一个符合现实世界的仿真环境,提升开发测试效率,还支持用户半自 主遥操作机器人,在仿真环境里模拟机器人的实际运动状态,通过云上大算力预测机器人的 运动轨迹,从而规避潜在的风险,进一步提高了工作效率。
[0327] 综上,本发明实施例具有如下技术效果。
[0328] 第一方面,过边侧设备采集的数据在云服务器集群构建模拟环境、模拟物体、模拟行为 等,可以构建各种各样的复杂模拟环境进行模拟训练测试,解决真实环境下意外情形发生概 率小,数据量的问题。
[0329] 第二方面,通过识别模拟环境中模拟物体的物理参数,在模拟环境中采用与实体可移动 设备物理属性相同的模拟设备执行任务,降低任务在真实环境中执行和在模拟环境中执行的 差异。
[0330] 第三方面,支持感知、决策、规划、控制等闭环模拟对技能的训练测试,同时实体边侧 设备采集的多源数据也反馈回云服务器集群,用于闭环模拟的技能的训练测试,实现动态闭 环、持续进化的智能云端系统。
[0331] 第四方面,可以实现实体的可移动设备和模拟设备的位姿同步,同时可以预测模拟设备 之后的运动轨迹,并将预测运动轨迹和该轨迹的监控数据反馈给用户,使得用户可以了解可 移动设备的运行情况,以操作实体的可移动设备规避风险,降低了对可移动设备完成任务的 操控难度和成本。
[0332] 第五方面,云服务器集群可以处理可移动设备资源消耗较大的任务或者较难处理的任务, 降低了对实体的可移动设备的硬件要求。
[0333] 第六方面,通过模拟设备和模拟环境对可移动设备210进行预测性维护,尽可能的延长可 移动设备210的设备使用寿命,降低出现意外的风险。
[0334] 【装置实施例】
[0335] 本申请还提供一种模拟训练装置,如图7所示,包括:
[0336] 第一接口提供模块701,用于提供第一配置接口,所述第一配置接口用于获取目标环 境的标识和目标模拟设备的标识;
[0337] 第二接口提供模块702,用于提供第二配置接口,所述第二配置接口用于获取任务指 令;
[0338] 任务执行模块703,用于根据所述任务指令,利用目标模拟设备在所述仿真场景中执 行任务,获得执行结果。
[0339] 其中,第一接口提供模块701、第二接口提供模块702和任务执行模块703均可以通过软 件实现,或者可以通过硬件实现。示例性的,接下来以第一接口提供模块701为例,介绍第 一接口提供模块701的实现方式。类似的,第二接口提供模块702和任务执行模块703的实 现方式可以参考第一接口提供模块701的实现方式。
[0340] 模块作为软件功能单元的一种举例,第一接口提供模块701可以包括运行在计算实例上 的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进 一步地,上述计算实例可以是一台或者多台。例如,第一接口提供模块701可以包括运行在 多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可 以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代 码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布 在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一 个region可以包括多个AZ。
[0341] 同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region 内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通 信网关,经通信网关实现VPC之间的互连。
[0342] 模块作为硬件功能单元的一种举例,第一接口提供模块701可以包括至少一个计算设备, 如服务器等。或者,A模块也可以是利用专用集成电路(application‑specific integrated circuit, ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中, 上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可 编程阵列(field‑programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL) 或其任意组合实现。
[0343] 第一接口提供模块701包括的多个计算设备可以分布在相同的region中,也可以分布在不 同的region中。第一接口提供模块701包括的多个计算设备可以分布在相同的AZ中,也可以 分布在不同的AZ中。同样,第一接口提供模块701包括的多个计算设备可以分布在同一个 VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、 CPLD、FPGA和GAL等计算设备的任意组合。
[0344] 需要说明的是,在其他实施例中,第一接口提供模块701可以用于执行模拟训练方法中 的任意步骤,第二接口提供模块702可以用于执行模拟训练方法中的任意步骤,和任务执行 模块703可以用于执行模拟训练方法中的任意步骤,第一接口提供模块701、第二接口提供 模块702、以及任务执行模块703负责实现的步骤可根据需要指定,通过第一接口提供模块 701、第二接口提供模块702、以及任务执行模块703分别实现模拟训练方法中不同的步骤来 实现模拟训练装置的全部功能。
[0345] 【计算设备/计算设备集群】
[0346] 本申请还提供一种计算设备800。如图8所示,计算设备800包括:总线802、处理器 804、存储器806和通信接口808。处理器804、存储器806和通信接口808之间通过总线802 通信。计算设备800可以是服务器或终端设备。应理解,本申请不限定计算设备800中的 处理器、存储器的个数。
[0347] 总线802可以是外设部件互连标准(peripheral component interconnect,PCI)总线或 扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分 为地址总线数据总线、控制总线等。为便于表示,图3中仅用一条线表示,但并不表示 仅有一根总线或一种类型的总线。总线804可包括在计算设备800各个部件(例如,存储 器806、处理器804、通信接口808)之间传送信息的通路。
[0348] 处理器804可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
[0349] 存储器806可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器804还可以包括非易失性存储器(non‑volatile memory),例 如只读存储器(read‑only memory,ROM),快闪存储器,机械硬盘(hard disk drive,HDD) 或固态硬盘(solid state drive,SSD)。
[0350] 存储器806中存储有可执行的程序代码,处理器804执行该可执行的程序代码以分别 实现前述第一接口提供模块701、第二接口提供模块702、以及任务执行模块703的功能, 从而实现模拟训练方法。也即,存储器806上存有用于执行模拟训练方法的指令。
[0351] 通信接口808使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设 备800与其他设备或通信网络之间的通信。
[0352] 本申请实施例还提供了一种计算设备集群,对应上述云服务器集群100。该计算设备 集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务 器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、 笔记本电脑或者智能手机等终端设备。
[0353] 如图9所示,所述计算设备集群包括至少一个计算设备800。计算设备集群中的一个 或多个计算设备800中的存储器806中可以存有相同的用于执行模拟训练方法的指令。
[0354] 在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备800的存储器 806中也可以分别存有用于执行模拟训练方法的部分指令。换言之,一个或多个计算设备 800的组合可以共同执行用于执行模拟训练方法的指令。
[0355] 需要说明的是,计算设备集群中的不同的计算设备800中的存储器806可以存储不同 的指令,分别用于执行模拟训练装置的部分功能。也即,不同的计算设备800中的存储器 806存储的指令可以实现第一接口提供模块701、第二接口提供模块702、以及任务执行模 块703中的一个或多个模块的功能。
[0356] 在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连 接。其中,所述网络可以是广域网或局域网等等。图10示出了一种可能的实现方式。如 图10所示,两个计算设备800A和100B之间通过网络进行连接。具体地,通过各个计算设 备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备800A中的 存储器806中存有执行第一接口提供模块701、第二接口提供模块702的功能的指令。同时, 计算设备800B中的存储器806中存有执行任务执行模块703的功能的指令。
[0357] 图10所示的计算设备集群之间的连接方式可以是考虑到本申请提供的模拟训练方法 需要通过大量的资源加载模拟环境和模拟设备,以及进行模拟训练,因此考虑将任务执 行模块703实现的功能交由计算设备800B执行。
[0358] 应理解,图10中示出的计算设备800A的功能也可以由多个计算设备800完成。同样, 计算设备800B的功能也可以由多个计算设备800完成。
[0359] 【计算机程序产品】
[0360] 本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以 是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。 当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行模拟 训练方法。
[0361] 【计算机可读存储介质】
[0362] 本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是 计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存 储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如, DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述 指令指示计算设备执行模拟训练方法。
[0363] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部 分,可以参见其它实施例的相关描述。
[0364] 以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及 的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各 个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用, 而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
[0365] 本公开中涉及的装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示 必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按 任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等 等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和” 指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如” 指词组“诸如但不限于”,且可与其互换使用。
[0366] 还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重 新组合的。这些分解和/或重新组合应视为本公开的等效方案。
[0367] 为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限 制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将 认识到其某些变型、修改、改变、添加和子组合。
[0368] 可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并 不用来限制本申请的实施例的范围。
QQ群二维码
意见反馈