AWS RoboMaker 不再面向新客户提供。现有的 AWS RoboMaker 客户将能够在 2025 年 9 月 10 日之前使用该服务,届时我们将终止对 AWS RoboMaker 的支持。为了帮助从 AWS RoboMaker 过渡,请阅读此博客。
模拟
问:什么是 AWS RoboMaker 模拟?
答:AWS RoboMaker 模拟是一项完全托管式服务,可让您轻松创建模拟世界并运行模拟作业,而无需预置或管理任何基础设施。
问:RoboMaker 模拟有哪些作用?
答:RoboMaker 模拟有多种使用案例。您可以使用 RoboMaker 模拟以自动化方式测试机器人应用程序并加速迭代开发。您可以使用它来生成合成图片或激光雷达数据以便开发算法。您还可以使用 RoboMaker 模拟通过强化学习来训练机器学习模型。
问:RoboMaker 模拟有哪些主要功能?
答:RoboMaker 模拟提供完全托管式计算基础设施,可运行任何规模的模拟。借助 RoboMaker 模拟 WorldForge,可以自动创建数百个预定义的随机模拟世界,通过这些世界复制实际条件,而无需工程投入或管理世界生成基础设施。
问:RoboMaker 模拟运行支持哪些模拟引擎?
答:RoboMaker 模拟支持您选择的任何模拟引擎。您可以将基于容器的模拟应用程序连接到 Robomaker,且无需预置、配置或管理任何基础设施即可运行模拟。该服务支持在 WorldForge 中创建兼容 Gazebo 的世界格式的模拟世界。
问:什么是 RoboMaker 中的机器人应用程序?
答:RoboMaker 中的机器人应用程序是指要在实体机器人上运行的、基于机器人中间件(例如 ROS)的应用程序。您需要将机器人应用程序源代码构建到 X86 架构中,才能使用 RoboMaker 模拟。
问:什么是 RoboMaker 中的模拟应用程序?
答:模拟应用程序中包含一个 3D 模拟世界和多种模拟器插件,这些插件可以控制机器人在模拟世界中的运动。与机器人应用程序一样,您需要将模拟应用程序源代码构建到 X86 架构中,才能使用 RoboMaker 模拟。
问:如何开始使用 RoboMaker 模拟运行?
答:您可以通过创建机器人应用程序和/或模拟应用程序来开始使用 RoboMaker 模拟运行。这些应用程序关联到存储在 Amazon S3 存储桶中的代码。然后,您可以创建一个模拟作业,以在 RoboMaker 的完全托管的基础设施上执行模拟应用程序和机器人应用程序。
问:什么是模拟作业?
答:模拟作业是 RoboMaker 模拟运行中的主要服务资源。您通过创建模拟作业在 RoboMaker 上运行模拟工作负载,模拟作业将自动为您预置和管理计算基础设施。在我们的文档中了解有关创建模拟作业的更多信息。
问:什么是批量模拟作业?
答:批量模拟作业是模拟作业请求的集合。您可以使用 AWS RoboMaker 的 API 创建新的批量模拟作业。使用批量模拟作业功能,您可以通过一次 API 调用提交多个模拟作业请求,并为提交的所有请求提供排队功能。
问:我可以使用哪些工具来构建机器人应用程序和模拟应用程序?
答:您可以使用您已经熟悉的容器工具构建并将您的代码打包到兼容 Open Container Initiative(OCI)的镜像中,并将其存储在 Amazon Elastic Conatiner Registry(ECR)中。您可以使用这些镜像创建 RoboMaker 机器人应用程序和模拟应用程序。
问:什么是应用程序版本控制?
答:RoboMaker 支持机器人应用程序和模拟应用程序的版本控制,因此您可以控制机器人和模拟使用的程序版本。版本是带有编号的机器人应用程序或模拟应用程序快照,您可以在开发工作流程的不同环节(例如开发、测试部署和生产)创建版本以便使用。
问:能否删除机器人应用程序或模拟应用程序的特定版本?
答:可以,您可以删除某个应用程序的特定版本或所有版本。
问:RoboMaker 是否会存储我的机器人应用程序和模拟应用程序?
答:否,RoboMaker 不会在服务中存储您的机器人应用程序或模拟应用程序。您自己将应用程序上传到 S3 存储桶中,然后在机器人应用程序和模拟应用程序创建过程中使用 S3 对象路径。
问:模拟作业的故障行为是什么?
答:您可以将模拟作业的故障行为配置为失败或继续。在失败模式下,如果在模拟作业运行过程中发生故障,模拟作业会失败,并且底层基础设施会被释放。在继续模式下,如果在模拟作业运行过程中发生故障,模拟作业会失败,但底层基础设施会被保留。利用继续模式,您可以使用命令行工具进一步排除模拟作业的故障。在继续模式下,RoboMaker 模拟会继续产生费用,直到您终止作业为止。
问:在什么时候重启模拟作业?
答:重启模拟作业可以用于快速迭代开发。重启模拟作业的速度比创建新模拟作业的速度要快,因为其不需要在后台预置和配置资源。在机器人应用程序开发期间,您可以使用重启模拟作业功能在迭代代码更改时快速测试代码。
问:重启模拟作业与克隆模拟作业有什么不同?
答:重启模拟作业用于快速迭代测试,更新后的模拟作业在 RoboMaker 预置和管理的相同基础设施资源上运行。克隆模拟作业使用与现有作业相同的配置来创建新作业。其会在后台触发基础设施资源预置和配置,这可能需要几分钟时间。
问:为什么我需要在模拟作业中提供 AWS Identity and Access Management (IAM) 角色?
答:IAM 角色让 RoboMaker 模拟能够访问您在模拟作业中指定的资源。例如,RoboMaker 可以将模拟日志写入您的 S3 存储桶。
问:什么是模拟持续时间?
答:模拟持续时间定义了模拟作业在终止之前应该运行多长时间。持续时间取决于时钟时间和模拟时间。
问:模拟作业是否实时运行?
答:RoboMaker 模拟会尝试尽快运行您的模拟作业。您也可以使用 Gazebo 世界配置中的“实时更新速度”和“最大步长”设置来控制模拟作业的运行速度。请参阅定价页面了解详细信息。
问:RoboMaker 模拟如何收费?
答:模拟 WorldForge 根据您生成和导出的模拟世界数量收费。 模拟运行根据模拟作业的持续时间和模拟作业使用的 CPU/内存资源收费。请参阅定价页面了解详细信息。
问:RoboMaker 模拟运行按时钟时间收费还是按模拟时间收费?
答:模拟作业可以实时运行,也可以比实时更快或更慢。RoboMaker 模拟按时钟时间收费,因此模拟时间的快慢不会影响您的费用。请参阅定价页面了解详细信息。
模拟 WorldForge
问:什么是模拟世界?
答:模拟世界是房屋等环境的虚拟模型。在运行模拟时需要使用模拟世界,它包括建模环境的几何、视觉和物理信息。
问:为何需要使用 WorldForge?
答:构建模拟世界可能非常困难、成本高昂且耗时,而且还需要具有 3D 建模和模拟引擎方面的专业技能。尽管有些公司具有创建一个模拟世界的时间和资源,但要想创建足够的世界来有效地针对回归测试和强化学习等工作负载扩展模拟却是极其困难且成本高昂的。
借助 RoboMaker WordForge,可以自动创建数百个预定义的随机模拟世界,通过这些世界复制实际条件,而无需工程投入、专业的设计技能或管理世界生成基础设施。
问:我如何开始使用模拟 WorldForge?
答:您可以通过创建一个世界模板来开始使用 WorldForge,在创建世界模板时可以从头开始,也可以使用 RoboMaker 提供的某个示例模板。然后,您可以借助世界模板,通过创建世界生成作业来生成一个或多个模拟世界。 如果您要在 RoboMaker Simulation 作业或本地环境中使用生成的世界,则可以通过创建世界导出作业来完成,该导出作业会将制定的世界作为 ROS 包以 .zip 格式导出到您的 Amazon S3 存储桶中。
问:什么是模拟世界模板?
答:模拟世界模板用于定义模拟世界的规范。例如,您可以在世界模板中定义平面图、房间和装饰,以生成一组室内居住世界。世界模板不是用来精确定义一个模拟世界。相反,世界模板可以生成具有一定随机性的多个模拟世界,例如随机的房间大小和家具。世界模板的规范定义这种随机性的范围。
问:什么是世界生成作业?
答:世界生成作业用于通过世界模板生成一个或多个模拟世界。在创建世界生成作业时,您可以通过两个维度(平面图和室内设计)指定世界版本数量。例如,如果有 2 个平面图,每个平面图有 2 种室内设计,则会形成 4 (2*2) 个独特世界。
问:什么是世界导出作业?
答:世界导出作业可以将生成的世界作为 ROS 包以 .zip 格式导出到您的 Amazon S3 存储桶。需要在本地环境使用生成的世界或在运行 RoboMaker Simulation 时使用生成的世界,可以创建世界导出作业。