(57)【要約】      （修正有）【課題】制御される機械システムの慣性および摩擦係数を推定するシステムおよび方法を提供する。【解決手段】慣性推定器４０２は、テストシーケンスの間、時間に対して連続的に変化するトルクコマンド信号を生成する。時間的に変化するトルクコマンド信号に応答する動作システムの速度は、テストシーケンスの間に測定され記録する。そして、慣性推定器は、動作システムに送られたトルクコマンドデータ、および、測定された速度データに基づいて、動作システムの慣性および摩擦係数のいずれかを推定する。動作制御システムにおける２点間の移動の軌跡を制御するための制約に基づいて時間的に最適化された動作プロファイルも生成する。また、プロファイル生成部は、動作プロファイルの少なくとも１つのセグメントにおいて、時間に対して連続的に変化するジャーク基準を含むＳＴ曲線の動作プロファイルを計算し、スムーズな時間的に最適化された軌跡を創り出す。【選択図】図４
2013225284.tif 000002
【特許請求の範囲】
【請求項１】
時間に対して連続的に変化するトルクコマンド信号を生成し、
前記トルクコマンド信号に応答する動作システムの速度を表す、動作デバイスの速度データを測定し、
前記速度データおよび前記トルクコマンド信号の少なくとも一部に基づいて、前記動作システムの慣性および摩擦係数の少なくとも１つを決定する動作システムのパラメータ推定法。
【請求項２】
前記決定は、前記速度データの時間領域に対する１以上の積分、および、前記トルクコマンド信号の前記時間領域に対する１以上の積分の少なくとも一部に基づいて行われる請求項１記載の動作システムのパラメータ推定法。
【請求項３】
前記トルクコマンド信号の生成は、予め定められたテストシーケンスにしたがったトルクコマンド信号の調整を含み、
前記調整は、予め定められた速度検出点に到達した前記動作システムの前記速度に応答した前記トルクコマンド信号の方向もしくは変化のレートの少なくとも１つを変化させる請求項１または２に記載の動作システムのパラメータ推定法。
【請求項４】
前記決定は、前記時間領域の第１セグメントを加速フェーズ、前記時間領域の第２セグメントを減速領域とし、
ＵａｃｃおよびＶａｃｃを得るために前記トルクコマンド信号および前記速度データを前記加速フェーズにおいてそれぞれ積分し、
ＵｄｅｃおよびＶｄｅｃを得るために前記トルクコマンド信号および前記速度データを前記加速フェーズにおいてそれぞれ積分し、
前記慣性および前記摩擦係数の少なくともいずれか１つをＵａｃｃ、Ｖａｃｃ、ＵｄｅｃおよびＶｄｅｃの関数として決定する請求項２または３に記載の動作システムのパラメータ推定法。
ここで、
【数５７】
2013225284.tif 000060
【数５８】
2013225284.tif 000061
【数５９】
2013225284.tif 000062
【数６０】
2013225284.tif 000063
ｕａｃｃ（ｔ）は、前記加速フェーズに対応する前記トルクコマンド信号の一部であり、
ｖａｃｃ（ｔ）は、前記加速フェーズに対応する前記速度データの一部であり、
ｕｄｅｃ（ｔ）は、前記減速フェーズに対応する前記トルクコマンド信号の一部であり、
ｖｄｅｃ（ｔ）は、前記減速フェーズに対応する前記速度データの一部である。
【請求項５】
前記慣性および前記摩擦係数の少なくともいずれか１つの前記決定は、前記関数にしたがって前記慣性を決定すること、および、前記関数にしたがって前記摩擦係数を決定すること、の少なくともいずれか１つを含む請求項４記載の動作システムのパラメータ推定法。
ここで、前記慣性を表す関数Ｊは、
【数６１】
2013225284.tif 000064
であり、
前記摩擦係数を表す関数Ｂは、
【数６２】
2013225284.tif 000065
であり、
Δｖａｃｃ（ｔ）は、前記加速フェーズの終了時における前記動作システムの速度と、前記加速フェーズの開始時における前記動作システムの速度と、の差であり、
Δｖｄｅｃ（ｔ）は、前記減速フェーズの終了時における前記動作システムの速度と、前記減速フェーズの開始時における前記動作システムの速度と、の差である。
【請求項６】
前記慣性および前記摩擦係数の少なくともいずれか１つに基づいて、前記動作システムの制御利得係数を決定する請求項１〜５のいずれか１つに記載の動作システムのパラメータ推定法。
【請求項７】
メモリと、
前記メモリに保存されたコンピュータが実行可能な要素を実行するプロセッサと、を備え、
前記コンピュータが実行可能な要素は、
テストシーケンスの間、時間に対して連続的に変化するトルクコマンド信号を生成するトルクコマンド生成部と、
前記トルクコマンド信号に応答する動作システムの速度を時間に対して表した速度データを取得する速度監視部と、
前記トルクコマンド信号および前記速度データに基づいて、前記動作システムの慣性を推定する慣性演算部、および、前記トルクコマンド信号および前記速度データに基づいて、前記動作システムの摩擦係数を推定する摩擦係数演算部、の少なくともいずれか１つと、
を含む動作システムのパラメータ推定システム。
【請求項８】
前記テストシーケンスの継続時間の少なくとも一部である時間領域において、前記慣性演算部および前記摩擦係数演算部の少なくとのいずれか１つは、前記時間領域における速度データの１以上の積分、および、前記時間領域におけるトルクコマンド信号の１以上の積分の少なくとも一部に基づいて、前記慣性または前記摩擦係数をそれぞれ推定する請求項７記載の動作システムのパラメータ推定システム。
【請求項９】
前記トルクコマンド生成部は、前記テストシーケンスのそれぞれのフェーズに関連して予め定められた命令に基づいたトルク関数ｕ（ｔ）にしたがってトルクコマンド信号を制御し、
前記それぞれのフェーズは、それぞれに定められた速度検出点の値に達した前記動作システムの前記速度に応答して開始される請求項７または８に記載の動作システムのパラメータ推定システム。
【請求項１０】
前記慣性演算部および前記摩擦係数演算部の少なくともいずれか１つは、Ｕａｃｃ、Ｖａｃｃ、ＵｄｅｃおよびＶｄｅｃの関数として前記慣性を推定する請求項８または９に記載の動作システムのパラメータ推定システム。
ここで、
【数５７】
2013225284.tif 000066
【数５８】
2013225284.tif 000067
【数５９】
2013225284.tif 000068
【数６０】
2013225284.tif 000069
であり、
ｕａｃｃ（ｔ）は、前記テストシーケンスの前記加速フェーズに対応する前記トルクコマンド信号の一部であり、
ｖａｃｃ（ｔ）は、前記加速フェーズに対応する前記速度データの一部であり、
ｕｄｅｃ（ｔ）は、前記テストシーケンスの前記減速フェーズに対応する前記トルクコマンド信号の一部であり、
ｖｄｅｃ（ｔ）は、前記減速フェーズに対応する前記速度データの一部である。
【請求項１１】
前記慣性演算部は、前記関数に基づいて前記慣性を推定する請求項１０記載の動作システムのパラメータ推定システム。
ここで、前記慣性を表す関数Ｊは、
【数６１】
2013225284.tif 000070
であり、
Δｖａｃｃ（ｔ）は、前記加速フェーズの終了時における前記動作システムの速度と、前記加速フェーズの開始時における前記動作システムの速度と、の差であり、
Δｖｄｅｃ（ｔ）は、前記減速フェーズの終了時における前記動作システムの速度と、前記減速フェーズの開始時における前記動作システムの速度と、の差である。  
【請求項１２】
前記摩擦係数演算部は、前記関数に基づいて前記摩擦係数を推定する請求項１０記載の動作システムのパラメータ推定システム。
ここで、前記慣性を表す関数Ｂは、
【数６２】
2013225284.tif 000071
であり、
Δｖａｃｃ（ｔ）は、前記加速フェーズの終了時における前記動作システムの速度と、前記加速フェーズの開始時における前記動作システムの速度と、の差であり、
Δｖｄｅｃ（ｔ）は、前記減速フェーズの終了時における前記動作システムの速度と、前記減速フェーズの開始時における前記動作システムの速度と、の差である。  
【請求項１３】
前記慣性および前記摩擦係数の少なくともいずれか１つの関数として、少なくとも１つの制御利得係数を生成するチューニング部をさらに備えた請求項７〜１２のいずれか１つに記載の動作システムのパラメータ推定システム。
【請求項１４】
動作デバイスの目標ポジションおよび目標速度の少なくともいずれか１つを指示する設定点を受信し、
前記目標ポジションおよび前記目標速度の少なくともいずれか１つに、前記動作デバイスを移行させるための動作プロファイルを生成し、
前記動作プロファイルは、その少なくとも１つのセグメントに対し、時間の関数として連続的に変化するジャーク基準を定める動作プロファイルの生成方法。
【請求項１５】
前記動作プロファイルの前記生成は、その少なくとも１つのセグメントに対して、時間の関数として、加速度基準、速度基準およびポジション基準のうちの少なくとも１つを定めることを含む請求項１４記載の動作プロファイルの生成方法。
【請求項１６】
前記生成は、前記動作プロファイルのそれぞれのセグメントに対して、前記ジャーク基準、速度基準およびポジション基準のうちの少なくとも１つを計算し、
前記動作プロファイルの前記それぞれのセグメントの継続時間を計算し、
前記継続時間を、動作コントローラのサンプリング時間のそれぞれに最も近い倍数に修正し、
前記修正された継続時間を用いて、前記ジャーク基準、前記加速度基準、前記減速度基準および前記速度基準のうちの少なくとも１つを再計算する請求項１４または１５に記載の動作プロファイルの生成方法。
【請求項１７】
前記生成は、
【数６３】
2013225284.tif 000072
【数６４】
2013225284.tif 000073
【数６５】
2013225284.tif 000074
【数６６】
2013225284.tif 000075
【数６７】
2013225284.tif 000076
【数６８】
2013225284.tif 000077
【数６９】
2013225284.tif 000078
【数７０】
2013225284.tif 000079
【数７１】
2013225284.tif 000080
【数７２】
2013225284.tif 000081
【数７３】
2013225284.tif 000082
【数７４】
2013225284.tif 000083
の関係にしたがって、前記動作プロファイルを生成する請求項１４〜１６のいずれか１つに記載の動作プロファイルの生成方法。
ここで、Pは前記動作デバイスのポジション、Jｅは最大加速ジャーク、Ｉは最大減速ジャーク、Ａは最大加速度、Ｄは最大減速度、Ｖは最大速度であり、
ｔ１は、前記動作プロファイルにおける加速度が増加する段階および減少する段階の継続時間、ｔ２は、前記動作プロファイルの加速度が一定の段階の継続時間、ｔ３は、前記動作プロファイルの一定速度の段階の継続時間、ｔ４は、前記動作プロファイルにおける減速度が増加する段階および減少する段階の継続時間、ｔ５は、動作プロファイルの減速度が一定の段階の継続時間であり、
ρは、
【数７５】
2013225284.tif 000084
で表される。
【請求項１８】
メモリと、
前記メモリに保存されたコンピュータが実行可能な要素を実行するプロセッサと、を備え、
前記コンピュータが実行可能な要素は、動作デバイスの目標ポジションまたは目標速度の受信に応答して、動作プロファイルを生成する動作プロファイル生成部を含み、
前記動作プロファイルは、その少なくとも１つの段階において、時間に対して連続的に変化するジャーク基準を有し、前記動作デバイスを前記目標ポジションまたは前記目標速度に移行させるための軌跡を定める動作プロファイルの生成システム。    
【請求項１９】
前記動作プロファイル生成部は、少なくとも１つの定められた制約条件に依存する動作プロファイルを生成し、
前記少なくとも１つの定められた制約条件は、サンプリング時間、速度限界、加速度限界、ジャーク限界および減速度限界のうちの少なくとも１つを含む請求項１８記載の動作プロファイルの生成システム。
【請求項２０】
前記動作プロファイル生成部は、
【数６３】
2013225284.tif 000085
【数６４】
2013225284.tif 000086
【数６５】
2013225284.tif 000087
【数６６】
2013225284.tif 000088
【数６７】
2013225284.tif 000089
【数６８】
2013225284.tif 000090
【数６９】
2013225284.tif 000091
【数７０】
2013225284.tif 000092
【数７１】
2013225284.tif 000093
【数７２】
2013225284.tif 000094
【数７３】
2013225284.tif 000095
【数７４】
2013225284.tif 000096
の関係にしたがって、前記動作プロファイルを生成する請求項１８または１９に記載の動作プロファイルの生成システム。
ここで、Pは前記動作デバイスのポジション、Jｅは最大加速ジャーク、Ｉは最大減速ジャーク、Ａは最大加速度、Ｄは最大減速度、Ｖは最大速度であり、
ｔ１は、前記動作プロファイルにおける加速度が増加する段階および減少する段階の継続時間、ｔ２は、前記動作プロファイルの加速度が一定の段階の継続時間、ｔ３は、前記動作プロファイルの一定速度の段階の継続時間、ｔ４は、前記動作プロファイルにおける減速度が増加する段階および減少する段階の継続時間、ｔ５は、動作プロファイルの減速度が一定の段階の継続時間であり、
ρは、
【数７５】
2013225284.tif 000097
で表される。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、動作システムのパラメータ推定法、そのパラメータ推定システム、動作プロファイルの生成方法およびその生成システムに関し、機械システムにおける慣性の自動推定方法および動作プロファイルの生成方法、一般的な動作制御、特に、動作制御システムにおいてパラメータとして使用する慣性および摩擦係数の推定、および、制約条件に基づく時間的最適動作のプロファイル生成に関する。
【背景技術】
【０００２】
自動化を適用する多くのケースでは、機械のポジションと速度を制御するために動作制御システムを採用する。そのような動作制御システムは、通常、コントローラの制御により動作する１つ以上のモータまたは類似した動作装置を含む。コントローラは、ユーザに定義された制御アルゴリズムまたはプログラムにしたがって、ポジションおよび速度の制御命令をモータに送る。いくつかの動作制御システムは、閉ループ構成で動作し、コントローラは、目標ポジションに移動するか、または、目標速度（望ましい状態）に移行するようモータに命令し、モータの動作状態を示すフィードバック情報を受信する。コントローラは、モータが目標ポジションもしくは目標速度に達したかどうかを決定するためにフィードバック情報を監視し、実際の状態と望ましい状態との間の誤差を補正するために制御信号を調整する。
【０００３】
動作制御システムの設計者は、動作速度とシステムの安定性との間の最適なトレードオフを追求する。例えば、機械部品を目標ポジションに高トルクで遷移させることをコントローラがモータに命令すれば、機械は、最初に、そのポジションと望ましいポジションとのズレを高速（すなわち、時間的に効率的な方法）で縮めるが、高トルクのために望ましいポジションを通過してしまうだろう。結果的に、コントローラは、機械を望ましいポジションに戻すために補正信号を出力しなければならない。動作システムを望ましいポジションに落ち着かせる前に、そのような相互作用が繰り返し実行され、望ましくない機械振動が生じるであろう。反対に、モータに低トルクで移動するよう命令すると、初期状態の遷移の精度を高くし、機械振動を低減もしくは無くすことができであろう。しかし、望ましいポジションに機械を移動させるための時間が長くなる。理想的には、状態の遷移速度と、システムの安定性と、の間のトレードオフを最適化するために、コントローラの利得係数が選択されるべきである。コントローラの好適な利得係数の選択は、チューニングとして知られている。
【０００４】
所定の利得係数を有するコントローラの信号に対する制御される機械システムの応答は、慣性および摩擦係数を含めた機械システムの物理的な特性に依存する。慣性は、動作システムの加速および減速に対する抵抗を表す。摩擦係数は、ロータとシャフトとの間の摩擦のようなモータに見られる摩擦を表す。制御された機械システムの慣性および摩擦係数に対する正確な推定は、チューニング過程を簡略化し、システムの性能を向上させる。しかしながら、任意の機械システムに対してこれらのパラメータの正確な値を同定することは難しい。いくつかのケースでは、慣性は、モータの定格と、負荷を含めた部品の物理的データ（重さ、寸法など）と、に基づいた手計算を用いて推定される。そのような計算は、厄介であり時間がかかる。そして、これらの重要なパラメータの正確な値を得ることは難しい。
【０００５】
動作制御の他の態様では、ポジションもしくは速度の状態遷移を促すために動作プロファイルがしばしば用いられる。例えば、（制御アルゴリズムまたはユーザの要求にしたがって）コントローラが、動作システムが新しいポジションに移動またはその速度を変化させなければならないことを決定する時、動作システムをそのポジション／速度から目標ポジション／速度へ遷移させるためのポジションまたは速度の軌跡を計算しなければならない。その軌跡は、動作プロファイルとして言及され、動作プロファイルは、そのシステムが現在の状態から目標の状態に移動する時間の経過とともに動作システムの速度、加速度およびポジション、もしくは、それぞれを明らかにする。一旦、この動作プロファイルが計算されれば、コントローラは、プロファイルによって明らかにされた軌跡を通して動作システムを動かすために、動作プロファイルを適切な制御信号に変換する。
【０００６】
いくつかの用途では、動作プロファイルのさまざまなセグメント（または、段階）が、予め決められたユーザ定義の制約（例えば、最大速度、最大加速度など）に基づいて計算される。そして、その制約は、動作システムの機械的な限界に対応している。これら制約、および、望ましい目標ポジションおよび速度もしくはそのいずれかを与えれば、コントローラは、望ましい動きまたは速度変化を実行するために用いられる動作プロファイルを計算する。得られる動作プロファイルは、コントローラが生成するように構成されたプロファイルの形式にも依存する。その形式は、典型的には、台形またはＳ曲線のプロファイルである。台形プロファイルに対し、コントローラは、３つの区別された段階、加速段階、定速度段階、減速段階にしたがって動作プロファイルを計算するだろう。そのようなプロファイルは、台形の速度曲線となる。Ｓ曲線型のプロファイルは、これらの段階の移行に対応した４つの付加的な段階を加えることにより台形プロファイルを修正する。これらの付加的な段階では、定速度（もしくはゼロ速度）段階と、定加速または定減速段階と、の間を徐々に移行することができ、より滑らかな動きを与え、その動作プロファイルのより精密な制御を可能とする。
【０００７】
台形プロファイルは、常に、定められた最大の加速度で加速または減速を行うため、この型のプロファイルでは、Ｓ曲線プロファイルに比べて２点間の動きが速くなる傾向にある。しかしながら、台形プロファイルは、定速度（もしくはゼロ速度）段階と、加速段階と、の間の移行が急峻であり、システムに過剰ながたつきをもたらすであろう。さらに、台形の動作プロファイルを用いると、目標ポジションまたは速度に対するオーバーシュートのリスクも大きくなり精度が低下する。また、コントローラの付加的な動作、および、動作機構を望ましい目標に戻す時間が生じる。一方、Ｓ曲線プロファイルでは、定速度フェーズと、加速または減速フェーズと、の間で高精度の制御が可能となるが、２点間移動そのものに付加的な時間が生じる。
【０００８】
上記の説明は、単に、通常の動作制御システムが当面するいくつかの課題の概要を提供することを意図するものである。通常のシステムにおける他の課題、および、ここに説明する様々な非限定的な実施形態の対比される利点は、以下の説明により明らかとなるであろう。
【発明の概要】
【課題を解決するための手段】
【０００９】
１以上の実施形態を基本的に理解するために、以下に概要を提示する。この概要は、すべての考慮された実施形態の全容を表すものではなく、全ての実施形態の鍵となる、または、不可欠な要素を認識させるものではなく、任意の、もしくは、全ての実施形態を説明するものでもない。その目的は、後に提示されるより詳細な説明の前奏として、簡略化された形態の１以上の実施形態の概要を提示することである。
【００１０】
この開示の１以上の実施形態は、制御される機械システムの慣性および摩擦係数を自動的に推定するシステムおよび方法に関する。この目的を達成するために、慣性推定システムは、コントローラがモータにトルク制御信号を送るように命令することができ、トルク制御信号は、定められた最大トルク値と最小トルク値との間で時間に対し連続的に変化する。このトルク制御信号は、慣性推定システムにおいて定められたテストシーケンスに基づいて制御される。非限定的な例として、テストシーケンスは、トルク制御信号が定められた増加レートで徐々に増加し、モータを加速させることを特定できる。定められたトリガーに応答して、トルク制御信号は、ゼロまで徐々に減少し、モータを停止状態に減速させることができる。
【００１１】
これらの加速および減速フェーズの間、慣性推定システムは、トルク制御信号に応答するモータの速度を時間に対して測定し記録する。そして、慣性演算部は、時間的に変化するトルク信号および測定された速度曲線に基づいて、機械システムの推定慣性および推定摩擦係数のいずれか、または、両方を決定する。推定慣性および推定摩擦係数、もしくは、そのいずれかは、システムの適切な制御利得の同定を容易にするため、後に使用される。
【００１２】
この開示の他の形態は、制約条件に基づく時間的に最適化された動作プロファイルを効率てきに生成するシステムおよび方法に関係する。この目的を達成するために、コントローラの内部に配置されたプロファイル生成部は、制約条件に基づく、時間的に最適化された２点間の移動をリアルタイムに解析し、その解に基づいた軌跡を計算するために数学的なアルゴリズムを活用する。スムーズで正確な２点間の移動を得るために、プロファイル生成部は、プロファイルの加速セグメントおよび減速セグメントの少なくとも１つにおいて、時間に対し連続なジャーク基準を有するプロファイルを生成し、ＳＴ曲線タイプのプロファイルに基づいた軌跡を計算する。時間的に変化するジャーク基準を含む動作プロファイルの計算により、ここに開示されるプロファイル生成部は、通常の台形もしくはＳ曲線プロファイルよりもスムーズで安定した動作を創り出すことができる。
【００１３】
プロファイル生成部により生成されたＳＴ曲線のプロファイルは、非対称な加速および減速フェーズをサポートする。従来は、非対称な加速度および減速度は、台形プロファイルによってのみサポートされており、よりスムーズなＳ曲線プロファイルではサポートされていない。ここに説明される技術にしたがって生成されるＳＴ曲線は、非対称な加速度および減速度に対しよりスムーズな動作プロファイルの使用を可能とする。いくつかの実施形態では、ここに説明されるプロファイル生成部は、非対称の加速度および減速度をサポートするＳ曲線プロファイルも生成できる。
【００１４】
他の態様では、ここに説明されるプロファイル生成部の１以上の実施形態は、最終的な軌跡で使用されない軌跡のセグメントに対して計算を省略することによりその効率を改善することができる。すなわち、１以上のセグメントが使用されないケースにおいて、プロファイルの７つの全ての段階に対しプロファイルデータを計算するよりも、ここに説明されるプロファイル生成部は、与えられた軌跡に対し、最終的な動作プロファイルで使用される段階についてのみ計算を行い、コントローラの演算負荷を減少させることができる。プロファイル生成部は、与えられた２点間の移動に対し、動作プロファイルのどのセグメントがスキップされるかを自動的に決定し、その結果、残りのセグメントを計算することができる。
【００１５】
他の態様によれば、ここに説明されるプロファイル生成部の１以上の実施形態は、プロファイルの全時間が動作コントローラのサンプリング時間の倍数となるようにすることで２点間の移動の精度および効率を向上させる。例示的な技術では、プロファイル生成部は、与えられた２点間の移動に対し、時間的に最適化された解を計算し、得られたプロファイルのそれぞれのセグメントの継続時間を決定し、これらの継続時間がサンプリング時間の倍数となるように丸めることができる。プロファイル生成部は、そのプロファイルのジャーク、加速度／減速度、速度、およびポジションを、これらの丸められた時間に適合するように再計算することができる。結果として、出力される軌跡はサンプル点に一致し、プロファイルの全時間が２つのサンプル時間の間に位置する場合に生じる小さな違いを補償する必要性が緩和される。
【００１６】
以下の説明および添付された図面は、１以上の実施形態のいくつかの図示できる詳細な態様を説明する。しかしながら、これらの態様は、様々な実施形態の原理を用いることが可能な多くの方法のいくつかを示しており、説明される実施形態は、そうのような態様の全て、および、それと同等のものを含む。
【図面の簡単な説明】
【００１７】
【図１】簡略化された閉ループ動作制御の構成を表すブロック図である。
【図２】非限定的な慣性推定システムを例示するブロック図である。
【図３】慣性推定器に関連する入出力を表すブロック図である。
【図４】慣性推定器と、動作制御システムと、の間の相互作用を表すブロック図である。
【図５】トルクコマンドｕ（ｔ）と、対応するフィードバック速度ｖ（ｔ）と、を時間に対して例示するグラフである。
【図６】慣性部と摩擦係数部とを有する慣性推定器を表すブロック図である。
【図７】慣性推定器が動作コントローラと比較される独立要素として機能する構成を例示するブロック図である。
【図８】慣性推定器によって生成された推定慣性および摩擦係数を用いる動作制御チューニングの応用例を表すブロック図である。
【図９】制御された機械システムに対する慣性および摩擦係数を推定するための手順を例示するフローチャートである。
【図１０】慣性および摩擦係数を推定するために、動作制御システムのテストシーケンスを実行する手順を例示するフローチャートである。
【図１１】動作制御システムにおける動作プロファイルの生成が可能な動作プロファイル生成システムを例示するブロック図である。
【図１２】プロファイル生成器を用いる動作コントローラを例示するブロック図である。
【図１３】例示されたポジションプロファイル生成器の入出力を表すブロック図である。
【図１４】例示された速度プロファイル生成器の入出力を表すブロック図である。
【図１５】通常の台形およびＳ曲線プロファイルと、例示されたＳＴプロファイルを比較するグラフである。
【図１６】すべての７つの段階を用いたＳ曲線プロファイルを例示するグラフである。
【図１７】定速度段階を省いたＳ曲の線動作プロファイルを例示するグラフである。
【図１８】定加速および定減速段階を省いたＳ曲線プロファイルを例示するグラフである。
【図１９】定加速、定速度および定減速段階を省いたＳ曲線プロファイルを例示するグラフである。
【図２０】動作制御システムにおける２点間移動のための動作プロファイルを計算する手順を例示するフローチャートである。
【図２１】動作コントローラのサンプリング時間にしたがった制約に基づく時間的な最適動作プロファイルの計算の手順を例示するフローチャートである。
【図２２】セグメントを省略して２点間移動を行うための動作プロファイルを計算する手順を例示するフローチャートである。
【図２３】ここに説明する１以上の実施形態を実施するためのネットワーク化もしくは分散化された演算環境を例示するブロック図である。
【図２４】ここに説明する１以上の実施形態を実施するための演算システムもしくは動作環境を例示するブロック図である。
【発明を実施するための形態】
【００１８】
図を参照しながら、いくつかの実施形態を説明する。図中の類似する符号は、類似する要素を表す。以下の説明における多数の具体的な詳細は、説明を目的とし、この開示を理解するために提供される。しかしながら、実施形態は、これらの具体的な詳細なしに、もしくは、他の方法、要素、材料などを用いて実施可能である。他の例として、構造および装置は、１以上の実施形態の説明を容易にするためにブロック図の形態で示される。
【００１９】
ここで説明されるシステムおよび方法は、制御された機械システムのための慣性および摩擦係数の推定値を生成する技術に関する。ここに開示される１以上の実施形態では、以下に詳細に明らかにされるテストシーケンスを通して機械システムを動作させることにより、これらのパラメータを実質的に自動的に推定することができる。このテストシーケンスの結果は、そのシステムに対して推定される正確な慣性および摩擦係数を生成するために用いることができる。これら推定されたパラメータは、実質的に、簡略化された正確なチューニングおよび動作システムの制御を容易にするために用いることができる。
【００２０】
（慣性および摩擦係数の推定）  
図１は、簡略化された閉ループ動作制御の構造を表している。コントローラ１０２は、機械的負荷１０６を動かすモータ１０４を制御するようプログラムされている。コントローラ１０２、モータ１０４および負荷１０６は、例示される動作制御システムの基本的な要素を含む。非限定的に例示される用途では、負荷１０６は、単軸もしくは多軸ロボットの１つの軸、または、ポジショニングシステムを表す。そのような用途では、コントローラ１０２は、負荷１０６を望ましいポジションに望ましいスピードで移動させることをモータ１０４に命令する制御信号１０８を送る。制御信号１０８は、モータ１０４に直接与えても良いし、モータ１０４に供給する電力（および、モータのスピードと方向）を制御するモータ駆動部（図示しない）に与えても良い。フィードバック信号１１０は、モータ１０４または負荷１０６、もしくは、その両者の現状態（すなわち、ポジション、速度など）を実質的にリアルタイムで示す。サーボ駆動システムでは、例えば、モータの絶対的または相対的なポジションを追跡する符号化器または解析器（図示しない）によりフィードバック信号１１０を生成できる。速度センサを欠くセンサ無しのシステムでは、フィードバック信号は、スピードまたはポジション推定器により提供される。移動動作の間、コントローラは、ロード１０６が正確に目標のポジションに到達するようにフィードバック信号１１０を監視する。コントローラ１０２は、フィードバック信号１１０により示される現実のポジションを目標のポジションと比較し、現実および目標のポジション間の誤差を減少または無くすように制御信号１０８を調整する。
【００２１】
他の例示的な用途では、負荷１０６は、モータ１０４で駆動される回転負荷（例えば、ポンプ、洗浄機、遠心分離器など）を表し、コントローラ１０２は、負荷の回転速度を制御する。この例では、コントローラ１０２は、モータ１０４に（制御信号１０８を介して）第１速度から第２速度へ移行する命令を与え、フィードバック信号１１０に基づいて制御信号１０８に必要な調整を行う。本用途のパラメータの推定技術は、上記の動作制御システムの例示された形式を用いることに限定されるのではなく、いかなる動作制御の用途にも好適に応用できることが認識されるべきである。
【００２２】
望ましいポジションまたは速度と、目標のポジションまたは速度と、の間の誤差（フィードバック信号１１０により伝えられる）に応答してコントローラ１０２によって生成される制御信号出力は、制御ループの利得係数に依存する。好適な利得の選定は、制御を受ける機械システムの物理的な特性に依存するため、設計技術者は、しばしば試行錯誤的な手法（すなわち、制御ループのチューニング）を用いて好適な利得係数を明らかにしなければならない。例えば、大きな慣性（加速または減速に対する抵抗）を有する機械システム、特に、目標のポジションまたは速度への速い収束が求められる用途では、新しいポジションまたは速度へ動き出すために比較的大きな初期トルクを必要とするだろう。しかしながら、大きなトルクは、オーバーシュートの可能性を大きくし、システムを目標に戻す逆補正を必要とする。最適な利得設定をしない場合、目標のポジションまたは速度に落ち着く前に、システムは補正のための相互作用を実施するため、望まない機械振動が生じる。そのような振動は、システムを不安定とし、システム遅延を生じさせる。そして、システムを安定させるために求められる付加的な動作の結果として過剰な電力を消費する。機械システムが与えられる制御信号に応答する程度にモータの摩擦も影響し、制御システムをチューニングする場合に考慮すべき因子となる。
【００２３】
機械システムの慣性および摩擦係数の正確な推定値を知れば、制御システムのチューニングは、簡略化できる。これらのパラメータの知識は、動作中のシステムの性能も向上させる。これに応じて、本用途の１以上の実施形態では、制御された機械システムの慣性および摩擦係数を、実質的に自動化された態様で正確に推定することができる。
【００２４】
図２は、機械システムの慣性および摩擦係数の推定値を生成できる非限定的な慣性の推定システムを例示するブロック図である。慣性推定器２０２は、トルクコマンド生成部２０４、速度監視部２０６、慣性演算部２０８、摩擦係数演算部２１０、インターフェース部２１２、１以上のプロセッサ２１４およびメモリ２１６を含む。多様な実施形態において、トルクコマンド生成部２０４、速度監視部２０６、慣性演算部２０８、摩擦係数演算部２１０、インターフェース部２１２、１以上のプロセッサ２１４およびメモリ２１８のうちの１つ以上は、慣性推定器２０２の１以上の機能を実行するために、相互に電気的もしくは通信可能に結合でき、また、相互に電気的および通信可能に結合できる。
【００２５】
いくつかの実施形態では、トルクコマンド生成部２０４、速度監視部２０６、慣性演算部２０８、摩擦係数演算部２１０およびインターフェース部２１２は、メモリ２１６に記憶され、プロセッサ２１４により実行されるソフトウェアの命令を含む。慣性推定器２０２は、図２に表されない他のハードウェアおよびソフトウェア部品とも相互に作用できる。例えば、プロセッサ２１４は、キーボード、マウス、表示モニター、タッチスクリーン、もしくは、他のインターフェース器機など、１以上の外部ユーザとのインターフェース装置と相互作用する。
【００２６】
インターフェース部２１２は、ユーザの入力を受け入れ、任意の好適な形式（例えば、視覚、音声、触覚など）によりユーザに出力を提供する。ユーザの入力は、例えば、慣性推定シーケンス（以下に詳細に説明される）を実行する際に慣性推定器で使用されるユーザ入力のパラメータでも良い。トルクコマンド生成部２０４は、定義されたテストシーケンスにしたがって、時間的に連続して変化するトルク制御命令を出力するように構成できる。速度監視部２０６は、機械システムの速度データを慣性および摩擦係数の計算に使用するために受信することができる。いくつかの実施形態では、速度監視部２０６は、トルクコマンド生成部２０４によって生成されたトルク制御命令が適用され、それに応答したモータの速度を測定し記録する。また、速度監視部２０６は、別の測定器具から測定された速度データを受信することもできる。慣性演算部２０８および摩擦係数演算部２１０は、トルクコマンド生成部２０４により生成された時間的に変化するトルクコマンド、および、速度監視部２０６により取得された速度曲線に基づいて、慣性および摩擦係数をそれぞれ計算するように構成される。１以上のプロセッサ２１４は、開示されたシステムおよび方法、もしくは、そのいずれかを参照して、以下に説明される１つ以上の機能を実施する。メモリ２１６は、コンピュータが読み取り可能な記憶媒体であれば良く、開示されたシステムおよび方法、もしくは、そのいずれかを参照して、以下に説明される機能を実施するために、コンピュータが実行可能な命令および情報、もしくはそのいずれかを記憶する。
【００２７】
慣性推定器は、テストシーケンスを通してシステムを動作させ、その結果に基づいて推定値を計算することにより機械システムの慣性および摩擦係数に対する推定値を生成する。図３は、慣性推定器３０２（慣性推定器２０２に類似）に関連する入出力を表すブロック図である。慣性推定器３０２は、動作システムを駆動するモータに、与えられたトルクで特定された方向に回転することを命令するトルクコマンド３１０を生成することができる。一定のトルク値の間の遷移を突発的なステップで生じさせ、結果としてステップ状のトルクを出力させる１つ以上の一定のトルクコマンドを発するよりも、慣性推定器３０２は、最大および最小のトルク値の間でトルク値が時間に対して連続的に変化するようにトルクコマンド３１０を制御する。以下により詳細に議論するように、ユーザが定義したパラメータを有するテストシーケンスにしたがって、慣性推定部３０２は、トルクコマンド３１０を介して出力されるトルク値を制御する。
【００２８】
動作システムは、慣性推定器から出されたトルクコマンド３１０にしたがって加速または減速を行い、動作制御システムからの速度帰還３０４が慣性推定器３０２に与えられる。速度帰還３０４は、動作システムの速度を時間に対して表す。例示されたテストシーケンスでは、慣性推定器３０２は、速度帰還３０４およびユーザにより定義された１以上の設定点の関数としてトルクコマンド３１０を制御することができる。ユーザ定義の設定点は、トルクコマンド信号の上限および下限を決める１以上の限界トルク３０６、および、トリガー速度値を決める１以上の速度検出点３０８、または、そのいずれかを含む。トリガー速度値は、トルクコマンド３１０を制御するため、および、推定値を生成するために使用される。
【００２９】
テストシーケンスを完了すると、慣性推定器３０２は、動作システムの慣性の推定値３１２および動作システムの摩擦係数の推定値３１４を生成する。慣性推定器３０２は、動作システムに出力され、速度帰還３０４に対応するトルクコマンド３１０に基づいてこれらの推定値を決定する。１以上の実施形態において、慣性推定器３０２は、トルク曲線（トルクコマンド３１０に対応）および速度曲線（速度帰還３０４に対応）の選択された部分を時間に対して積分し、これら積分の関数として推定慣性３１２および推定摩擦係数３１４を計算することができる。
【００３０】
図４は、例示されたテストシーケンスを実行する間の慣性推定器と動作制御システムとの相互作用を表している。この例では、動作システム４２４は、コントローラ４１８により与えられる制御信号４２０に応答するモータ４２４を含む。モータ４２４は、ポジション軸、機械の回転部または他のモータ駆動の負荷のような負荷（図示しない）を駆動するために用いられる。コントローラ４１８は、モータ４２４のリアルタイムの状態を示すデータ（例えば、ポジション、スピードなど）を与えるフィードバック４２２を監視する。
【００３１】
図示した例では、慣性推定器４０２は、コントローラ４１８から分離した要素として明示されている。このような構成では、慣性推定器４０２は、コントローラ４１８または動作システム４２４の他の要素と、任意の好適な通信手段を介してデータをやりとりすることができる。通信手段は、有線または無線のネットワーク、配線されたデータリンクもしくは他の通信手段を含むが、これらに限定される訳では無い。他の実施形態では、慣性推定器４０２は、コントローラ４１８に統合されても良い。例えば、慣性推定器４０２は、コントローラのオペレーティングシステムの機能部、および、コントローラ４１８上に存在する１以上のプロセッサにより実行される制御ソフトウェア、もしくは、そのいずれかであっても良い。また、慣性推定器４０２は、コントローラ４１８の中で他の機能要素とデータをやり取りする回路基板または集積回路のようなハードウェア部品であっても良い。慣性推定器４０２の他の好適な実施は、本開示のいくつかの実施形態の範疇にある。
【００３２】
試験の前に、１以上のユーザ定義のパラメータ４１２が、インターフェース部４０６（図２に関連して説明したインターフェース部２１２に類似）を介して慣性推定器４０２に与えられる。これらのパラメータは、トルクコマンド生成部４０８（図２のトルクコマンド性西部２０４に類似）により生成されるトルクコマンドの上限および下限を決める最大トルクｕｍａｘおよび最小トルクｕｍｉｎを含む。いくつかの実施形態では、慣性推定器４０２は、ユーザにより決定される最大トルクｕｍａｘのみを必要とし、決定された最大トルクの大きさを進行方向および逆方向の両方に対する限界値として用いる。他の実施形態では、慣性推定器４０２は、ｕｍａｘおよびｕｍｉｎの両方の値を受け入れ、進行方向および逆方向のそれぞれに対し、異なるトルク設定点を許容する。ｕｍａｘおよびｕｍｉｎに対して選択された値は、動作システム４２４の予定された動作限界に対応し、これにより、システムのトルクプロファイル全体に対する動作システム４２４の特性に基づいて慣性および摩擦係数を決定することが許容される。以下により詳細に説明するように、ユーザ定義のパラメータ４１２は、テストシーケンスの段階を定義するために用いられる臨界速度を決める１以上の速度検出点（ｖ１、ｖ２、ｖ３、・・・）も含む。
【００３３】
インターフェース部は、ユーザ定義のパラメータ４１２をトルクコマンド生成部４０８に与える。試験を開始したとき、トルクコマンド生成部４０８は、動作システム４２４にトルクコマンド４１４を出力する。トルクコマンド生成部４０８は、時間に対して連続的にトルクコマンドを変化させるため、トルクコマンド４１４は、ｕ（ｔ）のように表される。図４に表された構成では、慣性推定器４０２は、トルクコマンド４１４をコントローラ４１８に送り、コントローラ４１８は、モータ４２４に指示された方向に、指示されたトルクで回転するように（制御信号４２０を介して）命令する。モータの回転にしたがい、速度監視部４１０は、コントローラ４１８から速度データ４１６を読み取る。（コントローラ４１８自身は、フィードバック４２２を介してモータ４２４の速度を計測する。）時間に対して測定された速度４１６は、ｖ（ｔ）のように表される。
【００３４】
試験の進行にしたがい、トルクコマンド生成部４０８は、予め決定されたテストシーケンスにしたがってトルクコマンド４１４を変化させ、テストシーケンスの各フェーズは、ユーザ定義のパラメータ４１２に比較された速度帰還４１６により開始される。テストシーケンスの例は、トルクコマンドｕ（ｔ）の例、および、対応する速度帰還ｖ（ｔ）を時間に対するグラフで示した図５を参照して以下に説明される。トルクのグラフ５０２に示すように、トルクコマンド信号ｕ（ｔ）は、ｕｍａｘおよびｕｍｉｎにより拘束される。速度グラフ５０４に示された速度監視点ｖ１、ｖ２およびｖ３は、テストシーケンスのフェーズの移行を決定する。ｕｍａｘ、ｕｍｉｎ、ｖ１、ｖ２およびｖ３の値は、（例えば、図４のユーザ定義のパラメータ４１２のように）試験の前にユーザにより決定される。
【００３５】
時間ｔ＝０（ゼロ）において試験を開始したとき、適用されるトルク信号ｕ（ｔ）およびモータ速度ｖ（ｔ）は、共にゼロである。最初に、トルクコマンド生成部は、負のトルク信号を動作システムに送り、動作システムを負の方向に加速する。この試験の第１フェーズでは、トルクコマンド生成部は、モータ速度ｖ（ｔ）がｖ１に達するか、トルクコマンドｕ（ｔ）がｕｍｉｎに達するまで、トルクコマンドｕ（ｔ）を徐々に減少させる。この例では、モータ速度ｖ（ｔ）は、時間ｔ＝ｔ１においてｖ１に達し、試験の第２フェーズを開始させる。グラフ５０２に示すように、トルクコマンドｕ（ｔ）は、時間ｔ＝０とｔ＝ｔ１との間において、実質的に一定のレートで連続的に減少する。１以上の実施形態において、トルクコマンドが減少または増加するレート（すなわち、ｕ（ｔ）の傾き）は、（例えば、インターフェース部４０６を介した）慣性推定器４０２のユーザ定義のパラメータとして構成できる。
【００３６】
試験の第２フェーズ（時間ｔ＝ｔ１において開始）に対して、トルクコマンド生成部は、モータ速度ｖ（ｔ）が速度検出点ｖ３に達するか、トルクコマンドｕ（ｔ）がトルク設定点ｕｍａｘに達するまで、トルクコマンドｕ（ｔ）を徐々に増加させる。この例では、トルクコマンドｕ（ｔ）は、モータ速度ｖ（ｔ）が速度検出点ｖ３に達する前に、上限ｕｍａｘに達している。モータは、この時点でまだ加速しているため、トルクコマンド生成部は、速度ｖ（ｔ）がｖ３に達するまで、トルクコマンド信号をｕｍａｘに維持する。速度グラフ５０４に表されるように、モータ速度は、時間ｔ＝ｔ４においてｖ３に達する。速度ｖ（ｔ）が、トルクコマンド信号がｕｍａｘに達した後、定義された時間までに速度検出点ｖ３に達しなければ（すなわち、速度検出点ｖ３が何かの理由で動作システムの物理的な限界速度よりも高く設定されたとすれば）、慣性推定器は、好適なタイムアウト処理ルーティンを始めることができる。タイムアウト処理ルーティンは、例えば、テストシーケンスを中断し、インターフェース部４０６を介してエラーメッセージを表示することを含む。
【００３７】
このフェーズの間、動作システムはｖ３に向けて加速しているので、速度は、テストシーケンスの加速フェーズを示す速度検出点ｖ２を通過する。以下により詳細に議論するように、速度検出点ｖ２は、ゼロより大きく、ｖ３より小さく設定され、テストシーケンスの加速フェーズの開始と、減速フェーズの終了と、を表すために用いられる。
【００３８】
モータ速度がｖ３に達したことを検出すれば、トルクコマンド生成部は、時間ｔ＝ｔ４においてトルクコマンドｕ（ｔ）を徐々に減少させることにより、試験の第３フェーズを開始する。トルクコマンドｕ（ｔ）が減少するにしたがい、モータは、トルクコマンドｕ（ｔ）の値が動作システムの摩擦力よりも小さくなるまで、しばらくの間、加速を続ける。そして、トルクコマンドｕ（ｔ）の値が動作システムの摩擦力よりも小さくなった時、モータは減速を開始する。モータは、時間ｔ＝ｔ３において速度がｖ３に達した時、まだ加速しているため、トルクコマンドが減少を始めた後も、いくらかの時間の間、ｖ３を越えた状態を続ける。テストシーケンスの定義にしたがって、トルクコマンド生成部は、モータ速度ｖ（ｔ）が速度検出点ｖ３に戻る（時間ｔ＝ｔ６）まで、ｕ（ｔ）を減少させ続ける。その後、モータ速度ｖ（ｔ）が速度検出点ｖ２に戻る（時間ｔ＝ｔ７）まで、ｕ（ｔ）を一定に保持する。この時点で、慣性推定器は、機械システムの慣性および摩擦係数の推定を計算するために必要なデータを取得する。トルクコマンド生成器は、トルクコマンド信号ｕ（ｔ）をゼロに戻し（時間ｔ＝ｔ８）、グラフ５０４に表すように、ｖ（ｔ）曲線の端を漸減させることにより、動作システムを惰性で停止させる。
【００３９】
図５に関連して説明した上記のテストシーケンスは、一例を表すことを意図するだけであり、テストシーケンスを限定するものではない。時間に対してトルクコマンドｕ（ｔ）を連続的に変化させ、動作システムの対応する速度プロファイルｖ（ｔ）を測定する任意の好適なテストシーケンスは、ここに開示されたいくつかの実施形態の範疇にあることが理解されるべきである。例えば、前述した例では、それぞれの速度検出点に到達した速度ｖ（ｔ）に応答して方向を変化させるトルクコマンドｕ（ｔ）を説明したが、いくつかのテストシーケンスでは、トルクコマンドの方向は変化させずに、速度検出点に到達した時、トルクコマンドｕ（ｔ）の増加もしくは減少のレートを変えるだけのフェーズを含んでも良い（すなわち、増加するトルクコマンドは、フェーズ検出点に到達したｖ（ｔ）に応答し、よりゆっくりしたレートで増加を続けても良い）。
【００４０】
前述したテストシーケンスを実施する場合、慣性推定器４０２は、トルクコマンド生成部４０８により生成されたトルクコマンド信号ｕ（ｔ）と、速度監視部４１０により読み取られた対応するモータ速度ｖ（ｔ）の両方を記録する。これらのトルク曲線および速度曲線は、慣性および摩擦係数の正確な推定値をその曲線に基づいて計算できるように、動作システム４２４を特徴付ける。１以上の実施形態において、慣性推定器は、ｕ（ｔ）およびｖ（ｔ）の積分に基づいてこれらの推定値を計算する。次に、動作システムに対する慣性および摩擦係数の推定値を導き出すためにｕ（ｔ）およびｖ（ｔ）の積分を活用する非限定的な技術を例示する。
【００４１】
動作システムは、微分方程式で表すことができる。
【数１】
2013225284.tif 000003
ここで、Ｊは慣性であり、Ｂは摩擦係数である。ｕ（ｔ）はトルクコマンド信号、ｖ（ｔ）は、トルク信号ｕ（ｔ）に応答する動作システムの対応する速度である（例えば、ｕ（ｔ）およびｖ（ｔ）は、図４および図５に関連して説明されている）。
【００４２】
式（１）の両側を、それぞれ加速および減速段階において積分すると次式を得る。
【数２】
2013225284.tif 000004
【数３】
2013225284.tif 000005
ここで、ｕａｃｃ（ｔ）およびｖａｃｃ（ｔ）は、それぞれｕ（ｔ）およびｖ（ｔ）の一部であり、テストシーケンスの加速フェーズに対応する。ｕｄｅｃ（ｔ）およびｖｄｅｃ（ｔ）は、それぞれｕ（ｔ）およびｖ（ｔ）の一部であり、テストシーケンスの減速フェーズに対応する。
【００４３】
式（２）および（３）を解いて、慣性Ｊおよび摩擦係数Ｂを求めることができる。
【数４】
2013225284.tif 000006
【数５】
2013225284.tif 000007
【００４４】
図４に表されたトルク曲線および速度曲線の例では、加速フェーズは、速度ｖ（ｔ）が最初に速度検出点ｖ２に達した時（時間ｔ＝ｔ３）に始まり、トルク信号ｕ（ｔ）がゼロをよぎった時（時間ｔ＝ｔ５）に終わる。この加速フェーズの終点における動作システムの速度は、（グラフ５０４に示される）ｖ４として記録される。減速フェーズは、トルク信号ｕ（ｔ）がゼロをよぎった時（時間ｔ＝ｔ５）に始まり、速度ｖ（ｔ）がｖ２に戻った時（時間ｔ＝ｔ７）に終わる。慣性推定器４０２は、式（４）および（５）に基づいて推定慣性および推定摩擦係数を導出するために、これらの加速および減速フェーズの描写を認識するように構成できる。加速フェーズおよび減速フェーズを描写するための他の基準も、ここに開示されたいくつかの実施形態の範囲にあることを認識すべきである。
【００４５】
これらの加速フェーズおよび減速フェーズの定義が与えられると、ｕａｃｃ（ｔ）およびｕｄｅｃ（ｔ）の積分範囲は、それぞれＵａｃｃおよびＵｄｅｃと表示されたグラフ５０２の網掛け領域で表され、ｖａｃｃ（ｔ）およびｖｄｅｃ（ｔ）の積分範囲は、それぞれＶａｃｃおよびＶｄｅｃと表示されたグラフ５０４の網掛け領域で表される。したがって、Ｕａｃｃ、Ｕｄｅｃ、ＶａｃｃおよびＶｄｅｃは、次のように決定される。
【数６】
2013225284.tif 000008
【数７】
2013225284.tif 000009
【数８】
2013225284.tif 000010
【数９】
2013225284.tif 000011
【００４６】
式（６）〜（９）を式（４）〜（５）に代入すると、慣性Ｊおよび摩擦係数Ｂは、次のように表せる。
【数１２】
2013225284.tif 000012
【数１３】
2013225284.tif 000013
ここで、速度変化Δｖａｃｃ（ｔ）およびΔｖｄｅｃは、次のように定義される。
【数１０】
2013225284.tif 000014
【数１１】
2013225284.tif 000015
【００４７】
式（１２）および（１３）は例示であり、連続的なトルクおよび速度データに基づいて動作システムの推定慣性および推定摩擦係数を計算するための非限定的な式である。連続的なトルク信号および対応する速度曲線の積分を介してこれらのパラメータを計算するための任意の好適な式は、ここに開示するいくつかの実施形態の範囲内であることが認識されるできである。
【００４８】
図４および図５に関連して上記のテストシーケンスを完了した場合、慣性推定器は、式（１２）および（１３）（または他の好適な式）を、慣性および摩擦係数の推定量を導出するための試験により得られた連続的なトルクデータｕ（ｔ）およびモータ速度データｖ（ｔ）に適用することができる。図６は、ここに開示する１以上の実施形態にしたがった、慣性演算部６０６と、摩擦係数演算部６０８と、を有する慣性推定器６０２を表すブロック図である。慣性推定部６０２は、慣性演算部６０６および摩擦係数演算部６０８の両方を含むように表されているが、慣性推定部６０２のいくつかの実施形態は、この開示の範囲を逸脱することなく、これらの演算部の１つだけを含むことができる。すなわち、慣性推定器６０２は、慣性および摩擦係数のいずれか１つ、または、その両方を計算するように構成しても良い。
【００４９】
トルクデータｕ（ｔ）および速度データｖ（ｔ）が得られた後、トルクコマンド生成部６０４（トルクコマンド生成部４０８および２０４に類似）は、慣性演算部６０６および摩擦係数演算部６０８（図２の慣性演算部２０８および摩擦係数演算部２１０にそれぞれ類似）にトルクデータを与える。同様に、速度監視部６０６は、慣性演算部６０６および摩擦係数演算部６０８に得られた速度データｖ（ｔ）を与える。１以上の実施形態によれば、慣性推定器６０２は、上記の式（６）〜（９）を用いてＵａｃｃ、Ｕｄｅｃ、ＶａｃｃおよびＶｄｅｃの値を導出できるように、トルクデータおよび速度データを加速フェーズのデータ（ｕａｃｃ（ｔ）およびｖａｃｃ（ｔ））と、減速フェーズのデータ（ｕｄｅｃ（ｔ）およびｖｄｅｃ（ｔ））と、に分離する。
【００５０】
慣性演算部は、ｕａｃｃ（ｔ）、ｕｄｅｃ（ｔ）、ｖａｃｃ（ｔ）およびｖｄｅｃ（ｔ）を積分し、（例えば、式（１２）もしくはその変形に基づいて）積分値の関数として推定慣性Ｊ６１０を計算する。同じように、摩擦係数演算部６０８は、（例えば、式（１３）に基づいて）積分値の関数として推定摩擦係数Ｂ６１６を計算することができる。その結果、慣性推定器が動作する個別の用途の要求にしたがって、慣性推定器６０２は、推定慣性Ｊ６１０と推定摩擦係数Ｂ６１２とを出力することができる。例えば、慣性推定器６０２は、慣性Ｊ６１０と摩擦係数Ｂ６１２とを動作制御部６１４に与え、動作制御部６１４は、１以上の利得係数のチューニングを容易にするためにＪおよびＢの値を用いる。慣性推定器６０２は、ＪおよびＢの推定値を見て別の動作制御もしくはチューニングの用途にマニュアルで入力できるように、（例えば、インターフェース部２１２を介して）表示装置に出力することもできる。動作システムの慣性Ｊ６１０および摩擦係数Ｂ６１２の正確な推定は、チューニングプロセスを簡略化し、正確なパラメータチューニングを容易にする。この結果、緻密でエネルギー効率の良い機械動作が得られる。さらに、慣性推定器は、（１以上の一定のトルクコマンドに対するシステムの応答に基づいて推定するのではなく）動作システムのトルクプロファイル全体から収集されたデータに基づいて ＪおよびＢの値を計算するので、慣性推定器により導出される慣性および摩擦係数の推定は、動作システムの動作範囲全体において、より正確である。
【００５１】
前述した例では、慣性推定器は、トルクコマンドｕ（ｔ）を送り、動作制御部（例えば、図４のコントローラ４１８）を介して速度帰還ｖ（ｔ）を受け取り、コントローラを介して動作する分散した部品、もしくは、コントローラとして集積化された部品のいずれかであるように説明したが、他の構成も、ここに開示するいくつかの実施形態の範囲に含まれる。例えば、図７は、慣性推定器７０６がコントローラ７０２から独立した要素として動作する構成を表している。この例では、慣性推定器７０６は、コントローラ７０２とは独立した自分のトルクコマンド信号を生成することができる。試験され、制御されるモータ７０４は、スイッチ７１２の状態に依存してコントローラ７０２または慣性推定器７０６からトルクコマンド信号を受信することができる。モータ７０４からの速度帰還７１０は、コントローラ７０２および慣性推定器７０６の両方に与えられる。テストシーケンスの間は、スイッチ７１２は、慣性推定器７０６からトルクコマンドｕ（ｔ）が伝達されるようにセットされる。前述の例で説明したように試験が実行され、慣性推定器７０６は、動作システムの慣性Ｊおよび摩擦係数Ｂの推定値を生成する。そして、慣性推定器７０６は、ＪおよびＢの推定値をコントローラ７０２に与え、コントローラ７０６は、好適な制御利得係数または他の制御パラメータを決定するために、その値を用いることができる。一旦、制御パラメータが設定されれば、スイッチ７１２は、コントローラ７０２からモータ７０４へトルクコマンド７０８を与える位置に切り替えられ、ＪおよびＢに基づいて導出された制御利得係数を用いてモータシステムの通常動作が実行される。
【００５２】
図８は、慣性推定器により生成された推定慣性および推定摩擦係数を用いた動作制御チューニングの適用例を表している。この例では、チューニング部８０４がコントローラ８０６のために制御利得を調整し、コントローラ８０６は、モータ駆動の動作システム（図示しない）の動作を制御する。慣性推定器８０２は、上記の技術により動作システムの慣性Ｊ８０８および摩擦係数Ｂ８１０の推定値を生成することができる。具体的には、慣性推定器８０２は、コントローラ８０６に連続的したトルクコマンドを動作システムのモータに送るよう命令し、トルクコマンドは、予め定められたテストシーケンスにしたがって、時間に対して連続的に変化する。また、慣性推定器８０２が（図７に表す構成例のように）コントローラ８０６とは独立に動作する実施形態では、慣性推定器８０２は、それ自身の連続したトルクコマンドを生成し、動作システムに出力しても良い。テストシーケンスは、加速および減速フェーズを含むことができ、その間、慣性推定器８０２は、適用されたトルクコマンドに応答する動作システムの速度を監視および記録する。テストシーケンスの結果に対し、時間的に変化するトルクコマンド信号、および、対応して時間的に変化する動作システムの速度の積分（例えば、式（１２）および（１３））に基づいて、慣性推定器８０２は、慣性Ｊ８０８および摩擦係数Ｂ８１０の推定値を計算することができる。
【００５３】
慣性推定器８０２は、慣性Ｊ８０８および摩擦係数Ｂ８１０をチューニング部８０４に与えることができる。代わりに、慣性推定器８０２は、ＪおよびＢの値をユーザインターフェースに与え、ユーザがチューニング部８０４に推定慣性と推定摩擦係数をマニュアルで入力しても良い。ＪおよびＢ、もしくは、そのいずれかの知識は、動作システムの機械的特性に基づいてチューニング部８０４に１以上の制御利得８１２の好適な推定値を生成させる。チューニング部８０４は、望ましい動作特性を得るためにインターフェース８１６を介してユーザによりマニュアルで調整された制御システムのバンド幅８１４（例えば、重複した周波数）と、慣性Ｊおよび摩擦係数Ｂ８１０、もしくは、そのいずれかと、の関数として制御利得８１２の好適な値を生成できる。
【００５４】
通常の用途において、ここに説明される慣性推定器は、通常動作前の動作制御システムを最初に準備する間に、動作システムの慣性Ｊおよび摩擦係数Ｂの信頼できる推定値を生成することができる。具体的には、慣性推定器は、制御パラメータ（例えば、制御利得係数）の構成およびチューニングに関連して使用される。一度、設定され、後でシステムを再調整することが決定されなければ、システムが動き出した後もこれらのパラメータは、通常、固定されたままである。しかしながら、いくつかの実施形態では、慣性推定器は、動作時間の間に周期的もしくは連続的にＪおよびＢの値を自動で再計算するように構成できる。そのような構成を用いれば、ＪおよびＢの推定に基づいた制御パラメータは、通常動作の間に過渡的に調整され、（例えば、機械的摩滅、モニタで見られる負荷の変化などの結果としての）段階的変化に対し、実質的にリアルタイムで、動作システムの機械的特性の補正を行うことができる。
【００５５】
図９および図１０は、いくつかの開示された態様にしたがう、いくつかの手順を表している。説明の簡略化のために、手順は一連の行為として示され、説明されるが、開示された態様は、その行為の順に限定されず、いくつかの行為は、ここに示され、説明されたものと異なる順で、他の行為と同時に行われても良いし、そのいずれかであっても良いことを理解し、認識すべきである。例えば、当業者であれば、手順は、状態図のように相互に関連する状態もしくは事象の連続として選択可能に表されることを理解し、認識するであろう。さらに、いくつかの開示された態様にしたがって手順を実行するために、表示された全ての行為が求められる訳ではない。なお、この開示を通じて以下に示される手順は、そのような手順のコンピュータへの転送を容易にする製造物に記憶させることが可能であることを、さらに認識すべきである。
【００５６】
図９は、制御された機械システムの慣性および摩擦係数を推定するための手順例９００を表している。ステップ９０２において、連続したトルクコマンドｕ（ｔ）は、動作システムのコントローラに送られ、トルクコマンドｕ（ｔ）は、決められた最大トルクおよび最小トルクの設定点の間で時間と共に変化する。１以上の実施形態において、トルクコマンドｕ（ｔ）は、出力ｕ（ｔ）がテストシーケンスのフェーズと、１以上のユーザ定義の設定点と比較した機械システムの応答と、に依存するように、定められたテストシーケンスにしたがう。テストシーケンスは、モータスピードの増加および減少にそれぞれ対応する加速フェーズおよび減速フェーズの両方を備える。２方向の試験では、トルクコマンドｕ（ｔ）は、テストシーケンスの間、正または負のトルク値の間で変化し、その試験の間に、動作システムを両方向に加速する。
【００５７】
ステップ９０４では、トルクコマンドｕ（ｔ）に応答した動作システムの速度ｖ（ｔ）が記録される。その結果、テストシーケンスの完了により、時間ｔ＝０〜ｔｅｎｄに対し、適用されたトルクコマンドｕ（ｔ）の曲線データ、および、結果として得られる動作システムの速度ｖ（ｔ）の曲線データの両方が得られる。ここで、ｔｅｎｄは、テストシーケンスの継続時間である。
【００５８】
ステップ９０６では、トルク曲線ｕ（ｔ）および速度曲線ｖ（ｔ）の積分に基づいた慣性および摩擦係数の少なくともいずれか１つの推定値が計算される。１以上の実施形態では、ｕ（ｔ）およびｖ（ｔ）の曲線は、加速フェーズおよび減速フェーズに分割され、加速フェーズおよび減速フェーズのそれぞれの積分に基づいて慣性および摩擦係数を計算することができる。（例えば、式（１２）および（１３）または他の好適な式を用いる。）ステップ９０８では、動作システムの１以上のパラメータを、ステップ９０６で計算された推定慣性および摩擦係数、または、そのいずれかの関数として設定する。非限定的な例として、ステップ９０２〜９０６にしたがって計算された推定慣性および推定摩擦係数、もしくは、そのいずれかの基づいて１以上の制御利得係数を設定できる。
【００５９】
図１０は、動作制御システムにおいて、慣性および摩擦係数を推定するために実行される手順例１０００を表している。ステップ１００２では、動作システムに与えられるトルクコマンドは、最大トルクの設定点に達するまで、もしくは、適用されたトルクコマンドに応答して動作システムが第１の速度検出点（例えば、図５の速度検出点ｖ３）に加速されるまで、連続的に増加する。最大トルクの設定点および第１の速度検出点は、動作システムの上方動作限界に対応し、（例えば、動作システムの正常動作における最大トルクおよび速度として）試験の前に設定できる。トルクコマンドの増加レートもユーザが定めることができる。１以上の実施形態において、動作システムの速度が第１の速度監視点に達する前にトルクコマンドが最大トルク値に達した場合、動作システムが第１の速度検出点に加速されるまで、トルクコマンドは最大トルク値に保持される。動作システムの速度が定められたタイムアウト時間内に第１の速度検出点に達しない場合、適当なタイムアウト処理を開始する。
【００６０】
動作システムは、停止状態から第１の速度検出点まで加速されるので、その速度は、第２の速度検出点（例えば、図２の速度検出点ｖ２）を通過するだろう。ここで、第２の速度検出点は、ゼロよりも大きく、第１の速度検出点よりも小さい。試験の加速フェーズは、速度が最初に第２の速度検出点に到達した時に始まる。
【００６１】
動作システムが第１の速度検出点に加速されたことを検出すれば、トルクコマンドは、ステップ９０４においてトルクコマンドが最初トルクの設定点に到達するまで連続的に減少される。この場合、ステップ１００２において第１の速度検出点に達した時、動作システムは加速しているので、ステップ１００４においてトルク信号が減少し始めてでも、しばらくの間、その速度は第１の速度検出点を越えて増加する。トルクコマンド信号の減少は、実質的に、動作システムを減速し、第１の速度検出点に戻す。ステップ１００２のように、トルクコマンドを減少させるレートは、ユーザ定義のパラメータとして構成できる。この例では、動作システムが第１の速度検出点に戻る前に、トルクコマンドはゼロに減少し、最小トルクの設定点に達するまで、もしくは、第１の速度検出点に減速するまで、負の方向に減少を続ける。すなわち、トルクコマンドは、テストシーケンスのこのフェーズの間にゼロ点を横切る。これは、加速フェーズの終わりと、減速フェーズの始まりを示す。ステップ１００２と同じように、動作システムが第１の速度検出点に達する前に、トルクコマンドが最小トルクの設定点まで減少すれば、トルクコマンドは、第１の速度検出点に達するまで、最小トルク値に保持される。
【００６２】
動作システムの速度が第１の速度検出点に戻った時、第１の速度検出点に到達した時点のトルクコマンド値は、動作システムが減速し第２の速度検出点に戻るまで、ステップ１００６における一定値として維持される。これは、減速フェーズの終了のトリガとなる。
【００６３】
ステップ１００８において、トルクコマンドがステップ１００４の間にゼロをよぎる時間が検出される。この時間は、ＴＣＲＯＳＳＯＶＥＲとして示され、テストシーケンスの加速フェーズと減速フェーズの境界を決めるために用いられる。（図４に関連した上記の例では、ＴＣＲＯＳＳＯＶＥＲ＝ｔ５である。）ステップ１０１０では、動作システムのトルクコマンド曲線および対応する速度曲線の加速フェーズの部分において積分が実行される。すなわち、トルクコマンドデータは、時間Ｔ０からＴＣＲＯＳＳＯＶＥＲまで積分される。ここで、Ｔ０は、加速フェーズの開始時間（速度が第２の速度検出点に最初に交差する時間、例えば、図４の時間ｔ３）である。トルクコマンドの加速フェーズにおける積分の結果は、Ｕａｃｃとして示される。同様に、適用されたトルクコマンドに応答した動作制御システムから測定された連続した速度データは、加速フェーズにおける速度積分の結果Ｖａｃｃを得るために時間Ｔ０からＴＣＲＯＳＳＯＶＥＲまで積分される。
【００６４】
ステップ１０１２では、トルクおよび速度データの減速部分に対して同様の積分を実行する。すなわち、トルクおよび速度データは、動作システムがステップ１００６において減速し第２の速度検出点に戻る時間に対応する時間ＴＣＲＯＳＳＯＶＥＲからＴＦＩＮＡＬまで積分される。ここで、ＴＦＩＮＡＬは、減速フェーズの終了時間である。（図４に関連した上記の例では、ＴＦＩＮＡＬ＝ｔ７である。）トルクおよび速度データの減速フェーズにおけるこれらの積分結果は、それぞれＵｄｅｃおよびＶｄｅｃで示される。
【００６５】
ステップ１０１４では、動作システムの推定慣性および推定摩擦係数、もしくは、そのいずれかが、積分Ｕａｃｃ、Ｖａｃｃ、ＵｄｅｃおよびＶｄｅｃに基づいて計算される。例えば、推定慣性および推定摩擦係数は、式（１２）および（１３）もしくはその変形に基づいて計算されるだろう。
【００６６】
［動作プロファイル生成器］  
図１１は、動作制御システムの２点間移動に対する動作プロファイルを生成することが可能な非限定的な動作プロファイル生成システムを例示するブロック図である。動作プロファイル生成システム１１０２は、ポジションプロファイル生成部１１０４、速度プロファイル生成部１１０６、インターフェース部１１０８、１以上のプロセッサ１１１０およびメモリ１１１２を含む。いくつかの実施例では、ポジションプロファイル生成部１１０４、速度プロファイル生成部１１０６、インターフェース部１１０８、１以上のプロセッサおよびメモリ１１１２のうちの１つ以上は、動作プロファイル生成システム１１０２の１以上の機能を実行するために、電気的および通信可能に、もしくは、そのいずれかであるように相互に結合される。いくつかの実施形態では、ポジションプロファイル生成部１１０４、速度プロファイル生成部１１０６およびインターフェース部１１０８は、メモリ１１２に記憶され、プロセッサ１１１０により実行されるソフトウェア命令を備える。動作プロファイル生成システム１１０２は、図１１に表されない他のハードウェアおよびソフトウェアと相互作用しても良い。例えば、プロセッサ１１１０は、キーボード、表示モニタ、タッチスクリーンのようなユーザインターフェース装置と相互作用しても良い。
【００６７】
インターフェース１１０８は、ユーザ入力を受け取り、任意の好適な形式（例えば、視覚的、聴覚的、触覚的な形態）でユーザに出力を提供する。ユーザ入力は、例えば、ユーザ設定の制約（例えば、最大加速度、最大速度など）であり、動作プロファイル（以下に、詳細に説明される）を計算するために動作プロファイル生成システム１１０２により使用される。ポジションプロファイル生成部１１４は、動作システムのために望ましい目標ポジションの命令を受け取り、ユーザ定義の制約を表すパラメータの範囲内で目標ポジションへ移行するための動作プロファイルを計算するように構成される。同じように、速度プロファイル生成部１１０６は、動作制御システムのための望ましい目標速度の命令を受け取り、定められた制約に適合するように現行の速度から目標速度へ動作システムを移行させるための動作プロファイルを生成することができる。図１１は、ポジションプロファイル生成部１１０４および速度プロファイル生成部１１０６の両方を含む動作プロファイル生成システムを表しているが、動作プロファイル生成システムのいくつかの実施形態は、この開示の範囲から逸脱することなく、ポジションプロファイル生成部１１０４または速度プロファイル生成部のいずれかのみを含むことができることが認識されるべきである。１以上のプロセッサ１１１０は、開示されたシステムおよび方法、もしくは、そのいずれかを参照して、ここに説明した１以上の機能を実行できる。メモリ１１１２は、開示されたシステムおよび方法、もしくは、そのいずれかを参照して、ここに説明した１以上の機能を実行するためのコンピュータが実行できる命令および情報、もしくは、そのいずれかを記憶するコンピュータが読み取り可能な記憶媒体である。
【００６８】
いくつかの実施形態では、ここに説明するプロファイル生成部は、動作制御部の集積化された部品であっても良い。図１２は、この開示の１以上の実施形態にしたがってプロファイル生成部１２０６を用いる主制御部１２０２を備えた動作制御システム１２００を例示している。主制御部１２０２は、例えば、１以上の動作デバイスを含むシステム（例えば、工業的処理、自動システム、バッチ処理など）を監視し制御するプログラマブルロジックコントローラ（ＰＬＣ）、または、そのようなコントローラである。この例では、プロファイル生成部１２０６は、主制御部１２０２上に存在する１以上のプロセッサにより実行されるコントローラの動作システムおよび制御ソフトウェア、もしくは、そのいずれかの機能部品であっても良い。プロファイル生成部１２０６は、コントローラ１２０８の他の機能要素とデータを交換する回路基板、集積回路など、主制御部１２０２の内部に存在するハードウェア部品であっても良い。プロファイル生成部１２０６の他の好適な実施例も、この開示のいくつかの実施形態の範囲内である。例えば、プロファイル生成部１２０６は、主制御部１２０２に集積化された要素として図１２に表されているが、いくつかの実施形態では、プロファイル生成部１２０６は、主制御部１２０２から分離された要素であっても良い。そのような構成では、プロファイル生成部１２０６は、主制御部１２０２または動作システムの他の要素と、好適な通信手段を介してデータを交換する。その通信手段は、有線または無線のネットワーク、配線されたデータリンクもしくは、そのような通信手段を含むが、これらに限定される訳ではない 。
【００６９】
例示的な動作制御システム１２００は、主制御部１２０２により与えられる動作プロファイル１２１２にしたがって、動作デバイス（例えば、図示しないモータ）を制御するための動作制御部１２１４を含むモータ駆動部１２２２も備える。動作プロファイル１２１２は、現在のポジションまたは速度から目標ポジションまたは目標速度へ動作デバイスの移行させるための軌跡を決定する。ここで、軌跡は、ポジションの基準、速度の基準、加速度の基準およびジャークの基準のうちの１つ以上の観点から定められる。主制御部１２０２から動作プロファイルデータを受信することに応じて、モータ制御部１２１４は、動作プロファイル１２１２を制御信号１２１６に変換し、制御信号１２１６は、動作デバイスを目標ポジションまたは目標速度へ移行させるために動作デバイスに送られる。モータ制御部１２１４が閉ループコントローラであれば、制御信号１２１６を出力している間、モータ制御部１２１４は、動作デバイスの現実の状態（例えば、リアルタイムのポジション、速度など）を示すフィードバック信号１２２０も監視する。モータ制御部１２１４は、フィードバック信号１２２０に基づいて、動作デバイスが、動作プロファイル１２１２にしたがい、できるだけ動作プロファイル１２１２に近接して動くように、制御信号１２１６を調整する。また、モータ制御部１２１４が開ループコントローラであれば、モータ制御部１２１４は、動作プロファイル１２１２に基づいて制御信号１２１６を生成し続けるが、その結果として動作デバイスが動作している間、フィードバック信号１２２０を監視することはない。
【００７０】
この例では、主制御部１２０２は、主制御部１２０２に記憶され、実行される制御プログラム１２１０にしたがってシステムを制御する。動作の間、制御プログラム１２１０は、動作デバイスが新規のポジションへ動くか、または、新規の速度へ移行することを要求する。目的のポジションおよび速度１２０８は、プロファイル生成部１２０６に与えられ、プロファイル生成部１２０６は、動作プロファイル１２１２を計算し動きの軌跡を決定する。プロファイル生成部１２０６は、動作システムの機械的制約、または、動作デバイスの動作に関するユーザの好みを表す１以上の動作の制約条件１２０４の関数として動作プロファイル１２１２を計算する。動作定数１２０４は、動作の前に（例えば、図１１のインターフェース部１１０８を介して）ユーザにより与えられる。いくつかの実施形態では、以下に詳細に説明するように、プロファイル生成部１２０６は、プロファイルのセグメントがコントローラのサンプル点に一致することを確実にするために、付加的に、主制御部１２０２のサンプリング時間１２１８に基づいて動作プロファイル１２１２を計算することもできる。
【００７１】
以下に、より詳細に説明するように、動作プロファイル１２１２は、参照ポジションの基準、速度の基準、加速度の基準およびジャークの基準として２点間移動の時間に対する軌跡を決定する。これらの参照値は、動作プロファイル生成部１２０６により計算された関数を表し、与えられた２点間移動に対する時間の関数として、それぞれの動きの特性がどのように制御されるかを決定する。これらの参照値は、微分係数として数学的な相互関係を有する。すなわち、ジャークは、加速度の微分係数であり、加速度は、速度の微分係数、そして、速度は、ポジションの微分係数である。以下に、詳細に議論するように、プロファイル生成部１２０６は、軌跡プロファイルのそれぞれの段階に対して、これらの参照値を計算できる。
【００７２】
一旦、移動のための動作プロファイル１２１２を計算すれば、プロファイル生成部１２０６は、動作プロファイル１２１２をモータ制御部１２１４に与え、モータ制御部１２１４は、動作プロファイル１２１２を制御信号１２１６に変換する。制御信号１２１６は、動作プロファイル１２１２にしたがった望ましい２点間移動の実行を動作デバイスに命令する。前述したように、モータ制御部１２１４が閉ループコントローラであれば、制御信号１２１６は、動作プロファイル１２１２の関数であると同時に、動作デバイスの現実の状態をモータ制御部１２１４にリアルタイムに知らせるフィードバック信号１２２０の関数でもある。開ループコントローラに対しては、制御信号１２１６は、動作プロファイル１２１２だけの関数となる。
【００７３】
図１２の表された構成は、プロファイル生成部１２０６が動作する背景を例示することのみを意図しており、他の動作環境もこの開示に含まれる。例えば、いくつかのシナリオでは、主制御部１２０２は、モータを制御できる機能を統合したコントローラを包含しても良い。そのような形態では、主制御部１２０２は、離間したモータ駆動部１２２２に動作プロファイル１２１２を与えるよりも、動作プロファイル１２１２を好適な制御信号３１６に変換し、制御信号１２１６を動作デバイスに送る。他の例示的な構造では、プロファイル生成部１２０６は、モータ駆動部１２２２に統合されても良い。
【００７４】
プロファイル生成部１２０６は、ポジションプロファイル生成部および速度プロファイル生成部のいずれか、もしくは、両方であっても良い。これら２つのタイプのプロファイル生成部は、図１３および１４にそれぞれ表されている。図１３に示すように、ポジションプロファイル生成部１３０２は、入力として、制御されたシステムの機械的制約、または、動作システムの振る舞いに関するユーザの好みを表す制約のセット１３０４を受信する。これらの制約は、コントローラの制御信号の更新された周期（通常、ミリ秒単位で測定される）を表すサンプリング時間、速度、加速度、減速度およびジャークの上限を含む。いくつかの実施形態では、ポジションプロファイル生成部１３０２がコントローラのサンプリング時間を自動的に決定するが、これらの制約は、（例えば、図１１のインターフェース部１１０８を介して）ユーザにより設定しても良い。これらの制約１３０４は、動作制御システムを準備する間に、一度設定しても良いし、動作ごとに再構成しても良い。ポジションプロファイル生成部１３０２は、非対称の加速および減速を有するプロファイルをそれぞれ提供する構成とするために加速および減速の限界を許容する。以下に、詳細に説明するように、このサンプリング時間は、プロファイル生成部１３０２により動作プロファイルの精度を向上させるために用いられる。
【００７５】
動作の間、ポジションプロファイル生成部１３０２は、動作システムに対する新規の目標ポジションを特定するポジションステップコマンド１３０８を受信する。ポジションステップコマンド１３０８は、コントローラにより実行される制御プログラム（例えば、図１２の制御プログラム）により生成されるか、もしくは、ユーザによりマニュアル入力される動作命令でも良い。ポジションステップコマンド１３０８に応答して、ポジションプロファイル生成部は、制約に基づく時間的に最適化された動作プロファイル１３０６を計算する。動作プロファイル１３０６は、負荷をその現在のポジションからポジションステップコマンド１３０８により定められた目標ポジションへ移動させるための軌跡を定める。動作プロファイル１３０６は、ジャーク基準、加速度基準、速度基準およびポジション基準のうちの１以上を含む。これらは、微分係数として数学的な相互関係を有する。ポジションプロファイル生成部１３０２は、決定される動作プロファイルの段階もしくはセグメントの組み合わせのそれぞれに対し、時間の関数としてこれらの基準を定める。表１は、２点間の動作プロファイルの７つのセグメントをまとめたものである。
【００７６】
【表１】
2013225284.tif 000016
【００７７】
初めに、第１段階（ACC＿INC）の間、加速度は、ゼロから一定の加速度まで連続的に増加する。いくつかのシナリオでは、この定加速度は、制約条件１３０４により定められた最大加速度である。しかしながら、比較的短いポジションステップでは、ポジションプロファイル生成部１３０２は、小さな加速度がより正確な目標ポジションへの移行をもたらすことを明らかにするだろう。第２段階（ACC_HOLD）では、加速度は一定のレートに保持される。システムがポジションプロファイル生成部１３０２により計算された目標速度に近づいたとき、一定速度に達するまで加速度が徐々に減少する第３段階（ACC_DEC）に入る。一定速度に達すると、システムが目標ポジションに近づくように、第４段階（VEL_HOLD）の間、この一定速度は保持される。システムが目標ポジションに近づくと、軌跡は第５段階に入る。第５段階では、システムは、ゼロから動作プロファイルにより定められた目標減速度へ徐々にレートを増加させながら減速を始める。目標の減速度に達すると、第６段階（DEC_HOLD）の間、この減速度が保持される。最終的に、第７段階（DEC_DEC）の間、減速度はシステムが速度ゼロに達するまで徐々に減少し、動作シーケンスを終了する。
【００７８】
ポジションステップコマンド１３０８が与えられると、ポジションプロファイル生成部１３０２は、時間的に最適化された動作プロファイルに対し、これら７つのプロファイルセグメントのうちのどれが必要かを決定し、時間的に変化するジャーク基準、加速度基準、速度基準およびポジション基準のうちの１以上を、動作に必要と思われるそれぞれのセグメントに対して計算する。それぞれの段階に対し計算された基準は、動作プロファイルを完成するために結合される。完結した動作プロファイルは、それにより決定される軌跡を介して動作システムを駆動するために、開ループまたは閉ループの動作コントローラ（例えば、モータ駆動部）で使用することができる。
【００７９】
図１４は、１以上の実施形態にしたがう速度プロファイル生成部１４０２の例を表している。速度プロファイル生成部１４０２は、ポジションプロファイル生成部１３０２に類似するが、ポジションの変化よりも速度の望ましい変化に応答する動作プロファイルを計算するために用いられる。すなわち、速度プロファイル生成部１４０２は、現在の速度から速度設定点１４０８により特定される目標速度への動作システムの移行に対して、時間的に最適化された動作プロファイル１４０６を計算する。望ましい速度設定点への移行は、通常、動作システムのポジションに無関係なので、速度プロファイル生成部１４０２に対して定められる制約条件１４０４は、ポジションの限界を含まなくても良い。同じように、プロファイル生成部１４０２により生成される動作プロファイル１４０６は、ポジション基準を含まなくても良く、時間的に変化するジャークの基準、加速度基準および速度基準のうちの少なくとも１つの観点から排他的に動作プロファイルを決定しても良い。
【００８０】
いくつかの動作制御の用途では、動作コントローラは、台形の動作プロファイル、または、Ｓ曲線のプロファイルのいずれか１つを生成する。これらのプロファイルに加えて、または、これらに代えて、この開示に係るプロファイル生成部は、以下、ＳＴプロファイルとして言及する第３のタイプのプロファイルを生成できる。図１５は、通常の台形およびＳ曲線プロファイルとＳＴ曲線プロファイルの例を比較している。図１５に表された時間グラフは、ポジション０（開示ポジション）と、ポジション２．５（図１３のポジションステップコマンド１３０８により決定される目標ポジション）と、の間における与えられた軌跡に対するポジション、速度、加速およびジャークをプロットしたものである。一般的に理解されるように、プロットされた値は、相互に微分係数として数学的に関連する。すなわち、速度は、ポジションの微分（すなわち、ポジション変化のレート）であり、加速度は速度の微分、そして、ジャークは、加速度の微分である。
【００８１】
台形の動作プロファイルは、上記の７つの段階のうちの３つ、一定加速度（第２段階）、一定速度（第４段階）および一定減速度（第６段階）を用いるだけである。この台形の速度プロファイルの結果は、図１５中の破線の速度曲線により表される。一定加速度段階もしくは一定減速度段階と、一定速度段階と、の間の急峻な以降は、台形の速度曲線の頂部における鋭いコーナをもたらす。台形プロファイルの加速および減速フェーズは、常に一定であり、このプロファイルに対する加速度曲線は、加速度グラフに破線で表されるように、一定値の間で階段状に変化する。この例では、減速のレートは加速のレートの２倍であり、台形のケースにおける加速度曲線は、加速段階の間、０．５であり、一定速度段階では、０（ゼロ）であり、減速段階では、−１．０である。また、ジャーク曲線（加速および減速の変化のレートを表す）は、移行の間の短時間のパルス（プロットしない）であり、図１５のジャークグラフに破線で表すように加速度または減速度が一定の時、ゼロのままである。
【００８２】
台形プロファイルは、段階的な移行なしに、常に、一定速度段階へ一定のレートで加速し、一定速度段階から一定のレートで減速するため、台形曲線プロファイルは、現在のポジションと目標ポジションとの間を比較的早く移動する。しかしながら、加速または減速段階と一定速度段階と、の間の急激な移行は、システムの望ましくない機械的な乱れを生じさせる。さらに、動作システムが目標ポジションに近づくにつれて徐々に減速することがなく、目標ポジションに到達するまで一定の減速度を維持し、急に速度ゼロに移行するので、台形の動作プロファイルは、最初の移行過程の終わりに目標ポジションを通り過ぎる可能性が高く、コントローラは、負荷を目標ポジションに戻す補償制御信号を出力する必要がある。この過程は、システムが目標ポジションに落ち着くまで数回繰り返され、システムの望ましくない振動を生じさせる。
【００８３】
台形プロファイルとは対照的に、Ｓ曲線プロファイル（図１５のグラフに細い実線で表される）では、７つのプロファイル段階の連続的な加速および減速段階の全てを用いる。これにより、一定（またはゼロ）速度フェーズと、一定加速および減速段階と、の間に段階的な移行が許容される。これらの段階的な加速度の移行は、加速度グラフに明確に表されている。台形プロファイルのように、時間０（ゼロ）から一定の加速度で開始されるのではなく、Ｓ曲線プロファイルの加速度は、時間０（ゼロ）から徐々に一定の加速度まで傾斜して増加する。速度が最大（１ｓと２ｓとの間）に達した時、加速度は、台形のケースのように急峻にゼロへ減少するのではなく、一定の速度を得るために徐々にゼロまで減少する。加速度の同じような段階的な変化は、Ｓ曲線プロファイルの後の減速段階でも見られる。これらの段階的な加速度変化の効果は、速度およびポジションのグラフにそれぞれみられる。具体的には、Ｓ曲線の速度プロファイルのコーナが台形カーブに比べて丸められ、加速および減速段階と、一定速度段階と、の間のスムーズな移行を表している。同じように、Ｓ曲線のポジションプロファイルは、最初のポジションと、目標ポジションと、の間のスムーズな移行を示しているが、目標に達するための付加的な時間を費やす。
【００８４】
ここに説明されるプロファイル生成部の１以上の実施形態は、Ｓ曲線の動作プロファイルの生成をサポートする。通常、Ｓ曲線の動作プロファイルを用いる動作制御システムは、対照的な加速および減速をサポートするだけである。すなわち、一定の加速度および一定の減速度の絶対値は等しい。これに対し、ここに説明するプロファイル生成部は、非対称の加速度および減速度を有するＳ曲線の動作プロファイルをサポートすることができる。これは、図１５の加速度グラフに表され、加速度に対する０．５の限界と、減速度に対する−１の限界と、を有するＳ曲線を表している。そのような非対称な加速度と減速度とを与えるために、プロファイル生成部は、システムの制約条件として、異なる加速度および減速度の限界（例えば、図１３の制約条件１３０４を参照）を許容し、これらの制約条件を考慮して動作プロファイルを計算する。
【００８５】
ジャークのグラフに表されるように、Ｓ曲線のケースにおいて、動作プロファイルの第１、第３、第５および第７段階の間、段階加速度が増加し減速度が減少するレートは、常に同じである。すなわち、この例では、動作プロファイルの任意の段階において、ジャークは、１、０もしくは−１のいずれかであり、常に一定値である。これは、加速度グラフに表すように、増加または減少する加速（または減速）段階と、一定の加速段階と、の間における急峻な移行をもたらす。
【００８６】
ポジション間の時間的に最適化された移行を得る通常の動作制御システムの台形およびＳ曲線プロファイルよりもスムーズな動作を得るために、ここに説明する１以上の実施形態に係るプロファイル生成部は、ＳＴ曲線型のプロファイルにしたがった動作プロファイルを計算することができる。ＳＴ曲線プロファイルの例は、図１５のグラフに太い実線で表されている。台形およびＳ曲線プロファイルとは対照的に、ＳＴ曲線プロファイルでは、加速度および減速度を増加および減少させる段階において、時間に対するジャークの変化が連続的であり段階的である。これにより、図１５の加速度グラフにおける加速度の遷移がスムーズになり、これに対応して速度およびポジションのグラフそれぞれ示す速度およびポジション曲線もスムーズになる。
【００８７】
さらに、ＳＴ曲線プロファイルは、非対称の加速度および減速度をサポートすることができる。（すなわち、プロファイル生成部は、与えられた動作プロファイルに対して減速のレートと異なる加速レートを有するプロファイルを計算することができる。）時間的に最適化された解を見つけると同時に、時間の関数として数学的な軌跡の表現を導出することは、非対称の加速度および減速度を用いる場合の課題である。これを解決するために、ここに説明されるプロファイル生成部の１以上の実施形態は、加速と減速との関係、および、加速時のジャークと、減速時のジャークと、の関係を活用したアルゴリズムを用い、これらの関係を導出の過程に適用する。これにより、軌跡の解析的な表現の導出が可能となり、時間的に最適化された解を見つけることができる。
【００８８】
ＳＴ曲線のポジションプロファイルの例を以下に導出する。ここに説明するプロファイル生成部の１以上の実施形態は、以下の導出過程に基づいて、動作プロファイルの基準を生成することができる。しかしながら、ここに説明するプロファイル生成部は、ＳＴ曲線に基づいた動作プロファイルの生成のためのこの技術に限定される訳ではなく、時間の関数として定義される連続したジャーク曲線を得る任意の好適なアルゴリズムは、この開示の範囲に含まれることを理解すべきである。
【００８９】
次の方程式において、θ・・・、θ・・、θ・およびθは、それぞれ、ジャーク、加速度、速度およびポジションであり、ｔ１、ｔ２、ｔ３、ｔ４およびｔ５は、それぞれ、動作プロファイルのＡＣＣ＿ＩＮＣ、ＡＣＣ＿ＨＯＬＤ、ＶＥＬ＿ＨＯＬＤ、ＤＥＣ＿ＩＮＣおよびＤＥＣ＿ＨＯＬＤ段階（表１参照）の継続時間である。この例では、ＡＣＣ＿ＩＮＣおよびＡＣＣ＿ＤＥＣの継続時間は等しいと仮定される。すなわち、ｔ１は、ＡＣＣ＿ＩＮＣおよびＡＣＣ＿ＤＥＣ段階の両方の継続時間である。同様に、ＤＥＣ＿ＩＮＣの継続時間は、ＤＥＣ＿ＤＥＣと同じであり、ｔ４は、ＤＥＣ＿ＩＮＣおよびＤＥＣ＿ＤＥＣの両方の継続時間である。Ｋは、次の式にしたがって、ジャーク、加速度、速度およびポジションのそれぞれの動作プロファイルにおけるそれぞれの段階に対して定められる利得値である。（ここで、７つのそれぞれの段階に対して、ｔ＝０は、それぞれの段階の開始時間を表す。）
【数１４】
2013225284.tif 000017
【数１５】
2013225284.tif 000018
【数１６】
2013225284.tif 000019
【数１７】
2013225284.tif 000020
【００９０】
これらの関係が与えられれば、最大加速ジャーク、最大減速ジャーク、最大加速度、最大減速度および最大速度をセグメントの継続時間により表すことができる。
【数１８】
2013225284.tif 000021
【数１９】
2013225284.tif 000022
【数２０】
2013225284.tif 000023
【数２１】
2013225284.tif 000024
【数２２】
2013225284.tif 000025
【数２３】
2013225284.tif 000026
ここで、Ｐはポジションステップ、Ｊｅは最大加速ジャーク、Ｉは最大減速ジャーク、Ａは最大加速度、Ｄは最大減速度およびＶは最大速度である。
【００９１】
Ｐ、Ｖ、Ａ、Ｄ、Ｊｅ、Ｉ、ｔ１、ｔ２、ｔ３、ｔ４およびｔ５の間の関係は、次のように得られる。
【数２４】
2013225284.tif 000027
【数２５】
2013225284.tif 000028
【数２６】
2013225284.tif 000029
【数２７】
2013225284.tif 000030
【数２８】
2013225284.tif 000031
【数２９】
2013225284.tif 000032
【数３０】
2013225284.tif 000033
【００９２】
ｔ１、ｔ２、ｔ３、ｔ４およびｔ５は、全て０（ゼロ）以上であるとして、次の関係を仮定すれば、
【数３１】
2013225284.tif 000034
【数３２】
2013225284.tif 000035
次の不等式が成立する。
【数３３】
2013225284.tif 000036
【数３４】
2013225284.tif 000037
【数３５】
2013225284.tif 000038
【数３６】
2013225284.tif 000039
不等式（３３）〜（３６）を解くことにより、Ｖ、Ａ、Ｄ、ＪｅおよびＩ（速度、加速度、加速ジャークおよび減速ジャークのそれぞれの最大値）の適切な値を得る。
【００９３】
これらの最大値を式（２５）〜（２９）に代入することにより、ｔ１、ｔ２、ｔ３、ｔ４およびｔ５の値を得ることができる。上記の式（１４）〜（３６）により導出されるＶ、Ａ、Ｄ、Ｊｅ、Ｉ、ｔ１、ｔ２、ｔ３、ｔ４およびｔ５の値は、定められた機械的な制約条件もしくはユーザの要求の範囲内で動作する時間的に最適化されたスムーズな軌跡を与える。
【００９４】
上記の関係に基づいて、プロファイル生成部は、与えられた２点間の移動に対して、好適なＳＴ曲線の動作プロファイルを計算することができる。しかしながら、ｔ１、ｔ２、ｔ３、ｔ４およびｔ５に対して最初に計算される値は、コントローラのサンプリング時間の倍数ではなく、結果として動作コントローラのサンプル点に一致しないであろう。プロファイルセグメントの継続時間がコントローラの２つのサンプル時間の間に収まる場合は、コントローラは、制御信号の望ましい出力と、制御信号の実際の出力と、の間の小さな違いを補正する必要があるだろう。この点を解決するために、ここに説明されるプロファイル生成部の１以上の実施形態は、上記のように、最大値Ｖ、Ａ、Ｄ、ＪｅおよびＩと、セグメントの継続時間ｔ１、ｔ２、ｔ３、ｔ４およびｔ５と、を導出した後に、付加的な計算を実施する。
【００９５】
具体的には、プロファイル生成部が上記の手順にしたがってｔ１、ｔ２、ｔ３、ｔ４およびｔ５を計算した後、それぞれの継続時間を最も近いサンプリング時間に上方修正し、ｔ１Ｎｅｗ、ｔ２Ｎｅｗ、ｔ３Ｎｅｗ、ｔ４Ｎｅｗおよびｔ５Ｎｅｗを得る。この修正ステップは、制約条件１３０４または１４０４の１つとしてプロファイル生成部に与えられたサンプリング時間に基づくことができる。そして、プロファイル生成部は、修正された継続時間ｔ１Ｎｅｗ、ｔ２Ｎｅｗ、ｔ３Ｎｅｗ、ｔ４Ｎｅｗおよびｔ５Ｎｅｗの値を用いて、Ｖ、Ａ、Ｄ、ＪｅおよびＩの新しい値を計算する。この計算により、サンプリング時間の倍数であるセグメントの継続時間を含む最終的な動作プロファイルが得られ、コントローラから出力される制御信号がコントローラのサンプル点に一致することが保証される。これにより、動作プロファイルの時間が２つのサンプル点の間に収まる場合に生じる小さな違いの補償の必要性を軽減できる。
【００９６】
上記のＳＴ曲線の代わりに、または、それに加えて、ここに説明するプロファイル生成部の１以上の実施形態は、非対称の加速度および減速度を有するＳ曲線プロファイルを生成することが可能である。非対称の加速度および減速度を有するＳ曲線プロファイルの例は、以下に導出される。ここに説明するプロファイル生成部の１以上の実施形態は、以下の手順またはその変形に基づいて動作プロファイルの基準を生成することができる。
【００９７】
上記のＳＴ曲線の方程式と同じように、θ・・・、θ・・、θ・およびθは、それぞれジャーク、加速度、速度およびポジションである。ｔ１、ｔ２、ｔ３、ｔ４およびｔ５は、動作プロファイルのＡＣＣ＿ＩＮＣ、ＡＣＣ＿ＨＯＬＤ、ＶＥＬ＿ＨＯＬＤ、ＤＥＣ＿ＨＯＬＤ、ＤＥＣ＿ＩＮＣおよびＤＥＣ＿ＨＯＬＤの各段階（表１参照）におけるそれぞれの継続時間である。例示したＳＴ曲線と同じように、ＡＣＣ＿ＩＮＣおよびＡＣＣ＿ＤＥＣの継続時間は同じであり、ｔ１は、ＡＣＣ＿ＩＮＣおよびＡＣＣ＿ＤＥＣの両方の段階における継続時間である。同じように、ＤＥＣ＿ＩＮＣの継続時間はＤＥＣ＿ＤＥＣと同じであり、ｔ４は、ＤＥＣ＿ＩＮＣおよびＤＥＣ＿ＤＥＣの両方の継続時間である。Ｋは、次の式にしたがって、ジャーク、加速度、速度およびポジションのそれぞれに対する動作プロファイルのそれぞれの段階に対して決定される利得値である。（ここで、７つの段階のそれぞれに対し、ｔ＝０は、それぞれの段階の開始時間を表す。）
【数３７】
2013225284.tif 000040
【数３８】
2013225284.tif 000041
【数３９】
2013225284.tif 000042
【数４０】
2013225284.tif 000043
【００９８】
これらの関係が与えられれば、最大加速ジャーク、最大減速ジャーク、最大加速度、最大減速度および最大速度は、セグメントの継続時間により表される。
【数４１】
2013225284.tif 000044
【数４２】
2013225284.tif 000045
【数４３】
2013225284.tif 000046
【数４４】
2013225284.tif 000047
【数４５】
2013225284.tif 000048
ここで、Ｐはポジションステップ、Ｊｅは最大加速ジャーク、Ｉは最大減速ジャーク、Ａは最大加速度、Ｄは最大減速度、および、Ｖは最大速度である。
【００９９】
Ｐ、Ｖ、Ａ、Ｄ、Ｊｅ、Ｉ、ｔ１、ｔ２、ｔ３、ｔ４およびｔ５の間の関係は、次のように得られる。
【数４６】
2013225284.tif 000049
【数４７】
2013225284.tif 000050
【数４８】
2013225284.tif 000051
【数４９】
2013225284.tif 000052
【数５０】
2013225284.tif 000053
【数５１】
2013225284.tif 000054
ｔ１、ｔ２、ｔ３、ｔ４およびｔ５は、全て０（ゼロ）以上であるとして、次の関係を仮定すれば、
【数５２】
2013225284.tif 000055
次の不等式が成立する。
【数５３】
2013225284.tif 000056
【数５４】
2013225284.tif 000057
【数５５】
2013225284.tif 000058
【数５６】
2013225284.tif 000059
【０１００】
不等式（５３）〜（５６）を解くことにより、Ｓ曲線プロファイルに対するＶ、Ａ，Ｄ、ＪｅおよびＩ（速度、加速度、現速度、加速ジャークおよび減速ジャークのそれぞれの最大値）の適切な値が得られる。
【０１０１】
これらの最大値を式（４７）〜（５１）に代入することにより、ｔ１、ｔ２、ｔ３、ｔ４およびｔ５（Ｓ曲線動作プロファイルのそれぞれのセグメントの継続時間）の値を得ることができる。上記の式（３７）〜（５６）にしたがって導出されたＶ、Ａ、Ｄ、Ｊｅ、Ｉ、ｔ１、ｔ２、ｔ３、ｔ４およびｔ５の値により、非対称の加速度および減速度を有し、定められた機械的制約条件もしくはユーザの要求する範囲内で動作するＳ曲線プロファイルを創出できる。
【０１０２】
いくつかの実施形態では、プロファイル生成部は、ＳＴ曲線プロファイルに関連して前述した付加的な計算に類似した方法により、結果的に得られたＳ曲線動作プロファイルをコントローラのサンプリング時間に適合させる。すなわち、上記の手順にしたがってｔ１、ｔ２、ｔ３、ｔ４およびｔ５を計算した後、プロファイル生成部は、それぞれの継続時間を最も近いサンプリング時間に合わせて伸ばし、ｔ１Ｎｅｗ、ｔ２Ｎｅｗ、ｔ３Ｎｅｗ、ｔ４Ｎｅｗおよびｔ５Ｎｅｗを得る。そして、プロファイル生成部は、修正された継続時間ｔ１Ｎｅｗ、ｔ２Ｎｅｗ、ｔ３Ｎｅｗ、ｔ４Ｎｅｗおよびｔ５Ｎｅｗの値を用いて、Ｖ、Ａ、Ｄ、ＪｅおよびＩの新しい値を計算する。
【０１０３】
動作プロファイルは、通常、表１にリストされた７つの段階を含むが、いくつかの２点間の移動では、７つの全てのセグメントを要求しなくても良い。例えば、動作システムの現在の状態と、目標の状態と、の間の距離が比較的短いとき、その動作システムのＶＥＬ＿ＨＯＬＤ（一定速度）セグメントを省略しても良い。したがって、ここに説明するプロファイル生成部の１以上の実施形態では、自動的あるいは機能的にセグメントのスキップを行っても良い。すなわち、プロファイルの７つの段階の全てについて計算を行うのではなく、最終的な軌跡において、１以上の段階が用いられないのであれば、ここに説明するプロファイル生成部のいくつかの実施形態では、与えられた２点間の移動に対して、最終的な軌跡に用いられる段階についてのみ計算を行うことができる。
【０１０４】
動作プロファイルは、新規の動作コマンドを受けた時、動作プロファイルの計算の間にどのセグメントをスキップできるかを自動的に決定する。いくつかの実施形態では、プロファイル生成部は、現在のポジションと目標ポジションとの間（ポジション変更の場合）もしくは、現在の速度と目標速度との間（速度変更の場合）の全体の差にある程度基づいて、どのセグメントをスキップして良いかを決めることができ、現在の状態と目標状態との間の差が小さいほど、動作プロファイルのセグメントのいくつかを省略することが可能となる。そのような実施形態では、現在の状態と目標状態との間の差は、複数の定められた差のレンジと比較され、それぞれの定められた差のレンジは、対応する動作プロファイルから省かれた１以上のセグメントに関連する。
【０１０５】
ここに説明されるプロファイル生成部の１以上の実施形態は、動作データの履歴に基づいて、どのセグメントをスキップできるかを推定しても良い。例えば、プロファイル生成部は、出力された動作コマンドの履歴、および、そのコマンドに応答した動作に対応する軌跡のデータ（例えば、ポジション、速度、加速度およびジャーク、もしくは、そのいずれかの時間に対するデータ）を記録しても良い。プロファイル生成部は、動作の特定のタイプに対し、どのセグメントが省略可能であるかに関して推測を行うためにこの履歴データを解析することができる。したがって、新規の２点間の移動コマンドを受け取った時、その移動に対する動作プロファイルを計算する前に、プロファイル生成部は、類似した特性（例えば、横断すべき距離の類似、動作コマンドを受け取った時の速度の類似など）を有する過去の動作コマンドに応答して実行された軌跡の形状に基づいて、どのセグメントをスキップできるかを推定することができる。
【０１０６】
図１６〜図１９は、例示した７つの段階のポジションプロファイルのセグメントスキップを表している。図１６は、７つの全ての段階を用いるＳ曲線プロファイルの例を表している。図１７は、セグメント４（一定速度段階）をスキップしたプロファイルを表している。プロファイル生成部は、横断されるポジションまたは速度ステップが十分小さく、目標ポジションまたは目標速度に達する前に一定速度段階に達しない場合にそのようなプロファイルを計算できる。そのようなポジションステップまたは速度設定点のコマンドを受けた場合、プロファイル生成部は、望ましい動作のためのプロファイル計算を実施する前に、この決定をすることができ、１〜３段階および５〜７段階についての計算だけを実行する。同じように、図１８は、セグメント２および６をスキップしたプロファイルの例を表し、図１９は、セグメント２、４および６をスキップしたプロファイルの例を表している。
【０１０７】
図２０〜図２２は、いくつかの開示された態様にしたがった手順を表している。説明の簡略化のために、手順は一連の行為として示され、説明されるが、開示された態様は、その行為の順に限定されず、いくつかの行為は、ここに示され、説明されたものと異なる順で、他の行為と同時に行われても良いし、そのいずれかであっても良いことを理解し、認識すべきである。例えば、当業者であれば、手順は、状態図のように相互に関連する状態もしくは事象の連続として選択可能に表されることを理解し、認識するであろう。さらに、いくつかの開示された態様にしたがって手順を実行するために、表示された全ての行為が求められる訳ではない。なお、この開示を通じて以下に示される手順は、そのような手順のコンピュータへの転送を容易にする製造物に記憶させることが可能であることを、さらに認識すべきである。
【０１０８】
図２０は、動作制御システムにおける２点間の移動に対する動作プロファイルを計算するための手順例２０００を表している。ステップ２００２では、動作制御システムに対し、動作の制約条件が定められる。これらの制約条件は、動作制御システムにより制御される機械システムの物理的な制約を表し、速度、加速度、減速度およびジャークの限界を含むことができる。制約条件は、機械システムを制御するために用いられる動作コントローラのサンプリング時間の定義を含むことができる。ステップ２００２では、制御される機械システムを新規のポジションまたは速度に移行させるコマンドを受信する。このコマンドは、動作コントローラにより実行される動作制御プログラムに起因しても良いし、ユーザにより入力されるマニュアルの動作コマンドであっても良い。そのコマンドは、動作コントローラに関連するプロファイル生成部（例えば、上記のプロファイル生成部１２０６、１３０２もしくは１４０２）が受信しても良い。
【０１０９】
ステップ２００６では、ステップ２００４で受信されたコマンドの受け取りに応答して、現在のポジションまたは速度から、コマンドにより指示された新規のポジションまたは速度へ機械システムを動かすために、動作プロファイルが計算される。プロファイル生成部は、動作プロファイルのセグメントの少なくとも１つに対し、時間の関数として定められる連続的なジャーク基準を含むように、この動作プロファイルを計算できる。いくつかの実施形態では、動作プロファイルは、ＳＴ曲線として、式（１４）〜（３６）に関連した上記の手順にしたがって計算できる。そのような動作プロファイルは、図１５に太い実線で表されたジャークグラフにより描かれた一般的な形式を有するジャーク基準を与え、ジャークは、計算されたジャーク関数にしたがって、最大値と最小値の間で時間に対して緩やかに変化する。ステップ２００８では、制御される機械システムは、ステップ２００６で定められる動作プロファイルにしたがって、現在のポジションまたは速度から新規のポジションまたは速度に移行するよう命令される。これに伴って、例えば、ステップ２００６で計算された動作プロファイルがモータ駆動部に与えられ、その動作プロファイル、および、機械システムの状態を表すリアルタイムのデータを与えるフィードバック信号にしたがって機械システムを駆動するモータを制御する。
【０１１０】
図２１は、動作コントローラのサンプリング時間に同調し、制約条件に基づいた時間的に最適化された動作プロファイルを計算するための手順例２１００を表している。ステップ２１０２では、制御される機械システムに対する制約条件が定められる。前述した例のように、これらは、コントローラのサンプリング時間と、速度、加速度、減速度およびジャークの限界と、を含む。これらの制約条件は、コントローラに関連するプロファイル生成部（例えば、上記のプロファイル生成部１２０６、１３０２または１４０２）に与えることができる。ステップ２１０４では、機械システムを現在のポジションまたは速度から新規のポジションまたは速度に移行させるコマンドを（例えば、プロファイル生成部が）受信する。ステップ２１０６では、最大加速ジャーク（Ｊｅ）、最大減速ジャーク（Ｉ）、最大加速度（Ａ）、最大減速度（Ｄ）および最大速度（Ｖ）の少なくとも１つを動作プロファイルのそれぞれのセグメントに対する時間の関数として計算することにより、そのコマンドに応答して機械システムの軌跡を制御するための動作プロファイルが生成される。（ここで、プロファイルは、表１に定義された７つのセグメントを含むことができる。）さらに、プロファイルのそれぞれのセグメントの継続時間が（例えば、式（１４）〜（３６）に関連した上記の技術を用いて）計算される。
【０１１１】
ステップ２１０８では、ステップ２１０６で計算された全てのプロファイルセグメントの継続時間がコントローラのサンプリング時間の倍数であるかどうかを判定する。全てのセグメントにおいて継続時間がサンプリング時間の倍数であれば、ステップ２１１４に移り、プロファイルセグメントの継続時間およびステップ２１０６で計算されたＪｅ、Ｉ、Ａ、ＤおよびＶの値に基づいて、動作プロファイルを生成する。一方、１以上のプロファイルセグメントがサイクル時間の倍数に等しくなければ、ステップ２１１０に移り、全てのプロファイルセグメントの継続時間をサンプリング時間の最も近い倍数に上方修正する。ステップ２１１２では、ステップ２１１０において修正されたプロファイルセグメントの継続時間に基づいて、Ｊｅ、Ｉ、Ａ、ＤおよびＶのうちの１以上の値が再計算される。ステップ２１１４では、修正されたプロファイルセグメントの継続時間、および、再計算されたＪｅ、Ｉ、Ａ、ＤおよびＶ、もしくは、そのいずれかに基づいて、動作プロファイルが生成される。
【０１１２】
図２２は、２点間の移動に対する動作プロファイルを、セグメントスキップを用いて効果的に計算する手順例２２００を表している。ステップ２２０２では、制御される機械システムを新規のポジションまたは新規の速度に移行させるコマンドを（例えば、プロファイル生成部１２０６、１３０２または１４０２において）受信する。ステップ２２０４では、要求された２点間の移動を実施するために、動作プロファイルの７つのセグメントのうちのどれが必要とされるかを決定する。この決定は、例えば、現在のポジションと望ましいポジションとの間の移動すべき距離（ポジション変更の場合）、もしくは、現在の速度と望ましい速度との間の差（速度変更の場合）の測定に基づいて、プロファイル生成部により自動的に行われる。
【０１１３】
ステップ２２０６では、ステップ２２０４の決定に基づいて、望ましい動作を実行するために、７つの全てのセグメントが必要かどうかを判断する。全てのセグメントが求められる場合には、ステップ２２１０に移動し、７つの全てのセグメントに対してプロファイルの計算を実施することにより、２点間の移動のための動作プロファイルを生成する。一方、ステップ２２０６において、１以上のプロファイルセグメントが要求されないと判断されれば、ステップ２２０８に移動し、ステップ２２０４で決定されたように、必要なセグメントのみについて計算を実施することにより、２点間の移動のための動作プロファイルを生成する。手順例２２００にしたがったセグメントスキップは、不必要なプロファイルセグメントの計算に関連した余分な処理を減らすことにより、制約条件に基づいた時間的に最適化された動作プロファイルの計算をより効率的に促進する。
【０１１４】
［ネットワーク化および分散化された環境の例］  
当業者であれば、ここに説明されたいくつかの実施形態は、コンピュータネットワークの一部、または、分散化された演算環境に配置され、媒体を含む任意のデータ記憶装置に接続された任意のコンピュータ、もしくは、クライアント装置、サーバ装置を用いて実施できることを認識するだろう。これに関し、ここに説明する画像編集システムのいくつかの実施形態は、任意の数のメモリまたは記憶装置（例えば、図２のメモリ２１６もしくは図１１のメモリ１１１２）、および、任意の数の記憶装置を用いる任意の数のアプリケーションおよびプロセスを有する任意のコンピュータシステムまたはコンピュータ環境で実施できる。これは、ネットワーク環境もしくは分散された演算環境に配置された、リモートもしくはローカルの記憶装置を有するサーバコンピュータおよびクライアントコンピュータを備える環境を含むが、それに限定される訳ではない。例えば、図２を参照すれば、トルクコマンド生成部２０４、速度監視部２０６、慣性演算部２０８、摩擦係数演算部２１０およびインターフェース部２１２は、１つのデバイスに関連する１つのメモリ２１６に記憶することができる。また、多数のデバイスのそれぞれに関連した多数のメモリに分散しても良い。同じように、トルクコマンド生成部２０４、速度監視部２０６、慣性演算部２０８、摩擦係数演算部２１０およびインターフェース部２１２は、１つのプロセッサ２１４で実行しても良いし、多数のデバイスに関連した多数のプロセッサを用いて実行しても良い。
【０１１５】
計算の分散化は、演算装置および演算システム間の通信によりコンピュータリソースおよびコンピュータサービスを共有する。これらのリソースおよびサービスは、目的とする情報、キャッシュおよびディスクの記憶の交換を含む。これらのリソースおよびサービスは、負荷のバランス、リソースの拡張、処理の専用化などに対する多数のプロセスユニットの処理能力の共有も含む。計算の分散化は、ネットワークの接続性に利点を有し、企業全体を利するためにクライアントが総体の力を利用することを可能とする。これに関し、いくつかのデバイスは、この開示のいくつかの実施形態に寄与することが可能なアプリケーション、オブジェクト、または、リソースを有する。
【０１１６】
図２３は、ネットワーク化および分散化された演算環境を例示する模式図である。分散化された演算環境は、演算オブジェクト２３１０、２３１２など、および、演算オブジェクトもしくは演算装置２３２０、２３２２、２３２４、２３２６、２３２８など、を含み、それぞれは、アプリケーション２３３０，２３３２、２３３４、２３３６、２３３８により表されるように、プログラム、方法、データ記憶装置、プログラマブルロジックなどを含む。演算オブジェクト２３１０、２３１２など、および、演算オブジェクトもしくは演算装置２３２０、２３２２、２３２４、２３２６、２３２８などは、ＰＤＡ（personal digital assistant）、聴覚および視覚デバイス、携帯電話、ＭＰ３プレイヤー、パソコン、ノート型パソコン、タブレットなどを含み、ここに説明する慣性推定器の実施形態は、そのようなデバイスの上に存在し、また、そのようなデバイスと相互に作用する。
【０１１７】
演算オブジェクト２３１０および２３１２など、および、演算オブジェクトもしくは演算装置２３２０、２３２２、２３２４、２３２６、２３２８などのそれぞれは、演算オブジェクト２３１０および２３１２など、および、演算オブジェクトもしくは演算装置２３２０、２３２２、２３２４、２３２６、２３２８などのうちの他の１以上のデバイスと、通信ネットワーク２３４０を経由して、直接または間接的に通信することができる。図２３には、１つの要素として表されているが、通信ネットワーク２３４０は、図２３のシステムにサービスを提供する他の演算オブジェクトおよび演算装置を含んでも良いし、多重に相互接続された図示しないネットワークであっても良い。演算オブジェクト２３１０および２３１２など、および、演算オブジェクトもしくは演算装置２３２０、２３２２、２３２４、２３２６、２３２８などのそれぞれは、この開示のいくつかの実施形態との通信、もしくは、その実行に適したＡＰＩもしくは、他の対象物、ソフトウェア、ファームウェアおよびハードウェア、もしくは、そのいずれかを使用する、アプリケーション２３３０、２３３２、２３３４、２３３６、２３３８（例えば、慣性推定器２０２、動作プロファイル生成システム１１０２もしくはその要素など）のようなアプリケーションプログラムを含むこともできる。
【０１１８】
分散化された演算環境をサポートするいくつかのシステム、要素およびネットワークの構成がある。例えば、演算システムは、有線もしくは無線システム、局在するネットワークもしくは広く分散されたネットワークにより一体に結合できる。現在、多くのネットワークは、演算を広く分散化できる社会基盤として提供され、多くの異なるネットワークを包含するインターネットに接続される。そして、いくつかの実施形態において、ここで説明されるように、システムに付随する例示的な通信に、任意の好適なネットワーク基盤を用いることができる。
【０１１９】
このように、ネットワークトポロジーおよびネットワーク基盤のホストとして、クライアント／サーバ、Ｐ２Ｐ（peer-to-peer）またはハイブリッド構造が用いられる。クライアントは、他の階層もしくはグループのサービスを利用する階層もしくはグループのメンバーである。クライアントは、コンピュータの処理、例えば、大まかには、他のプログラムまたは処理により与えられるサービスを求める命令もしくはタスクのセットであっても良い。クライアントの処理は、他のプログラムもしくはサービスそのものについての全てのワークの詳細を知ることなく、要求したサービスを使用する。
【０１２０】
クライアント／サーバ構造、特に、ネットワークシステムでは、クライアントは、他のコンピュータ、例えば、サーバにより提供され、共有されるネットワークリソースにアクセスするコンピュータであっても良い。任意のコンピュータは、環境に依存して、クライアント、サーバもしくはその両方と考えることができるが、図２３では、非限定的な例として、演算オブジェクトもしくは演算装置２３２０、２３２２、２３２４、２３２６、２３２８などは、クライアントと考えることができ、演算オブジェクト２３１０、２３１２などは、サーバと考えても良い。ここで、演算オブジェクト２３１０、２３１２は、クライアント演算オブジェクトもしくはクライアント演算装置２３２０、２３２２、２３２４、２３２６、２３２８などからデータを受信し、データを保存し、データを処理し、クライアント演算オブジェクトもしくはクライアント演算装置２３２０、２３２２、２３２４、２３２６、２３２８などにデータを送信するようなデータサービスを提供する。１以上の実施形態に対してここで説明するように、これらの演算装置のいずれもが、データを処理し、システムの技術に関連するトランズアクションサービスまたはタスクを要求しても良い。
【０１２１】
サービスは、通常、インターネットまたは無線ネットワークインフラのような、遠隔もしくはローカルネットワークを介してアクセスできるリモートコンピュータシステムである。クライアント処理は、第１のコンピュータシステムにおいて利用可能であり、サーバ処理は、第２のコンピュータシステムにおいて利用可能である。第１のコンピュータシステムおよび第２のコンピュータシステムは、通信媒体を介して相互に通信する。したがって、分散化された機能を提供し、多くのクライアントにサーバの情報収集の能力を利用させることができる。ここに説明する技術に準拠して用いられる任意のソフトウェアは、独立して提供しても良いし、多数の演算装置もしくは演算オブジェクトに分散されても良い。
【０１２２】
例えば、通信ネットワーク／バス２３４０がインターネットであるネットワーク環境では、演算オブジェクト２３１０、２３１２などは、ウェブサーバ、ファイルサーバ、メディアサーバなどであっても良く、クライアント演算オブジェクトもしくは演算装置２３２０、２３２２、２３２４、２３２６、２３２８などは、ＨＴＴＰ（hypertext transfer protocol）のような既知のプロトコルを介して通信する。演算オブジェクト２３１０、２３１２などは、分散化された演算環境を特徴づけるように、クライアント演算オブジェクトもしくはクライアント演算装置２３２０、２３２２、２３２４、２３２６、２３２８のように機能しても良い。
【０１２３】
［演算装置の例示］  
前述したように、ここに説明する技術は、有利に任意の好適なデバイスに適用できる。このため、いくつかの実施形態に関連して、携帯可能な演算装置および他の演算装置、演算オブジェクトなどのすべての種類の使用が期待されることを理解すべきである。したがって、次の図２４で説明するコンピュータは、その１例である。さらに、好適なサーバは、メディアサーバもしくは他のメディア管理サーバの要素のような、以下のコンピュータの１以上の態様を含むことができる。
【０１２４】
要求されることはないが、実施形態は、装置もしくは器機のサービスの開発者に使用されるために、オペレティングシステムを介して部分的に実行されても良いし、ここに説明されるいくつかの実施形態の１以上の機能的な態様を実施するために動作するアプリケーションソフトウェアの範囲に含まれても良い。ソフトウェアは、プログラムモジュールのように、コンピュータが実行可能な命令の一般的な背景において説明しても良く、クライアントワークステーション、サーバまたは他の装置のような、１以上のコンピュータにより実行される。コンピュータシステムは、様々な構成とデータ通信に用いる様々なプロトコルを有するため、特定の構成およびプロトコルに限定されるべきではないことを、当業者は認識するだろう。
【０１２５】
図２４は、ここに説明する実施形態の１以上の態様を実施可能な、好適な演算システム環境２４００の例を表している。上記のように、演算システム環境２４００は、好適な演算環境の１つの例に止まり、使用および機能性の範囲についていかなる限定も意図していない。例示的な演算システム環境２４００に表された要素のいずれか、または、その結合に関連するいかなる依存性も、要請も、演算システム環境２４００は有しないと解釈される。
【０１２６】
図２４を参照して、コンピュータ２４１０の形で１以上の実施形態を実施する例示的な演算装置を説明する。コンピュータ２４１０の構成要素は、プロセスユニット２４２０、システムメモリ２４３０、および、システムメモリを含むいくつかの構成要素をプロセスユニット２４２０に結合するシステムバス２４２２を含むが、これに限定される訳ではない。プロセスユニット２４２０は、例えば、慣性推定器２０２のプロセッサに関連する機能を実行し、システムメモリ２４３０は、メモリ２１６に関連する機能を実行する。
【０１２７】
コンピュータ２４１０は、通常、コンピュータが読み取り可能ないくつかの媒体、すなわち、コンピュータ２４１０がアクセス可能な任意の利用可能な媒体を含む。システムメモリ２４３０は、ＲＯＭ（read only memory）およびＲＡＭ（random access memory）のような揮発性および不揮発性メモリ、もしくは、そのいずれかの形のコンピュータ記憶媒体を含むことができる。限定ではなく例示の形で、システムメモリ２４３０は、オペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール、および、プログラムデータを記憶しても良い。
【０１２８】
ユーザは、入力装置２４４０を介してコンピュータ２４１０にコマンドおよび情報を入力できる。入力装置２４４０として、非限定的に、キーボード、キーパッド、ポインティングデバイス、マウス、タッチペン、タッチパッド、タッチスクリーン、トラックボール、モーションディテクタ、カメラ、マイクロフォン、ジョイスティック、ゲームパッド、スキャナー、もしくは、ユーザがコンピュータと相互作用できる任意の装置を含むことができる。モニタまたは他のタイプの表示装置も、出力インターフェース２４５０のようなインターフェースを介してシステムバス２４２２に接続される。モニタに加えて、コンピュータは、出力インターフェース２４５０を介して接続されるスピーカおよびプリンタのような他の周辺出力装置を含むことができる。１以上の実施形態において、入力装置２４４０は、インターフェース部２１２にユーザ入力を与え、出力インターフェース２４５０は、インターフェース部２１２から慣性推定器２０２の動作に関係する情報を受信することができる。
【０１２９】
コンピュータ２４１０は、リモートコンピュータ２４７０のような１以上の遠く離れた他のコンピュータに論理的に結合されるネットワーク化または分散化された環境で動作しても良い。リモートコンピュータ２４７０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークパソコン（ＰＣ）、ピアデバイス（peer device）もしくは他の共通ネットワークノード、または、任意の他のリモートメディアデバイスもしくはリモートメディア伝送デバイスであっても良いし、コンピュータ２４１０に関連して説明した要素のいずれか、もしくは、全てを含んでも良い。図２４に表す論理結合は、ＬＡＮ（local area network）もしくはＷＡＮ（wide area network）のような、ネットワーク２４７２を含むが、例えば、セルラーネットワークのような、他のネットワーク／バスも含まれる。
【０１３０】
上記のように、例示的な実施形態が、いくつかの演算装置およびネットワーク構造に関連して説明されたが、その背景となる概念は、制約の少ない方式で、メディアを出力または利用することが望まれる任意のネットワークシステムおよび任意の演算装置もしくは演算システムに適用できる。
【０１３１】
また、同じまたは類似する機能性を実現する多くの方法がある。例えば、適当なＡＰＩ（Application Programming Interface）、ツールキット、ドライバコード、オペレーティングシステム、制御ソフトウェア、独立もしくはダウンロードできるソフトウェアなどにより、ここで説明する技術を利用したアプリケーションおよびサービスが可能となる。このように、実施形態では、ソフトウェアまたはハードウェアと同じように、ＡＰＩ（もしくは、他の同じ機能のソフトウェア）の観点から、ここに説明した１以上の形態を実行することが期待される。そして、ここに説明するいくつかの実施形態は、全てがハードウェア、一部がハードウェア、および、全てがソフトウェア、一部がソフトウェアの態様であっても良い。
【０１３２】
ここで「例示的」という言葉は、例または模式化を意味するために用いられている。疑義を避けるために、ここに開示される態様は、そのような例に限定されない。さらに、例として、ここに説明する任意の態様またはデザインは、他の態様もしくはデザインよりも好ましい、または、有利であると解釈される必要はなく、また、等価な構造および技術を除外するものでもない。さらに、疑義を避けるために「含む」、「有する」および他の類似する語を、詳細な説明、または、請求の範囲のいずれかに使用する限りにおいて、そのような語は、「備える」と類似した用法であって、任意の付加もしくは他の要素を排除しない。
【０１３３】
演算装置は、通常、コンピュータが読み取り可能な記憶媒体（例えば、メモリ２１６もしくは１１１２）および通信媒体、もしくは、そのいずれかを含むいくつかの媒体を備える。ここで用いられる、これらの２つの語は、次のように相互に異なる。コンピュータが読み取り可能な媒体は、任意の利用可能な媒体であって、コンピュータがアクセス可能で有り、通常、一過性でない性質を有し、揮発性および不揮発性の両方のものと、脱着可能および脱着不可能の両方のものを含む。非限定的な例として、コンピュータが読み取り可能な記憶媒体は、コンピュータが読み取り可能な命令、プログラムモジュール、構造的データもしくは非構造的データのような情報を保存するために、任意の方法もしくは技術に関連して実装される。コンピュータが読み取り可能な記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（digital versatile disk）もしくは他の光学的記録ディスク、磁気カセット、磁気テープ、磁気記憶ディスクもしくは他の磁気記憶デバイス、望ましい情報を保存するために使用される他の具体的および非一過性の媒体、もしくはそのいずれかを含むが、これらに限定される訳ではない。コンピュータが読み取り可能な記憶媒体は、それに保存された情報に関するいくつかの動作のために、１以上のローカルもしくはリモートの演算装置により、例えば、アクセス要求、検索要求または他のデータ検索プロトコルを介してアクセスされる。
【０１３４】
一方、通信媒体は、通常、コンピュータが読み取り可能な命令、データ構造、プログラムモジュールもしくは他の構造データまたは非構造データを、例えば、搬送波もしくは他の輸送手段である変調データ信号のようなデータ信号に一体化し、任意の情報配信または輸送媒体を含む。「変調データ信号」または信号という語は、１以上の信号に情報を符号化する方法により設定もしくは変更された１以上の特性を有する信号に言及する。非限定的な例によれば、通信媒体は、有線ネットワークもしくは直接配線の結合のような有線媒体、および、音波、高周波、赤外および他の無線媒体のような無線媒体を含む。
【０１３５】
前述したように、ここに説明されるいくつかの技術は、ハードウェアまたはソフトウェア、もしくは、適宜、その結合に関連して実施される。ここに使用する「要素」、「システム」などの用語は、さらに、ハードウェア、ハードウェアとソフトウェアの結合、ソフトウェア、もしくは、ソフトウェアの実行のいずれかであるコンピュータに関連する要素に言及することを意図している。例えば、要素は、プロセッサで実行される処理、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよびコンピュータ、もしくは、そのいずれかであっても良いが、これらに限定される訳ではない。例として、コンピュータ上で実行されるアプリケーションおよびコンピュータの両方が、要素であっても良い。１以上の要素が、プロセスおよび実行スレッド、もしくは、そのいずれかの中に存在し、要素は、１つのコンピュータに局在しても良いし、２以上のコンピュータに分散されても良い。さらに、「デバイス」は、特別に設計されたハードウェア、また、ハードウェアに特定の機能（例えば、符号化および複合化、もしくはそのいずれか）を実施させるソフトウェアの実行により特化される一般のハードウェアとしてもたらされても良い。
【０１３６】
前述したシステムは、いくつかの要素の相互作用に関連して説明される。そのようなシステムおよび要素は、これらの要素もしくは特定された準要素、特定された要素または準要素のいくつか、および、付加的な要素、もしくは、そのいずれかを含み、前述のいくつかの置き換えおよび結合にしたがうことを認識すべきである。準要素は、親要素の内部（階層構造）に含まれるのではなく、他の要素と通信可能に結合された要素として実装されても良い。さらに、１以上の要素は、集約された機能性を与える単一の要素に結合されても良いし、いくつかの離間した準要素に分割されても良いこと、また、マネージメント層のような任意の１以上の中間層が、集積化された機能性を与えるために、そのような準要素に通信可能に結合されても良いことに留意すべきである。ここに説明する任意の要素は、ここに具体的に説明されないが、当業者に一般的に知られた１以上の他の要素と相互に作用しても良い。
【０１３７】
ここに説明した多くのインターフェース（例えば、音響セグメント）を提供または役立たせるために、ここに説明する要素は、アクセスが承認されたデータの全体もしくはそのサブセットを試験し、事象およびデータ、もしくはそのいずれかを介して捉えられた観察結果から、システム、環境などの状態を論証もしくは推定することができる。推定は、具体的な背景または動作を決定するために用いられ、例えば、状態の確率分布を生成することができる。推定は確率的、すなわち、データおよび事象の考察に基づいて対象の状態の確率分布の計算であっても良い。推定は、事象およびデータ、もしくは、そのいずれかから、より高度の事象を構成するために用いる技術に言及することもできる。
【０１３８】
そのような推定は、観測された事象および保存された事象のデータのセット、および、事象が一時的な近接状態において相関するかどうか、また、事象およびデータが、１またはいくつかの事象およびデータソースから生じたかどうか、から新規の事象または動作を構成することができる。いくつかの（明示的および黙示的に備えられた、もしくは、そのいずれかである）分類スキームおよびシステム、もしくは、そのいずれか（例えば、サポートベクトルマシン（support vector machine）、ニューラルネットワーク（neural network）、エキスパートシステム（expert system）、簡易ベースネットワーク（Bayesian belief network）、ファジーロジック（fuzzy logic）、データフージョンエンジン（data fusion engine）など）は、クレームされた主題に関連した自動化および推定された動作を実施に用いることができる。
【０１３９】
分類器は、入力の属性ベクトル、ｘ＝（ｘ１、ｘ２、ｘ３、ｘ４・・ｘｎ）を、関数ｆ（ｘ）によりマップし、その入力が１つのクラスに属することを確定させる。そのような分類には、ユーザが自動的に実行されることを望む動作を予知もしくは推定するために、確率的および統計に基づいた解析（例えば、解析設備および解析コストへの組み込み）を用いる。サポートベクトルマシン（support vector machine：SVM）は、用いることが可能な分類器の１例である。ＳＶＭは、可能な入力空間におけるハイパーサーフェース（hyper-surface）を見つけることにより動作する。ここで、ハイパーサーフェースは、非誘因事象からの誘因基準を分割する。直感的に、これは、訓練データに近いが同一でないテストデータに対して、分類を修正する。分類のための他の直接的および間接的なモデルとして、ナイーブベイズ（naive Bayes）、ベイジアンネットワーク（Bayesian network）、ディシジョンツリー（decision tree）、ニューラルネットワーク、ファジーロジックモデル（fuzzy logic model）、および、独立性の異なるパターンを与える確率分類モデルを用いることができる。ここで用いられる分類は、モデルの優先度の解明に用いられる統計的な不具合も内包する。
【０１４０】
上記の例示的なシステムの視点において、説明された主題にしたがって実行される手順は、いくつかのフローチャート（例えば、図９、１０および２０〜２２）参照して良く認識できるであろう。説明の簡略化の観点から、手順は、連続したブロックとして示され、説明されるが、クレームされた主題は、ブロックの順序により限定されることはなく、いくつかのブロックは、ここに表され説明されたものと異なる順序であっても良いし、他のブロックと同時に実行されても良いことを理解し、認識すべきである。逐次的でない分岐したフローがフローチャートに表されているが、いくつかの他の分岐、フローパスおよびブロックの順序が実行され、同じ、または、類似した結果が得られることが認識できる。さらに、以下に説明する手順の実施では、すべてのブロックが必要とされないであろう。
【０１４１】
ここに説明されたいくつかの実施形態に加えて、他の類似した実施形態を用いることができ、対応する実施形態の同じもしくは類似した機能を実施するために、上記の実施形態から逸脱することなく、その変形および付加が可能である。さらに、多数のプロセスチップまたは多数のデバイスは、ここに説明する１以上の機能を協働して実行することができ、複数のデバイスにまたがった保存も、同じように可能である。したがって、本発明は、いかなる実施形態にも限定されず、添付されたクレームの広さ、精神および範囲を解釈することができる。
【図１】
2013225284.tif 000098
【図２】
2013225284.tif 000099
【図３】
2013225284.tif 000100
【図４】
2013225284.tif 000101
【図５】
2013225284.tif 000102
【図６】
2013225284.tif 000103
【図７】
2013225284.tif 000104
【図８】
2013225284.tif 000105
【図９】
2013225284.tif 000106
【図１０】
2013225284.tif 000107
【図１１】
2013225284.tif 000108
【図１２】
2013225284.tif 000109
【図１３】
2013225284.tif 000110
【図１４】
2013225284.tif 000111
【図１５】
2013225284.tif 000112
【図１６】
2013225284.tif 000113
【図１７】
2013225284.tif 000114
【図１８】
2013225284.tif 000115
【図１９】
2013225284.tif 000116
【図２０】
2013225284.tif 000117
【図２１】
2013225284.tif 000118
【図２２】
2013225284.tif 000119
【図２３】
2013225284.tif 000120
【図２４】
2013225284.tif 000121
【外国語明細書】
2013225284.tif 000122
2013225284.tif 000123
2013225284.tif 000124
2013225284.tif 000125
2013225284.tif 000126
2013225284.tif 000127
2013225284.tif 000128
2013225284.tif 000129
2013225284.tif 000130
2013225284.tif 000131
2013225284.tif 000132
2013225284.tif 000133
2013225284.tif 000134
2013225284.tif 000135
2013225284.tif 000136
2013225284.tif 000137
2013225284.tif 000138
2013225284.tif 000139
2013225284.tif 000140
2013225284.tif 000141
2013225284.tif 000142
2013225284.tif 000143
2013225284.tif 000144
2013225284.tif 000145
2013225284.tif 000146
2013225284.tif 000147
2013225284.tif 000148
2013225284.tif 000149
2013225284.tif 000150
2013225284.tif 000151
2013225284.tif 000152
2013225284.tif 000153
2013225284.tif 000154
2013225284.tif 000155
2013225284.tif 000156
2013225284.tif 000157
2013225284.tif 000158
2013225284.tif 000159
2013225284.tif 000160
2013225284.tif 000161
2013225284.tif 000162
2013225284.tif 000163
2013225284.tif 000164
2013225284.tif 000165
2013225284.tif 000166
2013225284.tif 000167
2013225284.tif 000168
2013225284.tif 000169
2013225284.tif 000170
2013225284.tif 000171
2013225284.tif 000172
2013225284.tif 000173
2013225284.tif 000174
2013225284.tif 000175
2013225284.tif 000176
2013225284.tif 000177
2013225284.tif 000178
2013225284.tif 000179
2013225284.tif 000180
2013225284.tif 000181
2013225284.tif 000182
2013225284.tif 000183
2013225284.tif 000184
2013225284.tif 000185
2013225284.tif 000186
2013225284.tif 000187
2013225284.tif 000188
2013225284.tif 000189
2013225284.tif 000190
2013225284.tif 000191
2013225284.tif 000192
2013225284.tif 000193
2013225284.tif 000194
2013225284.tif 000195
2013225284.tif 000196
2013225284.tif 000197
2013225284.tif 000198
2013225284.tif 000199
2013225284.tif 000200
2013225284.tif 000201
2013225284.tif 000202
2013225284.tif 000203
2013225284.tif 000204
2013225284.tif 000205
2013225284.tif 000206
2013225284.tif 000207
2013225284.tif 000208
2013225284.tif 000209
2013225284.tif 000210
2013225284.tif 000211
2013225284.tif 000212
2013225284.tif 000213