项目简介
本项目是基于树莓派3B+的玩具车自动驾驶系统,借助摄像头采集图像,运用神经网络模型进行图像识别,依据识别结果控制玩具车行驶方向,融合硬件控制与软件算法,达成了玩具车的自动驾驶功能。
项目的主要特性和功能
- 图像采集与处理:利用摄像头实时采集图像,通过OpenCV进行图像处理。
- 神经网络模型:采用PyTorch训练神经网络模型,支持ONNX格式的模型转换,可通过OpenVINO加速推理。
- 硬件控制:经GPIO接口控制电机和舵机,实现玩具车的行驶和转向。
- 多种控制模式:支持命令行和图形化界面两种控制方式,方便用户按需选择。
- 模型训练与优化:提供模型训练脚本,用户能根据实际需求训练和优化模型。
安装使用步骤
硬件准备
- 树莓派3B+
- 树莓派摄像头模块
- 电机、舵机及驱动电路
- 必要的GPIO连接线
环境配置
- 安装Raspbian操作系统。
- 安装必要的Python库:
bash pip3 install gpiozero numpy opencv-python Pillow
- 安装PyTorch和Torchvision:
bash pip3 install torch torchvision
- (可选)安装OpenVINO工具包以加速模型推理。
项目初始化
- 复制项目代码到树莓派:
bash cd toy-car
- 初始化项目目录:
bash ./car init
配置文件设置
编辑config.ini
文件,配置GPIO引脚、电机速度、舵机角度等参数。
运行程序
- 启动手动控制模式:
bash ./car start
- 启动自动驾驶模式:
bash ./car auto
- 训练神经网络模型:
bash ./car train
其他操作
- 检查图片文件是否为空:
bash ./car check
- 清理无用图片和模型文件:
bash ./car clean
注意事项
- 确保硬件连接正确,特别是GPIO引脚与电机、舵机的连接。
- 在训练模型时,确保提供足够的训练数据,并根据实际情况调整训练参数。
- 自动驾驶模式下,请确保周围环境安全,避免意外发生。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】