2021年全国大学生电子设计竞赛D题——基于互联网的摄像测量系统(三)

13 测试方案和测量结果

  1. 测量一个边长为1米的正方形,取三个顶点分别作为O、A、B点。

  2. 在O点上方,用细线悬挂激光笔,激光笔常亮向下指示,静止时激光笔的光点和O点重合。

  3. 将两个D8M摄像头子卡插到DE10-Nano开发板上,放于A、B两点,作为摄像节点A和摄像节点B。

  4. 第三个DE10-Nano开发板作为终端节点。

  5. 使用HDMI线将三个HDMI显示器分别连接到摄像节点A、B和终端节点DE10-Nano开发板上的HDMI接口。

  6. 编写摄像节点程序和终端节点程序,并分别放到摄像节点A、B和终端节点DE10-Nano开发板中的SoC Linux系统中(也可直接使用友晶提供的完整解决方案)。

  7. 用交换机组件局域网实现两个摄像节点和终端节点之间的网络互联。

先用OTG转接线将USB HUB连接到DE10-Nano开发板的USB OTG接口,然后再将鼠标和键盘连接到USB HUB上,输入vi 指令编辑配置文件,修改A的IP地址为192.168.1.10,然后输入:wq保存并退出;输入reboot重启Linux。

同样地,设置摄像节点B的IP为192.168.1.11,终端节点的IP为192.168.1.12。

第二步是运行摄像节点A、B的软件,首先输入insmod dma_buffer.ko加载驱动;然后输入./camera_side_v2运行摄像节点程序,后面的第一个参数是摄像节点A或B,第二个参数是终端节点的IP,第三个参数是摄像节点A、B的IP。运行完成之后会弹出一个窗口,在这个窗口中会显示摄像节点A、B拍摄到的画面。

接下来输入python3 main_ui.py运行终端节点软件,后面的这三个参数分别是192.168.1.10 192.168.1.11 192.168.1.12摄像节点A、B和终端节点的IP。

运行完成之后会弹出一个窗口,这是摄像节点A、B拍摄到的画面,这里是消息显示窗口,这里会显示测量的结果,下面是三个按钮。

拉动激光笔偏离静止点,要保证激光笔经过O点做直线运动,然后点击Start按钮开始测量,在消息窗口会显示计时的秒数,大约10s后,会在result窗口显示出测量结果:线长为70.56cm,角度为61°,实际的线长为70cm,角度为60°,线长的误差为0.56cm,角度的误差为1°。

可以通过点击Show Camera A Data按钮和Show Camera B Data按钮来查看摄像节点采集到的数据集以及拟合出的曲线图。

这个是摄像节点A的数据点和曲线图:

这个是摄像节点B的数据点和曲线图:

另外还给出了摄像节点A、B计算出的振幅、周期和线长,可以看到,摄像节点A的振幅>摄像节点B的位移,所以我们最终选择摄像节点A计算出的线长70.56cm。

题目要求能够测量的线长范围为50cm ~ 150cm,角度范围为0° ~ 90°,我们这里采取了线长为59、101和139的线长进行测量,可以看到,测量线长的误差绝对值在1cm以内,测量角度的误差绝对值在3°以内,且测量时间约为10s左右,满足题目的要求。

14 测试过程视频演示

视频参考微信原文:2021年全国大学生电子设计竞赛D题——基于互联网的摄像测量系统(三)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/554075.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

按摩上门小程序源码系统 带完整的安装代码包以及搭建教程

随着人们生活节奏的加快,越来越多的人开始追求便捷、高效的生活方式。按摩服务作为一种放松身心、缓解压力的方式,受到了广大消费者的青睐。然而,传统的按摩服务往往受到时间、地点等因素的限制,难以满足消费者的即时需求。因此&a…

ansible进阶-剧本调试方法

目录 1、调试方法 2、实例 2.1 Debug模块 2.2 tags标签 2.3 忽略错误 1、调试方法 具体方法应用场景debug标签执⾏剧本的时候输出剧本的执⾏流程,⼀般配合register⼀起使⽤. 输出facts变量自定义变量tags标签给⼀些模块加上标签,运⾏剧本的时候可以运⾏指定标签的…

Halo自定义文章分类

在自定义站点的时候,往往需要再特定的页面展示个性的内容,为了满足这个特殊的要求,就需要文章自定义标签,然后挂载到自定义下面达到自己要的效果。 Halo版本 版本:2.12在theme.yaml指定文章分类页 spec:customTempla…

springboot 载入自定义的yml文件转DTO

改进方法,直接spring注入 import cn.hutool.json.JSONUtil; import org.springframework.beans.factory.config.YamlMapFactoryBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import …

Pulsar【部署 01】消息队列PULSAR在Linux环境的主程序安装使用(小内存服务器问题处理)

官方网站:https://pulsar.apache.org/ 对于本地开发和测试,您可以在机器上以单机模式运行Pulsar。单机模式在单个Java虚拟机(JVM)进程中运行所有组件。本地单机版安装手册: 消息队列PULSAR在Linux环境的主程序安装使用 1.Prerequisites1.1 Pu…

万兆以太网MAC设计(4)CRC_process模块

文章目录 前言一、模块功能二、实现过程三、仿真总结 前言 上文介绍的MAC_RX模块当中增加了CRC校验和比对的功能,本文将根据CRC校验的结果,来决定将数据输出到上层用户还是丢弃。 一、模块功能 接收MAC_RX模块输出的AXIS数据,存入本地环形…

