点击围观!腾讯 TAPD 助力金融行业研发提效、敏捷转型最佳实践! 了解详情
写点什么

在 AWS 上制造一辆无人驾驶车辆,并参加 re:Invent 机器人车拉力赛

  • 2019-10-12
  • 本文字数:3017 字

    阅读完需:约 10 分钟

在 AWS 上制造一辆无人驾驶车辆,并参加 re:Invent 机器人车拉力赛

这是 Y-cam Solution 高级开发人员 Siva K. Syamala 撰写的客座博客文章。用她自己的话说,“Y-cam 是高质量安保视频解决方案提供商,我们的愿景是让智能家居安防系统变得简单,方便所有人使用。” | 原文链接


家居安防是家庭自动化和物联网的重要组成部分。Y-cam Solutions Limited 在 Amazon 的大力支持下,提供了一个智能安防系统,该系统可通过智能手机在世界任何地方进行监视和控制。为了改进警报、通知和系统控制方式,Y-cam 使用 Amazon Polly 提供一流的 AI 服务。利用该服务,用户可通过语音与安防系统进行交互。

我们的服务的工作方式

当触发报警时,我们通过 Twilio 以语音电话的方式通知客户。在建立呼叫后,Twilio 将逐步执行 TwiML 指令,并使用从 Amazon Polly 检索的合成语音开始向客户传送信息。电话接听方通过按手机键盘上的按钮 (DTMF 代码) 来做出回应。根据具体的 DTMF 代码,我们的服务会采取指定的操作,并返回从 Amazon Polly 检索的合成语音所对应的 TwiML 指令。为了让用户听起来像一个真实的对话,Amazon Polly 在未来数年内,我们的道路上将会看到有许许多多的无人驾驶车辆在行驶。这归功于深度学习的发展及其在无人驾驶技术方面的应用。在本博客文章中 | 原文链接,我们将向您展示一个教程,介绍如何制造使用 Amazon AI 服务的遥控 (RC) 车辆。


通常,每个无人驾驶车辆上都会安装各种各样的传感器,这些传感器可提供充分的遥测数据。这些遥测数据可用于改善单个车辆的驾驶,而且还能帮助提升用户体验。一些改进示例包括智能驾驶路线确定、增加车辆可行驶里程、提高效率、增强安全性以及更好地报告碰撞情况。在 AWS 上,像 TuSimple 这样的客户已经使用 Apache MXNet 打造了一个尖端的无人驾驶平台。TuSimple 已于近期实现了 200 英里的无人驾驶里程。


为了在无人驾驶车辆的驾驶中提高深度学习意识,推动 AWS IoT 的运用以及凸显人工智能 (AI) 的作用,AWS 将在 re:Invent 2017 大会期间,举办一个研讨会形式的机器人车马拉松拉力赛。这是一系列博客文章和 Twitch 视频中的第一个,利用这些文章和视频,开发人员可以学习无人驾驶 AI 技术,并为这场马拉松赛做好准备。有关马拉松赛的更多详情,请参阅 2017 年机器人车拉力赛。



在本教程中,我们将利用一个称为 Donkey 的开源平台项目。如果您愿意的话,可以使用您自己的 1:10 比例的电动汽车进行试验。不过,我们将坚持使用 Donkey 项目中使用的 1:16 比例的电动汽车。


下面是一些视频,其中演示了我们使用后面教程在 AWS 中制造的其中两款汽车。

车辆制造过程

在此存储库中可以找到组装和配置无人驾驶车辆的过程。其中还包括一个完整的材料清单,并且提供了链接,说明在什么地方购买各种部件。主要车辆部件来自于 RC Car、Raspberry Pi、Pi Cam 和 Adafruit Servo HAT,总成本不超过 250 美元。您可以购买其他传感器,如立体摄像机、LIDAR 数据采集器和加速度计等等。


我们建议您遵循此 Github 存储库中的步骤,这样可确保车辆具备各项基本功能,并且让您在成功的道路上最大程度地减少一些意义不大的繁重工作。


下面是为了使端到端平台正常工作而需要遵循的步骤:


1.组装汽车


