亚马逊AWS官方博客

DeepRacer 错误排查手册

当今越来越多的机器学习爱好者、开发人员参与到AWS DeepRacer的比赛中来,通过基于AWS云的 3D 赛车模拟器、由强化学习驱动的全自动 1/18 比例赛车和全球赛车联盟体验机器学习所带来的乐趣。

在此过程中,我们往往会遇到各种各样的问题,其中有一部分是与模型无关的,比如车子方面的硬件问题或者网络方面的问题,为此,我们各位专家顾问列举了一些常见问题及对应的解决方案,以帮助选手们或赛事组织人员快速定位及解决问题。

Q1: 为什么我无法通过计算机和车辆之间的*USB*连接来连接到设备控制台?

首次设置车辆时,您可能会发现https://deepracer.aws在通过微型USB / USB将AWS DeepRacer车辆连接到计算机后,它无法打开设备控制台(也称为设备Web服务器,托管在车辆上) 。 USB电缆(USB也称为USB-A)。这可能是由多种原因造成的。通常,您可以通过以下两种简单的方法解决此问题。

方法一:
拔下micro-USB / USB电缆,以终止计算机与AWS DeepRacer车辆之间的USB连接。将您的AWS DeepRacer车辆连接到显示器(使用HDMI到HDMI电缆)、USB键盘和鼠标。登录到AWS DeepRacer操作系统。如果这是第一次登录设备操作系统,请在需要时输入初始密码deepracer,然后根据需要更改密码,并使用更新后的密码进行后续登录。打开一个终端窗口,然后键入以下Shell命令。您可以从桌面上的“应用程序”->“系统工具”中选择“终端”快捷方式,以打开终端窗口。

sudo /opt/aws/deepracer/nginx/nginx_install_certs.sh && sudo reboot
出现提示时,输入您在上一步中使用或更新的密码。

上面的命令将安装新证书并重新启动设备。它还会将设备控制台的密码恢复为在AWS DeepRacer车辆底部打印的默认值。从车辆上断开显示器、键盘和鼠标的连接,然后使用micro-USB / USB电缆将其重新连接到计算机。

方法二:
如参照方法一操作仍无法连接控制台,请参照此官方教程进行刷机,重新安装赛车系统。

方法三:
若以上方法均无法奏效,则极有可能是micro-USB / USB电缆自身的问题,建议进行更换。

Q2:如何为AWS DeepRacer驱动器模块电池充电

AWS DeepRacer的马达电池有两组电缆,带有两个不同颜色的JST连接器(白色和红色)。黑色、红色和白色电缆末端的白色3针连接器将马达电池连接至电池充电器。黑色和红色电缆末端的红色2针连接器将电池连接至车辆传动系统。
要在马达电池已连接至车辆的情况下使用它,请提起计算模块,注意不要将连接至传动系统的电线松开。

通过将电池的白色3针连接器连接至充电器端口,将电池连接至电池充电器。红灯+绿灯=未充满电。绿色指示灯亮起时,表示电池已充满电。将其传动开关推至“on”位置,打开车辆传动系统。聆听指示灯声音(两声短促的哔哔声)以确认充电成功。如果听不到两次哔声,请尝试解锁车辆电池。

Q3:我的电池已充电,但我的AWS DeepRacer车辆不动。赛车开机之后,蓝灯亮了,但是马达不启动,点击start没反应

如果已为马达电池充电且已连接Wi-Fi,但车辆仍然不动,请按照以下步骤操作:

  • 提起计算模块,注意不要将连接至传动系统的电线松开。确保正确连接下面的车辆电池,将红色的2针连接器连接至黑色和红色的传动链连接器。将开关推至”on”位置,以打开车辆传动系统。聆听指示灯声音(两声短促的哔哔声),以确认车辆已充满电。
  • 如果在打开车辆电池时没有听到两声哔哔声,请确保电池已充满电。将车辆电池的白色连接器电缆插入充电器,该充电器可以通过红色和绿色LED指示灯与计算模块的电源区分开。将电源连接到其充电电缆,然后将其插入电源插座。当车辆电池充电器上的红色和绿色指示灯同时亮起时,表明电池仍需要充电,红灯+绿灯=未充满电。
  • 只有绿色指示灯亮起时,表示电池已充满电并可以使用。从充电器上断开马达电池的白色接口,然后将红色接口重新连接至车辆。将其传动开关推至”on”位置,以打开车辆传动系统。如果仍然听不到两次哔声,请尝试解锁车辆电池。
  • 将车辆连接到Wi-Fi,然后在浏览器中打开AWS DeepRacer控制台。使用手动驾驶车辆以确认其可以移动。
  • 提醒:为了最大程度地利用车辆电池,在不使用AWS DeepRacer时,请确保关闭车辆马达或断开电池。

Q4:如何维持车辆的Wi-Fi连接

