1.1.8 机器人分类
虽然许多类型的机器可能满足7个标准中的1个或多个,但是一台机器若要看作一个真正的机器人,必须至少满足上述7个标准。需要明确的是,一个机器人可以多于但不能低于这7种特性。幸运的是,我们并没有要求一个机器人像人类那样具有智力或情感。事实上,现在使用的大多数机器人与人类很少有共同点。机器人分为三个基本类别,如图1-2所示。
这三类机器人仍然可以基于其如何运行和编程做进一步划分。之前我们将机器人描述为遥控机器人或自主机器人。因此,我们有遥控的或自主的地面、空中或水下机器人。图1-3展示了空中或水下机器人的简单分类。
图1-2 机器人的三种基本分类
图1-3 空中和水下机器人的运行模式
空中和水下机器人
空中机器人也称为无人机(Unmanned Aerial Vehicle,UAV)或自主式无人机(Autonomous Unmanned Aerial Vehicle,AUAV)。但不是每个UAV和AUAV都有资格成为一个机器人,记住前面的7个标准。大多数UAV仅仅是机器,但其中有一些满足所有7个标准且可以通过编程来执行任务。水下机器人也称为遥控潜水器(Remotely Operated Vehicle,ROV)和自主式水下机器人(Autonomous Underwater Vehicle,AUV)。类似于UAV,大多数ROV仅仅是机器而并未上升到机器人的水准,但是水下机器人也可以像任何其他机器人那样编程和控制。
正如你可能会想到的那样,空中和水下机器人经常面临的问题是地面机器人通常不需要考虑的。例如,水下机器人必须通过编程在水下导航和运行,也必须处理所有来自水生环境(如水压、水流、水等)的挑战。大多数地面机器人不用或不需要在水生环境中运行,也通常并不需要防水防潮设计。
空中机器人负责起飞、降落,并且它们通常在离地数百或数千英尺的空中运行。UAV机器人所编程必须考虑一个航空器所要面对的一切挑战(比如,如果一个空中机器人失去了所有动力会发生什么?)。而一个地面机器人耗尽电源后可能只是简单地停止工作。
如果出现导航或电源问题,UAV和ROV都可能会遇到灾难。不过,地面机器人有时也可能遇到危险。它们可能在边缘掉落、从楼梯上滚下、钻进液体里或在恶劣天气里失灵。一般而言,机器人只运行在上述某一类环境中,很难建立和设计一个可以运行于多类环境的机器人。UAV通常不在水中操作,ROV通常也不在空中操作。
虽然本书中的大多数示例集中于地面机器人,但是所介绍的机器人编程的概念和技巧可以应用于所有这三类机器人。机器人具有其框架,图1-4展示了一个简化的机器人组成框架。
所有真正的机器人具有图1-4所示的基本组成框架。不论一个机器人属于哪一类(地面、空中或水下),它应至少包含四类可编程组件:
图1-4 一个简化的机器人组成框架
·一个或多个传感器
·一个或多个执行器
·一个或多个末端作用器/环境作用器
·一个或多个微控制器
这四类组件是最基本的机器人编程核心。在最简单的形式里,机器人编程归结为用控制器控制机器人的传感器、执行器和末端作用器。是的,机器人编程远比仅仅处理传感器、执行器、感受器和控制器要复杂,但是这些组件主要构成了机器人的内部和外部设备。机器人编程的其他主要涉及机器人的场景,我们将在后面介绍。现在,首先来看看(其实也是简单看)这四个基本的可编程机器人组件。