2.Raspberry Pi 配置


3.在 Amazon EC2 实例上设置导航 (控制) 服务器


4.对汽车运行默认模型


我们建议您按照 GitHub 链接中提供的说明完成步骤 1 和 2。

在 AWS 上构建 Donkey 服务器

Donkey 解决方案的一个关键部分是控制导航服务器,该服务器负责协调车辆与云之间的通信。它可以指示在手动控制和自动驾驶之间切换。汽车使用 Pi 相机拍摄的图像进行导航。此外,图像可以本地保存在 Pi 上,或者流式传输到 EC2 实例进行检查并最终用于训练。


导航服务器构建在 AWS 深度学习 AMI 之上,并作为 Docker 容器部署。这为我们提供了一个易于管理的固定式高性能平台,我们可以在此平台上构建我们的 AI。


首先,登录到您的 AWS 管理控制台,并从最接近您区域的服务列表中选择 EC2。在此博客文章中,我将选择“US-EAST-1”。

步骤 1:选择 Amazon 系统映像 (AMI)

在 AWS Marketplace 中搜索“Deep Learning AMI Amazon Ubuntu”,然后选择 Select。


步骤 2:选择实例类型

选择 EC2 实例大小和类型。在此博客文章中,我将使用 G2.2xlarge,因为这是经过 GPU 优化的实例。G2.2xlarge 实例类型为下面七种流行的深度学习框架提供了内置支持:MXNet、Caffe、Caffe2、TensorFlow、Theano、Torch 和 CNTK。使用较低成本的 EC2 实例也可能会成功。


步骤 3:配置实例详细信息

保留所有默认值,并确保您使用适当的公有子网,该子网允许来自通过互联网连接的无人驾驶车辆的入站通信。


步骤 4:添加存储

该解决方案不需要太多空间,因此 32 GB 通用 GP2 卷应该已足够。



###步骤 5:添加标签


添加标签始终是一个好主意,因为它有助于跟踪您的资源使用情况。


步骤 6:配置安全组

Donkey 服务器需从属于无人驾驶车辆的任何 IP 地址打开 TCP 端口 8885-8888。初始设置后也可能需要 SSH 访问。我们建议您在安全组中放置已知的 IP 地址,而不是 0.0.0.0/0 这样的开放地址范围。


步骤 7:复查实例启动

最后复查一下所有内容,然后选择 Launch。




步骤 8:密钥对选择

最后一步,创建一个新的密钥对或者选择一个现有的密钥对。您将需要使用此密钥对通过 SSH 连接到此服务器。将密钥对保存在安全位置。



EC2 实例将在几分钟内准备就绪。在您的 EC2 控制台中,将看到您的新实例处于运行状态。选择该 EC2 实例,然后选择“Connect”。将示例代码段通过 SSH 复制到该实例。记下公共 IP 地址,因为导航服务器和车辆 (Raspberry Pi) 将需要该地址。



1.在终端屏幕中,使用 SSH 连接到 Donkey 服务器 EC2 实例:


ssh -i "DonkeyKP-us-east-1.pem" ec2-user@ec2-your-ip.compute-1.amazonaws.com
复制代码


2.更新实例运行:


sudo yum update –y 
复制代码


3.安装 Git:


sudo yum install git –y
复制代码


4.安装 Docker:


sudo yum install docker -y
复制代码


5.启动 Docker:


sudo service docker start
复制代码


6.将 ec2-user 添加到 Docker 组,以便您能够执行 Docker 命令,而无需使用 sudo:


sudo usermod -a -G docker ec2-user
复制代码


7.断开连接,然后重新连接:


exitssh -i "DonkeyKP-us-east-1.pem" ec2-user@Your-Instance-IP
复制代码


8.验证 Docker 功能:


docker info
复制代码


9.克隆 Donkey GitHub 存储库:


git clone http://github.com/wroscoe/donkey.git
复制代码


10.启动服务器:


cd donkeysudo bash start-server.sh
复制代码


首次启动服务器时,需要一段时间来下载并实例化所有依赖项。创建 Docker 映像后,以后启动时执行速度会快得多。


