
我有造台机器人的念头已有几十年了,现在机会终于来了! 对我而言,最大的挑战始终是要让大量不同零件互联并交互操作。复杂的硬件、软件、传感器、通信系统和“机器人大脑”必须协同工作,这样机器人才能按预期运行。
今天,我想向隆重推出 AWS RoboMaker。这项新服务能帮助您开发、模拟、测试与部署您心目中的机器人。您可以在基于云的开发环境中开发代码,在 Gazebo 模拟中测试代码,然后将完成的代码部署到一个机器人或多个机器人组成的“机器人大队”。代码部署完成后,只需单击几下,即可将更新和错误修复推送到整个“机器人大队”。利用 AWS 服务,例如 Amazon Lex、Polly、Amazon Rekognition、Amazon Kinesis Video Streams 和 Amazon CloudWatch,您的代码可用于构建复杂的机器人脑,并以 ROS(机器人操作系统)软件包形式供访问使用。您还可以构建和训练 Amazon SageMaker 模型,让机器人大脑也能使用 Machine Learning。
RoboMaker 旨在与形状大小各异且用于不同实际环境(家庭作坊、工厂车间、教室、餐厅、酒店,甚至是外星星球!)的机器人搭配使用。
下面详细了解……
AWS RoboMaker 的实际应用 – 运行模拟
我的机器人之旅始于 RoboMaker 控制台(也可通过 API 和 CLI 方式访问);我首先单击 Try sample application(尝试示例应用程序):

RoboMaker 提供许多精选的示例应用程序,我可以使用它们来运行模拟。我选择了第二个示例应用程序 Robot Monitoring,然后单击 Launch(启动):

系统随即启动了 CloudFormation 堆栈来创建 VPC、RoboMaker 模拟作业和 Lamba 函数。这总共只用了几分钟,并且我的作业在控制台中一目了然:

我单击作业查看了更多相关信息:

该页面接下来显示的内容很有意思。系统在后台运行模拟,并向我提供了四种工具来查看模拟并与之交互:

Gazebo 是真实的机器人模拟器。我可以看到机器人穿过场景,并且我还能以常规方式与 Gazebo UI 交互:

Rqt 是用于 ROS 开发的 GUI 工具。我可以利用它对机器人实施各个方面的检查,例如构建计算图:

我还可以模拟以机器人的视角观察场景:

Rviz 让从另一个角度了解了所运行的及机器人的状态:

Terminal 让我获得了运行作业所用的 EC2 实例的 shell 访问权限:

我也可以同时使用上述四种工具:

请注意,此示例的名称为 Monitor Fleets of Robots with Amazon CloudWatch。在模拟器中运行代码的同时,我可以检查 CloudWatch 指标。最值得关注的指标是机器人与目标之间的距离:

AWS RoboMaker 的实际应用 – 运行开发环境
实际上,我在向您展示如何运行模拟时,之前已执行了其他步骤。让我们回头看看我最开始执行的步骤,也就是创建一个开发环境。RoboMaker 是我创建和管理多个开发环境时所用的工具。首先,我单击了 Create environment(创建环境):

我为环境提供了一个名称、使用了默认实例类型、选择了 VPC 和子网,然后单击了 Create(创建)以继续操作:

环境准备就绪后,我单击了 Open environment(打开环境)以继续:

等了差不多一分钟,Cloud9 开始正常运行,我单击一下访问了 RoboMaker 示例应用程序:

每个示例都包含机器人运行及用于模拟器环境的所有代码文件:

我可以修改此代码,构建并将其打包成一个捆绑包,然后重新启动模拟器并查看所做修改的实际效果。
AWS RoboMaker 的实际应用 – 部署代码和管理“机器人大队”
下一步是创建应用程序,并将其部署到真正的机器人。回首往事,似乎一切都很久远。自从我使用 AWS re:Invent 已有好几个月了,我全身心投入其中,购买并组装了一个 TurtleBot3 机器人,打算把成品机器人用作“压轴大戏”。回到现在,时间又似乎过得太快了,我已经没有时间做最后的设置。机器人组装本身很有趣味(要使用镊子,手不能发抖而且建议保证光线充足):

我用 RoboMaker 打造了自己的机器人,并将其分配到了 AWS Greengrass 群组:

然后我会创建一个“机器人大队”,统一命名 Johnny5,并部署我的代码! 部署系统在后台利用 Greengrass OTA(空中下载)机制实现更新。
总结归纳
我已尽力向您展示 AWS RoboMaker 的有趣之处,但是还有很多其他值得关注的内容。以下是一些简单说明:
可编程性 – RoboMaker 提供丰富功能,帮助您创建、列举和管理模拟作业、应用程序、机器人和“机器人大队”。
并行模拟 – 为机器人设计和编码算法后,您可以创建并行模拟作业,以便快速查看算法在不同条件或环境中的运行情况。例如,您可以使用数十或数百个真实世界的街道或办公室模型来测试寻路功能或驱动算法。
由 AWS 提供支持 – 您编写的机器人执行代码可以使用我们的 ROS 软件包来访问相关的 AWS 服务,例如 Rekognition、Lex 和 Kinesis Video Streams。
ROS – ROS 是一个开源项目。我们提供代码和专业知识,包括用于访问 AWS 的软件包。
定价 – 在您的机器人应用程序中使用 ROS 是免费的。Cloud9 可使用 EC2 和 EBS,您需支付 AWS 免费套餐之外的任何使用费。您的模拟基于模拟单位进行计费。您还需要支付使用 Greengrass 以及您的代码使用的任何 AWS 服务(Lex、Polly 及其他服务)的费用。
现已推出
AWS RoboMaker 现已推出,您可以立即开始构建出色的机器人应用程序! 我们首先在美国东部(弗吉尼亚北部)、美国西部(俄勒冈)和欧洲(爱尔兰)地区推出,随后在亚太地区(东京)推出。
– Jeff;
本文转载自 AWS 技术博客。
原文链接:
评论