littlebot
Published on 2025-04-13 / 0 Visits
0

【源码】基于树莓派3B+的玩具车自动驾驶系统

项目简介

本项目是基于树莓派3B+的玩具车自动驾驶系统,借助摄像头采集图像,运用神经网络模型进行图像识别,依据识别结果控制玩具车行驶方向,融合硬件控制与软件算法,达成了玩具车的自动驾驶功能。

项目的主要特性和功能

  1. 图像采集与处理:利用摄像头实时采集图像,通过OpenCV进行图像处理。
  2. 神经网络模型:采用PyTorch训练神经网络模型,支持ONNX格式的模型转换,可通过OpenVINO加速推理。
  3. 硬件控制:经GPIO接口控制电机和舵机,实现玩具车的行驶和转向。
  4. 多种控制模式:支持命令行和图形化界面两种控制方式,方便用户按需选择。
  5. 模型训练与优化:提供模型训练脚本,用户能根据实际需求训练和优化模型。

安装使用步骤

硬件准备

  • 树莓派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】