全国大学生电子设计竞赛B题感悟-优象光流篇

2023-05-16

今年是2019年电赛国赛年,这本是是一个很好的机会冲击国家奖的,但是由于个人视野太窄,眼光不够长远而错失良机。今年测评结束的时候我就已经预感到了结果,记得比赛前去提交作品的时候,大家都高高兴兴的,但是我却心里空落落的,因为我们四天三夜里啥结果也没拿出来,当时真的甚至有点不想去测评了。(今年群里就有人直接放弃复测了,但是真心不建议这样,毕竟是四天三夜的结晶,放弃以后一定会后悔的)
虽然比赛中出现了很多问题,最终结果也不是很理想,但是我从这个比赛中学习到了很多。在今年的竞赛前的准备期中,我们是从零基础开始学无人机的,而且客观的的来说,我们小队学习飞控的时间也就一个多月(因为中间还要准备复习考试,所以真正用来学习飞控的时间并不多)在学习飞控的前期,感觉这个玩意儿真的好难啊,代码几万行,而且姿态、位置、角速度、角加速度、高度、水平位移等等,刚开始看的时候真的是要爆炸了,在后期是买了一架整机到手飞,直接在源代码的基础上改进代码,虽然阅读工作量还是不小,但是相比之下任务量减少了不少,我们对于飞机的底层关注度就没有那么的高(但对硬件底层了解不够,这也可能是我们最后在电赛失利的原因之一把)
电赛两年一次,但是电子技术的发展却十分迅猛,各种厉害的传感器更新迭代的速度越来越快,记得之前和2017年电赛的学长交流的时候,他们当年还没有光流技术的概念,他们之前做的题目还局限于地面上的二维平面,只是要求无人机能够平稳起飞,能够识别地面上的黑色标志物就行(说来惭愧,这种惯性思维也影响着我们,我们在电赛之前一直都认为会出关于二维图像的,谁怎想今年是三维空间的题目,太南了)他们当时只是用到了OV7620作为视觉模块(现在openMV都出到了第四代,不得不说传感器的更新换代对做电赛也是十分重要的呀!!!)
今年电赛总结第一条就说一下光流把,因为这玩意很重要!!对于无人机维持水平稳定具有十分重要的作用。
首先介绍一下光流的概念:
光流是运动图像分析的一个概念,它的概念是于20世纪40年代首先提出的,是指时变图像中模式运动速度。因为当物体在运动时,它在图像上对应点的亮度模式也在运动。在计算机视觉中,光流扮演着重要角色,在目标对象分割、识别、跟踪、机器人导航以及形状信息恢复等都有着非常重要的应用。
关于光流的介绍网上已经有很多资料了,大家可以对照学习,其实就我个人的理解来说,光流相当于就是一个较模糊的小摄像头,它无法看清楚它所拍摄的具体物体形状、规则影像,但是它可以看到物体的大致轮廓,并且在光流在与被观察对象发生相对位移时,通过光流镜头投射到光流感光器里的像素点也发生了移动,由此光流传感器察觉到光流与被观察对象发生相对位移,将这种位移关系量化为XY方向的数据,并通过通信传输给上位机或主控制器(自己的一点点见解,如果有错误欢迎大家批评指正,一起交流学习!!!)
虽然现在关于光流的理论文档很多,但是关于光流的的具体技术资料和开源代码却并不是很多,国内光流技术做得好的厂家没几家。特别是对于学生这种口袋比较羞涩的玩家而言,高性价比更值得我们考虑,比如说在某电商平台上搜索的光流模块要价几百块,而且还会再群里听到一些飞行器爱好者吐槽用的不好。我们属于普通玩家,我们选择传感器很看重性价比,我们在选择传感器之前一定会反复比较各传感器的优势和劣势,权衡价格和性能。光流技术成熟后,群里的无人机爱好者的无人机飞的都贼稳,所以要想在竞赛中取得好成绩,传感器的选择至关重要。经过多方讨论和比较,我们最后选用了湖南优象科技有限公司的LC302光流模块。
湖南优象科技有限公司是一家专注于数字影像处理技术的科技公司,拥有自主知识产权,主要业务有:视频成像、图像处理、视频智能分析、计算机视觉等。这不是吹捧浮夸,他家的光流做的真的是非常好,我们小组前前后后一共在他家买了6个光流(因为刚开始学习的时候,有很多没有注意到的细节,电源电压电路没设计好,模块被烧过两次,这是血与泪的教训,在做嵌入式系统的过程中,电源的稳定性是至关重要的,电源没处理好,随时可能发生灾难!!!)而且他家光流价格也相对清民,模块50块,芯片才35块。
公司官网链接:http://www.upixels.com
他们家的这个光流模块的优势在于无需在飞行控制芯片中配置相关指令让模块发送数据,改光流模块只要上电即可输出数据,因此对于主控板编程十分简单,仅需要对光流产生的数据进行处理即可。在优象公司提供的技术文档中十分详细的提供了光流模块的实物图、PCB板元件摆放图以及模块元件的尺寸图,以方便对光流模块的尺寸打印3D模块组件安装在无人机机身。
在这里插入图片描述

