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

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

前段时间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作为视频採集设备,但查了非常多资料也尝试了各种方法发现临时没法实现(假设有的话请留言告诉我:)。因此换了个廉价的网络摄像头。

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

(2) 编写云台控制算法

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

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

2.2 算法调试

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

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

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

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

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

三、跟踪演示

室内跟踪效果视频链接http://www.tudou.com/programs/view/68JDFqex1yM/

跟踪效果截图:

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

转载请注明出处(本文更新链接):http://blog.csdn.net/iracer/article/details/54837636

DIY一个基于树莓派和Python的无人机视觉跟踪系统的更多相关文章

  1. 如何开发一个基于 Docker 的 Python 应用

    前言 Python 家族成员繁多,解决五花八门的业务需求.这里将通过 Python 明星项目 IPython Notebook,使其容器化,让大家掌握基础的 Docker 使用方法. IPython ...

  2. 分享一个基于web的满意度调查问卷源码系统

    问卷调查系统应用于各行各业,对于企业的数据回收统计分析战略决策起到至关作用.而现有的问卷调查系统大都是在线使用并将数据保存在第三方服务器上.这种模式每年都要缴纳费用并且数据安全性得不到保证.所以说每个 ...

  3. 一个基于Unix套接字的注册登录系统

    2016/5/5 今天,我参考<Unix网络编程-卷1>第5章的TCP回射客户/服务器程序写了一个简单的注册登录系统,其功能如下:(1)注册.客户端向服务器发送个人信息请求注册,服务器查询 ...

  4. 一个基于activiti审批流程示例,如何与系统整合

    前言 目前市场上有很多开源平台没有整合工作流,即使有,也是价格不菲的商业版,来看这篇文章的估计也了解了行情,肯定不便宜.我这个快速开发平台在系统基础功能(用户管理,部门管理-)上整合了工作流,你可以直 ...

  5. 理解DDoS防护本质:基于资源较量和规则过滤的智能化系统

    本文由  网易云发布. 随着互联网生态逐渐形成,DDoS防护已经成为互联网企业的刚需要求,网易云安全(易盾)工程师根据DDoS的方方面面,全面总结DDoS的攻防对抗. 1.什么是DDoS DDoS全称 ...

  6. 基于RestOn智能睡眠监测器的睡眠监测系统

    一.项目地址为: https://github.com/linqian123... 二.项目功能概述: 该项目实现的是一个基于RestOn智能睡眠监测器的睡眠监测系统.RestOn智能睡眠检测器通过W ...

  7. 2、基于wsgiref模块DIY一个web框架

    一 web框架 Web框架(Web framework)是一种开发框架,用来支持动态网站.网络应用和网络服务的开发.这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方 ...

  8. psutil一个基于python的跨平台系统信息跟踪模块

    受益于这个模块的帮助,在这里我推荐一手. https://pythonhosted.org/psutil/#processes psutil是一个基于python的跨平台系统信息监视模块.在pytho ...

  9. 初识TPOT:一个基于Python的自动化机器学习开发工具

    1. TPOT介绍 一般来讲,创建一个机器学习模型需要经历以下几步: 数据预处理 特征工程 模型选择 超参数调整 模型保存 本文介绍一个基于遗传算法的快速模型选择及调参的方法,TPOT:一种基于Pyt ...

随机推荐

  1. javascript转换日期字符串为Date对象

    把一个日期字符串如“2007-2-28 10:18:30”转换为Date对象: 1: var strArray=str.split(" "); var strDate=strArr ...

  2. mysql求交集:UNION ALL合并查询,inner join内连接查询,IN/EXISTS子查询

    两个要求交集的表(列)的结构要一致,对应的字段数,字段类型都应该相同:将两个数据的数据列用 UNION ALL 关键字合并:将上面的所有需要比较的列 GROUP BY :最后 HAVING COUNT ...

  3. WebService_java编写Webservice_Axis2_1.6

    最近给某省国家电网写一套系统,由于内部数据库单向隔离装置不支持ODBC, 原来c#写的webservice 和.net ,iis就需要换成java这一套... 下面是用Axis2 写的webservi ...

  4. go语言基础之基匿名函数本语法和闭包

    一.匿名函数 示例1: package main import "fmt" func main() { a := 10 str := "mike" //匿名函数 ...

  5. Minify压缩JS和CSS

    Minify把CSS和JS压缩和削减(Minify:去掉空格回车符等),以及把多个CSS,JS文件整合到一个文件里.不要以为你的大带宽没有必要进行这类优化.使用它的理由更重要的是文件合并,而不是压缩, ...

  6. Echarts使用dataset数据集管理数据

    1.可以看官网api的入门例子 使用常见的对象数组的格式 option = { legend: {}, tooltip: {}, dataset: { // 这里指定了维度名的顺序,从而可以利用默认的 ...

  7. window yii2 安装插件 报yiisoft/yii2 2.0.x-dev requires ext-mbstring错

    Problem 1 - yiisoft/yii2 2.0.x-dev requires ext-mbstring * -> the requested PHP extens ion mbstri ...

  8. 性能调优的Windows窗体DataGridView控件

    性能调优的Windows窗体DataGridView控件 . 净框架4.5     在处理大量数据时, DataGridView 控制可以消耗大量的内存开销,除非你仔细地使用它. 在客户有限的内存,你 ...

  9. 微信小程序 - 自定义components组件详解A篇

    官网API:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/component.html 自定义 ...

  10. QtGui.QProgressBar

    A progress bar is a widget that is used when we process lengthy tasks. It is animated so that the us ...