亚马逊AWS官方博客
DeepRacer解决无法登录Console以及模型失效的方法
Amazon DeepRacer是开始学习机器学习(ML)的快速方法。您可以在基于云的虚拟模拟器中使用1/18比例的自动驾驶车辆来训练强化学习(RL)模型. 之后你可以通过在实体跑道上使用实体赛车来测试你的模型。该车使用摄像头查看赛道,并使用强化学习模型控制油门和转向,展示了如何将在模拟环境中训练的模型转移到现实世界中。
在Amazon及合作伙伴组织的DeepRacer培训与实体赛车比赛之中,会遇到一些偶发问题,比如个别赛车无法通过USB连接到设备控制台Console,新采购的某批次赛车(version 2.0.113.0)不能很好地运行过往训练好的在实体赛道中运行良好的模型,出现模型运行失效的问题。
在这篇博文中,我们将向您介绍如何使用人工的方式刷新DeepRacer赛车软件系统以及升级DeepRacer 软件系统,以解决上述问题。
- 通过刷新系统解决USB线无法连接到赛车设备控制台Console的问题
- 人工升级赛车系统软件以兼容过往训练好的模型
先决条件
- 一台Amazon DeepRacer实体赛车,软件版本2.0.113.0
- 一台HDMI显示器,一个USB键盘,一个USB鼠标
- 一USB Flash 驱动盘,32 GB以上
- 一台笔记本电脑
演练操作步骤
本演练操作中有两个部分:
- 通过刷新系统方式解决USB无法连接赛车控制台的问题
- 人工升级赛车系统软件以兼容过往训练的模型
通过刷新系统解决USB无法连接赛车控制台的问题
在本部分中,我们将介绍如何使用刷新赛车软件系统的方式解决USB线无法连接到赛车设备控制台的问题。在采用此方式之前,请先尝试一下基本操作尝试连接赛车。
步骤1.
- 关闭个人电脑上的Wi-Fi并拔下与之连接的任何以太网电缆。
- 按下赛车上的RESET按钮以重新启动设备。
- 通过从个人电脑上的web浏览器登录https://deepracer.aws登录设备控制台。
如果步骤1不生效,
步骤2. 更换USB连接线重新尝试步骤1。
如果步骤2不生效,
步骤3, 更换另外一台个人电脑重新尝试步骤1。
如果步骤1,2,3都不生效,就需要尝试刷新赛车软件系统。
开始刷新赛车软件系统操作:
步骤一,准备USB启动盘
步骤请参考开发手册内容,准备升级Ubuntu20.04. 此步骤是制作一个USB启动盘,以及复制赛车软件镜像到USB盘中。制作好的USB启动盘有两个分区,如下所示,BOOT分区是Ubuntu20.04的系统文件, Flash分区是下载的factory_reset.zip 文件,解压缩,这里注意,只需要将factory_reset文件夹里的文件复制到Flash分区。
步骤二,将赛车通过HDMI连接到显示器,USB键盘,鼠标连接到小车的摄像头附近USB接口。步骤一中制作好的USB启动盘插入赛车USB接口。赛车车体共四个USB接口. 如下图所示
步骤三,打开赛车电源,快速重复按键盘的ESC键,让赛车进入BIOS 系统。
步骤四,BIOS系统如图所示,依次选择Boot From File, BOOT., <EFI>, <BOOT>, 最后BOOTx64.EFI,回车.
步骤五,赛车系统将重启,进入ubuntu系统界面,同时赛车电源灯将持续闪烁。显示器的ubuntu界面如下所示,之后你不需要做任何操作,直到Terminal的窗口消失,电源灯停止闪烁。赛车的软件系统重新刷新完毕。 整个过程将持续约10分钟。
步骤六, 拔掉USB 启动盘,重启赛车,重新尝试连接USB线到赛车的设备控制台https://deepracer.aws,检测是否能否登录入赛车控制台。
人工升级赛车系统软件以兼容过往训练的模型
在我们中国DeepRacer实体车竞赛交付经验中,新采购赛车如果内置2.0.113.0 版本,会与某些过往训练好的在实体赛道中运行良好的赛车模型工作不匹配,模型运行效果比较差,这里需要将赛车软件升级到2.0.173.0. 此操作步骤也适用于基于其它目的的版本升级。
步骤一, 通过USB线登录赛车的设备控制台https://deepracer.aws. 选择能够连接公共网络的WiFi路由器,输入WiFi SSID,密码,连接。
个人电脑和赛车接入同一WiFi路由器,打开浏览器通过赛车IP地址登录赛车设备控制台。
步骤二,在赛车设备控制台中选择Setting,Device SSH,Edit,修改SSH密码。
步骤三,将赛车连接HDMI显示器,USB鼠标,键盘。
在显示器中会显示赛车ubuntu系统的登录界面,键盘回车,输入步骤二中设置的SSH密码,登录入赛车的操作系统,如下图所示。
步骤四,在个人电脑中下载DeepRacer手动升级脚本,通过USB盘复制deepracer-device-manual-update.sh到赛车系统的桌面中。
在赛车系统中打开终端Terminal,执行命令
cd ~/Desktop
chmod +x deepracer-device-manual-update.sh
sudo ./deepracer-device-manual-update.sh
密码输入之前步骤中设置的SSH密码.
命令执行结果如下图所示:
ping www.baidu.com
检测网络是否连接
sudo apt-get update
sudo ./deepracer-device-manual-update.sh
验证安装版本,
sudo apt-get install aws-deepracer-core
终端显示aws-deepracer-core already newest version (2.0.173.0),表示成功.
步骤五,按RESET键重启赛车,通过个人电脑浏览器以IP地址登陆赛车控制台。看到软件升级提示界面后,点击“Update Software”, 通常升级进度条会停止在88%, 进入步骤六。
步骤六,在HDMI的显示器中观察赛车系统变化,当赛车升级成功后,会自动重启,直到显示赛车ubuntu系统的登录界面。在个人电脑浏览器IP地址重新登陆赛车控制台,进入Setting界面。当软件版本显示2.0.173.0时,证实赛车系统升级成功。 经在中国DeepRacer线下赛交付经验,2.0.173.0版本是稳定的可以正常使用的版本,兼容过往模型.
人工升级脚本改进及快速批量升级方法:
如果你有多台赛车需要升级,可以在步骤四中获得的deepracer-device-manual-update.sh,进行改进,加快升级速度。
步骤a,直接下载aws-deepracer-core_2.0.173.0_amd64.deb
步骤b,在deepracer-device-manual-update.sh中增加语句,
#!/bin/bash
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key F42ED6FBAB17C654
sudo apt-get update
sudo cp aws-deepracer-core_2.0.173.0_amd64.deb /var/cache/apt/archives/
sudo dpkg -i aws-deepracer-core_2.0.173.0_amd64.deb
sudo apt-get install aws-deepracer-core
步骤c,将修改后的deepracer-device-manual-update.sh 以及下载的aws-deepracer-core_2.0.173.0_amd64.deb 复制到赛车操作系统的桌面
步骤d,打开Terminal 执行命令
cd ~/Desktop
chmod +x deepracer-device-manual-update.sh
sudo ./deepracer-device-manual-update.sh
之后重复上述步骤五,步骤六的过程。
总结
在本文中,您学习了刷新赛车软件系统的方式解决USB线无法连接到赛车设备控制台的问题。并介绍了人工升级赛车系统软件以兼容过往训练模型的操作流程。