重拾漂移驴车项目-基于树莓派的无人驾驶RC赛车

2021-10-199.7万
精华项目
AI 快速预览详细 收起
这篇帖子介绍了基于树莓派的无人驾驶RC赛车项目——漂移驴车。该项目是一个开源的DIY自主驾驶小车平台,结合了RC赛车、树莓派和Python编程。文章提供了详细的硬件清单和安装配置文档,并列举了多个技术栈的学习机会,如树莓派基本操作、Python编程、Tornado库、Keras库、TensorFlow、OpenCV等。此外,还提供了会议录像和社区交流的机会,帮助读者更好地理解和实践这个项目。

0x00 前言

在两年前,我和昊男曾一起玩儿过的donkey car项目,由于技术栈缺失的问题,玩儿的不够尽兴,相当于半烂尾项目,donkeycar官方的项目却玩儿的有声有色,想想历年我们挖过的坑,人在江湖混,迟早是要还的。坑依然在那里,填还是不填,还真是个问题。

0x01 什么是驴车(donkey car)

重拾漂移驴车项目-基于树莓派的无人驾驶RC赛车图1

An opensource DIY self driving platform for small scale cars.
RC CAR  +  Raspberry Pi + Python (tornado, keras, tensorflow, opencv, ....)

一个开源的DIY自主驾驶小车平台,基于RC赛车,树莓派,Python编程(tornado库, keras库,tensorflow库,还有openCV视觉库)
重拾漂移驴车项目-基于树莓派的无人驾驶RC赛车图2重拾漂移驴车项目-基于树莓派的无人驾驶RC赛车图5

0x02 需要什么硬件?

  1. 树莓派3B、4B均可
  2. 树莓派CSI接口摄像头一个
  3. PCA9685舵机驱动板及MG90180度舵机一个
  4. RC 赛车(自己组装或者买二手大脚车改)
  5. 电池(3S锂电池或者18650电池包)
  6. 电源管理模块(DCDC) 12V转5V
  7. 若干工具,螺丝刀,电烙铁等等(外壳也许要3D打印,根据自己需求)
  8. 轧带和魔术贴
  9. 若干杜邦线和USB转MicroUSB线,或者直接用杜邦线供电也行。

@昊男Henry 也为大家提供了硬件BOM表

0x03 安装配置文档参考?

DonkeyCar官方提供了很详细的文档:
https://docs.donkeycar.com/

会议录像汇总(持续更新)

  1. 漂移驴车-20211021-蘑菇云开放夜-项目复活
  2. 漂移驴车-20211030-线上车友会-Mac环境配置(上)
  3. 漂移驴车-20211030-线上车友会-Mac环境配置(下)
  4. 漂移驴车-20211106-线下车友会-RC车模基础
  5. 漂移驴车-2021.11.18-线上车友会-蘑菇云开放夜 之 驴车项目汇报

0x04 为啥要重拾一个烂尾的项目?

个人觉得大家一起玩儿这个项目比较有意思,并且这里面有很多技术栈可以学习。

  1. 树莓派的基本操作,系统层面的一些管理,配置,编辑配置文件的工具,软件包管理,网络管理等等,很多东西都可以在项目中学习。
    重拾漂移驴车项目-基于树莓派的无人驾驶RC赛车图9
  2. Python的编程,如果想仔细弄明白工作原理并自我实现python程序的编写,可以参考官方文档和自己的实际用途做个性化的处理。
  3. Tornado 库: 通过对这个库的学习,可以了解简单的python web框架的搭建过程,配置方法等等。
  4. Keras库: Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow, CNTK, 或者 Theano 作为后端运行。Keras 的开发重点是支持快速的实验。能够以最小的时延把你的想法转换为实验结果,是做好研究的关键。
    • 允许简单而快速的原型设计(由于用户友好,高度模块化,可扩展性)。
    • 同时支持卷积神经网络和循环神经网络,以及两者的组合。
    • 在 CPU 和 GPU 上无缝运行。
  5. tensorflow库: TensorFlow是一个端到端开源机器学习平台。它拥有一个全面而灵活的生态系统,其中包含各种工具、库和社区资源,可助力研究人员推动先进机器学习技术的发展,我们也可以尝试学习一下,当然你也可以用各种别的框架,例如pytorch或者yolo。
  6. 对于硬件的控制,我们也可以获取一些经验,例如: 如何通过I2c总线对PCA9685的各个舵机进行精确的调节及树莓派GPIO引脚的控制等。重拾漂移驴车项目-基于树莓派的无人驾驶RC赛车图6重拾漂移驴车项目-基于树莓派的无人驾驶RC赛车图7
  7. 结识更多志同道合的基友,实现我们自己的驴车小队,玩儿的过程中站着把知识学了,说不定还能赚些银子。
  8. 把坑填了。
  9. 学习更多OpenCV视觉框架的东西。重拾漂移驴车项目-基于树莓派的无人驾驶RC赛车图8
  10. 也许在外壳设计上还能学习一下3D建模和3D打印的技术。重拾漂移驴车项目-基于树莓派的无人驾驶RC赛车图4
  11. 我编不下去了,哈哈!

