(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-02
(45)【発行日】2024-05-14
(54)【発明の名称】運動制御システムにおけるバックラッシュ補償
(51)【国際特許分類】
H02P 29/00 20160101AFI20240507BHJP
G01M 13/023 20190101ALI20240507BHJP
G05B 19/404 20060101ALI20240507BHJP
F16H 57/12 20060101ALI20240507BHJP
H02P 6/16 20160101ALI20240507BHJP
【FI】
H02P29/00
G01M13/023
G05B19/404 G
F16H57/12 E
H02P6/16
(21)【出願番号】P 2022543409
(86)(22)【出願日】2021-01-15
(86)【国際出願番号】 US2021013670
(87)【国際公開番号】W WO2021146578
(87)【国際公開日】2021-07-22
【審査請求日】2022-09-20
(32)【優先日】2020-01-17
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508147326
【氏名又は名称】シーメンス・ヘルスケア・ダイアグノスティックス・インコーポレイテッド
(74)【代理人】
【識別番号】100127926
【氏名又は名称】結田 純次
(74)【代理人】
【識別番号】100140132
【氏名又は名称】竹林 則幸
(72)【発明者】
【氏名】ナラヤナン・ラマクリシュナン
(72)【発明者】
【氏名】オマール・カラフ
(72)【発明者】
【氏名】デーヴィッド・ジー・ヘンダーソン
【審査官】島倉 理
(56)【参考文献】
【文献】特開2006-292498(JP,A)
【文献】特開2017-011814(JP,A)
【文献】特開平11-237920(JP,A)
【文献】特開2002-011854(JP,A)
【文献】特開2007-010608(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 29/00
G01M 13/023
G05B 19/404
F16H 57/12
H02P 6/16
(57)【特許請求の範囲】
【請求項1】
運動制御システムにおけるバックラッシュ補償のための方法であって:
運動制御システムのペイロードを原点復帰させることと;
運動制御システムにおいて歯ピッチ不均一性手順を実行して不均一補正を特定することと;
運動制御システムの通常動作中にバックラッシュ補正に使用するために、バックラッシュルックアップテーブルを生成することとを含み、
該バックラッシュルックアップテーブルは:
運動制御システムを動作させる移動シーケンスを選択することと、
不均一性補正を伴って移動シーケンスを実行することと、
移動シーケンス中に運動制御システムの1つまたはそれ以上の構成要素のバックラッシュを表すバックラッシュ測定値を計算することと、
該バックラッシュ測定値をバックラッシュルックアップテーブルに記憶することと、を含む訓練プロセスを使用して生成され
、
ペイロードは、周りに等間隔で配置された複数の原点復帰位置を含むリングであり、
運動制御システムは、運動制御システムの移動中に複数の原点復帰位置を追跡する原点センサを含み、
バックラッシュ測定値は、リングの動きに対応するベルトサイクル内で各リング回転数に対して1回実行される較正プロセスを使用して計算され、該較正プロセスは:
リングを原点復帰位置に移動させることと;
1つまたはそれ以上の逆転移動長さの各々に対して逆転移動ループを実行することと;
逆転移動ループ内で正転移動ループを実行することとを含み、
正転移動ループは、1つまたはそれ以上の正転移動長さの各々に対して実行され、正転移動ループは:
現正転移動長さに対して正転移動を実行することと;
現逆転移動長さに対して逆転移動を実行することと;
正転移動および逆転移動からもたらされる実際のモータエンコーダステップカウントを記録することと;
不均一性補正に対応する目標モータエンコーダステップカウントと実際のモータエン
コーダステップカウントとの差として、バックラッシュ測定値を計算することと、
を含む、前記方法。
【請求項2】
運動制御システムは線形駆動システムである、請求項1に記載の方法。
【請求項3】
運動制御システムは、ステッピングモータによって駆動される駆動プーリへのタイミングベルトに接続されたリングプーリをさらに含む、請求項1に記載の方法。
【請求項4】
較正プロセスの各反復は:
正転移動の終了時に原点復帰位置を開始原点位置として記録することと;
逆転移動の終了時に原点復帰位置を終了原点位置として記録することと;
を含み、
バックラッシュ測定値は、現リング回転数、開始原点位置、終了原点位置、現正転移動長さおよび現逆転移動長さによってインデックス付けされたバックラッシュルックアップテーブル内に記憶される、請求項
1に記載の方法。
【請求項5】
較正プロセス内の逆転移動ループは、リング上の各原点復帰位置に対して1回実行され、方法は:
モータエンコーダステップカウントを記録する前に、逆転移動と同じ方向において現原点復帰位置を原点センサまで進めること
を含む、請求項
1に記載の方法。
【請求項6】
較正プロセス内の逆転移動ループは、リング上の各原点位置に対して1回実行され、方法は:
モータエンコーダステップカウントを記録する前に、逆転移動と同じ方向においてセンサに最も近い原点復帰位置を原点センサまで進めること
を含む、請求項
1に記載の方法。
【請求項7】
較正プロセスを実行する前に、リングを初期原点復帰位置に原点復帰させること
をさらに含む、請求項
1に記載の方法。
【請求項8】
1つまたはそれ以上のリセット移動を実行して、リングを初期原点位置に原点復帰させる効果を無効にすることをさらに含み、各リセット移動は、360をリング上の原点復帰位置の数で割った長さを有する、請求項
7に記載の方法。
【請求項9】
較正プロセスを実行するために使用される逆転移動長さと正転移動長さとは、各々ランダムに選択される、請求項
1に記載の方法。
【請求項10】
運動制御システムの通常動作中:
不均一性補正を適用することと;
新たな移動シーケンスを実行する要求を受け取ることと;
新たな移動シーケンスが方向逆転を含む場合、バックラッシュルックアップテーブルを使用して新たなバックラッシュ補正を推定し、新たなバックラッシュ補正を新たな移動シーケンスに適用することと;
新たな移動シーケンスを実行することと、
を含む補正プロセスを実行すること
をさらに含む、請求項1に記載の方法。
【請求項11】
新たなバックラッシュ補正は、バックラッシュルックアップテーブル内の複数のバックラッシュ測定値の間で補間することによって推定される、請求項
10に記載の方法。
【請求項12】
較正プロセスは、運動制御システムの起動中に実行される、請求項
1に記載の方法。
【請求項13】
較正プロセスは、所定のスケジューリングされた間隔で実行される、請求項
1に記載の方法。
【請求項14】
バックラッシュ測定値は、ペイロードを駆動する伝達要素の外面上で検出された1つまたはそれ以上の構成に基づいて、または検知することができるペイロード上の1つまたはそれ以上の構成に基づいて、計算される、請求項1に記載の方法。
【請求項15】
バックラッシュ測定値は、ペイロードを駆動するアクチュエータのストロークに基づいて計算される、請求項1に記載の方法。
【請求項16】
運動制御システムにおけるバックラッシュ補償のための方法であって:
運動制御システムのペイロードを原点復帰させることと;
運動制御システムにおいて歯ピッチ不均一性手順を実行して不均一補正を特定することと;
複数の移動シーケンスに対応する複数のバックラッシュ測定値を生成することとを含み、
各バックラッシュ測定値は:
運動制御システムを動作させる移動シーケンスを選択することと、
不均一性補正を伴って移動シーケンスを実行することと、
移動シーケンス中に運動制御システムの1つまたはそれ以上の構成要素のバックラッシュを表すバックラッシュ測定値を計算することと、
バックラッシュ測定値および移動シーケンスを記憶することと、
複数のバックラッシュ測定値と複数の移動シーケンスとを使用して、バックラッシュ補正で使用される機械学習モデルを訓練することと、
を含むプロセスを使用して計算され
、
ペイロードは、周りに等間隔で配置された複数の原点復帰位置を含むリングであり、
運動制御システムの1つまたはそれ以上の構成要素のバックラッシュは、原点復帰位置を使用して追跡され、
運動制御システムの通常動作中:
不均一性補正を適用することと;
新たな移動シーケンスを実行する要求を受け取ることと;
新たな移動シーケンスが方向逆転を含む場合、機械学習モデルを使用して新たなバックラッシュ補正を推定し、新たなバックラッシュ補正を新たな移動シーケンスに適用することと;
新たな移動シーケンスを実行することと、
を含む補正プロセスを実行すること
をさらに含む、前記方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年1月17日に出願された「BACKLASH COMPENSATION IN MOTION CONTROL SYSTEMS」と題する米国仮特許出願第62/962,854号の利益を主張し、その出願の開示は、すべての目的で参照によりその全体が本明細書に組み入れられる。
【0002】
本発明は、概して、運動制御システムにおけるバックラッシュ補償のためのシステム、方法、および方法に関連する装置に関する。本明細書に記載する技法は、例えば、タイミングベルトベースの駆動システムに適用することができる。
【背景技術】
【0003】
運動制御システムにおいて、「バックラッシュ」という用語は、歯車等の嵌合する構成要素間の間隙によってもたらされる、機構における隙間またはロストモーションを指す。1つまたはそれ以上の空間軸に沿った双方向運動を必要とする精密運動制御システムの場合、システムに存在するバックラッシュにより、著しい位置決め誤差および運動追跡誤差が生じる可能性がある。さらに、場合によっては、バックラッシュにより運動中に不安定性が引き起こされる可能性がある。位置決め誤差の主な原因は、伝達装置における機械的な「遊び」である。関係する要因としては、対合する歯間の公称隙間、タイミングベルト-プーリ、チェーン駆動列または歯車駆動列における歯ピッチの不均一性、ならびに駆動列構成要素の弾性(または粘弾性)変形が挙げられる。これらの誤差の軽減は、大部分の精密運動制御システムにおいて重要である。
【発明の概要】
【発明が解決しようとする課題】
【0004】
タイミングベルトベースの駆動システムは、主に、対合する歯/溝間の公称隙間(ある場合)、プーリおよびベルト上の歯ピッチの不均一性に起因するとともに、軸受および他の駆動システム構成要素の機械的遊びに起因して、バックラッシュを示す可能性がある。材料の摩擦および粘弾性特性に起因する歯の変形およびベルトコードの伸縮効果もまた、バックラッシュの原因となる可能性がある。これらのシステムにおけるバックラッシュは、幾何学的パラメータに関して厳しい公差を維持するとともに結果としての歯の変形が少ない材料から作られる、高精度のプーリ、ベルト、軸受および他の駆動列構成要素を選択することにより、低減させることができる。ペイロードの増分運動または絶対位置決めを検知することにより、バックラッシュ後補償も実施することができる。しかしながら、これらの解決法では、一般に、必然的に駆動システムの全体的なコストおよび複雑さが増大し、依然として、バックラッシュが引き起こす運動誤差が性能要件によって設定された限界を超えることになる可能性がある。あるいは、ペイロード運動のフィードバック制御を実施することができるが、これによってもまた駆動システムのコストとともに複雑さが増大することになる。同様の考慮事項は、歯車駆動装置、チェーン、送りねじ等、駆動伝達装置にも当てはまる。
【課題を解決するための手段】
【0005】
本発明の実施形態は、運動制御システムにおけるバックラッシュ補償に関連する方法、システムおよび装置を提供することにより、上記欠点および不利益のうちの1つまたはそれ以上に対処するとともにそれを克服する。
【0006】
いくつかの実施形態によれば、運動制御システムにおけるバックラッシュ補償のための方法は、運動制御システムのペイロードを原点復帰させることと、運動制御システムにおいて歯ピッチ不均一性手順を実行して不均一補正を特定することとを含む。運動制御システムの通常動作中にバックラッシュ補正に使用するために、バックラッシュルックアップテーブルが生成される。バックラッシュルックアップテーブルは、運動制御システムを動作させる移動シーケンスを選択することと、不均一性補正を伴って移動シーケンスを実行することとを含む訓練プロセスを使用して、生成される。訓練プロセスは、移動シーケンス中に運動制御システムの1つまたはそれ以上の構成要素のバックラッシュを表すバックラッシュ測定値を計算することと、バックラッシュ測定値をバックラッシュルックアップテーブルに記憶することとをさらに含む。
【0007】
他の実施形態によれば、運動制御システムにおけるバックラッシュ補償のための方法は、運動制御システムのペイロードを原点復帰させることと、運動制御システムにおいて歯ピッチ不均一性手順を実行して不均一補正を特定することとを含む。複数の移動シーケンスに対応するバックラッシュ測定値が計算される。各バックラッシュ測定値は、運動制御システムを動作させる移動シーケンスを選択することと、不均一性補正を伴って移動シーケンスを実行することとを含むプロセスを使用して計算される。プロセスは、移動シーケンス中に運動制御システムの1つまたはそれ以上の構成要素のバックラッシュを表すバックラッシュ測定値を計算することと、バックラッシュ測定値および移動シーケンスを記憶することとをさらに含む。複数のバックラッシュ測定値と複数の移動シーケンスとを使用して、バックラッシュ補正で使用されるように機械学習モデルが訓練される。
【0008】
他の実施形態によれば、運動制御システムにおけるバックラッシュ補償のための方法は、運動制御システムの通常動作中、補正プロセスを実行することを含む。この補正プロセスは、新たな移動シーケンスを実行する要求を受け取ることを含む。新たな移動シーケンスが運動制御システムに対する方向逆転を含む場合、バックラッシュルックアップテーブルを使用して新たなバックラッシュ補正が推定され、新たなバックラッシュは、新たな移動シーケンスに適用される。次いで、新たな移動シーケンスが実行される。
【0009】
他の実施形態によれば、運動制御システムにおけるバックラッシュ補償のための方法は、運動制御システムの通常動作中、補正プロセスを実行することを含む。この補償プロセスは、新たな移動シーケンスを実行する要求を受け取ることを含む。新たな移動シーケンスが運動制御システムに対する方向逆転を含む場合、機械学習モデルを使用して新たなバックラッシュ補正が推定され、新たなバックラッシュ補正は、新たな移動シーケンスに適用される。次いで、新たな移動シーケンスが実行される。機械学習モデルは、移動の訓練シーケンスを実行しているときに運動制御システムのバックラッシュを測定することにより訓練される。
【0010】
本発明のさらなる特徴および利点は、添付図面を参照して続く例示的な実施形態の以下の詳細な説明から明らかとなろう。
【0011】
本発明の上述したおよび他の態様は、添付図面と関連して読まれるとき、以下の詳細な説明から最もよく理解される。本発明を例示する目的で、図面は、現時点で好ましい実施形態を示すが、本発明が開示する具体的な手段に限定されないことが理解される。図面には以下の図が含まれる。
【図面の簡単な説明】
【0012】
【
図1】いくつかの実施形態で使用することができるような、回転モータによって駆動されるベルト駆動システムを示す図である。
【
図2】エンドエフェクタの位置を追跡するプロットを示す図である。
【
図3】バックラッシュ対移動長さのプロットを示す図である。
【
図4A】異なる運動プロファイルにわたる平均バックラッシュ変動を表す表である。
【
図4B】
図4Aに提示するデータに対する平均バックラッシュの散布図である。
【
図5A】バックラッシュの大きさの自己相関および標本シナリオとの比較を示す図である。
【
図5B】
図5Aに提示するデータに関連するバックラッシュと先行する移動との標本相関を示す図である。
【
図6】本発明のいくつかの実施形態に従ってバックラッシュ補償がいかに実行されるかを概略的に示す図である。
【
図7A】いくつかの実施形態による、第1のタイプのバックラッシュ較正(「タイプ1較正」と称する)を実行する1つのシステムを例示するためのリングを示す図である。
【
図7B】いくつかの実施形態において適用することができる、ベルトピッチ不均一性およびリングインデックス原点位置較正方式例を説明する図である。
【
図8】いくつかの実施形態による、タイプ1較正の第1の実施態様例を示す図である。
【
図9】本発明のいくつかの実施形態においてバックラッシュ計算をいかに実行することができるかの一例を提供する図である。
【
図10】本発明のいくつかの実施形態においてバックラッシュ計算を実行することができる代替的な方法を示す図である。
【
図11】タイプ1較正を実行する第1の代替方法を示す図である。
【
図12】タイプ1較正を実行する第2の代替方法を示す図である。
【
図13】タイプ1較正を実行する第3の代替方法を示す図である。
【
図14】本発明の実施形態を実装することができる例示的なコンピューティング環境を示す図である。
【発明を実施するための形態】
【0013】
本発明は、概して、運動制御システムにおけるバックラッシュ補償のための学習ベースの方法に関連する、方法、システムおよび装置に関する。駆動伝達装置におけるバックラッシュは、主に、上述したもののような決定論的要因に起因し、大部分、時間不変性または非常に小さい時間的変動を示す。本発明は、概して、バックラッシュに寄与するさまざまな要因に応じてバックラッシュによって引き起こされる位置決め誤差のパターンを「学習する」さまざまな方法に関する。より具体的には、学習ベースの解のセットを採用して、バックラッシュと歯ピッチの不均一性の影響とに起因する位置決め誤差を軽減する。本明細書に記載する方法は、主に、タイミングベルト駆動システムにおけるバックラッシュ軽減に焦点を当てるが、これらの方法は、歯車列、チェーン、送りねじ等を使用するもの等、他の駆動列システムに対して、好適なカスタマイズおよび調整を行うことで、一般化することができる。本明細書に記載する解のセットは、訓練または較正段階中に駆動システムのバックラッシュ特性を学習し、その後、通常動作中に好適な誤差補償を適用するという形態で、ソフトウェアで実装することができる。本明細書に記載する方式は、フィードバック制御が不要であり、基準(目標位置)の事前補償に基づくフィードフォワード補正とみなすことができる。本明細書に記載するバックラッシュによって引き起こされる位置誤差のフィードフォワード補償は、他の時変パラメトリック変動とともに任意の外乱を補償するために追加的に展開することができるフィードバック制御と、完全に互換性があることに留意されたい。
【0014】
本明細書に記載するバックラッシュ軽減技法は、2つの別個の段階:すなわち、学習/較正段階および補償段階を含むものとして理解することができる。学習/較正段階の間、好適に多数の運動が、運動インスタンスが、駆動システムが実行することができるように設計されている運動の全範囲を網羅するように、所定の順序で実行される。歯ピッチの不均一性とバックラッシュによって引き起こされる誤差とは、駆動システムに組み込まれたセンサを用いることによりその場で測定される。パラメータ(例えば、ベルトおよびプーリの歯のアドレスならびに移動長さ)の関数としてのバックラッシュ誤差は、いくつかの実施形態では、好適な機械学習アルゴリズムを使用することを含む、好適な回帰関数および方法を使用して、「学習」される。
【0015】
補償段階は、運動制御システムの通常動作中に実行され、バックラッシュと歯ピッチの不均一性(例えば、ベルトおよびプーリ等)とに起因する位置決め誤差は、学習/較正段階から「学習済み」モデルを使用して計算され、その後、命令された移動の終了時に目標位置に対して推定補正を適用することにより補償される。補償は以下のように適用される。第1に、すべての移動に対して、歯ピッチの不均一性に起因する推定位置決め誤差に基づいて、目標位置に補正が適用される。第2に、運動の方向逆転のすべてのインスタンスに対して、現在命令されている(方向逆転)移動の目標位置に対する補正が適用されて、バックラッシュによって引き起こされる誤差が補償される。
【0016】
図1は、いくつかの実施形態で使用することができるような、回転モータによって駆動されるベルト駆動システムを示す。このシステムは、本明細書では、本発明のいくつかの態様を説明する目的で提示されており、本明細書に記載する技法はこの具体的なシステムに限定されないことを理解されたい。本発明の適用可能性は、例えば、(a)ペイロードの線形、回転または他の複雑な運動の実行、(b)多段でありアイドラを有するより大型の駆動列、(c)線形または回転駆動アクチュエータ等を含むことができる、幅広いタイミングベルト駆動式システムに及ぶ。
【0017】
図1において、リングプーリ105が、ペイロード(リング)110の上に位置している。リングプーリ105は、タイミングベルト115により、ステッピングモータ125によって駆動される駆動プーリ120に連結されている。本明細書に記載する技法により、バックラッシュによって引き起こされる位置決め誤差を補償するためのペイロード位置決めまたは運動追跡のフィードバック制御は不要となる。いくつかの実施形態では、センサを使用して、ペイロード位置が、その運動の過程の間または移動の終了時のいずれかに測定される。代替として、
図1に示すように、原点センサ130を使用して、ペイロード110上の基準点135を検出することができる。基準点135は、例えば、ペイロード110の表面上の圧痕、突起またはマーキングを含むことができる。さらに、駆動側のステッピングモータ125上のエンコーダが、作動の程度(例えば、モータ回転)を記録する。
【0018】
駆動プーリ120およびリングプーリ105と係合するタイミングベルト115上の歯のアドレスを追跡する目的で、タイミングベルト115およびプーリ105、120上の歯の最小公倍数が、リングプーリ105の整数回転数(例えば、5回転)とともに駆動プーリ120の整数回転数(例えば、20回転)に対応するように、タイミングベルト115およびプーリ105、120を選択することができる。例えば、駆動プーリ120、リングプーリ105およびタイミングベルト115の歯の数は、それぞれ、30、120および150であってよい。リングの5回の回転ごとに、タイミングベルト115上のインデックス歯とともにプーリ105、120上のインデックス歯が、互いに関して同じ相対配置に戻る。この結果、5回のリング回転(1回のベルトサイクル)の周期性がもたらされる。この配置により、タイミングベルトおよびプーリの上の相互作用する歯の追跡が単純化するが、本発明によって記載するバックラッシュ補償方式の実施に対する要件ではないことに留意されたい。
【0019】
図1は、本明細書に記載する較正方式を使用することができるシステムの単に1つの例であることに留意されたい。較正方式は、さまざまな線形および回転駆動システム、多段でありかつアイドラプーリを含むベルト駆動システム、広範囲のアクチュエータ(ステッピングモータ、DCサーボモータ、線形-回転変換を行うリニアアクチュエータ等)、広範囲のタイミングベルト等に一般化することができる。これらの方式はまた、歯車列、送りねじおよびチェーンを使用するもの等の他のタイプの伝達装置にも拡張することができる。
【0020】
本技術分野において一般に理解されているように、歯ピッチは、タイミングベルトの長さにわたって変化する。同様に、プーリ上の歯ピッチも変動を示す場合がある。これらの変動により、負荷の位置決め誤差が繰り返される可能性がある。駆動システムの動作中に駆動列におけるプーリ上の対応する溝と係合するベルト歯のアドレスを追跡することにより、歯ピッチの不均一性に起因する結果としての位置誤差を計算することができる。そして、これらの誤差は、以下のように目標移動長さを好適に変更することにより、事前補償することができる。
新たな目標移動長さ=元の目標移動長さ-誤差 (1)
【0021】
図2は、エンドエフェクタの位置を追跡するプロットを示す。破線ボックス205、210によって画成される移動の各セットは、1つの完全なサイクルを表し、その終了時、プーリと係合するベルト上の歯のセットは、テストの開始時の歯のアドレスと同じである。
【0022】
リングペイロードを駆動するベルト駆動システムの場合、バックラッシュは、正転方向および方向逆転移動の長さに強く左右されることが、研究によって示されている。例えば、
図3に示すプロットは、サイズの等しい正転および方向逆転の移動の対の場合の移動長さによりバックラッシュが単調に増加することを示す。この例では、リングプーリ、モータプーリおよびベルト上の同じインデックス位置から開始して、各正転/逆転移動対が実行される。この例では、第1のバックラッシュは、右回りから左回りの方向の逆転中のバックラッシュを示し、第2のバックラッシュは、左回りから右回りの方向の逆転中のバックラッシュを示し、中央トレースは、累積または絶対位置誤差である。この場合の累積/絶対位置誤差は、ゼロから、ベルトピッチの不均一性の大きさによって決まる最大振幅まで変化する。
【0023】
図4Aおよび
図4Bは、ネオプレンで作られたタイミングベルトを含むとともに、引張部材がガラス繊維で補強されている、ステッピングモータ駆動式ベルト駆動装置を用いる調査例に対して、バックラッシュによって引き起こされる位置決め誤差がいかに伝播するかを示す。この例では、以下のテストプロトコルを使用した:すなわち、(1)リングを360°回転させ;(2)右回り180°の回転を実行し;(3)左回り180°の回転を実行し(バックラッシュ1);(4)左回り180°回転を実行し;(5)右回り180°回転を実行する(バックラッシュ2)。この調査は、調査が移動長さに依存しないように180°の移動長さで行った。180°の移動長さを選択したのは、対称移動の場合の最大バックラッシュが180°で観察されたためである。先行する調査と同様に、この調査では、逆転方向の移動の長さによりバックラッシュが単調に増大することが示された。移動長さを固定して(180°)バックラッシュの運動パラメータに対する依存性を調査した結果、バックラッシュは、加速度、減速度、関連するジャークパラメータおよび最大速度にほとんどまたはまったく依存しないことが示された。
【0024】
図4Aは、異なる運動プロファイルにわたる平均バックラッシュ変動を示す。第1の強調表示されている行(セット番号3と表記)は、およそ2秒の移動時間を示し、第2の強調表示されている行(セット番号8と表記)は、およそ4秒の移動時間を示している。ここで考慮する運動プロファイルは、広範囲のこれらのパラメータをそれらのバックラッシュに対する潜在的な影響を検討する際に含めるために、非常に低速な加速および減速(2秒/4秒の移動時間)の場合を含む。
図4Bは、セット番号に対する平均バックラッシュのプロットである。
図4Aにおける強調表示されている運動プロファイルセットは、極めて低い速度および低い加速度、減速度、ならびにジャーク制限を有する。しかしながら、平均バックラッシュに対する影響はごくわずかである。本明細書に開示するバックラッシュ補償のための方法は、バックラッシュが運動プロファイルパラメータに依存しないことを前提としていないことに留意されたい。一般的な場合、バックラッシュがこれらのパラメータに対する依存性を示す場合、運動プロファイルパラメータを変数としてさらに含めることができる。
【0025】
図5Aおよび
図5Bは、調査の追加の結果を提供する。
図5Aに示す左プロットは、以前の方向逆転移動の場合のバックラッシュに対する幾分かの依存性を実証するバックラッシュの大きさの自己相関を示す。(
図5Aにおいて右プロットに示す)先行する方向逆転の前のバックラッシュ履歴との相関は、重要ではない。
図5Bは、バックラッシュと以前の移動との標本相関を示す。このプロットは、逆転移動の長さと方向逆転の前の最後の移動の長さとに対する依存性が顕著であることを示す。以前の5回の(正転)移動以外の移動履歴は、統計的に有意ではないことが確認された。この応用例の場合のバックラッシュの変動パターンを「学習する」際、先行する方向逆転のバックラッシュと、現方向逆転移動の前5回の移動の移動長さとを、「特徴変数」として使用することができる。以前の正転移動の履歴に対する特定の依存性は、概して、駆動システムによって異なる可能性があることに留意されたい。しかしながら、本明細書に提示する学習ベースの解決法は、範囲が包括的であり、任意の特定の駆動システム設計に適用することができる。
【0026】
図6は、本発明のいくつかの実施形態に従ってバックラッシュ補正がいかに実行されるかを概略的に示す。ステップ605で開始して、ペイロード(リング)が原点復帰する。ペイロードを原点復帰させることにより、ペイロード(リング)上の基準点が確立される。ペイロードの原点復帰は、限定なしに、ペイロード上の好適な原点復帰フラグを用いる、容量性、磁気、光学方法を含む、多種多様な検知方法を使用して実行することができる。次に、610において、歯ピッチ不均一性手順を実行することにより、ベルトが「原点復帰」する。この手順については、
図7を参照して後にさらに詳細に説明する。ステップ605および610の正味の結果は、ベルト不均一性誤差が最小であるベルト/プーリの相対配置を確立することである。その後、この配置に対して、バックラッシュ較正の各インスタンスを実行することができる。ステップ615~620の間、バックラッシュ較正が実行される。ステップ615において、歯ピッチ不均一性補正が適用されて、移動シーケンスが実行され、バックラッシュが測定される。次いで、620において、ルックアップテーブルが生成されるか、または結果に基づいてモデルが訓練される。
【0027】
図6の下部は、ルックアップテーブルまたはモデルが適用される通常の駆動動作段階を示す。ステップ625の間、システムは、通常通りに動作し、駆動システムは、ペイロードを目標位置まで移動させる必要がある。次いで、ステップ630において、ペイロードの目標位置への補正という形態で歯ピッチ不均一性補正が適用される。移動方向が逆転した場合、ステップ635において、バックラッシュ補正が推定され、ステップ640において、補正された移動長さに基づいて移動を実行するために使用される。移動方向が逆転していない場合、バックラッシュ補正なしにステップ640を直接実行することができる。
【0028】
本明細書で考察するタイプのベルト駆動システムにおいて、バックラッシュに影響を与える重要な構成は、方向逆転移動(現移動)と方向逆転移動の前のサブシーケンス(この例では5回の移動)との長さを表す測定基準を含む。バックラッシュに影響を与える追加の重要な構成としては、(ベルトおよびプーリの)歯のアドレス、または代替として、プーリ上の歯と係合するベルトの歯の相対配置を追跡するリングセグメントインデックスが挙げられる。
【0029】
本明細書では、バックラッシュ誤差補償の2つの方式について考察する。本明細書では「タイプ1較正」と称する第1の方式は、必要なバックラッシュ誤差補償の単純な補間とともにルックアップテーブルを利用する。タイプ1較正については、後に
図8~
図13を参照して説明する。本明細書では「タイプ2較正」と称する第2の方式は、機械学習(ML)ベースのアルゴリズムを使用して、目標移動長さのバックラッシュ事前補償をモデル化するとともに予測する。タイプ2較正についてもまた、後により詳細に説明する。ルックアップテーブルの作成またはMLベースのバックラッシュ較正の計算は、ホスト機器で実行することができ、または利用可能なリソースに応じてオフラインで実行することができる。
【0030】
タイプ1較正ルーチンは、移動の十分に長く系統的なシーケンスを含む。バックラッシュ誤差は、好適なセンサを用いて測定され、特徴変数の関数として記録される。バックラッシュ誤差を測定するための検知としては、アクチュエータのストローク(モータの回転)またはベルト運動(例えば、ベルトの外面上の構成)を検知する等、間接的な方法を挙げることができる。代替として、ペイロードの運動を検知する直接的な方法(例えば、磁気エンコーダ、光学エンコーダ)が含まれる。複数の駆動ユニットにおけるバックラッシュ変動が同様のパターン(分布)を示すことが分かった場合、駆動ユニットの十分に大きい標本からの較正データに基づいて、較正をオフラインで実行することができる。そして、すべてのユニットで使用される共通のルックアップテーブルの形態で、補正を符号化することができる。
【0031】
通常移動の間、最初に歯ピッチ不均一性補正が適用され、方向逆転移動の場合、特徴変数の関数としてのバックラッシュマップを使用して、単純なテーブルルックアップまたは単純な形態の補間を用いてバックラッシュの補正が推定される。特徴-空間グリッドは、単純なルックアップテーブル、または最近傍補間タイプの方式に適応するように十分細かいグリッド間隔で均一にサンプリングされ、または代替として、必要な補正を推定するために使用される幾分か粗くかつより強力な(例えば、多項式)補間方法であるように選択することができる。使用することができる補間方法例としては、線形補間、最近傍補間、多項式補間、ガウス混合モデル、放射基底関数等が挙げられる。
【0032】
図7Aは、いくつかの実施形態による、タイプ1較正を例示するためのリング例を示す。タイプ1較正方式は、リング周りに
【数1】
度の間隔を空けて配置された固定数Nの原点復帰位置を想定している。
図7Aの例では、N=8である。各ベルトサイクルに対して所定数のリングの回転がある。バックラッシュデータは、ルックアップテーブルに記憶される。細かい較正のために、最近傍補間アルゴリズムが使用される。代替として、散乱補間アルゴリズム(例えば、線形、キュービック等)、スパース補間法、ベイズ法を用いるロバスト曲線フィッティング等の方法を使用して、粗い較正を実行してもよい。
【0033】
図7Bは、いくつかの実施形態において適用することができる、ベルトピッチ不均一性およびリングインデックス原点位置較正方式例を記載する。ステップ705で開始して、リングは、HomeLoc=1に原点復帰する。次いで、ステップ710~735においてループが実行される。ステップ710において、インデックス値が設定され、ステップ715において、リングは、このインデックス+1によって指定される位置まで移動する。モータエンコーダカウントに関する「目標」移動長さが計算される。次いで、ステップ720において、「実際の」モータエンコーダステップが記録され、ステップ725において、「目標」モータエンコーダカウントと「実際の」モータエンコーダカウントとの差として、ベルト非線形性誤差が計算される。HomeLocとリング回転とは、それぞれステップ730および735において進められる。このループは、ベルトサイクルの各リング回転に対して繰り返される。
【0034】
図8~
図13は、本発明の異なる実施形態による、タイプ1較正を実行するさまざまな方法を示す。これらの方法の各々について、一連の正転移動が正転移動データセットに記憶される。この正転移動データセットは、n(Δθ)として定義され、そこで、n=[1,N
max]かつN≦N
maxである。一連の逆転移動は、-n(Δθ)として定義される逆転移動データセットに記憶される。いくつかの実施形態では、データセットの符号を逆転させることができることに留意されたい。すなわち、正転移動データセットを-n(Δθ)として定義することができ、逆転移動データセットがn(Δθ)として定義される。
【0035】
図8は、いくつかの実施形態による、タイプ1較正の第1の実施態様例を示す。ステップ805で開始して、リングは、リング周りの原点位置のうちの1つに原点復帰する。ステップ810において、ベルトピッチ不均一性較正手順が実行され(例えば、
図7B参照)、計算されたベルトピッチ不均一性誤差が、本明細書では「nonlin_mtr_encoder_cts」と称する変数において「リング回転数」および「HomeLoc」の関数として記録される。ベルトピッチ不均一性較正に続き、ステップ815において、リングは原点位置#1に戻るように原点復帰する。いくつかの実施形態では、リングの原点復帰の代わりに、(例えば、ベルトの上縁または下縁の切欠きを使用する;光学検知で反射器を使用する;ホール検知で磁気正方形を使用する;容量検知で金属正方形を使用する;ベルトの中間セクションの周辺の基準孔で光ビームベースの検知を使用する;等)ベルトからの原点復帰を用いることができる。
【0036】
図8のステップ817~865の間、ベルトサイクルの各リング回転に対してループが実行される。ループは、817において、本明細書では「home_index」と称するインデックス変数を1に初期化することによって開始する。次に、ステップ820~860の間、リング周りのすべての原点位置で内部ループが実行される。ステップ820の間、リングは、home_indexで指定された位置に原点復帰する。次いで、ステップ855において、正転移動ループが実行されてバックラッシュが計算される。この正転ループは、逆転移動データセットにおける各逆転移動長さに対して1回実行される。バックラッシュの計算は、
図9および
図10を参照して後述するように、種々の方法で実行することができる。バックラッシュの結果が記録された後、ステップ860において、home_indexが進められ、ループは各可能な原点復帰位置に対して繰り返す。すべての原点復帰位置に対してバックラッシュが計算されると、ステップ865においてリング回転数が進められ、ループがベルトサイクルにおける各リング回転に対して実行されるまで、817~865の外部ループが繰り返す。
【0037】
図9は、本発明のいくつかの実施形態においてバックラッシュ計算をいかに実行することができるかの一例を提供する。ステップ930で開始して、正転移動が実行される。次いで、ステップ935において、インデックス変数(本明細書では、「start_home_index」変数と称する)を使用して、正転移動の終了時に原点位置番号が記録される。次に、ステップ940において、逆転(すなわち、バックラッシュ)移動が実行される。ステップ945において、インデックス変数(本明細書では、「final_home_index」変数と称する)を使用して、逆転移動の終了時に原点位置番号が記録される。次いで、ペイロードは、「home_index」位置に原点復帰する。次いで、ステップ955において、本明細書では、最終モータエンコーダステップが、「mtr_encoder_cts」変数と称する変数に記録される。最後に、ステップ960において、目標モータエンコーダステップの数(すなわち、nonlin_mtr_encoder_cts)と実際のモータエンコーダステップの数(すなわち、mtr_encoder_cts)との差として、バックラッシュが計算される。次いで、バックラッシュ値は、後に通常の動作段階中に検索して使用されるように、テーブルまたは他のデータ構造に記憶される。検索を容易にするために、1つまたはそれ以上のインデックス付け値を、記憶されたバックラッシュ値と関連付けることができる。
図9の例では、これらのインデックス付け値は、リング回転数、開始および最終原点位置、正転移動の回数および逆転移動の回数である。
図9の例では、ステップ930~960は、ループとして実行され、各指定された移動長さに対して繰り返す。
【0038】
図10は、本発明のいくつかの実施形態においてバックラッシュ計算を実行することができる代替的な方法を示す。ステップ1030~1045は、
図9のステップ930~945と同様に実行される。同様に、ステップ1050~1060は、
図9のステップ950~960と同様に実行される。しかしながら、1050において最終モータエンコーダステップを記録する前に、(逆転移動と同じ方向において)原点センサに最も近い原点フラグが原点センサまで進められる(walked)。
【0039】
図11~
図13は、タイプ1較正を実行する代替的な方法を示す。これらの方法は、
図9および
図10を参照して上述したバックラッシュ計算手順のいずれかを用いて実行することができる。
【0040】
図11に示すタイプ1較正方法において、ステップ1105~1125は、
図8を参照して上述したステップ805~825と同様に実行される。しかしながら、ステップ1125に続き、ステップ1127においてリセット移動が実行されて、原点復帰移動の効果が無効にされる。これらのリセット移動は、(正転および逆転移動を定義するために使用される向きに応じて)+Δθまたは-Δθ増分として実行される。次いで、本方法は、
図8を参照して上述した方法と同様にステップ1155~1165を続ける。
【0041】
図12に示すタイプ1較正方法において、ステップ1205~1225は、
図8を参照して上述したステップ805~824と同様に実行される。しかしながら、逆転および正転移動データセットの全体にわたってループするのではなく、正転移動ループは、ランダムに選択された移動長さに対してのみ実行される。したがって、ステップ1230および1235において、ランダムな逆転および正転移動長さが選択される。ランダム化は、本技術分野において既知である任意の技法を用いて実行することができる。次いで、正転ループが1回実行され、処理は、
図8を参照して上述した方法と同様にステップ1255~1265を続ける。
【0042】
図13は、いくつかの実施形態による、タイプ1較正を実行する別の代替方法を示す。この例は、
図13および
図12に示す方法を組み合わせる。ステップ1305~1325は、
図8を参照して上述したステップ805~825と同様に実行される。
図13と同様に、ステップ1325に続き、ステップ1327においてリセット移動が実行されて、原点復帰移動の効果が無効にされる。次いで、
図12のステップ1230および1235におけるのと同様に、それぞれステップ1330および1335において、ランダムな逆転および正転移動長さが段階的に選択される。次いで、正転ループが1回実行され、処理は、
図8を参照して上述した方法と同様にステップ1360および1365を続ける。
【0043】
上述したように、本明細書では、第2のタイプの較正は、タイプ2較正と称する。簡単に言えば、バックラッシュモデルは、本技術分野において一般に既知である1つまたはそれ以上の機械学習(ML)アルゴリズムを用いて学習される。選択される機械学習方式のハイパーパラメータは、最適化または交差検証方法を通して適切に選択することができる。そして、学習されたモデルを使用して、バックラッシュを補償するために必要な補正が推定される。タイプ2較正は、本質的に特徴空間グリッドのスパースサンプリングを実行し、そのため、タイプ1較正よりもより簡略化して(少ない訓練時間)較正を達成することができる可能性がある。
【0044】
モデル訓練の間、タイプ2較正方式は、移動セグメントの数に関して最小から最大まで長さが変化する(1:N)十分に多数のランダム化された双方向運動を実行する。いくつかの実施形態では、バックラッシュ測定は、(例えば、磁気または光学エンコーダ、レーザマイクロメータ、ポテンショメータ等を使用する)ペイロード位置の直接測定を使用して実行される。他の実施形態では、バックラッシュは、ペイロード上の複数の(簡単にするために)等間隔の位置で原点復帰させ、駆動側のエンコーダを使用して位置を記録することにより、計算される。この後者の検知方法では、(簡単にするためペイロードの移動長さの範囲にわたると想定される「N」個の移動セグメントに対応するN個の箇所であると想定される)リング上の複数の位置で原点復帰させる必要がある。第3の方法セットは、伝達機構(例えば、タイミングベルトまたは送りねじ)上の基準点の原点復帰を含む。
【0045】
タイプ2較正MLアルゴリズムに使用される特徴変数としては、例えば、正転および逆転移動の移動長さとともに、ベルトおよびプーリの歯のアドレス(または代替として、ペイロードセグメントインデックス)を表す変数を挙げることができる。例えば、ベルトサイクルの一部またはベルト(および必要な場合はプーリ)上の歯のアドレスも追跡することができる。特徴変数として使用される移動長さ測定基準は、現(方向逆転)移動の長さと以前の(正転)移動の長さとを含むことができる。移動測定基準の別の例は、以下のように計算することができる:すなわち、Previous_backlash_value abs_rev_move Abs_Rev_minus_LastFwd Abs_Rev_minus_SumFwd (abs_rev_move+abs_sum_fwdMove_set) (abs_rev_move+abs_last_fwd_move) Abs_Rev_minus_SumFwd。*abs_rev_move Abs_Rev_minus_MeanFwd。*abs_rev_move Total_AllPrecedingMoves LastFwdMoveLength。代替として、以下の移動測定基準を使用することができる:すなわち、Previous_backlash_value Previous_5_Fwd_MoveLengths。この測定基準におけるさまざまな変数の意味は、以下の通りである:
【0046】
【0047】
追加の特徴変数として、ペイロード(リング)は、「N」個の等しい部分に仮想的にセグメント化することができる。リングの「セグメント」は、ベルトおよびプーリの上の歯のアドレスを追跡するための代理として使用することができる。そのため、リングのセグメント番号は、1からN×ベルトサイクルごとのリング回転数まで及ぶ。
【0048】
タイミングベルトの選択、駆動システムの設計、最終用途のタイプ等に応じて、移動中の最大または平均加速度/減速度等の追加の要因がバックラッシュに影響を与えることが分かった場合、本明細書で考察する較正方式は、較正方式の明らかな一般化および好適な選択とともにそれら追加の要因を含めるように、特徴空間を好適に拡張することにより、依然として適用することができる。
【0049】
対象となる特徴変数は、例えば、決定木を用いる「予測子の重要度」推定等の方法を使用して特徴選択を実行することにより、各用途に対して好適に選択することができる。
【0050】
タイプ2較正方式で利用されるMLアルゴリズムは、例えば、アルゴリズムの予測性能、関連する計算の複雑さおよび実装の容易さ等の特性に基づいて、選択することができる。MLアルゴリズム例としては、線形回帰(必要な場合は正則化を含む)、ニューラルネットワーク、決定木ベースの回帰、多項ロジスティック回帰、外生入力自己回帰移動平均(autoregressive-moving-average model with exogenous inputs)(「ARMAX」)モデル、ランダムフォレスト回帰木、線形サポートベクターマシン、深層学習モデル等が挙げられる。これらのアルゴリズムを実装する技法は、本技術分野において一般に既知であり、したがって、これらのアルゴリズムについて、本明細書では完全に詳細に説明しない。
【0051】
タイプ1またはタイプ2いずれかの較正方式を使用する再較正は、駆動ユニットの性能の変化を測定するために定期的なサービス間隔で実行することができる。そして、任意の統計的に有意な変化は、故障予測としてかつ/または予防保守をスケジューリングするために使用することができる。機器の電源が切られ、較正データがランダムアクセスメモリで利用できなくなった場合、バックラッシュ較正の開始時のベルト駆動システムの初期較正が歯ピッチ不均一性誤差の最小値に対応するように、ベルトを原点復帰させた後にバックラッシュ較正を常に行うことによって、再較正を回避することができる。これには、(以前のベルト原点復帰に基づく)バックラッシュ較正データを不揮発性メモリに記憶することが必要である。
【0052】
図14は、本発明の実施形態を実装することができる例示的なコンピューティング環境1400を示す。例えば、いくつかの実施形態において、コンピューティング環境1400は、
図1に示す駆動されるベルト駆動システムの較正をサポートするために使用することができる。コンピューティング環境1400は、本発明の実施形態を実装することができるコンピューティングシステムの1つの例である、コンピュータシステム1410を含むことができる。コンピュータシステム1410およびコンピューティング環境1400等のコンピュータおよびコンピューティング環境は、当業者には既知であり、したがってここでは簡単に説明する。
【0053】
図14に示すように、コンピュータシステム1410は、コンピュータシステム1410内で情報を通信するバス1421または他の通信機構等の通信機構を含むことができる。コンピュータシステム1410は、情報を処理する、バス1421に結合された1つまたはそれ以上のプロセッサ1420をさらに含む。プロセッサ1420は、1つまたはそれ以上の中央処理装置(CPU)、グラフィカル処理装置(GPU)、または本技術分野において既知である他の任意のプロセッサを含むことができる。
【0054】
コンピュータシステム1410は、プロセッサ1420によって実行される情報および命令を記憶する、バス1421に結合されたシステムメモリ1430も含む。システムメモリ1430は、リードオンリメモリ(ROM)1431および/またはランダムアクセスメモリ(RAM)1432等、揮発性および/または不揮発性メモリの形態のコンピュータ可読記憶媒体を含むことができる。システムメモリRAM1432は、他の動的記憶デバイス(例えば、ダイナミックRAM、スタティックRAMおよびシンクロナスDRAM)を含むことができる。システムメモリROM1431は、他の静的記憶デバイス(例えば、プログラマブルROM、消去可能PROMおよび電気的消去可能PROM)を含むことができる。加えて、システムメモリ1430は、プロセッサ1420による命令の実行中に一時的な変数または他の中間情報を記憶するために使用することができる。ROM1431に、起動中等、コンピュータシステム1410内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム(BIOS)1433を記憶することができる。RAM1432は、プロセッサが即座にアクセス可能であり、かつ/またはプロセッサ1420により目下操作されているデータおよび/またはプログラムモジュールを含むことができる。システムメモリ1340は、例えば、オペレーティングシステム1434、アプリケーションプログラム1435、他のプログラムモジュール1436およびプログラムデータ1437をさらに含むことができる。
【0055】
コンピュータシステム1410は、ハードディスク1441およびリムーバブルメディアドライブ1442(例えば、フロッピディスクドライブ、コンパクトディスクドライブ、テープドライブおよび/またはソリッドステートドライブ)等、情報および命令を記憶する1つまたはそれ以上の記憶デバイスを制御する、バス1421に結合されたディスクコントローラ1440も含む。記憶デバイスは、適切なデバイスインタフェース(例えば、小型コンピュータシステムインタフェース(SCSI)、統合デバイスエレクトロニクス(IDE)、ユニバーサルシリアルバス(USB)またはFireWire(登録商標))を使用してコンピュータシステム1410に追加することができる。
【0056】
コンピュータシステム1410は、コンピュータユーザに情報を表示するように、陰極線管(CRT)または液晶ディスプレイ(LCD)等のディスプレイ1466を制御する、バス1421に結合されたディスプレイコントローラ1465も含むこともできる。コンピュータシステムは、入力インタフェース1460と、コンピュータユーザとインタラクトし、プロセッサ1420に情報を提供するための、キーボード1462およびポインティングデバイス1461等、1つまたはそれ以上の入力デバイスとを含む。ポインティングデバイス1461は、例えば、方向情報およびコマンド選択をプロセッサ1420に通信し、ディスプレイ1466上のカーソルの動きを制御する、マウス、トラックボールまたはポインティングスティックであってよい。ディスプレイ1466は、ポインティングデバイス1461による方向情報およびコマンド選択の通信を補足するかまたは置き換える入力を可能にする、タッチスクリーンインタフェースを提供することができる。
【0057】
コンピュータシステム1410は、プロセッサ1420がシステムメモリ1430等のメモリに含まれる1つまたはそれ以上の命令の1つまたはそれ以上のシーケンスを実行することに応答して、本発明の実施形態の処理ステップの一部または全部を実行することができる。こうした命令は、ハードディスク1441またはリムーバブルメディアドライブ1442等の別のコンピュータ可読媒体からシステムメモリ1430に読み込むことができる。ハードディスク1441は、本発明の実施形態によって使用される1つまたはそれ以上のデータストアおよびデータファイルを含むことができる。データストアの内容およびデータファイルは、セキュリティを向上させるために暗号化することができる。プロセッサ1420は、システムメモリ1430に含まれる1つまたはそれ以上の命令シーケンスを実行するために、マルチプロセッシング配置で採用することもできる。代替実施形態では、ソフトウェア命令の代わりにまたはソフトウェア命令と組み合わせて、ハードワイヤード回路を使用してもよい。したがって、実施形態は、ハードウェア回路とソフトウェアとのいかなる特定の組合せにも限定されない。
【0058】
上述したように、コンピュータシステム1410は、本発明の実施形態に従ってプログラムされた命令を保持し、本明細書に記載するデータ構造、テーブル、レコードまたは他のデータを含む、少なくとも1つのコンピュータ可読媒体またはメモリを含むことができる。本明細書で使用する「コンピュータ可読媒体」という用語は、実行されるようにプロセッサ1420に命令を提供することに関係する任意の媒体を指す。コンピュータ可読媒体は、限定されないが、不揮発性媒体、揮発性媒体および伝送媒体を含む、多くの形態をとることができる。不揮発性媒体の非限定的な例としては、ハードディスク1441またはリムーバブルメディアドライブ1442等、光ディスク、ソリッドステートドライブ、磁気ディスクおよび光磁気ディスクが挙げられる。揮発性媒体の非限定的な例としては、システムメモリ1430等、動的メモリが挙げられる。伝送媒体の非限定的な例としては、バス1421を構成するワイヤを含む、同軸ケーブル、銅線および光ファイバが挙げられる。伝送媒体はまた、電波および赤外線データ通信中に発生するような音波または光波の形態もとることができる。
【0059】
コンピューティング環境1400は、リモートコンピュータ1480等、1つまたはそれ以上のリモートコンピュータへの論理接続を使用してネットワーク化環境で動作する、コンピュータシステム1410をさらに含むことができる。リモートコンピュータ1480は、パーソナルコンピュータ(ラップトップまたはデスクトップ)、モバイルデバイス、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通ネットワークノードであってよく、典型的には、コンピュータシステム1410に関連して上述した要素の多くまたはすべてを含む。ネットワーク環境で使用される場合、コンピュータシステム1410は、インターネット等のネットワーク1471を介した通信を確立するためのモデム1472を含むことができる。モデム1472は、ユーザネットワークインタフェース1470を介して、または別の適切な機構を介して、バス1421に接続することができる。
【0060】
ネットワーク1471は、インターネット、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、直接接続または一連の接続、携帯電話ネットワーク、またはコンピュータシステム1410と他のコンピュータ(例えば、リモートコンピュータ1480)との間の通信を容易にすることができる他の任意のネットワークもしくは媒体を含む、本技術分野において一般的に既知である任意のネットワークまたはシステムであってよい。ネットワーク1471は、有線、無線、またはそれらの組合せであってよい。有線接続は、イーサネット、ユニバーサルシリアルバス(USB)、RJ-11、または本技術分野において一般的に既知である他の有線接続を使用して実装することができる。無線接続は、Wi-Fi、WiMAXおよびBluetooth(登録商標)、赤外線、セルラーネットワーク、衛星、または本技術分野において一般的に既知である他の任意の無線接続方法論を使用して実装することができる。さらに、いくつかのネットワークは、ネットワーク1471における通信を容易にするために、単独で機能してもよく、または互いに通信して機能してもよい。
【0061】
本開示の実施形態は、ハードウェアおよびソフトウェアの任意の組合せで実装することができる。加えて、本開示の実施形態は、例えば、コンピュータ可読非一時的媒体を有する製造品(例えば、1つまたはそれ以上のコンピュータプログラム製品)に含めることができる。媒体はその中で、例えば、本開示の実施形態の機構を提供するとともに容易にするコンピュータ可読プログラムコードを、具現化している。製造品は、コンピュータシステムの一部として含めるか、または別個に販売することができる。
【0062】
本明細書では、さまざまな態様および実施形態について開示したが、当業者であれば、他の態様および実施形態が明らかとなろう。本明細書に開示したさまざまな態様および実施形態は、例示を目的とするものであり、限定的であるように意図されておらず、真の範囲および趣旨は、以下の特許請求の範囲によって示されている。
【0063】
本明細書で使用する実行可能アプリケーションは、例えば、ユーザコマンドまたは入力に応答して、オペレーティングシステム、コンテキストデータ収集システムまたは他の情報処理システムのもの等、所定の機能を実装するようにプロセッサを調整するコードまたは機械可読命令を含む。実行可能手続きが、1つまたはそれ以上の特定のプロセスを実行する、コードのセグメントもしくは機械可読命令、サブルーチン、またはコードの他の別個のセクション、または実行可能なアプリケーションの一部である。これらのプロセスには、入力データおよび/またはパラメータを受け取ること、受け取った入力データに対する動作を実行すること、および/または受け取った入力パラメータに応答して機能を実行すること、ならびに結果としての出力データおよび/またはパラメータを提供することが含まれる場合がある。
【0064】
本明細書における機能およびプロセスステップは、自動的に、または全体的にもしくは部分的にユーザコマンドに応答して実行することができる。自動的に実行される(ステップを含む)行為は、ユーザがその行為を直接開始することなく、1つまたはそれ以上の実行可能命令またはデバイス動作に応答して実施される。
【0065】
図のシステムおよびプロセスは、排他的ではない。同じ目的を達成するために、本発明の原理に従って他のシステム、プロセスおよびメニューを導出することができる。本発明について、特定の実施形態に関して説明したが、本明細書に示すとともに記載した実施形態および変形は、単に例示を目的とするものであることを理解されたい。本発明の範囲から逸脱することなく、当業者により、現行の設計に対する変更を実施することができる。本明細書に記載するように、さまざまなシステム、サブシステム、エージェント、マネージャおよびプロセスは、ハードウェアコンポーネント、ソフトウェアコンポーネントおよび/またはそれらの組合せを用いて実装することができる。本明細書のいかなる請求項要素も、その要素が「~のための手段」の言い回しを用いて明示的に記載されていない限り、米国特許法第112条(f)の規定に基づいて解釈されるべきではない。