实时控制软件开发第四次作业(团队作业)总结
评分细则
本次作业总分100分
分两部分,团队得分
1.团队实现了咖啡机的基本功能和控制逻辑,6个阶段交付件,70分
2.模型各个block命名清楚,关键部分有注释,stateflow优化,控制逻辑好,10分
3.咖啡机功能完备,比如咖啡选择,报错机制,咖啡预约等,以及做了额外工作的,10分
4.文档完备,比如PIL测试做了,但是自己写一个报告更好,整个软件的各个文档齐全,5分
5.github管理合理,5分
个人得分
小组成员得分分三档,每档权重为1,0.95,0.9,视个人在整个团队所做的贡献,主要看小组分工和三周个人工作总结博客而定
作业情况
第一组
- 团队项目github链接
- 整个小组的任务分配,我觉得很好,所有成员参与架构设计,再每个人都负责一个具体的模块,每个人工作量合理;文档完备;github很清晰,只可惜也没有用develop分支来管理;实现了咖啡机的基本功能,只是有些细节做的还不够
- 稍有不足的点
1.整个布局有点乱,stateflow建模的控制器要统一起来,也就不需要每个模块里都来一个poweron和off状态,积分模快可以去掉
2.命名规范问题,在中期检查时还提出过这个问题要加以改进
3.控制模块之间耦合,sensor状态图处理两个两个物理模块的sensor信号,输出同时为两个控制模块同时调用
- 小组得分
70+6+5+5+5=91 - 成员得分
前期需求分析和概要设计是全员参与
WANG XY(组长):Conveyor_Belt模块,Mix模块,物理模块,整体调试,总结报告;小组给的分工,经查看,完成了以上工作,第一档次,得91分
WANG ZH:Cup_Storage模块;小组给的分工,经查看,完成,第二档次,得86分
ZHANG SS:Feeder模块,软件说明文档;小组给的分工,经查看,完成,第一档次,得91分
PAN J:Hot_Water模块,PIL测试报告;小组给的分工,经查看,完成,第一档次,得91分
XIE XL:Doser模块,SIL测试报告;小组给的分工,经查看,完成,第一档次,得91分
第二组
- 团队项目github链接
- 整个模型基本实现了咖啡机的物理建模,控制逻辑,代码生成,PIL测试等,咖啡机动作流程和基本功能够实现,只是有些细节做的还不够
- 稍有不足的点
1.github的管理有待加强,比如每个子目录应该有个readme介绍这个目录有什么内容,是干什么的;没有利用develop分支;提交的注释要详尽
2.因为实际编码器输出的值就是一串数字,在我们的程序里我们处理为对应的单位数值(不过simscape里sensor可以直接得到角度值和位移值),对sensor物理信号在控制器的外部做了处理将输出转换成0或1,其实可以放到stateflow处理
3.命名规范问题,就如同C语言里的变量名最好一看就大致知道是干嘛的,你这里还可以更清楚一点
4.输出的文档要完备,比如PIL测试,虽然你做了,在博客里也写了PIL测试没问题,但是自己也应该写个测试报告出来
5.stateflow还可以优化,比如stop和stop1两个子状态是可以合并的,因为实际情况都是电机停,状态里的动作都是复位;像motor1_up和down的确是两个不同的实际动作,一个上升一个下降,状态里的动作也不一样,就可以是两个子状态
- 小组得分
70+8+5+3+4=90 - 成员得分
HE J(组长):负责个项目的对接和交流,同时负责物理建模,仿真测试,C代码生成,PIL测试;小组给的分工,经查看,前三周的个人总结,属实,第一档次,得90分
WU YJ:stateflow建模,软件设计规格书、概要设计说明书整理;小组给的分工,经查看,第一,二周没交博客,第三周博客没写自己所做的具体内容,第三档次,得81分
FANG K:pump和doser的stateflow建模及完善;小组给的分工,经查看,完成及改进pump,heat,conveybelt的stateflow模块,第一档次,得90分
ZHAO YM:stateflow建模,软件设计规格书、概要设计说明书整理;经查看,完成及改进feeder_up_down,feeder_rot的stateflow建模,第一档次,得90分
ZHAO HW:物理建模,项目总结报告;经查看,和HE J一起负责物理建模,第二档次,得86分
第三组
- 团队项目github链接
- 物理模型是用simulink的基本模块搭建的数学模型,控制的方法采用中央控制器+各个模块的分控制器,中央控制器控制整个流程;实现了基本的功能,还做了一个用户选择咖啡的界面,增加配方检测功能,错误处理功能;以及有各个容器模块,比较完备;关键的地方有注释;github进行版本控制,有相应的readme说明;stateflow的话,没有出现相近状态重复出现,命名较清晰;项目总结写了37页,有实在的内容;各方面的做的不错
- 小组得分
70+10+10+5+5=100 - 成员得分
ZHANG ZB(组长):负责整个团队的交流沟通,github管理,PIL测试,软件规格书,项目总结等文档编写;以上方面在他的博客均有记录,第一档次,得100分
CHEN ZP:核心控制器的设计,GUI调试,修复BUG,代码生成;以上方面在他的博客均有记录,第一档次,得100分
PENG YY:概要设计,各个子模块的设计(物理建模和stateflow建模),调试bug,第一档次,得100分
LI JJ:概要设计,PIL测试;博客对概要设计有清楚描述,第二档次,95分
LIU YS:做一些简单的测试;博客所述工作寥寥几笔,第三档次,90分
第四组
- 团队项目github链接
- 整个阶段交付件都有,PIL测试也做了,但是对于我在中期检查提出问题没做任何改变,里面核心一块用stateflow建立控制器根本就没有,就两个简单的子状态。可以说基本功能没有实现,我也提不出那些细节不够
- 小组得分
60+3+3+4+4=74 - 成员得分
ZHOU L(组长):负责模型的创建;小组给的分工,经查看,属实,第一档次,得74分
LIU CL:负责sil和pil的仿真;小组给的分工,经查看,没有写三个周的总结,但是在github上有PIL测试报告,没有用PIL块,只是将运行模式改为PIL,也可以,第二档次,得70分
TIAN YX:文档的编写;小组给的分工,经查看,github上有,第二档次,得70分
RANG L:代码的自动生成;小组给的分工,经查看,未见博客总结,github上有,第二档次,得70分
KE JY:负责模型的创建;小组给的分工,经查看,博客有说明,第一档次,得74分
成绩排序
姓名 | 分数 |
---|---|
ZHANG ZB | 100 |
PENG YY | 100 |
CHEN ZP | 100 |
LI JJ | 95 |
XIE XL | 91 |
PAN J | 91 |
WANG XY | 91 |
ZHANG SS | 91 |
LIU YS | 90 |
ZHAO YM | 90 |
HE J | 90 |
FANG K | 90 |
ZHAO HW | 86 |
WANG ZH | 86 |
WU YJ | 81 |
ZHOU L | 74 |
KE JY | 74 |
RAN L | 70 |
TIAN TX | 70 |
LIU CL | 70 |
总结
此次作业历时三周,关于这次作业评分标准,我想了很久,采用团队打分+团队成员分档(视贡献值)打分;中期做了两次检查,对各个小组对出修改意见,期间在QQ群和同学交流答疑,有时候 QQ交流不方便,学生会到我实验室一起讨论;有些组因为有人考研,加之团队管理不佳,所以四个组的完成情况还是很分明的,通过查看小组作业情况,70%的同学对于基于模型的软件开发有了较深的理解;此次作业遇到的问题还是提交时间的问题,集中,因为是团队作业,内容较多,故花费时间很长才打完分;由于很多组主要时间块是周六周日,所以提交时间定在周日晚9点,但是给我造成的问题是晚上3个钟头批改不完,只能周一继续批改,所以我想对于内容很多的作业,我把时间节点定在周日12点较好,小型作业定在晚8点,估计好点;对于交作业延迟的问题,我想是我一开始就执行不严,这学期助教工作也结束了,下学期我应该在一开始就和同学严重申明作业提交时间,一开始就执行严格。