计算机设计大赛国奖作品_2. 报名材料

计算机设计大赛国奖作品_2. 报名材料

本系列是2021年中国大学生计算机设计大赛作品“环境监测无人机航线优化”的相关文档,获得2021年西北赛区一等奖,国赛三等奖。学生习作,只供大家参考。

计算机设计大赛国奖作品_1. 项目概要
计算机设计大赛国奖作品_2. 报名材料
计算机设计大赛国奖作品_3. 需求分析
计算机设计大赛国奖作品_4. 界面设计
计算机设计大赛国奖作品_5. 核心算法
计算机设计大赛国奖作品_6. 测试报告
[计算机设计大赛国奖作品_7. 安装使用]
[计算机设计大赛国奖作品_8. 项目总结]
[计算机设计大赛国奖作品_9. PPT]


1. 作品名称:环境监测无人机航线优化


2. 内容简介:


2.1 项目背景:

采用无人机搭载的大气移动监测设备对特定区域和污染源的空气污染情况进行监测,具有高效省时、灵活隐蔽、快速锁定污染源的优点。无人机飞行航线的规划,需要在符合机动性能、规避障碍等约束条件的前提下,设计一条完成分配任务的飞行航线。无人机的航线规划,可以运用模拟退火算法解决。

2.2 创新点:

1)研究现有模拟退火算法中操作算子的特征与相互关系,发现交换操作等价于两个嵌套的反序操作的叠加复合;
2)由此通过计算交换操作的中间结果获得两个反序操作的结果,可以不增大计算量而获得由交换和反序操作所产生的 3条新路径;
3)由此提出一种新的交换-反序联合算子模拟退火算法,不增大计算量而使模拟退火算法的搜索空间扩大了3倍。

2.3 软件特点:

1)采用改进模拟退火算法,扩大搜索范围,提高优化性能和效率;
2)完全自主开发了环境监测无人机航线优化软件,可以满足无人机飞行航线规划的应用需求;
3)开发了考虑风向影响的航线规划功能。


3. 设计思路:

本项目研究的思路是按照算法研究、需求分析、程序设计、测试归档的步骤开展研究和设计:

3.1 算法研究:

(1)文献调研与问题分析:研究现有反序、移位和交换等操作算子的特征与相互关系,分析算法的具体实现过程;
(2)算法改进:先分别计算两个嵌套的反序操作的路径差,二者相加后就得到了交换操作的路径差,也即由计算交换操作的路径差的中间结果可以得到两个反序操作的路径差;
(3)提出优化算法:提出一种新的交换-反序联合算子模拟退火算法,可以不增大计算量而获得由交换操作和反序操作所产生的 3条新路径,使模拟退火算法的搜索空间扩大3倍,提高优化性能;
(4)测试改进算法:以不同规模的Benchmark问题进行测试,仿真结果表明联合算子的性能优于现有的移位、交换、反序算子,也优于这些算子的组合方案。

3.2 需求分析:

(1)需求调研:

由于大气污染具有“涉及区域范围较大、区域之间污染物传输量大、污染源种类多、污染因子相对复杂”等特点,传统环境监测方式面临工作量大、灵活性差、污染源定位难等问题。采用无人机搭载的大气移动监测设备,对特定区域和污染源的空气污染情况进行监测,具有高效省时、灵活隐蔽、快速锁定污染源的优点。

环境监测无人机可实现高空间、大面积监测,也可实现低空间较小范围准确监测,通过多种检测方法融合,获取监测点位和区域的环境数据。深圳可飞科技、广州格赛、北京未来智能等公司的产品和解决方案都已经投入商业应用,为环境监测、应急救援、应急响应、智慧城市与科学研究等领域提供强有力的决策依据。

环境监测无人机产品和技术首先考虑满足环境监测任务,通过搭载气体检测传感器和云台相机,将监测气体数据、相机获取的图像及无人机的飞行数据,实时传输至控制中心。现有产品大多不具有飞行路径规划功能,主要通过人工设置监测顺序和飞行航迹。因此,开发环境监测无人机航线优化软件,结合机动性能、规避障碍等约束条件自动进行航线规划,可以为客户提供更好的用户体验。

(2)问题建模与求解算法:

