JP5026413B2 - 拡張可能な動作制御システム - Google Patents

拡張可能な動作制御システム Download PDF

Info

Publication number
JP5026413B2
JP5026413B2 JP2008515803A JP2008515803A JP5026413B2 JP 5026413 B2 JP5026413 B2 JP 5026413B2 JP 2008515803 A JP2008515803 A JP 2008515803A JP 2008515803 A JP2008515803 A JP 2008515803A JP 5026413 B2 JP5026413 B2 JP 5026413B2
Authority
JP
Japan
Prior art keywords
controller
master controller
control
pvt
axis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008515803A
Other languages
English (en)
Other versions
JP2008543578A (ja
Inventor
マーティン ホーセック
スチュアート ビール
ローメン ボテフ
マシュー コーディー
クリストファー ホフマイスター
マーク アイブズ
ジャイロ モウラ
ロバート キャベニー
Original Assignee
ブルックス オートメーション インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ブルックス オートメーション インコーポレイテッド filed Critical ブルックス オートメーション インコーポレイテッド
Publication of JP2008543578A publication Critical patent/JP2008543578A/ja
Application granted granted Critical
Publication of JP5026413B2 publication Critical patent/JP5026413B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4148Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31207Master sends global files to autonomous controllers, feedback of process status
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33277Distributed system with host as leader, host with multiple of agents
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Numerical Control (AREA)
  • Selective Calling Equipment (AREA)
  • Feedback Control In General (AREA)

Description

クロスリファレンス
関連出願への相互参照
本出願は、その全体が参照として本願明細書に引用されており、2005年6月8日に出願された米国仮出願第60/688,636の優先権を主張する。
開示された実施例は、複雑な複数軸非リニアマシン用制御システムに関し、特に、性能、柔軟性及び拡張性についての所望の組合せを有する精密ロボットの正確な同期制御用システムに関する。
エレクトロニクス及び通信の領域における技術的進歩の結果として、複雑な動作システムに対する制御テクノロジーは、ネットワークアーキテクチャに向けた明確な方向に進んで来た。ネットワークソリューションは、リモートコントローラと称される複数の簡単なコントローラを利用し、リモートコントローラはモータ及び他のアクチュエータなどの制御対象の構成要素の近くに位置して通信ネットワークを介してマスタコントローラによって統合される。
ネットワークアーキテクチャは、マスタコントローラとリモートコントローラとの間の制御情報の分配、高度な制御アルゴリズムの実施、通信ネットワークの利用、異なるリモートコントローラによって駆動される構成要素の同期、動作の複数軸の位置取得などの複数のリモートコントローラへの入力と関係するイベントの処理、作業空間における人的存在の適応、及び電力損失状況の処理といった領域における多数のチャレンジを開く。
マスタコントローラとリモートコントローラとの間の制御情報の分配は、制御アルゴリズムの全てまたは大部分がマスタコントローラ上で実行される完全な集中型アーキテクチャから、制御アルゴリズムが実質的に自律リモートコントローラ上で実施される分散型ソリューションへ変化してもよい。
非常に集中化されたアーキテクチャの利点は、高度な制御アルゴリズムを提供する能力を含む。それはしばしば、マルチ入力マルチ出力(MIMO)制御などの、複数軸からのリアルタイム情報を必要とし、マスタコントローラ上で実施され得ることが都合がよい。この種のアーキテクチャにおけるリモートコントローラは、比較的低い計算能力及び少量のオンボードメモリを必要とし、相対的に簡単で費用のかからない設計を可能にする。
これらの利点は、リモートコントローラとマスタコントローラとの間の集中的でタイムクリティカルなデータ交換のせいで通信ネットワークの相対的に高い利用度を犠牲にして実現されるかもしれない。なんとなれば、マスタコントローラは、制御ループを閉じているからである。これらのシステムは、通常、限定された拡張性を有する。なんとなれば、軸の最大数は、通信ネットワークの帯域幅だけでなくマスタコントローラの計算能力によって制約されるからである。さらに、リモートコントローラは、通信ネットワークの障害の場合にそれぞれの動作軸の制御された停止を実施することなどの、障害関連のオペレーションなどを自律的に支援するための十分な情報を有していないかもしれないので、障害の場合には満足できる制御を実現するのは疑わしいかもしれない。
対照的に、マスタコントローラから受信した軌道情報で実行している、リモートコントローラ上で制御ループを閉じている分散制御アルゴリズムを備えた制御システムは、比較的低いネットワークトラフィック及び、リモートコントローラにおいてバッファされて通信ネットワークの全体の容量限界を改善することが都合がよいかもしれない実質的に少ないタイムクリティカルデータを利用する。この方法は、制御システムの所望の拡張性を提供してもよい。なんとなれば、追加の軸に対するリモートコントローラの数を増加することは、制御ループの実行に対して利用可能な全体の計算能力を自動的に高めるからである。さらに、単純な軌道を生成して制御アルゴリズムを実行することが可能なリモートコントローラは、通信ネットワークの障害の場合には、制御された停止などの障害関連オペレーションを支援するための十分な情報を有する。
しかしながら、分散型アーキテクチャにおけるリモートコントローラについての追加情報は、より高い計算能力及びメモリを必要とする。それは、概してリモートコントローラをより高価にする。同様に、十分なMIMO制御アルゴリズムの実施は、疑問がある。なんとなれば、1つのリモートコントローラ上で起動している制御アルゴリズムは、概して、他のリモートコントローラによって駆動される軸の状態へのリアルタイムのアクセスができないからである。
ネットワーク制御システムの実施は、概して、適当な性能を備えた通信ネットワークを用いることによって容易にされる。「ファイヤーワイヤー(登録商標)」としても周知であるIEEE 1394通信ネットワークは、高速シリアルバスに基づいている。それは最新のパラレルバスと同じサービスだが実質的により低コストで提供するよう開発された。IEEE 1394b−2002修正条項は、下位互換性のある方法におけるギガビット速度拡張及びバストポロジーにおける物理ループの検出を提供する特徴とメカニズム、並びに物理層(PHY)ポートの選択的な無効によるそれらのその後の解決とを定義する。軽量IEEE 1394プロトコルは、1394トレードアソシエーション(the 1394 Trade Association)による電子計装及び産業用制御機器に対する効率的な非同期通信のために開発された。IICP(the Instrument and Industrial Control Protocol)と称されて、それはフロー制御された方法でデータ及びコマンド/制御シーケンスを転送するためのデュアル−デュプレックスプラグ構造を用いる。
精密ロボットの正確な同期化制御用制御システムは、概して、ある程度のレベルのシステム保全を必要とする。即ち、制御システムは、インターロック、フェ−ルセーフメカニズム、最小100%動作可能時間の維持メカニズム、製造される製品に対する損傷を避けるメカニズム及び技術、及び、制御システムの作業空間における人的存在を適応させるメカニズム及び技術を必要とするかもしれない。
特定のレベルのインテグリティを備えたプログラム可能なシステムを実行する最先端のエレクトロニクス及びコンピュータは、高性能の産業用機械及び処理への市場に出回る傾向がある。これらの種類のシステムは、概して、例えば、EN954 カテゴリ 4またはIEC61508 SIL 3などのより厳密なカテゴリに適応可能であり、高性能プロセッサまたは組み込みCPUのプロセッサを用いる。これらの種類のシステムは、概して高価であり、例えばカテゴリ2または3などのより低いレベルのインテグリティを必要としている低価格の機械またはシステムに対して必要とされるよりも高い性能を有する。
プログラム可能なインテグリティに対する替わりの解決法を実施して専門の高性能エレクトロニクスに対する追加の費用を避けたい機械設計者は、制御システムのエレクトロニクス、ネットワーク及びソフトウェアをインテグリティ要求に適合させること及び監督機関または監査員の承認を得ることという極端に複雑な作業に直面させられる。規定のレベルのインテグリティを実行する既存の技術での他の問題は、寸法及び形状因子である。それらは、厳しい空間制約を有するインテグリティアプリケーションに対して不適当である。
集中化されていてかつ分散されているアーキテクチャの利点を有する制御システムの必要性がある。それは柔軟で拡張性があって、構成要素の動作を同期させ、制御を受ける構成要素の作業空間における電力損失及び人的存在を適応させ、必要なシステムインテグリティレベルを提供する。
開示された実施例は、マスタコントローラと、マスタコントローラの直接制御下にある1つ以上の第1リモートコントローラを含む中央制御部と、マスタコントローラによって制御されるクラスタコントローラを含む分散制御部と、を有するクラスタ化されたアーキテクチャを含む制御システムを対象とし、クラスタコントローラは、1つ以上の第2リモートコントローラの働きを制御する。第1及び第2リモートコントローラの各々は、1つ以上の軸を駆動するために利用される。
開示された実施例はまた、制御システムの軸を作動する方法を対象とし、それは、軌道上の複数のポイントのうちの各々のポイントに対する位置、速度及び加速に関して軸に対する軌道を生成するステップと、各々のポイントに対する利得値及びフィードフォワードターム(term)を決定するための軸の逆ダイナミクスモデルを算出するステップを含む。
開示された実施例はまた、ネットワーク上のノードを同期させる方法を対象とし、メッセージが送出された時間を示すタイムスタンプを含む開始メッセージを発行するステップと、タイムスタンプを用いて高分解能クロックを更新するステップと、タイムスタンプによって示された時間と高分解能クロックが更新された時間との間の差分を補償するステップと、を含む。
開示された実施例はまた更に、制御システムのノードの間で通信するためのメッセージセットを対象とする。それは、コマンド及びコマンド応答を交換するためのアクションメッセージ、予め定められたイベントに関係するデータをマスタコントローラに報告するためのイベントメッセージ、リモートコントローラとマスタコントローラとの間でシリアルメッセージチャネルを提供するためのストリングメッセージ、及びネットワークノードへデータを送出するためのデータポートメッセージを含む。
開示された実施例はまた、イベント時の軸データを得る方法を含む。それは、1つ以上の軸ノードでデータをバッファリングすること、1つ以上の軸ノードのうちのトリガイベントノードにおいて生じるトリガイベントの時間情報を記録すること、及びバッファリングされたデータを処理して記録された時間情報によって示される期間における一組の値を決定することを含む。
開示された実施例はまた更に、クラスタ化アーキテクチャにおいて組織化された複数のノード及びノードの2つ以上が通信する無線通信ネットワークを有する制御システムを対象とする。
開示された実施例はまた、制御システムの軸を制御する方法を含む。それは、軸のエンドエフェクタに対するオペレーティングパラメータ値を計算するステップと、エンドエフェクタに対する動作プロファイルがオペレーティングパラメータ値を超えないように軸の個々の結合に対する動作プロファイルを生成するステップと、を含む。
軸を制御する方法も開示される。それは、軸位置に対する速度及びトルクを算出するステップと、軸速度が算出された速度を超えてもよい第1の最大期間を予め決定するステップと、軸トルクが算出されたトルクを超える第2の最大期間を予め決定するステップと、第1または第2の最大期間を超える場合に軸を無効にするステップと、を含む。
ここで開示された別の実施例は、制御システムネットワークを介して送信されるデータのインテグリティを確認する方法を含む。該方法は、ネットワーク上のノードにおいて動作パラメータを記憶するステップと、ネットワークを介して受信されるコマンドが動作パラメータを超えるノードの動作を生じさせないということを確認するステップと、を含む。
開示された実施例の一部として制御システムネットワークのインテグリティを確認する方法は、周期的なメッセージを発行するステップと、メッセージが期間内に受信されない場合に制御システムネットワークの1つ以上のノードを無効にするステップと、を含む。
開示された実施例はまた、制御システムネットワークのインテグリティを維持する方法を含む。それは、ネットワークのノードをゾーンに割り当てて第1のゾーンの動作が第1ゾーン以外のゾーンにおける動作から切り離されるステップと、ゾーンを制御して第1のゾーンのイベントが第1のゾーン以外のゾーンのオペレーションに影響を与えないこと、を含む。
本実施例はまた、軸を制御された停止の状態に至らせる方法を対象とする。それは、軸を含むシステムに対して電力が失われた否かを判断するステップと、予め定めた期間内に軸をゼロ速度の状態に至らせる軸への軌道を適用するステップと、予め定めた期間の終わりに軸から電力を除去するステップと、を含む。
ここで開示された実施例はまた、制御システムにおける同期遅延を補償する方法を含む。それは、メッセージを発行するネットワークノードとメッセージを受信するネットワークノードとの間の遅延を判断するステップと、判断された遅延を用いて受信ノードに対する軌道を調整するステップとを含む。
ロボットを操作する方法が開示される。それは、ロボットのアイドル時間を記録するステップと、アイドル時間閾値を超えるロボットの性能特性を判断するステップと、判断された性能特性が仕様を満たさない場合にウォーミングアップ運動を実施するようロボットに指示するステップと、を含む。
動作制御システムに対するアプリケーションプログラムインタフェースも開示された実施例に含まれ、動作制御システム構成要素の間で情報の交換するための標準化された一組のインタフェース協約と、オペレーション及び特定の引数を実施してオペレーションを実施するための特定の構成要素及び動作を識別するための一般的なコマンドを提供する汎用コマンドセットと、を含む。
発明を実施するための形態
開示された実施例の前述の態様及び他の特徴は以下の説明において説明され、添付の図面と関連して理解される。
図1は、ここで開示される実施例を実施するのに適しているシステム100のブロック図を示す。開示される実施例は、図面に示される実施例を参照して説明されるが、開示される実施例は、多くの代替実施例形式で具体化されてもよいということが理解されるべきである。さらに、いかなる適当な寸法、形状、または、要素または材料の種類が用いられてもよい。
開示される実施例の制御システム100は、ネットワーク化された制御システムにおいて集中化された制御情報の割り当ての利点と分散化された制御情報の割り当ての利点とを組み合わせる。この組合せアーキテクチャは、本願明細書においてクラスタ化アーキテクチャと称される。
クラスタ化アーキテクチャ制御システム100は、マスタコントローラ105、1つ以上のクラスタコントローラ110、1つ以上のリモートコントローラ115、及び通信ネットワークを介して一緒に接続されている1つ以上の自律リモートコントローラ150を含む。マスタコントローラ105、クラスタコントローラ110、リモートコントローラ115及び自律リモートコントローラ150を、ネットワークノードと称してもよい。
図1に図示されているように、マスタコントローラ105は、制御システム100の全体的なオペレーションを監督する。クラスタコントローラ110の各々は、1つ以上のリモートコントローラのオペレーションを監督し、リモートコントローラの各々は、1つ以上の軸125を駆動するために利用される。軸は、例えば、精度ロボットのシステムなどの、1つ以上の複合複数軸非リニアマシンの一部であってもよい。リモートコントローラ115は、クラスタコントローラによって制御されてもよく、自律リモートコントローラ150は、マスタコントローラ105によって直接作動されてもよい。リモートコントローラ115は、通常、クラスタ130においてグループ化される。
クラスタ化アーキテクチャ制御システム100はまた、少なくとも1つのブリッジノード135を含んでもよく、それは、マスタコントローラがコントローラエリアネットワーク(CAN)などの別の通信ネットワーク上のノードと通信することを可能にする。制御システムは、そのとき、例えば、CAN軸コントローラ、グリッパ、ドア、アクチュエータ、センサ、その他のCANに基づくモジュール及び構成要素を制御することが可能でもよい。
クラスタ化アーキテクチャは、ネットワークトポロジの範囲内で必要な集中制御ネットワーク及び分散制御ネットワークの特徴を提供する。ネットワーク内で必要なクラスタ130が分散されてもよく、さらに各々のクラスタコントローラ110はそれが管理するクラスタ内で高度に集中化された制御を提供することができるので、本願明細書において開示されるアーキテクチャは有利である。高度に集中化された制御に関係するネットワークトラフィックは、通常、各々のクラスタ130内に限定されている。そして、自律リモートコントローラ150は、自律リモートコントローラ150が制御する軸の近くに位置してもよく、電力及び信号ケーブル布線と関係する問題を減少させる。また、該アーキテクチャは、必要とされるマスタコントローラ105による自律リモートコントローラ150の直接の制御を可能にする。さらに、強いネットワークトラフィックは、通常、クラスタ130内で限定されてクラスタ130が高レベルの制御が可能であるので、該アーキテクチャは、多数のクラスタを収容してもよい。このように、該アーキテクチャは、高レベルの拡張性を提供し、コントローラの効率的な分散を可能にする。
集中化制御の例として、マスタコントローラ105は自律リモートコントローラ150を直接制御してもよい。ここで、マスタコントローラは軌道を生成し、制御アルゴリズムを実行し、自律リモートコントローラ150によって実施されるトルクコマンドを提供してもよい。自律リモートコントローラ150は、また、モータなどの軸アクチュエータ140に電圧を印加するといった制御動作を生成するためにトルクコマンドを用いてもよい。自律リモートコントローラ150は、エンコーダなどのフィードバック器具145から位置情報及び軸125からの電流引き込みなどのフィードバック信号を読み込んで、フィードバック信号をマスタコントローラ105に伝達してもよい。この例では、高性能が実現されるとともに、ネットワーク利用度も高くてもよい。なんとなれば、制御ループ及びフィードバックループは、通信ネットワーク120を介して閉じられているからである。
分散化制御の例として、マスタコントローラ105は、1つ以上の自律リモートコントローラ150の間の働きを統合して、1つ以上の自律リモートコントローラ150による実施のための軌道データを生成してもよい。自律リモートコントローラ150は、リアルタイム制御アルゴリズムの軌道データを用いて軸アクチュエータ140への電力印加などの制御動作を生成し、またマスタコントローラ105に状態情報を伝達してもよい。この例では、フィードバック制御ループはリモートコントローラ上で閉じているので、ネットワーク利用度は低くてもよい。しかしながら、動的に結合された軸の制御性能は限定されていてもよい。なんとなれば、フィードバック制御ループは、通常、他のリモートコントローラ上に存在する情報にリアルタイムアクセスできないからである。
組合せクラスタ化制御の例として、マスタコントローラ105は、高レベル監視制御機能を実施して、1つ以上のクラスタコントローラ110の間の働きを統合してもよい。クラスタコントローラ110は、その制御下で軸の局所的な動的モデリングを含むリアルタイム制御アルゴリズムを実行させて、そのそれぞれのリモートコントローラ115にトルクコマンドを与えてもよい。クラスタコントローラ110によって管理されるリモートコントローラは、例えば、トルクコマンドに応答して軸アクチュエータ140に電力を印加してもよく、さらに、例えば、実際の位置などの、軸情報をクラスタコントローラ110に伝達してもよい。このように、ほとんどの制御及びフィードバック通信は、概して、クラスタコントローラ110とそのそれぞれのリモートコントローラ115との間で局所的に生じて、クラスタ外のノードの間でネットワーク利用を節約する。
クラスタ化アーキテクチャは、概して、全通信ネットワーク120に重大でタイムクリティカルなトラフィックを負わせることなしに必要な構成要素のサブセットに対する高性能制御を提供する。
ここで図2に戻ると、マスタコントローラ105がより詳細に説明される。上記したように、マスタコントローラ105は、クラスタ化アーキテクチャ制御システム100のオペレーションを制御する。マスタコントローラ105は、概して、プロセッサ205、リードオンリメモリ210、ランダムアクセスメモリ215、プログラム記憶装置220、ユーザインタフェース225、及びネットワークインタフェース230を含んでもよい。
プロセッサ205は、オンボードキャッシュ235を含んでいてもよく、通常、オンボードキャッシュ235、リードオンリメモリ210、ランダムアクセスメモリ215、及びプログラム記憶装置220などのコンピュータ使用可能媒体といったコンピュータプログラム製品から、情報及びプログラムを読み込むことができる。
電源を入れると、プロセッサ205は、リードオンリメモリ210の中にあるオペレーティングプログラムを開始し、初期化の後に、プログラム記憶装置220からランダムアクセスメモリ215への命令をロードし、それらのプログラムの制御下で動作してもよい。頻繁に用いられる命令は、オンボードキャッシュ235の中に一時的に記憶されてもよい。リードオンリメモリ210及びランダムアクセスメモリ215の両方は、半導体技術または、その他の材料及び技術を利用してもよい。プログラム記憶装置220は、ディスケット、コンピュータのハードドライブ、コンパクトディスク(CD)、デジタル多様途ディスク(DVD)、光ディスク、チップ、半導体またはコンピュータが読み込み可能なコードの形式でプログラムを記憶することができるその他のデバイスを含んでもよい。
オンボードキャッシュ235、リードオンリメモリ210、ランダムアクセスメモリ215及びプログラム記憶装置220のいずれか個々に、または、いずれの組合せでも、オペレーティングシステムプログラムを含んでもよい。オペレーティングシステムプログラムは、任意のリアルタイムオペレーティングシステムを追加されて、マスタコントローラ105によって提供されるデータの質を改善してもよい。任意のリアルタイムオペレーティングシステムも、マスタコントローラ105が、クラスタコントローラ110及び自律リモートコントローラ150から受信したデータ及びメッセージへの保証応答時間を提供することを可能にしてもよい。
特に、オンボードキャッシュ235、リードオンリメモリ210、ランダムアクセスメモリ215及びプログラム記憶装置220の、いずれか個々、または、いずれの組合せも、軸軌道生成、動的モデリング、エラー処理、データ収集及びメッセージング設備のためのプログラムを含んでもよい。メッセージング設備は、ネットワークノードの間でメッセージを構築して交換するプログラム、フレームを構築して交換するプログラムを含んでもよく、以下に開示されるように、アプリケーションプログラムインタフェースを提供するためのプログラムを含んでもよい。さらに、オンボードキャッシュ235、リードオンリメモリ210、ランダムアクセスメモリ215及びプログラム記憶装置220は、例えばネットワークインタフェース230を介してプロセッサ205によって、新規またはアップグレードされたプログラムをロードされてもよい。
ネットワークインタフェース230は、概して、マスタコントローラ105と通信ネットワーク120との間のインタフェースを設けるようになされていてもよい。通信ネットワーク120は、公共交換電話網(PSTN)、インターネット、無線ネットワーク、有線ネットワーク、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、仮想プライベートネットワーク(VPN)、その他を含んでもよく、さらに、X.25、TCP/IP、ATM、その他を含む他の種類のネットワークを含んでもよい。1つの実施例では、通信ネットワーク120は、「ファイヤーワイヤー」ネットワークとも称されるIEEE 1349ネットワークであってもよい。
マスタコントローラ105は、ディスプレイ240を備えたユーザインタフェース225及び、例えばキーボード255またはマウス245などの入力装置を含んでいてもよい。ユーザインタフェースは、プロセッサ205の制御下でユーザインタフェースコントローラ250によって作動されてもよい。ユーザインタフェースコントローラは、また、外部ネットワーク、他の制御システムまたはホストコンピュータへの接続またはインタフェース255を提供してもよい。
マスタコントローラ105は、概して、クラスタ化アーキテクチャ制御システム100に対する高レベルの監視機能及び制御機能を実行してもよい。これらの機能は、オペレータ及び/または高レベルホストコンピュータとの通信インタフェース、コンフィグレーションデータ管理、クラスタ及びリモートコントローラの統合、運動シーケンス及び軌道生成、動的モデリング(必要であれば)、エラー処理及びデータロギングを提供することを含んでいてもよい。
ここで図3に戻ると、クラスタコントローラ110の構造及びオペレーションが説明されている。単一のクラスタコントローラ110が説明されるが、クラスタ化アーキテクチャ制御システム100はいかなる数のクラスタコントローラを含んでもよいということが理解されるべきである。
先に述べたように、クラスタコントローラ110は、マスタコントローラ105から情報を受信してもよく、その情報を利用して1つ以上の軸125を制御してもよい。クラスタコントローラ110は、通常、プロセッサ305、リードオンリメモリ310、ランダムアクセスメモリ315、プログラム記憶装置320、及び通信ネットワーク120へのネットワークインタフェース330を含んでいてもよい。プロセッサ305は、また、オンボードプログラマブルメモリ335を含んでいてもよい。
プロセッサ305は、通常、オンボードプログラマブルメモリ335、リードオンリメモリ310、ランダムアクセスメモリ315、及びプログラム記憶装置320などのコンピュータ使用可能媒体のようなコンピュータプログラム製品から情報及びプログラムを読み込むことができる。
オンボードプログラマブルメモリ335、リードオンリメモリ310、ランダムアクセスメモリ315、及びプログラム記憶装置320は、ネットワークノードの間でメッセージを作成して交換するプログラムを含んでいてもよく、ネットワークノードの間のアプリケーションプログラムインタフェースを支持するプログラムを含んでいてもよい。オンボードプログラマブルメモリ335、リードオンリメモリ310、ランダムアクセスメモリ315、及びプログラム記憶装置320はまた、クラスタコントローラ110がマスタコントローラ105から動作コマンドを受信することを可能にするプログラムを、通常、少なくとも位置、速度及びタイムスタンプ(PVTフレーム)を有するフレームの形式で含んでいてもよい。フレームは、以下に説明するように、例えば、フィードフォワードターム、利得ターム、または両方などの他のデータを含んでいてもよい。ランダムアクセスメモリ315及びプログラム記憶装置320はまた、受信時にフレームを個々にまたは一緒にバッファリングすることができてもよい。
プログラム制御下で、クラスタコントローラ110は、クラスタコントローラ110が制御する軸の動的モデルを含むリアルタイム制御アルゴリズムを用いてフレームに含まれるデータで動作し、クラスタコントローラ110の特定のクラスタの一部であるリモートコントローラ115に対するトルクコマンドを算出してもよい。クラスタコントローラ110は、例えば、実際の軸位置、エラー表示、その他などのリモートコントローラ115からのデータを得てもよく、さらに、マスタコントローラ105へデータを報告してもよい。
リモートコントローラ115及び自律リモートコントローラ150の構造及びオペレーションが、図4を参照しつつ説明される。単一のリモートコントローラ115、150が説明されるが、クラスタ化アーキテクチャ制御システム100は複数のリモートコントローラ115及び自律リモートコントローラ150を含んでもよいということが理解されるべきである。この検討のために、リモートコントローラ115及び自律リモートコントローラ150は、リモートコントローラ115、150と称される。いくつかの実施例では、リモートコントローラ115は、自律リモートコントローラ150として動作する能力を有していてもよく、自律リモートコントローラ150は、リモートコントローラ115として動作する能力を有していてもよい。
リモートコントローラ115、150は通常、駆動し、1つ以上の軸から位置情報を受信することができる。特に、リモートコントローラは、例えばモータ巻線に電力を供給するための1つ以上のループ電流を駆動し、通常、運動制御ループを実施し、さらにリアルタイムでデータを収集する、単一または複数軸制御が可能であってもよい。リモートコントローラ115、150は、マスタコントローラ105またはクラスタコントローラ110からのコマンドを受信しかつそれらに情報を与えてもよい。
リモートコントローラ115、150は、プロセッサ405、半導体メモリデバイス410、非半導体メモリ415、及びネットワークインタフェース420を含んでいてもよい。リモートコントローラ115、150はまた、1つ以上の軸125(図1)に電力を印加する回路425及びドライバ430を含んでいてもよい。リモートコントローラ115、150は、1つ以上の軸125の各々から、軸位置情報440を受信する回路435を更に含んでもいてよい。位置情報は、軸125の一部であってもよい1つ以上のエンコーダ145から出力されてもよい。
プロセッサ405は通常、半導体メモリ410及び非半導体メモリ415などのコンピュータ使用可能媒体のようなコンピュータプログラム製品上に記憶されたプログラムの制御下で動作する。非半導体メモリ415は、ディスケット、コンピュータのハードドライブ、コンパクトディスク(CD)、デジタル他用途ディスク(DVD)、光ディスク、またはコンピュータが読み込み可能なコード形式でプログラムを記憶することができる他のいかなるデバイスを含んでもよい。
半導体メモリ410及び非半導体メモリ415のいずれか個々にまたはいずれの組合せでも、リモートコントローラオペレーティングシステムプログラムを含んでいてもよい。半導体メモリ410及び非半導体メモリ415のいずれか個々にまたは組合せはまた、ネットワークノードの間でメッセージを作成して交換するためのプログラムを含んでいてもよく、さらに、ネットワークノードの間のアプリケーションプログラムインタフェースを支持するプログラムを含んでいてもよい。特に、半導体メモリ410及び非半導体メモリ415のいずれか個々にまたは組合せはでも、トルクモードオペレーション、セットポイントモードオペレーション及びリモートコントローラ115、150のポイントツーポイントモードオペレーションのうちの少なくとも1つに対するプログラムを含んでいてもよい。さらに、半導体メモリ410及び非半導体メモリ415はいずれか個々にまたは組合せでも、以下に説明されるように、受信時にフレームをバッファリングすることができてもよい。
リモートコントローラ115は、クラスタコントローラによって制御されるときに、トルクモードで動作してもよい。上記したように、クラスタコントローラ110は、通常、マスタコントローラからデータフレームを受信して、それらを利用してそのクラスタにおけるリモーコントローラに対するトルクコマンドを算出する。各々のリモートコントローラ115は、そのそれぞれのトルクコマンドを実行するのに必要な制御機能を実行してもよい。
例えば、リモートコントローラ115は、モータ数、モータ毎の位相、位相抵抗、逆起電力定数、その他などの、リモートコントローラが制御する軸または複数軸の特徴を用いて事前プログラムされてもよい。クラスタコントローラ110は、例えばモータなどのアクチュエータ140が与えるべきトルクを指示しているリモートコントローラ115へのコマンドを発行してもよい。リモートコントローラ115は、アクチュエータ140に所望のトルクを与えさせる事前プログラムされた特性を用いて特定の期間アクチュエータ140に印加されるべき電圧、電流または電力を算出してもよい。
リモートコントローラ115も、例えば、リモートコントローラ115によって制御される軸の実際の位置などのトルクコマンドを決定するためにクラスタコントローラ110へ情報を提供してもよい。エンコーダ145は、例えばエンコーダカウントまたはステップの数、角度測定、その他などの生の位置情報をリモートコントローラ115に供給することができ、そこからリモートコントローラ115が実際の位置情報を算出してもよい。このように、クラスタコントローラ110及びリモートコントローラ115の組合せは、マスタコントローラ105からフレームの形式で相対的に高レベルのコマンドのより少ない数を受信し、次に相対的に多数のコマンドを交換してそれら自身の間でフィードバックしてフレームによって命令された動作を実行してもよい。
マスタコントローラ105の制御下で動作している場合、リモートコントローラは、上記したように自律リモートコントローラ150とも称されてもよい。自律リモートコントローラ150は、セットポイントモードで動作してもよい。セットポイントモードでは、マスタコントローラ105は、自律リモートコントローラ150に、軌道データを送出してもよい。例えば、軌道データは、通常、特定の軸に対する位置、速度、及び時間スタンプのデジタル表現を含んでいてもよい。
自律リモートコントローラ150は、リアルタイムアルゴリズムを実行して、軸に所望の軌道に従って移動させる、軸125に対する一組の関連するトルクコマンドを決定してもよい。自律リモートコントローラ150は、次に、トルクコマンドを用いて、アクチュエータ140に従って印加される電力を算出してもよい。セットポイントモードでは、自律リモートコントローラ150は、通常、クラスタコントローラの機能のいくつかを実施してもよく、それ自体とそれが制御する軸との間の制御ループを閉じて、通信ネットワーク120の帯域を節約してもよい。
替わりに、自律リモートコントローラ150は、マスタコントローラ105の制御下で、ポイントツーポイントモードで動作してもよい。このモードでは、自律リモートコントローラ150は、マスタコントローラ105から動作コマンドを受信して、動作コマンドを実行するために必要なオペレーションを実行してもよい。典型的な動作コマンドは、軸の作業空間における三次元ポイントを含んでいてもよい。動作コマンドを実行するために必要なオペレーションは、軸が三次元ポイントに至るように、軌道を算出すること、トルクコマンドを算出すること、及び自律リモートコントローラ150によって制御される軸のモータに印加される必要な電力を算出することのうちの1つ以上を含んでいてもよい。
ポイントツーポイント動作コマンドに応答して、自律リモートコントローラ150は、コマンドの結果を報告する応答を送出してもよい。マスタコントローラ105は、次に、次の三次元ポイントを備えた別のポイントツーポイントコマンドを送出してもよい。この交換は、自律リモートコントローラ150が所望の一連の動作コマンドを実行するまで進んでもよい。ポイントツーポイント動作モードは、データフレームの数とは対照的に、自律リモートコントローラ150へ送信されたデータを運動コマンド毎に1つのエンドポイントに限定することをマスタコントローラ105に可能にし、よって、ネットワーク帯域を保つ。しかしながら、ポイントツーポイント動作モードにおいて、マスタコントローラ105は、多くの自律リモートコントローラ150によって実行される軌道の正確な同期という能力を失う。
クラスタ化アーキテクチャ制御システムの典型的なアプリケーションは、図5aに示される。制御システムを組み込んでいるワークセル505は、2つのロボット510、520及び2つの基板アライナ515、520を含む。クラスタコントローラ540及び3つのリモートコントローラ550、555、560はロボット510を制御するために用いられる。同様に、他のクラスタコントローラ545及び3つのリモートコントローラ565、570、575は、ロボット520を制御するために用いられる。マスタコントローラ580は、基板アライナ515、525のための自律リモートコントローラ585、590だけでなく2つのクラスタコントローラ540、545を制御する。マスタコントローラ580、クラスタコントローラ540、545、リモートコントローラ550、555、560、565、570、575及び自律リモートコントローラ585、590は、通信ネットワーク595によって接続されている。
アライナ515、525が2軸マシンであってもよいとともに、ロボット510、520は複数の非リニア動力学を有する5軸マシンであってもよい。この例では、ロボット510、520は指示された位置から基板530、535を取り上げて、それらをそれぞれアライナ525、515の上に配置する。アライナ525、515は、基板530、535を偏心及びアラインメント特徴を求めてスキャンしてもよい。スキャン後、ロボット510、520は、基板530、535を取り上げてそれらをほかの場所に配置してもよい。1つの実施例では、ワークセル505は、クラスタ化アーキテクチャ制御システム100の一部であってもよい(図1)。
ワークセルのスループットを最大化しかつ衝突のないオペレーションを保証するために、マシンの動作、即ち、ロボット510、520及び基板アライナ515、525は、正確に同期しなければならない。ロボット510、520及び基板アライナ515、525のいずれかの間の動的接続はなくてもよい。各々は、リアルタイムデータの共有なしで独立制御アルゴリズムを用いてもよい。しかしながら、ロボット510、520の機械構成は、各々のロボットマニピュレータ内で個々の軸の間の強い動的接続をもたらす。ロボット510の個々の軸間の連携は、リモートコントローラ550、555、560との組み合わせでクラスタコントローラ540によって管理されてもよい。ロボット520の個々の軸間の連携は、リモートコントローラ565、570、575との組み合わせでクラスタコントローラ545によって管理されてもよい。このように、クラスタコントローラ540及びリモートコントローラ550、555、560は1つのクラスタを形成し、クラスタコントローラ545及びリモートコントローラ565、570、575は別のクラスタを形成する。
図5aに示されたワークセル505aでは、マスタコントローラ580は、通常、運動シークエンシング、データ収集、イベントロギング及びエラー処理などの監視機能を提供してもよい。さらに、それは、ワークセル505における全ての運動軸に対する軌道を算出してもよい。この例では、マスタコントローラ580は、算出結果を各々の個々の運動軸に固有なフレームにして、ネットワーク595を介して周期的にそれらを送出する。クラスタコントローラ540、545及び自律リモートコントローラ585、590は、それらが制御しその結果動作する軸に対するフレーム及びコマンドを認識する。
例えば、クラスタコントローラ540、545は、高度なマルチ入力マルチ出力制御に対するロボット510、520の動的モデルを利用し、トルクコマンドを算出し、それらのそれぞれのクラスタのリモートコントローラにそれらのトルクコマンドを周期的に送出してもよい。
自律リモートコントローラ585、590は、セットポイントモードで動作していてもよく、それぞれアライナ515、525に対する関連するトルクコマンドを決定するリアルタイムアルゴリズムを実行してもよい。自律リモートコントローラ585、590は、次にトルクコマンドを用いて、アライナ515、525の各々の範囲内でモータにそれに応じて印加されるべき電力を算出してもよい。
集中化制御アルゴリズムと関係する重大なリアルタイムトラフィックのそうでなければ支配下にある、特にマスタコントローラ580との接続であるネットワーク595の残りを負担することなしに、ネットワーク595を介して制御ループを閉じることと関係するタイムクリティカルなトラフィックは2つのクラスタの各々の範囲内に含まれるということに注意することが重要である。
注目すべきは、アーキテクチャは、必要とされる自律リモートコントローラ585、590をマスタコントローラ580が直接制御することを可能にするということである。アプリケーション例が、図5bに示される。多くのアプリケーションにおいて、性能は、以下に説明される分散モデルベース制御方法によって向上されてもよい。
ここで開示されたクラスタ化アーキテクチャ制御システムは、有益である。なんとなれば、各々のクラスタコントローラは、それが管理するクラスタの範囲内で高度に集中化された制御を提供することができるからである。非常に集中した制御に通常必要なネットワークトラフィックの大容量は、通常各々のクラスタに限定される。通信ネットワーク120内で必要なクラスタは分散されてもよく、リモートコントローラは、それらが制御する軸の近くに配置されてもよく、ケーブル敷設要求及び相当な長さに亘って制御信号を起動することと関係する問題を減少させる。
さらに、リアルタイムデータ通信はクラスタの範囲内に存在し、かつ強いネットワークトラフィックは通常クラスタの範囲内に限定されるので、クラスタは、高性能制御を行うことが可能で、該アーキテクチャは、マスタコントローラが多数のクラスタを監視することを可能にする。その結果、該アーキテクチャは、必要とされる高性能制御、高レベルの拡張性、及びコントローラの効率的な分散を提供する。
ロボット510またはアライナ585などのマシンを制御するために上記した1つの方法は、各々の軸に対する軌道を計算することである。前述のように、かかる軌道は、PVTフレームと称され、フレームへグループ化される一連の位置、速度及び時間の値によって画定されてもよいことが都合がよい。
図6は、典型的なPVTフレーム605を示す。PVTフレーム605は、位置データ610、速度データ615及び時間データ620を含む。1つの実施例では、データは、1バイト以上でグループ化されたバイナリ形式である。別の実施例では、位置データ610、速度データ615、及び時間データ620の各々は、4バイトを占める。PVTフレーム605は、ヘッダ情報625及び末尾情報630を任意で含んでもよく、その両方は、同期、識別、パリティ、エラー修正、または他の種類のデータを含んでもよい。PVTフレーム605は、ヘッダの間又は中の長さ及び量、位置、速度、時間、末尾データを変化させる追加データを含んでもよい。図6は、フレームの特定の位置または領域における様々な情報またはデータを示すとともに、情報及びデータの異なる種類はPVTフレーム605内のどこかに配置されてもよいということに注目すべきである。PVTフレーム605はいずれかの特定の長さに限定されないということに注目すべきである。
制御されるマシンの動的モデルに対する入力としてこれらの一連の値を用い、各々の軸に適用されるべき理論上のトルクを算出し、各々の軸が所望の軌道に従うということが開示された実施例の特徴である。動的モデルの構成要素を用いて、各々の軸に対するリモートコントローラによって用いられるフィードバック信号をスケーリングすることも開示された実施例の特徴である。
トルクターム及びスケーリングタームが、個々のマシン軸の間の非リニア及び動的クロス接続を説明することが有利である。トルクタームは、本願明細書でフィードフォワードタームと称される。なんとなれば、それは、位置または速度などの軸の実際の状態に依存しなくてもよいからである。スケーリングタームは、利得タームと称される。
例として図5aのワークセルを用いると、マスタコントローラ580は、命令された位置、速度及び加速に関してロボット510の各々の軸に対する軌道を生成してもよい。ロボット510の逆の動的モデルを用いて、マスタコントローラは、軌道情報を利用して対応するフィードフォワードターム及び利得タームを生成してもよい。これらのターム(term)は、PVT−FGフレームと称されて、各々の軸に特有のフレームにおいて軌道情報とともにグループ化されてもよい。図7は、典型的なPVT−FGフレーム705を示す。PVT−FG705は、PVTフレーム605と同様に、任意のヘッダ710、位置715、速度720、時間725、及び任意の末尾情報730を含む。さらに、PVT−FGフレーム705は、少なくとも1つのフィードフォワードターム735及び少なくとも1つの利得ターム740を含む。データは、1バイト以上でグループ化されたバイナリ形式であってもよい。PVT−FGフレーム705の1つの実施例では、位置715、速度720、時間725、フィードフォワード735及び利得740タームの各々は4バイトを占有する。PVTフレームと同様に、PVT−FGフレーム705は、異なるタームの間又は中で分散された異なる長さまたは量の他のデータを含んでもよい。
PVT−FGフレームは次に、ネットワーク595を介して分配されてもよい。データを受信するクラスタコントローラ540は、2つの連続したフレームの間で補間して瞬間位置、速度、フィードフォワードターム及び利得値を得て、この情報を利用してロボット510を制御する。同様に、クラスタコントローラ545及び自律リモートコントローラ585、590は、マスタコントローラ580から対応するデータを受信して、それらを利用してそれぞれロボット520及びアライナ515、525を制御する。
フィードフォワードターム及び利得タームをもたらすための典型的な技術が、ここで詳細に説明される。以下の動的モデルが用いられてもよい。
Figure 0005026413
ここでτは、軸iに適用されたトルクを意味し、θacti及びθcmdiは、それぞれ軸iの実際の位置及び命令された位置である。{θact}及び{θcmd}は、{θact}={θact1,θact2,・・・,θactn及び{θcmd}={θcmd1,θcmd2,・・・,θcmdnと定義される位置ベクトルを表す。Mijは、軸iとjとの間の慣性クロス接続を示す慣性マトリクス構成要素である。hは、遠心性でコリオリで重力タームなどの軸iに対する他の位置及び速度依存動的効果を示す関数である。uは軸iに対応するユニット慣性システムに対する制御低出力を表す。iは1からnまで変化し、nは軸の全部の数または自由度である。点及び二点はそれぞれ第1及び第2時間導関数を表す。
位置及び速度追跡エラーが小であることを与えられて、実際の位置及び速度は、命令された量を用いて予測されてもよい。さらに、i≠jに対するMijを無視すると、方程式(1)のダイナミクスは、以下の逆ダイナミクスモデルとして書き直されて予測されてもよい。
Figure 0005026413
ここで、
Figure 0005026413
Figure 0005026413
及びFに対する上記の式は、それぞれ利得ターム及びフィードフォワードタームを定義する。 指数iは、フィードフォワードターム及び利得タームがその軸に適用されることを示す。制御性能をさらに改善するために、外乱オブザーバは、各々の軸に対して利用されて成された単純化を補償してもよい。
このロボット510例における、制御されたマシンに対する軌道及び逆ダイナミクスモデル計算は、マスタコントローラ580によって実施されてもよい。G及びFに対する値が決定されると、マスタコントローラ580は、各々の軸に対するPVT−FGフレームを組立てて、ネットワーク595を介してそれらをロボット510のクラスタコントローラ540に分配してもよい。
ロボット510のクラスタコントローラ540は、例えばそれ自体とリモートコントローラ550、555、560との間でトルクコマンドを送出してフィードバック信号を受信することによって、ロボット510を動作させるために、そのメモリに記憶された命令及びアルゴリズムを有していてもよい。マスタコントローラ580からのPVT−FGフレームを用いて、クラスタコントローラ540は、リモートコントローラ550、555、560によって制御された各々の軸に対する改善されたトルクコマンドを算出する。トルクコマンドは改善されるべきと言われる。なんとなれば、方程式2の逆ダイナミクスモデル並びに方程式3及び4から得られるGターム及びFタームは、軸(例えば、Mij)と位置及び速度依存効果(例えば、h)との間の慣性クロス接続を表す構成要素及び関数を少なくとも含むからである。このように、クラスタコントローラ540は、Gターム及びFタームを用いてトルクコマンドを算出して、それらが関係する軸の動作をより正確に制御するトルクコマンドをもたらす。
一旦、改善されたトルクコマンドが算出されると、クラスタコントローラ540は次にそれらを適当なリモートコントローラ550、555、560に分配してもよい。リモートコントローラ550、555、560は、通常、モータの数、モータ毎の位相、位相抵抗、逆起電力定数、その他などの、それらが制御する軸の特性を用いてプログラムされてもよい。改善されたトルクコマンドに応答して、リモートコントローラ550、555、560は、それらが制御するモータに印加されるべき適当な電圧、電流、または電力を算出してもよい。
方程式2、方程式1を用いるアルゴリズムを含む様々なアルゴリズム及び従来の単一入力単一出力(SISO)フィードバックアルゴリズムは、ロボット510と同様の5軸ロボットに適用されて、トラッキングエラーを比較し、それぞれ利得ターム及びフィードフォワードタームGi及びFiをもたらす典型的な技術の有効性を検証した。5軸ロボットは、半導体製造アプリケーションにおいて自動化されたピックアンドプレースオペレーションに通常利用される種類であった。5軸ロボットは、垂直リフト駆動によって補間される平行な水平面において動作している2つのエンドエフェクタを有する多関節アームを含んだ。この特定のアプリケーションは、チャレンジングテストベッドを表した。なんとなれば、ダイナミクスは、軸の間の強いクロス接続を備えた高度の非リニアである。他の動作の間に、5軸ロボットは、半径方向において第1エンドエフェクタの直線拡張運動を実施するように命令された。
図8は、各々の適用されたアルゴリズムに対して、特に、所望の直線パスからの第1エンドエフェクタの偏差を示すその通常の構成要素である、第1エンドエフェクタの測定されたトラッキング誤差を示す。方程式2(810)を用いるアルゴリズムのトラッキング性能は方程式1(820)を用いるアルゴリズムの性能に近づき、従来の単一入力単一出力フィードバックアルゴリズム(830)を明らかに上回る。
クラスタ化アーキテクチャ制御システム100に関して前に述べたように、システムの軸を正確に同期させてスループットを最大化し、衝突のない動作を保証することは重要である。
ネットワークノードの各々の上で共通の正確なタイムリファレンスを維持することによってかつ全ての時間依存ネットワークトラフィックをタイムスタンピングすることによって、クラスタ化アーキテクチャ制御システム100により制御されたオペレーションを同期させることは、開示された実施例の特徴である。特に、PVT及びPVT−FGフレームは、フレームによって説明された動作が起きるべき時間でスタンピングされ、よって通信ネットワーク120を介して軸運動の同期を保証する。
図2を参照すると、マスタコントローラ105は、高分解能レジスタ265及び低分解能レジスタ270を有していてもよい時間保持回路260を含む。マスタコントローラはまた、ネットワークノードの間で共通のタイムリファレンスを維持することと関係する他のオペレーションを実施するためのタイミング制御回路を含んでいてもよい。図3を参照すると、各々のクラスタコントローラ110は、高分解能レジスタ345及び低分解能レジスタ350を備えた時間維持回路340を有していてもよい。図4を参照すると、各々のリモートコントローラ115及び自律リモートコントローラ150も、高分解能レジスタ455及び低分解能レジスタ460を含む時間維持回路450を有していてもよい。
共通のタイムリファレンスを維持するために、マスタコントローラは、通信ネットワーク120上で各々のバスサイクルの開始時に「サイクルスタート」メッセージを発行してもよい。典型的なバスサイクルは、約125μsecを占めていてもよく、図9aに示したように、「サイクルスタート」で開始して等時性トラフィック及び同期トラフィックに対する間隔が続いてもよい。図9bは、典型的なサイクルスタートメッセージを示し、図9cは、典型的な高分解能レジスタ265、345、455を示す。
図2を参照すると、ネットワークインタフェース230は通常、各々のサイクルスタートメッセージに基づく高分解能レジスタ265、345、455を自動的に更新するメカニズムを提供してもよい。
新しい等時性サイクルが開始されると、即ち、高分解能レジスタの下位ビットが切り替わりかつ64秒に達すると、中断を提供し、高分解能レジスタの7番目のビットが変更されたことを示すメカニズムを、各々のネットワークノードはまた含んでいてもよい。通信ネットワーク120は、IEEE 1394ネットワークである場合、上記した特徴のいくつかまたは全ては、IEEE 1394標準に従って提供されてもよい。IEEE 1394ネットワークでは、高分解能レジスタは、サイクルタイムレジスタと称されてもよく、低分解能レジスタは、バスタイムレジスタと称されてもよい。
ネットワーク同期は、以下のように実施されてもよい。通信ネットワーク120が初期化されるかまたはリセットされた後に、マスタコントローラ105は通信ネットワーク120を介して制御すると仮定し、タイム維持回路260及びタイミング制御回路275を利用する低分解能レジスタ270を維持してもよい。各々のクラスタコントローラ110、リモートコントローラ115、及び自律リモートコントローラ150は、初期化またはリセットでマスタコントローラ105上の低分解能レジスタ270にそれ自体の低分解能レジスタ350、460を同期させてもよい。各々のクラスタコントローラ110、リモートコントローラ115、及び自律リモートコントローラ150は次に、その高分解能レジスタ345、455に基づいてその低分解能レジスタ350、460を維持して更新する。通信ネットワーク120自体は、通常、通信ネットワーク120を介して高分解能レジスタ265、345、455の自動同期のための機能を提供してもよい。マスタコントローラ105は、クラスタコントローラ130または自動リモートコントローラ150にPVTまたはPVT−FGフレームを送出する。
本願明細書で開示された同期システムでは、PVTまたはPVT−FGフレームは、将来PVTまたはPVT−FGフレームが実行されるべきときを示すタイムスタンプを含む。示された時間に至ると、クラスタコントローラ130及び自律リモートコントローラ150は、フレームにおいて受信された情報に従ってそれらのそれぞれの軸を動作させる。
要約すれば、共通のタイムリファレンスは、マスタコントローラ105、クラスタコントローラ110、リモートコントローラ115、及び自律リモートコントローラ150の間で維持される。共通のタイムリファレンスを維持しかつフレームによって説明される動作が起こるべき時でPVT及びPVT−FGフレームをタイムスタンピングすることによって、通信ネットワーク120を介して軸運動の同期は、正確に維持されてもよい。
上記したように、軽量IEEE 1394プロトコルは、産業用制御デバイスのために開発されて、機器及び産業制御プロトコル(「IICP」と称される、1394TA IICP)と称される。
IICP及び他の同様のプロトコルは、フロー制御、システム構成要素の間の通信接続を生成して閉じるフレームワーク、バスリセット後に接続を復活させるメカニズム、及びマスタコントローラからPHYアドレスを通信接続に説明して、リモートコントローラからネットワークを列挙する負担を取り除くメカニズムを提供してもよい。さらに、通信接続は、これらの種類のプロトコルを用いるときにバスリセットイベントにわたって持続してもよい。
マスタコントローラ105、クラスタコントローラ110、及び自律リモートコントローラ115の間で情報を交換するための使用スキーム及びメッセージフォーマットを含む、使用されているプロトコルへの拡張を提供することが開示された実施例の特徴である。使用スキーム及びメッセージフォーマットは、まとめてプロトコル拡張と称される。
本願明細書で説明されるネットワークプロトコル拡張は、それらがネットワーク通信メッセージのための特定のメッセージフレームワークを提供するということに利点がある。メッセージの内容は、用いられる転送プロトコルを通してもよい。
制御システム100において用いられている種類のプロトコルの典型的な構造が、図10に示される。プロトコルは、アプリケーション層1105、接続層1110及びトランザクション層1115を含んでいてもよい。アプリケーション層1105は、接続層1110の機能を用い、プラグと称されるポイントツーポイント接続はマスタコントローラ105(図1)などのマスタデバイスとリモートコントローラ150(図1)などのリモートデバイスとの間で構築されてもよい。
図11は、これらのプラグが実行される方法の例を示す。マスタデバイスは、リモートデバイスの各々に対して1つ以上のプラグ1020を開いてもよい。プラグ1020は、1つ以上のポート1025、1030を設ける。各々のポート1025、1030は、PVTまたはPVT−FGフレームなどのフレームを送出する手段を設け、そこで、フレームは、ポートの斜視図からデータの不透明な部分である。ポート1025、1030は通常、二重モードで動作する。即ち、データが両方向に並行して送出され得る。アプリケーション層1105は、制御ポート1030またはデータポート1025としてポートを用いてもよい。制御ポート1030上のメッセージは、通常、メッセージの内容を記載しているメッセージのヘッダに組み込まれたメタデータを有する。データポートメッセージは、通常、かかるメタデータを欠いている。リモートコントローラ150及びマスタコントローラ105は、通常、プログラミング、予め定められたテーブル、定義、を介して、または他の手段によってデータポートメッセージ構造を知らされる。制御ポート1030上のメッセージは、1つ以上のデータポート1025の内容を画定するかそうでなければ1つ以上のデータポート1025上のメッセージを識別してもよい。いくつかの実施例では、このことは、ヘッダ情報またはいくつかのメッセージ定義なしでデータポートメッセージが送出されることを可能にし、かかるメッセージを送出することと関係する諸経費を下げる。制御ポートとデータポートとの間の相互作用は特定のプラグに分離されるか、または、特定の制御ポート上のメッセージは同じかまたは異なるリモートデバイスに開かれた他のプラグのデータポートに対する制御を提供してもよい。
開示された実施例に説明されているプロトコル拡張は、特定のプロトコルに対する使用に限定されないが、プラグを支持するいずれかのプロトコルとともに用いられてもよいということが理解されるべきである。
本願明細書に説明されるアプリケーション層拡張は、比較的簡単な制御ポートメッセージタイプを含んでいてもよい階層化された方法を利用する。該拡張は、また、ベンダ固有の拡張に対するフレームワーク、即ち、特定のデバイス製造者の構成要素専用に調整されてもよいメッセージ、を提供してもよい。このことは、多数の制御ポートメッセージタイプで包まれた、ベンダ固有のアプリケーション層のコマンドセットの使用を容易にする。データポートメッセージフォーマットも、ベンダ固有であってもよい。
制御ポート1030は、通常、システム構成要素の間でコマンド及び応答を交換してもよい。データポート1025は、リモートコントローラまたはマスタコントローラ上の特定のオブジェクトに提出されるデータフレームを送信してもよい。アドレス指定は、概して、ポート指示から暗示されてもよく、メッセージの一部でなくてもよい。データポートメッセージ構造は、概して、ベンダ固有であってもよい。
典型的な制御メッセージ構造1700が、図17に示される。4バイト分のデータ(クアドレット)1705はデータの32ビット幅ピースを意味する。Dフィールド1710は、例えばマスタコントローラ105からリモートコントローラ150にメッセージが送出されるかまたはその逆かを示す方向を指定する。メッセージタイプ1715は、下記に説明される定義済みのメッセージタイプを指定してもよい。最高で2^15メッセージタイプまでが定義されてもよい。メッセージIDフィールド1720は、例えばアクション(ACTION)タイプメッセージなどのトランザクションのようなメッセージに対するコマンド及び応答に一致させるために用いられてもよい。例えばストリング(STRING)タイプのメッセージなどのストリーム状のメッセージに対して、メッセージIDフィールド1720は、追加の配列情報を提供するために用いられてもよい。アクション及びストリングタイプメッセージは以下に説明される。いくつかの実施例では、メッセージIDフィールド1720は、任意であってもよい。予備のフィールド1725は、メッセージヘッダの範囲内でベンダ固有の拡張に対するプレースホールダを提供してもよい。いくつかの特定の制御ポートメッセージは、アクション(ACTION)、イベント(EVENT)、及びストリング(STRING)タイプメッセージを含んでもよい。プラグの制御ポート上で送出されたメッセージは、全て類似した構造を有していてもよい。これらのメッセージタイプは相対的にほんの少しでもよく、特定のコマンドの実行においてリモートコントローラレベル上の大幅な柔軟性を可能にするということが、開示された実施例の特徴である。例えば、パラメータを設定して得るための全てのコマンドは、アクションコマンドであってもよく、そこで、データのフォーマットだけでなく設定/得られるべき実際のパラメータは、リモートコントローラの製造者によってさらに定義されてもよい。このように、リモートコントローラ製造者は、制御システムに準拠するために大変限定されたコマンドセットを実行することだけが必要とされてもよい。
典型的なアクションメッセージ1800が図18に示される。アクションメッセージ1800は、リモートコントローラにコマンドを送出するために、そして、リモートコントローラに対して、マスタコントローラから以前に送出されたコマンドに対して応答を送出するために用いられてもよい。以前に送出されたアクションコマンドへの応答は通常、Dフィールド1810以外のコマンドのヘッダをコピーしてもよい。アクションコマンドに対して、メッセージIDフィールド1820が必要とされてもよい。メッセージ本体のフォーマットは、特定のリモートデバイスのベンダに固有であってもよい。
アクションメッセージは、リモートコントローラのようなリモートデバイス上で構成パラメータを設定し、得て、または記憶すること、追跡、イベント、状態、PVTまたは他のアプリケーション固有オペレーション用の1つ以上のデータポートを構成すること、リモートデバイス上でI/Oを作動させること、軌道がリモートデバイス上で生成される場合の離散的移動のための、そして例えば構造、診断などのリモートデバイスが支持するなんらかの他の独特なコマンドを送出することのための動作コマンドを送出すること、または、他の動作状態へデバイスを遷移させること、に用いられてもよい。アクションメッセージは、ベンダ固有であってもよい。
リモートデバイスからマスタコントローラへのアクション応答メッセージにおいて、予備フィールド1825は、8ビットのベンダ固有の結果コードを含んでいてもよい。この条件で、結果コードだけを含むアクションコマンドへの応答は、応答においてヘッダだけを送出することによって実行され得る。リモートデバイスにおいてパラメータ値を設定するためのコマンドは、かかる動作モードの例である。
ベンダ固有ヘッダ1830は、特定のデバイスパラメータに対する設定、獲得、または記憶のうちの1つを示してもよい。軸IDフィールド1835は、特定のデバイスに対する特定のデバイスパラメータに対して最高256軸まで(または例)さらに送り出すことを提供する。ベンダコマンドID1840は、ベンダ固有のデバイスパラメータまたはコマンドを指示してもよい。ベンダコマンドID1840は、2^16の個々のコマンドまたはパラメータまで支持してもよい。ベンダ固有コマンドパラメータ1...n 1845は、コマンドまたは応答において1つ以上の任意のパラメータを提供してもよい。
典型的なイベントメッセージ構造1900が、図19に示される。イベントメッセージ1900は、リモートコントローラからマスタコントローラにイベントデータを送出するために用いられる。イベントメッセージはまた、所定のアプリケーション固有データ転送に対する別個のプラグを開く代わりに制御ポートメッセージを用いるためのメカニズムを提供してもよい。イベントデータは、イベント特定プラグを開くことの代わりにイベントメッセージを介して送出されてもよい。
メッセージヘッダにおけるメッセージIDフィールド1920は、仮想イベント接続番号を指示するために用いられる。このフィールドにおける値は、ベンダ固有の「イベントへの追加パラメータ」制御メッセージにおけるパラメータであってもよい。
ベンダ固有のイベントメッセージ2000の例が図20に示される。この例では、最高6の仮想イベント接続までが、設定されてもよい。この例では、「イベントパラメータ1...6(2045)であるイベントパラメータフィールドの数は、イベント補足に対して設定された特定の駆動パラメータに依存する。これらのフィールドは、イベントの発生時のパラメータ値を表す。イベントパラメータフィールドは、所定のパラメータがイベント補足に準備が整っていない場合、0を含む。この特定のデバイス製造業者のために、最高6つのパラメータまでが、イベントパラメータとして構成されてもよい。
ストリングメッセージタイプは、フォーマットされていないテキストデータを送出することによってマスタコントローラからリモートコントローラまでまたはその逆に仮想の一連のチャネルを生成するために用いられる。ストリングメッセージ構造2100の例が、図21に示される。
メッセージID2120は、リモートデバイスまたはマスタコントローラ(これらのカウンタは別個に増加する)から送出されたあらゆるメッセージを用いて順番に増加してもよく、メッセージが順序がバラバラで到着した場合に、トラフィックを順序付ける追加の手段を提供してもよい。
典型的なベンダ固有ストリングコマンド2200が、図22に示される。この例では、一連のメッセージ本体2245は各々、4つのキャラクタを含んでもよい。この例に対するリモートデバイスは、メッセージ本体情報の最高6つの4バイト分データまでを支持してもよく、プレーンテキストのASCIIコード化を用いているキャラクタをコード化してもよい。
データポートメッセージ構造は、通常純粋なデータを表してもよく、ヘッダを有していなくてもよい。それらはまた、リモートデバイスベンダ固有であってもよく、そのコンテキストにおいて解釈されるべきである。この例のリモートデバイス製造業者は、PVT状態及びトレースメッセージタイプを用いる。他のメッセージタイプも用いられてもよい。
典型的なPVTまたはPVT−FGメッセージ構造2300が、図23に示される。PVTメッセージは、通常、動作パスに沿って1つの軌道セットポイントを表す。以前に述べたように、PVTまたはPVT−FGメッセージは、通常、マスタコントローラ105から1つ以上のクラスタコントローラ110または自律リモートコントローラ150まで送出される。PVTまたはPVT−FGメッセージは通常、タイムスタンプされた軌道セットポイントデータを送出するために用いられる。PVTまたはPVT−FGメッセージはまた、トルク限定条件を含んでもよいことは任意である。PVTまたはPVT−FGメッセージはまた、受信クラスタコントローラ110または自律リモートコントローラ150が事前動作状態にある場合に、周期的タイムスタンプを送出するために用いられてもよい。PVTまたはPVT−FGメッセージは、例えば100Hzの周期的割合で送出されてもよい。1つの実施例では、PVTメッセージは、命令された位置2305、命令された速度2310、及びネットワーク時間2315を含む。PVTまたはPVT−FGメッセージは、フィードフォワードターム2320、利得ターム2325、及びトルク限定ターム2330のうちの1つ以上を任意で含んでもよい。
ステータス(STATUS)メッセージは通常、ステータスメッセージが生成されたときのリモートデバイス状態を表す。ステータスメッセージ2400の例が、図24に表される。
ステータスメッセージは通常、1つ以上のクラスタコントローラ110または自律リモートコントローラ150からマスタコントローラ105まで送出される。ステータスメッセージは、タイムスタンプされた状態、実際の位置、及び速度データを1つ以上のクラスタコントローラ110または自律リモートコントローラ150からマスタコントローラ105まで送出するために用いられてもよい。
ステータスメッセージはタイムスタンプされたI/Oデータを送出するために用いられてもよいということは任意である。ステータスメッセージは、例えば100Hzの周期的な割合で送出されてもよく、低遅延のI/Oイベント捕捉に対して非周期的な割合で送出されてもよい。1つの実施例では、ステータスメッセージは、実際の位置2405、さまざまなデジタル入出力装置2410の状態、タイムスタンプ2415、命令された位置2420、実際の速度2425を含む。
ステータスワード2430は、駆動エラー/障害/警告状態についての情報を含む。それはまた、リモートデバイスPVTバッファの状態(フロー制御情報)についての情報を含む。
典型的なトレース(TRACE)メッセージ3200が図32に示される。トレースメッセージは、nサンプリングレコードまでを含むことができ、各々のレコードはmサンプルまでを有してもよい。フレームは、以下のデバイス固有の制約に従うべきである。
n*m<=128
m<=6
トレースメッセージ3200は、1つ以上のクラスタコントローラ110またはリモートコントローラ115、150からマスタコントローラまで通常送出される。トレースメッセージ3200は、タイムスタンプされて周期的にサンプリングされた診断データをマスタコントローラ105に送出するために用いられる。トレースメッセージ3200は、例えば16kHzまでの周期的または可変の割合で送出されてもよく、アクションコマンドを介して設定可能であってもよい。データ及びトレース(トリガ、遅延、サンプリングレート、その他)の他のパラメータの構造は、アクションコマンドを介して設定可能であってもよい。さらに、他のメッセージのいくつかと同様に、トレースメッセージ3200は、高分解能データ転送を支持するために具体的に開かれたプラグを介して送出されてもよい。1つの実施例では、トレースメッセージは、多くのトレース変数3205を含む。
開示された実施例のプロトコル拡張は、PVTFG、HIRES_POS、及びHIRES_VELメッセージのようなメッセージタイプを含んでもよいトレースメッセージの固有の実施を含んでいてもよい。上記されたステータスメッセージは、トレースメッセージの固有の実施として構成されてもよい。
以前に述べたように、PVTまたはPVT−FGメッセージは、通常、マスタコントローラ105から1つ以上のクラスタコントローラ110または自律リモートコントローラ150へ送出される。PVTまたはPVT−FGメッセージは、タイムスタンプされた軌道設定ポイントデータを送出するために用いられてもよい。PVTまたはPVT−FGメッセージは、また、以下に詳細に説明されるように教示モードを支持するためにトルク限界タームを含んでもよい。PVTまたはPVT−FGメッセージは、また、受信クラスタコントローラ110または自律リモートコントローラ150が事前動作状態にあるときに周期的タイムスタンプを送出するために用いられてもよい。PVTまたはPVT−FGメッセージは、例えば100Hzの周期的割合で送出されてもよい。1つの実施例では、PVTメッセージは、4バイトのタイムスタンプ、4バイトの命令された位置、及び4バイトの命令された速度を含む。PVT−FGメッセージは、1つ以上の4バイトのフィードフォワードターム、4バイトの利得ターム、及び4バイトのトルク限界を任意で含んでもよい。
HIRES_POSメッセージは通常、1つ以上クラスタコントローラ110または自律リモートコントローラ150からマスタコントローラ105へ送出される。HIRES_POSメッセージは、タイムスタンプされて周期的にサンプリングされた実際の位置を1つ以上のノードからマスタコントローラに送出するために用いられる。HIRES_POSメッセージは、例えば16kHzまでの周期的または可変の割合で送出されてもよく、下記に説明されるアクションコマンドを介して設定可能であってもよい。さらに、HIRES_POSメッセージは、高分解能データ搬送に対して具体的に開かれたプラグを介して送出されてもよい。1つの実施例では、メッセージは、4バイトのタイムスタンプ及び4バイトの実際の位置を有するブロックを含む。ブロックは、最高16回まで繰り返され、128バイトまでの全体の長さを備えて、62.5サンプリングレートでの1ms分のデータを表してもよい。
替わりのフォーマットでは、HIRES_POSメッセージは、4バイトのタイムスタンプ、及び4バイトの繰り返しの実際の位置フィールドを含んでもよく、それは1ms分の16kHzサンプリングデータを表して最高16回まで繰り返してもよい。メッセージは、サンプルがサンプリングデータと等しく間隔を取られていてかつ、第1の位置フィールドがスタンプにおいて指定された時間でサンプリングされると仮定して、フレーム毎に1つのタイムスタンプを用いて構成されていてもよい。
HIRES_VELメッセージは、通常、1つ以上のクラスタコントローラ110または自律リモートコントローラ150からマスタコントローラ105へ送出される。HIRES_VELメッセージは、タイムスタンプされて周期的にサンプリングされた実際の速度データをマスタコントローラ105に送出するために用いられてもよい。HIRES_VELメッセージは、例えば16kHzまでの周期的または可変の割合で送出されてもよく、以下に検討されるアクションコマンドを介して設定可能でもよい。さらに、HIRES_VELメッセージは、高分解能データ転送を支持するために具体的に開かれたプラグを介して送出されてもよい。1つの実施例では、HIRES_VELメッセージは、4バイトのタイムスタンプと4バイトの実際の速度を含んでいてもよい。
さらに、クラスタコントローラ110及び自律リモートコントローラ150からマスタコントローラ105へ情報を運ぶために、上記の説明による、ステータス、HIRES_POS及びHIRES_VELメッセージが、1つ以上のリモートコントローラ115からクラスタコントローラ110のうちの1つまたはマスタコントローラ105へ送出されてもよい。
このように、開示された実施例は、プロトコル拡張、即ち、マスタコントローラ105、クラスタコントローラ110、リモートコントローラ115及び自律リモートコントローラ150の間で情報を交換するために設定された固有のメッセージを含む。固有のメッセージの設定は、有利である。なんとなれば、それは、例えば1349TA IICPなどの標準ネットワークプロトコルによって提供されるサービスにわたってかつサービス上でクラスタ化アーキテクチャコントロールシステム100に対する追加の機能を提供するからである。
クラスタ化アーキテクチャ制御システム100などの制御システムにおいて、特定のイベントの発生時に1つ以上のクラスタコントローラ110またはリモートコントローラ115、150から瞬間軸または他の特性を捕捉するということが利点であってもよい。図12は、かかる特性が有益であってもよいワークセル1200を示す。ワークセル1200は、クラスタコントローラ1215及び3つのリモートコントローラ1230、1235、1240を備えたロボット1210を含む。クラスタコントローラ1215は、通信ネットワーク1250を介してマスタコントローラ1245と通信する。1つの実施例では、ワークセル1200は、クラスタ化アーキテクチャ制御システム100(図1)の一部であってもよい。
例として、「オンザフライ」認識及びロボット1210によって運ばれる半導体基板1205などの円形のペイロードの偏心またはずれに対する修正は、瞬間のデータ捕捉を必要としてもよい。この場合には、ロボット1210は、ペイロード1205の先頭及び末尾を検出する一組の静止センサ1216を介して移動してもよい。リモートコントローラ1230、1235、1240は、例えばロボット1210の各々の軸の位置及び速度などのある特性を捕捉して、データをマスタコントローラ1245に提供してもよい。マスタコントローラ1245は、次に、ペイロードのエッジが検出されるときにロボットのエンドエフェクタ1220の位置を決定し、次にペイロード1205の中心の実際の位置を決定してもよい。一旦ペイロードの中心が決定されると、マスタコントローラ1245は、ペイロード1205が最初の偏心の量及び方向に関わりなく中心におかれる方法で供給されるように、ロボット1210の軌道を変更してもよい。
別の例では、ロボット1210はクラスタコントローラ1215に接続された1つ以上のインターロック1225を含んでもよい。インターロック1225が何らかの理由で外れた場合、ロボットの軸の位置及び、インターロック1225が外れたときにロボット1210が相互作用していてもよい他の装置の位置を決定することが重要であるかもしれない。
トリガとなるイベントの発生でまたはトリガとなるイベントと関係付けられて、クラスタ化アーキテクチャ制御システム100の一組の軸から瞬間データを捕捉することが、開示された実施例の特徴である。以下に説明される手順は、通常マスタコントローラ1245を含むが、適当な処理能力及びメモリを備えたクラスタコントローラまたはリモートコントローラはまた、マスタコントローラ1245によって提供される機能を実施してもよい。
図12及び図13のフローチャートを参照すると、瞬間データ捕捉順序は、以下のように進められてもよい。リモートコントローラ1230、1235、1240は、ブロック1305及び1306に示すように、例えば1つ以上のセンサ1216の変更出力状態などのトリガーイベントとしてあるイベントを認識するように指示されてもよい。リモートコントローラ1230、1235、1240はまた、ブロック1310に示されるように特定のイベントの発生時に指定された一組のノードと通信するように指示されてもよい。リモートコントローラ1230、1235、1240はさらに、ブロック1315及び1316に示すように、特定の軸を制御するために用いられるサーボループのそれより通常低い、指定されたサンプリングレートで、例えば軸位置または速度などの1つ以上の特定の数量の関心をバッファするように指示されてもよい。このように、少なくとも1つの実施例では、関心の量のあらゆるデータポイントが、サンプリングされてもよいというわけでない。命令は、各々のリモートコントローラのオペレーションシステムの一部であってもよく、または、命令は、クラスタコントローラ1215またはマスタコントローラ1245から提供されてもよい。関心の量、トリガーイベント、及び指示されたノードの組は、各々のリモートコントローラに対して異なっていてもよい。
一旦指示されると、リモートコントローラ1230、1235、1240は、データをバッファリングすること(ブロック1320)及びトリガーイベントを監視すること(ブロック1325)を開始する。トリガーイベントの発生で、イベントを認識しているリモートコントローラは、ブロック1330に示すようにイベントの時間を記録し、ブロック1335に示すように、特定のイベントに対する指示された一組のノードにイベント時間情報を備えたメッセージを送出する。指示されたノードは、それらの関心のバッファされた量を補間してブロック1340に示すようにイベント時の量に対する値を決定する。指示されたノードは、ブロック1345に示すようにマスタコントローラに関心の量の補間された値を送出する。マスタコントローラは、次にブロック1350に示すようにシステム内で軌道またはオペレーションを変更するためにデータを用いてもよい。
いくつかの場合には、リモートコントローラの間の直接の通信は、例えば必要な多数のプラグのせいで望ましくないかもしれない。この場合、マスタコントローラが、イベント時間を指示されたノードに分配してもよい。
マスタコントローラによるイベント時間分配を収容するために変更された瞬間のデータ捕捉データ手順は、以下のように進められてもよい。ここで図12及び14を参照すると、リモートコントローラ1230、1235、1240は、例えば1つ以上のセンサ1216の変更出力状態などの、ブロック1405及び1410に示すようなトリガーイベントとしてあるイベントを認識するように指示されてもよい。リモートコントローラ1230、1235、1240は、特定の軸を制御するために用いられるサーボループのサンプリングレートより概して低い、指示されたサンプリングレートで、例えば軸位置または速度などの、ブロック1411及び1415に示すような関心の1つ以上の特定の量をバッファするように指示されてもよい。一旦指示されると、リモートコントローラ1230、1235、1240は、データをバッファリングすること(ブロック1420)及びトリガーイベントを監視すること(ブロック1425)を開始する。
トリガーイベントの発生時に、イベントを認識するリモートコントローラは、ブロック1430に示すようにイベント時間を記録し、ブロック1435に示すように、マスタコントローラ1245にイベント時間情報を備えたメッセージを送出する。マスタコントローラ1245は、次にブロック1440に示すように特定のイベントに対して指示された一組のノードにイベント時間を送出する。ブロック1445では、指定されたノードは、それらの関心のバッファされた量を補間してイベント時間における量に対する値を決定する。マスタコントローラ1245は、次に、ブロック1455に示すように、データを用いてシステム1200内で軌道またはオペレーションを変更してもよい。
別の代替案として、1つ以上のリモートコントローラは、例えば限定されたメモリまたは計算能力のための十分な資源を所有していない場合に、これらのオペレーションも、マスタコントローラによって実行されてもよい。しかしながら、この方法は、通信ネットワークトラフィックの増加という結果になるかもしれない。
図12及び15を参照すると、マスタコントローラ1245によってデータバッファリング及び補間を収容するために変更された瞬間のデータ捕捉手順は、次のように進む。ブロック1505及び1506に示すように、リモートコントローラ1230、1235、1240は、例えば、1つ以上のセンサ1216の変更出力状態などのトリガーイベントとしてあるイベントを認識するように指示されてもよい。ブロック1510及び1511に示すように、リモートコントローラ1230、1235、1240は、特定の軸を制御するために用いられるサーボループのサンプリングレートより概して低い、指示されたサンプリングレートで、例えば軸位置または速度などの1つ以上の関心の量を監視するように指示されてもよい。一旦指示されると、リモートコントローラ1230、1235、1240は、マスタコントローラ1245に、監視された関心の量を周期的に送出することを開始し(ブロック1515)、それは、ブロック1520に示すように、例えば循環バッファを用いて、指示された期間それらを記憶する。同時に、リモートコントローラ1230、1235、1240も、ブロック1525に示すようにトリガーイベントを監視することを開始する。ブロック1530に示すように、トリガーイベントの発生時に、イベントを認識しているリモートコントローラは、イベント時間を記録し、さらにブロック1535に示すように、マスタコントローラ1245にイベント時間情報を備えたメッセージを送出する。ブロック1540に示すように、マスタコントローラ1245は次にバッファされた関心の量を補間してイベント時の量に対する値を決定する。マスタコントローラ1245は次に、データを用いて、ブロック1545に示すようにシステム1200内で軌道またはオペレーションを変更してもよい。
上記した手順ではリモートコントローラがトリガーイベントを認識してトリガーイベントを観察し、トリガーイベントが生じた時間を記録すると考えられるが、自律リモートコントローラ、クラスタコントローラまたはマスタコントローラも、リモートコントローラを参照して上記されたこれらの機能を実施してもよい。
多くのイベント捕捉アプリケーションでは、特に瞬間位置捕捉目的に対して、得られるデータは、イベントをトリガーするセンサの遷移遅延によるエラーを含む。これらのエラーは、特に高速/高精度アプリケーションにおいて重要である。アプリケーションでは、制御されたマシンの軸は、イベントが物理的に起こる時間からイベントが制御システムに信号送出される時点まで、所望しない長い距離を移動するかもしれない。
「オンザフライ」認識及び円形のペイロード1205の偏心またずれに対する修正の上記の例において、ロボット1210のエンドエフェクタ1220は、ペイロードのエッジがセンサ1216を通過する場所からトリガーイベントが認識されて時間が記録される場所まで所望しない長い距離を移動するかもしれない。信号の遷移遅延は決定性であると仮定すると、これらのエラーは、以下に説明される簡単な遅延補償メカニズムによって最小化され得る。
イベントが生じる場所とそれが制御システムによって実際に認識される場所までの間の運動の長さを予測するために、速度情報が、位置データに加えて捕捉されてもよい。関心の軸の速度が2つの場所の間で実質的に一定のままであると仮定して、時間経過が周知の時間遅延に等しいということが与えられると、2つの場所の間の関心の軸の動作は、再構築されて、以下の方程式を用いてイベントが物理的に生ずるときに各々の軸の実際の位置の予測を得てもよい。
Figure 0005026413
ここで、
Figure 0005026413
は、位置捕捉イベントが生じたときの軸iの実際の位置を示す。θ及び
Figure 0005026413
はそれぞれ制御システムによって補足されたときの軸iの位置及び速度を表す。τは、センサ遷移遅延であり、mは関心の軸の数を示す。
センサの遷移遅延は通常仕様書に含まれているが、実際の待ち時間は、センサが用いられる特定の状態にしばしば依存する。従って、遷移遅延のより正確な値は、較正プロセスを介して得られることが必要であってもよい。図12及び16を参照すると、単一の動作の軸を含む例が説明される。図12のワークセル1200は、また、自律リモートコントローラ1255によって制御される軸1270を有する少なくとも1つのアライナ1250を含んでもよい。自律リモートコントローラ1255は、マスタコントローラ1245によって順に制御される。刻み目をつけられた基板1260がアライナ1250上に配置されてもよく、アライナはまた基板1260における刻み目の位置を検出するセンサを含む回路1265を有していてもよい。ブロック1605に示されるように、自律リモートコントローラ1255は、軸1270を移動させて位置捕捉イベントをトリガーする。この例では、回路1265が基板1260内の刻み目を感知する。自律リモートコントローラ1255は、オペレーションの一定の速度で軸1270を移動させ、ブロック1610に示すように、回路1265がイベントを検出するときに軸1270の即時の位置及び速度を記録する。ブロック1615に示すように、自律リモートコントローラ1255は次に、同じ方向に軸1270を移動させて実質的により遅い速度でイベントを繰り返す。それは、回路1265の遷移遅延に対応する時間間隔において軸1270によって移動される距離が必要な位置捕捉精度より小さいというように選択される。結果として、なんらかの遷移遅延による位置エラーは無視されるかもしれない。さらに、ブロック1620に示すように、回路1265がイベントを検出すると、軸1270の瞬間位置が捕捉される。ブロック1625に示すように、得られるデータは、τに対する方程式(5)を解くことによって回路遷移遅延を予測するために用いられてもよい。ここで、
Figure 0005026413
は、低速度で位置捕捉結果によって予測され、θ及び
Figure 0005026413
は、オペレーションの通常速度でイベント捕捉結果である。
複数の軸の結合動作が位置捕捉イベントに含まれる場合、較正手順は、システムのセンサ(または複数のセンサ)及び移動構成要素(または複数の構成要素)の形状構成を考慮に入れることが必要である。この種のケースに対する例の較正手順は、参照により組み込まれている、共通の出願人による米国特許出願第10/739,375に見出される。そこで、位置捕捉メカニズムは、ペイロードの偏心のオンザフライ認識のために利用されている。
位置捕捉イベントが、例えばアライナ1250などの制御されたマシンの動作によってトリガーされる場合、較正プロセスは、制御システムによって十分に自動化されてもよい。
このように、開示された実施例は、クラスタ化アーキテクチャ制御システムにおいて特定の関心の量についてのデータを捕捉する多数の方法を提供する。ネットワークノードの間でトリガーイベントを伝播するために必要であるかもしれない、極めて低遅延の通信ネットワークを該方法が必要としないということにおいて、該方法は有利である。トリガーとなるイベントが生じると、イベントを認識するコントローラはイベント時間を記録する。1つ以上の軸からイベント時間前後のデータが補間されてイベント時間に対する算出されたデータ値を生じてもよい。算出されたデータ値は、システム1200内で軌道またはオペレーションを変更するために用いられてもよい。較正手順はまた、イベントが発生する時とイベントが制御システムによって認識された時との間の相違を説明するために提供される。
無制限の回転を必要としているロボットは、回転可能な接続を介して信号または電力を接続するためにスリップリングまたは誘導フィードスルー及び容量性フィードスルーを用いてもよい。周波数及び帯域幅が増加するにつれて、これらの種類の接続は、ますます実施及び維持することが難しくなる。真空ロボットの場合、スリップリングは、汚染源を提起するかもしれない。通信及び電源を提供している車または横断者に搭載されたロボットは通常、サービスループを備えたケーブルを必要とする。さらに、システム構成要素へのサービス接続は通常、コネクタ及び対応ケーブルを必要とする。
ケーブル、スリップリング、フィードスルー及び様々な機械的接続の物理的属性により問題を排除し、有線の接続と比較してメンテナンス必要条件を下げるためにかつより一層の信頼性のために、無線接続を利用してシステム構成要素の間の通信を設けるということが開示された実施例の特徴である。
図1を参照すると、通信ネットワーク120は、1つ以上のマスタコントローラ105、クラスタコントローラ110、リモートコントローラ115及び自律リモートコントローラ150の間の通信パスを提供する1つ以上の無線部分を含んでもよい。
図25は、無線接続が実施されたクラスタ化アーキテクチャ制御システム100の一部を示す。ロボット2505は、多数の軸を含んでもよく、クラスタコントローラ2510及び3つのリモートコントローラ2515、2520、2525よって制御されてもよい。(ここで再び示される図1の)マスタコントローラ105は、通信ネットワーク120を介してクラスタコントローラ2510を制御する。この実施例では、クラスタコントローラ2510及び通信ネットワーク120は、それらの間に無線接続2540を提供する対応する無線インタフェース2530、2535を有する。無線インタフェース2530、2535は、TDMA、CDMA、IEEE 802.xx、CIPプロトコル、ブルートゥース、閉領域RF、光学的、その他などのいかなる適当な無線通信プロトコルまたは、信号技術または標準を提供してもよい。選択された無線プロトコルは、不正な変更を防止するために暗号化送信のようなセキュリティメカニズムを含んでいてもよい。
さらに、例えば、コントローラ、軸、エンドエフェクタ及びサービス接続の間の他の通信パスは無線でもよい。またさらに、ロボット化されたオートメーションシステムにおいて、ロードポート、ファンシステム、フィルタユニット、その他も、無線接続を利用してもよい。無線接続は、それらが構成要素の周囲をケーブルで侵すことなしに通信を可能にするので有利である。例えば、フィールドサービス技術者は構成要素のワークスペースに入ることなく構成要素に接続してもよい。無線接続及びプロトコルの利用は通常、構成要素の接続を簡単にし、いくつかの例では、電力接続だけがケーブルを必要とするかもしれない。
開示された制御システム100は、構成要素の各々のワークスペースにおける人的存在を収容することが要求されてもよく、システム保全を保証する機能を含んでもよい。
ドアスイッチなどのハードウェアインターロックは、オペレータが、ロボットなどの制御下の機械のワークスペース内にいるときに、通常、モータが電力供給されるのを妨ぐ。しかしながら、システム構成要素を教示するときに、即ち、構成要素が教示モードにあるときに、通常のハードウェアインターロックは、オペレータがロボットのワークスペースに入ることができるようにバイパスされてもよい。多くの例では、ロボットを導くために用いられる教示ペンダントは、圧力がスイッチに適用されないイベントにおいてロボットへの電力を除去するリモートの「ライブマン(live-man)」スイッチを有する。開示された実施例によれば、マスタコントローラ105またはクラスタコントローラ110はまた、ロボットの速度及び力が、ワークスペース内で人的存在を収容するために指定された許容制限の中で保持されるということを保証する命令を与えてもよい。
制御システム100は、人的存在を収容するためにいくつかの特徴を組み入れてもよい。図1を参照すると、一般的なシステムの動作の間、マスタコントローラ105は、個々の軸125に対する動作プロファイルを生成してもよい。図12の例では、いくつかの軸は、ロボット1210の一部としてグループ化されてもよく、マスタコントローラ1245はリモートコントローラ1230、1235、1240によって制御される一連のPVTフレームを生成して、エンドエフェクタ1220は特定の軌道を実行してもよい。エンドエフェクタは一定の速度で移動しているが、ロボット1210を構成する異なる軸の速度は、位置及び時間で変化してもよい。このように、PVTフレームの速度パラメータは、ロボット運動学により位置及び時間に関して変化してもよい。オペレータがワークセル1200に存在する場合、システムはオペレータを保護するために速度制限技術を用いてもよい。実際には、システムは、軌道を生成し、得られるエンドエフェクタ動作プロファイルが要求された速度制限内にあってもよい。このことは、リモートコントローラ1230、1235、1240によって制御される軸に対するPVTフレームの速度パラメータを位置及び時間依存上限限度に設定するとともに、ロボットに対して上記したような軌道を算出することによって実現されてもよい。
同様に、エンドエフェクタは特定の方向に一定の力を示しているが、ロボット1210を構成する異なる軸のトルクは、位置及び時間で変化してもよい。位置及び時間依存トルク限度はまた、オペレータがワークセル1200内に存在するときに課されてもよく、エンドエフェクタの得られる力は、リモートコントローラ1230、1235、1240を管理するクラスタコントローラ1215に送出されたタームを追加することによって特定の限界より低いままである。ロボット1210の特定の位置において、軸レベルでモータによって印加されたトルクとエンドエフェクタによって生成された力との間に一意の関係がある。従って、最大モータトルクを計算してエンドエフェクタ1220によって生成される対応する力が最大許容値を超えることができないようにロボットのモデルを用いることは可能である。リモートコントローラ1230、1235、1240によって制御される軸に対する新しい一組のPVTまたはPVT−FGフレームが生成されてクラスタコントローラ1215に送出される場合に、これらの最大トルクはいつも算出されてもよい。
オペレーションの教示モードにおいて、PVTリミット(LIMIT)フレームと称される、一意のメッセージフレームを利用することが本実施例の特徴である。PVTリミットフレームは、上記の図6及び7において示したフレームに類似していてもよい。しかし、PVTリミットフレームの速度タームは、特定の限界を超えないように算出され、PVTリミットフレームは任意のトルク限界タームを含む。
図26は、トルク限界タームを備えた典型的なPVTリミットフレーム2600を示す。PVTリミットフレーム2600は、位置データ2610、速度データ2615、及び時間データ2620を含む。1つの実施例では、データは、1バイト以上でグループ化されたバイナリ形式である。別の実施例では、位置データ2610、速度データ2615、及び時間データ2620の各々は、4バイトを占める。PVTリミットフレーム2600は、ヘッダ情報2625及び末尾情報2630を任意で含み、その両方は、同期、識別、パリティ、エラー修正、または他のタイプのデータを含んでいてもよい。
開示された実施例の特徴として、PVTリミットフレーム2600は、上限トルク限界を指示するトルク限界ターム2635を含む。PVTリミットフレーム2600は、また、ヘッダ、位置、速度、時間及び末尾データの間または中の長さまたは量を変化させる追加データを含んでもよい。PVTリミットフレーム2600は、いずれかの他の適当なデータに対する別のデータフィールド2640を任意で含んでもよい。図26がフレームの特定の場所または領域における様々な情報またはデータを示すとともに、異なる種類の情報及びデータは、PVTリミットフレーム2600内のどこに位置してもよい。PVTリミットフレーム2600は、いずれかの特定の長さに限定されないということも注目されるべきである。
図27は、任意のトルク限界タームを備えた典型的なPVT−FGリミットフレーム2700を示す。PVT−FGリミットフレーム2700は、任意のヘッダ情報2710、位置情報2715、速度情報2720、時間情報2725、及び任意の末尾情報2730を含む。
さらに、PVT−FGリミットフレーム705は、少なくとも1つのフィードフォワードターム2735及び少なくとも1つの利得ターム2740を含む。データは、1バイト以上でグループ化されたバイナリ形式であってもよい。PVT−FGリミットフレームの1つの実施例では、位置ターム2715、速度ターム2720、時間ターム2725、フィードフォワードターム2735及び利得ターム2740は、各々4バイトを占める。PVTリミットフレーム2600と同様に、PVT(FG)リミットフレーム2700は、異なるタームの中でまたは間で分散された、長さまたは量を変化させる他のデータを含んでいてもよい。
PVTフレーム2600と同様に、開示された実施例は、上限トルク限界を指示するPVT−FGリミットフレーム2700の一部としてトルクリミットターム2745を含む。PVTリミットフレーム2700はまた、ヘッダ、位置、速度、時間及び末尾データの間または中で長さ及び量を変化させる追加のデータを含んでいてもよい。別のデータフィールド2750は、いかなる他の適当なデータに対して含まれてもよい。図27はフレームの特定の場所または領域における様々な情報またはデータを示すとともに、異なるタイプの情報及びデータがPVT−FGリミットフレーム2700内のどこに配置されてもよいということが注目されるべきである。PVT−FGリミットフレーム2700はいずれかの特定の長さに限定されないということも注目されるべきである。
上記したように、速度及びトルク限界タームが算出されて、エンドエフェクタ1220(図12)の速度及び力へ全体的な限界を課してもよい。軌道は、その速度が指示された制限を超えないように、エンドエフェクタに対して算出される。得られた位置、速度及び加速プロファイルは、次に、上記したロボットの逆の運動学的方程式を用いて、個々の軸の位置、速度及び加速に変換される。軌道情報は、PVTリミットフレームまたはPVT−FGリミットフレームに変換されてリモートコントローラ1230、1235、1240を管理するクラスタコントローラ1215へ送出される。
例えば、ロボット軸のいくつかまたは全てが、クラスタコントローラに従属させられたリモートコントローラによってよりはむしろ自律リモートコントローラによって制御される場合に、マスタコントローラは、PVTリミットフレームまたはPVT−FGリミットフレーム、同様に自律リモートコントローラに送出されてもよい。
開示された実施例の態様の1つとして、オペレーションの教示モードの間、リモートコントローラ1230、1235、1240を管理するクラスタコントローラ1215、または、通常、ロボット軸のいくつかまたは全部を制御する自律リモートコントローラは、マスタコントローラ1245によって送出された軌道データを照合するために動作してもよい。このように、コントローラがPVTリミットフレームを受信すると、コントローラは、最大速度、速度追跡ウインドウ、速度デバウンス時間、最大トルク、及び最大トルクデバウンス時間に対するチェックを含む多数の照合を実施することによって、メッセージ及びそのデータの適用性を変化させるために動作してもよい。
最大速度をチェックするために、コントローラは、軸が教示モードにあって軸に対する最大速度制限も認識するということを認めてもよい。フレームを受信すると、コントローラは、速度タームが教示モードにおける軸に対して指示された最大速度より下であるということを確かめる。最大速度を超過している場合には、リモートコントローラは、マスタコントローラに警報を送出してもよい。
コントローラは、また、速度追跡ウインドウ、即ち、フレームメッセージからの命令された速度と、軸に対するエンコーダによって測定されるような実際に測定された速度との間の差分に対する最大値を決定してもよい。速度追跡ウインドウを超えた場合には、リモートコントローラは上記したように警報を送出してもよい。いくつかの遷移状態では、速度追跡ウインドウを、発行される警報なしに短い時間の間上回ってもよい。しかしながら、この期間は指定されて監視され、さらに速度追跡ウインドウをこの指定された時間上回る場合には、コントローラは警報を発してもよい。
上記したように、軸に見込まれる最大トルクは、軌道実行の間、特に教示モードで決定されてもよい。コントローラは、受信されたPVTリミットフレームまたはPVT−FGリミットフレームの限界タームによって指定された最大トルクに対して制御ループによって命令されたトルクをチェックしてもよく、フレームによって指定された最大トルクを上回る場合に警告を生成してもよい。最大速度と同様に、発行される警告なしに短期間の間最大トルクを上回ってもよい。しかしながら、この期間はまた、指示されかつ監視されていて、最大トルクがこの指定された期間を超える場合には、コントローラはまた、警告を発してもよい。コントローラは、軸が教示モードにあるということを認識して、コントローラがフレーム内で受信することを期待する上限のトルク限界で関連する全体の最大を識別してもよい。この全体の最大を上回る場合、コントローラはまた警報を発してもよい。
警報に加えて、これらのパラメータのいずれかの障害はまた、コントローラにモータ駆動出力ステージを無効にさせて、いかなる動作も止める。マスタコントローラは警告されて、全ての他の関係する軸上で全ての動作を停止してもよい。
図12を再び参照すると、ワークスペースにおける人間の存在を収容するために用いられる開示された実施例の別の態様は、通信ネットワーク、クラスタコントローラ及びマスタコントローラが有効であるという周期的な検証を含んでいてもよい。リモートコントローラ1230、1235、1240は、メッセージが周期的に受信されない場合にリモートコントローラがその軸に対する動作を止めるように、通信を監視するようにプログラムされていてもよい。
例えば、リモートコントローラ1230、1235、1240は、トルクコマンドを受信することなどのメッセージ送信の間の期間を監視するようにプログラムされていてもよい。別の例として、自律リモートコントローラは、PVTフレームの間の期間を監視してもよい。トルク命令またはPVTフレームが予想される期間内に到着しない場合は、リモートコントローラまたは自律リモートコントローラは、通信ネットワーク1250、クラスタコントローラ1215またはマスタコントローラ1245を有効でないと見なしてもよく、軸またはその制御下の軸に関する動作を止めるように進めてもよい。リモートコントローラまたは自律リモートコントローラによって監視される周期的メッセージは、また、これらのコントローラのクロックを同期させるために用いられるサイクルスタートメッセージであってもよい。
マスタコントローラ1245は、また、周期的なステータスメッセージの受信を監視することによってネットワーク通信を監視してもよい。クラスタコントローラ1215またはリモートコントローラ1230、1235、1240のいずれかからステータスメッセージを受信しそこねると、マスタコントローラ1245は、クラスタコントローラ1215と関連しかつリモートコントローラ1230、1235、1240によって制御された軸のいずれかに関するすべての動作を停止させようとしてもよい。
通信ネットワーク、マスタコントローラ、及びリモートコントローラの軌道データ、検証を照合する態様は、各々のネットワークノードにおける特にその目的のためのハードウェアによって達成されてもよい。例えば、クラスタコントローラ1215、リモートコントローラ1230、1235、1240、または自律リモートコントローラは、マスタコントローラ1245によって送出される軌道データに対して上記した照合機能のいずれかを実施するために個々に動作する専用の回路を含んでもよい。他の実施例として、マスタコントローラ1245、クラスタコントローラ1215、リモートコントローラ1230、1235、1240、または自律リモートコントローラの1つ以上は、メッセージの間の時間または周期的なメッセージの受信を監視する専用の回路を各々含んでいてもよい。
図28は、システム保全を特に監視する専用の回路を含む典型的なインテグリティ監視装置2800のブロック図を示す。インテグリティ監視装置2800は、プロセッサ2810、半導体メモリデバイス2815、非半導体メモリ2820、及び通信ネットワーク120とのインタフェース2825を含んでもよい。インテグリティ監視装置2800はまた、軸位置情報信号2835を受信する軸エンコーダ検出回路2830、及び軸モータ電流引き込みを指示する信号2845を受信する軸モータ電流検出回路2840を含んでもよい。さらに、インテグリティ監視装置はまた、タイマ2850、教示モードが用いられているということを検出する入力(教示、2855)、及び何らかの即時停止要求(I停止、2860)及び、軸に対する電力を制御するスイッチインタフェース2865を含んでいてもよい。
通常、プロセッサ2810は、メモリ2815に記憶されたプログラムの制御下で動作して軌道速度及びトルクデータを照合し、通信ネットワーク120の動作を検証し、特定の軸がその動作パラメータを超えるときを認識し、必要な場合は軸から電力を除去するように動作する。
プロセッサ2810は、軸が教示モードにあるということを察知し、受信されたPVTフレーム内の速度タームを用いる軸に対する最大速度限界を識別してもよい。プロセッサ2810は次に、受信されたフレームの軸タームの実際の速度が、教示モード限界において軸に対して指示されたこの最大速度を超えないということを検証するために動作してもよい。プロセッサ2810はまた、速度追跡ウインドウ、それを上回ったか否かそしてどれだけの間かを判断してもよい。プロセッサ2810はまた、許容された最大トルク、それを超えたか否か、そしてどのくらいの長さかを判断してもよい。いかなるパラメータの障害の場合でも、プロセッサ2880は、軸のシャットダウンを制御し、それらの軸に制御された停止をもたらしてもよい他のコントローラと連携してもよい。
プロセッサ2810はまた、PVTフレームを受信するなど、メッセージ送信の間の期間を監視してもよく、PVTフレームが予想される期間内に到着しない場合には警報を発するかまたは制御されたシャットダウンを開始してもよい。インテグリティ監視装置2800は、専用のネットワーク2870を介して他のインテグリティ監視装置と通信してもよいのは任意である。
ヨーロッパ機械指令(EN 60204−1)は、即時停止についての2つのカテゴリを定義する。先ず、カテゴリ0は、電力が単に除去される「未制御のシャットダウン」として定義される。第2のカテゴリであるカテゴリ1は、電力が除去される前に動作を停止させるのに十分な長さを維持される「制御されたシャットダウン」として定義される。人間の存在を適応させるためにカテゴリ1の停止に一致すること、及び製品の損傷を防ぐことは、制御システムの構成要素にとってたいへん望ましい。
電力損失の場合に、システムの軸の運動を制御して軸が設備及び材料に損傷を生じさせないでまたはオペレータを危険にさらさないで軸が停止するようにすることは重要であるかもしれない。共通して用いられる1つの方法は、電力損失が起こるときにレジスタを介して軸モータの巻線を短絡させることである。しかしながら、このことは、モータ巻線パラメータを一致させて所望の減速度を得る抵抗値の慎重なチューニングを要求し、さらに、統合された動作を実行するロボットを受け入れ可能でないかもしれない。なんとなれば、実質的な追跡エラー及びその後の装置または材料への損傷は、個々の軸のシャットダウンが調整されない場合に生じるかもしれないからである。
別の共通の実行は、無停電電源装置(UPS)を含むことである。この解決法は、軸を統合された方法で停止するために必要な電力を与えるとともに、それは、実質的な費用、寸法、及び重量を加えてもよく、さらに周期的なサービスを要求してもよい。
別の方法は、電力供給の出力に静電容量または電池容量を提供して、リモートコントローラまたは自律リモートコントローラによってそれらの関係する軸に制御された停止をもたらすことを可能にするのに十分な電力を供給することを含む。このことは、実質的な静電容量または電池容量を必要とするが、電力は、全ての減速イベントの間相対的に安定したままであるからである。
本制御システムで利用される1つの方法は、力率補正(PFC)回路のDC出力において供給される静電容量を備えたPFC回路を介して、入力AC電圧(典型的な場合では220V)の整流に基づいていてもよい。得られるDC電圧は、広範な入力範囲のDC電力供給(典型的な例では、48V)へ供給されてもよい。電力が失われると、静電容量は、入力電圧における実質的な減衰にかかわらずDC電力供給を稼動し続ける。
静電容量によって記憶されるエネルギは、動作コントローラが軌道を計画し実施することを可能にするのに十分であるべきである。それは、装置及び材料を保護するために指定された、予め定義された減速率でロボットのエンドエフェクタをそのときの速度からゼロ速度にし、よって、損傷なしにかつ軸位置情報を失うことなしに指定された軌道に沿って統合された動作を維持しながら、制御された停止をロボットにもたらす。
別の実施例は、図33に示すように、容量記憶モジュール3300を含んでいてもよい。典型的な容量記憶モジュールは、必要な電力を提供して、停電及び電圧低下の間でさえ、カテゴリ1オペレーションを可能にしてもよい。一意の設計のため、モジュールはまた、例えば、欧州連合またはSemiのF−47電圧低下テストなどの、ある電圧低下要求に一致しなくてもよい民生(COTS)のPFC電力供給の使用を容易にしてもよい。
容量記憶モジュール3300の構成要素は、単一のプリント回路基板上に実装されてもよい。AC電圧3335は、ブリッジ3305によって整流され、整流された電圧出力3307は、力率補正された電力供給へ直接渡されてもよい。整流された電圧出力3307と平行に、充電回路3310は、容量記憶バンク3315上で高電圧を充電しかつ維持してもよい。電力供給監視回路3320は、容量記憶バンク3315と平行に接続されてもよい。
電力供給監視回路3320は、プロセッサ、メモリ、プログラム記憶装置、並びに様々なセンサ及び監視回路を含んでいてもよい。プログラム記憶装置は、プロセッサによってアクセスされるプログラムを含んでいてもよい。プロセッサは、出力電圧3307、スイッチ3325を作動させること、記憶容量及び容量記憶バンク3315の電圧を監視すること、並びに入力電圧3335を監視することを含む、電力供給監督装置のオペレーションを指示する。
電力供給監視回路3320は、直接接続を介してまたは他のメカニズムによって、整流電圧出力3307を監視してもよい。電力供給監視回路3320は、例えば電力損失の結果として、整流電圧出力3307が予め定めた基準を満たさないと判断すると、電力供給監視回路3320は、容量性記憶バンク3315をスイッチ3325を介して整流電圧出力3307に接続する。
いくつかの利点が、この設計によって実現されてもよい。第1に、容量記憶バンクのコンデンサは、減速イベントに必要な総電力より数パーセントだけ多く供給される寸法であってもよい。第2に、COTS PFC電力供給は通常、広範な入力電圧領域にわたって動作してもよいので、コンデンサが蓄積されたエネルギの約85%を放電しながら出力電圧が正確に維持されてもよい。第3に、高電圧でのエネルギ蓄積は、この解決法をよりコンパクトにし、より費用がかからなくする。なんとなれば、コンデンサに蓄積されたエネルギは、静電容量と二乗された電圧の積に比例し、コンデンサの物理的寸法は、静電容量と電圧の積にほぼ比例するからである。
別の実施例では、電力供給監視装置3320は、例えば、システム保全、電力制御機能、またはマスタコントローラ105を監視する回路などの、外部回路に警告信号を与えてもよい。警告信号が用いられて、可能な電力問題または他の目的についての他のネットワーク構成要素に警告して、EN 60204−1によって定義されるようなカテゴリ1停止を可能にしてもよい。制御システムはまた、この警告信号3330を用いて、容量記憶バンク3315が動作を初期化する前に十分に充電されたということを確認してもよい。警告信号3330及び容量記憶バンク3315は通常、同時に使用可能にされ、制御システム100が容量記憶バンク3315内で蓄積されたエネルギを利用していかなる移動軸も静止するようにすることを可能にする。蓄積されたエネルギは通常、システムがシステムの状態にかかわりなく静止するようにするのに必要なエネルギに等しいかまたは大きくてもよい。例えば、蓄積されたエネルギは、全ての軸が最大速度で移動しているときに、システムが静止するようにするのに十分なエネルギを含んでもよい。
替わりに、警告信号3330のタイミングは容量記憶バンク3315の係合に関してシフトされてもよく、一時的な入力電力異常は、サービス中に不要な混乱を生じさせない。このことは、実行の特に魅力的な方法である。なんとなれば、それは、電圧低下要求を満たさなくてもよい電力供給の使用を可能にするからである。
警告信号はまた、予測的で自動の障害検出に対して用いられてもよい、エネルギ記憶容量、入力電圧、容量バンク電圧、及び入力電力インテグリティに関する情報を提供してもよい。
モニタされた、冗長な、ソリッドステート論理を利用して、軸電力の除去を必要とする入力を検出して反応することが本実施例の別の特徴である。このことは、以下に説明されるように、柔軟性を提供し、即時停止情報が複数のゾーンにわたって共有され得るアーキテクチャを支持する。
この特徴を実施するための電力制御機能4000が、図40に示される。電力制御機能は、即時停止入力4005、1つ以上のタイマ4010、及び様々なプロセッサ、メモリ、及び電力制御機能を実行するための支持回路を検出するための回路を含む。電力制御機能は、電力制御機能が電力除去を開始したということを示す信号(ステップ4035)、1つ以上のロボットの論理電力供給4055に対する制御信号4040、及びロボットのモータ電力供給4065を制御している1つ以上のリレー4040に対する制御信号4045を提供する。即時停止検出回路4005は、様々なインターロック4015、即時停止信号4020、ライブマン信号4025、及び様々な制御システム構成要素からの教示モード信号4030を受信し、また、マスタコントローラ105からモータ電力可能信号4070を、かつリレー4060からモニタ信号4050を受信する。ライブマン信号4025は、制御システム100の少なくとも1つのロボットのワークスペース内に存在する人間がいるということを示す。教示モード信号4030は、システムの少なくとも1つの構成要素がオペレーションを教示されているということを示す。
電力制御機能は様々なハードウェア構成要素を含んでいるように説明されるとともに、電力制御機能はハードウェア、ソフトウェア、及びハードウェアとソフトウェアとのいかなる組合せにおいて実施されてもよいということが理解されるべきである。
マスタコントローラ105はモータ電力が有効にされるということを要求する場合に、電力制御機能4000は、最初に、全ての即時停止信号4020、ライブマン信号4025、インターロック信号4015、及び教示モード信号4030の状態を検証する。電力制御機能4000はまた、リレー4060の接触器が適当な状態にあって、溶接されていないということを確認して、リレーに関するいかなるソリッドステートスイッチも伝導していないことを検証してもよい。即時停止、ライブマン、インターロック、教示モード信号、接触器及びスイッチの各々の状態が全ての必要要件を満たす場合に、リレー4060は有効にされる。リレー4060はまた、1つ以上のソリッドステートスイッチイングデバイスとして実施されてもよい。
即時停止信号、ライブマン信号、インターロック信号、または教示モード信号のいずれかが、モータ電力の除去を必要とする状態に至ると、電力制御機能は、マスタコントローラ105に警告し、タイマ4010を開始する。タイマ4010は、電力除去を要求する信号を生成して制御された停止へ至る十分な時間をシステム構成要素に可能にするようにプログラムされる。タイマ4010の持続時間は、システム構成要素オペレーションモードによって決定されてもよい。例えば、タイマは、異なる速度または教示モードで動いているロボットに対して異なる間隔で設定されてもよい。
タイマ4010の満了で、電力制御機能4000は、リレー制御信号4045を介してモータ電力供給を無効にする。モータ電力は、即時停止信号、ライブマン信号、インターロック信号、または教示モード信号の全てが、モータ電力の回復を可能にする状態に復帰する場合に再度印加されて、モータ電力使用可能信号4070は回復する。
電力制御機能4000は通常、電力分配ユニット内にあってもよい。それは、例えば、以下に説明するように、制御システムの個々のゾーンの電力分散ユニットへ組み込まれる場合、リモートコントローラ及び自律リモートコントローラ群のために働いてもよい。電力制御機能4000はまた、特定のアプリケーションのために設計された異なる電力分散ユニットにおいて再利用されてもよいプラグ着脱可能なドーター(daughter)カードまたはモジュールとして実施されてもよい。
図41は電力制御機能4100の別の実施例を示し、それは、即時停止検出回路が、上記した容量記憶モジュール3300の電力供給監視回路3320からの警告信号を検知する回路を含む。警告信号3330は、即時停止信号、ライブマン信号、インターロック信号、または教示モード信号と同様の方法で用いられて、1つ以上のネットワーク構成要素からの電力除去のトリガーとなってもよい。
いかなる障害及びその後のダウンタイムが、損傷を与えられた材料及び失われた生産性における何万ドルを意味する生産環境において、動作制御システムの信頼性は、重大な要求である。開示された実施例の制御システム100(図1)のアーキテクチャは、制御下の構成要素の近くにリモートコントローラを配置して、よってフィードバック信号及びアクション信号を運ぶ無線及び装置の長さ及び複雑さを減じることによって、よりよい信頼性を概して実現してもよい。しかしながら、いくつかの例では、通信ネットワーク120自体は、通信ネットワーク120が相対的に長い距離を実行するので、障害に脆弱であって、多くの場合には、全てのノードとノードの間の接続が機能的である場合にだけ十分動作し続けるかもしれない。そうでなければ、多くのトポロジにおいて、単一の接続または単一のノードの機能不良は、通信ネットワーク120のセグメントまたは全体に障害を生じるかもしれない。従って、ケーブル破損などの欠陥のある通信ネットワーク接続、または1つ以上のネットワークノードの障害の場合にさえ可能な最大範囲まで制御システム100を動作可能に維持する通信ネットワークソリューションを提供することが望ましい。
IEEE 1394b標準並びに他のネットワーク標準及び実施は、他の3つのタイプのネットワークトポロジにおいて物理的ループを形成する非アクティブセグメントを可能にする。非アクティブセグメントは、通信ネットワーク120のノードの間で冗長な接続を設けるために用いられてもよい。ネットワークは、例えば、PHYポートを選択的に無効にすることによって、自動的に冗長接続を無効にすることを可能にされてもよい。障害時に、ネットワークは、冗長接続を選択的に有効にして、障害によって切り離されたノードへのパスを形成する能力を有していてもよい。このことは、例えば、IEEE 1394b標準における固有の機能を用いて実現されてもよい。他のネットワーク実施はまた、冗長な接続を検出して無効にし、次に障害の場合にそれらを選択的に有効にする能力を有していてもよい。
これらの特徴は、ケーブル破損または通信ネットワーク120上のノードの完全な故障がある場合であっても制御システム100が動作するということを保証する一意の自己回復耐障害性を提供するために利用されてもよい。特に、ネットワークノードまたはアクティブなネットワーク接続が機能しなくなる場合に、通信ネットワーク120は、障害の前にアクティブでなかった冗長接続を介して通信のルートを決めるためにそれ自体を再構成してもよい。2つのネットワークノードの間の接続は、セグメントと称される。
IEEE 1349標準は、開示された実施例を説明するときに例として用いられるとともに、開示された実施例は、IEEE 1394に基づくネットワークに限定されないということに注意することが重要である。他のネットワークが、開示された実施例を実施するのに適当な特徴を含む限り、他のネットワークの実施も利用されてもよい。
ネットワーク120上のノードが機能しなくなる場合に、ネットワークは、代替セグメントを介して通信のルートを決めるためにそれ自体を再構成してもよく、新しい通信ルートを用いて全てまたは選択された動作の軸の即時停止を実施してもよい。このように、バストポロジの物理的ループは、ネットワーク全体を介して冗長な通信パスを提供してもよく、それは、障害の場合に二次的なデータチャネルとして用いられ得る。
図34aは、冗長接続を提供するネットワーク120の典型的なトポロジ3400を示す。トポロジ3400は、メインループ2305及び多数の周辺ループ3410、3415、3420をふくむ。メインループ3405は、マスタコントローラ3425を含み、メインループ3405及び周辺ループ3410、3415、3420の各々はリモートコントローラ3430を含む。非アクティブなセグメント3475がノードの間で冗長なループ接続を提供するとともに、トポロジ3400のアクティブなセグメント3470はツリータイプのトポロジを形成するということに注意すべきである。
図34bは、メインループ3405のセグメント3440において障害3435を有するトポロジ3400を示す。上記したように、ネットワーク120は、障害ノード3435においてそのとき未使用のセグメント3440を無効にし、以前に未使用のセグメント3445を介して通信のルートを決めるためにそれ自体を再構成した。図34cは、メインループ3405において例えば機能しないリモートコントローラなどの機能しないノード3450を有するトポロジ3400を示す。この例では、ネットワーク120は、セグメント3455、3460を無効にし、以前に未使用のセグメント3465を介してこのとき通信のルートを決める。図34d及び34eは、周辺ループ3420における同様の典型的な障害及び再構成技術を示す。
単純なリングトポロジでは、障害を識別して冗長な接続に切り替えることは相対的に容易であるかもしれない。しかし、複数の物理的ループを備えた一般的なシステムにおけるこの種の自己組織化していて自己回復機能を有効にすることは実質的により難しいかもしれない。本実施例は、冗長接続を利用することができるなんらかのネットワーク実施のフレームワークを利用して、障害を補償するというメカニズムを提供する。通信ネットワーク120における多数の物理ループを備えた制御システムが、セグメントまたはノードの障害による時間にわたってその構成が変化するときにさえ、機能を続けることを可能にする。
本実施例によるメカニズムはまた、軌道フレームの効果的なバッファリングに対する方法及び、通信ネットワークにおける同期遅延を補償する方法を含む。
動作同期は、マスタコントローラ105、クラスタコントローラ110、並びにリモート及び自律リモートコントローラ115を含む全てのネットワークノード上でクロックを同期させることによってクラスタ化アーキテクチャ制御システム100において維持されてもよい。1つの実施では、サイクルスタートメッセージとも称される同期メッセージは、通常マスタコントローラ105である、サイクルマスタとして指定されたノードによって送出されてもよい。
ネットワークノードによってマスタコントローラ105から同期メッセージを受信する際の遅延は、ネットワークノードにおけるクロックの間の差分を生じる。遅延の最大構成要素は、同期メッセージの送信の間リピータ遅延と関連する。リピータ遅延は、メッセージの受信及びメッセージがそのあて先へ到達するまでの次のノード上にメッセージを送出する処理の間、各々のノードによってもたらされる遅延をいう。所定のノードに対する全体の伝播遅延は、マスタコントローラから目的ノードへのパスに沿った全てのリピータ遅延の累積合計であると仮定されるかもしれない。
サイクルスタートメッセージのパスは、ネットワークトポロジから各々のノードに対して決定されてもよい。伝播遅延は、メッセージパスに基づいて予測されてもよい。各々のノードに対する予測された伝播遅延は、そのノードに対するPVTフレームにおける軌道データを調整することによって相殺されてもよい。
伝播遅延を予測する1つの方法では、マスタコントローラ105は、より大きな伝播遅延が144nsを上回らないようにネットワークトポロジが設計されたという仮定に基づいて、144nsの名目上の値を単に用いてもよい。別の方法では、各々のノードに対するリピータ遅延は、例えばノード内のメモリ位置において予め定められて記憶されてもよい。マスタコントローラは、メモリ位置から特定のノードに対するリピータ遅延を読み込んでもよい。1つの例では、リピータ遅延は、例えば、ベースPHYレジスタなどのノードレジスタの遅延フィールドに記憶されてそこから読み込まれてもよい。
マスタコントローラ105は、次に、リピータ遅延を利用して、各々のノードに対する遅延補償を算出してもよい。1つの実施例では、マスタコントローラ105は、拡張された一意の識別子(EUI−64)によってEUI−64を報告するノードに対してリピータ遅延にインデックスを付けてもよく、そうしないノードに対して予測された値を用いてもよい。
マスタコントローラ105から通信ネットワーク120上のノードのいずれかへの全体の伝播遅延を予測する別の方法は、マスタコントローラ105に対して各々のノードにピンを打ってピンに対する応答時間を記録することである。替わりに、マスタコントローラは、PHYレジスタ要求パケットへの応答を記録してもよい。ピンまたは要求及び応答に対する往復の時間の差は、マスタコントローラから通信ネットワーク120上の異なるノードへの累積伝播遅延として利用されてもよい。
各々のノードに対する遅延補償は、通信ネットワークがそれ自体再構成するたびにマスタコントローラによって再算出されてもよい。
図38は、代表的なIEEE 1394b自己同一化プロセスの結果を示す。他のネットワーク実施は、この種の自己同一化が可能であってもよく、そして、開示された実施例はIEEE 1394bタイプのネットワークに限定されないということに注意することが重要である。
マスター(ルート)へのノードMに対するパスは、ノードM、M、M、・・・、Mによって定義され、ここで、MはPHY idであり、Mはルート(M<M<M<・・・<M)であり、Mの親としてp(M)及びt(M)としてMに対するリピータ遅延を意味し、ノードMに対する全伝播遅延はΣt(p(M))であり、ここでi=0,1,2,・・・,n−2である、と仮定せよ。
マスタコントローラ105は、通信ネットワーク120上で起こっているバスリセット及びセルフィドコンプリート(selfid-complete)メッセージを観察することによって、再構成イベントを知らせることができる。セルフィドコンプリートパケットは、十分な情報を提供して、マスタコントローラ105は、新しいネットワークトポロジ及びマスタコントローラから各々のノードへのパスを決定してもよい。各々のノードからマスタコントローラ105へのパスは、ルートが到達されるまでいずれかのノードからその親ノードへパスの連結によって一意に画定されてもよい。各々のノードからの全体の伝播遅延は、そのパスに沿ったリピータ遅延の合計から判断されてもよい。一旦ノードに対する全体の伝播遅延が判断されると、ノードは、伝播遅延情報を用いて、軌道データ(PVTフレーム)を相殺してもよい。
図35を参照すると、通信ネットワーク120がセグメントまたはノード障害の結果として再構成するときに伝播遅延を再計算することにおいて、以下の手順が有利である。
ブロック3505に示すように、マスタコントローラ105は通常、通信ネットワーク120におけるサイクルマスタの役割を得てもよく、ブロック3510に示すように、上記したように通信ネットワーク120上の各々のノードに対するリピータ遅延を予測してもよい。ブロック3515に示すように、マスタコントローラは、通信ネットワーク120上の各々のノードに、対応する遅延見積りを送出する。通信ネットワーク120上の各々のリモートノードは、ブロック3520に示すようにPVTフレームを実行するときに、タイムオフセットとしてマスタコントローラ105から受信した見積りを適用する。例えば、所定のPVTフレームの実施のための時間は、PVTフレームの時間フィールドから伝播遅延の見積りを引いて算出され得る。
別の実施例では、マスタコントローラ105によって送出されたPVTまたはPVT−FGフレームは、伝播遅延情報を運ぶタイムオフセット(TIME_OFFSET)と称される追加フィールドを含んでもよい。
各々のネットワークノードは、次に、PVTフレームを実施するときにタイムオフセットフィールドから伝播遅延情報を適用してもよい。例えば、所定のPVTフレームの実施のための時間は、PVTフレームの時間フィールドからタイムオフセットを引いて算出され得る。
バスリセットイベントを伴うトポロジ変更の場合には、リモートノードは、バスリセットの前にバッファリングされてバスリセット後に再同期クロックを用いて実施されるべきPVTフレームのタイムオフセットフィールドを廃棄してもよく、バスリセット後に受信された第1のPVTフレームからのタイムオフセット情報を備えたフィールドに置換してもよい。
図36は、追加のタイムオフセットフィールドを有する典型的なPVTフレーム3605を示す。PVTフレーム3605は、位置データ3610、速度データ3615及び時間データ3620を含む。PVTフレーム3605は、ヘッダ情報3625及び末尾情報3630を任意で含んでもよく、その両方は、同期、識別、パリティ、エラー修正、または他の種類のデータを含んでもよい。さらに、フレームがアドレス指定されたノードに対する伝播遅延情報を含むタイムオフセットフィールド3635を、PVTフレーム3605が含んでいてもよい。
図36は、フレームの特定の場所または領域のさまざまな情報またはデータを示すと共に、情報及びデータの異なるタイプは、PVTフレーム3605内のどこに位置していてもよい。PVTフレーム3605はいかなる特定の長さにも限定されないということに注意すべきである。
図37は、追加のタイムオフセットフィールドを有する典型的なPVT−FGフレーム3705を示す。PVT−FGフレーム3705は、PVTフレーム3605と同様に、任意のヘッダ3710、位置3715、速度3720、時間3725、及び任意の末尾情報3730を含む。さらに、PVTフレーム3705は、フレームがアドレス指定されたノードに対する伝播遅延情報を含むタイムオフセットフィールド3735を含んでもいてよい。
PVTフレーム3605と同様に、PVT−FGフレーム3705は、さまざまなタームの中または間で分散された、長さまたは量を変化させる他のデータを含んでもよい。
また別の方法として、伝播遅延は、ネットワークノード上で直接予測されてもよい。各々のネットワークノードは、バスリセットに続く自己IDパケット内の情報に基づいてマスタコントローラ105からのパスを決定してもよい。各々のノードは、次に、伝播遅延に本質的に等しい予測された遅延を算出してもよく、PVTフレームを実施するときに対応するオフセットを適用してもよい。
制御システム100では、1つ以上の構成要素に即時中止するように要求するかまたは、上記した速度制限または力限界特性のいくらかを引き起こすように要求するイベントが生じてもよい。これらの状況は、影響を受けた構成要素と相互に作用する他の構成要素に逆に衝撃を与えるかもしれず、場合によっては、制御システム全体に不利に影響するかもしれない。
制御システム100を複数ゾーンに分割して、1つのゾーンで起こっている構成要素の停止、速度限界、または力限界を必要としているイベントが、他のゾーンのオペレーションに影響を及ぼさないようにすることは、開示された実施例の特徴である。システムをゾーンに分離する別の利点は、他の構成要素またはノードが働き続けるとともに、制御システム100の構成要素またはノードは、例えば、教示モードまたは除去された電力でのシャットダウンにおいてサービスを提供されているということである。
複数のワークゾーンを有する制御システムは、全てのゾーンにわたって広範囲の即時停止機能を提供し、他のゾーンにおいてオペレーションを維持しつつ選択されたゾーンへのアクセスを提供するために各々のゾーンにおいてインターロックを局所的に扱ってもよい。教示ペンダント及びライブマン機能はまた、ゾーン毎方式で支持されてもよい。各々のゾーンは、また、統合された安全サポートを有するそれ自体の電力配分装置を有していてもよい。
開示された実施例による複数のゾーンを有する制御システム例の適用は、図39に示される。
図39は、大気ゾーン3905及び真空ゾーン3910を有する制御システム100の一部を示す。大気ゾーン3905は、2台のロボット3906、3907及び2つのアライナ3909、3908を含む。真空ゾーン3910は、ロボット3911を含む。各々のゾーンは、上記したように電力制御機能4000を含んでもよい関連するインテリジェント電力配分装置3915、3920を有していてもよい。ローカルシステムインテグリティ信号3930は、I停止、インターロックまたはライブマンイベントをマスタコントローラ105に通信して、広範囲にまたは単一のゾーン内でのいずれかで制御された停止を開始するために用いられる。この特定の例では、ローカルシステムインテグリティ信号3030は、各々のゾーン内でリモートコントローラ3940、3945の1つに供給されて、マスタコントローラ105に通信される。マスタコントローラは、通信ネットワーク120を介して各々のゾーンの構成要素へ通信する。
さらに、例えばイーサネット(登録商標)ネットワークなどの一般的な通信ネットワーク3950は、1つまたは複数の教示ペンダント3955、3960と通信することを含む、半導体基板処理アプリケーションにおけるロードポートなどの他の下位のまたは独立した自動化構成要素との制御システムの通信を収容するのに役立つ。教示ペンダントインタフェースは、一般的な通信ネットワーク3950へ通信を提供して、I停止、ライブマン、及びペンダント存在信号を含んでもよい。
各々のゾーン3905、3910は、ゾーンツーゾーンインテグリティ信号3925を共有し、それは、インターロック、即時停止指示、及びシステムAC電源の状態に対する信号を含む。隣接するゾーンの存在を示す、前のゾーン及び次のゾーンの信号が含まれてもよい。
マスタコントローラはゾーン3905、3910内の動作を分離するように動作して、大気ゾーン3905で起こっているイベントは真空ゾーン3910の動作のオペレーションを生じさせない。例えば、大気ゾーン3905における障害の場合には、大気ゾーンは、無効にされて、制御された停止になされてもよい。実施例は、1つのゾーンの動作を別のゾーンでの動作から分離するのに役立つとともに、それらも、ゾーンの間でイベントを通信しかつ1つ以上のゾーンの統合されて制御されたシャットダウンを保証する能力を提供してもよい。
例えば、マスタコントローラは、大気ゾーン3905のシャットダウンを要求するようなゾーンツーゾーン即時停止信号を識別してもよい。マスタコントローラ105はまた、真空地帯3910をシャットダウンしてもよい。なんとなれば、それは大気ゾーン3905から物質を受けとるからである。替わりに、マスタコントローラは、制御システム100の別のゾーンに大気ゾーン3905に対して元々予定されていた仕事を送ってもよい。
このように、開示された実施例は、第1のゾーンにおける動作が第1のゾーン以外のゾーンにおける動作と分離されるように、ネットワークのノードをゾーンに割り当てることによって制御システムネットワークのインテグリティを維持するという方法を提供する。
いくつかのロボットが静止している場合、それらは再開時に位置エラーを有するかもしれないということが観察された。例えば、アイドル後の開始時に、ロボットは適当な場所へ進むことができないかまたは受け入れ可能な動作の耐性の範囲内で適当な場所に基板を配置しないかもしれない。これらのエラーは、様々な構成要素の温度及び相対的な場所、潤滑剤粘度、または様々な他の要因によるかもしれない。これらのエラーは、多くの運動の後、通常除去される。
ロボットが働いていない時間を記録することは、開示された実施例の特徴である。ある一定のアイドルタイムを上回った場合、ロボットの性能特性が判断されてもよい。性能特性が仕様を満たさない場合、ロボットはウォーミングアップ運動を実施するように指示されてもよい。ウォーミングアップ運動は、十分な運動を提供する1つ以上の動作を含み、働いていないロボットの結果として浮上する位置精度エラーを排除してもよい。
開示された実施例の別の態様では、アイドルタイムを上回った場合、ロボットは、性能特性を判断することなしにウォーミングアップ運動を実施するように指示されてもよい。
図29は、この実施例が実施されてもよいワークセル2900を示す。ワークセル2900は、クラスタコントローラ2915及び3台のリモートコントローラ2930、2935、2940を有するロボット2910を含む。クラスタコントローラ2915は、通信ネットワーク2940を介してマスタコントローラ2945と通信する。ワークセル2900は、また、リモートコントローラ2960によって制御されてもよいアライナ2955を含んでもよい。リモートコントローラ2960は、マスタコントローラ2945によって制御されてもよい。ワークセル2900は、ロボットの位置を検知する1つ以上のセンサ2960、2965、2970を任意に含んでいてもよい。1つの実施例では、センサ2960、2965、2970は、ロボット2910に搭載されるかまたはそうでなければ中に組み込まれてもよい。典型的な実施例では、ワークセル2900は、クラスタ化アーキテクチャ制御システム100(図1)の一部であってもよい。
図3に戻って参照すると、クラスタコントローラ2915は通常、プロセッサ305、リードオンリメモリ310、ランダムアクセスメモリ315、プログラム記憶装置320、及びネットワーク120に対するネットワークインタフェース330を含む。プロセッサ305は通常、例えば、オンボードプログラム可能メモリ335などのコンピュータ使用可能媒体、リードオンリメモリ310、ランダムアクセスメモリ315、及びプログラム記憶装置320などのコンピュータプログラム製品から情報及びプログラムを読み込むことができる。
オンボードプログラム可能メモリ335、リードオンリーメモリ310、ランダムアクセスメモリ315及びプログラム記憶装置320は、ロボット2910の性能特性を判断しかつウォーミングアップ運動の動作を介してロボット2910に指示するためのプログラムを含んでいてもよい。
図29及び30を参照しつつ、開示された実施例の典型的なオペレーションがここで説明される。
ロボットアイドルタイム、ロボット性能特性を決定して、ロボットウォーミングアップ運動を実施することと関係する機能が、クラスタコントローラ2915によって実施されるように主に説明されるとともに、ワークセル2900がかかるシステムの一部である場合、機能はマスタコントローラ2945、リモートコントローラ2930、2935、2940、ワークセル2900のいずれかの適当な構成要素、またはクラスタ化アーキテクチャ制御システム100(図1)のいずれかの適当な構成要素によって実施されるということが理解されるべきである。
さらに、アイドルタイム、性能特性、及びウォーミングアップ運動が通常、ロボット2910と関係付けられるとともに、これらの機能及び特性を決定することに関係付けられた機能も、個々の軸またはロボットの結合、ワークセル2900の他の構成要素に対して、または他のクラスタ化アーキテクチャ制御システム構成要素に対して実施されてもよい。
クラスタコントローラ2915は、ロボット2910がアイドル状態にあるときを認識する回路またはプログラムを備えていてもよい。例えば、ロボット2910は、スタンドバイモードに入り、シャットダウンするための特別の命令を受信してもよいし、または単にある一定の時間の間いずれの動作コマンドも受信しなくてもよい。ブロック3010に示すように、クラスタコントローラ2915は、ロボット2910が働いていないということを判断し、ブロック3015に示すように、アイドル状態が判断される時間の表示としてタイムスタンプを取っておく。
クラスタコントローラ2915は、ブロック3020に示すようにロボット2910に送出されたコマンドを監視する。動作コマンドが受信されると、クラスタコントローラ2915は、ブロック3025に示すように、ロボットが働いていなかった時間を判断する。ブロック3030に示すように、アイドルタイム閾値を上回る場合、クラスタコントローラは、次に、例えば、ブロック3035に示すように働いていないロボットによる位置精度エラーを排除するのに十分な運動を通常与える1つ以上の動作コマンドの形式で、ロボット2910にウォーミングアップ運動を発行してもよい。ウォーミングアップ運動を実施した後、ロボットは次に、ブロック3045に示すように、動作コマンドを実行してもよい。
図31は、図30のブロック3035に対する代替手順を示す。ブロック3110に示すように、アイドルタイム閾値を上回った場合、クラスタコントローラ2915はロボット2910の性能特性を確認してもよい。例えば、クラスタコントローラ2915は、ロボットにテスト動作コマンドを発行して、次に、センサ2960、2965、2970を確認し、ロボットが仕様書の範囲内でコマンドを実行したことを保証してもよい。別の例として、クラスタコントローラは、ロボット2910にアライナ2955上に基板2975を置くように指示し、次に置かれた基板の整列を確認することによって、性能特性を確認してもよい。
性能特性が仕様の範囲内にある場合、クラスタコントローラ2915は、図31のブロック3045に示すように、ロボットが動作コマンドを実行することを可能にしてもよい。仕様を満たさない場合、クラスタコントローラ2915は、ブロック3115に示すように、例えば、オーバーライドを要求している、ユーザインタフェース225(図2)を介して、オペレータへの警告またはアシストするための要求を発行してもよい。他の選択肢として、クラスタコントローラ2915は、ユーザが介入するまでロボット2910のオペレーションを停止してもよい。一旦オーバーライドが提供されると、ロボットは次に、図31のブロック3045に示すように、動作コマンドを実行してもよい。
開示された実施例は、ウォーミングアップ運動を実施することによってロボット配置エラーを補償するメカニズムを提供するとういことが理解されるだろう。実施例の1つの態様では、ロボットがある一定期間働いていなかった場合、ウォーミングアップ手順が実施されてもよい。更なる改良として、特定の仕様が満たされない場合、ロボットの性能特性が判断されて、ウォーミングアップ運動が実施されてもよい。ウォーミングアップ運動は、十分な運動を提供する1つ以上の動作を含み、働いていないロボットの結果として浮上する位置精度エラーを取り除く。
複雑な制御システムでは、システム構成要素にアクセスするための標準化された一組のインタフェース協定を利用することが有利である。これらは、様々なシステム構成要素と通信するための共通の形式をユーザに提供する、一組のコマンド、パラメータ、変数、その他を含んでもよいアプリケーションプログラムインタフェース(API)によって提供されてもよい。
一般的なコマンドの使用が、オペレーションを実施するための特定の構成要素、位置、及び他のパラメータを識別するオペレーション及び特定の引数を実施することを可能にする、汎用コマンドセットを含むAPIを提供することが、開示された実施例の特徴である。
APIを介して、オペレーションを実施する実際の動作が、引数に依存して変化してもよいということは、開示された実施例の別の特徴である。例えば、位置としてロボット及びアライナを指定する「ピックフロム(PickFrom)」コマンドを用いることは、位置としてロボット及びロードポートを指定することよりもむしろ完全に異なる一組の運動という結果になってもよい。
図42を参照すると、APIは、資源コーディネータ4305、シーケンス製法4310、及びシーケンスマネージャ4315を含んでいてもよい。資源コーディネータ4305からのコマンドは、シーケンス製法4310に投入される。シーケンス製法4310は次に、一連のコマンドをシーケンスマネージャ4315に提示し、シーケンスマネージャ4315は資源を割り当ててコマンドシーケンスを実行させる。APIは、下記のような一組のコマンドを含んでいてもよい。各々のコマンドは通常、コマンド引数が続くコマンド名を含む。開示された実施例のコマンドでは、ターム主体、資源及びロボットは、オペレーションを実行することができるいかなるデバイスにも言及する。
指定されたロボット位置を用いて指定された物質資源位置から物質を取り出すためのコマンドは、ピックフロムコマンドと称され、以下のフォーマットを有していてもよい。
PickFrom(IRobot robot, int robotLocation, IMaterialHolder materialSource, int sourceLocation)
ここで、robotは、取り出し動作に対する主要な主体を指定する。
robotLocationは、取り出し動作に対して用いられるべき通常チップである主体インデックスを指定する。
MaterialSourceは、そのとき物質を保持しているデバイスを指定する。
sourceLocationは、物質が存在するデバイスへのインデックスを指定する。
指定されたロボット位置を用いて指定された物質目的位置に物質を配置するためのコマンドは、プレースツー(PlaceTo)コマンドと称され、以下のフォーマットを有していてもよい。
PlaceTo(Irobot robot, int robotLocation, IMaterialHolder materialDestination, int destinationLocation)
ここで、robotは、配置動作に対する主な主体(ロボット)を指定する。
robotLocationは、通常物質が存在するチップである、主体インデックスを指定する。materialDestinationは、あて先オブジェクトを指定する。さらに、
destinationLocationは、あて先オブジェクトへのインデックスを指定する。
構成されたポイントに対するピックフロムオペレーションの一部を実行するコマンドは、ピックプレップ(PickPrep)コマンドと称されてもよい。ピックプレップコマンドは通常、ツールのスループットを上げるために指定された物質資源に近いロボットを移動させるために用いられてもよい。ピックフロムコマンドがロボット減速に先立ち送出されなければ、オペレーションは構成されたポイントで停止してもよい。
ピックプレップコマンドは、以下の形式を有していてもよい。
PickPrep(IRobot robot, int robotLocation, IMaterialHolder materialSource, int sourceLocation)
ここで、robotは、取り出し動作に対する主な主体を指定する。
robotLocationは、取り出しオペレーションに対して用いられるべき通常チップである主体インデックスを指定する。
materialSourceは、そのとき物質を保持するデバイスを指定する。そして、
sourceLocationは、物質が存在するデバイスへのインデックスを指定する。
構成されたポイントへのプレースツーオペレーションの一部を実行するコマンドは、プレースプレップ(PlacePrep)コマンドを称されてもよい。プレースプレップコマンドは、通常、ツールのスループットを上げるために指定された物質資源に近いロボットを移動させるために用いられてもよい。オペレーションは、プレースツーコマンドがロボット減速に先立ち送出されなければ、構成されたポイントで停止してもよい。
プレースプレップコマンドは、以下の形式を有していてもよい。
PlacePrep(IRobot robot, int robotLocation, IMaterialHolder materialDestination, int destinationLocation)
ここで、robotは、配置動作に対する主な主体(ロボット)を指定する。
robotLocationは、物質が存在する通常チップである、主体インデックスを指定する。
materia1Destinationは、あて先オブジェクトを指定する。そして、
destinationLocationは、あて先オブジェクトへのインデックスを指定する。
指定されたロボット位置を用いて、物質資源位置から目的位置へ基板を移動させるコマンドは、ムーブフロムツーコマンド(MoveFromTo)と称され、以下の形式を有していてもよい。
MoveFromTo(IRobot robot, int robotLocation, IMaterialHolder materialSource, in sourceLocation IMaterialHolder materialDestination, int destinationLocation)
ここで、robotは、オペレーションに対して用いられるべき主な主体を指定する。
robotLocationは、オペレーションに対して用いられるべき通常チップである主体インデックスを指定する。
materia1Sourceは、そのとき物質を保持する目的を指定する。
sourceLocationは、物質が存在する目的へのインデックスを指定する。
materia1Destinatianは、あて先オブジェクトを指定する。そして、
DestinationLocationは、あて先オブジェクトへのインデックスを指定する。
指定されたマッピングデバイスを用いて、指定された資源をマッピングするコマンドは、マップリソース(MapResource)コマンドと称されてもよい。資源をマッピングすることは、資源がなんらかのアイテムを保持または支持しているかどうかを判断することを含んでいてもよく、また、保持されるかまたは支持されているアイテムの位置を判断することを含んでいてもよい。マップリソースコマンドはまた、指定された資源における位置の状態の記録を、例えば占有された、占有されない、その他などの、適当な値に更新してもよい。
マップリソースコマンドは、以下の形式を有していてもよい。
MapResource(IMapper, IMaterialHolder resource)
ここで、mapperは、指定された資源をマッピングすることができるデバイスを識別する。
resourceは、マッピングを要求しているデバイスを識別する。
準備が出来ている状態へ指定された資源を開始するコマンドは、イニシャライズリソース(InitializeResource)コマンドと称されてもよい。例えば、資源がロボットである場合、イニシャライズリソースコマンドは、ロボットに周知の位置またはホームへ移動させ、次に安全な位置へ移動させる。このコマンドはまた、メカニズムが有効である場合には、資源のロッキングメカニズムをリセットしてもよい。
イニシャライズリソースコマンドは、以下の形式を有していてもよい。
InitializeResource(IWorkcellObject resource)
ここで、resourceは、開始する資源を指定する。
戦略または製法に基づいて資源を初期化するコマンドは、また、イニシャライズリソース(InitializeResource)コマンドと称されてもよい。戦略または製法が指定されない場合には、標準またはデフォルトの製法が最初にロボットを、次に取り付けられたモジュールを初期化してもよい。
戦略を利用するイニシャライズリソースコマンドは、以下の形式を有していてもよい。
InitializeResources(recipe)
ここで、recipeは、初期化された戦略を指定する。
開示された実施例は、一般的なコマンドの使用が、オペレーションを実行するための特定の構成要素、位置、及び他のパラメータを識別するための特定の引数を用いてオペレーションを実行させることを可能にするということが理解される。このように、開示された実施例は、モデルに基づく制御を提供し、構成要素の動作を同期させ、このアーキテクチャのシステムに対して特にプロトコル拡張を提供する、集中化及び分散化、即ち、柔軟であって拡張性があるという両方の利点を有している、ネットワーク化された制御システムを説明する。制御システムはまた、分散されたイベント捕捉及びアプリケーションプログラムインタフェースを提供する。さらに、システムは、無線通信能力を含み、構成要素のワークスペースにおいて人的存在を収容し、高レベルのシステム統合を提供し、即時停止を要求する停電及び環境を提供し、さらにロボットの働かないで座っている時間による位置エラーを排除するためのウォーミングアップ能力を提供する。
開示された実施例を実施するのに適したクラスタ化アーキテクチャの制御システムのブロック図を示す。 クラスタ化アーキテクチャの制御システムのオペレーションを制御するマスタコントローラのブロック図を示す。 マスタコントローラの制御下で動作することができるクラスタコントローラのブロック図を示す。 マスタコントローラまたはクラスタコントローラの制御下で動作することができるリモートコントローラのブロック図を示す。 クラスタ化アーキテクチャ制御システムの典型的なアプリケーションを示す。 自律リモートコントローラを用いている制御システムの典型的なアプリケーションを示す。 位置、速度及び時間情報を運ぶために用いられる典型的なPVTフレームを示す。 フィードフォワードターム及び利得タームを含む、位置、速度及び時間情報を運ぶために用いられる典型的なPVT−FGフレームを示す。 異なる種類の制御アルゴリズムを用いている実験的に得られた追跡エラーの比較を示す。 開示された実施例の通信ネットワークの典型的なバスサイクルを示す。 開示された実施例の通信ネットワークの典型的なサイクルスタートメッセージを示す。 通信ネットワークノードの間の同期のための典型的な高分解能レジスタを示す。 通信プロトコル構造を示す。 通信プロトコル構造の一部としてプラグ実装を示す。 ワークセルの図を示す。 瞬間データ収集シーケンスについてのフロー図を示す。 瞬間データ収集シーケンスについての別の実施例のフロー図を示す。 瞬間データ収集シーケンスのさらに別の実施例のフロー図を示す。 信号遷移遅延を較正する手続きについてのフロー図を示す。 典型的な制御メッセージ構造を示す。 典型的なアクションメッセージを示す。 典型的なイベントメッセージ構造を示す。 ベンダ固有のイベントメッセージの例を示す。 ストリングメッセージ構造の例を示す。 ベンダの特定のイベントメッセージの例を示す。 PVTまたはPVT−FGメッセージ構造の例を示す。 ステータスメッセージの例を示す。 通信ネットワークが無線部分を有している図1のシステムの一部を示す。 任意のトルク限界タームを有する典型的なPVTフレームを示す。 任意のトルク期間を備えたPVT−FGフレームを示す。 共通の統合されたチェック及びシャットダウン回路ユニットを有するリモートコントローラのブロック図を示す。 ロボットのウォーミングアップ運動を実施するのに適したワークセルの図を示す。 ロボットのウォーミングアップ運動の実施についてのフロー図を示す。 替わりのロボットウォーミングアップ運動手順についてのフロー図を示す。 トレースメッセージの例を示す。 容量性記憶モジュールの例を示す。 冗長接続を設ける典型的なネットワークトポロジを示す。 ネットワーク障害補償スキームの異なる態様を示す。 ネットワーク障害補償スキームの異なる態様を示す。 ネットワーク障害補償スキームの異なる態様を示す。 ネットワーク障害補償スキームの異なる態様を示す。 リピータ遅延を判断して用いる方法を示す。 追加のタイムオフセットフィールドを有する典型的なPVTフレームを示す。 追加のタイムオフセットフィールドを有する典型的なPVT−FGフレームを示す。 典型的ネットワーク自己識別スキームを示す。 複数ゾーンを有する制御システムの典型的なアプリケーションを示す。 電力制御回路のブロック図を示す。 容量性記憶モジュールに接続された電力制御回路の別の例を示す。 アプリケーションプログラムインタフェースのブロック図を示す。

Claims (5)

  1. マスタコントローラを有するクラスタ化アーキテクチャと、
    前記マスタコントローラの直接制御下にあって1つ以上の第1運動軸を駆動するために利用される1つ以上の第1リモートコントローラを含む中央制御部と、
    前記マスタコントローラによって制御されているクラスタコントローラと、前記クラスタコントローラに制御されていて1つ以上の第2運動軸を駆動するために利用される1つ以上の第2リモートコントローラと、を含む分散制御部と、
    を含み、
    制御ループ及びフィードバックループは前記マスタコントローラと前記1つ以上の第1リモートコントローラとの間で閉じられており、
    制御ループ及びフィードバックループは前記クラスタコントローラと前記1つ以上の第2リモートコントローラとの間で閉じられており、
    前記マスタコントローラ、前記第1リモートコントローラ、及び前記第2リモートコントローラの内の少なくとも1つはプロセッサを含み、
    前記プロセッサは、
    前記1つ以上の第1又は第2運動軸のエンドエフェクタに対する最大許容オペレーティングパラメータ値を計算し、
    前記エンドエフェクタに対する第2動作プロファイルにおいて前記エンドエフェクタが前記最大許容オペレーティングパラメータ値を超えないように、前記1つ以上の第1及び第2運動軸の個別の結合部に対する1つ以上の第1動作プロファイルを生成する、
    ように構成されている、ことを特徴とする制御システム。
  2. 1つ以上の軸に対する軌道を前記軌道上の複数のポイントの各々のポイントに対する位置、速度及び加速に関して生成し、前記軸の逆ダイナミクスモデルを算出して各々の軸に対する前記軌道上の各々のポイントに対する利得値及びフィードフォワードタームを決定する回路を更に含む請求項1記載のシステム。
  3. マスタコントローラと、前記マスタコントローラによって制御されている少なくとも1つのクラスタコントローラと、複数のリモートコントローラとを有する制御システムを動作させる方法であって、
    前記方法は、
    前記マスタコントローラと1つ以上の第1リモートコントローラとの間で閉じられている制御ループ及びフィードバックループを利用して前記マスタコントローラの直接制御下にある1つ以上の第1運動軸を駆動するステップと、
    前記クラスタコントローラと1つ以上の第2リモートコントローラとの間で閉じられている制御ループ及びフィードバックループを利用して前記クラスタコントローラによって制御されている1つ以上の第2運動軸を駆動するステップと、
    前記1つ以上の第1及び第2運動軸のエンドエフェクタに対する最大許容オペレーティングパラメータ値を計算するステップと、
    前記エンドエフェクタに対する第2動作プロファイルにおいて前記エンドエフェクタが前記最大許容オペレーティングパラメータ値を超えないように、前記1つ以上の第1及び第2運動軸の個別の結合部に対する1つ以上の第1動作プロファイルを生成するステップと、
    を含むことを特徴とする方法。
  4. 1つ以上の軸に対する軌道を前記軌道上の複数のポイントの各々のポイントに対する位置、速度及び加速に関して生成するステップと、
    前記軸の逆ダイナミクスモデルを算出して各々の軸に対する前記軌道上の各々のポイントに対する利得値及びフィードフォワードタームを決定するステップと、
    各々のポイントに対する前記位置、速度、加速、利得値、及びフィードフォワードタームをフレームへグループ化するステップと、
    を含むことを特徴とする請求項3記載の方法。
  5. 2つの連続的なフレームの間で補間して、前記軸を制御するために利用される瞬間位置、瞬間速度、瞬間フィードフォワードターム、及び瞬間利得値を得るステップを含むことを特徴とする請求項4記載の方法。
JP2008515803A 2005-06-08 2006-06-05 拡張可能な動作制御システム Active JP5026413B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US68863605P 2005-06-08 2005-06-08
US60/688,636 2005-06-08
US11/178,615 US7904182B2 (en) 2005-06-08 2005-07-11 Scalable motion control system
US11/178,615 2005-07-11
PCT/US2006/021749 WO2006133096A2 (en) 2005-06-08 2006-06-05 Scalable motion control system

Publications (2)

Publication Number Publication Date
JP2008543578A JP2008543578A (ja) 2008-12-04
JP5026413B2 true JP5026413B2 (ja) 2012-09-12

Family

ID=37499003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008515803A Active JP5026413B2 (ja) 2005-06-08 2006-06-05 拡張可能な動作制御システム

Country Status (7)

Country Link
US (4) US7904182B2 (ja)
EP (3) EP2610694A3 (ja)
JP (1) JP5026413B2 (ja)
KR (1) KR101359541B1 (ja)
CN (1) CN101297249B (ja)
TW (1) TWI447542B (ja)
WO (1) WO2006133096A2 (ja)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593345B2 (en) * 2004-12-30 2009-09-22 Finisar Corporation Altering latency for network testing
US7904182B2 (en) 2005-06-08 2011-03-08 Brooks Automation, Inc. Scalable motion control system
US8462796B2 (en) * 2005-07-28 2013-06-11 Ima Industria Macchine Automatiche S.P.A. Method for exchanging information among digital units in a distributed system
US20070205910A1 (en) * 2006-02-22 2007-09-06 Parker-Hannifin Corporation Wireless motion control system
DE102006049956A1 (de) * 2006-10-19 2008-04-24 Abb Ag System und Verfahren zur automatisierten Ver- und/oder Bearbeitung von Werkstücken
US9136711B2 (en) * 2007-08-21 2015-09-15 Electro Industries/Gauge Tech System and method for synchronizing multiple generators with an electrical power distribution system
FR2929873B1 (fr) * 2008-04-09 2010-09-03 Aldebaran Robotics Architecture de controle-commande d'un robot mobile utilisant des membres articules
US9046890B2 (en) * 2008-09-05 2015-06-02 Fanuc Robotics America, Inc. Line tracking data over Ethernet
US9199382B2 (en) * 2008-12-17 2015-12-01 Abb Research Ltd. Damage-preventing system for manipulator
US8332737B2 (en) * 2009-06-26 2012-12-11 Agilent Technologies, Inc. Instrument control system and methods
KR101099207B1 (ko) 2009-06-29 2011-12-27 대덕대학산학협력단 블루투스 기반의 멀티로봇 제어 방법
US9120224B2 (en) * 2009-09-22 2015-09-01 GM Global Technology Operations LLC Framework and method for controlling a robotic system using a distributed computer network
JP5353624B2 (ja) * 2009-10-13 2013-11-27 セイコーエプソン株式会社 ロボット制御装置およびロボット制御方法
KR100964599B1 (ko) * 2009-11-30 2010-06-21 주하(주) 무정전 전원 공급 시스템 및 무정전 전원 장치
WO2012029227A1 (ja) * 2010-08-31 2012-03-08 パナソニック株式会社 マスタースレーブロボットの制御装置及び制御方法、マスタースレーブロボット、制御プログラム、並びに、集積電子回路
KR101257793B1 (ko) 2010-12-23 2013-04-24 한국기계연구원 복수 축의 동기화 방식에 기반한 고속 병렬형 로봇의 제어 방법
KR102392186B1 (ko) * 2011-03-11 2022-04-28 브룩스 오토메이션 인코퍼레이티드 기판 처리 툴
WO2012156775A1 (en) * 2011-05-16 2012-11-22 Abb Research Ltd A method and a system for online and dynamic distribution and configuration of applications in a distributed control system
WO2012169175A1 (ja) * 2011-06-09 2012-12-13 パナソニック株式会社 通信端末、通信制御方法及びプログラム
US11199824B2 (en) 2012-01-17 2021-12-14 Fisher-Rosemount Systems, Inc. Reducing controller updates in a control loop
US9298176B2 (en) 2012-01-17 2016-03-29 Fisher-Rosemount Systems, Inc. Compensating for setpoint changes in a non-periodically updated controller
US10423127B2 (en) 2012-01-17 2019-09-24 Fisher-Rosemount Systems, Inc. Velocity based control in a non-periodically updated controller
JP6104519B2 (ja) * 2012-05-07 2017-03-29 シャープ株式会社 自走式電子機器
CN102929171B (zh) * 2012-08-16 2016-05-11 常州市翔云测控软件有限公司 网络型经编机控制系统及方法
ES2801904T3 (es) * 2012-09-20 2021-01-14 Abb Schweiz Ag Efectividad general de los equipos de una célula robotizada
US9046414B2 (en) 2012-09-21 2015-06-02 Google Inc. Selectable lens button for a hazard detector and method therefor
US20160164976A1 (en) * 2012-09-24 2016-06-09 Suitable Technologies, Inc. Systems and methods for remote presence
CN103853043B (zh) * 2012-11-30 2017-02-22 北京配天技术有限公司 机器人中实现同步ptp运动的方法及装置
US9733638B2 (en) 2013-04-05 2017-08-15 Symbotic, LLC Automated storage and retrieval system and control system thereof
TWI684229B (zh) 2013-07-08 2020-02-01 美商布魯克斯自動機械公司 具有即時基板定心的處理裝置
TWI709185B (zh) 2013-08-26 2020-11-01 美商布魯克斯自動機械公司 基板搬運裝置
EP2845696B1 (de) * 2013-09-10 2017-05-17 Siemens Aktiengesellschaft Bearbeitungsmaschine mit redundanten Achsen und Auflösung der Redundanz in Echtzeit
KR20220000416A (ko) 2013-11-13 2022-01-03 브룩스 오토메이션 인코퍼레이티드 브러쉬리스 전기 기계 제어 방법 및 장치
TWI793401B (zh) 2013-11-13 2023-02-21 美商布魯克斯自動機械美國公司 運送設備
US9948155B2 (en) 2013-11-13 2018-04-17 Brooks Automation, Inc. Sealed robot drive
TWI695447B (zh) 2013-11-13 2020-06-01 布魯克斯自動機械公司 運送設備
TWI742414B (zh) * 2013-11-13 2021-10-11 美商布魯克斯自動機械公司 密封切換的磁阻馬達
KR102665385B1 (ko) 2013-11-13 2024-05-13 브룩스 오토메이션 인코퍼레이티드 밀봉된 스위치드 릴럭턴스 모터
JP6835589B2 (ja) * 2014-03-20 2021-02-24 フィッシャー−ローズマウント システムズ,インコーポレイテッド 制御ループにおけるコントローラ更新の低減、被制御デバイスを制御する方法、プロセス制御システム、プロセスコントローラ
EP3148904B1 (en) * 2014-06-02 2021-05-05 ATS Automation Tooling Systems Inc. System and method for controlling a moving element in a linear motor conveyor
GB2526810B (en) * 2014-06-03 2017-07-05 Canon Kk Method and apparatus for transmitting sensor data in a wireless network
EP3018544B1 (de) 2014-11-07 2018-02-21 Siemens Aktiengesellschaft Produktions- oder Werkzeugmaschine und Verfahren zum Betrieb einer Produktions- oder Werkzeugmaschine
US9505132B1 (en) * 2015-03-30 2016-11-29 X Development Llc Methods and systems for calibrating a sensor of a robotic device
KR20170132737A (ko) 2015-04-02 2017-12-04 아지토 모션 시스템즈 엘티디 모션 관련 제어 시스템을 위한 중앙집중형 네트워크 연결된 토폴로지
US9563197B2 (en) 2015-05-04 2017-02-07 Bby Solutions, Inc. Random-access robotic inventory dispensary: multi-pick fulfillment
US9821464B2 (en) 2015-05-04 2017-11-21 Bby Solutions, Inc. Random-access robotic inventory dispensary: operation prioritization
US9790028B2 (en) 2015-05-04 2017-10-17 Bby Solutions, Inc. Random-access robotic inventory dispensary: variable bin height
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
JP6918770B2 (ja) 2015-07-13 2021-08-11 ブルックス オートメーション インコーポレイテッド オンザフライ方式の自動ウェハセンタリング方法および装置
JP6908585B2 (ja) 2015-07-13 2021-07-28 ブルックス オートメーション インコーポレイテッド 基板搬送装置
US10350766B2 (en) * 2015-09-21 2019-07-16 GM Global Technology Operations LLC Extended-reach assist device for performing assembly tasks
CN105320135B (zh) * 2015-11-05 2018-10-02 北京特种机械研究所 一种气垫悬浮运输车多车协同无线遥控装置
CN105388874A (zh) * 2015-12-16 2016-03-09 四川迅吉科技有限责任公司 一种基于互联网的车间远程控制系统
CN105507735A (zh) * 2016-01-13 2016-04-20 徐州大亚智能科技有限公司 一种基于lan网络控制技术型窗控器系统
DE102016201077A1 (de) * 2016-01-26 2017-07-27 Wago Verwaltungsgesellschaft Mbh Modul für eine technische Anlage und Verfahren zur Steuerung einer technischen Anlage
US10580681B2 (en) * 2016-07-10 2020-03-03 Yaskawa America Inc. Robotic apparatus and method for transport of a workpiece
CN106227097B (zh) * 2016-08-25 2018-11-30 常州市翔云智能控制系统有限公司 多总线多轴运动控制器
JP6925794B2 (ja) * 2016-09-02 2021-08-25 株式会社安川電機 コントローラ、作業制御装置、多軸動作制御装置、及び駆動制御装置
US10607879B2 (en) 2016-09-08 2020-03-31 Brooks Automation, Inc. Substrate processing apparatus
EP3418834B1 (en) * 2017-06-21 2021-08-18 EWAB Engineering AB Conveyor system method of operating a conveyor system and flow devices for use in such conveyor system
US10903107B2 (en) 2017-07-11 2021-01-26 Brooks Automation, Inc. Semiconductor process transport apparatus comprising an adapter pendant
US10754320B2 (en) * 2017-11-14 2020-08-25 Rockwell Automation Technologies, Inc. Method and apparatus for integrating an external motion planner with an industrial controller
US10721170B2 (en) * 2018-01-29 2020-07-21 Walmart Apollo, Llc Multi-dimensional event engine for use in cloud environment with highly available network topology
US11088004B2 (en) 2018-01-30 2021-08-10 Brooks Automation, Inc. Automatic wafer centering method and apparatus
CN111971526B (zh) * 2018-02-28 2022-07-29 德弗里茨自动化股份有限公司 计量系统
US11574830B2 (en) 2018-03-16 2023-02-07 Brooks Automation Us, Llc Substrate transport apparatus
TWI671630B (zh) * 2018-05-16 2019-09-11 台灣積體電路製造股份有限公司 半導體製造機台的狀況監控方法及半導體製造系統
WO2019233545A1 (en) * 2018-06-04 2019-12-12 Telefonaktiebolaget Lm Ericsson (Publ) Technique for wirelessly controlling a robotic device
JP7133424B2 (ja) * 2018-10-05 2022-09-08 東京エレクトロン株式会社 基板処理装置、及び基板処理方法、及び記憶媒体
US11433534B2 (en) 2019-03-07 2022-09-06 Abb Schweiz Ag Robotic arm including edge computer and cabling arrangement facilitating flexible function advanced distal arm end tooling
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
CN113021330B (zh) * 2019-12-24 2022-04-05 沈阳智能机器人创新中心有限公司 一种分布式网络下的多机器人同步随动控制方法
CN110937563B (zh) * 2019-12-25 2022-02-22 湛江港石化码头有限责任公司 一种输油臂遥控装置的改造方法
US20210237269A1 (en) * 2020-02-05 2021-08-05 Plus One Robotics, Inc. Intervention systems and methods for robotic picking systems
US20230166403A1 (en) * 2020-04-24 2023-06-01 Abb Schweiz Ag An industrial robot system
US11691283B2 (en) * 2020-05-27 2023-07-04 Intrinsic Innovation Llc Robot control parameter interpolation
JP2022012905A (ja) 2020-07-02 2022-01-17 キオクシア株式会社 メモリシステム及び半導体装置の特性情報の管理方法
WO2022020463A1 (en) * 2020-07-22 2022-01-27 Flexxbotics Mesh network of reconfigurable robots
DE102020007794B3 (de) * 2020-12-19 2022-04-07 Günther Zimmer Handhabungssystem mit externer Steuerbaugruppe
EP4184265A1 (en) * 2021-11-22 2023-05-24 ATS Automation Tooling Systems Inc. System and method for managing automation systems with synchronous elements
CN114563953B (zh) * 2022-01-31 2023-05-09 四川大学 兼顾多因素影响的轮式机器人自适应容错可靠控制系统及方法

Family Cites Families (156)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699317A (en) * 1970-05-22 1972-10-17 Westinghouse Electric Corp Sampled data numerical contouring machine controller apparatus and method providable with on line capability for contour cornering deceleration and acceleration
US3843875A (en) * 1973-03-07 1974-10-22 Remington Arms Co Inc Numerical control checkering system
US4047003A (en) * 1975-04-22 1977-09-06 Continental Can Company, Inc. Communication control system
GB1583545A (en) * 1976-08-04 1981-01-28 Martin Sanchez J Control systems
US4484287A (en) * 1980-09-30 1984-11-20 Fujitsu Fanuc Limited System for restoring numerically controlled machine tool to former condition
JPS57113111A (en) * 1980-12-30 1982-07-14 Fanuc Ltd Robot control system
US4398720A (en) * 1981-01-05 1983-08-16 California R & D Center Robot computer chess game
FR2520523A1 (fr) * 1982-01-27 1983-07-29 Commissariat Energie Atomique Structure de commande analogique pour boucles d'asservissement de la position en rotation d'un moteur a charge inertielle variable
JPS58151885A (ja) * 1982-03-03 1983-09-09 Hitachi Ltd モ−タの位置制御方法
US4456961A (en) * 1982-03-05 1984-06-26 Texas Instruments Incorporated Apparatus for teaching and transforming noncoincident coordinate systems
US4514814A (en) * 1982-09-07 1985-04-30 General Electric Company Multi-processor axis control
US4734866A (en) * 1984-07-05 1988-03-29 Siemens Aktiengesellschaft Computer controller for an industrial multiaxis robot
US4691694A (en) * 1984-11-29 1987-09-08 Biodex Corporation Muscle exercise and rehabilitation apparatus
JPS62126883A (ja) * 1985-11-27 1987-06-09 Fanuc Ltd 速度制御方式
US4975856A (en) * 1986-02-18 1990-12-04 Robotics Research Corporation Motion controller for redundant or nonredundant linkages
US4745857A (en) * 1986-02-28 1988-05-24 Markem Corporation Programmable pad printing apparatus and method
US4727303A (en) * 1986-05-22 1988-02-23 Gmf Robotics Corporation Positional control method and system utilizing same
US4837704A (en) * 1986-09-10 1989-06-06 International Business Machines Corporation Computer controlled material handling
US4864492A (en) * 1986-09-17 1989-09-05 International Business Machines Corporation System and method for network configuration
US4864204A (en) * 1986-11-20 1989-09-05 Westinghouse Electric Corp. Multiprocessor torque servo control for multiaxis digital robot control system
US4962338A (en) * 1986-11-20 1990-10-09 Staubli International Ag. Universal robot control board configuration
US4773025A (en) * 1986-11-20 1988-09-20 Unimation, Inc. Multiaxis robot control having curve fitted path control
US4756204A (en) * 1987-02-11 1988-07-12 Cincinnati Milacron Inc. Counterbalance assembly for rotatable robotic arm and the like
US4804170A (en) * 1987-02-11 1989-02-14 Cincinnati Milacron Inc. Counterbalance assembly for rotatable robotic arm and the like
US4887014A (en) * 1987-02-16 1989-12-12 Mitsubishi Denki Kabushiki Kaisha Industrial robot control device
JPH01116704A (ja) * 1987-10-30 1989-05-09 Fanuc Ltd 産業ロボットの動作制御方式
US4879644A (en) * 1987-12-30 1989-11-07 The Boeing Company Object positioning apparatus and method
DE68923889T2 (de) * 1988-03-01 1996-01-18 Hitachi Construction Machinery Positions-/Kraft-Steuerungsgerät für Werkzeugmaschinen mit mehreren Freiheitsgraden.
US4925312A (en) * 1988-03-21 1990-05-15 Staubli International Ag Robot control system having adaptive feedforward torque control for improved accuracy
US5038089A (en) * 1988-03-23 1991-08-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronized computational architecture for generalized bilateral control of robot arms
US5019968A (en) * 1988-03-29 1991-05-28 Yulan Wang Three-dimensional vector processor
US5025385A (en) * 1988-04-15 1991-06-18 Froyd Stanley G Multiple axis motion control system
US5229931A (en) * 1988-09-21 1993-07-20 Honda Giken Kogyo Kabushiki Kaisha Nut runner control system and method of monitoring nut runners
US5001646A (en) * 1988-12-19 1991-03-19 Mcdonnell Douglas Corporation Automated helicopter flight control system
JPH02256483A (ja) * 1989-03-29 1990-10-17 Kobe Steel Ltd 産業用ロボットの速度制御装置
US5150288A (en) * 1989-12-18 1992-09-22 Honda Giken Kogyo Kabushiki Kaisha Production management system and method of transmitting data
US4999553A (en) * 1989-12-28 1991-03-12 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Method and apparatus for configuration control of redundant robots
US4967126A (en) * 1990-01-30 1990-10-30 Ford Aerospace Corporation Method of controlling a seven degree of freedom manipulator arm
US5086401A (en) * 1990-05-11 1992-02-04 International Business Machines Corporation Image-directed robotic system for precise robotic surgery including redundant consistency checking
DE69123636T2 (de) * 1990-05-17 1997-04-17 Fujitsu Ltd Such-Positionierungssystem für Scheibengerät
US5144549A (en) * 1990-06-29 1992-09-01 Massachusetts Institute Of Technology Time delay controlled processes
US5179514A (en) * 1990-08-08 1993-01-12 The Research Foundation Of State University Of New York Method and apparatus for trajectory control of robot manipulators or the like
DE4111023C2 (de) * 1991-04-05 2003-11-20 Bosch Gmbh Robert Elektronisches System für ein Fahrzeug
GB2256290B (en) * 1991-05-27 1994-07-20 Honda Motor Co Ltd Servomotor control system for multi-axes
US5214749A (en) * 1991-06-12 1993-05-25 Massachusetts Institute Of Technology Dynamic control of a robot with its center of mass decoupled from an end effector by a redundant linkage
DE69212746T2 (de) * 1991-09-03 1997-01-30 Shibuya Kogyo Co Ltd Vorrichtung zur automatischen Änderung eines Systems zur Behandlung von Gegenständen
US5245263A (en) * 1991-09-13 1993-09-14 University Of Maryland Anti-backlash drive systems for multi-degree freedom devices
JP3168682B2 (ja) * 1992-04-27 2001-05-21 ソニー株式会社 数値制御装置
US5331881A (en) * 1992-05-19 1994-07-26 United Technologies Corporation Helicopter integrated fire and flight control having azimuth and pitch control
US5263662A (en) * 1992-05-19 1993-11-23 United Technologies Corporation Helicopter integrated fire and flight control system having turn coordination control
JPH0635527A (ja) * 1992-07-17 1994-02-10 Nitto Seiko Co Ltd 軌道追従停止制御装置
US5414633A (en) * 1992-12-21 1995-05-09 Industrial Technology Research Institute Path control method of tool withdrawal and resumption in CNC
JP2576762B2 (ja) * 1993-06-30 1997-01-29 日本電気株式会社 リング網のノード間情報収集方式
US5420485A (en) * 1993-08-20 1995-05-30 Forcam Inc. Uncoordinated machine initialization system and method
US5456256A (en) * 1993-11-04 1995-10-10 Ultra-Scan Corporation High resolution ultrasonic imaging apparatus and method
US5465212A (en) * 1993-12-23 1995-11-07 United Technologies Corporation Helicopter integrated fire and flight control having a pre-launch and post-launch maneuver director
US5438746A (en) * 1994-01-13 1995-08-08 Ethicon, Inc. Needle threading and swaging system
DE19511452A1 (de) * 1994-03-29 1995-10-05 Mazda Motor Steuerungssystem für Fertigungsanlagen
JP3528934B2 (ja) * 1994-03-29 2004-05-24 マツダ株式会社 生産設備制御装置
US7106843B1 (en) * 1994-04-19 2006-09-12 T-Netix, Inc. Computer-based method and apparatus for controlling, monitoring, recording and reporting telephone access
JPH08137524A (ja) * 1994-11-09 1996-05-31 Fanuc Ltd ロボットの軌道計画時における時定数の設定方法
JP3681431B2 (ja) 1995-02-21 2005-08-10 ファナック株式会社 直交座標系上で柔らかさが調節可能なサーボ系
GB2337837B (en) * 1995-02-23 2000-01-19 Sony Uk Ltd Data processing systems
US5684375A (en) * 1995-06-20 1997-11-04 Allen-Bradley Company, Inc. Method and apparatus for tuning a motion control system
US5784542A (en) * 1995-09-07 1998-07-21 California Institute Of Technology Decoupled six degree-of-freedom teleoperated robot system
US6076124A (en) * 1995-10-10 2000-06-13 The Foxboro Company Distributed control system including a compact easily-extensible and serviceable field controller
US5789890A (en) * 1996-03-22 1998-08-04 Genmark Automation Robot having multiple degrees of freedom
US5956465A (en) * 1996-04-04 1999-09-21 Nissan Motor Co., Ltd. Production facility with automatic movable body for man-machine cooperation
JPH1039906A (ja) * 1996-05-10 1998-02-13 Canon Inc ラインの制御方法とその装置及びラインシステム
JPH1020922A (ja) 1996-07-05 1998-01-23 Seiko Epson Corp ロボットコントローラおよびそのプログラム更新方法
JP3317156B2 (ja) * 1996-09-18 2002-08-26 三菱電機株式会社 リモートplc装置を備えた数値制御装置
JP4390858B2 (ja) * 1996-10-04 2009-12-24 フィッシャー コントロールズ インターナショナル リミテッド ライアビリティー カンパニー 分散型制御機能を有するプロセス制御ネットワークをデバッグし、チューニングする方法および機器
JPH10198408A (ja) 1997-01-08 1998-07-31 Kokusai Electric Co Ltd 処理命令実行装置
JPH10235580A (ja) * 1997-02-26 1998-09-08 Seiko Seiki Co Ltd 位置・力目標軌道生成器
US6266721B1 (en) * 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
US6016385A (en) * 1997-08-11 2000-01-18 Fanu America Corp Real time remotely controlled robot
DE19735319A1 (de) * 1997-08-14 1999-02-18 Bayerische Motoren Werke Ag Elektronisches Steuergerät
US6002184A (en) * 1997-09-17 1999-12-14 Coactive Drive Corporation Actuator with opposing repulsive magnetic forces
US6119052A (en) * 1998-03-02 2000-09-12 Xerox Corporation Market-based control system for controlling object motion with smart matter
US7269475B1 (en) * 1998-03-02 2007-09-11 Xerox Corporation Distributed control system with global contraints for controlling object motion with smart matter
US6027112A (en) * 1998-03-02 2000-02-22 Xerox Corporation Adaptive multiagent control system for controlling object motion with smart matter
US6039316A (en) * 1998-03-02 2000-03-21 Xerox Corporation Multi-hierarchical control system for controlling object motion with smart matter
CA2273729A1 (en) * 1998-07-14 2000-01-14 Bayer Corporation Robotics for transporting containers and objects within an automated analytical instrument and service tool for servicing robotics
JP2000073238A (ja) 1998-08-27 2000-03-07 Toyota Autom Loom Works Ltd 紡機における通信方法及び通信制御装置
US6734581B1 (en) * 1998-10-28 2004-05-11 Eigenpoint Company Programmable emergency-stop circuit with testing
US6240335B1 (en) * 1998-12-14 2001-05-29 Palo Alto Technologies, Inc. Distributed control system architecture and method for a material transport system
US6028410A (en) * 1999-01-11 2000-02-22 Stratasys, Inc. Resonance detection and resolution
US6278906B1 (en) * 1999-01-29 2001-08-21 Georgia Tech Research Corporation Uncalibrated dynamic mechanical system controller
US6662076B1 (en) * 1999-02-10 2003-12-09 Advanced Micro Devices, Inc. Management of move requests from a factory system to an automated material handling system
US6317651B1 (en) * 1999-03-26 2001-11-13 Kuka Development Laboratories, Inc. Trajectory generation system
JP3212571B2 (ja) * 1999-03-26 2001-09-25 ファナック株式会社 産業用ロボット
US6095741A (en) * 1999-03-29 2000-08-01 Lam Research Corporation Dual sided slot valve and method for implementing the same
US6662673B1 (en) * 1999-04-08 2003-12-16 Applied Materials, Inc. Linear motion apparatus and associated method
US6470225B1 (en) * 1999-04-16 2002-10-22 Siemens Energy & Automation, Inc. Method and apparatus for automatically tuning feedforward parameters
US6330483B1 (en) * 1999-05-07 2001-12-11 The Boeing Company Optimal control system
US6246929B1 (en) * 1999-06-16 2001-06-12 Lockheed Martin Corporation Enhanced stall and recovery control system
US6278907B1 (en) * 1999-11-24 2001-08-21 Xerox Corporation Apparatus and method of distributing object handling
US6308110B1 (en) * 1999-11-24 2001-10-23 Xerox Corporation Apparatus and method of distributed object handling
US6577925B1 (en) * 1999-11-24 2003-06-10 Xerox Corporation Apparatus and method of distributed object handling
JP3791663B2 (ja) * 2000-01-17 2006-06-28 富士電機ホールディングス株式会社 全方向移動車両とその制御方法
US6654648B2 (en) * 2000-04-03 2003-11-25 Toyota Jidosha Kabushiki Kaisha Technique of monitoring abnormality in plurality of CPUs or controllers
JP3421689B2 (ja) * 2000-04-06 2003-06-30 伊東電機株式会社 ローラコンベアのゾーン制御方法並びにゾーンコントローラ
JP3504222B2 (ja) * 2000-09-04 2004-03-08 ファナック株式会社 ロボット制御装置
DE10047924B4 (de) * 2000-09-27 2004-08-05 Siemens Ag Antriebsregelung sowie Verfahren zur Vernetzung einer Regelungseinheit mit einem oder mehreren Gebersystemen
US6708239B1 (en) * 2000-12-08 2004-03-16 The Boeing Company Network device interface for digitally interfacing data channels to a controller via a network
US20020164242A1 (en) * 2001-01-26 2002-11-07 Brian Wehrung Control system for transfer and buffering
US7024257B2 (en) * 2001-02-09 2006-04-04 Motion Engineering, Inc. System for motion control, method of using the system for motion control, and computer-readable instructions for use with the system for motion control
SE0100974D0 (sv) * 2001-03-20 2001-03-20 Abb Ab Termisk optimeringsmetod
US7043309B2 (en) * 2001-04-06 2006-05-09 Xerox Corporation Distributed actuation allocation for large assemblies of implementation units
JP3726032B2 (ja) * 2001-04-27 2005-12-14 本田技研工業株式会社 脚式移動ロボットの目標運動生成装置
US20030028275A1 (en) * 2001-05-01 2003-02-06 Xerox Corporation Incremental distributed actuation for large assemblies of implementation units
JP4694715B2 (ja) * 2001-05-09 2011-06-08 富士機械製造株式会社 電気部品装着ライン
US7148635B1 (en) * 2005-09-21 2006-12-12 Rockwell Automation Technologies, Inc. Motor drive with synchronized timing
US6598859B1 (en) * 2001-05-31 2003-07-29 Magnetek, Inc. Multiple hoist synchronization apparatus and method
CA2449963A1 (en) * 2001-06-07 2002-12-12 David W. Zeitler Tiered control architecture for material handling
US6873882B2 (en) * 2001-06-20 2005-03-29 Itoh Electric Company Limited Zone controller
US7603033B1 (en) * 2001-06-28 2009-10-13 Netapp, Inc. Fault tolerant optical data communication network
US6548977B2 (en) * 2001-07-12 2003-04-15 Seiberco Incorporated Motor tracking control system
WO2003007129A2 (en) * 2001-07-13 2003-01-23 Broks Automation, Inc. Trajectory planning and motion control strategies for a planar three-degree-of-freedom robotic arm
JP3616759B2 (ja) * 2001-10-19 2005-02-02 ファナック株式会社 重力軸の落下を防止するサーボモータ制御装置
US6702255B2 (en) * 2001-11-08 2004-03-09 Edwards Lifesciences Corporation H-shape duckbill hemostasis valve assembly including guide wire seal
US7028183B2 (en) * 2001-11-13 2006-04-11 Symantec Corporation Enabling secure communication in a clustered or distributed architecture
EP1473122B1 (en) * 2001-12-28 2010-10-13 Honda Giken Kogyo Kabushiki Kaisha Gait generation device for legged mobile robot
ATE327039T1 (de) * 2002-01-25 2006-06-15 Thermo Crs Ltd Modulares robotsystem für probenuntersuchungen
US6757583B2 (en) * 2002-06-27 2004-06-29 Joe Giamona Interpolated motion control over a serial network
KR100462612B1 (ko) * 2002-07-06 2004-12-20 삼성전자주식회사 직류 모터 제어 방법 및 장치
US6845282B2 (en) * 2002-09-04 2005-01-18 The Procter & Gamble Company Method of controlling tension in a web
US6871115B2 (en) * 2002-10-11 2005-03-22 Taiwan Semiconductor Manufacturing Co., Ltd Method and apparatus for monitoring the operation of a wafer handling robot
US6828522B2 (en) * 2002-10-18 2004-12-07 Tol-O-Matic, Inc. Adaptable servo-control system for force/position actuation
US7319907B2 (en) * 2002-11-18 2008-01-15 International Remote Imaging Systems, Inc. Multi-level controller system
DE10255033A1 (de) * 2002-11-19 2004-06-09 Stama Maschinenfabrik Gmbh Werkzeugmaschine und Verfahren zum Betreiben einer solchen
AU2003301074A1 (en) * 2002-12-20 2004-07-22 Brooks Automation, Inc. System and method for on-the-fly eccentricity recognition
US7245989B2 (en) * 2002-12-20 2007-07-17 Brooks Automation, Inc. Three-degree-of-freedom parallel robot arm
US7163179B1 (en) 2003-02-14 2007-01-16 Taylor Thomas C Commercial service platform in space
JP2004280195A (ja) 2003-03-12 2004-10-07 Yaskawa Electric Corp ロボット制御装置
US6804580B1 (en) * 2003-04-03 2004-10-12 Kuka Roboter Gmbh Method and control system for controlling a plurality of robots
US7191061B2 (en) * 2003-04-17 2007-03-13 Battelle Energy Alliance, Llc Auto-steering apparatus and method
JP2004238783A (ja) 2003-04-30 2004-08-26 Misao Kikuchi スポーツ紙の紙面がプリントされた衣服の製造方法
JP4080405B2 (ja) * 2003-09-22 2008-04-23 大日本スクリーン製造株式会社 基板処理装置
US7146242B2 (en) * 2003-09-30 2006-12-05 Rockwell Automation Technologies, Inc. Method and system for generating multi-dimensional motion profiles
US7180253B2 (en) * 2003-09-30 2007-02-20 Rockwell Automation Technologies, Inc. Method and system for generating multi-dimensional motion profiles
JP2005246543A (ja) 2004-03-04 2005-09-15 Yaskawa Electric Corp ロボットシステム
JP4498061B2 (ja) * 2004-08-18 2010-07-07 株式会社ダイヘン 溶接ロボット制御装置
US7983769B2 (en) * 2004-11-23 2011-07-19 Rockwell Automation Technologies, Inc. Time stamped motion control network protocol that enables balanced single cycle timing and utilization of dynamic data structures
US7112939B2 (en) * 2004-12-07 2006-09-26 Electronics And Telecommunications Research Institute Mobile system and driving method thereof
US7149606B2 (en) * 2005-03-01 2006-12-12 Fanul Robotics America, Inc. Synchronizing controllers linked by a communications network
US20060241813A1 (en) * 2005-04-22 2006-10-26 Applied Materials, Inc. Optimized cluster tool transfer process and collision avoidance design
US7860609B2 (en) * 2005-05-06 2010-12-28 Fanuc Robotics America, Inc. Robot multi-arm control system
US7289867B1 (en) * 2005-06-08 2007-10-30 Advanced Micro Devices, Inc. Automated integrated circuit device manufacturing facility using distributed control
US7904182B2 (en) * 2005-06-08 2011-03-08 Brooks Automation, Inc. Scalable motion control system
JP2006088330A (ja) 2005-12-02 2006-04-06 Toshiba Corp ロボットコントローラ
KR20070075957A (ko) * 2006-01-17 2007-07-24 주식회사 로보스타 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템
GB2435939A (en) 2006-01-23 2007-09-12 John Phillip Chevalier Electronic control system for safety or security critical devices or systems in a vehicle
US8433448B2 (en) * 2006-05-30 2013-04-30 Rain Bird Corporation Same code base in irrigation control devices and related methods
US20070293989A1 (en) * 2006-06-14 2007-12-20 Deere & Company, A Delaware Corporation Multiple mode system with multiple controllers
US20080046121A1 (en) * 2006-08-17 2008-02-21 Innovati, Inc. Developing system of re-configurable modularized robot

Also Published As

Publication number Publication date
EP1913450A4 (en) 2010-03-31
US20200166913A1 (en) 2020-05-28
US20070010898A1 (en) 2007-01-11
US7904182B2 (en) 2011-03-08
EP2610694A3 (en) 2013-09-04
EP2980665A3 (en) 2016-04-20
US20110118855A1 (en) 2011-05-19
KR20080016942A (ko) 2008-02-22
WO2006133096A3 (en) 2007-05-03
KR101359541B1 (ko) 2014-02-07
CN101297249B (zh) 2012-06-20
WO2006133096A8 (en) 2008-04-24
TW200710618A (en) 2007-03-16
TWI447542B (zh) 2014-08-01
EP1913450A2 (en) 2008-04-23
EP2980665A2 (en) 2016-02-03
WO2006133096A2 (en) 2006-12-14
EP2610694A2 (en) 2013-07-03
US20160018816A1 (en) 2016-01-21
US9020617B2 (en) 2015-04-28
CN101297249A (zh) 2008-10-29
US10488851B2 (en) 2019-11-26
JP2008543578A (ja) 2008-12-04

Similar Documents

Publication Publication Date Title
JP5026413B2 (ja) 拡張可能な動作制御システム
KR101839772B1 (ko) 자동화 워크셀 제어 방법
JP5916716B2 (ja) 自動化作業セルを制御するための方法
US8751044B2 (en) Control system for controlling an industrial robot
EP1026560A1 (en) Robot controller and control method
US20090204695A1 (en) Automation network comprising network components that produce status messages
EP3684558A1 (en) Technique for providing reliable control in a cloud robotics system
Xu et al. Development of a decentralized multi-axis synchronous control approach for real-time networks
Stefano et al. IIoT based efficiency optimization in logistics applications
Farné et al. IIoT based efficiency monitoring of a Gantry robot
Benzi et al. IIoT-based Motion Control Efficiency in Automated Warehouses
US11431547B2 (en) Field bus-transmitted control instructions for field devices
CN113625572B (zh) 基于工业互联网的机械臂复合容错控制器系统
US20230166403A1 (en) An industrial robot system
Hosek Clustered-architecture motion control system utilizing IEEE 1394b communication network
Dahalan et al. Analysis of CAN-based 2-DOF SCARA robot performance under work control
Kimm Distributed event-triggered robot control system over controller area network
Zhang et al. Real-time Communication Based on MMS+ TCP/IP+ Ethernet for Embedded CNC
Masolkin et al. A unified solution for the NPP APCS diagnostics

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111108

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120522

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120620

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5026413

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250