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多平台部署的优点在这就体现出来了,直接将算法拷贝到树莓派即可运行调试。调试过程稍有点复杂,一开始的效果不好,耐心调,耐心改算法,效果也就慢慢出来了。

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

三、跟踪演示

室内跟踪效果视频链接:

跟踪效果截图:

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

树莓派 python 无人机_DIY一个基于树莓派和Python的无人机视觉跟踪系统相关推荐

  1. python jit_Pyston是一个基于JIT的Python开源实现

    Dropbox宣布一个Python开源项目Pyston,这是为了大幅度提高Python性能,类似javascript的Chrome的V8. 之前已经有一些JIT技术, PyPy通过其tracing J ...

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

    DIY一个基于树莓派和Python的无人机视觉跟踪系统 无人机通过图传将航拍到的图像存储并实时传送回地面站几乎已经是标配.如果想来点高级的--在无人机上直接处理拍摄的图像并实现自动控制要怎么实现呢?其 ...

  3. 一个基于OpenCV的Python程序,可以从摄像头捕获图像并识别简单数字。您可以根据需要进行调整,包括调整图像预处理和数字识别逻辑

    一个基于OpenCV的Python程序,可以从摄像头捕获图像并识别简单数字.您可以根据需要进行调整,包括调整图像预处理和数字识别逻辑 import cv2 import numpy as np imp ...

  4. 一个基于Flask框架做的仿QQ邮箱系统(收发邮件、贝叶斯模型训练、垃圾邮件过滤、个性化标签)

    一个基于Flask框架做的仿QQ邮箱系统(收发## 标题邮件.贝叶斯模型训练.垃圾邮件过滤.个性化标签) 1.贝叶斯邮件垃圾邮件分类 对上千封邮件进行贝叶斯模型分类训练,对基本邮件实现垃圾分类效果. ...

  5. 一个基于.Net+Vue开发的开源权限工作流系统

    今天给大家推荐一个开源权限工作流系统,一个快速开发框架. 项目简介 这是一个基于.Net 5开发的权限管理.工作流系统框架.借鉴了Martin Fowler企业级应用开发思想,框架选项都是使用最新的技 ...

  6. python卡尔曼滤波室内定位_基于扩展卡尔曼滤波算法的室内定位跟踪系统

    基于扩展卡尔曼滤波算法的室内定位跟踪系统 凌海波,周先存 [摘 要] 摘要:为了解决无线室内定位系统实时跟踪位置坐标误差较大问题, 提出一种基于扩展卡尔曼滤波 (EKF) 算法的室内定位方法.系统采用 ...

  7. python与室内设计_基于树莓派和Python的智能家居系统设计

    基于树莓派和 Python 的智能家居系统设计 许礼捷 葛华 陈红 [摘 要] 介绍树莓派第 3 代开发平台,融合 Python 开发技术和 OneNET 云 平台通信技术等先进技术,设计一款智能化的 ...

  8. 树莓派练手小项目---基于树莓派构建天气查询系统,实现内容的网页自动化检索功能

    目录 一.写在前面 二.基于树莓派构建天气查询系统 三.基于树莓派实现网页内容的自动化检索 四.有关于树莓派的其他小提醒,小技巧 Author:qyan.li Date:2022.6.19 Topic ...

  9. 【树莓派】【转载】基于树莓派,制作家庭媒体中心+下载机

    看到这样一篇文章,觉得蛮有意思,转载于此:http://www.boydwang.com/2013/12/build-your-raspberrypi-as-a-media-center/ 今天收到了 ...

最新文章

  1. 调查报告:工人们并不担心将来会被AI取代
  2. 结课作业:云计算在物联网中的应用发展
  3. 亲测SQLServer的最大连接数
  4. 【Android 插件化】Hook 插件化框架 ( Hook 实现思路 | Hook 按钮点击事件 )
  5. Windows上卸载SqlServer数据库
  6. 《it创业疯魔史》读后有感
  7. SAP Spartacus b2b表格的cell配置解析逻辑
  8. [天地君亲若追问 枉为知音百年羞]2008.06.07 晃荡在芳华
  9. 为MFC中的ListBox添加水平滚动条
  10. spring http缓存_HTTP缓存与Spring示例
  11. java学习之(内部类)
  12. linux 按照特定字符换行_在Linus Torvalds建议之后内核淘汰80个字符长度限制
  13. python自动化办公教程百度云-用Python自动办公,做职场高手,16章完整版百度云盘...
  14. 集成学习与随机森林练习题
  15. python 回归方程及回归系数的显著性检验_回归方程及回归系数的显著性检验_stata显著性检验...
  16. 关于校企合作的一些想法和思路
  17. linux系统挂载光盘镜像ISO的方法
  18. 时空数据生成对抗网络研究综述(下)
  19. 《可复制领导力》读后感
  20. 并发编程之并发包详解

热门文章

  1. redis主从的配置和使用
  2. Spring 框架基础(03):核心思想 IOC 编程说明,案例演示
  3. Vue学习笔记(2)(组件化开发)
  4. 1.4. Open Source and License
  5. cobbler get-loaders 错误解决方法
  6. TOP命令 详解CPU 查看多个核心的利用率按1
  7. (转)使用CGLIB实现AOP功能与AOP概念解释
  8. 后缀数组 --- HDU 3518 Boring counting
  9. C++sort函数使用总结
  10. counting sort (计数排序) algorithm