项目简介
本项目名为OCTO - pi,结合了Raspberry Pi和OpenCV库,利用摄像头视频流与OpenCV图像处理技术,实现对特定颜色物体的自动追踪。支持颜色识别训练和PID控制器动态参数调整,可用于四轴飞行器等的方向控制。
项目的主要特性和功能
- 颜色识别:借助HSV颜色空间精准识别物体,用户能通过界面设定颜色阈值。
- 物体追踪:识别物体后,利用PID控制器调整输出,使摄像头持续对准物体。
- PID参数调整:运行过程中可动态调整PID控制器参数,以达最佳控制效果。
- 友好操作:提供图形界面和按键控制,便于用户操作和调整参数。
安装使用步骤
编译项目
下载项目源码文件后,在项目目录下使用以下命令编译:
sh
g++ OCTO-pi.cpp -o OCTO-pi -I/usr/local/include/ -lraspicam -lraspicam_cv -lopencv_core -lopencv_highgui -lopencv_features2d -lopencv_imgproc -lpigpio -lpthread -lrt -std=c++11
硬件连接
- 将Raspberry Pi Camera连接到Pi的CSI端口。
- 若使用PiTFT则插入,若不使用则将三个按钮连接到GPIO #6、#12和#13的GND(BCM编号)。
- 将飞行控制器的偏航信号输入(白色)连接到GPIO #17。
- 将飞行控制器的偏航接地(黑色)连接到Pi的GPIO GND。
- 通过microUSB电源端口为Pi供电。
运行程序
- 在Raspberry Pi上运行OCTO - pi:
sh sudo./OCTO-pi
注意:需要超级用户权限进行GPIO控制。 - 当Pi开始输出中性PWM(显示
Initialising PIGPIO and neutral throttle... Done
)时,将飞行控制器的偏航电源输出(红色)连接到Pi的5V引脚,并移除microUSB电源。
自动化启动(可选)
若要在开机时自动启动,可在/etc/rc.local
文件中添加:
sh
sudo startx /path/to/OCTO-pi
使用操作
设置阶段
运行OCTO - pi后,出现窗口并显示Taking preliminary image for colour recognition...
,程序会从摄像头捕获一帧并显示。使用滑块设置HSV值,直到小预览中绿色圆圈圈住物体。按引脚12上的按钮(#12)可重新拍照。完成后,通过按(#6)启动四轴飞行器,按(#13)继续,再次按(#6)可解除启动。
运行阶段
OCTO - pi会通过PWM控制四轴飞行器偏航,使其指向有色物体。按(#6)启动四轴飞行器,再次按(#6)解除启动;按(#13)退出程序;按(#12)返回颜色训练。
PID调整
运行过程中支持PID参数调整(需连接键盘): - 增大P增益:(p) 减小P增益:(o) - 增大I增益:(i) 减小I增益:(u) - 增大D增益:(y) 减小D增益:(t)
运行程序前,请确保所有硬件设备正确连接且功能正常。为获最佳效果,建议使用前校准摄像头。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】