python与室内设计_DIY一个基于树莓派和Python的无人机视觉跟踪系统

DIY一个基于树莓派和Python的无人机视觉跟踪系统

L3Byb3h5L2h0dHAvaW1nLmJsb2cuY3Nkbi5uZXQvMjAxNzAyMDIyMDI1NDQyOTY=.jpg

无人机通过图传将航拍到的图像存储并实时传送回地面站差点儿已经是标配。假设想来点高级的——在无人机上直接处理拍摄的图像并实现自己主动控制要怎么实现呢?事实上视觉跟踪已经在一些高端的消费级无人机上有了应用,只是玩现成的永远没有自己动手来劲;)。

前段时间DIY了一个无人机三轴云台的视觉跟踪系统,除去云台花了¥370,本文将设计思路与实验效果分享出来。

一、基本配置

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 准备知识

前面的几篇博文分别介绍了这个系统用到的基本知识:

二、设计步骤

2.1 云台调试

(1) 搭建一个用JoyStick控制云台转动的系统

由于树莓派GPIO没有模拟输入口。因此JoyStick接Arduino完毕输入模拟信号的AD转换。并将转换后的信号通过串口发送给树莓派。

通过这个系统结合示波器,搞清楚了所用云台转动控制的原理和控制信号特征。云台调试阶段系统连接图例如以下所看到的。终于通过树莓派的GPIO控制云台俯仰和水平转动。一開始想用Gopro作为视频採集设备,但查了非常多资料也尝试了各种方法发现临时没法实现(假设有的话请留言告诉我:)。因此换了个廉价的网络摄像头。

L3Byb3h5L2h0dHAvaW1nLmJsb2cuY3Nkbi5uZXQvMjAxNzAyMDIyMTAwNTA3MDQ=.jpg

L3Byb3h5L2h0dHAvaW1nLmJsb2cuY3Nkbi5uZXQvMjAxNzAyMDMxMDQyNTMyMDc=.jpg

Gopro能够通过wifi将图像实时传给手机或pad。就是不能传给树莓派。

(2) 编写云台控制算法

依据上一步得到的云台控制信号特征。编写云台控制算法。输入是目标中心与图像中心的偏移量△x,△y,输出为云台俯仰、水平的控制变量dx,dy。

L3Byb3h5L2h0dHAvaW1nLmJsb2cuY3Nkbi5uZXQvMjAxNzAyMDIyMTA4MjU2ODM=.jpg

是的,摄像头外壳是纸糊的-_-。

2.2 算法调试

(1) 在windows平台上写跟踪算法

USB摄像头接上电脑用Eclipse写跟踪算法,输出偏差量等參数调试。

L3Byb3h5L2h0dHAvaW1nLmJsb2cuY3Nkbi5uZXQvMjAxNzAyMDMxMDM2MTY1MDQ=.jpg

(2) 拷贝算法到树莓派调试

由于树莓派有多个GPIO可连云台,因此云台跟踪控制必需要在树莓派上调试。Python多平台部署的长处在这就体现出来了,直接将算法复制到树莓派就可以执行调试。调试过程稍有点复杂,一開始的效果不好。耐心调,耐心改算法,效果也就慢慢出来了。

L3Byb3h5L2h0dHAvaW1nLmJsb2cuY3Nkbi5uZXQvMjAxNzAyMDIyMTA3NDQyNDU=.jpg

动起来的效果我们来看看以下的内容。

三、跟踪演示

跟踪效果截图:

L3Byb3h5L2h0dHAvaW1nLmJsb2cuY3Nkbi5uZXQvMjAxNzAyMDIyMDQzMDc1OTk=.jpg

L3Byb3h5L2h0dHAvaW1nLmJsb2cuY3Nkbi5uZXQvMjAxNzAyMDIyMDQzMTQzNTA=.jpg

L3Byb3h5L2h0dHAvaW1nLmJsb2cuY3Nkbi5uZXQvMjAxNzAyMDIyMDQzMTkxNDc=.jpg

眼下云台和摄像头已经装上650无人机,航拍时的效果还有待实验。欢迎留言或邮件iracer@163.com讨论:)

L3Byb3h5L2h0dHAvaW1nLmJsb2cuY3Nkbi5uZXQvMjAxNzAyMDMxMTMzMjcxNDM=.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值