0x05 结束语

这篇帖子算是在摇旗呐喊,招兵买马, 有兴趣的朋友可以跟帖,我们会开个微信群进行细节讨论。
然后一起开心的玩耍~


重拾漂移驴车项目-基于树莓派的无人驾驶RC赛车图3

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(15)
耘想
耘想
评论内容
Caner
Caner
扎,到我这就二维码过期了?虽然我们是不同方向,还是期待精神交流
https://github.com/Canees/Network-Remote-Control-Car
https://github.com/Canees/Wired-Remote-Control-Vehicle
yoyojacky
yoyojacky
作者
回复追梦人10086
加你了
追梦人10086
追梦人10086回复yoyojacky
我想加入 我加了漂移菌 我的vx号是clc56987
共4条回复,已加载2条,点击查看更多共4条回复,已加载全部
lumeizhu20
lumeizhu20
真有趣!
yoyojacky
yoyojacky
作者
回复lumeizhu20
欢迎加入哈哈,我们持续吸收新车手。哈哈
微笑的rockets
微笑的rockets
10月30日我们将举行第一次的线上会议
昊男Henry 邀请您参加腾讯会议
会议主题:漂移驴车-车友会
会议时间:2021/10/30-2022/03/12 10:00-12:00(GMT+08:00) 中国标准时间 - 北京, 每周 (周六)
点击链接入会,或添加至会议列表:
https://meeting.tencent.com/dm/pqQjdxlVEG2h
会议 ID:423 9700 5680
【议题】
1. 漂移驴车项目愿景-5'-全体召集人
2. 车队章程与车手公约-5'-Rockets
3. 驴车活动运营规划-5'-昊男
4. 技术工坊-基本硬件知识与PC端环境搭建交流(上)-50'-Jacky
5. 技术工坊-PC端环境搭建交流(下)-50'-Jacky
6. 自由交流与合影截图-5'-全体车友
yoyojacky
yoyojacky
作者
回复微笑的rockets
预祝第一次线上活动成功!
gray6666
gray6666
暑假已将把孩子遥控车模拆了,近期闭关赶赶进度
yoyojacky
yoyojacky
作者
回复gray6666
哈哈,nice,这效率真高啊!
hnyzcj
hnyzcj
嘎嘎
昊男Henry
昊男Henry
我是昊男,这是驴车项目烂尾前的样子:https://makelog.dfrobot.com.cn/article-752.html
现在技术和大环境各方面都成熟了,是时候一起把坑填上!
漂移驴车,骑驴漂移~欢迎大家!
yoyojacky
yoyojacky
作者
回复Ash1
陈年老坑,那味儿,入口柔,一线喉
yoyojacky
yoyojacky
作者
回复昊男Henry
哈哈,欢迎昊男强势加入。
共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
yoyojacky
yoyojacky
作者
OK,驴车项目的微信群:

yoyojacky
yoyojacky
作者
回复KIKI
为了让大家扫码容易一些。哈哈,实际上是不知道怎么改小。。。
KIKI
KIKI回复yoyojacky
你这么大一个二维码,
yoyojacky
yoyojacky
作者

然后通过模型训练自动驾驶,一直一直训练,直到它能够很好的识别你的道路。
yoyojacky
yoyojacky
作者
然后获取数据后,我们训练不同的模型。

yoyojacky
yoyojacky
作者

通过数据来控制pwm信号,从而控制油门和转向。
yoyojacky
yoyojacky
作者
数据搜集导图:

yoyojacky
yoyojacky
作者
油门通道的调速使用PWM(脉宽调制)来控制速度,舵机来控制方向,方向也是通过pwm来控制,摄像头来实现路线的识别,并利用训练的数据进行解算。
yoyojacky
yoyojacky
作者
实际上我们只需要两个通道:
1个通道油门
1个通道管理方向
yoyojacky
yoyojacky
作者
如果用RC赛车的话,需要这些:

- 没有更多了 -