
几十年来,我一直想开发一个机器人,而现在我终于有机会了!对我来说,最大的挑战始终是那些需要连接在一起并互相操作的大量不同的部件。复杂的硬件、软件、传感器、通信系统和“机器人大脑”必须放在一起才能让机器人“活”起来。
今天,我想向你介绍 AWS RoboMaker。亚马逊的这项新服务可以帮助你开发、模拟、测试和部署你梦想中的机器人。你可以在基于云的开发环境中开发代码,在 Gazebo 模拟器中对其进行测试,然后将代码部署到包含一个或多个机器人的机群中。代码部署好以后,只需点击几下,就可以将代码更新和错误修复推送到整个机群。你可以在代码中调用 Amazon Lex、Polly、Amazon Rekognition、Amazon Kinesis Video Streams 和 Amazon CloudWatch 等 AWS 服务来构建复杂的机器人大脑,可以作为 ROS(机器人操作系统)的一套可访问的软件包。你还可以构建和训练 Amazon SageMaker 模型,这样就可以在机器人大脑中使用机器学习。
RoboMaker 可用于开发在不同物理环境中运行的各种形状和大小的机器人:家里、工厂车间、教室、餐厅、酒店,甚至是在另一个星球上!
AWS RoboMaker 实战——运行模拟
我的机器人之旅从 RoboMaker 控制台开始(也可以通过 API 和 CLI 访问)。单击“Try sample application”:

RoboMaker 提供了一系列示例应用程序,我们可以从它们开始入手。我选择第二个,Robot Monitoring,然后单击 Launch:

启动 CloudFormation 栈,创建 VPC、RoboMaker 模拟作业和 Lambda Function。这个只需要几分钟,然后就可以在控制台看到创建的作业:

点击作业,可以看到更多信息:

页面的下半部分是最有趣的部分。模拟在后台运行,我可以通过四个工具与查看它的状态并与它进行交互:

Gazebo 是机器人模拟器。我可以看到机器人在场景中漫步,并可以通过 Gazebo UI 进行交互:

Rqt 是一个用于 ROS 开发的 GUI 工具。我可以用它来检查机器人的各个方便,比如计算图:

我还可以获得机器人的视野:

Rviz 提供了另一个有关模拟和机器人状态的视图:

可以通过 Terminal 访问运行我的作业的 EC2 实例:

我也可以同时查看它们四个:

这个示例的名字叫“Monitor Fleets of Robots with Amazon CloudWatch”。代码运行在模拟器中,我可以查看 CloudWatch 指标。最有趣的是机器人和目标之间的距离:

AWS RoboMaker 实战——创建开发环境
现在让我们回过头来创建开发环境。RoboMaker 可以帮我们创建和管理多个开发环境。单击“Create environment ”:

我给我的环境取了个名字,使用了默认的实例类型,并选择 VPC 和子网,然后单击“Create”:

在环境准备就绪后,我单击“Open environment”:

Cloud9 在一分钟左右启动并运行,我可以通过单击来访问 RoboMaker 示例应用程序:

每个示例都包含了所有将在机器人和模拟器环境中运行的代码的文件:

我可以修改代码,构建并打包,然后重新启动模拟器,查看我的修改是否生效。
AWS RoboMaker 实战——部署代码和管理机群
下一步是创建应用程序并将其部署到真正的机器人上。之前我购买并组装了一个 TurtleBot3 机器人,但没有时间做最后的设置。组装机器人本身是很有趣的:

创建机器人并将其分配给 AWS Greengrass 组:

然后我会创建一个机群,添加 Johnny5,并部署代码!部署系统将会利用 Greengrass OTA 进行代码更新。
我已经尽力向你展示了 AWS RoboMaker 的一些有趣的方面,但还有更多其他需要了解的内容。以下是一些简要说明:
可编程性——RoboMaker 提供了一组丰富的功能,让你可以创建、罗列和管理模拟作业、应用程序、机器人和机群。
并行仿真——为机器人设计和编写好算法后,可以创建并行仿真作业,以便快速查看算法在不同条件下或环境中的运行情况。例如,你可以使用数十或数百个真实世界的街道或办公室模型来测试寻路或驾驶算法。
由 AWS 提供支持——你为机器人编写的代码可以通过 ROS 软件包访问相关的 AWS 服务,例如 Rekognition、Lex 和 Kinesis Video Streams。
ROS——ROS 是一个开源项目。我们为这个项目贡献代码和专业知识,包括提供可用于访问 AWS 的软件包。要了解有关 ROS 的更多信息,请阅读“The Open Source Robot Operating System (ROS) and AWS RoboMaker”。
价格——你可以免费在你的机器人应用程序中使用 ROS。Cloud9 使用了 EC2 和 EBS,你需要为 AWS 免费套餐之外的其他资源付费。模拟是基于模拟单位进行计费的。你还需要支付 Greengrass 以及代码所使用的任何 AWS 服务(Lex、Polly 等)的费用。
AWS RoboMaker 现已上市,从今天开始就可以构建酷炫的机器人应用程序!可用地区包括美国东部(弗吉尼亚北部)、美国西部(俄勒冈州)和欧洲(爱尔兰),下一批将包括亚太地区(东京)。
评论 1 条评论