发作品签到
标准版

2021年D题-基于互联网的摄像测量系统+yyds队

工程标签

4.4k
0
0
2

简介

本设计基于图像识别原理设计并制作了基于互联网的摄像测量系统。系统以树莓派为核心处理终端,通过一个百兆以太网交换机与两个摄像节点实现星型互联网络,完成鱼线和激光笔组合的摆动角度及长度的测量和实时显示。

简介:本设计基于图像识别原理设计并制作了基于互联网的摄像测量系统。系统以树莓派为核心处理终端,通过一个百兆以太网交换机与两个摄像节点实现星型互联网络,完成鱼线和激光笔组合的摆动角度及长度的测量和实时显示。

开源协议

GPL 3.0

创建时间:2022-01-04 19:22:40更新时间:2022-01-06 02:58:10

描述

目录

1.前言

2.团队介绍

3.项目分析

4.系统方案

5.理论分析与计算

6.电路程序与设计

7.实物展示

8.赛题作品说明

9.总结

 

 

 

前言

  本设计基于图像识别原理设计并制作了一个基于互联网的摄像测量系统。该系统以树莓派为核心处理终端,通过一个百兆以太网交换机与两个摄像节点实现星型互联网络,完成钓鱼线以激光笔组合的摆动角度及钓鱼线长度的测量和实时显示。系统首先利用CMOS传感器模块,实现摄像功能;然后通过k210芯片,完成激光笔的识别与定位;接着采用单摆相关公式计算钓鱼线长度和激光笔偏移角度,最后使用液晶显示器显示测量结果并声光报警。经过测试证明,本系统对于钓鱼线长度测量绝对误差小于1cm,激光器摆动角度测量绝对误差小于5°,测量时间小于两秒。 

 

关键词互联网;角度测量;长度测量;树莓派;k210

 

 

团队介绍

团队成员分别是小小吴,张豪豪,小涂涂,专业方向是电子信息工程方向,大四在读,团队成员擅长图像处理方面,熟练使用stm32、k210、openmv、树莓派等等。在校期间做过多项科研立项和大学生创新创业项目,有多项软件著作权。

获奖经历:

(1)2021年全国大学生电子设计大赛国家二等奖

(2)2020年湖北省电子设计大赛省三等奖

(3)2019年全国大学生电子设计大赛成功参赛奖

(4)第十三届中国大学生计算机设计大赛中南地区赛三等奖

(5)第四届全国大学生FPGA创新设计竞赛决赛二等奖

(6)2021年全国电子设计大赛国家二等奖《基于互联网的摄像测量系统》
(7)2021年计算机设计大赛国赛三等奖
(8)2020年蓝桥杯全国软件和信息技术专业人才大赛国赛二等奖 
(9)2021年国家级大学生创新创业项目《基于Stm32的防疫消杀无人机》
(10)2021年参加全国大学生创新创业年会

项目分析

一、题目要求

1. 基本要求

(1)设计并制作两个独立的摄像节点,每个节点由一个摄像头和相应的电路组成。两个摄像节点均可以拍摄到激光笔的运动视频并显示。
(2)设计并制作终端节点。在终端显示器上可以分别和同时显示两个摄像节点拍摄的实时视频。在视频中可以识别出激光笔,并在视频中用红色方框实时框住激光笔轮廓。
(3)测量系统在终端节点设置一键启动。从激光笔摆动开始计时,测量系统通过对激光笔周期摆动视频信号的处理,自动测量长度 l50cm≤ l ≤150cm,θ 角度自定。测量完成时,终端声光提示并显示长度 l。要求测量误差绝对值小于2cm,测量时间小于 30 秒。

2. 发挥部分

(1)一键启动后,测量系统通过两个独立摄像节点的网络协同工作,当 θ=0°和 θ=90°时,能自动测量长度 l50cm≤ l ≤150cm。要求测量误差绝对值小于 2cm,测量时间小于 30 秒。
(2)一键启动后,可以测量 θ,0°≤ θ ≤90°。要求测量误差绝对值小于 5°。测量时间小于 30 秒。
(3)其他。
                                           
题目的初期分析和设计想法:
       首先我们团队初期的想法是需要两个摄像头,一个激光器,一个交换机,然后一个终端显示,利用3d打印给激光机打印一个壳子方便增加配重和固定,采用三脚架固定两个摄像头传感器,在终端显示方面我们开始打算使用stm32f4与w5500通过spi通信或者串口转网口与终端通信并显示,摄像头使用k210或者openmv、或者树莓派,终端和摄像系统经过交换机进行tcp或者udp通信,声报警使用喇叭或者蜂鸣器,光报警使用led灯,前期的想法就是这样的。
 

系统方案

 

