具有热插拔的终端执行器的机器人的制作方法

文档序号:12151188阅读:355来源:国知局
具有热插拔的终端执行器的机器人的制作方法与工艺

本发明总体上涉及机器人操作和训练。更具体地,各个实施例涉及由工业机器人获取、组织和使用与任务相关的信息,以促成自主方式的任务执行。



背景技术:

工业机器人执行涉及物理对象的移动和操纵的各种任务。典型的工业机器人例如可以具有装配有夹持器的一个或多个手臂,其允许机器人拿起在特定位置处的对象,将它们运送到目的位置,并根据特定的坐标将它们放下,从而例如将它们堆叠或放置在存在于目的位置处的纸板盒内。

机器人可以操纵不同类型的对象,还能执行除了简单地移动对象之外的许多任务—例如,焊接、联接、施加紧固件等。因此,已经开发了许多不同的“终端执行器”用于部署在机器人附肢上。这些终端执行器中的一些,例如夹持器,可用于一系列任务,而另外一些,诸如焊接枪,被设计为执行单一的、专业的任务。为了促成多功能化,商业机器人可以适配不同的终端执行器。例如,不同的终端执行器可以共享共同的联接设计,其允许终端执行器被可更换地安装至机器人手臂的袖口或手腕。使机器人可操作地适配终端执行器是更困难的。经常地,用于机器人的终端执行器的选择在系统集成或组装期间进行,并且基本上是永久的。操作所选择的终端执行器所必需的程序被写成用于机器人的控制器代码。在一些机器人中,终端执行器可以在操作期间被动态地改变,但是典型地,这发生在任务执行的预编程阶段。也就是,当监控下一任务的代码期望更换时,机器人的控制器代码表明需要新的终端执行器。换言之,当机器人执行任务时或当机器人被配备用于新任务时,响应于机器人的预期甚至会发生机器人的终端执行器中的动态变化。

因此,需要更通用的方法来热插拔终端执行器以允许操作者进行任意的更换并且由机器人来动态地适配。例如,操作者在操作期间可能发现,相对于夹持器的当前配置所允许的,由机器人所执行的任务出乎意料地需要更精细的控制。在这种情况下,操作者将会想用更合适的终端执行器来替换现有的夹持器,而不重写机器人的任务执行代码。



技术实现要素:

本发明涉及能够适应终端执行器的动态更换的机器人,以及与终端执行器相关的软件和硬件,其促成与机器人的通信以在不改变主控制程序的情况下动态地加载和运行允许操作终端执行器的软件。这种执行器专用的程序设计在本文中一般称作“驱动程序”。当检测到相应的终端执行器时,在程序执行期间,驱动程序可被动态地链接和运行。典型地,机器人控制器将存储驱动程序的库,并且当检测到新的终端执行器时,加载适当的驱动程序。该过程在本文中被称作“自配置”。然而,控制器代码本身可以发出通用指令,其不与任何特定的驱动程序相关联,而与被编码进行响应的适当的驱动程序关联。这避免了为了适配不同的终端执行器而在控制器代码级别上做出改变的需要。

术语“配置数据”或“配置信息”指标识或有助于实例化(例如,选择和参数化)用于特定终端执行器的适当驱动程序的信息。因而,配置数据可以是实际的驱动程序、用来给特定终端执行器修改通用的驱动程序的参数、或者只是所需的驱动程序类型的标识符。术语“标识符”或“标识数据”指标识终端执行器的信息,其可以与用于终端执行器的适当的配置信息组合或用来定位用于终端执行器的适当的配置信息。如下文所解释的,根据设计优先级和偏好,驱动程序、配置数据和标识符可以被不同地分布于系统的组件之间。

