我在 AWS 上的无人车,全力加速!

我在 AWS 上的无人车,全力加速!

全力加速

肆意变道

一路漂移

肾上腺素

   油门踩到底!

我在 AWS 上的无人车,全力加速!

你不是职业车手

也不是在玩游戏

如果你没法在三环上这么明目张胆

不如一起来 AWS 上造辆无人车

一起在赛道上放纵

还能在 re:Invent 2017 上

  赢得全世界科技大佬们的关注!

我在 AWS 上的无人车,全力加速!

如果你阅读过 AWS 的两位大牛:Justin De Castri 和 Sunil Mallya 的上一篇文章《我花250美元造了一辆 AWS 上的无人车》(微信后台回复:无人车,获取文章推送),那你就更要注意了,因为两位大牛马上就要带你:

·力·加·速!

我在 AWS 上的无人车,全力加速!

本文是我们的系列中的第二篇博客文章,旨在指导您制作 1/16 比例的无人驾驶车辆。您还可收听我们的 Twitch 网络直播以回顾这些博客文章中讨论过的概念。在跟随我们操作之后,您可以将您自己的车辆带进 re:Invent Robocar Rally 2017 的赛道,也可以使用我们提供的车辆。

Twitch 直播地址

http://amazonaws-china.com/twitch/artificial-intelligence/

在我们的第一篇博客文章中,我们制作了一辆 Donkey car 并将导航服务器部署到您的 Amazon EC2 实例上。在本篇博客文章中,我们将布置一个赛道并教您的车辆使用 Amazon EC2 Systems Manager 和 AWS IoT 进行驾驶。如果您已经关闭了 Donkey Server EC2 实例,现在请将它打开并获取其公共 IP 地址。获取公共 IP 地址后,我们会将您的车连接到 EC2 Systems Manager 以远程访问它。之后,我们会将您的车连接到 AWS IoT 以跟踪可用来与好友比较圈速的遥测数据。

我在 AWS 上的无人车,全力加速!

赛道布置

教您的车驾驶的第一步是布置赛道。准备好赛道后,您需要驾驶您的车辆在赛道上跑第一圈以开始训练其神经网络。我们要使用的车的速度相当快并且转弯半径不太大,因此您需要从没有急弯的赛道开始。

除此之外,您布置的赛道的大小受您的可用空间和您手头的胶带数的限制。您可在设计中尽情发挥创意,但要确保将各个角度的左转和右转考虑进去以便让您的神经网络接触多种不同的情况。请记住,您的车辆使用其前置摄像头观察您布置的赛道,因此您需要确保能够轻松区分胶带与地面。

我在 AWS 上的无人车,全力加速!

赛道设计提示和技巧

·    与具有各种光亮和阴影水平的室外赛道相比,室内赛道提供的持续照明会让我们的测试效果更好。

·    您的车通常具有最小 30 度的转弯半径,因此在设计拐角的弯度时应记住这一点。

·    您可使用白色丝带和蓝色喷涂胶带制作临时赛道。

·    您还可使用一条白线作为赛道。行为克隆方法将学习沿着线驾驶。

·    无光表面胶带的效果比光面胶带的更好。

用于制作更持久的赛道的两种选择:

我在 AWS 上的无人车,全力加速!

Nashua 2280 Polyethylene Coated Cloth Multi-Purpose Duct Tape

我在 AWS 上的无人车,全力加速!

Nashua 357 Polyethylene Coated Cloth Premium Duct Tape

准备好赛道后,请打开 EC2 Systems Manager 并激活您的车。

在 EC2 Systems Manager 上激活设备

