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

【源码】基于Python和Arduino的智能小车自动驾驶与路标识别系统

项目简介

本项目是山东大学(威海)数学与统计学院2020级数据科学与人工智能实验班2022年暑期科研实训成果。借助Python和Arduino搭建智能小车自动驾驶与路标识别系统,利用PaddlePaddle深度学习框架完成交通标志识别,采用U-Net网络进行道路分割,通过A*算法规划路径,由Arduino控制小车运动,实现小车自动驾驶与交通标志识别功能。

项目的主要特性和功能

  1. 道路分割:运用U-Net深度学习网络,在Paddle开源平台分割图像的道路与非道路部分,模型PA=0.979,IoU=0.952,分割效果佳。
  2. 交通标志检测与识别:采用骨干网络为ResNet50_vd_ssld的PPYOLOv2算法在Paddle平台训练,可识别64类交通标志,模型mAP=96.27%,识别精度高。
  3. 小车控制方式多样:可通过网页控制小车前进、后退、转弯等,还能调整旋转角度和运动速度;开发了基于Python的UI界面,可封装为软件使用。
  4. 自动驾驶功能:采集小车地图照片标注训练道路分割模型提高精度;对小车相机标定和去畸变处理,透视变换为俯视图;用A*算法规划路径;结合阿克曼转向几何与Pure Pursuit路径跟踪算法控制小车运动;利用MPU6050获取小车姿态角,计数器测量小车速度。

安装使用步骤

  1. 硬件准备:准备Arduino开发板、MPU6050陀螺仪模块、小车模型、摄像头等硬件设备。
  2. 软件安装:安装Python、Arduino IDE、PaddlePaddle深度学习框架等软件。
  3. 环境配置:设置Python环境变量,安装必要的库,如numpycv2requests等。
  4. 代码获取:下载本项目的源码文件,包含Python和Arduino代码。
  5. 模型训练:使用PaddlePaddle训练交通标志识别模型,并将模型权重保存至指定路径。
  6. 代码调试:在Python环境中运行代码进行调试和测试,确保代码正常运行。
  7. 小车编程:使用Arduino IDE对Arduino开发板进行编程,实现小车运动控制功能。
  8. 综合测试:将小车置于预定路径上,运行Python程序,观察小车是否能按预定路径自动行驶并识别交通标志。

注意:此项目涉及硬件和软件的综合应用,需要一定的编程和硬件基础。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】