在单独的浏览器窗口中,连接到 Donkey 服务器 ec2 实例的公共 IP 地址。请务必包含端口 8887。



当您连接到此 URL 时,您已经确认导航服务器工作正常。为了节省成本,我们建议您关闭 Amazon EBS 支持的 EC2 实例,以避免在不驾驶车辆时产生计算费用。该实例的主要用途是执行由 Donkey 车辆收集的训练数据。Raspberry Pi 的计算能力有限。启用 GPU 的 EC2 实例将训练神经网络熟悉图像,并以比 Raspberry Pi 快得多的速度发送遥测数据。用于无人驾驶汽车的神经网络示例在 Jupyter 笔记本中展示,并附有示例数据集,该示例数据集可在我们的 robocar2017 GitHub 存储库中找到。


敬请继续关注我们的下一篇博客文章,我们将继续介绍本教程,并向您展示如何连接和驾驶无人驾驶车辆并安排驾驶课程。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/build-an-autonomous-vehicle-on-aws-and-race-it-at-the-reinvent-robocar-rally/


2019-10-12 11:26545
用户头像

发布了 1602 篇内容, 共 71.1 次阅读, 收获喜欢 67 次。

关注

评论

发布
暂无评论
发现更多内容

Linux C/C++后台开发高级架构师进阶指南-剑指腾讯T9

C++后台开发

后台开发 后端开发 linux开发 Linux服务器开发 C/C++开发

参与openEuler社区不到1年,我成为了Maintainer……

openEuler

开源 成长 openEuler 开源社区 开发者说

XSKY星辰天合与观测云完成产品兼容性互认证 构建全业务链路的可观测性

观测云

从GitHub火到了InfoQ!共计1658页的《Java岗面试核心MCA版》,拿走不谢

收到请回复

Java 程序员 金九银十 Java面试八股文 常见面试题

Alibaba最新发布的Spring Boot项目实战文档,Github标星78k

Java面试那些事儿

Java Java 面试 java程序员 Java工程师 spring-boot

洞见商业新机,云原生数据库GaussDB让企业决策更科学

华为云开发者联盟

数据库 后端 华为云

开源一夏 | 在STM32L051上使用RT-Thread (一、无线温湿度传感器 之 新建项目)

矜辰所致

开源 RT-Thread 8月月更 STM32L051

谁在构建超云?

Kent Yao

超云

软件测试100天上岸1-测试就是找茬游戏

和牛

测试 8月月更

合约量化交易系统开发搭建

l8l259l3365

容器化 | 一文搞定镜像构建方式选型

RadonDB

MySQL Docker Kubernetes 镜像 RadonDB

7 天找个 Go 工作,Gopher 要学的条件语句,循环语句 ,第3篇

梦想橡皮擦

Python 爬虫 8月月更

HUAWEI内网最新发布了一份452页网络协议手册,GitHb百万收藏

小柴说Java

Java 网络协议 java程序员 TCP/IP Java工程师

兆骑科创创新创业大赛,双创活动,赛事承办,三招三引

兆骑科创凤阁

什么是知识库,为什么需要它?

Geek_da0866

【Java】:程序流程的控制

翼同学

Java 学习 编程语言 分享 8月月更

兆骑科创国内外创新创业服务平台,创业大赛,企业落地孵化

兆骑科创凤阁

微信官方kbone,Web端同构的福音

Geek_99967b

小程序

如何区分透明LED显示屏种类及应用领域

Dylan

LED显示屏 led显示屏厂家

从0到1打造推荐系统工程实战

Jay Wu

推荐系统

点赞破百万!字节算法大佬亲撰30W字数据算法笔记:GitHub标星93K

小柴说Java

数据结构 算法 算法题 算法与数据结构 算法面试题

重磅升级!TDengine3.0正式发布

TDengine

数据库 tdengine 时序数据库

对话张星亮,洞察本质,SaaS首先是一种商业模式

B Impact

种草 Vue3 中几个好玩的插件和配置

江南一点雨

Java Vue

在 AWS 上制造一辆无人驾驶车辆,并参加 re:Invent 机器人车拉力赛_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章