(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-03-11
(54)【発明の名称】位置同期出力(PSO)制御手法を実現するためのシステム及び方法
(51)【国際特許分類】
G05D 3/12 20060101AFI20250304BHJP
【FI】
G05D3/12 305Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024548571
(86)(22)【出願日】2022-12-22
(85)【翻訳文提出日】2024-09-17
(86)【国際出願番号】 EP2022087519
(87)【国際公開番号】W WO2023156051
(87)【国際公開日】2023-08-24
(32)【優先日】2022-02-16
(33)【優先権主張国・地域又は機関】FR
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】524305777
【氏名又は名称】ミクロ-コントロール スペクトラ-フィジクス
(74)【代理人】
【識別番号】100109896
【氏名又は名称】森 友宏
(72)【発明者】
【氏名】アーレンス,クリストフ
(72)【発明者】
【氏名】ファーマー,トム
【テーマコード(参考)】
5H303
【Fターム(参考)】
5H303AA01
5H303AA04
5H303CC01
5H303DD01
5H303FF03
5H303HH01
(57)【要約】
デバイス(202)とワークピースとの間の空間的関係であって、少なくとも1つのアクチュエータ(204)を用いて調整可能な空間的関係に基づいて前記ワークピースに対して動作を行うことが可能なデバイスを制御するための制御システム(200)は、デバイスと通信可能に連結されるプライマリノードコントローラ(206’)と、プライマリノードコントローラ(206’)と通信可能に連結される少なくとも1つのセカンダリノードコントローラ(206”)とを含む。それぞれのセカンダリノードコントローラ(206”)は、少なくとも1つのアクチュエータ(204)のうちのあるアクチュエータに関連付けられた機械的負荷の位置を表すエンコーダフィードバックをアクチュエータ(204)から受信し、エンコーダフィードバックに対してデータ圧縮アルゴリズムを行ってエンコーダフィードバックをエンコードし、エンコーダフィードバックを表すデータパケットを生成し、データパケットを送信するように適応される。プライマリノードコントローラ(206’)は、データパケットを受信及びデコードし、前記デコードされたデータパケットに基づいてデバイスの動作を制御可能である。
【選択図】
図2
【特許請求の範囲】
【請求項1】
デバイス(202)とワークピースとの間の空間的関係であって、少なくとも1つのアクチュエータ(204)を用いて調整可能な空間的関係に基づいて前記ワークピースに対して動作を行うことが可能な前記デバイスを制御するための制御システム(200)であって、
前記デバイスと通信可能に連結されるプライマリノードコントローラ(206’)であって、前記デバイスの動作を制御するように適応されるプライマリノードコントローラ(206’)と、
前記プライマリノードコントローラ(206’)と通信可能に連結される少なくとも1つのセカンダリノードコントローラ(206”)と
を備え、前記少なくとも1つのセカンダリノードコントローラ(206”)は、
前記少なくとも1つのアクチュエータ(204)のうちのあるアクチュエータに関連付けられた機械的負荷の位置を表すエンコーダフィードバックを前記アクチュエータ(204)から受信し、
前記エンコーダフィードバックに対してデータ圧縮アルゴリズムを行って前記エンコーダフィードバックをエンコードし、
前記エンコーダフィードバックを表すデータパケットを生成し、
前記データパケットを送信する
ように適応され、
前記プライマリノードコントローラ(206’)は、
前記データパケットを受信し、
前記データパケットをデコードし、
前記デコードされたデータパケットに少なくとも部分的に基づいて前記デバイスの動作を制御する
ようにさらに適応される、
制御システム。
【請求項2】
前記デバイス(202)をさらに備える、請求項1に記載の制御システム。
【請求項3】
前記デバイス(202)は、レーザ及びセンサからなる群から選択される少なくとも1つを含む、請求項2に記載の制御システム。
【請求項4】
前記少なくとも1つのアクチュエータ(204)をさらに備える、請求項1に記載の制御システム。
【請求項5】
前記少なくとも1つのアクチュエータ(204)は、リニアアクチュエータを含む、請求項4に記載の制御システム。
【請求項6】
前記少なくとも1つのアクチュエータ(204)は、前記ワークピースと機械的に連結される、請求項4に記載の制御システム。
【請求項7】
複数のセカンダリノードコントローラ(206”)をさらに備える、請求項1に記載の制御システム。
【請求項8】
複数のアクチュエータ(204)をさらに備える、請求項7に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
発明の技術領域
本発明の実施形態は、位置同期出力(PSO)を伴う制御手法を実現するためのシステム及び方法に関するものである。
【背景技術】
【0002】
技術的背景
PSO手法は、(例えばサーボモータにより駆動される)1以上のアクチュエータのフィードバック位置に同期するPSOトリガ信号を生成する運動制御システムとともに使用される。PSOトリガ信号は、典型的には、レーザにレーザパルスを出射させる(又は他のデバイスを作動させる)ためのトリガとして使用される。サーボモータは、典型的には、ロータリ求積エンコーダ(すなわちインクリメンタルエンコーダの1種)のような位置フィードバック機構を含んでおり、このロータリ求積エンコーダは、インデックスパルスが加えられた、サーボモータに関連付けられたモータ整流信号をエミュレートする求積フィードバック信号を生成する。例えば、
図1を参照されたい。
図1では、波形OUTA及びOUTBはエミュレートされたモータ整流信号を表しており、波形OUTZはインデックスパルスを表している。求積フィードバック信号は、サーボドライバに出力され、サーボドライバは、OUTA波形、OUTB波形及びOUTZ波形を処理してエンコーダのエンコーダ軸の位置を決定する。サーボドライバは、基準位置(典型的には起動時に決定される「ホーム」ポジション)に対するエンコーダ軸の位置を表す一意なマルチビットワードのデータ(典型的には少なくとも28ビットからなり、「位置データ単位」とも呼ばれる)を生成する。サーボドライバは、この位置データ単位を、位置フィードバック信号に埋め込まれた位置データパケットとして、PSO手法を実現するように適応された運動コントローラに送信する。
【0003】
サーボドライバ内の回路は、位置データ信号を生成及び送信可能な早さを制限する最大周波数応答を有している。周波数応答は、アプリケーションの速度と組み合わされる場合には、特定の運動システム及びエンコーダに対して得ることが可能な分解能に対して実用上の上限を課す。この場合において、サーボドライバの最大周波数応答は、(例えばm/sで測定される)サーボモータ速度を(例えばnmで測定される)エンコーダ分解能で割ったものに比例する。このため、PSO手法を用いる特定のアプリケーション(本明細書では「PSOアプリケーション」ともいう)については、サーボドライバの最大周波数応答を超えないことを保証するためにサーボモータ速度とエンコーダ分解能との間で妥協をしなければならない。そうしなければ、位置誤差と位置フィードバック信号の劣化が生じる。しかしながら、(例えばレーザ加工を伴う)あるPSOアプリケーションは、高いサーボモータ速度及び高いエンコーダ分解能によって利益を得るであろうが、従来の方法で得られるものよりも高速で位置データ信号を生成可能なサーボドライバが必要となる。
【発明の概要】
【0004】
発明の概要
本明細書で述べられる一実施形態は、概して、デバイスとワークピースとの間の空間的関係であって、少なくとも1つのアクチュエータを用いて調整可能な空間的関係に基づいて上記ワークピースに対して動作を行うことが可能な上記デバイスを制御するための制御システムであって、上記デバイスと通信可能に連結されるプライマリノードコントローラであって、上記デバイスの動作を制御するように適応されるプライマリノードコントローラと、上記プライマリノードコントローラと通信可能に連結される少なくとも1つのセカンダリノードコントローラとを備える制御システムとして述べられ得る。本発明の実施形態によれば、少なくとも1つのセカンダリノードコントローラ(又はそれぞれのセカンダリノードコントローラ)は、上記少なくとも1つのアクチュエータのうちのあるアクチュエータに関連付けられた機械的負荷の位置を表すエンコーダフィードバックを上記アクチュエータから受信し、上記エンコーダフィードバックに対してデータ圧縮アルゴリズムを行って上記エンコーダフィードバックをエンコードし、上記エンコーダフィードバックを表すデータパケットを生成し、上記データパケットを送信するように適応される。本発明の実施形態によれば、上記プライマリノードコントローラは、上記データパケットを受信し、上記データパケットをデコードし、上記デコードされたデータパケットに少なくとも部分的に基づいて上記デバイスの動作を制御するようにさらに適応される。
【0005】
本発明の実施形態によれば、上記制御システムは上記デバイスをさらに備える。
【0006】
本発明の実施形態によれば、上記デバイスは、レーザ及びセンサからなる群から選択される少なくとも1つを含む。
【0007】
本発明の実施形態によれば、上記制御システムは、上記少なくとも1つのアクチュエータをさらに備える。
【0008】
本発明の実施形態によれば、上記少なくとも1つのアクチュエータは、リニアアクチュエータを含む。
【0009】
本発明の実施形態によれば、上記少なくとも1つのアクチュエータは、上記ワークピースと機械的に連結される。
【0010】
本発明の実施形態によれば、上記制御システムは、複数のセカンダリノードコントローラをさらに備える。
【0011】
本発明の実施形態によれば、上記制御システムは、複数のアクチュエータをさらに備える。
【図面の簡単な説明】
【0012】
図面の簡単な説明
【
図1】
図1は、求積エンコーダ用のエミュレートされたモータ整流信号の波形を示すチャートである。
【
図2】
図2は、本発明のある実施形態によるワークピース加工制御システムを模式的に示すものである。
【
図3】
図3は、本発明のある実施形態による、PSOアプリケーションを実行可能な例示的プロセスを示す要素横断フローチャートである。
【
図4】
図4は、一実施形態による、特に、位置フィードバック信号により伝達されるハイブリッド位置データパケットの情報内容を説明するタイミングチャートである。
【
図5】
図5は、一実施形態による、通信リンクの様々なライン上で送信される信号を同期可能な方法を説明するタイミングチャートである。
【
図6】
図6は、一実施形態による、セカンダリノードコントローラに対応するアクチュエータの位置を決定し得る例示的プロセスを示すフローチャートである。
【発明を実施するための形態】
【0013】
発明の詳細な説明
以下、添付図面を参照しつつ実施形態の例を説明する。明示的に述べている場合を除き、図面においては、構成要素、特徴、要素などのサイズや位置などやそれらの間の距離は、必ずしも縮尺通りではなく、また理解しやすいように誇張されている。
【0014】
明細書において使用される用語は、特定の例示的な実施形態を説明するためだけのものであり、限定を意図しているものではない。本明細書で使用される場合には、内容が明確にそうではないことを示している場合を除き、単数形は複数形を含むことを意図している。さらに、「備える」及び/又は「備えている」という用語は、本明細書で使用されている場合には、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を特定するものであるが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそのグループの存在又は追加を排除するものではないことを理解すべきである。そうでないと特定されている場合を除いて、値の範囲が記載されている場合には、その範囲は、当該範囲の上限及び下限の両方とともにこれらの間の任意のサブレンジを含んでいる。特に示している場合を除き、「第1」や「第2」などの用語は、要素を互いに区別するために使用されているだけである。例えば、あるノードを「第1のノード」と呼ぶことができ、同様に別のノードを「第2のノード」と呼ぶことができ、あるいはこれと逆にすることもできる。本明細書において使用されるセクション見出しは、整理のためだけのものであり、述べられた主題を限定するものと解釈すべきではない。
【0015】
そうでないと示されている場合を除いて、「約」、「およそ」などの用語は、その量、サイズ、組成、パラメータ、及び他の量及び特性が一致しておらず、また一致する必要がなく、必要に応じて、許容範囲、換算係数、端数計算、測定誤差など、及び当業者に知られている他のファクタを反映して近似され、さらに/あるいはこれよりも大きく又は小さくなり得ることを意味している。
【0016】
特に示されている場合を除き、「下方」、「下」、「下側」、「上方」、及び「上側」などの空間的に相対的な用語は、本明細書では、図に示されるような、ある要素又は特徴の他の要素又は特徴に対する関係を述べる際に説明を容易にするために使用され得るものである。空間的に相対的な用語は、図において示されている方位に加えて異なる方位を含むことを意図するものであることは理解すべきである。例えば、他の要素又は特徴の「下方」又は「下」にあるとして説明される要素は、図中の対象物が反転した場合には、他の要素又は特徴の「上方」を向くことになる。このように、「下方」という例示的な用語は、上方及び下方の方位の双方を含み得るものである。対象物が他の方位を向く場合(例えば90度回転される場合や他の方位にある場合)には、本明細書において使用される空間的に相対的な記述子はこれに応じて解釈され得る。
【0017】
図面を通して同様の数字は同様の要素を意味している。このため、同一又は類似の数字は、対応する図面で言及又は説明されていない場合であっても、他の図面を参照して述べられることがある。また、参照番号の付されていない要素であっても、他の図面を参照して述べられることがある。
【0018】
本開示の精神及び教示を逸脱することなく、多くの異なる形態及び実施形態が考えられ、本開示を本明細書で述べた実施形態の例に限定して解釈すべきではないことは理解できよう。むしろ、これらの例及び実施形態は、本開示が完全かつすべてを含むものであって、本開示の範囲を当業者に十分に伝えるように提供されるものである。
【0019】
I.概してワークピース加工システムに関する実施形態
図2は、本発明のある実施形態によるワークピース加工制御システムを模式的に示すものである。
【0020】
図2を参照すると、システム200のようなワークピース加工システムは、位置同期出力(PSO)アプリケーションを実行するように構成され、これにより、ツール(又はデバイス)202の動作が、1以上のアクチュエータ204a,204b,204c,204n(本明細書では、包括的にまとめて「アクチュエータ」又は「アクチュエータ」204ともいう)のフィードバック位置に基づいて制御される。
【0021】
ツール202は、レーザ、光シャッタ、カメラ、センサ、超音波変換器などとして設けられ得る。したがって、ツール202が実行し得るように構成される動作は、(例えばツールがレーザである場合に)レーザパルスを出射すること、(例えばツールが光シャッタである場合に)光を透過させること、(例えばツールがカメラである場合に)画像を取得すること、(例えばツールがセンサである場合に)データを取得すること、(例えばツールが超音波変換器である場合に)非破壊検査をトリガすることなどを含み得る。
【0022】
概して、アクチュエータ204は、ワークピースに対してツール202を移動するか、あるいはツール202に対してワークピースを移動することができる。このため、アクチュエータ204が、ワークピース又はツールを移動可能な電動ステージ、ボイスコイルステージ、圧電ステージなどとして設けられていてもよい。そのようなステージの具体例としては、直動ステージ、回転ステージ、ヘキサポッドプラットフォームなどが挙げられる。ツール202がレーザである場合、アクチュエータ204は、レーザパルスがそれに沿って伝搬可能な経路(本明細書では「伝搬経路」ともいう)を変更することができる。この場合において、アクチュエータ204は、ガルバノメータミラー(「ガルボ」としても知られる)、ポリゴンミラーなどとして設けられていてもよい。本明細書で述べられる実施形態の議論を簡単にするために、アクチュエータ204は、運動を与える何らかの種類のモータ(例えば電気モータ、ボイスコイル、圧電フレクシャなど)と、位置、カウント、速度、方向などを決定するために使用することができる(例えば、フィードバック信号の形態での)フィードバックを提供する検知デバイス(例えばエンコーダ)とを含むコンポーネントからなる任意の好適な又は既知のアセンブリとして設けられることは理解されるべきである。本明細書に述べられている実施形態によれば、エンコーダは、AquadBインクリメンタルエンコーダ、アナログsin/cosインクリメンタルエンコーダなどのような任意の好適なエンコーダとして設けられ得る。
【0023】
概して、異なるアクチュエータ204が、異なる軸に沿って、あるいは共通又は平行の軸に沿って運動を与えるように配置及び構成され得る。この場合において、アクチュエータ204は、典型的には、1以上の空間的次元においてワークピース、ツール及び/又は伝搬経路の所望の移動を保証するために(好適な又は当該技術分野において知られている運動制御手法を用いて)同期して作動される。
【0024】
概して、システム200は、システムコントローラ201及び複数のノードコントローラ206a,206b,…206n(本明細書では、包括的にまとめて「ノードコントローラ」又は「ノードコントローラ」206ともいう)を含んでおり、それぞれのノードコントローラ206は、対応するアクチュエータ204と通信可能に連結されている。
図2は、「n」組のアクチュエータ204及びノードコントローラ206を有する(nは3より大きい整数)システム200の実施形態を示しているが、システム200は、2組だけ又は3組だけのアクチュエータ204及びノードコントローラ206を有していてもよいことは理解できよう。
【0025】
システムコントローラ201は、PSOアプリケーションを実施又は実行するようにワークピースに対してツール202及びアクチュエータ204が作動される方法を規定するように構成される。したがって、システムコントローラ201は、任意の好適な又は既知の運動制御手法を実行してワークピース、ツール202及び/又は(例えばツール202がレーザである場合には)伝搬経路を移動するようにアクチュエータ204が作動される方法を規定する。また、システムコントローラ201は、PSOアプリケーションを実施するために(例えば、ツール202とワークピースとの間の空間的関係に基づいて)ツール202が作動される方法を規定することができる。システムコントローラ201は、EtherCAT、Profinet、EtherNET/IP、Powerlink、SERCOS III、Modbus TCP、CC-Link IEなどの1以上のプロトコルによるデバイスコマンドを生成及び送信可能な任意の既知の又は好適なコントローラとして設けられていてもよい。システムコントローラ201は、当該技術分野において知られている任意の方法でユーザがシステム200に相互作用することを可能にする運動マシンインタフェイス(MMI)203と(例えばネットワーク205を介して)通信可能に連結され得る。あるいは、MMIがシステムコントローラ201内に埋め込まれていてもよい。
【0026】
システムコントローラ201により出力されたデバイスコマンドは、有線又は無線のシリアル又はパラレルであり得る1以上の通信リンク207を介してノードコントローラ206に送信される。システム200の通信リンク207は、ライントポロジを有するネットワークとして図示されているが、通信リンク207を他の好適な又は所望のネットワークトポロジ(例えば、ツリー型、リング型、スター型など)に再配置してもよいことは理解できよう。
【0027】
それぞれのノードコントローラ206は、(例えば、当該技術分野において知られているような、1以上の有線又は無線のシリアル又はパラレル通信リンクを介して)対応するアクチュエータ204と通信可能に連結されている。さらに、それぞれのノードコントローラ206は、(例えば、上述したような受信デバイスコマンドに応答して)その対応するアクチュエータ204の動作を制御するように構成される。例えば、ノードコントローラ206aは、(ノードコントローラ206aとアクチュエータ204aとの間の矢印208で示されるように)アクチュエータ204aの動作を制御するように構成され、ノードコントローラ206bは、同様にアクチュエータ204bの動作を制御するように構成され、以下同様に続く。それぞれのノードコントローラ206は、システムコントローラ201により出力されたデバイスコマンドに応答してアクチュエータ204を駆動することが可能な任意の既知の又は好適なデバイス(例えばサーボモータなど)として設けられていてもよい。加えて、それぞれのノードコントローラ206は、PSOアプリケーションにより作動されるツール202がこれに通信可能に連結されているか否かに応じて、プライマリノードコントローラ206’又はセカンダリノードコントローラ206”(これら両方は以下でより詳細に述べられる)の両方の機能を実現するために、1以上のプロセッサ及びプロセッサにアクセス可能な有形媒体(例えばコンピュータメモリ)を含んでいてもよい。
【0028】
プロセッサは、以下に述べるプライマリノードコントローラ206’とセカンダリノードコントローラ206”の機能を実現するための命令を実行可能な(例えば、1以上の汎用コンピュータプロセッサ、マイクロプロセッサ、デジタル信号プロセッサなど又はこれらを任意に組み合わせたものを含む)プログラマブルプロセッサとして設けられていてもよい。プロセッサにより実行可能な命令は、ソフトウェア、ファームウェアなどにより、あるいは、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、フィールドプログラマブルオブジェクトアレイ(FPOA)、デジタル、アナログ及びアナログ/デジタル混合回路を含む特定用途向け集積回路(ASIC)をはじめとする任意の好適な形態の回路など、あるいはこれらを任意に組み合わせて実現され得る。命令の実行は、1つのプロセッサ上で行ってもよく、複数のプロセッサに分散させてもよく、1つのデバイス内又はデバイスのネットワークにわたる複数のプロセッサにわたって並行に行っても、あるいはこれに類する方法でも、あるいはこれらを任意に組み合わせて行ってもよい。コンピュータメモリは、磁気媒体(例えば、磁気テープ、ハードディスクドライブなど)、光学ディスク、揮発性又は不揮発性半導体メモリ(例えば、RAM、ROM、NAND型フラッシュメモリ、NOR型フラッシュメモリ、SONOSメモリなど)などを含んでおり、ローカルアクセス可能なもの、又は(例えばネットワークを通じて)遠隔アクセス可能なもの、又はこれらを組み合わせたものであってもよい。一般的に、命令は、コンピュータソフトウェア(例えば、実行コード、ファイル、命令など、ライブラリファイルなど)として格納され得る。そのようなコンピュータソフトウェアは、例えば、C、C++、Visual Basic、Java、Python、Tel、Perl、Scheme、Ruby、アセンブリ言語、ハードウェア記述言語(例えば、VHDL、VERILOGなど)などによって書かれ、当業者によって本明細書で述べられた説明から簡単に作成することができる。コンピュータソフトウェアは、通常、コンピュータメモリにより伝達される1以上のデータ構造に格納される。
【0029】
アクチュエータ204は、(例えば、以下でより詳細に述べるように、アクチュエータのフィードバック位置から導出される情報を伝達する)フィードバック信号のようなデータ又は情報をその対応するノードコントローラ206にこれらの間の矢印210により示されるように伝達してもよい。
【0030】
ノードコントローラ206が、ツール202のようにPSOトリガ信号に応答して作動されるツールに通信可能に連結されている場合、その対応するノードコントローラ206は、本明細書では「プライマリノードコントローラ」(例えば本明細書では参照符号206’により示される)と呼ばれる。そうでない場合には、ノードコントローラ206は、本明細書では「セカンダリノードコントローラ」(例えば本明細書では参照符号206”により示される)と呼ばれる。このため、
図2に示される例示の実施形態においては、ノードコントローラ206aは、プライマリノードコントローラ(本明細書では参照符号206’によっても示される)と考えることができ、ノードコントローラ206b,206c,…,206nはそれぞれセカンダリノードコントローラ206”と考えることができる。
【0031】
本発明の実施形態によるPSOアプリケーションを実行する際には、プライマリノードコントローラ206’でのPSOトリガ信号の生成が、セカンダリノードコントローラ206”のうち1つ以上のセカンダリノードコントローラ206”により出力される位置フィードバック信号と同期される(すなわち、位置フィードバック信号を条件とする)。プライマリノードコントローラ206’の動作をセカンダリノードコントローラ206”と同期させることは、通信リンク212(例えば、それぞれの通信リンク212は、当該技術分野において知られているような1以上の有線又は無線のシリアル又はパラレル通信リンクとして設けられる)を介してデータを送信することにより容易になる。一実施形態においては、通信リンク212は、(例えば、終端がRJ45コネクタとなっている)イーサネットパッチケーブルとして設けられる。
【0032】
II.PSOアプリケーションを実行するためのプロセスに関する実施形態
上述したように、サーボドライバが位置データ信号を生成及び送信する速度は制限されており、これにより、アクチュエータをいかに高速に駆動できるか及び/又エンコーダ分解能をいかに微細にできるかに制約が加わる。このため、以下でより詳細に述べるように、本発明の実施形態は、1以上のアクチュエータに関連付けられた異なる位置ベースの特性を表すデータパケットを生成、送信及び処理する制御手法を実現することにより、PSOアプリケーションにおけるアクチュエータ速度及び/又はエンコーダ分解能に対して従来課されていた制約を克服し得るものである。
【0033】
図3は、本発明のある実施形態による、PSOアプリケーションを実行可能な例示的プロセスを示す要素横断フローチャートである。
【0034】
図3を参照すると、プロセス300のようなPSOアプリケーションを実行するためのプロセスは、システムコントローラ201と、プライマリノードコントローラ206’(及びその対応するツール202)と、少なくとも1つのセカンダリノードコントローラ206”(及び少なくとも1つの対応するアクチュエータ204)との間で分散され得る。プロセス300の説明を簡単にするために、以下の説明は、上記のデバイス202及びノードコントローラ206の構成例で続ける。すなわち、ノードコントローラ206aがプライマリノードコントローラ206’であり、ノードコントローラ206b,206c,…,206nがセカンダリノードコントローラ206”である。
【0035】
S302では、プロセス300は、システム200内のシステムコントローラ201からそれぞれのノードコントローラ206にホーミングプロセスを開始するためのホーミングコマンドが送信される前処理ステップから始まるか開始する。
【0036】
S304では、ホーミングコマンドに応答して、それぞれのノードコントローラ206は、その対応するアクチュエータ204を(例えば、アクチュエータ204に電気的駆動電流を送ることにより)作動させ、アクチュエータ204の検知デバイスにより生成されたフィードバック信号が(例えば、
図2に示される矢印210に示されるように)ノードコントローラ206に戻るように出力される。その後、ノードコントローラ206は、フィードバック信号を処理して、所望の運動プロファイル又は軌跡が実行される前のその対応するアクチュエータ204の位置(すなわちアクチュエータ204の「ホーム」ポジション)を完全に表すホーム位置データ単位を導き出す。検知デバイスがエンコーダを含んでいる実施形態においては、アクチュエータのホームポジションは、エンコーダのエンコーダ軸の位置として表され得る。その後、ホームポジションは、それぞれのノードコントローラ206からシステムコントローラ201に(例えば、
図2に示される1以上の通信リンク207を介して)送信される。したがって、S304では、アクチュエータの一部又はすべてのホームポジションが取得される。
【0037】
S306では、システムコントローラ201が、それぞれのアクチュエータ204に関連付けられたホーム位置データ単位を受信した後、1以上のアクチュエータ204に対する少なくとも1つのPSOトリガ位置を決定する。本明細書で使用される場合には、「PSOトリガ位置」は、PSOトリガ信号が必要とされるか、あるいは、ツール202に出力されることが決定されるときに、(例えば、当該技術分野において知られているように、アクチュエータの検知デバイスにより供給されるフィードバックに基づいて、少なくとも部分的に決定される)アクチュエータ204により得られる位置に対応している。PSOトリガ信号が出力されるとき(そして、これによりツール202が作動されるとき)、ワークピースとツール202の相対位置(又はワークピースと伝搬経路の相対位置)は、ワークピースの所望の位置がツール202の動作を受けるようなものとなる。このため、PSOトリガ位置では、ワークピースの所望の位置は、(例えばツールがレーザの場合)レーザパルスに照射され、(例えばツールが光シャッタの場合)光に曝され、(例えばツールがカメラの場合)撮像され、(例えばツールがセンサの場合)検知され、(例えばツールが超音波変換器の場合)非破壊的に検査され、あるいはこれに類することがなされる。理解できるであろうが、アクチュエータ204のうちの少なくとも一部についての関連するPSOトリガ位置のグループが、PSOアプリケーションを実行するのと少なくとも実質的に同時に取得され得る。
【0038】
一実施形態においては、あるアクチュエータ204についてのPSOトリガ位置は、そのアクチュエータ204のホームポジションをアクチュエータ204に対応する予備PSOトリガ位置に加えることにより決定され得る。この場合において、予備PSOトリガ位置は、システムコントローラ201にアクセス可能であって、1以上のアクチュエータ204を駆動することにより影響を受ける所望の運動プロファイル又は軌跡と連携して(上述したような)ツールの所望の動作を記述したデータファイル又はデータ構造又はオブジェクトから取得されるか導き出され得る。システムコントローラ201は、PSOトリガ位置を(例えば通信リンク207を介して)プライマリノードコントローラ206’に送信し、PSOトリガ位置はプライマリノードコントローラ206’に保存される(S308参照)。その後、S308で、1つ又は複数のトリガ位置が取得される。
【0039】
S310では、運動プロファイル/軌跡が実行される。S310では、1以上のアクチュエータデバイスコマンドが、(例えば運動プロファイルに従って)、ワークピース、ツール及び/又は伝搬経路を移動するために、システム200内のシステムコントローラ201からそれぞれのセカンダリノードコントローラ206”に送信される。ワークピース、ツール及び/又は伝搬経路の所望の移動を実現するために、一連のアクチュエータデバイスコマンドが、セカンダリノードコントローラ206”に経時的に(例えば周期的に又はそれ以外)送信され得ることは理解されるべきである。一般的に、デバイスアクチュエータコマンドは、S308でPSOトリガ位置がプライマリノードコントローラ206’に送信された後に、(例えば2.5kHz又はその前後の速度で)セカンダリノードコントローラ206”に送信される。
【0040】
S312では、受信したアクチュエータデバイスコマンドに応答して、それぞれのノードコントローラ206は、(例えば、上述したようにワークピース、ツール及び/又はツール経路を移動するように)その対応するアクチュエータ204を駆動する。概して、ノードコントローラ206は、アクチュエータ204に電気的駆動電流を送ることによりその対応するアクチュエータ204を駆動し得る。送られた電気的駆動電流の振幅は、10kHz(又はその前後)までの割合で変化し得る。
【0041】
S314では、S312で駆動されたアクチュエータ204の検知デバイスにより生成されたフィードバック信号が(例えば上述した方法により)それぞれのノードコントローラ206に出力される。それぞれのノードコントローラ206は、フィードバック信号を分析あるいは処理して、(例えば上述した方法により)対応するアクチュエータの位置を表す位置データを導き出す。
【0042】
S316では、セカンダリノードコントローラ206”が位置フィードバック信号を生成し、この位置フィードバック信号は、(例えば通信リンク212を介して)プライマリノードコントローラ206’に送信される。従来のサーボドライバと同様に、セカンダリノードコントローラ206”は固有最大周波数応答を有している。しかしながら、最大周波数応答がアクチュエータ速度及び/又はエンコーダ分解能に課すことがある上記制約を克服するために、セカンダリノードコントローラ206”により生成された位置フィードバック信号は、アクチュエータの異なる位置特性を表すハイブリッド位置データパケットを伝達する。ハイブリッド位置データパケット及び位置フィードバック信号に関する追加の議論が
図4に関して以下でなされる。上記の観点から、ステップS314及びS316は、アクチュエータ204がそれぞれのセカンダリノードコントローラ206”により駆動される限りにおいて繰り返し行われることは理解できよう。例えば、ステップS314を(例えば、以下でより詳細に述べるように、ある更新速度で)周期的に行うことができ、S316を(例えば2.5MHz又はその前後の速度で)周期的に行うことができる。
【0043】
S318では、プライマリノードコントローラ206’が、システム200内の1以上の(又はすべての)アクチュエータ204の位置を導き出す。このため、プライマリノードコントローラ206’は、対応するアクチュエータ204の位置及び/又はセカンダリノードコントローラ206”のうち1つ以上(又はすべて)に対応するアクチュエータ204の現在の位置を導き出すことができる。概して、100MHz(又はその前後)までの速度でアクチュエータ204の位置を導き出すことができる。このステップS318については
図6に関して以下でより詳細に述べる。
【0044】
S320では、プライマリノードコントローラ206’は、(S318で導き出された)アクチュエータ204の位置が所定のPSOトリガ条件を満足するか否かを決定する。一実施形態においては、S318で導き出されたいずれかのアクチュエータ204の位置が、S308で取得されたアクチュエータ204に関連付けられたPSOトリガ位置に等しい(又はほぼ等しい)場合にPSOトリガ条件が満足される。他の実施形態においては、S318で導き出されたいずれかのアクチュエータ204の位置が、アクチュエータ204に関連付けられたPSOトリガ位置に等しい(又はほぼ等しい)が、PSOトリガ位置の所定の範囲内にある場合にPSOトリガ条件が満足される。所定の範囲は固定されていてもよく可変であってもよい。PSOトリガ条件の基準は、当該技術分野において好適な又は知られている方法により、例えば、システムコントローラ201により(1以上の通信リンク207を介して)送信されたデータに基づいて、プライマリノードコントローラ206’に保存され得る。
【0045】
PSOトリガ条件が満足されると、(S322において)プライマリノードコントローラ206’は、(例えば、
図2に示される矢印214に示されるように)ツール202に送信(又は出力)可能なPSOトリガ信号を生成する。その後、PSOトリガ信号は、(例えば上述したように)ツール202を作動するトリガとして使用され、プロセスはステップS318に戻る。PSOトリガ条件が満足されない場合には、プライマリノードコントローラ206’は出力信号を生成せず、プロセスはS318に戻る。概して、S320での決定を100MHz(又はその前後)までの速度で行うことができる。
【0046】
III.ハイブリッド位置データパケット及び位置フィードバック信号に関する実施形態
図4は、一実施形態による、特に、位置フィードバック信号により伝達されるハイブリッド位置データパケットの情報内容を説明するタイミングチャート(
図4の下部のタイミング矢印の右側に相対的に新しい時間が位置し、
図4の下部の左側に相対的に古い時間が位置している)である。
図4は、「DataOdd」及び「DataEven」のラベルが付いたラインを示している。これらのラインは、
図2に示されるそれぞれの通信リンク212の一部として含められている。また、
図4は、多数の六角形を示しており、これらの六角形は、通信リンク212越しに送信されるマルチビットワードのデータのビットを表している。DataOddラインはデータのワードの奇数ビットを送信し、DataEvenはデータのワードの偶数ビットを送信する。このため、DataOddライン及びDataEvenラインにわたって送信される信号は、集合的に共通の信号(すなわち、セカンダリノードコントローラ206”から出力される位置フィードバック信号)を構成するものと概念的に考えることができる。したがって、以下でより詳細に述べるように、DataOddライン及びDataEvenラインにより送信される信号内で伝達されるビットの対応する組は、集合的にセカンダリノードコントローラ206”により出力される共通のハイブリッド位置データパケットを構成するものと概念的に考えることができる。プライマリノードコントローラ206’は、DataOddライン及びDataEvenラインにより伝達されるビットを処理して(例えば、プロセスステップS318、S320及びS322を含む)本明細書で述べられるプロセスを行うために当該技術分野において知られている任意の方法によって構成及び作動され得ることは理解できよう。
【0047】
上述したように、それぞれのセカンダリノードコントローラ206”により生成される位置フィードバック信号は、ハイブリッド位置データパケットを伝達し、このハイブリッド位置データパケットは、それぞれのアクチュエータ204の異なる位置特性を表しており、セカンダリノードコントローラ206”からプライマリノードコントローラ206’に周期的に送信される。ハイブリッド位置データパケットにより表される異なる位置特性は、与えられた時点(本明細書では「同期時点」ともいう)における対応するアクチュエータ204の位置を完全に記述した同期位置データ単位の一部を表す部分位置データパケットと、同期時点でのアクチュエータ204の位置に対する与えられた時点(本明細書では更新期間の開始時に該当するか、あるいは更新期間に対応する「更新時点」ともいう)でのアクチュエータ204の位置の変位を表す変位データパケットとを含む。
【0048】
図4に示されるように、いずれのハイブリッド位置データパケット内でも、第1組のビット(すなわち「P」から始まるラベルを有するビット)は部分位置データパケット内のビットであり、第2組のビット(すなわち「D」から始めるラベルを有するビット)は変位データパケット内のビットである。
【0049】
十分に長いタイムライン上で、位置フィードバック信号は、連続的に生成される十分な数のハイブリッド位置データパケットを伝達し、これにより、十分な数の部分位置データパケットを伝達し、同期位置データ単位全体を表す。同期位置データ単位を完全に表す部分位置データパケットの完全なセットを集めるのに必要な期間は、本明細書では「同期期間」と呼ばれる。同期時点は、同期期間の開始をマークすることができるか、あるいは、同期期間中に発生し得る。議論を簡単にするために、最新の又は最も近い同期期間を「現」同期期間といい、現同期期間の直前の同期期間を「前」同期期間という。
【0050】
共通の同期期間中に伝達された異なるハイブリッド位置データパケットの部分位置データパケットは、共通の同期位置データ単位の異なる部分を表している。現同期期間中のハイブリッド位置データパケットにおいて伝達された変位データパケットは、前同期期間の同期時点(本明細書では「前同期時点」という)でのアクチュエータ204の位置に対する、様々な更新時点におけるアクチュエータ204の位置の様々な変位を表している。
【0051】
任意のビットの「P」又は「D」に続く数字は、同期位置データ単位又は変位データ単位のいずれかにおけるビットの位置を特定する序数であって、それが存在する部分位置データパケット又は変位データパケットにそれぞれ対応するものである。例えば、「P0」又は「D0」のラベルが付いたビットについては、数字「0」は、データ単位においてそのビットが最下位ビット(LSB)(「低次ビット」又は「右端ビット」ともいう)であることを示している。「P49」又はD19のラベルが付いたビットについては、数字「49」及び「19」は、それぞれのデータ単位においてそのビットが最上位ビット(MSB)(「高次ビット」又は「左端ビット」ともいう)であることを示している。
【0052】
上述したことは、以下の
図4に対する付加的な説明からより明確になるであろう。
図4は、複数のハイブリッド位置データパケット、例えば、それぞれ共通の同期期間402中に伝達される第1のハイブリッド位置データパケット402_1と第25のハイブリッド位置データパケット402_25とを示している。図示はされていないが、一連の付加的なハイブリッド位置データパケット(すなわち、第2、第3、第4、…第24)も、第1のハイブリッド位置データパケット402_1の後、第25のハイブリッド位置データパケット402_25の前で連続的に伝達される。同期期間402に先行する同期期間404中に伝達される第25のハイブリッド位置データパケット404_25も図示されている。このため、図示された例においては、それぞれの同期期間は、「M」個の更新期間を含み(これにより「M」個のハイブリッド位置データパケットを含み)、「M」は25に等しい。しかしながら、「M」は2、3、4、5、10、15、20、30、40、50などあるいはこれらの値のいずれかの間の値に等しい他の整数であってもよいことは理解すべきである。
【0053】
図4に示されるように、第1のハイブリッド位置データパケット402_1の部分位置データパケットは、同期期間402の開始をマークする所与の同期時点でのアクチュエータ204の位置を完全に記述する同期位置データ単位のビットの第1のペア(すなわち、ビットP48とP49)を含んでいる。同様に、第25のハイブリッド位置データパケット402_25の部分位置データパケットは、上述した同期位置データ単位のビットの第25のペア(すなわち、ビットP0とP1)を含んでいる。図示はされていないが、第2、第3、第4などのハイブリッド位置データパケットの部分位置データパケットは、上述した同期位置データ単位におけるビットの第2、第3、第4のペア(すなわち、ビットP46とP47、P44とP45、P42とP43など)なども含む。第25のハイブリッド位置データパケット404_25の部分位置データパケットは、同期期間404の開始をマークする同期時点でのアクチュエータ204の位置を完全に記述する同期位置データ単位のビットの第25のペア(すなわち、ビットP0とP1)を含んでいる。
【0054】
また
図4に示されているように、それぞれのハイブリッド位置データパケットの変位データパケットにおけるビットの第2の組は、ビットD0、D1、…D19を含んでおり、これらは、前同期期間の同期時点でのアクチュエータ204の位置に対する、現同期期間中の所与の更新時点でのアクチュエータ204の位置の変位を記述するビットに対応している。このため、ハイブリッド位置データパケット402_1から402_25における変位データパケットは、同期期間402の直前の同期期間404の同期時点でのアクチュエータ204の位置に対する、同期期間402中の第1から第25の更新時点でのアクチュエータ204の位置の変位を記述するビットを含んでいる。同様に、ハイブリッド位置データパケット404_25における変位データ単位は、同期期間404の前の同期期間の前同期時点でのアクチュエータ204の位置に対する、同期期間404中の第25の更新時点でのアクチュエータ204の位置の変位を記述するビットを含んでいる。
【0055】
それぞれの更新期間の個数及び/又は長さ(Tupdate)、ひいてはそれぞれの同期期間の長さ(Tsync)は、同期位置データ単位のそれぞれのビット長、部分位置データパケット及び変位データパケットにおけるビット数、それぞれのアクチュエータにおける検知デバイスの動作周波数、ノードコントローラ206の動作周波数、検知デバイス入力周波数、物理的リンク(ケーブル、送受信器など)により許容される最大ビットクロック周波数、ハイブリッド位置データパケット間の最小アイドル時間に影響を与える信号ジッタ(例えば、開始期間406aと終了期間406bとを参照)などの1以上のファクタに依存し得ることは理解できよう。概して、更新期間は、50ns(又はその前後)から500ns(又はその前後)の範囲、例えば100ns、150ns、200ns、250ns、300ns、400nsなど、あるいはこれらの値のいずれかの間の値の長さTupdateを有することができるが、50nsより短くてもよく、500nsより長くてもよい。このため、同期期間は、1μs(又はその前後)から12μs(又はその前後)の範囲、例えば3μs、5μs、7μsなど、あるいはこれらの値のいずれかの間の値の長さTsyncを有することができるが、1μsより短くてもよく、12μsより長くてもよい。特定の長さの更新期間が与えられれば、新しいハイブリッド位置データパケットのビットは、更新期間の逆数である更新速度(例えば、2MHz(又はその前後)から20MHz(又はその前後)の範囲)で決定されると考えることができる。同様に、特定の長さの同期期間が与えられれば、同期位置データ単位を完全に表す部分位置データパケットの完全なセットを同期期間の逆数である同期速度(例えば、83kHz(又はその前後)から1MHz(又はその前後)の範囲)で集めることができる。
【0056】
図4に関して上記で述べた例示の実施形態においては、同期位置データ単位のビット長は50ビット(これはペイロードと数ビット、例えば、パリティ/CRCエラー検出のための4ビットを含み得る)であるが、同期位置データ単位のビット長は、50ビットよりも長くても、あるいは短くてもよいこと(例えば、16ビット、32ビット、64ビットなど、あるいはこれらの間の任意の値)は理解できよう。同様に、部分位置データパケットのビット長は2ビットであるが、部分位置データパケットのビット長は1ビットだけでもよく、あるいは2ビットよりも多いビットであってもよいことは理解できよう。最後に、変位データ単位のビット長は20ビット(これはパリティ/CRCエラー検出のために少なくとも1ビットを含み得る)であるが、変位データ単位のビット長が同期位置データ単位のビット長よりも短い限りにおいて、変位データ単位のビット長は、20ビットよりも長くても、あるいは短くてもよいこと(例えば、4ビット、8ビット、16ビット、24ビット、30ビットなど、あるいはこれらの間の任意の値)は理解できよう。
【0057】
A.ライン及び信号に関する追加の議論
DataOddライン及びDataEvenラインに加えて、
図4は、「BitClock」及び「Sync」のラベルが付いたラインを示している。これらのラインは、
図2に示されるそれぞれの通信リンク212の一部として含められている。通信リンク212がそれぞれ上述したようなイーサネットパッチケーブルとして設けられている実施形態においては、それぞれの通信リンク212の様々なライン(すなわち、DataOddライン、DataEvenライン、BitClockライン及びSynchronizationライン)は、それぞれ当該技術分野において知られているようなツイストペアワイヤとして設けられていてもよい。
【0058】
i.ビットクロックライン及び信号
ビットクロック信号が生成され、それぞれのセカンダリノードコントローラ206”からBitClockラインを通じてプライマリノードコントローラ206’に送信される。また、プライマリノードコントローラ206’もビットクロック信号を生成し得るが、これは通信リンク212を通じて送信されない。概して、ビットクロック信号は、それぞれのノードコントローラ206(すなわち、プライマリノードコントローラ206’及びそれぞれのセカンダリノードコントローラ206”)の内部ビットクロックにより生成され、ノードコントローラ206の動作周波数に対応する。ある実施形態においては、ビットクロックの動作周波数(本明細書では「ビットクロック周波数」ともいう)、ひいてはビットクロック信号の動作周波数は、25MHzから200MHzの範囲(例えば、50MHz、100MHz、200MHzなど、あるいはこれらの値のいずれかの間の値)であり得る。ビットクロック周波数は、ノードコントローラ206、通信リンク212などのような構成要素の構成に応じて25MHzよりも低くてもよく、200MHzよりも高くてもよいことは理解されるべきである。
【0059】
DataOddライン及びDataEvenライン上でのセカンダリノードコントローラ206”からのビットの送信をビットクロック信号に同期させることができる。さらに、同期期間内におけるプライマリノードコントローラ206’及びそれぞれのセカンダリノードコントローラ206”の動作をビットクロック信号を使って互いに同期させることができる。例えば、セカンダリノードコントローラ206”はビットクロック信号の立ち上がりでデータを出力することができ、プライマリノードコントローラ206’はビットクロック信号の立ち下がりでデータを入力することができる。場合によっては、プライマリノードコントローラ206’は、プライマリノードコントローラ206’のビットクロック信号に対して位相がローリングしているビットクロック信号(セカンダリノードコントローラ206”から受信したような)から生じる潜在的なメタステイビリティを好適な手法又は当該技術分野において知られている手法により緩和することができる。
【0060】
理解できるように、DataOddライン及びDataEvenライン上でセカンダリノードコントローラ206”から出力される信号間のタイミング関係が、BitClockライン上で送信されるビットクロック信号に対してある許容範囲内(例えば5ns又はその前後内)に維持されることは一般的に重要である。ラインの物理的長さ、セカンダリノードコントローラ206”の信号出力における不均衡な信号経路遅延、プライマリノードコントローラ206’の信号入力における不均衡な信号経路遅延、それぞれのノードコントローラ206の送受信器及び他の回路におけるデューティサイクル歪み、及びノードコントローラ206及び通信リンク212内のラインの温度変動などの1以上のファクタにより許容範囲から外れる時間的ドリフトが生じ得る。ビットクロック信号に対する許容できない量のドリフトによる潜在的な悪影響を軽減するために、DataOddライン及びDataEvenラインは互いに異なるツイスト比率を有し、BitClockラインのツイスト比率は、DataOddラインとDataEvenラインのツイスト比率の間にある。BitClockラインのツイスト比率をDataOddラインとDataEvenラインのツイスト比率の間にすることにより、DataOddラインとDataEvenラインとの間の合計ドリフトは、BitClockライン上で送信されるビットクロック信号に対して分割される。すなわち、DataOddライン及びDataEvenラインのうち一方のデータ信号はビットクロック信号に対して時間的に前方にドリフトし、DataOddライン及びDataEvenラインの他方のデータ信号はビットクロック信号に対して時間的に後方にドリフトし得る。
【0061】
さらに、位置フィードバック信号におけるハイブリッド位置データパケットの開始を通信するためにもビットクロック信号を用いることができる。例えば、
図4に示されるように、ビットクロック信号は、延長された期間406a(本明細書では「パケット開始期間」ともいう)についてはスタティックロジック状態「0」であり得る。プライマリノードコントローラ206’は、その内部ビットクロックを同期させてパケット開始期間406aの終了時にロジック状態「0」からロジック状態「1」にロジック状態を変更し得る。
【0062】
ii.同期ライン及び信号
プライマリノードコントローラ206’からそれぞれのセカンダリノードコントローラ206”にSynchronizationラインを通じて同期信号が送信される。概して、同期信号は、同期期間に対応する周波数を有しており、同期信号のデューティサイクルは、セカンダリノードコントローラ206”をどのように作動させるかについて指令する。すなわち、いずれかのセカンダリノードコントローラ206”の動作モードは、プライマリノードコントローラ206’から受信した同期信号のデューティサイクルに対応する。概して、同期信号は、ビットクロック信号の周波数よりもずっと低い周波数を有している。例えば、同期信号は、50kHzから400kHzの範囲(例えば、100kHz、200kHz、300kHzなど、あるいはこれらの値のいずれかの間の値)の周波数を有し得る。動作モードの例としては、「スタンバイ」モード、「訓練」モード及び「通常」モードが挙げられる。これらの動作モードに関する付加的な議論が以下でより詳細になされる。
【0063】
B.アクチュエータ位置を取得すること(S318)に関する付加的な議論
図3のS318に関して上記で言及したように、プライマリノードコントローラ206’は、受信した位置フィードバック信号において伝達されたハイブリッド位置データパケットを分析あるいは処理してセカンダリノードコントローラ206”に対応するそれぞれのアクチュエータ204の位置を導き出す。位置データ単位により表されるような、アクチュエータ204の位置は、プライマリノードコントローラ206’で保存される。理解できるように、アクチュエータ204の位置は、アクチュエータ204がプライマリノードコントローラ206’又はセカンダリノードコントローラ206”に対応するか否かに応じて異なるように導き出され得る。
【0064】
i.プライマリノードコントローラに対応するアクチュエータの位置の取得
プライマリノードコントローラ206’に対応するアクチュエータ204に関連付けられた位置データ単位を導き出すために、プライマリノードコントローラ206’は、(例えば、同期期間に関連付けられた同期時点で)対応するアクチュエータ204により通信されたフィードバック信号を単に処理して、対応するアクチュエータ204の位置を完全に表す位置データ単位を生成する。先に述べたように、アクチュエータ204から対応するノードコントローラ206にフィードバック信号が5MHz(又はその前後)の速度で送信される。このため、一実施形態においては、プライマリノードコントローラ206’は、対応するアクチュエータ204に対する位置単位を5MHz(又はその前後)の速度で導き出すことができる。しかしながら、他の実施形態においては、プライマリノードコントローラ206’は、フィードバック信号を処理して、任意の好適な又は既知の手法により、対応するアクチュエータ204の位置を5MHzよりも高速度で(例えば、100MHz又はその前後までの推定速度で)推定することができる。このため、プライマリノードコントローラ206’は、対応するアクチュエータ204に対する位置単位を100MHz(又はその前後)までの速度で導き出すことができる。
【0065】
S318で導き出された位置データ単位は、(例えば、現在の位置データ単位をプライマリノードコントローラ206’に関連付けるデータ構造で)プライマリノードコントローラ206’に保存される。プライマリノードコントローラ206’に対応するアクチュエータ204に対してデータ構造で既に保存されているデータ位置単位は、そのアクチュエータ204に対する新しいデータ位置単位によって上書きされる。
【0066】
ii.セカンダリノードコントローラに対応するアクチュエータの位置の取得
セカンダリノードコントローラ206”に対応するアクチュエータ204の位置データ単位を取得するために、プライマリノードコントローラ206’はセカンダリノードコントローラ206”から受信した位置フィードバック信号中で伝達されたハイブリッド位置データパケットを順次処理する。位置フィードバック信号中の順次伝達され、それぞれのセカンダリノードコントローラ206”から送信されたハイブリッド位置データパケットがプライマリノードコントローラ206’で処理される例示の実施形態が、
図6で示されるプロセス600に関して以下でより詳細に述べられる。
【0067】
図6を参照すると、「n」は、セカンダリノードコントローラ206”から送信される位置フィードバック信号中の同期期間の序数を表している。このため、「n」は1以上の任意の整数となり得る。同様に、「m」は、同期期間中の更新期間の序数を表している。このため、「m」は同期期間中に伝達されるハイブリッド位置データパケットの序数も表している。上述したように、「M」は、それぞれの同期期間中の更新期間(ひいてはハイブリッド位置データパケット)の総数を表している。したがって、「m」は「M」以下にのみなり得る。
【0068】
(n番目の同期期間のm番目のハイブリッドデータパケットから部分位置データパケットを集める)S604では、プライマリノードコントローラ206’は、n番目の同期期間(例えば1番目の同期期間)中に伝達されたm番目のハイブリッド位置データパケットを処理して、その中で伝達された部分位置データパケットのビットを抽出する。
【0069】
S602で示されているように、mは1に設定され、特定の同期期間中に伝達される最初のハイブリッド位置データパケットは、S604で処理される最初のハイブリッド位置データパケットとなる。部分位置データパケットの抽出されたビットは、送信元のセカンダリノードコントローラ206”及び同期位置データ単位内で部分位置データパケット中のビットが割り当てられている位置に関連付けられたデータ構造でプライマリノードコントローラ206’に保存され得る。
【0070】
(n番目の同期期間のm番目のハイブリッドデータパケットから変位データ単位を組み立てる)S606では、プライマリノードコントローラ206’は、n番目の同期期間中に伝達されたm番目のハイブリッド位置データパケットを処理して、その中で伝達された変位データパケットのビットを抽出する。変位データパケット中の抽出されたビットは、その後、変位データ単位(すなわち、上述したようにマルチビットワードのデータ)に組み立てられる。
【0071】
(n-1番目の同期期間の再構築された同期位置データ単位に変位データ単位を加える)S608では、S606で取得した変位データ単位が、前同期期間(すなわちn-1番目の同期期間)に関連付けられた同期位置データ単位(上述したようにマルチビットワードのデータでもある)に加えられる。得られるマルチビットワードのデータは、アクチュエータ204の導き出された位置を表す位置データ単位であり、これは、ハイブリッド位置データパケットの送信元である対応するセカンダリノードコントローラ206”に関連付けられ、必要に応じて、プライマリノードコントローラ206’により生成された内部タイムスタンプ値(例えば、マルチビットワードのデータが保存された時などを示す)に関連付けられたデータ構造でプライマリノードコントローラ206’に保存され得る。
【0072】
一実施形態においては、S608で新たに取得されたマルチビットワードのデータを保存する際に、プライマリノードコントローラ206’は、データ構造に書き込まれた先に取得されたマルチビットワードのデータを上書きする。この場合には、S608で新たに導き出された取得位置が、
図3のS320での上記決定の主題となり得る。しかしながら、他の実施形態においては、S608で新たに取得されたマルチビットワードのデータは、(その関連するタイムスタンプとともに)データ構造に追加され得る。そして、データ構造に書き込まれた先に取得されたマルチビットワードのデータが保持され得る。この場合には、最も近いタイムスタンプを有する導出位置(すなわち、S608で新たに取得された導出位置)が、
図3のS320での上記決定の主題となり得る。
【0073】
S610では、プライマリノードコントローラ206’は、S606で取得された導出位置から対応するアクチュエータ204の位置を更新速度よりも速い推定速度で推定することができる。例えば、推定速度は100MHz又はその前後までとなり得る。このため、プライマリノードコントローラ206’は、セカンダリノードコントローラ206”に対応するアクチュエータ204に対する位置単位を100MHz(又はその前後)までの速度で導き出すことができる。推定の結果は、アクチュエータ204の導出位置を表す位置データ単位であり、ハイブリッド位置データパケットの送信元である対応するセカンダリノードコントローラ206”に関連付けられ、必要に応じて、プライマリノードコントローラ206’により生成された内部タイムスタンプ値(例えば、マルチビットワードのデータが保存された時などを示す)に関連付けられたデータ構造でプライマリノードコントローラ206’に保存され得る。
【0074】
一実施形態においては、S610で新たに取得された位置データ単位を保存する際に、プライマリノードコントローラ206’は、データ構造に書き込まれた先に取得された位置データ単位を上書きする。この場合には、S610で新たに取得された導出位置が、
図3のS320での上記決定の主題となり得る。しかしながら、他の実施形態においては、S610で新たに取得された位置データ単位は、(その関連するタイムスタンプとともに)データ構造に追加され得る。そして、データ構造に書き込まれた先に取得された位置データ単位が保持され得る。この場合には、最も近いタイムスタンプを有する位置データ単位(すなわち、S610で新たに取得された導出位置)が、
図3のS320での上記決定の主題となり得る。
【0075】
n番目の同期期間中により多くのハイブリッド位置データパケットが伝達されたか、これから伝達されると仮定すると、S608で導出位置が取得された後に、ステップS604、S606及びS608を再び行うことができる。このため、S608での「m」の現在値が「M」未満であれば(例えば、m=MであるかチェックされるS612で示されるように決定される)、(例えばS614で示されるように)「m」の現在値を1だけ増やし、ステップS604、S606及びS608を再び行うことができる。例えば、ステップS604、S606及びS608をn番目の同期期間中に伝達された1番目のハイブリッド位置データパケットに対して行った場合、ステップS604、S606及びS608をn番目の同期期間中に伝達された2番目のハイブリッド位置データパケットに対して再び行い、その後、n番目の同期期間中に伝達された3番目のハイブリッド位置データパケットに対して再び行い、n番目の同期期間中に伝達された最後のハイブリッド位置データパケット(「m」=「M」である)が処理されるまで、これを繰り返す。
【0076】
「m」が「M」に等しいとき、M個の部分位置データパケットに対してS604で集められたビットセットが、n番目の同期期間に関連付けられた同期時点でのセカンダリノードコントローラ206”に関連付けられたアクチュエータ204の位置を完全に記述する同期位置データ単位として保存される。以下のステップが実施されるS616を参照されたい。集められた部分位置データパケットをn番目の同期期間の再構築された同期位置データ単位として設定する。
【0077】
この同期位置データ単位は、送信元であるセカンダリノードコントローラ206”に関連付けられたデータ構造でプライマリノードコントローラ206’に保存され得る。データ構造中に保存された(n-1番目の同期期間に関連付けられた)既存の同期位置データ単位は、(n番目の同期期間に関連付けられた)この新たに集められた同期位置データ単位によって上書きされる。
【0078】
S616でn番目の同期期間に関連付けられた同期位置データ単位が保存された後又は保存されると、(例えばnを1だけ増やすS618で示されるように)S616での「n」の現在値を1だけ増やし、(例えばS602で示されるように)「m」の値を1に設定し、その後、(例えば、PSOアプリケーションが完全に実行されるまで)n番目の同期期間に続く同期期間中に伝達されたM個のハイブリッド位置データパケットに対して上述したステップS604,S606,S608,…S618を再び行うことができる。
【0079】
「n」が1に等しいとき、前同期期間に関連付けられた同期位置データ単位は存在せず、このため、最初の同期期間のm番目のハイブリッド位置データパケットに対する変位データ単位を追加可能な予め保存された同期位置データ単位も存在しない。このため、(例えば、セカンダリノードコントローラ206”が最初に「通常」モードに入ったときのように)nが1に等しいとき、ステップS604は行われるが、ステップS606、S608及びS610は省略され得る。
【0080】
上述したように、セカンダリノードコントローラ206”は(従来のサーボドライバのように)、実際にはセカンダリノードコントローラ206”から取得可能な位置フィードバックの分解能に上限を課す固有最大周波数応答を有している。例えば、5MHz(又はその前後)の更新速度で、約20ビットをセカンダリノードコントローラ206”により簡単に送信することができる。しかしながら、位置データ単位は、典型的には、許容可能なレベルの分解能で対応するアクチュエータ204の位置を表すために20ビットよりもずっと長い。したがって、上記から理解されるべきであるように、本発明の実施形態は、同期時点でのアクチュエータ204の位置を完全に記述する同期位置データ単位(すなわち部分位置データパケット)の数ビットと、同期時点の後に生じる更新時点でのアクチュエータ204の位置の変位を(許容可能なレベルの分解能で)記述する変位データ単位に対する比較的少ない数のビットとをそれぞれ含む一連の比較的小さなハイブリッド位置データパケットを送信することによって、最大周波数応答に関連付けられた制約を避けることができる。それぞれのハイブリッド位置データパケットにおける比較的少ない数のビットをセカンダリノードコントローラ206”により更新速度で簡単に送信することができる。したがって、S606及びS608に関して上記で述べたように、プライマリノードコントローラ206’は、更新時点の変位データ単位と前同期時点の同期位置データ単位とに基づいて、許容可能な分解能でアクチュエータ204の位置を更新速度で導き出すことができる。
【0081】
同期位置データ単位を完全に表す部分位置データパケットの完全なセットを(例えば、S604で動作を行うことにより)集めることができる同期速度よりもずっと高い更新速度でアクチュエータ204の位置を(例えば、S606及びS608で動作を行うことにより)決定することができるので、(例えばS610で取得された)アクチュエータ204の推定位置を同期位置データ単位から単純に推定される位置よりも正確にすることができる。
【0082】
IV.動作モードに関する実施形態
上述したように、セカンダリノードコントローラ206”でプライマリノードコントローラ206’から受信された同期信号のデューティサイクルは、セカンダリノードコントローラ206”に対して「スタンバイ」モード、「訓練」モード、又は「通常」モードにより動作すべきことを指令する。
【0083】
i.スタンバイモード
プライマリノードコントローラ206’により出力された同期信号が少なくとも4つの連続する同期期間に対して固定ロジック状態である場合には、セカンダリノードコントローラ206”はスタンバイモードに入り、PSOアプリケーションは実行されないものとされる。
【0084】
ii.訓練モード
上述した「訓練」モードにセカンダリノードコントローラ206”を誘導することができ、この「訓練」モードは、セカンダリノードコントローラ206”からDataOddライン、DataEvenライン及びBitClockラインを通じて送信される様々な信号間のスキューをプライマリノードコントローラ206’に補償させるために使用される。また、プライマリノードコントローラ206’とセカンダリノードコントローラ206”との間の通信リンク212の固定遅延をプライマリノードコントローラ206’に補償させるためにも訓練モードを使用することができる。
【0085】
セカンダリノードコントローラ206”を訓練モードに誘導するために、プライマリノードコントローラ206’は、訓練モード信号をSynchronizationラインによりセカンダリノードコントローラ206”に送信する。
【0086】
図5の下部から上部には、Synchronizationライン、DataEven信号、DataOdd信号及びBitClock信号が表されている。
【0087】
概して、訓練モード信号は、Ttraining期間中(
図5参照)にロジック「0」状態の信号(例えば200kHz信号)であり得る。Ttraningの長さは、更新期間Tupdateの長さに等しいか又は少なくともほぼ等しくなり得る。プライマリノードコントローラ206’から4つの連続する訓練信号を受信すると、セカンダリノードコントローラ206”は訓練モードに入り、入ってくる訓練信号をその内部ビットクロックに同期させ、BitClockライン上でビットクロック訓練信号をプライマリノードコントローラ206’に送り返す。また、セカンダリノードコントローラ206”は、ビットクロック訓練信号の立ち下がりと同期した(例えば10nsの長さの短時間を除く)ロジック「1」状態信号を出力する。例えば
図5を参照されたい。それぞれのセカンダリノードコントローラ206”から信号を受信すると、プライマリノードコントローラ206’は、セカンダリノードコントローラ206”により送信された3つの信号の間のドリフトを測定し、測定されたドリフトを補償する。
【0088】
iii.通常モード
上述した「通常」モードにセカンダリノードコントローラ206”を誘導することができ、この「通常」モードは、(例えば上述したように)セカンダリノードコントローラ206”が位置フィードバック信号をプライマリノードコントローラ206’に送信できるようにするために使用される。
【0089】
セカンダリノードコントローラ206”を通常モードに誘導するために、プライマリノードコントローラ206’は、上述した同期信号をSynchronizationラインによりセカンダリノードコントローラ206”に送信する。同期信号は、同期信号がロジック「0」状態である比較的短い期間(例えば、更新期間の半分Tupdate/2の長さに等しいか又は少なくともほぼ等しい)を除いてロジック「1」状態である。プライマリノードコントローラ206’から4つの連続する同期信号を受信すると、セカンダリノードコントローラ206”は通常モードに入り、セカンダリノードコントローラ206”は、その内部ビットクロックを入ってくる同期信号に同期させ、
図3のS316に関して上記で述べたように上述した位置フィードバック信号を送信する。この場合において、同期信号のロジック「1」状態からロジック「0」状態への遷移は、同期期間の上述した同期時点を規定する。
【0090】
図3のS316に関して上記で述べたように上述した位置フィードバック信号を送信する際に、セカンダリノードコントローラ206”はビットクロック信号の立ち上がりでデータを出力することができ、プライマリノードコントローラ206’はビットクロック信号の立ち下がりでデータを入力することができる。
【0091】
上記は、本発明の実施形態及び例を説明したものであって、これに限定するものとして解釈されるものではない。いくつかの特定の実施形態及び例が図面を参照して述べられたが、当業者は、本発明の新規な教示や利点から大きく逸脱することなく、開示された実施形態及び例と他の実施形態に対して多くの改良が可能であることを容易に認識するであろう。
【0092】
例えば、上記の観点から、
図6に関して述べられたプロセスは、それぞれのセカンダリノードコントローラ206”が、対応するアクチュエータ204の位置に関する情報を(例えば、アクチュエータ204のエンコーダにより出力されるような)位置の実際の表現よりも少ないビット数を用いてエンコードするデータ圧縮アルゴリズムの一種として広く考えることができることを理解すべきである。そして、プライマリノードコントローラ206’は、それぞれのセカンダリノードコントローラ206”により送信された圧縮済み情報をデコードし、必要に応じて、その情報に基づいて位置情報を推定し、適切な場合にはPSOアプリケーションを実行する。しかしながら、
図6に述べられているアルゴリズムに代えて、又はこれに加えて、他の損失のある又は損失のない圧縮アルゴリズムを使用できることは理解できよう。したがって、いずれのセカンダリノードコントローラ206”も、任意の好適な又は既知の損失のある又は損失のない圧縮手法によって、対応するアクチュエータ204の位置に関する情報をエンコードすることができ、プライマリノードコントローラ206’は、任意の好適な又は既知の解凍手法によって、セカンダリノードコントローラ206”により送信された圧縮済み情報をデコードすることができることを認識すべきである。
【0093】
したがって、そのような改良はすべて、特許請求の範囲において規定される本発明の範囲に含まれることを意図している。例えば、当業者は、そのような組み合わせが互いに排他的になる場合を除いて、いずれかの文や段落、例又は実施形態の主題を他の文や段落、例又は実施形態の一部又は全部の主題と組み合わせることができることを理解するであろう。したがって、本発明の範囲は、以下の特許請求の範囲とこれに含まれるべき請求項の均等物とによって決定されるべきである。
【符号の説明】
【0094】
参照符号の一覧
200 システム
201 システムコントローラ
202 ツール/デバイス
203 運動マシンインタフェイス
204,204a,204b,204c アクチュエータ
205 ネットワーク
206,206a,206b,206c ノードコントローラ
206’ プライマリノードコントローラ
206” セカンダリノードコントローラ
207 通信リンク
208 矢印
210 矢印
212 通信リンク
214 矢印
300 プロセス
402 共通の同期期間
402_1 第1のハイブリッド位置データパケット
402_25 第25のハイブリッド位置データパケット
404 同期期間
404_25 第25のハイブリッド位置データパケット
406a 開始期間
406b 終了期間
600 プロセス
S302 ステップ
S304 ステップ
S306 ステップ
S308 ステップ
S310 ステップ
S312 ステップ
S314 ステップ
S316 ステップ
S318 ステップ
S320 ステップ
S322 ステップ
S602 ステップ
S604 ステップ
S606 ステップ
S608 ステップ
S610 ステップ
S612 ステップ
S614 ステップ
S616 ステップ
S618 ステップ
【国際調査報告】