(57)【要約】次のウェイポイントの所望の位置と所望の速度との両方に到達するために、運動制御下でシステムからのリアルタイムフィードバックを使用して、数値的な「ジャーク」、すなわち加速度の運動導関数を反復的に計算する計算モーションエンジンの方法及びデバイスが述べられている。モーションエンジンからの出力は、所望の加速度のみであり、これは次いで、位置又は速度の中間的な計算なしで、モータドライバに渡される。第２の内部フィードバックループは、モーションエンジンの加速度出力に基づいて、モータシャフトでの所望の加速度又はトルクを維持し、これは非線形補正テーブルを使用することができる。位置と速度の両方を含むウェイポイントは、モーションエンジンへの入力である。次のウェイポイントまでの時間は、入力として提供されるのではなく、計算される。次のウェイポイントへの移動の最適化は、移動中の最も滑らかな速度変化に基づく。いくつかの実施形態は、機械的な２軸ＳＣＡＲＡアーム運動システムを含む。
2019530031.tif 000002
【特許請求の範囲】
【請求項１】
反復動作制御のための方法であって、
（ｉ）［ｐ，ｖ，ａ］を含む第１の状態ベクトル、［ｐｔ，ｖｔ］を含むターゲットベクトル、及びｔｓを受け入れるステップであって、ここで、ｐ、ｖ、及びａは、それぞれ初期位置、初期速度、及び初期加速度であり、ｐｔ及びｖｔは、それぞれターゲット位置及びターゲット速度であり、ｔｓは反復時間間隔である、ステップと、
（ｉｉ）前記ターゲット位置ｐｔ及び前記ターゲット速度ｖｔに到達するための、現在の時刻からの到着時間間隔ｔｔを推定するステップと、
（ｉｉｉ）以下の式：
ｊ＝−［ｃ×（ｄ×ｐｔ−ｄ×ｐ＋ａ×ｔｔ＾２＋ｅ×ｔｔ×ｖ＋ｔｔ×ｖｔ）］／ｔｔ＾３
を使用して、ジャークｊを計算するステップと、
（ｉｖ）更新されたｐ、ｖ、及びａを受け入れるステップと、
（ｖ）（ｐ、ｖ、ａ、又はｊ）の任意の組合せをモーションコントローラに出力するステップと、
（ｖｉ）エンドポイント条件に達するまで、ステップ（ｉｉｉ）〜（ｖ）をレートｔｓで反復するステップと
を含み、
ここで、ｃ、ｄ、及びｅは定数である、反復動作制御のための方法。
【請求項２】
前記更新されたｐ、ｖ、及びａを受け入れるステップは、以下の式：
ａ＝［（ｊ）の０からｔｓまでの積分］＋ａ’
を使用して、ａを計算するステップを含み、
ここで、ａ’は、直前のａである、請求項１に記載の方法。
【請求項３】
前記更新されたｐ、ｖ、及びａを受け入れるステップは、以下の式：
ｖ＝［（ａ）のｔ０からｔｓまでの積分］＋ｖ’
を使用して、ｖを計算するステップを含み、
ここで、ｖ’は、直前のｖである、請求項１に記載の方法。
【請求項４】
前記更新されたｐ、ｖ、及びａを受け入れるステップは、以下の式：
ｐ＝［（ｖ）のｔ０からｔｓまでの積分］＋ｐ’
を使用して、ｐを計算するステップを含み、
ここで、ｐ’は、直前のｐである、請求項１に記載の方法。
【請求項５】
前記更新されたｐ、ｖ、及びａを受け入れるステップは、
ｐ、ｖ、及びａの１つ又は複数に関して、１つ又は複数のセンサそれぞれからのリアルタイム入力を受け入れるステップを含む、請求項１に記載の方法。
【請求項６】
前記更新されたｐ、ｖ、及びａを受け入れるステップは、
ｐに関して、回転シャフト位置センサからのリアルタイム入力を受け入れるステップを含み、
前記モーションコントローラは、ステッパモータを制御するように適合され、
前記センサの分解能は、前記ステッパモータの１ステップの少なくとも４分の１である、請求項１に記載の方法。
【請求項７】
前記更新されたｐ、ｖ、及びａを受け入れるステップは、
回転シャフト位置センサからリアルタイムシャフト位置入力ｘを受け入れるステップを含み、
前記モーションコントローラは、ステッパモータを制御するように適合され、
前記センサの分解能は、前記ステッパモータの１ステップの少なくとも４分の１であり、
前記更新されたｐは、入力ｘ及び出力ｐを含む位置補正ルックアップテーブルからのものである、請求項１に記載の方法。
【請求項８】
前記（ｐ、ｖ、ａ、又はｊ）の任意の組合せをモーションコントローラに出力するステップは、ｐを出力することを含まない、請求項１に記載の方法。
【請求項９】
前記（ｐ、ｖ、ａ、又はｊ）の任意の組合せをモーションコントローラに出力するステップは、ｐを出力することを含まず、且つｖを出力することを含まない、請求項１に記載の方法。
【請求項１０】
前記エンドポイント条件は、（ｐ、ｖ、及びｔｔ）の任意の個々の要素又は組合せが、それぞれ前記ターゲット位置、前記ターゲット速度、及びゼロの所定の限度内にあるという条件を含む、請求項１に記載の方法。
【請求項１１】
前記ｔｔを推定するステップは、前記方法の実行のシミュレーションに応答し、候補ｔｔ値が変更され、前記第１の状態ベクトル、前記ターゲットベクトル、及びｔｓが一定に保たれる、請求項１に記載の方法。
【請求項１２】
前記ｔｔを推定するステップは、前記シミュレーション中の速度曲線の最適化にさらに応答し、前記最適化の目標は、最大の線形性を有する速度曲線である、請求項１１に記載の方法。
【請求項１３】
前記定数ｃ、ｄ、及びｅは、それぞれ値６、４、及び３を有し、値６、４、及び３付近でそれぞれ所定の範囲を有する、請求項１に記載の方法。
【請求項１４】
前記それぞれの範囲はゼロである、請求項１３に記載の方法。
【請求項１５】
前記エンドポイント条件は、
ｐの所定の最終的な位置精度内のｐ、
ｖの所定の最終的な速度精度内のｖ、
所定の最終的な加速度範囲外のａ、及び
所定の最終的なジャーク範囲外のｊ
の任意の組合せに応答する、請求項１に記載の方法。
【請求項１６】
前記モーションコントローラは、逆ＳＣＡＲＡアームを備える機械ツールの運動を制御する、請求項１に記載の方法。
【請求項１７】
（ｖｉｉ）２つ以上の軸に関して、各推定到着時間間隔ｔｔ’を計算し、前記２つ以上の軸の全てに関するｔｔの値として、前記各ｔｔ’の最大値を選択するステップ
を追加として含み、
ステップ（ｖｉｉ）は、ステップ（ｉｉ）において、又はステップ（ｉｉ）の前に、実施される、請求項１に記載の方法。
【請求項１８】
前記モーションコントローラは、ステップ（ｖ）からの入力ａと、出力Ｉとを含む非線形テーブルを含み、
ここで、Ｉは、前記モーションコントローラによって制御されるモータ内の１つ又は複数のコイル電流である、請求項１に記載の方法。
【請求項１９】
請求項１に記載の方法を実施する、デバイス。
【請求項２０】
請求項１に記載の方法を実施する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１６年４月２７日出願の米国仮出願第６２／３２８，５４４号明細書に対する優先権を主張するものである。従来技術には、米国特許出願公開第５７７０８２９Ａ明細書、「Ｋａｔｚ」；米国特許第９０４１３３７Ｂ２号明細書、「Ｔｉａｎ」；米国特許出願公開第２０１３０１９７６８８Ａ号明細書、「Ｅｇｉ」；及び米国特許出願公開第４７６９５８３Ａ号明細書、「Ｇｏｏｒ」が含まれる。
【０００２】
本発明の分野は、対象物を所望の経路に沿って移動させるための機械である。より具体的には、本発明の分野は、機械的動作制御及び非機械的プロセスを含む、閉ループシステムにおけるモーションコントローラである。対象物はツールヘッドでよく、経路は任意の数の軸における機械加工経路でよい。例えば、典型的な３Ｄプリンタでは、各増分層は、プリントヘッドを２Ｄ平面内のベクトルパターンで駆動させることによって構築される。固定されたワークピースの上方でツールヘッドを駆動させるのと同様に、固定されたツールヘッドの下方でワークピースが駆動されることもある。
【背景技術】
【０００３】
従来技術は、多くの場合、Ｇコードなど読み取り可能なテキスト及び数値形式の一連の移動命令を使用する。ここで、各移動命令は、機械のハードウェアによって直接実行されるか、又はコントローラによってよって小さいステップに分解され、これらのステップが駆動メカニズムに出力するために使用される。モータは、パルス、マイクロステップ、パルス幅変調（ＰＷＭ）、又はアナログ電流若しくは電圧波形によって駆動されるステッパ又はサーボでよい。最後のモータ制御出力を除いて、Ｇコードよりも前の全てのデータ処理は、非リアルタイムで事前に行われてよい。従来技術は、被制御システムに関する所望の位置又は速度ウェイポイントを計算する。
【０００４】
従来技術は、比例−積分−微分（ＰＩＤ）コントローラの使用を含む。
【０００５】
移動命令を所要な低レベルのモータ制御出力に変換するのに必要な分解は、「モーションエンジン」と呼ばれることがある。これは、方法、及び方法ステップを実行する機械の両方を表す。典型的には、計算要件が高く、高い計算精度と高速処理の両方を必要とする。
【０００６】
さらに、計算「モーションエンジン」による移動命令からの従来技術の計算シーケンス（データ処理ステップ）は、開ループシーケンスである。すなわち、計算シーケンスは、ツールヘッド（又は他の駆動される物体）の任意の実際の測定されたリアルタイム位置又はシステムの他のパラメータを考慮に入れ、その情報を使用してモーションエンジンの出力又はモータ制御出力を動的に変えることはしない。
【０００７】
従来技術は、モーションエンジンから実際のモータまでの開ループシステムを使用することがある。例として、ステッパモータへのステップ（マイクロステップを含む）、又はサーボモータへの電圧若しくは電流が挙げられる。ＰＷＭやマイクロステッピングなどの変調は、開ループのトポロジーを変えない。モータにおける基本的な閉ループ制御は、ステッパモータにおける欠落ステップの検出、又はステップ時間の測定を含むことがある。閉ループモータ制御は、モーションエンジンからの所望の位置コマンドを維持するために位置を測定してよく、又はモーションエンジンからの所望の速度を維持するために速度を測定してもよい。
【０００８】
いくつかの従来技術は、モーションコントローラへの入力として、ツールヘッド又はワークピースからのフィードバックを使用する。しかしながら、そのようなシステムは、制御ループの安定性の必要性と、動作コマンドと実際のツールヘッド位置との間の比較的長い遅延とにより、遅くなる傾向がある。これは、急速に変化する入力を有するＰＩＤコントローラの既知の弱点である。また、そのようなフィードバックシステムは複雑であり、直にツールヘッドにおける非常に高い精度の測定を必要とする。機械の剛性要件は、典型的には、そのような機械を大きく且つ高価にする。
【０００９】
従来技術のさらに別の弱点は、フィードバックループを達成するためのターゲットとして、単一のスカラー（位置など）のみを使用することである。
【００１０】
従来技術のフィードバック方法及びデバイスのさらに別の弱点は、制御下のシステムの以前の動作又は状態の「記憶」を有することである。時変入力の場合、そのような「記憶」は、大きな誤差又は遅い整定時間を生み出すことがある。例えば、ＰＩＤコントローラでのＩ（積分）項は、その定義により「記憶」である。
【００１１】
従来技術のさらに別の弱点は、非直交軸上の別個のフィードバックループとして構成されたときに、ＰＩＤなどの方法がうまく機能しないことである。例えば、１つの軸上の運動が、別の軸上の運動に影響を与えることがあり、「ドリフト」、「オフセット」、又は他の誤差として現れる。そのような誤差を補償する試みは遅く、また、その後、他の軸が何らかの他の運動をしているときに、その補償がそこで誤差を生じる。
【００１２】
いくつかの従来技術は、「バングバング型」コントローラなど、２値又は３値の数値の形でジャークを考慮に入れる。
【００１３】
従来技術のさらに別の弱点は、フィードバックの生成において、既知のシステム速度及び加速度を利用していないことである。ＰＩＤコントローラなど一部のコントローラは、例えばＩ（積分）項の使用によって、速度と同様の値を「計算」するが、この値は、実際のリアルタイム速度の尺度ではなく、計算されたものである。そのため、誤差、ノイズ、安定性の問題、及びシステムの変化に対する遅い応答をもたらすことがある。
【００１４】
機械システムを、シナリオ、実践、及び実施形態と呼ぶが、特許請求する範囲には、カメラ制御、照明制御、及び動的生物学的システムにおける用途を含めた、産業プロセス及び非産業プロセスを含む非機械システムが含まれる。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
本発明の実施形態は、従来技術における上記の弱点を克服する。
【課題を解決するための手段】
【００１６】
特に、モーションエンジンの１つの実施形態は、導関数の計算定義を使用して、加速度の運動導関数である数値的な「ジャーク」を反復して計算する。これらの実施形態を、それぞれ「反復ジャーク」法又はデバイスの実行又は実装と呼ぶ。これらの反復ステップは、３Ｄプリンタなどの機械システムからのフィードバックを使用して、モーションエンジンの出力及びモータ制御出力の品質を向上させる。
【００１７】
一実施形態は、各「移動」を、必要な数の軸で、位置と速度の両方を含むターゲット、目標点、又は「ウェイポイント」とみなす。レート及びスピードは、速度に対する代替の用語である。ターゲット又は目標は、ツールヘッドがウェイポイント位置とウェイポイント速度の両方に到達することである。モーションエンジンの各反復では、現在のツールヘッド位置、速度、及び加速度、並びにターゲット位置及びターゲット速度など、機械の現在の状態に関するデータのみが、モーションエンジンの方法ステップによって考慮に入れられる。すなわち、実際にどの経路が追跡されるか、すなわち現在のウェイポイントへの現在の経路上での運動履歴は、モーションコントロールエンジン法では重要でないか、又は使用されない。
【００１８】
いくつかの実施形態は、目標、入力、及び利益として、ターゲット位置とターゲット速度の両方を使用する。
【００１９】
いくつかの実施形態は、リアルタイム測定位置、測定された速度、及び測定された速度を入力として使用する。いくつかの実施形態は、リアルタイム位置フィードバックに基づいて、リアルタイムで計算された速度又は加速度を使用することができる。
【００２０】
いくつかの実施形態は、モーションエンジンの出力を、軸ごとに、線形的な滑らかに変化する加速度スカラーとしてのみ使用する。いくつかの実施形態は、最初にジャークを計算し、次いでこれを現在の加速度値に適用して、次の反復のための出力加速度値と新たな加速度値の両方を生成する。リアルタイム「コマンド」としてのこの加速度値は、モータドライバに送信され、これは、開ループ又は閉ループのいずれかでよく、所望の指令された加速を実行及び維持する。中間位置又は速度が、モーションコントロールエンジンからモータコントローラへのコマンドとして使用されないことに留意されたい。モータコントローラに関する代替の名称は、モータドライバである。
【００２１】
いくつかの実施形態は、モーションエンジンへの入力として提供される次のウェイポイントまでの移動時間を有さない。むしろ、いくつかの実施形態は、次のウェイポイントへの移動時間を計算する。そのような計算は、最適化、非反復計算、又は推定でよい。１つの最適化は、現在の位置又はウェイポイントから次の又はターゲットウェイポイントまでの速度値の平滑性、すなわち線形性を最大にする移動時間を生成することである。いくつかの実施形態は、モーションエンジンへの入力として最大速度限度を含まない。いくつかの実施形態は、デカルト座標を、２軸ＳＣＡＲＡアーム運動系によって使用されるような極座標に変換する。いくつかの実施形態は、非線形及び非直交系を含む他の２軸及び多軸座標系を含む。
【００２２】
説明の目的で「数学」、「式」、及び「アルゴリズム」が使用されているが、機能的な特許性のある方法及びデバイスの隔離において任意のそのようなものに対して請求項は成されていないことに留意されたい。ソフトウェアについて成された請求項も、そのようなものではない。範囲のそのような制限は、適切な請求項の構成に必要である。
【図面の簡単な説明】
【００２３】
【図１】デバイス及び方法の両方の実施形態のブロック図である。
【図２】一実施形態を含む制御システムのブロック図である。
【図３】一実施形態を含む代替の制御システムのブロック図である。
【図４】従来技術を示す図である。
【図５】スプレッドシート形式での方法の例示的な実行の開始初期値を示す図である。
【図６】図５における方法の例示的な実行に関する反復の実行を示す図である。
【図７Ａ】図６における方法の例示的な実行からの位置のグラフを示す図である。
【図７Ｂ】図６における方法の例示的な実行からの速度のグラフを示す図である。
【図８Ａ】図６における方法の例示的な実行からの加速度のグラフを示す図である。
【図８Ｂ】図６における方法の例示的な実行からのジャークのグラフを示す図である。
【図９】図５〜８Ｂで使用される式を示す図である。
【図１０】方法の別の例示的な実行のためのスプレッドシートの一部を示す図である。
【図１１】ＣＡＤシステムから実行までのデータフローのブロック図である。
【発明を実施するための形態】
【００２４】
全ての図、論述、及びシナリオは、非限定的な例示的実施形態である。
【００２５】
図１は、デバイス及び方法の一実施形態のブロック図を示す。元の出願の請求項１と併せてこの図を検討することは有益である。
【００２６】
システムプロセス７１は、特許請求するいくつかの実施形態の一部であるが、他の実施形態の一部ではない。いずれにせよ、これは、実施形態による閉ループ制御下のシステムであり、典型的には機械システムであるが、必ずしもそうである必要はない。図示されているように、システムは、適切にはシステムプロセス７１内でよく、又はシステムプロセス７１外でもよい出力、又は測定結果、又はセンサ値、又は計算結果として、現在の位置、現在の速度、及び現在の加速度を提供する。これら３つの出力はいずれも、直接測定するのではなく、センサデータから計算することもできる。例えば、シャフト位置センサなどの適切な位置センサからのデータを使用して、現在の速度及び現在の加速度を計算することができる。
【００２７】
実施形態への入力は、右上に示されているターゲット位置及びターゲット速度である。多くの場合、ターゲット位置とターゲット速度との組合せは、次のウェイポイント又は「目標」と呼ばれる。本発明の核心となる新規性及び利益は、ただ１つのウェイポイントとしてターゲット位置とターゲット速度との両方に到達しなければならないことである。いくつかの実施形態の目標は、これを好適に実現することである。
【００２８】
本発明の核心となる新規性は、図示されるように、出力としてジャーク７８又は加速度８２を生成し、また、位置、位置誤差、速度、又は速度誤差信号を生成してシステム又はプロセス７１に戻すことができる要素又はステップ７３、７４、７５、７６、７７、７８、及び７９を含む方法である。
【００２９】
図中で用いる「ｔ」という用語は、推定又は計算されたものである。
【００３０】
減算器モジュール７２は、ターゲット位置と現在位置との間の位置差分値を生成する。これは、少なくとも従来技術の文脈では、位置に関する「エラー」信号としかみなされないことがある。
【００３１】
モジュール７３は、位置差分値に４を乗算し、スケーリングされた位置差分値を距離単位で生成する。
【００３２】
モジュール７４は、現在の速度に３を乗算し、次いで反復時間を乗算して、スケーリングされた現在の速度値を距離単位で生成する。
【００３３】
モジュール７５は、ターゲット速度に反復時間（iteration time）を乗算し、スケーリングされたターゲット速度値を距離単位で生成する。
【００３４】
モジュール７６は、以下の４つの値を加算する。（ｉ）距離単位での、現在の加速度に反復時間の２乗を乗算した値、（ｉｉ）スケーリングされた位置の差、（ｉｉｉ）スケーリングされた現在の速度に反復時間を乗算した値、及び（ｉｖ）ターゲット速度に反復時間を乗算した値。次いで、これら４つの距離単位値の和を反復時間の３乗で除算し、未補正ジャーク和をジャーク（加速度の微分）単位で生成する。
【００３５】
モジュール７７は、未補正ジャーク和に−６を乗算し、スケーリングされたジャークの値を生成する（参照番号７８として示される）。参照番号７８でのこの値が、実施形態の１つの出力である。このジャーク値７８に反復時間間隔などの時間間隔を乗算し、又は時間間隔にわたって積分して、加速度又はトルク８２を生成することができる。この加速度値は、任意選択的に、加算モジュール又はステップ８０において現在の加速度に加算され、これが次いで所望の加速度となり、次いで、システム又はプロセス７１に主フィードバック信号又は唯一のフィードバック信号としてフィードバックされる。任意選択的な要素８０及び８１は、加速度を修正することができ、例えば計算結果の出力を線形化して、システム又はプロセス（例えばモータ電流又は位相角）に実際の駆動信号をより密接に合致させて、所望の加速度を実際に生成する。
【００３６】
続いて、このジャーク値を加速度値に変換してシステム又はプロセス７１にフィードバックする際、ジャークを加速度単位に変換するためにモジュール７９においてジャーク７８に反復時間が乗算されて、次いでこれが、任意選択的にモジュール８０において現在の加速度に加えられて、「フィードバック加速度」を生成する。これは、次の反復サイクルのための「ターゲット加速度」とみなすことができる。理想的には、システム又はプロセス７１は、加速のためにこのフィードバック加速度を使用する。完全なシステムでは、各反復においてシステム又はプロセス７１から出力される現在の加速度は、前の反復からの入力フィードバック加速度に等しい。
【００３７】
「ｘｔ」という用語は、ｔが乗算されたことを意味する。
【００３８】
いくつかの実施形態は、図示されているモジュールを組み合わせることもできることに留意されたい。モジュール及びそれらの計算は、並列に、又は順次に、又は任意の組合せで動作することができる。計算は、ディジタル若しくはアナログ、又はそれらの組合せでよい。計算は、プロセッサ、マイクロコントローラ、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＦＰＧＡ、ハードワイヤードロジック、又は他の手段によって行うことができる。
【００３９】
ここで図２を見ると、例示的実施形態が示されている。実装は、連続的でも離散的でもよい。実装は、マイクロコントローラ、ＤＳＰチップ、ＦＰＧＡ、ハードワイヤード電子機器などを使用することができる。当業者に知られているように、要素及びステップを実装するための多くの種々の技術及び方法がある。個々の要素又はステップは、ＦＧＰＡ又は他のチップなど単一の物理的な要素に組み合わされてもよい。要素とステップとの関連性は、直接的でも間接的でもよく、信号はワイヤを介して通信されてもよく、又はディジタル値が広範な技術、スピード、距離で通信されてもよい。
【００４０】
制御されるシステムは、参照番号１１７として示されている。これは、本明細書において他の箇所で述べる機械ツール、多くの他のシステムのモータでよい。参照番号１１６は、フィードバックプロセスであり、典型的には計算である。例えばＰＩＤコントローラでよい。これは、以下の形の式でよい。
ｊ＝−（６×（４×ｐ−４×ｐｔ＋ａ×（ｔｔ＾２）＋３×ｔｔ×ｖ＋（ｔｔ）×ｖｔ））／（ｔｔ＾３）
ここで、ｊはジャーク値、ｐは位置、ａは加速度、ｖは速度、ｐｔはターゲット位置、ｖｔはターゲット速度、ｔｔはターゲット位置に到達するまでの残り時間である。ジャークｊに反復間隔時間を乗算して、又はある期間にわたって積分して、加速度を生成することができる。この加速度は、要素１１６の出力でよい。要素１１６のフィードバックプロセスの多くの他の形態は、当業者に知られている。フィードバックプロセス１１６は、参照番号１２０として示されるウェイポイント、位置、速度、又は位置と速度の両方などの目標を受け入れる。フィードバックプロセス１１６は、所望の加速度１１５を出力する。上式での定数６、４、及び３は、理想的には厳密にこれらの数値にすべきである。しかしながら、±１％、±３％、±５％、又は±１０％などのわずかな変化も、許容範囲内の結果をもたらすことができ、これらの各範囲も特許請求する。したがって、公称定数値に対するそのような変更は、これらの値の適正な構成である。同等の結果に関しては、特許侵害の判断に均等論が適用される。
【００４１】
強制関数実行１０４は、計算要素１０４に提供されるものとして示されている非線形強制関数１０５を使用して、所望の加速度１１５を所望の強制値１０６に変換する。強制関数１０５は、静的でも、動的に更新されてもよい。要素又はステップ１０４によって計算される強制関数１０５の目的は、フィードバックループを線形化することである。
【００４２】
要素又はステップ１０７は、所望の強制値１０６から、及び任意選択的に現在の駆動位置１０８から、所望の駆動値１０９を計算する。例えば、所望の強制値１０６は、ニュートン・メートルの単位などのトルクとして測定することができる。所望の駆動値は、被制御システム１１７内のモータ又は他のアクチュエータを駆動する実際の信号により密接に合致する電界強度、コイル電流、モータ電圧、ＰＷＭパーセンテージ、又は他のパラメータでよい。要素又はステップ１０７での計算は、線形乗算又は加算のような簡単なものでよく、単位変換を効果的に行う。要素又はステップ１０７におけるより複雑な計算は、シャフト角度又は位相など現在の駆動位置１０８を考慮することであり得る。所望の強制値１０９は、現在の駆動位置１０８からの位相オフセットなどの差でよい。一例として、所望の強制値１０６は、公称で所望の加速度１１５を実現するためのモータトルクでよい。要素１１６からの所望の加速度値１１５は、主制御ループの数回の反復にわたって比較的一定でよい。しかしながら、これらの反復中、システム１１７内の多相モータは、複数の位相を循環する。したがって、現在の駆動位置１０８は反復して循環し、所望の駆動値、この例では差分位相角も複数の位相を循環する。
【００４３】
要素又はステップ１１０では、出力値が、所望の駆動値から生成又は計算される。いくつかの実施形態では、このステップは任意選択的である。この要素ステップ１１０は、トルク又は位相オフセット角などの駆動値を２つの位相角、１つ又は複数の電圧、又はＰＷＭパーセンテージに変換する必要があり得る。要素又はステップ１１０は、２コイルステッパモータなどの２相モータを駆動するのに必要なように、スカラー入力１０９を２つの出力に変換するために必要とされることがある。いくつかの実施形態は、３つの出力位相を必要とする。そのような変換は、用途又は実施形態に依存する。要素又はステップ１１０は任意選択的である。要素又はステップ１１０の出力は、参照番号１１１として示されている。
【００４４】
要素又はステップ１１２は任意選択的である。例えば、それらの入力１１１は、ＰＷＭパーセンテージでよい。次いで、変調器１１２は、それらの入力１１１で指定されたデューティサイクルを有するＰＷＭパルス列を生成することができる。変調器１１２は、増幅器、又はモータコイル用の電流ドライバなど他の電子ドライバでよい。変調器又は増幅器１１２の出力は参照番号１１３として示されており、典型的には、被制御システム１１７内のモータなどのアクチュエータに直接接続されるが、増幅器やリミッタなどの追加の介在要素があってもよい。図２は、要素１１１、１１２、及び１１３が二重に示されているので、２つのチャネルを示している。そのような実施形態は、例えば２コイルステッパモータに適している。様々な実施形態は、１つ、２つ、３つ、又は４つ以上のチャネルを有することができる。
【００４５】
被制御システム１１７は、出力信号１１４を提供する。出力信号１１４は、位置、速度、又は温度など他のパラメータでよい。この信号１１４は、スカラー、ベクトル、又は集合でよい。例えば、位置と速度の両方を含むことができる。典型的には、シャフトエンコーダなど、被制御システム１１７内のセンサによって提供される。広範なセンサが当該技術分野において知られており、システム及び実施形態に依存する。信号１１４は、システム１１７からフィードバックプロセス又は計算１１６への「フィードバック」として提供される。
【００４６】
この主閉ループは、経路１１６、１１５、１０４、１０６、１０７、１０９、１１０、１１１、１１２、１１３、１１７、１１４である。いくつかの要素又はステップは任意選択的である、又は「パススルー」であることを再度指摘しておく。閉ループシステムの目標１２０は、適切には主フィードバックループにはなく、むしろこの実施形態又はシステムにそのターゲットについて通知することに留意されたい。また、要素又はステップ１０４では強制関数が使用されるが、強制関数１０５を提供することは、適切には主フィードバックループの外部にある。
【００４７】
被制御システム１１７をモータ又は機械ツールなどの機械システムと考え、要素又はステップ１１６を純粋に計算ステップと考えるのが好都合であるが、これに限定されない。
【００４８】
図２を図４の従来技術と比較すると、図４での「プラント／プロセス」は、概して図２のシステム１１７である。Ｐ、Ｉ、及びＤの計算、及び２つの加算は、主フィードバックプロセス要素又はステップ１１６の内部にある。図４でのｒ（ｔ）は、図２での目標１２０に対応する。従来技術の図４でのＰＩＤループは、強制関数要素又はステップ１０４を含まず、非線形計算を含まないことに留意されたい。従来技術は、速度と位置の両方の入力を目標として計算に含まない。
【００４９】
いくつかの実施形態では、信号１０８、すなわち現在の駆動位置は必要とされないことがある。例えば、単純なシングルチャネルＤＣサーボ用途では、強制値１０６はトルク又は電圧でよい。この値は、システム１１７内のサーボモータを直接駆動する増幅器である単一の変調器１１２に直接渡ることがある。そのような単純なシステムでさえ、要素又はステップ１０４における非線形強制関数は有益であり得る。サーボモータトルクは、電圧に対して線形ではないことがあり、この要素又はステップはそれを補正することができる。いくつかの実施形態では、要素又はステップ１０４は、モータスピード、モータ負荷、システム温度、又は他の多くの因子のいずれかなど、図１に示されていない追加の入力を有することができる。
【００５０】
図２に示される主閉ループ制御システムは、典型的には単一の軸又は単一のスカラー（例えば温度）のためのものである。しかしながら、実際には、複数の軸を制御することが必要であることが多い。１つのそのような方法は、各軸ごとに個別に、図２の制御システムのコピーを本質的に複製することである。しかしながら、多くの場合、軸は完全には独立しておらず、例えば、単一のウェイポイントが複数の軸でのターゲット位置を含む。したがって、図２でのいくつかの要素は、各軸の各実装間で共有され得る。
【００５１】
いくつかの実施形態は、温度の制御など、対応する又は類似の要素を有する非機械システムを含み、そのようなシステムに適用される。
【００５２】
また、図２は、追加のフィードバックループを示しており、これを「外部ループ」と呼ぶ。このフィードバックループは、被制御システム１１７を観察し、その観察結果１１８は、要素又はステップ１１９に強制関数１０５を選択又は計算させ、この強制関数１０５は次いで、主制御ループ内の要素又はステップ１０４によって使用される。この外部ループは、典型的には、主制御ループよりもはるかに遅い反復レートで動作する。モータ又は負荷などの構成要素が被制御システム１１７内で交換されるたびに１回の反復程度の遅さでよい。外部ループは、要素又はステップ１１９が強制関数１０５を選択又は計算することを可能にすることを明示的な目的として、被制御システム１１７の較正又は他の操作の実行時にのみ動作してもよい。外部ループは、連続的に動作して、動作中に被制御システム１１７を観察し、定期的に強制関数１０５を更新することができる。
【００５３】
また、図２は、要素又はステップ１０８、１０７、１０９、１１０、１１１、１１２、１１３、及び１１７を含む「内部ループ」も示している。この内部ループは、被制御システム１１７内のモータ又は他のアクチュエータの近くで動作する。例えば、その役割は、モータ内で所望の界磁束又はコイル電流を提供することでよい。所望の強制値１０６を実装して維持するために、この内部制御ループの役割を考えることができる。内部制御ループは、典型的には、主制御ループよりも速い反復レートで動作する。しかしながら、その反復レートは、主制御ループの反復レートと同じくらい遅くてもよい。例えば、主制御ループは、毎秒１００〜１０００回のレートで動作することがあり、内部制御ループは、毎秒１０００〜百万回のレートで動作する。これらのレートは、用途に応じて大幅に異なることがある。例えば、衛星通信用の高速変調器は、ギガヘルツのレートで動作することがあり、感染症又は地球温暖化を追跡又は管理するシステムは、数週間程度で循環することがある。内部制御ループは、アナログ電子回路によって実装されることがあり、主制御ループはディジタルである。
【００５４】
ここで図３を参照して、いくつかの異なる実施形態を考察する。主要な実施形態は、図示されている入力及び構造要素の使用を含む、太線のボックス１７８の閉ループ制御方法及びデバイスである。そのような実施形態は、ターゲット位置１６２及びターゲット速度１６３を受け入れる。実施形態の動作は、具体的には、閉ループ及びリアルタイム反復を行うことによって、現在の移動の最後にターゲット位置１６２とターゲット速度１６３の両方に到達することである。リアルタイム入力は、現在の位置及び現在の速度を含む。これらは物理的システム、例えばモータ１６７から測定されてよく、又は位置のみが測定され（参照番号１６９）、速度は、ボックス１６１において位置から計算されてもよい。そのような計算は、ボックス１７８内に示されている反復レートなど全体的なループに関するものよりも速くてよく、又はより高周波数でよく、又はより高い帯域幅でよい。また、ボックス１６６でのフィードバックは、全体的なループよりも速くてよく、又はより高周波数でよく、又はより高い帯域幅でよい。実際、特に、ボックス１６６−１６７−１６８を含むループ、若しくはボックス１６１における計算、又はその両方がループレートよりも速いので、実施形態及びこのアーキテクチャの核心的な利益は、より高いシステム性能である。このようなレートの違いは、いくつかの実施形態として特許請求する。
【００５５】
ボックス１６１自体は従来技術であるが、この要素はいくつかの実施形態に含まれる。
【００５６】
閉ループ反復プロセスにおける重要であり新規のステップは、要素又はステップ１７０におけるジャークの計算である。いくつかの実施形態は、このステップにおける定義された計算を含み、他の実施形態は、計算の性質を明示的に含まない。ジャーク計算の要素又はステップ１７０は特許請求の範囲外の場合があり、したがって、そのような計算の指定がなくても、開示の特異性の欠如により請求項が無効にされることはない。典型的には、入力ステップ１７０は、現在の位置、速度、及び加速度、並びにターゲット位置及び速度を含む。要素又はステップ１７０の出力は、ジャークスカラー１７１である。ステップ１７２では、ジャークがトルク又は加速度値に変換される。そのような変換は、線形定数でよく、値１を有することがある。すなわち、変換は、単に、単位の変更を伴うパススルー関数である。このステップ１７２の出力は、加速度又はトルクスカラー１７３である。ステップ１７０が特許請求の範囲外にある実施形態では、要素又はステップ１７２は、ジャーク値を入力として受け入れる。いくつかの実施形態では任意選択的である、又は存在しない強制関数１７４は、位相角オフセット又は不感帯などの関数としての非線形モータトルクなど、システムにおける非線形性を補正する。また、強制関数１７４は、シャフトエンコーダ１６８又は任意の他のセンサの偏心性又は非線形性を補正することもできる。また、強制関数１７４は、限度を計算し、テストし、又は施行することもある。強制関数１７４の出力１７５は、単位のないスカラーＱであり、これは、モータ１６７又は他のターゲットを駆動させるために比較的単純な変調器／ドライバ１６６によって使用され得る。しかしながら、値１７５は、位置でも速度でもない。値１７５は、トルクと共に変化する。変調器／ドライバ１６６は、位置又は速度を達成するためのステップ又はデバイスではない。例えば、変調器／ドライバ１６６は、一般に位置コマンドであるステップコマンドに基づいてステッピングモータにステップを単に生成するのではなく、生成されるレートを考慮しながら速度コマンドを考慮することができる。値１７５の一例は、モータ位相オフセットである。そのようなオフセットは、物理的なモータシャフト位置とモータコイルの磁場強度との相違である。そのようなオフセットは、モータシャフトにトルクを提供する。位相角とトルクの関係は線形ではないことがあり、これは、ステップ１７４のいくつかの実施形態における目的となる。目的変調器／ドライバ１６６は、強制関数１７４によって線形化、制限、又は他の形で修正された所望のトルク値１７３からモータへの単純な変換とみなすことができる。すなわち、モジュラ／ドライバ１６６は、モータ１６７を駆動させて、所望のモータトルクを実現する。一例では、本明細書で上述したように、モジュラはパルス幅変調器（ＰＷＭ）であり、０％〜１００％の範囲内の入力を有して動作し、このスカラー入力を、２コイルステッピングモータを駆動するのに必要な２つの位相に変換する。いくつかの実施形態では、モータは、従来のＤＣサーボモータのように単一のコイルを有するか、又は３つ以上のコイルを有することがある。変調器ドライバが、入力１７５を介して指令された位相オフセットを維持するために、現在のシャフト又はロータ位相を知る必要があり、これは、図に示されるように、シャフトエンコーダ又は他の位置エンコーダ１６８を介して提供することができる。いくつかの実施形態では、モジュラ／ドライバ１６６は、特許請求する範囲の一部ではない。いくつかの実施形態では、モータ１６７及びエンコーダ２６８は、特許請求する範囲の一部ではない。しかしながら、他の実施形態は、図に示されるように、完全な閉ループシステムを含む。
【００５７】
モジュール１６６の要素又はステップの一実施形態は、以下のようである。
（ｉ）回転子の現在の位置が「位相」に変換される。位相は、単位変換に関して、ステップの数を４で割った値（モジュラス２π）でよい。
（ｉｉ）「ディテント力平衡表」を使用し、次いで「クランプされた強制値」をそこに加えることによって、中立フィールド位相が決定される。ディテント力平衡表は、フィールド値（ｙ）に対する回転子（ｘ）の位相である。この表はデバイス較正中に作成されても、時々更新されてもよい。この表は、外部から供給されてもよい。クランプされた強制値は、固定される、正規化される、又は＋若しくは−９０度の範囲に制限される。
（ｉｉｉ）次いで、上記の中立フィールド位相は、２つのモータ位相の正弦及び余弦を表すパルス幅変調（ＰＷＭ）デューティサイクルのための「成形された波形」において調べられる。ＰＷＭ変調器の出力は、実質的に、モータ巻線の電流、電圧、電力、又は電界強度である。ＰＷＭ変調器の出力は、モータトルク及びそのトルクの方向を決定する。
【００５８】
引き続き図３を見ると、いくつかの場合には、強制関数１７４が時々刻々変化する。実効強制関数は、参照番号１７６で示されるように、物理的なシステムから定期的に測定され、次いで要素又はステップ１７４に更新される。そのような測定は、それ自体、閉ループシステムとみなすことができる。しかしながら、そのようなループは、典型的には、反復移動コントローラ１７８よりもはるかに遅く、又ははるかに低い頻度で動作する。様々な強制関数及び測定技法は、本明細書及びまた様々な図で上述し、請求項におけるいくつかの実施形態でも述べる。シャフトエンコーダ１６８は、光又は磁気エンコーダでよい。シャフトエンコーダ１６８は、モータ１６７のシャフトに取り付けられた、又はモータ１６７のシャフトに接続された磁石を有する単一又は複数のホール効果センサＩＣでよい。いくつかのホール効果センサは、かなりの非線形性及び偏心性を有することがある。そのような補正は、ステップ１６１においてエンコーダ１６８内で行われても、強制関数１７４によって行われてもよい。また、強制関数１７４のいくつかの実施形態は、現在の位置、若しくは現在の速度、又はその両方に応答する。例えば、エンコーダ１６８の偏心性は、現在の位置を知ることを必要とすることがある。別の例として、現在の速度を考慮することによって、モータの逆起電力又は摩擦を考慮に入れることができる。信号１７６の一実施形態では、強制関数１７４を定期的に更新するために、単位のない値Ｑ、及びステップ１６１からの現在の加速度が使用される。適切なホール効果センサは、ＡＭＷ  ＡＳ５３１１（ａｍｓ  ＡＧ，Ｔｏｂｅｌｂａｄｅｒ  Ｓｔｒａｓｓｅ  ３０，８１４１  Ｐｒｅｍｓｔａｅｔｔｅｎ，Ａｕｓｔｒｉａ）である。
【００５９】
図３では、タイマが参照番号１７７として示されている。タイマは、閉ループプロセス１７８に時間基準１６５を提供する。典型的には、時間間隔１６５は、ループの各反復に対応する。アナログシステム、サブシステム、又は構成要素に関して、微分ステップは、それらの定数又は単位（例えば、メートル／秒、又はラジアン／（秒の２乗）など）の性質によって、実効タイマ間隔を有する。
【００６０】
閉ループプロセス１７８の実施形態の重要な側面は、以前の位置、速度、加速度、又はジャークの「記憶」が保持されないことであるが、参照番号１６１などの要素は、単純なシャフト位置入力１６９から実際のシステム位置を計算するためにメモリを必要とする可能性が高い。いくつかのシステムの全範囲は、モータシャフトの多数回のサイクルでよい。さらに、ステップ１６１での速度の計算は、少なくとも前の位置を知ることを必要とする。
【００６１】
図４は、従来技術、すなわち比例積分微分「ＰＩＤ」閉ループ制御を示している。そのような従来技術はよく知られており、ここでは詳細には述べない。そのようなループは、単一のターゲットパラメータ、典型的には位置のみを制御することに留意されたい。ターゲット位置とターゲット速度の両方に到達するように制御することはできない。ＰＩＤコントローラの別の欠点は、積分Ｉ項と微分Ｄ項の両方の形での、「状態」又は履歴情報のその固有の使用である。変化する入力に対して、そのような状態履歴は、新たに入力される目標とは実質的に無関係であり、したがって現在の目標の妨げとなる。
【００６２】
ここで図５〜図９を見ると、同じ単一のスプレッドシートの様々な部分が示されており、開始位置と速度との対からの、例示的なターゲット位置と速度との対への約１３回の反復の実行を示している。現在の特許図面の旧式の形式上の制限により、複数の図面が必要である。これらの図中の要素への言及は、行及び列の識別子を含み、スプレッドシートの分野で典型的に示されるように本明細書でも示す。これらの図は、単一の「ライブ」スプレッドシートのスクリーンショットであることに留意されたい。これは、例えば式における図中の行、列、並びに行及び列のセル識別子の使用が内的に一貫性を有することを意味する。これらの図及び本文での情報から、同様のライブスプレッドシートを容易に複製することができる。
【００６３】
図５は、例示的実施形態に関する例示的な開始及び終了ウェイポイントへの入力パラメータを示している。開始状態の位置ｐ、速度ｖ、及び加速度ａが、単位を含めてＥ２：Ｈ５に示されている。セルＧ３：Ｇ５は、これらのパラメータの値に関する数値を有する。ここでは、これらは全てゼロである。ターゲットウェイポイント又は目標状態は、単位を含めてＡ２：Ｄ４に示されている。ウェイポイントは、位置と速度の両方を含む。この対を状態ベクトルと呼ぶことがしばしば好都合である。しかしながら、ほとんどのシステムに関して、完全なシステム状態は追加のパラメータを含むことに留意されたい。ここで、ターゲット位置ｐｔは１０であり、ターゲット速度ｖｔはゼロである。セルＣ３：Ｃ４は、これらのパラメータの値に関する数値を有する。行７及び８は、テキストコメントである。行８には、使用される式がテキストとしてのみ示されおり、演算式は示されていない。この式は、３つの定数６、４、及び３を使用する。スプレッドシートでは、これらは変数名ｍ１＿、ｍ２＿、及びｍ３＿に割り当てられ、セルＩ２：Ｋ５に示されている。これらの定数は、本明細書の他の箇所でさらに詳細に論じる。反復間隔は、セルＬ２：Ｏ３に示されている。値０．２３秒が、セルＮ３に入っている。典型的なシステム実施形態は、しばしば１０ミリ秒（ｍｓ）などの反復間隔の調整を有する。しかしながら、そのような時間は用途に特有であり、ナノ秒から数ヶ月又はさらに広い期間まで広範に変化し得る。
【００６４】
便宜上、上で論じたパラメータは、ブロックＡ１１：Ｄ１８に再現される。このブロックでの１つの新しい値は、推定到着時刻、すなわちＥＴＡ、変数ｔｔである。本明細書の他の箇所で論じるように、この値は、セレクタ又は最適化ステップによって事前に、すなわちリアルタイム操作に先立って決定されることが多い。ここでは、ＥＴＡは３秒であり、セルＣ１７に入っている。
【００６５】
計算されたジャーク、次いでジャークｊから計算された次の加速度（次のａ）が、セルＡ１９：Ｄ２１に示されている。セルＣ２０及びＣ２１は、以下に論じる式を有する。スプレッドシートによって計算されたそれらの式の出力は、それぞれ８．８９及び１．０２として示されている。これら２つの値は、第１の反復のための例示的な方法の出力と考えることができる。しかし、便宜上、ここでは反復ゼロとしてこれを識別する。これら２つの値は、この方法実行経路の出力であり、次の反復のための入力として使用される。
【００６６】
図６は、実際に実行している方法の実施形態を示している。列Ａは、値の名前を含む。列Ｃは、上で論じたように、開始値、最初に計算されたｊ、及び次のａを含む。セルＤ２６：Ｐ３５は式を有しており、図はスプレッドシートによる計算結果を示している。以下に示して論じるように使用された式。Ｃ〜Ｐなどの各列は、実施形態の方法の反復を示している。便宜上、反復回数は行２５に示されている。実施形態の式は、反復回数を直接使用しないことに留意されたい。それぞれ行２９、３０、及び３２におけるターゲット位置ｐｔ、ターゲット速度ｖｔ、反復時間間隔ｔｓは変化しないことに留意されたい。残り時間又はＥＴＡ、ｔｔ、行３１は、各反復において、反復時間間隔ｔｓだけ線形に減少する。この図における位置、速度、加速度、及びジャークに関する値は、スプレッドシートによって生成されたグラフとして、図７Ａ〜図８Ｂにプロットされている。見て分かるように、位置ｐｔ＝１０及び速度ｖｔ＝０のターゲットウェイポイントには、列Ｐのイテレーション１３の近くで実質的に到達している。ここで、ｐ＝９．９９及びｖ＝０．１８である。
【００６７】
図９は、主要な式を示している。この図は、図５〜８Ｂに関して使用されるのと同じスプレッドシートからのスクリーンショットであることに留意されたい。セルＣ１２：Ｃ１８及びＣ２６：Ｃ３２は、これらのセルの値が、上で論じたスプレッドシートのデータ設定領域から単純に複製されることを示している。セルＣ２０の式は、完全にはこの図に示されておらず、さしあたり無視すべきである。実施形態に関する重要な式は、セルＤ３４に示されている。この式は、制御されているシステムに関する「現在の状態」情報のみを使用する。これは、全ての非定数入力が同じ列からのものであることによって、容易に理解することができる。その列は、ここでは列Ｄであり、同じ反復又は現在の時点を表している。すなわち、現在の瞬間的なシステム状態である。セルＤ３５における次の反復に関する加速度は、セルＤ３４におけるジャークｊから計算される。これは、１回の反復時間（ここでは０．２３秒）にわたるジャークの積分である。積分に関する式は、「現在の加速度＋（現在のジャーク−前のジャーク）×イテレーション時間間隔／２」である。次の加速度の初期計算に関して、前のジャーク値はゼロでよいが、必ずしもゼロでなくてもよい。
【００６８】
位置及び速度に関する式も同様に積分であり、それぞれＤ２６：Ｄ２７に示されている。このスプレッドシートでは、実際のシステムがスプレッドシート計算によって実行されていないので、位置を「シミュレート」する必要がある。本明細書の他の箇所で論じるように、典型的には、位置、及び多くの場合、速度はリアルタイム入力であり、計算されない。速度は加速度の積分であり、位置は速度の積分である。
【００６９】
セルＤ２６：Ｄ３５内のライブ式は、セルＤ２６：Ｐ３５に（典型的にはカットアンドペースト操作で）複製される。これらの結果は、図６に数値で示されており、図７Ａ〜８Ｂにプロットされている。ターゲットウェイポイントには、ほぼ反復１３（列Ｐ）で到達するので、さらなる反復はないため、ジャーク及び次の加速度（セルＰ３４：Ｐ３５）の計算はない。
【００７０】
図７Ａは、上記データに基づく位置のプロットを示している。望みに応じて、ｐｔによって設定されるように、開始時のゼロから終了時の１０まで位置が変化することが明らかに分かる。
【００７１】
図７Ｂは、上記データに基づく速度のプロットを示している。望みに応じて、ｖｔによって設定されるように、開始速度と終了速度の両方がゼロであることが明らかに分かる。
【００７２】
図８Ａは、上記データに基づく加速度のプロットを示している。
【００７３】
図８Ｂは、上記データに基づくジャークのプロットを示してる。
【００７４】
ジャーク及び加速度に関する値は、実施形態に関して連続的でなければならないことに留意されたい。これは、典型的には、加速度又はジャークが、−１、０、又は＋１などの制限された値を有する従来技術とは異なる。
【００７５】
従来技術に勝る実施形態の利点は、ノイズ、小さいセンサ誤差、非線形性、摩擦などの実世界の問題に対する本方法の不感受性である。スプレッドシート式を修正して、乱数、固定「ドループ(droop)」、又は摩擦誤差などの誤差を導入することによって、そのような不感応性をテストすることができる。このような実験誤差は、ｐ及びｖに関して、又は他の場所で計算に導入することができる。非常に大きなノイズ又はドループの場合でさえ、通常は妥当な精度でそのターゲット位置及び速度に到達することを観察することができる。そのような実証は読者に委ねる。従来技術の方法はそのような不感応性を有さない。
【００７６】
図７Ａ、図７Ｂ、図８Ａにおけるグラフは、少なくとも一部は図５及び図６に示されている値を使用して、スプレッドシートによって、ライブスプレッドシート内に直接生成される。図７Ａ、図７Ｂ、図８Ａは、スクリーンショットである。
【００７７】
図１０は、上記と同じスプレッドシートを異なるターゲット速度ｖｔで示している。ここで、ターゲット速度は１０であり、セルＣ１６に示されている。列Ｐで見ることができるように、実施形態及びスプレッドシートは、位置と速度の両方について値９．９０で、ほぼ反復１３でこの目標に達した。プロットの観察は、読者のための実習としておく。行２７における速度ｖはほぼ線形であり、行２８での「ソフトスタート」加速度を伴うことに留意されたい。
【００７８】
ここで図１１を参照すると、コンピュータ支援設計（「ＣＡＤ」）又はコンピュータ支援機械加工（「ＣＡＭ」）システムの出力から、機械での設計などのリアルタイム実行までのステップを含む実施形態が示されている。ＣＡＤシステム又は他のソースは、典型的には、Ｇコード４０１若しくはＳＴＰファイルフォーマット（図示せず）などの標準フォーマット、又は独自フォーマット４０３でデータを出力する。パーツ設計からの入力データフォーマットに関係なく、パーサ４０２は、データストリーム又はファイルをパーズして、１組の移動命令４０４を作成する。これらは、動作制御ＡＰＩ４０５と呼ばれるモジュールに入り、動作制御ＡＰＩ４０５は、動作命令４０４を、シーク、トレース、カーブ、移動、又は休止などの既知の１組の可能な移動又はＡＰＩ内の移動に適合させる。モジュール４０５の出力は、運動制御フレームワーク内での１組の移動、若しくはＡＰＩコール若しくはオブジェクト、又は前に定義した１組のオプション、特徴、及び機能である。よく定義された移動４０６が示される。これらの移動は待ち行列４０７に入る。待ち行列は、移動に対して関数を実行することもできるが、図示される実施形態では、単なるＦＩＦＯ待ち行列である。待ち行列を用いる１つの理由は、遠隔又は非リアルタイムであり得るアップストリームモジュール４０１、４０２、４０３、及び４０５を、機械ツールの内部にあるか又は他の形でリアルタイムで実行することができる４０９〜４１４などのリアルタイムモジュールと時間領域マッチングすることである。待ち行列は、実装形態に応じて、「プッシュ」又は「プル」として動作することができる。一実施形態では、待ち行列への入力は非リアルタイムとみなすことができ、出力はリアルタイムとみなされる。待ち行列４０７からの運動コマンド４０８は、プランナ４０９に入力される。プランナは、座標変換、一連のウェイポイントへの移動コマンドの分解、最適化、境界及びエンドポイントの検出、範囲チェック、スケーリング、及び他のステップなど、複数の重要なステップを実施する複雑なものでもよい。座標変換は、極座標系、ＳＣＡＲＡ構成、又は他の多くの機械座標系など、機械座標系におけるデカルト座標系からのものでよい。例えば、油圧弁を用いてバックホーでのショベルの運動を駆動させることは、所望の土の形状の３Ｄデカルトマップからの複雑な変換である。同様に、ステージダンサーへの追跡スポットの制御は、既知の振り付けから光の制御への複雑な変換である。しばしば、移動間の境界は、コーナーでの運動など特殊な処理が必要である。プランナの出力は、暫定ウェイポイント４１０として示される。任意選択的なステップは、加速度オプティマイザ４１１である。或いは、このモジュール４１１内の操作は、プランナ４０９において実行することもできる。典型的には、このモジュール４１１は機械特有且つ用途特有であり、例えば、材料など部品の既知の詳細、又は１つの機械に固有の、若しくは現時点で１つの機械に固有の線形性補正関数である。最適化は、高速の「ドラフト」部品製造か、低速の「最終」部品製造かの選択など、ユーザ入力に応答することができる。また、このステップは、機械特性付け又は較正を実施することもできる。モジュール４１１の出力は、最終ウェイポイント４１２である。次いで、これらのウェイポイント、典型的には位置と速度の対、及び推定されたＥＴＡ又はｔｔは、リアルタイムアクチュエータ制御モジュール４１３に送られる。このモジュール４１３は、一実施形態では、概して図１及び図５〜８Ｂ、並びに本出願の請求項１を含めた関連の請求項で述べた式及び反復制御を含む。位置などのセンサフィードバックが矢印４１６で示されている。機械４１６への順方向矢印は、実施形態の方法の出力ステップである。機械４１４は、制御下にあるシステム又はプロセスでもよい。機械４１４は、本明細書の他の箇所で詳細に論じるように、機械ツール、又はモータ、又は他の多くの「機械」、モータ、若しくはアクチュエータの任意のものでよい。矢印４１５は、線形化テーブル又は関数、例えば「強制関数」など、機械特性付け又は較正を含むことができる任意選択的な「外部フィードバック」ループの一部である。
【００７９】
実施形態のアクション（ステップと利益の両方）は、機械システム内の個々の機械的移動それぞれの経過中に、フィードバックポイント又はワークピースのいずれかにおいて、ツール経路が有効な精度で改良されることである。利益は、機械コントローラのレベルとシステム全体との両方で、より高速の機械性能が可能なことである。さらに別の利点は、制御ループにおけるより高い安定性である。
【００８０】
ここでは、ツールヘッド制御（又は同等にワークピースの移動）の４つのネストされたレベルを区別する。最大レベルは「経路」であり、これは、ピース又はプロジェクトに関係する巨視的なターゲット又は目標である。経路は、開始位置と終了位置、及び経路の追跡の仕方に対する要件を有する。経路は単純なものでも複雑なものでもよい。例えば、直線でも曲線でもよく、１軸又は多軸でもよい。経路の一例は、ワークピースの縁部全体に沿った切断ヘッドの移動である。経路は、図１１でのシリーズ４０４又は４０６の一部でもよい。経路の別の例は、バックホーショベルが土の山から溝内に入り、より多くの土をすくい上げ、それを山に積み戻す経路である。経路のさらなる例は、スポーツのプレー又は舞台芸術作品を含む。
【００８１】
第２の詳細レベルは「移動」である。経路は、ある種のパーサによって移動に分解される。パーサは、システムに特有である。例えば、Ｇコードパーサは、２Ｄ又は３Ｄ  ＣＡＤデータを入力として受け取り、一連の移動を生成する。ここで、各移動は、Ｇコードでのラインである。別のパーサの例は、上記の例でのバックホー経路を取り、それを、１つ又は複数の液圧点、直線、又は曲線によって達成され得る一連の機械的な移動に分解する。指定された移動に関するパラメータは、多軸でもよいことに留意されたい。移動は、図１１でのシリーズ４０６に示されている。
【００８２】
第３の詳細レベルは、一連の「ウェイポイント」である。第２のパーサ又は幾何形状特有の「プランナ」は、各移動を、より管理しやすく、システムの幾何形状及びメカニズムに適合する一連のウェイポイントに変換することができる。プランナの一例は、Ｇコードのデカルト座標を、１つ又は複数のラジアルメカニズムを使用する機械ツールに関するラジアル座標系に変換するプロセスである。プランナの別の例は、バックホーなどの建設機器の部片の３次元移動を、個々の油圧シリンダに関する直線運動、スカラーに変換するプロセスである。プランナのさらに別の例は、スポーツのボールの軌道をパンチルトズームカメラの運動軸に変換するプロセスである。プランナのさらに別の例は、ステージ上の１人又は数人のダンサーの動きを、１つ又は複数のステージライト又はカメラの機械的アクチュエータの運動に変換するプロセスである。プランナのさらに別の例は、有機体又は病気の突然変異又は伝染プロセスを、突然変異又は伝染病の伝播を監視又は制御するために実施され得る特有のアクションに変換するプロセスである。ウェイポイントは、図１１でのシリーズ４１０及び４１２の一部として示されている。
【００８３】
実施形態のウェイポイントが位置と速度の両方を含むことが重要である。従来技術のウェイポイントは、一般に位置のみである。ここで、あるウェイポイントから次のウェイポイントへの「移動」を論じるとき、そのような移動は、位置と速度の両方を含む。
【００８４】
一般に、ウェイポイントは単一の軸上にあると考える。プランナは、一般に、多軸入力を、平行な１軸出力に変換する。しかしながら、いくつかの実施形態では、複数の１軸データ又は方法へのそのような変換は、後で、加速度オプティマイザ又はリアルタイムアクチュエータコントローラなどにおけるプロセスで行ってもよい。
【００８５】
第４の詳細レベルは、本発明の実施形態の反復法である。この反復法は、あるウェイポイントから次のウェイポイントへの移動を実現するためのリアルタイム制御出力を提供する。そのような移動は、反復ジャーク法からモータコントローラへの出力加速度として実施され、モータコントローラは、その加速度スカラーを入力として取り、この所望のモータ加速度（又はトルク）を開ループ又は閉ループのいずれかで維持する。そのようなリアルタイム反復閉ループ制御は、図１１でのモジュール又はステップ４１３に示されている。
【００８６】
いくつかの実施形態では、運動分解の最初の３つのレベル、すなわち経路、移動、及びウェイポイントの任意のものが任意選択的であることに留意されたい。１つ又は複数のレベルは、全てのシステム又は全ての実施形態で必要とされるわけではないこともある。
【００８７】
（いくつかの例外を伴って）要約すると、リアルタイム反復のシーケンスは、ツールヘッドを１つのウェイポイント（現在の位置及び速度）から次のウェイポイント（ターゲット位置及び速度）に移動させる；ウェイポイントのシーケンスが移動を実現する；移動のシーケンスが経路を実現する。一連の経路は、典型的には、本明細書の他の箇所で論じるように、部品を機械加工若しくは構成するか、又は機械加工以外の目標を達成する。
【００８８】
いくつかの実施形態の重要な要件は、ウェイポイントが位置と速度の両方を有することである。機械システムでは、位置と速度（又は場合によってはスピード）という用語は、それらの通常の機械的な意味を有する。いくつかのシステムでは、等価パラメータを識別しなければならない。例えば、有機体の突然変異又は伝染病の伝播に関して、「位置」は、識別された状態であり、「速度」は、その状態の変化率である。（典型的には）初期の多軸値から、反復ジャーク運動制御法に関して必要とされる一軸値への「位置」、「速度」、「加速度」の意味の変更が重要であることに留意されたい。各制御軸ごとに、反復ジャーク運動制御法が並行して実行される。
【００８９】
機械システムと非機械システムとはどちらも、質量、ばね定数、及び減衰係数、又はそれらと同等のものを有する。いくつかのシステムに関して、これら３つのパラメータは事前に分かっているか、推定することができるか、リアルタイムで測定することができるか、又は無視することができる。しかしながら、多くのシステムに関して、これら３つのパラメータの全てが容易に分かるわけではない。これらのパラメータの１つをリアルタイムで測定又は計算することができる場合でさえ、そのパラメータの知識は、制御システムに組み込むことが困難なことがある。これらのシステムに関して、本発明の実施形態が最も価値のあるものとなる。
【００９０】
実施形態の反復閉ループ法の目標及び利益は、位置と速度の両方又はターゲットウェイポイントにできるだけ近づくことである。これを行うために、この方法は、その主入力として、ツールヘッドの現在の位置、速度、及び加速度を使用する。これら３つの入力の任意のものを、運動システムから直接測定することも、他の測定値から計算することもできることに留意されたい。また、各反復での計算は、ターゲットウェイポイントの位置及び速度を使用する。しかしながら、これら２つのパラメータは、任意の反復の開始前に固定され、反復中は再計算されない。現在の反復よりも前の運動は、その反復に関する計算の一部ではない。これは、ＰＩＤコントローラの「Ｉ」項など、従来技術の大きな欠点を克服する。当然、前の運動は、現在の位置及び速度を生み出した。さらに、システムの実際の運動を使用して、リアルタイムでパラメータを計算することができ、これらのパラメータは、「定数」の最適化又は選択に使用され得る。しかしながら、そのような最適化及び選択は、いくつかの実施形態の一部ではあるが、方法への副次的な入力と考える。
【００９１】
本明細書では「ツールヘッド」について論じることに留意されたい。しかしながら、全ての場合において、特に言及しない限り、論述、例、実施形態、図面、及び請求項は、ワークピースの移動にも同様に当てはまる。本明細書では「速度」という用語を使用していることに留意されたい。適用可能なシステムでは、速度は、スピードと解釈することができる。本明細書では主に１軸での運動を論じることに留意されたい。しかしながら、全ての場合において、特に言及しない限り、論述、例、実施形態、図面、及び請求項は、多軸にも同様に当てはまる。軸は、直交していても直交していなくてもよく、独立していても独立していなくてもよい。実施形態は、複数の軸又は制御要素が相互依存しているか、又は非直交であるシステムに特に適用可能であることに留意されたい。そのようなシステムは、多くの場合、最適化された開ループ制御システムを困難にするか、又は実質的に不可能にする。
【００９２】
本発明の実施形態は、各反復ごとに「ジャーク」を計算する。図１及び３、並びに元の出願の請求項１を参照されたい。ジャークは、距離／（時間の３乗）の単位を有し、これは、加速度の傾きの単位である。加速度が速度の変化を引き起こし、速度が位置の変化を引き起こすのと全く同様に、「ジャーク」は、加速度の変化を引き起こすものと広くみなすことができる。この「ジャーク」を使用する制御システムは、本明細書で述べて特許請求するように、新規のものである。
【００９３】
本明細書では、距離、距離／時間、距離／（時間の２乗）、距離／（時間の３乗）の測定単位を使用することが多いが、いくつかの実施形態では、これらの単位は、実際にはラジアン（又は角度測定の別の単位）、ラジアン／時間、ラジアン／（時間の２乗）、ラジアン／（時間の３乗）である。時間の単位は、秒でよい。距離を使用する請求項、実施形態、図、チャート、及び式を含めた全てのそのような論述が、ラジアンなどの角度尺度にも適用されることが、当業者には理解されよう。デカルト座標系を使用するシステムでは、ミリメートルなどの距離が最も適用可能である。ラジアンは、少なくとも１つの回転軸を使用するシステムで最も適用可能である。回転する回転子を備えるモータが機械システムにおいて使用される場合、最終的な運動が直線であれ角度付きであれ、距離ではなくラジアン又は度の単位で計算を行うのが好都合であり得る。そのような測定値は、絶対値でも相対値でもよいことにも留意されたい。例えば、距離の単位は、実際には、モータシャフトの位相角又は相対的なオフセット位相角でよい。ロータシャフトの多くの回転が最終的な角度又は距離に変換されるので、そのような位相数は反復して循環する。位相又は何らかの他の反復する測定単位を用いる実施形態に適用されるとき、請求項、実施形態、図面、チャート、及び式を含めた論述において示唆される限定はないことを当業者は理解されよう。一例として、「距離の増加」は、実際には、位相角の複数のサイクルを必要とすることがあり、ここで、位相角は当然、そのようなサイクル中に正と負の両方である。
【００９４】
非機械システムの場合、等価又は実務的に等価な測定単位を使用しなければならない。そのような単位は、カメラの焦点距離、光強度、温度、感染した母集団のパーセンテージ、測定された患者の健康パラメータ、又は有機体の遺伝子若しくはターゲット挙動に関連する測定基準でよい。
【００９５】
一実施形態の１つの利点は、数値的な「ジャーク」を使用する反復計算が従来技術よりも計算上効率が良いことであり、これが、より低コストのプロセッサ、より高速の動作、又はその両方を可能にする。
【００９６】
この実施形態の第２の利点は、リアルタイムの機械的フィードバックの使用が、ワークピースでの（又は機械システムのフィードバックポイントでの）ツールヘッドの運動の精度を改良し、これがさらに、機械加工された完成したワークピースの精度を改良することである。そのような相違は、従来技術に勝る改良である。
【００９７】
この実施形態の第３の利点は、複合の機械システムとワークピースの広範に変化する「ばね質量減衰」パラメータに依存しないことである。すなわち、いくつかの従来技術で必要とされるように、複雑なツールとワークピースのシステムの物理学をシミュレートする必要はない。多くの場合、３次元以上の次元（交差次元効果を含まない）における必要な物理的パラメータ、特に「ばね質量減衰」パラメータは、機械加工に先立って知ること、又は現実的に機械加工中に測定することは実質的に不可能である。一例として、移動するプラットフォーム上に構築された３Ｄワークピースを考える。ワークピースのサイズが大きくなるにつれて、重量が増加する。同様に、プラットフォームはワークピースよりも剛性が高く、モータ、及びベルトなどの中間構成要素もある。したがって、モータ、駆動システム、プラットフォーム、及びワークピースの完全な物理的モデリングは非常に複雑なだけでなく、ワークピースの位置及び構築中に変化する。さらに、プラットフォームの位置及びツールの位置が異なると、ばね質量減衰パラメータも大きく異なる。すなわち、完全なシステムをモデル化するために必要なパラメータは、ツール及びワークピースの運動中に急速に変化する。さらに、これらの問題が十分でないかのように、例えば付加製造によって構築されるワークピースは、軟性から始まり、次いで冷却又は硬化するにつれてより剛性になる材料を有する。
【００９８】
ここで、実際、理想化された移動命令からモーションエンジンを介してモータ駆動信号に計算で補正することができるように、複合の機械システム及びワークピースシステムのばね質量減衰パラメータを機械加工に先立ってモデル化すること、又は機械加工中に動的に測定してモデル化することは実質的に可能でない。
【００９９】
一実施形態は、所望の速度で所望のウェイポイントに到達する場所でツールヘッドを得るために、実際の機械システムの位置をリアルタイムで測定し、各（又はいくつかの）反復ごとに計算結果とモータ駆動信号との両方を補正することによって、そのようなばね質量減衰モデル化要件全てを回避する。
【０１００】
一実施形態は、移動するプラットフォームの位置をリアルタイムで測定する。一実施形態は、２つの移動するプラットフォームの位置をリアルタイムで測定する。一実施形態は、測定されたプラットフォームの傾斜を補正する。一実施形態は、２つ以上の軸間の相互作用を補正する。
【０１０１】
いくつかの実施形態は、複数の軸間の運動を同期させる。これは、計算された推定到着時刻（ＥＴＡ）の最適化又は最も線形的な速度傾斜の最適化中に行うことができる。ここで、速度傾斜は、１つのウェイポイントから次のウェイポイントまでなど、開始位置からウェイポイントへの移動中の速度値のシーケンスである。複数の軸を同期させる１つの方法は、複合の（多軸）移動のために軸ごとのＥＴＡを個別に計算し、次いで最悪の場合、すなわち最長のＥＴＡを取り、それを各軸ごとのＥＴＡとして使用することである。
【０１０２】
一実施形態は、モータシャフトにおけるモータシャフトの回転位置を測定することによって、移動するプラットフォームの位置を測定する。一実施形態は、駆動モータシャフトとプラットフォームとの間にギア、ベルト、プーリ、チェーン、キャプスタン、ドライブスクリュなどを含まないダイレクトドライブを使用する。すなわち、ねじり荷重下でねじられたモータシャフト又はプラットフォームなど、プラットフォームの角度は、このダイレクトドライブの機械的公差内の駆動モータのシャフト角度と同じである。一実施形態は、反転ＳＣＡＲＡ構成で２つの回転プラットフォームを使用する。一実施形態は、２つのＳＣＡＲＡ軸それぞれを直接駆動するためにステッピングモータを使用する。一実施形態は、サブステップ位置を実現するために、正弦波シミュレート電圧／電流波形でステッピングモータを駆動する。一実施形態は、オフセット磁場角、シャフト角オフセット、トルク又は磁場強度オフセットでステッピングモータを駆動して、モータ自体の内部で所望の加速度を直接実現する。計算された加速度値と実際のモータワイヤとの間で、増幅器又はパルス幅変調器（ＰＷＭ）などの駆動電子回路を使用することができる。
【０１０３】
いくつかのそのような実施形態に関して、プラットフォームの傾斜又は軸の非直交性は、機械加工中に静的に又はリアルタイムで測定し、次いで反復出力、ウェイポイント、移動、及び経路の調整によって補正することができる。典型的には、ウェイポイント又は移動の変更が、そのような補正を実施する好ましい方法である。
【０１０４】
ここでは例として、ツールヘッドの位置、プラットフォーム、部品、ワークピース、３Ｄプリンタ、付加製造、及び他の例を、単に例示として使用する。特許請求する方法、デバイス、及びシステムは、いくつかの実施形態では、付加機械加工、若しくはそもそも機械加工に限定されず、又は回転プラットフォーム、若しくはそもそも移動するプラットフォームに限定されない。いくつかの実施形態は、軸の数によって制限されない。駆動は、１軸、２軸、３軸、４軸、５軸、又は６軸に関するものでよい。複数の軸の駆動は、単一のコントローラ及び単一の方法ループに統合されてよく、又は１軸ごとに別々であるが協同するモーションエンジンによるものでもよく、又は各軸に関して完全に独立したモーションエンジンを使用してもよい。また、ツールヘッドが移動してワークピースが（その瞬間にツールヘッドに対して）静止しているか、ツールヘッドが（その瞬間に）静止しており、ワークピースが移動しているかどうかは、本願の請求項には重要でない。当業者に知られているように、一方を他方に対して移動させることは、機械システムの特定のタイプ及び実行されるステップ又は動作に依存する。
【０１０５】
統合されたコントローラ又はモーションエンジンの一例は、典型的には２軸以上での運動からなる「スピード」の計算である。モジュール又は要素に関する式で以下で見るように、スピードは、移動の終了時の到着時間を計算し、付加製造機械における材料の堆積率（及び除去製造機械でのワークピースに対する切断ツールのスピード）を計算するのに有用であり、他の計算上及び実用上の利益も有する。
【０１０６】
核心的な実施形態は、「プランナ」と呼ばれる計算要素を使用し、入力としてＧコードなどの移動命令を受け入れ、一般に、個々の移動命令を、ウェイポイントと呼ばれる（時として多くの）サブステップに分割する。ウェイポイントは、位置と速度を有する。任意選択的な次の計算要素を「加速度オプティマイザ」と呼ぶ。この要素は、機械システム又は加工されるワークピースの物理的に可能な（又は指定された）限界内に留まるように、ウェイポイントの位置、ウェイポイントの速度、又はその両方を検証、又は必要に応じて調整する。加速度オプティマイザの出力は、「現実的に調整された速度を持つウェイポイント」と考えることができる。図１１を参照されたい。
【０１０７】
本明細書の他の箇所で述べるいくつかの例外を伴って、これらの新規の閉ループ実施形態の使用は、多くの場合、機械の所定の物理的限度内に留まるようにウェイポイントを変更する必要がないことに留意されたい。そのような限度は、開ループ決定によって設定されることが多く、ステッピングモータでのステップの欠落など任意のタイプの「故障」を避けるように設定されている。反復のレベルでの固有のフィードバックは、システムの実際の運動及び速度を測定し、したがって、モータ出力及びツールヘッド負荷に基づく最大機械加工レートなどの任意の機械限度が本来的に考慮される。すなわち、機械システムを「全力」で、すなわち実際にリアルタイムで実現することができる最大限の性能で動作させるような実施形態を見ることができる。
【０１０８】
次に、核心的な実施形態は、「リアルタイムアクチュエータコントローラ」と呼ばれる計算要素を有する。実施形態の方法は、この要素内で実行される。この要素はまた、デバイスからのリアルタイム位置（例えば回転）のフィードバックを組み込み、したがって定義により、リアルタイムで動作する。従来の（「上流」の）要素は全て、実際の機械運動に先立って、又は「オフライン」でそれらの計算を行うことができることに留意されたい。しかしながら、リアルタイムで実行することもできる。それらはまた、「事前計算」とリアルタイムとハイブリッドモードでも動作することができ、例えば、リアルタイムアクチュエータコントローラへの入力待ち行列を空にしない。すなわち、それらは「オンデマンドで」又は「実時間で」計算する。それらの計算及び任意選択的に計算ハードウェア（例えば物理的なプロセッサ）は、リアルタイムアクチュエータコントローラに完全に統合されてもよい。一実施形態では、移動命令から、プランナを通り、加速度オプティマイザを通ってリアルタイムアクチュエータコントローラに渡るデータは、リアルタイムアクチュエータコントローラが動作するレートで実質的に駆動される待ち行列として管理される。
【０１０９】
一実施形態では、移動は直線である。すなわち、任意の曲線は、適切な数の部分移動に分解され、各部分移動が直線である。これは、計算を単純にする。
【０１１０】
いくつかの実施形態は、図及び請求項に示されるような計算を含む。本発明の実施形態は、これらの図に記載された式及びステップを実施する。これらの図は、請求項を解釈する際に使用すべきである。
【０１１１】
点Ａから点Ｂへの例示的な移動を考える。機械システムは、点Ａから点Ｂに移動するターゲット速度を有する。したがって、点Ｂから点Ａまでの距離、及び速度を取って、点Ａから点Ｂへの一定速度の移動に関するモータ制御コマンドを容易に計算することができる。しかしながら、ツールヘッドは点Ａで停止されることもあり、ターゲット速度まで瞬時に加速することはできない。また、点Ｂで非常に鋭い逆転があり得るので、システムのばね質量減衰パラメータによる点Ｂの通り越しを避けるために、点Ｂでの最終スピードを、最大機械システム速度ではなく、ゼロにすることが望ましい。実際には、いくつかの機械は、様々な理由により、最大速度を有することがある。しかしながら、機械学に基づく代替モデルは、最大速度自体ではなく、機械が最大の加速度（主にモータトルクと移動質量の関数）を有するものである。実用的な最大速度の２つの例は、付加機械加工（例えば３Ｄ印刷）において材料が設定された速度、又は除去機械加工において所望のエッジ品質を実現するための好ましいツール移動レートでよい。
【０１１２】
さらに、点Ａ及び点Ｂは、デカルトＸ−Ｙ−Ｚ座標系内の直線上にあってよいが、ＳＣＡＲＡアーム構成で回転プラットフォームを使用するときには直線上にない。したがって、デカルト座標系における点Ａと点Ｂの間の点が回転プラットフォームに関するモータ位置に変換されるので、追加の方向及び慣性の変更が必要とされる。プラッタ、ツールヘッド、及びワークピースが移動するにつれて、デカルト座標に変換されて戻された運動のそれらの絶対経路は、ばね質量減衰パラメータ、慣性、及び公差を含む他の因子により、直線でない。
【０１１３】
本発明の実施形態は、最大速度制限、閾値、又は上限がない。従来技術は、計算された速度が許容限度内にあることを保証するために、その速度を調整又は試験しなければならないことが多い。そのような限度は、計算されても、単に所定のテーブル又は定数でもよいが、手動で設定されることが多い。同様に、本発明の実施形態は、最大加速度限度、閾値、又は上限がない。従来技術は、計算された加速度が許容限度内にあることを保証するために、その加速度を調整又は試験しなければならないことが多い。そのような限度は、計算されても、単に所定のテーブル又は定数でもよいが、手動で設定されることが多い。
【０１１４】
実際には、機械ヘッドのための何らかの最小又は最大速度を実際に有することが望ましいことがある。しかしながら、そのような限度は、本発明の動作制御法の「プランナ」、「パーサ」、「移動ジェネレータ」、「プロファイルジェネレータ」、ＣＡＭ（コンピュータ支援機械加工）プログラム、又は他の「上流の」計算若しくはデータソースからのものでよい。例えば、プランナは、おそらくｇコードファイルから長い経路を取得し、開始、終了、及び中間ウェイポイントによって定義される一連の移動に分解することがある。プランナは、経路の開始と終了に関して、及び各中間ウェイポイントに関して所望の速度を設定することができる。これらは必ずしも「最大」（又は最小）速度ではなく、ウェイポイントでの「ターゲット」速度であることに留意されたい。プランナが最大限に鋭いコーナーを実現したい場合、例えば、開始及び終了ターゲット速度をゼロに設定することができる。代替例として、付加製造機械は、一定の供給レート、又は所定の範囲内の供給レートを有することを望むことがある。この例では、経路の開始や終了など、コーナーでの速度は、プランナによって最小の、しかし非ゼロのターゲット速度に設定される。
【０１１５】
本発明の実施形態が行うことは、元の開始点（点Ａ）とは関係なく「点Ｂを監視する」ことである。反復ジャーク法は、ツールヘッドの現在の位置と、点Ｂ（点Ｂでのターゲット速度を含む）とのみを考慮に入れる。ツールヘッドは点Ｂに近づき続けるが、生じる正確な経路は、反復ジャーク法には実質的に「気にしない(don’t care)」である。各反復で、反復ジャーク法は、現在のリアルタイム位置及び速度のみが与えられたときに、ターゲット速度でツールヘッドを点Ｂに到達させるために、最良のジャーク、加速度、速度、及び位置を計算する。
【０１１６】
当然、典型的には、一度に１次元を論じるが、大半の用途では、一緒に制御される２つ以上の軸がある。したがって、速度は、例えばスカラーではなくベクトルである（例えば、ジャーク、加速度、位置、並びに様々なターゲット、限度、及び公差のパラメータ）。
【０１１７】
ウェイポイント又はターゲット位置又はターゲット速度は、リアルタイムフィードバック、若しくは計算された情報、又はそれらの両方が、知られている又は予測されるツールヘッド位置をターゲットの許容公差内に入れるとき、「完了」とみなすことができる。ウェイポイントへの反復が完了したことを知るための１つの手段は、次の反復を完了するのに十分な時間がないことである。「最終位置」に到達したとみなすには位置だけでは不十分であることに留意されたい。ツールヘッドは、ターゲット位置を高速で通過し、通り越すことがある。反復ジャーク法は、ツールヘッドをターゲット位置に移動して戻す、またターゲット速度（ゼロ又は負の速度でよい）に到達するのに必要な制御出力を提供する。
【０１１８】
ウェイポイントに「到達」した時点、すなわち現在の移動に関する「終了条件」を決定するための別の方法は、何らかのパラメータが範囲外になるときである。特に、計算されたジャーク又は加速度が正又は負のいずれかで大きすぎる場合、この方法は実質的に完了する。次のウェイポイントへの移動がすぐに開始されることがある。或いは、システムは、（ｉ）推定到着時間（ＥＴＡ）、又は（ｉｉ）ターゲット位置に到達若しくは通過した、若しくは所定の公差内にあること、又は（ｉｉｉ）ターゲット速度に到達若しくは通過した、若しくは所定の公差内にあることによって「惰走する」ことを許可され得る。そのような「終了条件」は、ＯＲ組合せ、ＡＮＤ組合せ、又はＷＥＩＧＨＴＥＤ（重み付け）組合せのいずれかと組み合わせることができる。終了条件への「惰走」は、典型的には、現在の速度、若しくは現在の加速度、又はそれらの組合せを維持することを含む。実際には、様々な終了条件、及び惰走の方法は、システム性能にほとんど影響を与えない。これは主に、反復ジャーク法の最後の１回又は２回の反復の変更が、時間が短すぎ、デバイスの移動に対する変化が小さすぎるため、ワークピースの最終的な性能又は最終的な品質に影響を与えないからである。
【０１１９】
一実施形態では、終了条件に到達したとき、次のウェイポイントが直ちに次のターゲットとなり、その移動に対して反復ジャーク法が直ちに始まる。
【０１２０】
一実施形態では、ウェイポイントへの経路は、一連の時間間隔に分解される。時間間隔がもう残っていないとき、そのウェイポイントは完了したとみなされる。
【０１２１】
一実施形態では、ウェイポイントへの経路は線形速度傾斜としてモデル化される。一実施形態では、反復式内のパラメータは、最も線形の速度傾斜を生成するように最適化される。最適化のための重要なパラメータは、推定到着時刻又はＥＴＡである。最適化ステップ又はシミュレーションによって移動前にＥＴＡを最適化することは、実施形態として、又は実施形態の一部として特許請求する。最適化され得る第２のパラメータは、ループ時間（又は、アナログ実装に関しては、ループ帯域幅、又はループ帯域幅に影響を与えるパラメータ）である。
【０１２２】
いくつかの実施形態では、リアルタイム反復ステップの前に、最適化ステップが行われる。最適化ステップは、機械又は制御下の対象物からのリアルタイムデータがなくても実施され得るが、機械及び／又は機械加工されている対象物の既知の静的パラメータを使用してもよい。しかしながら、最適化ステップは、「静的」パラメータの変更と共に時々刻々更新する、又は更新されることがある。例えば、新たな静的パラメータは、１、５、１０、１５、若しくは３０秒ごと、又は１、５、１０、１５、３０、若しくは６０分ごと、又は別の時間間隔などの時間間隔に基づいて測定又は計算されてもよい。別の例として、新たな静的パラメータは、機械の変化又は機械加工対象物の変化など、それらのパラメータに対する起こり得る又は予想される変化に基づいて測定又は計算されることがある。例えば、異なる切削ツールヘッド、若しくは異なる付加材料若しくはヘッド、又は重量、比率、弾力性、若しくは精巧さを変える物体である。
【０１２３】
移動中の「最も線形」の速度傾斜の最適化は、当技術分野で知られている多くの最適化アルゴリズムの任意の１つによって計算することができる。例えば、直線への最小二乗適合、直線からの最小偏差と最大偏差との差の最小化、変曲点の数の最小化、計算された経路と直線との間の面積の最小化、又は他のアルゴリズムである。そのようなアルゴリズムは、閉じた形式でもよく、又は反復、モンテカルロ、シミュレーテッドアニーリング、又は別の計算法を用いてもよい。機械学習又はＡＩ法を使用して、最も線形の速度傾斜を計算することができる。移動はセグメント化されてもよく、各セグメントが個別に又はまとめて最適化されてもよい。
【０１２４】
いくつかの実施形態では、実施形態の反復リアルタイム法によって制御される移動の開始と終了との間で、ＥＴＡ又はｔｔが更新されない。
【０１２５】
３Ｄ印刷などの付加製造では、多くの場合、最適化された材料供給レートが存在する。これは、対象物の上でのプリントヘッドの理想的な速度があることを意味する。それよりも速い速度は、機械システムの機械的機能の範囲内にあってもなくてもよいが、速度がより遅いと、印刷される材料が多くなりすぎる。効果的な最小材料供給レートがあり得る。したがって、いくつかの状況では、理想的なツール運動が実際にターゲット位置を通り越し、次いでできるだけ速く、逆の速度でターゲット位置を通って逆戻りする。このようにして、材料の供給レートは、通り越し中にはゼロになり得るが、所望の最小供給レートよりも小さくなることは決してない。
【０１２６】
同様の問題は、除去機械加工及び他の機械加工操作にも当てはまる。同様の問題は、機械加工中でないモーションシステムにも当てはまる。例えば、ロボットオートバイを考える。オートバイは、転倒を避けるために必要な最小スピードを有する。オートバイが障害物コースを通って移動している場合、最小スピードを維持することを意味する場合には、理想的な位置から離れるほうが良い。
【０１２７】
要約すると、いくつかの実施形態は、ツールがその現在の位置及びスピードにどのように到達したかに関係なく、出力制御を計算するためにターゲット位置及びターゲットスピードに関連して、ツールヘッドの現在の位置及びスピードを継続的に考慮に入れる。
【０１２８】
一実施形態では、３Ｄプリンタは、反転ＳＣＡＲＡアームに配置された２つの回転プラットフォームを使用する。一実施形態では、ラムダモータが、ラムダ軸の周りでワークピースプラットフォームを回転させ、パラレル及びオフセットシータモータが、パラレル及びオフセットシータ軸の周りでラムダモータ及びワークピースプラットフォームを回転させる。２つのモータはワークピースを移動させ、それにより、プリントヘッドの下にあるワークピースの部分を、プリンタの作業領域又は平面ツールレンジエリア内で、平面内の任意の点に移動させることができる。ワークピースの各平面が印刷され、次いでプリントヘッドが上に移動し、ワークピースの次の平面が印刷される。一実施形態では、ステッピングモータが、ラムダ及びシータモータとして使用される。ステッピングモータのシャフトは、プラットフォームに直接接続されており、したがって、プラットフォームの回転角度はモータシャフトと同じである。モータシャフトで回転センサが使用されて、シャフト角度のリアルタイムフィードバックを提供する。モータからプラットフォームへの機械的経路は硬いので、これらのセンサは、プラットフォームのリアルタイム位置の正確な尺度を提供する。プリントヘッドが実質的に固定されるか、又は各平面が印刷されることに留意されたい。プラットフォームに対して低い構成のワークピースの場合、これらのセンサはまた、プリントヘッドの下で、ワークピース上のスポットの正確な位置を提供する。この機械システム構成に関して「ツール位置」又は「ツールヘッド」と全般的に言うとき、実際には、プリントヘッドの下でのワークピースの位置に言及することに留意されたい。ワークピースが構築され、プラットフォーム上でより高くなるにつれて、ワークピースは完全に剛性ではなく、いくらかの弾力性を有し、温度、硬化、及び他の因子に応じて形状も変えるので、リアルタイム精度が低下する。しかしながら、これらの因子のいくつかは予め計算することができ、したがって、構成されているワークピースがプラットフォームから離れてより高くなるとき、加速度オプティマイザとリアルタイムアクチュエータコントローラとの両方を含むいくつかの実施形態での論理、方法、及びステップは、これらの計算されたパラメータを考慮に入れることができる。例えば、最大速度及び最大加速度を低下させることができ、また、ゼロ速度の点で休止時間を加えることができる（本質的に、ワークピースの移動を完全に停止させることができる）。
【０１２９】
反復ジャーク法による、ドライブモータシャフトに直接接続されたプラットフォームと、モータシャフト上のリアルタイム位置センサとの組合せは、特許請求する組合せで予想外の利益を提供する。そのような位置フィードバックは、より高精度の製造を可能にする。しかしながら、ほとんどの誤差がモータとワークピース又はツールヘッドとの間にあるため、従来の３Ｄプリンタ及び他の製造機器でのモータへのフィードバックは効果的でない。従来のコントローラは、フィードバックから利益を受ける場合は、フィードバックを使用して、移動中に一定のターゲットモータ速度を維持する。本願で特許請求する実施形態のいくつかのように、１回の移動で複数の連続的な変化するモータ駆動出力の更新を提供はしない。
【０１３０】
従来の機械システムのフィードバックは、１つの移動に対して「一定の所望の速度を実現する」又は「一定の所望の位置を実現する」ために使用されているが、移動中にこれら２つのターゲットパラメータのいずれも変えない。モーションフィードバック従来技術とは明らかに異なる反復ジャーク法は、フィードバックを使用して、移動中に、変化するモータ制御出力を生成する。
【０１３１】
一実施形態では、回転プラットフォームの１つに湾曲したスロットがあり、このスロットを、第２のプラットフォームのシャフトドライブが貫通する。このスロットには、プラスチックなど、摩擦表面などの減衰材料又は要素がある。この減衰は、ラムダ及びシータ移動サブシステムのいずれか又は両方を含む回転プラットフォームの「ばね質量減衰」物理モデルにおける減衰機能として使用することができる。これは、そのような１つ又は複数の減衰要素を反転ＳＣＡＲＡアーム構成に配置するための新規の位置である。いくつかの実施形態では、摩擦が少ないほど良い。
【０１３２】
主要な実施形態は、移動又は経路の「履歴」がない。従来技術におけるそのような履歴は、しばしば、反復動作制御フィードバックループにおける１つ又は複数の積分項によって実現される。例えば、ＰＩＤコントローラにおける「Ｉ」積分項である。
【０１３３】
別段の記載がない限り、本明細書での例示的な測定単位は、距離に関してはミリメートル（ｍｍ）であり、速度又はスピードに関してはｍｍ毎秒（ｍｍ／ｓ）であり、時間に関しては秒であり、加速度に関してはｍｍ／（ｓ＾２）であり、ジャークに関してはｍｍ／（ｓ＾３）である。他の実施形態又は用途では、そのような単位は異なっていてもよい。明示的に記載されていない限り、用途、実施形態、請求項、又は発明の特許請求する範疇及び範囲内で、測定の単位、又は定数の値、変数、若しくは例に制限はない。
【０１３４】
反復リアルタイム運動制御法の重要な実施形態は、（制御下の各軸ごとに）方法が加速度のみを出力することである。すなわち、一実施形態は、出力位置と出力速度との両方がない。同様に、重要な実施形態では、反復リアルタイム動作制御法は、ターゲット位置又はターゲット速度のいずれも計算しない。各移動ごとに、反復リアルタイム動作制御法は、（例えばウェイポイントへの）入力として一定のターゲット位置及びターゲット速度を取る。これら一定のターゲット位置及びターゲット速度は、反復リアルタイム動作制御法の実行中、ウェイポイントへの１回の運動の過程にわたって変化しない。さらに、反復リアルタイム動作制御法は、各反復ごとに、現在の位置及び現在の速度を入力として取得する。この方法における現在の反復での計算の観点から、そのような開始点を「履歴」とみなすことができる。それらは、理想的には、各反復のちょうど開始時における「最新の」位置及び速度である。
【０１３５】
ステッパモータの当業者に知られているように、ステッパモータを駆動する３つの広範な方法がある。「全ステップ」は、１組のコイルを完全にオンにし、コイルの隣接する組を完全にオフにすることによって実現される。回転するステッピングモータの場合、これらの波形は、ほぼ位相のずれた方形波であり、駆動波形の１回の完全な３６０°が、４つの完全なステップである。「マイクロステップ」動作は、隣接するコイルに慎重な中間電圧／電流を提供することによって実現される。回転するステッピングモータに関して、これらの波形は、（典型的には９０°だけ）ほぼ位相がずれた階段状のステップである。「正弦波」ドライブ（「シミュレートされた正弦波ドライブ」とも呼ぶことがある）は、隣接するコイルに完全に連続する中間電流を提供する。回転するステッピングモータに関して、これらの波形は、ほぼ位相のずれた正弦波である。「シミュレートされた正弦波」は、例えばディジタル−アナログ（Ｄ／Ａ又はＤＡ）コンバータ又はパルス幅変調（ＰＷＭ）出力からの正弦波振幅の生成がディジタルであるときに使用されることがある用語である。ハイブリッド複合ドライブも使用される。いくつかの実施形態は、モーションエンジン又はモータコントローラエレクトロニクスとモータ自体又はモータドライバ（出力増幅器など）との間で、これらの可能な低レベル駆動回路全てを使用する。いくつかの実施形態は、特にダイレクトドライブシステムにおいて、この駆動が高いサブステップ位置精度を提供するので、シミュレートされた正弦波駆動を特に特許請求する。また、シミュレートされた正弦波駆動は、他のステッパモータ駆動法と同様に、より静音であり、重要なことにはシステムへの機械的パルスを生成しない。
【０１３６】
いくつかの実施形態は、矩形波形状と正弦波形状との両方の付加成分から構成され得る修正されたシミュレートされた正弦波駆動を使用する。任意選択的に、矩形波形状は、矩形波振幅のコーナー又は瞬時変化を平滑化することによって修正されてもよい。
【０１３７】
図２及び３は、任意選択的なモジュール１０４及び１７４、すなわち強制関数をそれぞれ示している。このモジュールの目的は、システム内の非線形性を補正することである。例えば、強制関数は、加速度（又はトルク）を、モータに関するコイル電流値に変換することができる。トルクとコイル電流との関係は線形ではない。強制関数を使用することによって、モジュール８１の出力８２は、システム又はプロセス７１への入力になる。このフィードバック値８２により、システム又はプロセスは、それ自体線形になる、又は全く計算を行わなくてよくなる。例えば、システム又はプロセス７１は、モータ及び位置センサにすぎないことがある（この例では、現在の速度及び現在の加速度は、連続的な位置測定値から計算されるか、又は他のセンサによって測定される）。システム又はプロセス７１は、バクテリアの増殖、空中で軌道を描くフットボール、又は遺伝的変異など、本来的に「ダム（ｄｕｍｂ）」でよい。
【０１３８】
実施形態のパラメータは、ｔｔとして識別されることがある次のウェイポイントでのＥＴＡ、又は推定到着時刻である。現在の状態から次のウェイポイントまでの全移動中に速度がほぼ一定である場合、ＥＴＡは、単に距離を速度で割った値として推定することができる。加速度が一定であると推定される場合、ＥＴＡは、計算上同様に容易に推定することができる。しかしながら、多くの場合、ＥＴＡは、推定又は計算が容易でない。いくつかの実施形態では、ｅｔａは、もっともらしいＥＴＡを調整し、次いで次のウェイポイントへの移動のシミュレーションを実行する最適化アルゴリズムによって計算される。そのようなシミュレーションは、上述したスプレッドシートと同様でよい。シミュレーションの目標は、最も線形の速度傾斜を見つけることである。「最良の」ＥＴＡは、最も線形の速度傾斜を生成するものである。当業者には理解されるように、最も線形の速度傾斜を計算する多くの異なる方法がある。例えば、直線への最小二乗適合である。
【０１３９】
一般に、ＥＴＡが長くなればなるほど、システムはターゲットウェイポイントに到達するためにゆっくりと移動することに留意されたい。したがって、典型的には、より低い加速度が必要とされる。機械加工など多くの現実世界の用途では、基本的な目標は、できるだけ迅速にタスクを完了することである。したがって、そのような用途では、できるだけ短いＥＴＡが最適である。他の用途は、加速度又は速度限度などの限度を有する。これらについて、それらの限度内で最短のＥＴＡが最良のものである。さらに他の用途では、ＥＴＡが既に分かっている。例えば、駅に入ることになっている時間が予め定められている電車が考えられる。別の例として、フットボールの試合中にフットボールが投げられることがある。ボールの飛行開始から、ボールがキャッチされる、又はフィールドに当たる可能性の高いＥＴＡを決定することは難しくない。さらに別の例では、ステージ上のダンサーが既知のルーチンを行っていることがある。したがって、ダンサーの位置及び振り付けは、容易に予測できる。ダンスシーケンスの終わりが分かる。
【０１４０】
従来技術に勝る特許性
従来技術には、米国特許出願公開第５７７０８２９号明細書、「Ｋａｔｚ」；米国特許第９０４１３３７Ｂ２号明細書、「Ｔｉａｎ」；米国特許出願公開第２０１３０１９７６８８Ａ号明細書、「Ｅｇｉ」；米国特許出願公開第４７６９５８３Ａ号明細書、「Ｇｏｏｒ」；米国特許出願公開第５５６９９９５Ａ号明細書、「Ｋａｓａｋａ」；及び米国特許第７２０８９５Ｂ２号明細書、「Ｍａｒｃｉｎｋｉｅｗｉｃｚ」が含まれる。
【０１４１】
本発明の実施形態は、以下の相違点により、Ｋａｔｚに勝る特許性がある。Ｋａｔｚは、その反復リアルタイム法から位置と速度の両方を出力する。しかし、加速度を出力しない。本発明の実施形態は、位置又は速度ではなく、加速度のみを出力する。
【０１４２】
この相違点は、Ｋａｔｚにおいて、図３及び第１欄５６〜５９行目「…電機子を適正な位置に移動させるためにモータ巻線に発生すべき電流を決定するために使用される…」で見ることができる。本発明の実施形態は、Ｋａｔｚのステップ「新たな指令された速度の決定」及び「新たな指令された位置の決定」を含まない。すなわち、Ｋａｔｚの制御ループは、モータコントローラに所望の位置を出力するという点で従来のものである。
【０１４３】
別の相違点は、Ｋａｔｚは、ＥＴＡを最適化し、ウェイポイント間の最も線形の速度傾斜に最適化するという話題に言及していないことである。Ｋａｔｚは、「所望のターゲット位置を決定するために、監督サブシステムからの情報がプロファイルジェネレータによって利用される」とだけ述べている（第１欄５２〜５４行）。そのような決定に関する動機や方法については説明していない。
【０１４４】
さらに別の相違点は、Ｋａｔｚが、複数の軸、又は軸間の同期を教示していないことである。実際、「軸」という語は、Ｋａｔｚにはどこにも現れていない。
【０１４５】
最後に、Ｋａｔｚは、以下の実施形態１０１に示す特定の計算方法ステップを教示していない。
【０１４６】
本発明の実施形態は、以下の相違点により、Ｔｉａｎに勝る特許性がある。Ｔｉａｎは、「プロファイルジェネレータは、ユーザによって提供される１組の運動制約に適合するようにモーションプロファイルを作成することができる」（要約書）と述べている。本発明の実施形態は、Ｔｉａｎの発明の基礎である最大速度などの「制約」がない。Ｔｉａｎは、図４で、プロファイルジェネレータへの入力である５つの制約を列挙している。すなわち、「サンプル時間、速度限度、加速度限度、減速度限度、及びジャーク限度」である。本発明の実施形態は、Ｔｉａｎの制約の５つ全てを含まない。Ｔｉａｎの制約は、全てユーザによって提供される。
【０１４７】
別の相違点は、Ｔｉａｎが、ターゲットのために新たな位置又は新たな速度のいずれかを使うことである。本発明の実施形態のように、位置と速度の両方を使用することはできない（ボックス１１０４、図１１）。
【０１４８】
さらに別の相違点は、Ｔｉａｎの方法はリアルタイムでないことである。そうではなく、実際の運動に先立って運動「プロファイル」を計算する（ボックス１１０８、図１１）。したがって、Ｔｉａｎの発明は、本発明の実施形態のように現在の位置、現在の速度、又は現在の加速度を使用しない。Ｔｉａｎは、リアルタイムの方法を使用又は教示していない（図１１でのボックス１１０６）。Ｔｉａｎは、反復でフィードバックとして実際の位置や速度を使用する方法を使用又は教示していない。そうではなく、非リアルタイムループにおいてのみ反復を行い、そのループの入力は、「サンプル時間の倍数のプロファイルセグメント持続時間」である（ボックス１２０８、図１２）。
【０１４９】
さらに別の相違点は、Ｔｉａｎは、ＥＴＡを最適化し、ウェイポイント間の最も線形の速度傾斜に最適化するという話題に言及していないことである。Ｔｉａｎは、ＥＴＡの計算に言及しておらず、最適化の話題にも言及していない。実際、Ｔｉａｎは、線形の速度傾斜を教示していない。むしろ、滑らかに変化する、又は曲線の速度傾斜を図９及び図１０に示している。
【０１５０】
さらに別の相違点は、Ｔｉａｎが、複数の軸、又は軸間の同期を教示していないことである。実際、「軸」という語は、Ｔｉａｎにはどこにも現れていない。
【０１５１】
さらに別の相違点は、Ｔｉａｎは、移動を「セグメント」に分割しなければならないことである。本発明の実施形態は、そのようなセグメントを含まず、一方のウェイポイントから次のウェイポイントまでの単一の計算アクションとして移動を実行する。Ｔｉａｎの「セグメント」は、ウェイポイントでも、ウェイポイントに到達するための反復でもないことに留意されたい。
【０１５２】
さらに別の相違点は、Ｔｉａｎの「加速度」は、運動の結果としての基本的な物理学的特性にすぎないということである。すなわち、Ｔｉａｎは、単純な物理学的特性として「加速度」を示して説明しているが、制御法における加速度の使用は、Ｔｉａｎの発明や教示の一部ではない。
【０１５３】
本発明の実施形態は、最初に（非リアルタイムで、実際の移動に先立って）ＥＴＡ及び速度プロファイルと共に移動を作成し、次いで移動中にリアルタイムで反復ジャーク法を使用する。Ｔｉａｎは、本質的には、移動に先立って、「プロファイル」の生成から実際の経路で「得られるものを取得する」だけである。
【０１５４】
最後に、Ｔｉａｎは、以下の実施形態１０１に示される特定の計算方法ステップを教示していない。
【０１５５】
本発明の実施形態は、以下の相違点により、Ｅｇｉに勝る特許性がある。Ｅｇｉは、ターゲット位置を出力する。加速度は出力しない。事実、実際には「エラーパルスＰ１、Ｐ２、及びＰ３」を出力する（図１４、３０８及び３０９）。Ｅｇｉはまた、「前記可動ユニットは前記残りの距離だけ移動される」（請求項１）と述べている。本願で特許請求する発明の実施形態は、位置又は速度ではなく、加速度のみを出力する。
【０１５６】
別の相違点は、Ｅｇｉは、リアルタイム制御ループにおいてジャークと加速度の両方を制限することである（図１５、Ｓ１０３及びＳ１０５）。本発明の実施形態は、そのような制限がない。
【０１５７】
別の相違点は、Ｅｇｉが、リアルタイム制御ループ内の現在の位置のみを使用することである（図１６、Ｓ８１）。本発明の実施形態は、反復リアルタイム制御法において現在の位置と現在の速度の両方を使用する。Ｅｇｉの現在の位置のみの使用により、システムは動的なシステム変更を許容できなくなる。これらは、大きな位置誤差項を生成することがあり、その結果、加速とジャーキネスが高くなるからである。
【０１５８】
さらに別の相違点は、Ｅｇｉが、移動の開始と終了の両方に関する位置の使用のみを教示していることである。移動の開始パラメータとして又は終了パラメータとして速度を使用することは教示していない。
【０１５９】
さらに別の相違点は、Ｅｇｉが、全ての計算反復でターゲットまでの距離を再計算することを教示していることである。これは計算コストが高い。本発明の実施形態は、反復法においてそのような計算を含まない。実際には、いくつかの実施形態は、反復リアルタイム法の開始前に、（ｉ）方法の性質により、及び（ｉｉ）移動中の速度線形性の高度な最適化により、距離を再計算する必要はない。
【０１６０】
さらに別の相違点は、Ｅｇｉが、現在の位置と「理想的な」経路内の位置との差（偏差）を計算することを教示していることである。本発明の実施形態は、「理想的な」経路からのそのような位置偏差を感知又は使用することを含まない。そうではなく、実施形態は、ターゲット位置及び速度を考慮に入れる。これらの方法は、理想的な経路からの任意のそのような偏差を「気にしない」。したがって、Ｅｇｉは、移動するシステムの任意のアクションや特性を補償することができない。本発明の実施形態は、ターゲットに到達することのみを考慮に入れるので、これらの本発明の実施形態は、ターゲットに向かう任意のアクション又は特性を本質的に補正する。
【０１６１】
さらに別の相違点は、Ｅｇｉが、最大加速度と比較して制限することを教示していることである。本発明の実施形態は、方法におけるそのような制限を含まない。そのような自由の予想外の利益の１つは、より良い最適化と性能である。Ｅｇｉは、加速度を静的な値に制限しなければならない。本発明による実施形態はそのような静的な限度がないので、Ｅｇｉの限度よりも高い加速度を使用することができる。この利益は、例えば、より速い機械加工を提供する。
【０１６２】
さらに別の制限は、Ｅｇｉの方法及び機械の性能が、予め計算された「理想的な」経路に向けて移動しなければならないことによって制限されることである。そのような運動は、ターゲットに到達することには直接関係していない。一方、本発明の実施形態は、いわば「横に」移動する必要はなく、ターゲット位置及びターゲット速度に向かって最適に直に進む。
【０１６３】
さらに別の相違点は、Ｅｇｉは、ＥＴＡを最適化し、ウェイポイント間の最も線形の速度傾斜に最適化するという話題に言及していないことである。Ｅｇｉは、ＥＴＡの計算に言及しておらず、最適化の話題にも言及していない。実際、Ｅｇｉは、線形の速度傾斜を教示していない。むしろ、有意に且つ意図的に変化する速度を示している（Ｅｇｉの図１７）。
【０１６４】
Ｅｇｉは「複数のドライブシャフト」について述べているが、これらの間で同期する方法は教示していない。Ｅｇｉは「３つのシャフト又は６つのシャフト」［００６０］を提案しているので、Ｅｇｉのシステムはかなりの位置誤差を有する可能性が高く、また適当な性能のために同期を必要とすると考えるのが妥当である。
【０１６５】
最後に、Ｅｇｉは、以下の実施形態１０１に示される特定の計算方法ステップを教示していない。
【０１６６】
本発明の実施形態は、以下の相違点により、Ｇｏｏｒに勝る特許性がある。Ｇｏｏｒは、ゼロ以外の開始又はターゲット速度を教示していない（図２４ｂ、図２５ｂ）。本発明の実施形態は、可変の開始速度と終了速度を使用する。
【０１６７】
別の相違点は、Ｇｏｏｒが、リアルタイム反復制御ループ（図３０、１０４及び１０６）において位置のみを使用することである。本発明の実施形態は、反復リアルタイム制御法において現在の位置と現在の速度の両方を使用する。
【０１６８】
さらなる別の相違点は、Ｇｏｏｒが、多くの「履歴」を有する制御ループを教示していることである。Ｇｏｏｒの移動履歴は、積分ステップの形である。Ｇｏｏｒの図２９は、５つの個別の積分ステップを示している。本発明の実施形態は、移動履歴を含まない。Ｇｏｏｒの大きな積分項は、発明の実施における不安定さを生み出す可能性が高い。
【０１６９】
別の相違点は、Ｇｏｏｒが、最小時間内に移動を完了することを教示していることである。移動中に速度が非常に変動する（図２４ｂ、図２５ｂ）。本発明の実施形態は、線形速度傾斜に関して移動を最適化する。
【０１７０】
さらに別の相違点は、Ｇｏｏｒが、ジャークに関して「バングバング型(bang bang)」コントローラしか教示しておらず（図２４ｄ、図２５ｄ）、「時間Ｔは、ｙ’’’のバングバング型制御で最小化することができる」（第３欄５６〜５７行）ことである。Ｇｏｏｒは、一貫して、本発明の実施形態で使用されるような可変ジャーク値を教示していない。例えば、第３欄から第１４欄の式は全て、ジャークに関するバングバング値（すなわちオン又はオフのみ）を取る。当業者には分かるように、本発明の実施形態の「滑らかな」加速度と比較して、「バングバング型」コントローラは、震動、ノイズ、振動、他の望ましくない及び副次的な運動、摩耗、並びに他の負の結果を本質的に発生する。実際、移動に関して最も線形の速度変化に最適化することは、最も滑らかな加速度に密接に関連している。実際、理想的な場合には、一定の加速度である。Ｇｏｏｒは、そのバングバング型コントローラが滑らかな加速度の正反対であることを教示していない。
【０１７１】
さらに別の相違点は、Ｇｏｏｒが、「線形化された速度」ではなく、移動に関する「最小時間」を教示していることである。これら２つは、異なる、相容れない目標及びプロセスであるので、Ｇｏｏｒは、本願で特許請求する実施形態には明らかに教示していない。
【０１７２】
さらに別の相違点は、Ｇｏｏｒが、モータ電機子に電流を出力することを教示していることである。本発明の実施形態は、加速度をモータコントローラに出力する。したがって、Ｇｏｏｒは、モータの非線形性、死点、及び限度を無視している。一方、本発明の実施形態は、所望の加速度を直接維持することによってそのようなモータ特性を本来的に考慮に入れている。１つの意味では、「モータ電流」は、制御されるシステムの物理学的特性とは直接関係がない。加速度は、直接の影響を有する。したがって、電機子電流ではなく加速度を使用する予想外の利益は、モータ機能のより効率的な使用、より高いシステム性能、より広範なモータを取り扱う能力、特定のモータ特性へのより低い依存性、及び他の利益である。
【０１７３】
さらに別の相違点は、Ｇｏｏｒが、複数の軸、又は軸間の同期を教示していないことである。実際、「軸」という語は、Ｇｏｏｒにはどこにも現れていない。
【０１７４】
Ｇｏｏｒは、請求項及び実施形態に記載された特定の計算方法ステップを教示していない。
【０１７５】
Ｋｕｓａｋａは、入力としてトルクを受け取り、バッテリ電圧に応答するモータ電流を計算するモータ制御アルゴリズムを教示している。Ｋｕｓａｋａは、ある点から次のウェイポイントへ移動する方法を教示していない。Ｋｕｓａｋａの発明は、本発明の実施形態がトルクを出力する「モータコントローラ」であり得る。Ｋｕｓａｋａは、ターゲット位置とターゲットの両方を実現するために、トルクを計算する方法も、可変スピードを有する制御システムも、反復制御システムも教示していない。
【０１７６】
Ｍａｒｃｉｎｋｉｅｗｉｃｚは、Ｋｕｓａｋａと同様に入力としてトルクを受け取り、モータ電流を計算する方法を教示している。Ｍａｒｃｉｎｋｉｅｗｉｃｚは、「所定のスピード値」を有するモータに関する「トルク安定性」を向上させた。Ｍａｒｃｉｎｋｉｅｗｉｃｚは、ターゲット位置とターゲットの両方を実現するために、ある点から次のウェイポイントに移動する方法も、可変スピードを有する制御システムも、反復制御システムも教示していない。
【０１７７】
請求項に関する注記
以下の注記は、元の出願時の番号で請求項を表す。特許付与時の請求項番号は、同じ番号を有していないことがある。以下の本文は非限定的である。例示的なシナリオ又は実施形態の理解を助けるために提供される。以下の注記を使用して、米国特許法第３５条１１２項に基づいて請求項を有効とするのに必要なときにのみ、請求項範囲を限定して請求項を解釈することができる。
【０１７８】
請求項１−運動制御のための基本的な反復法及び式を述べる。
【０１７９】
請求項２−好ましい実施形態では、センサからなど直接のリアルタイム測定と比較して、計算されたジャーク値から加速度が計算される。いくつかの実施形態は、積分を乗算に置き換えることを含む。すなわち、現在の加速度＝前の加速度＋［（現在のジャーク＋前のジャーク）×反復時間間隔］÷２である。いくつかの実施形態は、前の加速度がゼロに設定されたこの式を含む。
【０１８０】
請求項３−速度は、センサなどからの直接のリアルタイム測定と比較して、加速度から計算される。いくつかの実施形態は、積分を乗算に置き換えることを含む。すなわち、現在の速度＝前の速度＋［（現在の加速度＋前の加速度）×反復時間間隔］÷２である。いくつかの実施形態は、リアルタイム位置の変化から速度を計算することを含む。リアルタイムが利用可能でない場合、範囲外の場合、信頼できない場合、又はノイズが多い場合、リアルタイムのデータの代わりに、シミュレーションに速度の計算を使用することができる。計算された速度は、ノイズを低減する手段としてリアルタイム速度と組み合わされてもよい。
【０１８１】
請求項４−センサからなど直接のリアルタイム測定と比較して、位置から速度が計算される。いくつかの実施形態は、積分を乗算に置き換えることを含む。すなわち、現在の位置＝前の位置＋［（現在の速度＋前の速度）×反復時間間隔］÷２である。１つの好ましい実施形態は、リアルタイム位置センサから位置を受け入れることである。リアルタイムが利用可能でない場合、範囲外の場合、信頼できない場合、又はノイズが多い場合、リアルタイムのデータの代わりに、シミュレーションに速度の計算を使用することができる。計算された位置は、ノイズを低減する手段としてリアルタイム位置と組み合わされてもよい。計算された位置は、機械の引っ掛かり又は詰まり、過度の摩擦、モータの故障などエラーを検出する方法として、リアルタイムの測定位置と比較することができる。スプレッドシートの図に関して位置が計算される。
【０１８２】
請求項５−位置、速度、又は加速度の任意のものは、直接的又は間接的に、１つ又は複数のリアルタイムセンサからのものでよい。いくつかの好ましい実施形態は、リアルタイムセンサからの現在の位置、速度、及び加速度を使用する。位置や速度など、単一のリアルタイムセンサからのリアルタイムデータを使用して、他のパラメータを計算することができる。いくつかの実施形態は、リアルタイムデータを補正する非線形ルックアップテーブル又は関数を使用して、より正確な位置データを生成することを含む。そのような実施形態は、リアルタイムデータを入力として使用し、補正された位置を出力として使用することができる。そのような実施形態は、速度、位置、又は他の状態情報を入力又はセレクタとして含む複数又は多次元のテーブル又は式を使用することができる。いくつかの実施形態は、ステッパモータ内のステップ位置を含む入力又は状態情報を有する非線形テーブルを含む。いくつかの実施形態は、ステッパモータ内の２つのステップの間に入力又は状態情報段階を有する非線形テーブルを含む。いくつかの実施形態は、任意のそのようなデータの平均化、平滑化、範囲設定、又はエラーチェックを含む。いくつかの実施形態は、モーションコントローラによって制御されるデバイスの実際の測定又は較正からの任意のそのようなテーブルの生成を含む。
【０１８３】
請求項６及び７−位置は、直接的又は間接的にリアルタイムセンサから得られる。上記請求項５に関する全ての代替実施形態が、請求項６及び７の代替実施形態としても適用される。これらの請求項はまた、シャフト上に直接的又は間接的にある、例えばモータシャフト上に直接的にある、例えばステッパモータ上にある、又はＳＣＡＲＡプラットフォーム若しくはテーブルを直接駆動するシャフト上に直接的にある位置センサを表す。請求項はまた、ステップの分数よりも高いセンサ分解能を表す。１つの好ましい実施形態は、１／２００ステップ〜１／４ステップの範囲内のシャフト角度位置分解能である。１つの例示的実施形態は、全シャフト回転に関して４０００の分解能である。そのようなセンサとしては、ホール効果センサを使用することができる。そのようなセンサは、差動式でよく、又は単一のセンサに組み込まれた２つ、３つ、４つ、又は５つ以上のホール効果センサを有していてよい。
【０１８４】
請求項８−重要な新規性は、この方法が、出力又はフィードバックパラメータとして位置を提供するステップ又は要素を含まないことである。
【０１８５】
請求項９−重要な新規性は、この方法が、出力又はフィードバックパラメータとして位置又は速度を提供するステップ又は要素を含まないことである。
【０１８６】
請求項９−実際には、一実施形態は、ターゲットエンドポイント位置及び速度に「近づく」が、センサの精度や機械又はワークピースの制限など様々な現実世界の理由で完全な数値的ターゲットに到達する。位置又は速度値のいずれかに関して、移動がターゲットエンドポイントに十分近いとき、いくつかの実施形態は現在の移動を終了し、ここで次のウェイポイントに反復する。そのような「近さ」を検出する１つの方法は、ｐ１又はｖ１のいずれかが理想的なターゲットの境界内にあるとき、又はターゲットエンドポイントｔｔに到達するための計算される時間がゼロに近い時間範囲内にあることである。
【０１８７】
請求項１０−実際には、アプリケーションがターゲットウェイポイント位置及び速度に「近づく」とき、一実施形態の方法の計算は、ジャーク、加速度、又は速度の非常に大きな正又は負の値を生成することがある。又は、残り時間ｔｔは、１回の反復間隔ｔｓ未満、ゼロ、ゼロに近い、又は負になり得る。１つのエンドポイント条件は、その位置がターゲットｐｔの範囲内にあるときである。別のエンドポイント条件は、位置と速度の両方がターゲットｐｔとｖｔのそれぞれの範囲内にあるときである。一実施形態は、複数の軸を含み、全ての軸が各軸のそれぞれのｐｔの範囲内になければならない。１つのエンドポイント条件は、計算されたｊ、ａ、又はｖの何らかの組合せが、それぞれの許容範囲外であることである。実際には、ターゲットウェイポイントに近いとき、計算された項ｊ及びａは、特に「暴発」する傾向がある。いくつかの実施形態は、エンドポイント条件を検出又は決定するために使用され得るこれら及び他の条件を含む。
【０１８８】
請求項１１−パラメータｔｔは、前もって又はリアルタイムで計算される現在の時間から現在の移動の完了までの時間間隔として測定される「推定到着時刻」である。ｔｔの推定は、実施形態の重要且つ新規なステップである。所望のエンドポイント位置及び速度に到達する正確な瞬間は、その実際の決定がどれほど厳密に決定されるかに応じているので、「計算」ではなく「推定」と呼ぶ。しかしながら、いくつかの実施形態は、閉形式の計算から、反復から、シミュレーションから、又は最適化からの正確な計算を含む。
【０１８９】
請求項１２−ｔｔは、最適化ステップから推定又は計算することができ、最適化の目標は、現在の位置及び速度からターゲット位置及び速度への移動のシミュレーションなどからの最も線形の速度傾斜、シーケンス、又はプロファイルである。最適化の方法は当技術分野で知られており、本明細書の他の箇所で論じる。
【０１９０】
請求項１３−定数ｃ、ｄ、及びｅは、理想的にはそれぞれ６、４、及び３の値を有する。しかし、これらの値の変動は、いくらかのそのような変動が依然として効果的な実装を生み出すので、特許侵害の目的では使用できない。そのような変動は、特許侵害を判断するための「均等論」の適切な法的定義の範囲内にある。この請求項は、任意のそのような微調整、又は小さい誤差やアーチファクトの他の同様のタイプの微調整又は導入が、特許請求する範囲内に実際にあることを明示的にする。
【０１９１】
請求項１４−各理想値を正確に有する定数ｃ、ｄ、及びｅを述べる。
【０１９２】
請求項１５−エンドポイント条件の実施形態を述べる。
【０１９３】
請求項１６−反転ＳＣＡＲＡアームを使用する機械ツールを制御するための一実施形態の方法の使用を述べる。いくつかの実施形態は、非反転ＳＣＡＲＡアームと、１、２、３、４、５、６、及び７軸以上の機械ツールとを含み、ここで、２軸以上が同時に移動し、各軸が、特許請求する方法の制御下にある。
【０１９４】
請求項１７−重要且つ新規の一実施形態は、複数の軸上で同時に上記の方法を使用することである。機械ツールヘッドは一度に１箇所にしかあり得ないので、各軸での移動に関する反復は同時に終了しなければならない。一実施形態は、各軸ごとに所望の到着時間ｔｔを別々に計算し、次に到着時間ｔｔを選択して次に全軸を使用する。
【０１９５】
請求項１８−理想的なモータ又はアクチュエータが、印加された入力と線形のトルク又は力を生成する。実際には、大抵のモータは、印加された電流、電圧、又はステッパモータの場合にはステップ間位相角と線形でない。さらに、公称ではステップ数と線形の角度位置も提供するステッパモータは、位置が完全には線形でない。この請求項は、入力として所望の加速度又はモータトルクを取得し、直接的又は間接的に少なくとも１つのモータコイル用の少なくとも１つのモータ電流になる値を出力する非線形補正テーブルを含む方法及びデバイスを述べる。テーブルと物理的なモータ又はアクチュエータとの間の中間要素は、ステッパモータ、増幅器、パルス幅変調（ＰＷＭ）を含む変調器、ドライバ、及び追加のルックアップ、変換、線形化、並びに閉ループ制御要素又はステップを含めた、多相モータに関する位相の変換を含むことがある。いくつかの実施形態は、ステッパモータ、ＡＣモータ、ＤＣモータ、サーボモータ、永久磁石モータ、同期モータ、誘導モータ、リニアモータ、圧電トランスデューサ（ＰＺＴ）、ボイスコイル、レールガン、照明、機械的に可動なレンズ、ポンプ及び加圧器、弁、並びに他の機械的デバイスを含む。いくつかの実施形態は、レンズアクション、すなわち、焦点、自動焦点、焦点距離（ズーム）、パン、チルト、（光軸周りの）回転、色、及び機械的に制御可能なスペクトルフィルタリングを含む。この請求項に関しては、非線形式の使用が表の定義に含まれている。そのようなテーブルは、状態情報を含むことがあり、テーブル出力は、特定のモータに関する較正、モータ位置、モータ速度、モータ負荷、テーブルの入力又は出力の変化率、及び他の状態情報など、状態情報に応答することができる。
【０１９６】
請求項１９−いくつかの実施形態は、制御されるモータ又はアクチュエータを含む実施形態と、モータ又はアクチュエータを制御するように適合された実施形態とを含む、任意の請求項又は方法実施形態を実装するデバイスについて特に特許請求する。
【０１９７】
請求項２０−いくつかの実施形態は、モータ又はアクチュエータを含む実施形態、及びモータ又はアクチュエータを制御するように適合された実施形態を含む、任意の請求項又は方法の実施形態を実装するシステムについて特に特許請求する。
【０１９８】
定義
用語の使用に関する注記−位置、スピード、速度、トルク、及び加速度について論じるとき、表記の明らかな一貫性のなさがあり得る。これは、１つには、位置などのいくつかの用語が、本来的に１次元、２次元、又は３次元以上の点を記述するために使用されるからである。位置は、スカラー又はベクトルとして一般に使用される。しかしながら、スピードという用語は一般にはスカラーであり、速度は一般にベクトルである。位置と同様に、加速度という用語は、一般的な使用法では、スカラー又はベクトルのいずれでもよい。さらに、線形運動の文脈では加速度が一般的に使用され、回転運動の文脈ではトルクが使用される。ジャークは、スカラー又はベクトルのいずれかとしての、また直線運動又は回転運動のいずれかとしての、加速度の微分である。さらに、明らかに１つの軸又は１組のスカラーのみに言及し得る論述、請求項、実施形態、又は図面は、並列の独立した実施形態として、又は複数の軸間の同期運動として、複数の軸に言及するように拡張され得る。さらに、より広い制御ループ又は所定のプロファイルが複数の軸に関して機能していることがあり、個々の軸に関して、複数の個々のモータコントローラが全て、より大きい単一の制御ループ内で使用される。さらに、「回転位置」又は「回転スピード」が使用されることもあるが、概して、より単純な用語「位置」及び「スピード」が使用される。したがって、請求項、実施形態、図面、又は説明の構成に関して、これらの用語の過度の又は限定的な解釈を使用しないことが重要である。一般に、文脈上明確でないか、又は制限が別途記載されていない限り、最も広く合理的な解釈が用いられるべきである。これは、スカラーとベクトル、線形と回転、及び符号有りと無しの両方に当てはまる。
「加速度」−単位時間当たりの速度。「速度」の定義及び用語の用法に関する注記も参照されたい。
「電機子電流」、「電機子電圧」、「モータ電流」、及び「モータ電圧」−１つ又は複数のモータコイルで測定される又は測定可能な電気信号である。それらは、モータ、機械、及びドライバの構成及びアクションの結果でよく、又はモータを駆動しようとしているモータ制御、ドライバ、又は変調器回路の出力又は所期の出力でもよい。それらは、モータ接点、モータコイルで測定されることがあり、モータ制御、ドライバ、又は変調器回路の出力である。そのような信号はトルク、加速度、又は速度ではないことを理解することが重要である。この段落は、本特許出願、及び他の教示、例、論述、又は刊行物において使用される用語の適切な構築に重要である。
「構成エリア」−３Ｄ付加製造プリンタに関して、典型的にはプラッタ上で対象物が印刷され得る水平エリアを表す。
「組合せ」−２つ以上の要素のリストに適用するために「組合せ」という用語が使用されるとき、リストからの任意の１つ又は複数の要素を意味する。例えば、３つの要素のリストは、７つの可能な組合せを有する。
「被制御軸」−直線位置又は回転位置のいずれかの所望の位置に制御可能な軸を表し、位置間の制御される速度を含み、回転スピードが可変であっても、連続的な回転軸、例えばドリルプレス又は旋盤回転軸を除外する。制御可能な所望の位置の分解能は、機械上のワークピースでの所望のフィーチャサイズの精度に匹敵するはずである。
「エンドポイント条件」−エラー条件、オーバーレンジ条件、又は所定の限度内でのターゲット又は目標への到達を含むが、それに限定されない、反復を停止させる任意の条件。
「ジャーク」−単位時間あたりの加速度。「加速度」及び「速度」の定義、並びに用語の用法に関する注記も参照されたい。
「機械システム」−除去機械ツール又は付加機械ツール、例えば３Ｄプリンタなどの機械でよい。しかしながら、全く異なる機械システム、そのような車両又は車両の一部など、であってもよい。例えば、車両、ドローン、宇宙船、オートバイ、又はスキーヤーなど、計算モーションエンジンを用いた自己運転又は人間制御も、このような機械システムの一例である。請求項の解釈に関して、「機械システム」は、同等の位置、その位置の第１及び第２の導関数、並びに一次導関数を変える力の等価物について述べることがある全てのそのようなシステムを含め、従来の機械システムと同様に挙動するシステムを含むように広く解釈しなければならない。
「プランナ」−いくつかの実施形態では、プランナはモーションエンジンであり、その逆も成り立つ。しかしながら、いくつかの実施形態では、モーションエンジンは、単なるプランナよりも多くの計算要素を含む。さらなる情報は、図５及び明細書本文を参照されたい。
「プラットフォーム又は構成プレート」−一般に、ターンテーブルと部品との間の中間構成要素として、ターンテーブルに取り付けられた（重力によって取り付けられたものを含む）表面を表す。この部品は、構成プレートに直接組み立てられてよく、又はさらに別の中間構成要素が使用されることもある。これは、「プラーナツールエリア」を含むことがある。
「位置」−核心的な方法及びデバイスに関しては、単軸スカラー値。これらの方法及びデバイスへの入力として、及び時として運動制御システムからのフィードバックとして、位置及びその導関数は、複数の軸に関するベクトルでよい。符号付きでも符号なしでもよい。用語の用法に関する注記も参照されたい。
「ツールレンジエリア」−付加又は除去機械加工に利用可能な部品表面の上又は上方の領域。水平でない部品表面、又は機械加工体積がその下にある部品表面に関して、用語「上方」の意味はそれに従って調整される。
「速度」−反復ジャーク法及びモータコントローラに関して、速度は、軸あたりのスカラーであり、これは、単位時間あたりの位置である。代替の用語は、レートである。核心的な方法及びデバイスの文脈では、速度は、単一の軸に適用されるので、ヘディングベクトルを含まない。速度は、通常は符号が付いているが、そうでない場合もある。符号又は方向が示唆されることもある。用語の用法に関する注記も参照されたい。
【０１９９】
理想的、理想的には、最適な、及び好ましい−本発明を述べる文脈で使用するとき、「理想的」、「理想的には」、「最適な」、「すべき」、及び「好ましい」という用語の使用は、具体的には、本発明の１つ又は複数の用途のための１つ又は複数の実施形態に関する最良の形態を表す。そのような最良の形態は非限定的であり、当業者には理解されるように、全ての実施形態、用途、又は実装技術にとって最良の形態ではないことがある。
【０２００】
ことがある(may)、できる(could)、オプション、モード、代替、及び特徴−本発明を述べる文脈で使用するとき、用語「ことがある(may)」、「できる(could)」、「オプション」、「任意選択的な」、「モード」、「代替」、及び「特徴」の使用は、特に本発明の様々な実施形態を表す。「示された」又は「コード」という用語を使用する例、説明、及び図は、非限定的な実施形態を表す。全ての図が、非限定的な実施形態である。当業者には理解されるように、本明細書における全ての記載は非限定的である。
【０２０１】
本発明の請求項は、明細書、図面、請求項、及び要約における全ての特徴、要素、例、請求項、実施形態、表、値、範囲、並びに図面の全ての組合せ及び部分的な組合せを明示的に含む。本発明の請求項は、請求項、明細書、及び図面に記載された全ての方法の任意の組合せを実施するためのデバイス及びシステムを明示的に含む。本発明の請求項は、請求項、明細書、及び図面に記載されたデバイス及びシステムを任意の組合せで使用する方法を明示的に含む。
【図１】
2019530031.tif 000003
【図２】
2019530031.tif 000004
【図３】
2019530031.tif 000005
【図４】
2019530031.tif 000006
【図５】
2019530031.tif 000007
【図６】
2019530031.tif 000008
【図７Ａ】
2019530031.tif 000009
【図７Ｂ】
2019530031.tif 000010
【図８Ａ】
2019530031.tif 000011
【図８Ｂ】
2019530031.tif 000012
【図９】
2019530031.tif 000013
【図１０】
2019530031.tif 000014
【図１１】
2019530031.tif 000015
【国際調査報告】
2019530031.tif 000016