机器人编程第二步:具体问题具体分析

经过第一步分解任务后,接下来就要具体分析每一步是如何实现。
基本上到这里,孩子们都喜欢直接冲到电脑前开始写程序,但是呢,往往一堆问题,复杂点的任务更是写着写着就懵了。
虽然我们已经分解了任务,但只是一个初略的分解,具体每一步的如何实现,前面的分解步骤是否有纰漏,是否合理,这些是需要我们具体来分析一下的。
这一步我们需要写出每个步骤的具体完成动作,是那个传感器在发挥作用,各个马达应该如何运转。如下入所示。


image.png

下面我们来具体分析一下。
记得还在初中的时候,在《智慧背囊》(暴露年龄了)里有这么个故事:有个记者采访一个滑雪冠军,问他怎么学好滑雪,冠军说:你要先知道怎么停下来。
就像永动机是个伪命题一样,我不认为这世上有永远没有结束的事,大到太阳,看似永恒,可是50亿年后也会因为内部的氢元素全部耗尽,导致核心将发生坍缩。小到我们每天吃饭,我们不会一顿饭从早吃到晚,从今天吃到明天,当我们饱了,不想吃了,或者饭吃完了,吃饭这个事也就结束了。
所以对于我们机器人任务的每一步,“你要先知道怎么停下来”,我们需要知道这一步什么时候结束。
以上节课的巡线任务为例。
第一步是直行。具体任务描述是从起点巡线到A点。这里其实有两层含义:一个是巡线,一个是这一步的结束标志是到达A点。如果不去关注每一步的结果,就会导致程序停留在这一步,无法结束。
那怎么判断到达A点呢,A点处是一个直角,可以用光电来做遇黑判断,单光电遇黑时,就可以停下来结束这一步了。
然后在考虑巡线,巡线可以用单光电巡线来完成,一般到这个地步的孩子对单光电巡线都不陌生,不过这里就还是多啰嗦一下,因为单光电巡线看似简单,但是还是很容易出错的。
单光电巡线根据光电在黑线的左边还是右边会有不一样的走法,在左边时,遇黑要左转,否则右转,在右边则是反过来。
上面这个过程看似复杂,但是我把这个过程总结为三个问题:是我是谁?我从哪里来?要到哪里去?开玩笑的,是:终止条件是什么?终止状态是什么?这一步要干嘛?这是那个问题又可以叫做三板斧,我自嗨一下,不用在意。

终止条件:右光电遇黑
终止状态:停下
这步干嘛:黑线右边巡线

弄清楚这三个问题后,再具体看下这步干嘛怎么做

黑线右边巡线:
          左光电遇黑则右转
          否则左转

文章刚开始我说这个环节我们要具体到每个光电每个马达的状态,所以这步干嘛还要在细化:

黑线右边巡线:
          左光电遇黑则右转(左马达动,右马达不动)
          否则左转(左马达不动,右马达动)

于是我们就可以把任务分析表给填好了,就是最开始那张表。
有学生会说:老师,搞这么复杂干嘛?
因为前面不这么分析的细致一点,所有最后调试遇到的问题都在这些细节里,马达转动方向不对,光电跟马达的配合不当,等等。其实都可以通过这一步的分析来避免的。
按照上面的套路,我们把第二步的任务分析表也整出来。


image.png

这时候我们对比一下第一步跟第二步的终止条件会发现,两个都是右光电遇黑,这就意味着第二步的右转在开始的时候就结束了。真是出师未捷身先死,尴尬了。这里其实就是一个光电状态的问题,我们可以在第一步跟第二步之间增加一个小的环节,让光电离开黑线上的状态。


image.png

这里呢,有些学生喜欢把前冲这个动作放在第一步的终止状态里,不是不行,但是我建议单独设置一步,这样使整个分析结果更加清晰明了,遇到问题容易定位也容易修改。所以我们第一步的分解步骤,在这里就要做修改。
前进,前冲,右转,前进,前冲,左转,前进,前冲,右转,前进,停留2秒,后退,掉头,前进,前冲,右转,前进。
前三步的任务分析表如下图所示,后面的步骤跟前面大同小异,用相同的办法分析就行了。


image.png

限于篇幅,这里稍作补充下,对于经验丰富的学生,他们其实会发现,第一步的巡线其实可以从起点一步到B点的,因为对于直角弯,单光电巡线完全可以在外侧直接通过,不需要分解成两段直线。只要把双光电放在黑线左侧,用右光电来巡线就行了。如果是这样的话,我们的任务分解又要做修改了,我要去给老婆做饭了,没时间了,这里就偷懒一下啦,还是按前面的步骤来吧。
下一篇就是要开始写程序啦,下周见。

老规矩,可子镇楼。


可子3.jpeg
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容

  • PID控制器是一种常用的控制技术,常用于多种机械装置(如车辆、机器人、火箭)中。用数学方式来描述PID控制器是非常...
    云淡天空阅读 6,252评论 0 11
  • 这是如何用机器人编程教授计算思维的第一篇,今天我们来讲讲分解在机器人课堂的应用。机器人是严格按照程序设计来运行的,...
    Karen隆阅读 1,444评论 1 2
  • 今天我们彩泥课上那叫一个开心!这是开学第一个彩泥课! 今天是我们李老师给我们上的彩泥课,老师交我们...
    dongyunhao阅读 220评论 0 0
  • 题记:在这个社交为王的虚拟世界里,信任来的是那么得不易…… 刘宁还在思忖着自己入金的事,他想着报销一回来就先入50...
    挫折当存折阅读 193评论 0 0
  • 在工作当中我经常会接触到很多朋友,对于个人征信、信用卡的使用、互联网贷款、包括个人融资等等工作和生活当中的许多经济...
    o奚溪o阅读 1,037评论 0 0