在这里插入图片描述
该光流模块主要应用在无GPS模块定位的场景中,来检测飞机的水平移动距离,实现对无人机的高精度定位,测得的水平位移数据通过UART串行口通信传送给主控器进行数据处理。该光流模块可直接通过UART接口直接与飞控板相连接,UART接口的数据格式为1个起始位,8个数据位,1个停止位,无校验位,波特率设置为19200。该公司还提供了基于STM32的数据处理历程文件,非常详细,而且在介绍文档中还专门介绍了例程中各个函数的作用和功能,服务非常周到。
优象光流的技术服务还包括上位机的技术服务,在购买到了一个新光流时,当这个光流不起作用时,这个时候就会有多种可能性,有可能是模块损坏,有可能是接线接触不良或者接线错误(很危险,一不小心就烧光流,心痛!)还有可能是初始化没设置好或者光流在安装的时候出现了问题,这需要我们逐个逐个的去排查,但是我们可以利用上位机去检查光流模块的好坏以排除因光流模块损坏出现的问题。该上位机使用也十分方便,只需要利用USB转TTL模块直接与模块相连,连接在电脑窗口上即可以看到数据,十分好用!!
在这里插入图片描述
在技术文档中,技术人员还十分贴心的列写出可能出现的问题,我们在实际调试的时候基本上都是文档里出现过的问题,特别是坐标系的问题,这个一定要注意小心安装,一定要安装要求来安装方向,我们当时出现了一个正反馈的问题就是因为模块装反了,还找了几天的问题,最后居然是装反了,值得称赞的时,客服十分十分十分十分的认真、耐心体贴、负责,我们无论是在比赛前还是在比赛的过程中都遇到了很多的问题,当我们与客服讨论时,客服真的是十分十分十分十分认真的回答我们,有不明白的她会问技术人员,也会很耐心的回答我们的问题,真的给你们点赞!!!
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