如果您的车辆的Wi-Fi LED指示灯闪烁蓝色,然后变成红色两秒钟,最后熄灭,请检查以下内容以确认具有有效的Wi-Fi连接设置。

确认USB驱动器只有一个磁盘分区,上面只有一个 wifi-creds.txt文件。如果找到多个 wifi-creds.txt文件,则将按照找到它们的顺序处理所有文件,这可能导致无法预测的行为。

验证是否在wifi-creds.txt文件中正确指定了Wi-Fi网络的SSID和密码 。该文件的示例如下所示:

####################################################################
# File name: wifi-creds.txt #
####################################################################
ssid: ' My Home Wi-Fi'
password: myWiFiPassword

验证双方wifi-creds.txt文件中的字段名ssid、password是小写。验证每个字段名称和值都用一个冒号(:)分隔。例如,ssid: ‘ My Home Wi-Fi’
验证包含空格的字段值则用一对单引号引起来。

如果USB驱动器包含wifi-creds.txt文件,则车辆尝试连接文件中指定的Wi-Fi网络时,Wi-Fi LED指示灯会闪烁蓝色。如果Wi-Fi连接尝试失败,Wi-Fi LED也可能会变红两秒钟。

Q5:为什么设备控制台上的视频播放器不显示来自车辆摄像头的视频流?

登录到AWS DeepRacer设备控制台后,您在Device Controls的视频播放器中看不到摄像头的任何影响。请排查以下可能会导致此问题的因素:

  • 静待一段时间看视频是否会出现,以排除WIFI信号弱或延时的可能性。
  • 相机与USB端口的连接可能松动。从车辆上拔下摄像头模块,将其重新插入USB端口,关闭设备电源,然后重新启动设备电源。
  • 相机可能有故障。使用另一台可以正常工作的AWS DeepRacer车辆的摄像头(如果有)来测试是否是此原因。

Q6:为什么我的AWS DeepRacer车辆不移动?

您已打开AWS DeepRacer车辆的电源,但无法使其移动。以下因素可能会导致此问题:

  • 如在地上不移动,但提起车子发现轮子在向前转动,证明是静止启动速度不够需要提升,请到车console里进行速度校正。
  • 车辆的充电宝未打开,或者充电宝未连接至车辆。确保充电宝的USB-C端口和车辆底盘的USB-C端口之间已连接USB-C至USB-C的电缆。通过LED指示灯检查充电宝的电量。如果一切,按下充电宝的电源按钮,然后按下车辆底盘上的电源按钮以启动设备。尾灯亮起时,设备将启动。
  • 如果充电宝已打开并且车辆已启动,但车辆在手动或自动驾驶模式下均未移动,请检查车辆底盘下方的马达电池是否已充电并已打开。如果不是,请给马达电池充电,然后在电池充满电后将其打开。
  • 车辆电池电缆与车辆驱动模块电缆连接紧密。
  • 电池电缆有故障。如有可能,请在另一辆可正常工作的车辆上使用此电池,以测试是否是此原因。
  • 车辆电池的电源开关未打开。打开电源开关,确保听到两声蜂鸣声,然后是一声长蜂鸣声。

Q7:为什么将模型部署到AWS DeepRacer车辆后无法正常运行?

训练模型并将其部署到您的AWS DeepRacer车辆后,有时该车辆无法达到预期的性能。什么地方出了错?

通常,优化训练后的模型以将其部署到实体车辆上是一个充满挑战的学习过程。它经常需要通过反复的试验来进行。有关最佳做法的一般准则,请参阅针对实际环境优化训练AWS DeepRacer模型。以下是一些可能影响AWS DeepRacer车辆中模型性能的常见因素:

  • 您的模型尚未在训练中收敛。克隆模型以继续训练或花费更长的时间重新训练模型。确保模型在模拟中连续完成几圈(即训练结束时100%的过程)。
  • 您的模型训练过度(即过度拟合)。它非常适合训练数据,但不能泛化到未知情况。使用更灵活或适应性更强的奖励函数重新训练模型,或增加动作空间的粒度。
  • 您的AWS DeepRacer车辆可能未正确校准。要测试是否属实,请切换至手动驾驶,然后查看车辆是否按预期行驶。如果不是,请校准车辆。
  • 靠近实体赛道的物体太多,使得该赛道与模拟环境有很大差异。移除赛道周围的物体,使实体赛道尽可能接近虚拟赛道。
  • 来自赛道表面或附近物体的反射会产生眩光,影响到摄像头。调整照明并避免使用光滑的混凝土地板或其他有光泽的材料制作实体赛道。
  • WIFI信号弱或串扰或过多人同时使用,表现在摄像头的视频流延时严重,模型之前跑得好,现在突然跑得差。此时应让操作的电脑与WIFI发射源接近,或使用更好的WIFI发射源,或避免多人同时使用。
  • Deepracer赛车软件版本需要升级,在Console中点击Setting,检查最下方软件版本,参照教程进行软件升级,模型即可正常运行。

