一、基本配置
1.1 硬件
计算平台:树莓派3 (¥219.00)
摄像头:USB网络摄像头(¥108.00)
云台:参考上一篇博文FY650的组装
JoyStick摇杆:用于测试和干预云台(¥8.00)
Arduino UNO开发板:用于JoyStick输出信号的采集与AD转换并与树莓派串口通信(¥35.00)
1.2 软件
编程语言:Python
集成开发环境1:Eclipse,在windows平台上的视觉算法编程调试
集成开发环境2:Geany,在Linux平台上的算法与云台联调
1.3 准备知识
前面的几篇博文分别介绍了这个系统用到的基本知识:
树莓派机器视觉编程环境搭建(点我)
Python机器视觉编程环境搭建
自动控制系统的PID调节
飞越650无人机的安装
二、设计步骤
2.1 云台调试
(1) 搭建一个用JoyStick控制云台转动的系统
因为树莓派GPIO没有模拟输入口,因此JoyStick接Arduino完成输入模拟信号的AD转换,并将转换后的信号通过串口发送给树莓派。通过这个系统结合示波器,搞清楚了所用云台转动控制的原理和控制信号特征。云台调试阶段系统连接图如下所示。最终通过树莓派的GPIO控制云台俯仰和水平转动。一开始想用Gopro作为视频采集设备,但查了很多资料也尝试了各种方法发现暂时没法实现(如果有的话请留言告诉我:),因此换了个便宜的网络摄像头。
Gopro可以通过wifi将图像实时传给手机或pad,就是不能传给树莓派。
(2) 编写云台控制算法
根据上一步得到的云台控制信号特征,编写云台控制算法。输入是目标中心与图像中心的偏移量△x,△y,输出为云台俯仰、水平的控制变量dx,dy。
是的,摄像头外壳是纸糊的-_-。
2.2 算法调试
(1) 在windows平台上写跟踪算法
USB摄像头接上电脑用Eclipse写跟踪算法,输出偏差量等参数调试。
(2) 拷贝算法到树莓派调试
因为树莓派有多个GPIO可连云台,因此云台跟踪控制必须要在树莓派上调试。Python多平台部署的优点在这就体现出来了,直接将算法拷贝到树莓派即可运行调试。调试过程稍有点复杂,一开始的效果不好,耐心调,耐心改算法,效果也就慢慢出来了。
动起来的效果我们来看看下面的内容。
一、基本配置
1.1 硬件
计算平台:树莓派3 (¥219.00)
摄像头:USB网络摄像头(¥108.00)
云台:参考上一篇博文FY650的组装
JoyStick摇杆:用于测试和干预云台(¥8.00)
Arduino UNO开发板:用于JoyStick输出信号的采集与AD转换并与树莓派串口通信(¥35.00)
1.2 软件
编程语言:Python
集成开发环境1:Eclipse,在windows平台上的视觉算法编程调试
集成开发环境2:Geany,在Linux平台上的算法与云台联调
1.3 准备知识
前面的几篇博文分别介绍了这个系统用到的基本知识:
树莓派机器视觉编程环境搭建(点我)
Python机器视觉编程环境搭建
自动控制系统的PID调节
飞越650无人机的安装
二、设计步骤
2.1 云台调试
(1) 搭建一个用JoyStick控制云台转动的系统
因为树莓派GPIO没有模拟输入口,因此JoyStick接Arduino完成输入模拟信号的AD转换,并将转换后的信号通过串口发送给树莓派。通过这个系统结合示波器,搞清楚了所用云台转动控制的原理和控制信号特征。云台调试阶段系统连接图如下所示。最终通过树莓派的GPIO控制云台俯仰和水平转动。一开始想用Gopro作为视频采集设备,但查了很多资料也尝试了各种方法发现暂时没法实现(如果有的话请留言告诉我:),因此换了个便宜的网络摄像头。
Gopro可以通过wifi将图像实时传给手机或pad,就是不能传给树莓派。
(2) 编写云台控制算法
根据上一步得到的云台控制信号特征,编写云台控制算法。输入是目标中心与图像中心的偏移量△x,△y,输出为云台俯仰、水平的控制变量dx,dy。
是的,摄像头外壳是纸糊的-_-。
2.2 算法调试
(1) 在windows平台上写跟踪算法
USB摄像头接上电脑用Eclipse写跟踪算法,输出偏差量等参数调试。
(2) 拷贝算法到树莓派调试
因为树莓派有多个GPIO可连云台,因此云台跟踪控制必须要在树莓派上调试。Python多平台部署的优点在这就体现出来了,直接将算法拷贝到树莓派即可运行调试。调试过程稍有点复杂,一开始的效果不好,耐心调,耐心改算法,效果也就慢慢出来了。
动起来的效果我们来看看下面的内容。
举报