(57)【要約】任意のタイプの電気モータの特性を自動的に学習し且つ当該電気モータに関するモータ・モデルを計算する当該電気モータ用制御システムである。当該制御システムは、計算されたモータ・モデルを用いて、特定の解像度を達成する閉ループ制御設計を生成する。制御システムはまた、モータ・モデルを用いて、多様の運動指令に対する効率的運動プロフィールを自動的に構成する。制御システムはまた、非常に正確なモータの位置情報を与えるエンコーダ・インターフェース装置を含み得る。
2006513685.tif 000002
【特許請求の範囲】
【請求項１】
モータと使用のため制御器を適合させる方法であって、
前記モータに或る期間にわたり位置を変化させる制御信号を印加するステップと、
前記制御信号を或る期間にわたり記録するステップと、
前記制御信号の印加から結果として生じる或る期間にわたる前記モータの位置情報を記録するステップと、
前記の記録された位置情報に基づいて複数の位置の導関数を推定するステップであって、前記複数の位置の導関数が１次導関数及び２次導関数の両方を含む、前記推定するステップと、
前記複数の位置の導関数を、前記制御信号を前記モータの運動と関連付けるモータ・モデル式に適合させるステップを備えるモータ・モデルを計算するステップと、
前記モータ・モデルを前記制御器に与えるステップと
を備える方法。
【請求項２】
制御信号を印加する前記ステップが、
変調信号を変調器に印加するステップと、
前記変調信号に応答して、電源の出力を変調して、モータ制御信号を生成するステップと、を備え、
制御信号を或る期間にわたり記録する前記ステップが、前記変調器に印加された変調信号を記録するステップを備える
請求項１記載の方法。
【請求項３】
前記制御器が、無調整の電源に結合され、
制御信号を印加する前記ステップが、
前記電源の電圧の１又はそれより多い測定値を受け取るステップと、
前記電源に結合された変調器に供給されるとき、前記電源の電圧の前記測定値に基づいて前記モータ制御信号に対する所望の値を生成する変調信号の値を決定するステップと、
所望のモータ制御信号をもたらす変調信号を変調器に印加するステップと、を備え、
制御信号を或る期間にわたり記録する前記ステップが、
前記変調器に印加された変調信号を記録するステップと、
前記電源の測定された電圧を記録するステップと、
次いで、前記の変調信号を記録するステップと電源の前記の測定された電圧を記録するステップとを組み合わせるステップと、を備える
請求項１記載の方法。
【請求項４】
前記変調器が、電流制御器として構成され、
前記モータ制御信号が、電流が時間と共に変化する信号である
請求項２記載の方法。
【請求項５】
前記変調器が、電圧制御器として構成され、
前記モータ制御信号が、電圧が時間と共に変化する信号である
請求項２記載の方法。
【請求項６】
制御信号を或る期間にわたり記録する前記ステップが、前記制御信号の大きさを一連の離散的時間で記録するステップを備える
請求項１記載の方法。
【請求項７】
前記制御信号が、変調器に印加された変調信号であり、
前記方法が更に、
前記変調器に印加された変調信号に応答して、前記変調器が発生する電流フィードバックを記録するステップと、
前記複数の位置の導関数を、前記電流フィードバックを前記モータの運動と関連付ける式に適合させるステップと、を備える
請求項１記載の方法。
【請求項８】
前記モータの位置情報を或る期間にわたり記録する前記ステップが、
モータ位置の離散的変化を感知するステップと、
モータ位置値と、位置の変化が生じたときの指示との両方を記憶するステップと、
を備える請求項１記載の方法。
【請求項９】
前記モータの位置情報を或る期間にわたり記録する前記ステップが、規則的間隔で、モータ位置値と、位置の前の最後の変化が生じたときの指示とを記録するステップを備える請求項８記載の方法。
【請求項１０】
複数の位置の導関数を推定する前記ステップが、
記録された位置及び対応の時間データ値の１組を選択するステップと、
前記の選択された１組の記録された位置及び対応の時間データ値を位置を時間の関数として表す多項式に適合させるステップと、
複数の導関数を前記多項式から導出するステップと
を備える請求項１記載の方法。
【請求項１１】
前記多項式が少なくとも１つの２次多項式を備える請求項１０記載の方法。
【請求項１２】
前記複数の位置の導関数が更に３次導関数を含む請求項１記載の方法。
【請求項１３】
複数の位置の導関数を推定する前記ステップが、
記録された位置及び対応の時間データ値の１組を選択するステップと、
前記の選択された１組の記録された位置及び時間データ値を、位置を時間の関数として表す多項式に適合させるステップと
を備える請求項１２記載の方法。
【請求項１４】
複数の位置の導関数を推定する前記ステップが更に、データ値を適合させる前に、前記時間値を、複数の選択された時間値がほぼゼロの平均と実質的に１に等しい分散とを有するように条件付けるステップを備える請求項１０記載の方法。
【請求項１５】
複数の位置の導関数を、前記制御信号を前記モータの運動と関連付ける式に適合させる前記ステップが、前記制御信号を前記モータの運動と関連付ける式に対する複数の位置の導関数及び対応の制御信号値の最小自乗適合を計算するステップを備える請求項１記載の方法。
【請求項１６】
複数の位置の導関数を、前記制御信号を前記モータの運動と関連付ける式に適合させる前記ステップが更に、最小自乗適合を計算する前に、位置の各導関数に対して前記１組の値を、値の各組がほぼゼロと実質的に１に等しい分散とを有するように条件付けするステップを備える請求項１５記載の方法。
【請求項１７】
複数の位置の導関数を推定する前記ステップが、
複数のモータ位置、及び各位置に関連した対応の時間指示を記録するステップと、
速度を少なくとも２つの記録されたモータ位置及びそれらの関連した時間指示に基づいて推定するステップと
を備える請求項１記載の方法。
【請求項１８】
複数の位置の導関数を推定する前記ステップが、加速度を少なくとも３つの記録されたモータ位置及び関連の時間指示に基づいて推定するステップを備える請求項１記載の方法。
【請求項１９】
複数の位置の導関数を推定する前記ステップが、
複数のモータ位置、及び各位置に関連した対応の時間指示を記録するステップと、
記述関数を複数のモータ位置及び対応の時間に適合させるステップと、
複数の位置の導関数を前記記述関数から導出するステップと
を備える請求項１記載の方法。
【請求項２０】
前記記述関数が正弦曲線の和である請求項１９記載の方法。
【請求項２１】
前記モータが、ＤＣブラシ・モータ、ＤＣブラシレス・モータ、ＡＣブラシレス・モータ及びインダクタンス・モータから成るグループから選択される請求項１記載の方法。
【請求項２２】
前記制御信号を印加する前記ステップが、変調信号を２又はそれより多いモータ相変調信号に変換するステップを備え、
前記制御信号を或る期間にわたり記録する前記ステップが、前記変調信号を記録するステップを備える
請求項１記載の方法。
【請求項２３】
閉ループ制御パラメータを前記の計算されたモータ・モデルに基づいて計算するステップを更に備える請求項１記載の方法。
【請求項２４】
閉ループ制御パラメータを計算する前記ステップが、
各被制御変数について制御器出力に対する所望の解像度値を決定するステップと、
前記制御器の第１の利得を、前記所望の解像度値に割り当てるステップと、
前記所望の解像度値に設定された前記第１の利得に対する周波数値を計算するステップと、
前記制御器の第２の利得を計算するステップと
を備える請求項２３記載の方法。
【請求項２５】
閉ループ制御パラメータを計算する前記ステップが、
複数の比例利得を所望の解像度値に割り当てるステップと、
前記所望の解像度値に設定された各比例利得に対する周波数値を計算するステップと、
計算された最小周波数値を選択するステップと、
前記の選択された周波数値を用いて、前記制御器の残りの利得を計算するステップと
を備える請求項２３記載の方法。
【請求項２６】
閉ループ制御パラメータを前記の計算されたモータ・モデルに基づいて計算する前記ステップが、状態変数と関連した利得を設定して、当該状態変数について所望の解像度を達成するステップを備える請求項２３記載の方法。
【請求項２７】
最大フィードフォワード信号を決定するステップを更に備える請求項２記載の方法。
【請求項２８】
最大フィードフォワード信号を決定する前記ステップが、
前記最大フィードフォワード信号に対して初期値を選択するステップと、
前記の選択された値を用いて、運動関数を実行するステップと、
前記運動関数を実行するため用いられる変調信号を記録するステップと、
前記運動関数を実行するため用いられる変調信号のピーク値を所定の範囲と比較するステップと、
前記運動関数を実行するため用いられる変調信号のピーク値が所定の範囲の外側に入る場合、前記最大フィードフォワード信号に対して異なる値を選択し、且つ運動関数を実行する前記ステップ、変調信号を記録する前記ステップ、及び変調信号を比較する前記ステップを繰り返すステップと
を備える請求項２７記載の方法。
【請求項２９】
前記の記録された変調信号がフィードフォワード信号及び誤差訂正信号の和である請求項２８記載の方法。
【請求項３０】
モータを制御器でもって制御する方法であって、前記制御器が前記モータに印加するモータ制御信号を前記モータの運動と関連付けるモータ・モデルが事前決定され、且つ最大フィードフォワード信号がまた事前決定される、前記方法において、
モータ関数を実行するための指令をユーザから受け取るマシン実行ステップと、
前記の事前決定されたモータ・モデル及び最大フィードフォワード信号にアクセスするマシン実行ステップと、
モータ制御信号を前記事前決定されたモータ・モデルに基づいて指定する１組の運動プロフィール・パラメータを、前記運動プロフィール・パラメータにより指定されたモータ制御信号が前記最大フィードフォワード信号を超えないように決定するマシン実行ステップと、
前記運動プロフィール・パラメータを制御器に供給して、前記運動プロフィール・パラメータが指定する前記モータ制御信号を発生するマシン実行ステップと
を備える方法。
【請求項３１】
前記モータの動作を制限する１又はそれより多い制約を受け取るステップを更に備え、
モータ制御信号を指定する１組の運動プロフィール・パラメータを決定する前記マシン実行ステップがまた、前記運動プロフィール・パラメータが指定する前記モータ制御信号が前記制約のそれぞれを満足するように前記モータの動作を制限する制約に基づく、
請求項３０記載の方法。
【請求項３２】
前記制約の１つが、最大速度、最大加速度、最大電流、最大ＲＭＳ電流及び最大ＲＭＳ加速度のうちの１つである請求項３１記載の方法。
【請求項３３】
モータ制御信号を前記１組の運動プロフィール・パラメータから発生するステップを更に備える請求項３０記載の方法。
【請求項３４】
前記１組の運動プロフィール・パラメータを所定のフォーマットに変更するステップを更に備え、
前記運動プロフィール・パラメータを制御器に供給する前記マシン実行ステップが、前記の変更された１組の運動プロフィール・パラメータを制御器に供給して、前記運動プロフィール・パラメータが指定する前記モータ制御信号を発生するステップを備える
請求項３０記載の方法。
【請求項３５】
加速度パルス形式を選択するステップを更に備え、
前記１組の運動プロフィール・パラメータが、前記の選択された加速度パルス形式の加速度パルスを定義する
請求項３０記載の方法。
【請求項３６】
運動プラン・アルゴリズムを選択するステップを更に備え、
１組の運動プロフィール・パラメータを決定する前記ステップがまた、前記の選択された運動プラン・アルゴリズムに基づく
請求項３０記載の方法。
【請求項３７】
前記１組の運動プロフィール・パラメータが、一連の加速度パルスから成り、
各パルスが、持続時間及びピーク加速度によって指定される
請求項３０記載の方法。
【請求項３８】
前記一連の加速度パルスが、加速度パルスの次のタイプ、即ち、２次曲線、調波、台形、区分的線形及びサイクロイドのうちの任意の１つである請求項３７記載の方法。
【請求項３９】
前記１組の運動プロフィール・パラメータが、１組のピーク・ジャーク値、ピーク速度値及びピーク加速度値である請求項３０記載の方法。
【請求項４０】
１組の運動プロフィール・パラメータを事前決定されたモータ・モデルに基づいて決定する前記マシン実行ステップが、
初期の１組の運動プロフィール・パラメータを選択するステップと、
前記初期の１組の運動プロフィール・パラメータを用いて、ピーク・フィードフォワード信号を計算するステップと、
前記の計算されたピーク・フィードフォワード信号を所定の最大フィードフォワード信号と比較するステップと、
前記の計算されたピーク・フィードフォワード信号が前記最大フィードフォワード信号の所定量内にない場合、１組の運動プロフィール・パラメータが前記最大フィードフォワード信号の所定量内にある計算されたピーク・フィードフォワード信号を生成するまで他の組の運動プロフィール・パラメータを繰り返し選択するステップと
を備える請求項３０記載の方法。
【請求項４１】
運動関数を実行させる前記指令が、指定された位置へ動かす指令を備える請求項３０記載の方法。
【請求項４２】
運動関数を実行させる前記指令が、指定された速度で動かす指令を備える請求項３０記載の方法。
【請求項４３】
運動関数を実行させる前記指令が、指定された位置へ指定された速度で動かす指令を備える請求項３０記載の方法。
【請求項４４】
前記運動プラン・アルゴリズムが、パルス−クルーズ−パルス・アルゴリズム、均衡したパルス−クルーズ−パルス・アルゴリズム及び均衡したパルス−パルス・アルゴリズムのうちの任意の１つを備える請求項３６記載の方法。
【請求項４５】
閉ループ制御器の複数の変数と関連した複数の利得を決定する方法であって、
前記制御器の複数の変数の１つと関連した利得を所望の解像度値に割り当てるコンピュータ実行ステップと、
前記所望の解像度値に設定された利得に対して周波数値を計算するコンピュータ実行ステップと、
前記制御器の残りの利得を決定するコンピュータ実行ステップと、
前記の計算された利得を前記閉ループ制御器に供給するコンピュータ実行ステップと
を備える方法。
【請求項４６】
前記閉ループ制御器が比例−積分−微分制御器から成り、前記の割り当てられた利得が比例利得である請求項４５記載の方法。
【請求項４７】
前記閉ループ制御器の複数の比例利得を前記所望の解像度値に割り当てるステップと、
前記所望の解像度値に設定された各比例利得に対して周波数値を計算するステップと、
計算された最小周波数値を選択するステップと、
前記の選択された周波数値を用いて、前記制御器の残りの利得を計算するステップと
を更に備える請求項４６記載の方法。
【請求項４８】
前記閉ループ制御器が、所定のサーボ・サンプリング速度を有し、
制御器の残りの利得を計算する前記ステップが、
積分利得を計算するステップと、
前記の計算された積分利得及び現在のサーボ・サンプリング速度を用いて、前記制御器の第２の解像度値を決定するステップと、
前記第２の解像度値が前記所望の解像度値より大きい場合、前記サーボ・サンプリング速度を調整して、前記第２の解像度値を前記所望の解像度値に又はそれより下に低減するステップと、を備える
請求項４６記載の方法。
【請求項４９】
前記制御器の残りの利得を計算する前記ステップが、所望の解像度を達成するため箱形導関数の入力として要求される位置誤差読み取りの数を決定するステップを備える請求項４６記載の方法。
【請求項５０】
前記閉ループ制御器が状態空間制御器である請求項４５記載の方法。
【請求項５１】
状態変数及び当該状態変数と関連した利得を有する閉ループ制御器を設計する方法であって、
前記状態変数に対して所望の解像度値を選択するコンピュータ実行ステップと、
前記所望の解像度を達成する前記状態変数と関連した利得を計算するコンピュータ実行ステップと
を備える方法。
【請求項５２】
前記閉ループ制御器が、複数の状態変数、及び各状態変数と関連した利得を有し、
各状態変数に対して所望の解像度を選択するステップと、
各状態変数に対する前記所望の解像度を達成する前記各状態変数と関連した利得を計算するステップと
を更に備える請求項５１記載の方法。
【請求項５３】
各状態変数に対する前記所望の解像度を達成する前記各状態変数と関連した利得を計算する前記ステップが、
前記所望の解像度値に設定された２又はそれより多い利得に対して周波数値を計算するステップと、
計算された最小周波数値を選択するステップと、
前記の選択された周波数値を用いて、前記制御器の残りの利得を計算するステップと
を備える請求項５２記載の方法。
【請求項５４】
位置誤差情報を各サーボ処理間隔で受け取る閉ループ制御器において導関数項を計算する方法であって、
３又はそれより多い位置誤差読み取りを異なるサーボ処理間隔で記録するコンピュータ実行ステップと、
前記位置誤差読み取りのうちの２又はそれより多い位置誤差読み取りを加算するステップと、前記加算するステップで用いられた等しい数の異なる位置誤差読み取りを減算するステップとにより導関数の推定を計算するコンピュータ実行ステップと、
導関数項を前記導関数の推定に基づいて計算するコンピュータ実行ステップと
を備える方法。
【請求項５５】
前記位置誤差読み取りが連続したサーボ処理間隔で記録される請求項５４記載の方法。
【請求項５６】
モータの加速度を、位置測定装置から受け取られたモータの位置情報に基づいて決定する方法であって、
位置情報を前記位置測定装置から受け取るステップと、
位置情報の変化が感知されたときモータの位置の指示を記録するステップと、
位置情報の変化が生じた時間の指示を記録するステップと、
加速度を少なくとも３つの位置記録と対応の時間記録とに基づいて計算するステップと
を備える方法。
【請求項５７】
前記位置情報の変化が感知されたときモータの位置の指示を記録する前記ステップが、カウンタの値を前記位置情報の変化に基づいて変えるステップを備える請求項５６記載の方法。
【請求項５８】
前記カウンタは、前記位置情報が第１の方向における位置の変化を指示するとき増分され、且つ前記位置情報が第２の方向における位置の変化を指示するとき減分される請求項５７記載の方法。
【請求項５９】
加速度を少なくとも３つの位置記録と対応の時間記録とに基づいて計算する前記ステップが、
位置／時間対記録を、モータの位置を時間と関連付ける少なくとも２次の多項式に適合させるステップと、
前記多項式の２次導関数を計算するステップと
を備える請求項５６記載の方法。
【請求項６０】
モータのジャークを、位置測定装置から受け取られたモータの位置情報に基づいて決定する方法であって、
位置情報を前記位置測定装置から受け取るステップと、
位置情報の変化が感知されたときモータの位置の指示を記録するステップと、
位置情報の変化が生じた時間の指示を記録するステップと、
ジャークを少なくとも４つの位置記録と対応の時間記録とに基づいて計算するステップと
を備える方法。
【請求項６１】
ジャークを少なくとも４つの位置記録と対応の時間記録とに基づいて計算する前記ステップが、
位置／時間対記録を、モータの位置を時間と関連付ける少なくとも３次の多項式に適合させるステップと、
前記多項式の３次導関数を計算するステップと
を備える請求項６０記載の方法。
【請求項６２】
位置フィードバック情報を制御器に与える位置フィードバック装置を有する電気モータ用制御器であって、
制御器出力を前記モータの運動と関連付けるモータ・モデル式を計算するよう構成されたモータ・モデル計算モジュールと、
運動関数指令を受け取り、且つ運動関数指令を受け取ることに応答して、１組の運動プロフィール・パラメータを前記モータ・モデル式及び所定の最大フィードフォワード信号に基づいて計算し、それにより前記運動プロフィール・パラメータが所定の最大フィードフォワード信号にほぼ等しい計画されたピーク・フィードフォワード信号を有する運動を記述するよう構成された軌道プランニング・モジュールと
を備える制御器。
【請求項６３】
前記の計画されたフィードフォワード信号が前記最大フィードフォワード信号の５％内である請求項６２記載の方法。
【請求項６４】
前記運動プロフィール・パラメータを受け取り、且つ前記運動関数指令で指定された運動関数を前記モータに実行させる信号を発生するよう構成された軌道発生器モジュールを更に備える請求項６２記載の制御器。
【請求項６５】
位置誤差を前記運動関数指令の実行中に計算し、且つ制御器出力を調整して、計算された誤差を補償するよう構成された閉ループ制御装置を更に備える請求項６４記載の方法。
【請求項６６】
前記位置フィードバック情報を受け取り、且つ位置の変化と、当該位置の変化が生じた時間の指示との両方を記録するよう構成された位置測定インターフェース装置を更に備える請求項６２記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［技術分野］
本発明は電気モータ制御器に関する。
【０００２】
［背景］
閉ループ・モータ制御器は、多くの場合、例えば、閉ループ・フィードバック制御利得、運動プロフィール制約（ｍｏｔｉｏｎ  ｐｒｏｆｉｌｅ  ｃｏｎｓｔｒａｉｎｔｓ）及び成形パラメータ（ｓｈａｐｉｎｇ  ｐａｒａｍｅｔｅｒｓ）を指定するためユーザに多数のパラメータを入力することを要求する。このプロセスは、時間がかかり、そして所望のモータ制御を達成するため、モータ制御分野での専門的技術を必要とする場合がある。従って、特定のモータに対してモータ・モデルを自己決定し、閉ループ利得を自動的に計算し、且つ運動指令に応答して効率的な運動プロフィールを自動的に発生する制御器が望ましい。
【０００３】
システム・モデルのパラメータを推定することは、既知の学問的分野である。しかしながら、典型的には、それは、固定の製品に対してより良い制御システムを開発するため研究及び開発段階で適用される。例えば、Ｍａｔｈｗｏｒｋｓ社（マサチューセッツ州Ｎａｔｉｃｋ所在）からのソフトウエア・パッケージＳｙｓｔｅｍ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｔｏｏｌｂｏｘ（登録商標）は、熟練のエンジニアがマシン（例えば、モータ）から得られた信号を処理してモータ・モデルを推定するためのツールである。
【０００４】
多くのモータ制御供給業者が、ユーザがモータをセットアップして形成するのを支援するためのソフトウエア・パッケージを提供している。幾つかの例は、Ｃｏｐｌｅｙ  Ｃｏｎｔｒｏｌｓ社（マサチューセッツ州Ｃａｎｔｏｎ所在）からのＣＭＥ２（登録商標）、Ｋｏｌｌｍｏｒｇｅｎ社（バージニア州Ｒａｄｆｏｒｄ所在）からのＭｏｔｉｏｎｅｅｒｉｎｇ（登録商標）、Ｇａｌｉｌ  Ｍｏｔｉｏｎ  Ｃｏｎｔｒｏｌ社（カリフォルニア州Ｒｏｃｋｌｉｎ）からのＷＳＤＫ  Ｓｅｒｖｏ  Ｄｅｓｉｇｎ  Ｋｉｔ（登録商標）、及びＤｅｌｔａ  Ｔａｕ  Ｓｙｓｅｔｅｍｓ社（カリフォルニア州Ｃｈａｔｓｗｏｒｔｈ所在）からのＰＥＷＩＮ（登録商標）である。これらの製品は全て、モータ・パラメータの知識を必要とし、そしてシステム・パラメータを決定するためエンジニアに反復的実験に参加することを要求する。対照的に、以下で説明する教示に従って設計された制御器の動作は、ユーザに見えなく、そして少ししか専門技術が必要でなく、そしてパラメータを供給することが必要でない。また、以下で説明する教示に従って設計された制御器は、効率的な運動制御のための運動プロフィール・パラメータを発生する。
【０００５】
［概要］
一局面において、本発明は、制御器をモータに適合させる方法であって、モータに位置を時間にわたり変えさせる制御信号が適用される上記方法を特徴とする。制御信号及び結果として生じた位置情報は或る期間にわたり記録される。位置の導関数が、その記録された位置情報に基づいて推定され、そして、位置の導関数が制御信号をモータの運動（モータの動き）と関連付けるモータ・モデル方程式に適合されるモータ・モデルが計算される。次いで、コンピュータ・モータ・モデルが制御器に供給される。
【０００６】
実施形態は、次の特徴のうちの１又はそれより多い特徴を含み得る。モータに印加される制御信号は、変調信号を変調器に印加すること、及び当該変調信号に応答して電源の出力を変調してモータ制御信号を生成することを含み得る。制御信号を或る期間にわたり記録するステップは、変調器に印加される変調信号を記録するステップを含み得る。変調器は、電流制御器又は電圧制御器として構成し得る。
【０００７】
この方法は更に、変調器がモータに印加されたモータ制御信号に応答して発生する電流フィードバックを記録するステップ、及び位置の導関数を、電流フィードバックをモータの運動と関連付ける方程式に適合させるステップを含み得る。制御信号を印加する上記ステップは、変調信号を２又はそれより多いモータ位相変調信号に変換するステップを含み得る。
【０００８】
モータの位置を或る期間にわたり記録する上記ステップは、モータ位置の離散的変化を感知するステップ、及びモータ位置値、及び位置の変化が生じたときに対応する時間の指示を記憶するステップを含み得る。モータの位置を或る期間にわたり記録する上記ステップは、規則的間隔で、モータ位置値と、位置の最後の変化が生じたときに対応する時間とを記録するステップを含み得る。
【０００９】
複数の位置の導関数を推定するステップは、１組の記録された位置及び対応の時間データ値を選択するステップ、次いで当該選択された１組の記録された位置及び時間データ値を、位置を時間の関数として表す多項式に適合させるステップを含み得る。上記の記録された位置及び時間データ値を適合させる前に、この方法は、複数の選択された時間値がほぼゼロの平均と実質的に１に等しい分散とを有するように時間値を条件付けるステップを含み得る。位置の導関数を、制御信号をモータの運動と関連付ける方程式に適合させる上記ステップは、制御信号をモータの運動と関連付ける方程式への複数の位置の導関数及び対応の制御信号値の最小自乗適合を計算するステップを含み得る。位置の導関数を方程式に適合させる前に、この方法は、値の各組みがほぼゼロの平均と実質的に１に等しい分散とを有するように位置の各導関数に対して上記組の値を条件付けるステップを含み得る。
【００１０】
複数の位置の導関数を推定する上記ステップは、複数のモータ位置及び各位置と関連した対応の時間を記録するステップ、及び速度を少なくとも２つの記録されたモータ位置及び関連の時間に基づいて推定するステップ、及び／又は加速度を少なくとも３つの記録されたモータ位置及び関連の時間に基づいて推定するステップを含み得る。
【００１１】
複数の位置の導関数を推定する上記ステップは、複数のモータ位置、及び各位置と関連した対応の時間を記録するステップ、記述関数（ｄｅｓｃｒｉｂｉｎｇ  ｆｕｎｃｔｉｏｎ）を複数のモータ位置及び対応の時間に適合させるステップ、及び複数の位置の導関数を上記記述関数から導出するステップを含み得る。
【００１２】
この方法は更に、閉ループ制御を、計算されたモータ・モデルに基づいて計算するステップを含み得る。閉ループ制御を計算する上記ステップは、各被制御変数に関する訂正信号に対して所望の解像度値を決定するステップ、制御器の利得を所望の解像度値に割り当てるステップ、所望の解像度値に設定された利得に対して周波数値を計算するステップ、及び制御器の残りの利得を計算するステップを含み得る。
【００１３】
閉ループ制御を、計算されたモータ・モデルに基づいて計算する上記ステップは、閉ループ制御の複数の比例利得を所望の解像度値に割り当てるステップ、所望の解像度値に設定された各比例利得に対して周波数値を計算するステップ、当該計算された最小周波数値を選択するステップ、及び当該選択された周波数値を用いて制御器の残りの利得を計算するステップを含み得る。閉ループ制御を計算する上記ステップは、状態変数に対して所望の解像度値を達成するため閉ループ制御の当該状態変数と関連した利得を設定するステップを含み得る。
【００１４】
この方法は更に、最大フィードフォワード信号を決定するステップを含み得る。最大フィードフォワード信号を決定する上記ステップは、最大フィードフォワード信号に対して初期値を選択するステップ、当該選択された値を用いて運動関数（動き関数）（ｍｏｔｉｏｎ  ｆｕｎｃｔｉｏｎ）を実行するステップ、運動関数を実行するため用いられるモータ制御信号を記録するステップ、運動関数を実行するため用いられる変調信号のピーク値を所定の範囲と比較するステップ、及び運動関数を実行するため用いられる変調信号のピーク値が所定の範囲の外側に入る場合、最大フィードフォワード信号に対して異なる値を選択するステップ、及び運動関数を実行し、変調信号を記録し、且つ変調信号を比較するそれぞれの上記ステップを繰り返すステップを含み得る。
【００１５】
別の局面において、本発明は、モータを制御器でもって制御する方法であって、モータ関数（ｍｏｔｏｒ  ｆｕｎｃｔｉｏｎ）を実行するための指令をユーザから受け取るステップと、事前決定されたモータ・モデル及び最大フィードフォワード信号にアクセスするステップと、１組の運動プロフィール・パラメータを、事前決定されたモータ・モデル及び事前決定された最大フィードフォワード信号に基づいて決定するステップと、上記運動プロフィール・パラメータを制御器に供給して、上記運動プロフィール・パラメータが指定するモータ制御信号を発生するステップとを含む方法を特徴とする。
【００１６】
実施形態は、次の特徴のうちの１又はそれより多い特徴を含み得る。この方法はまた、１組の運動プロフィール・パラメータを計算するステップ、当該１組の運動プロフィール・パラメータを、所定のフォーマットで変更するステップ、及び当該変更された１組の運動プロフィール・パラメータを制御器に供給するステップを含み得る。
【００１７】
１組の運動プロフィール・パラメータから発生されたモータ制御信号は、離散的時間におけるモータ位置、速度及び加速度に対応する一連の値を含み得る。
この方法は更に、例えば、二次曲線、調波、台形、区分的線形、又はサイクロイドの加速度パルスのような加速度パルス形式を選択するステップ、又は、例えば、パルス−クルーズ−パルス（ｐｕｌｓｅ−ｃｒｕｉｓｅ−ｐｕｌｓｅ）・アルゴリズム、均衡したパルス−クルーズ−パルス・アルゴリズム、又は均衡したパルス−パルス・アルゴリズムのような運動プラン・アルゴリズム（運動計画アルゴリズム）を選択するステップを含み得る。
【００１８】
この運動プロフィール・パラメータは、各加速度パルスが持続時間及びピーク加速度に関して指定される一連の加速度パルス、又は１組のピーク・ジャーク値、ピーク速度値及びピーク加速度値を含み得る。
【００１９】
１組の運動プロフィール・パラメータを所定のモータ・モデルに基づいて決定する上記ステップが、初期の１組の運動プロフィール・パラメータを選択するステップと、上記初期の組の運動プロフィール・パラメータを用いてピーク・フィードフォワード信号を計算するステップと、上記の計算されたピーク・フィードフォワード信号を所定の最大フィードフォワード信号と比較するステップと、上記の計算されたピーク・フィードフォワード信号が上記最大フィードフォワード信号の所定量内にない場合１組の運動プロフィール・パラメータが上記最大フィードフォワード信号の所定量内にある計算されたピーク・フィードフォワード信号を生成するまで他の組の運動プロフィール・パラメータを繰り返し選択するステップとを含み得る。
【００２０】
別の局面において、本発明は、閉ループ制御器の複数の変数と関連した複数の利得を決定する方法であって、上記制御器の変数の１つと関連した利得を所望の解像度値に割り当てるステップと、上記所望の解像度値に設定された利得に対して周波数値を計算するステップと、上記制御器の残りの利得を計算するステップと、当該残りの利得を上記閉ループ制御器に供給するステップとを含む上記方法を特徴とする。
【００２１】
実施形態は、次の特徴のうちの１又はそれより多い特徴を含み得る。閉ループ制御器は、比例−積分−微分制御器であり得て、そして上記の割り当てられた利得は、比例利得から成る。この方法は更に、上記閉ループ制御器の複数の比例利得を上記所望の解像度値に割り当てるステップと、上記所望の解像度値に設定された各比例利得に対して周波数値を計算するステップと、その計算された最小周波数値を選択するステップと、上記の選択された周波数値を用いて上記制御器の残りの利得を計算するステップとを含み得る。
【００２２】
制御器の残りの利得を計算する上記ステップは、積分利得を計算するステップと、上記の計算された積分利得及び現在のサーボ・サンプリング速度を用いて上記制御器の第２の解像度値を決定するステップと、上記第２の解像度値が上記所望の解像度値より大きい場合、上記サーボ・サンプリング速度を調整して上記第２の解像度値を上記所望の解像度値に又はそれより下に低減するステップとを含み得る。制御器の残りの利得を計算する上記ステップがまた、所望の解像度を達成するため箱形導関数の入力として要求される位置誤差読み取りの数を決定するステップを含み得る。
【００２３】
別の局面において、本発明は、状態変数及び当該状態変数と関連した利得を有する閉ループ制御器を設計する方法であって、上記状態変数に対する所望の解像度値を選択するステップと、上記所望の解像度を達成する上記状態変数と関連した利得を計算するステップとを含む上記方法を特徴とする。
【００２４】
実施形態は、次の特徴のうちの１又はそれより多い特徴を含み得る。上記閉ループ制御器が、幾つかの状態変数、及び各状態変数と関連した利得を有し得て、そしてこの方法がまた、各状態変数に対して所望の解像度値を選択するステップと、各状態変数に対する上記所望の解像度を達成する各状態変数と関連した利得を計算するステップとを含み得る。上記所望の解像度を達成する上記各状態変数と関連した利得を計算する上記ステップが、上記所望の解像度値に設定された２又はそれより多い利得に対して周波数値を計算するステップと、当該計算された最小周波数値を選択するステップと、上記の選択された周波数値を用いて前記制御器の残りの利得を計算するステップと含み得る。
【００２５】
別の局面において、本発明は、各サーボ処理間隔で導関数項を生成する閉ループ制御器において導関数の推定を計算する方法であって、３又はそれより多い位置誤差読み取りを異なるサーボ処理間隔で記録するステップと、上記位置誤差読み取りの２又はそれより多い位置誤差読み取りを加算するサブステップ及び上記加算するステップで用いられた等しい数の異なる位置誤差読み取りを減算するサブステップにより導関数の推定を計算するステップと、導関数項を上記導関数の推定に基づいて計算するステップとを含む上記方法を特徴とする。
【００２６】
実施形態は、次の特徴のうちの１又はそれより多い特徴を含み得る。上記位置誤差読み取りは、連続したサーボ処理間隔で記録され得る。
別の局面において、本発明は、モータの加速度を、位置測定装置から受け取られた位置情報に基づいて決定する方法であって、位置情報を上記位置測定装置から受け取るステップと、位置情報の変化が感知されたときモータの位置の指示を記録するステップと、位置情報の変化が生じた時間の指示を記録するステップと、加速度を少なくとも３つの位置記録と対応の時間記録とに基づいて計算するステップとを含む上記方法を特徴とする。
【００２７】
実施形態は、次の特徴のうちの１又はそれより多い特徴を含み得る。上記位置情報の変化が感知されたとき運動位置の指示を記録する上記ステップが、カウンタの値を上記位置情報の変化に基づいて変えるステップを含み得る。上記カウンタは、上記位置情報が第１の方向における位置の変化を指示するとき増分され、そして上記位置情報が第２の方向における位置の変化を指示するとき減分され得る。加速度を少なくとも３つの位置記録と対応の時間記録とに基づいて計算する上記ステップが、位置／時間読み取りを、モータの位置を時間と関連付ける少なくとも２次の多項式に適合させるステップと、上記多項式の２次導関数を計算するステップとを含み得る。
【００２８】
別の局面において、本発明は、モータのジャークを、位置測定装置から受け取られた位置情報に基づいて決定する方法であって、位置情報の変化が感知されたときモータの位置の指示を記録するステップと、位置情報の変化が生じた時間の指示を記録するステップと、ジャークを少なくとも４つの位置記録と対応の時間記録とに基づいて計算するステップとを含む上記方法を特徴とする。
【００２９】
実施形態は、次の特徴のうちの１又はそれより多い特徴を含み得る。ジャークを少なくとも４つの位置記録と対応の時間読み取りとに基づいて計算する上記ステップが、位置／時間読み取りを、モータの位置を時間と関連付ける少なくとも３次の多項式に適合させるステップと、上記多項式の３次導関数を計算するステップとを含み得る。
【００３０】
別の局面において、本発明は、モータ制御信号をモータの運動と関連付けるモータ・モデル方程式を計算するよう構成されたモータ・モデル計算モジュールと、運動関数指令を受け取り、且つ運動関数指令を受け取ることに応答して、１組の運動プロフィール・パラメータを上記モータ・モデル方程式及び最大フィードフォワード信号の所定のフラクション（ｆｒａｃｔｉｏｎ）に基づいて計算し、それにより上記運動プロフィール・パラメータが最大モータ制御信号の所定のフラクションにほぼ等しいプランニングされたピーク出力を有する運動を記述するよう構成された軌道プランニング・モジュールとを含む電気モータ用制御器を特徴とする。
【００３１】
実施形態は、次の特徴のうちの１又はそれより多い特徴を含み得る。この制御器は更に、上記運動プロフィール・パラメータを受け取り、且つ上記運動関数指令で指定された運動関数を上記モータに実行させる信号を発生するよう構成された軌道発生器モジュールを含み得る。
【００３２】
上記制御器は、位置誤差を計算し、且つモータ制御信号を調整して、計算された誤差を補償するよう構成された閉ループ制御装置を含み得る。
上記制御器は、上記位置フィードバック情報を受け取り、且つ位置の変化と、当該位置の変化が生じた時間とを記録するよう構成された位置測定インターフェース装置を含み得る。
【００３３】
実施形態は、次の利点のうちの１又はそれより多くの利点を有し得る。
本発明に従って設計された制御システムの１つの利点は、制御器に対する作動プロセス（ｃｏｍｍｉｓｉｏｎｉｎｇ  ｐｒｏｃｅｓｓ）の単純化である。従来から、制御器を作動させることは、追加の装置、計測器、及びアプリオリのモータ及び負荷パラメータ知識を必要とする反復的で手動の実験的プロセスを実行することを熟練のエンジニアに要求する。本発明の教示に従って設計された制御システムは、制御システムを最小のユーザ入力で自動的に作動させ、従って、従来の制御器の作動と関連した時間がかかり且つ費用の高い手順の多くを排除する。
【００３４】
本発明に従って設計された制御システムの別の利点は、制御システムが本質的に無限の変動の既知でないモータ、及び幾つかの異なるタイプ（例えば、ＤＣブラシ型、ＤＣブラシレス、ＡＣブラシレス、誘導型）の既知でないモータを殆ど又は全くユーザの知識又は専門的技術知識なしで効率的に制御することができることにある。
【００３５】
本発明に従って設計された制御システムの別の利点は、運動プランニング・タスクの単純化である。典型的には、運動プロフィールの設計は、モータ・パラメータ知識及び熟練のエンジニアを必要とする。更に、最適パラメータは、多くの場合、得るため困難であるか、不可能であり、そのため、保守的で妥協的アプローチが、単一の組の非最適運動パラメータを計算することをもたらす。本発明は、最小のユーザ入力で効率的な運動プロフィールを自動的に計算する運動プロフィール・プランニング・プロセスを開示する。従って、効率的な運動プロフィール（時間、パワー消費、又はその両方に関して）が、熟練のエンジニアの支援無しで全ての運動指令に対して迅速且つ容易に得られることができる。
【００３６】
別の利点は、制御システムの閉ループ制御設計を自動的に計算し得ることである。これは、熟練のエンジニアが特定のモータのための閉ループ制御器を設計する必要性を排除する。
【００３７】
本発明に従って設計された制御システムの別の利点は、手動で形成される制御器を超えて改善された制御器性能である。例えば、制御システムは、自己決定されるモータ・モデルを用いて、正確なフィードフォワードを運動プロフィール中に提供し得て、それは、手動で形成される制御器から追跡誤差及び整定時間を低減する。
【００３８】
本発明に従って設計された制御システムの別の利点は、モータ・モデルにおいて指定されたパラメータが、決定するのが困難である物理的パラメータ（例えば、トルク又は慣性）に対応しないが、しかしモータ位置の所与の導関数、例えば、速度、加速度、ジャーク、速度の符号、及び一定オフセット係数に比例する量により指定されることである。
【００３９】
本発明の１又はそれより多い実施形態の詳細が、添付図面及び以下の記述で説明される。本発明の他の特徴、目的及び利点は、本明細書、図面、及び特許請求の範囲から明らかであろう。
様々な図面における類似の参照符号は、類似の構成要素を示す。
【００４０】
［詳細な説明］
図１に示されるように、モータ制御システム１００は、運動制御器１０１及び変調器１０４を含む。モータ制御システム１００は、電源１０５に電気的に結合されており、そして変調器１０４は、モータ１０３に電気的に結合されている。運動制御器１０１は、電源１０５をモータ巻線の中に変調することによりモータ１０３の動作を制御する。変調器１０４は、電圧制御器として構成され得て、その場合、その変調信号１２０を用いて、所望の電圧を指令する。変調器１０４はまた、電流制御器として構成され得て、その場合、その変調信号１２０を用いて、所望の電流を指令する。コミュテータ１２３は、モータにより与えられる、測定されたモータ位置１２２、又はホール効果センサ（図示せず）のような追加のセンサからの入力を用いて、変調信号１２０を１組のモータ相変調信号１２５に変換する。コミュテータ１２３はまた、１組の測定されたモータ相電流１２４を実効的モータ電流フィードバック信号１２１に変換する。
【００４１】
モータ１０３はいずれのタイプの電気モータであり得て、それには、ＤＣブラシ、ＤＣブラシレス、ＡＣブラシレス、又は誘導型のモータが含まれる。モータ１０３は、モータの電流位置を指示する信号を生成する位置フィードバック発生器１０７（例えば、光学エンコーダ）を含む。位置フィードバック発生器１０７により発生されるフィードバックは、運動制御器１０１に信号経路１０８を介して与えられる。運動制御器１０１はまた、ユーザにより信号経路１０９を介して開始されたモータ関数指令（ｍｏｔｏｒ  ｆｕｎｃｔｉｏｎ  ｃｏｍｍａｎｄ）を受け取る。
【００４２】
運動制御器１０１は、軌道プランナ・モジュール１１０、軌道発生器モジュール１１３、及び閉ループ制御装置１１１を含む。以下でより詳細に説明されるように、モータ・モデル１１４は、モータ制御システム１００に接続された特定のモータ１０３の動作を数学的に記述するモータ・モデル方程式を備える。軌道プランナ１１０が、モータ・モデル１１４を用いて１組の運動プロフィール・パラメータ１１６を計算し、そして軌道発生器１１３は、モータ・モデル１１４を用いてフィードフォワード信号１１９を計算し、更にモータ・モデル１１４を用いて閉ループ制御装置１１１に供給される制御器設定点１１７を計算する。
【００４３】
軌道プランナ１１０は、モータ・モデル１１４を用いて、１組の運動プロフィール・パラメータ１１６を計算して、要求された運動指令１０９を実行する。軌道発生器１１３は、運動プロフィール・パラメータ１１６及びモータ・モデル１１４を用いて、フィードフォワード信号１１９及び制御器設定点１１７の時系列シーケンスを生成する。閉ループ制御装置１１１は、設定点１１７、位置フィードバック１２２、及び電流フィードバック１２１を組み合わせて、訂正信号１１８を生成する。訂正信号１１８及びフィードフォワード信号１１９を組み合わせて、変調信号１２０を生成する。変調信号１２０は、モータ巻線に印加されるべき電源１０５のフラクション（ｆｒａｃｔｉｏｎ）を指定する。当該フラクションは、−１から＋１（即ち、−１００％から＋１００％）の範囲内にある。それは、変調器１０４が利用可能な電力より大きい電力を生成することができないからである。指示された時間に、モデル・フィルタ１１５は、位置１２２、電流１２２及び変調信号１２０の記録されたシークエンスを用いて、モータ・モデル１１４を再計算する。
【００４４】
図２に示されるように、モータ制御システム１００（図１に示す）の動作が説明される。
【００４５】
ブロック２００において、ユーザは、最初に、モータ制御システム１００をモータ及び電源に接続する（即ち、図１に示される接続１１２、１０６、１０８）。モータ制御システム１００は、ユーザが制御器−モータ接続（即ち、接続１０６、１０８）を任意の特定の要領で接続し得るように構成される。例えば、変調器１０４とモータ１０３との間の接続（即ち、接続１０６）は、通常２本のリード線又は３本のリード線のいずれかを有する。これらのリード線は、変調器１０４にいずれの順序で接続され得る。同様に、運動制御器１０１と位置フィードバック・ユニットとの間の接続（即ち、接続１０８）は、２つの光学エンコーダ・チャネルのため４つの信号ワイヤＡ＋、Ａ−、Ｂ＋及びＢ−を含み得る。エンコーダ・チャネルＡ及びＢは、Ｂ及びＡ（例えば、Ａ＋をＢ＋に、Ａ−をＢ−に、及びＢ＋をＡ＋に、Ｂ−をＡ−に）として接続することができ、そしてどちらのチャネルの差動ワイヤ（ｄｉｆｆｅｒｅｎｔｉａｌ  ｗｉｒｅｓ）（使用されるならば）を逆に接続することができる（例えば、Ａ＋をＡ＋に且つＡ−をＡ−にの代わりにＡ＋をＡ−に且つＡ−をＡ＋に）。ひととびユーザがモータと制御システムとの間の接続を行うと、制御システムは、ユーザが行った配線接続を用いるため必要とされる制御活動を自動的に決定するであろう。他の実施形態において、追加のリード線を制御システムに接続し得る。例えば、モータ１０３は、運動制御器１０１に接続されるホール効果相センサＡ、Ｂ及びＣを設け得る。モータと制御システムとの間の他の接続と同じように、制御システムは、ホール効果相センサのリード線の信号をいずれの順序で受け取るよう構成される。
【００４６】
ひとたびユーザが制御システム、モータ及び電源の間の接続を行ってしまうと、運動制御器１０１は、自己作動プロセス（ｓｅｌｆ−ｃｏｍｍｉｓｓｉｏｎｉｎｇ  ｐｒｏｃｅｓｓ）を実行する（ブロック２０１）。以下でより詳細に説明されるように、この自己作動プロセスは、モータのタイプを識別し、モータ制御モデルを推定し、そしてその推定されたモータ制御モデルから閉ループ制御設計を計算する。自己作動プロセスは、一般的に、ユーザに見えなく、そしてユーザ入力又は専門知識を少ししか必要としない。
【００４７】
制御システムが自己作動プロセスを完了した後で、制御システムは、ユーザからの運動関数指令を受け入れ準備済みとなる。モータ関数指令で指定されるモータ関数は、モータ及び応用に応じて異なり得る。例えば、モータ関数は、点から点へ運動するための指令、指定された速度で運動するための指令、又は点から点へ指定された速度で運動するための指令であり得る。制御システムが運動関数指令を受け取るとき、制御システムは運動プロフィールを計画（プランニング）する（ブロック２０２）。以下でより詳細に説明されるように、制御システムが計画する運動プロフィールは、応用及びユーザからの入力に応じて異なり得る。
【００４８】
運動プロフィールを計画した後で、制御システムは、要求された運動関数を、計画されたプロフィールに従って実行する（ブロック２０３）。各運動関数が制御システムにより実行された後で、制御システムは、モータから受け取ったフィードバックを用いて、モータ・モデル及び閉ループ制御設計を更新する（ブロック２０４）。他の実施形態において、制御システムは、モータ・モデルをずっと少ない頻度でしか（例えば１００回の運動指令毎）又はユーザが要求したときだけしか更新しないようにし得る。
【００４９】
自己作動プロセス
図３に示されるように、モータ制御システム１００の自己作動プロセスが更に示されている。自己作動プロセスは、明示されたユーザ指令の結果として開始される（ブロック３１７）。別の実施形態においては、自己作動プロセスは、ユーザが最初の運動関数指令を入力すると直ちに制御システムにより自動的に実行され得る。
【００５０】
自己作動プロセスが開始された後で、制御システムは、モータのタイプ（例えば、ブラシＤＣ、ブラシレスＤＣ、ブラシレスＡＣ、ＡＣ誘導型）を指定するユーザからの入力を受け取ることによりモータのタイプを識別する（ブロック３００）。別の実施形態においては、制御システムは、特別に、１つのタイプのモータに対して構成され得て、それはモータ識別ステップを無くすであろう。
【００５１】
モータがブラシレス・モータと識別された場合（ブロック３０１）、制御システムは、相転流で用いられるパラメータを決定し（ブロック３０１）、それは連続的なモータ回転をブラシレス・モータのため達成するのを可能にする。モータがブラシレス型モータと識別されない場合、このステップは抜かされる。
【００５２】
転流パラメータを決定することは、「相発見（ｐｈａｓｅ−ｆｉｎｄｉｎｇ）」と呼ばれ、そして当該技術において既知であるいずれの技術を用いて達成され得る。例えば、相発見で用いられ得る１つの技術は、小さい電圧信号、例えば、３０％出力フラクションでの１００ミリ秒正弦波（ｓｉｎｕｓｏｉｄ）を各相組み合わせ（ＡＢ，ＢＣ，ＣＡ）に印加し、次いで、その応答を記録し、そして転流パラメータを最良適合の意味で３つ全ての一緒の記録に対して適合させることを含む。この技術は特に有利であり得る。それは、この技術がユーザからの入力無しで、次の論理を用いてモータのタイプを自動的に決定するよう拡張され得るからである。
【００５３】
１．唯１つの相組み合わせ、例えば、ＡＢ、ＢＣ又はＣＡについての応答（電流及び／又は速度）がある場合、モータは２相モータである。
１．１．モータに印加された正弦曲線電圧信号が連続回転をもたらす場合、モータは誘導モータである。
１．２．その他の場合、モータはＤＣブラシ・モータである。
【００５４】
２．唯１つの相について応答がない場合、モータは３相モータである。ホール効果入力の全てがゼロでも無く且つ１でも無い場合、モータはＤＣブラシレス・モータである。また、ホール効果センサを用いて、センサ状態の１つが変化する位置を記録することにより、相が変化する位置を決定し得る。
【００５５】
３．相を発見した後で、正弦波が、単一の相組み合わせに印加され得る。前後への運動が観測された場合、モータはＤＣモータである。回転が観測されない、又は単一の方向の回転が観測される場合、モータは誘導モータである。
【００５６】
４．モータが誘導モータでない場合、単一のモータ相上の正弦波に対する位置／速度／加速度応答が観測され、そして転流関数（ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｆｕｎｃｔｉｏｎ）がその応答に適合される。その転流関数が台形に最良に適合する場合、モータはブラシレスＤＣ型であり、当該転流関数が正弦曲線に最良に適合する場合、モータはブラシレスＤＣである。当該転流関数が正弦曲線に最良に適合する場合、モータはブラシレスＡＣである。
【００５７】
再び、図３を参照すると、制御システムがモータのタイプを識別し（ブロック３００）、そして、適切ならば、モータの相を見つけた（発見した）（ブロック３０１）後で、制御システムは、開ループ・モータ制御信号をモータに印加する（ブロック３０２）。この信号は、閉ループ制御装置（図１に示すブロック１１１）を使用不能にし、そこで当該閉ループ制御装置がゼロ出力を有し、そして軌道発生器（図１に示すブロック１１３）を用いて、時間変化する波形を制御器の変調信号（図１に示す信号１２０）として生成することにより生成される。変調器（図１に示すブロック１０４）が電圧制御器として構成される場合、モータ制御信号（図１に示す信号１０６）は、時間変化する電圧信号であろう。そして、変調器が電流制御器として構成される場合、モータ制御信号は、時間変化する電流信号であろう。
【００５８】
制御システムは、モータに時間にわたり印加されるモータ制御信号（電圧か電流のいずれでも）の大きさを記録する。説明の目的のため、以下の説明は、電源が調整された電源であり、従ってモータ制御信号（図１における信号１０６）が変調信号（図１における信号１２０）に正比例することを仮定する。しかしながら、本明細書に記載されたモータ制御システムは、調整された電源との動作に制限されるものではないことが理解されるべきである。モータ制御信号が変調信号に正比例するとき、モータ制御信号は、変調信号に対して対応の値を設定することにより制御され、そしてモータ制御信号は、変調信号を記録することにより記録される。
【００５９】
その上、制御システムは、モータに印加された信号に応答してモータが発生する位置フィードバック情報（図１に示す信号１２２）を受け取り、記録し、そしまた電流フィードバック（図１に示す信号１２１）を記録する。以下でより詳細に説明されるように、制御システムは、ブロック３０３において、モータから受け取った位置フィードバックの記録を用いて、モータに関する位置の導関数（例えば、速度、加速度、ジャーク）を計算する。
【００６０】
モータの損傷を避けるため、連続した信号が連続的に印加され、低い振幅（例えば、最大出力の１０％）及び短い期間（例えば、１０ミリ秒）の信号で始まり、そして必要に応じて、有意の（ｓｉｇｎｉｆｉｃａｎｔ）位置、速度及び加速度が観測され且つモデル適合化のため用いられるまで増大する。
【００６１】
制御システムが位置の導関数を計算した後で、制御システムは、それがモータからの大きい十分な応答を受け取ったどうかを知るため検査する（ブロック３０４）。例えば、制御システムは、記録された最大速度及び／又は加速度が或る一定の所定スレッショルドより大きいかどうかを知るため検査し得る。大きく無い場合、制御システムは、大きさの点でより大きく、及び／又は信号がモータに印加される時間量の点でより長い、及び／又は異なる形式（例えば、三角波形、ウェーブレット（ｗａｖｅｌｅｔ）・パルス）を有する別の信号をモータに印加するであろう。再び、制御システムは、或る期間にわたりモータに印加される信号、並びに信号に応答してモータから戻されるようにして受け取られたフィードバックを記録し、そして、この情報から位置の導関数を計算するであろう。
【００６２】
ひとたび制御システムはそれが大きい十分な応答を受け取ったことを決定する（ブロック３０４）と、制御システムは、モータ・モデル方程式のための係数の値を推定することによりモータ・モデルを推定するよう進む（ブロック３０５）。以下でより詳細に説明されるように、制御システムは、モータに印加された制御信号、計算された位置の導関数、及び任意である記録された電流フィードバックからのデータを用いて、モータ・モデルのための係数を推定する。
【００６３】
制御システムがモータ・モデルを推定した後で、制御システムは、記録されたデータと、モータ・モデルから推定されたデータとの間に良好な適合があるかを知るため検査する（ブロック３０７）。良好な適合が無い場合、制御システムは、大きさの点でより大きい、及び／又は持続時間の点でより長い、及び／又は異なる形式を有する別の信号をモータに印加し（ブロック３０６）、そして制御システムは、ブロック３０２、３０３、３０４、３０５及び３０７に記載されたステップを繰り返すであろう。
【００６４】
ひとたび制御システムが推定されたモータ・モデルが記録されたデータに対して良好な適合性のものであると決定すると、制御システムは、以下でより詳細に説明されるように、推定されたモータ・モデルから閉ループ制御設計を計算する（ブロック３０８）。
【００６５】
閉ループ制御設計を計算した後で、制御システムは、ステップ、インパルス、又は他の適切な刺激を入力（例えば、図１に示す信号１１７）として、閉ループ制御装置に印加することにより閉ループ制御設計を試験する（ブロック３０９）。制御システムは、ステップ入力に応答して位置フィードバックを記録し、そしてモータが許容誤差範囲内でステップ入力に対して応答したかどうかを決定する（ブロック３１０）。モータが希望されるように応答しなかった（例えば、応答に余りに多くの振動が含まれる。）場合、制御システムは、周波数及び角度のような閉ループ制御設計パラメータを調整し、改訂される閉ループ制御設計パラメータを計算し、そして別のステップ入力を印加する。
【００６６】
ひとたびモータが許容誤差範囲内でステップ入力に応答すると、制御システムは、最大フィードフォワード信号を決定する。なお、当該最大フィードフォワード信号は、軌道プランナ（図１に示すブロック１１０）が計画した軌道から結果として生じるであろうフィードフォワード信号の最大値（ピーク）である。制御システムは、控えめな（ｃｏｎｓｅｒｖａｔｉｖｅ）初期値、例えば、最大モータ制御信号の４０％を用い（ブロック３１２）、そしてそれと並びにモータ・モデルを用いて、ステップ運動を、使用可能にされた閉ループ制御を用いて計画し、実行する（ブロック３１３）。次いで、制御システムは、記録されたモータ制御信号（図１に示す信号１０６）を検査する。なお、当該記録されたモータ制御信号は、フィードフォワード信号（図１に示す信号１１９）及び訂正信号（図１に示す信号１１８）の両方を含む。モータ制御信号の最大が、計算され、そしてスレッショルド範囲と比較される（ブロック３１４）。上記最大がスレッショルド範囲の外側（例えば、８５％より下、又は９５％より上）に入る場合、最大フィードフォワード信号の調整された値が計算され（ブロック３１５）、そして、ブロック３１３及び３１４が、所望の最大モータ制御信号を達成するまで繰り返される。このようにして、全体のモータ制御信号の一部が、閉ループ制御の寄与のため確保される。最大モータ制御信号が上記スレッショルド範囲内に入るとき、自己作動プロセスは完了し、そして制御器は、モータ関数指令を受け取り、実行するよう準備済みとなる（ブロック３１６）。
【００６７】
運動プロフィールのプランニング
モータ制御システム１００（図１に示す）が運動関数指令を受け取ると、制御システムは、自己作動プロセス中に発生された推定モータ・モデルを用いて、運動関数指令を実行するための効率的な運動プロフィールを計算する。運動プロフィールは、モータ位置と、指令された運動関数を実現するため計算されるモータ位置の導関数との時系列シーケンスである。モータ制御システム１００は、幾つかの異なるタイプの運動関数指令をモータ及び応用に応じて受け取り得る。表１は、幾つかの典型的な運動関数指令をリストする。運動関数指令のシーケンスは、単一の指令された関数としてユーザに見えるように、入力／出力点をモニタリング又は設定するような他の工業関数（ｉｎｄｕｓｔｒｉａｌ  ｆｕｎｃｔｉｏｎｓ）と一緒にプログラムされ得る。
【００６８】
【表１】
2006513685.tif 000003
【００６９】
図４は、軌道プランナ１１０が実行する運動プロフィール・プランニング・プロセス４００を示す。
【００７０】
一般的に、運動プロフィール・プランニング・プロセス４００は、運動関数指令４０１を受け取り、運動プラン・アルゴリズム及び加速度パルス形式を選択し（４０２）、そして１組の運動プロフィール・パラメータを反復的に決定する（４０５−４０８）。以下でより詳細に説明されるように、運動プロフィール・プランニング・プロセス４００は、運動プラン・アルゴリズム及び加速度パルス形式を、運動関数指令４０１と、所望の運動性能を指示するユーザからの入力で事前格納された当該入力とに基づいて選択する。次いで、運動プロフィール・プランニング・プロセス４００は、初期の組の運動プロフィール・パラータを運動関数指令４０１、選択された運動プラン・アルゴリズム及び加速度パルス形式４０２、推定されたモータ・モデル４０３及び最大フィードフォワード信号４０４（自己作動プロセスから前に決定された）に基づいて計算する（４０５）。初期の組の運動プロフィール・パラメータを計算した後で、運動プロフィール形成プロセス４００は、運動プロフィールを１組の所定の制約に対して検査し（４０６）、そして運動プロフィールが所定の制約を満足するまで運動プロフィール・パラメータを調整する（４０７）ことにより反復プロセスに係わる。ひとたび計算された運動プロフィール・パラメータが所定の制約に適合すると、運動プロフィール・プランニング・プロセス４００は、１組の最終運動プロフィール・パラメータを出力する（４０８）。再び図１を参照すると、軌道発生器１１３は、上記１組の運動プロフィール・パラメータを受け取り、そしてこれらパラメータを、推定されたモータ・モデルと一緒に用いて、指令された運動関数を実現する。
【００７１】
運動プロフィール・パラメータ４０８は、指令された運動関数を実現するため要求される時間に対するモータの運動状態（例えば、位置及びその導関数）を指定する１組のパラメータである。例えば、運動プロフィール・パラメータ４０８は、指定された形（例えば、２次曲線、調波、台形）の加速度パルスのシーケンスに対するパルス時間及びピーク加速値であり得る。別の実施形態においては、パラメータは、１組のピーク・ジャーク、加速度及び速度値である。
【００７２】
制御システムは、運動プラン・アルゴリズム及び加速度パルス形式を選択して、満足な動き運動性能を、運動関数指令のタイプと、ユーザからの入力で事前格納された当該入力とに基づいて生成する。例えば、運動プラン・アルゴリズム及び加速度パルス形式を選択して、運動関数指令を低い電力放散でもって実行し、又は運動プラン・アルゴリズム及び加速度パルス形式を選択して、電力放散に拘わらず最短の時間で運動関数指令を実行し得る。好適な実施形態において、これらの選択は、所望の運動性能を指示するユーザから受け取られる入力に基づく。一般的に、この入力は、メモリに格納され、そしてユーザが運動性能の設定を変えるまで後続の運動関数指令に適用されるであろう。
【００７３】
別の実施形態において、制御システムは、制御システムの使用履歴に基づく運動プラン・アルゴリズム及び加速度パルス形式を基礎とし得る。例えば、制御システムが長いアイドル時間を指令同士間で履歴的に経験した場合、制御システムは、電力放散が重要な要因でないことを決定し得て、そして２次曲線形加速度パルスを有するパルス−クルーズ−パルス（ｐｕｌｓｅ−ｃｒｕｉｓｅ−ｐｕｌｓｅ）（ＰＣＰ）アルゴリズムのような高速、高電力プラン・アルゴリズム及び加速度パルス形式が、ステップ運動関数のため選択されるであろう。同様に、制御システムが比較的一定のモータ運動（例えば、アイドル時間が殆ど無い）に履歴的に維持され維持された場合、調波パルスを有する均衡したパルス−パルス（ＢＰＰ）アルゴリズムのようなより長時間、より低電力プラン・アルゴリズム及び加速度パルス形式が選択されるであろう。
【００７４】
自己作動プロセス中に最初に決定された推定モータ・モデル４０３及び最大フィードフォワード信号４０４を運動プロフィール・プランニング・プロセスで用いて、運動プロフィール・パラメータを計算する。しかしながら、他の実施形態において、最大フィードフォワード信号が、ユーザにより指定され得る。推定されたモータ・モデル４０３及び最大フィードフォワード信号４０４は、時々、ユーザの要求時に、周期的間隔（例えば、１０個の運動指令毎に）、又はトリガする事象の際に更新され得る。
【００７５】
制御システムは、最大フィードフォワード信号４０４を最大モータ制御信号のフラクションとして記憶する。好適な実施形態において、運動プロフィール・パラメータは、フィードフォワード信号（図１における信号１１９）が最大フィードフォワード信号４０４を超えないが、しかし丁度到達するように計画される。この意味で、計画された運動プロフィールは、全ての他の仕様及び制約を仮定すると、効率的である。それは、運動プロフィールがモータの能力（閉ループ制御装置が外部擾乱を補償するため確保された部分を含む。）内であるが、しかしモータの能力の極めて不十分な使用では無いからである。
【００７６】
ひとたび制御システムが初期の組の運動プロフィール・パラメータを計算する（４０５）と、計画された運動は、これらのパラメータ及びモータ・モデル（図７に示す参照番号７０８のような公式で表される）を用いて評価され、計画されたフィードフォワード信号のピークの大きさ、並びにピーク速度、ピーク加速度及びＲＭＳ（平方自乗平均）加速度のような他の値を取得する。制御システムは、上記結果を１又はそれより多い所定の制約と比較することにより初期運動プランを試験する（４０６）。例えば、選択された組の運動プロフィール・パラメータを仮定すると、計画されたピーク・フィードフォワード信号が制御器の最大フィードフォワードを超えた、又は実質的にそれより小さい場合、プロフィール・パラメータを調整し、そして評価を繰り返す。他の所定の制約は、最大速度、最大加速度、最大電流、及び最大ＲＭＳ加速度を含み得る。この反復プロセスは、所定の制約の全てが適合されるまで継続する。この反復プロセスの論理は、根発見（ｒｏｏｔ−ｆｏｎｄｉｎｇ）（例えば、二分法による）、及び最小化（例えば、黄金分割探索による）のような当該技術において既知の幾つかの技術のいずれかであり得る。
【００７７】
前に言及したように、１組の運動プロフィール・パラメータは、加速度パルスのシーケンスを指定する１組のパラメータの形式であり得る。例えば、図５に示されるように、ステップ運動関数指令は、加速度パルス５００と、それに一定速度（ゼロ加速度）パルス５０１が続き、減速度パルス５０２で終わるよう構成することにより実現される。従って、位置５０６、速度５０４、及びジャーク５０５の時間関数は、この加速度パルスのシーケンス５０３から直接計算される。
【００７８】
制御システムは、運動プロフィールを構成するため加速度パルスの異なる形式を用い得て、そして図６は、用い得る５つのタイプの加速度パルスを示す。しかしながら、制御システムがサイクロイド形又は区分的線形のような当該技術で既知の他のタイプの加速度パルスを用い得ることが理解される筈である。加速度パルスは、加速度に関して次の方程式による時間の関数として数学的に記述し得る（なお、Ｔはパルス持続時間を示し、Ａはピーク加速値を示すことに注意されたい。）。
【００７９】
１．二次曲線形のパルス（ｑｕａｄｒａｔｉｃ  ｐｕｌｓｅ）（６００）：
【００８０】
【数１】
2006513685.tif 000004
【００８１】
２．調波（ｈａｒｍｏｎｉｃ）（６０１）：
【００８２】
【数２】
2006513685.tif 000005
【００８３】
３．台形（６０２，６０３，６０４）：これは、ピーク加速度で経過する合計時間を調整するため加速度フラクション（ａｃｃｅｌｅｒａｔｉｏｎ  ｆｒａｃｔｉｏｎ）Ｆを用いるパルス形式のファミリを記述する。加速度フラクションＦは、ピーク加速度で経過する合計時間のフラクション（割合）を指定する。Ｆ＝１の場合、パルス形式は、方形波（６０２）（多くの場合「バング−バング（ｂａｎｇ−ｂａｎｇ）」加速度と呼ばれる。）である。Ｆ＝０の場合、パルス形式は三角形（６０４）である。Ｆ＝１／２の場合、合計持続時間Ｔの半分がピーク加速度で費やされる（６０３）。加速度を計算するため、ピーク加速度が始まる時刻（ｔ１）及びピーク加速度が終わる時刻（ｔ２）が最初に計算されねばならない。
【００８４】
【数３】
2006513685.tif 000006
【００８５】
ここで、加速度が次式により与えられる。
【００８６】
【数４】
2006513685.tif 000007
【００８７】
前に説明したように、制御システムは、異なる加速度パルスの形式を、運動関数指令、及びユーザが指示する所望の運動性能に応じて選択し得る。台形又は２次曲線形の形式を用いて、より速い運動を与える一方、調波の形式が、より滑らかな運動を与えるため選定され得る。それぞれのタイプのパルスは、その持続時間Ｔ及びピーク加速度Ａにより完全に指定される。
【００８８】
以下でより詳細に説明されるように、制御システムは、それぞれのパルス形式と関連した数学的式を運動プラン・アルゴリズム及び軌道発生器の一部として用いる。加速度パルス形式と関連した式が当該技術で既知であるが、図７は、２次曲線形及び調波の加速度パルスに関する式を与える。
【００８９】
軌道発生器（図１に示すブロック１１３）は、加速度７００、速度７０１、位置７０２及びジャーク７０３を計算するための式を用いて、位置の導関数を時間の関数として計算する。単一の加速度パルスに関して速度の変化が式７０４により与えられ、そして加速度パルスにより走行される距離が７０５により与えられ、ステップ運動において走行される距離が７０６により与えられ、ＲＭＳ加速度が７０７により与えられ、ピークのフィードフォワード信号が加速度パルス中に生じる時間が７０８により与えられる。軌道プランナが、式７００−７０８のうちの１又はそれより多くの式を用いて、加速度パルスのシーケンスを指定する１組の運動プロフィール・パラメータを生成する。
【００９０】
運動プロフィール・プランニング・プロセスの動作を説明するため、スピン運動関数指令が、制御システムにより受け取られることを仮定する。スピン運動関数指令においては、最終速度がそのスピン運動関数指令の中に含められる。運動関数のタイプ（例えば、スピン）、及び事前記憶されている運動の選好（例えば、速い加速を実行する。）に基づいて、運動プロフィール・プランニング・プロセス４００は、２次曲線の加速度パルス及びスピン・プラン・アルゴリズムを選択する。運動プロフィール・プランニング・プロセス４００は、単一の二次曲線加速度パルスに対して初期の加速度パルス持続時間Ｔを選択することによりスピン・プラン・アルゴリズムを実行して、要求された速度変化を与える。次いで、運動プロフィール・プランニング・プロセス４００は、二分探索アルゴリズム（当業者に良く知られている。）を時間次元に沿って実行し、最終の組のプロフィール・パラメータ（即ち、Ａ及びＴの値）を反復的に計算する。それぞれの試行加速度パルス時間に対して、運動プロフィール・プランニング・プロセス４００は、スピン・プラン・アルゴリズムを次の要領で実行する。
【００９１】
１．選択されたパルス持続時間値Ｔを用いて、初期及び最終の速度を満足するため要求されるピーク加速度Ａが、式７０４を用いて計算される。
２．次に、ピークの計画されたフィードフォワード信号（フラクションとして表される。）が、式７０８を用いて最大パルス出力時間を計算することにより計算され、そしてその結果を式７０１、７００及び７０３に用いて、位置の導関数（即ち、速度、加速度及びジャーク）を計算する。次に、その結果を、推定されたモータ・モデルの式に用いて、ピークの計画されたフィードフォワード信号を計算する。
【００９２】
３．次いで、ピークの計画されたフィードフォワード信号は、制御器の最大フィードフォワード信号と比較される。ピークの計画されたフィードフォワード信号が制御器の最大フィードフォワード信号を超えてなくて、そしてそれに十分に近い（例えば、２分の１パーセント内）場合、Ａ及びＴの現在値を用いて、最終の組の運動プロフィール・パラメータを形成する。そうでない場合、新しい持続時間Ｔが選択され、そしてステップ１−３が繰り返される。
【００９３】
ステップ運動関数に応答した運動プロフィール・プランニング・プロセスの動作を説明するため、移動される距離を指定する（典型的にはカウントによって指定される）制御器がステップ運動関数指令を受け取ることを仮定する。運動関数のタイプ（即ち、ステップ）及び事前記憶された運動性能に基づいて、運動プロフィール・プランニング・プロセス４００は、加速度パルス形式と、図８に示される次の運動プラン・アルゴリズムの１つとを選択する。
【００９４】
１．パルス−クルーズ−パルス（ＰＣＰ）・アルゴリズムがグラフ８００に示され、そこにおいて、３つのセグメント、即ち、加速度、クルーズ（一定速度）及び減速度を用いて、ステップ運動関数を実現する。加速度及び減速度のピーク値及び持続時間が、パルス−クルーズ−パルス・プラン・アルゴリズムの場合（それらが異なることが必要でないにも拘わらず）異なることが許されることに注目されたい。パルス−クルーズ−パルス・プランが、３つのアルゴリズムのうちの最も速い運動を、増大する電力放散を犠牲にして提供する。
【００９５】
２．均衡したパルス−クルーズ−パルス（ＢＰＣＴ）・アルゴリズムが、グラフ８０１に示されている。ＢＰＣＰは、減速度パルスが加速度パルスと同じ持続時間（、従って振幅）を持つよう制約されることを除いて、ＰＣＰアルゴリズムと同じであることに注目されたい。このアルゴリズムは、妥当な速い運動を、しかしＰＣＰアルゴリズムより少ない電力放散でもって提供する。
【００９６】
３．均衡したパルス−パルス（ＢＰＰ）がグラフ８０２に示されている。ＢＰＰアルゴリズムは、一定速度フェーズが許されないことを除いて、ＢＰＣＰと同じであることに注目されたい。このアルゴリズムは、より低い電力放散を与えるが、しかし最も遅い運動を与える。
【００９７】
ＰＣＰアルゴリズムが選択された場合、運動プロフィール・プランニング・プロセスは、ＰＣＰアルゴリズムを、黄金分割最小化探索によりピーク速度次元に沿って次の通りに実行する。
【００９８】
１．初期ピーク速度を選択する。
２．上記で説明したスピン・プラン・アルゴリズムを用いて、ゼロからピーク速度（即ち、Ａａ，Ｔａ）までの加速度に対するパラメータを、そしてピーク速度からゼロ（即ち、Ａｄ，Ｔｄ）までの減速度に対するパラメータを計算する。
【００９９】
３．式７０５を用いて、これら両方のパルスにより走行される距離を計算する。その合計がステップの距離より大きい場合、選択されたピーク速度が実施可能でなく、新しいピーク速度が選択され、そしてステップ２−３が再び実行される。
【０１００】
４．ステップ３で計算されたパルスにより走行された合計距離がステップの距離より小さいか又はそれに等しい場合、一定速度の時間（即ち、Ｔｃ）及び合計運動時間（即ち、Ｔａ＋Ｔｃ＋Ｔｄ）を計算する。
【０１０１】
５．最も小さい合計持続時間を生成するピーク速度が見つかるまでステップ１−４を繰り返す。ひとたびこのピーク速度が見つかると、最終の組の運動プロフィール・パラメータから対応する加速度パルス・パラメータＡａ，Ｔａ、クルーズ時間Ｔｃ、及び減速度パルス・パラメータＡｄ，Ｔｄが軌道発生器に供給される。
【０１０２】
ＢＰＣＰアルゴリズムが選択された場合、運動プロフィール・プランニング・プロセスが、異なるステップ２を用いることを除いて上記で説明したＰＣＰアルゴリズムと同じステップを実行する。
【０１０３】
２．スピン・プラン・アルゴリズムを用いて、ゼロからピーク速度（即ち、Ａａ，Ｔａ）までの加速度に対するパラメータを、そしてピーク速度からゼロ（即ち、Ａｄ，Ｔｄ）までの減速度に対するパラメータを計算する。両方のフェーズに対する２つの持続時間のうち長い方を用いる。
【０１０４】
こうして、ＢＰＣＰアルゴリズムのための結果として得られた最終の組の運動パラメータは、Ｔａ＝Ｔｄ＝Ｔ及びＡａ＝Ａ及びＡｄ＝−Ａであるので、３つのパラメータ、即ち、Ｔ，Ａ及びＴｃを有する。
【０１０５】
ＢＰＰアルゴリズムが選択された場合、運動プロフィール・プランニング・プロセスは、ＢＰＰアルゴリズムを二分法探索によりパルス−時間次元に沿って次のように実行する。
【０１０６】
１．パルス時間Ｔを選択する。
２．式７０６を用いて、指定された距離を進む（ｓｔｅｐ）よう要求されたピーク加速度Ａを計算する。
【０１０７】
３．式７０４を用いて、その結果得られたピーク速度を計算する。
４．式７０８を用いて、最大パルス出力時間ｔを計算することにより、ピークの計画されたフィードフォワード信号（フラクションとして表される）を計算し、そしてその結果を式７０１、７００及び７０３に用いて、位置の導関数（即ち、速度、加速度及びジャーク）を計算し、次いでその結果を、推定されたモータ・モデル式に用いて、ピークの計画されたフィードフォワード信号を計算する。
【０１０８】
５．ピークの計画されたフィードフォワード信号を制御器の最大フィードフォワード信号と比較する。ピークの計画されたフィードフォワード信号が制御器の最大フィードフォワード信号を超えないで且つ十分に近い（例えば、２分の１パーセント内）場合、Ａ及びＴの現在値を用いて、（Ａａ＝Ａ及びＡｄ＝−Ａであるので、）最終の組の運動プロフィール・パラメータを形成する。そうでない場合、新しいパルス時間Ｔが選択され、そしてステップ１−３を繰り返す。
【０１０９】
自己作動プロセス中に生成された推定されたモータ・モデルが効率的な運動プロフィールを計算するため重要な要素であることに注目されたい。それは、異なるモータが典型的には同じ運動を実現するため異なる変調波形を必要とするからである。例えば、図９に示されるように、２つの異なるＤＣモータ、即ち、ＫｏｌｌｍｏｒｇｅｎＳｅｒｖｏＤｉｓｃ（登録商標）Ｕ９Ｍ４モータ（トレース９００）及びＭＣＧ（登録商標）（トレース９０１）に対してフィードフォワード信号（例えば、図１における信号１１９）が示される。各フィードフォワード信号９００、９０１は、運動プロフィール・プランニング・プロセスが１モータ回転のステップを指定し且つ２次曲線加速度パルスでもってＰＣＰアルゴリズムを用いる運動関数指令に応答して発生した１組のパラメータから発生される。運動関数指令、運動プラン・アルゴリズム、及び加速度パルス形式が全て同じであるが、一方フィードフォワード信号は、明らかに２つのモータに対して非常に異なる。しかしながら、フィードフォワード信号は、各モータに対して、加速度及び減速度の両方について指定された最大フィードフォワード・フラクション（この場合、最大フィードフォワード・フラクションは８０％に指定された。）に達する。
【０１１０】
以下の記述は、上記で説明したモータ制御システムのより特定の実行を提供する。
【０１１１】
ＤＣブラシ・モータの実施形態
図１０に示されるように、モータ制御システム１０００は、定電圧源１００１及びＤＣブラシ・モータ１００２に接続されている。ＤＣブラシ・モータ１００２は、位置情報をモータ制御システム１０００に与えるための光学エンコーダ位置フィードバック・ユニット１００３を含む。モータ制御システム１０００は、光学エンコーダ位置フィードバック・ユニット１００３から受け取った信号１００９を受け取って処理するエンコーダ・インターフェース・ユニット１０１７を含む。
【０１１２】
モータ制御システム１０００は、Ｈ型ブリッジ変調器１００４を含み、当該Ｈ型ブリッジ変調器１００４は、パルス幅変調（ＰＷＭ）を用いて、変調信号１００６に応答してモータ上の電圧を制御する。モータ制御システム１０００は、ＤＣブラシ・モータ１００２と使用するよう構成されているので、コミュテータ（図１に示される構成要素１２３）は機能的に存在しない（コミュテータは、物理的に存在しないが、しかしモータのタイプが非ブラシレス・モータであるときバイパスされることに留意されたい。）。
【０１１３】
モータ制御システム１０００のモータ・モデル１００７は、ＤＣブラシ・モータを記述する式を用いる。閉ループ制御装置１００８は、４つの状態変数を有する状態空間制御器であり、これら４つの状態変数のうちの３つは、当業者に良く知られている位置の比例−積分−微分（ＰＩＤ）制御を与えるよう構成されている。この４つの状態変数は、比例電流制御のため用いられる。状態変数は、１組の変数のメンバ（「状態変数」として知られている。）であり、その変数の値は、システムの動的状態を一括して完全に決定する。
【０１１４】
次の式は、理想化されたブラシＤＣモータの動作を数学的に記述する。
【０１１５】
【数５】
2006513685.tif 000008
【０１１６】
上記式において、Ｌ及びＲはそれぞれモータ巻線のインダクタンス及び抵抗であり、ｋτはモータ・トルク（力）定数であり、ｅは電圧であり、ｉは電流であり、そしてｖはモータ速度である。機械的量Ｉ及びｂはそれぞれ慣性及び減衰であり、ｆ及びτｂはそれぞれ摩擦及びバイアス力である。機械的量は、モータ、トランスミッション及びその接続された負荷の組み合わされたシステムの特性を記述する。項ｓｇｎｖは、ｖ＞Ｖｆ（なお、Ｖｆは指定された小さいスレッショルド速度である。）の場合１に等しく、そしてｖ＜−Ｖｆの場合−１に等しく、その他の場合、ゼロに等しい。
【０１１７】
式（５）、（６）及び（７）を組み合わせて、次の式を生成することができる。
【０１１８】
【数６】
2006513685.tif 000009
【０１１９】
ここで、ｖは速度（位置の１次導関数）であり、ｄｐ／ｄｔに等しく、ａは加速度（位置の２次導関数）であり、ｄ２ｐ／ｄｔに等しく、そしてｊは、ジャーク（位置の３次導関数）であり、ｄ３ｐ／ｄｔに等しい。
【０１２０】
次いで、この制御システムは、次の形式で表されるモデル式を用いる。
【０１２１】
【数７】
2006513685.tif 000010
【０１２２】
モータ電圧ｅは、モータ制御信号１００５に対応し、そして定数ｋｖ、ｋａ、ｋｊ、ｋｆ及びｋ０は、式（８）のそれらの項に対応する係数である。以下でより詳細に説明されるように、自己作動プロセスの機能のうちの１つは、制御システムに接続された特定のモータに対して係数ｋｖ、ｋａ、ｋｊ、ｋｆ及びｋ０を決定することにある。
【０１２３】
次の第２のモデル式、即ち、式（７）の記号の再配置を用いて、電流制御装置１０１９のための基準値１０２１を与える。
【０１２４】
【数８】
2006513685.tif 000011
【０１２５】
定数ｍｖ、ｍａ、ｍｆ及びｍ０は、式（７）のそれらの項に対応する係数である。これらの係数はまた、自己作動プロセスの一部として決定される。
モータ制御システム１０００は、モデル式（９）及び（１０）の単位が当該制御システムが物理的モータ知識を必要としないような形式で保たれるように構成される。例えば、モータ電圧ｅは、（ボルトとは対照的に）「最大出力のフラクション」の単位を有し、そして−１≦ｅ≦１の許容範囲を有する。ここで、値＋１は「最大の正の」出力に対応し、そして値−１は「最大の負の」出力に対応する。これは、当然に制御器動作に対応し、そこにおいて、実際の出力は、ＰＷＭデューティ・サイクル、又はスケーリングされた範囲、例えば、−２１２＜ｅ＜２１２でのＤＡＣ（ディジタル／アナログ変換器）指令であり得る。
【０１２６】
モータ位置は、「カウント」の単位を有し、そこにおいて、各カウントは、モータの運動の１単位の最小整数表示である。位置カウントは、光学エンコーダ１００３により制御器に直接与えられる。モータ位置を「カウント」によって定義することは、制御システムがリゾルバのＡＤＣ（アナログ／ディジタル変換器）読み取りのＬＳＢ（最下位ビット）のような、他の位置フィードバック装置からのフィードバックを容易に解釈するのを可能にする。従って、係数の単位は、上記の量によって表される。例えば、ｋｖは（出力−フラクション）／（カウント／秒）の単位を有し、同様に、ｋａは、（出力−フラクション）／（カウント／秒２）の単位を有する。この形式は、一般に有効であり、そして回転型モータ又はリニヤ・モータに対して等しく良好に適用される。従って、制御システムは、式（８）におけるいずれの電気的又は機械的パラメータの知識を必要としない。
【０１２７】
ひとたびモータ・モデル係数（即ち、ｋｖ、ｋａ、ｋｊ、ｋｆ及びｋ０）が計算されると、他の幾つかのモータ・パラメータは、これらの係数から直接導出されることができる。例えば、機械的時定数は、ｋａ／ｋｖにより密接に近似され、そして電気的時定数は、ｋｊ／ｋａにより密接に近似される。最大モータ速度は、次式により近似することができる。
【０１２８】
【数９】
2006513685.tif 000012
【０１２９】
図３及びその対応の議論において前に説明したように、モータ・モデル係数は、自己作動プロセス中に計算される。下記は、図３において概説した一般的手順のより詳細な説明を与える。
【０１３０】
再び図１０を参照すると、変化する電圧レベルの時間系列から成る電圧信号が、モータに印加される。例えば、この制御システムは、２００ミリ秒周期及び８０％のピーク振幅（出力フラクション）を有する正弦波の１．５サイクルを適用する。変調信号（信号１００６）、モータ位置フィードバック（信号１０１０）、及び電流フィードバック（信号１０１２）が、各サーボ処理間隔中に記録される。なお、このサーボ処理間隔は、この例では１７８マイクロ秒毎である。
【０１３１】
エンコーダ・インターフェース・ユニット１０１７は、高精度を有する位置データを記録し、そしてその動作は更に、図１１に示されている。図１１に示されるように、エンコーダ１１０３は、２つのディジタル入力ライン、即ち、チャネルＡ及びＢをエンコーダ・インターフェース・ユニット１０１７に与える。エンコーダ１１０３により生成されそしてチャネルＡ及びＢに沿って伝搬された信号は、直交した（即ち、位相の上で９０°ずれている。）２つの方形波である。どの入力上の上昇遷移又は下降遷移は、位置が１「カウント」だけ増大又は低減されたことを意味する。エンコーダ・インターフェース・ユニット１０１７が遷移を感知する度に、当該エンコーダ・インターフェース・ユニット１０１７は、そのカウントを位置レジスタ１１０３に記録する。エンコーダ・インターフェース・ユニット１０１７はまた、最も最近のエンコーダ・カウント・イベント（入力遷移）が起こった時間（「タイム・スタンプ」）を記録する。当該時間は、非常に高解像度のタイマ、例えば、２５ＭＨｚタイマを用いて保持され、エンコーダ・イベントを４０ナノ秒の解像度で記録する。各サーボ処理間隔（即ち、１７８マイクロ秒毎）で、時間／位置データ対がモータ制御システム１０００へ位置レジスタ１１０３及び時間レジスタ１１０４から供給される。時間／位置データ対の処理は更に、新しいエンコーダ・イベントが最後のサーボ処理時間以降に生じたかどうかを指示するカウンタ／状態レジスタ１１０５により増強される。
【０１３２】
この制御器内のエンコーダ・インターフェース・ユニットは、タイム・スタンプを最も最近のエンコーダ・イベントに対して与える。エンコーダ・イベント・タイマは、自走式であり、即ち、それは、２つのエンコーダ・イベント間の間隔を測定するときリセットされるようには決してリセットされない。最も最近の遷移の時間を供給することにより、且つサーボ処理間隔がエンコーダ・タイマのオーバフロー時間より短いことを保証することにより、制御システムは、或る非常に大きい組のエンコーダ・イベントにおける全ての構成要素間の正確な時間間隔を決定することができる。次いで、制御システムは、時間／位置データのシーケンスを用いて、位置の高精度の導関数を計算することができる。そのような１つの方法は、２つの測定値ｐ１，ｔ１及びｐ２，ｔ２のシーケンスを用いて、速度の推定値を計算することである。
【０１３３】
【数１０】
2006513685.tif 000013
【０１３４】
この方法は、高速度及び低速度において且つ位置レジスタの読み出しと時間レジスタの読み出しとの間の間隔が一定でない時間に高精度を与え、そして異なる速度範囲に対して論理の多重モードを必要としない。
【０１３５】
この実施形態において、エンコーダ・インターフェース・ユニット１０１７は、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）をプログラミングすることにより実現される。エンコーダ・インターフェースは、高周波数タイマ、例えば、２５００万タイマ「チック（ｔｉｃｋｓ）」／秒（チック間の４０ナノ秒持続時間）を維持する。入力チャネルＡ及びＢの状態は、各タイマ・チックでモニタリングされる。変化を検出したとき、状態変化の時間は、高周波数タイマの値を中間時間レジスタにコピーすることにより直ちに記録される。入力の状態が所与の更なる数のタイマ・チックの間変わらないままである（従って、雑音拒絶機能（ｎｏｉｓｅ−ｒｅｊｅｃｔｉｏｎ  ｆｕｎｃｔｉｏｎ）を実行する）場合、位置レジスタは、チャネルＡ及びＢの状態に従って、増分されるか又は減分されるかのいずれかがなされ、そして中間時間レジスタが、「タイム・スタンプ」レジスタにコピーされる。
【０１３６】
エンコーダ・インターフェース・ユニット１０１７は、規則的なサーボ処理割り込みを制御器に与える。各割り込みにおいて、制御システムは、位置及びタイム・スタンプ・レジスタを読み出し、そしてこれらの値を、モータのモデル化に使用のため２次及び３次導関数（加速度、ジャーク）を推定する他のソフトウエアによる後の使用のためリング・バッファにセーブする。
【０１３７】
エンコーダ・インターフェース・ユニット１０１７は、位置レジスタが前のサーボ処理間隔以降変化したかどうかを指示する制御／状態レジスタ１１０５を含む。エンコーダ・インターフェース・ユニット１０１７が制御システムの規則的な割り込みを与えるので、割り込み同士間の時間は、固定数のタイマ・チックとして正確に知られる。従って、制御システムは、エンコーダ時間レジスタの一巡時間を超える位置イベント同士間の間隔に対する時間間隔を、例えば、１０００個の連続したサーボ間隔がエンコーダ・イベント無し（即ち、より低い速度で）で起こるとき、計算することができる。
【０１３８】
エンコーダ・インターフェース・ユニット１０１７は、次の方法で、位置フィードバック、サーボ処理、及びＰＷＭ発生の間のタイミング情報を正確に同期させる制御システムのための手段を与える。
【０１３９】
１．エンコーダ・インターフェース・ユニットは、制御システムが自走高周波数タイマの現在値を決定するため読み出し得るレジスタ（図示せず）を提供する。
２．エンコーダ・インターフェース・ユニットは、制御システムが割り込みがアサートされた時点におけるタイマ値を決定するため読み出し得るレジスタ（図示せず）を提供する。
【０１４０】
３．エンコーダ・インターフェース・ユニットは、ＰＷＭ波形を発生する。ＰＷＭ波形は、制御システムに供給されるプロセッサ割り込みと同期され、新しいＰＷＭ波形サイクルは、割り込みがアサートされた直後に始まる。エンコーダ・インターフェース・ユニットは、制御システムがＰＷＭ波形のデューティ・サイクルを指令するため書き込むレジスタ（図示せず）を提供する。
【０１４１】
従って、制御システムは、位置イベント同士間の時間オフセット、及びモータ制御信号を変える時間を計算することができる。制御システムは、この情報を用いて、時間遅延効果を低減し、そして閉ループの制御の質を改善することができる。
【０１４２】
たとえサーボ速度が一様であるとしても、時間／位置対のシーケンスが典型的には時間的に一様に離間していないであろう。しかしながら、当該位置に達した時間が高精度で記録される。一連のモータ位置及び時間を記録した後で、その記録された位置／時間対を用いて、一連の位置を計算することに加えて、選択されたサンプル時間での位置の１次、２次及び３次の導関数を計算する。この計算の結果を「運動状態」と呼ぶ。図１２は、この運動状態を計算する仕方を説明する。生成すべき各運動状態１２０３−１２０５に対して、記録されたサンプル１２００（時間、位置、変調信号）の１組１２０１を選択する。１つの方法においては、所望のサンプルにまたがる４つの対を選択する。例えば、−１，０，＋１，＋２ミリ秒の近似時間（最終サンプル時間に対して）における複数の対を選択する。次いで、これら４つの時間／位置対は、位置を時間の関数として表す次の多項式に適合される。
【０１４３】
【数１１】
2006513685.tif 000014
【０１４４】
この多項式適合は、係数ｋｉを決定するため、リビッキ（Ｒｙｂｉｃｋｉ）の方法のような当該技術で既知のいずれの数学的方法を用いて実行される。ひとたびその係数が計算されると、位置ｐの導関数は、次の公式に従って単純に計算することができる。
【０１４５】
【数１２】
2006513685.tif 000015
【０１４６】
制御システムは、ジャークが推定するのに最も難しい導関数であるのでジャーク推定を最適化するため、サンプル・スパン（例えば、ｔ１−ｔ９が運動状態に対するサンプル・スパンである。）を決定する。エンコーダ誤差は、時間における誤差にしろ位置における誤差にしろ、ジャーク推定における誤差を実質的に増大する可能性がある。制御されているモータが分からないので、エンコーダの誤差特性もまた分からない。従って、制御システムは、ジャーク推定の精度を増大するため、或るサンプル・スパンを選択する技術を用いる。この技術においては、制御システムは、一連のジャーク推定値と関連した「広がり（ｓｐｒｅａｄ）」（雑音の尺度）が或る一定のスレッショルド（例えば、５％）より下に落ちるまで、各運動状態を生成するため用いるサンプル・スパンを徐々に拡大する。より長いスパンを用いることは、ジャーク推定からの雑音を平滑化する傾向を有するが、しかしスパンが余りに長すぎると、ジャークの変化が過剰に平滑化され、それはまたジャーク推定の精度を低減するであろう。しかしながら、より短いサンプル・スパンを用いると、ジャーク信号は、基礎をなすジャーク信号の上に重畳された雑音の中に見失われるようになり得る。この問題を説明するため、図１３は、１組の運動状態を生成するため２つの異なるサンプル・スパンを用いて処理されたサーボ記録を用いたジャーク推定を示す。グラフ１３００において、スパンは１．５ミリ秒であり、そしてジャーク信号は雑音の中に大部分見失われ、一方グラフ１３０１において、スパンは８ミリ秒であり、そしてより良好なジャーク推定値を生成する。しかしながら、スパンが８ミリ秒を超えて拡大された場合、ジャーク信号は、より多く平滑化されるようになり、そしてジャーク推定の精度を低減し得る。
【０１４７】
制御システムは、選択されたサンプル・スパンが与えられた場合、サンプル間の平均絶対差の比を計算し且つ最大絶対値で除算することにより、ジャーク推定値の広がりを測定する。
【０１４８】
【数１３】
2006513685.tif 000016
【０１４９】
制御システムは、次のアルゴリズムに従ってサンプル・スパンを選択する。最初に、制御システムは、サーボ間隔（１７８マイクロ秒）で離間された運動状態の比較的短い窓に対してジャーク推定値を計算する。制御システムは、小さいスパン、例えば２ミリ秒で開始し、次いで広がりを計算する。次いで、制御システムは、広がりが所望のスレッショルド、例えば５％より下に落ちるまでスパンを徐々に増大する。次いで、制御システムは、このスパンを用いて、全ての導関数推定値を計算する。
【０１５０】
或るケースにおいては、制御システムは、ジャークを正確に推定することができないことを決定し得て、そしてこのケースにおいては、制御システムは、式（１３）に記載された３次多項式及び４つの時間／位置対よりむしろ２次多項式及び３つの時間／位置対を用いる。導関数が所望の運動状態時間で評価され、それは、選択されたサンプル１２０１に対して一度に中心付けされる。導関数が、それらが評価される時間と一緒に、更に変調信号及び電流値が、単一の運動状態１２０３を形成する。
【０１５１】
別の方法において、所望のサンプル時間の選択された間隔１２０１内の全て又は多くの対、例えば、−２及び＋２ミリ秒内の全ての対を用いる。次いで、これらの時間／位置対は、係数を決定するため最小自乗適合を用いて、多項式（１３）に適合され、次いで、位置の導関数を決定するため、前のように式（１４）を用いる。
【０１５２】
多項式を適合させることは不十分に条件付けされた数値問題であることが知られており、そこで解法の精度を改善するように、データの事前条件付け技術を用いる。この技術において、オフセットが、選択されたサンプルの組の中の各時間値から減算され、そして、その結果は、ほぼゼロ平均と１に等しい分散とを有する１組の時間を生成するため、スケール係数を乗算される。サンプルの選択された組の中の各時間値から減算されるオフセット時間は、その結果生じる運動状態と関連されるであろう時間である。好適な実施形態においては、この時間（従って、オフセット）は、サンプル・セットの中の全くの中心の時間と一致する。例えば、再び図１２を参照すると、サンプルの第１の組１２０１において、オフセットは、評価時間（及び当該組の中の全くの中心値）ｔ５の値であろう。事前条件付けされたサンプル時間は、次の式に従って表され得る。
【０１５３】
【数１４】
2006513685.tif 000017
【０１５４】
ここで、ｔ０は評価時間であり、Ｓは時間の標準偏差の逆数である。事前条件付けされたデータ値を用いて、式（１３）の多項式の係数は、ｔ′に関して計算され、そして、ｔ０で評価されるとき、式（１４）における導関数は、次のようになる。
【０１５５】
【数１５】
2006513685.tif 000018
【０１５６】
１つの実験において、上記の事前条件付けする技術は、入力行列の条件数（ＳＶＤを用いたケースに対して）を８次の大きさ（ｅｉｇｈｔ  ｏｒｄｅｒｓ  ｏｆ  ｍａｇｎｉｔｕｄｅ）だけ低減した。
【０１５７】
ひとたび運動状態に対する導関数が計算される（即ち、速度。加速度及びジャーク）と、対応するモータ制御信号ｅが計算される。この実施形態が定電圧電源を用いるので、モータ制御システム１０００は、記録された変調信号（信号１００６）をモータ制御信号の値として用いる。
【０１５８】
典型的には、対応する変調信号記録と位置対との間にほぼ２サーボ期間の時間遅延が存在する。これは、所与のサーボ間隔で、エンコーダ・インターフェース・ユニット１０１７から読み出された位置及び時間が、前の間隔の終わりで記録されたからである。その上、サーボ間隔中に計算された変調信号は、新しいＰＷＭデューティ・サイクルが効果を現すとき、次の間隔までモータに印加されないであろう。従って、特定の間隔に対するサーボ記録は、前の間隔からの時間／位置対、及び将来の次の間隔に対する変調信号値を含む。従って、制御システムは、運動状態時間（例えば、図１２におけるｔ５，ｔ１０，ｔ１５）と２つのサーボ期間の推定された時間シフト値との和に等しい「シフトされた時間」を計算して、この遅延を補償する。次いで、記録された変調信号サンプルは、２つの値の時間がシフトされた時間を挟む（ｂｒａｃｋｅｔ）当該２つの値を見つけるため探索され、そしてモータ制御信号値が、線形又は多項式補間により計算される。
【０１５９】
運動状態と関連した電流の値は、変調信号に関してまさに説明したのと同じ方法で計算される。しかしながら、時間シフトは、電流値が記録されたので用いられず、また同じ間隔中に指令されず、従って、その記録する時間が位置を記録した時間に非常に接近している。
【０１６０】
従って、単一の運動状態１２０３が、計算され、そして単一の時点（ｉｎｓｔａｎｔ）に対する位置値及びその導関数、モータ正義信号値、及び電流値を含む。このプロセス１２０２は、モータ・モデル式（９）及び（１０）の係数を推定するのに十分な１組の状態が得られるまで連続した複数の運動状態時間に対して繰り返される。
【０１６１】
制御システムは、１組の運動状態を選択することによりモータ・モデル式のための係数を推定する。例えば、制御システムは、電圧信号の前述した３００ミリ秒の持続時間内に或る程度一様に離間された１００個の運動状態を選択し得る。次いで、モータ・モデル係数が、直接最小自乗方法により解かれる。ｎ個の運動状態を含む、行列形式の解かれるべき過剰に制約された式は、次のとおりである。
【０１６２】
【数１６】
2006513685.tif 000019
【０１６３】
上記の行列式を最小自乗の意味で解いて、モデル係数の値を決定する。好適な実施形態においては、制御器は、ＳＶＤ（特異値分解）方法を用いて、当該行列式を解くが、しかし、他の実施形態は、行列式を解くため当該技術において既知の他の数学的方法を用い得る。
【０１６４】
好適な実施形態において、解の数値的強固さは、上記Ａ行列におけるデータを「事前条件付けする」ことにより改善される。速度、加速度及びジャークは、極端に大きい大きさを有し、従って、解の精度は、妥協され得る。データを事前条件付けするため、制御器は、オフセットを各導関数から減算し、そしてその結果にスケール係数を乗算し、それによりＡ行列の各列は、ゼロ平均、及び１に等しい分散を有する。オフセットは、対応する列値の平均であり、そしてスケール係数は、列値の標準偏差の逆数である。例えば、各事前条件付けされた速度の項は、
ｖｉ′＝（ｖｉ−ＯＶ）ＳＶ
であり、ここで、ＯＶは平均速度であり、ＳＶは速度の標準偏差の逆数である。これは、スケーリングされた係数について解くため次の式を生成する。
【０１６５】
【数１７】
2006513685.tif 000020
【０１６６】
この式は、事前条件付け無しでの行列式（１８）より一層信頼性良く解かれることができる。或る試験においては、条件の数（数値的信頼性又は不良条件付けの尺度）は、データを事前条件付けすることにより９次又は１０次の大きさだけ低減された。
【０１６７】
ひとたび事前条件付けされた行列式を解いて、スケーリングされた係数を獲得すると、モデル係数は、次の式により計算される。
【０１６８】
【数１８】
2006513685.tif 000021
【０１６９】
上記のモデル推定を用いることにより制御器とモータとの間のワイヤリング接続における変動が自動的に補償されることに注目されたい。例えば、エンコーダのワイヤ（即ち、図１０に示される接続１００９内のワイヤ）、又はモータ相ワイヤ（即ち、図１０に示される接続１００５内のワイヤ）が交換される場合、これは、運動の正常方向の転換をもたらす。これが起こる場合、全ての係数ｋｖ，ｋａ，ｋｊは負の符号を有し、そして変調信号（即ち、図１に示される信号１２０）の符号は、回転の方向と一致し、それにより安定で正確な運動が常に得られる。
【０１７０】
電流モデル式（１０）の係数（即ち、ｍｖ，ｍａ，ｍｆ及びｍ０）は、同じ組の運動状態を用いて、同じ方法で推定される。しかしながら、今度は、記録された電流値が、モータ電圧の代わりに用いられ、そして次の行列式を形成する。
【０１７１】
【数１９】
2006513685.tif 000022
【０１７２】
前述の同じ技術を用いて、上記式を解いて、係数ｍｖ，ｍａ，ｍｆ及びｍ０を得る。
上記手順を用いて、いずれの適切な運動の記録に基づいてモデルを推定することができ、そして開ループ学習信号の結果に制限されない。例えば、加速度の期間を含む或る一定の所望の特性を有するいずれの運動を用いて、モデルを推定することができる。このようにして、この方法を用いて、モデル、及び閉ループ制御器のような、モデルに依存する他の制御システム・パラメータを、（図２におけるブロック２０４に示されるように）を連続的に更新し、又は自動的に精細に同調することができる。
【０１７３】
或るケースにおいては、モータ・モデルの複数のパラメータのうちの１又はそれより多いパラメータを信頼性良く推定することができない。例えば、プロフィールが正及び負の両方の速度を含まない場合、一定係数ｋ０及び摩擦係数ｋｆは、冗長であり、そして独立に推定することができない。このケースにおいては、１つだけを用い、そしてその結果は、後で、前のモータ・モデルに存在する特性を用いて割り当てられ、又は、或るケースにおいては、１つの係数だけに割り当てられる。
【０１７４】
或るケースにおいて、ジャーク係数ｋｊは、信頼性良く推定することができない。この条件は、ｋｊがｋｖ及びｋａと同じ符号を持たない場合検出することができる。このケースにおいては、入力行列式（１８）は、ジャーク項を取り除くよう変更され、そして適合化が再び実施される。このケース、又はジャークが重要な要因でないと制御器が決定するいずれのケースにおいても、多項式（１３）を２次に変えて、位置導関数の計算を単純化し且つその計算速度を速め得る。
【０１７５】
自動閉ループ制御器の設計
モータ・モデルが満足の行く程度の精度で推定された後に、制御システムは、自己作動プロセスで、閉ループ制御を自動的に設計することを継続する。図１０を再び参照すると、閉ループ制御装置１００８は、比例電流制御器１０１９を位置ＰＩＤ制御器１０２０と組み合わせる状態−空間制御器を含む。ＰＩＤ（比例−積分−微分）制御器は、次の制御法則を有する。
【０１７６】
【数２０】
2006513685.tif 000023
【０１７７】
ここで、ｕ（信号１０１８）はＰＩＤ制御器の訂正信号であり、そしてｅｐ＝ｒｐ−ｐは位置誤差１０１４であって、基準（指令された）位置ｒｐ（信号１０１１）から実際の位置ｐ（信号１０１０）を差し引いたものに等しい。電流ループは、電流誤差ｅｃ＝ｒｃ−ｉ（信号１０１５）に電流利得値ｋｃを乗算して、訂正信号１０１６を生成する。なお、電流誤差ｅｃ＝ｒｃ−ｉ（信号１０１５）は、電流基準値ｒｃ（信号１０２１）と電流フィードバックｉ（信号１０１２）との差である。電流基準値１０２１は、各サーボ処理間隔でモータ電流式（１０）を評価することにより電流フィードバック・ループに供給される。ＰＩＤ訂正信号１０１８と電流ループ訂正信号１０１６とを加算して、閉ループ制御訂正信号１０１３を生成する。
【０１７８】
閉ループ制御設計の目的のため、モータ制御システム１０００は、非線形モデル項を無視する。そうすることにより、ラプラス変換空間における閉ループ・モータ・システムの伝達関数（位置に対する位置指令）は、次のとおりである。
【０１７９】
【数２１】
2006513685.tif 000024
【０１８０】
モータ制御システム１０００は、極（式（２３）における分母の根）を望ましい形態に置くことにより、制御器利得ｋｐ，ｋｉ，ｋｄ及びｋｃを計算して、許容可能な応答を与える。状態−空間制御の定式化の使用は、制御システムが極を任意に置くのを可能にすることに注目されたい。１つのそのような望ましい形態は「バターワース」構成であり、それにより全ての極が、ｓ平面の原点から一定半径ωの所に、指定された「広がり」、又は負の実数軸に対して最大角度θを有し、且つ等しく離間して置かれる。このケースにおいては、制御器利得が、次のように計算される。
【０１８１】
【数２２】
2006513685.tif 000025
【０１８２】
多くの他の構成が可能であり、別の例として、ωでの１対の複素極、及びより高い周波数での２つの実数極がある。
【０１８３】
一実施形態において、モータ制御システム１０００は、±２０°の広がりθを用いる。周波数ωの値は、制御器解像度に対する所望の値に基づいて選定される。制御器解像度は、所与の組の利得に対して達成されることができる最小の非ゼロ訂正信号（信号１０１３）として定義される。ディジタル制御システムにおいて、位置及び電流の両方のフィードバック量は、離散的整数の量として得られ、従って、こうして、このケースにおいて、最小の可能な非ゼロ位置誤差は１カウントに等しい。この誤差にｋｐを乗ずると、その結果最小の非ゼロ訂正信号が得られる。例えば、ｋｐ＝０．５の場合、最小の訂正信号は、最大の５０％である（訂正信号の単位は、変調信号と同様に、「最大出力のフラクション」の項で表されることを想起されたい。）。これは、（正の）訂正信号のたった２つの有り得る値を用いて極端に粗い解像度を生成する。解像度が粗いとき、制御器は、不安定性を起こすことが知られているリレー・フィードバック構成要素の挙動に近づく。これが、制御システムが或る一定（精細）のレベルの制御器解像度を必要とする理由である。従って、指定されたレベルの解像度は、比例利得に対する最大値を定義する。
【０１８４】
従って、制御システムが利得を計算するためいかなる形態を用いようとも、制御システムは、比例利得を所望の解像度の値に直接割り当てることができる。この実施形態において、制御システムは、１％のデフォルト解像度値を用い、従って、ｋｐ＝０．０１及びｋｃ＝０．０１と設定する。次いで、制御システムは、方程のセット（２４）から周波数ωに対して対応の値を次のとおりに計算することができる。
【０１８５】
【数２３】
2006513685.tif 000026
【０１８６】
次いで、制御システムは、２つの選定ωｃ及びωｐのうちのより小さい方の周波数値を選択し、そして方程式のセット（２４）を用いて、閉ループ制御利得を計算する。この技術は、比例の項に対して所望の解像度を与えるが、しかし以下で説明されるように、全体の所望の閉ループ制御解像度は、方程式のセット（２５）を用いて、選定されたωの値を変更すること無しに、別個の手段により達成される。
【０１８７】
ｋｉにより制御される積分の項に対する所望の解像度は、制御器サンプリング速度を変更することにより達成される。これを説明するため、次の例を考える。ωのための値が上記の方法により計算された（即ち、所定の解像度に設定された比例利得から導出された）と仮定する。（出力−フラクション）／（カウント−秒）の単位での積分利得ｋｉは、方程式のセット（２４）を用いて計算される。それが４０に等しく、そして制御器サーボが２０００回／秒（即ち、サーボ処理間隔が５００ミリ秒に等しい）で実行すると仮定する。各サーボ間隔で、制御システムは、式（２２）の積分部分を次の方法で計算する。
【０１８８】
【数２４】
2006513685.tif 000027
【０１８９】
ここで、ｅｐｋは現在の間隔に対する位置誤差（カウントの単位で）であり、ｕｉｋは現在の間隔に対する積分項の訂正出力であり、ｕｉｋ−１は前の間隔に対する積分項の訂正出力である。積分利得ｋｉ′は、（出力−フラクション）／（カウント−間隔）の単位を持ち、従って、サーボ間隔ｋｉ′＝ｋｉＴＳを用いてスケーリングされる。なお、ＴＳは秒／間隔の単位での間隔である。この例において、ＴＳは０．０００５に等しく、従って、ｋｉ′は０．０２に等しい。このケースにおける位置誤差の最小値（即ち、１）は、前の間隔からの訂正出力を２％の量（出力フラクションとして）だけ増大し、それは、所望の解像度の２倍である。このケースにおける所望の解像度は、サーボ・レートを２倍にして４０００にすることにより達成されることができる。次に、ＴＳが０．０００２５に等しく、そしてｋｉ′が０．０１に等しい。これは、ｋｉの値を変更すること無しに達成された。従って、この制御システムは、必要ならば、そのサーボ・サンプリング速度を自己作動の制御設計部分中に変更することができることは明らかである。しかしながら、実験は、これが殆ど決して必要でないことを示した。ｋｉ′の計算された値は、通常、比例の項ｋｐ及びｋｃよりずっと高い解像度を与える。しかしながら、これは、微分の項についての場合ではない。
【０１９０】
式（２２）の微分項は、次の式におけるように、導関数の利得ｋｄのスケーリングされたバージョンに、位置誤差の導関数の推定値を乗算することにより形成される。
【０１９１】
【数２５】
2006513685.tif 000028
【０１９２】
ここで、ｕｄｋは現在のサーボ間隔に対する微分項であり、ｋｄ′はスケーリングされた導関数利得であり、ｄｎｋは現在のサーボ間隔に対する導関数推定値である。導関数推定値は、次の式を用いて計算される。
【０１９３】
【数２６】
2006513685.tif 000029
【０１９４】
ここで、ｅｐｋは現在の間隔に対する位置誤差であり、ｅｐｋ−ｎは過去のｎ個の間隔に対する位置誤差である。多くの場合、ｎ＝２であり、そしてこのケースにおいては、ｅｐｋ−ｎ＋１は前の間隔に対する位置誤差である。しかしながら、ｎのより大きい値は、時に、サーボ・レートが高いとき用いられる。最小訂正出力は、位置誤差における１カウントのステップ変化に対して得られる訂正出力である。当該訂正出力、従って、微分項の解像度は、ｋｄ′の値である。サーボ・ループで用いられる利得ｋｄ′は、つぎのように、積分利得に関して前述したアナログの要領でスケーリングされる。
【０１９５】
【数２７】
2006513685.tif 000030
【０１９６】
微分項（即ち、ｋｄ′の値）の解像度はサーボ・レートを増大するにつれ低減することが上記式から明らかである。微分解像度を高くする（即ち、ｋｄ′の値を低くする）ため、サーボ・レートを低減する（ＴＳのより大きい値に対応する）ことができ、又はｎの値を増大することができる。しかしながら、これらのどちらもが、常に望ましい又は達成可能であるわけではない。大部分の制御システムは、保存的（ｃｏｎｓｅｒｖａｔｉｖｅ）なより低い限界をサーボ・レートに設定する。例えば、制御システムは、サーボ・レートが閉ループ帯域幅（即ち、ω）の少なくとも２５倍でなければならないことを決定し得る。このケースにおいて、ＴＳに対する最大許容値は、次のとおりに計算される。
【０１９７】
【数２８】
2006513685.tif 000031
【０１９８】
制御器は、導関数の解像度を増大するため、ＴＳに対してこの最大値より大きい値を用いることができない。ｎ個の実効的低域通過フィルタの大きい値を用いるが、しかしｎが余りに大きい場合、フィルタの折点は周波数ωに近づき、そしてフィルタ遅延が増大し、これら両方が、閉ループ制御性能を劣化させる可能性がある。
【０１９９】
この制御器は、箱形導関数を適用することによりこの問題を解いて、導関数の推定を計算し、それをフィルタリングし、そしてその結果を増幅する。長さｎの箱形導関数は、次式により定義される。
【０２００】
ｎが偶数の場合、
【０２０１】
【数２９】
2006513685.tif 000032
【０２０２】
であり、又はｎが奇数の場合、
【０２０３】
【数３０】
2006513685.tif 000033
【０２０４】
である。例えば、長さ６の箱形導関数は、
【０２０５】
【数３１】
2006513685.tif 000034
【０２０６】
のように計算され、そして長さ５の箱形導関数は、
【０２０７】
【数３２】
2006513685.tif 000035
【０２０８】
のように計算される。
長さ２の箱形導関数はｎ＝２に対する式（２８）のこれまでの技術と等価であることに注目されたい。
【０２０９】
微分項は、ここでは次のように計算される。
【０２１０】
【数３３】
2006513685.tif 000036
【０２１１】
式（２７）及び（２８）により定義されたこれまでの技術において、出力（位置誤差における差の出力）は、ｎ−１の係数だけ増幅される。これは、式（２９）に反映される。増幅係数は、Ｒカウント／サーボ間隔に等しい一定勾配（即ち、導関数）を用いて位置誤差のシーケンスにより生成される出力を計算することにより計算されることができる。しかしながら、式（３１）の箱形導関数を用いて、増幅係数がここでｎ２／４にほぼ等しい（これは、ｎが偶数であるとき正確に該当する。）ことが明らかである。従って、サーボ・ループにより用いられる導関数利得ｋｄ″は、この同じ係数だけ低減されることができる。
【０２１２】
【数３４】
2006513685.tif 000037
【０２１３】
同じ長さ（従って、フィルタ折点周波数にほぼ等しい）ｎに対して、箱形導関数は、はるかに大きい増幅係数を有する。例えば、ｎ＝８に対して、箱形導関数は、伝統的方法の増幅の２倍を有し、ｎ＝１６に対して、増幅は、約４倍程大きい。これは、制御器が伝統的方法と比較して、フィルタ長さｎに対して低減された値を用いることを可能にする。箱形導関数はまた、計算するのに極めて効率的であり、ｎが偶数に対して、計算は次のとおりである。
【０２１４】
【数３５】
2006513685.tif 000038
【０２１５】
次いで、微分項に対して所望の訂正出力解像度を達成するため、制御システムは、最初に（及び任意に）、ＴＳの値を実現可能と考えられる（例えば、式（３０）により設定される）最大値に調整する。ＴＳの値はまた、前述したように、積分項の解像度により指定される値より大きいことを許されない。ここで、フィルタ長さは、次式により定義される。
【０２１６】
【数３６】
2006513685.tif 000039
【０２１７】
ここで、ｋｄ″は、このケースにおいて、所望の解像度の値（例えば、０．０１）を有する。従って、ｎの値は、次の整数の偶数であるよう増大される。
制御システムは、時に、上記の方法を用いた周波数の選定が電流利得ｋｃに対して負の値を生成することを見つけ得る。これは、エンコーダ解像度が低いとき、又は電気的時定数が小さいとき生じる可能性がある。このケースにおいては、制御システムは、ｋｃ＝０に設定する。しかしながら、ここで、制御システムは、極を任意に置くことができなく、そして制御システムは、式（２５）及び広がりθを用いて計算されたωｐの値に複素対を置き、そして、第２の対を広がりθ／３に置く。このケースにおいて、第２の極対の周波数は、
【０２１８】
【数３７】
2006513685.tif 000040
【０２１９】
により与えられ、そして、その結果生じる利得は、
【０２２０】
【数３８】
2006513685.tif 000041
【０２２１】
である。
ω２の値がωｐより小さい場合、これは、比例項に対する解像度が一定でないことを示し、そしてこのケースにおいて、利得に対する解が見つけられ、そこにおいてω２＝ωｐである。ｋｃ＝０のとき、電流ループ全体が使用不能化され、そして、電流フィードバック（図１０に示される信号１０１２）を測定し又は記録する更なる必要性が無く、又電流モデル式（１０）を推定し又は用いる更なる必要性も無い。これは、電流フィードバックを与えないより低コストの制御システムの代替実施形態を形成する。
【０２２２】
上記の閉ループ制御設計手順は、当然に、良好な過渡応答特性を有し、そしてモータを動かすこと無しに達成されるシステムにつながる。
上記で言及したように、ジャーク係数ｋｊに対する信頼性良い推定値が、時に、得られない。このことが起きたときは、閉ループ制御設計の目的のため、制御システムは、単純にゼロの値を用い、そして閉ループ制御を、円の周りに等しく離間している３つの極に基づいて計算する。その上、ｋｊの値が非常に小さく、そのことは、導関数利得（ｋｄ）が長い箱形導関数を用いて計算されるときでさえ、導関数利得（ｋｄ）に対する過剰な値をまねく。このケースにおいて、極配置設計は、２つの複素極対から、単一の対に同じ距離にある実数の極を加え（こうして、円上に３つの極を形成する。）、更にはるかに高い周波数での実数の極を加えたものに変えられる。
【０２２３】
ひとたび制御システムが閉ループ制御設計を計算（即ち、利得を計算）すると、制御システムは、その計算された制御器パラメータを用いて制御を可能にし、次いで一連の小さいステップ応答を指令することにより当該設計を試験する。位置誤差の直ちに続く時間履歴（例えば、０．５秒の期間にわたる）が分析される。応答が余りに振動性である場合、周波数ωが（例えば、それに０．８５を乗算することにより）低減され、広がりθも任意に低減され、そして新しい閉ループ制御利得が、式（２４）及び（４０）を、又は選定された極形態に対して適用し得る他の式を用いて計算され、そしてステップ応答が許容できるまで、当該ステップ応答の検査が繰り返される。
【０２２４】
制御システムは、多数の代替閉ループ制御設計に対して上記の閉ループ制御設計シーケンスを任意に繰り返し得る。例えば、制御システムは、ステップ及び走査運動の両方の関数を実行する必要性を予想し得る。ＰＩＤ制御器が、ステップ運動指令に応答するときより好まれるが、しかしＰＤ制御器は、走査指令に応答するときより好まれる。従って、ＰＤ制御器のような１又はそれより多い代替制御器は、自己作動プロセスの一部として、この時設計され得る。代替制御器の計算されたパラメータ（例えば、利得）は、代替制御器が後の時間に使用可能にされ且つ動作され得るように記憶される。
【０２２５】
前述したように、モータ位置は、フィードフォワード信号に対応するモータ位置からやがてずれて（オフセットを生じて）、サーボ処理における当然の遅延を補償し得る。従って、フィードバック制御器に与えられる基準値（図１における信号１１７）は、フィードフォワード値（図１における信号１１９）より遅れた時間（例えば、３５７マイクロ秒）に対応する。
【０２２６】
ブラシレス・モータに関する実施形態
ブラシレス（電子的転流される）モータに関する実施形態がここで説明される。このタイプのモータは、式（９）及び（１０）で記述されたＤＣブラシ・モータ・モデルにより説明されるが、しかし、このケースにおいては、コミュテータ（図１に示されるブロック１２３）が用いられ、そしてその転流関数のためのパラメータがまた、獲得又は推定されねばならない。全ての転流関数が、所与の期間に繰り返し、そして位置オフセットを有する。便宜上、制御システムは、モータ位置ｐを仮定すると、転流間隔内のモータの位置を指示する、ゼロと１との間の１つの値を戻す普遍的回転関数を定義する。
【０２２７】
【数３９】
2006513685.tif 000042
【０２２８】
特定の転流関数は、関数Ｃによって定義することができ、従って、自己作動プロセスの相発見ステップ（図３に示されるブロック３０１）は、パラメータｃ０及びｃｐを推定するステップを含む。２つの通常のタイプのブラシレス・モータがあり、それぞれは、それ自身の転流関数を有する。
【０２２９】
１．通常、単純にブラシレスＤＣモータと呼ばれる台形ＥＭＦ波形のスイッチングされた転流である。これらのモータは、時に、転流入力として働くための、各相に対して１つのホール・センサ出力を供給し得る。転流関数は、指定された変調信号（図１に示される信号１２０）を異なる位置における異なる相に単純に切り換える。
【０２３０】
【数４０】
2006513685.tif 000043
【０２３１】
２．通常、ＰＭＳＭ（永久磁石型同期モータ）又はブラシレスＡＣモータと呼ばれる正弦曲線ＥＭＦ波形の正弦転流がある。このケースにおいて、転流関数は正弦曲線である。
【０２３２】
【数４１】
2006513685.tif 000044
【０２３３】
転流関数パラメータは、前述したように特定のモータのタイプに対して推定される。
ひとたび転流関数パラメータが推定されてしまうと、ＤＣブラシ・モータの実施形態において説明した自己作動プロセスの残りの部分が、前述したような同じ方法で正確に、実行される。
【０２３４】
本発明の多くの実施形態を説明してきた。それにも拘わらず、様々な変更が、本発明の趣旨及び範囲から逸脱すること無しに、行い得ることが理解されるであろう。例えば、制御システムは、電圧を制御する変調器よりむしろ電流を制御する変調器を用い得る。軌道プロフィールの計算は、図４に示される繰り返し論理よりむしろ、閉形の数学的公式を用いて実行される。
【０２３５】
軌道プランニングは、変調信号領域において直接達成され得る。即ち、軌道プランニング・アルゴリズムは、（加速度波形を構成するよりむしろ）電圧波形を直接構成し、電圧波形を調整して運動制約を満足させ得る。この技術は、最適な不連続制御の文脈において有利に用いられ得て、そこにおいては、出力フラクションが＋１又は−１のいずれかに設定されて、例えば、ステップ運動をもたらす。この方法において、モータ・モデルをまた用いて、暗黙的に運動プランナ（ｍｏｔｉｏｎ  ｐｌａｎｎｅｒ）を含む適応可能な閉ループ制御器（例えば、スイッチング曲線のパラメータを計算することによる）を設計することを支援する。
【０２３６】
軌道プランニングは、１又はそれより多い台形加速度パルスを用い得て、それによりジャーク、最大加速度及び最大速度を、パルス時間、ピーク加速度及び加速度フラクションの代わりにパラメータとして用いる。
【０２３７】
モータ制御システムは、モータ制御信号が変調信号に正比例しないケースに適応され得る。無調整のＤＣ電圧源のケースにおいて、制御システムは、瞬時入力電圧を測定し、且つ変調信号をそれに応じて調整することにより、モータ制御信号を与え得る。制御システムは、変調信号及び入力電圧の両方の値を記録することによりモータ制御信号を記録し得て、それにより実効的モータ制御信号を計算することができる。例えば、電圧源は、８０ボルトから１３０ボルトまで変わる電圧を与え得る。このケースにおいては、最大モータ制御信号は、最大信号が常にモータへの印加に利用可能であることが好ましいので、８０ボルトであると想定される。制御器は、瞬時入力電圧を測定し且つ変調信号を４０ボルトを生成するため必要とされる値、例えば、８０ボルトの入力電圧に対して５０％、１２０ボルトに対して３３．３％等々に設定することにより最大出力の５０％のモータ制御電圧（４０ボルト）を与え得る。制御器は、変調信号及び入力電圧の両方を記録することによりモータ制御信号のための記録された値を計算する。変調信号の記録された値が２５％であり、そして入力電圧の記録された値が９０ボルトである場合、計算されたモータ制御信号は２２．５ボルトである。これは、８０ボルトで除算することにより制御器の出力−フラクション単位に変換されて、２８．１％の記録されたモータ制御信号の計算された値を生成し得る。
【０２３８】
類似の方法が、ＡＣ入力電圧源のケースに用いられ得る。このケースにおいて、制御システムは、全ての利用可能な相にわたって瞬時電圧を測定し得て、そして制御システムは、訂正指令電圧をモータに与えるため、相ライン（ｐｈａｓｅ  ｌｉｎｅｓ）を選択して変調し、そしてその変調信号を調整する。
【０２３９】
制御システムは、ＰＩＤ閉ループ制御を用い得て、そのＰＩＤ閉ループ制御においては、微分項が、速度設定点ｒｖを軌道発生器から与え（なお、上記設定点は、フィードフォワードを計算するため既に計算されている。）、実際の速度ｖを各サーボ処理間隔中に推定し、速度誤差ｅｖ＝ｒｖ−ｖを計算し、且つ微分項をｋｄ（ｒｖ−ｖ）として計算することにより計算される。
【０２４０】
閉ループ制御装置（図１において構成要素１１１として示される。）は、当該技術で既知のいずれのタイプの閉ループ制御器であり得て、そして図１０に示される状態−空間閉ループ制御器に限定されるものではない。
【０２４１】
制御システムは、特定のタイプのモータに対していずれの既知のモータ・モデルを用い得て、例えば、上記に示されたモータ・モデルの式（９）は、位置依存項、例えば、＋ｋｐｐ、又は他の項を用いて増強され得る。このタイプのモータ・モデルを用いて、位置依存の力（例えば、バネを押す）を含み得るシステムをモデル化し得る。
【０２４２】
制御システムは、位置の導関数を計算するため多項式以外の記述関数を用い得る。位置を時間に関連付け且つ位置導関数を計算するため微分可能であるいずれの記述関数を用い得る。例えば、正弦曲線の和を用い得る。
【０２４３】
制御システムは、光学エンコーダからのフィードバック以外の位置フィードバックの他の形式を受け取って用いるよう適合され得る。例えば、リゾルバのＡＤＣ読み取りが、その入力サンプル・ホールド回路がラッチされた正確な時間と共に、獲得されて、対応する位置／時間対を与えることができる。磁気エンコーダ又はポテンショメータもまた用いることができる。
【０２４４】
制御システムは、位置又は電流フィードバックの増強された精度が獲得され得るケース（例えば、電流測定値が雑音が多いと決定されたとき）において、状態推定器又は観測器を用いて位置及び／又は電流を推定するよう適合され得る。状態推定器を用いることに加えて、自己作動プロセス中に獲得された情報（即ち、モータ・モデル式の係数）を用いて、前述した閉フープ制御器の自動設計に似た要領で１又はそれより多い状態推定器を設計し得る。
【０２４５】
制御システムは、追加のモータ状態のための推定器又は観測器、例えば、トルク擾乱推定器、及びそのような推定器を設計するため用いられるモータ・モデルを組み込むよう適合され得る。
【０２４６】
制御システムは、モータ・モデル及び他の制御システム・パラメータを更新する（図２に構成要素２０４として示される）ため、自己作動のため用いられる前述のモデル推定技術とは異なる技術を用い得る。例えば、自動回帰推定器、又は反復学習型制御器をこの構成要素のため用い得る。制御システムは、自己作動プロセス中に獲得されたモータ・モデル係数から導出された情報を用いて、モデル及び制御器の更新のため用いられる構成要素を設計し得る。
【０２４７】
制御システムは、或る一定のモータにとって有利である、上記で説明しなかった様々な転流関数を用い得る。例えば、転流関数は、区分的線形、又は正弦曲線の和であり得る。
制御システムは、ＰＩＤ又はＰＤ制御構成要素により用いられる微分推定値を計算するため、前述の箱形導関数以外の関数を用いるよう適合され得る。例えば、ガウス（Ｇａｕｓｓｉａｎ）の１次導関数との畳み込み、ランチョス（Ｌａｎｃｚｏｓ）微分器フィルタ、又はカイザー（Ｋａｉｓｅｒ）窓技術を用い得る。
【０２４８】
制御システムの機能は、１又は幾つかの異なるコンピュータの間に分散され得る。例えば、軌道発生器、閉ループ制御装置、及びエンコーダ・インターフェースは、スタンドアローンの低コスト・モジュールとして実現され得て、そしてモデル適合化、軌道発生、及び他の機能は、ユーザのコンピュータ（例えば、パーソナル・コンピュータ又は産業用制御器）上で動作するソフトウエアとして実現され得る。当該モジュールは、当該技術で既知のいずれの適切な技術、例えば、固定の半導体論理チップ、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）、ＤＳＰ（ディジタル信号プロセッサ）及びマイクロ婦プロセッサで実現されることができる。当該モジュールは、そのようなハードウエア・モジュール上で多くの組み合わせで別々に実現されることができ、当該ハードウエア・モジュールは、当該技術で既知の手段、例えば、回路基板接続、ＰＣＩバス、ＶＭＥ／ＶＸＩバス、ＲＳ−２３２、イーサネット、デバイスネット（ＤｅｖｉｃｅＮｅｔ）、ＣＡＮ（制御器エリア・ネットワーク）により相互接続される。
【０２４９】
制御システムは、前述したように自己作動機能を実行するため、モータ／負荷／変調器システムに一時的に装着されるよう構成され得る。次いで、制御器は、運動制御機能を直接実行する代わりに、別個の目標運動制御器上に記憶し又はその上で用いるためのパラメータを（閉ループ制御（例えば利得）のため、及び軌道プランニング及び発生のための両方のため）計算し、送信することができる。例えば、自己作動計器は、そのような方法で製造業者の既存の運動制御器のため作ることができる。そのような計器は、要求されるハードウエア機能（例えば、エンコーダ・インターフェース及び／又はサーボ・データ記録）のみをプラグイン・モジュールとして目標制御器に加えることができ、又はそれは、モータ及び変調器が自己作動の持続時間中にそれに対して接続される別個の計器であることができる。そのようなケースにおいては、パラメータはまた、目標制御器のため適切な形式に変換されることができ、そしてまた、希望されるとき目標制御器に送信されることができるプログラム又は他のモジュールの形式で暗黙的に記憶されることができる。
【０２５０】
従って、他の実施形態は、添付の特許請求の範囲の範囲内である。
【図面の簡単な説明】
【０２５１】
【図１】図１は、モータ制御システムの論理構成要素のブロック図である。
【図２】図２は、図１に示されるモータ制御システムの動作を説明するフロー・チャートである。
【図３】図３は、図１に示されるモータ制御システムの自己作動プロセスを説明するフロー・チャートである。
【図４】図４は、図１に示される運動プランニング・プロセスを説明するフロー・チャートである。
【図５】図５は、運動関数指令の加速度、速度、ジャーク及び位置を示す一連のグラフである。
【図６】図６は、運動関数指令を実行するため用い得る幾つかの異なるタイプの加速度パルスを示すグラフである。
【図７】図７は、２次曲線及び調波の加速度パルスを記述する２組の方程式を含む図表である。
【図８】図８は、３つの異なる運動プランニング・アルゴリズムを示す一連のグラフである。
【図９】図９は、同じ運動関数指令に対して２つの別々のモータに関する時間に対する制御器出力をプロットする２つのグラフである。
【図１０】図１０は、別の運動制御システムを示すブロック図である。
【図１１】図１１は、図１０に示される運動制御システムのエンコーダ・インターフェース・デバイスを更に示すブロック図である。
【図１２】図１２は、一連の変調信号、位置及び時間スタンプの記録から位置の導関数及び運動状態の計算を示す図である。
【図１３】図１３は、１．５ミリ秒及び８．０ミリ秒のサンプル・スパンを用いたジャーク推定を示す２つのグラフである。
【図１】
2006513685.tif 000045
【図２】
2006513685.tif 000046
【図３】
2006513685.tif 000047
【図４】
2006513685.tif 000048
【図５】
2006513685.tif 000049
【図６】
2006513685.tif 000050
【図７】
2006513685.tif 000051
【図８】
2006513685.tif 000052
【図９】
2006513685.tif 000053
【図１０】
2006513685.tif 000054
【図１１】
2006513685.tif 000055
【図１２】
2006513685.tif 000056
【図１３】
2006513685.tif 000057
【国際調査報告】
2006513685.tif 000058
2006513685.tif 000059
2006513685.tif 000060
2006513685.tif 000061
2006513685.tif 000062