项目简介
本项目借助Arduino编程语言,基于ESP32微控制器构建了名为“Scorpion”的机器人控制系统。此机器人用于参加“美国足球”比赛,能通过各类传感器(红外传感器、颜色传感器)与电机(直流电机、伺服电机)完成球的捕获、射击和防御等动作,运用了PID控制、无线通信和多任务并发处理等技术。
项目的主要特性和功能
- 状态机控制:运用复杂状态机控制机器人,主要状态有捕获球(找到最近球并移动,后切换到射击状态)、射击(通过颜色传感器确认射击区域后射球)、防御(未发现球时到己方球门前防御)、避障(红外传感器检测并规避障碍物)、无效姿态(姿态无效时停止所有动作)。
- 传感器校准:红外传感器通过最佳拟合方程转换电压为距离,并用中值滤波器过滤噪声;颜色传感器通过对比不同颜色的传感器值校准。
- 电机控制:直流电机用PID控制器精确控制,通过Ziegler - Nichols方法调优参数;伺服电机控制机械臂和转向。
- 无线通信:通过无线网络接收广播数据包获取机器人和球的位置信息。
- 并发控制:采用多任务并发处理技术,使机器人能同时处理传感器数据采集、电机控制和状态切换等多个任务。
安装使用步骤
- 环境准备:安装Visual Studio Code并配置Arduino开发环境,确保ESP32微控制器正确连接到PC。
- 源码下载:从项目仓库下载源码文件。
- 编译与上传:打开
main.cpp
文件,确保所有依赖库正确安装,编译代码并上传到ESP32微控制器。 - 硬件连接:依照项目文档中的硬件连接图,将直流电机、伺服电机、红外传感器和颜色传感器正确连接到ESP32。
- 运行与调试:启动机器人,观察其行为,按需调整PID参数或其他控制参数,使用调试函数检查各传感器和电机状态,确保系统正常运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】