1.2 机器人从哪儿来
正如标题所示,本节要介绍的应该是机器人的历史起源。我们已经知道了一些非常重要的事实,比如“机器人”一词是由一位捷克作家Karel apek在1920年提出的,而且通过事实考证,在那几年里,还发生了很多更有趣的事情。为了讲述上更有序,让我们从头开始来看。
历史上很难准确地找出一个具体日期,说它就是第一个机器人诞生的时间。在此之前,我们对机器人已经有了一个相对严格的定义,因此一直等到20世纪,一个真正的严格意义上的机器人才出现。在那之前,我们充其量只是提到这个名词而已。
第一个接近机器人的设备,是一种被称为“鸽子”的机械鸟。它是公元前4世纪,在意大利的塔伦特姆,由希腊数学家Archytas发明的,由蒸汽推动前进。根据我们对机器人的定义可知,它还不能被认为是一个机器人(无法感知周围环境已失去资格),但在那个时代已经算是相当接近了。在接下来的几个世纪,有许许多多的机器人被尝试创建,如依靠水流来测量时间的钟表,实物大小的机械图案,乃至第一个可编程的人形机器人(实际上是一艘载有4个机械乐手的船)。所有这些机器存在的问题是它们几乎都没有获得可靠的信息来源,因此都存在很大争议。
这样的状态一直延续了相当长的一段时间,直到20世纪50年代Leonardo Da Vinci的笔记被重新发现。它完整地记录了1945年发明的一个类人机器(从外形上看起来与人相似的机械装置),它看起来像一个装甲骑士。从表面上看,它被设计成可以端坐、挥舞手臂、摇头,最重要的功能是用来娱乐皇室成员。在18世纪的娱乐行业方面,Jacques de Vaucanson发明了3个自动玩偶:可以演奏12首歌的长笛乐手,手鼓演奏器,以及最著名的“消化鸭”。这只鸭子能够自己移动,发出嘎嘎声,拍打翅膀,甚至有能力吃东西并将食物消化(不是真正将食物消化,而是把食物存储收集在一个隐藏的容器内)。它是一个“运动解剖学”的例子,用机械装置建模人体或动物解剖学。
我们再来看看接下来的一个世纪里那些非常类似于机器人的装置,它们在机器人的历史演变长河中是不可或缺的。它们中的大部分是由无线电控制的,如Nikola Tesla的小船,之前陈列在纽约麦迪逊广场花园的玻璃柜内。你可以控制它前进、停止、向左或向右转,打开或关闭灯光,甚至让它下沉。所有这些在当时似乎并不太令人印象深刻,因为当时的报刊新闻报道认为这是一种“精神控制”。
就是在这样的社会认知下,我们再一次接触到机器人这个术语,这也是它第一次被正式公开提到。正如我们之前说过很多次,在1920年Karelapek在他的剧本《R.U.R》中正式用到了机器人这个术语。20年后,另一个非常重要的术语又被创造出来了。1942年,Issac Asimov在他的短篇小说《环舞》(Runaround)中第一次提到了机器人学(robotics)这个术语。Issac Asimov还写了很多其他关于机器人的故事,是一位当时非常著名的科幻小说家。
然而,在机器人学领域,他更为突出的贡献是提出了机器人学三定律:
第一定律:机器人不得伤害人类,或坐视人类受到伤害。
第二定律:在不违背第一定律的前提下,机器人必须服从人类的命令。
第三定律:在不违背第一及第二定律的前提下,机器人必须保护自己。
后来,他又补充了机器人零定律:
零定律:机器人不得伤害人类的整体利益,或坐视人类的整体利益受到伤害。
这些定律一定程度上反映了当时人们对称之为“机器人”的这种机器的态度。看到具有一定智能的机器人奴役真的成为可能,那么我们在发明设计这种新的智能机器的时候,就算不能直接遵循这些定律,也应该将其作为指导原则牢记在心。同时,虽然很多人还是害怕机器人会带给我们灾难,但从时代发展上看,暂时还不会这样。机器还将需要拥有一定程度的智能,一定的思考能力,能根据它们自己的想法去行动,这样才能认为机器人真的来了。我们纵观机器人的历史发展过程,虽然在当时机械方面确实有了一定进步,但在智能方面基本还是停滞不前的。
正是在这样的情况下,到1956年夏天,几个非常聪明的年轻人(Marvin Minsky、John McCarthy、Herbert Simon和Allan Newell)聚集在一起,讨论要如何给机器创造智能(人工智能),他们被认为是人工智能这个新领域的奠基人。
虽然这几个年轻人当时野心勃勃(有些资料上甚至提到他们计划在那个夏天就能发明创造出整机智能),但到一些有意思的结果出现之前,还是经过了一段时间。
一个有代表性的案例就是Shakey,美国斯坦福国际研究所(SRI)1966年发明的一个机器人。它是首台能够自主进行推理行动的机器人(按照我们现在对机器人的理解)。在此之前的机器人,都是通过执行预编译程序指令来完成动作的。换句话说,Shakey能够分析更复杂的程序指令,并能自行将复杂指令分解成一系列更简单的问题。图1-2所示的这张Shakey的图片来自于https://en.wikipedia.org/wiki/File:ShakeyLivesHere.jpg。
它的硬件配置也是非常先进的,它装有撞击探测器、声呐测距仪和电视相机。它可以在一个摆满各种障碍物的小的封闭的环境里运行。为了要在这些障碍物间行走,必须要找到一种能够不碰到并且绕过它们的方法。Shakey采用了一种非常简单的方式。
开始,它先小心翼翼地给自己规划了一条能绕过这些障碍物的行动路径(那时候的路径搜索技术还不太先进),然后试着慢慢地移动并绕过障碍物。当然,从一个稳定位置开始移动不可避免地会出现一些偏移。Shakey在移动过程中就出现了很多这样的偏移,由此得名为Shakey。
那些试图想教会Shakey怎样去适应周围环境的研究人员总结出了很多非常重要的经验。其中A*搜索算法(一种在两个目标点之间能非常快速有效地找到最佳路径的算法)毫无疑问可以算是众多研究成果之一。这个算法不仅在人工智能或机器人领域,而且在整个计算机科学领域都被认为是最重要的基础算法之一。
关于机器人的历史起源,我们还可以讨论很长时间。虽然任何人都能以这个主题写一本书(当然它本身就是一个很有意思的事情),但这并不是本书主要想讲的内容。还是回到我们之前关心的问题:机器人从哪儿来?
简而言之,机器人主要是从非常基础的机械自动化发展演变而来的,系统或装置通过远程遥控对象使其能够自主(甚至是自适应)地去完成特定目标。这样听起来太复杂了?别担心,事实上制作一个你自己的机器人,可以不需要理解太深的原理。你见到的绝大部分机器人都是由很多简单的部分组成的,被拆分的这些小部分都不难理解,并不像整体看起来那样难懂。
那么,接下来就来看看怎样构建一个我们自己的机器人,了解一下这些机器人都是由哪些部分组成的。