对无人机的飞行航线的规划,需要在符合机动性能、规避障碍等约束条件的前提下,设计一条完成分配任务的飞行航线。即对给定的正权完全图求其总权重最小的Hamilton回路,是典型的旅行商问题。旅行商问题是经典的组合优化问题,属于NP完全问题,其全局优化解的计算量以问题规模的阶乘关系增长。
对于大规模旅行商问题的研究集中于高性能的近似最优方法,包括基于特征信息(如位置、距离、角度等)构造的各种启发式搜索算法,以及通过模拟或解释自然规律而发展的模拟退火算法、遗传算法、蚁群算法、神经网络算法等智能优化算法。

模拟退火算法是解决大规模组合优化问题的常用方法,基于前述对模拟退火算法的研究和改进成果,可以解决无人机飞行路线的路径优化问题。

(3)分析软件需求:

业务需求:获取指定环境监测点的地图和位置坐标数据,获取无人机机动性能、规避障碍等约束条件,获取无人机飞行航线规划的优化目标;通过模拟退火算法进行路径优化,并输出优化结果输出;根据实时监测结果,动态调整飞行任务和飞行航线。

功能需求:①数据输入功能,包括新建项目、导入项目、读取数据文件;②设置,包括设置优化参数、设置约束条件、设置优化目标;③路径优化,根据输入的数据和条件,运用改进的模拟退火算法优化加工路径,显示优化结果;④结果输出;⑤帮助功能。

用户界面需求:①遵循图形用户界面(GUI)设计原则,界面直观,对用户透明;②界面设计中保持一致性,使用标准控件和统一的信息表现方法;③主界面设有菜单栏、工具单和快捷键,显示上次运行的优化结果图形;④菜单和子界面包括:数据输入、参数设置、路径优化、结果输出、帮助。

运行环境需求:软件采用 Python3.8编程,Qt开发GUI界面。推荐在Intel 1.6GHz以上CPU、2G以上内存,Windows7/Windows10操作系统使用。

3.3 软件设计:

(1)总体设计:①数据输入模块:新建项目,或导入项目,或从文件读取监测点位的数据;②参数设置:模拟退火算法参数设置,可选约束条件设置,可选优化目标设置;③路径优化:采用改进模拟退火算法优化路径,可选其它优化方法进行优化性能比较,图形化显示优化过程,显示优化结果;④结果输出:输出优化路径,保存到文件;⑤帮助功能。
(2)程序编码:在总体设计的基础上,按照数据结构、算法分析和模块实现等方面的设计要求,编写Python 程序实现功能、性能、接口、界面的要求。

3.4 软件测试:

(1)以不同规模的Benchmark问题进行测试,并与原有算法、其它优化算法进行比较,主要测试改进算法的优化性能;

(2)针对典型用户实际案例进行测试,主要测试软件界面、功能模块符合设计需求。

3.5 交付与总结:

编写项目文档(开发文档、用户手册),整理过程文件并归档。
交付用户试用;并收集用户的意见,用于产品更新和升级。

在这里插入图片描述


版权声明:

youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/123979917)

Copyright 2022 youcans, XUPT
Crated:2022-4-6

计算机设计大赛国奖作品_1. 项目概要
计算机设计大赛国奖作品_2. 报名材料
计算机设计大赛国奖作品_3. 需求分析
计算机设计大赛国奖作品_4. 界面设计
计算机设计大赛国奖作品_5. 核心算法
计算机设计大赛国奖作品_6. 测试报告
[计算机设计大赛国奖作品_7. 安装使用]
[计算机设计大赛国奖作品_8. 项目总结]
[计算机设计大赛国奖作品_9. PPT]

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【youcans 的 OpenCV 例程200篇】147. 图像分割之孤立点检测

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】147. 图像分割之孤立点检测 1. 图像分割基本概念 图像分割就是把图像分成若干个特定的、具有独特…

【youcans 的 OpenCV 例程200篇】148. 图像分割之线检测

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】148. 图像分割之线检测 2. 点、线和边缘检测 本节基于图像灰度的不连续性,讨论根据灰…

数组顺序的移动

按照控制台的文本提示输入数组的长度,输入数组的元素,控制台会输出你输入的数组,然后会有文本提示让你输入移动的位数,当你输入之后,会重新输出移动之后的数组。 结果展示 代码演示 package com.three;import java.…

计算机设计大赛国奖作品_4. 界面设计

