模拟

为什么进行模拟?

单一业务机器人公司和很多初创机器人公司的组合,它们未使用过 AWS,它们使用专用软件堆栈建立机器人制造商,正在寻求扩展。这些公司要求在部署到现场的机器人之前对其机器人应用程序进行严格的测试和验证。然而,为自主式机器人构建和测试应用程序很难、很复杂,且很耗时。传统情况下,开发人员团队编写代码来解决广泛的部署场景,然后集成代码,且必须在物理环境中在真正的机器人上进行所有应用场景的测试。这一手动开发和测试过程非常消耗资源,减慢应用程序更新的发布周期,且不能轻松扩展。作为响应,一些成熟的机器人制造商开始使用模拟来创建其机器人及预期会运行的物理环境的虚拟模型,然而进行模拟测试,以在将应用程序部署到物理机器人之前验证其质量和准确性。这些公司看到了模拟带来的益处,例如加速、迭代开发以及扩展测试和进一步提高应用程序准确性的能力等方面的益处。然而,对于使用模拟的机器人公司,构建 3D 资产、测试环境和扩展测试都需要专业技能,而且价格昂贵,因此模拟的采用很有限。

为什么用 AWS RoboMaker 进行模拟?

AWS RoboMaker 通过为开发人员提供预构建世界和工具来在模拟环境中运行和迭代其代码,然后再在物理机器人上部署和测试来让所有机器人制造商都负担得起且可访问该服务。由于开发人员无需预付费用且只需为使用的模拟时间付费,成本降低。AWS RoboMaker 是最全面的云解决方案,可供机器人开发者大规模模拟、测试和部署机器人应用程序。RoboMaker 提供完全托管的可扩展模拟基础设施,客户可用它进行多机器人模拟并在模拟中与回归测试进行 CI/CD 集成。

完全托管的可扩展模拟基础设施

AWS RoboMaker 消除了机器人制造商运行模拟时的繁重工作。RoboMaker 模拟可用于在使用开源 Gazebo 引擎的模拟中运行开源软件库(称为机器人操作系统 (ROS))和 ROS2 应用程序。该服务支持大规模并行模拟,并且可根据测试场景的复杂性自动扩展。开发人员只需将其机器人应用程序上传到 Amazon S3 存储桶,然后即可运行模拟。无需预置、配置或管理基础设施,开发人员可以并行运行多个模拟。使用 RoboMaker 批量模拟 API,开发人员只需进行一次 API 调用即可大规模批量启动模拟。RoboMaker 还提供预构建的虚拟 3D 世界,例如室内房间、仓库和零售商店,开发人员几乎不需要投入资本支出即可下载、修改和使用它们,且无需专业的工程或设计技能。

扩展测试的多机器人模拟

多机器人模拟是在单一模拟环境中使用多个机器人(从数十个到数百个机器人不等)测试机器人间通信和路由算法的能力。AWS RoboMaker 使机器人制造商能够将多个并发模拟连接到其中央队列管理软件,以测试多机器人场景的行为并在一个机器人队列中模拟任务。作为参照,Bastian Solutions 需要扩展其机器人部署,但其测试软件需要在物理环境中测试物理机器人,从而造成了 8-10 个机器人的实际限制。使用 RoboMaker,Bastian 创造了一个模拟环境,该环境支持对由超过 35 个机器人组成的多机器人编排进行测试。Bastian 现已进行扩展,可成功测试 100 个以上并发机器人,从而支持对物理设备无法实现的场景进行测试。这些测试针对如何在生产中部署和管理这些机器人提供了至关重要的见解。

在模拟中与回归测试进行 CI/CD 集成,提高了代码质量

机器人应用程序开发通常包括多个开发人员协作编写代码以及识别漏洞和确保代码质量的漫长 QA 周期。而 AWS RoboMaker 可使机器人制造商执行与回归测试的 CI/CD 集成(持续集成/持续交付),从而提高代码质量并加快测试速度。CI/CD 是开发团队用于频繁可靠地提供代码更改的开发实践。此开发模型的实现过程称为 CI/CD 管道。虽然传统应用程序开发人员已很好地采用了 CI/CD,但它现在才在机器人中采用。使用 RoboMaker,开发人员可以通过 API 调用在每次发布软件更新之前运行批量模拟,以进行每次代码检入后的回归测试、夜间集成测试。通过结合使用 AWS Lambda、AWS CodePipeline 和 AWS CodeCommit 等其他服务,开发人员可以将其回归测试运行集成到 CI/CD 管道中,从而加快软件开发速度。RoboMaker 客户通过使用记录的 ROS bag 文件(存储 ROS 消息数据的一种文件格式)或基于物理的模拟以及 CI 管道与 AWS CodePipeline 和 CodeBuild 的集成执行回归测试。这对客户的好处是显著的。作为参照,iRobot 为大规模自动化测试构建 CI/CD 管道,并在每次代码提交时运行超过 40 次自动化测试,为每个软件发布候选版本运行超过 500 次自动化测试。通过使用 RoboMaker,iRobot 将发布至其生产代码的漏洞降低 20%,将人工测试减少 50%。iRobot 的软件工程主管 Chris Kruger 称,使用 AWS RoboMaker“就好像有了 20 多个 QA 检测员。”

队列管理

当机器人应用程序开发、测试和部署完成后,需求就转变为在现场管理机器人。监控机器人状态、获取性能数据及安全的更新应用程序都是要面临的挑战,AWS 以独特的方式通过 RoboMaker 的队列管理功能和 AWS 云服务应对这些挑战。

支持在现场部署机器人的队列管理

RoboMaker 的队列管理服务与 AWS IoT Greengrass 集成以提供机器人注册、安全性和容错能力。注册服务可使公司识别、跟踪并将其机器人组织到最佳队列中。开发人员可以使用 RoboMaker 队列管理通过 AWS 的完全托管无限 (OTA) 更新基础设施将其应用程序安全地部署到机器人中。Greengrass 使用 X.509 证书、托管订阅、AWS IoT 策略和 IAM 角色通过加密连接安全地与 AWS 云服务连接。RoboMaker 的 OTA 服务支持有条件的更新,从而为 OTA 过程提供情报,以降低软件更新中断或不完整的风险。

ROS 扩展工具与 AWS 服务集成

RoboMaker 支持 ROS1 和 ROS2(测试版)、为开源 ROS 存储库积极贡献代码,并且已为 Amazon CloudWatch(指标、日志记录和监控)、Amazon Rekognition(对象检测)、Amazon Kinesis(视频流)以及 Amazon Polly(文本到语音转换)和 Amazon Lex(语音识别)开发了云扩展工具。开发人员可以使用这些云扩展工具增强其机器人功能,无需额外安装硬件或开发复杂的软件。AWS 以开源 ROS 包的形式提供上述各种云服务扩展工具,客户可以通过云 API 来访问它们,以从他们的机器人中提取性能和运营数据。这个集成 AWS 服务的套件可使客户轻松在现场监控和调整他们的机器人应用程序性能。

图片
查看定价

AWS RoboMaker 定价为按使用付费,无最低费用。

了解更多 
图片
注册免费账户

立即享受 AWS 免费套餐。 

注册 
图片
开始在控制台中构建

开始使用 AWS RoboMaker 进行构建。

入门