姓名:______________________________
日期:____________________
结业项目
设计一台能帮上忙的机器人
挑一项真实的任务,然后设计、搭建、编程、测试并改进一台能完成它的机器人。
90 至 120 分钟(可以分两次课上完)
要点
把整门课汇到一起
结业项目不是什么新想法,而是这门课里所有想法同时开工。你的机器人要感知(第 4 周)、用循环和条件作决定(第 5 周)、在稳固的底盘上行驶(第 2 周)、照着规划好的顺序走(第 3 周)、经过测试和改进(第 6 周),并完成一次安全的自主任务(第 7 周)。
挑一项真有意义的任务
好的任务是为真实的人解决一个小而真实的问题。「把一张纸条送到教室的另一头」比「什么都干」要好,因为你真的能把它做出来、也能测试。
先规划,再动手
专业的工程师都是先在纸上规划。你的规划书要点明任务、需求(它必须做到什么)和约束(时间、尺寸或材料之类的限制)。
测试、改进、讲清楚
把你的机器人跑三遍,逐次记录发生了什么,而不是只记「成没成」。真实的机器人是按能不能可靠地把活儿干好来评判的,不是靠碰巧成功的那一次。
要认识的词
- 任务:
- 你为自己的机器人挑的那一件有用的活儿。
- 规划书:
- 动手之前写下的一份简短方案,说明任务、需求和约束。
- 「输入、处理、输出」示意图:
- 一张图,画出你的机器人感知什么、怎样作决定、以及做了什么。
- 流程图:
- 你程序的分步示意图,用方框表示动作、用菱形表示判断。
- 迭代:
- 通过测试你的设计、找出问题、再作出改动,把它变得更好。
- 安全停车:
- 一种行为:任务完成或有东西挡路时,让机器人安全地停下来。
- 评分量表:
- 一张表格,说明入门、发展中、熟练和优秀的作品各是什么样子。
你的活动
设计、搭建、编程并测试你的帮手机器人
目标:把挑好的任务从方案一路做成一台经过测试和改进的机器人,其中要用到传感器、顺序、循环、条件和安全停车。
- 先把规划书填完:任务、需求、约束。然后画出标注草图、「输入、处理、输出」示意图和流程图。
- 把机器人搭好或配置好,让它跑得稳,并且至少用一个传感器。写出带顺序、循环、条件和安全停车的程序。
- 跑三轮测试,逐轮记录,作出一处改进,并写下你关于机器人怎样帮上忙的最终说明。
写下发生了什么:
预测
动手测试之前,先写下你的猜测。
第一轮测试之前先预测:任务的哪一部分最可能出岔子?
测试并记录
最终任务的三次运行测试
从同样的初始布置把整项任务跑三遍。逐轮记录发生了什么,以及任务有没有完成。
记录:任务有没有完成,以及两轮之间改动了什么
| Run | 发生了什么 | 任务完成了吗?(是/否) | 该改什么 |
|---|---|---|---|
知识检测
逐题作答。选择题请把最合适的答案圈出来。
工程师为什么要在动手做之前写规划书、画流程图?
- A.为了让项目做得更久
- B.为了在花掉材料之前,把任务、需求和步骤都想清楚
- C.因为不许动手做
- D.为了给机器人做装饰
你的程序里必须有一个条件。条件让你的机器人能做什么?
- A.不管发生什么,都永远重复同一个动作
- B.根据传感器读到的东西来选择一个动作
- C.跑得更快
- D.给自己的电池充电
为什么要把任务跑三遍,而不是一遍?
- A.为了证明它稳定管用,而不是碰巧成功了一次
- B.因为第一轮不算数
- C.为了把电池耗光
- D.为了显得很忙
什么是「安全停车」行为?
- A.把电池拔了,让机器人关机
- B.一段编好的行为:任务完成或有东西挡路时,让机器人停下来
- C.一直开到机器人撞上去为止
- D.让机器人在最后加速
反思
你的机器人是怎样帮到别人的?用两三句话说明这项任务。
测试之后你作出的那一处改进是什么?它让结果有了什么变化?
如果再给你一周,接下来你会加点什么、或者改点什么?