跳到主要内容

姓名:______________________________

日期:____________________

第 4 周

让机器人学会感知

读取真实的传感器数值,找出阈值,并给机器人做校准,好让它感知到的东西靠得住。

70 至 85 分钟

要点

机器人可以拥有的四种感官

机器人靠传感器感知世界。常见的有四种:触碰传感器(有没有被按下?)、距离传感器(最近的东西有多远?)、光线传感器(有多亮?)和颜色传感器(这个表面是什么颜色?)。

读数是一个数字,不是「是」或「否」

大多数传感器不会只说「是」或「否」,它们给出的是一个数字,叫作传感器读数。距离传感器可能读出 12 厘米;光线传感器可能读出亮度 47。

阈值把数字变成判断

阈值是你自己挑的一个分界数字,用来区分两种情况。如果你挑 15 厘米,那么小于 15 的读数就算「近」,大于 15 的就算「远」。

探测极限:每个传感器都有量程

没有哪个传感器什么都能感知。距离传感器超过一定量程就不管用了:它也许在 2 米以内读得挺准,再远就是一堆废数。它还能感知到的那个最远的点,就是它的探测极限。

噪声:为什么只测一次不够

把距离传感器对准一堵不动的墙,连着读几次。你可能会得到 30、31、30、29、31:明明什么都没变,数字却在小幅跳动。这种跳动就叫噪声。

校准与可靠性

校准的意思是核对或调整传感器,让它的读数在这个房间、这台机器人上是准确的。光线传感器在阳光充足的房间和在昏暗的房间读数不一样,所以同一个阈值不可能到处都好使:你得针对身处的这个房间去校准。

要认识的词

触碰传感器:
一种能判断自己有没有被按下的传感器,就像按钮或者保险杠。
距离传感器:
一种测量最近的物体有多远的传感器,通常以厘米为单位。
光线传感器:
一种测量环境有多亮或多暗的传感器,光越亮,给出的数字越大。
颜色传感器:
一种读取正前方表面颜色的传感器,比如红色、蓝色或白色。
传感器读数:
传感器在某一刻给出的数字,比如 20 厘米,或者亮度 47。
阈值:
你自己挑的一个分界数字,用来区分两种情况,比如「比 15 厘米还近就算近」。
探测极限:
超过这一点传感器就感知不到了,比如距离传感器读不出大约 2 米以外的东西。
校准:
调整或核对传感器,让它的读数在这个房间、这台机器人上是准确的。
噪声:
什么都没变,读数却还是会小幅跳动,正因如此才要多测几次。
可靠性:
你能有多信得过一个传感器每次都给出同样、正确的读数。
一次测量:
一场测试里的单独一次测量;通常要做好几次,然后互相比较。
基准读数:
在一个已知、稳定的条件下先测出来的读数,用来和其他读数作比较。

你的活动

传感器考察实验

目标:测量条件变化时传感器读数如何随之变化,并找出一个能干净利落分开两种情况的阈值。

  1. 挑一个条件一步一步地改(到墙的距离、亮度,或者表面的颜色),每改一步就读一次传感器。
  2. 把每个读数都记在记录表上。然后看着这些数字挑一个阈值:一个能把「近和远」或者「亮和暗」分开的分界值。
  3. 记住:这一周机器人只负责读数和报告。这些数字是什么意思,由你来判断。

写下发生了什么:

校准与阈值挑战

目标:靠多测几次来对付噪声,然后校准出一个在这个房间里可靠好用的亮暗(或远近)阈值。

  1. 挑一个稳定的条件,什么都别动,对着同一样东西连读几次;留意数字跳动了多少。这个跳动就是噪声。
  2. 在一个明显「低」的条件和一个明显「高」的条件下各测一次(暗对亮,或者近对远)。把阈值定在中间,好把两者干净利落地分开。
  3. 检验你的阈值:确认低条件的读数都落在一边、高条件的读数都落在另一边。如果不是,就调一调,这就是校准。

写下发生了什么:

预测

动手测试之前,先写下你的猜测。

测量之前先想想:墙在 20 厘米处时距离传感器读出 20 厘米,那你预测把墙挪到 40 厘米时它会读出什么?是更大还是更小的数字,大概是多少?

预测一下:对着同一堵不动的墙连读五次,每次会得到一模一样的数字吗?

测试并记录

距离与读数对照表

把墙(或者把条件)设到表上列出的每个距离,读取传感器并记下数字。要是数字在跳,就读三次取中间那个。

记录:每个设定距离下的传感器读数,以及你会把它算作近还是远

设定距离(厘米)传感器读数算近还是算远?
   
   
   
   

三次测量的噪声检查

挑一个条件,之后不要再改动它。连着读三次传感器,把每次读数都记下来,看看它跳动了多少。

记录:什么都没变的情况下,几次测量之间读数变化了多少(也就是噪声)

第几次测量传感器读数与第 1 次的差值
   
   
   

知识检测

逐题作答。选择题请把最合适的答案圈出来。

  1. 把每种传感器和它测量的东西连起来。

    距离传感器

    光线传感器

    触碰传感器

    颜色传感器

    某样东西有多远

    环境有多亮

    有没有东西被按下

    一个表面是什么颜色

    (Draw a line from each item on the left to its match on the right.)

  2. 用你自己的话说说,什么是传感器阈值?

  3. 什么是传感器读数?

    • A.传感器在某一刻给出的数字
    • B.传感器的名字
    • C.机器人的颜色
    • D.一条让机器人动起来的指令
  4. 距离传感器对着一堵墙读出 30 厘米,对着一堵更近的墙读出 12 厘米。这说明读数是怎么回事?

    • A.东西越近,读数越大
    • B.东西越近,读数越小
    • C.读数是随机的,没什么意义
    • D.传感器坏了
  5. 你想让机器人把 15 厘米以内的一切都当作「近」。这个数字 15 叫什么?

    • A.探测极限
    • B.噪声
    • C.阈值
    • D.执行器
  6. 你对着同一堵不动的墙读了五次,得到 30、31、30、29、31。这些数字为什么会跳?

    • A.墙一直在动
    • B.因为有噪声,所以要多测几次
    • C.阈值定错了
    • D.传感器没电了
  7. 你的亮暗阈值在教室里好用,到了阳光充足的房间却失灵了。你该怎么办?

    • A.放弃算了,光线传感器在外面就是不管用
    • B.为新房间校准传感器,并定一个新的阈值
    • C.让机器人跑得更快
    • D.多装几个轮子

反思

你的传感器什么时候给出过出乎意料的读数?可能是什么造成的?

你对着一个不动的物体读了好几次,得到的数字却略有不同。这是为什么?你又是怎么处理的?

为什么一台在某个房间里感知得完美无缺的机器人,换个房间还得重新校准?