楼主

[开源汇总] 【RM2022-飞镖视觉1.0开源】基于FPGA和传统视觉的光点追踪

[复制链接]
正式队员花里胡哨的阿天
2022-7-28 14:37:22 只看该作者

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
    hello各位RMer大家好,我是花里胡哨的阿天,这次我开源的内容是关于飞镖视觉的开发。飞镖作为2020年加入RM赛场的新机器人,经历了两年的发展,目前出现在赛场上的飞镖还没有自动锁定装甲板,命中率普遍偏低。于是我就在想是否能有一种飞镖自带视觉识别系统,能够在飞行途中修正自己的飞行的轨道,从而击中前哨战以及基地的装甲板。         首先贴上百度网盘链接:https://pan.baidu.com/s/1yT6X-8ZSO-BhuysknCTe-A 提取码:1234


                               
登录/注册后可看帖子


飞镖视觉需求分析

    首先,飞镖作为一个高速飞行的物体,飞行时间短。能留给系统做识别的时间也是非常短暂的,因此我们需要一颗高帧率的摄像头以保证在短暂的飞行时间中能够采集到足够多的图像用来调整飞行姿态。

    第二点是飞镖识别的目标,幸运的是组委会在飞镖检测的装甲板下安装了一颗绿色的飞镖引导灯,正是这颗引导灯大大降低了飞镖视觉设计的难度,我们只需要过滤掉场上红色蓝色以及白色的光源,再经过腐蚀膨胀,就可以获得一张干净的只包含绿色光点的图像。

    第三点飞镖视觉的运算平台,飞镖的视觉算法可以说是一个对实时性要求非常高的算法,而目前常见的几种运算平台minipc,妙算把这些装上飞镖。。。emmm想想都有些。而openmv以及K210这些平台在处理视觉数据的时候都是采用先缓存在运算的方式,实时性无法满足需求,另外openmv虽然能跑到比较高的帧率,但是一旦加上一些算法,帧率马上就掉了下来。那么是否有一种平台能够一边读取图像数据一边对其经行处理和运算,就像流水线一样,数据读取完毕,图像也处理完毕。诶嘿还真有。他就是我们今天的主角FPGA。



                               
登录/注册后可看帖子



飞镖视觉总体结构


    结合飞镖的需求,我选用了mt9v034作为飞镖的识别摄像头,这个摄像头的最高帧率据官方说可以达到500而且是全局快门,当然500帧的时候画面只有80*60有点小。最后通过配置寄存器我把画面固定在了240*240的大小上,帧率为132。测试平台选用了赛灵思的zynq7020。选用这个平台的目的之一是能够很方便的搭建测试平台,通过VDMA和HDMI能过够实时显示摄像头的画面,另外它内置的arm处理器可以方便的对摄像头参数经行配置。测试成功后也只需要去除开发阶段用到的外部测试电路,只保留处理核心,就可以很方便的移植到别的fpga平台上。应为fpga的结构基本都差不多,只要逻辑资源足够,在一定程度上,无论你用什么fpga效果都是一样的。

   在飞镖视觉的处理部分,首先经行的是bayer整列到rgb数据转换模块,因为mt9v034这个摄像头分为彩色和灰度两个版本,而本次设计采用的是彩色版本的摄像头,摄像头本身没有ISP模块,因此输出的数据是原始的bayer图像阵列的数据。摄像头进入fpga的第一个模块就是Bayer转rgb模块,转换原理可以自行百度了解,这里不再过多赘述。转换出来的rgb数据会经过RGBdisplay模块,这个模块有两个作用,一个是将rgb图像转化为二值化图像,另一个是将后面模块计算出的目标的坐标叠加到输出的图像上,并且能够选择输出到显示器的是二值化图像还是rgb图像。

   这里二值化图像转换的阈值很重要,为了能够过滤掉白光,红光蓝光对图像的干扰。二值化的规则设定为像素点红色蓝色通道小于阈值且绿色通道大于阈值的时候才输出1,其它输出0。而阈值的选择则是通过摄像头拍照存入sd卡然后通过windows的画图工具分析目标的rgb数据以及干扰光源的rgb数据得到的。

   进过二值化后其实最好还是经过一波腐蚀和膨胀算法,本次设计中没有加入,用为我发向二值化后图像中也只剩下了目标的图像。当然,腐蚀和膨胀我也会在后面的研究中加入进来,因为这个对与干扰的清除还是很有帮助的。

   最后二值化图像坐标的计算,应为经过的二值化后图像中也只剩下目标光点,是将二值化图像映射到x和y轴坐标中计算出最大值,即是目标中心。

   整个图像处理的过程还是很简单的,整个流程全都采用了流水线设计,即图像一边传输一边处理,数据传输完成的同时,坐标的计算也完成。帧率和处理速度完全同步。



                               
登录/注册后可看帖子


效果展示
跳转到指定楼层
沙发

[开源汇总] 【RM2022-飞镖视觉1.0开源】基于FPGA和传统视觉的光点追踪

[复制链接]
正式队员苍炎
2022-7-28 16:46:22 只看该作者
hi,很高兴看到关于飞镖的视觉分享。我想询问的是关于摄像头以及运算平台的具体费用,以及这些东西是装在哪里的?
板凳

[开源汇总] 【RM2022-飞镖视觉1.0开源】基于FPGA和传统视觉的光点追踪

[复制链接]
正式队员一一
2022-7-28 17:03:11 只看该作者
你好大佬,我想问一下摄像头要怎么安装,安装在哪里?识别到之后又应该如何调整飞行姿态呢?
地板

[开源汇总] 【RM2022-飞镖视觉1.0开源】基于FPGA和传统视觉的光点追踪

[复制链接]
正式队员花里胡哨的阿天
 楼主| 2022-7-28 17:20:24 只看该作者
苍炎 发表于 2022-7-28 16:46
hi,很高兴看到关于飞镖的视觉分享。我想询问的是关于摄像头以及运算平台的具体费用,以及这些东西是装在哪 ...

关于摄像头位置的话可以放在飞镖头中间的孔洞中,运算平台的话如果选用tangpremier的话价格在100到200之间,位置肯定是在镖体内部。
5#

[开源汇总] 【RM2022-飞镖视觉1.0开源】基于FPGA和传统视觉的光点追踪

[复制链接]
顾问MasterWang
2022-7-28 21:30:10 只看该作者
要是没有彩色的,用滤光片
6#

[开源汇总] 【RM2022-飞镖视觉1.0开源】基于FPGA和传统视觉的光点追踪

[复制链接]
顾问MasterWang
2022-7-28 21:33:32 只看该作者
黑金有一个很小的zynq7020,https://detail.tmall.com/item.ht ... ns=1&abbucket=4
7#

[开源汇总] 【RM2022-飞镖视觉1.0开源】基于FPGA和传统视觉的光点追踪

[复制链接]
梯队队员mini1235
2024-1-26 14:21:35 只看该作者
关于PCB,请问有schdoc文件吗
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表