每日两题1

文章目录 使用最小花费爬楼梯91解码方法 使用最小花费爬楼梯 class Solution { public:int minCostClimbingStairs(vector<int>& cost) {if(cost.size() 2)return min(cost[0],cost[1]);vector<int> dp;dp.reserve(cost.size()1);dp[0] 0;dp[1] 0;for(int i…

Flink KafkaSink分区配置的不同版本对比

Flink KafkaSink分区配置的不同版本对比 在不同版本的Flink中&#xff0c;KafkaSink 分区默认配置方式可能会有一些变化。以下是摘自Flink官方文档不同版本的原文&#xff1a; 1. Flink版本&#xff1a;1.12~1.19 Sink 分区 # 配置项 sink.partitioner 指定了从 Flink 分区到 …

eBay、亚马逊自养号测评如何避免风控账号关联选择合适网络IP环境

在自养号下单中选择适合的网络环境至关重要。经过多次实践与测试&#xff0c;积累了大量的经验&#xff0c;希望能够与大家分享&#xff0c;帮助大家避开陷阱&#xff0c;顺利前行。 市面上的网络环境种类繁多&#xff0c;从纯IP类的Luminati、Rola&#xff0c;到纯环境类的VM…

Redis 的数据结构和内部编码

Redis的 5 种数据类型 Redis 底层在实现上述数据结构的时候&#xff0c;会在源码层面&#xff0c;针对上述实现进行 特定的优化 &#xff0c;来达到节省时间/节省空间效果 特定的优化&#xff1a;内部的具体实现的数据结构&#xff0c;在特定场景下&#xff0c;不是其对应的标准…

ros1 C++ 输出helloworld

1、创建工作空间并初始化 mkdir -p 自定义空间名称/src cd 自定义空间名称 catkin_make运行完&#xff0c;生成文件如下图&#xff1a; 2、进入 src 创建 ros 包并添加依赖 cd src catkin_create_pkg 自定义ROS包名 roscpp rospy std_msgs这里&#xff0c;我的自定义ROS包名…

VUE 页码分页封装

VUE 页码封装组件 pagination/index.vue &#xff1a; <template><div class"pagination-contianer"><el-pagination background layout"prev, pager, next" :total"total" current-change"currentChange"> </e…

SQL255 给出employees表中排名为奇数行的first_name

题目来源&#xff1a; 给出employees表中排名为奇数行的first_name_牛客题霸_牛客网 描述 对于employees表中&#xff0c;输出first_name排名(按first_name升序排序)为奇数的first_name CREATE TABLE employees ( emp_no int(11) NOT NULL, birth_date date NOT NULL, firs…

【服务器部署篇】Linux下Redis安装

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0c;产…

基于SpringBoot的幼儿园管理系统 免费获取源码

项目源码获取方式放在文章末尾处 项目技术 数据库&#xff1a;Mysql5.7 数据表&#xff1a;16张 开发语言&#xff1a;Java(jdk1.8) 开发工具&#xff1a;idea 前端技术&#xff1a;html 后端技术&#xff1a;SpringBoot 功能简介 项目获取关键字&#xff1a;幼儿园 该…

《大话数据结构》03 线性表

1. 线性表的定义 线性表&#xff1a;零个或多个数据元素的有限序列。 这里需要强调几个关键的地方。 首先它是一个序列。也就是说&#xff0c;元素之间是有顺序的&#xff0c;若元素存在多个&#xff0c;则第一个元素无前驱&#xff0c;最后一个元素无后继&#xff0c;其他每…

基于云计算技术的HIS系统,一体化云HIS、云病历、云LIS系统源码,扩展后能够应用于医联体/医共体

医院信息管理系统云HIS系统源码&#xff0c;云计算技术的HIS系统源码 开发技术&#xff1a; 前端&#xff1a;AngularNginx&#xff1b; 后台&#xff1a;JavaSpring&#xff0c;SpringBoot&#xff0c;SpringMVC&#xff0c;SpringSecurity&#xff0c;MyBatisPlus 等&…

基于ssm校园驿站全天候辅助取货管理系统的设计与实现论文

摘 要 身处网络时代&#xff0c;随着网络系统体系发展的不断成熟和完善&#xff0c;人们的生活也随之发生了很大的变化&#xff0c;人们在追求较高物质生活的同时&#xff0c;也在想着如何使自身的精神内涵得到提升&#xff0c;而读书就是人们获得精神享受非常重要的途径。为了…

DNS服务器的管理与配置

目录 一、相关知识 域名空间 DNS服务器分类 域名解析过程 资源记录 二、安装DNS服务 安装bind软件包 DNS服务的启动与停止 配置主要名称服务器 主配置文件 从例子学起&#xff1a; &#xff08;1&#xff09;建立主配置文件named.conf &#xff08;2&#xff09;…

酒店管理系统

文章目录 酒店管理系统一、项目演示二、项目介绍三、15000字论文参考四、部分功能截图五、部分代码展示六、底部获取项目源码和万字论文参考&#xff08;9.9&#xffe5;带走&#xff09; 酒店管理系统 一、项目演示 酒店管理系统 二、项目介绍 基于springbootvue前后端分离的…