在各个实施例中,终端执行器并非直接连接至机器人的附肢,而是连接至可拆卸地安装于机器人附肢末端的“工具板”。工具板机械地接纳终端执行器并且可以向其供电,并且在某些情况下向其提供数据信号。在终端执行器和工具板之间可以分配各种类型和程度的功能,并且工具板可以适配不止一种类型的终端执行器。这种布置由于最佳地适合于特定机器人的架构而促成了性能的灵活部署,例如,一个组件可能是“非智能的”(例如,不能通信或数据处理)而另外的组件是“智能的”(例如,能够与机器人通信并执行数据处理的操作)。因而,一种实施方式以“非智能的”终端执行器和“智能的”工具板为特征。智能的工具板可以检测多种类型的可连接终端执行器中的哪一种已被附接至该工具板(例如,基于终端执行器的连接器的电气性能或机械配置),并将其报告给加载适当驱动程序的机器人控制器。可选地,智能的工具板可以仅适配单一类型的终端执行器,在这种情况下,它只需要将自身的标识报告给机器人控制器,因为这足以确定适当的驱动程序。

另一实施方式以“智能的”终端执行器和“非智能”工具板为特征,在这种情况下,工具板仅促成终端执行器的板上处理器或控制器与机器人控制器之间的通信。终端执行器将它的标识符以有线或无线的方式报告给机器人控制器。在该配置中,工具板例如可以用作机器人附肢与机械地非兼容的终端执行器之间的适配器。如下文所解释的,“报告”可以是主动的(“智能的”组件本身可发起与机器人控制器的通信并发送信息)或被动的(“智能的”组件可以响应于来自于机器人控制器的轮询信号或其他的通信,其中该机器人控制器已检测到附接)。

因此,在第一方面,本发明涉及具有可更换的终端执行器的机器人系统。在多个实施例中,机器人系统包括:机器人主体;连接至机器人主体并具有包含第一连接器的末端的机器人手臂;机器人控制器,用于控制机器人手臂以及连接至机器人手臂的终端执行器;可拆卸地连接至机器人手臂的终端执行器,其中,终端执行器组件包括:(1)终端执行器;(2)存储数据的非易失性存储器,该数据包括标识信息和/或配置信息;(3)通信接口;(4)处理器;以及(5)能够与第一连接器可拆卸地但牢固地配合的第二连接器,用于经由通信接口建立处理器和机器人控制器之间的双向通信。处理器被配置为在第一连接器与第二连接器配合时使数据传输至机器人控制器,并且机器人控制器适合于基于数据进行自配置,并基于自配置来控制所连接的终端执行器的移动。

在多个实施例中,第一连接器被设置于工具板中,工具板本身设置于机器人手臂的末端并可拆卸地连接于此。终端执行器被连接至工具板的相对侧。工具板包括非易失性存储器、处理器和通信接口。在一些实施方式中,工具板适合于配合单一类型的终端执行器并存储与其相关的标识和/或配置信息。在另外的实施方式中,工具板可以适配多种类型的终端执行器并为每种终端执行器类型存储标识和/或配置信息。终端执行器与工具板的配合机械地或者通过数据交换的方式确立终端执行器的类型。工具板继而与机器人控制器通信以向其提供标识和/或配置信息。

如所指出的,机器人控制器基于所部署的终端执行器进行自配置。在一些实施例中,终端执行器组件既提供标识信息也提供配置信息,例如,控制器的程序设计用来操作终端执行器的驱动程序。在另外的实施例中,终端执行器组件仅提供标识信息,并且控制器定位适当的驱动程序。例如,控制器(或其他的机器人组件)可以存储一系列驱动程序和将终端执行器与相应的驱动程序相关联的数据库。一旦控制器获知终端执行器的标识,就基于与标识的终端执行器对应的数据库条目来选择并加载适当的驱动程序(在不改变主控制程序的情况下)。如果控制器不能定位合适的驱动程序,它可以远程地搜索驱动程序,或者通过与用作终端执行器的驱动程序的主资源库的服务器进行通信,或者通过自主地执行互联网搜索以查找合适的驱动程序,并且如果找到一个,就将其下载并安装。

