AWS RoboMaker入门(二)

实验情况

对于AWS RoboMaker,我最期待的功能就是它的远端部署,可惜这次没有开放相关权限。古月老师说远端部署需要一个iot硬件,我还是没找到相关的硬件资料。要是你知道这个硬件,欢迎评论留言告诉我。 有小伙伴给了我一个相关链接。https://robomakerworkshops.com/workshop/deploy/

部署机器人应用程序

要将机器人应用程序部署到物理机器人,必须将物理机器人配置为接收部署并属于队组。要进行部署,请至少执行以下操作: (1)创建一个机器人应用程序,其中包含机器人架构的源。支持的架构为 X86_64、ARM64 和 ARMHF。 (2)在 AWS RoboMaker 中创建机器人并为其配置 AWS IoT Greengrass,使机器人能够接收部署。AWS RoboMaker 使用 AWS IoT Greengrass 来部署机器人应用程序。每个机器人有一个 AWS IoT Greengrass 组,该组的内部具有一个 AWS IoT Greengrass 核心。 (3)如果您的机器人应用程序使用 AWS RoboMaker 云扩展 或其他 AWS 服务,则为机器人应用程序授予访问这些服务的权限。 (4)在队组中注册机器人。队组是机器人的逻辑分组,具有由机器人应用程序定义的共享功能。 创建部署以将机器人应用程序安装到队组。选择机器人应用程序版本、自定义启动配置(包括启动前和启动后操作)并指定部署机器人应用程序的方式。 (5)监控部署。您可以在 deployment details (部署详细信息) 中跟踪部署的进度和其他信息。通过使用 AWS RoboMaker 云扩展 自定义机器人应用程序以提供其他信息。

如何部署机器人应用程序

将机器人应用程序部署到物理机器人时,AWS RoboMaker 执行以下操作:。 (1)AWS RoboMaker 在您的账户中创建或更新自定义 Lambda。Lambda 包含部署所需使用的逻辑。这包括机器人应用程序包下载、ROS 启动、预检查和后期检查,以及其他逻辑。 (2)AWS RoboMaker 使用在部署配置中指定的并行化进程开始部署到队列中。 (3)AWS RoboMaker 通知 AWS IoT Greengrass 在目标机器人上运行自定义 Lambda。在机器人上运行的守护程序将接收命令并运行 Lambda。如果收到命令时 Lambda 正在运行,该 Lambda 以及机器人上的所有 ROS 进程都将终止。 (4)Lambda 从 Amazon S3 下载并解压缩机器人应用程序包。如果指定了预启动脚本,则运行该脚本。然后,Lambda 使用指定的启动文件和程序包启动 ROS。如果指定了启动后脚本,该脚本将在启动 ROS 后运行。最后,将更新部署的状态。 参考链接:https://docs.aws.amazon.com/zh_cn/robomaker/latest/dg/deployment.html