由通信网络链接的同步控制器的制作方法

文档序号:6281281阅读:179来源:国知局
专利名称:由通信网络链接的同步控制器的制作方法
技术领域
本发明通常涉及协调在网络中连接的电子控制器发布的命令的定时。更具体地,本发明涉及由诸如机器人的致动器(actuator )响应于 来自控制器的命令执行的动作或事件,该命令与由至少 一个其它控制器 产生的命令同步。
背景技术
随着机器人系统变得更为复杂,需要多个机器人针对给定的任务一 起工作。例如,如果一个机器人正拿着工件,而另一个机器人将在工件 上面执行操作,则为了有效完成该任务必须精确协调两个机器人的运动。实现机器人操纵器(manipulator)的紧密协调的常规方式是将它们 连接到相同控制器的硬件。该技术可以应用到数量有限的运动轴或自由 度。对于机器人制造商来说,要提供机器人操纵器组和伺服系统的所有 可能的组合和排列是很困难的。为了克服这些缺点,可以使用多个控制器来控制机器人操纵器的多 臂系统。因为联网控制器的灵活性,该系统中每个控制器和操纵器可以 是普通的,并且该系统中机器人的数目可以非常大。但是该方法的主要 缺点是每个控制器要求独立的定时系统。为了完全利用多机器人系统的 能力,优选采用公共的时间基准。一些当前技术系统通过使用硬件和一种技术提供了公共定时,该技 术是一种要求所有的机器人控制器的时钟互连的技术。IEEE-1588协议中 体现的 一种这样的硬件机制采用了专门的机制来提供硬件中的公共定 时。当前技术中的另一种机制涉及高精确的时钟电路。这些电路的每一 电路所要求的硬件都是专用的并且代价不菲。发明内容尽管可以使用硬件来协调在通过通信网络互连的电子控制器之间的 定时,该定时的精确度在微秒之内,但是该精确度在控制工业机器人的
系统中是不必要的。本发明经由标准多用途通信网络在软件中提供控制器之间的公共定 时信息。不要求特殊的硬件。每个控制器上的时钟不需要是准确的,并 且该时钟可以独立于任何其它控制器上的时钟来运行。从控制器或影子控制器(shadow controller)与主控制器通信,以周期性地确定定时校 正,该定时校正用于更新从控制器上的影子滴答计数(tick count)。 该技术使得每个联网控制器产生的事件命令信号;f皮此在几毫秒内同步。根据本发明的方法和系统可以应用于机器人的控制器和响应电子命 令信号的其它致动器和操纵器。根据本发明的方法同步在由通信网络互连的控制器的系统中事件的 发生。该方法包括在主控制器和从控制器上维护由每个控制器上的时钟 产生的滴答的相应计数的步骤。确立未来事件将在其上发生的目标滴答 计数。从控制器重复向主控制器发送对主控制器上的当前滴答计数的查 询,并且主控制器用主控制器上的当前滴答计数响应从控制器。基于从 主控制器发送的当前滴答计数和查询响应传输周期的长度,确立从控制 器上的影子滴答计数,并且该计数由从控制器上的时钟滴答进行递增。 当主控制器上的目标滴答计数发生时,主控制器命令所述事件,并且当 影子滴答计数匹配目标滴答计数时,从控制器命令该事件。


