これより図面を参照しつつ、様々な実施の形態について説明して行く。尚、全ての図面を通して、同一ないし対応する構成要素には同一の参照番号を付すようにした。以下の記載においては、詳細に説明することを旨として、数多くの細部構成について具体的に記載することで、本開示の理解を図ることにする。ただし、それら実施の形態は、以下に記載する細部構成を備えない形態として実施するようにすることもでき、或いはまた、その他の方法、構成要素、材料、等々を用いて実施するようにすることも可能である。尚、図面には構成要素ないし装置をブロック図の形で示してあるが、これは実施の形態を説明する上で好都合だからである。
本明細書に記載するシステム及び方法は、閉ループ系を構成するモーションコントロールシステムを制御するための、ロバスト安定性が得られる制御器帯域幅を決定するための技術に関するシステム及び方法であり、制御器帯域幅に対する制約条件を成すモーションコントロールシステムの主要システムパラメータの値が与えられれば、ロバスト安定性が得られる制御器帯域幅を決定できるようにしたものである。幾つかの実施の形態においては、ロバスト安定性解析を用いて、ロバスト安定性が得られる制御器帯域幅の値を主要システムパラメータの値の関数として決定するようにしており、それら主要システムパラメータは、通常想定される一連の不確定性に関連して、制御器帯域幅の値に対する制約条件(例えば機械的な共振モードに関する条件)を成すパラメータである。ロバスト安定性が得られる制御器帯域幅の値と主要システムパラメータの値との関係が確定されたならば、その確定された関係に基づいて、所与のタイプのモーションコントロールアプリケーション(例えば、モータと負荷の夫々が慣性量を有する2慣性量のモーションコントロールシステムなど)を制御するための、適切な制御器帯域幅の値を決定することができ、その決定のためには、チューニングを施そうとしているモーションコントロールシステムの、システム利得の値と、制約条件を成す主要システムパラメータの値とが与えられるだけでよい。本明細書に記載する技法によれば、ロバスト安定性が得られるように制御器帯域幅をチューニングする際に、トライアルアンドエラー方式による手作業でチューニングを行う必要がなく、またそれと共に、動作性能を損なわずにロバスト安定性が得られる制御器帯域幅を決定できるため、閉ループ系の動作性能が強化され、外乱の大きさを評価してその影響を打消す動作が高速化される。
図1に簡明化した模式図によって、閉ループ系を構成するモーションコントロールシステムのアーキテクチャを示した。制御器102は、モータ104を制御するようにプログラムされており、モータ104は、機械的負荷106を駆動する。これら制御器102、モータ104、及び負荷106は、この具体例のモーションコントロールシステムの基本的な構成要素である。このシステムの応用例を挙げるならば、例えば、負荷106を、単軸型または多軸型のロボットないしポジショニングシステムなどとすることができ、ただしそれに限定されない。そのような用途では、制御器102は、モータ104に負荷106を目標位置まで目標速度で移動させるために、制御信号108を送出する。この制御信号108は、モータ104へ直接供給される信号とすることもでき、或いはまた、モータ104へ供給する電力を制御している(それによってモータの回転速度及び回転方向を制御している)モータ駆動回路(不図示)へ供給される信号とすることもできる。図中のフィードバック信号110は、モータ104、及び/または、負荷106の、現在状態(例えば現在位置、現在速度、等々)をリアルタイムで示している。サーボ駆動式システムの場合には、フィードバック信号110は、例えばモータの絶対位置または相対位置を追跡しているエンコーダやレゾルバ(不図示)などによって生成される。また別のタイプのシステムとして、フィードバック信号110を、負荷から得られる信号(例えば負荷の位置または速度を測定して得られる信号)とすることもできる。センサレス型システムでは、位置センサも速度センサも装備されておらず、フィードバック信号は、速度ないし位置を推定する推定器によって生成される。移動動作の実行中には、制御器102は、フィードバック信号110をモニタすることで、負荷106が目標位置に正確に到達するようにする。制御器102は、フィードバック信号110に示された負荷106の実際位置と、目標位置とを比較して、実際位置と目標位置との差分である誤差を減少ないし消滅させるように制御信号108に修正を加える。
このモーションコントロールシステムの応用例として、負荷106を、モータ104によって駆動される回転する負荷(例えば、ポンプ、洗浄機、遠心機、等々)とし、制御器102が、その負荷の回転速度を制御するようにしたものもある。かかる応用例では、制御器102は第1回転速度から第2回転速度へ速度を切換えるよう(制御信号108を介して)モータ104に命じつつ、フィードバック信号110に基づいて、その制御信号108に必要な修正を加える。尚、本願発明にかかる制御器帯域幅の推定技法は、以上に具体例として記載した種類のモーションコントロールシステムに適用することに限定されるものではなく、その他の多くの制御用途(例えばプロセス制御システムなど)にも適用可能である。
制御器102から送出される制御信号は、目標位置ないし目標速度と(フィードバック信号110に示された)実際位置ないし実際速度との差分である誤差に応答して生成されるものであるが、ただしこの制御信号の大きさは制御器帯域幅の広さに対する依存性も有しており、また、制御器帯域幅は、制御ループの利得係数を決定するものである。一般的に、制御器帯域幅が広いほどシステムの動作性能が良好になる(例えば制御器のトラッキング速度が高速となる、閉ループ系に作用する外乱に対する感受性が低下する、等々)。しかしながら、制御対象の機械システムの物理特性によっては、設定した制御器帯域幅が広すぎたならば、それによって例えば機械システムの不都合な振動が発生するなどして、機械システムが不安定になるおそれがある。多くの用途において、設計技術者は、適切な制御器帯域幅を見いだすための方法として、トライアルアンドエラー方式を採用しており(例えば、手動設定で制御ループの利得係数のチューニングを行うなど)、これは、適切な制御器帯域幅の選定値は、制御対象の機械システムの物理特性に左右されるからに他ならない。例えば、大きな慣性量を有する(従って、加速動作及び減速動作に対して大きな抵抗力が作用する)機械システムでは、また特に、目標位置ないし目標速度に短時間で収束することを要する用途においては、別の位置への移動の開始時や別の速度への切換えの開始時に、大きな初期トルクを必要とする。しかしながら、大きなトルクを発生させる命令を発した場合には、オーバーシュートが発生する可能性も大きくなり、オーバーシュートが発生したならば、制御対象の機械システムを目標位置ないし目標速度へ到達させるために逆方向へ駆動する修正が必要となる。制御器帯域幅の広さが不適切であると、目標位置ないし目標速度に整定するまでの間に多数回の修正を反復することになるため、不都合な機械振動が発生するおそれがある。そのような機械振動によって、不安定性が惹起され、また、機械システムの挙動に遅れが誘起され、その機械システムを安定状態にするために余分な仕事を行うために、余分な電力を消費することにもなり兼ねない。
本明細書に記載する具体例のうちには、所与の制御用途におけるシステム利得の値と主要システムパラメータの値とが与えられさえすれば、高精度で安定した動作性能をもたらす適切な制御器帯域幅の値を自動的に決定され、それによって、制御系のチューニング作業が簡略化されるようにしたものがある。
図2は、システムの利得と1つまたは複数の主要制約条件とに基づいて、ロバスト安定性が得られる制御器帯域幅を決定することができるようにした、制御器帯域幅推定器の具体例を示したブロック図であり、ただし本発明はこの具体例に限定されない。この具体例の制御器帯域幅推定器202は、帯域幅決定部204と、インターフェース部212と、1つまたは複数の処理装置214と、メモリ216とを備えている。メモリ216には、予め導出された帯域幅モデル218が、参照可能に格納されている。その帯域幅モデル218は、通常想定される一連のシステム不確定性(システム不確定性には、例えば、機械的不確定性、センサノイズ、等々がある)に対応した、制御器帯域幅の値とシステム利得の値との間の望ましい関数関係を示したものである。また、この具体例の制御器帯域幅推定器202は、更に、慣性量推定部206、及び/または、閉ループ系解析部208を備えたものとしてもよい。また、別の具体例として、1つまたは複数の帯域幅決定部204、慣性量推定部206、閉ループ系解析部208、インターフェース部212、1つまたは複数の処理装置214、それにメモリ216のうちの、1つまたは幾つかの構成要素を、電気接続、及び/または、通信接続して、制御器帯域幅推定器202の複数の機能のうちの、1つまたは幾つかの機能を実行できるようにしたものがある。また、実施の形態のうちには、構成要素204、206、208、及び212の機能を、メモリ216に格納した、処理装置214によって実行されるソフトウェア命令によって構築したものがある。制御器帯域幅推定器202は更に、図2は示していないその他のハードウェア構成要素、及び/または、ソフトウェア構成要素との間で相互作用を及ぼすようにしてもよい。例えば、処理装置214は、1つまたは幾つかの外部ユーザインターフェースデバイス(例えば、キーボード、マウス、ディスプレイモニタ、タッチスクリーン、また更にその他のインターフェースデバイス、等々)との間で相互作用を及ぼすものとすることができる。
インターフェース部212は、ユーザ入力を受取ること、及び、適当なフォーマットの出力(例えば、視覚出力、聴覚出力、触覚出力、等々)をユーザへ送出することができるように構成されている。ユーザ入力には、例えば、ユーザが手作業で求めた機械システムのシステム利得(システム利得は、負荷の慣性量、及び/または、モータの慣性量、等々で表される)の推定値や、実効剛性量、減衰量、等々のパラメータの推定値などの、制御器帯域幅推定器202が、適切な制御器帯域幅の値(これについては後述する)を決定するために用いる推定値が含まれる。帯域幅決定部204は、システム利得の推定値と、制約条件を成す主要システムパラメータの推定値(これら推定値は、インターフェース部212を介して手動操作で入力されたものである場合もあり、構成要素206及び208によって自動的に導出されたものである場合もある)とを受取れるように構成されており、また、それらシステムパラメータの推定値が与えられたならば、帯域幅モデル218を参照して適切な制御器帯域幅の値を決定することができるように構成されている。
慣性量推定部206は、制御対象の機械システムの慣性量の推定値を生成する。機械システムのうちには、この慣性量がシステム利得であるものがある。閉ループ系解析部208は、閉ループ系解析に基づいて、機械システムの実効剛性量の推定値、及び/または、機械システムの減衰量の推定値を生成する。慣性量推定部206は慣性量の推定値を、また、閉ループ系解析部208は剛性量及び/または減衰量の推定値を、夫々に帯域幅決定部204へ供給し、帯域幅決定部204は、それら推定値に基づいて適切な制御器帯域幅を決定する。
1つまたは複数の処理装置214は、ここに開示するシステム、及び/または、方法に関連して本明細書において説明する様々な機能のうちの1つまたは幾つかを実行することができる。メモリ216は、ここに開示するシステム、及び/または、方法に関連して本明細書において説明する様々な機能のうちの1つまたは幾つかを実行するための、コンピュータが実行可能な命令、及び/または、データを格納することのできる、コンピュータ読取可能な媒体とすることができる。
図3は、帯域幅決定部204への入力及び帯域幅決定部204からの出力の具体例を示したブロック図である。具体例のうちには、ロバスト安定性が得られる制御器帯域幅の値と、制御器帯域幅の値の制約条件を成している主要システムパラメータの値との間の関係をモデル化したものとして、帯域幅モデル218が定められるようにしたものがある。帯域幅モデル218によって規定される関係を導出するには、適宜の安定性解析法を用いればよく、そのような安定性解析法には、後に詳述するロバスト安定性解析などがあり、ただしそれに限定されない。帯域幅モデル218よって規定される関係は、所与のタイプのモーションコントロールシステムにおいて通常想定される一連の不確定性に対して適用可能であるため、帯域幅モデル218は、多くのコントロールシステム(例えば、モーションコントロールシステム、プロセスコントロールシステム、等々)における適切な制御器帯域幅を決定するために適用可能である。
このように、ロバスト安定性が得られる制御器帯域幅の値と主要システムパラメータの値との関係が、一定の関係として帯域幅モデル218として組込まれているため、帯域幅決定部204は、システム利得の推定値302と、制御器帯域幅の値に対する制約条件を成している主要システムパラメータの推定値304とが与えられさえすれば、所定のモーションコントロール用途に適合した、適切な制御器帯域幅の値306を決定することができる。より詳しくは、帯域幅決定部204は、帯域幅モデル218を参照することによって、システム利得の推定値302と、主要システムパラメータの推定値304とでその特性が表されているモーションコントロールシステムのための、適切な制御器帯域幅306を決定することができる。こうして決定した制御器帯域幅の値306を用いて制御器のチューニングを行うことによって、ロバスト安定性を備えた制御性能が得られる。
ロバスト安定性が得られる制御器帯域幅の決定手順の具体例について説明するために、ここで、産業用モーション駆動システムの1つの具体例について説明する。図5に示したように、その種の駆動システムは、そのシステムの合計慣性量Jがモータ502の慣性量JMと負荷504の慣性量JLとから成る、2慣性量システム500としてモデル化される。モータ502と負荷504とを連結している連結要素506の機械的特性は、剛性量の値KSと、減衰量の値bSとで表されている。従って、この具体例のシステム500において、システム利得としては、システムの慣性量が用いられており、主要パラメータとしては、モータと負荷が連結された連結体の共振モードが用いられている。また、この2慣性量システム500の伝達関数は、モータの入力トルクTEに対するモータの回転速度ωMを表すものであり、下記の式(1)で与えられる。
この式(1)において、JPは、下記の式〔2〕で表されるものである。
式(1)の伝達関数において、その第1項の〔1/(JM+JL)s〕は、剛体力学条件による項であって、初期設定作業の際にその値が求められ既知となる。一方、第2項の〔(JLS2+bSS+KS)/(JPS2+bSS+KS)〕は、弾性変形力学条件による項であって、弾性変形可能な連結部の弾性コンプライアンスに起因しており、その値は未知である。第2項に示された弾性変形力学条件は、閉ループ系制御器の帯域幅を設定する際に、その制約を成す不確定性を表している。
ロバスト制御の基本概念によれば、図4に示したように、閉ループ系をΔ−Mの相互関係400で表すことができ、ここでMは、制御器帯域幅(設計パラメータ)の関数としての閉ループ系を表しており、Δは、パラメータKS及びパラメータbSの推定値に不可避的に付随するバラツキに起因する不確定性である。
以上によって、一連の慣性量の値並びに剛性の値に対応した設定可能な制御器帯域幅の値を近似的に表す関数が得られる。この近似関数は、帯域幅モデル218の基礎を成すものである。より具体的には、例えば、一連のパラメータの値JM、JL、及びKSが与えられたならば、それら値に対して反復探索アルゴリズムを適用することによって、ロバスト安定性条件を満足する制御器帯域幅の値を求めることができる。具体例のうちには、ロバスト安定性条件が、構造化特異値(SSV)によって与えられるようにしたものがあり、これはμ解析と呼ばれる方法であって、下記の式(3)が満足されるときに、ロバスト安定性が保証されるというものである。
1つの具体例にかかるシステムでは、反復探索アルゴリズムを用いて、一連の慣性量の値(JM+JL)及び剛性量の値KSに対応した、ロバスト安定性が得られる制御器帯域幅の値を決定するようにしており、その反復探索アルゴリズムは、下記の式(4)で示される条件に基づいて行われるものである。
この式(4)において、
Yは、ロバスト安定性解析を表しており、
x=JM+JLであり、
〔(a1/x)+a2x2+a3〕は、帯域幅(BW)を表す望ましい関数形状を表している。
反復探索アルゴリズムによる探索対象である一連の慣性量の値(JM+JL)及び剛性量の値KSは、一般的に、試験対象である特定の種類のモーションコントロールシステムに関して通常想定される一連の不確定性に対応した値が選択される。上掲の式(3)及び式(4)で表された反復探索アルゴリズムによって、一連の慣性量の値及び剛性量の値に対応した、実現可能な帯域幅の値の集合が求められたなら、その集合に含まれる帯域幅の値に対して曲線当てはめ法(例えば最小二乗法など)を適用することによって、ロバスト安定性が得られる制御器帯域幅の値とシステム慣性量の値との関係を近似した関数が得られる。図6に示したのは、以上に説明した方法を用いて得られる関係の具体例を示したグラフである。図6に示したように、様々な剛性量の値KSに対応した実現可能な帯域幅の値BWが、システム慣性量の値JM+JLの関数としてプロットされており、このグラフにおいて、個々のプロット点は、反復探索アルゴリズムによって得られた値を示しており、そして曲線は、プロットしたそれらデータ点に曲線当てはめ法を適用して得られた近似関数関係を表している。
以上の技法を用いることで、ロバスト安定性が得られる制御器帯域幅を表す一般化した関数を、ただ2つだけのパラメータ(慣性量及び剛性量)の関数として導出することができ、この関数は下記の式(5)で表される。
この式(5)において、BWは制御器帯域幅、JMはモータの慣性量、JLは負荷の慣性量、そして、KSは実効剛性量である。
以上に説明した具体例は、モータで駆動する産業用モーションコントロールシステムを例に取ったものであり、このモーションコントロールシステムでは、システム利得は慣性量であり、主要パラメータは剛性量である。ただし、本明細書に記載している技法は、このようなシステムに適用することに限定されず、システム利得及び主要パラメータがこれらとは異なる、異なった種類のシステムにも適用可能である。一般的に、上で説明した反復探索法を用いて、ロバスト安定性が得られる制御器帯域幅の値を、システム利得と主要パラメータの関数として決定するようにしたものであれば、本開示の実施の形態の範囲に含まれる。
ロバスト安定性が得られる制御器帯域幅の値と、システムの主要パラメータの値との間に存在する関数関係(例えば、上掲の式(5)で表され、また図6の具体例のグラフで示される関数関係)が得られたならば、その得られた関数関係が、帯域幅モデル218の基礎を成すものとなる。即ち、得られたその関数関係を帯域幅モデル218として格納すればよく、帯域幅決定部204が、与えられたシステム利得(例えば慣性量)の値と主要パラメータ(例えば連結剛性量、及び/または、減衰量)の値とに基づいてその帯域幅モデル218にアクセスすることによって、所与のモーションコントロール用途に適合した、ロバスト安定性が得られる適切な制御器帯域幅の値を決定することができる。図7に、ロバスト安定性が得られる制御器帯域幅を決定する手順の具体例を示した。上で説明した具体例の方法に続いて、式(5)で表される上で求められた関数関係が、帯域幅モデル218としてエンコードされており、この関数関係は、ロバスト安定性が得られる制御器帯域幅を、システム慣性量(システム利得)の値と、連結剛性量(これは制御器帯域幅の制約条件を成す主要パラメータである)の値との、関数として定めたものである。帯域幅モデル218は、帯域幅決定部204がアクセスできるような、適宜のフォーマット(例えば、慣性量の値と剛性量の値との組合せと、制御器帯域幅の値との間でクロスレファレンスするルックアップテーブル、制御器帯域幅の値を容易に算出できる慣性量の値と剛性量の値とを変数とする数式、等々)で格納しておけばよい。
システムの設計者は、所与のシステムの慣性量702及び剛性量704の推定値または測定値をこの制御器帯域幅推定器に入力することができる。それらの推定値が与えられたならば、帯域幅決定部204は、帯域幅モデル218を参照することによって、それら推定値702及び704に対応した適切な制御器帯域幅の値708を決定することができる。制御器帯域幅の値708は、与えられた慣性量の推定値702及び剛性量の推定値704に対応した、システムにロバスト安定性を付与することのできる制御器帯域幅の値として、帯域幅モデル218に定められている値である。システムの設計者は、この制御器帯域幅の値708を用いて制御器のチューニングを行うことによって、ロバスト安定性を有する制御特性を実現することができる。状況によっては、システムの設計者が、以上のようにして得られた制御器帯域幅の値708を目安にして、手作業で制御器の利得のチューニングを行い、最終的に、その値に示された帯域幅が得られるようにすることもあり得る。そのような場合には、制御器帯域幅推定器が、以上のようにして得られた制御器帯域幅の値を(例えばインターフェース部212を介して)ディスプレイ上に出力して、システムの設計者がその値を見ながら、モーションコントロールシステムに、或いは、チューニングアプリケーションに、その値を入力できるようにするとよい。様々な実施の形態のうちには、制御器帯域幅推定器が、以上のようにして得られた制御器帯域幅の値をモーションコントロールシステムに直接供給するようにしてあるものもあり、その場合、モーションコントロールシステムが、供給された制御器帯域幅の値に基づいて1つまたは幾つかの利得係数を設定するようにしておけばよい。また別の状況として、制御器のチューニング可能なパラメータがただ1つだけであって、そのただ1つのパラメータが制御器帯域幅であるということもある。そのような状況が存在するのは、能動外乱排除制御(ADRC)が行われている場合などであり、これについては後に更に詳細に説明する。
以上に説明した技法を活用することで、この制御器帯域幅推定システム(制御器帯域幅推定器)の様々な実施の形態では、制御器帯域幅のチューニングを手作業によるトライアルアンドエラー方式で行うことなく、閉ループ系の性能を強化することが可能となっている。更に、この制御器帯域幅推定システムでは、ロバスト安定性が得られる制御器帯域幅の値を、機械システムの慣性量(またはシステム利得に関するその他の量)の値の関数として記述しているため、ロバスト安定性に関する関数形が簡明化されており、そのためシステムの設計者は、ロバスト安定性が保証されるように制御器のチューニングを行う際に、制御器帯域幅を控えめに狭く設定する必要がない。上掲の式(5)の関数で示される制御器帯域幅の値と慣性量の値との関係は、通常想定される一連の不確定性の範囲内では比較的一定している。そのため、モーションコントロールシステムに予め組込まれている一連の制御用途に適合するような帯域幅モデル218を容易に実装することができ、ひいては、ロバスト安定性が得られる簡明な構成の制御器を容易に設計することができる。
以上に説明した具体例では、慣性量及び剛性量の推定値を導出して帯域幅決定部204へ供給する手段は、任意の適宜の手段とすればよい。例えばシステムの設計者が、モータの定格データと、負荷を構成している構成要素の物理データ(重量、寸法、等々)とに基づいて、手作業で計算を行うことで、システム慣性量の推定値を求めるようにしてもよい。この場合、更に剛性量の推定値も、同様にして測定データに基づいて求め、そして、慣性量と剛性量の両方の推定値を、制御器帯域幅推定システムに入力すればよい。
更に加えて、本明細書に記載する帯域幅推定システムの実施の形態のうちには、制御対象の機械システムの、そのシステム慣性量、及び/または、システム連結剛性量の推定値を自動的に導出し、そして、自動的に導出したそれら推定値を帯域幅決定部204へ供給する機能を備えたものがある。図8に示したのは、慣性量及び剛性量の推定値を導出する機能を備えた帯域幅推定システムの1つの具体例である。この具体例において、モーションシステム810は、モータ808を備えており、このモータ808は、制御器806が送出する制御信号に応答する。モータ808は負荷(不図示)を駆動するために用いられ、駆動する負荷は、例えば位置決め軸や機械の回転部材などの、モータで駆動することのできる様々な負荷である。制御器806は、モータ808に関するリアルタイムの状態データ(回転位置、回転速度、等々)を示すフィードバック信号をモニタしている。
先に説明した具体例と同様に、帯域幅推定器(帯域幅推定システム)802は、ロバスト安定性が得られる制御器帯域幅の値を算出するための帯域幅決定部204を備えており、この帯域幅決定部204は、制御対象の機械システムの剛性量及び連結剛性量の推定値に基づいて、制御器806に設定すべきロバスト安定性が得られる制御器帯域幅の値を決定する。この具体例では、制御器帯域幅推定器802は更に慣性量推定部206と閉ループ系解析部208を備えており、それらは、制御対象の機械システムのシステム慣性量JM+JLと連結部剛性量KSの推定値を自動的に推定するものである。
図6に示した具体例では、帯域幅決定部204、慣性量推定部206、及び閉ループ系解析部208は、いずれも制御器806とは別体の構成要素とされているが、このような具体例を示したのは理解を容易にするためである。このような構成において、それら構成要素204、206、208はいずれも、制御器806との間でも、また、モーションシステム810のその他の構成要素との間でも、適宜の通信手段を介してデータ交換を行うことができ、適宜の通信手段としては、例えば、有線通信網、無線通信網、ハードワイヤデータリンク、及びその他の通信手段があり、またそれらのみに限定されない。また別の具体例として、それら構成要素204、206、208のうちの1つまたは幾つかを、制御器806の構成要素に一体に組込むようにしてもよい。例えば、それら構成要素204、206、208のうちの1つまたは幾つかを、制御器のオペレーティングシステムの機能要素とし、及び/または、制御器806に装備されている1つまたは複数の処理装置が実行する制御ソフトとすることもできる。構成要素204、206、208はまた、制御器806に装備されているハードウェア構成要素としてもよく、例えば、制御器806内の他の機能構成要素との間でデータ交換を行うようにした回路基板ないし集積回路素子とすることができる。本開示の実施の形態の範囲に含まれる、更にその他の適当な具体例も存在する。
具体例のうちには、慣性量推定部206が、システム慣性量の推定値を求める方法として、制御対象の機械システムに試験シーケンスを実行させて、その試験シーケンスの実行中に然るべきシステムパラメータの値を測定し、その測定結果に基づいて慣性量の推定値を導出するようにしたものがある。例えば、慣性量推定部206が制御器806へ命令を発して、制御器806からモータ806へ、時間の経過と共に所定の最大トルク値と最小トルク値との間で連続的に変化するトルク制御信号u(t)を送出させるようにすることができる。このトルク制御信号は、慣性量推定部206のために定義された試験シーケンスに基づいて制御される。その1つの具体例を挙げるならば、ただしこの具体例に限定されるものではないが、試験シーケンスにおいては、先ず、トルク制御信号u(t)を所定の上昇率で徐々に上昇させることで、モータ808の回転速度を加速させ、続いて、所定のトリガ信号に応じて、トルク制御信号の値を徐々に減少させてゼロに戻すことで、モータ808の回転速度を減速させて停止状態に至らせるようなものとすることができる。
慣性量推定部206は、モータの加速期間及び減速期間に、トルク制御信号u(t)に応じて変化するモータ808の実際の回転速度v(t)を測定して記録する。続いて、慣性量推定部206は、時間と共に変化するそれらトルク信号u(t)と測定速度v(t)の曲線に基づいて、機械システムの慣性量J(例えばJM+JL)の推定値を導出する。実施の形態のうちには、慣性量推定部206が慣性量の推定値を求める方法として、曲線u(t)及び曲線v(t)の各々から、加速期間の部分と減速期間の部分とを切出し、それら2つの期間の夫々において、曲線u(t)及び曲線v(t)の夫々の積分値を求め、そして、それら積分値に基づいて慣性量の推定値を算出するようにしたものがある。
この方法の1つの非限定的具体例を示したのが図9であり、図9の具体例の方法は、ある具体例の試験シーケンスを実行したときの、トルク命令信号u(t)と、その結果として得られた速度フィードバック信号v(t)との具体例を、時間に対するグラフで示したものである。トルクグラフ902から分かるように、トルク命令信号u(t)は、umaxとuminとの間で変化している。フィードバック信号である速度グラフ904に示されている速度チェックポイントv1、v2、v3は、試験シーケンスにおける、加速期間及び減速期間の開始点及び終了点が判定される点である。umax、umin、v1、v2、v3の値は、試験シーケンスの実行に先立って(例えばユーザ定義パラメータとして)予めユーザが定めておけばよい。
図9に示した具体例のトルク曲線及び速度曲線に関しては、速度v(t)が速度チェックポイントv2にはじめて到達した時点(時点t=t3)に開始し、トルク信号u(t)がゼロクロスする時点(時点t=t5)に終了する期間をもって、加速期間として取扱うものと規定する。また、この加速期間の終了時点におけるモーションシステムの速度をV4として記録する(グラフ904にこれを示した)。また、トルク信号u(t)がゼロクロスする時点(時点t=t5)に開始し、速度信号v(t)がv2に復帰する時点(時点t=t7)に終了する期間をもって、減速期間として取扱うものと規定する。慣性量推定部206は、これら加速期間及び減速期間の取扱い規定を認識することで、慣性量の推定値を求めるように構成したものとすることができる。加速期間及び減速期間の取扱い規定はこれに限られず、その他の規定の仕方をしてもよく、そのようなものも本開示の実施の形態の範囲に含まれる。
加速期間及び減速期間を以上のように規定した場合に、加速期間におけるトルク信号uacc(t)の積分値と、減速期間におけるトルク信号udec(t)の積分値とは、夫々、グラフ902におけるUacc、Udecと記した網掛け領域の面積で表され、また、加速期間における速度信号vacc(t)の積分値と、減速期間における速度信号udec(t)の積分値とは、夫々、グラフ904におけるVacc、Vdecと記した網掛け領域の面積で表される。
トルク信号u(t)の曲線と、速度信号v(t)の曲線とが得られたならば、慣性量推定部206は、下記の式(6)に従って慣性量を算出する。
この式(6)において、加速期間の速度変分Δvacc(t)は下記の式(7)によって定義され、減速期間の速度変分Δvdec(t)は下記の式(8)によって定義される量である。
尚、以上に説明した慣性量の推定値を求める技法は、あくまでも1つの具体例を示したに過ぎず、その他の適当な技法を用いたものも本開示の実施の形態の範囲に含まれる。
慣性量推定部206は、こうして慣性量の推定値を導出したならば、その慣性量の推定値を帯域幅決定部204へ供給し、それによって、上で説明した具体例と同様にして、制御器806のための、ロバスト安定性が得られる制御器帯域幅の値804が決定される。
制御器帯域幅推定器802の具体例のうちには、閉ループ系解析を行うことによって機械システムの連結剛性の推定値を決定するように構成された閉ループ系解析部280を備えたものがある。既述のごとく、剛性量KS及び減衰量bSの値は、2慣性量システムの弾性変形特性を表現している値である。これら2つの量の推定値は、モータと負荷とを含む系に関する閉ループ系解析によって導出することができる。
例えば、図5にモデル化して示した具体例の2慣性量システムにおいて、その伝達関数が上掲の式(1)で表されるとするならば、図10に示した閉ループ系1000と同様の閉ループ系を用いて、未知のパラメータの値KS及びbSを同定することができる。尚、閉ループ系1000において、dはこの閉ループ系に作用する入力外乱であり、そして、f^estは制御器によって推定された外乱推定値、f^actは外乱実際値、eは外乱実際値と外乱推定値との差分である誤差である。慣性量の推定値が与えられれば、閉ループ系1000の解析を行うことで、未知の値であった、誤差eを最小にするパラメータの値KS及びbSが得られ、これは下記の式(9)で表される。
閉ループ系解析部208は、閉ループ系1000の解析を、式(9)で与えられる制約条件について実行し、この閉ループ系解析は、この閉ループ系に作用している外乱を測定して得られる外乱実際値に基づいて行われる。この閉ループ系解析によって得られたパラメータKSの推定値、及び/または、パラメータbSの推定値(これらは制約条件を成す主要システムパラメータの値である)が、帯域幅決定部204へ供給され、そこで制御器帯域幅の値804が算出される。
図11に示したのは、帯域幅決定部によって生成されたロバスト安定性が得られる制御器帯域幅の値を用いる、モーションコントロールチューニングアプリケーションの具体例である。この具体例では、チューニングアプリケーション1104を用いて、モータ駆動モーションシステム(不図示)の動作を制御する制御器1102の制御利得のチューニングが行われる。帯域幅決定部204は、先に説明した方法に従って、制御器1102の帯域幅として、適切な制御器帯域幅の値を決定する。より具体的には、帯域幅決定部204には、制御対象の機械システムの、慣性量の推定値1112と剛性量の推定値1108とが供給される。これに関しては、システムの設計者が手作業によって、これら2つのパラメータの推定値を個別に導出して帯域幅決定部204へ入力するような実施の形態としてもよい。また別の実施の形態として、慣性量の推定値1112と剛性量の推定値1108のうちの一方または両方が(例えば先に説明したように慣性量推定部206、及び/または、閉ループ系解析部208によって)自動的または半自動的に導出されて、帯域幅決定部204へ供給されるようにしてもよい。
帯域幅決定部204は、慣性量の推定値1112と剛性量の推定値1108とによってその特性が表されている制御対象システムを制御するための、適切な制御器帯域幅の値1110を、帯域幅モデル218を参照することにより決定する。帯域幅モデル218は、予め(例えば先に記載した方法などによって)生成されている。また、帯域幅モデル218は、一連の剛性量の値の夫々に対応した、ロバスト安定性が得られる制御器帯域幅の値と制御対象システムの慣性量の値との関数関係を示すものである。尚、図11に示した具体例では、制御器帯域幅の値1110を、慣性量の値及び連結剛性量の値の関数として決定しているが、本開示の実施の形態は、システムの慣性量をもってシステム利得とし、システムの連結剛性量をもってシステムの主要制約条件としているシステムに限定されるものではない。即ち、帯域幅決定部204が、システム利得と主要制約条件とに基づいて制御器帯域幅を決定するようにしたシステムであるならば、それは本開示の実施の形態の範囲に包含されるものである。
帯域幅決定部204は、適切な制御器帯域幅の値1110を決定したならば、その制御器帯域幅の値1110をチューニングアプリケーション114へ供給する。別法として、帯域幅決定部204が、その制御器帯域幅1110の推定値をユーザインターフェース上に表示し、ユーザが手作業によって、その制御器帯域幅の値をチューニングアプリケーション1104に入力するようにしてもよい。チューニングアプリケーション1104は、供給された制御器帯域幅の値1110に基づいて、1つまたは複数の制御器利得1106を設定する。制御器1102が能動外乱排除制御(ADRC)機能を備えている実施の形態では、ただ1つだけのチューニングパラメータ(即ち、制御器帯域幅の値1110)を最適値に設定するだけで、ロバスト安定性を有する制御が行えるように制御器をチューニングすることができ、従って、制御ループのチューニング作業が簡単なものになる。
用途によっては、モーションコントロールシステムの初期導入作業を行う際に、即ち、実地稼働に先立って、本明細書に記載する制御器帯域幅推定システムを用いてロバスト安定性が得られる制御器帯域幅を決定するようにしてもよい。即ち、モーションコントロールシステムの実地稼働に先立って、制御器帯域幅の初期設定及びチューニングを行う際に、この制御器帯域幅推定システムを使用すればよい。こうして制御器帯域幅の値が設定されて、モーションコントロールシステムの実地稼働が開始された後には、モーションコントロールシステムの再度のチューニングを実行するまで、その設定値が維持される。ただし、これとは別の実施の形態として、モーションコントロールシステムの供用期間中に定期的にまたは連続的に、自動的に適切な制御器帯域幅の値を再計算するよう、この制御器帯域幅推定システムを構成してもよい。そのように構成した場合には、制御器帯域幅の値に基づいて設定される制御器パラメータに対して、モーションコントロールシステムの通常動作中に、実質的にリアルタイムで動的な修正が加えられ、それによって、モーションコントロールシステムの機械的特性の緩やかな変化(例えば、摩耗等によって発生する変化や、モータにとっての負荷の大きさの変化など)が補償される。
図12〜図13の夫々に示したのは、本明細書に開示する態様による方法である。説明を簡明にするために、それら方法は図面中に、所定の順序に従って実行される一連の動作の連鎖の形で示してあり、また明細書においてもそのように説明するが、しかしながら、本明細書に開示する態様のうちには、必ずしも所定の順序に従って実行することに限定されないものがあり、図示した動作のうちの幾つかは、図示した通りの順序、即ち、以下に説明する順序とは、異なった順序で実行してもよく、及び/または、他の動作と同時に実行してもよいものがある。例えば、当業者であれば、相互関連性を有する一連の状態ないし事象の連鎖の形で、即ち、状態図の形などで、それら方法を表すことも可能であることを理解されよう。更に、本明細書に記載する態様を採用した方法を実施する上で、図示した動作の全てを実行することは必ずしも必要とされない。更に、ここに開示する方法は、また、本開示の全体に開示された方法は、製品の中に格納することができ、それによって、その方法をコンピュータに転送することが容易になる。
図12に示したのは、制御対象システムのシステム利得の推定値と主要システムパラメータの推定値とが与えられたときに、それら推定値に基づいてロバスト安定性が得られる制御器帯域幅の値を決定する方法1200の1つの具体例である。先ずステップ1202では、通常想定される一連の不確定性に対応した、ロバスト安定性が得られる制御器帯域幅の値と制御器帯域幅に対する制約条件を成す1つまたは複数の主要システムパラメータの値との関係をモデル化する。ステップ1204では、所与のモーションコントロールシステムのシステム利得の推定値を導出する。ステップ1206では、そのモーションコントロールシステムの1つまたは複数の主要システムパラメータの推定値を導出する。実施の形態のうちには、それら推定値を閉ループ系の解析によって導出するようにしているものがある。ステップ1208では、ステップ1202で得られたモデル化された関係を用いて、ステップ1204及び1206で得られた夫々の推定値によってその特性が表されているモーションコントロールシステムを制御するための、ロバスト安定性が得られる制御器帯域幅の値を導出する。以上の方法によれば、特に、システム利得の推定値と主要パラメータの推定値とが与えられるだけで、適切な制御器帯域幅の値を決定することができる。
図13に示したのは、2慣性量システムの具体例に関して、当該システムのロバスト安定性が得られる制御器帯域幅を決定する方法1300の1つの具体例である。先ずステップ1302では、通常想定される一連の連結剛性量KSの値に対応させて、ロバスト安定性が得られる制御器帯域幅の値をシステム慣性量Jの値の関数としてモデル化する。ステップ1304では、所与のモーションコントロールシステムのシステム慣性量Jの推定値を導出する。実施の形態のうちには、このシステム慣性量Jの推定値をシステムの設計者が適宜の手段を用いて別に導出するようにしたものがある。また別の実施の形態として、システム慣性量Jの推定値が、試験制御信号に対するモーションコントロールシステムの応答の測定値に基づいて自動的または半自動的に導出されるようにしたものがある。
ステップ1306では、モーションコントロールシステムの剛性量KSの推定値を導出する。この剛性量KSの推定値の導出は、例えば、そのモーションコントロールシステムの閉ループ系解析(例えば図10を参照して先に説明した閉ループ系解析)などに基づいて行われる。ステップ1308では、そのモーションコントロールシステムを制御するための、ロバスト安定性が得られる制御器帯域幅を決定し、これは、ステップ1304で求めた慣性量の推定値と、ステップ1306で求めた剛性量の推定値とに基づき、ステップ1302で求めたモデル化された関係を用いて行われる。
ネットワークで接続された分散環境の具体例
当業者には容易に理解されるように、ここに説明している様々な実施の形態は、コンピュータなどからなるクライアントデバイスやサーバデバイスなどで実施することができるものであり、また、それらデバイスは、コンピュータネットワークの一部分、ないしは分散コンピューティング環境の一部分であって、記憶媒体を備えた適宜のデータストレージデバイスに接続可能とされる。これに関して、ここに説明する様々な実施の形態に係るビデオ編集システムを、適宜の個数のメモリないしストレージ装置(例えば図2のメモリ216)を備えた適宜のコンピュータシステムまたはコンピュータ環境に装備して、任意の個数のアプリケーションないしプロセスを、任意の個数のストレージ装置に亘って実行することができる。これに含まれるものは(ただし限定されない)、リモートストレージまたはローカルストレージを含むネットワーク環境または分散コンピューティング環境に装備された複数のサーバコンピュータ及び複数のクライアントコンピュータを備えた環境である。例えば、図2を参照して説明すると、帯域幅決定部204、慣性量推定部206、閉ループ系解析部208、及びインターフェース部212の格納に関しては、それらを単一のデバイスに装備された単一のメモリ216に格納するようにしてもよく、或いは、複数のデバイスの夫々に装備された複数のメモリに分散格納するようにしてもよい。また同様に、帯域幅決定部204、慣性量推定部206、閉ループ系解析部208、及びインターフェース部212の実行に関しては、それらを単一の処理装置214で実行するようにしてもよく、或いは、複数のデバイスに装備された複数の分散処理装置で実行するようにしてもよい。
分散コンピューティングによれば、コンピュータのリソースないしサービスを、通信交換手段を介して、複数のコンピューティングデバイス及びコンピューティングシステムの間で共有することができる。このリソースないしサービスの共有は、データを交換することや、オブジェクトをキャッシュやディスクに格納することを含む。また、このリソースないしサービスの共有は、負荷の均衡化、リソース拡張、処理の専門化、等々のために、複数の処理装置に亘って存在している処理能力を共有することが含まれる。分散コンピューティング環境は、ネットワーク接続の利点を活用して、複数のクライアントデバイスの集合体としての能力を倍増し、もって、作業全体に対して益するものである。この点に関して、様々なデバイスが、アプリケーション、オブジェクト、リソースを有しており、それらが、本開示の様々な実施の形態に加わるものである。
図14は、ネットワークを介して接続された分散コンピューティング環境の、1つの具体例を示した模式図である。この分散コンピューティング環境は、コンピューティングオブジェクト1410、1412、…、並びに、コンピューティングオブジェクトないしコンピューティングデバイス1420、1422、1424、1426、1428、…を含んでおり、それらは、プログラム、メソッド、データストア、プログラマブルロジック、等々(図中にはそれらを、アプリケーション1430、1432、1434、1436、1438として示した)を備えたものとすることができる。容易に理解されるように、それらコンピューティングオブジェクト1410、1412、…、並びに、コンピューティングオブジェクトないしコンピューティングデバイス1420、1422、1424、1426、1428、…は、様々なデバイスとすることができ、例えば、パーソナルデジタルアシスタント(PDA)、オーディオ/ビデオデバイス、モバイルフォン、MP3ブレーヤ、パーソナルコンピュータ、ラップトップ、タブレット、等々とすることができ、本明細書に記載する制御器帯域幅推定器の実施の形態は、それらデバイスの中に構築することができ、或いは、それらデバイスとの間で相互作用を行うことができる。
コンピューティングオブジェクト1410、1412、…、並びに、コンピューティングオブジェクトないしコンピューティングデバイス1420、1422、1424、1426、1428、…、は、その各々が、通信ネットワーク1440を介して、また直接的或いは間接的に、それらコンピューティングオブジェクト1410、1412、…、並びに、コンピューティングオブジェクトないしコンピューティングデバイス1420、1422、1424、1426、1428、…、のうちの、1つまたは幾つかとの間で通信を行うことができる。通信ネットワーク1440は、図14では単一の構成要素として示してあるが、図14のシステムにサービスを提供するその他のコンピューティングオブジェクト並びにコンピューティングデバイスを含み、及び/または、複数の相互接続されたネットワークを含むものとしてもよく、ただし図14ではそれらを不図示とした。コンピューティングオブジェクト1410、1412、…、並びに、コンピューティングオブジェクトないしコンピューティングデバイス1420、1422、1424、1426、1428、…、は、その各々が、アプリケーションを備えているようにするのもよく、図にはそのようなアプリケーションを、参照番号1430、1432、1434、1436、1438を付して示した(それらのアプリケーションのうちには、例えば、制御器帯域幅推定器202も含まれ、また、その構成要素も含まれる)。また、それらアプリケーションは、本開示の様々な実施の形態との間で通信を行うのに適した、或いは、それら実施の形態を構成するのに適した、API、その他のオブジェクト、ソフトウェア、ファームウェア、及び/または、ハードウェアを利用する、アプリケーションなどである。
分散コンピューティング環境は、様々なシステム、コンポーネント、それに、ネットワーク構成によって支えられている。例えば、複数のコンピューティングシステムを互いに接続するためには、有線通信系、無線通信系、ローカル通信網、広域分散通信網などが用いられる。現時点では、多くの通信網がインターネットに接続されており、インターネットが、広域分散コンピューティング環境のインフラストラクチャを提供しているが、ただし、ここで説明している様々な実施の形態のようなシステムに当然のように付随する通信のために、任意の適宜のネットワークインフラストラクチャを使用することができる。
それゆえ、例えば、クライアント/サーバ、ピアツーピア、或いはハイブリッドアーキテクチャなどの、ネットワーク形態及びネットワークインフラストラクチャのホストを利用することができる。「クライアント」とは別のクラスないしグループのサービスを利用するクラスないしグループのメンバーである。クライアントは、例えば概ね命令またはタスクの集合などの、別のプログラムまたはプロセスが提供するサービスを要求する、コンピュータプロセスであっても良い。クライアントプロセスは、他のプログラムについて、または、そのサービスそれ自体について、全ての仕事の詳細を「知る」必要なしに、要求したサービスを利用することができる。
クライアント/サーバ型のアーキテクチャにおいては、特にそれがネットワークシステムとして構築されている場合には、クライアントは、例えばサーバなどの別のコンピュータが提供している共有ネットワークリソースにアクセスするコンピュータであって良い。図14に記載した具体例(本発明はこの具体例に限定されない)では、コンピューティングオブジェクトないしコンピューティングデバイス1420、1422、1424、1426、1428、…、は、クライアントであると考えることができ、一方、コンピューティングオブジェクト1410、1412、…、は、サーバであると考えることができる。そのように考えることができるのは、コンピューティングオブジェクト1410、1412、…、は、データ関連サービスを提供しているからであり、より具体的には、クライアントであるコンピューティングオブジェクトないしコンピューティングデバイス1420、1422、1424、1426、1428、…、からデータを受取り、データの格納をし、データに処理を施し、そして、クライアントであるコンピューティングオブジェクトないしコンピューティングデバイス1420、1422、1424、1426、1428、…、へデータを送出するからである。ただし、どのコンピュータも、状況次第で、クライアントとなることも、サーバとなることも、それら両方となることもあり得る。これらコンピューティングデバイスのいずれも、データに処理を施すこと、ここに1つまたは幾つかの実施の形態に関して説明したシステムのための方法に影響を及ぼすトランザクションに関するサービスないしタスクを要求することを、行うことがある。
サーバは、典型的な場合には、例えばインターネットや無線通信網インフラストラクチャなどの、リモートネットワークないしローカルネットを介してアクセスすることのできる、リモートコンピュータシステムである。クライアントプロセスは第1のコンピュータシステムで実行され、また、サーバプロセスは第2のコンピュータシステムで実行されていて、それらが通信媒体を介して互いに通信をしているという状況などがあり得る。この状況においては、機能が分散されており、複数のクライアントが、サーバにデータを集中させることによって得られる利点を享受することができる。ここに説明している方法に従って用いられる任意のソフトウェアオブジェクトは、スタンドアローンとして提供されてもよく、複数のコンピューティングデバイスないしコンピューティングオブジェクトに亘って分散させてもよい。
通信ネットワーク1440がインターネットであるような通信環境においては、例えば、コンピューティングオブジェクト1410、1412、…、は、ウェブサーバ、ファイルサーバ、メディアサーバ、等々とすることができ、それに対して、クライアントであるコンピューティングオブジェクトないしコンピューティングデバイス1420、1422、1424、1426、1428、…、は、例えばハイパーテキストトランスファープロトコル(HTTP)などの公知の様々なプロトコルのうちの適宜のプロトコルを用いて通信を行うものとすることができる。更に、分散コンピューティング環境の特性によっては、コンピューティングオブジェクト1410、1412、…、が、クライアントであるコンピューティングオブジェクトないしコンピューティングデバイス1420、1422、1424、1426、1428、…、と同様に動作することでサーバとして機能するようにすることもできる。
コンピューティングデバイスの具体例
先にも述べたように、本明細書に記載する技法の利点の1つに、任意の適宜のデバイスに適用可能であるということがある。そのため、様々な実施の形態を実施する上で、ハンドヘルド型やポータブル型などをも含めた、あらゆる種類のコンピューティングデバイス及びコンピューティングオブジェクトを使用することが考えられる。従って、図15を参照して以下に説明するコンピューティングデバイスは、あくまでも1つの具体例を示すものに過ぎない。更に、適当なサーバは、以下に説明するコンピューティングデバイスに関する様々な態様のうちの1つないし幾つかを備えたものとすることができ、例えば、メディアサーバや、その他のメディアマネージメントサーバの構成要素部を備えたものとすることができる。
これは必須要件ではないが、ここに説明する実施の形態は、部分的に、オペレーティングシステムを介して構築することが可能であり、そうすることで、コンピューティングデバイスまたはコンピューティングオブジェクトのサービスの開発者がそれを利用することができ、及び/または、ここに説明する様々な実施の形態に採用されている数多くの機能態様のうちの1つまたは幾つかを実行するアプリケーションソフトウェアに組込むことが可能になる。一般的にソフトウェアとは、例えばクライアントワークステーション、サーバ、或いはその他のデバイスなどの、1台ないし複数台のコンピュータによって実行される、コンピュータが実行可能な一連の命令(例えばプログラムモジュールなど)であるということができる。また、当業者には容易に理解されるように、一般的にコンピュータシステムというものは、様々な構成形態で構成され、また、データ通信のために様々なプロトコルを用いているものであり、従って、特定の構成形態や、特定のプロトコルに限定されるものではない。
図15に示したのは、本明細書に記載する様々な実施の形態に採用されている態様のうちの1つまたは幾つかを実施することのできる、適当なコンピューティングシステム環境1500の具体例である。ただし、上に明記したように、このコンピューティングシステム環境1500は、あくまでも適当なコンピューティング環境の1つの具体例に過ぎず、用途または機能の範囲に関して何ら限定を示唆するものではない。図面にはこの具体例のコンピュータシステム環境1500の様々な構成要素が示されているが、それら構成要素のうちのいずれか、または、それら構成要素の何らかの組合せが、このコンピューティングシステム環境1500にとって必須のものであるということはない。
図15について説明すると、同図に示したのは本発明の実施の形態を構築するために用いることのできるコンピューティングデバイスの具体例であり、この具体例はコンピュータ1510として構成されている。このコンピュータ1510の構成要素としては、処理装置1520、システムメモリ1530、それに、システムメモリを含めたこのシステムの様々な構成要素を処理装置1520に結合しているシステムバス1522があり、ただしこれらを備えることに限定されない。処理装置1520は、例えば制御器帯域幅推定器202の処理装置214に関連した機能などを実行するものであり、一方、システムメモリ1530は、メモリ216に関連した機能などを実行するものである。
コンピュータ1510は、典型的な場合には、様々なコンピュータ読取可能な媒体を含んでおり、それら媒体は、コンピュータ1510がアクセスすることのできる適宜の媒体であればよい。システムメモリ1530は、例えばリードオンリメモリ(ROM)及び/またはランダムアクセスメモリ(RAM)などの、揮発性及び/または不揮発性のメモリの形の、コンピュータに装備される格納媒体から成るものとすることができる。その具体例を挙げるならば、ただしそれに限定されるものではないが、システムメモリ1530には、オペレーティングシステム、アプリケーションプログラムなどの様々なプログラムモジュール、それにプログラムデータなどが格納される。
ユーザは、入力デバイス1540を介して、コンピュータ1510にコマンド及びデータを入力することができ、入力デバイス1540の具体例としては、例えばキーボード、キーパッド、ポインティングデバイス、マウス、スタイラス、タッチパッド、タッチスクリーン、トラックボール、モーションデテクタ、カメラ、マイクロホン、ジョイスティック、ゲームパッド、スキャナなどがあり、また、これらに限定されず、ユーザがコンピュータ1510に作用を及ぼすことを可能にするその他の任意のデバイスとすることができる。システムバス1522には更に、例えば出力インターフェース1550などのインターフェースを介して、例えばモニタなどのディスプレイデバイスが接続されている。一般的にコンピュータには、モニタのほかにも、周辺出力デバイスとして、例えばスピーカやプリンタなどが備えられ、それらも出力インターフェース1550を介して接続することができる。様々な実施の形態のうちには、入力デバイス1540が、ユーザ入力をインターフェース部212へ供給し、出力インターフェース1550が、制御器帯域幅推定器202の動作に関係したデータをインターフェース部212から受取るようにしたものもある。
コンピュータ1510が、ネットワークコンピューティング環境ないし分散コンピューティング環境で動作する場合には、1台または複数台のリモートコンピュータとの間で、論理接続を利用するようにしてもよく、図示例ではそのようなリモートコンピュータを、リモートコンピュータ1570で表している。このリモートコンピュータ1570は、例えば、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスなどのコモンネットワークノード、或いはその他のリモートメディア消費デバイスないしリモートメディア転送デバイスなどであり、また、コンピュータ1510に関連して上で説明した構成要素のうちのいずれかまたは全てを含むものとすることができる。図15に示した論理接続はネットワーク1572を含んでおり、これはローカルエリアネットワーク(LAN)や、ワイドエリアネットワーク(WAN)などであり、ただし、例えば携帯電話網などのその他のネットワークないしバスを含むものであってもよい。
先に述べたように、ここでは、様々なコンピューティングデバイス及びネットワークアーキテクチャに関連して例示的な様々な実施の形態について説明しているが、それら実施の形態の基底にある概念は、いかなるネットワークシステムにも、また、いかなるコンピューティングデバイスないしコンピューティングシステムにも適用可能であり、それらは、柔軟性をもってメディアの発行ないし消費を行うことが望まれるものである。
更に、同一の機能ないし類似した機能を幾通りもの方法で実現することができ、例えば適宜のAPI(アプリケーションプログラムインターフェース)を利用する方法でも、また、ツールキット、ドライバコード、オペレーティングシステム、コントロールソフトウェアオブジェクト、スタンドアローンソフトウェアオブジェクト、ダウンローダブルソフトウェアオブジェクト、等々を利用する方法でも、アプリケーション及びサービスが、ここに説明する技法を有利に利用することが可能である。従って、本明細書に記載する様々な実施の形態は、本明細書に記載する態様のうちの1つないし幾つかを実施することのできる、API(またはその他のソフトウェアオブジェクト)、ないしは、ハードウェアオブジェクトという観点から提示したものである。従って、本明細書に記載する様々な実施の形態には、その全体がハードウェアで実現される態様、部分的にハードウェアで構成され部分的にソフトウェアで実現される態様、及び、ソフトウェアで実現される態様のいずれを採用したものも含まれる。
本明細書で使用する「具体例」なる用語は、説明のために提示する具体的な1つの構成例を意味するものである。誤解の余地をなくすために付言しておくと、本明細書に開示する態様は、かかる構成例に採用されているものだけに限定されない。また更に、本明細書に「具体例」の形で説明する態様及び構成は、その他の態様ないし構成と比べて、必ずしも、より優れた、ないしはより有利なものとは限らない。また、当業者には周知の均等的な具体的構造ないし技法を排除するものでもない。更に、「含む」、「有する」、「備える」、及びそれらと同等の用語を、発明の詳細な説明にも、特許請求の範囲の記載にも使用されているが、誤解の余地をなくすために付言しておくと、それら用語は「少なくとも備える」という用語と同様に、包含的意味で使用されており、その他の構成要素を備えることを排除するものではなく、最小限備えるべき構成要素を示したものである。
コンピューティングデバイスにとっての媒体とは一種類だけではなく、コンピュータ読取可能な格納媒体(例えばメモリ216)もあれば、通信媒体もあり、本明細書ではそれら媒体を以下のように区別している。コンピュータ読取可能な格納媒体は、コンピュータがアクセスすることのできる適宜の格納媒体であって、通常は非一時的な媒体であり、揮発性媒体と不揮発性媒体とがあり、またリムーバブル媒体とノンリムーバブル媒体とがある。その具体例を挙げるならば、例えば、コンピュータ読取可能な格納媒体には、適宜のデータ格納方法によって、コンピュータ読取可能な命令、プログラムモジュール、構造化データ、または非構造化データなどを格納するものが含まれ、ただしそれらに限定されない。コンピュータ読取可能な格納媒体には、例えばRAM、ROM、EEPROM、フラッシュメモリ、更にその他の種類の半導体メモリ、CD−ROM、DVD、更にその他の種類の光ディスク、磁気カセット、磁気テープ、磁気ディスクストレージ、更にその他の種類の磁気ストレージデバイス、また、更にその他の種類の、所望の情報を格納するために使用することのできる、有形の、即ち非一時的な媒体が含まれ、ただしそれらに限定されない。コンピュータ読取可能な格納媒体は、その媒体に格納されている情報に関する様々な動作に関連して、1台または複数台のローカルコンピューティングデバイスないしリモートコンピューティングデバイスからアクセスされ、それらアクセスは、例えば、アクセス要求、照会、またはその他のデータ取出プロトコルによって行われる。
一方、通信媒体は、通常、コンピュータ読取可能な命令、データ構造体、プログラムモジュール、ないしはその他の構造化データ及び非構造化データを、データ信号の形とするものであり、そのデータ信号は、例えば、変調データ信号であり、より具体的には、搬送波などの伝送手段を用いたものであり、また、通信媒体には、情報を伝達ないし伝送するための任意の媒体が含まれる。ここで「変調データ信号」という用語は、情報をエンコードして1つまたは複数の信号にするように、その特性のうちの1つまたは幾つかに改変が施された信号をいうものである。その具体例を挙げるならば、通信媒体のうちには、例えば有線通信網や接続ケーブルによる直接接続などの有線媒体や、例えば音響、電波、赤外線、等々を利用した無線媒体が含まれ、またそれらに限定されない。
先にも述べたように、本明細書に記載する様々な技法は、ハードウェアで実施することも、ソフトウェアで実施することも、また場合によっては、ハードウェアとソフトウェアとを組合せて実施することも可能なものである。本明細書に使用する「構成要素」、「システム」、等々の用語は、コンピュータに関連した、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、或いは、ソフトウェアの実行などをいうものである。また、構成要素の幾つかの具体例を挙げるならば、ただしそれらに限定されるものではないが、処理装置で実行中のプロセス、処理装置、オブジェクト、実行ファイル、実行スレッド、プログラム、及び/または、コンピュータなどがある。また別の具体例として、コンピュータで実行中のアプリケーションとそのコンピュータとの組合せも、構成要素たり得るものである。1つのプロセス、及び/または、実行スレッドの中に、1つまたは複数の構成要素を組込むことができ、また、1つまたは複数の構成要素を、1台のコンピュータにローカル的に配置することも、2台以上のコンピュータ上に分散配置することも可能である。更に「デバイス」は、固有の構成を有するように設計されたハードウェアの形態、一般的な構成のハードウェアにソフトウェアの実行によって固有の機能(例えばコーディングやデコーディングなど)を持たせるようにした形態、コンピュータ読取可能な媒体にソフトウェアを格納した形態、或いは、それらの組合せから成る蹴板などの、様々な形態のものとすることができる。
上で様々なシステムについて説明する際には、各々システムを構成している複数の構成要素を示して、それら構成要素の間の相互作用を説明することで、そのシステムの説明とした。ただし、いずれのシステムも、言及した構成要素を全て備える構成とする以外に、それらのうちの幾つかの構成要素のみを備える構成とすること、及び/または、更に別の構成要素を追加した構成とすることが可能であり、更に、それらいずれの構成要素も、言及した下位構成要素(即ち、構成要素の構成要素)を全て備える構成とする以外に、それらのうちの幾つかの下位構成要素のみを備える構成とすること、及び/または、更に別の下位構成要素を追加した構成とすることが可能である。更に、システムの構成要素や、構成要素の下位構成要素は、そのシステム内や、その構成要素内で、様々に並べ替えることができ、更に、システムの構成要素の組合せや、構成要素の下位構成要素の組合せについても、様々に変更することができる。更に、下位構成要素は、その上位構成要素に内包される(階層構造とする)ことに限られず、別の構成要素と通信接続された構成要素とすることも可能である。更に、複数の構成要素を組合せて複数の機能を提供する単一の構成要素とすること、或いは、1つの構成要素を複数の互いに独立した下位構成要素に分割した上で、それら複数の構成要素を通信接続してそれらの機能を統合する管理層などの中間層を設けるようにしてもよい。本明細書に記載したどの構成要素も、本明細書に明記はしなかったが当業者には周知のその他の構成要素と相互作用するようにしてもよい。
本明細書に記載した多くの論理的推論による予測(例えば音響セグメントの予測)が良好になされるようにするために、以上に説明した構成要素が、アクセス権を有するデータの全体または部分集合の検査を行って、事象ないしデータを関して把握した観察結果の集合に基づき、システムの状態や、環境の状態などを、論理的推論により予測できるようにするとよい。この論理的推論による予測を利用して、特定の状態や運動を判定することができ、或いは、状態の確率分布を生成することもできる。論理的推論による予測は確率論的なものであり、関連する状態の確率分布を、データ及び事象の考察結果に基づいて算出するものである。論理的推論による予測は更に、事象ないしデータの集合から、より高レベルの事象を構成するために用いられる技法にも関係している。
かかる論理的推論による予測を行うことによって、観察により把握された複数の事象ないし格納されている複数の事象のデータから、新たな事象ないし運動を認識して解釈することが可能となり、その際に、それら複数の事象の発生時刻が互いに近接していることは必ずしも必要ではなく、また、それら事象及びデータのソースが単一ソースであることも必ずしも必要ではない。様々な分類法(訓練が明示的であるものと暗示的であるものとがある)、及び/または、分類システム(例えば、サポートベクターマシン、ニューラルネットワーク、エキスパートシステム、ベイジアン信頼性ネットワーク、ファジーロジック、データフュージョンエンジン、等々)が、自動的に生起される運動、及び/または、論理的推論により予測された運動に関連して、請求の範囲に記載した事項に関して、用いられる。
分類器は、入力属性ベクタx=(x1,x2,x3,x4,xn)を、当該入力が、ある1つのクラスに属することの信頼度へ写像するものであり、このことは、f(x)=信頼度(クラス)で表される。かかる分類操作を、確率論的解析、及び/または、統計的解析(例えば、有用性やコストをファクタとして導入した解析など)に基づいて行うことによって、ユーザが自動的に生起されることを望んでいる運動を論理的推論により予測することができる。サポートベクターマシン(SVM)は、使用可能な分類器の1つの具体例である。SVMは、あり得る様々な入力を包含する入力空間に中で、トリガ基準を満足するトリガ事象に該当する入力と、非トリガ事象に該当する入力とを互いに分離するための超曲面を探し求める動作を行うものである。直感的に理解されるように、これによって、訓練用データに近似しているが訓練用データと同一ではない試験用データを適切に分類することができる。その他の一方向性モデル及び無方向性モデルの分類法として、利用可能なものとしては、例えば、単純ベイズ、ベイジアンネットワーク、決定木、ニューラルネットワーク、ファジーロジックモデル、それに、確率論的分類モデルなどがあり、それらは、様々なパターンの独立性に対応することができる。また、ここでいう分類法には、更に、優先順位のモデルを生成するために用いられる統計的回帰法なども含まれる。
以上に記載した様々な具体例のシステムを考慮すると、本明細書に記載した主題に従って構成される方法は、様々な図面(例えば図12、図13など)に示したフローチャートを参照することによって、より明瞭に理解されるものと思われる。ここでは説明を簡明にするために、それら方法を、順序付けた一連のブロックの形で図面に示して説明したが、特許請求の範囲に記載した主題は、図面に示して説明した通りの順序でブロックを実行することに限定されるものではなく、なぜならば、それらブロックのうちには、図面に示して説明した順序とは異なる順序で実行してよいもの、及び/または、他のブロックと同時に実行してよいものも含まれているからである。それらブロックが一列に順序付けられておらず、実行の流れが分岐する形でフローチャートに示されるような方法としても、図示した方法と同一ないし同様の結果を得ることができる。更に、ここに記載する方法を構築する上で、図示したブロックの全てが必要であるとは限らない。
本明細書に記載した様々な実施の形態に加えて、それらとは異なるが類似した実施の形態を採用することも可能であり、また、記載した実施の形態に対して改変や付加を施すこともでき、そうした場合でも、対応する実施の形態と同一ないし均等の機能を実現することができ、それらは本発明の概念を逸脱するものではない。更に、本明細書に記載した機能のうちの1つないし幾つかの機能を、複数の処理チップないし複数のデバイスで分担するようにしてもよくまた同様に、格納機能を複数のデバイスの間で分担するようにしてもよい。従って、本発明は以上に記載したうちのいずれかの実施の形態に限定されるものではなく、特許請求の範囲の各請求項に記載した概念及び範囲の中で、より広く解釈されるべきものである。