EC2 Systems Manager 提供了各种对您的车非常有用的功能。Systems Manager 可帮助您自动执行功能,从而无需通过 SSH 连接到您的车上的 Raspberry Pi。Raspberry Pi 的设置过程简单,首先是创建激活、安装代理和创建控制某些行为的文档开始。Systems Manager 支持您在不使用 SSH 的情况下运行命令,并且可充当纯文本和加密密钥值对的参数存储。Systems Manager 还有助于确保本地导航正在运行并准备好在启动时执行命令。我们将使用 Systems Manager 自动生成和下载安全地将遥测数据传输到 AWS IoT 服务所需的 AWS IoT 证书。

转到 EC2 Console,然后按 Activations

我在 AWS 上的无人车,全力加速!

选择 Create an Activation。输入您的 Activation Description。在本博客文章中,我们将它命名为 DonkeyCar Activation。现在将限制保留为 1。设置未来的到期日期(不超过 30 天)并将设备命名为 myDonkeyCar。选择 Create Activation 后,您将收到 Activation CodeActivation ID

我在 AWS 上的无人车,全力加速!

将这些内容记在某个安全的位置,因为您需要激活代码和激活 ID 才能将 Raspberry Pi 注册到 EC2 Systems Manager。

使用运行 donkey 车辆的 Raspberry Pi 的 IP 地址,通过 SSH 连接到 Donkey。使用 Raspberry Pi 的 IP 地址执行此操作的命令如下所示。

ssh pi@172.20.10.7

请注意,默认用户名为“pi”,密码为“raspberry”。建议您自行设置用户名和密码。

在设备上,输入以下命令行以安装 EC2 Systems Manager 代理,然后启动服务以便让它与 Systems Manager 进行通信。我们还将按此处所述的方式安装 AWS CLI。

mkdir /tmp/ssm sudo curl http://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_arm/amazon-ssm-agent.deb -o /tmp/ssm/amazon-ssm-agent.deb sudo dpkg -i /tmp/ssm/amazon-ssm-agent.deb sudo service amazon-ssm-agent stop sudo amazon-ssm-agent -register -code "code" -id "id" –region "us-east-1" sudo service amazon-ssm-agent start curl "http://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" unzip awscli-bundle.zip sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

注意:如果您使用的是 Donkey Raspberry Pi 图像,还请运行以下命令以获得稳定的计算机 ID。

sudo umount /etc/machine-id sudo systemd-machine-id-setup

在服务启动后,您将在 Managed Devices 下看到设备。您可从 AWS 控制台远程访问它。对于我们的设备,我们还希望为其授予完整 SSM 权限。转到 IAM,然后按 Roles

搜索 AmazonEC2RunCommandRoleforManagedInstances。我们希望将 AmazonSSMFullAccess 策略附加到此角色,从而使 Donkey Car 获得对 EC2 Systems Manager 的完全访问权限。让我们附加 AWSIoTConfigAccess,为我们的设备提供预置安全 IoT 证书的权限。

“摘要”页面应如下所示:

我在 AWS 上的无人车,全力加速!

开始驾驶

接下来,是激动人心的无人汽车飙车环节!

我在 AWS 上的无人车,全力加速!

不不不,不是无“人”驾驶这么简单,

是真的基于 AWS 云端的无人驾驶!

具体操作方法及步骤,

请大家点击“阅读原文”,

移步 AWS 官方 Blog,详细学习操作!

在接下来的内容里,我们会介绍:

步骤4:开始驾驶

步骤 5:使用 Parameter Store

存储配置数据和机密

步骤 6:AWS IoT 设置

步骤 7:使用 AWS CLI 创建证书

步骤 8:使用 AWS IoT 控制台创建证书

步骤9:更多可选加载项

请感兴趣的小伙伴点击“阅读原文

或扫描/长按识别下方的二维码

阅读完整版文章

我在 AWS 上的无人车,全力加速!

  One More Thing...  

敬请关注我们的系列中的下一篇博客文章!在该文章中,我们会将 Donkey Car 配置到 AWS 以收集、分析和记录我们的车辆遥测数据。敬请期待!

我在 AWS 上的无人车,全力加速!