Q8:赛车无法完成直线矫正,一直调到最左侧/最右侧,还是在偏

先确定是否真正点击直线向前,部分原因是选手使用鼠标不当引至方向盘其实发生轻微偏移。
转向马达发生故障,需要维修。

Q9:赛车经过矫正后,始终无法在手动模式下跑出直线,却可以在使用模型的情况下不出界跑完一圈

当赛车无法在手动模式下跑出直线时,如果转弯角都调到最大值,有一定几率可以让模型在赛道上正常使用。但还是建议对赛车进行更换,以防止对模型效果的评估出现偏差。

Q10:手动调试赛车时:向前跑可以,向后跑无反应,马达不启动

向后运动可忽略。

Q11:车子方向是反的,点reverse也没有用,还是在向后跑

如果是在做完转向与速度调整后,发现并不能生效,可以尝试在调整完成后退出设备控制台,然后重新登录,或重启车子。如果仍然无效,可能是速度马达或系统发生故障,需要维修。

Q12:车子校正好了,重新开机之后,参数没变但是又跑偏了

重新开机之后,校正参数会偏移。需要重新校正。
选手在校正后,建议不要开机。确保参数的有效性。

Q13:在赛车使用过程中,发现摄像头传输的画面出现卡顿或延迟,赛车的行驶也出现问题(反应不及时或无法移动)

检查赛车使用的AP上的连接数量,确保只有此辆赛车在使用AP。
更换拥有更大容量和网络带宽的AP。
将AP放置在离赛道尽可能近的位置。

Q14:赛车使用过程中,在非故意的情况下,电脑上突然闪退出赛车操作界面

同一时间,只能有一台电脑对赛车进行操控。如果有新的电脑对赛车进行连接,则此前连接赛车的电脑会自动退出。

Q15:一切校准都已完成,并且赛车使用过程中运行完美。可是突然在运行过程中失去连接或摄像头操作界面无法显示

在赛车运行过程中,有可能会因为冲撞或其他原因使得某些硬件设备产生松动或损坏。若出现此问题描述的情况,建议对硬件设备进行重新的插拔或对赛车进行重启。问题如果还是不能解决,则需要对出现问题的硬件进行排查并进行更换。

Q16:我的模型在线上虚拟赛道中表现良好,在实体赛道上赛车却连一圈都无法完整跑完,这是否意味着实体赛车可能存在问题(校准问题或硬件问题)

线上测试中,系统假定环境和虚拟赛车都是完美的状态,并不会过多考虑光线、赛车重量及赛道上的摩擦力等原因。因此同一模型在线上线下表现出完全不同的效果是正常的,如果在完成所有必要校准的情况下,模型在实体赛道上仍然表现不佳,则用户需要思考更换模型的策略。

Q17:在进行直线校准时,是否应该将同侧车轮调至同一水平线,这样从让赛车跑出直线的角度来说较为合理

在车辆校准过程中,用户只需让赛车可以在手动操作模式下跑出直线即可,并不需要纠结于同侧车轮是否调至同一水平线。如果发现赛车虽然跑出了直线,但是前后轮胎分别呈现内八字和外八字状态,这是完全正常的,这是基于真实F1赛车理念进行的物理设计,在此不做赘述。

Q18: 调试小车时发现可以进行前后移动,但无法转弯

拆开小车,检查底盘上的两根线是否正确插入主体的相应插槽内

结论

如你有其它的问题或建议,欢迎留言给我们。

 

本篇作者

許躍騰

AWS专业服务团队資深数据科學家。在强化学习、影像辨识、机器学习拥有近二十年的经验,深度参与过机器人、自动驾驶、智能监控的研究发展,发表过数十篇学术期刊著作并从其中获得六项国际专利。除了在产业界服务,他也在大学长期授课,並指導交通大學DeepRacer 學生戰隊獲得世界冠軍,充满热忱。

王畇

AWS专业服务团队助理数据科学家。在传统机器学习、计算机视觉、强化学习以及数据分析领域拥有多年扎实经验,深度参与过生物识别、智慧供热等多个不同行业的人工智能项目,拥有丰富的实战经验。在个人爱好方面,他喜欢足球,篮球以及音乐。

熊远

AWS专业服务团队大数据工程师。在企业数据仓库、大数据解决方案架构、数据湖以及机器学习算法开发拥有扎实经验,深度参与过零售快消、医疗器械、能源工业等行业的 数据平台建设与机器学习应用搭建。

孔庆强

AWS专业服务团队的大数据顾问,十多年从事数据湖仓及数据分析,为客户提供数据建模、数据治理及整体专业数据解决方案。在个人爱好方面,喜爱健身、音乐、旅行。

蒲洋

AWS专业服务团队数据科学家。在计算机视觉、数据处理与分析、图像重构等领域拥有近八年的项目经验,深度参与媒体、能源及医学等行业的预测模型开发及AI平台建设。