JP2019530031A - 反復運動制御の方法 - Google Patents

反復運動制御の方法 Download PDF

Info

Publication number
JP2019530031A
JP2019530031A JP2018556910A JP2018556910A JP2019530031A JP 2019530031 A JP2019530031 A JP 2019530031A JP 2018556910 A JP2018556910 A JP 2018556910A JP 2018556910 A JP2018556910 A JP 2018556910A JP 2019530031 A JP2019530031 A JP 2019530031A
Authority
JP
Japan
Prior art keywords
velocity
acceleration
target
motor
time
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.)
Pending
Application number
JP2018556910A
Other languages
English (en)
Inventor
スコグスルード、シーメン
ボー−ウィーガード、トーマス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Skogsrud Simen
Original Assignee
Skogsrud Simen
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 Skogsrud Simen filed Critical Skogsrud Simen
Publication of JP2019530031A publication Critical patent/JP2019530031A/ja
Pending legal-status Critical Current

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
    • G05B19/19Numerical 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 characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • 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/406Numerical 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 characterised by monitoring or safety
    • G05B19/4062Monitoring servoloop, e.g. overload of servomotor, loss of feedback or reference
    • 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/406Numerical 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 characterised by monitoring or safety
    • G05B19/4063Monitoring general control system
    • 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/416Numerical 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 characterised by control of velocity, acceleration or deceleration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/12Programme-controlled manipulators characterised by positioning means for manipulator elements electric
    • B25J9/126Rotary actuators
    • 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/32Operator till task planning
    • G05B2219/32404Scada supervisory control and data acquisition
    • 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/42Servomotor, servo controller kind till VSS
    • G05B2219/42244Enter acceleration, jerk, generator outputs acceleration, speed, position by integration
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43065Limitation of jerk
    • 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/49Nc machine tool, till multiple
    • G05B2219/490233-D printing, layer of powder, add drops of binder in layer, new powder

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Feedback Control In General (AREA)
  • Control Of Position Or Direction (AREA)
  • Control Of Velocity Or Acceleration (AREA)

Abstract

次のウェイポイントの所望の位置と所望の速度との両方に到達するために、運動制御下でシステムからのリアルタイムフィードバックを使用して、数値的な「ジャーク」、すなわち加速度の運動導関数を反復的に計算する計算モーションエンジンの方法及びデバイスが述べられている。モーションエンジンからの出力は、所望の加速度のみであり、これは次いで、位置又は速度の中間的な計算なしで、モータドライバに渡される。第2の内部フィードバックループは、モーションエンジンの加速度出力に基づいて、モータシャフトでの所望の加速度又はトルクを維持し、これは非線形補正テーブルを使用することができる。位置と速度の両方を含むウェイポイントは、モーションエンジンへの入力である。次のウェイポイントまでの時間は、入力として提供されるのではなく、計算される。次のウェイポイントへの移動の最適化は、移動中の最も滑らかな速度変化に基づく。いくつかの実施形態は、機械的な2軸SCARAアーム運動システムを含む。

Description