计算机设计大赛国奖作品_4. 界面设计 计算机设计大赛国奖作品_1. 项目概要 计算机设计大赛国奖作品_2. 报名材料 计算机设计大赛国奖作品_3. 需求分析 计算机设计大赛国奖作品_4. 界面设计 计算机设计大赛国奖作品_5. 核心算法 计算机设计大赛国奖作品_6. 测试报告 [计算机设计…

【youcans 的 OpenCV 例程200篇】149. 图像分割之边缘模型

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】149. 图像分割之边缘模型 2. 点、线和边缘检测 本节基于图像灰度的不连续性,讨论根据…

求数列1/3到1/n之和

求数列之和,数列从1/3开始,到1/n结束,当我们输入任意数x的时候,那么这个数列相加之和到1/x结束,控制台会输出数列之和。 求1/3到1/9数列之和 结果演示 代码演示 package com.four;import java.util.Scanner; publi…

【youcans 的 OpenCV 例程200篇】150. 边缘检测梯度算子

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】150. 边缘检测梯度算子 2. 点、线和边缘检测 本节基于图像灰度的不连续性,讨论根据灰…

计算字符串长度

字符串是任意类型任意数字组成的一段字符,那么我们如何计算此段字符串的长度呢??? 结果演示 代码演示 package com.four;import java.util.Scanner; public class Long {public static void main(String[] args) {Scanner inpu…

【youcans 的 OpenCV 例程200篇】151. 边缘检测中的平滑处理

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】151. 边缘检测中的平滑处理 2. 点、线和边缘检测 2.4 边缘检测的常用梯度算子 边缘检测的基本方…

排序 从小到大输出

根据控制台文本提示输入三个数字,控制台会按照从小到大的顺序输出。 结果演示 代码演示 package com.four;import java.util.Arrays; import java.util.Scanner; public class Paixu {public static void main(String[] args) {Scanner input new Scanner(Syste…

c语言uint32_使C语言实现面向对象的三个要素,你掌握了吗?

编排 | strongerHuang微信公众号 | strongerHuang不知道有多少人去了解过语言的发展史,早期C语言的语法功能其实比较简单。随着应用需求和场景的变化,C语言的语法功能在不断升级变化。虽然我们的教材有这么一个结论:C语言是面向过程的语言&am…

【youcans 的 OpenCV 例程200篇】152. 边缘检测之 LoG 算子

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】152. 边缘检测之 LoG 算子(Marr-Hildreth 算法) 2.5 LoG 边缘检测算子&…

【youcans 的 OpenCV 例程200篇】153. 边缘检测之 DoG 算子

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】153. 边缘检测之 DoG 算子 2.6 DoG 边缘检测算子 LoG 算子的计算量较大,可以通过数学…

目标检测_目标检测: AnchorFree 时代

本文转载自Smarter。自从2018年8月CornerNet开始,Anchor-Free的目标检测模型层出不穷,最近达到了井喷的状态,宣告着目标检测迈入了Anchor-Free时代。其实Anchor-Free并不是一个新概念了,大火的YOLO算是目标检测领域最早的Anchor-F…

热点地图

使用H5制作一个中国的热点地图&#xff0c;地图上标识出的地方会有波纹向四周散发的动态效果。 效果演示 代码演示 <!DOCTYPE html> <html xmlns"http://www.w3.org/1999/xhtml"><head><meta http-equiv"Content-Type" content&qu…

【youcans 的 OpenCV 例程200篇】154. 边缘检测之 Canny 算子

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】154. 边缘检测之 Canny 算子 2.7 Canny 边缘检测算法 Canny 算法希望在提高边缘的敏感性的同时抑…

段码液晶屏笔段电压范围_LCD段码(笔段)液晶显示屏和点阵液晶显示屏

液晶显示屏简称LCD屏&#xff0c;主要材料为液晶。液晶是一种有机材料&#xff0c;在特定温度范围内&#xff0c;既有液体流动性又有某些光学特性&#xff0c;其透明度和颜色随电场、磁场、光及温度等外界条件的变化而变化。液晶屏是一种被动式显示器件&#xff0c;液晶本身不会…

按规律插入一个数字到数组中

根据控制台的文本提示输入一个数&#xff0c;程序会把这个数按照规律插入到原来已经存在的数组中&#xff0c;并且会输出此数组。 结果演示 代码展示 package com.five;import java.util.Scanner;public class Crpx {public static Scanner input new Scanner(System.in);p…

【youcans 的 OpenCV 例程200篇】155. 边缘连接的局部处理方法

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】155. 边缘连接的局部处理方法 2.8 局部处理连接边缘 在实际应用中&#xff0c;由于噪声、光照等原…

【youcans 的 OpenCV 例程200篇】156. 边缘连接局部处理的简化算法

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】156. 边缘连接局部处理的简化算法 2.8 局部处理连接边缘 在实际应用中&#xff0c;由于噪声、光照…