在另一方面,本发明又涉及具有可更换的终端执行器的机器人系统。在多个实施例中,机器人系统包括:机器人主体;连接至机器人主体并具有包含第一连接器的末端的机器人手臂;机器人控制器,用于经由第一连接器来控制机器人手臂和连接于此的终端执行器;可拆卸地连接至机器人手臂的工具板;以及连接至工具板的终端执行器,其中,工具板包括:(1)存储数据的非易失性存储器,该数据包括标识信息或配置信息中的至少一项;(2)通信接口;(3)处理器;以及(4)能够与第一连接器配合的第二连接器,用于经由通信接口建立处理器和机器人控制器之间的双向通信。处理器被配置为在第一连接器和第二连接器配合时使数据传输至机器人控制器,并且机器人控制器适合基于数据进行自配置,并基于自配置来控制所连接的终端执行器的移动。

在一些实施例中,数据既包括标识信息也包括配置信息。在另外的实施例中,数据不包括配置信息,并且机器人系统还包括数据库,该数据库包括将终端执行器的标识信息与用于终端执行器的配置信息关联的记录。控制器还适合于使用标识信息查询数据库以获取相应的配置信息,并基于该配置信息进行自配置。

附图说明

根据本发明如下的具体实施方式,尤其在结合附图时,上述内容将更容易理解,其中:

图1A是根据各个实施例的机器人的透视图。

图1B示意性示出了图1A中所示的机器人的内部和外部的组件。

图2A和图2B是根据本发明的实施例的工具板的透视图。

图3A和图3B分别是透视图和平面图,其分别示出了本文中工具板与机器人手臂配合的方式。

图4示意性描述了根据本发明实施例的包括机器人手臂、工具板以及一对终端执行器的互操作系统。

具体实施方式

首先,参考图1A和图1B,其分别示出典型的机器人100的透视图和详述各个内部操作组件的原理图。机器人100包括至少一个机器人手臂105—如图1B中所示,机器人可以具有不止一个手臂—其终止于用于操纵对象的一个或多个终端执行器110。手臂105具有由合适的(且传统的)转动关节所提供的几个自由度(例如,7个)。每个关节理想地采用一系列弹性致动器,使机器人能够感知施加至它的外力,例如,由意外碰撞所产生的力。在图1A示例的实施例中,允许机器人抓住、举起和移动对象的平行爪夹持器110被安装在手臂105的端部。如下文所解释的,夹持器110仅是许多可能的终端执行器中的一个。机器人100还具有头状屏幕112,其可显示一双眼睛或其他输出以向附近的人员强化机器人的方位或通告其状态。在一些实施例中,屏幕110可围绕垂直通道旋转并围绕与平行于屏幕110的长轴的水平轴摆动。

机器人100包括一个或多个摄像机115。在图1A中,摄像机115被示出在屏幕112的上方。机器人100还可包括在附肢105的手腕117中的一个或多个距离传感器,并且在一些实施例中,一个或多个声纳传感器检测环境中的移动对象。除了用于视觉上和/或听觉上检测对象的这些传感器之外,机器人100可以包括在手臂105上的许多机械特征和触敏传感器,其促成了与人(例如,训练者)的机械交互。例如,机器人100可包括旋钮和按钮的组118(“导航器”),其允许使用者响应屏幕112上显示的信息(例如,通过选择菜单项、在训练模式和执行模式之间切换)并通过数字旋钮输入数字(例如,指示将多少行和列的对象包装到盒中)或者文字(例如,密码或对象和任务的名称)。

当然,上述机器人100仅是根据本发明的多个可能的机器人实施例之一,上面所描述的各个特征仅是代表性的而不是限制性的。可以采用对于本领域技术人员来说显而易见的方式来修改各个组件和特征。例如,机器人通常可具有任何数量的手臂(或者,更一般地,附肢),并且每个手臂可具有任何数量的自由度。手臂的链节不需要由仅提供一个自由度的旋转关节(例如,诸如枢纽关节)来连接,而是例如可以包括提供两个转动自由度的球窝式关节和/或促成平移运动的轨道系统。