全国大学生电子设计竞赛B题感悟-优象光流篇 的相关文章

  • Cent OS7下载和安装图形桌面教程

    具体安装教程 下载地址 xff1a https www centos org download 1 进入官网 xff0c 找到下载 xff0c 下面三个ios镜像都可以选择 2 使用链接下载cent os ios centos7安装GUI图
  • Udacity 深度学习项目2(Project2) Image Classification 解析

    本项目需要搭建一个简单的卷积神经网络 xff08 CNN xff09 来对 CIFAR 10 数据进行图片分类 本文记录了这个项目的一些注意事项 xff11 数据的预处理 xff1a 对于CIFAR 10 的图片数据 xff0c 首先要做归
  • 网络程序设计——VC的多线程编程(线程与进程)

    目录 一 线程与进程 1 线程 2 引用线程的原因 3 线程与进程的关系 4 线程的特点 二 线程函数的参数传递 三 多线程与单线程的区别 四 线程创建函数 beginthread 和 beginthreadex 五 终止线程函数 一 线程
  • linux apt-get autoremove千万别乱用

    使用linux下的apt get autoremove命令的心得体会 前几天在实验室搭建要做人工智能项目的环境时 xff0c 由于未解决python2 7和python3 6共存时 xff0c 只利用python2 7版本的库文件 xff0
  • 嵌入式培训经验分享——网络编程项目实战(在线电子词典)

    在线电子词典采用服务器 43 客户端模式 xff0c 运用TCP协议通信 xff0c xff0c 服务器端直接连接数据库 1 服务器实现 功能 注册设计 如果用户没有注册 必须注册才能提供服务 包括修改用户名密码 xff08 1 xff09
  • MySQL事务

    1 事务性质 原子性 xff08 Atomicity xff09 xff1a 一个事务中的所有操作 xff0c 要么全部完成 xff0c 要么全部不完成 xff0c 不会结束在中间某个环节 一致性 xff08 Consistency xff
  • ROS中D435i的安装使用

    目录 D435i 安装ROS接口安装使用 Python接口安装opencv安装 xff08 相机标定 使用的依赖 xff09 D435i标定安装依赖标定发生的错误 D435i使用使用find object 2d检测2D物体 xff08 平面
  • win10远程桌面登录虚拟机Ubuntu

    在公司实习没事干 xff0c 想着折腾一下虚拟机 xff0c 于是用Windows win10 下的mstsc登陆一下虚拟机上的Ubuntu 14 04 桌面环境 顺便区别一下一般用telnet远程连接和使用桌面共享连接的区别 xff1a
  • octet和byte的差异

    在不严谨的前提下 xff0c byte和octet都表示为8 bits xff0c 但是严格意义上来讲 xff0c octet才是严格意义上的8 bits xff0c 而历史上的byte其实可以表示为4 bits 10 bits xff0c
  • 算法移植到STM32单片机中会遇到的一些问题

    最近完成了一些算法 xff0c 需要移植到STM32F4系列的板子上用作实际工程 xff0c 其中遇到了许多的问题 xff0c 下面记录一些调试bug的经验记录 1 编译没有问题 xff0c 但是调试运行时却会进入到某一函数无法运行 xff
  • 由chmod改系统文件权限引ssh登录报ssh_exchange_identification: read: Connection reset by peer无法登陆问题

    root用户下在给某个文件夹下的所有文件改权限的时候 xff0c 用了chmod R 命令 xff0c 咋一看这个命令没啥很正常 xff0c 也能执行 xff0c 但是后面的提示让人感觉很不对劲 xff0c 因为yang下文件没这么多 xf
  • mysql中find_in_set()函数的使用

    在做电商项目时 xff0c 不知你有没有遇到这样的一种情况 xff0c mysql数据库中商品表tb product里面有个字段type xff0c 它存储的是商品类型 xff0c 比如 1 xff1a 热门推荐2 xff1a 精选推荐3
  • shell设置变量与脚本返回值

    Linux中的本地变量和环境变量 本地变量 查看本地变量 set 设置本地变量 x 61 34 123 34 环境变量 查看环境变量 env 设置环境变量 x 61 34 123 34 export x 注意 xff1a 变量与等号 等号与
  • Docker 环境准备好这些,工作就完成了一半

    Docker官网yum源 xff1a http yum dockerproject org repo main 支持不同版本 1 span class token punctuation span 关闭防火墙 systemctl stop
  • 习题5-7 使用函数求余弦函数的近似值 (15 分)

    本题要求实现一个函数 xff0c 用下列公式求cos x 的近似值 xff0c 精确到最后一项的绝对值小于e xff1a cos x 61 x 0 0 x 2 2 43 x 4 4 x 6 6 43 函数接口定义 xff1a double
  • 6-12 二叉搜索树的操作集 (30 分)

    本题要求实现给定二叉搜索树的5种常用操作 函数接口定义 xff1a BinTree Insert BinTree BST ElementType X BinTree Delete BinTree BST ElementType X Posi
  • C++ CAS 操作

    C 43 43 中的 CAS 操作用于操作原子变量 xff0c 它是 atomic lt T gt 的成员函数 span class token macro property span class token directive hash
  • 习题6-6 使用函数输出一个整数的逆序数 (20 分)

    本题要求实现一个求整数的逆序数的简单函数 函数接口定义 xff1a int reverse int number 其中函数reverse须返回用户传入的整型number的逆序数 裁判测试程序样例 xff1a include lt stdio
  • 数据结构之各种常用结构体总结

    一 线性表 define MaxSize 100 表长度初始定义 typedef struct ElemType data MaxSize 或者指示动态分配数组的指针Elemtype data int length 数组最大容量和长度 Sq
  • 习题2.7 弹球距离 (15 分)

    设有一个球从高度为h米的地方落下 xff0c 碰到地面后又弹到高度为原来p倍的位置 xff0c 然后又落下 xff0c 再弹起 xff0c 再落下 请编写函数求初始高度为h的球下落后到基本停下来 xff08 高度小于给定阈值TOL xff0

