• 花了6个月时间完成本科优秀毕业设计,我做了什么?


    在这里插入图片描述

    1 前言

    从去年12月开题到今年6月结束,整整半年时间都在处理毕业设计的项目。好在取得了一个比较好的结果,遗憾的是没能推荐为校级优秀。本文记录一下毕业设计和答辩完成的过程。考虑到论文的保密性,隐去部分技术细节,但不影响理解。

    在这里插入图片描述

    2 选题

    我的毕业设计选题是《某环境下多机协同系统设计》,为什么选择这个题目呢?我出于以下考虑:

    • 可以锻炼全技术栈能力
      系统涉及底层硬件控制,也是我所在的控制系的老本行;算法设计,主要包含任务调度和路径规划算法;软件设计,包含可视化界面(Web)、控制服务器、算法工程化等内容。总之,这是一个包含前后端、软硬件的综合性项目,既然本科阶段做不到深入,那就把面铺开
    • 涉及大量通识技术
      什么叫通识技术?就是那些课上一般不教(默认会),且将来一定用得到的技术。举例而言,ROS对于从事机器人控制、自动驾驶等方向的来说就是一种通识技术。既然早晚都得会,不如用毕业设计的时间来学。
    • 多机协同是复杂任务处理的趋势
      随着智能化水平的提高,越来越多的复杂任务都期望实现自动化,大多数情况下,这类复杂任务交付多机协作的效率会远远超过单机,所以了解和学习多机协作有必要性。
    • 其他题目没啥意思

    因为疫情影响没能部署到实体,最后就在下图所示的Gazebo环境里实现了一下多机协同,文末放演示动图。

    在这里插入图片描述

    3 技术选型

    • 硬件
      工业界用的比较多的是AGV——一种轮式机器人,所以毕设里我就采用通用轮式移动机器人,建立运动学模型即可。机器人上包含激光雷达、RGB摄像头、里程计等传感器,这部分内容我都写在《ROS从入门到精通》
    • 控制服务器
      为了更好协调多个机器人,设计了一个主控平台,也是系统的后端,负责调用智能算法、发布任务包、作为中继协调底层和前端的数据流动等。本设计采用Flask做服务端,用蓝图管理API。其实做服务器还是得用java,flask显得比较轻量
      在这里插入图片描述
    • GUI
      用VUE+ElementUI设计前端Web界面,因为重点不在前端,所以简单设计了登录注册、机器人管理、地图预览、用户管理这些最基本的功能
    • 插件
      选择PostgreSQL作为数据库、ROS3d.js实现前端三维渲染、ROS-Bridge作为前端和ROS服务器的通信插件
    • 算法
      改善了传统A*路径规划算法并增加局部协作;改善了传统任务调度算法。

    4 研究过程

    以我目前的眼界来看待研究过程:

    1. 查阅文献,了解某个问题在领域内的主流解决方案
    2. 复现别人的算法,控制领域主要用Matlab
    3. 发现别人算法的不足,改进它,设计自己的算法(哪怕是很小的改进)
    4. 比较算法的性能,并进行多次测试
    5. 确认算法设计无误后,进行工程化,简单说就是将Matlab脚本转换为C++代码
    6. 将多个工程化代码集成为若干个模块
    7. 将若干个模块集成为一个系统

    举个例子,我毕设中用到了路径规划,最简单的算法就是A*算法,它部署到ROS上是下面这个样子,紫色的区域是搜索空间

    在这里插入图片描述
    改进后算法的如下所示,简单说就是计算出相同最优路径的前提下,改进后算法搜索空间远远小于传统A*算法,改善了算法效率。这个改进就是“查阅+复现+对比”的结果,大概仿真了5种算法进行优势互补。

    在这里插入图片描述
    Mark一下,等研究生毕业回来看看这套方法论有没有需要完善的地方。

    5 毕业答辩

    经过指导老师和评阅老师同意后,可以进行毕业答辩。在答辩前对着PPT练了二十遍左右,练的时候不是单纯背稿,而是看看阐述过程中有没什么Bug,我大概列举了18个可能会问的问题,虽然最后一个也没问到,但是思考的过程会改善答辩的效果。

    真正答辩的时候,对于本科生来讲,只要论文是自己写的、答辩老师和指导老师没仇,一般不会为难你,问的也都是论文本身的问题,可能是技术问题,也可能是那种主观性很强的问题,结合我所听到的,列举一些主流问题在下面,有需要可以收藏:

    • 为什么选择这个题目? / 选题的意义是什么?
    • 你的方案和现有方案比,有什么优势?
    • 论文的创新点是什么?
    • 设计过程中遇到最大的难点是什么?(这个问题要注意,老师会顺着你说的难点考察你的解决过程,务必仔细思考)
    • 算法为什么这么设计?
    • 原理性问题
    • 做出的假设是否合理?对实际应用有什么要求?
    • 为什么不考虑xxx的影响?
    • 你的主要工作是什么?

    对论文写作有问题的同学可以参考我的这两篇文章

    6 效果展示

    最后是结果的简单展示,欢迎从事相关领域的同行来交流~

    前端展示:

    在这里插入图片描述
    标注好任务点后点击发布任务,任务包就会传到后端进行调度,然后分发到底层机器人。

    Matlab仿真:

    在这里插入图片描述
    Gazebo仿真(动图太大上传不上来,放一张图片):

    在这里插入图片描述

    抽奖送书

    本期图书推荐:《人机物融合群智计算》

    在这里插入图片描述

    【书籍简介】

    • 今天的信息世界已经与一人一机组成的、分工明确的人机共生系统不同,而是一个多人、多机、多物组成的动态开放的网络社会,即物理世界、信息世界、人类社会组成的三元世界。人工智能与物联网、边缘计算和数字孪生等技术的快速发展及深度融合,可为智慧城市、智慧社区、智能制造等领域提供高度集成的智慧空间环境,人、机、物等要素在其中彼此交互与激发,将构建更加组织灵活、行为自适、自主演化的空间。
    • 《人机物融合群智计算》作为全球首本人机物融合著作,既可以为物联网、人工智能、工业互联网、智慧城市、智能制造等领域的科研人员和IT从业者提供创新的发展视角及相关理论、方法与技术支撑,也可以作为高年级本科生或研究生的参考教材。

    【抽奖方式】

    1. 关注博主,点赞收藏文章,并做出有效评论
    2. 根据评论记录随机抽取2位用户赠送实体图书
    3. 截止日期:7.3日晚8点,届时通过blink公布获奖信息,请中奖用户及时私信

    🔥 更多精彩专栏

    🏠 私信进入AI技术交流群,白嫖30G电子书和教学资源,定期发布AI知识干货、免费科技实体书等福利!

    👇配套代码 · 优质体验 · 系统知识 请关注👇
  • 相关阅读:
    2022年最新广西水利水电施工安全员考试题库及答案
    高数---曲线积分
    字符串的大小(补充)
    (附源码)springboot酒店管理平台 毕业设计 201010
    Vulkan图形开发简介
    干货丨如何开启TiDB集群中的节点通信加密?
    Jmeter接口自动化生成测试报告html格式
    华为云会议,轻松实现远程智能办公
    招股书写了“元宇宙“318次!飞天云动再战港股“元宇宙第一股“
    双十一什么数码产品值得买?2022双十一值得买的数码好物推荐
  • 原文地址:https://blog.csdn.net/FRIGIDWINTER/article/details/125280077