机器人的操作由机器人控制器125来监控,其监视和改变机器人的位置、运动学、动力学和力量;控制关节级的致动器,以按照机器人控制器的指示移动机器人和/或其运动部件;以及高级别的计算功能,其促成了图像处理、用户交互等。机器人控制器125通常可以在通用或专用计算机上以硬件、软件或两者的结合来实现,通用或专用计算机包括双向的系统总线128,通过系统总线128,中央处理单元(CPU)130、存储器133和存储设备136互相通信,并与内部或外部的输入/输出设备通信,内部或外部的输入/输出设备诸如屏幕112、摄像机115、导航器118、手腕套箍(wristcuff)以及任何其他的输入设备和/或外部传感器。传统的通信接口138促成了通过网络的通信,诸如互联网和/或任意其他的陆基或无线通信网络或系统。存储设备136存储终端执行器数据库140,如下文更详细地解释的,终端执行器数据库140保存与可以与机器人100关联的各种类型的终端执行器110相关的信息。可以采用任何合适的编程语言来编写各个模块,包括但不限于:诸如C、C++、C#、Ada、Basic、Cobra、Fortran、Java、Lisp、Perl、Python、Ruby或Object Pascal的高级语言,或者低级汇编语言。机器人控制器125可通过硬件、软件或两者的结合来实现。

终端执行器110经由工具板150连接至机器人手臂105,工具板150可以同时适配不止一种类型的终端执行器110,以及在一些实施例中,同时适配不止一个终端执行器。通过这种方式,工具板150用作“通用的”连接器,其经由机器人手臂105被机械和电气地连接至机器人100,并且接纳来自终端执行器的机械和电气连接器。此外,工具板150协助机器人控制器125定位和安装用于特定终端执行器110的适当的驱动程序。在各种实施例中,当终端执行器已被移除并用不同(但兼容)的终端执行器替换时,工具板150可以提供允许控制器125实时地定位、加载和运行适当的新驱动程序的信息,来警示机器人控制器。工具板150可以是几种不同配置的工具板之一,每一个具有用于与机器人手臂105配合的相同的机械和电气连接器,但是具有用于接纳不同的终端执行器的不同的接纳部。相对于单个工具板所能物理支持的接纳部的数量,通过这种方式能够适配更多的终端执行器,并且还促成了系统的可扩展性:当开发了具有不同连接器配置的新型终端执行器时,不必更换整个机器人100或者甚至不必更换机器人手臂105;更确切地说,更换工具板150的能力意味着只需要设计新的工具板。就这一点而言,下文所描述的工具板的特征提供了灵活性。

图2A和图2B示出典型的工具板150的两个面,以及图3A和图3B描述了工具板150与机器人手臂的端部的附接。面205包括具有环形周界的凹部210和在凹部210中心的突起的平台215,在平台215中是10个弹簧加载的插针(弹簧针)220,用于建立与互补的接纳部的可移除的电连接。多个孔225延伸通过工具板150并允许螺栓穿过,用于加固与机器人手臂的附接。在示例的实施例中,面向执行器的面230包括具有暴露孔225的缺口240的突起的环形脊235。在一些实施例中,这些缺口240与进入终端执行器(未示出)上的环形凹部中的互补扩展部分互锁,该环形凹部接纳脊235。沿着脊235顶面的一系列螺栓孔245允许终端执行器被紧固至工具板150。在示例的实施例中,终端执行器与面230的附接仅产生机械连接。电信号和电能通过一对电连接器(例如,M8工业连接器)被传递至所安装的终端执行器,该一对电连接器通过合适的电缆连接至终端执行器。如下文所详细解释的,电信号和电能通常来自于机器人控制器并经由插针连接器220由工具板150接收。工具板150可包括将从机器人接收的信号和/或电能转换为用于机器人上安装的终端执行器的不同的形式的电路。

参照图2A和图3A,工具板150与机器人手臂105的端面305接触,并且在端面305上的突起的环形脊310被接纳在工具板150的互补的凹部210中。一系列螺栓孔315与穿过工具板的孔225对齐,允许工具板150被用螺栓或以其它方式被机械地紧固至机器人手臂105。然而,在一些实施例中,使用快速释放闩锁代替螺栓。当工具板150和机器人手臂105呈现图3B中所示例的匹配配置时,插针连接器220被接纳在接纳部320中。

