(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024137670
(43)【公開日】2024-10-07
(54)【発明の名称】混合状態物質を有するシステムを制御するためのシステムおよび方法
(51)【国際特許分類】
G05B 13/02 20060101AFI20240927BHJP
G05B 13/04 20060101ALI20240927BHJP
【FI】
G05B13/02 J
G05B13/04
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023208986
(22)【出願日】2023-12-12
(31)【優先権主張番号】18/124,167
(32)【優先日】2023-03-21
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ナビ,サレー
(72)【発明者】
【氏名】バイス,アビシャイ
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GA06
5H004GA08
5H004GA14
5H004GB13
5H004HA03
5H004HA07
5H004HA08
5H004HA09
5H004HA16
5H004HB03
5H004HB07
5H004HB08
5H004HB09
5H004KC03
5H004KC08
5H004KC12
5H004KC22
5H004KC27
(57)【要約】 (修正有)
【課題】流体ボリュームを含む容器を形成する部分を有する固体状態物質を含む混合状態物質を有するシステムを最適に制御するためのシステムおよび方法を提供する。
【解決手段】方法は、システムの状態を示すフィードバック信号を収集するステップと、容器内の流体ボリュームの力学のモデルと相互結合された固体状態物質の力学のモデルを含むシステムの力学の異種モデルによって決まる、制御目標に従ってシステムの状態を変化させる最適制御問題を解くことによって、現在の制御ステップでシステムのアクチュエータへの制御コマンドを決定するステップとを含む。方法はさらに、システムの状態を変化させるために、制御コマンドをシステムのアクチュエータに提示するステップを含む。
【選択図】
図1A
【特許請求の範囲】
【請求項1】
流体ボリュームを含む容器を形成する部分を有する固体状態物質を含む混合状態物質を有するシステムを制御するためのコントローラであって、前記コントローラは、実行可能命令を格納するように構成されたメモリと、前記コントローラに複数のステップを行なわせるように前記実行可能命令を実行するように構成されたプロセッサとを備え、前記複数のステップは、
前記システムの状態を示すフィードバック信号を収集するステップと、
前記容器内の前記流体ボリュームの力学のモデルと相互結合された前記固体状態物質の力学のモデルを含む前記システムの力学の異種モデルによって決まる、制御目標に従って前記システムの前記状態を変化させることに関連する最適制御問題を解くことによって、現在の制御ステップで前記システムのアクチュエータへの制御コマンドを決定するステップとを含み、前記流体ボリュームの力学の前記モデルは、前記現在の制御ステップでの前記制御コマンドの実行に応答して、前記容器の動きによって引き起こされる前記流体ボリュームの形状を推定し、前記固体状態物質の力学の前記モデルは、前記現在の制御ステップでの前記流体ボリュームの前記形状に依存する前記容器内の前記流体ボリュームの質量中心を含み、前記複数のステップはさらに、
前記システムの前記状態を変化させるために、前記制御コマンドを前記システムの前記アクチュエータに提示するステップを含む、コントローラ。
【請求項2】
前記流体ボリュームの前記形状は、前記現在の制御ステップのために推定された前記流体ボリュームと前記容器内の残りの体積との間の界面のプロファイルによって決定される、請求項1に記載のコントローラ。
【請求項3】
前記界面の前記プロファイルは、計算流体力学(CFD)の原理を使用して推定される、請求項2に記載のコントローラ。
【請求項4】
前記流体の力学のモデルは、前記容器内の前記流体ボリュームの計算流体力学(CFD)をシミュレートする、請求項1に記載のコントローラ。
【請求項5】
前記流体の力学のモデルは、完全CFDモデルに近似する低次元化モデルを使用して前記流体ボリュームのCFDをシミュレートする、請求項4に記載のコントローラ。
【請求項6】
前記完全CFDモデルはPDEモデルであり、前記低次元化モデルの次数は前記PDEモデルの次数よりも低い、請求項5に記載のコントローラ。
【請求項7】
前記低次元化モデルは、前記流体の力学をモデル化する1つ以上のパラメータ物理モデルに基づいている、請求項5に記載のコントローラ。
【請求項8】
前記低次元化モデルは、動的分解(DMD)に基づいてモードの集合を計算することによって取得され、各モードは、時間的特徴および相関空間活動に関連付けられる、請求項5に記載のコントローラ。
【請求項9】
前記プロセッサはさらに、
前記容器内の流体の体積の測定値と、前記容器内の複数の点での流体の占有率の測定値とを収集し、
プロセスノイズによって決まる予測モデルと測定ノイズによって決まる測定モデルとを使用して前記流体ボリュームの前記形状を追跡する確率的フィルタを実行するように構成され、前記予測モデルは、前記容器の動きを境界条件として用いて前記流体ボリュームの計算流体力学(CFD)をシミュレートして、前記流体ボリュームの前記形状の分布を予測し、前記測定モデルは、流体の占有率の前記測定値に基づいて、予測された前記分布を更新する、請求項1に記載のコントローラ。
【請求項10】
前記容器内の流体の前記体積の前記測定値と、前記容器内の前記複数の点での流体の占有率の前記測定値とは、前記容器に関連付けられた1つ以上のセンサから収集される、請求項9に記載のコントローラ。
【請求項11】
前記確率的フィルタは、カルマンフィルタである、請求項9に記載のコントローラ。
【請求項12】
前記システムは、容器を含む宇宙船であり、前記容器は、前記宇宙船のための燃料を含み、前記プロセッサはさらに、
前記宇宙船の所望状態に到達するという最適制御問題を解くことによって、前記宇宙船の1つ以上のアクチュエータへの制御コマンドを決定するように構成され、前記最適制御問題は前記異種モデルによって決まり、前記プロセッサはさらに、
前記宇宙船を前記所望状態へ動かすために、前記制御コマンドを前記宇宙船の1つ以上のアクチュエータに提示するように構成される、請求項1に記載のコントローラ。
【請求項13】
流体ボリュームを含む容器を形成する部分を有する固体状態物質を含む混合状態物質を有するシステムを制御するための方法であって、前記方法は、
前記システムの状態を示すフィードバック信号を収集するステップと、
前記容器内の前記流体ボリュームの力学のモデルと相互結合された前記固体状態物質の力学のモデルを含む前記システムの力学の異種モデルによって決まる、制御目標に従って前記システムの前記状態を変化させる最適制御問題を解くことによって、現在の制御ステップで前記システムのアクチュエータへの制御コマンドを決定するステップとを含み、前記流体ボリュームの力学の前記モデルは、前記現在の制御ステップでの前記制御コマンドの実行に応答して、前記容器の動きによって引き起こされる前記流体ボリュームの形状を推定し、前記固体状態物質の力学の前記モデルは、前記現在の制御ステップでの前記流体ボリュームの前記形状に依存する前記容器内の前記流体ボリュームの質量中心を含み、前記方法はさらに、
前記システムの前記状態を変化させるために、前記制御コマンドを前記システムの前記アクチュエータに提示するステップを含む、方法。
【請求項14】
前記流体ボリュームの前記形状は、前記現在の制御ステップのために推定された前記流体ボリュームと前記容器内の残りの体積との間の界面のプロファイルによって決定される、請求項13に記載の方法。
【請求項15】
前記界面の前記プロファイルは、計算流体力学(CFD)の原理を使用して推定される、請求項14に記載の方法。
【請求項16】
前記流体の力学のモデルは、前記容器内の前記流体ボリュームの計算流体力学(CFD)をシミュレートする、請求項13に記載の方法。
【請求項17】
前記流体の力学のモデルは、完全CFDモデルに近似する低次元化モデルを使用して前記流体ボリュームのCFDをシミュレートする、請求項16に記載の方法。
【請求項18】
前記完全CFDモデルはPDEモデルであり、前記低次元化モデルの次数は前記PDEモデルの次数よりも低い、請求項17に記載の方法。
【請求項19】
流体ボリュームを含む容器を形成する部分を有する固体状態物質を含む混合状態物質を有するシステムを制御するための方法を行なうためにプロセッサによって実行可能なプログラムが具現化された、非一時的コンピュータ読取可能記憶媒体であって、前記方法は、
前記システムの状態を示すフィードバック信号を収集するステップと、
前記容器内の前記流体ボリュームの力学のモデルと相互結合された前記固体状態物質の力学のモデルを含む前記システムの力学の異種モデルによって決まる、制御目標に従って前記システムの前記状態を変化させる最適制御問題を解くことによって、現在の制御ステップで前記システムのアクチュエータへの制御コマンドを決定するステップとを含み、前記流体ボリュームの力学の前記モデルは、前記現在の制御ステップでの前記制御コマンドの実行に応答して、前記容器の動きによって引き起こされる前記流体ボリュームの形状を推定し、前記固体状態物質の力学の前記モデルは、前記現在の制御ステップでの前記流体ボリュームの前記形状に依存する前記容器内の前記流体ボリュームの質量中心を含み、前記方法はさらに、
前記システムの前記状態を変化させるために、前記制御コマンドを前記システムの前記アクチュエータに提示するステップを含む、非一時的コンピュータ読取可能記憶媒体。
【請求項20】
前記流体ボリュームの前記形状は、前記現在の制御ステップのために推定された前記流体ボリュームと前記容器内の残りの体積との間の界面のプロファイルによって決定される、請求項19に記載の非一時的コンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般に制御システムに関し、より特定的には、混合状態物質を有するシステムを制御するためのシステムおよび方法に関する。
【背景技術】
【0002】
液体のスロッシング(sloshing:揺動)は、流体が含まれる液体推進剤ロケット、航空機推進剤タンク、船、石油タンカー、および他の用途において生じる。液体のスロッシングは、液体の運動エネルギーの蓄積、および結果として生じる液体と容器の壁との相互作用に起因して、タンクシステムを逸脱させるおそれがある。
【0003】
たとえば、航空宇宙技術では、液体のスロッシングは、特に初期重量の莫大な割合を燃料として有する傾向がある液体推進剤打ち上げ宇宙船において、よく認識された問題である。スロッシュ波が自由に振動することを許容される場合、スロッシュ波は、共振に至る傾向がある。共振時、スロッシュ波は概して最大振幅を有する。スロッシングする燃料の力により、宇宙船は、そのスピン軸を中心として章動する(nutate)場合がある。そのような問題を緩和するために、推力ベクトル補正方法が、宇宙船における章動を補正するために使用される。しかしながら、燃料がスロッシングする力の大きい規模は、実行中の補正を圧倒する場合があり、ひいては、宇宙船の章動の増加および完全な制御不能をもたらす。したがって、スロッシングする燃料と宇宙船の動きとの相互作用が宇宙船の性能に直接影響を与え、また、宇宙船の不安定性をもたらす場合がある。
【0004】
このため、(宇宙船などの)システムを制御するためのコントローラが、システムの制御に対する液体スロッシングの影響を最小限に抑えるように液体スロッシングの影響を考慮するために所望される。したがって、システムの制御において液体スロッシングを考慮するコントローラが必要である。
【発明の概要】
【0005】
いくつかの実施形態の目的は、容器を形成する部分を有する固体状態物質を含む混合状態物質を有するシステムを制御するためのコントローラを提供することである。容器は、流体ボリューム(ある体積の流体)を含む。混合状態物質を有するシステムの例は、その動きに動力を供給する燃料を有する容器を有する宇宙船、および、水または他のタイプの流体を有する容器を運ぶロボットを含む。また、いくつかの実施形態の目的は、固体状態物質(たとえば容器)および液体状態物質(流体)の力学間の相互結合をモデル化する異種モデルを構築することである。加えて、いくつかの実施形態の目的は、システムの制御において異種モデルを使用することである。
【0006】
システムが動作中、容器は外力にさらされ、それに起因して流体のスロッシングが生じる。たとえば、宇宙船の飛行中、容器の動きに起因して、流体のスロッシングが生じる場合がある。流体のスロッシングに起因して、流体ボリュームの形状が変化する。また、いくつかの実施形態は、流体ボリュームの形状の変化が、流体ボリュームの質量中心の位置、ひいては、システムの質量中心の位置を変化させる、という認識に基づいている。また、流体ボリュームの形状の変化は、流体の速度を変化させる。いくつかの実施形態は、混合状態物質の力学が相互結合され、すなわち、固体状態物質(たとえば容器)および液体状態物質(流体)の力学が互いに影響を与えるため、理論上、固体状態物質および液体状態物質の力学間の相互結合を、システムを制御するためのコントローラを設計する際に考慮するべきである、という認識に基づいている。しかしながら、そのような相互結合はモデル化するのが難しい。
【0007】
いくつかの実施形態は、固体状態物質および液体状態物質の力学間の相互結合は、容器の動きによって引き起こされる流体ボリュームの形状を推定することによって行なわれ得る、という認識に基づいている。いくつかの実施形態は、流体ボリュームの形状が、流体ボリュームの質量中心の位置を変化させ、よって、相互結合は、流体ボリュームの質量中心を固体状態物質の力学のモデルに含めることによって行なわれ得る、というさらなる認識に基づいている。加えて、いくつかの実施形態では、相互結合は、流体の速度を固体状態物質の力学のモデルに含めることによって行なわれる。いくつかの代替的な実施形態では、相互結合は、流体の速度および流体ボリュームの質量中心の双方を固体状態物質の力学のモデルに含めることによって行なわれる。固体状態物質および液体状態物質の力学をそのような態様で結合することは、システムの力学の異種モデルを確立する。
【0008】
一実施形態によれば、システムの力学の異種モデルは、容器内の流体ボリュームの力学のモデルと相互結合された固体状態物質の力学のモデルを含む。流体ボリュームの力学のモデルは、容器の動きによって引き起こされる流体ボリュームの形状を推定する。固体状態物質の力学のモデルは、流体ボリュームの形状に依存する流体ボリュームの質量中心を含む。そのような異種モデルは、システムの制御において流体のスロッシングを考慮するために使用される。
【0009】
たとえば、最初に、システムの状態を示すフィードバック信号が収集される。システムの状態の例は、システムの配向、システムの位置、システムの速度、またはシステムの加速度を含む。また、制御目標に従ってシステムの状態を変化させる最適制御問題を解くことによって、システムのアクチュエータへの制御コマンドが決定される。最適制御問題は、流体ボリュームの力学のモデルと相互結合された固体状態物質の力学のモデルを含むシステムの力学の異種モデルによって決まる。さらに、システムの状態を変化させるために、制御コマンドがシステムのアクチュエータに提示される。
【0010】
一実施形態によれば、容器内の流体ボリュームの形状は、推定された流体ボリュームと容器内の残りの体積との間の界面のプロファイルによって決定される。容器内の残りの体積は、流体によって占有されていない空気または気体または空隙に関する。界面のプロファイルは、計算流体力学(Computational Fluid Dynamics:CFD)の原理を使用して推定される。言い換えれば、流体ボリュームの形状は、CFDを使用して決定され得る。たとえば、境界条件が、容器の動きに基づいて決定される。また、境界条件に基づいて、流体ボリュームのCFDシミュレーションが実行される。CFDシミュレーションから、流体ボリュームの形状と、流体ボリュームの質量中心とが決定され得る。
【0011】
したがって、一実施形態は、流体ボリュームを含む容器を形成する部分を有する固体状態物質を含む混合状態物質を有するシステムを制御するためのコントローラを開示する。コントローラは、実行可能命令を格納するように構成されたメモリと、コントローラに複数のステップを行なわせるように実行可能命令を実行するように構成されたプロセッサとを備え、複数のステップは、システムの状態を示すフィードバック信号を収集するステップと、容器内の流体ボリュームの力学のモデルと相互結合された固体状態物質の力学のモデルを含むシステムの力学の異種モデルによって決まる、制御目標に従ってシステムの状態を変化させる最適制御問題を解くことによって、現在の制御ステップでシステムのアクチュエータへの制御コマンドを決定するステップとを含み、流体ボリュームの力学のモデルは、現在の制御ステップでの制御コマンドの実行に応答して、容器の動きによって引き起こされる流体ボリュームの形状を推定し、固体状態物質の力学のモデルは、現在の制御ステップでの流体ボリュームの形状に依存する容器内の流体ボリュームの質量中心を含み、複数のステップはさらに、システムの状態を変化させるために、制御コマンドをシステムのアクチュエータに提示するステップを含む。
【0012】
したがって、別の実施形態は、流体ボリュームを含む容器を形成する部分を有する固体状態物質を含む混合状態物質を有するシステムを制御するための方法を開示する。方法は、システムの状態を示すフィードバック信号を収集するステップと、容器内の流体ボリュームの力学のモデルと相互結合された固体状態物質の力学のモデルを含むシステムの力学の異種モデルによって決まる、制御目標に従ってシステムの状態を変化させる最適制御問題を解くことによって、現在の制御ステップでシステムのアクチュエータへの制御コマンドを決定するステップとを含み、流体ボリュームの力学のモデルは、現在の制御ステップでの制御コマンドの実行に応答して、容器の動きによって引き起こされる流体ボリュームの形状を推定し、固体状態物質の力学のモデルは、現在の制御ステップでの流体ボリュームの形状に依存する容器内の流体ボリュームの質量中心を含み、方法はさらに、システムの状態を変化させるために、制御コマンドをシステムのアクチュエータに提示するステップを含む。
【0013】
したがって、さらに別の実施形態は、流体ボリュームを含む容器を形成する部分を有する固体状態物質を含む混合状態物質を有するシステムを制御するための方法を行なうためにプロセッサによって実行可能なプログラムが具現化された、非一時的なコンピュータ読取可能記憶媒体を開示する。方法は、システムの状態を示すフィードバック信号を収集するステップと、容器内の流体ボリュームの力学のモデルと相互結合された固体状態物質の力学のモデルを含むシステムの力学の異種モデルによって決まる、制御目標に従ってシステムの状態を変化させる最適制御問題を解くことによって、現在の制御ステップでシステムのアクチュエータへの制御コマンドを決定するステップとを含み、流体ボリュームの力学のモデルは、現在の制御ステップでの制御コマンドの実行に応答して、容器の動きによって引き起こされる流体ボリュームの形状を推定し、固体状態物質の力学のモデルは、現在の制御ステップでの流体ボリュームの形状に依存する容器内の流体ボリュームの質量中心を含み、方法はさらに、システムの状態を変化させるために、制御コマンドをシステムのアクチュエータに提示するステップを含む。
【図面の簡単な説明】
【0014】
【
図1A】本開示の一実施形態に従った、混合状態物質を有するシステムを制御するためのブロック図である。
【
図1B】本開示の一実施形態に従った、混合状態物質を有するシステムを示す図である。
【
図1C】本開示の一実施形態に従った、流体スロッシングに起因して容器内で時間とともに変化する流体ボリュームの形状を示す図である。
【
図1D】本開示の一実施形態に従った、流体ボリュームの形状の変化に起因する、流体ボリュームの質量中心の位置の変化を示す図である。
【
図1E】本開示の一実施形態に従った、システムの力学の異種モデルを示す図である。
【
図1F】本開示のいくつかの実施形態に従った、システムを制御するためのコントローラのブロック図である。
【
図2】本開示の一実施形態に従った、計算流体力学(CFD)を使用して流体ボリュームの形状を決定するための方法のブロック図である。
【
図3】本開示のいくつかの実施形態に従った、流体の力学をモデル化するパラメータ物理モデルの表現を示す概略図である。
【
図4】本開示のいくつかの実施形態に従った、動的モード分解(Dynamic Mode Decomposition:DMD)のためのアルゴリズムを示す図である。
【
図5】本開示の一実施形態に従った、ある時刻での流体ボリュームの形状を追跡するカルマンフィルタの概略図である。
【
図6】本開示のいくつかの実施形態に従った、コントローラを採用する宇宙船を示す図である。
【
図7】本開示のいくつかの実施形態に従った、コントローラを実現するためのコンピューティングデバイスを示す概略図である。
【0015】
ここに開示される実施形態は、添付図面を参照してさらに説明される。示された図面は必ずしも縮尺通りではなく、代わりに、ここに開示される実施形態の原理を例示することに重きが概して置かれている。
【発明を実施するための形態】
【0016】
以下の説明では、説明する目的のために、多くの特定の詳細が、本開示の完全な理解を提供するために述べられる。しかしながら、これらの特定の詳細がなくても本開示が実践され得ることは、当業者には自明であろう。他の事例では、本開示を不明瞭にすることを避けるために、装置および方法はブロック図の形式でのみ示される。
【0017】
この明細書および請求項で使用されるような、「たとえば」、「といった」、「などの」という用語、ならびに「備える」、「有する」、「含む」という動詞およびそれらの他の動詞形は、1つ以上の構成要素または他の項目のリストとともに使用される場合、非限定的であるとして各々解釈されるべきである。すなわち、リストは、他の追加の構成要素または項目を除外するとみなされるべきではない。「に基づいて」という用語は、少なくとも部分的に基づいていることを意味する。また、この明細書に採用されている言葉遣いおよび用語は説明のためのものであり、限定的であると見なされるべきでないということが理解されるべきである。この説明内で利用されるどの見出しも便宜上のものに過ぎず、法的効果または限定的効果を有していない。
【0018】
図1Aは、本開示の一実施形態に従ったシステム101を制御するためのブロック図を示す。
図1Bは、本開示の一実施形態に従ったシステム101を示す。システム101は、容器103を形成する部分を有する固体状態物質を含む混合状態物質を含む。容器103は、あるボリューム(体積)の流体105を含む。容器103は、システム101が必要とするような任意の形状およびサイズのものであり得る。混合状態物質を有するシステム101の例は、その動きに動力を供給する燃料を有する容器を有する宇宙船、および、水または他のタイプの流体を有する容器を運ぶロボットを含む。
【0019】
システム101が動作中、容器103は外力にさらされ、それに起因して流体105のスロッシングが生じる。たとえば、宇宙船の飛行中、容器103の動きに起因して、流体105のボリュームのスロッシングが生じる場合がある。流体105のスロッシングに起因して、流体105のボリュームの形状が、
図1Cに示されるように変化する。
【0020】
図1Cは、本開示の一実施形態に従った、流体スロッシングに起因して容器103内で時間とともに変化する流体105のボリュームの形状を示す。107aは、時刻t=0sでの流体105のボリュームの形状を示す。同様に、107bは、時刻t=0.157sでの流体105のボリュームの形状を示す。107cは、時刻t=0.275sでの流体105のボリュームの形状を示す。107dは、時刻t=0.340sでの流体105のボリュームの形状を示す。107eは、時刻t=0.450sでの流体105のボリュームの形状を示す。107fは、時刻t=0.552sでの流体105のボリュームの形状を示す。107gは、時刻t=0.597sでの流体105のボリュームの形状を示す。107hは、時刻t=0.713sでの流体105のボリュームの形状を示す。107iは、時刻t=0.838sでの流体105のボリュームの形状を示す。107jは、時刻t=0.976sでの流体105のボリュームの形状を示す。107kは、時刻t=1.06sでの流体105のボリュームの形状を示す。107lは、時刻t=1.13sでの流体105のボリュームの形状を示す。107mは、時刻t=1.14sでの流体105のボリュームの形状を示す。107nは、時刻t=1.25sでの流体105のボリュームの形状を示す。107oは、時刻t=1.50sでの流体105のボリュームの形状を示す。
【0021】
図1Cからは、流体105のボリュームの形状が、流体スロッシングに起因して容器103内で時間とともに変化することが観察され得る。たとえば、時刻t=0sでの流体105のボリュームの形状109は、次の時刻t=0.157sで流体105のボリュームの形状111へ変化する。
【0022】
また、いくつかの実施形態は、流体105のボリュームの形状の変化が、流体105のボリュームの質量中心の位置を変化させる、という認識に基づいている。
図1Dは、本開示の一実施形態に従った、流体105のボリュームの形状の変化に起因する、流体105のボリュームの質量中心の位置の変化を示す。流体105のボリュームの形状115に対応する流体105のボリュームの質量中心の位置113は、次に流体105のボリュームの形状115が形状119へ変化すると、位置117へ変化する。加えて、流体105のボリュームの形状の変化は、流体105の速度を変化させる。
【0023】
いくつかの実施形態は、混合状態物質の力学が相互結合され、すなわち、固体状態物質(たとえば容器103)および液体状態物質(流体105)の力学が互いに影響を与えるため、理論上、固体状態物質および液体状態物質の力学間の相互結合を、システム101を制御するためのコントローラを設計する際に考慮するべきである、という認識に基づいている。しかしながら、そのような相互結合はモデル化するのが難しい。
【0024】
いくつかの実施形態は、固体状態物質および液体状態物質の力学間の相互結合は、容器103の動きによって引き起こされる流体105のボリュームの形状を推定することによって行なわれ得る、という認識に基づいている。いくつかの実施形態は、流体105のボリュームの形状が、流体105のボリュームの質量中心の位置を変化させ、よって、相互結合は、流体105のボリュームの質量中心を固体状態物質の力学のモデルに含めることによって行なわれ得る、というさらなる認識に基づいている。加えて、いくつかの実施形態では、相互結合は、流体105の速度を固体状態物質の力学のモデルに含めることによって行なわれる。いくつかの代替的な実施形態では、相互結合は、流体105の速度および流体105のボリュームの質量中心の双方を固体状態物質の力学のモデルに含めることによって行なわれる。固体状態物質および液体状態物質の力学をそのような態様で結合することは、システム101の力学の異種モデルを確立する。
【0025】
図1Eは、本開示の一実施形態に従った、システム101の力学の異種モデル121を示す。システム101の力学の異種モデル121は、容器103内の流体105のボリュームの力学のモデル125と相互結合された固体状態物質の力学のモデル123を含む。流体105のボリュームの力学のモデル125は、容器103の動きによって引き起こされる流体105のボリュームの形状を推定する。固体状態物質の力学のモデル123は、流体105のボリュームの形状に依存する流体105のボリュームの質量中心を含む。
【0026】
また、いくつかの実施形態は、システム101の制御において流体のスロッシングを考慮するために異種モデル121を使用してシステム101を制御するコントローラを提供する。そのようなコントローラを、以下に
図1Fで説明する。
【0027】
図1Fは、本開示のいくつかの実施形態に従った、システム101を制御するためのコントローラ127のブロック図を示す。コントローラ127は、システム101に通信可能に結合される。コントローラ127は、プロセッサ129と、メモリ131とを含む。プロセッサ129は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、または任意の数の他の構成であってもよい。メモリ131は、ランダムアクセスメモリ(random access memory:RAM)、読出専用メモリ(read only memory:ROM)、フラッシュメモリ、または任意の他の好適なメモリシステムを含んでいてもよい。加えて、いくつかの実施形態では、メモリ131は、ハードドライブ、光学ドライブ、サムドライブ、ドライブのアレイ、またはそれらの任意の組合せを使用して実現されてもよい。メモリ131は実行可能命令を格納するように構成され、プロセッサ129は、コントローラ127に、以下に説明されるように異種モデル121を使用してシステム101を制御させるように、実行可能命令を実行するように構成される。
【0028】
図1Aを再度参照して、ブロック133で、プロセッサ129は、システム101の状態を示すフィードバック信号を収集するように、コントローラ127で構成される。システム101の状態は、システム101の配向、システム101の位置、システム101の速度、またはシステム101の加速度に対応し得る。
【0029】
ブロック135で、プロセッサ129は、システム101のアクチュエータへの制御コマンドを決定するために、現在の制御ステップで、制御目標に従ってシステム101の状態を変化させる最適制御問題を解くように構成される。制御目標は、システム101の現在の状態135aとシステム101の所望状態135bとの違いを減少させることであってもよい。たとえば、制御目標は、システム101を、現在のターゲット位置または配向からターゲット位置または配向へ移動させることであってもよい。最適制御問題は、流体105のボリュームの力学のモデル125と相互結合された固体状態物質の力学のモデル123を含む、システム101の力学の異種モデル121によって決まる。流体105のボリュームの力学のモデル125は、現在の制御ステップでの制御コマンドの実行に応答して、容器103の動きによって引き起こされる流体105のボリュームの形状を推定する。固体状態物質の力学のモデル123は、現在の制御ステップでの流体105のボリュームの形状に依存する容器103内の流体105のボリュームの質量中心を含む。
【0030】
いくつかの他の実施形態では、プロセッサ129は、システム101のアクチュエータへの制御コマンドを決定するために、異種モデル121によって決まるモデル予測制御(Model Predictive Control:MPC)問題または他のフィードバック制御問題を解いてもよい。それに代えて、強化学習などのデータ駆動型制御手法も、システム101のアクチュエータへの制御コマンドを決定するために使用されてもよい。また、異種モデル121によって決まる、極値探索などの適応制御問題が、システム101のアクチュエータへの制御コマンドを決定するために解かれてもよい。
【0031】
ブロック137で、プロセッサ129は、システム101の状態を変化させるために、制御コマンドをシステム101のアクチュエータに提示するように構成される。また、次の現在の制御ステップのために、プロセッサ129は新たなフィードバック信号を収集し、同じプロセスが実行される。そのような態様で、異種モデル121は、システム101の固体状態物質および液体状態物質の力学間の相互結合を考慮し、システム101を制御するための制御コマンドを決定するために使用される。
【0032】
一実施形態によれば、容器103内の流体105のボリュームの形状は、現在の制御ステップのために推定された流体ボリュームと容器内の残りの体積との間の界面のプロファイルによって決定される。界面のプロファイルは、計算流体力学(CFD)の原理を使用して推定される。言い換えれば、流体105のボリュームの形状は、CFDを使用して決定され得る。
【0033】
図2は、本開示の一実施形態に従った、CFDを使用して流体105のボリュームの形状を決定するためのブロック
図200を示す。ブロック201で、プロセッサ129は、容器103の動きに基づいて境界条件を決定する。
【0034】
ブロック203で、プロセッサ129は、境界条件に基づいて流体105のボリュームのCFDシミュレーションを実行する。特に、プロセッサ129は、境界条件に基づいて、流体の動きを記述する偏微分方程式(Partial Differential Equation:PDE)をシミュレートする。たとえば、スロッシング問題に関連する2相の流れについては、液体(流体105)および空気が、2つの混ざらない流体として考慮される。非圧縮ナビエ・ストークス(Navier-Stokes)PDEは、流体分率量として現われる界面についての明示的な方程式に沿った力学を記述する。そのような力学は、たとえば、流体体積(Volume of Fluid:VOF)法を使用して解くことができる。VOF法は、2次元または3次元格子で自由境界を追跡するための単純で経済的な方法を提供し、非常に複雑な自由表面構成に関する問題に対処する際により柔軟でより効率的である。
【0035】
ブロック205で、プロセッサ129は、CFDシミュレーションから、流体105のボリュームの形状と、流体105のボリュームの質量中心とを決定する。加えて、いくつかの実施形態では、プロセッサ129は、CFDシミュレーションから、流体105の速度を計算する。
【0036】
いくつかの実施形態は、PDEを用いるCFDシミュレーションはリアルタイム制御での使用には計算的に重過ぎる、という認識に基づいている。いくつかの実施形態は、そのような問題は、完全CFDモデルに近似する低次元化モデルを使用して流体ボリュームのCFDをシミュレートすることによって緩和され得る、という認識に基づいている。完全CFDモデルはPDEモデルであり、低次元化モデルの次数はPDEモデルの次数よりも低い。低次元化モデル(reduced-order model:ROM)の使用、すなわち、PDEモデルを有限次元の常微分方程式(ordinary differential equation:ODE)のシステムへ減少させることは、計算負担を少なくする。一実施形態では、ROMは、パラメータ物理モデルに基づいて決定される。
【0037】
図3は、本開示のいくつかの実施形態に従った、流体105の力学をモデル化するパラメータ物理モデルの表現を示す概略図を示す。流体105の力学は、可能なモデルの中でもとりわけ、質量ダンパースプリングシステム301、またはペンデュラムシステム303としてモデル化され得る。質量ダンパースプリングシステム301およびペンデュラムシステム303のパラメータ、たとえば、質量の数および重量、スプリングの数および剛性、燃料の慣性テンソル、ならびにダンパー係数は、CFDシミュレーションに基づいて較正される。いくつかの実施形態は、CFDデータからの質量ダンパースプリングシステム301およびペンデュラムシステム303のパラメータの推定のために、最小二乗手法を使用する。
【0038】
いくつかの代替的な実施形態では、ROMは、固有直交分解(Proper Orthogonal Decomposition:POD)に基づいて取得される。PODは、システム101の空間力学から関連情報を取り込んで順序付けるように、好適な正規直交基底が観察データまたは実験データから決定されるという点で、データに基づいている。いくつかの他の実施形態では、ROMは、最初のいくつかの、かつ最も関連する基底関数上へのシステム力学のガラーキン(Galerkin)射影によって取得される。数学では、数値解析の分野で、ガラーキン法は、基底関数の有限集合によって決定された線形制約を適用することによって、微分方程式などの連続作用素問題を離散問題に変換する。
【0039】
PODは、乱れた流体の速度を表わすランダムベクトル場を、流体流における総変動運動エネルギーの一部を各々取り込む決定論的機能の集合へと分解する試みとして、乱流場から生じる。PODは、乱流をポピュレートする、捉えがたいコヒーレント構造を決定する。したがって、PODは、多次元データを分析するための手法を提供する。PODは本質的に、ある最小二乗の最適なときに所与のデータを表わすための正規直交基底を提供する。PODは、流体流パターンなどの無限次元データにも適用され得る。最適基底の切り捨ては、所与のデータのより低次元の最適な近似値を見つけるための方法を提供する。本開示では、流体速度および流体の体積はCFDデータを使用して決定され、それらは各時刻で非常に大きい次元のものである。特異値分解を使用するPOD分析は、流体速度および流体の体積を表わすことができる最適な主要基底を見つける。次のステップで、非常に大きいかさらには無限の次元の相空間を有する液体スロッシュ力学のより低次元のモデルを生成するための方法を開発するために、PODをガラーキン射影と組合せる。ガラーキン射影は、解(すなわち、流体速度および流体の体積)がPODモードの線形結合として表わされ、次に(ナビエ・ストークス方程式である)管理PDEに挿入される場合の数学的枠組みである。切り捨てとともにPODモードの直交性が、低次元ODEを構築するために使用される。要するに、PODガラーキン法は、流体特性(流体の速度、体積)のスナップショットを撮り、それらを、予測および制御のために使用され得る低次元ODEへ移送する。
【0040】
それに代えて、いくつかの実施形態では、ROMは、動的モード分解(DMD)に基づいてモードの集合を計算することによって取得され、各モードは、時間的特徴および相関空間活動に関連付けられる。時系列のデータを与えられて、DMDは、固定された振動周波数および減衰/成長速度に各々関連付けられたモードの集合を計算する。各モードに関連付けられた固有の時間的挙動に起因して、DMDは、予め定められた時間的挙動がない直交モードを計算する主成分分析などの次元低減法とは異なる。
【0041】
【0042】
【0043】
【0044】
【0045】
【0046】
ブロック405で、プロセッサ129は、行列Aの固有分解を計算する:
AW=WΛ
ここで、Wの列は固有ベクトルであり、Λは、対応する固有値λkを含む対角行列である。
【0047】
ブロック407で、プロセッサ129は、WおよびΛから行列Aの固有分解を再構築する。特に、Aの固有値はΛによって与えられ、Aの固有ベクトル(DMDモード)はΦの列によって与えられる:
Φ=XVΣ-1W
【0048】
【0049】
いくつかの実施形態は、ROMは計算的に安価であるものの、ROMは安定性損失および予測劣化を招き得る、という認識に基づいている。安定性損失および予測劣化は、高次モードの切捨ておよびパラメータ不確実性に起因する。より具体的には、パラメータの1つの所与の集合でデータスナップショットから取得された基底関数(空間モード)は、ROM予測の精度の劣化を示すことがあり、さらには、異なる範囲のパラメータのための解を表わすために適用されると不安定になることがある。そのため、ROMを使用して流体105のボリュームをシミュレートすることは、流体105のボリュームの形状の不正確な推定を生み出す。
【0050】
いくつかの実施形態は、流体105のボリュームの形状は確率的フィルタ(たとえばカルマンフィルタ)を使用することによって正確に決定され得る、という認識に基づいている。カメラおよび圧力センサなどの1つ以上のセンサが、容器103に関連付けられ得る。プロセッサ129は、1つ以上のセンサから、容器103内の流体105の体積の測定値と、容器103内の複数の点での流体105の占有率の測定値とを収集する。カメラの測定値は、流体105のボリュームの形状を追跡するカルマンフィルタに取り入れられる。
【0051】
図5は、本開示の一実施形態に従った、ある時刻での流体105のボリュームの形状を追跡するカルマンフィルタの概略図を示す。カルマンフィルタは、プロセッサ129によって実行される。カルマンフィルタは、プロセスノイズによって決まる予測モデル501と、測定ノイズによって決まる測定モデル505とを使用して、流体105のボリュームの形状を追跡する。
【0052】
予測モデル501は、容器103の動きを境界条件として与えられて流体ボリュームのCFDをシミュレートして、流体105のボリュームの形状の分布503を予測する。測定モデル505は、1つ以上のセンサから収集された流体105の占有率の測定値507に基づいて、予測された流体105のボリュームの形状の分布503を更新して、更新された流体105のボリュームの形状の分布509を生成する。
【0053】
【0054】
【0055】
一実施形態では、システム101は、宇宙船601のための燃料を含む容器を含む宇宙船である。宇宙船は、宇宙船の制御のためにコントローラ127を採用し得る。
【0056】
図6は、本開示のいくつかの実施形態に従った、コントローラ127を採用する宇宙船601を示す。宇宙船601は、コントローラ127(図面に図示せず)に通信可能に結合される。宇宙船601は、スラスタ603および運動量交換デバイス605などのアクチュエータを装備している。運動量交換デバイス605の例は、リアクションホイール(reaction wheel:RW)、および制御モーメントジャイロスコープを含む。
【0057】
宇宙船601は、その動作が、アクチュエータに送信されたコマンドに応答して、宇宙船の位置、その速度、およびその姿勢または配向といった量を変化させる、宇宙で飛行するよう設計された乗物、船、または機械である。宇宙船601は、宇宙船601のための燃料を含む容器を含む。命令されると、アクチュエータは、宇宙船601の速度を増加または減少させ、ひいては宇宙船601にその位置を移動させる力を、宇宙船601に伝える。また、命令されると、アクチュエータはトルクも宇宙船601に伝え、それらは宇宙船601を回転させ、それによってその姿勢または配向を変化させる。宇宙船601の動きは、燃料のスロッシングを引き起こす。
【0058】
宇宙船601は、開または閉軌道経路607に沿って飛行する。軌道経路607に沿った所望状態またはターゲット状態が、宇宙船601についてユーザによって特定される。所望状態は、宇宙船601の所望位置609および/または所望配向を含み得る。説明のために、所望位置609が所望状態であると考えられる。コントローラ127は、所望位置609に到達するという最適制御問題を解くことによって、宇宙船601のアクチュエータへの制御コマンドを決定するように構成され、最適制御問題は、宇宙船601の燃料の力学を考慮する異種モデル121によって決まる。決定された制御コマンドにより、アクチュエータは、宇宙船601を所望位置609へ動かす。宇宙船601は、宇宙船601の燃料の力学を考慮に入れる異種モデル121を考慮することによって決定される制御コマンドによって制御されるため、宇宙船601は正確に制御される。
【0059】
それに代えて、いくつかの実施形態では、システム101は、容器内の液体を運ぶ移動ロボットである。移動ロボットの加速度は、容器内の液体についての変化する境界条件を引き起こし、それは次に液体スロッシュを引き起こし得る。コントローラ127は、容器内の液体の力学を考慮することによって、移動ロボットの迅速で正確な制御のために構成され得る。たとえば、コントローラ127は、移動ロボットの力学の異種モデルによって決まる最適制御問題を解くことによって、移動ロボットのアクチュエータへの制御コマンドを決定し得る。
【0060】
図7は、本開示のコントローラ127を実現するためのコンピューティングデバイス700を示す概略図である。コンピューティングデバイス700は、電源701と、プロセッサ703と、メモリ705と、ストレージデバイス707とを含み、これらはすべてバス709に接続されている。また、高速インターフェイス711と、低速インターフェイス713と、高速拡張ポート716と、低速拡張ポート717とが、バス709に接続され得る。さらに、低速接続ポート719がバス709に接続されている。
【0061】
また、入力インターフェイス721が、バス709を介して外部受信機723および出力インターフェイス725に接続され得る。受信機727が、バス709を介して外部送信機729および送信機731に接続され得る。外部メモリ733、外部センサ735、機械737、および環境739も、バス709に接続され得る。また、1つ以上の外部入力/出力デバイス741が、バス709に接続され得る。ネットワークインターフェイスコントローラ(network interface controller:NIC)743が、バス709を通してネットワーク745に接続するように適合可能であり、とりわけ、データまたは他のデータが、コンピュータデバイス700の外部のサードパーティディスプレイデバイス、サードパーティ撮像デバイス、および/またはサードパーティ印刷デバイス上でレンダリングされ得る。
【0062】
メモリ705は、コンピュータデバイス700によって実行可能な命令と、本開示の方法およびシステムによって利用可能なあらゆるデータとを格納することができる。メモリ705は、ランダムアクセスメモリ(RAM)、読出専用メモリ(ROM)、フラッシュメモリ、または任意の他の好適なメモリシステムを含み得る。メモリ705は、揮発性メモリユニット(複数可)、および/または不揮発性メモリユニット(複数可)であり得る。メモリ705はまた、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取可能媒体であってもよい。
【0063】
ストレージデバイス707は、コンピュータデバイス700によって使用される補足データおよび/またはソフトウェアモジュールを格納するように適合可能である。ストレージデバイス707は、ハードドライブ、光学ドライブ、サムドライブ、ドライブのアレイ、またはそれらの任意の組合せを含み得る。また、ストレージデバイス707は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光学ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、もしくは、ストレージエリアネットワークまたは他の構成におけるデバイスを含むデバイスのアレイといった、コンピュータ読取可能媒体を含み得る。命令が情報担体に格納され得る。命令は、1つ以上の処理デバイス(たとえばプロセッサ703)によって実行されると、上述されたものなどの1つ以上の方法を行なう。
【0064】
コンピューティングデバイス700はオプションで、バス709を通して、コンピューティングデバイス700をディスプレイデバイス749およびキーボード751に接続するように適合されたディスプレイインターフェイスまたはユーザインターフェイス(HMI)747にリンクされてもよく、ディスプレイデバイス749は、とりわけ、コンピュータモニタ、カメラ、テレビ、プロジュクタ、またはモバイルデバイスを含み得る。いくつかの実現化例では、コンピュータデバイス700は、印刷デバイスに接続するためのプリンタインターフェイスを含んでいてもよく、印刷デバイスは、とりわけ、液体インクジェットプリンタ、固体インクプリンタ、大規模商用プリンタ、サーマルプリンタ、UVプリンタ、または昇華型プリンタを含み得る。
【0065】
高速インターフェイス711は、コンピューティングデバイス700のための帯域幅集約型の動作を管理し、一方、低速インターフェイス713は、より低い帯域幅集約型の動作を管理する。機能のそのような割当ては、単なる例である。いくつかの実現化例では、高速インターフェイス711は、メモリ705、ユーザインターフェイス(HMI)747に、ならびに、(たとえばグラフィックスプロセッサまたはアクセラレ-タを通して)キーボード751およびディスプレイ749に、ならびに、バス709を介してさまざまな拡張カードを受け付け得る高速拡張ポート716に結合され得る。一実現化例では、低速インターフェイス713は、バス709を介してストレージデバイス707および低速拡張ポート717に結合される。さまざまな通信ポート(たとえばUSB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポート717は、1つ以上の入力/出力デバイス741に結合され得る。コンピューティングデバイス700は、サーバ753およびラックサーバ755に接続され得る。コンピューティングデバイス700は、いくつかの異なる形態で実現され得る。たとえば、コンピューティングデバイス700は、ラックサーバ755の一部として実現され得る。
【0066】
説明は例示的な実施形態を提供するに過ぎず、この開示の範囲、利用可能性、または構成を限定するよう意図されてはいない。むしろ、例示的な実施形態の上記の説明は、1つ以上の例示的な実施形態を実現するための実施可能説明を当業者に提供するであろう。添付された請求項で述べられるように開示された主題の精神および範囲から逸脱することなく、要素の機能および配置において行なわれ得るさまざまな変更が考えられる。
【0067】
実施形態の完全な理解を提供するために、特定の詳細が上記の説明で与えられる。しかしながら、実施形態はこれらの特定の詳細がなくても実践され得ることが、当業者によって理解され得る。たとえば、実施形態を不必要に詳細に述べて不明瞭にすることを避けるために、開示された主題におけるシステム、プロセス、および他の要素は、ブロック図の形式における構成要素として示されてもよい。他の事例では、実施形態を不明瞭にすることを避けるために、周知のプロセス、構造、および手法は、不必要な詳細なく示されてもよい。また、さまざまな図面における同じ参照番号および名称は、同じ要素を示す。
【0068】
また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として表わされるプロセスとして説明されてもよい。フローチャートは動作を順次プロセスとして説明し得るが、動作の多くは並行してまたは同時に行なわれ得る。加えて、動作の順序は並べ替えられてもよい。プロセスはその動作が完了すると終了し得るが、図面で説明されていない、または図面に含まれていない追加のステップを有していてもよい。さらに、特に説明された任意のプロセスにおけるすべての動作が、すべての実施形態において生じるとは限らない。プロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応していてもよい。プロセスが機能に対応する場合、その機能の終了は、その機能が呼出機能または主機能に戻ることに対応し得る。
【0069】
さらに、開示された主題の実施形態は、少なくとも部分的に、手動でまたは自動的に実現されてもよい。手動のまたは自動的な実現は、機械、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せの使用を通して実行されるかまたは少なくとも支援されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実現される場合、必要なタスクを行なうためのプログラムコードまたはコードセグメントは、機械読取可能媒体に格納されてもよい。プロセッサが、必要なタスクを行なってもよい。
【0070】
ここに概説されたさまざまな方法またはプロセスは、さまざまなオペレーティングシステムまたはプラットフォームのうちのいずれか1つを採用する1つ以上のプロセッサ上で実行可能なソフトウェアとして符号化されてもよい。加えて、そのようなソフトウェアは、多くの好適なプログラミング言語および/またはプログラミングツールまたはスクリプト作成ツールのうちのいずれかを使用して書かれてもよく、また、フレームワークまたは仮想機械上で実行される実行可能機械語コードまたは中間コードとしてコンパイルされてもよい。典型的には、プログラムモジュールの機能性は、さまざまな実施形態において所望されるように組合されるかまたは分散されてもよい。
【0071】
本開示の実施形態は、その例が提供された方法として具現化されてもよい。当該方法の一部として実行される動作は、任意の好適なやり方で順序付けられてもよい。したがって、例示的な実施形態では連続的な動作として示されていても、動作が例示とは異なる順序で実行される実施形態が構築されてもよい。この場合、いくつかの動作を同時に実行することも含まれてもよい。
【0072】
また、本開示の実施形態およびこの明細書に記載された機能動作は、デジタル電子回路において、有形的に具現化されたコンピュータソフトウェアまたはファームウェアにおいて、この明細書で開示された構造およびそれらと構造的に同等のものを含むコンピュータハードウェアにおいて、もしくは、それらのうちの1つ以上の組合せにおいて実現され得る。また、本開示のいくつかの実施形態は、1つ以上のコンピュータプログラムとして、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、有形の非一時的プログラム担体上で符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実現され得る。さらに、プログラム命令は、データ処理装置による実行のための好適な受信機装置への送信のために情報を符号化するように生成された、たとえば機械によって生成された電気的信号、光学信号、または電磁信号などの人工的に生成された伝搬信号上で符号化され得る。コンピュータ記憶媒体は、機械読取可能ストレージデバイス、機械読取可能記憶基板、ランダムまたはシリアルアクセスメモリデバイス、もしくは、それらのうちの1つ以上の組合せであり得る。
【0073】
本開示の実施形態によれば、「データ処理装置」という用語は、プログラマブルプロセッサ、コンピュータ、もしくは、複数のプロセッサまたはコンピュータを例として含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含し得る。装置は、たとえばFPGA(field programmable gate array:フィールドプログラマブルゲートアレイ)、またはASIC(application specific integrated circuit:特定用途向け集積回路)といった専用論理回路を含み得る。装置はまた、ハードウェアに加えて、問題になっているコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つ以上の組合せを構成するコードを含み得る。
【0074】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれるかまたは記載され得る)は、コンパイラ型またはインタープリタ型言語、もしくは、宣言型または手続き型言語を含む任意の形態のプログラミング言語で書くことができ、それは、スタンドアロンプログラムとしての形態、もしくは、コンピューティング環境での使用に好適なモジュール、コンポーネント、サブルーチン、または他のユニットとしての形態を含む、任意の形態でデプロイされ得る。コンピュータプログラムは、ファイルシステムにおけるファイルに対応し得るものの、対応する必要はない。プログラムは、たとえばマークアップ言語文書に格納された1つ以上のスクリプトといった他のプログラムまたはデータを保持するファイルの一部に、問題になっているプログラム専用の単一のファイルに、もしくは、複数の統合されたファイル、たとえばコードの1つ以上のモジュール、サブプログラム、または部分を格納するファイルに格納され得る。
【0075】
コンピュータプログラムは、1つのコンピュータ上で、もしくは、1ヶ所に位置するかまたは複数箇所にわたって分散されて通信ネットワークによって相互接続された複数のコンピュータ上で実行されるためにデプロイされ得る。コンピュータプログラムの実行にとって好適なコンピュータは、例として、汎用マイクロプロセッサまたは専用マイクロプロセッサまたはそれら双方、もしくは、任意の他の種類の中央処理装置に基づき得るものを含む。一般に、中央処理装置は、読出専用メモリまたはランダムアクセスメモリまたはそれら双方から命令およびデータを受信するであろう。コンピュータの本質的要素は、命令を行なうかまたは実行するための中央処理装置と、命令およびデータを格納するための1つ以上のメモリデバイスとである。
【0076】
一般に、コンピュータはまた、たとえば磁気ディスク、光磁気ディスク、または光学ディスクといった、データを格納するための1つ以上の大容量ストレージデバイスを含むか、もしくは、データの受信または転送またはそれら双方を行なうように当該大容量ストレージデバイスに動作可能に結合されるであろう。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、ほんの数例を挙げると、携帯電話、携帯情報端末(personal digital assistant:PDA)、携帯オーディオまたはビデオプレーヤー、ゲーム機、全地球測位システム(Global Positioning System:GPS)受信機、または携帯型ストレージデバイス、たとえばユニバーサルシリアルバス(universal serial bus:USB)フラッシュドライブに組み込まれ得る。
【0077】
ユーザとの相互作用を提供するために、この明細書に記載されている主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえばCRT(cathode ray tube:陰極線管)またはLCD(liquid crystal display:液晶ディスプレイ)モニタと、ユーザがコンピュータへ入力を提供できるようにするキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有するコンピュータ上で実現され得る。他の種類のデバイスも、同様にユーザとの相互作用を提供するために使用され得る。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得る。また、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。加えて、コンピュータは、ユーザが使用するデバイスへ文書を送信し、当該デバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと相互作用することができる。
【0078】
この明細書に記載されている主題の実施形態は、たとえばデータサーバとしてバックエンドコンポーネントを含むコンピューティングシステム、もしくは、たとえばアプリケーションサーバといったミドルウェアコンポーネントを含むコンピューティングシステム、もしくは、たとえば、ユーザがこの明細書に記載されている主題の実現化例と相互作用できるようにするグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータといったフロントエンドコンポーネントを含むコンピューティングシステム、もしくは、1つ以上のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組合せにおいて実現され得る。システムのコンポーネントは、たとえば通信ネットワークといった、任意の形態または媒体のデジタルデータ通信によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(local area network:LAN)、およびワイドエリアネットワーク(wide area network:WAN)、たとえばインターネットを含む。
【0079】
コンピューティングシステムは、クライアントとサーバとを含み得る。クライアントとサーバとは、一般に互いからリモートであり、典型的には通信ネットワークを通して相互作用する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いに対するクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0080】
本開示を、ある好ましい実施形態を参照して説明してきたが、本開示の精神および範囲内で他のさまざまな適合および変更が実施可能であることが理解されるべきである。したがって、添付された請求項の局面は、本開示の真の精神および範囲内に収まるようにそのような変形および変更をすべて網羅することである。
【外国語明細書】