传统机器人的类型有很多,形式也各式各样,但是随着软件代理(虚拟机器人)的出现,这些变种又大大扩充了。虚拟机器人借鉴了物理机器人的很多特性。例如,物理机器人的机动性意味着某种形式的移动,但是移动软件机器人(或 代理)也可以有机动性 —— 此处是指在网络上不同主机之间迁移的能力。图 1 给出了物理和虚拟领域中自治机器人的一个简单的分类。本文将着重使用 软件代理 作为在人工合成环境中仿真机器人的机制。
图 1. 自治机器人的简单分类
机器人的元素
不管我们是在讨论物理机器人还是虚拟(软件)机器人,有一些基本的概念都是相同的。机器人用一些传感器用来感知环境,用一些效应器来对环境进行操作,用一个控制系统让机器人按照我们期望的方式进行反应(参见图 2)。
图 2. 所有机器人系统的基本元素
在 物理世界中,消防机器人可以使用温度传感器、红外(IR)传感器、全球定位系统(GPS)来感知环境,并使用发动机和灭火器作为效应器来对环境进行操作。 而虚拟搜索代理则可以使用 Web 服务器和 HTTP 接口来感知环境(Internet)并对环境进行操作,并使用一个终端作为效应器来与用户进行通信。
图 3 所示的系统是一个封闭循环,传感器负责为控制系统提供数据,而控制系统则驱动着环境中因素的变化。考虑这个问题的另外一种方法是采用反馈这个术语。如果控 制系统指定了一个改变环境的操作,那么传感器就可以验证发生了这种变化,并将环境的新状态反馈给控制系统。而开放循环系统只能假设操作成功改变了环境的状 态,这永远都不是什么好事。
图 3. 对环境进行封闭循环操作
在构建机器人时,我们必须要从一个整体来考虑传感器、效应器和控制系统。对于本文来说,我们将着重介绍控制系统,以及在将其嵌入物理机器人之前可以对其进行仿真和验证的方法。