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

【源码】基于ESP32和Python的自动驾驶机器人系统

项目简介

本项目专为越南STEAM挑战赛2021设计,利用ESP32 - CAM模块采集图像,并通过WiFi网络传输图像数据。机器人可通过摄像头识别车道线,依据识别结果自动调整行驶方向,同时系统支持通过键盘进行手动控制。

项目的主要特性和功能

硬件设计

  • 采用VIA Makerbot控制电机和传感器。
  • 集成ESP32 - CAM模块用于摄像头数据采集。
  • 支持WiFi网络连接,可实现远程控制和图像传输。

软件功能

  • 图像处理:借助Python脚本从ESP32 - CAM读取图像并进行车道线检测。
  • 自动驾驶:根据车道线位置自动调整机器人行驶方向。
  • 手动控制:通过键盘控制机器人移动,支持前进、后退、左转和右转。
  • 网络通信:使用WiFi和UDP协议进行数据传输,实现远程控制和状态反馈。

安装使用步骤

1. 硬件准备

确保所有硬件组件(VIA Makerbot、ESP32 - CAM模块和电机驱动器)已正确连接,按提供的连接图进行硬件布线和电源连接。

2. 软件安装

  • 安装Python环境:下载并安装Python 3.x,使用pip安装必要的Python库: bash pip install opencv-python pip install pygame
  • 安装PlatformIO:下载并安装Visual Studio Code,在VS Code中安装PlatformIO插件,使用PlatformIO打开项目文件夹,编译并上传固件到ESP32 - CAM和VIA Makerbot。

3. 配置网络

确保ESP32 - CAM和VIA Makerbot连接到同一WiFi网络,根据需要修改ESP32 - CAM的WiFi配置(SSID和密码)。

4. 运行项目

  • 自动驾驶模式:打开终端,进入examples/auto_drive目录,运行以下命令启动自动驾驶: bash python drive.py
  • 手动控制模式:打开终端,进入examples/keyboard_control目录,运行以下命令启动手动控制: bash python keyboard_control.py
  • 图像读取:打开终端,进入examples/read_esp32_cam目录,运行以下命令读取并显示摄像头图像: bash python read_cam.py

5. 调试与优化

根据实际环境调整车道线检测算法中的参数,通过修改controller.py中的calculate_control_signal函数优化自动驾驶行为。

下载地址

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