本出願は、2016年4月27日出願の米国仮出願第62/328,544号明細書に対する優先権を主張するものである。従来技術には、米国特許出願公開第5770829A明細書、「Katz」;米国特許第9041337B2号明細書、「Tian」;米国特許出願公開第20130197688A号明細書、「Egi」;及び米国特許出願公開第4769583A号明細書、「Goor」が含まれる。
本発明の分野は、対象物を所望の経路に沿って移動させるための機械である。より具体的には、本発明の分野は、機械的動作制御及び非機械的プロセスを含む、閉ループシステムにおけるモーションコントローラである。対象物はツールヘッドでよく、経路は任意の数の軸における機械加工経路でよい。例えば、典型的な3Dプリンタでは、各増分層は、プリントヘッドを2D平面内のベクトルパターンで駆動させることによって構築される。固定されたワークピースの上方でツールヘッドを駆動させるのと同様に、固定されたツールヘッドの下方でワークピースが駆動されることもある。
従来技術は、多くの場合、Gコードなど読み取り可能なテキスト及び数値形式の一連の移動命令を使用する。ここで、各移動命令は、機械のハードウェアによって直接実行されるか、又はコントローラによってよって小さいステップに分解され、これらのステップが駆動メカニズムに出力するために使用される。モータは、パルス、マイクロステップ、パルス幅変調(PWM)、又はアナログ電流若しくは電圧波形によって駆動されるステッパ又はサーボでよい。最後のモータ制御出力を除いて、Gコードよりも前の全てのデータ処理は、非リアルタイムで事前に行われてよい。従来技術は、被制御システムに関する所望の位置又は速度ウェイポイントを計算する。
従来技術は、比例−積分−微分(PID)コントローラの使用を含む。
移動命令を所要な低レベルのモータ制御出力に変換するのに必要な分解は、「モーションエンジン」と呼ばれることがある。これは、方法、及び方法ステップを実行する機械の両方を表す。典型的には、計算要件が高く、高い計算精度と高速処理の両方を必要とする。
さらに、計算「モーションエンジン」による移動命令からの従来技術の計算シーケンス(データ処理ステップ)は、開ループシーケンスである。すなわち、計算シーケンスは、ツールヘッド(又は他の駆動される物体)の任意の実際の測定されたリアルタイム位置又はシステムの他のパラメータを考慮に入れ、その情報を使用してモーションエンジンの出力又はモータ制御出力を動的に変えることはしない。
従来技術は、モーションエンジンから実際のモータまでの開ループシステムを使用することがある。例として、ステッパモータへのステップ(マイクロステップを含む)、又はサーボモータへの電圧若しくは電流が挙げられる。PWMやマイクロステッピングなどの変調は、開ループのトポロジーを変えない。モータにおける基本的な閉ループ制御は、ステッパモータにおける欠落ステップの検出、又はステップ時間の測定を含むことがある。閉ループモータ制御は、モーションエンジンからの所望の位置コマンドを維持するために位置を測定してよく、又はモーションエンジンからの所望の速度を維持するために速度を測定してもよい。
いくつかの従来技術は、モーションコントローラへの入力として、ツールヘッド又はワークピースからのフィードバックを使用する。しかしながら、そのようなシステムは、制御ループの安定性の必要性と、動作コマンドと実際のツールヘッド位置との間の比較的長い遅延とにより、遅くなる傾向がある。これは、急速に変化する入力を有するPIDコントローラの既知の弱点である。また、そのようなフィードバックシステムは複雑であり、直にツールヘッドにおける非常に高い精度の測定を必要とする。機械の剛性要件は、典型的には、そのような機械を大きく且つ高価にする。
従来技術のさらに別の弱点は、フィードバックループを達成するためのターゲットとして、単一のスカラー(位置など)のみを使用することである。
従来技術のフィードバック方法及びデバイスのさらに別の弱点は、制御下のシステムの以前の動作又は状態の「記憶」を有することである。時変入力の場合、そのような「記憶」は、大きな誤差又は遅い整定時間を生み出すことがある。例えば、PIDコントローラでのI(積分)項は、その定義により「記憶」である。
従来技術のさらに別の弱点は、非直交軸上の別個のフィードバックループとして構成されたときに、PIDなどの方法がうまく機能しないことである。例えば、1つの軸上の運動が、別の軸上の運動に影響を与えることがあり、「ドリフト」、「オフセット」、又は他の誤差として現れる。そのような誤差を補償する試みは遅く、また、その後、他の軸が何らかの他の運動をしているときに、その補償がそこで誤差を生じる。
いくつかの従来技術は、「バングバング型」コントローラなど、2値又は3値の数値の形でジャークを考慮に入れる。
従来技術のさらに別の弱点は、フィードバックの生成において、既知のシステム速度及び加速度を利用していないことである。PIDコントローラなど一部のコントローラは、例えばI(積分)項の使用によって、速度と同様の値を「計算」するが、この値は、実際のリアルタイム速度の尺度ではなく、計算されたものである。そのため、誤差、ノイズ、安定性の問題、及びシステムの変化に対する遅い応答をもたらすことがある。
機械システムを、シナリオ、実践、及び実施形態と呼ぶが、特許請求する範囲には、カメラ制御、照明制御、及び動的生物学的システムにおける用途を含めた、産業プロセス及び非産業プロセスを含む非機械システムが含まれる。
本発明の実施形態は、従来技術における上記の弱点を克服する。
特に、モーションエンジンの1つの実施形態は、導関数の計算定義を使用して、加速度の運動導関数である数値的な「ジャーク」を反復して計算する。これらの実施形態を、それぞれ「反復ジャーク」法又はデバイスの実行又は実装と呼ぶ。これらの反復ステップは、3Dプリンタなどの機械システムからのフィードバックを使用して、モーションエンジンの出力及びモータ制御出力の品質を向上させる。
一実施形態は、各「移動」を、必要な数の軸で、位置と速度の両方を含むターゲット、目標点、又は「ウェイポイント」とみなす。レート及びスピードは、速度に対する代替の用語である。ターゲット又は目標は、ツールヘッドがウェイポイント位置とウェイポイント速度の両方に到達することである。モーションエンジンの各反復では、現在のツールヘッド位置、速度、及び加速度、並びにターゲット位置及びターゲット速度など、機械の現在の状態に関するデータのみが、モーションエンジンの方法ステップによって考慮に入れられる。すなわち、実際にどの経路が追跡されるか、すなわち現在のウェイポイントへの現在の経路上での運動履歴は、モーションコントロールエンジン法では重要でないか、又は使用されない。
いくつかの実施形態は、目標、入力、及び利益として、ターゲット位置とターゲット速度の両方を使用する。
いくつかの実施形態は、リアルタイム測定位置、測定された速度、及び測定された速度を入力として使用する。いくつかの実施形態は、リアルタイム位置フィードバックに基づいて、リアルタイムで計算された速度又は加速度を使用することができる。
いくつかの実施形態は、モーションエンジンの出力を、軸ごとに、線形的な滑らかに変化する加速度スカラーとしてのみ使用する。いくつかの実施形態は、最初にジャークを計算し、次いでこれを現在の加速度値に適用して、次の反復のための出力加速度値と新たな加速度値の両方を生成する。リアルタイム「コマンド」としてのこの加速度値は、モータドライバに送信され、これは、開ループ又は閉ループのいずれかでよく、所望の指令された加速を実行及び維持する。中間位置又は速度が、モーションコントロールエンジンからモータコントローラへのコマンドとして使用されないことに留意されたい。モータコントローラに関する代替の名称は、モータドライバである。
いくつかの実施形態は、モーションエンジンへの入力として提供される次のウェイポイントまでの移動時間を有さない。むしろ、いくつかの実施形態は、次のウェイポイントへの移動時間を計算する。そのような計算は、最適化、非反復計算、又は推定でよい。1つの最適化は、現在の位置又はウェイポイントから次の又はターゲットウェイポイントまでの速度値の平滑性、すなわち線形性を最大にする移動時間を生成することである。いくつかの実施形態は、モーションエンジンへの入力として最大速度限度を含まない。いくつかの実施形態は、デカルト座標を、2軸SCARAアーム運動系によって使用されるような極座標に変換する。いくつかの実施形態は、非線形及び非直交系を含む他の2軸及び多軸座標系を含む。
説明の目的で「数学」、「式」、及び「アルゴリズム」が使用されているが、機能的な特許性のある方法及びデバイスの隔離において任意のそのようなものに対して請求項は成されていないことに留意されたい。ソフトウェアについて成された請求項も、そのようなものではない。範囲のそのような制限は、適切な請求項の構成に必要である。
デバイス及び方法の両方の実施形態のブロック図である。 一実施形態を含む制御システムのブロック図である。 一実施形態を含む代替の制御システムのブロック図である。 従来技術を示す図である。 スプレッドシート形式での方法の例示的な実行の開始初期値を示す図である。 図5における方法の例示的な実行に関する反復の実行を示す図である。 図6における方法の例示的な実行からの位置のグラフを示す図である。 図6における方法の例示的な実行からの速度のグラフを示す図である。 図6における方法の例示的な実行からの加速度のグラフを示す図である。 図6における方法の例示的な実行からのジャークのグラフを示す図である。 図5〜8Bで使用される式を示す図である。 方法の別の例示的な実行のためのスプレッドシートの一部を示す図である。 CADシステムから実行までのデータフローのブロック図である。
全ての図、論述、及びシナリオは、非限定的な例示的実施形態である。
図1は、デバイス及び方法の一実施形態のブロック図を示す。元の出願の請求項1と併せてこの図を検討することは有益である。
システムプロセス71は、特許請求するいくつかの実施形態の一部であるが、他の実施形態の一部ではない。いずれにせよ、これは、実施形態による閉ループ制御下のシステムであり、典型的には機械システムであるが、必ずしもそうである必要はない。図示されているように、システムは、適切にはシステムプロセス71内でよく、又はシステムプロセス71外でもよい出力、又は測定結果、又はセンサ値、又は計算結果として、現在の位置、現在の速度、及び現在の加速度を提供する。これら3つの出力はいずれも、直接測定するのではなく、センサデータから計算することもできる。例えば、シャフト位置センサなどの適切な位置センサからのデータを使用して、現在の速度及び現在の加速度を計算することができる。
実施形態への入力は、右上に示されているターゲット位置及びターゲット速度である。多くの場合、ターゲット位置とターゲット速度との組合せは、次のウェイポイント又は「目標」と呼ばれる。本発明の核心となる新規性及び利益は、ただ1つのウェイポイントとしてターゲット位置とターゲット速度との両方に到達しなければならないことである。いくつかの実施形態の目標は、これを好適に実現することである。
本発明の核心となる新規性は、図示されるように、出力としてジャーク78又は加速度82を生成し、また、位置、位置誤差、速度、又は速度誤差信号を生成してシステム又はプロセス71に戻すことができる要素又はステップ73、74、75、76、77、78、及び79を含む方法である。
図中で用いる「t」という用語は、推定又は計算されたものである。
減算器モジュール72は、ターゲット位置と現在位置との間の位置差分値を生成する。これは、少なくとも従来技術の文脈では、位置に関する「エラー」信号としかみなされないことがある。
モジュール73は、位置差分値に4を乗算し、スケーリングされた位置差分値を距離単位で生成する。
モジュール74は、現在の速度に3を乗算し、次いで反復時間を乗算して、スケーリングされた現在の速度値を距離単位で生成する。
モジュール75は、ターゲット速度に反復時間(iteration time)を乗算し、スケーリングされたターゲット速度値を距離単位で生成する。
モジュール76は、以下の4つの値を加算する。(i)距離単位での、現在の加速度に反復時間の2乗を乗算した値、(ii)スケーリングされた位置の差、(iii)スケーリングされた現在の速度に反復時間を乗算した値、及び(iv)ターゲット速度に反復時間を乗算した値。次いで、これら4つの距離単位値の和を反復時間の3乗で除算し、未補正ジャーク和をジャーク(加速度の微分)単位で生成する。
モジュール77は、未補正ジャーク和に−6を乗算し、スケーリングされたジャークの値を生成する(参照番号78として示される)。参照番号78でのこの値が、実施形態の1つの出力である。このジャーク値78に反復時間間隔などの時間間隔を乗算し、又は時間間隔にわたって積分して、加速度又はトルク82を生成することができる。この加速度値は、任意選択的に、加算モジュール又はステップ80において現在の加速度に加算され、これが次いで所望の加速度となり、次いで、システム又はプロセス71に主フィードバック信号又は唯一のフィードバック信号としてフィードバックされる。任意選択的な要素80及び81は、加速度を修正することができ、例えば計算結果の出力を線形化して、システム又はプロセス(例えばモータ電流又は位相角)に実際の駆動信号をより密接に合致させて、所望の加速度を実際に生成する。
続いて、このジャーク値を加速度値に変換してシステム又はプロセス71にフィードバックする際、ジャークを加速度単位に変換するためにモジュール79においてジャーク78に反復時間が乗算されて、次いでこれが、任意選択的にモジュール80において現在の加速度に加えられて、「フィードバック加速度」を生成する。これは、次の反復サイクルのための「ターゲット加速度」とみなすことができる。理想的には、システム又はプロセス71は、加速のためにこのフィードバック加速度を使用する。完全なシステムでは、各反復においてシステム又はプロセス71から出力される現在の加速度は、前の反復からの入力フィードバック加速度に等しい。
「xt」という用語は、tが乗算されたことを意味する。
いくつかの実施形態は、図示されているモジュールを組み合わせることもできることに留意されたい。モジュール及びそれらの計算は、並列に、又は順次に、又は任意の組合せで動作することができる。計算は、ディジタル若しくはアナログ、又はそれらの組合せでよい。計算は、プロセッサ、マイクロコントローラ、CPU、MPU、DSP、FPGA、ハードワイヤードロジック、又は他の手段によって行うことができる。
ここで図2を見ると、例示的実施形態が示されている。実装は、連続的でも離散的でもよい。実装は、マイクロコントローラ、DSPチップ、FPGA、ハードワイヤード電子機器などを使用することができる。当業者に知られているように、要素及びステップを実装するための多くの種々の技術及び方法がある。個々の要素又はステップは、FGPA又は他のチップなど単一の物理的な要素に組み合わされてもよい。要素とステップとの関連性は、直接的でも間接的でもよく、信号はワイヤを介して通信されてもよく、又はディジタル値が広範な技術、スピード、距離で通信されてもよい。
制御されるシステムは、参照番号117として示されている。これは、本明細書において他の箇所で述べる機械ツール、多くの他のシステムのモータでよい。参照番号116は、フィードバックプロセスであり、典型的には計算である。例えばPIDコントローラでよい。これは、以下の形の式でよい。
j=−(6×(4×p−4×pt+a×(tt^2)+3×tt×v+(tt)×vt))/(tt^3)
ここで、jはジャーク値、pは位置、aは加速度、vは速度、ptはターゲット位置、vtはターゲット速度、ttはターゲット位置に到達するまでの残り時間である。ジャークjに反復間隔時間を乗算して、又はある期間にわたって積分して、加速度を生成することができる。この加速度は、要素116の出力でよい。要素116のフィードバックプロセスの多くの他の形態は、当業者に知られている。フィードバックプロセス116は、参照番号120として示されるウェイポイント、位置、速度、又は位置と速度の両方などの目標を受け入れる。フィードバックプロセス116は、所望の加速度115を出力する。上式での定数6、4、及び3は、理想的には厳密にこれらの数値にすべきである。しかしながら、±1%、±3%、±5%、又は±10%などのわずかな変化も、許容範囲内の結果をもたらすことができ、これらの各範囲も特許請求する。したがって、公称定数値に対するそのような変更は、これらの値の適正な構成である。同等の結果に関しては、特許侵害の判断に均等論が適用される。
強制関数実行104は、計算要素104に提供されるものとして示されている非線形強制関数105を使用して、所望の加速度115を所望の強制値106に変換する。強制関数105は、静的でも、動的に更新されてもよい。要素又はステップ104によって計算される強制関数105の目的は、フィードバックループを線形化することである。
要素又はステップ107は、所望の強制値106から、及び任意選択的に現在の駆動位置108から、所望の駆動値109を計算する。例えば、所望の強制値106は、ニュートン・メートルの単位などのトルクとして測定することができる。所望の駆動値は、被制御システム117内のモータ又は他のアクチュエータを駆動する実際の信号により密接に合致する電界強度、コイル電流、モータ電圧、PWMパーセンテージ、又は他のパラメータでよい。要素又はステップ107での計算は、線形乗算又は加算のような簡単なものでよく、単位変換を効果的に行う。要素又はステップ107におけるより複雑な計算は、シャフト角度又は位相など現在の駆動位置108を考慮することであり得る。所望の強制値109は、現在の駆動位置108からの位相オフセットなどの差でよい。一例として、所望の強制値106は、公称で所望の加速度115を実現するためのモータトルクでよい。要素116からの所望の加速度値115は、主制御ループの数回の反復にわたって比較的一定でよい。しかしながら、これらの反復中、システム117内の多相モータは、複数の位相を循環する。したがって、現在の駆動位置108は反復して循環し、所望の駆動値、この例では差分位相角も複数の位相を循環する。
要素又はステップ110では、出力値が、所望の駆動値から生成又は計算される。いくつかの実施形態では、このステップは任意選択的である。この要素ステップ110は、トルク又は位相オフセット角などの駆動値を2つの位相角、1つ又は複数の電圧、又はPWMパーセンテージに変換する必要があり得る。要素又はステップ110は、2コイルステッパモータなどの2相モータを駆動するのに必要なように、スカラー入力109を2つの出力に変換するために必要とされることがある。いくつかの実施形態は、3つの出力位相を必要とする。そのような変換は、用途又は実施形態に依存する。要素又はステップ110は任意選択的である。要素又はステップ110の出力は、参照番号111として示されている。
要素又はステップ112は任意選択的である。例えば、それらの入力111は、PWMパーセンテージでよい。次いで、変調器112は、それらの入力111で指定されたデューティサイクルを有するPWMパルス列を生成することができる。変調器112は、増幅器、又はモータコイル用の電流ドライバなど他の電子ドライバでよい。変調器又は増幅器112の出力は参照番号113として示されており、典型的には、被制御システム117内のモータなどのアクチュエータに直接接続されるが、増幅器やリミッタなどの追加の介在要素があってもよい。図2は、要素111、112、及び113が二重に示されているので、2つのチャネルを示している。そのような実施形態は、例えば2コイルステッパモータに適している。様々な実施形態は、1つ、2つ、3つ、又は4つ以上のチャネルを有することができる。
被制御システム117は、出力信号114を提供する。出力信号114は、位置、速度、又は温度など他のパラメータでよい。この信号114は、スカラー、ベクトル、又は集合でよい。例えば、位置と速度の両方を含むことができる。典型的には、シャフトエンコーダなど、被制御システム117内のセンサによって提供される。広範なセンサが当該技術分野において知られており、システム及び実施形態に依存する。信号114は、システム117からフィードバックプロセス又は計算116への「フィードバック」として提供される。
この主閉ループは、経路116、115、104、106、107、109、110、111、112、113、117、114である。いくつかの要素又はステップは任意選択的である、又は「パススルー」であることを再度指摘しておく。閉ループシステムの目標120は、適切には主フィードバックループにはなく、むしろこの実施形態又はシステムにそのターゲットについて通知することに留意されたい。また、要素又はステップ104では強制関数が使用されるが、強制関数105を提供することは、適切には主フィードバックループの外部にある。
被制御システム117をモータ又は機械ツールなどの機械システムと考え、要素又はステップ116を純粋に計算ステップと考えるのが好都合であるが、これに限定されない。
図2を図4の従来技術と比較すると、図4での「プラント/プロセス」は、概して図2のシステム117である。P、I、及びDの計算、及び2つの加算は、主フィードバックプロセス要素又はステップ116の内部にある。図4でのr(t)は、図2での目標120に対応する。従来技術の図4でのPIDループは、強制関数要素又はステップ104を含まず、非線形計算を含まないことに留意されたい。従来技術は、速度と位置の両方の入力を目標として計算に含まない。
いくつかの実施形態では、信号108、すなわち現在の駆動位置は必要とされないことがある。例えば、単純なシングルチャネルDCサーボ用途では、強制値106はトルク又は電圧でよい。この値は、システム117内のサーボモータを直接駆動する増幅器である単一の変調器112に直接渡ることがある。そのような単純なシステムでさえ、要素又はステップ104における非線形強制関数は有益であり得る。サーボモータトルクは、電圧に対して線形ではないことがあり、この要素又はステップはそれを補正することができる。いくつかの実施形態では、要素又はステップ104は、モータスピード、モータ負荷、システム温度、又は他の多くの因子のいずれかなど、図1に示されていない追加の入力を有することができる。
図2に示される主閉ループ制御システムは、典型的には単一の軸又は単一のスカラー(例えば温度)のためのものである。しかしながら、実際には、複数の軸を制御することが必要であることが多い。1つのそのような方法は、各軸ごとに個別に、図2の制御システムのコピーを本質的に複製することである。しかしながら、多くの場合、軸は完全には独立しておらず、例えば、単一のウェイポイントが複数の軸でのターゲット位置を含む。したがって、図2でのいくつかの要素は、各軸の各実装間で共有され得る。
いくつかの実施形態は、温度の制御など、対応する又は類似の要素を有する非機械システムを含み、そのようなシステムに適用される。
また、図2は、追加のフィードバックループを示しており、これを「外部ループ」と呼ぶ。このフィードバックループは、被制御システム117を観察し、その観察結果118は、要素又はステップ119に強制関数105を選択又は計算させ、この強制関数105は次いで、主制御ループ内の要素又はステップ104によって使用される。この外部ループは、典型的には、主制御ループよりもはるかに遅い反復レートで動作する。モータ又は負荷などの構成要素が被制御システム117内で交換されるたびに1回の反復程度の遅さでよい。外部ループは、要素又はステップ119が強制関数105を選択又は計算することを可能にすることを明示的な目的として、被制御システム117の較正又は他の操作の実行時にのみ動作してもよい。外部ループは、連続的に動作して、動作中に被制御システム117を観察し、定期的に強制関数105を更新することができる。
また、図2は、要素又はステップ108、107、109、110、111、112、113、及び117を含む「内部ループ」も示している。この内部ループは、被制御システム117内のモータ又は他のアクチュエータの近くで動作する。例えば、その役割は、モータ内で所望の界磁束又はコイル電流を提供することでよい。所望の強制値106を実装して維持するために、この内部制御ループの役割を考えることができる。内部制御ループは、典型的には、主制御ループよりも速い反復レートで動作する。しかしながら、その反復レートは、主制御ループの反復レートと同じくらい遅くてもよい。例えば、主制御ループは、毎秒100〜1000回のレートで動作することがあり、内部制御ループは、毎秒1000〜百万回のレートで動作する。これらのレートは、用途に応じて大幅に異なることがある。例えば、衛星通信用の高速変調器は、ギガヘルツのレートで動作することがあり、感染症又は地球温暖化を追跡又は管理するシステムは、数週間程度で循環することがある。内部制御ループは、アナログ電子回路によって実装されることがあり、主制御ループはディジタルである。
ここで図3を参照して、いくつかの異なる実施形態を考察する。主要な実施形態は、図示されている入力及び構造要素の使用を含む、太線のボックス178の閉ループ制御方法及びデバイスである。そのような実施形態は、ターゲット位置162及びターゲット速度163を受け入れる。実施形態の動作は、具体的には、閉ループ及びリアルタイム反復を行うことによって、現在の移動の最後にターゲット位置162とターゲット速度163の両方に到達することである。リアルタイム入力は、現在の位置及び現在の速度を含む。これらは物理的システム、例えばモータ167から測定されてよく、又は位置のみが測定され(参照番号169)、速度は、ボックス161において位置から計算されてもよい。そのような計算は、ボックス178内に示されている反復レートなど全体的なループに関するものよりも速くてよく、又はより高周波数でよく、又はより高い帯域幅でよい。また、ボックス166でのフィードバックは、全体的なループよりも速くてよく、又はより高周波数でよく、又はより高い帯域幅でよい。実際、特に、ボックス166−167−168を含むループ、若しくはボックス161における計算、又はその両方がループレートよりも速いので、実施形態及びこのアーキテクチャの核心的な利益は、より高いシステム性能である。このようなレートの違いは、いくつかの実施形態として特許請求する。
ボックス161自体は従来技術であるが、この要素はいくつかの実施形態に含まれる。
閉ループ反復プロセスにおける重要であり新規のステップは、要素又はステップ170におけるジャークの計算である。いくつかの実施形態は、このステップにおける定義された計算を含み、他の実施形態は、計算の性質を明示的に含まない。ジャーク計算の要素又はステップ170は特許請求の範囲外の場合があり、したがって、そのような計算の指定がなくても、開示の特異性の欠如により請求項が無効にされることはない。典型的には、入力ステップ170は、現在の位置、速度、及び加速度、並びにターゲット位置及び速度を含む。要素又はステップ170の出力は、ジャークスカラー171である。ステップ172では、ジャークがトルク又は加速度値に変換される。そのような変換は、線形定数でよく、値1を有することがある。すなわち、変換は、単に、単位の変更を伴うパススルー関数である。このステップ172の出力は、加速度又はトルクスカラー173である。ステップ170が特許請求の範囲外にある実施形態では、要素又はステップ172は、ジャーク値を入力として受け入れる。いくつかの実施形態では任意選択的である、又は存在しない強制関数174は、位相角オフセット又は不感帯などの関数としての非線形モータトルクなど、システムにおける非線形性を補正する。また、強制関数174は、シャフトエンコーダ168又は任意の他のセンサの偏心性又は非線形性を補正することもできる。また、強制関数174は、限度を計算し、テストし、又は施行することもある。強制関数174の出力175は、単位のないスカラーQであり、これは、モータ167又は他のターゲットを駆動させるために比較的単純な変調器/ドライバ166によって使用され得る。しかしながら、値175は、位置でも速度でもない。値175は、トルクと共に変化する。変調器/ドライバ166は、位置又は速度を達成するためのステップ又はデバイスではない。例えば、変調器/ドライバ166は、一般に位置コマンドであるステップコマンドに基づいてステッピングモータにステップを単に生成するのではなく、生成されるレートを考慮しながら速度コマンドを考慮することができる。値175の一例は、モータ位相オフセットである。そのようなオフセットは、物理的なモータシャフト位置とモータコイルの磁場強度との相違である。そのようなオフセットは、モータシャフトにトルクを提供する。位相角とトルクの関係は線形ではないことがあり、これは、ステップ174のいくつかの実施形態における目的となる。目的変調器/ドライバ166は、強制関数174によって線形化、制限、又は他の形で修正された所望のトルク値173からモータへの単純な変換とみなすことができる。すなわち、モジュラ/ドライバ166は、モータ167を駆動させて、所望のモータトルクを実現する。一例では、本明細書で上述したように、モジュラはパルス幅変調器(PWM)であり、0%〜100%の範囲内の入力を有して動作し、このスカラー入力を、2コイルステッピングモータを駆動するのに必要な2つの位相に変換する。いくつかの実施形態では、モータは、従来のDCサーボモータのように単一のコイルを有するか、又は3つ以上のコイルを有することがある。変調器ドライバが、入力175を介して指令された位相オフセットを維持するために、現在のシャフト又はロータ位相を知る必要があり、これは、図に示されるように、シャフトエンコーダ又は他の位置エンコーダ168を介して提供することができる。いくつかの実施形態では、モジュラ/ドライバ166は、特許請求する範囲の一部ではない。いくつかの実施形態では、モータ167及びエンコーダ268は、特許請求する範囲の一部ではない。しかしながら、他の実施形態は、図に示されるように、完全な閉ループシステムを含む。
モジュール166の要素又はステップの一実施形態は、以下のようである。
(i)回転子の現在の位置が「位相」に変換される。位相は、単位変換に関して、ステップの数を4で割った値(モジュラス2π)でよい。
(ii)「ディテント力平衡表」を使用し、次いで「クランプされた強制値」をそこに加えることによって、中立フィールド位相が決定される。ディテント力平衡表は、フィールド値(y)に対する回転子(x)の位相である。この表はデバイス較正中に作成されても、時々更新されてもよい。この表は、外部から供給されてもよい。クランプされた強制値は、固定される、正規化される、又は+若しくは−90度の範囲に制限される。
(iii)次いで、上記の中立フィールド位相は、2つのモータ位相の正弦及び余弦を表すパルス幅変調(PWM)デューティサイクルのための「成形された波形」において調べられる。PWM変調器の出力は、実質的に、モータ巻線の電流、電圧、電力、又は電界強度である。PWM変調器の出力は、モータトルク及びそのトルクの方向を決定する。
引き続き図3を見ると、いくつかの場合には、強制関数174が時々刻々変化する。実効強制関数は、参照番号176で示されるように、物理的なシステムから定期的に測定され、次いで要素又はステップ174に更新される。そのような測定は、それ自体、閉ループシステムとみなすことができる。しかしながら、そのようなループは、典型的には、反復移動コントローラ178よりもはるかに遅く、又ははるかに低い頻度で動作する。様々な強制関数及び測定技法は、本明細書及びまた様々な図で上述し、請求項におけるいくつかの実施形態でも述べる。シャフトエンコーダ168は、光又は磁気エンコーダでよい。シャフトエンコーダ168は、モータ167のシャフトに取り付けられた、又はモータ167のシャフトに接続された磁石を有する単一又は複数のホール効果センサICでよい。いくつかのホール効果センサは、かなりの非線形性及び偏心性を有することがある。そのような補正は、ステップ161においてエンコーダ168内で行われても、強制関数174によって行われてもよい。また、強制関数174のいくつかの実施形態は、現在の位置、若しくは現在の速度、又はその両方に応答する。例えば、エンコーダ168の偏心性は、現在の位置を知ることを必要とすることがある。別の例として、現在の速度を考慮することによって、モータの逆起電力又は摩擦を考慮に入れることができる。信号176の一実施形態では、強制関数174を定期的に更新するために、単位のない値Q、及びステップ161からの現在の加速度が使用される。適切なホール効果センサは、AMW AS5311(ams AG,Tobelbader Strasse 30,8141 Premstaetten,Austria)である。
図3では、タイマが参照番号177として示されている。タイマは、閉ループプロセス178に時間基準165を提供する。典型的には、時間間隔165は、ループの各反復に対応する。アナログシステム、サブシステム、又は構成要素に関して、微分ステップは、それらの定数又は単位(例えば、メートル/秒、又はラジアン/(秒の2乗)など)の性質によって、実効タイマ間隔を有する。
閉ループプロセス178の実施形態の重要な側面は、以前の位置、速度、加速度、又はジャークの「記憶」が保持されないことであるが、参照番号161などの要素は、単純なシャフト位置入力169から実際のシステム位置を計算するためにメモリを必要とする可能性が高い。いくつかのシステムの全範囲は、モータシャフトの多数回のサイクルでよい。さらに、ステップ161での速度の計算は、少なくとも前の位置を知ることを必要とする。
図4は、従来技術、すなわち比例積分微分「PID」閉ループ制御を示している。そのような従来技術はよく知られており、ここでは詳細には述べない。そのようなループは、単一のターゲットパラメータ、典型的には位置のみを制御することに留意されたい。ターゲット位置とターゲット速度の両方に到達するように制御することはできない。PIDコントローラの別の欠点は、積分I項と微分D項の両方の形での、「状態」又は履歴情報のその固有の使用である。変化する入力に対して、そのような状態履歴は、新たに入力される目標とは実質的に無関係であり、したがって現在の目標の妨げとなる。
ここで図5〜図9を見ると、同じ単一のスプレッドシートの様々な部分が示されており、開始位置と速度との対からの、例示的なターゲット位置と速度との対への約13回の反復の実行を示している。現在の特許図面の旧式の形式上の制限により、複数の図面が必要である。これらの図中の要素への言及は、行及び列の識別子を含み、スプレッドシートの分野で典型的に示されるように本明細書でも示す。これらの図は、単一の「ライブ」スプレッドシートのスクリーンショットであることに留意されたい。これは、例えば式における図中の行、列、並びに行及び列のセル識別子の使用が内的に一貫性を有することを意味する。これらの図及び本文での情報から、同様のライブスプレッドシートを容易に複製することができる。
図5は、例示的実施形態に関する例示的な開始及び終了ウェイポイントへの入力パラメータを示している。開始状態の位置p、速度v、及び加速度aが、単位を含めてE2:H5に示されている。セルG3:G5は、これらのパラメータの値に関する数値を有する。ここでは、これらは全てゼロである。ターゲットウェイポイント又は目標状態は、単位を含めてA2:D4に示されている。ウェイポイントは、位置と速度の両方を含む。この対を状態ベクトルと呼ぶことがしばしば好都合である。しかしながら、ほとんどのシステムに関して、完全なシステム状態は追加のパラメータを含むことに留意されたい。ここで、ターゲット位置ptは10であり、ターゲット速度vtはゼロである。セルC3:C4は、これらのパラメータの値に関する数値を有する。行7及び8は、テキストコメントである。行8には、使用される式がテキストとしてのみ示されおり、演算式は示されていない。この式は、3つの定数6、4、及び3を使用する。スプレッドシートでは、これらは変数名m1_、m2_、及びm3_に割り当てられ、セルI2:K5に示されている。これらの定数は、本明細書の他の箇所でさらに詳細に論じる。反復間隔は、セルL2:O3に示されている。値0.23秒が、セルN3に入っている。典型的なシステム実施形態は、しばしば10ミリ秒(ms)などの反復間隔の調整を有する。しかしながら、そのような時間は用途に特有であり、ナノ秒から数ヶ月又はさらに広い期間まで広範に変化し得る。
便宜上、上で論じたパラメータは、ブロックA11:D18に再現される。このブロックでの1つの新しい値は、推定到着時刻、すなわちETA、変数ttである。本明細書の他の箇所で論じるように、この値は、セレクタ又は最適化ステップによって事前に、すなわちリアルタイム操作に先立って決定されることが多い。ここでは、ETAは3秒であり、セルC17に入っている。
計算されたジャーク、次いでジャークjから計算された次の加速度(次のa)が、セルA19:D21に示されている。セルC20及びC21は、以下に論じる式を有する。スプレッドシートによって計算されたそれらの式の出力は、それぞれ8.89及び1.02として示されている。これら2つの値は、第1の反復のための例示的な方法の出力と考えることができる。しかし、便宜上、ここでは反復ゼロとしてこれを識別する。これら2つの値は、この方法実行経路の出力であり、次の反復のための入力として使用される。
図6は、実際に実行している方法の実施形態を示している。列Aは、値の名前を含む。列Cは、上で論じたように、開始値、最初に計算されたj、及び次のaを含む。セルD26:P35は式を有しており、図はスプレッドシートによる計算結果を示している。以下に示して論じるように使用された式。C〜Pなどの各列は、実施形態の方法の反復を示している。便宜上、反復回数は行25に示されている。実施形態の式は、反復回数を直接使用しないことに留意されたい。それぞれ行29、30、及び32におけるターゲット位置pt、ターゲット速度vt、反復時間間隔tsは変化しないことに留意されたい。残り時間又はETA、tt、行31は、各反復において、反復時間間隔tsだけ線形に減少する。この図における位置、速度、加速度、及びジャークに関する値は、スプレッドシートによって生成されたグラフとして、図7A〜図8Bにプロットされている。見て分かるように、位置pt=10及び速度vt=0のターゲットウェイポイントには、列Pのイテレーション13の近くで実質的に到達している。ここで、p=9.99及びv=0.18である。
図9は、主要な式を示している。この図は、図5〜8Bに関して使用されるのと同じスプレッドシートからのスクリーンショットであることに留意されたい。セルC12:C18及びC26:C32は、これらのセルの値が、上で論じたスプレッドシートのデータ設定領域から単純に複製されることを示している。セルC20の式は、完全にはこの図に示されておらず、さしあたり無視すべきである。実施形態に関する重要な式は、セルD34に示されている。この式は、制御されているシステムに関する「現在の状態」情報のみを使用する。これは、全ての非定数入力が同じ列からのものであることによって、容易に理解することができる。その列は、ここでは列Dであり、同じ反復又は現在の時点を表している。すなわち、現在の瞬間的なシステム状態である。セルD35における次の反復に関する加速度は、セルD34におけるジャークjから計算される。これは、1回の反復時間(ここでは0.23秒)にわたるジャークの積分である。積分に関する式は、「現在の加速度+(現在のジャーク−前のジャーク)×イテレーション時間間隔/2」である。次の加速度の初期計算に関して、前のジャーク値はゼロでよいが、必ずしもゼロでなくてもよい。
位置及び速度に関する式も同様に積分であり、それぞれD26:D27に示されている。このスプレッドシートでは、実際のシステムがスプレッドシート計算によって実行されていないので、位置を「シミュレート」する必要がある。本明細書の他の箇所で論じるように、典型的には、位置、及び多くの場合、速度はリアルタイム入力であり、計算されない。速度は加速度の積分であり、位置は速度の積分である。
セルD26:D35内のライブ式は、セルD26:P35に(典型的にはカットアンドペースト操作で)複製される。これらの結果は、図6に数値で示されており、図7A〜8Bにプロットされている。ターゲットウェイポイントには、ほぼ反復13(列P)で到達するので、さらなる反復はないため、ジャーク及び次の加速度(セルP34:P35)の計算はない。
図7Aは、上記データに基づく位置のプロットを示している。望みに応じて、ptによって設定されるように、開始時のゼロから終了時の10まで位置が変化することが明らかに分かる。
図7Bは、上記データに基づく速度のプロットを示している。望みに応じて、vtによって設定されるように、開始速度と終了速度の両方がゼロであることが明らかに分かる。
図8Aは、上記データに基づく加速度のプロットを示している。
図8Bは、上記データに基づくジャークのプロットを示してる。
ジャーク及び加速度に関する値は、実施形態に関して連続的でなければならないことに留意されたい。これは、典型的には、加速度又はジャークが、−1、0、又は+1などの制限された値を有する従来技術とは異なる。
従来技術に勝る実施形態の利点は、ノイズ、小さいセンサ誤差、非線形性、摩擦などの実世界の問題に対する本方法の不感受性である。スプレッドシート式を修正して、乱数、固定「ドループ(droop)」、又は摩擦誤差などの誤差を導入することによって、そのような不感応性をテストすることができる。このような実験誤差は、p及びvに関して、又は他の場所で計算に導入することができる。非常に大きなノイズ又はドループの場合でさえ、通常は妥当な精度でそのターゲット位置及び速度に到達することを観察することができる。そのような実証は読者に委ねる。従来技術の方法はそのような不感応性を有さない。
図7A、図7B、図8Aにおけるグラフは、少なくとも一部は図5及び図6に示されている値を使用して、スプレッドシートによって、ライブスプレッドシート内に直接生成される。図7A、図7B、図8Aは、スクリーンショットである。
図10は、上記と同じスプレッドシートを異なるターゲット速度vtで示している。ここで、ターゲット速度は10であり、セルC16に示されている。列Pで見ることができるように、実施形態及びスプレッドシートは、位置と速度の両方について値9.90で、ほぼ反復13でこの目標に達した。プロットの観察は、読者のための実習としておく。行27における速度vはほぼ線形であり、行28での「ソフトスタート」加速度を伴うことに留意されたい。
ここで図11を参照すると、コンピュータ支援設計(「CAD」)又はコンピュータ支援機械加工(「CAM」)システムの出力から、機械での設計などのリアルタイム実行までのステップを含む実施形態が示されている。CADシステム又は他のソースは、典型的には、Gコード401若しくはSTPファイルフォーマット(図示せず)などの標準フォーマット、又は独自フォーマット403でデータを出力する。パーツ設計からの入力データフォーマットに関係なく、パーサ402は、データストリーム又はファイルをパーズして、1組の移動命令404を作成する。これらは、動作制御API405と呼ばれるモジュールに入り、動作制御API405は、動作命令404を、シーク、トレース、カーブ、移動、又は休止などの既知の1組の可能な移動又はAPI内の移動に適合させる。モジュール405の出力は、運動制御フレームワーク内での1組の移動、若しくはAPIコール若しくはオブジェクト、又は前に定義した1組のオプション、特徴、及び機能である。よく定義された移動406が示される。これらの移動は待ち行列407に入る。待ち行列は、移動に対して関数を実行することもできるが、図示される実施形態では、単なるFIFO待ち行列である。待ち行列を用いる1つの理由は、遠隔又は非リアルタイムであり得るアップストリームモジュール401、402、403、及び405を、機械ツールの内部にあるか又は他の形でリアルタイムで実行することができる409〜414などのリアルタイムモジュールと時間領域マッチングすることである。待ち行列は、実装形態に応じて、「プッシュ」又は「プル」として動作することができる。一実施形態では、待ち行列への入力は非リアルタイムとみなすことができ、出力はリアルタイムとみなされる。待ち行列407からの運動コマンド408は、プランナ409に入力される。プランナは、座標変換、一連のウェイポイントへの移動コマンドの分解、最適化、境界及びエンドポイントの検出、範囲チェック、スケーリング、及び他のステップなど、複数の重要なステップを実施する複雑なものでもよい。座標変換は、極座標系、SCARA構成、又は他の多くの機械座標系など、機械座標系におけるデカルト座標系からのものでよい。例えば、油圧弁を用いてバックホーでのショベルの運動を駆動させることは、所望の土の形状の3Dデカルトマップからの複雑な変換である。同様に、ステージダンサーへの追跡スポットの制御は、既知の振り付けから光の制御への複雑な変換である。しばしば、移動間の境界は、コーナーでの運動など特殊な処理が必要である。プランナの出力は、暫定ウェイポイント410として示される。任意選択的なステップは、加速度オプティマイザ411である。或いは、このモジュール411内の操作は、プランナ409において実行することもできる。典型的には、このモジュール411は機械特有且つ用途特有であり、例えば、材料など部品の既知の詳細、又は1つの機械に固有の、若しくは現時点で1つの機械に固有の線形性補正関数である。最適化は、高速の「ドラフト」部品製造か、低速の「最終」部品製造かの選択など、ユーザ入力に応答することができる。また、このステップは、機械特性付け又は較正を実施することもできる。モジュール411の出力は、最終ウェイポイント412である。次いで、これらのウェイポイント、典型的には位置と速度の対、及び推定されたETA又はttは、リアルタイムアクチュエータ制御モジュール413に送られる。このモジュール413は、一実施形態では、概して図1及び図5〜8B、並びに本出願の請求項1を含めた関連の請求項で述べた式及び反復制御を含む。位置などのセンサフィードバックが矢印416で示されている。機械416への順方向矢印は、実施形態の方法の出力ステップである。機械414は、制御下にあるシステム又はプロセスでもよい。機械414は、本明細書の他の箇所で詳細に論じるように、機械ツール、又はモータ、又は他の多くの「機械」、モータ、若しくはアクチュエータの任意のものでよい。矢印415は、線形化テーブル又は関数、例えば「強制関数」など、機械特性付け又は較正を含むことができる任意選択的な「外部フィードバック」ループの一部である。
実施形態のアクション(ステップと利益の両方)は、機械システム内の個々の機械的移動それぞれの経過中に、フィードバックポイント又はワークピースのいずれかにおいて、ツール経路が有効な精度で改良されることである。利益は、機械コントローラのレベルとシステム全体との両方で、より高速の機械性能が可能なことである。さらに別の利点は、制御ループにおけるより高い安定性である。
ここでは、ツールヘッド制御(又は同等にワークピースの移動)の4つのネストされたレベルを区別する。最大レベルは「経路」であり、これは、ピース又はプロジェクトに関係する巨視的なターゲット又は目標である。経路は、開始位置と終了位置、及び経路の追跡の仕方に対する要件を有する。経路は単純なものでも複雑なものでもよい。例えば、直線でも曲線でもよく、1軸又は多軸でもよい。経路の一例は、ワークピースの縁部全体に沿った切断ヘッドの移動である。経路は、図11でのシリーズ404又は406の一部でもよい。経路の別の例は、バックホーショベルが土の山から溝内に入り、より多くの土をすくい上げ、それを山に積み戻す経路である。経路のさらなる例は、スポーツのプレー又は舞台芸術作品を含む。
第2の詳細レベルは「移動」である。経路は、ある種のパーサによって移動に分解される。パーサは、システムに特有である。例えば、Gコードパーサは、2D又は3D CADデータを入力として受け取り、一連の移動を生成する。ここで、各移動は、Gコードでのラインである。別のパーサの例は、上記の例でのバックホー経路を取り、それを、1つ又は複数の液圧点、直線、又は曲線によって達成され得る一連の機械的な移動に分解する。指定された移動に関するパラメータは、多軸でもよいことに留意されたい。移動は、図11でのシリーズ406に示されている。
第3の詳細レベルは、一連の「ウェイポイント」である。第2のパーサ又は幾何形状特有の「プランナ」は、各移動を、より管理しやすく、システムの幾何形状及びメカニズムに適合する一連のウェイポイントに変換することができる。プランナの一例は、Gコードのデカルト座標を、1つ又は複数のラジアルメカニズムを使用する機械ツールに関するラジアル座標系に変換するプロセスである。プランナの別の例は、バックホーなどの建設機器の部片の3次元移動を、個々の油圧シリンダに関する直線運動、スカラーに変換するプロセスである。プランナのさらに別の例は、スポーツのボールの軌道をパンチルトズームカメラの運動軸に変換するプロセスである。プランナのさらに別の例は、ステージ上の1人又は数人のダンサーの動きを、1つ又は複数のステージライト又はカメラの機械的アクチュエータの運動に変換するプロセスである。プランナのさらに別の例は、有機体又は病気の突然変異又は伝染プロセスを、突然変異又は伝染病の伝播を監視又は制御するために実施され得る特有のアクションに変換するプロセスである。ウェイポイントは、図11でのシリーズ410及び412の一部として示されている。
実施形態のウェイポイントが位置と速度の両方を含むことが重要である。従来技術のウェイポイントは、一般に位置のみである。ここで、あるウェイポイントから次のウェイポイントへの「移動」を論じるとき、そのような移動は、位置と速度の両方を含む。
一般に、ウェイポイントは単一の軸上にあると考える。プランナは、一般に、多軸入力を、平行な1軸出力に変換する。しかしながら、いくつかの実施形態では、複数の1軸データ又は方法へのそのような変換は、後で、加速度オプティマイザ又はリアルタイムアクチュエータコントローラなどにおけるプロセスで行ってもよい。
第4の詳細レベルは、本発明の実施形態の反復法である。この反復法は、あるウェイポイントから次のウェイポイントへの移動を実現するためのリアルタイム制御出力を提供する。そのような移動は、反復ジャーク法からモータコントローラへの出力加速度として実施され、モータコントローラは、その加速度スカラーを入力として取り、この所望のモータ加速度(又はトルク)を開ループ又は閉ループのいずれかで維持する。そのようなリアルタイム反復閉ループ制御は、図11でのモジュール又はステップ413に示されている。
いくつかの実施形態では、運動分解の最初の3つのレベル、すなわち経路、移動、及びウェイポイントの任意のものが任意選択的であることに留意されたい。1つ又は複数のレベルは、全てのシステム又は全ての実施形態で必要とされるわけではないこともある。
(いくつかの例外を伴って)要約すると、リアルタイム反復のシーケンスは、ツールヘッドを1つのウェイポイント(現在の位置及び速度)から次のウェイポイント(ターゲット位置及び速度)に移動させる;ウェイポイントのシーケンスが移動を実現する;移動のシーケンスが経路を実現する。一連の経路は、典型的には、本明細書の他の箇所で論じるように、部品を機械加工若しくは構成するか、又は機械加工以外の目標を達成する。
いくつかの実施形態の重要な要件は、ウェイポイントが位置と速度の両方を有することである。機械システムでは、位置と速度(又は場合によってはスピード)という用語は、それらの通常の機械的な意味を有する。いくつかのシステムでは、等価パラメータを識別しなければならない。例えば、有機体の突然変異又は伝染病の伝播に関して、「位置」は、識別された状態であり、「速度」は、その状態の変化率である。(典型的には)初期の多軸値から、反復ジャーク運動制御法に関して必要とされる一軸値への「位置」、「速度」、「加速度」の意味の変更が重要であることに留意されたい。各制御軸ごとに、反復ジャーク運動制御法が並行して実行される。
機械システムと非機械システムとはどちらも、質量、ばね定数、及び減衰係数、又はそれらと同等のものを有する。いくつかのシステムに関して、これら3つのパラメータは事前に分かっているか、推定することができるか、リアルタイムで測定することができるか、又は無視することができる。しかしながら、多くのシステムに関して、これら3つのパラメータの全てが容易に分かるわけではない。これらのパラメータの1つをリアルタイムで測定又は計算することができる場合でさえ、そのパラメータの知識は、制御システムに組み込むことが困難なことがある。これらのシステムに関して、本発明の実施形態が最も価値のあるものとなる。
実施形態の反復閉ループ法の目標及び利益は、位置と速度の両方又はターゲットウェイポイントにできるだけ近づくことである。これを行うために、この方法は、その主入力として、ツールヘッドの現在の位置、速度、及び加速度を使用する。これら3つの入力の任意のものを、運動システムから直接測定することも、他の測定値から計算することもできることに留意されたい。また、各反復での計算は、ターゲットウェイポイントの位置及び速度を使用する。しかしながら、これら2つのパラメータは、任意の反復の開始前に固定され、反復中は再計算されない。現在の反復よりも前の運動は、その反復に関する計算の一部ではない。これは、PIDコントローラの「I」項など、従来技術の大きな欠点を克服する。当然、前の運動は、現在の位置及び速度を生み出した。さらに、システムの実際の運動を使用して、リアルタイムでパラメータを計算することができ、これらのパラメータは、「定数」の最適化又は選択に使用され得る。しかしながら、そのような最適化及び選択は、いくつかの実施形態の一部ではあるが、方法への副次的な入力と考える。
本明細書では「ツールヘッド」について論じることに留意されたい。しかしながら、全ての場合において、特に言及しない限り、論述、例、実施形態、図面、及び請求項は、ワークピースの移動にも同様に当てはまる。本明細書では「速度」という用語を使用していることに留意されたい。適用可能なシステムでは、速度は、スピードと解釈することができる。本明細書では主に1軸での運動を論じることに留意されたい。しかしながら、全ての場合において、特に言及しない限り、論述、例、実施形態、図面、及び請求項は、多軸にも同様に当てはまる。軸は、直交していても直交していなくてもよく、独立していても独立していなくてもよい。実施形態は、複数の軸又は制御要素が相互依存しているか、又は非直交であるシステムに特に適用可能であることに留意されたい。そのようなシステムは、多くの場合、最適化された開ループ制御システムを困難にするか、又は実質的に不可能にする。
本発明の実施形態は、各反復ごとに「ジャーク」を計算する。図1及び3、並びに元の出願の請求項1を参照されたい。ジャークは、距離/(時間の3乗)の単位を有し、これは、加速度の傾きの単位である。加速度が速度の変化を引き起こし、速度が位置の変化を引き起こすのと全く同様に、「ジャーク」は、加速度の変化を引き起こすものと広くみなすことができる。この「ジャーク」を使用する制御システムは、本明細書で述べて特許請求するように、新規のものである。
本明細書では、距離、距離/時間、距離/(時間の2乗)、距離/(時間の3乗)の測定単位を使用することが多いが、いくつかの実施形態では、これらの単位は、実際にはラジアン(又は角度測定の別の単位)、ラジアン/時間、ラジアン/(時間の2乗)、ラジアン/(時間の3乗)である。時間の単位は、秒でよい。距離を使用する請求項、実施形態、図、チャート、及び式を含めた全てのそのような論述が、ラジアンなどの角度尺度にも適用されることが、当業者には理解されよう。デカルト座標系を使用するシステムでは、ミリメートルなどの距離が最も適用可能である。ラジアンは、少なくとも1つの回転軸を使用するシステムで最も適用可能である。回転する回転子を備えるモータが機械システムにおいて使用される場合、最終的な運動が直線であれ角度付きであれ、距離ではなくラジアン又は度の単位で計算を行うのが好都合であり得る。そのような測定値は、絶対値でも相対値でもよいことにも留意されたい。例えば、距離の単位は、実際には、モータシャフトの位相角又は相対的なオフセット位相角でよい。ロータシャフトの多くの回転が最終的な角度又は距離に変換されるので、そのような位相数は反復して循環する。位相又は何らかの他の反復する測定単位を用いる実施形態に適用されるとき、請求項、実施形態、図面、チャート、及び式を含めた論述において示唆される限定はないことを当業者は理解されよう。一例として、「距離の増加」は、実際には、位相角の複数のサイクルを必要とすることがあり、ここで、位相角は当然、そのようなサイクル中に正と負の両方である。
非機械システムの場合、等価又は実務的に等価な測定単位を使用しなければならない。そのような単位は、カメラの焦点距離、光強度、温度、感染した母集団のパーセンテージ、測定された患者の健康パラメータ、又は有機体の遺伝子若しくはターゲット挙動に関連する測定基準でよい。
一実施形態の1つの利点は、数値的な「ジャーク」を使用する反復計算が従来技術よりも計算上効率が良いことであり、これが、より低コストのプロセッサ、より高速の動作、又はその両方を可能にする。
この実施形態の第2の利点は、リアルタイムの機械的フィードバックの使用が、ワークピースでの(又は機械システムのフィードバックポイントでの)ツールヘッドの運動の精度を改良し、これがさらに、機械加工された完成したワークピースの精度を改良することである。そのような相違は、従来技術に勝る改良である。
この実施形態の第3の利点は、複合の機械システムとワークピースの広範に変化する「ばね質量減衰」パラメータに依存しないことである。すなわち、いくつかの従来技術で必要とされるように、複雑なツールとワークピースのシステムの物理学をシミュレートする必要はない。多くの場合、3次元以上の次元(交差次元効果を含まない)における必要な物理的パラメータ、特に「ばね質量減衰」パラメータは、機械加工に先立って知ること、又は現実的に機械加工中に測定することは実質的に不可能である。一例として、移動するプラットフォーム上に構築された3Dワークピースを考える。ワークピースのサイズが大きくなるにつれて、重量が増加する。同様に、プラットフォームはワークピースよりも剛性が高く、モータ、及びベルトなどの中間構成要素もある。したがって、モータ、駆動システム、プラットフォーム、及びワークピースの完全な物理的モデリングは非常に複雑なだけでなく、ワークピースの位置及び構築中に変化する。さらに、プラットフォームの位置及びツールの位置が異なると、ばね質量減衰パラメータも大きく異なる。すなわち、完全なシステムをモデル化するために必要なパラメータは、ツール及びワークピースの運動中に急速に変化する。さらに、これらの問題が十分でないかのように、例えば付加製造によって構築されるワークピースは、軟性から始まり、次いで冷却又は硬化するにつれてより剛性になる材料を有する。
ここで、実際、理想化された移動命令からモーションエンジンを介してモータ駆動信号に計算で補正することができるように、複合の機械システム及びワークピースシステムのばね質量減衰パラメータを機械加工に先立ってモデル化すること、又は機械加工中に動的に測定してモデル化することは実質的に可能でない。
一実施形態は、所望の速度で所望のウェイポイントに到達する場所でツールヘッドを得るために、実際の機械システムの位置をリアルタイムで測定し、各(又はいくつかの)反復ごとに計算結果とモータ駆動信号との両方を補正することによって、そのようなばね質量減衰モデル化要件全てを回避する。
一実施形態は、移動するプラットフォームの位置をリアルタイムで測定する。一実施形態は、2つの移動するプラットフォームの位置をリアルタイムで測定する。一実施形態は、測定されたプラットフォームの傾斜を補正する。一実施形態は、2つ以上の軸間の相互作用を補正する。
いくつかの実施形態は、複数の軸間の運動を同期させる。これは、計算された推定到着時刻(ETA)の最適化又は最も線形的な速度傾斜の最適化中に行うことができる。ここで、速度傾斜は、1つのウェイポイントから次のウェイポイントまでなど、開始位置からウェイポイントへの移動中の速度値のシーケンスである。複数の軸を同期させる1つの方法は、複合の(多軸)移動のために軸ごとのETAを個別に計算し、次いで最悪の場合、すなわち最長のETAを取り、それを各軸ごとのETAとして使用することである。
一実施形態は、モータシャフトにおけるモータシャフトの回転位置を測定することによって、移動するプラットフォームの位置を測定する。一実施形態は、駆動モータシャフトとプラットフォームとの間にギア、ベルト、プーリ、チェーン、キャプスタン、ドライブスクリュなどを含まないダイレクトドライブを使用する。すなわち、ねじり荷重下でねじられたモータシャフト又はプラットフォームなど、プラットフォームの角度は、このダイレクトドライブの機械的公差内の駆動モータのシャフト角度と同じである。一実施形態は、反転SCARA構成で2つの回転プラットフォームを使用する。一実施形態は、2つのSCARA軸それぞれを直接駆動するためにステッピングモータを使用する。一実施形態は、サブステップ位置を実現するために、正弦波シミュレート電圧/電流波形でステッピングモータを駆動する。一実施形態は、オフセット磁場角、シャフト角オフセット、トルク又は磁場強度オフセットでステッピングモータを駆動して、モータ自体の内部で所望の加速度を直接実現する。計算された加速度値と実際のモータワイヤとの間で、増幅器又はパルス幅変調器(PWM)などの駆動電子回路を使用することができる。
いくつかのそのような実施形態に関して、プラットフォームの傾斜又は軸の非直交性は、機械加工中に静的に又はリアルタイムで測定し、次いで反復出力、ウェイポイント、移動、及び経路の調整によって補正することができる。典型的には、ウェイポイント又は移動の変更が、そのような補正を実施する好ましい方法である。
ここでは例として、ツールヘッドの位置、プラットフォーム、部品、ワークピース、3Dプリンタ、付加製造、及び他の例を、単に例示として使用する。特許請求する方法、デバイス、及びシステムは、いくつかの実施形態では、付加機械加工、若しくはそもそも機械加工に限定されず、又は回転プラットフォーム、若しくはそもそも移動するプラットフォームに限定されない。いくつかの実施形態は、軸の数によって制限されない。駆動は、1軸、2軸、3軸、4軸、5軸、又は6軸に関するものでよい。複数の軸の駆動は、単一のコントローラ及び単一の方法ループに統合されてよく、又は1軸ごとに別々であるが協同するモーションエンジンによるものでもよく、又は各軸に関して完全に独立したモーションエンジンを使用してもよい。また、ツールヘッドが移動してワークピースが(その瞬間にツールヘッドに対して)静止しているか、ツールヘッドが(その瞬間に)静止しており、ワークピースが移動しているかどうかは、本願の請求項には重要でない。当業者に知られているように、一方を他方に対して移動させることは、機械システムの特定のタイプ及び実行されるステップ又は動作に依存する。
統合されたコントローラ又はモーションエンジンの一例は、典型的には2軸以上での運動からなる「スピード」の計算である。モジュール又は要素に関する式で以下で見るように、スピードは、移動の終了時の到着時間を計算し、付加製造機械における材料の堆積率(及び除去製造機械でのワークピースに対する切断ツールのスピード)を計算するのに有用であり、他の計算上及び実用上の利益も有する。
核心的な実施形態は、「プランナ」と呼ばれる計算要素を使用し、入力としてGコードなどの移動命令を受け入れ、一般に、個々の移動命令を、ウェイポイントと呼ばれる(時として多くの)サブステップに分割する。ウェイポイントは、位置と速度を有する。任意選択的な次の計算要素を「加速度オプティマイザ」と呼ぶ。この要素は、機械システム又は加工されるワークピースの物理的に可能な(又は指定された)限界内に留まるように、ウェイポイントの位置、ウェイポイントの速度、又はその両方を検証、又は必要に応じて調整する。加速度オプティマイザの出力は、「現実的に調整された速度を持つウェイポイント」と考えることができる。図11を参照されたい。
本明細書の他の箇所で述べるいくつかの例外を伴って、これらの新規の閉ループ実施形態の使用は、多くの場合、機械の所定の物理的限度内に留まるようにウェイポイントを変更する必要がないことに留意されたい。そのような限度は、開ループ決定によって設定されることが多く、ステッピングモータでのステップの欠落など任意のタイプの「故障」を避けるように設定されている。反復のレベルでの固有のフィードバックは、システムの実際の運動及び速度を測定し、したがって、モータ出力及びツールヘッド負荷に基づく最大機械加工レートなどの任意の機械限度が本来的に考慮される。すなわち、機械システムを「全力」で、すなわち実際にリアルタイムで実現することができる最大限の性能で動作させるような実施形態を見ることができる。
次に、核心的な実施形態は、「リアルタイムアクチュエータコントローラ」と呼ばれる計算要素を有する。実施形態の方法は、この要素内で実行される。この要素はまた、デバイスからのリアルタイム位置(例えば回転)のフィードバックを組み込み、したがって定義により、リアルタイムで動作する。従来の(「上流」の)要素は全て、実際の機械運動に先立って、又は「オフライン」でそれらの計算を行うことができることに留意されたい。しかしながら、リアルタイムで実行することもできる。それらはまた、「事前計算」とリアルタイムとハイブリッドモードでも動作することができ、例えば、リアルタイムアクチュエータコントローラへの入力待ち行列を空にしない。すなわち、それらは「オンデマンドで」又は「実時間で」計算する。それらの計算及び任意選択的に計算ハードウェア(例えば物理的なプロセッサ)は、リアルタイムアクチュエータコントローラに完全に統合されてもよい。一実施形態では、移動命令から、プランナを通り、加速度オプティマイザを通ってリアルタイムアクチュエータコントローラに渡るデータは、リアルタイムアクチュエータコントローラが動作するレートで実質的に駆動される待ち行列として管理される。
一実施形態では、移動は直線である。すなわち、任意の曲線は、適切な数の部分移動に分解され、各部分移動が直線である。これは、計算を単純にする。
いくつかの実施形態は、図及び請求項に示されるような計算を含む。本発明の実施形態は、これらの図に記載された式及びステップを実施する。これらの図は、請求項を解釈する際に使用すべきである。
点Aから点Bへの例示的な移動を考える。機械システムは、点Aから点Bに移動するターゲット速度を有する。したがって、点Bから点Aまでの距離、及び速度を取って、点Aから点Bへの一定速度の移動に関するモータ制御コマンドを容易に計算することができる。しかしながら、ツールヘッドは点Aで停止されることもあり、ターゲット速度まで瞬時に加速することはできない。また、点Bで非常に鋭い逆転があり得るので、システムのばね質量減衰パラメータによる点Bの通り越しを避けるために、点Bでの最終スピードを、最大機械システム速度ではなく、ゼロにすることが望ましい。実際には、いくつかの機械は、様々な理由により、最大速度を有することがある。しかしながら、機械学に基づく代替モデルは、最大速度自体ではなく、機械が最大の加速度(主にモータトルクと移動質量の関数)を有するものである。実用的な最大速度の2つの例は、付加機械加工(例えば3D印刷)において材料が設定された速度、又は除去機械加工において所望のエッジ品質を実現するための好ましいツール移動レートでよい。
さらに、点A及び点Bは、デカルトX−Y−Z座標系内の直線上にあってよいが、SCARAアーム構成で回転プラットフォームを使用するときには直線上にない。したがって、デカルト座標系における点Aと点Bの間の点が回転プラットフォームに関するモータ位置に変換されるので、追加の方向及び慣性の変更が必要とされる。プラッタ、ツールヘッド、及びワークピースが移動するにつれて、デカルト座標に変換されて戻された運動のそれらの絶対経路は、ばね質量減衰パラメータ、慣性、及び公差を含む他の因子により、直線でない。
本発明の実施形態は、最大速度制限、閾値、又は上限がない。従来技術は、計算された速度が許容限度内にあることを保証するために、その速度を調整又は試験しなければならないことが多い。そのような限度は、計算されても、単に所定のテーブル又は定数でもよいが、手動で設定されることが多い。同様に、本発明の実施形態は、最大加速度限度、閾値、又は上限がない。従来技術は、計算された加速度が許容限度内にあることを保証するために、その加速度を調整又は試験しなければならないことが多い。そのような限度は、計算されても、単に所定のテーブル又は定数でもよいが、手動で設定されることが多い。
実際には、機械ヘッドのための何らかの最小又は最大速度を実際に有することが望ましいことがある。しかしながら、そのような限度は、本発明の動作制御法の「プランナ」、「パーサ」、「移動ジェネレータ」、「プロファイルジェネレータ」、CAM(コンピュータ支援機械加工)プログラム、又は他の「上流の」計算若しくはデータソースからのものでよい。例えば、プランナは、おそらくgコードファイルから長い経路を取得し、開始、終了、及び中間ウェイポイントによって定義される一連の移動に分解することがある。プランナは、経路の開始と終了に関して、及び各中間ウェイポイントに関して所望の速度を設定することができる。これらは必ずしも「最大」(又は最小)速度ではなく、ウェイポイントでの「ターゲット」速度であることに留意されたい。プランナが最大限に鋭いコーナーを実現したい場合、例えば、開始及び終了ターゲット速度をゼロに設定することができる。代替例として、付加製造機械は、一定の供給レート、又は所定の範囲内の供給レートを有することを望むことがある。この例では、経路の開始や終了など、コーナーでの速度は、プランナによって最小の、しかし非ゼロのターゲット速度に設定される。
本発明の実施形態が行うことは、元の開始点(点A)とは関係なく「点Bを監視する」ことである。反復ジャーク法は、ツールヘッドの現在の位置と、点B(点Bでのターゲット速度を含む)とのみを考慮に入れる。ツールヘッドは点Bに近づき続けるが、生じる正確な経路は、反復ジャーク法には実質的に「気にしない(don’t care)」である。各反復で、反復ジャーク法は、現在のリアルタイム位置及び速度のみが与えられたときに、ターゲット速度でツールヘッドを点Bに到達させるために、最良のジャーク、加速度、速度、及び位置を計算する。
当然、典型的には、一度に1次元を論じるが、大半の用途では、一緒に制御される2つ以上の軸がある。したがって、速度は、例えばスカラーではなくベクトルである(例えば、ジャーク、加速度、位置、並びに様々なターゲット、限度、及び公差のパラメータ)。
ウェイポイント又はターゲット位置又はターゲット速度は、リアルタイムフィードバック、若しくは計算された情報、又はそれらの両方が、知られている又は予測されるツールヘッド位置をターゲットの許容公差内に入れるとき、「完了」とみなすことができる。ウェイポイントへの反復が完了したことを知るための1つの手段は、次の反復を完了するのに十分な時間がないことである。「最終位置」に到達したとみなすには位置だけでは不十分であることに留意されたい。ツールヘッドは、ターゲット位置を高速で通過し、通り越すことがある。反復ジャーク法は、ツールヘッドをターゲット位置に移動して戻す、またターゲット速度(ゼロ又は負の速度でよい)に到達するのに必要な制御出力を提供する。
ウェイポイントに「到達」した時点、すなわち現在の移動に関する「終了条件」を決定するための別の方法は、何らかのパラメータが範囲外になるときである。特に、計算されたジャーク又は加速度が正又は負のいずれかで大きすぎる場合、この方法は実質的に完了する。次のウェイポイントへの移動がすぐに開始されることがある。或いは、システムは、(i)推定到着時間(ETA)、又は(ii)ターゲット位置に到達若しくは通過した、若しくは所定の公差内にあること、又は(iii)ターゲット速度に到達若しくは通過した、若しくは所定の公差内にあることによって「惰走する」ことを許可され得る。そのような「終了条件」は、OR組合せ、AND組合せ、又はWEIGHTED(重み付け)組合せのいずれかと組み合わせることができる。終了条件への「惰走」は、典型的には、現在の速度、若しくは現在の加速度、又はそれらの組合せを維持することを含む。実際には、様々な終了条件、及び惰走の方法は、システム性能にほとんど影響を与えない。これは主に、反復ジャーク法の最後の1回又は2回の反復の変更が、時間が短すぎ、デバイスの移動に対する変化が小さすぎるため、ワークピースの最終的な性能又は最終的な品質に影響を与えないからである。
一実施形態では、終了条件に到達したとき、次のウェイポイントが直ちに次のターゲットとなり、その移動に対して反復ジャーク法が直ちに始まる。
一実施形態では、ウェイポイントへの経路は、一連の時間間隔に分解される。時間間隔がもう残っていないとき、そのウェイポイントは完了したとみなされる。
一実施形態では、ウェイポイントへの経路は線形速度傾斜としてモデル化される。一実施形態では、反復式内のパラメータは、最も線形の速度傾斜を生成するように最適化される。最適化のための重要なパラメータは、推定到着時刻又はETAである。最適化ステップ又はシミュレーションによって移動前にETAを最適化することは、実施形態として、又は実施形態の一部として特許請求する。最適化され得る第2のパラメータは、ループ時間(又は、アナログ実装に関しては、ループ帯域幅、又はループ帯域幅に影響を与えるパラメータ)である。
いくつかの実施形態では、リアルタイム反復ステップの前に、最適化ステップが行われる。最適化ステップは、機械又は制御下の対象物からのリアルタイムデータがなくても実施され得るが、機械及び/又は機械加工されている対象物の既知の静的パラメータを使用してもよい。しかしながら、最適化ステップは、「静的」パラメータの変更と共に時々刻々更新する、又は更新されることがある。例えば、新たな静的パラメータは、1、5、10、15、若しくは30秒ごと、又は1、5、10、15、30、若しくは60分ごと、又は別の時間間隔などの時間間隔に基づいて測定又は計算されてもよい。別の例として、新たな静的パラメータは、機械の変化又は機械加工対象物の変化など、それらのパラメータに対する起こり得る又は予想される変化に基づいて測定又は計算されることがある。例えば、異なる切削ツールヘッド、若しくは異なる付加材料若しくはヘッド、又は重量、比率、弾力性、若しくは精巧さを変える物体である。
移動中の「最も線形」の速度傾斜の最適化は、当技術分野で知られている多くの最適化アルゴリズムの任意の1つによって計算することができる。例えば、直線への最小二乗適合、直線からの最小偏差と最大偏差との差の最小化、変曲点の数の最小化、計算された経路と直線との間の面積の最小化、又は他のアルゴリズムである。そのようなアルゴリズムは、閉じた形式でもよく、又は反復、モンテカルロ、シミュレーテッドアニーリング、又は別の計算法を用いてもよい。機械学習又はAI法を使用して、最も線形の速度傾斜を計算することができる。移動はセグメント化されてもよく、各セグメントが個別に又はまとめて最適化されてもよい。
いくつかの実施形態では、実施形態の反復リアルタイム法によって制御される移動の開始と終了との間で、ETA又はttが更新されない。
3D印刷などの付加製造では、多くの場合、最適化された材料供給レートが存在する。これは、対象物の上でのプリントヘッドの理想的な速度があることを意味する。それよりも速い速度は、機械システムの機械的機能の範囲内にあってもなくてもよいが、速度がより遅いと、印刷される材料が多くなりすぎる。効果的な最小材料供給レートがあり得る。したがって、いくつかの状況では、理想的なツール運動が実際にターゲット位置を通り越し、次いでできるだけ速く、逆の速度でターゲット位置を通って逆戻りする。このようにして、材料の供給レートは、通り越し中にはゼロになり得るが、所望の最小供給レートよりも小さくなることは決してない。
同様の問題は、除去機械加工及び他の機械加工操作にも当てはまる。同様の問題は、機械加工中でないモーションシステムにも当てはまる。例えば、ロボットオートバイを考える。オートバイは、転倒を避けるために必要な最小スピードを有する。オートバイが障害物コースを通って移動している場合、最小スピードを維持することを意味する場合には、理想的な位置から離れるほうが良い。
要約すると、いくつかの実施形態は、ツールがその現在の位置及びスピードにどのように到達したかに関係なく、出力制御を計算するためにターゲット位置及びターゲットスピードに関連して、ツールヘッドの現在の位置及びスピードを継続的に考慮に入れる。
一実施形態では、3Dプリンタは、反転SCARAアームに配置された2つの回転プラットフォームを使用する。一実施形態では、ラムダモータが、ラムダ軸の周りでワークピースプラットフォームを回転させ、パラレル及びオフセットシータモータが、パラレル及びオフセットシータ軸の周りでラムダモータ及びワークピースプラットフォームを回転させる。2つのモータはワークピースを移動させ、それにより、プリントヘッドの下にあるワークピースの部分を、プリンタの作業領域又は平面ツールレンジエリア内で、平面内の任意の点に移動させることができる。ワークピースの各平面が印刷され、次いでプリントヘッドが上に移動し、ワークピースの次の平面が印刷される。一実施形態では、ステッピングモータが、ラムダ及びシータモータとして使用される。ステッピングモータのシャフトは、プラットフォームに直接接続されており、したがって、プラットフォームの回転角度はモータシャフトと同じである。モータシャフトで回転センサが使用されて、シャフト角度のリアルタイムフィードバックを提供する。モータからプラットフォームへの機械的経路は硬いので、これらのセンサは、プラットフォームのリアルタイム位置の正確な尺度を提供する。プリントヘッドが実質的に固定されるか、又は各平面が印刷されることに留意されたい。プラットフォームに対して低い構成のワークピースの場合、これらのセンサはまた、プリントヘッドの下で、ワークピース上のスポットの正確な位置を提供する。この機械システム構成に関して「ツール位置」又は「ツールヘッド」と全般的に言うとき、実際には、プリントヘッドの下でのワークピースの位置に言及することに留意されたい。ワークピースが構築され、プラットフォーム上でより高くなるにつれて、ワークピースは完全に剛性ではなく、いくらかの弾力性を有し、温度、硬化、及び他の因子に応じて形状も変えるので、リアルタイム精度が低下する。しかしながら、これらの因子のいくつかは予め計算することができ、したがって、構成されているワークピースがプラットフォームから離れてより高くなるとき、加速度オプティマイザとリアルタイムアクチュエータコントローラとの両方を含むいくつかの実施形態での論理、方法、及びステップは、これらの計算されたパラメータを考慮に入れることができる。例えば、最大速度及び最大加速度を低下させることができ、また、ゼロ速度の点で休止時間を加えることができる(本質的に、ワークピースの移動を完全に停止させることができる)。
反復ジャーク法による、ドライブモータシャフトに直接接続されたプラットフォームと、モータシャフト上のリアルタイム位置センサとの組合せは、特許請求する組合せで予想外の利益を提供する。そのような位置フィードバックは、より高精度の製造を可能にする。しかしながら、ほとんどの誤差がモータとワークピース又はツールヘッドとの間にあるため、従来の3Dプリンタ及び他の製造機器でのモータへのフィードバックは効果的でない。従来のコントローラは、フィードバックから利益を受ける場合は、フィードバックを使用して、移動中に一定のターゲットモータ速度を維持する。本願で特許請求する実施形態のいくつかのように、1回の移動で複数の連続的な変化するモータ駆動出力の更新を提供はしない。
従来の機械システムのフィードバックは、1つの移動に対して「一定の所望の速度を実現する」又は「一定の所望の位置を実現する」ために使用されているが、移動中にこれら2つのターゲットパラメータのいずれも変えない。モーションフィードバック従来技術とは明らかに異なる反復ジャーク法は、フィードバックを使用して、移動中に、変化するモータ制御出力を生成する。
一実施形態では、回転プラットフォームの1つに湾曲したスロットがあり、このスロットを、第2のプラットフォームのシャフトドライブが貫通する。このスロットには、プラスチックなど、摩擦表面などの減衰材料又は要素がある。この減衰は、ラムダ及びシータ移動サブシステムのいずれか又は両方を含む回転プラットフォームの「ばね質量減衰」物理モデルにおける減衰機能として使用することができる。これは、そのような1つ又は複数の減衰要素を反転SCARAアーム構成に配置するための新規の位置である。いくつかの実施形態では、摩擦が少ないほど良い。
主要な実施形態は、移動又は経路の「履歴」がない。従来技術におけるそのような履歴は、しばしば、反復動作制御フィードバックループにおける1つ又は複数の積分項によって実現される。例えば、PIDコントローラにおける「I」積分項である。
別段の記載がない限り、本明細書での例示的な測定単位は、距離に関してはミリメートル(mm)であり、速度又はスピードに関してはmm毎秒(mm/s)であり、時間に関しては秒であり、加速度に関してはmm/(s^2)であり、ジャークに関してはmm/(s^3)である。他の実施形態又は用途では、そのような単位は異なっていてもよい。明示的に記載されていない限り、用途、実施形態、請求項、又は発明の特許請求する範疇及び範囲内で、測定の単位、又は定数の値、変数、若しくは例に制限はない。
反復リアルタイム運動制御法の重要な実施形態は、(制御下の各軸ごとに)方法が加速度のみを出力することである。すなわち、一実施形態は、出力位置と出力速度との両方がない。同様に、重要な実施形態では、反復リアルタイム動作制御法は、ターゲット位置又はターゲット速度のいずれも計算しない。各移動ごとに、反復リアルタイム動作制御法は、(例えばウェイポイントへの)入力として一定のターゲット位置及びターゲット速度を取る。これら一定のターゲット位置及びターゲット速度は、反復リアルタイム動作制御法の実行中、ウェイポイントへの1回の運動の過程にわたって変化しない。さらに、反復リアルタイム動作制御法は、各反復ごとに、現在の位置及び現在の速度を入力として取得する。この方法における現在の反復での計算の観点から、そのような開始点を「履歴」とみなすことができる。それらは、理想的には、各反復のちょうど開始時における「最新の」位置及び速度である。
ステッパモータの当業者に知られているように、ステッパモータを駆動する3つの広範な方法がある。「全ステップ」は、1組のコイルを完全にオンにし、コイルの隣接する組を完全にオフにすることによって実現される。回転するステッピングモータの場合、これらの波形は、ほぼ位相のずれた方形波であり、駆動波形の1回の完全な360°が、4つの完全なステップである。「マイクロステップ」動作は、隣接するコイルに慎重な中間電圧/電流を提供することによって実現される。回転するステッピングモータに関して、これらの波形は、(典型的には90°だけ)ほぼ位相がずれた階段状のステップである。「正弦波」ドライブ(「シミュレートされた正弦波ドライブ」とも呼ぶことがある)は、隣接するコイルに完全に連続する中間電流を提供する。回転するステッピングモータに関して、これらの波形は、ほぼ位相のずれた正弦波である。「シミュレートされた正弦波」は、例えばディジタル−アナログ(D/A又はDA)コンバータ又はパルス幅変調(PWM)出力からの正弦波振幅の生成がディジタルであるときに使用されることがある用語である。ハイブリッド複合ドライブも使用される。いくつかの実施形態は、モーションエンジン又はモータコントローラエレクトロニクスとモータ自体又はモータドライバ(出力増幅器など)との間で、これらの可能な低レベル駆動回路全てを使用する。いくつかの実施形態は、特にダイレクトドライブシステムにおいて、この駆動が高いサブステップ位置精度を提供するので、シミュレートされた正弦波駆動を特に特許請求する。また、シミュレートされた正弦波駆動は、他のステッパモータ駆動法と同様に、より静音であり、重要なことにはシステムへの機械的パルスを生成しない。
いくつかの実施形態は、矩形波形状と正弦波形状との両方の付加成分から構成され得る修正されたシミュレートされた正弦波駆動を使用する。任意選択的に、矩形波形状は、矩形波振幅のコーナー又は瞬時変化を平滑化することによって修正されてもよい。
図2及び3は、任意選択的なモジュール104及び174、すなわち強制関数をそれぞれ示している。このモジュールの目的は、システム内の非線形性を補正することである。例えば、強制関数は、加速度(又はトルク)を、モータに関するコイル電流値に変換することができる。トルクとコイル電流との関係は線形ではない。強制関数を使用することによって、モジュール81の出力82は、システム又はプロセス71への入力になる。このフィードバック値82により、システム又はプロセスは、それ自体線形になる、又は全く計算を行わなくてよくなる。例えば、システム又はプロセス71は、モータ及び位置センサにすぎないことがある(この例では、現在の速度及び現在の加速度は、連続的な位置測定値から計算されるか、又は他のセンサによって測定される)。システム又はプロセス71は、バクテリアの増殖、空中で軌道を描くフットボール、又は遺伝的変異など、本来的に「ダム(dumb)」でよい。
実施形態のパラメータは、ttとして識別されることがある次のウェイポイントでのETA、又は推定到着時刻である。現在の状態から次のウェイポイントまでの全移動中に速度がほぼ一定である場合、ETAは、単に距離を速度で割った値として推定することができる。加速度が一定であると推定される場合、ETAは、計算上同様に容易に推定することができる。しかしながら、多くの場合、ETAは、推定又は計算が容易でない。いくつかの実施形態では、etaは、もっともらしいETAを調整し、次いで次のウェイポイントへの移動のシミュレーションを実行する最適化アルゴリズムによって計算される。そのようなシミュレーションは、上述したスプレッドシートと同様でよい。シミュレーションの目標は、最も線形の速度傾斜を見つけることである。「最良の」ETAは、最も線形の速度傾斜を生成するものである。当業者には理解されるように、最も線形の速度傾斜を計算する多くの異なる方法がある。例えば、直線への最小二乗適合である。
一般に、ETAが長くなればなるほど、システムはターゲットウェイポイントに到達するためにゆっくりと移動することに留意されたい。したがって、典型的には、より低い加速度が必要とされる。機械加工など多くの現実世界の用途では、基本的な目標は、できるだけ迅速にタスクを完了することである。したがって、そのような用途では、できるだけ短いETAが最適である。他の用途は、加速度又は速度限度などの限度を有する。これらについて、それらの限度内で最短のETAが最良のものである。さらに他の用途では、ETAが既に分かっている。例えば、駅に入ることになっている時間が予め定められている電車が考えられる。別の例として、フットボールの試合中にフットボールが投げられることがある。ボールの飛行開始から、ボールがキャッチされる、又はフィールドに当たる可能性の高いETAを決定することは難しくない。さらに別の例では、ステージ上のダンサーが既知のルーチンを行っていることがある。したがって、ダンサーの位置及び振り付けは、容易に予測できる。ダンスシーケンスの終わりが分かる。
従来技術に勝る特許性
従来技術には、米国特許出願公開第5770829号明細書、「Katz」;米国特許第9041337B2号明細書、「Tian」;米国特許出願公開第20130197688A号明細書、「Egi」;米国特許出願公開第4769583A号明細書、「Goor」;米国特許出願公開第5569995A号明細書、「Kasaka」;及び米国特許第720895B2号明細書、「Marcinkiewicz」が含まれる。
本発明の実施形態は、以下の相違点により、Katzに勝る特許性がある。Katzは、その反復リアルタイム法から位置と速度の両方を出力する。しかし、加速度を出力しない。本発明の実施形態は、位置又は速度ではなく、加速度のみを出力する。
この相違点は、Katzにおいて、図3及び第1欄56〜59行目「…電機子を適正な位置に移動させるためにモータ巻線に発生すべき電流を決定するために使用される…」で見ることができる。本発明の実施形態は、Katzのステップ「新たな指令された速度の決定」及び「新たな指令された位置の決定」を含まない。すなわち、Katzの制御ループは、モータコントローラに所望の位置を出力するという点で従来のものである。
別の相違点は、Katzは、ETAを最適化し、ウェイポイント間の最も線形の速度傾斜に最適化するという話題に言及していないことである。Katzは、「所望のターゲット位置を決定するために、監督サブシステムからの情報がプロファイルジェネレータによって利用される」とだけ述べている(第1欄52〜54行)。そのような決定に関する動機や方法については説明していない。
さらに別の相違点は、Katzが、複数の軸、又は軸間の同期を教示していないことである。実際、「軸」という語は、Katzにはどこにも現れていない。
最後に、Katzは、以下の実施形態101に示す特定の計算方法ステップを教示していない。
本発明の実施形態は、以下の相違点により、Tianに勝る特許性がある。Tianは、「プロファイルジェネレータは、ユーザによって提供される1組の運動制約に適合するようにモーションプロファイルを作成することができる」(要約書)と述べている。本発明の実施形態は、Tianの発明の基礎である最大速度などの「制約」がない。Tianは、図4で、プロファイルジェネレータへの入力である5つの制約を列挙している。すなわち、「サンプル時間、速度限度、加速度限度、減速度限度、及びジャーク限度」である。本発明の実施形態は、Tianの制約の5つ全てを含まない。Tianの制約は、全てユーザによって提供される。
別の相違点は、Tianが、ターゲットのために新たな位置又は新たな速度のいずれかを使うことである。本発明の実施形態のように、位置と速度の両方を使用することはできない(ボックス1104、図11)。
さらに別の相違点は、Tianの方法はリアルタイムでないことである。そうではなく、実際の運動に先立って運動「プロファイル」を計算する(ボックス1108、図11)。したがって、Tianの発明は、本発明の実施形態のように現在の位置、現在の速度、又は現在の加速度を使用しない。Tianは、リアルタイムの方法を使用又は教示していない(図11でのボックス1106)。Tianは、反復でフィードバックとして実際の位置や速度を使用する方法を使用又は教示していない。そうではなく、非リアルタイムループにおいてのみ反復を行い、そのループの入力は、「サンプル時間の倍数のプロファイルセグメント持続時間」である(ボックス1208、図12)。
さらに別の相違点は、Tianは、ETAを最適化し、ウェイポイント間の最も線形の速度傾斜に最適化するという話題に言及していないことである。Tianは、ETAの計算に言及しておらず、最適化の話題にも言及していない。実際、Tianは、線形の速度傾斜を教示していない。むしろ、滑らかに変化する、又は曲線の速度傾斜を図9及び図10に示している。
さらに別の相違点は、Tianが、複数の軸、又は軸間の同期を教示していないことである。実際、「軸」という語は、Tianにはどこにも現れていない。
さらに別の相違点は、Tianは、移動を「セグメント」に分割しなければならないことである。本発明の実施形態は、そのようなセグメントを含まず、一方のウェイポイントから次のウェイポイントまでの単一の計算アクションとして移動を実行する。Tianの「セグメント」は、ウェイポイントでも、ウェイポイントに到達するための反復でもないことに留意されたい。
さらに別の相違点は、Tianの「加速度」は、運動の結果としての基本的な物理学的特性にすぎないということである。すなわち、Tianは、単純な物理学的特性として「加速度」を示して説明しているが、制御法における加速度の使用は、Tianの発明や教示の一部ではない。
本発明の実施形態は、最初に(非リアルタイムで、実際の移動に先立って)ETA及び速度プロファイルと共に移動を作成し、次いで移動中にリアルタイムで反復ジャーク法を使用する。Tianは、本質的には、移動に先立って、「プロファイル」の生成から実際の経路で「得られるものを取得する」だけである。
最後に、Tianは、以下の実施形態101に示される特定の計算方法ステップを教示していない。
本発明の実施形態は、以下の相違点により、Egiに勝る特許性がある。Egiは、ターゲット位置を出力する。加速度は出力しない。事実、実際には「エラーパルスP1、P2、及びP3」を出力する(図14、308及び309)。Egiはまた、「前記可動ユニットは前記残りの距離だけ移動される」(請求項1)と述べている。本願で特許請求する発明の実施形態は、位置又は速度ではなく、加速度のみを出力する。
別の相違点は、Egiは、リアルタイム制御ループにおいてジャークと加速度の両方を制限することである(図15、S103及びS105)。本発明の実施形態は、そのような制限がない。
別の相違点は、Egiが、リアルタイム制御ループ内の現在の位置のみを使用することである(図16、S81)。本発明の実施形態は、反復リアルタイム制御法において現在の位置と現在の速度の両方を使用する。Egiの現在の位置のみの使用により、システムは動的なシステム変更を許容できなくなる。これらは、大きな位置誤差項を生成することがあり、その結果、加速とジャーキネスが高くなるからである。
さらに別の相違点は、Egiが、移動の開始と終了の両方に関する位置の使用のみを教示していることである。移動の開始パラメータとして又は終了パラメータとして速度を使用することは教示していない。
さらに別の相違点は、Egiが、全ての計算反復でターゲットまでの距離を再計算することを教示していることである。これは計算コストが高い。本発明の実施形態は、反復法においてそのような計算を含まない。実際には、いくつかの実施形態は、反復リアルタイム法の開始前に、(i)方法の性質により、及び(ii)移動中の速度線形性の高度な最適化により、距離を再計算する必要はない。
さらに別の相違点は、Egiが、現在の位置と「理想的な」経路内の位置との差(偏差)を計算することを教示していることである。本発明の実施形態は、「理想的な」経路からのそのような位置偏差を感知又は使用することを含まない。そうではなく、実施形態は、ターゲット位置及び速度を考慮に入れる。これらの方法は、理想的な経路からの任意のそのような偏差を「気にしない」。したがって、Egiは、移動するシステムの任意のアクションや特性を補償することができない。本発明の実施形態は、ターゲットに到達することのみを考慮に入れるので、これらの本発明の実施形態は、ターゲットに向かう任意のアクション又は特性を本質的に補正する。
さらに別の相違点は、Egiが、最大加速度と比較して制限することを教示していることである。本発明の実施形態は、方法におけるそのような制限を含まない。そのような自由の予想外の利益の1つは、より良い最適化と性能である。Egiは、加速度を静的な値に制限しなければならない。本発明による実施形態はそのような静的な限度がないので、Egiの限度よりも高い加速度を使用することができる。この利益は、例えば、より速い機械加工を提供する。
さらに別の制限は、Egiの方法及び機械の性能が、予め計算された「理想的な」経路に向けて移動しなければならないことによって制限されることである。そのような運動は、ターゲットに到達することには直接関係していない。一方、本発明の実施形態は、いわば「横に」移動する必要はなく、ターゲット位置及びターゲット速度に向かって最適に直に進む。
さらに別の相違点は、Egiは、ETAを最適化し、ウェイポイント間の最も線形の速度傾斜に最適化するという話題に言及していないことである。Egiは、ETAの計算に言及しておらず、最適化の話題にも言及していない。実際、Egiは、線形の速度傾斜を教示していない。むしろ、有意に且つ意図的に変化する速度を示している(Egiの図17)。
Egiは「複数のドライブシャフト」について述べているが、これらの間で同期する方法は教示していない。Egiは「3つのシャフト又は6つのシャフト」[0060]を提案しているので、Egiのシステムはかなりの位置誤差を有する可能性が高く、また適当な性能のために同期を必要とすると考えるのが妥当である。
最後に、Egiは、以下の実施形態101に示される特定の計算方法ステップを教示していない。
本発明の実施形態は、以下の相違点により、Goorに勝る特許性がある。Goorは、ゼロ以外の開始又はターゲット速度を教示していない(図24b、図25b)。本発明の実施形態は、可変の開始速度と終了速度を使用する。
別の相違点は、Goorが、リアルタイム反復制御ループ(図30、104及び106)において位置のみを使用することである。本発明の実施形態は、反復リアルタイム制御法において現在の位置と現在の速度の両方を使用する。
さらなる別の相違点は、Goorが、多くの「履歴」を有する制御ループを教示していることである。Goorの移動履歴は、積分ステップの形である。Goorの図29は、5つの個別の積分ステップを示している。本発明の実施形態は、移動履歴を含まない。Goorの大きな積分項は、発明の実施における不安定さを生み出す可能性が高い。
別の相違点は、Goorが、最小時間内に移動を完了することを教示していることである。移動中に速度が非常に変動する(図24b、図25b)。本発明の実施形態は、線形速度傾斜に関して移動を最適化する。
さらに別の相違点は、Goorが、ジャークに関して「バングバング型(bang bang)」コントローラしか教示しておらず(図24d、図25d)、「時間Tは、y’’’のバングバング型制御で最小化することができる」(第3欄56〜57行)ことである。Goorは、一貫して、本発明の実施形態で使用されるような可変ジャーク値を教示していない。例えば、第3欄から第14欄の式は全て、ジャークに関するバングバング値(すなわちオン又はオフのみ)を取る。当業者には分かるように、本発明の実施形態の「滑らかな」加速度と比較して、「バングバング型」コントローラは、震動、ノイズ、振動、他の望ましくない及び副次的な運動、摩耗、並びに他の負の結果を本質的に発生する。実際、移動に関して最も線形の速度変化に最適化することは、最も滑らかな加速度に密接に関連している。実際、理想的な場合には、一定の加速度である。Goorは、そのバングバング型コントローラが滑らかな加速度の正反対であることを教示していない。
さらに別の相違点は、Goorが、「線形化された速度」ではなく、移動に関する「最小時間」を教示していることである。これら2つは、異なる、相容れない目標及びプロセスであるので、Goorは、本願で特許請求する実施形態には明らかに教示していない。
さらに別の相違点は、Goorが、モータ電機子に電流を出力することを教示していることである。本発明の実施形態は、加速度をモータコントローラに出力する。したがって、Goorは、モータの非線形性、死点、及び限度を無視している。一方、本発明の実施形態は、所望の加速度を直接維持することによってそのようなモータ特性を本来的に考慮に入れている。1つの意味では、「モータ電流」は、制御されるシステムの物理学的特性とは直接関係がない。加速度は、直接の影響を有する。したがって、電機子電流ではなく加速度を使用する予想外の利益は、モータ機能のより効率的な使用、より高いシステム性能、より広範なモータを取り扱う能力、特定のモータ特性へのより低い依存性、及び他の利益である。
さらに別の相違点は、Goorが、複数の軸、又は軸間の同期を教示していないことである。実際、「軸」という語は、Goorにはどこにも現れていない。
Goorは、請求項及び実施形態に記載された特定の計算方法ステップを教示していない。
Kusakaは、入力としてトルクを受け取り、バッテリ電圧に応答するモータ電流を計算するモータ制御アルゴリズムを教示している。Kusakaは、ある点から次のウェイポイントへ移動する方法を教示していない。Kusakaの発明は、本発明の実施形態がトルクを出力する「モータコントローラ」であり得る。Kusakaは、ターゲット位置とターゲットの両方を実現するために、トルクを計算する方法も、可変スピードを有する制御システムも、反復制御システムも教示していない。
Marcinkiewiczは、Kusakaと同様に入力としてトルクを受け取り、モータ電流を計算する方法を教示している。Marcinkiewiczは、「所定のスピード値」を有するモータに関する「トルク安定性」を向上させた。Marcinkiewiczは、ターゲット位置とターゲットの両方を実現するために、ある点から次のウェイポイントに移動する方法も、可変スピードを有する制御システムも、反復制御システムも教示していない。
請求項に関する注記
以下の注記は、元の出願時の番号で請求項を表す。特許付与時の請求項番号は、同じ番号を有していないことがある。以下の本文は非限定的である。例示的なシナリオ又は実施形態の理解を助けるために提供される。以下の注記を使用して、米国特許法第35条112項に基づいて請求項を有効とするのに必要なときにのみ、請求項範囲を限定して請求項を解釈することができる。
請求項1−運動制御のための基本的な反復法及び式を述べる。
請求項2−好ましい実施形態では、センサからなど直接のリアルタイム測定と比較して、計算されたジャーク値から加速度が計算される。いくつかの実施形態は、積分を乗算に置き換えることを含む。すなわち、現在の加速度=前の加速度+[(現在のジャーク+前のジャーク)×反復時間間隔]÷2である。いくつかの実施形態は、前の加速度がゼロに設定されたこの式を含む。
請求項3−速度は、センサなどからの直接のリアルタイム測定と比較して、加速度から計算される。いくつかの実施形態は、積分を乗算に置き換えることを含む。すなわち、現在の速度=前の速度+[(現在の加速度+前の加速度)×反復時間間隔]÷2である。いくつかの実施形態は、リアルタイム位置の変化から速度を計算することを含む。リアルタイムが利用可能でない場合、範囲外の場合、信頼できない場合、又はノイズが多い場合、リアルタイムのデータの代わりに、シミュレーションに速度の計算を使用することができる。計算された速度は、ノイズを低減する手段としてリアルタイム速度と組み合わされてもよい。
請求項4−センサからなど直接のリアルタイム測定と比較して、位置から速度が計算される。いくつかの実施形態は、積分を乗算に置き換えることを含む。すなわち、現在の位置=前の位置+[(現在の速度+前の速度)×反復時間間隔]÷2である。1つの好ましい実施形態は、リアルタイム位置センサから位置を受け入れることである。リアルタイムが利用可能でない場合、範囲外の場合、信頼できない場合、又はノイズが多い場合、リアルタイムのデータの代わりに、シミュレーションに速度の計算を使用することができる。計算された位置は、ノイズを低減する手段としてリアルタイム位置と組み合わされてもよい。計算された位置は、機械の引っ掛かり又は詰まり、過度の摩擦、モータの故障などエラーを検出する方法として、リアルタイムの測定位置と比較することができる。スプレッドシートの図に関して位置が計算される。
請求項5−位置、速度、又は加速度の任意のものは、直接的又は間接的に、1つ又は複数のリアルタイムセンサからのものでよい。いくつかの好ましい実施形態は、リアルタイムセンサからの現在の位置、速度、及び加速度を使用する。位置や速度など、単一のリアルタイムセンサからのリアルタイムデータを使用して、他のパラメータを計算することができる。いくつかの実施形態は、リアルタイムデータを補正する非線形ルックアップテーブル又は関数を使用して、より正確な位置データを生成することを含む。そのような実施形態は、リアルタイムデータを入力として使用し、補正された位置を出力として使用することができる。そのような実施形態は、速度、位置、又は他の状態情報を入力又はセレクタとして含む複数又は多次元のテーブル又は式を使用することができる。いくつかの実施形態は、ステッパモータ内のステップ位置を含む入力又は状態情報を有する非線形テーブルを含む。いくつかの実施形態は、ステッパモータ内の2つのステップの間に入力又は状態情報段階を有する非線形テーブルを含む。いくつかの実施形態は、任意のそのようなデータの平均化、平滑化、範囲設定、又はエラーチェックを含む。いくつかの実施形態は、モーションコントローラによって制御されるデバイスの実際の測定又は較正からの任意のそのようなテーブルの生成を含む。
請求項6及び7−位置は、直接的又は間接的にリアルタイムセンサから得られる。上記請求項5に関する全ての代替実施形態が、請求項6及び7の代替実施形態としても適用される。これらの請求項はまた、シャフト上に直接的又は間接的にある、例えばモータシャフト上に直接的にある、例えばステッパモータ上にある、又はSCARAプラットフォーム若しくはテーブルを直接駆動するシャフト上に直接的にある位置センサを表す。請求項はまた、ステップの分数よりも高いセンサ分解能を表す。1つの好ましい実施形態は、1/200ステップ〜1/4ステップの範囲内のシャフト角度位置分解能である。1つの例示的実施形態は、全シャフト回転に関して4000の分解能である。そのようなセンサとしては、ホール効果センサを使用することができる。そのようなセンサは、差動式でよく、又は単一のセンサに組み込まれた2つ、3つ、4つ、又は5つ以上のホール効果センサを有していてよい。
請求項8−重要な新規性は、この方法が、出力又はフィードバックパラメータとして位置を提供するステップ又は要素を含まないことである。
請求項9−重要な新規性は、この方法が、出力又はフィードバックパラメータとして位置又は速度を提供するステップ又は要素を含まないことである。
請求項9−実際には、一実施形態は、ターゲットエンドポイント位置及び速度に「近づく」が、センサの精度や機械又はワークピースの制限など様々な現実世界の理由で完全な数値的ターゲットに到達する。位置又は速度値のいずれかに関して、移動がターゲットエンドポイントに十分近いとき、いくつかの実施形態は現在の移動を終了し、ここで次のウェイポイントに反復する。そのような「近さ」を検出する1つの方法は、p1又はv1のいずれかが理想的なターゲットの境界内にあるとき、又はターゲットエンドポイントttに到達するための計算される時間がゼロに近い時間範囲内にあることである。
請求項10−実際には、アプリケーションがターゲットウェイポイント位置及び速度に「近づく」とき、一実施形態の方法の計算は、ジャーク、加速度、又は速度の非常に大きな正又は負の値を生成することがある。又は、残り時間ttは、1回の反復間隔ts未満、ゼロ、ゼロに近い、又は負になり得る。1つのエンドポイント条件は、その位置がターゲットptの範囲内にあるときである。別のエンドポイント条件は、位置と速度の両方がターゲットptとvtのそれぞれの範囲内にあるときである。一実施形態は、複数の軸を含み、全ての軸が各軸のそれぞれのptの範囲内になければならない。1つのエンドポイント条件は、計算されたj、a、又はvの何らかの組合せが、それぞれの許容範囲外であることである。実際には、ターゲットウェイポイントに近いとき、計算された項j及びaは、特に「暴発」する傾向がある。いくつかの実施形態は、エンドポイント条件を検出又は決定するために使用され得るこれら及び他の条件を含む。
請求項11−パラメータttは、前もって又はリアルタイムで計算される現在の時間から現在の移動の完了までの時間間隔として測定される「推定到着時刻」である。ttの推定は、実施形態の重要且つ新規なステップである。所望のエンドポイント位置及び速度に到達する正確な瞬間は、その実際の決定がどれほど厳密に決定されるかに応じているので、「計算」ではなく「推定」と呼ぶ。しかしながら、いくつかの実施形態は、閉形式の計算から、反復から、シミュレーションから、又は最適化からの正確な計算を含む。
請求項12−ttは、最適化ステップから推定又は計算することができ、最適化の目標は、現在の位置及び速度からターゲット位置及び速度への移動のシミュレーションなどからの最も線形の速度傾斜、シーケンス、又はプロファイルである。最適化の方法は当技術分野で知られており、本明細書の他の箇所で論じる。
請求項13−定数c、d、及びeは、理想的にはそれぞれ6、4、及び3の値を有する。しかし、これらの値の変動は、いくらかのそのような変動が依然として効果的な実装を生み出すので、特許侵害の目的では使用できない。そのような変動は、特許侵害を判断するための「均等論」の適切な法的定義の範囲内にある。この請求項は、任意のそのような微調整、又は小さい誤差やアーチファクトの他の同様のタイプの微調整又は導入が、特許請求する範囲内に実際にあることを明示的にする。
請求項14−各理想値を正確に有する定数c、d、及びeを述べる。
請求項15−エンドポイント条件の実施形態を述べる。
請求項16−反転SCARAアームを使用する機械ツールを制御するための一実施形態の方法の使用を述べる。いくつかの実施形態は、非反転SCARAアームと、1、2、3、4、5、6、及び7軸以上の機械ツールとを含み、ここで、2軸以上が同時に移動し、各軸が、特許請求する方法の制御下にある。
請求項17−重要且つ新規の一実施形態は、複数の軸上で同時に上記の方法を使用することである。機械ツールヘッドは一度に1箇所にしかあり得ないので、各軸での移動に関する反復は同時に終了しなければならない。一実施形態は、各軸ごとに所望の到着時間ttを別々に計算し、次に到着時間ttを選択して次に全軸を使用する。
請求項18−理想的なモータ又はアクチュエータが、印加された入力と線形のトルク又は力を生成する。実際には、大抵のモータは、印加された電流、電圧、又はステッパモータの場合にはステップ間位相角と線形でない。さらに、公称ではステップ数と線形の角度位置も提供するステッパモータは、位置が完全には線形でない。この請求項は、入力として所望の加速度又はモータトルクを取得し、直接的又は間接的に少なくとも1つのモータコイル用の少なくとも1つのモータ電流になる値を出力する非線形補正テーブルを含む方法及びデバイスを述べる。テーブルと物理的なモータ又はアクチュエータとの間の中間要素は、ステッパモータ、増幅器、パルス幅変調(PWM)を含む変調器、ドライバ、及び追加のルックアップ、変換、線形化、並びに閉ループ制御要素又はステップを含めた、多相モータに関する位相の変換を含むことがある。いくつかの実施形態は、ステッパモータ、ACモータ、DCモータ、サーボモータ、永久磁石モータ、同期モータ、誘導モータ、リニアモータ、圧電トランスデューサ(PZT)、ボイスコイル、レールガン、照明、機械的に可動なレンズ、ポンプ及び加圧器、弁、並びに他の機械的デバイスを含む。いくつかの実施形態は、レンズアクション、すなわち、焦点、自動焦点、焦点距離(ズーム)、パン、チルト、(光軸周りの)回転、色、及び機械的に制御可能なスペクトルフィルタリングを含む。この請求項に関しては、非線形式の使用が表の定義に含まれている。そのようなテーブルは、状態情報を含むことがあり、テーブル出力は、特定のモータに関する較正、モータ位置、モータ速度、モータ負荷、テーブルの入力又は出力の変化率、及び他の状態情報など、状態情報に応答することができる。
請求項19−いくつかの実施形態は、制御されるモータ又はアクチュエータを含む実施形態と、モータ又はアクチュエータを制御するように適合された実施形態とを含む、任意の請求項又は方法実施形態を実装するデバイスについて特に特許請求する。
請求項20−いくつかの実施形態は、モータ又はアクチュエータを含む実施形態、及びモータ又はアクチュエータを制御するように適合された実施形態を含む、任意の請求項又は方法の実施形態を実装するシステムについて特に特許請求する。
定義
用語の使用に関する注記−位置、スピード、速度、トルク、及び加速度について論じるとき、表記の明らかな一貫性のなさがあり得る。これは、1つには、位置などのいくつかの用語が、本来的に1次元、2次元、又は3次元以上の点を記述するために使用されるからである。位置は、スカラー又はベクトルとして一般に使用される。しかしながら、スピードという用語は一般にはスカラーであり、速度は一般にベクトルである。位置と同様に、加速度という用語は、一般的な使用法では、スカラー又はベクトルのいずれでもよい。さらに、線形運動の文脈では加速度が一般的に使用され、回転運動の文脈ではトルクが使用される。ジャークは、スカラー又はベクトルのいずれかとしての、また直線運動又は回転運動のいずれかとしての、加速度の微分である。さらに、明らかに1つの軸又は1組のスカラーのみに言及し得る論述、請求項、実施形態、又は図面は、並列の独立した実施形態として、又は複数の軸間の同期運動として、複数の軸に言及するように拡張され得る。さらに、より広い制御ループ又は所定のプロファイルが複数の軸に関して機能していることがあり、個々の軸に関して、複数の個々のモータコントローラが全て、より大きい単一の制御ループ内で使用される。さらに、「回転位置」又は「回転スピード」が使用されることもあるが、概して、より単純な用語「位置」及び「スピード」が使用される。したがって、請求項、実施形態、図面、又は説明の構成に関して、これらの用語の過度の又は限定的な解釈を使用しないことが重要である。一般に、文脈上明確でないか、又は制限が別途記載されていない限り、最も広く合理的な解釈が用いられるべきである。これは、スカラーとベクトル、線形と回転、及び符号有りと無しの両方に当てはまる。
「加速度」−単位時間当たりの速度。「速度」の定義及び用語の用法に関する注記も参照されたい。
「電機子電流」、「電機子電圧」、「モータ電流」、及び「モータ電圧」−1つ又は複数のモータコイルで測定される又は測定可能な電気信号である。それらは、モータ、機械、及びドライバの構成及びアクションの結果でよく、又はモータを駆動しようとしているモータ制御、ドライバ、又は変調器回路の出力又は所期の出力でもよい。それらは、モータ接点、モータコイルで測定されることがあり、モータ制御、ドライバ、又は変調器回路の出力である。そのような信号はトルク、加速度、又は速度ではないことを理解することが重要である。この段落は、本特許出願、及び他の教示、例、論述、又は刊行物において使用される用語の適切な構築に重要である。
「構成エリア」−3D付加製造プリンタに関して、典型的にはプラッタ上で対象物が印刷され得る水平エリアを表す。
「組合せ」−2つ以上の要素のリストに適用するために「組合せ」という用語が使用されるとき、リストからの任意の1つ又は複数の要素を意味する。例えば、3つの要素のリストは、7つの可能な組合せを有する。
「被制御軸」−直線位置又は回転位置のいずれかの所望の位置に制御可能な軸を表し、位置間の制御される速度を含み、回転スピードが可変であっても、連続的な回転軸、例えばドリルプレス又は旋盤回転軸を除外する。制御可能な所望の位置の分解能は、機械上のワークピースでの所望のフィーチャサイズの精度に匹敵するはずである。
「エンドポイント条件」−エラー条件、オーバーレンジ条件、又は所定の限度内でのターゲット又は目標への到達を含むが、それに限定されない、反復を停止させる任意の条件。
「ジャーク」−単位時間あたりの加速度。「加速度」及び「速度」の定義、並びに用語の用法に関する注記も参照されたい。
「機械システム」−除去機械ツール又は付加機械ツール、例えば3Dプリンタなどの機械でよい。しかしながら、全く異なる機械システム、そのような車両又は車両の一部など、であってもよい。例えば、車両、ドローン、宇宙船、オートバイ、又はスキーヤーなど、計算モーションエンジンを用いた自己運転又は人間制御も、このような機械システムの一例である。請求項の解釈に関して、「機械システム」は、同等の位置、その位置の第1及び第2の導関数、並びに一次導関数を変える力の等価物について述べることがある全てのそのようなシステムを含め、従来の機械システムと同様に挙動するシステムを含むように広く解釈しなければならない。
「プランナ」−いくつかの実施形態では、プランナはモーションエンジンであり、その逆も成り立つ。しかしながら、いくつかの実施形態では、モーションエンジンは、単なるプランナよりも多くの計算要素を含む。さらなる情報は、図5及び明細書本文を参照されたい。
「プラットフォーム又は構成プレート」−一般に、ターンテーブルと部品との間の中間構成要素として、ターンテーブルに取り付けられた(重力によって取り付けられたものを含む)表面を表す。この部品は、構成プレートに直接組み立てられてよく、又はさらに別の中間構成要素が使用されることもある。これは、「プラーナツールエリア」を含むことがある。
「位置」−核心的な方法及びデバイスに関しては、単軸スカラー値。これらの方法及びデバイスへの入力として、及び時として運動制御システムからのフィードバックとして、位置及びその導関数は、複数の軸に関するベクトルでよい。符号付きでも符号なしでもよい。用語の用法に関する注記も参照されたい。
「ツールレンジエリア」−付加又は除去機械加工に利用可能な部品表面の上又は上方の領域。水平でない部品表面、又は機械加工体積がその下にある部品表面に関して、用語「上方」の意味はそれに従って調整される。
「速度」−反復ジャーク法及びモータコントローラに関して、速度は、軸あたりのスカラーであり、これは、単位時間あたりの位置である。代替の用語は、レートである。核心的な方法及びデバイスの文脈では、速度は、単一の軸に適用されるので、ヘディングベクトルを含まない。速度は、通常は符号が付いているが、そうでない場合もある。符号又は方向が示唆されることもある。用語の用法に関する注記も参照されたい。
理想的、理想的には、最適な、及び好ましい−本発明を述べる文脈で使用するとき、「理想的」、「理想的には」、「最適な」、「すべき」、及び「好ましい」という用語の使用は、具体的には、本発明の1つ又は複数の用途のための1つ又は複数の実施形態に関する最良の形態を表す。そのような最良の形態は非限定的であり、当業者には理解されるように、全ての実施形態、用途、又は実装技術にとって最良の形態ではないことがある。
ことがある(may)、できる(could)、オプション、モード、代替、及び特徴−本発明を述べる文脈で使用するとき、用語「ことがある(may)」、「できる(could)」、「オプション」、「任意選択的な」、「モード」、「代替」、及び「特徴」の使用は、特に本発明の様々な実施形態を表す。「示された」又は「コード」という用語を使用する例、説明、及び図は、非限定的な実施形態を表す。全ての図が、非限定的な実施形態である。当業者には理解されるように、本明細書における全ての記載は非限定的である。
本発明の請求項は、明細書、図面、請求項、及び要約における全ての特徴、要素、例、請求項、実施形態、表、値、範囲、並びに図面の全ての組合せ及び部分的な組合せを明示的に含む。本発明の請求項は、請求項、明細書、及び図面に記載された全ての方法の任意の組合せを実施するためのデバイス及びシステムを明示的に含む。本発明の請求項は、請求項、明細書、及び図面に記載されたデバイス及びシステムを任意の組合せで使用する方法を明示的に含む。

