(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-30
(54)【発明の名称】自律システムを動作させるためのシステム及び方法
(51)【国際特許分類】
G06F 9/50 20060101AFI20240723BHJP
G06F 11/30 20060101ALI20240723BHJP
G06F 9/44 20180101ALI20240723BHJP
【FI】
G06F9/50 120B
G06F11/30 158
G06F9/44
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023580581
(86)(22)【出願日】2022-06-28
(85)【翻訳文提出日】2023-12-27
(86)【国際出願番号】 IB2022056023
(87)【国際公開番号】W WO2023275765
(87)【国際公開日】2023-01-05
(32)【優先日】2021-06-29
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2021-06-29
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2021-06-29
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2021-06-29
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】515334773
【氏名又は名称】ユニベルシテ ドゥ カーン ノルマンディ
(71)【出願人】
【識別番号】506310061
【氏名又は名称】セントル・ナショナル・ドゥ・ラ・ルシェルシュ・サイエンティフィーク・セエヌアールエス
【氏名又は名称原語表記】CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE CNRS
(71)【出願人】
【識別番号】521366931
【氏名又は名称】エコール ナシオナル シュペリウール ダンジェニユール ドゥ カーン
【氏名又は名称原語表記】ECOLE NATIONALE SUPERIEURE D’INGENIEURS DE CAEN
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】ムアディブ,アブデル-イラーフ
(72)【発明者】
【氏名】ジャンピエール,ローラン
【テーマコード(参考)】
5B042
5B376
【Fターム(参考)】
5B042JJ17
5B376AA32
5B376BC31
(57)【要約】
自律システムによるアクションストラテジの実行を管理するためのシステム及び方法が開示される。アクションストラテジは、対応するアクティブオブジェクティブを遂行するために自律システムによって実施される一連のアクションを含む。本方法は、自律システムのプロセッサによって、自律システムによって遂行されるアクティブオブジェクティブを識別することを含み、アクティブオブジェクティブは、対応するアクティブオブジェクティブを遂行するために実施されるアクションの階層を記述する。本方法は、プロセッサによって、アクティブオブジェクティブのアクションの階層からアクションストラテジを生成することであって、アクションストラテジのアクションは、アクティブオブジェクティブのアクションの階層のアクションに対応する、生成することと、アクションストラテジを実行することと、を含む。アクションの実行が完了すると、プロセッサは、アクションストラテジの完了の状態に関する情報を含むデータを提供する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
自律システムによるアクションストラテジの実行を管理するためのコンピュータ実装方法であって、前記自律システムは、所定の状態変数を検知するように構成された1つ以上の検知デバイスを備え、前記状態変数は、前記自律システムの状態を記述し、前記アクションストラテジの各アクションは、前記自律システムの状態と、前記アクションストラテジを実施するために前記自律システムによって必要とされるリソースと、に関連付けられ、
前記方法は、
前記自律システムのプロセッサによって、前記自律システムによって遂行されるアクティブオブジェクティブを識別することであって、前記アクティブオブジェクティブは、前記対応するアクティブオブジェクティブを遂行するために実施されるアクションの階層を記述する漸進的タスクユニット構造に関連付けられ、前記漸進的タスクユニット構造は、前記対応するアクティブオブジェクティブを遂行するための異なる方式を記述し、前記対応するアクティブオブジェクティブを遂行するために前記自律システムによって実行されるように構成された実行可能モジュールを含み、アクションの前記階層は、アクションを実施する際に検出されている前記自律システムの所与の障害状態に応答して実施されるリソース制限付きアクションを含む、識別することと、
前記プロセッサによって、アクションの前記階層からアクションストラテジを生成することであって、前記アクションストラテジの前記アクションは、前記アクティブオブジェクティブのアクションの前記階層の前記アクションに対応する、生成することと、
前記アクションストラテジを実行することと、を含み、前記実行は、
前記自律システムによって、前記アクションストラテジの一連のアクションを実行することであって、アクションの実行は、前記自律システムが障害状態にあるという判定が行われた場合、対応するリソース制限付きアクションを前記自律システムによって実行して前記障害状態から回復することができるように、前記自律システムの現在の状態によって条件付けられている、実行することと、
前記アクションストラテジのアクションの実行の完了時に、前記アクションストラテジの完了の状態及び前記アクションの結果に関する情報を含むデータを提供することと、を含む、
方法。
【請求項2】
前記自律システムの前記プロセッサによって、前記アクティブオブジェクティブを受信することは、複数のアクティブオブジェクティブを受信することを含み、各アクティブオブジェクティブは、優先度関数に関連付けられ、前記優先度関数は、前記対応するアクティブオブジェクティブの優先度の相対的レベルを示す、
請求項1に記載の方法。
【請求項3】
前記アクションストラテジの前記完了の状態に関する情報を含むデータを提供することは、現在のアクティブオブジェクティブの前記優先度関数を提供することを含む、
請求項2に記載の方法。
【請求項4】
前記複数のアクティブオブジェクティブに対応する複数のアクションストラテジの実行の順序は、前記1つ以上のアクティブオブジェクティブの前記優先度関数に基づいている、
請求項2又は3に記載の方法。
【請求項5】
前記プロセッサは、前記複数のアクティブオブジェクティブのうちの第2のアクティブオブジェクティブを受信する前に、前記複数のアクティブオブジェクティブのうちの第1のアクティブオブジェクティブを受信し、前記方法は、
前記第2のアクティブオブジェクティブが前記第1のアクティブオブジェクティブに対してより高い優先度レベルを有するという判定が前記プロセッサによって行われた場合、前記第1のアクティブオブジェクティブに対応する第1のアクションストラテジの実行を中断することと、
前記第2のアクティブオブジェクティブから第2のアクションストラテジを生成することと、
前記自律システムによって前記第2のアクションストラテジを実行することと、を更に含む、
請求項2~4のいずれか1項に記載の方法。
【請求項6】
前記アクティブオブジェクティブのアクションの前記階層内の各アクションは、優先度関数に関連付けられ、前記優先度関数は、前記対応するアクションの優先度の相対的レベルを示す、
請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記アクションストラテジの完了の状態に関する情報を含むデータを提供することは、現在のアクションの前記優先度関数を提供することを含む、
請求項6に記載の方法。
【請求項8】
前記自律システムの前記プロセッサによって、アクティブオブジェクティブを受信することは、複数のアクティブオブジェクティブを受信することを含み、前記複数のアクティブオブジェクティブから選択された第1のアクティブオブジェクティブに対応する第1のアクションストラテジの実行は、第2のアクションストラテジが前記第1のアクションに対してより高い優先度レベルを有するアクションを含むという判定が前記プロセッサによって行われた場合、第1のアクションにおいて中断される、
請求項6又は7に記載の方法。
【請求項9】
前記複数のアクティブオブジェクティブは、前記自律システムの環境及び前記自律システムの状態に関する情報を含む、前記プロセッサによって受信されたデータに基づいて更新される、
請求項2~8のいずれか1項に記載の方法。
【請求項10】
アクションストラテジを実行するように構成された自律システムであって、プロセッサと、前記プロセッサによって実行されると、前記自律システムに請求項1~9のいずれか1項に記載の方法を実施させることをもたらす命令を記憶するように構成されたメモリと、を備える、
自律システム。
【請求項11】
命令を含むコンピュータ可読サポートであって、前記命令が実行されると、請求項1~9のいずれか1項に記載の方法のステップをコンピュータに実行させる、
コンピュータ可読サポート。
【請求項12】
アクションストラテジを実行するように構成された自律システムであって、前記システムは、
所定の状態変数を検知するように構成された1つ以上の検知デバイスであって、前記状態変数は、前記自律システムの状態を記述し、前記アクションストラテジの各アクションは、前記自律システムの状態と、前記アクションストラテジを実施するために前記自律システムによって必要とされるリソースと、に関連付けられる、1つ以上の検知デバイスと、
候補オブジェクティブがポピュレートされた第1のデータベースを含むメモリと、
前記メモリ及び前記1つ以上の検知デバイスに動作可能に結合され、命令を実行するように構成されたプロセッサであって、前記命令は、実行されると、
前記プロセッサに、前記第1のデータベース内の1つ以上の候補オブジェクティブを選択させる第1の命令を受信することと、
前記選択された候補オブジェクティブから1つ以上のアクティブオブジェクティブを生成することであって、各アクティブオブジェクティブは、前記対応するアクティブオブジェクティブを遂行するために実施されるアクションの階層を記述する漸進的タスクユニット構造に関連付けられ、前記漸進的タスクユニット構造は、前記対応するアクティブオブジェクティブを遂行するための異なる方式を記述し、前記自律システムによって実行されるように構成された実行可能モジュールを含む、生成することと、
前記1つ以上のアクティブオブジェクティブから1つ以上のアクションストラテジを生成することと、
前記1つ以上のアクションストラテジを実行することと、を含む動作をもたらす、プロセッサと、を備える、
自律システム。
【請求項13】
前記プロセッサは、アクションストラテジのアクションを実行すると、
前記アクションストラテジの完了の状態に関する情報を含むデータを提供し、
前記情報に基づいて、前記プロセッサに前記第1のデータベース内の1つ以上の候補オブジェクティブを選択させる第2の命令を受信するように更に構成されている、
請求項12に記載のシステム。
【請求項14】
各アクティブオブジェクティブは、優先度関数に関連付けられ、前記優先度関数は、前記対応するアクティブオブジェクティブの優先度の相対的レベルを示す、
請求項12又は13に記載のシステム。
【請求項15】
前記1つ以上のアクションストラテジの実行の順序は、前記対応する1つ以上のアクティブオブジェクティブの前記優先度関数に基づいている、
請求項14に記載のシステム。
【請求項16】
第1のアクティブオブジェクティブに対応する第1のアクションストラテジの実行は、第2のアクションストラテジが前記第1のアクションに対してより高い優先度レベルを有するアクションを含むという判定が前記プロセッサによって行われた場合、第1のアクションにおいて中断される、
請求項14又は15に記載のシステム。
【請求項17】
自律システムによるアクションストラテジの実行を管理するためのコンピュータ実装方法であって、前記アクションストラテジは、対応するアクティブオブジェクティブを遂行するために前記自律システムによって実施される一連のアクションを含み、
前記方法は、
前記自律システムのプロセッサによって、前記自律システムによって遂行されるアクティブオブジェクティブを識別することであって、前記アクティブオブジェクティブは、前記対応するアクティブオブジェクティブを遂行するために実施されるアクションの階層を記述する、識別することと、
前記プロセッサによって、前記アクティブオブジェクティブのアクションの前記階層からアクションストラテジを生成することであって、前記アクションストラテジの前記アクションは、前記アクティブオブジェクティブのアクションの前記階層の前記アクションに対応する、生成することと、
前記アクションストラテジを実行することと、を含み、前記実行は、
前記自律システムによって、前記アクションストラテジの前記一連のアクションを実行することであって、アクションの実行は、前記自律システムの状態によって条件付けられる、実行することと、
アクションの実行の完了時に、前記アクションストラテジの完了の状態に関する情報を含むデータを提供することと、を含む、
方法。
【請求項18】
前記自律システムの前記プロセッサによって、前記アクティブオブジェクティブを受信することは、複数のアクティブオブジェクティブを受信することを含み、各アクティブオブジェクティブは、優先度関数に関連付けられ、前記優先度関数は、前記対応するアクティブオブジェクティブの優先度の相対的レベルを示す、
請求項17に記載の方法。
【請求項19】
前記アクションストラテジの前記完了の状態に関する情報を含むデータを提供することは、現在のアクティブオブジェクティブの前記優先度関数を提供することを含む、
請求項18に記載の方法。
【請求項20】
前記複数のアクティブオブジェクティブに対応する複数のアクションストラテジの実行の順序は、前記1つ以上のアクティブオブジェクティブの前記優先度関数に基づいている、
請求項18又は19に記載の方法。
【請求項21】
前記プロセッサは、前記複数のアクティブオブジェクティブのうちの第2のアクティブオブジェクティブを受信する前に、前記複数のアクティブオブジェクティブのうちの第1のアクティブオブジェクティブを受信し、前記方法は、
前記第2のアクティブオブジェクティブが前記第1のアクティブオブジェクティブに対してより高い優先度レベルを有するという判定が前記プロセッサによって行われた場合、前記第1のアクティブオブジェクティブに対応する第1のアクションストラテジの実行を中断することと、
前記第2のアクティブオブジェクティブから第2のアクションストラテジを生成することと、
前記自律システムによって前記第2のアクションストラテジを実行することと、を更に含む、
請求項18~20のいずれか1項に記載の方法。
【請求項22】
前記アクティブオブジェクティブのアクションの前記階層内の各アクションは、優先度関数に関連付けられ、前記優先度関数は、前記対応するアクションの優先度の相対的レベルを示す、
請求項17~21のいずれか1項に記載の方法。
【請求項23】
前記アクションストラテジの完了の状態に関する情報を含むデータを提供することは、現在のアクションの前記優先度関数を提供することを含む、
請求項22に記載の方法。
【請求項24】
前記自律システムの前記プロセッサによって、アクティブオブジェクティブを受信することは、複数のアクティブオブジェクティブを受信することを含み、前記複数のアクティブオブジェクティブから選択された第1のアクティブオブジェクティブに対応する第1のアクションストラテジの実行は、第2のアクションストラテジが前記第1のアクションに対してより高い優先度レベルを有するアクションを含むという判定が前記プロセッサによって行われた場合、第1のアクションにおいて中断される、
請求項22又は23に記載の方法。
【請求項25】
前記複数のアクティブオブジェクティブは、前記自律システムの環境及び前記自律システムの状態に関する情報を含む、前記プロセッサによって受信されたデータに基づいて更新される、
請求項18~24のいずれか1項に記載の方法。
【請求項26】
アクションストラテジを実行するように構成された自律システムであって、プロセッサと、前記プロセッサによって実行されると、前記自律システムに請求項1617~25のいずれか1項に記載の方法を実施させる命令を記憶するように構成されたメモリと、を備える、
自律システム。
【請求項27】
命令を含むコンピュータ可読サポートであって、前記命令が実行されると、請求項1617~25のいずれか1項に記載の方法のステップをコンピュータに実行させる、
コンピュータ可読サポート。
【請求項28】
アクションストラテジを実行するように構成された自律システムであって、前記アクションストラテジは、対応するアクティブオブジェクティブを遂行するために前記自律システムによって実施される一連のアクションを含み、
前記システムは、
候補オブジェクティブがポピュレートされた第1のデータベースを含むメモリであって、前記候補オブジェクティブの各々は、前記自律システムによって実行されると、対応するアクティブオブジェクティブの前記一連のアクションを生成することをもたらすコンピュータ可読命令を含む、メモリと、
前記メモリに動作可能に結合され、命令を実行するように構成されたプロセッサであって、前記命令は、実行されると、
前記プロセッサに、前記第1のデータベース内の1つ以上の候補オブジェクティブを選択させる第1の命令を受信することと、
前記選択された候補オブジェクティブから1つ以上のアクティブオブジェクティブを生成することと、
前記1つ以上のアクティブオブジェクティブから1つ以上のアクションストラテジを生成することと、
前記1つ以上のアクションストラテジを実行することと、を含む動作をもたらす、プロセッサと、を備える、自律システム。
【請求項29】
前記プロセッサは、アクションストラテジのアクションを実行すると、
前記アクションストラテジの完了の状態に関する情報を含むデータを提供し、
前記情報に基づいて、前記プロセッサに前記第1のデータベース内の1つ以上の候補オブジェクティブを選択させる第2の命令を受信するように更に構成されている、
請求項28に記載のシステム。
【請求項30】
各アクティブオブジェクティブは、優先度関数に関連付けられ、前記優先度関数は、前記対応するアクティブオブジェクティブの優先度の相対的レベルを示す、
請求項28又は29に記載のシステム。
【請求項31】
前記1つ以上のアクションストラテジの実行の順序は、前記対応する1つ以上のアクティブオブジェクティブの前記優先度関数に基づいている、
請求項30に記載のシステム。
【請求項32】
第1のアクティブオブジェクティブに対応する第1のアクションストラテジの実行は、第2のアクションストラテジが前記第1のアクションに対してより高い優先度レベルを有するアクションを含むという判定が前記プロセッサによって行われた場合、第1のアクションにおいて中断される、
請求項30又は31に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本特許出願は、2021年6月29日に出願された欧州特許出願第21305893.6号、2021年6月29日に出願された欧州特許出願第21305894.4号、2021年6月29日に出願された欧州特許出願第21305895.1号、及び2021年6月29日に出願された欧州特許出願第21305896.9号の優先権を主張するものであり、これらの内容全体は、参照により本明細書に組み込まれる。
【0002】
本技術は、アクションストラテジの実行を管理するためのシステム及び方法に関し、より具体的には、それらの動的環境内で対話するインテリジェント自律システムに関する。
【背景技術】
【0003】
自律意思決定プロセスにおける最近の開発は、自律システムの開発における大きな一歩である。潜在的な用途は、支援人間型ロボットシステム、又はネットワークフロー監視及び管理システムなどであるが、それらに限定されない、広範囲のドメインを網羅している。自律システムは、事前定義されたルール及び/又は変化するルールを遵守しながら、ユーザ、対話する人間、又は支援を必要とする任意の物体を満足させるタスクを実施することが期待されている。
【0004】
したがって、種々のアクティビティを処理するために開発されたかかる自律システムは、アクションストラテジ又は「ポリシー」を生成及び実行することによって、異常発生イベント又は異常状況を検出して、当該異常状況に対処するために満たされるべきオブジェクティブを更に識別することを可能とする必要があり得る。
【0005】
上記で特定された最近の開発が利益を提供し得るとしても、依然として改善が望まれている。
【0006】
背景技術の節で考察された主題は、単に背景技術の節で言及したことの結果として先行技術であると想定されるべきではない。同様に、背景技術の節で言及された問題、又は背景技術の節の主題に関連する問題は、従来技術において以前に認識されていたと想定されるべきではない。背景技術の節における主題は、単に異なる手法を表すものである。
【発明の概要】
【0007】
本技術の実施形態は、従来技術に関連する欠点についての開発者の認識に基づいて開発されている。
【0008】
特に、かかる欠点は、(1)自律システムが動作するように構成された所与の環境に依存する自律システムの挙動の不適切性、(2)所与の環境において動作している間に潜在的な中断をもたらすストラテジを確立するための長い計算時間、及び/又は(3)動的環境におけるアクションの静的ストラテジの不適切性を含み得る。
【0009】
一態様では、本技術の種々の実装形態は、自律システムによるアクションストラテジの実行を管理するための方法を提供し、アクションストラテジは、対応するアクティブオブジェクティブを遂行するために自律システムによって実施される一連のアクションを含む。
【0010】
本方法は、自律システムのプロセッサによって、自律システムによって遂行されるアクティブオブジェクティブを識別することであって、アクティブオブジェクティブは、対応するアクティブオブジェクティブを遂行するために実施されるアクションの階層を記述する、識別することと、プロセッサによって、アクティブオブジェクティブのアクションの階層からアクションストラテジを生成することであって、アクションストラテジのアクションは、アクティブオブジェクティブのアクションの階層のアクションに対応する、生成することと、アクションストラテジを実行することと、を含む。
【0011】
実行は、自律システムによって、アクションストラテジの一連のアクションを実行することを含み、アクションの実行は、自律システムの状態によって条件付けられ、アクションの実行の完了時に、アクションストラテジの完了の状態に関する情報を含むデータを提供する。
【0012】
本方法の一部の実施形態では、自律システムのプロセッサによって、アクティブオブジェクティブを受信することは、複数のアクティブオブジェクティブを受信することを含み、各アクティブオブジェクティブは、優先度関数に関連付けられ、優先度関数は、対応するアクティブオブジェクティブの優先度の相対的レベルを示す。
【0013】
本方法の一部の実施形態では、アクションストラテジの完了の状態に関する情報を含むデータを提供することは、現在のアクティブオブジェクティブの優先度関数を提供することを含む。
【0014】
本方法の一部の実施形態では、複数のアクティブオブジェクティブに対応する複数のアクションストラテジの実行の順序は、1つ以上のアクティブオブジェクティブの優先度関数に基づく。
【0015】
本方法の一部の実施形態では、プロセッサは、複数のアクティブオブジェクティブのうちの第2のアクティブオブジェクティブを受信する前に、複数のアクティブオブジェクティブのうちの第1のアクティブオブジェクティブを受信する。本方法は、第2のアクティブオブジェクティブが第1のアクティブオブジェクティブに対してより高い優先度レベルを有するという判定がプロセッサによって行われた場合、第1のアクティブオブジェクティブに対応する第1のアクションストラテジの実行を中断することと、第2のアクティブオブジェクティブから第2のアクションストラテジを生成することと、自律システムによって第2のアクションストラテジを実行することと、を更に含む。
【0016】
本方法の一部の実施形態では、アクティブオブジェクティブのアクションの階層内の各アクションは、優先度関数に関連付けられ、優先度関数は、対応するアクションの優先度の相対的レベルを示す。
【0017】
本方法の一部の実施形態では、アクションストラテジの完了の状態に関する情報を含むデータを提供することは、現在のアクションの優先度関数を提供することを含む。
【0018】
本方法の一部の実施形態では、自律システムのプロセッサによって、アクティブオブジェクティブを受信することは、複数のアクティブオブジェクティブを受信することを含み、複数のアクティブオブジェクティブから選択された第1のアクティブオブジェクティブに対応する第1のアクションストラテジの実行は、第2のアクションストラテジが第1のアクションに対してより高い優先度レベルを有するアクションを含むという判定がプロセッサによって行われた場合、第1のアクションにおいて中断される。
【0019】
本方法の一部の実施形態では、複数のアクティブオブジェクティブは、自律システムの環境及び自律システムの状態に関する情報を含む、プロセッサによって受信されたデータに基づいて更新される。
【0020】
第2の態様では、本技術の種々の実装形態は、アクションストラテジを実行するための自律システムを提供し、プロセッサと、プロセッサによって実行されると、自律システムが方法を実施することをもたらす命令を記憶するように構成される、メモリと、を備える。
【0021】
第3の態様では、本技術の種々の実装形態は、アクションストラテジを実行するように構成された自律システムを提供し、アクションストラテジは、対応するアクティブオブジェクティブを遂行するために自律システムによって実施される一連のアクションを含む。システムは、候補オブジェクティブがポピュレートされた第1のデータベースを含むメモリを備え、候補オブジェクティブの各々は、自律システムによって実行されると、対応するアクティブオブジェクティブの一連のアクションを生成することをもたらすコンピュータ可読命令を含む。
【0022】
システムは、メモリに動作可能に結合され、命令を実行するように構成されたプロセッサを備え、命令は、実行されると、プロセッサに、第1のデータベース内の1つ以上の候補オブジェクティブを選択させる第1の命令を受信することと、選択された候補オブジェクティブから1つ以上のアクティブオブジェクティブを生成することと、1つ以上のアクティブオブジェクティブから1つ以上のアクションストラテジを生成することと、1つ以上のアクションストラテジを実行することと、を含む動作をもたらす。
【0023】
システムの一部の実施形態では、プロセッサは、アクションストラテジのアクションを実行すると、アクションストラテジの完了の状態に関する情報を含む、データを提供し、当該情報に基づいて、プロセッサに、第1のデータベース内の1つ以上の候補オブジェクティブを選択させる、第2の命令を受信するように更に構成される。
【0024】
システムの一部の実施形態では、各アクティブオブジェクティブは、優先度関数に関連付けられ、優先度関数は、対応するアクティブオブジェクティブの優先度の相対的レベルを示す。
【0025】
システムの一部の実施形態では、1つ以上のアクションストラテジの実行の順序は、対応する1つ以上のアクティブオブジェクティブの優先度関数に基づく。
【0026】
システムの一部の実施形態では、第1のアクティブオブジェクティブに対応する第1のアクションストラテジの実行は、第2のアクションストラテジが第1のアクションに対してより高い優先度レベルを有するアクションを含むという判定がプロセッサによって行われた場合、第1のアクションにおいて中断される。
【0027】
第4の態様では、本技術の種々の実装形態は、自律システムによるアクティブオブジェクティブのリストを確立するための知識ベース推論のためのコンピュータ実装方法を提供する。
【0028】
本方法は、アクティブオブジェクティブのリストにアクセスすることを含み、アクティブオブジェクティブの各々は、パラメータのセットと、自律システムによって実行されると、自律システムがパラメータのセットに従ってタスクを実施することをもたらす第1のコンピュータ可読命令と、を含む。
【0029】
本方法は、静的環境プロパティがポピュレートされた第1のデータベースにアクセスすることを含み、静的環境プロパティは、エンティティのプロパティ及びエンティティ間の関係を定義する第2のコンピュータ可読命令を含む。エンティティ及びエンティティ間の関係は、自律システムが動作するように構成される環境を画定する。
【0030】
本方法は、動的環境プロパティがポピュレートされた第2のデータベースにアクセスすることを含み、動的環境プロパティは、自律システムによって観測されているイベントに基づいて自律システムによって生成された第3のコンピュータ可読命令を含み、イベントは、環境内の自律システムの動作中に発生していたものである。
【0031】
自律システムによって、環境内の新しいイベントを観測すると、本方法は、新しいイベントに基づいて新しい動的環境プロパティを生成することと、新しい動的環境プロパティを第2のデータベースに入力することと、新しい動的環境プロパティ及び静的環境プロパティに対してコヒーレンスチェックを実行することであって、コヒーレンスチェックは、新しい動的環境プロパティを静的環境プロパティと比較して、新しい動的環境プロパティが静的環境プロパティのうちの少なくとも1つと競合するかどうかを評価することを含む、実行することと、新しい動的環境プロパティが静的環境プロパティのうちの少なくとも1つと競合するという判定が行われた場合、新しい動的環境プロパティをインコヒーレントとして識別することと、を含む。
【0032】
本方法の一部の実施形態では、本方法は、新しい動的環境プロパティがインコヒーレントであるかどうかを判定することを更に含む。新しい動的環境プロパティがインコヒーレントである場合、本方法は、候補オブジェクティブがポピュレートされた第3のデータベースにアクセスすることであって、候補オブジェクティブの各々は、自律システムによって実行されると第1のコンピュータ可読命令を生成することをもたらす第4のコンピュータ可読命令を含む、アクセスすることと、新しいイベントに基づいて候補オブジェクティブから新しいアクティブオブジェクティブを生成することと、新しいアクティブオブジェクティブをアクティブオブジェクティブのリストに入力することと、を含む。
【0033】
本方法の一部の実施形態では、コヒーレンスチェックの実行は、新しい動的環境プロパティが第1のデータベースの少なくとも1つの静的環境プロパティと競合しているという判定が行われた場合、新しい動的環境プロパティをインコヒーレントとしてマークすることであって、新しい動的環境プロパティと少なくとも1つの静的環境プロパティとの間の競合は、それらのそれぞれのコンピュータ可読命令の反対によって引き起こされる、マークすることと、そうでない場合、新しい動的環境プロパティをコヒーレントとして識別することと、を含む。
【0034】
本方法の一部の実施形態では、新しいイベントに基づいて候補オブジェクティブから新しいアクティブオブジェクティブを生成することは、第3のデータベースの候補オブジェクティブから候補オブジェクティブを選択することと、新しいイベントに基づいて新しいアクティブオブジェクティブパラメータを生成することと、新しいアクティブオブジェクティブパラメータを選択された候補オブジェクティブに関連付けることと、を含む。
【0035】
本方法の一部の実施形態では、第3のデータベースの各候補オブジェクティブは、アクティブ化条件を含み、アクティブ化条件は、1つ以上の動的環境プロパティに対応し、アクティブ化条件は、対応する1つ以上の動的環境プロパティが第2のデータベース内で見つかったという判定が行われた場合に満たされ、第3のデータベースの候補オブジェクティブからの候補オブジェクティブの選択は、候補オブジェクティブのアクティブ化条件に基づく。
【0036】
本方法の一部の実施形態では、第1のデータベースは、常識ルールを更に含み、各常識ルールは、エンティティの一般的プロパティ及びエンティティ間の一般的関係を定義する第5のコンピュータ可読命令を含み、各一般的プロパティは、エンティティのグループのプロパティであり、エンティティ間の各一般的関係は、エンティティのグループ間の関係である。
【0037】
本方法の一部の実施形態では、常識ルールは、自律システムのオペレータによってポピュレートされ、自律システムが動作するように構成される環境の文化的コンテキストを記述する。
【0038】
本方法の一部の実施形態では、オペレータは、機械学習アルゴリズム(MLA)を用いて、常識ルールのうちの1つ以上を生成する。
【0039】
本方法の一部の実施形態では、第2のデータベース内の新しいイベントに基づいて新しい動的環境プロパティを入力すると、新しい動的環境プロパティ及び常識ルールに対してコヒーレンスチェックが更に実行され、新しい動的環境プロパティが常識ルールのうちの少なくとも1つと競合するという判定が行われた場合、候補オブジェクティブがポピュレートされた第3のデータベースにアクセスし、新しいイベントに基づいて、候補オブジェクティブから新しいアクティブオブジェクティブを生成し、新しいアクティブオブジェクティブをアクティブオブジェクティブのリストに入力する。
【0040】
本方法の一部の実施形態では、新しい動的環境プロパティを第2のデータベースに入力すると、新しい動的環境プロパティ及びアクティブオブジェクティブのリストに対してコヒーレンスチェックが更に実行され、新しい動的環境プロパティがアクティブオブジェクティブのうちの少なくとも1つと競合するという判定が行われた場合、アクティブオブジェクティブのうちの少なくとも1つをアクティブオブジェクティブのリストから削除する。
【0041】
本方法の一部の実施形態では、動的環境プロパティは、対応するイベントの1つ以上の特性に関連付けられ、特性は、イベントの1人以上のアクタ、イベントのロケーション、イベントの時間、及びイベントの1人以上のアクタによって実施されるアクションを含む特性のグループにおいて選択される。
【0042】
本方法の一部の実施形態では、動的環境プロパティの事前定義された組み合わせが第2のデータベース内で見つかったという判定が行われた場合、メタイベントを記述する1つ以上の動的環境プロパティが生成され、動的環境プロパティの各事前定義された組み合わせは、メタイベントに対応し、第2のデータベース内の対応する動的環境プロパティの生成を引き起こす。
【0043】
第5の態様では、本技術の種々の実装形態は、命令を実行すると、コンピュータに方法のステップを実行させる命令を含むコンピュータ可読サポートを提供する。
【0044】
第6の態様では、本技術の種々の実装形態は、アクティブオブジェクティブのリストを管理するように構成された自律システムを提供する。アクティブオブジェクティブの各々は、パラメータのセットと、自律システムによって実行されると、自律システムがパラメータのセットに従ってタスクを実施することをもたらす第1のコンピュータ可読命令と、を含む。
【0045】
システムは、イベントを検出するように構成された1つ以上の検知デバイスを備え、イベントは、自律システムが動作するように構成される環境内で発生しているか、又は発生していたものである。システムは、静的環境プロパティがポピュレートされた第1のデータベースを含むメモリを備え、静的環境プロパティは、エンティティのプロパティ及びエンティティ間の関係を定義する第2のコンピュータ可読命令を含み、エンティティ及びエンティティ間の関係は、環境を画定する。
【0046】
メモリは、動的環境プロパティがポピュレートされた第2のデータベースであって、動的環境プロパティは、検出されたイベントに基づいて自律システムによって生成された第3のコンピュータ可読命令を含む、第2のデータベースと、候補オブジェクティブを含む第3のデータベースと、を含む。システムは、メモリに動作可能に結合され、命令を実行するように構成されたプロセッサを備え、命令は、実行されると、自律システムによって環境内の新しいイベントを観測すると、新しいイベントに基づいて新しい動的環境プロパティを生成することを含む動作をもたらす。
【0047】
システムは、新しい動的環境プロパティを第2のデータベースに入力し、新しい動的環境プロパティ及び静的環境プロパティに対してコヒーレンスチェックを実行するように構成され、コヒーレンスチェックは、新しい動的環境プロパティを静的環境プロパティと比較して、新しい動的環境プロパティが静的環境プロパティのうちの少なくとも1つと競合するかどうかを評価することを含む。
【0048】
システムは、新しい動的環境プロパティが静的環境プロパティのうちの少なくとも1つと競合するという判定が行われた場合、候補オブジェクティブがポピュレートされた第3のデータベースにアクセスすることであって、候補オブジェクティブの各々は、自律システムによって実行されると、第1のコンピュータ可読命令を生成することをもたらす第5のコンピュータ可読命令を含む、アクセスすることと、新しいイベントに基づいて候補オブジェクティブから新しいアクティブオブジェクティブを生成することと、新しいアクティブオブジェクティブをアクティブオブジェクティブのリストに入力することと、を行うように構成される。
【0049】
システムの一部の実施形態では、コヒーレンスチェックを実行すると、プロセッサは、新しい動的環境プロパティが第1のデータベースの少なくとも1つの静的環境プロパティと競合しているという判定が行われた場合、新しい動的環境プロパティをインコヒーレントとしてマークすることであって、新しい動的環境プロパティと少なくとも1つの静的環境プロパティとの間の競合は、それらのそれぞれのコンピュータ可読命令の反対によって引き起こされる、マークすることと、そうでない場合、新しい動的環境プロパティをコヒーレントとして識別することと、を行うように更に構成される。
【0050】
システムの一部の実施形態では、第1のデータベースは、常識ルールを更に含み、各常識ルールは、エンティティの一般的プロパティ及びエンティティ間の一般的関係を定義する第4のコンピュータ可読命令を含み、各一般的プロパティは、エンティティのグループのプロパティであり、エンティティ間の各一般的関係は、エンティティのグループ間の関係である。
【0051】
システムの一部の実施形態では、第2のデータベースに新しい動的環境プロパティを入力すると、新しい動的環境プロパティは新しいイベントに基づき、コヒーレンスチェックが新しい動的環境プロパティ及び常識ルールに対して更に実行される。新しい動的環境プロパティが常識ルールのうちの少なくとも1つと競合するという判定が行われた場合、システムは、候補オブジェクティブがポピュレートされた第3のデータベースにアクセスし、新しいイベントに基づいて候補オブジェクティブから新しいアクティブオブジェクティブを生成し、新しいアクティブオブジェクティブをアクティブオブジェクティブのリストに入力するように構成される。
【0052】
システムの一部の実施形態では、システムは、第3のデータベースの候補オブジェクティブから候補オブジェクティブを選択し、新しいイベントに基づいて新しいアクティブオブジェクティブパラメータを生成し、新しいアクティブオブジェクティブパラメータを選択された候補オブジェクティブに関連付けて、新しいイベントに基づいて候補オブジェクティブから新しいアクティブオブジェクティブを生成するように構成される。
【0053】
システムの一部の実施形態では、第3のデータベースの各候補オブジェクティブは、アクティブ化条件を含み、アクティブ化条件は、1つ以上の動的環境プロパティに対応し、アクティブ化条件は、対応する1つ以上の動的環境プロパティが第2のデータベース内で見つかったという判定が行われた場合に満たされ、第3のデータベースの候補オブジェクティブからの候補オブジェクティブの選択は、候補オブジェクティブのアクティブ化条件に基づく。
【0054】
システムの一部の実施形態では、新しい動的環境プロパティを第2のデータベースに入力すると、新しい動的環境プロパティ及びアクティブオブジェクティブに対してコヒーレンスチェックが更に実行され、新しい動的環境プロパティがアクティブオブジェクティブのうちの少なくとも1つと競合するという判定が行われた場合、アクティブオブジェクティブのうちの少なくとも1つをアクティブオブジェクティブのリストから削除する。
【0055】
システムの一部の実施形態では、プロセッサは、第2のデータベース内の動的環境プロパティの発生回数を判定し、発生回数が第1の閾値よりも高いという判定が行われた場合、対応する動的環境プロパティのコンピュータ可読命令に基づいて静的環境プロパティを生成するように更に構成される。
【0056】
第7の態様では、本技術の種々の実装形態は、自律システムによって実行されるアクションストラテジを生成するための方法を提供し、アクションストラテジは、異常イベントを検出したことに応答して、対応するアクティブオブジェクティブを遂行するために自律システムによって実施される一連のアクションを含み、異常イベントは、自律システムが動作するように構成される環境において発生しているか、又は発生していたものであり、異常イベントは、対応するイベントの記述と環境の特性との間のコヒーレンスチェック手順の結果に基づいて、インコヒーレントとして識別される。
【0057】
本方法は、自律システムによって検出された異常イベントに対応するイベント記述がポピュレートされた第1のデータベースにアクセスすることを含む。本方法は、候補オブジェクティブがポピュレートされた第2のデータベースにアクセスすることを含む。各候補オブジェクティブは、自律システムによって遂行可能なタスクを定義し、1つ以上のイベント記述に対応するアクティブ化条件であって、対応する1つ以上のイベント記述が第1のデータベース内で見つかったという判定が行われた場合に満たされる、アクティブ化条件と、対応する候補オブジェクティブを遂行するために実施されるアクションの階層を記述する漸進的タスクユニット構造であって、漸進的タスクユニット構造は、アクションの対応する階層を実施するために自律システムによって実行されるように構成された実行可能モジュールを備え、各実行可能モジュールは、アクションの階層のアクションに対応する、漸進的タスクユニット構造と、を含む。
【0058】
本方法は、イベント記述に基づいて1つ以上の候補オブジェクティブのアクティブ化条件が満たされるかどうかを判定することによって、第2のデータベースから1つ以上の候補オブジェクティブを選択することと、1つ以上の候補オブジェクティブを実行することと、を含む。候補オブジェクティブの実行は、候補オブジェクティブの選択を引き起こしたイベント記述のうちの少なくとも1つのパラメータを候補オブジェクティブに転送し、それによってアクティブオブジェクティブを定義することと、アクティブオブジェクティブの漸進的タスクユニット構造からアクションストラテジを生成することであって、アクションストラテジの一連のアクションは、漸進的タスクユニット構造の実行可能モジュールに対応するアクションに対応する、生成すること、アクションストラテジの一連のアクションを実行することと、を含む。
【0059】
本方法の一部の実施形態では、第1のデータベースのイベント記述は、自律システムによって検出された異常イベントに対応し、異常イベントの各々は、対応するイベントのイベント記述と環境のプロパティとの間のコヒーレンスチェック手順の結果に基づいてインコヒーレントとして識別され、第1のデータベースへアクセスすることは、自律システムによる異常イベントの検出に応答して行われる。
【0060】
本方法の一部の実施形態では、漸進的タスクユニット構造は、処理レベルの1つ以上のシーケンスを更に含み、処理レベルの各シーケンスは、実行可能モジュールのうちの1つ以上、候補オブジェクティブの実行の状態のパラメータを記述する状態変数の集合、観測可能なプロパティの集合、第1のデータベースのイベント記述のうちの1つ以上に対応する観測可能なプロパティ、又はそれらの組み合わせを含む。
【0061】
漸進的タスクユニット構造の本方法の一部の実施形態では、各実行可能モジュールは、対応する漸進的タスクユニット構造の状態変数の集合のうちの状態変数の部分集合の構成に対応し、所与の実行可能モジュールについて、所与の実行可能モジュールに対応するアクションの実行時に対応する構成が満たされていないという判定が行われた場合、当該アクションは、自律システムの障害として識別される。
【0062】
本方法の一部の実施形態では、候補オブジェクティブのうちの少なくとも1つの漸進的タスクユニット構造は、自律システムの対応する障害から回復するために自律システムによって実行されるように構成された障害回復モジュールを更に含み、自律システムの対応する障害は、状態変数の集合と、少なくとも1つの漸進的タスクユニット構造の実行可能モジュールに対応する状態変数の部分集合の構成との不一致に基づいて識別される。
【0063】
本方法の一部の実施形態では、候補オブジェクティブのうちの少なくとも1つは、実施されるリソース制限付きアクションの階層を含む1つ以上の障害回復漸進的タスクユニット構造を更に含み、各障害回復漸進的タスクユニット構造は、漸進的タスクユニット構造の障害回復モジュールに対応し、障害回復モジュールの実行は、自律システムによる障害回復漸進的タスクユニット構造のリソース制限付きアクションの実行を引き起こす。
【0064】
本方法の一部の実施形態では、実行可能モジュールは、対応する実行可能モジュールを実行するための実行スコアに更に関連付けられ、実行可能アクションストラテジを生成することは、グローバル実行スコアを最大化することを含み、グローバル実行スコアは、実行可能モジュールに関連付けられた実行スコアの組み合わせである。
【0065】
本方法の一部の実施形態では、実行可能モジュールの実行スコアは、グローバル実行スコアを決定するために、対応する実行可能モジュールの実行確率によって重み付けされ、実行確率は、自律システムによる対応する実行可能モジュールの実行の確率を記述する。
【0066】
本方法の一部の実施形態では、候補オブジェクティブの漸進的タスクユニット構造からアクションストラテジを生成することは、漸進的タスクユニット構造から確率的決定プロセスを生成することを含む。確率的決定プロセスは、少なくとも、漸進的タスクユニット構造の実行可能モジュールのアクションに対応するアクションのセットと、自律システムの状態を含む状態のセットとを含み、各状態は、実行可能モジュールの実行の結果に対応する。本方法は、確率的決定プロセスを実行することを含む。
【0067】
本方法の一部の実施形態では、確率的決定プロセスは、因数分解マルコフ決定プロセスである。
【0068】
本方法の一部の実施形態では、実行可能モジュールに対応する1つ以上のアクションは、1つ以上の候補オブジェクティブの実行を引き起こす。
【0069】
第8の態様では、本技術の種々の実装形態は、1つ以上の対応するタスクを遂行することによって、1つ以上のオブジェクティブを満たすように、自律システムによって実行されるアクションを計画するためのコンピュータ実装方法を提供する。
【0070】
本方法は、1つ以上のオブジェクティブのセットにアクセスすることを含む。1つ以上のオブジェクティブの各々は、対応する1つ以上のオブジェクティブの特性を識別するパラメータを含む。
【0071】
本方法は、漸進的タスクユニット構造を含む第1のデータベースにアクセスすることを含み、各漸進的タスクユニット構造は、実行可能モジュール及び障害回復モジュールによって記述される対応するタスクを遂行するためのアクションの階層を含み、各実行可能モジュールは、アクションの階層のリソース制限付きアクションを実施するために自律システムによって実行されるように構成される。各障害回復モジュールは、自律システムが、対応するタスクの遂行を追求するために、実行可能モジュールに対応するアクションを実施することに失敗したという判定が行われた場合、自律システムによって実行されるように構成される。
【0072】
本方法は、実施されるリソース制限付きアクションの階層を含む障害回復漸進的タスクユニット構造を含む第2のデータベースにアクセスすることを含み、各障害回復漸進的タスクユニット構造は、漸進的タスクユニット構造の障害回復モジュールに対応する。障害回復モジュールの実行は、自律システムによるリソース制限付きアクションの実行を引き起こす。
【0073】
本方法は、1つ以上のオブジェクティブのパラメータに基づいて第1のデータベースから1つ以上の漸進的タスクユニット構造を選択することであって、各オブジェクティブは、漸進的タスクユニット構造に対応する、選択することと、選択された1つ以上の漸進的タスクユニット構造を実行することと、を含む。実行は、選択された1つ以上の漸進的タスクユニット構造から1つ以上の確率的決定プロセスを生成することを含む。各確率的決定プロセスは、漸進的タスクユニット構造の実行可能モジュール及び障害回復モジュールのアクションに対応するアクションのセットと、実行可能モジュールのアクションの結果に対応する状態のセットと、を含む。
【0074】
本方法は、自律システムの現在の状態に基づいてアクションのセットのうちの1つ以上のアクションを実施することによって、1つ以上の確率的決定プロセスを実行することと、選択された1つ以上の漸進的タスクユニット構造を実行する際に、自律システムが障害回復モジュールに対応するアクションを実施するという判定が行われた場合、障害回復モジュールの障害回復漸進的タスクユニット構造のリソース制限付きアクションの階層を実行することと、を含む。
【0075】
本方法の一部の実施形態では、対応する障害回復漸進的タスクユニット構造のリソース制限付きアクションの階層を実行することは、障害回復漸進的タスクユニット構造から確率的決定プロセスを生成することを含む。確率的決定プロセスは、障害回復漸進的タスクユニット構造のリソース制限付きアクションに対応するアクションのセットと、リソース制限付きアクションの結果に対応する状態のセットと、を含む。本方法は、自律システムの現在の状態に基づいてアクションのセットのうちの1つ以上のアクションを実施することによって確率的決定プロセスを実行することを含む。
【0076】
本方法の一部の実施形態では、確率的決定プロセスは、因数分解マルコフ決定プロセスである。
【0077】
方法の一部の実施形態では、各実行可能モジュールは、候補オブジェクティブの実行の状態のパラメータを記述する状態変数の部分集合に関連付けられ、選択された1つ以上の漸進的タスクユニット構造から1つ以上の確率的決定プロセスを生成することは、所定の状態変数に対応する選択された1つ以上の漸進的タスクユニット構造の実行可能モジュールを選択することを含む。
【0078】
第9の態様では、本技術の種々の実装形態は、自律システムによるアクションストラテジの実行を管理するためのコンピュータ実装方法を提供し、自律システムは、所定の状態変数を検知するように構成された1つ以上の検知デバイスを備え、状態変数は、自律システムの状態を記述し、アクションストラテジの各アクションは、自律システムの状態及びアクションストラテジを行うために自律システムによって必要とされるリソースと関連付けられる。
【0079】
本方法は、自律システムのプロセッサによって、自律システムによって遂行されるアクティブオブジェクティブを識別することであって、アクティブオブジェクティブは、対応するアクティブオブジェクティブを遂行するために実施されるアクションの階層を記述する漸進的タスクユニット構造に関連付けられ、漸進的タスクユニット構造は、対応するアクティブオブジェクティブを遂行するための異なる方式を記述し、対応するアクティブオブジェクティブを遂行するために自律システムによって実行されるように構成された実行可能モジュールを含み、アクションの階層は、アクションを実施する際に検出される自律システムの所与の障害状態に応答して実施されるリソース制限付きアクションを含む、識別することと、プロセッサによって、アクションの階層からアクションストラテジを生成することであって、アクションストラテジのアクションは、アクティブオブジェクティブのアクションの階層のアクションに対応する、生成することと、アクションストラテジを実行することと、を含む。
【0080】
実行は、自律システムによって、アクションストラテジの一連のアクションを実行することを含み、アクションの実行は、自律システムが障害状態にあるという判定が行われた場合、対応するリソース制限付きアクションを自律システムによって実行して当該障害状態から回復することができるように、自律システムの現在の状態によって条件付けられる。アクションストラテジのアクションの実行の完了時に、本方法は、アクションストラテジの完了の状態及び当該アクションの結果に関する情報を含むデータを提供することを更に含む。
【0081】
第10の態様では、本技術の種々の実装形態は、アクションストラテジを実行するために構成される自律システムを提供し、システムは、所定の状態変数を検知するように構成された1つ以上の検知デバイスであって、状態変数は、自律システムの状態を記述し、アクションストラテジの各アクションは、自律システムの状態と、アクションストラテジを実施するために自律システムによって必要とされるリソースと、に関連付けられる、1つ以上の検知デバイスと、候補オブジェクティブがポピュレートされた第1のデータベースを含むメモリと、メモリ及び1つ以上の検知デバイスに動作可能に結合されるプロセッサと、を備える。
【0082】
プロセッサは、実行されると、プロセッサに第1のデータベース内の1つ以上の候補オブジェクティブを選択させる第1の命令を受信することと、選択された候補オブジェクティブから1つ以上のアクティブオブジェクティブを生成することであって、各アクティブオブジェクティブは、対応するアクティブオブジェクティブを遂行するために実施されるアクションの階層を記述する漸進的タスクユニット構造に関連付けられ、漸進的タスクユニット構造は、対応するアクティブオブジェクティブを遂行するための異なる方式を記述し、自律システムによって実行されるように構成された実行可能モジュールを含む、生成することと、1つ以上のアクティブオブジェクティブから1つ以上のアクションストラテジを生成することと、1つ以上のアクションストラテジを実行することと、を含む動作をもたらす命令を実行するように構成される。
【0083】
第11の態様では、本技術の種々の実装形態は、自律システムによって実行されるアクションストラテジを生成するためのシステムを提供し、システムは、プロセッサと、プロセッサによって実行されると、システムに方法を実施させる命令を記憶するように構成される、メモリと、を備える。
【0084】
第12の態様では、本技術の種々の実装形態は、命令を実行すると、コンピュータに方法のステップを実行させる命令を含むコンピュータ可読サポートを提供する。
【0085】
本明細書の文脈では、明示的に別段の定めをした場合を除き、コンピュータシステムは、限定はしないが、「電子デバイス」、「オペレーティングシステム」、「システム」、「コンピュータベースのシステム」、「コントローラユニット」、「監視デバイス」、「制御デバイス」、及び/又は当面の関連タスクに適したそれらの任意の組み合わせを指すことができる。
【0086】
本明細書の文脈において、明示的に別段の定めをした場合を除き、「コンピュータ可読媒体」及び「メモリ」という表現は、任意の性質及び種類の媒体を含むことが意図されており、その非限定的な例には、RAM、ROM、ディスク(CD-ROM、DVD、フロッピーディスク、ハードディスクドライブなど)、USBキー、フラッシュメモリカード、ソリッドステートドライブ、及びテープドライブが含まれる。更に、本明細書の文脈において、「1つの(a)」コンピュータ可読媒体及び「その(the)」コンピュータ可読媒体は、同じコンピュータ可読媒体であると解釈されるべきでない。反対に、適切な場合にはいつでも、「1つの(a)」コンピュータ可読媒体及び「その(the)」コンピュータ可読媒体は、第1のコンピュータ可読媒体及び第2のコンピュータ可読媒体と解釈することもできる。
【0087】
本明細書の文脈では、明示的に別段の定めをした場合を除き、「第1の」、「第2の」、「第3の」などの語は、それらが修飾する名詞を互いに区別することを可能にする目的のみのために形容詞として使用されており、それらの名詞間の任意の特定の関係を説明する目的のためではない。
【0088】
本技術の実装形態は、各々、上述の目的及び/又は態様のうちの少なくとも1つを有するが、必ずしもそれらの全てを有するとは限らない。上述の目的を達成しようとする試みから生じた本技術の一部の態様は、この目的を満足させない場合があり、かつ/又は本明細書に具体的に列挙されていない他の目的を満足させる場合があることを理解されたい。
【0089】
本技術の実装形態の追加及び/又は代替の特徴、態様、及び利点は、以下の説明、添付の図面、及び添付の特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0090】
本技術、並びに本技術の他の態様及び更なる特徴をよりよく理解するために、添付の図面と併せて使用される以下の説明を参照する。
【0091】
【
図1】本技術の一実施形態によるコンピューティングシステムの図である。
【
図2】本技術の一実施形態による自律システムの図である。
【
図3】本技術の一実施形態による知識ベース推論モジュールの高レベル概略図である。
【
図4】本技術の一実施形態による、漸進的タスクユニット構造の高レベル概略図である。
【
図5】本技術の一実施形態による、漸進的タスクユニット構造の記述的表である。
【
図6】本技術の一実施形態による、最適ポリシーを生成するための方法の動作を示すシーケンス図である。
【
図7】本技術の一実施形態による、アクションストラテジの表現である。
【
図8】本技術の一実施形態による、別のアクションストラテジの表現である。
【
図9】本技術の一実施形態による、アクションストラテジの有限状態機械である。
【0092】
また、本明細書で明示的に指定されない限り、図面は一定の縮尺ではないことに留意されたい。
【発明を実施するための形態】
【0093】
本明細書に列挙される例及び条件付き言語は、主に、読者が本技術の原理を理解するのを助けることを意図しており、その範囲をかかる具体的に列挙された例及び条件に限定することを意図していない。当業者は、本明細書に明示的に記載又は図示されているが、本技術の原理を具現化するにもかかわらず種々の配置を考案し得ることが理解されるであろう。
【0094】
更に、理解を助けるものとして、以下の説明は、本技術の比較的簡略化された実装形態を説明し得る。当業者が理解するように、本技術の種々の実装形態は、より複雑であり得る。
【0095】
場合によっては、本技術に対する修正の有用な例であると考えられるものも記載され得る。これは、単に理解を助けるために行われるものであり、やはり、本技術の範囲を定義するものでも、本技術の境界を示すものでもない。これらの修正は網羅的なリストではなく、当業者は、それでもなお本技術の範囲内に留まりながら他の修正を行うことができる。更に、修正の例が記載されていない場合、修正が可能でないこと、及び/又は記載されているものが本技術のその要素を実装する唯一の様式であることを解釈すべきではない。
【0096】
更に、本技術の原理、態様、及び実装形態、並びにそれらの特定の例を列挙する本明細書の全ての記述は、それらが現在知られているか、又は将来開発されるかにかかわらず、それらの構造的均等物と機能的均等物の両方を包含するものとする。
【0097】
したがって、例えば、本明細書における任意のブロック図は、本技術の原理を具現化する例示的な回路の概念図を表すことが当業者によって理解されるであろう。同様に、任意のフローチャート、フロー図、状態遷移図、擬似コードなどは、非一時的コンピュータ可読媒体において実質的に表され、したがって、コンピュータ又はプロセッサが明示的に示されているか否かにかかわらず、かかるコンピュータ又はプロセッサによって実行され得る種々のプロセスを表すことが理解されよう。
【0098】
「プロセッサ」とラベル付けされた任意の機能ブロックを含む、図に示される種々の要素の機能は、専用ハードウェア、並びに適切なソフトウェアに関連してソフトウェアを実行することが可能なハードウェアの使用を通じて提供され得る。プロセッサによって提供されるとき、機能は、単一の専用プロセッサによって、単一の共有プロセッサによって、又はそのうちの一部が共有され得る複数の個々のプロセッサによって提供され得る。
【0099】
本技術の一部の実施形態では、プロセッサは、中央処理装置(CPU)などの汎用プロセッサ、又はデジタルシグナルプロセッサ(DSP)などの特定の目的に専用のプロセッサであってもよい。更に、「プロセッサ」という用語の明示的な使用は、ソフトウェアを実行することが可能なハードウェアを排他的に指すと解釈されるべきではなく、限定はしないが、特定用途向けIC(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ソフトウェアを記憶するための読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、及び不揮発性ストレージを暗黙的に含み得る。従来型及び/又はカスタムの他のハードウェアも含まれ得る。
【0100】
ソフトウェアモジュール、又は単にソフトウェアであることが暗示されるモジュールは、本明細書では、プロセスステップ及び/又はテキスト記述の実施を示すフローチャート要素又は他の要素の任意の組み合わせとして表され得る。かかるモジュールは、明示的又は暗示的に示されるハードウェアによって実行され得る。更に、モジュールは、例えば、限定はしないが、必要とされる能力を提供する電算プログラム論理、電算プログラム命令、ソフトウェア、スタック、ファームウェア、ハードウェア回路、又はそれらの組み合わせを含み得ることを理解されたい。
【0101】
本技術は、自律システムが、利用可能なリソースに基づいて、最適なアクションストラテジ又は「アクションポリシー」を生成及び実行することを可能にすることによって、かかるシステムにより多くの自己充足性を提供する。アクションストラテジは、タスクを遂行するために実施される一連のアクションを含むことができ、アクションの実行は、他のアクションの結果、利用可能なリソース、及び/又は他の可能な実行条件などの実行条件に基づいて、リアルタイムで、又はほぼリアルタイムで調整することができる。アクションストラテジは、アクション計画とも称されることがあり、任意の時点で調整することができる。したがって、システムは、周囲環境を検知し、それと相互作用することが可能であり得る。
【0102】
加えて、本技術に従って実装される自律システムは、最も効率的かつ満足のいく様式でタスクを遂行するために、リアルタイムでストラテジを適応させ、予想されないイベント又は「異常」イベント及び/又は状態に反応することが可能であり得る。更に、自律システムは、タスクの実行前又は実行中に生じる状況に応答することが可能であり得る。
【0103】
本開示の種々の態様は、概して、従来の自律システムに見られる問題のうちの1つ以上に対処する。この目的を達成するために、本開示は、他の態様の中でもとりわけ、支援アクションストラテジを生成及び実行するように構成されたインテリジェント自律システムを導入する。
【0104】
これらの基礎を適所に置いて、次に、本技術の態様の種々の実装形態を例示するために、一部の非限定的な例を検討する。
【0105】
図1を参照すると、本技術の少なくとも一部の実施形態による使用に好適なコンピュータシステム100が示されている。コンピュータシステム100は、従来のパーソナルコンピュータ、ネットワークデバイス、及び/又は電子デバイス(モバイルデバイス、タブレットデバイス、サーバ、コントローラユニット、制御デバイスなどであるが、それらに限定されない)、及び/又は当面の関連タスクに適切なそれらの任意の組み合わせのうちのいずれかによって実装されてもよい。
【0106】
一部の実施形態では、コンピュータシステム100は、プロセッサ110によって集合的に表される1つ以上のシングル又はマルチコアプロセッサ、ソリッドステートドライブ120、ランダムアクセスメモリ130、及び入力/出力インターフェース150を含む、種々のハードウェア構成要素を備える。コンピュータシステム100は、機械学習アルゴリズム(MLA)を動作させるように特に設計されたコンピュータとすることができる。コンピュータシステム100は、汎用コンピュータシステムであり得る。コンピュータシステム100は、ロボット車両に統合されてもよく、かつ/又はロボット車両を制御するように構成されてもよい。
【0107】
一部の実施形態では、コンピュータシステム100は、上に列挙したシステムのうちの1つのサブシステムであり得る。一部の他の実施形態では、コンピュータシステム100は、「既製の(off-the-shelf)」汎用コンピュータシステムであり得る。一部の実施形態では、コンピュータシステム100はまた、複数のシステム間に分散されてもよい。コンピュータシステム100はまた、本技術の実装形態に特に専用であってもよい。本技術の当業者が理解し得るように、本技術の範囲から逸脱することなく、コンピュータシステム100がどのように実装されるかに関する複数の変形形態が想定され得る。
【0108】
当業者は、プロセッサ110が概して処理能力を表すことを理解するであろう。一部の実施形態では、1つ以上の従来の中央処理装置(CPU)の代わりに、又はそれに加えて、1つ以上の特殊処理コアが、提供されてもよい。例えば、1つ以上のグラフィック処理ユニット111(GPU)、テンソル処理ユニット(TPU)、及び/又は他のいわゆる加速プロセッサ(又は処理アクセラレータ)が、1つ以上のCPUに加えて、又はその代わりに提供されてもよい。
【0109】
システムメモリは、典型的には、ランダムアクセスメモリ130を含むことになるが、より一般的には、静的ランダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)、シンクロナスDRAM(SDRAM)、読み出し専用メモリ(ROM)、又はそれらの組み合わせなど、任意のタイプの非一時的システムメモリを包含することが意図される。ソリッドステートドライブ120は、大容量ストレージデバイスの一例として示されているが、より一般的には、かかる大容量ストレージは、データ、プログラム、及び他の情報を記憶し、データ、プログラム、及び他の情報を、システムバス160を介してアクセス可能にするように構成された任意のタイプの非一時的ストレージデバイスを備え得る。例えば、大容量ストレージは、ソリッドステートドライブ、ハードディスクドライブ、磁気ディスクドライブ、及び/又は光ディスクドライブのうちの1つ以上を備え得る。
【0110】
コンピュータシステム100の種々の構成要素間の通信は、種々のハードウェア構成要素が電子的に結合される1つ以上の内部バス及び/又は外部バス(例えば、PCIバス、ユニバーサルシリアルバス、IEEE1394「ファイアワイヤ」バス、SCSIバス、シリアルATAバス、ARINCバスなど)を備えるシステムバス接続160によって可能にされ得る。
【0111】
入力/出力インターフェース150は、有線又は無線アクセスなどのネットワーキング能力を提供することができる。一例として、入力/出力インターフェース150は、限定はしないが、ネットワークポート、ネットワークソケット、ネットワークインターフェースコントローラなどのネットワーキングインターフェースを含み得る。ネットワーキングインターフェースがどのように実装され得るかの複数の例が、本技術の当業者には明らかになるであろう。
【0112】
例えば、ネットワーキングインターフェースは、イーサネット、ファイバチャネル、Wi-Fi又は任意の他の無線データリンクプロトコル、トークンリング又はシリアル通信プロトコルのような特定の物理層及びデータリンク層標準を実装することができる。特定の物理層及びデータリンク層は、完全なネットワークプロトコルスタックのためのベースを提供することができ、同じローカルエリアネットワーク(LAN)上のコンピュータの小グループ間の通信、及びインターネットプロトコル(IP)などのルーティング可能なプロトコルを介した大規模ネットワーク通信を可能にする。
【0113】
入力/出力インターフェース150は、タッチスクリーン190に、並びに/あるいは1つ以上の内部及び/又は外部バス160に結合され得る。タッチスクリーン190は、ディスプレイの一部であり得る。
【0114】
一部の実施形態では、タッチスクリーン190はディスプレイである。タッチスクリーン190は、同様にスクリーン190と称されることがある。
図1に例示される実施形態では、タッチスクリーン190は、タッチハードウェア194(例えば、ユーザとディスプレイとの間の物理的相互作用の検出を可能にする、ディスプレイの層内に埋め込まれた感圧セル)と、ディスプレイインターフェース140並びに/又は1つ以上の内部及び/若しくは外部バス160との通信を可能にする、タッチ入力/出力コントローラ192と、を備える。
【0115】
一部の実施形態では、入力/出力インターフェース150は、タッチスクリーン190に加えて、又はその代わりに、キーボード(図示せず)、マウス(図示せず)、トラックパッド(図示せず)、音声ヒューマンマシンインターフェース(HMI)(図示せず)、及び/又はユーザがコンピュータシステム100と対話することを可能にするのに好適な任意の他のデバイスに接続されてもよい。
【0116】
本技術の一部の実装形態によれば、ソリッドステートドライブ120は、本明細書で説明する1つ以上の方法の行為を実行するために、ランダムアクセスメモリ130にロードされ、プロセッサ110によって実行されるのに好適なプログラム命令を記憶する。例えば、プログラム命令の少なくとも一部は、ライブラリ又はアプリケーションの一部であってもよい。
【0117】
図2は、本技術の一実施形態による自律システム200の高レベル概略図を例示している。自律システム200は、コンピュータシステム210を備え得る。コンピュータシステム210は、コンピュータシステム100であってもよく、かつ/又はコンピュータシステム100の構成要素の一部又は全部を含んでもよい。コンピュータシステム210は、以下でより詳細に説明する推論モジュール250と、計画モジュール260と、実行モジュール270と、を備え得る。
【0118】
自律システム200は、環境230内で動作することができ、支援タスクを行うことができる。環境230は、限定はしないが、ショッピングセンター、オフィスなどの物理的環境であってもよく、又はコンピューティングデバイスネットワーク、配電網などの論理的環境であってもよい。環境230は、限定はしないが、店舗、ドア、廊下、人々、又は物理環境230の場合に支援タスクを実施するためにその特徴が関連し得る任意の他のエンティティなどのエンティティと、論理環境230の場合に支援タスクを実施するためにその特徴が関連し得るプロセッサ、ネットワーキングデバイス、インターフェース、又は任意の他のエンティティと、を含み得る。したがって、エンティティ及びエンティティ間の関係を使用して、環境230を画定することができる。
【0119】
自律システム200は、知覚ユニット212を介して環境230内の生データを取り込むように構成される。知覚ユニット212は、ヒューマンマシンインターフェース、カメラなどのセンサ、LiDARセンサ、又は物理的環境230に適合された任意のタイプの検知デバイスを備えてもよく、電流計、データフローセンサ、接続インジケータ、又は論理的環境230に適合された任意のタイプのセンサを備えてもよい。生データは、知覚ユニット212に通信可能に接続されたコンピュータシステム210によって処理することができる。
【0120】
コンピュータシステム210は、環境230内で発生するイベントを記述するためのコンピュータ可読命令の形態で動的環境プロパティ又は「ファクト」を生成し、生成された動的環境プロパティのコヒーレンスチェックを実行し、更に、1つ以上の動的環境プロパティがインコヒーレント又は「異常」であるという判定が行われた場合、環境230のエンティティと対話するように構成される。かかるコンピュータ可読命令は、イベントに関するステートメントを作成する述語表現であってもよい。コヒーレンスチェックの実行のプロセスは、以下でより詳細に説明される。
【0121】
コンピュータシステム210は、自律システムに対して内部にあっても外部にあってもよく、自律システム200に通信可能に接続される。一実施形態では、コンピュータシステム210は、外部にあり、ネットワーク(図示せず)を介して複数の自律システム210に通信可能に接続されてもよい。
【0122】
コンピュータシステム210は、動的環境プロパティと、コンピュータシステム210によって使用され得る任意の情報とを、以下で説明する特定のコンピュータ可読フォーマットの下でメモリ216に記憶するように構成され得る。メモリ216は、自律システム200に組み込まれてもよく、又は外部の物理的なロケーションに位置してもよい。コンピュータシステム210は、ローカルエリアネットワーク(LAN)などのネットワーク(図示せず)、及び/又はワイヤレスローカルエリアネットワーク(WLAN)若しくは広域通信網(WAN)などのワイヤレス接続を介して、メモリ216のコンテンツにアクセスするように構成され得る。自律システムは、コンピュータシステム210に通信可能に接続され、自律システム200の動作のための命令、動的環境プロパティ、又は任意の他の情報を受信する、ネットワーキングデバイス211を備え得る。
【0123】
メモリ216は、以下で説明する特定のコンピュータ可読フォーマットの下で候補オブジェクティブを含み得る。1つ以上の候補オブジェクティブは、異常イベントの検出時にコンピュータシステム210によってアクティブ化され、それによって1つ以上の対応する「アクティブオブジェクティブ」を定義することができる。アクティブオブジェクティブは、対応する異常イベントに対処するために、更に実行されてもよく、かつ/又は自律システム200のオペレータに伝送されてもよい。アクティブオブジェクティブは、メモリ216に記憶され得る。
【0124】
自律システム200は、アクティブオブジェクティブを実行することによって自律システム200に環境230内で対話させるように構成された対話ユニット220を備える。対話ユニット220は、ヒューマンマシンインターフェース、1つ以上のスクリーン、スピーカ、マイクロフォン、物理アクチュエータ、駆動システム、又は環境230が物理環境である場合に物理環境内で対話するために使用され得る任意の好適なシステム、あるいは環境230が論理環境である場合に論理環境において使用され得る論理アクチュエータ、プロセッサ、又は任意の好適なシステムなどの対話要素を動作させることができる。
【0125】
本開示を明確にするために、以下の例は、物理環境230に関する。これは、単に本開示の読解を容易にするために行われるものであり、やはり、本技術の範囲を定義するものでも、本技術の境界を示すものでもない。
【0126】
コンピュータシステム210は、環境230内のイベントを記述するために動的環境プロパティを使用するように構成される。各動的環境プロパティは、イベントベースのステートメントを含むコンピュータ可読命令とすることができる。イベントベースのステートメントは、1つ以上のパラメータを有する事前定義された記述関数であり、事前定義された記述関数は、対応するイベントの特性を表す。例えば、p1として識別され、走っているとして検出された人間は、コンピュータシステム210によって、イベントベースのステートメントrunning(p1)で記述することができ、ここでrunning()は事前定義された記述関数であり、p1はパラメータである。
【0127】
イベントは、
【数1】
などのイベントベースのステートメントの論理的な関連付けに対応することができ、p1runningとして識別される成人のイベントを表す。
【0128】
この例示的な例では、
【数2】
は、2つのイベントベースのステートメントrunning(p1)及びadult(p1)の論理積である動的環境プロパティである。
【0129】
当業者であれば理解するように、特定のコンピュータシステム210及び特定の知覚ユニット212が与えられると、自律システム200に対して有限数の検出可能なイベントが存在し、したがって、それらの検出は少なくとも知覚ユニット212に含まれる検知デバイスの精度に依存するため、有限数の事前定義された記述関数が存在する。
【0130】
イベントベースのステートメントによる動的環境プロパティの前述の表現は、本技術の限定的な態様ではない。環境230内で発生するイベントの表現は、異なるコンピュータ可読実装形態を有し得るため、これはむしろ、他の可能な実施形態の中でも1つの例示的な実施形態である。動的環境プロパティは、他の形態の論理式によって表すことができる。上述のイベントベースのステートメントは、環境230において検出されたイベントの特性の記述に対応する任意の好適なコンピュータ可読命令の形態をとることができる。
【0131】
知覚ユニット212は、信号の処理及び/又はコンピュータビジョンソフトウェアアプリケーションを実行して、イベントの発生を検出するように構成され得る。イベントに対応する動的環境プロパティを提供するために、コンピュータシステム210は、イベントベースのステートメントのリスト内の1つ以上のイベントベースのステートメントを選択するように更に構成され、イベントベースのステートメントのリストは、知覚ユニット212によって検出され得るイベントの特性のリストである。
【0132】
一例として、知覚ユニット212は、成人がモール内で走っていることを検出することができる。コンピュータシステム210は、adult(p)、at(p,mall)、及びrunning(p)という3つのイベントベースのステートメントを選択することができ、ここでpは走っている人間を識別する。イベントベースのステートメントadult(p)は、人間が成人であるという検出可能な特性に対応し、イベントベースのステートメントat(p,mall)は、人間がモール内に位置するという検出可能な特性に対応し、イベントベースのステートメントrunning(p)は、人間が走っているという検出可能な特性に対応する。人間は、ヘッドホンで音楽を聴いている場合がある。
【0133】
しかしながら、知覚ユニット212がこの特性を検出するように構成されていない場合、この特性を表すために利用可能なイベントベースのステートメントはない。したがって、この特性は、コンピュータシステム210によって生成される動的環境プロパティの一部でなくてもよい。
【0134】
計算ユニットは、イベントベースのステートメントを論理積に関連付けることによって動的環境プロパティを生成する。
E1:adult(p)^at(p,mall)^running(p)
【0135】
追加的又は代替的に、コンピューティングユニットは、以下の形式でイベントの記述を生成してもよい。Event(id,location l,time t,agent p,semantic)、ここで、idは、イベントの識別子であり、location lは、イベントの発生ロケーションであり、time tは、イベントの発生時間であり、agent pは、イベントのアクタ又は主題であり、semanticは、イベントベースのステートメントに基づくイベントのセマンティック記述である。例えば、セマンティック記述は、以下の属性を含み得る。
At|In|In front of|motionless|running|rest area|request|…
【0136】
イベントの記述は、メモリ216に記憶され得る。この実施形態によれば、上記の例の説明は以下の通りである。
Event(1,mall,10:40,p,running(p);adult(p))
【0137】
動的環境プロパティと対応するイベントの記述との間の対応は、情報の表現の単なる選択であることに留意されたい。記述形式は、イベントベースのステートメントから生成することができ、その逆も可能である。
【0138】
ここで
図3に目を向けると、推論モジュール250又は「知識ベース推論モジュール」250の高レベルの概略図が例示されている。推論モジュール250は、コンピュータシステム210に含まれてもよく、動的環境プロパティに対してコヒーレンスチェックを実行するように構成されてもよい。そのために、推論モジュール250は、静的環境プロパティを記憶するように構成された第1のデータベース302と、動的環境プロパティを記憶するように構成された第2のデータベース304と、を備える。限定はしないが、動的環境プロパティ及び静的環境プロパティは、論理プログラミング言語PROLOGの下で表すことができる。
【0139】
静的環境プロパティは、環境230のエンティティのプロパティ及びエンティティ間の関係を定義するように構成されたコンピュータ可読命令を含む。例えば、ショッピングセンターの特定のエリアに関する情報を有するショッピングセンターのセマンティックマップが第1のデータベース302にポピュレートされ得、エンティティは、ショッピングセンターの店舗及び/又は関心のあるポイントを備える。この例では、第1のデータベース302は、ショッピングセンターのエリア及び/又は店舗の間の距離関係、位相関係、及び/又は定性的空間関係を含み得る。より一般的には、第1のデータベース302は、環境230内のエンティティの記述的特性及び属性を記憶するように構成される。同じ又は別の実施形態では、静的環境プロパティは、以下のような静的ステートメント又は静的ステートメントの論理的関連付けとして表される。
【0140】
P1:name(store1;abc);
P2:sells(abc;childrenClothes);
P3:sells(abc;toys);
P4:¬at(p,corridor1)。
【0141】
静的ステートメントは、同様に表現され、同様の事前定義された記述関数から構成されるため、イベントベースのステートメントと同様である。しかしながら、静的環境プロパティを画定する静的ステートメントは、最初に自律システム200のオペレータによって第1のデータベース302にポピュレートされ、イベントを表さない。この実施形態では、オペレータは、人間のオペレータ、又は第1のデータベース302に通信可能に接続され、動作コンピュータシステムによって受信された情報に基づいて当該データベースを自動的にポピュレートするように構成された動作コンピュータシステムであってもよい。
【0142】
更に、静的ステートメントの事前定義された記述関数は、同じパラメータに対応するあらゆるオブジェクトに適用することができる。一例として、誰もcorridor1にいるべきではないことを示すP4は、人間である全てのオブジェクトpに適用され、1人の人間だけに適用されるのではない。
【0143】
上記の例示的な静的環境プロパティでは、P1は、abcがstore1として識別されるストアの名前であることを示し、P2及びP3は、それぞれ、ストアabcが子供用の衣服及び玩具を販売することを示し、P4は、corridor1として識別される廊下が、誰もここで発見されるべきではないので閉じられていることを示す。
【0144】
第1のデータベース302内の静的環境プロパティを画定する静的ステートメントは、特定の情報を更新するためにオペレータによって最初に及び/又は更に更新されてもよい。一例として、オペレータは、P4を削除して、corridor1がもはや閉鎖されていないことを自律システム200に通知し、corridor2として識別された別の廊下が閉鎖されていることを示すために新しい静的環境プロパティを追加することができる。第1のデータベース302内の静的環境プロパティの更新は、オペレーティングコンピュータシステムからの情報に基づく定期的な自動更新とすることができる。例えば、第1のデータベース302は、オペレーティングコンピュータシステムから抽出された情報に基づいて、無線(OTA)更新で更新されてもよい。
【0145】
第1のデータベース302は、オペレータによってポピュレートされ、「子供は玩具が好きである」など、全ての人間が知っていると予想される共通の事実に対応するコンピュータ可読命令である常識ルールをコンピュータ可読フォーマットで更に含む。一例として、第1のデータベース302は、コンピュータ可読フォーマットの下で、「人々は概してモール内で走っていない」又は「店内の火災は危険である」という情報を含み得る。
【0146】
常識ルールは、環境230の文化的コンテキストに適合するようにオペレータによって調整され、それによって自律システム200による常識推論を発展させることができる。一実施形態では、オペレータは、機械学習アルゴリズム(MLA)を用いて、訓練データセットに基づいて常識ルールを生成し、訓練データセットは、訓練常識ルールと、環境230の文化的コンテキストに関する情報とを含む。一例として、環境230の文化的コンテキストについての情報は、動的及び/又は静的環境プロパティから推論され得る。
【0147】
例えば、常識ルールは、自律システム200が博物館で動作する場合には人間が走るべきではなく、自律システム200がスポーツ施設で動作する場合には通常であることを示してもよい。
【0148】
常識ルールは、以下のような静的ステートメント又は静的ステートメントの論理的関連として表すことができる。
【数3】
【0149】
上記の例示的な静的環境プロパティでは、K1は、モール内の成人が通常は走っていないことを示し、K2は、モール内の子供が通常は玩具を買うことに関心があることを示し、K3は、成人であるモール内の人間が通常は衣服を買うこと又はレストランに行くことに関心があることを示す。
【0150】
コンピュータシステム210は、イベントが複数回発生したという判定が行われた場合に、第1のデータベース302に新しい常識ルール又は静的環境プロパティをポピュレートするか、又は新しい常識ルール又は静的環境プロパティのポピュレートを提案するためにオペレータに信号、通知などを送信するように構成されてもよい。例えば、発生の閾値は、オペレータによって第1の動的環境プロパティに関連付けられてもよい。したがって、コンピュータシステム210は、第1の動的環境プロパティに対応するイベントの発生回数を超えたという判定が行われた場合に、第1の動的環境プロパティに基づいて常識ルール又は静的環境プロパティを生成するように構成されてもよい。
【0151】
一例として、セキュリティエージェントが7日間毎日特定の時間に特定の店舗の前にいるという判定が自律システム200によって行われた場合、知識ベースコンピュータシステム210は、セキュリティエージェントが毎日特定の時間に特定の店舗の前にいることを示す静的環境プロパティを第1のデータベース302に生成するように構成されてもよい。その場合、当該時間に当該店舗の前のセキュリティエージェントを検出しないことは「異常」であり得る。したがって、自律システムは、イベントの発生に基づいて「異常」イベントの定義を適合させることができる。
【0152】
第1のデータベース302は、常識ルールを含む第1のサブデータベースと、他の静的環境プロパティを含む第2のサブデータベースとに区分され得る。
【0153】
第2のデータベース304は、上述した動的環境プロパティを記憶するように構成され得る。第1のデータベース302とは異なり、第2のデータベース304は、環境230内で発生していた、又は発生しており、知覚ユニット212によって検出されたイベントに対応する動的環境プロパティを受信する。以下は、第2のデータベースに記憶された動的環境プロパティの例示的な例である。
【数4】
【0154】
上記の例示的な動的環境プロパティでは、E1は、p1として識別された人間が成人であり、モールにおり、走っていることを示し、E2は、p2として識別された人間がモールにおり、子供であり、玩具を買うことに関心がないことを示す。p2が玩具を買うことに関心がないという情報は、タッチスクリーンパッドなどのヒューマンマシンインターフェース、又はこの情報を決定するための任意の好適な様式を介して決定され得る。
【0155】
知覚ユニット212を用いて環境230内の新しいイベントを観測すると、コンピュータシステム210は、新しいイベントに基づいて第2のデータベース304内に新しい動的環境を生成する。生成は、イベントベースのステートメントのリスト内の1つ以上のイベントベースのステートメントを選択することによって実施され得、イベントベースのステートメントのリストは、知覚ユニット212によって検出され得るイベントの特性のリストである。
【0156】
したがって、コンピュータシステム210は、知覚ユニット212に従って新しいイベントに対応するできるだけ多くのイベントベースのステートメントを選択し、新しい動的環境プロパティを更に生成するように構成され得る。特徴の検出は、知覚ユニット212によって使用されるコンピュータビジョン方法及びアルゴリズムに依存し得る。したがって、イベントを記述するために使用され得るイベントベースのステートメントのリストは、知覚ユニット212によって検出され得る各特性がイベントベースのステートメントによって記述され得るように、好適な様式で少なくともポピュレートされるべきである。
【0157】
推論モジュール250は、第2のデータベース304で見つかった動的環境プロパティの集合に基づいてメタ動的環境プロパティを生成するように構成され得る。メタ動的環境プロパティは、特定の動的環境プロパティの集合が第2のデータベース304に存在するという判定が推論モジュール250によって行われた場合に生成される動的環境プロパティである。同じセットの動的環境プロパティは、共通のロケーション、共通の発生時間などの共通のイベントベースのステートメントを有することができる。
【0158】
メタイベントは、イベント集約演算子を使用することによって生成することができる。例えば、running(p1)は、他の動的環境プロパティに基づいて生成されるメタ動的環境プロパティである。実際、一連の動的環境プロパティは、以下のように表される。同じ人間とのEvent(id,location,time,person,at(person,location))は、これらのイベントのロケーション及び時間に応じて、この人間がゆっくり歩いているか、速く歩いているか、走っているかを検出するのに役立ち得る。
【0159】
実際には、持続時間にわたる2つのロケーション間の距離が速度を導出し、推論モジュール250は、この速度を非常に高速、通常、又は低速として分類し、それによって、速度が非常に高速である場合、メタ動的環境プロパティrunning(p1)を生成するように構成され得る。
【0160】
第1のデータベース302及び第2のデータベース304は、エンティティの特性を記述するコンピュータ可読フォーマットの下で論理式を含むことができ、したがって環境230の知識を与えることができるため、「知識ベース」と称されることがある。
【0161】
第1のデータベース302及び第2のデータベース304に基づいて、推論モジュール250は、以下に記載されるように、インコヒーレントなイベント又は「異常な」イベントを検出するように構成され得る。推論モジュール250は、第2のデータベース304内の全ての新しいエントリ、すなわち全ての動的環境プロパティ及びメタ動的環境プロパティに対してコヒーレンスチェック手順を実行するように構成された論理推論サブモジュール310を備える。第2のデータベースに新たなエントリE0があると、論理推論サブモジュール310は、第1のデータベース302をブラウズするように構成される。新しいエントリE0は、第1のデータベース302の常識ルール及び静的環境プロパティの全ての組み合わせと比較される。
【0162】
一実施形態では、比較は論理積^にある。ルールベースの順方向推論を使用する動的環境プロパティのコヒーレンスチェックのための例示的で非限定的な擬似アルゴリズムを以下に提示する。
【0163】
【0164】
以下は、動的環境プロパティE1及びE2に対するコヒーレンスチェックの実行の例示的な例である。
【数5】
【0165】
動的環境プロパティE1に対するコヒーレンスチェックの実行は、論理式
【数6】
の一貫性を検査することにある。この場合、論理推論サブモジュール310は、式
【数7】
が不一致である(すなわち、
【数8】
は、K1とE1との間の不一致により真である)ため、E1の不一致を返す。その結果、E1は「異常」又は「インコヒーレント」とマークされる。同様に、論理推論サブモジュール310は、
【数9】
が不一致である(P2とE2との間の不一致による)ため、E2の不一致を返す。
【0166】
動的環境プロパティが、環境230内のインコヒーレントなイベントに対応する異常であると判定すると、論理推論サブモジュール310は、異常な動的環境プロパティを、異常な動的環境プロパティのリスト、すなわち「異常イベントのリスト」312に追加することができる。第2のデータベース304に新しい動的環境プロパティが継続的にポピュレートされると、異常な動的環境プロパティ312のリストは、論理推論サブモジュール310によって継続的に更新され得る。代替的な実施形態では、イベントを「異常」として識別するための他のコヒーレンスチェック手順が企図される。
【0167】
自律システム200の役割は、環境230及び環境230のエンティティと対話して、インコヒーレントなイベントを修正及び解決することである。推論モジュール250は、選択又は「アクティブ化」され、更に実行され、及び/又はオペレータに伝送されて、インコヒーレントイベントを訂正及び解決することができる候補オブジェクティブを含む候補オブジェクティブデータベース306を含む。
【0168】
アクティブ化及び実行されると、候補オブジェクティブは、自律システム200のためのアクティブなオブジェクティブになり、インコヒーレントなイベントを訂正及び解決するために自律システム200によって実施される1つのタスク又は複数のタスクを表す。候補オブジェクティブのアクティブ化は、以下でより詳細に説明される。
【0169】
各候補オブジェクティブは、コンピュータ可読命令を含むことができ、アクティブ化条件又は「選択条件」、識別子、オブジェクティブカテゴリ(例えば、監視、支援、ガイダンス、広告など)、ロケーション、時間、物体、人間などの可変状態を記述するパラメータ、及び漸進的タスクユニット構造、又はそれらの組み合わせによって、以下のように記述され得る。
Objective(activation_condition,identifier,objective category,parameters,progressive task unit structure)。
【0170】
漸進的タスクユニット構造は、一連のタスク、命令、アクションストラテジ、又は対応するオブジェクティブを満たすために実施されるアクションの任意の他の形態の指示を含み得る。
【0171】
候補オブジェクティブのアクティブ化条件は、1つ以上の動的環境プロパティに対応することができる。推論モジュール250は、異常な動的環境プロパティ312のリストの動的特性を候補オブジェクティブのアクティブ化条件と比較するように構成された比較サブモジュール320を備え得る。比較モジュール320によって、対応する1つ以上の動的環境プロパティが異常な動的環境プロパティのリスト312内に見つかったという判定が行われた場合、アクティブ化条件が満たされる。
【0172】
アクティブ化条件は、事前定義された記述関数内の特定のパラメータ又は非特定のパラメータを有するイベントベースのステートメントを有する動的環境プロパティとすることができる。起動すべき候補オブジェクティブを決定するための例示的で非限定的な擬似アルゴリズムを以下に示す。
【0173】
【0174】
候補オブジェクティブがアクティブ化されると、比較サブモジュール320は、候補オブジェクティブからアクティブオブジェクティブを生成することによって候補オブジェクティブを実行するように構成される。比較サブモジュール320は、候補オブジェクティブのパラメータを、対応する候補オブジェクティブのアクティブ化条件を満たさせた動的環境プロパティのイベントベースのステートメントの事前定義された記述関数のパラメータで更新することによって、候補オブジェクティブからアクティブオブジェクティブを生成することができる。
【0175】
したがって、新しい異常イベントの検出によって引き起こされる新しいアクティブオブジェクティブの生成は、当該異常イベントのパラメータに基づく。比較サブモジュール320は、自律システム200によって遂行されるアクティブオブジェクティブ322のリストを確立するように構成される。一例として、候補オブジェクティブを以下に示す。
【数10】
【0176】
動的環境プロパティE1:
【数11】
が異常とマークされた場合、p1が人間を識別することができ、pが全ての人間を包含することができるため、前述の候補オブジェクティブをアクティブ化することができる。したがって、以下のアクティブオブジェクティブが、論理推論サブモジュール310によって生成される。
【数12】
【0177】
アクティブオブジェクティブ322のリストは、どのアクティブオブジェクティブが自律システム200に従って遂行され得るかに関する情報を提供するために、自律システム200のオペレータに伝送され得る。アクティブオブジェクティブ322のリストは、推論モジュール250から自律システム200のオペレータに更に送信されてもよく、かつ/又はコンピュータシステム210の別のモジュールに伝送されて、自律システム200にアクティブオブジェクティブを実行させてもよい。より正確には、自律システム200は、アクティブオブジェクティブのリスト322に含まれるアクティブオブジェクティブの漸進的タスクユニット構造を実行するように構成されてもよい。
【0178】
アクティブオブジェクティブのリストは、推論モジュール250によって更新されてもよい。第1のデータベース302又は第2のデータベース304に新しいエントリがあると、論理推論サブモジュール310は、前述のプロセスに従って新しいエントリを用いてアクティブオブジェクティブ322のリストの各アクティブオブジェクティブのコヒーレンスチェックを実行するように、換言すれば「アクティブオブジェクティブの一貫性のコヒーレンスチェック」を実行するように構成され得る。1つのアクティブオブジェクティブが新しいエントリに関してインコヒーレントであるという判定が行われた場合、当該アクティブオブジェクティブは、アクティブオブジェクティブ322のリストから除去され得る。
【0179】
ここで
図4に目を向けると、本技術の一実施形態による、オブジェクティブに対応する漸進的タスクユニット構造400の高レベル概略図が例示されている。各漸進的タスクユニット構造は、対応するオブジェクティブを遂行するために増分的に実施されるアクションを記述し、自律システム200に利用可能なリソースに従ってアクションを実行するための1つ以上の実行可能な異なるモジュールを含む。換言すれば、漸進的タスクユニット構造400は、アクションの階層を記述することができ、各アクションは、漸進的タスクユニット構造400の実行可能モジュールに対応する。
【0180】
実行可能モジュールは、対応する漸進的タスクユニット構造が実行されるときに実行されるように構成される。コンピュータシステム210は、漸進的タスクユニット構造から、対応する最適なアクションストラテジ、又は単に「アクションストラテジ」を生成することができる。以下の説明は、漸進的タスクユニット構造の例示的な表現を提供する。
【0181】
漸進的タスクユニットは、拡張可能マークアップ言語(XML)ファイルで符号化することができ、一連の処理レベルL=(l0,l1,…,l|L|)、状態変数の集合X={X1,X2,…,X|X|}、及び環境の観測可能なブールプロパティの集合O={o1,o2,…,o|O|}を含むことができ、式中、|L|、|X|、|O|は有限であり、|L|、|X|、|O|≧0である。各状態変数Xiには、有限値の集合内の値、すなわち、Xi∈Hi={┴,h1i,…,hi|Hi|}を割り当てることができ、Hiは有限であり、┴は特別なヌル値を表す。
【0182】
各処理レベルl
iは、実行可能モジュールのセット、又は単に「モジュール」、M
i={m
1
i,…,m
i
|Mi|}から構成され得、アクティブ状態変数の集合、V
i⊂Xに関連付けられ得、アクティブ状態変数は、状態変数Xのサブセットである。加えて、又は代替として、各モジュールは、状態変数の別個のサブセットに対応し得る。
【数13】
で、漸進的タスクユニット構造の全てのレベルにおける全てのモジュールのセットを示す。
【0183】
各モジュールmi
jは、その実行の可能な結果を表すオプションの非空集合{αi
j,βi
j,..,,χi
j}によって定義することができる。オプションを示すために使用される記号(例えば、αi
j)は、全ての漸進的タスクユニット構造において一意の識別子として設定され得る。各オプションは、以下の属性の1つ以上に関連付けることができる。
【0184】
-実行条件αi
jψ:Oにおける環境130の観測可能なブールプロパティの特定の構成。この構成は、対応する結果が発生したことを決定するために実行時に使用される観測可能な条件を表す。実行条件が満足された場合、1つ以上の対応する後続実行可能モジュールが実行され得る。換言すれば、実行条件は、前のモジュールの実行の結果を示す、知覚ユニット212によって検出されたイベントに対応し得る。所与の実行可能モジュールのオプションに対応する実行条件は、相互に排他的であってもよい。
【0185】
-確率αi
j.p:対応する結果の発生の確率又は対応する実行可能モジュールの「実行確率」であり、モジュール内の全てのオプションに対する全ての確率値の合計は1に等しい。発生確率は、例えばMLA技術を使用して、動作中に自律システム200によって学習され得るため、本技術は標準的な計画技術とは区別される。実際に、標準的な計画技術は、1つのアクションの実行が1つの結果のみを有し得ることを考慮し得る。一例として、標準的な計画技術では、自律システムがドアを開くことである場合、計画時におけるこのアクションの対応する結果は、ドアが開くことである。しかしながら、これは、ドアがロックされ又は壊れる可能性を考慮していない。コンピュータシステム210は、自律システムの動作中の経験に基づいて、及び/又はMLA技術を使用して、結果の発生の確率を確立することができる。
【0186】
-実行スコア又は「品質」、αi
j.q:この結果を達成するための推定スコア。実行スコアは、一定値又は状態変数Xの関数であってもよい。それは、対応するタスクを実施するためにどの実行可能モジュールが優先的に実行されるべきかを示すアクションストラテジを生成するために使用されてもよい。
【0187】
-持続時間αi
j.d:この結果を達成するための推定時間。一実施形態では、dは、アクションを実施するための特定のリソースの推定量を表す。例えば、dは、アクションを実施するために必要とされるメモリサイズ、又はアクションを実施するために必要とされる自律システム200のバッテリの推定量を表すことができる。持続時間は、一定値として、又は状態変数の関数として表すことができる。
【0188】
-1つ以上の後続実行可能モジュールαi
j.SM:対応する結果の後にイネーブルされる後続実行可能モジュールのセット。同じ又は別の実施形態では、後続の実行可能モジュールは、同じレベルにあるか、又は現在の実行可能モジュールに対して次のレベルにある。
【0189】
-1つ以上の状態変数更新αi
j.SVU:この結果の後に考慮されなければならない状態変数割り当てのセットであり、状態変数は自律システム200の状態の記述に対応する。対応する結果が生じたと判定されると、1つ以上の状態変数を更新することができ、(Xk←h’
k)∈αi
j.SVU、Xi∈Viであり、現在のレベルに対応する状態変数のみが更新され得ることを考慮し、h’
i∈Hiである。
【0190】
各漸進的タスクユニット構造、したがって各オブジェクティブは、当該漸進的タスクユニット構造の優先度の相対的レベルを定義する優先度関数に関連付けることができる。追加的又は代替的に、各モジュールは、他の実行可能モジュール及び/又は漸進的タスクユニット構造の優先度のレベルと比較した、対応する実行可能モジュールの優先度の相対的レベルを定義する優先度関数に関連付けられ得る。優先度関数は、以下で説明するように、アクションストラテジの実行中に使用することができる。
【0191】
漸進的タスクユニット構造400は、候補オブジェクティブ又は自律システム200がユーザと対話する必要があるという判定が行われた場合に満たされるオブジェクティブに対応し得る。したがって、漸進的タスクユニット構造400は、ユーザを待って当該ユーザと対話するために実施されるアクションを含み得る。
【0192】
この例示的な漸進的タスクユニット構造400では、自律システム200は、ユーザの要求に応じて2つのアクティビティA及びBを実行することができる。しかしながら、ユーザは、これらの能力を認識していない場合がある。自律システム200は、最初に待機状態にあってもよい。
【0193】
ユーザがロボットの前で検出されるときはいつでも、自律システム200は、それが実施し得るアクティビティA及びBを記述するためにユーザとの対話を開始することができる。ユーザは、次いで、それらのうちの1つを選択するか、又は関心がないと回答することができる。アクティビティが選択されると、自律システム200は、それを実施するためのタスクを実行する。各アクティビティは、アクティビティAのための2つの代替タスクTaskA1及びTaskA2、並びにアクティビティBのためのTaskB1及びTaskB2の実行によって行われ得る。タスクの実行後、自律システム200は、待機状態に戻り、次のユーザを待機することができる。
【0194】
例示的な漸進的タスクユニット構造400は、3つの処理レベル、すなわち、実行可能モジュール412を含む初期層410と、実行可能モジュール422を含む対話層420と、実行可能モジュール432、434、436、及び438を含むアクション層430と、実行可能モジュール442を含む最終層440と、を含む。この例示的な例では、Xは空であり、O={person;A;B;none}である。持続時間(d)及び品質(q)の特定の値が、対応する実行可能モジュールにおいて
図4に示され、結果の確率及び実行可能モジュールMのリストが
図5に例示されている。
【0195】
ユーザとの対話中に、以下の不都合が発生する可能性がある。すなわち、ユーザが、例えば自律システム200に応答しないことによって対話を完了しない、任意のアクションが、漸進的タスクユニット構造400において定義されていない理由で失敗する可能性がある、並びに/又は任意のアクションが、一部の外部コマンド及び/若しくは条件に従って中止される可能性がある。
【0196】
本技術にロバスト性を提供するために、各実行可能モジュールは、状態変数Xのサブセットの所定の構成と関連付けられてもよい。例えば、カメラで写真を撮影する例示的アクションに対応する第1の実行可能モジュールは、状態変数の以下の構成と関連付けられてもよい。
【0197】
{camera:ON,battery:HIGH}、状態変数は、自律システム200のカメラ状態「camera」及びバッテリレベル「battery」である。
【0198】
第1の実行可能モジュールに対応するアクションは、当該第1の実行可能モジュールの構成が満たされていないという判定が行われた場合、自律システム200の障害又は「障害状態」として識別され得る。例えば、カメラがオフであり、かつ/又はバッテリが低い場合、自律システムは障害状態であると宣言され得る。漸進的タスクユニット構造は、自律システム200が障害状態であると宣言されたときに実行されるように構成された障害回復モジュールを含み得る。
【0199】
以下でより詳細に説明されるように、障害回復モジュールは、自律システム200が、対応するタスクの遂行を追求するために実行可能モジュールに対応するアクションを実施することに失敗したという判定が行われたときに、コンピュータシステム210によって実行され得るリソース有界を表す。換言すれば、状態変数又は状態変数の部分集合が値の1つ以上の特定の組み合わせを有するという判定が行われたとき、障害回復モジュールが実行され得る。
【0200】
障害回復モジュールは、状態変数の1つ以上の構成に対応することができる。換言すれば、障害回復モジュールは、異なる障害状況を「包含」し、当該状況から回復するために実行され得る。
【0201】
前の例に戻って参照すると、第1の実行可能モジュールが実行されることになり、状態変数の構成が{camera:OFF,battery:HIGH}の場合、自律システムは、カメラを用いて画像を捕捉しなくてもよい。状態変数{camera:OFF,battery:HIGH又はLOW}の構成に対応する障害回復モジュールを漸進的タスクユニット構造に組み込んで、例えば自律システムを修理ステーションに行かせることができる。したがって、アクションの起こり得る障害は、障害回復モジュールを用いて、障害の場合に実施されるリソース制限付きアクションを示すことによって、アクションストラテジの実行の前に予期され得る。
【0202】
本明細書で説明される漸進的タスクユニット構造は、タスクを記述する形式を包含する。この実施形態では、漸進的タスクユニット構造は、利用可能なリソースに従ってタスク遂行の深さ及び精緻化を適応させる能力が提供されるように、対応するタスクを遂行するための異なる方式を表す階層として形式化される。当業者は、本技術が統一された計画言語を記述することができ、階層的タスクネットワーク(HTN)、動的ベイズネットワーク(DBN)、及び代数的決定図(ADB)が漸進的タスクユニット構造から検索及び/又は導出され得ることを理解するであろう。
【0203】
図5は、本技術の一実施形態による、漸進的タスクユニット構造の記述的表500である。記述的表500は、漸進的タスクユニット構造400の実行可能モジュールの名前のリスト510を、それぞれのオプション420と組み合わせて含む。実行可能及びオプションの各組み合わせは、記述的表500の列530におけるその対応する実行条件、列540におけるその対応する確率、及び列550におけるその後続の実行可能モジュールに関連付けられる。
【0204】
例えば、漸進的タスクユニット構造400の実行可能モジュール422、すなわち記述的表500内の実行可能モジュール
【数14】
は、3つのオプションを含む。
【0205】
【数15】
は、ユーザがアクティビティAを選択した場合の結果に対応し、
【数16】
は、ユーザがアクティビティBを選択した場合の結果に対応し、
【数17】
は、ユーザがいずれも選択しなかった場合の結果に対応する。
【0206】
漸進的タスクユニット構造は、
図4に例示する木構造として、
図5に例示する記述的表として、又は同等の特徴を有する任意の他の好適な様式として表すことができる。
図4及び
図5の図は、理解を助けるために設定されており、本技術の範囲を示すものではない。この態様は限定的ではない。
【0207】
計画モジュール260は、漸進的タスクユニット構造400などの漸進的タスクユニット構造からアクションストラテジを導出するように構成されてもよく、アクションストラテジの実行は、当該漸進的タスクユニット構造に対応するアクティブオブジェクティブを遂行することをもたらす。したがって、実行可能なアクションストラテジは、自律システム200の漸進的タスクユニット構造及び状態変数に依存する。
【0208】
一実施形態では、計画モジュール260は、コンピュータシステム210によって受信された各候補オブジェクティブに対して1つのアクションストラテジを生成するように構成されてもよい。計画モジュール260は、好ましくは、より高いレベルの優先度を有するアクティブオブジェクティブを選択し、他のアクティブオブジェクティブを処理する前に、それらの漸進的タスクユニット構造を処理するように構成されてもよい。
【0209】
加えて、計画モジュール260は、アクティブオブジェクティブの漸進的ユニット構造をマージし、漸進的ユニット構造のマージに基づいてアクションストラテジを生成することにより、複数のアクティブオブジェクティブに対応する複数のアクションストラテジを1つのグローバルアクションストラテジにマージすることができる。漸進的ユニット構造のマージは、それぞれの記述的表500を連結することによって行うことができる。
【0210】
同じ又は別の実施形態では、計画モジュールは、確率的決定プロセスを使用して、因数分解マルコフ決定プロセスとして形式化された実行可能なアクションストラテジを生成する。マルコフ決定プロセス(MDP)は、離散時間確率制御プロセスである。これは、結果が部分的にランダムであり、部分的に意思決定者、すなわちユーザの制御下にあり得る状況において意思決定をモデル化するように構成された数学的フレームワークからなる。当業者が理解するように、漸進的タスクユニット構造に基づいて最適なポリシーを計算するためのプロセスの種々の実装形態が可能であり得るが、それでもなお、本技術の範囲内に留まる。
【0211】
図6は、本技術の一実施形態による、最適アクションストラテジを生成するための方法の動作を示すシーケンス図である。計画モジュールは、
図6に例示される動作を実行するように構成されてもよい。MDPは、ステップ610において、漸進的タスクユニット構造に基づいて生成され、MDPの生成は、以下に説明される。
【0212】
上述のような漸進的タスクユニット構造が与えられると、計画モジュールは、MDPを生成するように構成される。MDPは、(S;A;T;R)として定義され、Sは、自律システム200の状態の有限集合であり、Aは、アクションの有限集合であり、T(s;ac;sf)は、アクションacを使用して状態sから状態sfに進む確率を示す遷移関数であり、R(s;ac;sf)は、状態sにおいてアクションacを使用し、状態sfに到達するための予想される利得を表す報酬関数である。
【0213】
MDPは、A pratical framework for robust decision-theoretic planning and execution for service robots (L.Iocchi et al.2016)に記載されているような漸進的タスクユニット構造に基づいて定義されてもよく、その内容は参照により組み込まれる。形式的には、動作610における計画モジュールの出力は、
【数18】
とすることができ、式中、
【数19】
は初期状態であり、Gは最終状態の集合であり、各タプル
【数20】
において、
【数21】
は、
【数22】
によって定義される状態であり、
【数23】
は、この状態で実行されるアクションであり、漸進的タスクユニット構造内の実行可能モジュールに対応し、SS
i
jは、対
【数24】
の集合であり、
【数25】
は、後続状態及びα
i
kである。ψは、漸進的タスクユニット構造において宣言され、対応する結果に関連付けられた実行条件である。
【0214】
計画モジュールは、動作620において、MDPに基づいて実行可能なアクションストラテジを定義するように更に構成される。計画モジュールは、グローバル実行スコアを決定するように構成されてもよく、グローバル実行スコアは、MDPの状態に対応する実行可能モジュールに関連付けられた実行スコアの組み合わせである。
【0215】
この実施形態では、実行スコアは、それぞれの実行可能モジュールの実行確率によって重み付けされる。同じ又は別の実施形態では、実行可能なアクションストラテジは、以下のように与えられるベルマン方程式を解くことによって定義される。
【数26】
【0216】
Vは、状態s及びにおいてアクションacを用いて行動する際の期待利得を表す期待値関数であり、R及びTは、それぞれ、報酬関数及び遷移関数である。
【0217】
Value Iteration[Richard Bellman.A markovian decision process.Indiana Univ.Math.J.]又はPolicy Iteration[R.A.Howard.Dynamic Programming and Markov Processes]などの古典的なアルゴリズムは、最適なアクションストラテジ、又は「最適なポリシー」を効率的に計算するように構成される。
【0218】
図7は、本技術の一実施形態によるアクションストラテジ700の表現である。アクションストラテジ700は、例示的な漸進的タスクユニット構造400に対応する。状態
【数27】
は初期状態であり、
【数28】
は目標状態の集合である。表現700は、MDPの状態710と、それらの対応するアクション720と、それらの対応する集合SS
i
jとを含み、これについては前述されている(730)。
【0219】
前述したように、漸進的タスクユニット構造の障害回復モジュールは、自律システム200の障害状態を定義することができる。
図8は、本技術の一実施形態によるアクションストラテジ800の表現である。アクションストラテジの第1の部分810は、漸進的タスクユニットの実行可能モジュールに対応する状態、すなわち「安全」状態を含み、アクションストラテジの第2の部分820は、漸進的タスクユニットの障害回復モジュールに対応する障害状態、すなわち「非安全状態」を含む。
【0220】
一実施形態では、第1の部分810及び第2の部分820は、独立して実行され得る2つの異なるアクションストラテジ及び/又は2つの異なる漸進的タスクユニット構造に対応し得る。安全状態を障害状態から分離することは、アクションストラテジの実行中に状態変数の集合を低減し、本技術のスケーラビリティを向上させるのに役立つ。
【0221】
障害回復モジュールは、自律システム200によって実施されるリソース制限付きアクション、又は別個の漸進的タスクユニット構造、すなわち「障害回復漸進的タスクユニット構造」のいずれかに対応することができる。
【0222】
換言すれば、自律システム200が第1の漸進的タスクユニット構造の障害回復モジュールに対応する安全でない状態にあるという判定が行われた場合、第2の漸進的タスクユニット構造(例えば、障害回復漸進的タスクユニット構造)が実行され得る。第2の漸進的タスクユニット構造は、自律システムの安全でない状態に対応する障害から回復するために実施されるリソース制限付きアクションの階層を含み得る。第2のアクションストラテジは、第2の漸進的タスクユニット構造から生成され、上述したものと同様の方式で更に実行されてもよい。
【0223】
自律システム200によって実施されるリソース制限付きアクションに対応する障害回復モジュールは、自律システム200の「部分的障害状態」を表し、コンピュータシステム210による障害回復漸進的タスクユニット構造の実行を引き起こす障害回復モジュールは、自律システム200の「全体的障害状態」を表すということができる。
【0224】
図7の例証的例では、自律システムは、望ましくない挙動又は「障害状態」であり得る、アクション「Bye」を際限なく繰り返すように構成される。
図8では、実行条件
【数29】
が真であるときにシステムを障害状態f
1に遷移させるために、状態変数ByeCounterが対応する漸進的タスクユニット構造に追加されている。したがって、計画モジュールによって実行条件
【数30】
が真であるという判定が行われた場合に、自律システム200によって特定のアクションが実施されてもよい。
【0225】
図9は、本技術の一実施形態による、実行可能なアクションストラテジ700の有限状態機械である。この例示的な実施形態では、実行可能アクションストラテジ700は、自律システム200の状態
【数31】
を表すノードと、実行可能アクションストラテジアクション
【数32】
の実行を表す遷移と、を有するオートマトンとして表される。アクションストラテジは、有限ホライズン、すなわちアクションの最大数がコンピュータシステム210によって設定されるか、又は無限ホライズン、すなわちアクションの制限されていない数のいずれかを有することができる。
【0226】
図7及び
図9の例示的な例は、最終状態の後続の実行可能モジュールが最終状態自体であるため、無限ホライズンを有するアクションストラテジを例示している。無限ホライズンは、自律システム200がアクションストラテジの実行を決して完全に終了しない構成である。
【0227】
実行可能モジュールに対応する状態変数の部分集合を使用することは、アクションストラテジの生成を容易にすることができる。実際に、コンピュータシステムは、対応する漸進的タスクユニット構造における状態変数の部分集合に対応する実行可能モジュールを選択し、それらの実行可能モジュールのみに基づいてアクションストラテジを生成してもよい。
【0228】
例えば、自律システム200によって人間を探索している間(例えば、当該人間が探索されるであることを示すオブジェクティブに基づくアクションストラテジの実行中)、バッテリがLOWであるという判定が行われた場合、コンピュータシステム210は、状態変数:battery:LOWを含む実行可能モジュールに対応する当該アクションストラテジのノードのみを考慮し得る。実際、この状況では、自律システム200は、高レベルのバッテリを必要とするアクションを実施することができない場合がある。
【0229】
このため、状態変数の部分集合は、他の状態変数が実行時に考慮されないことがあるため、「焦点化変数」と称されることがある。例えば、実行可能モジュールの焦点化変数の使用は、アクションストラテジを500.000ノードから100.000ノードに低減する。
【0230】
例えば、
図9のセマンティックマップを画定することによってアクションストラテジを定義すると、計画モジュールは、実行可能なアクションストラテジを実行モジュールに更に伝送するように構成される。実行モジュールは、対話ユニット220を介して実行可能なアクションストラテジを実行するように構成される。
【0231】
同じ又は別の実施形態では、実行モジュールは、知覚ユニット212に通信可能に接続されて、状態変数X={X
1,X
2,…,X
|X|}を決定し、それによって自律システム200の現在の状態
【数33】
を決定することができる。対話ユニット220は、自律システム200に環境230と対話させるように構成された物理的及び/又は論理的アクチュエータ、機構、デバイス、又は任意の要素を動作させる。
【0232】
実行モジュール270は、アクションストラテジを初期状態からブラウズすることによって、実行可能なアクションストラテジを実行するように構成され得る。MDPの各状態の後続状態のリストは、上述したような漸進的タスクユニット構造に従って生成されてもよく、アクションストラテジに含まれてもよい。したがって、環境230の観測可能な環境プロパティにわたる実行条件αi
k.ψは、アクションストラテジの実行中に知覚ユニット212によって評価されてもよい。
【0233】
自律システム200がどの第1の状態
【数34】
にあるかを判定すると、実行モジュール270は、対応するアクション
【数35】
を実施するように構成され得る。このアクションが実施されると、実行モジュールは、第1の状態
【数36】
の後続状態の中で自律システム200の新しい状態
【数37】
を決定するように構成され得る。
【0234】
自律システムがGに含まれる最終状態にあると判定すると、実行モジュールは、計画の実行を終了し、アクションストラテジの実行が完了したことを示す第1の信号をコンピュータシステム210に返すように構成される。
【0235】
より一般的な態様では、実行モジュールは、実行モジュールを実行し、自律システム200の現在の状態
【数38】
を決定すると、現在のアクションストラテジの完了の状態を示す信号をコンピュータシステム210に返す。
【0236】
この段落で「第1の」優先度レベルと称される現在の第1のアクティブオブジェクティブの優先度関数の指示は、推論モジュール250に更に伝送されてもよい。推論モジュール250は、オブジェクティブのリスト322内の各アクティブオブジェクティブの優先度関数を連続的に比較するように構成され得る。
【0237】
第1のアクティブオブジェクティブに対応する第1のアクションストラテジの生成及び/又は実行中に、第2のインコヒーレントな動的環境プロパティが受信され、推論モジュール250に第1の優先度レベルよりも高い優先度レベルを有する第2のアクティブオブジェクティブをアクティブ化させるという判定が推論モジュール250によって行われた場合、推論モジュール250は、第1のアクションストラテジの生成及び/又は実行の中断を引き起こす信号を計画モジュール260に送信する。
【0238】
第2のアクティブオブジェクティブは、計画モジュール260によって更に処理されてもよく、実行モジュール270は、第2のアクティブオブジェクティブに対応する第2のアクションストラテジを実行してもよい。第1のアクションストラテジの生成及び/又は実行は、第2のアクションストラテジの生成及び実行が完了すると再開され得る。
【0239】
追加的又は代替的に、実行モジュール270は、現在のアクションストラテジの実行の状態、対応するアクティブオブジェクティブの優先度関数及び/又は任意の他の情報を推論モジュール250に通信してもよい。それによって、推論モジュール250は、各アクティブオブジェクティブの優先度関数に基づいて、目的のリスト322のどのアクティブオブジェクティブが実行され得るかを判定することができる。
【0240】
更に、優先度関数のかかる比較は、実行可能モジュールとアクティブオブジェクティブとの間で、及び/又は実行可能モジュール間で実行され得る。アクションストラテジのアクション、したがって実行状態は、それらの対応する漸進的タスクユニット構造内のそれらの対応する実行可能モジュールの優先度関数に関連付けられ得る。したがって、所与のアクティブオブジェクティブの現在の優先度関数は、対応するアクションストラテジのアクションが実行されるにつれて変化すると言うことができる。換言すれば、実行されているアクティブオブジェクティブの現在の優先度レベルは、実行されているその現在のアクション又は実行状態の優先度レベルであり得る。
【0241】
第1のアクティブオブジェクティブに対応する第1のアクションストラテジの実行は、アクティブオブジェクティブのリスト322内の第2のアクティブオブジェクティブが第1のアクションに対してより高いレベルの優先度を有するという判定がコンピュータシステム210によって行われた場合、第1のアクションにおいて中断され得る。
【0242】
換言すれば、第1のアクティブオブジェクティブに対応する第1のアクションストラテジの実行は、第2のアクティブオブジェクティブが第1のアクティブオブジェクティブの現在の実行状態に対してより高い優先度レベルを有するという判定がコンピュータシステム210によって行われた場合、第1のアクションにおいて中断されてもよく、第1のアクティブオブジェクティブの優先度レベルは、対応するアクションストラテジの実行中に変化する。
【0243】
代替的に、第2のアクションストラテジ及び/又は対応する第2のアクティブオブジェクティブが、第1のアクションに対してより高い優先度レベルを有するアクション及び/又は対応する実行可能モジュールを含むという判定がコンピュータシステム210によって行われた場合、第1のアクティブオブジェクティブに対応する第1のアクションストラテジの実行は、第1のアクションにおいて中断されてもよい。いずれにしても、第2のアクションストラテジは、第1のアクションストラテジの実行を再開する前に実行することができる。
【0244】
したがって、異なるアクティブオブジェクティブの実行可能モジュールの優先度関数が比較され得ると仮定すると、割り込みの粒度が増加する。結果として、本開示の文脈では、アクションストラテジは、障害に対してロバストであり、中断可能であると言うことができる。
【0245】
上記の実装形態は、特定の順序で実施される特定のステップを参照して説明及び図示されているが、これらのステップは、本技術の教示から逸脱することなく、組み合わされ、細分され、又は順序変更され得ることが理解されよう。各ステップの少なくとも一部は、並列的に実行されてもよく、又は直列的に実行されてもよい。したがって、ステップの順序及びグループ化は、本技術の限定ではない。
【0246】
本明細書で言及される全ての技術的効果が、本技術のありとあらゆる実施形態において享受される必要はないことが明確に理解されるべきである。
【0247】
本技術の上述の実装形態に対する修正及び改良は、当業者に明白となり得る。前述の説明は、限定ではなく例示を意図している。したがって、本技術の範囲は、添付の特許請求の範囲の範囲によってのみ限定されることが意図される。
【国際調査報告】