18283| 5
|
[漂移驴车项目] 在两天内打造一辆自动驾驶汽车并了解深度学习(ZZ) |
本帖最后由 极凹甫 于 2022-4-16 21:10 编辑 我在https://medium.com/看到 Jason Wu 发的3个帖子,讲述了自己玩驴车的过程,我觉得值得转给大家看看。在两天内打造一辆自动驾驶汽车并了解深度学习——第 1 部分 Donkey Car是一个可访问的开源自主 RC 模型车项目,用于学习深度学习和计算机视觉在机器人车辆中的实际应用。设置并开始使用大约需要一个周末,您可以使用其现有的神经网络计算机视觉库来实现自动驾驶,以跟随赛道上的车道。为了进一步学习深度学习,在过去的一个月里,我也一直在努力改进图书馆,我想在这里分享我的经验。这是该系列的介绍部分,简要总结了我一直在做的事情,我计划在未来更深入地写一些主题。
在本文的前半部分,我想简要介绍一下如何设置项目并为刚接触该项目的人训练一个自动驾驶模型。官方网站对每个步骤都有更详尽的解释,因此如果您已经熟悉文档并且只想查看我所做的额外内容,我将在第 2 部分中对此进行更多说明。
设置它的最简单方法是按照其官方网站上的说明购买相同的硬件。它包括一辆 RC 模型车、一个带摄像头的 Raspberry Pi 和各种其他部件,总成本约为 200 美元。如果您熟悉 RC 模型车,驴库还支持构建您自己的汽车,这可以为您节省一些钱。
一旦你完成了汽车的建造并按照说明安装了所有必要的软件,你就可以通过笔记本电脑或手机上的 wifi 控制汽车。但是,我发现在手机上控制起来有点困难,在笔记本电脑上更难控制,所以我建议购买说明中提到的可选蓝牙操纵杆控制器。我实际上走了一条替代路线,并使用 Arduino 将原始接收器连接到 Raspberry Pi,因此我可以使用随附的遥控器控制汽车。这需要更多的努力,但我学会了很多设置。我将在下一部分详细讨论如何使用示例代码进行设置。
一条轨道可以像地板上的一圈深色胶带一样简单。我这样做是为了测试我的第一个自动驾驶仪。车内的神经网络应该能够在驾驶它几次后学会遵循一个模式。我想让我的轨道便携,所以我实际上是用黑色泡沫板建造的,我发现它非常适合这个目的。我使用电工胶带形成道路车道和 3M 吊带作为泡沫板之间的可拆卸连接。 使用泡沫板、电工胶带和 3M 吊带制成的便携式轨道
当您开始驾驶时,车上的摄像头会自动记录下来,这将成为您用来训练神经网络的数据。该过程很简单,无需太多设置,因为数据管道内置在驴库中。默认情况下,相机每 1/20 秒捕获一次图像,同时创建一个 json 文件来存储图像的文件名以及当时的转向和油门输入。图像和匹配的 json 文件都存储在名为 Tub 的文件夹中。一旦熟悉了赛道上的驾驶,就需要记录大约 10 到 20 圈的良好驾驶数据进行训练。需要注意的一点是,由于汽车在您开始驾驶时就开始记录,如果您之前在试驾时有“脏数据”,记得在记录干净的训练集之前清除 tub 文件夹。接下来,记录的数据从 Raspberry Pi 传输到计算机进行训练,因为 Pi 没有足够的计算能力来执行此操作。 我在训练过程中遇到的几个问题是,安装在驴旁边的 Tensorflow 版本(1.8.0)与我的 CPU 不兼容,我不得不将其降级到 Tensorflow 1.5.0 才能使其工作。如果你有一个支持 Cuda 的 Nvidia GPU,你也可以安装 GPU 版本的 Tensorflow 并在你的 GPU 上训练,这样会快得多。我将在本文后面更多地讨论在支持 GPU 的机器上的训练。我遇到的另一个问题是找不到控制器模块错误。事实证明,当前的 donkey 存储库在克隆时默认位于 dev 分支中,因此在签出 master 分支并重新安装需求后,它就可以工作了。
在我供电不足的笔记本电脑上培训大约需要 2 个小时,您的培训时间可能会有所不同。一旦达到预测停止改进的程度,程序就会自行停止。之后,您可以将训练期间保存的飞行员传输回 Pi 并启动汽车,看看它会自动驾驶!
转到第 2 部分,了解我的探索性数据分析和应用过滤器来改进模型预测 |
极凹甫 发表于 2022-4-20 13:00 大佬你好,我的驴车是自己搭建的。我参照的是驴车的文档来进行搭建的,把模型车的油门那三根线接到PCA9685上,然后树莓派来控制。驴车的转向也是这样。然后我到了校准那一步,转向那里,调节PWM的值,是可以看到变化的,但是油门无论怎么改PWM 都不会动。 然后启动manage.py 车也没有反应。打开驴的网址,就是IP地址:8887,控制驴车 我加油门或者转向,他又可以被控制 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed