文章目录

  • 简介
  • 实物接线图
  • 数据分析
  • 机械特性
  • 测试
    • 静止不动
    • 移动
  • Ref:

简介

当目标物体在摄像机前运动或者摄像机在环境中移动时,目标图像是在发生变化的,图像灰度模式的表面运动就称为光流。简单理解,光流就是通过检测图像中光点和暗点的移动,来判断图像中像素点相对于飞行器的移动速度

举个例子,当我们做火车时,可以看到窗外的树在不断地向后“流动”,通过树向后流动的速度,我们可以估计当前火车的速度。光流模块就是基于这个原理,检测两帧图像中“树”的相对位置,由于拍摄两帧图片的时间差是固定的,便可以计算出像素点的移动速度。若我们知道“树”和相机的距离,便可以计算当前的实际速度

测距:对速度进行积分就可以得到位移。

定点:利用光流模块返回的位置信息或者速度信息,形成一个闭环控制,即可实现定点。

在光流理论中,前提是下面两个假设成立:

  1. 摄像头采集到的两帧图像之间的像素灰度不变;
  2. 相邻的两帧像素具有相对运动;

光流是测速算法,并不是直接定位的。简单理解,光流就是通过检测图像中光点和暗点的移动,来判断图像中像素点相对于飞行器的移动速度。如果地面是静止的,自然就可以得到飞行器相对于地面的移动速度啦。所谓光流定位,其实是利用光流测速再积分定位而已啦。

实物接线图

数据分析

通信方式为串口通信,数据特性:

  • 8 位数据位、无校验位、1 位停止位、波特率 19200bps
  • 通信频率:约 66fps 帧速率向主机发送数据
  • 其他:如果连续两帧位移太小,会输出 0,然后再足够位移时再输出数据

数据说明:

  1. 包头为固定的两个字节:0xFE(包头)、0x04(字节数);
  2. DATA0、DATA1 是 flow_x 的低八位和高八位,即 flow_x = (int16_t)(DATA1<<8)|(DATA0);
  3. DATA2、DATA3 是 flow_y 的低八位和高八位,即 flow_y = (int16_t)(DATA3<<8)|(DATA2);
  4. 倒数第三个字节为校验字节,是 DATA0~DATA3 四个字节的累加值,即 SUM=DATA0+DATA1+DATA2+DATA3
  5. 倒数第二个字节为地面环境质量,数值越大表示地面环境质量越高;
  6. 最后一个字节是包结束标识符:1)常规模式下固定是 0xAA(Y 引脚高电平);2)偏航模式下固定是 0xBB(Y引脚低电平)。

机械特性

测试

下图为串口打印出来的直接读取数据

静止不动

0xFE 0x04 DATA0 DATA1 DATA2 DATA3 SUM SQUAL 0xAA/BB
254 4 0 0 0 0 0 111 170

移动

0xFE 0x04 DATA0 DATA1 DATA2 DATA3 SUM SQUAL 0xAA/BB
254 4 0 0 255 255 254 154 170

Ref:

  1. 迷你光流传感器 定点悬停 室内正常灯光瓷砖地板上也可使用
  2. 光流模块:小模块,大作用
  3. 光流定位原理是什么?? - 知乎

【UAV】光流模块、测量速度、快速入门及安装使用相关推荐

  1. 串口转无线网模块:WizFi630 快速入门指导

    WIZnet研发的WizFi630,能有效实现串口转无线功能,它兼容 IEEE 802.11 b/g/n,支持3个以太网端口(10/100 高速以太网) 和2个UART口 ,内嵌全套网络协议栈和相关安 ...

  2. 处理Excel的Python算法_4.1_:数组导入和整理模块——Panda(快速入门)

    索引 官方网站 QuickStart Pandas概览 数据结构 大小可变与数据复制 快速入门 生成对象 查看数据 选择 缺失值 运算 合并(Merge) 分组(Grouping) 重塑(Reshap ...

  3. Kafka 快速入门(安装)

    kafka学习目录:kafka目录 二.Kafka 快速入门 2.1.windows版安装 2.1.1.Quick Start 本次安装学习在Windows操作系统进行.(Linux版本的差别不大,运 ...

  4. Nginx快速入门(安装 负载均衡 动静分离 主备 原理)

    什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ra ...

  5. TensorFlow 2快速入门之安装与测试

    文章目录 本地安装环境及要求 安装步骤 安装常见问题及解决 ModuleNotFoundError: No module named 'pip' Read timed out 解决方法 本地安装环境及 ...

  6. 2021年最新最全Flink系列教程_Flink快速入门(概述,安装部署)(一)(JianYi收藏)

    文章目录 引言 相关教程直通车: day01_Flink概述.安装部署和入门案例 今日目标 Flink概述 什么是批处理和流处理 为什么需要流计算 Flink的发展史 Flink的官方介绍 Flink ...

  7. Redis快速入门:安装、配置和操作

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主 ...

  8. Tomcat快速入门(Tomcat安装 把一个项目发布到tomcat中 Eclipse配置Tomcat idea配置tomcat)

    文章目录 服务器的概念 服务器 Web服务器软件:接收客户端发送的请求和响应客户端请求. 常见的Web服务器软件 Tomcat安装 win下启动乱码问题解决 Tomcat目录介绍 如何把一个项目发布到 ...

  9. October CMS - 快速入门 1 安装

    项目源码地址:https://gitee.com/494901823/O... 视频:http://www.365yg.com/i6567340... 按照laravel开发环境的要求安装环境,必不可 ...

最新文章

  1. 北大杨超:以偏微分方程求解为例,AI如何助力科学计算?
  2. python爬取动态网页的内容
  3. Property属性,amp;nbsp;KVC键值编码OC…
  4. copyonwritearraylist原理_Java集合干货——CopyOnWriteArrayList源码分析
  5. 通讯中断 pc_S7程序RFID 与PC连接区别FB 65/UDT65
  6. 2-Eighteenth Scrum Meeting-20151218
  7. 如何选择物联网通讯技术?
  8. udp recvfrom阻塞吗_网络编程原理与UDP实现
  9. 江苏大学考研885程序设计 - 填空选择知识点
  10. 白鹭引擎 - 矢量绘图 ( graphics )
  11. Python模块:配置文件解析器configparser
  12. vs2015 动态链接库问题
  13. linux脚本菜鸟教程,菜鸟教程之shell _1
  14. 深层次理解“万事万物皆为对象“ [Java]
  15. 关于OPCUA的配套规范
  16. CSS(二)——Flex布局 边框 渐变 过渡 动画
  17. 由浅入深分布式(5)dubbo提供者用内网地址注册provider以及 spring boot admin client用主机名注册spring boot admin server
  18. 手写实现数据库连接池
  19. luckySheet在线编辑excel及遇到的问题
  20. CAN光端机在西门子FC18/720消防主机海上风电厂之星型联网方式

热门文章

  1. Laravel 系列入门教程(一)【最适合中国人的 Laravel 教程】
  2. 在微信小程序中调用本地接口
  3. 【Linux】Linux与Windows的部分不同
  4. python之while循环用法举例,break与continue的区别,格式化输出及运算符
  5. 隐藏Nginx或Apache以及PHP的版本号的方法
  6. 生成元(Digit Generator ,ACM/ICPC Seoul 2005 ,UVa 1583)
  7. C++面试题:list和vector有什么区别
  8. (转)一步一步Asp.Net MVC系列_权限管理设计起始篇
  9. SAP屏幕设计器专题:树控件的使用(九)
  10. CentOS7 安装 mysql8