0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA开源项目:小球追踪系统设计

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-06-16 10:11 次阅读

1简述

本设计基于颜色特征识别实现,这个并不算高大上的算法,个人能力有限再加上FPGA算法实现难度不小,所以采用最简单的算法实现,作为FPGA的入门学习足以。这个设计是19年4月左右做出来的,那时自己对FPGA的认知比较朦胧、FPGA的开发能力也一般,所以在本设计上有很多有问题的地方,到现在也没时间去修改,希望有能力的小伙伴来完善,在此先谢谢了!

在初学FPGA的时候,根据邓堪文的《SDRAM的那些事儿》视频教程完成了基于FPGA的图像采集系统。但是Bug很多,当时我的能力太差没能解决问题 ,所以后面的做的图像处理项目都没用使用。本设计也是一样,使用的是FPGA板卡配送的图像采集例程,我在此基础上进行的开发,添加图像处理模块以及二轴舵机控制模块。

2 算法架构

图像采集显示流程一般是:FPGA把摄像头采集图像数据缓存到SDRAM,再从SDRAM搬运到LCD驱动进行输出显示。从图1总体框图可以知道,在LCD图像流输出时进行图像处理。图像处理模块采用流水线处理的方式,先后完成RGB2YCbCr(二值化)、膨胀腐蚀的形态学滤波和目标物体坐标提取,最后输出图像以及物体的坐标。然后舵机驱动模块驱动两轴舵机实现实时追踪。

1e76d372-ed0d-11ec-ba43-dac502259ad0.jpg

图1

3 图像算法模块的简单介绍

下图是图像处理模块顶层的部分截屏,这个实现图像选择输出,通过按键来选择原图、二值化、腐蚀以及膨胀这四种图像效果的其中之一输出。

1e8fdcbe-ed0d-11ec-ba43-dac502259ad0.png

图2

顶层例化所有的图像算法模块,同时也有串口,这是为了方便调试二值化的阈值参数,可以缩短调试时间,提高效率。

1ea3e0f6-ed0d-11ec-ba43-dac502259ad0.png

图3

下图是目标物体坐标提取模块的,计算办法就是把有效的坐标做累加,最后除以有效像素的数量就可以得到目标物体的坐标了。

1eae322c-ed0d-11ec-ba43-dac502259ad0.png

图4

串口接收的调参数据最后用在RGB2Ycbcr模块里,未注释的就是最后调参完成确定的阈值。当你需要调整阈值时把上部分注释,取消下部分注释。串口调参命令为:01xx0102xx0203xx0304xx04。xx为你需要输入的值,4个xx分别对应调参的四个数据。

1ecf9c50-ed0d-11ec-ba43-dac502259ad0.png

图5

图像处理有疑惑就这些地方了,其他的像算法实现原理自己百度看博客学习吧,内容太多但是不复杂。

4 舵机驱动模块

舵机控制就是产生PWM,具体原理百度。下图产生0.4us的基准时间,在这个基准上再产生20ms的舵机控制周期,pulse_cnt。

1ee1b368-ed0d-11ec-ba43-dac502259ad0.png

图6

将图像处理模块得到的水平、垂直两个方向的坐标进行转换,得到舵机旋转角度的控制值。坐标与中心坐标相减得到目前物体的偏移量,这里除以一个系数是进行PID的比例调节。直接用 / 有点违规,这里最好使用除法器IP处理下。最后得到x_value和y_value值,这是控制舵机旋转角度的值,与上面得到的pulse_cnt比较输出PWM。

1f091da4-ed0d-11ec-ba43-dac502259ad0.png

图7

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21302

    浏览量

    593109
  • 图像采集
    +关注

    关注

    2

    文章

    280

    浏览量

    41072
  • 算法
    +关注

    关注

    23

    文章

    4452

    浏览量

    90746