Claims (20)

  1. 反復動作制御のための方法であって、
    (i)[p,v,a]を含む第1の状態ベクトル、[pt,vt]を含むターゲットベクトル、及びtsを受け入れるステップであって、ここで、p、v、及びaは、それぞれ初期位置、初期速度、及び初期加速度であり、pt及びvtは、それぞれターゲット位置及びターゲット速度であり、tsは反復時間間隔である、ステップと、
    (ii)前記ターゲット位置pt及び前記ターゲット速度vtに到達するための、現在の時刻からの到着時間間隔ttを推定するステップと、
    (iii)以下の式:
    j=−[c×(d×pt−d×p+a×tt^2+e×tt×v+tt×vt)]/tt^3
    を使用して、ジャークjを計算するステップと、
    (iv)更新されたp、v、及びaを受け入れるステップと、
    (v)(p、v、a、又はj)の任意の組合せをモーションコントローラに出力するステップと、
    (vi)エンドポイント条件に達するまで、ステップ(iii)〜(v)をレートtsで反復するステップと
    を含み、
    ここで、c、d、及びeは定数である、反復動作制御のための方法。
  2. 前記更新されたp、v、及びaを受け入れるステップは、以下の式:
    a=[(j)の0からtsまでの積分]+a’
    を使用して、aを計算するステップを含み、
    ここで、a’は、直前のaである、請求項1に記載の方法。
  3. 前記更新されたp、v、及びaを受け入れるステップは、以下の式:
    v=[(a)のt0からtsまでの積分]+v’
    を使用して、vを計算するステップを含み、
    ここで、v’は、直前のvである、請求項1に記載の方法。
  4. 前記更新されたp、v、及びaを受け入れるステップは、以下の式:
    p=[(v)のt0からtsまでの積分]+p’
    を使用して、pを計算するステップを含み、
    ここで、p’は、直前のpである、請求項1に記載の方法。
  5. 前記更新されたp、v、及びaを受け入れるステップは、
    p、v、及びaの1つ又は複数に関して、1つ又は複数のセンサそれぞれからのリアルタイム入力を受け入れるステップを含む、請求項1に記載の方法。
  6. 前記更新されたp、v、及びaを受け入れるステップは、
    pに関して、回転シャフト位置センサからのリアルタイム入力を受け入れるステップを含み、
    前記モーションコントローラは、ステッパモータを制御するように適合され、
    前記センサの分解能は、前記ステッパモータの1ステップの少なくとも4分の1である、請求項1に記載の方法。
  7. 前記更新されたp、v、及びaを受け入れるステップは、
    回転シャフト位置センサからリアルタイムシャフト位置入力xを受け入れるステップを含み、
    前記モーションコントローラは、ステッパモータを制御するように適合され、
    前記センサの分解能は、前記ステッパモータの1ステップの少なくとも4分の1であり、
    前記更新されたpは、入力x及び出力pを含む位置補正ルックアップテーブルからのものである、請求項1に記載の方法。
  8. 前記(p、v、a、又はj)の任意の組合せをモーションコントローラに出力するステップは、pを出力することを含まない、請求項1に記載の方法。
  9. 前記(p、v、a、又はj)の任意の組合せをモーションコントローラに出力するステップは、pを出力することを含まず、且つvを出力することを含まない、請求項1に記載の方法。
  10. 前記エンドポイント条件は、(p、v、及びtt)の任意の個々の要素又は組合せが、それぞれ前記ターゲット位置、前記ターゲット速度、及びゼロの所定の限度内にあるという条件を含む、請求項1に記載の方法。
  11. 前記ttを推定するステップは、前記方法の実行のシミュレーションに応答し、候補tt値が変更され、前記第1の状態ベクトル、前記ターゲットベクトル、及びtsが一定に保たれる、請求項1に記載の方法。
  12. 前記ttを推定するステップは、前記シミュレーション中の速度曲線の最適化にさらに応答し、前記最適化の目標は、最大の線形性を有する速度曲線である、請求項11に記載の方法。
  13. 前記定数c、d、及びeは、それぞれ値6、4、及び3を有し、値6、4、及び3付近でそれぞれ所定の範囲を有する、請求項1に記載の方法。
  14. 前記それぞれの範囲はゼロである、請求項13に記載の方法。
  15. 前記エンドポイント条件は、
    pの所定の最終的な位置精度内のp、
    vの所定の最終的な速度精度内のv、
    所定の最終的な加速度範囲外のa、及び
    所定の最終的なジャーク範囲外のj
    の任意の組合せに応答する、請求項1に記載の方法。
  16. 前記モーションコントローラは、逆SCARAアームを備える機械ツールの運動を制御する、請求項1に記載の方法。
  17. (vii)2つ以上の軸に関して、各推定到着時間間隔tt’を計算し、前記2つ以上の軸の全てに関するttの値として、前記各tt’の最大値を選択するステップ
    を追加として含み、
    ステップ(vii)は、ステップ(ii)において、又はステップ(ii)の前に、実施される、請求項1に記載の方法。
  18. 前記モーションコントローラは、ステップ(v)からの入力aと、出力Iとを含む非線形テーブルを含み、
    ここで、Iは、前記モーションコントローラによって制御されるモータ内の1つ又は複数のコイル電流である、請求項1に記載の方法。
  19. 請求項1に記載の方法を実施する、デバイス。
  20. 請求項1に記載の方法を実施する、システム。
