跳到主要内容
返回博客
机器人

机器人如何知道自己在哪里?

5 分钟 阅读

一个机器人使用摄像头和传感器扫描并绘制周围环境地图以导航
机器人使用摄像头、激光雷达和建图软件构建周围环境的图像,并在移动时不断更新。

闭上眼睛在学校里走一段试试。前几步没问题,然后你就会撞上墙、桌角,或者谁扔在地上的书包。想走得安全,你得先知道自己在哪儿。

机器人面对的是同一道题。它并不会自动知道自己的位置,它得靠传感器、摄像头、轮子、地图和一堆数学慢慢算出来。思路其实不复杂:把周围的线索收集起来,对自己在哪儿做一个最靠谱的猜测,然后决定下一步往哪走。

机器人也需要感官

人有视觉、听觉、触觉和平衡感。机器人有传感器,负责替它留意这个世界。有的量距离,有的看东西,有的测速度,有的分辨方向。

  • 摄像头:看墙、路面、人、标志和障碍物
  • 轮子编码器:数机器人走了多远
  • GPS:在户外估个大概位置
  • 激光雷达:用激光把周围扫一遍
  • 超声波传感器:靠声波弹回来判断距离
  • 陀螺仪:感觉自己是在转还是在歪

每个传感器只递给它一块拼图。摄像头看到一扇门,轮子说走了五英尺,距离传感器说右边有堵墙。这些线索拼起来,它才知道自己站在哪儿。

数车轮转数

最土也最好用的一招,是数轮子转了多少圈。从教室门口出发,轮子往前滚了三米,那它现在大概离起点三米。这叫里程计,说穿了就是数步数。

那轮子打滑了呢?地面不平呢?一丁点误差会一路攒下去,越滚越大。所以机器人从来不只靠一个传感器。

像眼睛一样使用摄像头

有些机器人拿摄像头当眼睛。扫地机器人盯着家具腿和墙脚,自动驾驶汽车看车道线、红绿灯和行人,火星车用它研究岩石、绕开会陷进去的地形。

但摄像头看到的世界和你看到的不一样。你一眼扫过去就知道那是把椅子;机器人拿到的是一堆数据,得从形状、颜色、边缘、阴影和规律里推出来那是什么。光线会变,东西会互相挡住,椅子从正面、侧面和背面长得都不一样。这些情况它全都得提前训练过。

建立地图

有些机器人边走边画地图。扫地机器人从一个房间开始,慢慢摸清墙在哪、家具在哪、哪块是空地,然后照着这张图有条理地扫,而不是满屋子乱撞。

跟你第一次进一栋陌生的楼是一个道理。刚进去两眼一抹黑,转两圈之后你开始记住:楼梯在门口附近,体育馆在走廊尽头,图书馆一拐弯就是。机器人也在记,只不过用的是传感器和程序。

有些机器人更狠,一边画地图一边给自己定位,等于同时回答两个问题:这地方长什么样,我又在这张图的哪个点上?

为什么机器人还是会迷路

再聪明的机器人也有懵的时候。轮子打滑、传感器读数出错、房间被重新布置、家具挪了位、灯关了、镜头被挡住,或者两条走廊长得几乎一模一样,它就可能找不着北。

所以它会一遍一遍重新确认自己在哪儿。它不会猜一次就认定到底,而是每拿到一点新信息就把估计更新一次。你在博物馆里也是这么干的:瞄一眼地图,看一眼指示牌,再抬头找个参照物。

核心思想

机器人知道自己在哪儿,靠的是不停收集线索。摄像头、轮子、GPS、激光和运动传感器各出一份力,它把这些拼在一起估算位置、画地图、躲开障碍、决定下一步。

下次看到机器人在房间里穿行,别只看到它在滚。它在感知、在猜、在核对、在随时改主意。找路这件事,就是这么完成的。