项目简介
本项目专为越南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】