原文标题:FPGA开源项目:小球追踪系统设计(临时开源)

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    用上传感器,鼠标里的小球消失了

    来源:中科院物理所,谢谢 编辑:感知芯视界 Link 见过鼠标里面这个小球吗? 很多 80后 、90 后的小伙伴可能对这个球还有印象。 只需要把早期的电脑鼠标翻过来,底部的旋钮稍微一拧,就会掉出来
    的头像 发表于 02-20 09:19 128次阅读

    关于FPGA开源项目介绍

    Hello,大家好,之前给大家分享了大约一百多个关于FPGA开源项目,涉及PCIe、网络、RISC-V、视频编码等等,这次给大家带来的是不枯燥的娱乐项目,主要偏向老的游戏内核使用
    的头像 发表于 01-10 10:54 531次阅读
    关于<b class='flag-5'>FPGA</b>的<b class='flag-5'>开源</b><b class='flag-5'>项目</b>介绍

    开源FPGA项目有哪些

    请问开源FPGA项目有哪些?
    发表于 12-26 12:09

    开放原子开源基金会与 9 个开源项目举行捐赠签约仪式

    12 月 16 日,在江苏无锡举办的 2023 开放原子开发者大会开幕式上,开放原子开源基金会理事长孙文龙与 GreatSQL、Cloud HPC、鹏云 ZettaStor 分布式块存储系统
    的头像 发表于 12-21 17:30 480次阅读
    开放原子<b class='flag-5'>开源</b>基金会与 9 个<b class='flag-5'>开源</b><b class='flag-5'>项目</b>举行捐赠签约仪式

    基于FPGA搭建Micro Blaze最小系统

    本文介绍一个FPGA 开源项目:Micro Blaze最小系统。MicroBlaze是Xilinx提供的一个软核IP,该软核是由FPGA片内
    的头像 发表于 09-01 16:16 915次阅读
    基于<b class='flag-5'>FPGA</b>搭建Micro Blaze最小<b class='flag-5'>系统</b>

    使用FPGA做的开源示波器

    其实用FPGA做的示波器有很多,开源的相对较少,我们今天就简单介绍一个使用FPGA做的开源示波器。
    的头像 发表于 08-29 09:30 987次阅读

    介绍一个使用FPGA做的开源示波器

    其实用FPGA做的示波器有很多,开源的相对较少,我们今天就简单介绍一个使用FPGA做的开源示波器:
    发表于 08-14 09:03 940次阅读

    水族馆饲养区追踪开源分享

    电子发烧友网站提供《水族馆饲养区追踪开源分享.zip》资料免费下载
    发表于 07-13 10:22 0次下载
    水族馆饲养区<b class='flag-5'>追踪</b>器<b class='flag-5'>开源</b>分享

    跌倒检测穿戴式+紧急按钮+室内追踪开源设备

    电子发烧友网站提供《跌倒检测穿戴式+紧急按钮+室内追踪开源设备.zip》资料免费下载
    发表于 07-05 11:07 0次下载
    跌倒检测穿戴式+紧急按钮+室内<b class='flag-5'>追踪</b><b class='flag-5'>开源</b>设备

    远足追踪开源分享

    电子发烧友网站提供《远足追踪开源分享.zip》资料免费下载
    发表于 07-03 09:29 0次下载
    远足<b class='flag-5'>追踪</b>器<b class='flag-5'>开源</b>分享

    推杆速度追踪开源分享

    电子发烧友网站提供《推杆速度追踪开源分享.zip》资料免费下载
    发表于 06-29 11:19 0次下载
    推杆速度<b class='flag-5'>追踪</b>器<b class='flag-5'>开源</b>分享

    大象的运动追踪开源项目

    电子发烧友网站提供《大象的运动追踪开源项目.zip》资料免费下载
    发表于 06-14 11:00 0次下载
    大象的运动<b class='flag-5'>追踪</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b>

    电子纸潮汐和天气追踪开源分享

    电子发烧友网站提供《电子纸潮汐和天气追踪开源分享.zip》资料免费下载
    发表于 06-12 15:00 0次下载
    电子纸潮汐和天气<b class='flag-5'>追踪</b>器<b class='flag-5'>开源</b>分享

    优秀的IC/FPGA开源项目:伪红外图像处理

    《优秀的IC/FPGA开源项目》是新开的系列,旨在介绍单一项目,会比《优秀的 Verilog/FPGA
    的头像 发表于 06-09 09:42 1430次阅读
    优秀的IC/<b class='flag-5'>FPGA</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b>:伪红外图像处理

    优秀的IC/FPGA开源项目(二)-NetFPGA

    从上面的工作可以看出DPU的核心是:网络。所以我们今天讲一个未来的发展核心之一:用FPGA实现NIC(network interface controller,网络接口控制器),从该项目出发可以实现数据可控制化,进而实现DPU功能。
    的头像 发表于 05-19 11:11 2172次阅读
    优秀的IC/<b class='flag-5'>FPGA</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b>(二)-Net<b class='flag-5'>FPGA</b>