当进入一个新的领域时,将种类繁多的东西分成几大类往往是很有用的。这对机器人技术来说也是如此。以下三种基本的机器人类型,一开始似乎是清晰明了的类别,可以对所有机器人进行细分。然而,在你的机器人旅程中,你会遇到边缘案例和灰色区域。尽管如此,区分这些类型在现在和以后都是非常有用的。
操纵者
第一类基本的机器人是固定的操纵器。这类机器人包括 "经典 "的工业机器人手臂,从一开始就塑造了商业机器人行业。直到最近,它们也构成了世界上大多数的机器人。机器人属于操纵者类别所需的两个重要属性是:
- 机器人的目的是操纵物体,即有目的地在空间移动物体。
- 机器人本身是静止的。
图1显示了不同操纵器的例子:
图1.不同机器人操纵器的例子
现在你知道了什么是操纵器以及它们的样子,重要的问题是我们能用它们做什么。如图1所示,机械手有各种形状和大小。它们的移动方式也有很大差别,这取决于它们的结构。然而,每个机械手的基本操作是将其所谓的末端效应器移动到不同位置。末端效应器是机器人操纵器的最后一个部分,机器人的底座是第一个部分,或者是连接在那里的工具。见图2的说明。
图2.组成机械手的不同部分
该图中介绍了一些额外的机器人术语,让我们更详细地看看每个术语:
- 关节:机器人硬件中的可移动部件。最常见的关节类型是那些可以旋转的关节,如铰链,和那些可以线性延伸的关节,如抽屉滑轨或伸缩杆。关节包含使机器人移动的执行器。
- 链接:一个连接各关节的刚性机械部件。连杆赋予机械手以形状,构成了观察机器人时可见的大部分内容。
- 机器人底座:机器人的第一个环节。底座将机器人连接到环境中。
- 末端效应器(EE):机器人的最后一个环节,即从机器人底座算起,距离最远的一个环节。
- 工具法兰:一种标准化的安装板,可以将工具固定在机器人的最后一个环节上。工具法兰通常被简单地称为法兰。
- 工具:连接到工具法兰上的装置,使机器人能够执行预定的过程。这里的另一个常用术语是臂端工具(EOAT)。最常见的机器人工具是抓手。然而,机器人工具的种类和机械手执行的应用一样多。其他工具的例子有焊接设备、工具更换器、力矩传感器、喷漆机、材料去除设备和3D打印喷嘴。
不幸的是,终端效应器(EE)一词的使用是模糊的,这取决于我们是在谈论光秃秃的操纵器,还是谈论附有工具的操纵器。如果没有附加工具,EE与提供工具法兰的机器人的最后一个环节是相同的。如果连接了工具,工具或工具上的特定位置通常被认为是EE。在使用机器人系统时,请记得检查什么被定义为EE。
现在我们已经学会了一些重要的机器人术语,让我们回到这样一个事实:操纵器的基本操作是将EE移动到不同的位置。因此,机械手的抽象API是:
robot.move(pose)
移动机器人
移动机器人在环境中移动自己。正如上一节所讨论的,这与机器人操纵器形成了鲜明的对比,后者将物体移来移去,而操纵器本身却固定在环境中,是静止的。
图3.不同移动机器人的例子
在某些情况下,让机器人在环境中移动已经是机器人的目标。在其他情况下,目标是将机器人以外的东西一起移动,也就是说,机器人携带有效载荷。让我们从这第二种情况开始。
使用某种载体设备将物体从A地移动到B地是一项非常常见的任务。一旦你开始思考属于这一类的所有任务,你就会想到很多例子,以至于很难从这么多的案例中选择几个例子。几乎所有类型的陆上、海上、空中和太空的交通都是将离散的物体从A地运送到B地,包括运送人类。由于在室外环境中完全自主地操作移动机器人仍然具有挑战性,所以今天大多数物体运输的移动机器人都在室内环境中工作。这些室内运输机器人大多可以在物流和制造业中找到。所有运输任务与移动机器人实际部署的极小部分之间的巨大差距,显示了这个快速增长的行业尚未开发的潜力。
让我们继续讨论所提到的另一种移动机器人,即那些不打算携带有效载荷,而只是简单地移动自己的机器人。让机器人运输物体的价值是很明显的。毕竟,有时我们谁不喜欢把咖啡送到我们的办公桌上,而不是自己走到咖啡机前?除了娱乐目的之外,机器人只是四处移动而不运输任何有效载荷的目的就不那么明显了。我们需要审视作为机器人系统一部分的所有组件,以及它们在允许机器人在环境中移动之外还能带来什么价值。
一个组件,如传感器或执行器,如果与机器人的传感或行动部分相连,则被视为机器人的一部分。否则,该组件被认为是一个有效载荷。以一个摄像无人机为例。如果相机图像只是流向驾驶无人机的人的显示器,那么相机传感器就是一个有效载荷,而不是机器人系统的一部分。另一方面,如果相机图像(也)由无人机的传感部分处理,例如用于自动防撞,那么该传感器就是机器人系统的一部分。请看图4中相机传感器和传感部分之间的连接差异。
图4.(a)是机器人系统的一部分的传感器和(b)只是一个有效载荷之间的区别
上面已经讨论了随身携带有效载荷的价值。鉴于我们刚刚定义的有效载荷和机器人系统部件之间的区别,我们更容易看到机器人部件所能提供的价值,而不是让机器人发挥作用。我们继续以自主摄像无人机为例,它能够在不需要人类飞行员的情况下探索一个环境。虽然让无人机只是飞来飞去的价值可能很低,但在飞行后能够查看所探索的环境的三维模型,甚至只是记录的相机图像,都可以有很高的价值。想想看,测量施工方,检查石油管道或支持自然灾害后的恢复管理。有许多例子表明,机器人操作所需的传感器提供的数据可以提供额外的信息价值。但也有针对执行器方面的例子。
一个这样的例子是,一个移动机器人在环境中移动而没有额外的有效载荷,已经导致做一些有用的事情,这就是自主的蒸汽压路机。蒸汽压路机的目标是通过行驶压平一个表面。我们的蒸汽压路机机器人使用其特殊的轮子,即辊子,作为执行器来移动。因此,它们是机器人系统的一个组成部分,而不是一个额外的有效载荷。尽管存在这些例子,正如刚才所展示的那样,有趣的是,大多数服务于实际目的的移动机器人要么携带某种额外的有效载荷,要么属于信息收集类型。
现在我们对移动机器人的目的有了基本的了解,让我们来看看它们的抽象API:
robot.navigate(pose)
移动机械手
由于我们已经在前面的章节中讨论了机器人操纵器和移动机器人,所以定义移动操纵器是很直接的。移动机械手是一个安装在移动机器人上的机械手。当然,这里的假设是,组合的机器人仍然是移动的,而且操纵器仍然可以发挥作用。
图5.移动机械手的例子。
就新功能而言,拥有移动机械手背后有不同的动机。
- 在不同的地方使用一个机械手。移动方面通过运输操纵器,消除了操纵器的静止属性。重点是在操纵方面。
- 增强移动机械手有效载荷运输的灵活性。机械手方面允许有效载荷的装载和卸载。重点是运输。
- 将操纵器的工作空间扩展到无限大。通过同时使用操纵器的运动能力和移动基地的运动能力,移动和操纵方面是密切相关的。这也被称为全身控制。
通过单独的移动机器人和操纵器,可以实现与案例1相当的功能。移动机器人将机械手作为有效载荷抬起来,运送到另一个地方,然后在新的地方将其放下。在运输过程中,机械手是一个纯粹的有效载荷,它甚至不需要有动力。
对于案例2,我们也可以考虑一个解决方案,不涉及移动复制,而是单独的移动机器人和操纵器。我们会在装货和卸货的地方放一个固定的机械手,而不是在移动机器人上安装一个。从而实现同样的能力。鉴于只有几个预先确定的装载和卸载地点,这是一个实用的选择。然而,如果有许多地点,或者它们的确切位置未知或随时间变化,这将不是一个真正的选择。
最后,在案例3中,我们无法将移动机器人和机械手分开,但从实际角度来看,仍然可以实现同样的功能。移动基地基本上充当了一组额外的操纵器关节。用一个固定的底座来复制这些关节是不现实的,因为它们必须是无限大的,或者至少是不合理的大尺寸。
与刚才讨论的三种情况密切相关的是以下两种整合移动和操纵功能的基本方法:
- 独立的连续的
- 耦合的同时性
独立连续是指我们执行一连串的操纵器move() 和移动机器人navigate() 命令。换句话说,在任何时间点上,我们要么移动移动基地*,要么*移动操纵器。对于这种方法,我们不需要任何新的抽象的API。我们只需要使用前两节中已经知道的操纵器和移动机器人的API。要使这种组合在实际应用中发挥作用,需要考虑的各个方面包括坐标系、校准程序和基本的感应功能。
对于耦合的同步方法,我们需要一种方法,以统一的方式一起控制移动基地和机械手。这是一个高级的话题(我在书中有介绍)。虽然直接进入高级功能是很诱人的,但最好的方法是先学习所有的基础知识。
至此,我们对基本机器人类型的介绍结束了。