目录(获取原文及完整代码进入主页

一、系统方案论证与比较

1.1 系统结构

1.2 方案选择与比较

1.2.1方案一

1.2.2 方案二

1.2.3 方案选择及论证

二、理论分析与计算

2.1 图形识别分析

2.2 激光测据原理分析

三、电路与程序设计

3.1 系统总体设计

3.2 最小系统拓展板

3.3 声光提示电路

3.4 程序设计

四、测试方案与测试结果

4.1 测试方案

4.2 测试结果记录

五、设计总结(获取原文及代码可主页联系获取)

5.1 特色创新

5.2 误差分析

5.3 心得总结


摘要:

作品选用STM32F401最小系统为核心板,用舵机搭建二维云台,选用OpenMV、L10雷达测距模块测量目标物的形态尺寸以及与装置的距离,测量结果从串口输出显示在OLED屏上。

本作品能精准识别出正方形、正三角形、圆形并计算出的目标物体所对应边长,测量尺寸误差大致在±5cm左右。此外该作品还能在较短时间内识别出排球、篮球、足球的类别并测距,测距的误差约为±5cm左右。

关键词:非接触式测量,机器视觉,激光测距,人机交互


一、系统方案论证与比较

1.1 系统结构

该系统主要由STM32F4系列单片机,机器视觉模块,激光测距模块,人机交互模块以及二维云台组成。机器视觉模块识别物体形状和尺寸,激光测距测量被测物与该测量装置的距离。两者所测数据返回给单片机,单片机控制云台完成指定任务后将测量数据显示在人机交互模块上。

1 系统结构

1.2 方案选择与比较

1.2.1方案一

采用OpenCV识别测量物体形状尺寸距离,组态屏显示测量数据。

优点:机器视觉部分摄像头选择范围较广,成像清晰,对测距模块要求较低。人机交互界面                       清晰,字体较大视觉效果好。

缺点:机器视觉程序编写耗时更多,组态屏面积较大,占用空间更多。

1.2.2 方案二

用OpenMV测形状尺寸,L10模块测量距离,用OLED显示测量数据。

优点:机器视觉开发参考资料丰富编写耗时短,测距精度更高,布局精简。

缺点:摄像头像素较低且无法更换,识别误差偏大,对后期调试要求较高。

1.2.3 方案选择及论证

小组最终选用方案二。经讨论,小组决定采用OpenMV测形状尺寸,在保证精度尽可能高的情况下,降低分辨率不断调试阈值即可。与方案一相比,小组在方案二上花费的时间预计更少,最终呈现效果也能达到题目要求。


二、理论分析与计算

2.1 图形识别分析

OpenMV已经将图片处理封装成各类模块供我们使用,要完成本作品必需对所涉及的模块使用方式有所了解。

圆形识别所需的函数为image.find_circles其使用方法如下:

image.find_circles([roi[,x_stride=2[,y_stride=1[, threshold=2000[, x_margin=10[,y_margin=10[,r_margin=10[,r_min=2[,r_max[,r_step=2]]]]]]]]]])

# Circle对象有四个值: x, y, r (半径), 和 magnitude。

# x_stride 是霍夫变换时需要跳过的x像素的数量。若已知圆较大,可增加 x_stride 。

# y_stride 是霍夫变换时需要跳过的y像素的数量。若已知圆较大,可增加 y_stride 。

# roi 是一个用以复制的矩形的感兴趣区域(x, y, w, h)。

# threshold 控制从霍夫变换中监测到的圆。只返回大于或等于 threshold 的圆。

# r_step 控制如何逐步检测半径。默认为2

# r_min 控制检测到的最小圆半径。增加此值可以加速算法。默认为2

正方形形识别所需函数使用方法:

image.find_rects([roi=Auto, threshold=10000])

#threshold 小于 threshold 的矩形会从返回列表中过滤出来

#roi 是一个用以复制的矩形的感兴趣区域(x, y, w, h)。

正三角形识别所需函数使用方法:

image.find_line_segments([roi[,merge_distance=0[,max_theta_difference=15]]])

#merge_distance 指定两条线段之间的可以相互分开而不被合并的最大像素数。

#max_theta_difference 是上面 merge_distancede 要合并的的两个线段的最大角度差值。

2.2 激光测据原理分析

本装置测距采用的是基于TOF技术的高速单线激光雷达L10。TOF是“time of flight”的简称,TOF相机是一种深度成像相机,通过3D sensor 向目标物体发射已到光束,,通过测量光在镜头和物体之间的传输时间来测距,从而通过多光纤实现深度图,达成3D立体深度感应,从而获取3D图像。激光器发射一个激光脉冲,并由计时器记录下出射的时间,回返光经接收器接收,并由计时器记录下回返的时间。两个时间相减即得到了光的“飞行时间”,而光速是一定的,因此在已知速度和时间后很容易就可以计算出距离。

2 测距原理示意


三、电路与程序设计(完整代码私聊我获得)

3.1 系统总体设计

系统框图如图3-1-1所示。12V直流稳压电源通过5V和3.3.V稳压模块分别向单片机和OpenMV供电;目标物体的水平距离通过激光测距模块读取,并转化为距离数字量传回单片机中;目标物体的几何形状以及坐标通过OpenMV的颜色识别读取,并转化为位置数字量传回单片机中;单片机将激光测距模块读取的距离数据处理后传给OpenMV,OpenMV经比例计算后返回物体边长的数字量;最后单片机将目标物体的形状、边长和距离数据传给OLED显示;进入自动寻找目标时,单片机根据OpenMV传回的坐标数据控制云台舵机转动角度;当测量结果稳定后启动声光提示,表示当前测量任务完成;单片机的电平信号可控制由发光二极管和有源蜂鸣器组成的声光提示部分。

图三 系统整体设计图

3.2 最小系统拓展板

                        图4 最小系统拓展板原理

                  图5 最小系统拓展板PCB

3.3 声光提示电路

当测量任务完成时,PB2输出高电平。因为本装置选用的是有源蜂鸣器,故PB2输出高电平蜂鸣器启动,LED灯点亮。

6 声光提示电路

3.4 程序设计

使用STM32F401单片机。题目的不同任务由相同控制模块组合完成,故程序设计说明通过介绍各功能模块说明。

7 激光测距流程图

图8 水平控制流程图

激光测距流程图如图7所示,获取距离数据后返回单片机,单片机再返给OpenMV做边长估算。水平位置控制流程图如图8所示。


四、测试方案与测试结果

4.1 测试方案

在保证目标物体的中心与测量装置测量中心在同一水平线的情况下,重复测量同一平面图形形状、边长、距离数据取平均值,并计算测量精度。更换目标图形后重复上述实验内容。

让目标物体出现在规定测量范围内任意位置,重复上述测试方案:记录距离、形状、边长,激光定位点与中心点的直线距离,计算测量精度。

4.2 测试结果记录

中心点对齐情况下测量精度测试数据详见表4-2-1。分别在距离装置2米、2.5米、3米的情况下,目标物体的形状、尺寸、距离。

                                 表4-2-1 中心点对齐时精度测试记录表

次数

参考值

测量值

形状

边长(cm)

距离(cm)

形状

边长(cm)

距离(cm)

1

正方形

36

200

正方形

34

197.9

2

30

250

正方形

32

247.7

3

38

300

正方形

40

296.1

4

圆形

35

200

圆形

36

202.2

5

40

250

圆形

40

253.6

6

36

300

圆形

34

293.4

自动跟随精度测试:

测试所得数据详见4-2-2。中心点不固定对齐,在允许范围内任意放置目标物体重复上述操作。

                           表4-2-2 自动跟随测量精度测试记录表

次数

参考值

测量值

形状

边长(cm)

距离(cm)

形状

边长(cm)

距离(cm)

中心偏差(cm)

1

正方形

36

200

正方形

37

201

5

2

30

250

正方形

33

248.1

4

3

38

300

正方形

34

301.2

6

4

圆形

35

200

圆形

34

204.4

3.8

5

40

250

圆形

40

253.9

4.3

6

36

300

圆形

34

301.9

3

7

三角形

32

200

三角形

33

203.8

2.1

8

34

250

三角形

34

253.1

3.2

9

39

300

三角形

39

299.4

1.8

10

篮球

200

篮球

196

11

排球

250

排球

248

12

足球

250

足球

244.6


设计总结(获取原文及代码可主页联系获取)

5.1 特色创新

我们作品的特色在于,在前期调试过程中,我们把一些有用的参数通过oled显示出来,通过按钮微调参数,实现更加精准与便捷的调参过程。并且我们设计了一个舵机占空比函数,通过角度调整占空比,从而使舵机的角度位置调节更加精确。我们最后的发挥部分,通过双舵机配合,通过正逆运动学解算出了所需转动角度。

5.2 误差分析

作品误差一是来自于环境光线的影响,调试的时间不是固定的,光线有所变化,不同光线下机器所捕捉的颜色会有差别,极易造成误判。二来是OpenMV模块自带像素较低,对尺寸的估计比较粗略,偏差必然是存在的。再者是装置搭建时存在结构误差,导致中心点的偏离。前两者的误差都能通过软件调节

5.3 心得总结

在本次电赛G题中,我们组程序采用的是市面上最流行的HAL库编程,在做比赛的过程中,我们遇到了非常多的困难,在这期间也见过比赛中途退赛的同学,但我们坚持下来了,通过比赛学到了非常多的知识。在第一天,我们控制oled显示数据,根据自己所掌握的知识和网上的资料,我们试了无数次程序,每一次都不能成功,第一天就差点崩溃,甚至一度怀疑自己的能力,直到第二天,竟然发现我们新开封的oled竟然是个坏的,简直不敢相信会遇到这种事。在后面的几天中,也遇到莫名其妙的bug,比如头天晚上能成功运行的程序,到了第二天早上,却神奇的发现不能指示目标点中心,后来仔细检查发现,云台在经过多次旋转后,其中的一根导线虚短了,浪费了我们很多时间。通过这次比赛我们进行了一次为期四天的科研经历,确实学习到很多知识,熬夜通宵是常态,明白了在科研面前不能放弃,坚持下来,就一定能把实物做出来,最后,希望能够收获到不错的成绩!

基于stm32非接触式物体尺寸形态测量仪(电赛获得省二)相关推荐

  1. 基于stm32的非接触式物体尺寸形态测量仪(改进版)

    目录(完整论文+程序+视频可通过主页私信获) 第一章 绪论 1.1 背景和意义 1.1.1 背景 1.1.2 意义 1.2  国内外研究现状 第二章 测量仪设计方案 2.1 方案一 2.2 方案二 2 ...

  2. 非接触物体尺寸形态测量_如何确定接触式和非接触式测量之间的测量技术

    在接触式和非接触式测量技术之间做出正确选择可能是一项艰巨的任务.在发达的经济体中,自动化已越来越多地应用于计量领域,在该领域创造了两个创新领域.第一个应用程序利用机器人作为设备的载体,以执行自动检查测 ...

  3. 非接触物体尺寸形态测量_检修人必备的测量常识

    小编今天给大家分享一下测量的常识,咱们搞机械的一定要懂点测量知识! 一.测量器具的分类测量器具是一种具有固定形态.用以复现或提供一个或多个已知量值的器具.按用途的不同量具可分为以下几类:1. 单值量具 ...

  4. 非接触物体尺寸形态测量_质量工程师必须了解的测量常识,你不知道怎么行

    01 测量器具的分类 测量器具是一种具有固定形态.用以复现或提供一个或多个已知量值的器具.按用途的不同量具可分为以下几类: 1. 单值量具 只能体现一个单一量值的量具.可用来校对和调整其它测量器具或作 ...

  5. 非接触物体尺寸形态测量_机械工厂里面的测量工具,搞懂完的都是高工

    一.测量器具的分类 测量器具是一种具有固定形态.用以复现或提供一个或多个已知量值的器具.按用途的不同量具可分为以下几类: 1.单值量具 只能体现一个单一量值的量具.可用来校对和调整其它测量器具或作为标 ...

  6. 基于雷达-非接触式传感器的高次谐波峰值选择方法的准确心率和呼吸率检测

    1. 介绍 心率和呼吸率等生命体征是健康监测和医疗应用中最重要的生理信号之一.脉冲无线电 (IR) 超宽带 (UWB) 雷达成为非接触式生命体征检测中必不可少的传感器之一.心脏脉搏波很容易被噪声和呼吸 ...

  7. 【MSP430】基于MSP430G2553的非接触式转速测量仪

    传感器课程设计,基于MSP430G2553 的非接触式转速测量仪. 随着现代科技的不断进步,各个领域对测速系统的应用越来越多,同时也对测速精度的要求越来越高.从测速仪器是否与转轴接触又可分为接触式,非 ...

  8. 26、基于51单片机mlx90614(GY-906)非接触式红外测温上下限声光报警系统设计

    摘要 门式红外人体测温安检仪与传统的安检系统比较,增加了人体测温功能,在流行病多发季节可以适当的提醒人们减少外出,必要时可采取强制措施禁止出行以减少疾病的传播:并且测温为非接触式,与传统的接触式测温相 ...

  9. 第二十七篇、基于Arduino uno,获取mlx90614非接触式红外测温传感器的温度值——结果导向

    0.结果 说明:先来看看串口调试助手显示的结果,第一个值是空气的温度,第二个值是被测量的物体温度,如果是你想要的,可以接着往下看. 1.外观 说明:虽然mlx90614非接触式红外测温传感器形态各异, ...

最新文章

  1. 追忆童年,教你用Python画出儿时卡通人物
  2. docker 容器退出自动删除 一次性运行
  3. 让知识与经验成为你宝贵的财富
  4. [原] XAF How to implement a custom attribute to customize the Application Model
  5. html 文本框 自动拼接,HTML 中table的结构以及拼接
  6. 32G内存手机到底够用吗?看完泪崩
  7. 20145201 20145227 《信息安全系统设计基础》实验二 固件开发
  8. java 静态函数锁对象说明
  9. oracle操作字符串:拼接、替换、截取、查找、长度、判断
  10. yolo v4模型训练过程(超详细)
  11. 开源 CMS系统 / SNS系统 / BBS系统
  12. NTFS格式与FAT32格式区别
  13. MATLAB遗传算法调试
  14. IT服务台基础概念及创建方法
  15. 谈谈局域网监控软件,网和外网有什么区别...
  16. CAD2014学习笔记-常用绘图命令和工具
  17. mysql数据库外连_数据库外连接及MySQL实现
  18. 计算机专业大四课程,计算机专业大学四年课表.doc
  19. 港科夜闻|香港科大校长史维教授获颁法国荣誉军团军官勋章(Officier de la Légion d'Honneur)...
  20. 人工智能,你欠我们一个解释

热门文章

  1. MQTT消息服务——EMQ
  2. 程序修改图标后显示未更新——强制刷新windows图标缓存
  3. 索航科技技术类开发人员简历-本人
  4. HBuilder X中新建uni-app项目中的Hello uni-app模板后,自己添加的页面为什么运行时不显示,找不到入口?
  5. mysl首字的首字母、字符串的各个字符首字母、字符串所有拼音查询(超详细)
  6. 求助Ubuntu编译时报错问题
  7. 河北师范大学计算机就业去向,河北师范大学怎么样?就业前景|优势专业排名|分数线 - 职业圈...
  8. 干货| 外卖点餐系统(App及后台)
  9. supersqli(sql注入)
  10. SSH authorized_keys 无效问题