图4中示例了工具板150的操作和关键内部组件。工具板包括存储器405、支持电路410以及控制元件415,控制元件415可以是微处理器、微控制器或其他合适的组件。控制元件415的性能取决于分配给工具板150的功能,如下文所描述的。工具板与一个或多个终端执行器420机械和电气地匹配,其中两个被典型地示出在4201、4202。也就是说,工具板150具有两个接纳部,一个接纳部用于终端执行器420中的一个,并且每个接纳部包含适当的特征以促成与其的机械和电气匹配。如上文所指出的,工具板150可同时适配不止一个终端执行器420和/或可替换地适配不同类型的终端执行器。例如,与图1所示的具有包围对象的手指的夹持器不同,终端执行器420可包括吸式夹持器或者保持或操纵对象的其他部件。可选地或另外地,终端执行器可以是工具(诸如钻、锯、焊机等)、测量设备(诸如天平、量规等)或其他实现功能的设备。

当与机器人手臂105机械和电气地匹配时,工具板150接收电能并建立与机器人控制器125的通信(参见图1B)。典型地,这经由诸如接口425和本地马达控制器430的中间硬件产生。接口将电能从机器人供应至工具板150,并经由例如RS-485的串口通信协议支持与工具板150的双向数据通信。工具板150的支持电路410包含补充的通信组件。本地马达控制器430从机器人控制器125接收指令(例如,通过诸如以太网的链路层协议)并且驱动与机器人手臂105的一个或多个附近关节关联的马达,以使指令产生作用。在示例的实施方式中,本地控制器430也从机器人控制器125接收操作终端执行器420的指令。它经由接口425(例如使用RS-485)将这些指令传送至工具板150,并且工具板150经由数字输出线将指令发布(或提供电能)给被寻址的终端执行器。指令典型地是专用于终端执行器的低级别指令。也就是说,尽管工具板150可以被配置为从机器人控制器125接收高级别的通用指令并将这些指令转换成执行器专用的信号,但通常不这样做。而是,在更典型的实施方式中,机器人控制器125已经“自配置”以传送执行器专用的指令。下文解释其实现方式。还应强调的是,机器人手臂105本身可包括能够执行高级别任务的处理器。因此,尽管处理器415可作为“支配者(Master)”以控制与机器人手臂125的通信,它也可以相反地作为机器人手臂中处理器的“从属者(Slave)”(例如,机器人手臂中处理器可以轮询工具板150并发送数据至机器人控制器)。

当终端执行器420与工具板150匹配时,发生各种通信,其最终结果是提供电能至机器人控制器125和终端执行器420并实现机器人控制器125和终端执行器420之间的通信,但是也能够使机器人控制器进行自配置以操作终端执行器。在一个典型的实施方式中,终端执行器是“非智能的”设备,不具有提供给机器人控制器的板上信息。工具板150由于其接纳配置(例如,它被设计为接收单一类型的终端执行器)、或者从其机械或电气特性、或者由于工具板仅适配一种类型的终端执行器,而识别终端执行器。在示例的实施例中,存储器405存储用于两个可能的终端执行器4201、4202中的每一个的标识符。当控制元件415检测到特定终端执行器的附接时,它经由机器人手臂105将相应的标识符传送至机器人控制器125。机器人控制器使用所传送的标识符来在数据库140中(参见图1B)定位用于终端执行器的配置信息。数据库140可包含配置信息(例如,驱动程序或到存储在别处的驱动程序的指针)的库,并且当基于接收的终端执行器的标识符选择驱动程序信息时,机器人控制器125进行自配置,即,加载并安装适当的驱动程序。由于工具板150可以检测终端执行器的安装和移除,这些终端执行器可被实时的“热插拔”而无需断电和重新启动机器人。经由电路410,控制元件415将警告机器人控制器125新的终端执行器已被附接,并提供用于新的终端执行器的标识符。