一、方案描述

       本系统是以树莓派为终端,K210摄像头模块为摄像节点搭建的硬件平台,结合目标监测、以太网传输、网络协同搭建的摄像测量系统。树莓派外接显示器可以分别和同时显示两个K210拍摄的实时图像处理视频。树莓派设置一键启动指令,通过两个K210的网络协同工作,将测量的数据反馈至树莓派,树莓派进行数据处理得到测量数据,显示器显示出长度与角度值。系统架构图具体如图1.1所示。

                                                                                                                图1.1系统机构图

图1系统机构图

 

 

二、方案比较与选择

1、摄像头模块选择

方案一:MaixBit开发板以K210作为核心单元,功能非常强大,芯片内置64位双核处理器,拥有8M的偏上SRAM,内置多种硬件加速单元(KPU、FPU、FFT等),总算力最高可达1TOPS。

方案二:OpenMV是以STM32F767CPU为核心,集成了OV7725摄像头芯片,用C语言高效地实现了核心机器视觉算法,提供Python编程接口。

综合考虑后,本设计需要K210可以进行目标检测并且算力远高于OpenMv,结合性价比,所以选择方案一。

2、终端选择

方案一:STM32F103ZET6开发板是基于ARM的32位微控制器,高性能、低成本、低功耗、具有创新的内核及外设,144个引脚,512K字节的闪存存储器,读取网口信息显示在屏幕上。

方案二:树莓派是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口。

综合考虑后,树莓派在图像数据处理的性能远超stm32,组员在前期使用树莓派4B的基础,有过TCP传输有关的项目基础,树莓派有更多的开发选择,所以选择使方案二。

3、支架固定的选择

方案一:使用三脚架将两个摄像头进行固定,方便升降移动。

方案二:使用铝型材将摄像头位置固定死。

综合考虑后,由于D题是对测量精度要求极高,可能一两个像素点就会偏差很大,所以我们选择方案二,我们使用铝型材将摄像头和激光器相对空间位置固定,利用3D打印的支架将k210固定到铝型材上面。

4、网口模块的选择

方案一:利用spi通信的w5500网口模块。

方案二:利用USR-K7一款全新小体积的串口转以太网模块。

综合考虑后,我打算采用方案二,USR-K7用来将 UDP 数据包与 UART 接口实现数据透传传输的设备。搭载 ARM 公司的 Cortex-M4处理器,功耗低,速度快,稳定性高。

 

 

理论分析与计算

 

一、拍摄方法分析

       在自然光照的条件,采用K210进行信息的采集和处理,树莓派对K210发出同步指令,使用摄像头模块,进行摄像头配置及图像抓取,包括初始化参数,拍摄图像,判别是否抓取到指定物体和读取物体的像素点位置等,将测量结果通过byte流从串口传输到网口,然后通过交换机传给树莓派。

 

二、终端显示方法分析

       树莓派4B通过网口接收到传输来的byte流,通过jpg的解析方式进行解析,最后在上位机上面实时显示摄像头的实时画面并用红框框选显示器,在显示器上分别可以开启和关闭两个摄像节点拍摄的实时视频。

 

三、网络协同工作原理

(1)终端发出指令:终端发出一键启动的指令,通过网口通信和UDP协议向交换机发送指令,交换机通过网口通信和TCP协议将指令分别发给两个USR-K7,USR-K7将指令通过串口通信传给两个摄像节点,k210开始工作。

(2)终端接收数据:两个K210将摄像头传过来的数据处理之后分别通过串口返回给各自连接的USR-K7,USR-K7收到数据之后通过网口通信和TCP协议返回给交换机,交换机将两个摄像节点传过来的数据通过网口通信和TCP协议返还给终端。

四、激光器摆动方法分析

      我们先将激光器稳定,让其保持静止,不发生自旋,通过一根细管吹动激光器中间,这样能够保证吹出去的力量均衡,能够使激光器运动轨迹趋近于直线而不是画圆。(这是很关键的一步)

 

三、测量方法与参数计算

1、透明细线长度计算

K210通过模型匹配并用红色方框实时框住显示在lcd屏幕上,获取红色方框的中心点坐标。当激光笔处在静止状态或运动状态的时候,最低点获取的中心点纵坐标与细线的长度存在线性关系:

                              

其中是实际高度范围,是纵坐标最大值,y2是纵坐标最小值。

2、角度计算

激光笔在进行周期运动的过程中,A摄像头可以得到激光笔识别中心点坐标的变化范围,同理B摄像头可以获得变化范围,角度满足:

 

电路程序与设计

一、硬件框架

本系统以k210作为摄像节点进行图像处理,图像数据和测量数据通过串口转网口模块连接到交换机,树莓派通过交换机网口处理两个摄像节点的数据,完成激光笔的运动显示与轨迹测量。具体如图1所示。

                                                                                                   