JP2018556910A 2016-04-27 2017-04-26 反復運動制御の方法 Pending JP2019530031A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662328544P 2016-04-27 2016-04-27
PCT/US2017/029712 WO2017189771A1 (en) 2016-04-27 2017-04-26 Method of iterative motion control

Publications (1)

Publication Number Publication Date
JP2019530031A true JP2019530031A (ja) 2019-10-17

Family

ID=60160097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018556910A Pending JP2019530031A (ja) 2016-04-27 2017-04-26 反復運動制御の方法

Country Status (5)

Country Link
US (1) US10611024B2 (ja)
EP (1) EP3449322A4 (ja)
JP (1) JP2019530031A (ja)
KR (1) KR102285648B1 (ja)
WO (1) WO2017189771A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111585475A (zh) * 2020-07-09 2020-08-25 湖南科技大学 一种无刷直流电机伺服系统扰动抑制与高精度跟踪控制方法
KR20210144432A (ko) * 2020-05-22 2021-11-30 국방과학연구소 레이더 시스템 분석 장치 및 분석 방법

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111615437B (zh) * 2017-12-26 2022-08-09 Abb瑞士股份有限公司 用于机器人加工的方法和装置
CN109991915A (zh) * 2017-12-29 2019-07-09 深圳市优必选科技有限公司 一种机器人的运动控制方法、装置及机器人
CN111819505A (zh) * 2018-02-05 2020-10-23 创真私人有限责任公司 用于打印3d对象的打印机
US10852724B2 (en) 2018-04-30 2020-12-01 DJI Research LLC Customizable waypoint missions
JP7167522B2 (ja) * 2018-07-27 2022-11-09 セイコーエプソン株式会社 ロボットアーム
CN109895097B (zh) * 2019-02-19 2022-07-05 宁波凯德科技服务有限公司 一种焊接机器人运动模型次梯度方法
CN110220513B (zh) * 2019-04-30 2022-10-04 中国科学院深圳先进技术研究院 一种目标定位的方法、系统、无人机及存储介质
CN110221575B (zh) * 2019-05-31 2020-07-10 华中科技大学 一种基于加工参数的薄壁零件机器人加工路径生成方法
US11014237B2 (en) * 2019-07-11 2021-05-25 Intelligrated Headquarters, Llc Methods, systems, and apparatuses, for path planning and execution in a robotic system
CN110716504B (zh) * 2019-10-21 2022-06-14 同济大学 一种基于多闭环串级控制的滚球系统运动控制方法
CN110703684B (zh) * 2019-11-01 2022-09-30 哈工大机器人(合肥)国际创新研究院 一种端点速度不限的轨迹规划方法及装置
CN111123705B (zh) * 2019-12-18 2021-09-21 南京航空航天大学 一种螺旋桨及传动轴系统的主动振动控制的设计方法
TWI717985B (zh) 2020-01-30 2021-02-01 財團法人工業技術研究院 工具機調整方法與其調整系統
CN111240252B (zh) * 2020-03-25 2021-04-20 武汉迈信电气技术有限公司 一种基于fpga的多编码器数据交互系统及方法
CN112157661B (zh) * 2020-12-02 2021-03-05 成都卡诺普自动化控制技术有限公司 一种基于机器人动力学的关节运动轨迹优化方法
CN112683270A (zh) * 2020-12-07 2021-04-20 中国矿业大学 一种基于平滑变结构滤波的gnss/sins/磁力计的组合方法
CN112223298B (zh) * 2020-12-08 2021-03-05 成都卡诺普自动化控制技术有限公司 一种确定机器人关节最大加速度和最大速度的方法
JPWO2022138166A1 (ja) * 2020-12-24 2022-06-30
EP4160329A1 (de) * 2021-09-30 2023-04-05 Siemens Aktiengesellschaft Verfahren zum betreiben einer werkzeug- und/oder produktionsmaschine
CN114541502B (zh) * 2022-02-21 2023-01-10 北京合众鼎新信息技术有限公司 一种阀控液压缸控制方法及推土机推土铲自动控制系统
CN116756515B (zh) * 2023-07-07 2024-02-23 广州大学 基于深度卷积生成对抗网络的人工地震波生成方法
CN117148731B (zh) * 2023-11-01 2024-01-09 佛山科学技术学院 基于单点误差提取的可变迭代运动控制方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US720895A (en) 1902-07-07 1903-02-17 Charles A Herriman Quick-acting vise.
US4769583A (en) 1987-05-01 1988-09-06 General Motors Corporation Motion control system with minimum time path generation
DE69416747T2 (de) 1993-08-10 1999-07-29 Toyota Motor Co Ltd Vorrichtung zum Antrieb und zur Steuerung von Synchronmotoren, die Permanentmagnete als Erregungssystem benützen
US5770829A (en) * 1997-06-09 1998-06-23 Seiberco Incorporated General purpose position control system having recursive profile generator
JP4541218B2 (ja) * 2005-04-08 2010-09-08 三菱電機株式会社 指令生成装置
TWI302234B (en) * 2005-08-10 2008-10-21 Delta Electronics Inc Motion command reshaping method with analog input for position s curve
US7818073B2 (en) * 2006-04-20 2010-10-19 Asml Netherlands B.V. Method for obtaining improved feedforward data, a lithographic apparatus for carrying out the method and a device manufacturing method
US8543773B2 (en) * 2008-08-25 2013-09-24 International Business Machines Corporation Distributed shared memory
US8176896B2 (en) * 2008-10-08 2012-05-15 GM Global Technology Operations LLC Target wheel position detection systems
JP5146512B2 (ja) * 2010-10-13 2013-02-20 オムロン株式会社 制御装置、制御システムおよび制御方法
US9566710B2 (en) * 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
JP5417391B2 (ja) * 2011-07-29 2014-02-12 新日本工機株式会社 数値制御装置
KR101324319B1 (ko) * 2012-02-10 2013-11-01 삼성중공업 주식회사 위치 프로파일 생성방법 및 생성장치
US9041337B2 (en) * 2012-05-18 2015-05-26 Linestream Technologies Motion profile generator
US10133246B2 (en) * 2014-09-12 2018-11-20 Canon Kabushiki Kaisha Position control device and position control method, optical device, and image pickup apparatus
US9776640B1 (en) * 2016-03-30 2017-10-03 Linestream Technologies Automatic determination of maximum acceleration for motion profiles

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210144432A (ko) * 2020-05-22 2021-11-30 국방과학연구소 레이더 시스템 분석 장치 및 분석 방법
KR102418548B1 (ko) 2020-05-22 2022-07-07 국방과학연구소 레이더 시스템 분석 장치 및 분석 방법
CN111585475A (zh) * 2020-07-09 2020-08-25 湖南科技大学 一种无刷直流电机伺服系统扰动抑制与高精度跟踪控制方法