根据以下对优选实施例的详细描述,并且参考附图,本发明的以上 优点和其它优点对本领域技术人员将变得显而易见,在附图中图1是可以应用本发明的系统的一般示意图;以及 图2是图1的主控制器和一个从控制器的示意性框图。
具体实施方式
参考图1,根据本发明的系统包括通过通信网络16互连的不定数目 "N,,个机器人控制器IO、 12、 14,通信网络16可以是无线、光学或有 线网络。控制器10是主控制器,控制器12、 14是影子控制器。尽管图1 示出的系统中每个机器人控制器10、 12、 14分别与机器人18、 20、 22 通信,但是每个控制器可以与几个机器人通信。与相应的控制器相关的 机器人的运动由命令控制,该命令优选为从每个控制器重复发布并且发
送到相关机器人的电子信号的形式。该系统协调来自每个控制器10、 12、14的命令的发布,使得系统的每个机器人基本上同时地从其相应控制器接收到命令,这样每个机器人的运动与系统中其它机器人的运动同步且协调。尽管是参考机器人系统来讨论本发明,但本发明也可以应用于其它 种类致动器的控制器,该致动器同步响应于从多个控制器发布的命令基 本同时地进行反应,其中每个控制器控制至少一个这样的致动器。每个控制器10、 12、 14具有产生机器人命令的命令函数24、 26、 28。 命令函数24、 26、 28相互独立并且执行机器人控制程序,该机器人控制 程序是指导机器人在控制器的控制下移动到特定位置的命令序列。机器 人响应它们各自命令的移动称为事件。每个机器人具有手臂,手臂终端被支撑在由接合关节连接的若干分割的段上,当响应于来自控制器的命令由电动机驱动时该关节旋转。关节的接合导致机器人的手臂终端移动到一个位置。通常,机器人控制程 序命令附着到机器人手臂的其它设备,诸如机械爪或工艺设备。在工艺设备的情况下,诸如喷漆机、电焊机等等,机器人运动和该工艺紧密耦 合。例如,当移动的机器人手臂在临近于要喷漆的工件的预定位置时, 必须启动喷漆机以便精确喷漆。尽管图2示出了主控制器10和一个影子控制器12的细节,但是该 系统可以包括不定数目的影子控制器,并且该方法也可以应用到不定数 目的影子控制器。为了帮助对致动器命令进行准确定时,驻留在每个控 制器中的编码的、计算机可读软件提供了滴答计数器30、 32,该滴答计 数器通过数据总线34、 36耦合到石英时钟38、 40。每个计数器30、 32 维护由相应时钟38、 40在大约每几毫秒的时间段产生的滴答计数或信 号。基于每个控制器上的滴答计数或影子滴答计数来同步响应于每个控 制器IO、 14、 16的命令发生的所有事件。每个滴答计数器30、 32提供由机器人命令系统来标记事件信息所使 用的整数,该事件信息是关于主控制器10在其滴答计数器30中特定计 数发生的时候将执行的事件和影子控制器12在其影子滴答计数器32中 特定计数发生时将执行的事件。事件信息42、 44驻留在控制器存储器 46、 48中,该事件信息可以包括在下一个事件中机器人手臂将移动到的 位置。用对应于相关事件的目标滴答标记的事件信息存在于相应控制器
存储器46、 48中的50、 52。
机器人命令函数24、 26能够预测未来事件将在其上发生的目标滴答 计数53、 55。在事件发生之前,事件信息44经由通信网络16被传送到 从控制器12。在事件之前准备事件信息是必需的,因为标准通信网络具 有可能超过二十毫秒的延迟。对事件的准备允许所有控制器在计数器到 达每个目标滴答之前对事件信息进行标记和准备,以在目标滴答计数时 触发。
如图1所示,主控制器10包含滴答主函数54,并且从控制器12、 14各自包含滴答影子函数56、 58。这些函数54、 56、 58保证在从控制 器上的滴答计数32与主控制器上的滴答计数30相同。当机器人和工艺 操作需要在每个控制器同步时,基准滴答计数保证事件在每个控制器的 相同的滴答计数发生。
滴答预测软件重复确定广域系统(system-wide)的事件将在其上发 生的目标滴答计数。其为每个广域系统事件生成事件信息和数据,并且 利用相应的目标滴答计数来标记该信息和数据。将该数据发送给所有控 制器,在这些控制器处保持该数据,直到每个目标滴答计数发生。 一旦 当前滴答计数与目标滴答计数匹配,事件触发并且在相同滴答在所有控 制器机器人上执行被标记的信息和数据。
从控制器12、 14各自提供滴答查询函数60、 62,其在网络16上发 送消息给主控制器10上的滴答查询响应函数64。响应于来自从控制器的 对当前滴答计数的查询,主控制器10将主滴答计数3Q的当前值发送给 从控制器12、 14。
查询函数60、 62使用查询从相应的从控制器发送的精确时间和响应 在相应的从控制器被接收的精确时间来计算传输周期的长度,该传输周 期以查询的发送开始并且以响应的接收结束。如果该传输周期长于预定 周期,则忽略响应的滴答计数,并且立即发送一个新的查询。基于在每 个从控制器接收的主滴答计数响应和所述传输周期的长度,将用于每个 从控制器的影子滴答计数调整计算为主滴答计数和从滴答计数之间的差 加上传输周期的长度的一半。对每个从控制器12、 14上的当前滴答计数 32应用该校正或调整,以确定每个从控制器上的影子滴答计数33。之后, 影子滴答计数33随着从控制器12上的时钟40产生的每个滴答递增。
为了维护控制器IO、 12、 14的同步,每个控制器上的滴答计数30、32继续自动更新,并且已经为当前相应调整进行了调节的影子滴答计数 33在从控制器12、 14上自动更新。在到达主控制器10上的目标滴答计 数53之前,与目标滴答计数对应的事件命令信息42将在程序命令24中 被识别,并且利用下一个目标滴答计数在50进行标记。主控制器10上 标记的事件命令信息42保留在存储器46中,为到达下一个目标滴答计 数做准备。当滴答计数30和目标滴答计数53在72匹配时,主控制器IO 命令执行74与目标滴答计数53对应的标记的事件命令信息42。类似地,在到达每个从控制器12、 14上相应的目标影子滴答计数之 前,与相应的目标影子滴答计数对应的事件命令信息44将在程序命令26 中被识别,并且利用相应的目标影子滴答计数在52进行标记。每个从控 制器12、 14上标记的事件命令信息44保留在存储器48中,为到达目标 影子滴答计数做准备。当从控制器12上的影子滴答计数33和目标滴答 计数55在76匹配时,从控制器12命令执行78与目标滴答计数55对应 的标记的事件命令信息44。控制器1Q、 12、 14上的时钟38、 40中的电子石英振荡器不精确。 因为标准的低成本石更件系统只能精确到五万分之一 (one part in fifty thousand)内,随着时间的流逝滴答影子计数33将与主滴答计数30偏 移。为了调节该偏移,周期性地向主控制器IO发送滴答计数查询。滴答 影子函数56、 58能够递增地调整滴答影子计数33,以调节该时钟偏移。因为时钟偏移以略恒定的速率继续,所以滴答计数的调整在规律的 时间间隔发生。在典型的实施方式中,从控制器12、 14上的滴答计数33 大约每运行两分钟就调整一个滴答计数。从控制器12、 14上的滴答查询 /调整函数60、 62监视滴答计数的调整,并且访问历史数据来确定在调 整之间的平均时间和自从进行上一次调整以来运行的时间长度。根据该 信息,从控制器12、 14估计需要进行下一次滴答计数调整的时间。在那 时将来自从控制器的滴答计数查询发送给主控制器。除了所需的调整的幅度外,该估计还用于计算滴答的相位。滴答匹 配72在即时滴答计数30改变时发生;滴答匹配76在即时滴答计数32 改变时发生。因为控制器都具有独立的滴答计数器30、 32,主控制器IO 上的滴答计数器30和从控制器12、 14上的影子滴答计数器33不在同一 时刻递增。当相应控制器上的事件触发时,这种异相递增可能导致多一 个滴答或少一个滴答的误差。在最好的情况下,两个控制器上的滴答刚
好在相同时刻递增,误差为零,并且称该滴答为"同相"。在最坏的情 况下,影子控制器上的滴答恰好在主控制器上的滴答之前或之后递增, 引起一个滴答的误差。本发明的系统监视时钟偏移,以便将相位误差减 少到半个滴答或更少。本发明的方法解决了诸如以太网的标准低成本网络的非确定特性。 为每个滴答计数执行滴答查询是不现实的。例如,滴答计数器可以每两毫秒递增,但是在标准通信网络上可以长达二十毫秒才发送一个消息。根据专利法的规定,以优选实施例描述了本发明。但是,应认识到 在不偏离本发明的精神和范围的情况下可以用具体说明和描述之外的方法来实施本发明。
权利要求
1.一种用于同步控制器的系统,包括第一控制器,用于递增在周期性间隔产生的主滴答计数,并且用于当主滴答计数与目标滴答计数匹配的时候执行事件信息;第二控制器,用于参考主滴答计数,调整在周期性间隔产生的滴答的已递增的影子滴答计数,并且用于在影子滴答计数与目标滴答计数匹配的时候执行第二事件信息,所述第一和第二控制器的执行被相互同步;和互连所述第一和第二控制器的通信网络。
2. 权利要求1所述的系统,其中所述第一控制器还包括用于维护主 计数的计数器,所述第一控制器还确定在所述第一控制器上事件将在其 上发生的目标滴答计数,并且在主滴答计数与目标滴答计数匹配之前将 目标滴答计数与第一事件信息相关联。
3. 权利要求1所述的系统,其中所述第二控制器还在周期性间隔上 递增影子滴答计数,确定在所述第二控制器上事件将在其上发生的目标 影子滴答计数,并且在影子滴答计数与目标滴答计数匹配之前将目标影 子计数与第二事件信息相关联。
4. 权利要求1所述的系统,其中所述第一控制器还包括用于维护主 计数的计数器,所述第一控制器还确定在所述第一控制器上事件将在其 上发生的目标滴答计数,并且在主滴答计数与目标滴答计数匹配之前将 目标滴答计数与第一事件信息相关联;并且所述第二控制器还在周期性间隔递增影子滴答计数,确定在所述第二控制器上事件将在其上发生的 目标影子滴答计数,并且在影子滴答计数与目标滴答计数匹配之前将目 标影子计数与第二事件信息相关联。
5. 权利要求1所述的系统,还包括在所述第一控制器的控制下操作 的第一机器人致动器,和在所述第二控制器的控制下操作的第二机器人 致动器。
6. 权利要求1所述的系统,其中所述通信网络是有线网络和无线网 络中的至少其中之一。
7. —种在互互通信的控制器的系统中用于同步在每个控制器上事件 的发生的方法,该方法包括以下步骤a.在主控制器上维护由第一时钟产生的滴答的计数; b. 从从控制器向主控制器发送对主控制器上的滴答计数的查询;c. 从主控制器向从控制器发送响应,该响应包括主控制器上的滴答 计数;d. 基于从主控制器所发送的滴答计数,调整从控制器上的影子滴答 计数;e. 当第二时钟产生滴答的时候,递增从控制器上的影子滴答计数;f. 确立在主控制器上事件将在其上发生的目标滴答计数和在从控制 器上事件将在其上发生的目标影子滴答计数;g. 当滴答计数与目标滴答计数匹配时,使用主控制器来命令事件;h. 当影子滴答计数与目标影子滴答计数匹配时,使用从控制器来命 令事件。
8. 权利要求7所述的方法,其中步骤b还包括确定从从控制器发送查询的时间;和 步骤d还包括确定在从控制器上接收到响应的时间;和调整从控制器上的影子滴答计数,调整的幅度是主控制器接收的滴 答计数和从控制器上的滴答计数之间的差,加上从从控制器发送查询开 始到在从控制器上接收到响应结束的周期的长度的 一 半。
9. 权利要求7所述的方法,还包括在从控制器上维护由从控制器上 的第二时钟产生的滴答的计数的步骤;并且其中所述步骤e还包括使用 所述第二时钟产生的滴答来递增影子滴答计数。
10. 权利要求7所述的方法,其中所述步骤h还包括以下步骤 识别在未来事件将在主控制器上执行的事件信息; 将该事件信息与对应的目标滴答计数相关联;以及 一旦在主控制器上发生目标滴答计数,使用主控制器来执行与对应的目标滴答计数相关联的事件信息。
11. 权利要求7所述的方法,其中所述步骤g还包括以下步骤 识别在未来事件将在从控制器上执行的事件信息; 将该事件信息与对应的目标影子滴答计数相关联; 一旦在从控制器上发生目标影子滴答计数,使用从控制器来执行与对应的目标影子滴答计数相关联的事件信息。
12.权利要求7所述的方法,其中所述步骤b还包括根据对从控制器上的影子滴答计数的先前调整,确定自从对从控制器上的上一次调整开始的期望间隔长度;确定从在从控制器上进行上一次调整开始的当前周期的持续时间;和根据当前周期的长度和期望的间隔长度,确定分数的滴答调整。
13. 权利要求7所述的方法,其中所述步骤b还包括 根据对从控制器上的影子滴答计数的先前调整,重复确定自从从控制器上的上 一 次调整以来的间隔长度的平均值;根据对从控制器上的影子滴答计数的先前调整,重复确定所述先前 调整的幅度的平均值;根据所述间隔长度的平均值和所述调整的幅度的平均值,确定分数 的滴答调整。
14. 一种用于同步由多个控制器产生的事件的方法,该方法包括以下 步骤a. 将主控制器连接到通信网络;b. 将从控制器连接到通信网络;c. 使用该通信网络同步每个控制器上的递增的滴答计数;d. 确定在每个控制器上事件将在其上发生的目标滴答计数;e. 准备在主控制器和从控制器上在下一次事件将执行的事件信息;以及f. 当相应控制器上的滴答计数与目标滴答计数相匹配的时候,在主 控制器和从控制器上执行相应的事件信息。
15. 权利要求14的方法,其中所述步骤b还包括将多个从控制器连接到通信网络; 所述步骤e还包括在每个从控制器上准备在下一次事件将执行的事 件信息;所述步骤f还包括当相应控制器上的滴答计数与目标滴答计数匹配 的时候,在每个从控制器上执行相应的事件信息。
16. 权利要求14所述的方法,其中机器人致动器受到至少一个控制 器的控制,并且所述步骤f还包括当该至少一个控制器上的滴答计数与 目标滴答计数匹配的时候,响应于在该至少一个控制器上执行相应的事 件信息,控制该机器人致动器的操作。
17. 权利要求14所述的方法,其中多个机器人致动器受到每个控制 器的控制,并且所述步骤f包括当相应的其中一个控制器上的滴答计数 与目标滴答计数匹配的时候,响应于在主控制器和从控制器上执行相应 的事件信息而控制所述机器人致动器的操作。
18. 权利要求14所述的方法,其中所述步骤e还包括以下步骤 从从控制器向主控制器发送对主控制器上的滴答计数的查询; 从主控制器向从控制器发送响应,该响应包含主控制器上的滴答计数;基于从主控制器所发送的滴答计数,调整从控制器上的滴答计数。
19. 权利要求14所述的方法,其中所述步骤e还包括在滴答计数与 目标滴答计数匹配之前,在从控制器上接收来自主控制器的在通信网络 上发送的事件信息的步骤。
20. 权利要求14所述的方法,其中所述步骤c还包括以下步骤 将目标滴答计数与相应的事件信息相关;和在滴答计数与目标滴答计数匹配之前,在从控制器上接收来自主控 制器的在通信网络上发送的事件信息。
全文摘要
一种包括通过通信网络相互耦合的控制器的控制系统,信息在该通信网络上从主控制器发送到从控制器,使用该控制系统来进行从控制器上的定时校正,以便将从控制器上的事件定时器与主控制器上的事件定时器同步。对每个控制器命令的事件的发生的定时精度在很窄范围的时间内,根据特定的应用和系统优选在几个毫秒之内。
文档编号G05B11/01GK101164024SQ200680013888
公开日2008年4月16日 申请日期2006年3月1日 优先权日2005年3月1日
发明者K·克劳斯 申请人:范努克机器人技术美国有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1