【UAV】光流模块、测量速度、快速入门及安装使用
文章目录
- 简介
- 实物接线图
- 数据分析
- 机械特性
- 测试
- 静止不动
- 移动
- Ref:
简介
当目标物体在摄像机前运动或者摄像机在环境中移动时,目标图像是在发生变化的,图像灰度模式的表面运动就称为光流。简单理解,光流就是通过检测图像中光点和暗点的移动,来判断图像中像素点相对于飞行器的移动速度。
举个例子,当我们做火车时,可以看到窗外的树在不断地向后“流动”,通过树向后流动的速度,我们可以估计当前火车的速度。光流模块就是基于这个原理,检测两帧图像中“树”的相对位置,由于拍摄两帧图片的时间差是固定的,便可以计算出像素点的移动速度。若我们知道“树”和相机的距离,便可以计算当前的实际速度。
测距:对速度进行积分就可以得到位移。
定点:利用光流模块返回的位置信息或者速度信息,形成一个闭环控制,即可实现定点。
在光流理论中,前提是下面两个假设成立:
- 摄像头采集到的两帧图像之间的像素灰度不变;
- 相邻的两帧像素具有相对运动;
光流是测速算法,并不是直接定位的。简单理解,光流就是通过检测图像中光点和暗点的移动,来判断图像中像素点相对于飞行器的移动速度。如果地面是静止的,自然就可以得到飞行器相对于地面的移动速度啦。所谓光流定位,其实是利用光流测速再积分定位而已啦。
实物接线图
数据分析
通信方式为串口通信,数据特性:
- 8 位数据位、无校验位、1 位停止位、波特率 19200bps
- 通信频率:约 66fps 帧速率向主机发送数据
- 其他:如果连续两帧位移太小,会输出 0,然后再足够位移时再输出数据
数据说明:
- 包头为固定的两个字节:0xFE(包头)、0x04(字节数);
- DATA0、DATA1 是
flow_x
的低八位和高八位,即flow_x = (int16_t)(DATA1<<8)|(DATA0);
- DATA2、DATA3 是
flow_y
的低八位和高八位,即flow_y = (int16_t)(DATA3<<8)|(DATA2);
- 倒数第三个字节为校验字节,是 DATA0~DATA3 四个字节的累加值,即
SUM=DATA0+DATA1+DATA2+DATA3
; - 倒数第二个字节为地面环境质量,数值越大表示地面环境质量越高;
- 最后一个字节是包结束标识符: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:
- 迷你光流传感器 定点悬停 室内正常灯光瓷砖地板上也可使用
- 光流模块:小模块,大作用
- 光流定位原理是什么?? - 知乎
【UAV】光流模块、测量速度、快速入门及安装使用相关推荐
- 串口转无线网模块:WizFi630 快速入门指导
WIZnet研发的WizFi630,能有效实现串口转无线功能,它兼容 IEEE 802.11 b/g/n,支持3个以太网端口(10/100 高速以太网) 和2个UART口 ,内嵌全套网络协议栈和相关安 ...
- 处理Excel的Python算法_4.1_:数组导入和整理模块——Panda(快速入门)
索引 官方网站 QuickStart Pandas概览 数据结构 大小可变与数据复制 快速入门 生成对象 查看数据 选择 缺失值 运算 合并(Merge) 分组(Grouping) 重塑(Reshap ...
- Kafka 快速入门(安装)
kafka学习目录:kafka目录 二.Kafka 快速入门 2.1.windows版安装 2.1.1.Quick Start 本次安装学习在Windows操作系统进行.(Linux版本的差别不大,运 ...
- Nginx快速入门(安装 负载均衡 动静分离 主备 原理)
什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ra ...
- TensorFlow 2快速入门之安装与测试
文章目录 本地安装环境及要求 安装步骤 安装常见问题及解决 ModuleNotFoundError: No module named 'pip' Read timed out 解决方法 本地安装环境及 ...
- 2021年最新最全Flink系列教程_Flink快速入门(概述,安装部署)(一)(JianYi收藏)
文章目录 引言 相关教程直通车: day01_Flink概述.安装部署和入门案例 今日目标 Flink概述 什么是批处理和流处理 为什么需要流计算 Flink的发展史 Flink的官方介绍 Flink ...
- Redis快速入门:安装、配置和操作
Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主 ...
- Tomcat快速入门(Tomcat安装 把一个项目发布到tomcat中 Eclipse配置Tomcat idea配置tomcat)
文章目录 服务器的概念 服务器 Web服务器软件:接收客户端发送的请求和响应客户端请求. 常见的Web服务器软件 Tomcat安装 win下启动乱码问题解决 Tomcat目录介绍 如何把一个项目发布到 ...
- October CMS - 快速入门 1 安装
项目源码地址:https://gitee.com/494901823/O... 视频:http://www.365yg.com/i6567340... 按照laravel开发环境的要求安装环境,必不可 ...
最新文章
- 北大杨超:以偏微分方程求解为例,AI如何助力科学计算?
- python爬取动态网页的内容
- Property属性,amp;nbsp;KVC键值编码OC…
- copyonwritearraylist原理_Java集合干货——CopyOnWriteArrayList源码分析
- 通讯中断 pc_S7程序RFID 与PC连接区别FB 65/UDT65
- 2-Eighteenth Scrum Meeting-20151218
- 如何选择物联网通讯技术?
- udp recvfrom阻塞吗_网络编程原理与UDP实现
- 江苏大学考研885程序设计 - 填空选择知识点
- 白鹭引擎 - 矢量绘图 ( graphics )
- Python模块:配置文件解析器configparser
- vs2015 动态链接库问题
- linux脚本菜鸟教程,菜鸟教程之shell _1
- 深层次理解“万事万物皆为对象“ [Java]
- 关于OPCUA的配套规范
- CSS(二)——Flex布局 边框 渐变 过渡 动画
- 由浅入深分布式(5)dubbo提供者用内网地址注册provider以及 spring boot admin client用主机名注册spring boot admin server
- 手写实现数据库连接池
- luckySheet在线编辑excel及遇到的问题
- CAN光端机在西门子FC18/720消防主机海上风电厂之星型联网方式
热门文章
- Laravel 系列入门教程(一)【最适合中国人的 Laravel 教程】
- 在微信小程序中调用本地接口
- 【Linux】Linux与Windows的部分不同
- python之while循环用法举例,break与continue的区别,格式化输出及运算符
- 隐藏Nginx或Apache以及PHP的版本号的方法
- 生成元(Digit Generator ,ACM/ICPC Seoul 2005 ,UVa 1583)
- C++面试题:list和vector有什么区别
- (转)一步一步Asp.Net MVC系列_权限管理设计起始篇
- SAP屏幕设计器专题:树控件的使用(九)
- CentOS7 安装 mysql8