Also Published As

Publication number Publication date
KR102285648B1 (ko) 2021-08-04
KR20190051895A (ko) 2019-05-15
EP3449322A1 (en) 2019-03-06
US10611024B2 (en) 2020-04-07
US20190126474A1 (en) 2019-05-02
WO2017189771A1 (en) 2017-11-02
EP3449322A4 (en) 2019-05-22

Similar Documents

Publication Publication Date Title
KR102285648B1 (ko) 반복 모션 제어 방법
JP5650814B1 (ja) フィードフォワード制御を備えたモータ制御装置
US10488842B2 (en) Device and method of motion control
JP2019008472A (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
WO2013140679A1 (ja) 軌跡制御装置
JP4918682B2 (ja) 超音波モータの制御方法、超音波モータ制御装置及び超音波モータを制御するためのプログラム
JP2014136260A (ja) 制御装置
JPWO2014091840A1 (ja) サーボ制御装置
JP4269150B2 (ja) ロボット制御装置
US11340578B2 (en) Machine control system, machine controller, and vibration suppression command generation method
Miro et al. Modelling an industrial manipulator a case study
JPWO2014064815A1 (ja) サーボ制御装置
JP2012182933A (ja) モータ制御装置
CN112805653B (zh) 定位控制装置以及定位方法
JP2018182895A (ja) モータ制御装置、方法及びプログラム
JP5836206B2 (ja) サーボ制御装置
JPH10323070A (ja) モータ制御装置
JPH08328627A (ja) サーボ制御装置及びサーボ制御方法並びにこれらを用いたロボット制御装置及びロボット制御方法
Ciliz et al. Comparative experiments with a multiple model based adaptive controller for a SCARA type direct drive manipulator
JP4241240B2 (ja) 多軸サーボ制御装置
WO2022186051A1 (ja) 調整支援装置、制御システム及び調整支援方法
JPWO2019188154A1 (ja) モータ駆動装置
Holzgethan et al. IMPLEMENTATION OF TRAJECTORY PLANNING FOR THE MINIATURISED INDUSTRIAL ROBOTS OF THE MOROBOT PLATFORM
Ko et al. Synchronizing motors uisng PID with Dual-Motor-Driving
JP5063981B2 (ja) 電動機の位置制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190510