随机推荐

  • 习题7-3 判断上三角矩阵 (15 分)

    上三角矩阵指主对角线以下的元素都为0的矩阵 xff1b 主对角线为从矩阵的左上角至右下角的连线 本题要求编写程序 xff0c 判断一个给定的方阵是否上三角矩阵 输入格式 xff1a 输入第一行给出一个正整数T xff0c 为待测矩阵的个数
  • python计算黑白图像像素值

    span class token function import span numpy as np span class token function import span cv2 span class token comment 读入图
  • python将文件夹中图像生成file list

    按行排列 xff0c 图像路径 span class token function import span os span class token function import span argparse span class token
  • Markdown插入图片 详细例子(本地图片,网络图片,base64) Windows

    网上一番搜索 xff0c 领略到基本所有回答 xff0c 都是一样的 xff0c 简简单单的介绍 而且 xff0c TMD xff0c 插入图片答案的本地路径 xff0c 都是回答的是Linux或Mac OS系统的路径 xff0c 诸如 x
  • Pixhawk学习笔记(2)——问题汇总

    1 遥控器校准时 xff0c 拨动摇杆 xff0c 上位机通道数据不变化 解决方法 xff1a PPM编码器上有一个跳线需短接 xff0c 短接后才可通过编码器对遥控器接收机供电 供电前PPM编码器模块上蓝灯快闪 xff0c 供电后变为慢闪
  • 在FPGA中使用Verilog实现I2C通信

    按照I2C标准的官方时序 可以看出时序看起来很简单 xff0c 不过它严格的按照时序要求来传送数据 xff0c 马虎不得的 xff0c 特别是起始和停止的条件 xff0c 起始必须要时钟线SCL为高电平时数据线SDA拉低 xff1b 而停止
  • Pixhawk学习笔记(5)——PX4FLOW光流传感器调试过程记录

    先使用qgc地面站查看光流图像及数据 xff0c 能看到不错的图像和波形 烧写官网固件后 xff0c 接入pixhawk飞控 xff0c 使用apm固件 xff0c 勾选启用光流 xff0c 超声波选用pix iic xff0c 在miss
  • 数据结构—布隆过滤器

    布隆过滤器可以快速地告诉你 xff1a 某个值一定不存在 xff0c 以及某个值可能存在 布隆过滤器是基于位图和哈希函数 xff08 如 xff0c MurmurHash xff09 来实现了 此处假设有两个哈希函数 hash 1 hash
  • PX4/Pixhawk---快速成为开发者(Windows)

    1 快速成为开发者入门教程 xff08 翻译 xff09 官方 1 1 编译环境 xff08 1 xff09 安装 MSysGIT 安装完成后 xff0c 配置GIT 安装注意 安装过程中除了下面一步外 xff0c 其他的步骤都采用默认安装
  • Cdence版图设计手册

    Cadence版图设计 工作站常用命令 一 在terminal窗口键入的基本命令 xff1a 1 ls xff1a 列出目录下所有文件 2 clear xff1a 清除terminal窗口里的内容 3 pwd xff1a 显示目前工作的目录
  • Pixhawk开发手册

    一 常见问题 xff1a 1 遥控器校准时 xff0c 拨动摇杆 xff0c 上位机通道数据不变化 解决方法 xff1a PPM编码器上有一个跳线需短接 xff0c 短接后才可通过编码器对遥控器接收机供电 供电前PPM编码器模块上蓝灯快闪
  • 浅谈四轴PID调试心得

    以下内容转自阿莫论坛 xff0c 写得很详细 xff0c 是调试大四轴的 小四轴调试也可参照着调 PID调试心得 本人不是自动化出身 xff0c 也没有受过专业训练 xff0c 都是自己摸索 xff0c 在这里浅述一下自己的PID参数整定心
  • rctimer二轴云台及云台控制板调试(Simple bgc 8位破解板)

    前段时间在鬼王家抢了rctimer的二轴云台和控制板 xff0c 感觉做工很精良 这几天有空了就调试下 整个过程比较容易 xff0c 首先要准备好usbisp烧写器 xff0c 和一根阶梯形的micro usb线 先刷bootloader
  • APM和PIX飞控日志分析入门贴

    我们在飞行中 xff0c 经常会碰到各种各样的问题 xff0c 经常有模友很纳闷 xff0c 为什么我的飞机会这样那样的问题 xff0c 为什么我的飞机会炸机 xff0c 各种问题得不到答案是一件非常不爽的问题 xff0c 在APM和PIX
  • 微电子及集成电路设计常用问题总结(考研面试向)

    mos管的沟道长度调制效应 xff1f 源极导致势垒下降 xff1f 衬底电流体效应 xff1f 衬底偏执效应 xff1f 速度饱和效应 xff1f 举例典型的trade off xff1f mos amp bjt的工作曲线 xff1f 加
  • YOLO详解

    转载自 xff1a https zhuanlan zhihu com p 25236464 从五个方面解读CVPR2016 目标检测论文YOLO Unified Real Time Object Detection 创新 核心思想 效果 改
  • 使用微信监管你的TF训练

    以TensorFlow的example中 xff0c 利用CNN处理MNIST的程序为例 xff0c 我们做了下面一点点小小的修改 1 xff0c 首先导入了itchat和threading两个包分别用于微信和县线程 xff08 因为要有一
  • 你应该知道的9篇深度学习论文(CNNs 理解)

    当时看到英文的博客 xff0c 本想翻译给感兴趣的同学们看看 xff0c 没想到已经有人翻译 xff0c 于是进行了转载 xff0c 留给自己和更多的人学习 xff0c 本文仅供参考 英文博客 xff1a https adeshpande3
  • JS笔记(==和===的介绍)

    61 61 和 61 61 61 介绍 61 61 关系运算符 等于 用于比较两个操作数是否相等的 相等为true xff0c 否则为false 61 不等于 61 61 61 xff1a 绝对等于 用于比较两个操作数是否相等的 相等为tr
  • 全国大学生电子设计竞赛B题感悟-优象光流篇

    今年是2019年电赛国赛年 xff0c 这本是是一个很好的机会冲击国家奖的 xff0c 但是由于个人视野太窄 xff0c 眼光不够长远而错失良机 今年测评结束的时候我就已经预感到了结果 xff0c 记得比赛前去提交作品的时候 xff0c 大