通过工具板150或者通过机器人控制器125(例如,如果终端执行器被直接附接至机器人手臂105)检测终端执行器的附接可以以主动的或被动的方式发生。例如,终端执行器或工具板可以发起与机器人控制器或工具板的通信。可选地,在附接时,终端执行器或工具板可以发射特征信号,该信号由轮询该信号的机器人控制器检测。在每种情况下,机器人控制器125(或者在一些实施方式中,机器人手臂105)发送指令到终端执行器或工具板,其用数据(取决于指令,该数据为I/O或状态数据或存储的配置/标识数据)回应。

在一些实施例中,配置信息被存储在工具板150的存储器405中,并且在检测到终端执行器的附接时,控制元件415在存储器405中定位相应的配置信息并将其发送至机器人控制器125。再次提到,配置信息可以是使机器人控制器125能够在进行自配置之前下载驱动程序的最新版本的驱动程序本身或到驱动程序的指针,或者是使机器人控制器125能够针对特定终端执行器来参数化通用驱动程序的信息。存储器405还可以存储终端执行器的专用度量,诸如循环计数和操作时间,当它们接近其额定的循环限度时,允许诸如更换吸盘的预防性的维护。

在各种实施方式中,接纳部420的任何一个可以适配不止一种类型的终端执行器。在这种情况下,在建立了与新安装的终端执行器的通信时,终端执行器可存储被提供至工具板150(或由工具板150取回)的标识符。在这种情况下,工具板150将标识符传送至机器人控制器125,或者,在一些实施例中,使用标识符来从存储器405取回配置信息并将该信息发送至机器人控制器125。优化的信息分配—即,是将配置信息存储在工具板150上还是存储在机器人自身的非易失性存储器中—代表设计选择。存储在工具板150上的信息越多,机器人越通用,但是工具板150将需要更多的存储器。另一考虑是更新信息或编程的需要。例如,如果配置数据随时间改变,可能期望在存储器405中仅存储不变的信息,诸如,终端执行器的标识符。当上电时或检测到新的机器人手臂的安装时,机器人控制器125可以验证它具有最新的驱动程序。当然,工具板150可能包含如下功能:在将配置信息提供至机器人之前,能够使工具板150检查存储的配置信息是否更新,但是这种能力需要板上连通性或者需要通过机器人访问网络(例如,经由互联网)资源的能力。

在终端执行器是“智能的”的情况下,即包含自身的配置信息,该信息可以被工具板150取回并提供至机器人控制器125。工具板150还可能使用合适的板上无线接口与终端执行器和/或机器人控制器125进行无线通信。在另一方面,如果机器人控制器125不能定位合适的驱动程序,它可以在驱动程序的远程(例如,托管的)存储库中搜索驱动程序或者可以自主地进行适当驱动程序的互联网搜索,以在实际上允许机器人被正常操作之前经由工具板150安装并测试适当的操作和功能。

如上文所指出的,根据工具板所执行的功能,工具板150的控制元件415可以是任何合适的微处理器或微控制器。例如,控制元件415可以是专门设计的用于嵌入式操作的可编程微控制器,或者是一个或多个常规处理器,诸如加利福尼亚州圣克拉拉的Intel公司制造的Pentium或Celeron系列处理器。存储器405可存储与上述操作相关的程序和/或数据。存储器405可包括存在于常用硬件上的随机存取存储器(RAM)、只读存储器(ROM)、和/或FLASH存储器,常用硬件诸如一个或多个专用集成电路(ASIC)、现场可编程门阵列(FPGA)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、或可编程逻辑器件(PLD)。

本文采用的术语和语句被用作说明书的术语和语句而不是用于限制,并且在使用该术语和语句时,没有排除所展示和描述的特征或其部分的任何等价物的意图。此外,在描述了本发明的某些实施例后,对于本领域普通技术人员来说是显而易见的是,在不背离本发明的精神和范围的前提下,可使用包含本文公开的概念的其他实施例,。特别地,本发明的实施例不需要包括本文描述的所有特征或者具有所有优点。相反,它们可以具有特征和优点的任何子集或者组合。因此,无论从哪一方面,所描述的实施例仅被认为仅是示意性的而非限制性的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1