待补充 experiencor/self-driving-toy-car

4/5 🧩 软硬件结合 已发布
experiencor 288 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/5
待补充

项目简介

A self driving toy car using end-to-end learning


这是一个基于树莓派和普通遥控车改造的自动驾驶小车开源项目,核心目标是实现车道保持功能。项目通过摄像头采集道路图像,利用轻量级卷积神经网络实时预测方向盘转角,让一辆标准RC遥控车能够自主沿着车道行驶。硬件方面,项目保留了遥控车原有的接收器、电机和舵机,在数据采集阶段将舵机PWM信号连接到树莓派的GPIO17引脚,通过collect_data.py脚本同步记录方向盘角度和摄像头图像。自主驾驶时,舵机信号线改接到GPIO18,由树莓派直接控制,drive_me.py脚本负责图像采集、神经网络推理和PWM信号生成的全流程。技术栈以树莓派为核心,使用Python编写控制脚本,神经网络部分采用Keras构建简单的卷积网络,训练代码以Jupyter Notebook形式提供。项目解决了低成本自动驾驶原型验证的问题,特别适合高校实验室、创客爱好者进行端到端自动驾驶的入门实践。它展示了从数据采集、模型训练到实车部署的完整闭环,用户只需准备一辆标准RC遥控车、树莓派和摄像头即可复现。整个方案设计简洁,代码结构清晰,数据采集和模型部署都有详细步骤指导,即使没有深厚的自动驾驶背景也能快速上手。

标签

项目特点

基于普通RC遥控车改造,成本低,易于复现
使用轻量级卷积神经网络实现实时车道保持
数据采集与自主驾驶双模式切换,便于训练和测试
保留原车接收器、电机和舵机,硬件改动小
纯Python控制脚本,上手门槛低
开源社区活跃,已有288颗星,适合入门自动驾驶项目

技术规格

主控芯片 树莓派(Raspberry Pi,具体型号未限定)
摄像头 USB摄像头或树莓派Camera Module
神经网络框架 Keras(TensorFlow后端)
控制信号 舵机PWM(GPIO17/18),电机PWM(GPIO13)
图像分辨率 采集时默认320x240(可调整)
推理速度 约10-15 FPS(树莓派3B+实测)
电源 遥控车电池(7.2V~12V) + 树莓派独立供电
通信接口 GPIO、USB、Wi-Fi(可选)

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
树莓派(Raspberry Pi) 1 建议3B+或更高
USB摄像头或树莓派Camera Module 1 用于采集道路图像
标准RC遥控车(1:10比例) 1 含接收器、舵机、电机、电池
舵机PWM信号线 1 数据采集接GPIO17,驾驶接GPIO18
电机PWM信号线 1 接GPIO13
电池组 1 遥控车原装电池
树莓派电源 1 5V/2A以上
杜邦线 若干 用于GPIO连接
microSD卡 1 至少16GB,用于树莓派系统

能力画像

**记忆与知识检索**:3/5 — 需要查阅树莓派GPIO引脚定义、PWM信号参数和Keras文档
**动手与操作**:4/5 — 需要焊接或连接杜邦线、改造遥控车电路、安装摄像头
**编程与算法**:4/5 — 需要理解Python脚本、Keras模型训练和推理流程
**设计与建模**:2/5 — 神经网络模型已预定义,主要工作是数据采集和调参
**实验与调试**:4/5 — 需要反复采集数据、训练模型、测试车道保持效果
**协作与分享**:2/5 — 单人可完成,但可分享数据集和模型权重
**学习与研究**:4/5 — 适合学习卷积神经网络、自动驾驶基础、树莓派GPIO控制
**系统集成**:3/5 — 需要将摄像头、树莓派、遥控车电机舵机整合为一个闭环系统

视频

所需技能

树莓派基础操作(系统安装、SSH连接、GPIO使用) Python编程基础(文件读写、循环、条件判断) 基本电路知识(PWM信号、电压、接线) 机器学习/深度学习基础(卷积神经网络、训练、推理) 图像处理基础(OpenCV基本操作) 动手能力(焊接、机械改装) 调试与问题排查能力

适用场景

高校或职业学校的自动驾驶入门课程项目
树莓派爱好者学习计算机视觉与嵌入式AI的实践项目
机器人竞赛或创客马拉松的快速原型
个人学习卷积神经网络在真实场景中的应用
智能车兴趣小组的集体实验项目
作为更复杂自动驾驶系统(如车道保持+避障)的基础平台