图1 系统结构图

 

主要模块说明:

树莓派4B:我们是搭载了Ubuntu18.04,通过pycharm编写了一个上位机,树莓派4B引脚图请见附件,我们利用了上面的GPIO10进行led的亮灭和蜂鸣器的报警,调用了pygame的库进行语音播报。最后通过设置sh脚本开机就运行上位机程序。

K210:k210原理图见附件,我们通过maixpy通过python语言进行编写,因为k210兼容openmv的图形库,我们调用进行图像处理,虽然k210可以通过勘探的ide通过c语言编写,但是因为我们比较熟练使用micropython开发,所以我选择了后者开发k210.

串口转网口:因为我们对串口的使用已经十分熟悉,曾经有各种使用到串口的项目,还有网络通信的项目,所以我们选择了串口转网口模块,而非基于spi通信的w5500模块,以后有机会会进行尝试,毕竟spi速度更快。

3D打印,方便固定k210和防止激光器自旋,3D打印文件也会放在附件中。

二、程序设计

 

       两个摄像节点实时进行目标检测,实时检测识别激光笔并且持续进行jpg格式图片数据解析。将解析到的数据输出到串口,通过串口转网口经过交换机连接到树莓派的网口。树莓派配置本机ip地址与串口转网口模块处在同一个网段下,树莓派连接两个网口模块的ip查看是否可以建立连接。树莓派与两个网口模块建立连接之后,打开两个线程分别对两个网口tcp传过来的数据进行处理,对传输过来的帧头、帧尾数据进行校验获取其中的测量数据和图像数据。树莓派通过pygame进行UI设计与图像显示,实现分别和同时显示两个摄像节点拍摄的实时视频。界面设有一键启动的功能,树莓派通过udp同时向两个网口模块发送测量指令,网口模块将udp接收缓存区里的内容转成串口数据,K210接收串口数据后进行校验比对,符合接收帧格式发送测量数据至树莓派进行数据处理并显示。

                                                                                                                          

 

图1 程序流程图

 

 

实物展示

 

 

                                                                                                                       

 

 

 

                                                                                                                       

 

 

 

                                                                                                                       

 

 

 

                                                                                                                       

                                                                                                                         

 

 

赛题作品说明

(1)摆的柔性透明细线建议采用单股透明的钓鱼线,直径小于 0.2mm。不要采用一般捻和的缝纫线,防止激光笔吊起后自转。考虑实际摆与理想摆的差异以及各地重力加速度会有差异,系统应具有校准处理的功能。
(2)系统获取摆的信息必须来自摄像节点拍摄的视频信息,不得在摆及其附近安装其他传感器和附加装置。θ角度的标定可利用量角器测量激光指示光点轨迹与 OA 边的夹角实现。
(3)两个摄像节点拍摄的取景范围仅限激光笔摆动区间的内容,不能包含全部柔性细线的内容和地面激光光点轨迹的内容。在测量 l θ 的过程中如果视频包含上述内容,需用纸片遮挡这部分内容。否则不进行测试。
(4)拍摄背景为一般实验室场景,背景物体静止即可,不得要求额外处理。
(5)三个节点不得采用台式计算机和笔记本电脑。
我们作品通过铝型材将三个节点的相对位置固定,k210板子两个放置高度需要保证鱼线50cm到150能够在k210显示屏中看到到图像并框选住。
视频由于太大了,大于50m了,由于可能还在审核中,视频链接:https://www.bilibili.com/video/BV1Gi4y197xy/
 

总结

我和我的队员们参加了三年电赛,除了大二疫情的那次暑假是在家里过的,每一个暑假都是呆在学校前期准备电赛,我们经历了短袖到羽绒服,羽绒服到短袖,我们参加三次电赛,从当时的懵懵懂懂,到现在能够之间扛大旗,经历三年的电赛,收获颇多,锻炼了自己的心性、团队写作能力,一个成功的团队离不开团队每个成员的辛勤努力,从大一刚开始写stm32代码写得都不溜,焊板子也会被不停吐槽,到现在有选择的选用开发板,写算法,我们团队在一步步成长,能够得到今年电赛的国二也离不开老师老是带我们做项目,在前期积累下来的经验,不断的试错,不断提升自己的能力,团队成员也磨合越来越好,还记得电赛时候三个人熬夜苦战,调不出代码的懊恼,实现功能的欣喜,到改进方案的争论,每件都是值得以后回味的事情,现在我们三个人已经大四快结束了,各个为各自的方向再努力,以后的我们会越来越好,在更高的平台中去竞赛,去磨练自己。😁

 

 

 

 

 

 

 

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
附件.zip
217
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航