目录
- 1 前言
- 2 选题
- 3 技术选型
- 4 研究过程
- 5 毕业答辩
- 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 研究过程
以我目前的眼界来看待研究过程:
- 查阅文献,了解某个问题在领域内的主流解决方案
- 复现别人的算法,控制领域主要用Matlab
- 发现别人算法的不足,改进它,设计自己的算法(哪怕是很小的改进)
- 比较算法的性能,并进行多次测试
- 确认算法设计无误后,进行工程化,简单说就是将Matlab脚本转换为C++代码
- 将多个工程化代码集成为若干个模块
- 将若干个模块集成为一个系统
举个例子,我毕设中用到了路径规划,最简单的算法就是A*算法,它部署到ROS上是下面这个样子,紫色的区域是搜索空间
改进后算法的如下所示,简单说就是计算出相同最优路径的前提下,改进后算法搜索空间远远小于传统A*算法,改善了算法效率。这个改进就是“查阅+复现+对比”的结果,大概仿真了5种算法进行优势互补。
Mark一下,等研究生毕业回来看看这套方法论有没有需要完善的地方。
5 毕业答辩
经过指导老师和评阅老师同意后,可以进行毕业答辩。在答辩前对着PPT练了二十遍左右,练的时候不是单纯背稿,而是看看阐述过程中有没什么Bug,我大概列举了18个可能会问的问题,虽然最后一个也没问到,但是思考的过程会改善答辩的效果。
真正答辩的时候,对于本科生来讲,只要论文是自己写的、答辩老师和指导老师没仇,一般不会为难你,问的也都是论文本身的问题,可能是技术问题,也可能是那种主观性很强的问题,结合我所听到的,列举一些主流问题在下面,有需要可以收藏:
- 为什么选择这个题目? / 选题的意义是什么?
- 你的方案和现有方案比,有什么优势?
- 论文的创新点是什么?
- 设计过程中遇到最大的难点是什么?(这个问题要注意,老师会顺着你说的难点考察你的解决过程,务必仔细思考)
- 算法为什么这么设计?
- 原理性问题
- 做出的假设是否合理?对实际应用有什么要求?
- 为什么不考虑xxx的影响?
- 你的主要工作是什么?
对论文写作有问题的同学可以参考我的这两篇文章
- 毕业论文写作技巧大总结,从摘要到展望全清楚了
- 毕业季快到了,在为毕业设计担心嘛?收下这份毕设知识大扫盲
6 效果展示
最后是结果的简单展示,欢迎从事相关领域的同行来交流~
前端展示:
标注好任务点后点击发布任务,任务包就会传到后端进行调度,然后分发到底层机器人。
Matlab仿真:
Gazebo仿真(动图太大上传不上来,放一张图片):
抽奖送书
本期图书推荐:《人机物融合群智计算》
【书籍简介】
- 今天的信息世界已经与一人一机组成的、分工明确的人机共生系统不同,而是一个多人、多机、多物组成的动态开放的网络社会,即物理世界、信息世界、人类社会组成的三元世界。人工智能与物联网、边缘计算和数字孪生等技术的快速发展及深度融合,可为智慧城市、智慧社区、智能制造等领域提供高度集成的智慧空间环境,人、机、物等要素在其中彼此交互与激发,将构建更加组织灵活、行为自适、自主演化的空间。
- 《人机物融合群智计算》作为全球首本人机物融合著作,既可以为物联网、人工智能、工业互联网、智慧城市、智能制造等领域的科研人员和IT从业者提供创新的发展视角及相关理论、方法与技术支撑,也可以作为高年级本科生或研究生的参考教材。
【抽奖方式】
- 关注博主,点赞收藏文章,并做出有效评论
- 根据评论记录随机抽取2位用户赠送实体图书
- 截止日期:7.3日晚8点,届时通过blink公布获奖信息,请中奖用户及时私信
学习与项目交流请加微信 yhd13950307060
更多精彩专栏:
- 《ROS从入门到精通》
- 《机器人原理与技术》
- 《机器学习强基计划》
- 《计算机视觉教程》
- …
源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系