(57)【要約】      （修正有）【課題】ビークルのための多重入力からの協調制御の方法を提供すること。【解決手段】方法は、ビークルを制御するための手動入力および自律入力の受信に応答して、手動入力と自律入力の間の差異を決定することを含む。本方法は、ルートに沿って進むようにビークルを制御するために少なくとも差異、およびフィードバックパラメータの一関数として協調制御の形に手動入力および自律入力をブレンドすることを含む。ビークルがどのように制御されるかを適合させるように少なくとも差異に従ってフィードバックを生成することを含む。【選択図】図３
2019073261.tif 000002
【特許請求の範囲】
【請求項１】
ビークルの協調制御を提供するための協調システムにおいて、
１または複数のプロセッサと、
前記１または複数のプロセッサに対して通信可能に結合されたメモリであって、
前記１または複数のプロセッサにより実行されると、前記１または複数のプロセッサに、前記ビークルを制御するための手動入力および自律入力の受信に応答して、前記手動入力と前記自律入力の間の差異を決定させ、かつ、ルートに沿って進むように前記ビークルを制御するために少なくとも前記差異およびフィードバックパラメータの一関数として協調制御の形に前記手動入力および前記自律入力をブレンドさせる、命令を含む、制御モジュールと、
前記１または複数のプロセッサにより実行されると、前記１または複数のプロセッサに、前記ビークルがどのように制御されるかを適合させるように少なくとも前記差異に従ってフィードバックを生成させる、命令を含む、フィードバックモジュールと、
を記憶するメモリと、
を含む、協調システム。
【請求項２】
前記フィードバックモジュールが、前記フィードバックを生成する命令であって、前記ビークルがどのように前記自律入力を生成するかを制御するための自律パラメータを調整する適合フィードバックを生成する命令を含む、前記フィードバックを生成する命令をさらに含み、前記フィードバックモジュールが、前記ビークルがどのように前記ルートに沿って進んでいるかについての運転データを少なくともロギングすることによって、前記適合フィードバックを生成する命令をさらに含み、
前記フィードバックモジュールが、前記運転データに対し機械学習アルゴリズムを適用して前記ビークルが前記自律入力を生成するときに安全性を最適化するために前記自律パラメータを創出するようにすることによって前記適合フィードバックを生成する命令をさらに含む、
請求項１に記載の協調システム。
【請求項３】
前記フィードバックモジュールは、前記ビークルのドライバの運転選好性に従って前記ビークルがどのように前記自律入力を生成するかを制御するための自律パラメータを調整するパーソナライズ化フィードバックを生成する命令を含む、前記フィードバックを生成する命令をさらに含んでおり、
前記フィードバックモジュールは、パーソナライズ化データを解析して前記ドライバの運転選好性を識別し前記運転選好性に従って自律パラメータを修正する命令を含む、前記パーソナライズ化フィードバックを生成する命令をさらに含んでいる、
請求項１に記載の協調システム。
【請求項４】
前記フィードバックモジュールは、前記ドライバからの電子フィードバック入力を獲得することを少なくとも含む、パーソナライズ化データを獲得する命令と、前記ルートに沿ってどのように前記ビークルが進んでいるかについての運転データをロギングする命令と、前記手動入力をロギングする命令と、を含む、前記パーソナライズ化フィードバックを生成する命令をさらに含んでおり、
前記運転選好性には、少なくとも、車線位置選好性、車間距離選好性、速度選好性、制動選好性、加速選好性が含まれる、
請求項３に記載の協調システム。
【請求項５】
前記フィードバックモジュールは、前記手動入力を調整するようにドライバを誘発するためのコーチングフィードバックを生成する命令を含む、前記フィードバックを生成する命令をさらに含んでおり、前記フィードバックモジュールは、前記ビークルを制御しステアリングホイールにおける強制的フィードバックおよび前記ドライバに対する手動入力についての１または複数の指標のうちの少なくとも１つを生成することにより前記手動入力を調整するように前記ドライバを誘発するために前記コーチングフィードバックを生成するのに前記手動入力が受容できるやり方であるか否かを識別するために、前記ビークルの現在の環境との関係において前記差異を解析する命令を含む、前記コーチングフィードバックを生成する命令をさらに含んでいる、請求項１に記載の協調システム。
【請求項６】
前記、制御モジュールは、少なくとも前記ビークルのステアリングを制御する協調制御を生成するために前記自律入力および前記手動入力をブレンドする命令をさらに含み、前記制御モジュールは、少なくとも前記差異および前記ビークルの現在の環境に従って前記手動入力対前記自律入力の重みを変動させる命令を含む、ブレンドする命令をさらに含んでおり、
前記制御モジュールは、前記ビークルの半自律制御として前記協調制御を提供する目的でブレンドする命令をさらに含んでいる、
請求項１に記載の協調システム。
【請求項７】
前記手動入力は、前記ビークルの１または複数の入力／出力デバイスを通してドライバから前記ビークルが受信する電子制御であり、前記自律入力は前記ルートに沿って前記ビークルを自律的に制御するために前記ビークルにより創出される電子制御である、請求項１に記載の協調システム。
【請求項８】
前記フィードバックを生成することが、適合フィードバック、パーソナライズ化フィードバックおよびコーチングフィードバックを同時に生成して、３つの並列フィードバックメカニズムを通してどのように前記協調制御が創出されるかを修正することを含んでおり、前記ビークルは、前記手動入力と前記自律入力とを受容し、かつ、前記制御モジュールが自律入力および手動入力をどのようにブレンドするかからドライバを選択的に隔絶させる、２重入力メカニズムを含んでいる、請求項１に記載の協調システム。
【請求項９】
ビークルの協調制御を提供するための、かつ、命令を記憶するための、非一時的コンピュータ可読媒体であって、前記命令は、１または複数のプロセッサにより実行されると、前記１または複数のプロセッサに、
前記ビークルを制御するための手動入力および自律入力の受信に応答して、前記手動入力と前記自律入力の間の差異を決定することと、
ルートに沿って進むように前記ビークルを制御するために少なくとも前記差異およびフィードバックパラメータの一関数として協調制御の形に前記手動入力および前記自律入力をブレンドすることと、
前記ビークルがどのように制御されるかを適合させるように少なくとも前記差異に従ってフィードバックを生成することと、
を行わせる、非一時的コンピュータ可読媒体。
【請求項１０】
前記フィードバックを生成する命令は、前記ビークルがどのように前記自律入力を生成するかを制御するための自律パラメータを調整する適合フィードバックを生成する命令を含んでおり、前記適合フィードバックを生成する命令は、前記ビークルがどのように前記ルートに沿って進んでいるかについての運転データを少なくともロギングする命令を含み、
前記適合フィードバックを生成する命令は、前記運転データに対して機械学習アルゴリズムを適用して前記ビークルが前記自律入力を生成するときに安全性を最適化するために前記自律パラメータを創出するようにする命令を含む、
請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１１】
前記フィードバックを生成する前記命令は、前記ビークルのドライバの運転選好性に従って前記ビークルがどのように前記自律入力を生成するかを制御するための自律パラメータを調整するパーソナライズ化フィードバックを生成する命令を含んでおり、
前記パーソナライズ化フィードバックを生成する前記命令は、パーソナライズ化データを解析して前記ドライバの運転選好性を識別し前記運転選好性に従って自律パラメータを修正する命令を含んでいる、
請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１２】
前記フィードバックを生成する前記命令は、前記手動入力を調整するようにドライバを誘発するためのコーチングフィードバックを生成する命令を含んでおり、
前記コーチングフィードバックを生成する前記命令は、前記ビークルを制御しステアリングホイールにおける強制的フィードバックおよび前記ドライバに対する手動入力についての１または複数の指標のうちの少なくとも１つを生成することにより前記手動入力を調整するように前記ドライバを誘発するために前記コーチングフィードバックを生成するのに前記手動入力が受容できるやり方であるか否かを識別するために、前記ビークルの現在の環境との関係において前記差異を解析する命令を含んでいる、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記フィードバックを生成する前記命令は、少なくとも前記ビークルのステアリングを制御する協調制御を生成するために前記自律入力および前記手動入力をブレンドする命令を含み、前記ブレンドする命令は、少なくとも前記差異および前記ビークルの現在の環境に従って前記手動入力対前記自律入力の重みを変動させる命令を含んでおり、
前記ブレンドする命令は、前記ビークルの半自律制御として前記協調制御を提供する、
請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１４】
ビークルの協調制御を提供するための方法において、
前記ビークルを制御するための手動入力および自律入力の受信に応答して、前記手動入力と前記自律入力の間の差異を決定することと、
ルートに沿って進むように前記ビークルを制御するために少なくとも前記差異およびフィードバックパラメータの一関数として協調制御の形に前記手動入力および前記自律入力をブレンドすることと、
前記ビークルがどのように制御されるかを適合させるように少なくとも前記差異に従ってフィードバックを生成することと、
を含む方法。
【請求項１５】
前記フィードバックを生成することは、前記ビークルがどのように前記自律入力を生成するかを制御するための自律パラメータを調整する適合フィードバックを生成することを含み、前記適合フィードバックを生成することは、前記ビークルがどのように前記ルートに沿って進んでいるかについての運転データをロギングすることを含み、
前記適合フィードバックを生成することは、前記運転データに対して機械学習アルゴリズムを適用して前記ビークルが前記自律入力を生成するときに安全性を最適化するために前記自律パラメータを創出するようにすることを含む、
請求項１４に記載の方法。
【請求項１６】
前記フィードバックを生成することは、前記ビークルのドライバの運転選好性に従って前記ビークルがどのように前記自律入力を生成するかを制御するための自律パラメータを調整するパーソナライズ化フィードバックを生成することを含み、
前記パーソナライズ化フィードバックを生成することは、パーソナライズ化データを解析して前記ドライバの運転選好性を識別することと、前記運転選好性に従って自律パラメータを修正することを含む、
請求項１４に記載の方法。
【請求項１７】
パーソナライズ化フィードバックを生成することは、前記ドライバからの電子フィードバック入力を獲得することを少なくとも含む、パーソナライズ化データを獲得することと、前記ルートに沿ってどのように前記ビークルが進んでいるかについての運転データをロギングすることと、前記手動入力をロギングすることと、を含み、
前記運転選好性には、少なくとも、車線位置選好性、車間距離選好性、速度選好性、制動選好性、加速選好性が含まれる、
請求項１６に記載の方法。
【請求項１８】
前記フィードバックを生成することは、前記手動入力を調整するようにドライバを誘発するためのコーチングフィードバックを生成することを含み、前記コーチングフィードバックを生成することは、前記ビークルを制御しステアリングホイールにおける強制的フィードバックおよびドライバに対する手動入力についての１または複数の指標のうちの少なくとも１つを生成することにより前記手動入力を調整するように前記ドライバを誘発するために前記コーチングフィードバックを生成するのに前記手動入力が受容できるやり方であるか否かを識別するために、前記ビークルの現在の環境との関係において前記差異を解析することを含む、請求項１４に記載の方法。
【請求項１９】
前記自律入力と前記手動入力をブレンドすることは、少なくとも前記ビークルのステアリングを制御する協調制御を生成し、前記ブレンドすることは、少なくとも前記差異および前記ビークルの現在の環境に従って前記手動入力対前記自律入力の重みを変動させること含み、
前記ブレンドすることは、前記ビークルの半自律制御として前記協調制御を提供する、
請求項１４に記載の方法。
【請求項２０】
前記手動入力は、前記ビークルの１または複数の入力／出力デバイスを通してドライバから前記ビークルが受信する電子制御であり、前記自律入力は前記ルートに沿って前記ビークルを自律的に制御するために前記ビークルにより創出される電子制御であり、
前記フィードバックを生成することが、適合フィードバック、パーソナライズ化フィードバックおよびコーチングフィードバックを同時に生成して、３つの並列フィードバックメカニズムを通してどのように前記協調制御が創出されるかを修正することを含む、
請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示中に記載の主題は、概してビークル（車両、乗り物、輸送機関）用の協調制御を提供するためのシステムに関し、より詳細には、協調制御をロバストな形で提供する目的で多数のフィードバックパスを用いて協調制御を生成することに関する。
【背景技術】
【０００２】
衝突回避システム、先進クルーズコントロール、先進運転支援システム（ＡＤＡＳ）および他の自律的または半自律的ビークル制御形態を用いて提供され得るようなビークルの自動制御を同乗者／ドライバがどのように感知するかについては、多くの異なる要因が影響を及ぼす可能性がある。例えば、概して、ビークルが自律制御を生成する場合、この自律制御は、計算システムから見て理想的なパスないし軌跡に従って客観的に計算される。すなわち、ビークルは、例えばビークルを車線の中央部分内に維持する自律制御を創出してもよい。しかしながら、隣接車線内で過度に近くを追越すビークル、特定のパスを維持するための不規則な／想定外の操作などを理由として、ドライバがこの動作スタイルを否定的に感じるおそれがある。
【０００３】
その上、ビークルにより生成される自律制御は、制御が突発的にまたは不規則に介入しかつ／または提供されると、ドライバが感じる連続性を混乱させる可能性がある。このような一貫性のなさは、例えば、ドライバの入力を考慮に入れることのできない複雑な制御システムに起因するおそれがある。例えば共用制御を伴うシステムにおいては、互いに対抗し得る２つの独立した制御ストリームが提供される（例えば手動および自律）。しかしながら、２つの入力は相反するので、ビークルは、別個の制御がビークルを個別に制御することを可能にするには極めて複雑なものとなり得る制御を実装する。したがって、結果として得られるビークルの制御は、不規則となるおそれがあり、円滑で途切れのないライド（乗ること）を提供するためのロバスト性を欠くおそれがある。こうして、ビークルの内部に自律的および半自律的制御を実装しようと試みるとき、自律／半自律制御に対するドライバの信頼を損ねるおそれのある問題点が発生する。
【発明の概要】
【０００４】
概要
一実施形態において、例示的システムおよび方法はビークルを制御するための協調制御の創出のやり方に関する。例えば、さまざまな実施形態において、ビークルは、ビークルを操舵するドライバからの手動入力といくつかの自律的機能（例えば衝突回避）を行なっているビークルの制御モジュールからの自律入力とを同時に受信し得る。いずれの場合でも、多重入力は矛盾するおそれがある。換言すると、手動入力は自律入力と異なるおそれがある。したがって、ビークルが入力同士間の不一致をどのように仲裁するかは、ビークルがどのように制御されるかに影響を及ぼすのみならず、ビークルの自律性態様についてのドライバの信頼感にも影響を及ぼすおそれがある。
【０００５】
こうして、一実施形態において、協調システムは、多重入力から協調制御を生成するための追加の入力ソースとして機能する。例えば、協調システムは手動入力および自律入力を受信し、その間の差異を決定する。したがって、協調システムは次に入力を共にブレンドして、ビークルを制御するための協調制御を創出することができる。その上、協調システムはさらに、協調制御を精微化し協調制御を創出するロバストなやり方を提供する目的でさまざまなフィードバックメカニズムを実装する。すなわち、一実施形態において、協調システムは、協調制御がどのように創出されるかを調整する目的で適合フィードバック、パーソナライズ化フィードバック、およびコーチングフィードバックの形でフィードバックを生成する。
【０００６】
例えば、協調システムは、自律入力がどのように生成されるかを客観的に改良するために適合フィードバックを生成する。すなわち、協調システムは、自律入力を創出するために使用される自律パラメータを、新たに学習された状況および／または他の要因を用いて精微化する。さらに、協調システムは同様に、自律入力がドライバの選好性に従ってどのように生成されるかを調整するパーソナライズ化フィードバックも生成する。その上、協調システムは同様に、ドライバがどのように手動入力を提供するかに影響を及ぼすためのコーチングフィードバックも生成する。このようにして、協調システムは、例えば不規則な／想定外の操作を回避するビークル制御のシームレスなやり方の形に別個の入力をブレンドするためのロバストなメカニズムを提供する。
【０００７】
一実施形態においては、ビークルの協調制御を提供するための協調システムが開示される。協調システムは、１または複数のプロセッサとメモリとを含む。メモリは、１または複数のプロセッサに対して通信可能に連結され、制御モジュールおよびフィードバックモジュールを記憶する。制御モジュールは、１または複数のプロセッサにより実行されると、１または複数のプロセッサに、ビークルを制御するための手動入力および自律入力の受信に応答して、手動入力と自律入力の間の差異を決定させる命令を含む。制御モジュールは、ルートに沿って進むようにビークルを制御するために少なくとも差異、およびフィードバックパラメータの一関数として協調制御の形に手動入力および自律入力をブレンドさせる命令を含む。フィードバックモジュールは、１または複数のプロセッサにより実行されると、１または複数のプロセッサに、ビークルがどのように制御されるかを適合させるように少なくとも差異に従ってフィードバックを生成させる命令を含む。
【０００８】
一実施形態においては、ビークルの協調制御を提供するためのコンピュータ可読メモリが開示される。コンピュータ可読メモリは、１または複数のプロセッサにより実行されると、１または複数のプロセッサに機能を行わせる命令を記憶する。命令には、ビークルを制御するための手動入力および自律入力の受信に応答して、手動入力と自律入力の間の差異を決定するための命令が含まれる。命令には、ルートに沿って進むようにビークルを制御するために少なくとも差異、およびフィードバックパラメータの一関数として協調制御の形に手動入力および自律入力をブレンドする命令が含まれる。命令には、ビークルがどのように制御されるかを適合させるように少なくとも差異に従ってフィードバックを生成する命令が含まれる。
【０００９】
一実施形態においては、ビークルのための協調制御を提供するための方法が開示される。この方法は、ビークルを制御するための手動入力および自律入力の受信に応答して、手動入力と自律入力の間の差異を決定することを含む。本方法は、ルートに沿って進むようにビークルを制御するために少なくとも差異、およびフィードバックパラメータの一関数として協調制御の形に手動入力および自律入力をブレンドすることを含む。本方法は、ビークルがどのように制御されるかを適合させるように少なくとも差異に従ってフィードバックを生成することを含む。
【００１０】
図面の簡単な説明
明細書に組込まれ明細書の一部を構成する添付図面は、本開示のさまざまなシステム、方法および他の実施形態を例示する。図中の例示された要素境界（例えばボックス、ボックスのグループまたは他の形状）が境界の一実施形態を表わす、ということが認識される。いくつかの実施形態において、１つの要素を多数の要素として設計してもよく、または多数の要素を１つの要素として設計してもよい。いくつかの実施形態において、別の要素の内部コンポーネントとして示された要素を外部コンポーネントとして、およびその逆に、実装することもできる。さらに、要素は、原寸に比例して描かれていない場合もある。
【図面の簡単な説明】
【００１１】
【図１】本開示中に開示されているシステムおよび方法が実装され得るビークルの一実施形態を例示する。
【００１２】
【図２】ビークルを制御するための協調制御を生成することに結び付けられる協調システムの一実施形態を例示する。
【００１３】
【図３】手動入力と自律入力をブレンドすることにより協調制御を生成することに結び付けられる方法の一実施形態を例示する。
【００１４】
【図４】本開示中で論述されている、さまざまなフィードバックメカニズム、およびフィードバックメカニズムに結び付けられたデータパスを例示する略図である。
【００１５】
【図５】道路の俯瞰図を例示する。
【００１６】
【図６】図５の道路について提供され得る手動入力、自律入力および協調制御のグラフを例示する。
【発明を実施するための形態】
【００１７】
詳細な説明
協調制御を生成することに結び付けられるシステム、方法および他の実施形態が開示されている。前述のように、ビークルは、操舵または他の動作態様を制御するための異なる入力ソースを含むことができる。したがって、動作中、異なる入力が同時に提供された場合、これらの入力が矛盾して、いくつかの例においてはビークルの望ましくない制御をひき起こすおそれがある。
【００１８】
したがって、本開示では、さまざまなフィードバックメカニズムを用いて多数のソースからの制御入力を仲裁することによって協調制御を提供するために、協調システムおよび付随する方法の実施形態が開示される。一実施形態において、開示された協調システムによって実装される機能性は、２関節筋に結び付けられた類似の生体力学的概念に従って提供される。概して、２関節筋の概念は、同じ機能を支持する冗長筋に関係する。すなわち、一例として、人間の腕は、接触力を生成することに寄与するために少なくとも３つの別個の筋肉を使用して、壁に対する接触力（例えば壁を押す）を生成する。このようにして、人間の腕は、接触力などを適用するさまざまな角度に適合できる定常でロバストな力を提供する。
【００１９】
対照的に、ロボットアームが２つの力発生メカニズムを伴って実装され、しかしながら人体における第３の筋肉（２関節筋）を反映すると考えられる第３のメカニズムが欠如している場合には、ロボットアームは、表面に対して接触力を適用する能力を有しながら、異なる接触力適用角度および定常力を維持する能力が困難であるおそれがある。したがって、２関節筋で指摘されたように、追加の冗長力適用メカニズムの存在は、変動する条件に適合できる、ロバストな筋肉メカニズムを提供する。
【００２０】
したがって、同様に、現在開示されている協調システムおよび付随する方法は、制御のロバスト性を改善する追加のメカニズムを使用することにより、ビークルの共用制御の改善を提供する。すなわち一実施形態において、ビークルを制御するための手動入力および自律入力に加えて、協調システムは、同時に多数のフィードバックメカニズムを使用しながら、手動入力および自律入力を協調制御の形にブレンドするように機能する追加の入力を提供する。協調システムと共に実装されるフィードバックメカニズムは、強調システムが協調制御の生成を通して同様に追加の冗長性を提供しながら入力を精緻化できるような形で、どのように手動入力および自律入力が創出されるかをさまざまな態様に知らせるように機能する。このようにして協調システムは、ビークルを制御するために共用制御（すなわち協調制御）がどのように生成されるかについてのロバスト性を改善する２関節筋の概念を反映する。
【００２１】
その結果、一実施形態において、協調システムおよび／またはビークルの他の態様（例えば自律モジュール）は、１または複数の入力デバイス（例えばステアリングホイール）を通してドライバからの手動入力も受信する一方で、自律入力を生成するために道路、オブジェクトないし物体、障害物などについての態様を識別するべく周囲環境を監視することができる。いずれの場合においても、協調システムは自律入力を手動入力と比較して、ドライバが自律入力にいかに近い形でビークルを制御しているかを決定するための、又はその逆の、測定基準を導出する。こうして、一実施形態において、協調システムは、自律入力と手動入力の間の差異として測定基準を創出して、ドライバがビークルを運転パスにいかに接近して制御しているかを決定する。その結果、協調システムは、例えば、ビークルのロバスト制御を提供する目的で、差異および／または他のパラメータ（例えば現在のコンテキストパラメータなど）の一関数として手動入力と自律入力のブレンドである協調制御を生成することができる。
【００２２】
その上、さらなる態様において、協調システムは、協調システムに対する入力を精緻化し又は他の形で改善するための多数のフィードバックメカニズムを実装する。すなわち一実施形態において、協調システムは、（ｉ）ドライバをコーチングし手動入力がどのように生成されるかに影響を及ぼすために、（ｉｉ）ビークルがどのように自律入力を生成するかを適合させるために、および（ｉｉｉ）ドライバの選好性に応じて自律入力をパーソナライズするために、フィードバックを生成する。このようにして、協調システムは、ビークルを動作させるための共有制御を改善することができる。
【００２３】
図１を参照すると、ビークル１００の一例が例示されている。本開示で使用される「ビークル」とは、任意の形態の原動機付き輸送体のことである。１または複数の実装において、ビークル１００は自動車である。本開示では自動車に関する構成が説明されるものの、実施形態が自動車に限定されないことが理解される。いくつかの実装において、ビークル１００は、例えば、本開示で論述されている機能性の恩恵を受ける他の任意の原動機付き輸送体であり得る。
【００２４】
ビークル１００は同様にさまざまな要素を含む。さまざまな実施形態において、ビークル１００が図１に示された要素の全てを有する必要があるとはかぎらないということが理解される。ビークル１００は、図１に示されたさまざまな要素の任意の組み合わせを有することができる。さらに、ビークル１００は、図１に示されたものに追加の要素を有することができる。いくつかの構成において、ビークル１００は、図１に示された要素の１つ又は複数を備えずに実装されてもよい。図１にはビークル１００内部に位置設定されているものとしてさまざまな要素が示されているが、これらの要素の１つ又は複数はビークル１００の外部に位置設定され得ることが理解される。さらに、図示された要素は、物理的に大きい距離だけ分離されていてよい。
【００２５】
ビークル１００の考えられる要素のいくつかが図１に示されており、後続する図と共に説明される。しかしながら、図１中の要素の多くについての説明は、この説明を簡潔なものにするため、図２から６の論述の後に提供される。さらに、例示を単純かつ明確にするため、該当する場合には、対応するまたは類似の要素を標示するために、異なる図の間で参照番号が繰返し使用されていることが認識される。さらに、論述は、本開示に記載の実施形態を完全に理解できるようにするため、多くの具体的な詳細の概要を示している。しかしながら、当業者であれば、本開示に記載の実施形態がこれらの要素のさまざまな組み合わせを用いて実践され得ることを理解する。
【００２６】
いずれの場合でも、ビークル１００は、ビークル１００を動作させるための協調制御の生成に関して本開示に開示されているような方法および他の機能を行なうために実装される協調システム１７０を含む。協調システム１７０が協調制御を生成する結果として、ビークル１００は、入力間の差異および／または制御を生成するための他の要因に従って共にブレンドされた、ドライバからの入力とビークル１００により計算される入力との両方の入力を介して動作（例えば操舵）させられる。
【００２７】
図２を参照すると、図１の協調システム１７０の１つの実施形態がさらに例示されている。協調システム１７０は、図１のビークル１００からのプロセッサ１００を含むものとして示されている。したがって、プロセッサ１１０は、協調システム１７０の一部であってよく、協調システム１７０はビークル１００のプロセッサ１１０とは別個のプロセッサを含んでいてもよく、または、協調システム１７０はデータバスもしくは別の通信パスを通ってプロセッサ１１０にアクセスしてもよい。一実施形態において、協調システム１７０は、制御モジュール２２０およびフィードバックモジュール２３０を記憶するメモリ２１０を含む。メモリ２１０は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、ハードディスクドライブ、フラッシュメモリ、または、モジュール２２０および２３０を記憶するための他の好適なメモリである。モジュール２２０および２３０は例えば、プロセッサ１１０により実行された場合にプロセッサ１１０に本開示に開示されたさまざまな機能を行なわせるコンピュータ可読命令である。
【００２８】
したがって、制御モジュール２２０は概して、ビークル１００の１つ又は複数のセンサからセンサデータを収集し、一実施形態では自律入力を計算するためにプロセッサ１１０を制御するように機能する命令を含む。代替実施形態においては、自律モジュール１６０が代ってセンサデータを収集しかつ／または自律入力を計算することができる。いずれの場合でも、自律入力は概して、ビークル１００の方向を制御するためのステアリング入力を含む。さらなる実施形態において、自律入力は同様に、アクセル入力、制動入力なども含むことができる。しかしながら、本論述においては、自律入力は概して、ビークル１００の方向／進路を制御するためのステアリング入力として論述される。
【００２９】
さらに、センサデータは、一実施形態において、ビークル１００に近接しこれを取り囲む環境内の１つ又は複数のオブジェクトの観察事実について制御モジュール２２０が収集する電子データである。例えば、制御モジュール２２０は、ビークル１００の周囲環境のオブジェクトおよび他の態様を識別する目的で、センサシステム１２０の１または複数のセンサを制御してビークル１００の周囲環境を走査する。こうして、一例として、制御モジュール２２０は、ライダ１２４を制御して、周囲環境のポイントクラウドを生成し、例えばビークル１００が移動ないし走行している道路の境界に加えてポイントクラウドからのオブジェクト／障害物を識別する。
【００３０】
制御モジュール２２０および／または自律運転モジュール１６０は、次に、周囲環境を解析し、周囲環境を通してビークル１００を制御するように自律入力を計算することができる。こうして一例として、自律運転モジュール１６０は、周囲環境を通してビークル１００を制御する最適な／目標となる方法として、機械学習アルゴリズムおよび自律入力を創出する運転モデル２５０に従って、センサデータを解析することができる。
【００３１】
同時に、制御モジュール２２０はビークル１００のドライバから手動入力を受信する。一実施形態において、制御モジュール２２０は、ドライバがビークル１００のステアリングホイールを操作するときに創出される手動入力として電気信号を受信する。自律入力の場合と同様に、手動入力は同様にさまざまな実施形態においてアクセル入力、制動入力などを含むことができる。
【００３２】
いずれの場合でも、制御モジュール２２０は、一実施形態において、手動入力と自律入力とをブレンドすることによりビークル１００を操舵および／または他の形で制御するための協調制御を生成する。このようにして、協調システム１７０は、入力間の差異を仲裁して、不規則な操作を防止し、ビークル１００を制御するためのよりロバストなメカニズムを提供する。換言すると、一実施形態において、制御モジュール２２０は、手動入力と自律入力の間の差異を決定する。制御モジュール２２０は、入力間の比較および離散的な形での協調制御の生成を行なうものとして輪述されているが、さまざまな実施形態において、制御モジュール２２０は、協調制御が一見して連続的に提供されるように規則的間隔（例えば０．０５秒）で上述の機能を反復的に行なう。いずれの場合でも、制御モジュール２２０は、差異を創出し、入力同士がいかに接近して整合しているかを特徴付けすること、現在の運転条件を査定すること、などを行う。
【００３３】
制御モジュール２２０は、一実施形態において、定義された選好性、フィードバックパラメータなどに従って、入力間の差異、ドライバの技能レベル、現在の動作条件／周囲環境に関するドライバの精通度の一関数として提供され得る加重値（例えば５０／５０、６０／４０、７０／４０、など）に従って入力をブレンドすることによって、協調制御を生成する。その上、さらなる態様において、制御モジュール２２０は、先に指摘したものなどのさまざまな他の要因をなおも考慮しながら、手動入力と自律入力とを平衡化する目的で、機械学習アルゴリズムに従って入力をどのようにブレンドするかを学習することができる。いずれの場合でも、制御モジュール２２０は、協調制御が別個の入力のブレンドを表わす半自律的制御であるように、ビークル１００を動作させるための協調制御を生成する。
【００３４】
さらなる事項として、一実施形態において、協調システム１７０はデータベース２４０を含む。データベース２４０は、一実施形態において、メモリ２１０または別のデータストア内に記憶された電子データ構造であって、記憶されたデータを解析すること、記憶されたデータを提供すること、記憶されたデータを組織すること、などのためにプロセッサ１１０により実行され得るルーチンを伴って構成される電子データ構造である。こうして、一実施形態において、データベース２４０は、さまざまな機能を実行する上でモジュール２２０および２３０が使用するデータを記憶する。一実施形態において、データベース２４０は、例えばセンサデータのさまざまな態様を特徴付けるメタデータと共にセンサデータを記憶する。例えば、メタデータは、場所座標（例えば経度および緯度）、相対的地図座標またはタイル識別子、別個のセンサデータが生成された時点からの時刻／日付スタンプなどを含むことができる。
【００３５】
さらに、制御モジュール２２０は、協調制御、手動入力、自律入力、ドライバ応答、周囲環境および現在のコンテキストについてのセンサデータ、などについて、データベース２４０または別のデータストア内にログデータを記憶することができる。こうして、１または複数の実施形態において、制御モジュール２２０は、ログデータを用いて、その後に、ドライバの選好性の学習、自律入力の精緻化、などをすることができる。
【００３６】
その上、データベース２４０は、運転モデル２５０などの１または複数の計算および／または統計モデルを含むことができる。一実施形態において、運転モデル２５０は、自律入力を識別するために周囲環境についてのセンサデータを特徴付けする。すなわち、制御モジュール２２０は、センサデータおよびドライバの技能レベルに従って自律入力を創出するために運転モデル２５０を使用する。したがって、一実施形態において、運転モデル２５０は制御モジュール２２０に、学習／モデリングされたデータに従って周囲環境内でビークル１００をどのように制御するかを通知する。
【００３７】
さらに、運転モデル２５０は同様に、制御モジュール２２０に、センサデータ、差異および／または他の通知情報の関数として入力をどのようにブレンドするかについて通知することもできる。その上、追加の実施形態において、運転モデル２５０は制御モジュール２２０と組み合わせて、例えばドライバの現在の運転挙動（例えば手動入力）、ドライバの先のトリップないし移動についての履歴的運転データおよび、ドライバがどのようにビークル１００を動作させるかを特徴付けるドライバについて収集可能な他のデータに従って、ドライバの技能レベルを識別することができる。こうして、一実施形態において、制御モジュール２２０は、ドライバの技能レベルを決定し、例えば協調制御を生成するために入力をブレンドするときにさらに考慮されるビークル１００の制御時のドライバの能力を特徴付けすることができる。さらなる例として、制御モジュール２２０は、ドライバがどの操作を行なう能力を有する確率が高いか、ドライバがどれほど精確にビークル１００を制御できるか、ビークル１００を制御するときにドライバがどれほどの専念度／覚醒度を有しているかなどを特徴付けすることができる。したがって、制御モジュール２２０は、協調制御を生成するときに、指摘された要因を考慮することができ、かつ／または、フィードバックモジュール２３０は、パーソナライズ化フィードバックおよび／もしくはコーチングフィードバックを生成するときに、ドライバの技能レベル／能力を考慮することができる。
【００３８】
例えば、制御モジュール２２０は、ドライバについての情報、現在の環境のコンテキスト的態様についての情報（例えば時刻、日付、スクールゾーン、公園接近など）などを収集することができる。したがって、制御モジュール２２０は、周囲環境、現在のコンテキストとドライバの状態との両方についてのデータを収集するために、センサシステム１２０を制御することができる。一実施形態において、ドライバ状態情報は、ドライバの現在の行動（例えばドライバにより提供される手動入力）、ドライバの凝視がどこに向けられ得るか、ドライバの自発的応答、ドライバの生物学的応答／身体状態、特定の条件下でのドライバからの手動入力などを特徴付ける情報である。
【００３９】
ひき続き図２を参照すると、一実施形態において、フィードバックモジュール２３０は、プロセッサ１１０を制御して、手動入力および自律入力を精緻化するためにフィードバックを生成するように機能する命令を含む。本開示で提示されているように、フィードバックは、適合フィードバック、パーソナライズ化フィードバックおよびコーチングフィードバックを含む、いくつかの異なる形態をとることができる。概して、フィードバックモジュール２３０が創出するさまざまな形態のフィードバックは、自律入力もしくは手動入力のいずれかを精緻化するかまたは他の形で調整するために生成される。すなわち、フィードバックモジュール２３０は、入力を調整しこれにより協調制御がどのように生成されるかをさらに改善する目的で、指摘されたフィードバックメカニズムを実装する。フィードバックおよび協調制御を生成するさらなる態様について、後続する図に関連して論述する。
【００４０】
図３は、協調制御および協調制御を調整するためのフィードバックを生成することに結び付けられる方法３００のフローチャートを例示する。方法３００は、図１および２の協調システム１７０の観点から見て論述される。方法３００は協調システム１７０と組み合せて論述されているものの、方法３００が協調システム１７０内での実装に限定されるものではなく、これは、方法３００を実装し得るシステムの一例であるということを認識すべきである。
【００４１】
３１０において、制御モジュール２２０は自律入力を受信する。一実施形態において、制御モジュール２２０は、周囲環境を通るビークル１００の現在のルートに沿ってビークル１００を自律的に制御するためにビークル１００が創出する電子制御として自律入力を獲得する。先に示した通り、制御モジュール２２０は自律入力を生成でき、自律運転モジュール１６０は自律入力を生成でき、または、２つのモジュール２２０および１６０の組み合わせは自律入力を生成できる。
【００４２】
いずれの場合でも、ビークル１００からのセンサデータが、制御モジュール２２０が受信する自律入力を生成する目的で収集され解析される。したがって、一実施形態において、制御モジュール２２０は、３１０において、周囲環境についてのセンサデータを収集し、そこから自律入力を創出する。一実施形態において、制御モジュール２２０は、少なくとも半連続ベースで、ライダ１２４、レーダ１２３および／または他のセンサを含むセンサシステム１２０のセンサからデータを収集する。すなわち、例えば、制御モジュール２２０は、周囲環境の最新ビューを維持するためにｘ秒（例えば０．０１秒）毎にセンサデータを収集する。概して、制御モジュール２２０は、ビークル１００内部で利用可能ないずれかのセンサからデータを収集するように、かつ／または、例えばビークル１００の通信システムを通して、第３者ソース（例えば天気情報ソース、交通情報ソースなど）からデータを収集するように、動作可能である。
【００４３】
いずれの場合でも、制御モジュール２２０は概して、周囲環境を通してルートを決定するための電子センサデータと、一実施形態においてはドライバの運転挙動についての情報と、を収集する。例えば、制御モジュール２２０は、環境情報、コンテキスト情報およびドライバ状態情報を収集することができる。環境情報は、オブジェクト（例えば場所および軌道）、障害物、地形、表面、道路境界などについての情報を含む、ビークル１００の周囲環境についての情報である。
【００４４】
コンテキスト情報は概して、時刻、曜日、地政学的境界、自治体境界および特別地区（例えばスクールゾーン）、地域法（例えば速度制限）、ビークル１００の動作特性（例えばブレーキの摩耗、オイルレベルなど）、気候、路面条件などの情報を含む、現在の場所および／または一般的コンテキストについての補助データまたはメタデータである。
【００４５】
ドライバ状態情報は概して、ドライバの現在の覚醒度および身体的状態を特徴付けるものであって、例えばドライバの現在の凝視／視線、目の軌道／運動、目の運動速度、瞳孔拡張、ビークル入力デバイスを通してドライバから受信された制御入力、および制御入力パターン、並びに／または、運転タスクおよび周囲環境との関係におけるドライバの専念度／覚醒度を表わす他の情報を含む。さらなる実施形態において、ドライバ状態情報は同様に、周囲環境、現在のコンテキスト条件、ドライバの技能レベルおよび／または現在の場所についての精通度、などに関する手動入力内のロギングパターンをも含む。
【００４６】
概して、制御モジュール２２０は、さらに後述されるように協調制御および／またはフィードバックの提供を容易にするために、周囲環境およびドライバについて協調システム１７０に通知する情報を、３１０において収集する。こうして、異なる形態のデータについての上述の例が提供されているものの、指摘されたデータは、例示的リストとして提供され、システム１７０により収集および／または考慮され得るデータ要素の完全な／限定的なリストとみなされるべきではない。
【００４７】
いずれの場合でも、制御モジュール２２０は、例えば最適な形でルートに沿ってビークル１００を維持する（例えば安全性の最適化）ための自律入力を生成する。こうして一実施形態において、制御モジュール２２０および／または自律運転モジュール１６０は、例えば運転モデル２５０と組み合わさって、機械学習アルゴリズムまたは、指摘されたデータを電子入力として受容して電子出力として自律入力を創出する別の計算モデルを形成する。さらに、制御モジュール２２０、運転モデル２５０および自律運転モジュール１６０は、あたかもビークル１００が自律的に制御されているかのように自律入力を創出するために、一斉に作用することができる。さらなる事項として、自律入力の決定は単一の離散的事象として論述されているものの、さまざまな実施形態において、３１０におけるデータの収集および自律入力の計算は、並行して発生することができ、ビークル１００の安全な動作を維持するために周囲環境の変化を考慮に入れた速度で更新される、ということを認識すべきである。
【００４８】
３２０において、制御モジュール２２０は手動入力を受信する。一実施形態において、制御モジュール２２０は、ビークル１００の１又は複数の入力／出力デバイスを通してドライバからビークルが受信する電子制御信号として、手動入力を獲得する。こうして、制御モジュール２２０は、ドライバにより提供される制御を特徴付ける電子信号としてビークル１００からの手動入力をインタセプトする、スニッフィングする、または他の形で獲得することができる。いずれの場合でも、制御モジュール２２０は、ドライバから手動入力を受信する。一実施形態において、制御モジュール２２０は、ドライバによって提供される入力のパターンおよび手動入力を追跡する目的で、ビークル１００のさまざまな入力デバイスを連続的に監視する。したがって、制御モジュール２２０は、ステアリングホイール、ブレーキペダルおよびアクセルペダル、クラッチ、シフトレバー、ビークルインジケータからの電子入力、およびドライバが提供する他の手動入力を獲得することができる。しかしながら、概して制御モジュール２２０は、ステアリングホイールからの入力などのビークル１００の操舵に直接関係する手動入力に注目することができる。
【００４９】
３３０において、制御モジュール２２０は、自律入力を手動入力と比較する。一実施形態において、フィードバックモジュール２３０は、別個の制御を比較して、ドライバが提供する手動入力と自律入力との間の差異を決定する。例えば、フィードバックモジュール２３０は、差異として提供される入力間の不整合の規模または程度を決定するために、手動入力における大きさ、方向、変化率、パターンを比較することができる。さらに、さまざまな実装において、制御モジュール２２０は、例えば、単一の値を使用する多重入力（例えば操舵、制動など）が特徴付けされた時点で入力の全体的差異を特徴付けするように動作するヒューリスティックに従って、組み合わされた差異を生成することができる。こうして、一実施形態では、制御モジュール２２０は、単一の電子値を用いる入力間の差異の規模／程度を特徴付けする電子出力を生成するヒューリスティックまたは機械学習アルゴリズムを用いて手動入力と共に自律入力を解析することができる。いずれの場合でも、制御モジュール２２０は、ドライバが自律入力にいかに接近してビークル１００を制御しているかを特徴付けする目的で、手動入力が自律入力といかに接近して相関するかを決定する。
【００５０】
その上、単一の離散的比較が論述されているものの、制御モジュール２２０は、現在進行している形で、例えば方法３００のさらなる態様と並行して、手動入力を自律入力と反復的に比較できる、ということを認識すべきである。したがって、ビークル１００が道路に沿って進むにつれて、制御モジュール２２０は、一実施形態において、差異の実時間査定を提供するために自律入力を手動入力と反復的に比較する。その上、さらなる態様において、制御モジュール２２０は、一定期間にわたる組み合わせ比較を提供する目的で、多数の比較に由来する差異を蓄積することができる。
【００５１】
３４０において、制御モジュール２２０は、ルートに沿って進むようにビークルを制御するために少なくとも差異およびフィードバックパラメータの一関数として協調制御の形に手動入力および自律入力をブレンドする。一実施形態において、制御モジュール２２０は、差異、フィードバックパラメータ、ビークル１００の現在のコンテキストを特徴付けるセンサデータ、ドライバについてのデータ、および／または手動入力を自律入力とどのようにブレンドするかを決定するための他の情報を解析する。すなわち概して、ビークル１００を動作させるための協調制御を生成するために制御モジュール２２０が引き受けるプロセスには、異なる情報要素により具体化される多数の要因に応じて変動する比率で複数の入力を一緒に組み合わせることが含まれる。
【００５２】
こうして、制御モジュール２２０は、一実施形態において、手動入力対自律入力の重み付けを識別する目的で、制御モジュール２２０（例えばニューラルネットワークなど）内で具体化された機械学習アルゴリズムおよび運転モデル２５０に従って、指摘されたデータを解析する。さらなる実施形態において、制御モジュール２２０は、入力、ヒューリスティックなどとして、規定された情報要素のうちの１又は複数を使用するルックアップテーブルに従って、比率／重み付けを決定する。いずれの場合でも、制御モジュール２２０は、比率／重み付けを決定し、この比率を用いて入力を一緒に協調制御にブレンドする。こうして、制御モジュール２２０は、協調制御を具体化する電子出力であって、ビークル１００を動作させるための半自律制御である電子出力を提供する。
【００５３】
さらなる事項として、より詳細に後述されるフィードバックパラメータは、概して、例えば協調制御がどのように提供されるべきであるかにおけるドライバの選好性に関する。一例として、フィードバックパラメータには、好ましいビークル間距離、回避すべき特定のコンテキスト（例えばトラックトレーラの追越し）などが含まれ得る。概して、制御モジュール２２０は、手動入力を自律入力とどのようにブレンドすべきかを決定するときに、ドライバ、現在のコンテキスト、差異、周囲環境、フィードバックパラメータなどに関する多くの異なる態様を解析し使用することができる。いずれの場合でも、制御モジュール２２０は、ビークル１００がどのように制御されるかに対する追加の入力を提供する方法として、ひいては先に説明したように指摘された冗長性の概念を反映するために、手動入力および自律入力をブレンドするプロセスを実行する。このようにして、指摘されたシステムおよび方法は、制御のロバスト性を改善する。
【００５４】
３５０において、制御モジュール２２０は、協調制御に従ってビークル１００を制御する。すなわち、制御モジュール２２０は、手動入力および自律入力の代りにビークルシステム１４０の１または複数に対して協調制御を電子的に提供する。こうして、制御モジュール２２０は、ビークル１００により生成された自律入力の少なくとも一部分を含む協調制御に従ってビークル１００を動作させることを通したビークル１００の半自律制御を提供する。いずれの場合でも、制御モジュール２２０は、１つの実施形態において、ビークル１００を協調制御に従って制御するときにドライバにより提供される手動入力の少なくとも一部分を選択的にオーバーライドするかまたは他の形で無視する。
【００５５】
３６０において、フィードバックモジュール２３０は、ビークル１００がどのように制御されるかを適合させるためにフィードバックを生成する。一実施形態において、フィードバックモジュール２３０は、少なくとも手動入力と自律入力の間の差異に従ってフィードバックを生成する。すなわち、フィードバックモジュール２３０は、自律入力が現在のコンテキストについて周囲環境内でビークルを安全に制御するために最適なものに満たないインスタンスおよび／またはドライバ選好性に関するパターンを識別するために、差異を追跡または他の形で監視することができる。したがって、フィードバックモジュール２３０は、協調制御がどのように生成されるかに影響を及ぼすフィードバックパラメータを調整すること、ならびに／または、手動入力および自律入力に関する態様を調整すること、を行うことができる。いずれの場合でも、フィードバックモジュール２３０は、ビークル１００がどのように動作しているかについて協調システム１７０のさまざまな態様に対し情報を通知し、協調制御を伴う動作を改善するためにそこから調整を誘発するための、多数の別個のフィードバックメカニズムを提供する。
【００５６】
一実施形態において、フィードバックモジュール２３０は、ビークル１００が動作している間に協調制御を調整するために、多数の別個の形態のフィードバックを同時にかつ並行して生成する。一実施形態において、フィードバックには、適合フィードバック、パーソナライズ化フィードバック３８０およびコーチングフィードバックが含まれる。フィードバックモジュール２３０は、ビークルがどのように自律入力を生成するかを制御するための自律パラメータを調整するために、適合フィードバック３７０を生成する。例えば、フィードバックモジュール２３０は、独立してまたは制御モジュール２２０と一斉に、ビークル１００がルートに沿ってどのように進んでいるかについての運転データをロギングする。例えば、フィードバックモジュール２３０は、自律入力、センサデータ、現在のコンテキスト、ドライバ、手動入力、入力同士の差、および、ビークル１００により生成された異なる自律入力を取り囲む状況についてフィードバックモジュール２３０に通知する他の情報、についてのデータをロギングすることができる。
【００５７】
その後、フィードバックモジュール２３０は、提供された自律入力が客観的な安全性基準（例えばビークル１００を安全に動作させるための、定義されたプロトコル）にどれだけ接近してランキングされるかを査定するために、ロギングされたデータを解析する。すなわち、フィードバックモジュール２３０は、自律入力についての態様を学習してビークル１００がそこからどのように自律入力を生成するかを調整するために、機械学習アルゴリズムおよび運転モデル２５０に従って、ロギングされたデータをスコアリングするかまたは他の形で解析することができる。その上、一実施形態において、フィードバックモジュール２３０は、例えば、自律入力が不適当である／安全でないことを示すドライバからの入力、手動入力を通して自律入力を補正する試みを示すドライバからの入力、自律入力が満足のいくものであるか否かの指標としてのものなど、を考慮することができる。
【００５８】
さらに、一実施形態においてフィードバックモジュール２３０は、ビークル１００の動作と同時に、ビークル１００での１または複数のトリップの後および／または、それらの組み合わせの形で、ロギングされたデータを解析する。こうして、一実施形態において、フィードバックモジュール２３０は、短期フィードバックとして、および、ビークル１００がどのように自律入力を生成するかに対する長期学習調整として、適合フィードバック３７０を提供する。
【００５９】
したがって、フィードバックモジュール２３０は、一実施形態において、ロギングされたデータを、相手先商標製品製造会社（ＯＥＭ）、クラウドベースのリポジトリまたはクラウドソーシングされたまたは他の形でデータ追加／獲得された運転についてのデータセットを記憶する別の記憶場所、に由来する大規模データセットと比較して、自律入力が満足のいくものであるかを学習し、分類／ラベル付けされたデータセットに従って調整することができる。いずれの場合でも、フィードバックモジュール２３０は、適合フィードバック３７０を生成して、安全性を最適化する運転データに機械学習アルゴリズムを適用することを通して自律入力がどのように生成されるかを改善する。
【００６０】
ひき続きフィードバックモジュール２３０により創出される異なる形態のフィードバックに関して、一実施形態において、フィードバックモジュール２３０はパーソナライズ化フィードバックを生成する。パーソナライズ化フィードバック３８０は、特定のドライバの選好性に関係し、ビークル１００がどのように自律入力を生成するかを制御するため自律パラメータを調整する。その上、一実施形態において、自律入力を直接調整する代りに、フィードバックモジュール２３０は、３４０において協調制御を創出するときに、自律入力に対する手動入力の比を調整するために自律パラメータを使用することができる。すなわち、一実施形態において、フィードバックモジュール２３０は、運転スタイルに関するドライバの選好性についてドライバからの直接的電子フィードバックを通して学習するかまたは他の形で決定する。フィードバックモジュール２３０はその後、選好性を考慮に入れるために、自律入力がどのように生成されるかまたは協調制御にブレンドされるかを制御することができる。一例を挙げると、フィードバックモジュール２３０は、車線内の位置、追越しビークルまたは追越しつつあるビークル／障害物に対する近接性（例えば高速道路上でトラックトレーラを追越す場合のトラックトレーラに対する近接性）、速度選好性、制動選好性、道路内でのターンについての好ましい重力加速度、ターンを実行する好ましいスタイル、好ましい車間距離など、ビークル１００がどのように制御されることをドライバが好むかという態様を学習する。
【００６１】
さまざまな実施形態において、フィードバックモジュール２３０は、異なる状況についてドライバが提供する手動入力を解析すること、選好性についてドライバに電子的クエリを行なうこと、などによって、ドライバの選好性を学習する。例えば、フィードバックモジュール２３０は、ドライバからの手動入力、運転データ（例えばセンサデータなど）、現在の運転状態についてのコンテキスト情報などを含めたパーソナライズ化データを収集することができる。したがって、フィードバックモジュール２３０は、機械学習アルゴリズムを用いてパターンについてロギングされたデータを解析することによって、またはドライバからの具体的に標示された状況によって、ロギングされたデータからパーソナライズ化フィードバック３８０を生成することができる。その後、パーソナライズ化フィードバックは、発生するさまざまな状況について入力がどのようにブレンドされるかおよび／または自律パラメータを調整するために、協調システム１７０によって使用される。
【００６２】
最後に、フィードバックモジュール２３０は、ドライバを誘発して手動入力がどのように提供されるかを調整するために、コーチングフィードバック３９０を生成する。一実施形態において、フィードバックモジュール２３０は手動入力がビークル１００を制御するための受容可能な方法であるか否かを識別するために、ビークル１００の周囲環境／現在の環境に関する入力間の差異を解析することによって、コーチングフィードバック３９０を生成する。こうして、フィードバックモジュール２３０は、ドライバを誘発して手動入力を調整するためにコーチングフィードバック３９０を生成することができる。一実施形態において、コーチングフィードバック３９０は、ステアリングホイールにおける１又は複数の強制フィードバック、および／または、ドライバに対して表示されるかまたは他の形で伝達される手動入力についての指標、として生成される。
【００６３】
その上、一実施形態において、フィードバックモジュール２３０は、不適切な手動入力を示すためにコーチングフィードバック３９０を生成する。一実施形態において、入力間の差異が閾差を満たす（例えば上回る）ことをフィードバックモジュール２３０が判別すると、フィードバックモジュール２３０は入力間の差異の規模に従ってコーチングフィードバックを生成する。すなわち、一実施形態において、フィードバックモジュール２３０は、自律入力と手動入力の間の差異に正比例するものとして能動的フィードバックを生成する。
【００６４】
さらに、フィードバックモジュール２３０は、特定の実装および／または選好性に従って異なる形態でコーチングフィードバックを創出することができる。例えばフィードバックモジュール２３０は、手動入力を提供するためにドライバが使用するビークル１００の入力デバイス内で手動入力に対する抵抗力としてフィードバックを生成することができる。こうして、一実施形態において、ドライバがビークル１００を制御し手動入力を提供するときに、フィードバックモジュール２３０は、ドライバによって提供されつつある手動入力が閾差を上回った時点を決定し、入力デバイス内部で「ナッジ」として手動入力に対する抵抗／強制フィードバックを提供する。したがって、一例として、フィードバックモジュール２３０は、ステアリングホイール内部の過度のステアリング角度に抵抗することができる。その上、一実施形態において、フィードバックモジュール２３０は、手動入力が閾差を満たすときに、自律入力と一貫性ある形で入力デバイスを位置付けさせるために、手動入力に抵抗して押し戻すことができる。
【００６５】
なおさらなる実施形態において、フィードバックモジュール２３０は、例えば不適切な特定の手動入力と相関するビークル１００の入力デバイス内の触覚フィードバックとしてコーチングフィードバック３９０を生成することができる。代替的には、フィードバックモジュール２３０は、全ての入力内部、ビークルの座席内部、などの触覚振動としてコーチングフィードバック３９０を提供することができる。さらなる実施形態において、フィードバックモジュール２３０は、手動入力が自律入力にいかに接近して適合しているかについてドライバに通知する目的で、光、可聴フィードバック、運転スコア、手動入力内のエラーに関する命令などの追加のフィードバックを提供することができる。いずれの場合でも、フィードバックモジュール２３０は、手動入力がどのように提供されているかを変更するようにドライバを誘発する方法としてコーチングフィードバックを生成する。
【００６６】
協調システム１７０の機能のさらなる説明が、図４から６に関連して論述される。図４を参照すると、本開示で論述されているさまざまなフィードバックメカニズムおよびフィードバックメカニズムに結び付けられたデータパスを例示する略図４００が示されている。すなわち、図４は、協調システム１７０が入力内に冗長性をどのように提供し、ビークル１００のさまざまな態様の動作を調整するためのデータパスをどのように提供するかの一実施形態を例示している。したがって、例示されているように、フィードバックモジュール２３０は、１つの電子データパスを介して自律モジュール１６０に対して適合フィードバック３７０を提供する。その上、自律運転モジュール１６０は、フィードバックモジュール２３０に従って調整される通りに制御モジュール２２０に対して、入力、より詳細には自律入力、を提供するものとして例示されている。
【００６７】
さらに、フィードバックモジュール２３０は、さまざまな状況下で協調制御を形成するためにどのように入力がブレンドされるかを適合させる目的でドライバの選好性を使用できるように、制御モジュール２２０に対して直接、電子データパスを通してパーソナライズ化フィードバック３８０を提供する。さらに、フィードバックモジュール２３０は、コーチングフィードバック３９０をドライバに伝えてドライバを誘発して手動入力がどのように提供されているかを修正する目的で、ビークル１００のＩ／Ｏシステム１３０／１３５に対し１または複数の電子データパスを通してコーチングフィードバック３９０を提供する。いずれの場合でも、略図４００から、フィードバックモジュール２３０により提供されるフィードバックは概して、制御モジュール２２０がどのように協調制御を創出するかを調整する目的でさまざまなデータパスを通して制御モジュール２２０まで進む。このようにして、協調制御１７０は、ビークル１００がどのように制御されるかに対して冗長性およびロバスト性を追加するための異なる入力および経路を提供する。
【００６８】
Ｉ／Ｏシステム１３０／１３５に関して、ビークル１００は、一実施形態において、フィードバックの形態および／または目的に応じて、手動入力と自律入力の間の干渉を選択的に生成するためにハードウェアおよび／またはソフトウェア要素を含む。すなわち、自律入力と手動入力の間のブレンディングを手動入力メカニズム（例えばステアリングホイール）の物理的修正（例えば力フィードバック）または「干渉」として提供して、ドライバにブレンディング／自律入力について通知することができる。その上、手動入力に対し干渉が望まれないときには、Ｉ／Ｏシステム１３０／１３５は、Ｉ／Ｏシステムを通してドライバに情報提供することなく入力をブレンドすることができる。例えば、別個の入力間で干渉しないように、ドライバおよびシステム（例えば遊星歯車メカニズム、クラッチメカニズム）の両方からの２重入力を受容するメカニズムを使用することができる。こうして、適合フィードバック３７０またはパーソナライズ化フィードバック３８０については、２重入力を受容しドライバからブレンディングを隔離する特有のメカニズムのため、ドライバは物理的押し戻しを全く感じない可能性がある。対照的に、入力間で干渉するためには、ドライバがブレンディングを感じるようにコーチングフィードバック３９０を提供するときに抵抗性コンポーネント（例えば可変抵抗バネ）を使用することができる。
【００６９】
図５は、道路５００の俯瞰図を例示する。ビークル１００は、ルート５１０に沿って道路５００を進んでいるものとして例示されている。ルート５１０は、ウェイポイント５２０、５３０、５４０、５５０および５６０を用いて例示されており、概して、例えば自律運転モジュール１６０および／または制御モジュール２２０により創出された計画済パスを例示する。図６は、図５の道路５００についてさまざまなウェイポイント５２０、５３０、５４０、５５０および５６０において提供され得るような手動入力、自律入力および協調制御のグラフ６００を例示する。したがって、グラフ６００に示されているように、協調制御は、共用制御を用いてビークル１００の半自律動作を達成する目的でルート５１０に沿って変動する度合／比率まで例示された手動入力および自律入力をブレンドした結果としてもたらされる制御モジュール２２０の出力である。こうして、図示されているように、５４０と５５０の間において制御モジュール２２０はパーソナライズ化フィードバック３８０を通して提供されるドライバの選好性毎の手動入力に、より大きな重みを提供する。ルート５１０のさらなる部分を通して、入力は概して、均等な重み付けに従ってブレンドされる。こうして、協調システム１７０は、各個別状況の特定の態様およびフィードバックメカニズムに従って協調制御が経時的に別個のインスタンスにわたりどのように提供されるかを変動させることができる。
【００７０】
本開示に開示されたシステムおよび方法が動作し得る例示的な環境として、ここで図１の全詳細を論述する。いくつかの事例において、ビークル１００は、自律モード、１または複数の半自律動作モード、および／または手動モードの間で選択的に切換わるように構成されている。このような切換えは、既知であるかまた後日開発される好適な方法で実装され得る。「手動モード」とは、ビークルのナビゲーションおよび／または操作の全てまたは大部分がユーザ（例えば人間のドライバ）から受信された入力に従って行なわれることを意味する。１または複数の構成において、ビークル１００は、手動モードのみで動作するように構成されている従来のビークルであり得る。
【００７１】
１または複数の実施形態において、ビークル１００は自律ビークルである。本開示で使用される「自律ビークル」とは、自律モードで動作するビークルを意味する。「自律モード」とは、人間のドライバからの入力が最小限であるかまたは全くなしにビークル１００を制御するために１または複数の計算システムを使用して移動ルートに沿ってビークル１００をナビゲートおよび／または操作することを意味する。１または複数の実施形態において、ビークル１００は、高度に自動化または完全に自動化されている。一実施形態において、ビークル１００は、１または複数の計算システムが移動ルートに沿ったビークルのナビゲーションおよび／または操作の一部を行ない、ビークルドライバ（すなわちドライバ）が移動ルートに沿ったビークル１００のナビゲーションおよび／または操作の一部を行なうための入力をビークルに対して提供する、１または複数の半自律動作モードで構成される。
【００７２】
ビークル１００は、１または複数のプロセッサ１１０を含むことができる。１または複数の構成において、プロセッサ（１または複数）１１０は、ビークル１００の主プロセッサであり得る。例えば、プロセッサ（１または複数）１１０は、電子制御ユニット（ＥＣＵ）であり得る。ビークル１００は、１または複数のタイプのデータを記憶するための１または複数のデータストア１１５を含むことができる。データストア１１５は、揮発性および／または不揮発性メモリを含むことができる。好適なデータストア１１５の例には、ＲＡＭ（ランダムアクセスメモリ）、フラッシュメモリ、ＲＯＭ（読取り専用メモリ）、ＰＲＯＭ（プログラマブル読取り専用メモリ）、ＥＰＲＯＭ（消去可能読取り専用メモリ）、ＥＥＰＲＯＭ（電気的消去可能読取り専用メモリ）、レジスタ、磁気ディスク、光ディスク、ハードドライブもしくは他の任意の好適な記憶媒体、またはその任意の組み合わせが含まれる。データストア１１５は、プロセッサ（１または複数）のコンポーネントであり得るかまたは、データストア１１５は、プロセッサ（１または複数）１１０による使用のためプロセッサ（１または複数）１１０に対し作動的に接続され得る。本明細書全体にわたり使用される「作動的に接続される」なる用語は、直接的な物理的接触のない接続を含めた直接的または間接的な接続を含むことができる。
【００７３】
１または複数の構成において、１または複数のデータストア１１５は、地図データ１１６を含むことができる。地図データ１１６は、１または複数の地理的地域の地図を含むことができる。いくつかの事例において、地図データ１１６は、１または複数の地理的地域内の道路、交通制御デバイス、路面標識、構造、特徴部および／またはランドマークについての情報またはデータを含むことができる。地図データ１１６は、任意の好適な形態であり得る。いくつかの事例において、地図データ１１６は、地域の空中写真を含むことができる。いくつかの事例において、地図データ１１６は、３７０度のグランドビュー（地上の眺め）を含めた、地域のグランドビューを含むことができる。地図データ１１６は地図データ１１６内に含まれた１または複数のアイテムについての、および／または地図データ１１６内に含まれた他のアイテムに関係する、測定値、寸法、距離および／または情報を含むことができる。地図データ１１６は、道路の幾何形状についての情報を伴うデジタル地図を含むことができる。地図データ１１６は、高品質でありかつ／または非常に詳細なものであり得る。
【００７４】
１または複数の構成において、地図データ１１６は１または複数の地形図１１７を含むことができる。地形図（１または複数）１１７は、１または複数の地理的地域の地面、地形、道路、表面および／または他の特徴に関する情報を含むことができる。地形図（１または複数）１１７は、１または複数の地理的地域内の標高データを含むことができる。地図データ１１６は、高品質でありかつ／または非常に詳細なものであり得る。地形図（１または複数）１１７は、舗装道路、未舗装道路、陸地および地面を定義付ける他の物を含み得る、１または複数の地面を定義付けることができる。
【００７５】
１または複数の構成において、地図データ１１６は１または複数の固定障害物地図１１８を含むことができる。固定障害物地図（１または複数）１１８は、１または複数の地理的地域内に位置設定された１または複数の固定障害物についての情報を含むことができる。「固定障害物」とは、一定の期間にわたりその位置が変化せずもしくは実質的に変化せずかつ／またはそのサイズが一定の期間にわたり変化せずもしくは実質的に変化しない物理的オブジェクトである。固定障害物の例には、樹木、建物、縁石、フェンス、ガードレール、中央分離帯、電柱、像、モニュメント、看板、ベンチ、調度品、郵便箱、大きな岩、丘が含まれる。固定障害物は、地表面よりも上に延在するオブジェクトであり得る。固定障害物地図（１または複数）１１８中に含まれる１または複数の固定障害物は、場所データ、サイズデータ、寸法データ、材料データおよび／またはそれに結び付けられた他のデータを有することができる。固定障害物地図（１または複数）１１８は、１または複数の固定障害物についての測定値、寸法、距離および／または情報を含むことができる。固定障害物地図（１または複数）１１８は高品質でありかつ／または非常に詳細なものであり得る。固定障害物地図（１または複数）１１８は、マッピングされた地域内の変化を反映するために更新され得る。
【００７６】
１または複数のデータストア１１５は、センサデータ１１９を含むことができる。これに関連して、「センサデータ」は、ビークル１００に装備されているセンサについての性能および他の情報を含む、当該センサについてのあらゆる情報を意味する。以下で説明するように、ビークル１００はセンサシステム１２０を含むことができる。センサデータ１１９は、センサシステム１２０の１または複数のセンサに関するものであり得る。一例として、１または複数の構成において、センサデータ１１９は、センサシステム１２０の１または複数のＬＩＤＡＲセンサ１２４についての情報を含むことができる。
【００７７】
いくつかの事例において、地図データ１１６および／またはセンサデータ１１９の少なくとも一部分は、ビークル１００に搭載された１または複数のデータストア１１５内に位置設定され得る。代替的にまたは付加的に、地図データ１１６および／またはセンサデータ１１９の少なくとも一部分は、ビークル１００から遠隔に位置設定された１または複数のデータストア内に位置設定され得る。
【００７８】
先に指摘された通り、ビークル１００はセンサシステム１２０を含むことができる。センサシステム１２０は１または複数のセンサを含むことができる。「センサ」は、何かを検出および／または検知できるあらゆるデバイス、コンポーネントおよび／またはシステムを意味する。１または複数のセンサは実時間で検出および／または検知するように構成され得る。本開示で使用される「実時間」なる用語は、なされるべき特定のプロセスまたは決定が充分に即時であるとしてユーザまたはシステムが検知する処理応答性のレベル、または、プロセッサが或る外部プロセスに追従できるようにする処理応答性のレベルを意味する。
【００７９】
センサシステム１２０が複数のセンサを含む構成において、センサは、互いに独立して機能することができる。代替的には、２またはそれよりも多くのセンサが互いに組み合わさって機能することができる。このような場合には、２またはそれよりも多くのセンサがセンサネットワークを形成できる。センサシステム１２０および／または１もしくは複数のセンサは、プロセッサ（１または複数）１１０、データストア（１または複数）１１５および／またはビークル１００の別の要素（図１に示された要素のいずれかを含む）に対して作動的に接続され得る。センサシステム１２０は、ビークル１００の外部環境の少なくとも一部分（例えば近隣のビークル）のデータを獲得することができる。
【００８０】
センサシステム１２０は、任意の好適なタイプのセンサを含むことができる。異なるタイプのセンサのさまざまな例が、本開示で説明される。ただし、実施形態は記載の特定のセンサに限定されないものと理解される。センサシステム１２０は１または複数のビークルセンサ１２１を含むことができる。ビークルセンサ（１または複数）１２１は、ビークル１００自体についての情報を検出、決定および／または検知することができる。１または複数の構成において、ビークルセンサ（１または複数）１２１は、例えば慣性加速度に基づいてビークル１００の位置および配向の変化を検出および／または検知するように構成され得る。１または複数の構成において、ビークルセンサ（１または複数）１２１は、１または複数の加速度計、１または複数のジャイロスコープ、慣性計測装置（ＩＭＵ）、推測航法システム、全地球的航法衛星システム（ＧＮＳＳ）、グローバルポジショニングシステム（ＧＰＳ）、ナビゲーションシステム１４７および／または他の好適なセンサを含むことができる。ビークルセンサ（１または複数）１２１は、ビークル１００の１または複数の特性を検出および／または検知するように構成され得る。１または複数の構成において、ビークルセンサ（１または複数）１２１は、ビークル１００の現在の速度を決定するための速度計を含むことができる。
【００８１】
代替的にまたは付加的に、センサシステム１２０は、運転環境データを獲得および／または検知するように構成された１または複数の環境センサ１２２を含むことができる。「運転環境データ」は、自律ビークルが位置設定されている外部環境またはその１もしくは複数の部分についてのデータもしくは情報を含むことができる。例えば、１または複数の環境センサ１２２は、ビークル１００の外部環境の少なくとも一部分内の障害物および／またはこのような障害物についての情報／データを検出、定量化および／または検知するように構成され得る。このような障害物は、静的オブジェクトおよび／または動的オブジェクトであってよい。１または複数の環境センサ１２２は、ビークル１００の外部環境内の他の物、例えば車線マーカー、看板、交通信号機、交通標識、車線境界線、横断歩道、ビークル１００の近傍の縁石、オフロードオブジェクトなどを検出、測定、定量化および／または検知するように構成され得る。
【００８２】
本開示では、センサシステム１２０のセンサのさまざまな例が説明される。例示的センサは、１または複数の環境センサ１２２および／または１または複数のビークルセンサ１２１の一部であってよい。しかしながら、実施形態は記載の特定のセンサに限定されないものと理解される。
【００８３】
一例として、１または複数の構成において、センサシステム１２０は１もしくは複数のレーダセンサ１２３、１もしくは複数のＬＩＤＡＲセンサ１２４、１もしくは複数のソナーセンサ１２５、および／または、１もしくは複数のカメラ１２６を含むことができる。１または複数の構成において、１または複数のカメラ１２６は、ハイダイナミックレンジ（ＨＤＲ）カメラまたは赤外線（ＩＲ）カメラであり得る。
【００８４】
ビークル１００は入力システム１３０を含むことができる。「入力システム」は、機械内に情報／データを入力できるようにする任意のデバイス、コンポーネント、システム、要素または構成またはそれらの群を含む。入力システム１３０は、ビークル乗員（例えばドライバまたは同乗者）からの入力を受信できる。ビークル１００は出力システム１３５を含むことができる。「出力システム」は、情報／データがビークル乗員（例えば人物、乗員など）に提示され得るようにする任意のデバイス、コンポーネントまたは構成またはそれらの群を含む。
【００８５】
ビークル１００は、１または複数のビークルシステム１４０を含むことができる。１または複数のビークルシステム１４０のさまざまな例が、図１に示されている。しかしながら、ビークル１００は、より多くの、より少ない、または異なるビークルシステムを含むことができる。特定のビークルシステムが別個に定義されているが、システムまたはその一部分の各々またはいずれかをビークル１００内部のハードウェアおよび／またはソフトウェアを介して組み合わせるかまたは分離してもよい。ビークル１００は、推進システム１４１、制動システム１４２、ステアリングシステム１４３、スロットルシステム１４４、トランスミッションシステム１４５、シグナリングシステム１４６および／またはナビゲーションシステム１４７を含むことができる。これらのシステムの各々は、現在公知のまたは後日開発される１または複数のデバイス、コンポーネント、および／またはそれらの組み合わせを含むことができる。
【００８６】
ナビゲーションシステム１４７は、ビークル１００の地理的場所１００を決定しかつ／またはビークル１００のための移動ルートを決定するように構成された、現在公知のまたは後日開発される１または複数のデバイス、アプリケーションおよび／またはそれらの組み合わせを含むことができる。ナビゲーションシステム１４７は、ビークル１００のための移動ルートを決定する１または複数のマッピングアプリケーションを含むことができる。ナビゲーションシステム１４７は、グローバルポジショニングシステム、ローカルポジショニングシステムまたは地理位置情報システムを含むことができる。
【００８７】
プロセッサ（１または複数）１１０、協調システム（１または複数）１７０および／または自律運転モジュール（１または複数）１６０は、さまざまなビークルシステム１４０および／またはその個別のコンポーネントと通信するように作動的に接続され得る。例えば図１に戻ると、プロセッサ（１または複数）１１０および／または自律運転モジュール（１または複数）１６０は、ビークル１００の運動、速度、操作、進路、方向などを制御するため、さまざまなビークルシステム１４０からの情報を送信および／または受信するように通信状態にあり得る。プロセッサ（１または複数）１１０、協調システム１７０、および／または自律運転モジュール（１または複数）１６０は、これらのビークルシステム１４０のいくつかまたは全てを制御してよく、したがって部分的または完全に自律であってよい。
【００８８】
プロセッサ（１または複数）１１０、協調システム（１または複数）１７０および／または自律運転モジュール（１または複数）１６０は、さまざまなビークルシステム１４０および／またはその個別のコンポーネントと通信するように作動的に接続され得る。例えば図１に戻ると、プロセッサ（１または複数）１１０、協調システム１７０、および／または自律運転モジュール（１または複数）１６０は、ビークル１００の運動、速度、操作、進路、方向などを制御するため、さまざまなビークルシステム１４０からの情報を送信および／または受信するように通信状態にあり得る。プロセッサ（１または複数）１１０、協調システム１７０、および／または自律運転モジュール（１または複数）１６０は、これらのビークルシステム１４０のいくつかまたは全てを制御してよい。
【００８９】
プロセッサ（１または複数）１１０、協調システム１７０および／または自律運転モジュール（１または複数）１６０は、ビークルシステム１４０および／またはそのコンポーネントの１または複数を制御することにより、ビークル１００のナビゲーションおよび／または操作を制御するように動作可能であってよい。例えば、自律モードで動作しているとき、プロセッサ（１または複数）１１０、協調システム１７０および／または自律運転モジュール（１または複数）１６０は、ビークル１００の方向および／または速度を制御することができる。プロセッサ（１または複数）１１０、協調システム１７０および／または自律運転モジュール（１または複数）１６０は、ビークル１００に、加速させる（例えば、エンジンに提供される燃料供給を増大させることにより）、減速させる（例えば、エンジンへの燃料供給を減少することおよび／またはブレーキをかけることにより）、および／または、方向を変更させる（例えば、２つの前輪をターンすることにより）ことができる。本開示で使用される「〜させる（ｃａｕｓｅまたはｃａｕｓｉｎｇ）」なる用語は、直接的または間接的に、事象もしくは行為が発生するかまたは少なくともこのような事象もしくは行為が発生し得る状態になるように、仕向ける、強制する、余儀なくさせる、指示する、指令する、命令するおよび／または可能にすることを意味する。
【００９０】
ビークル１００は１または複数のアクチュエータ１５０を含むことができる。アクチュエータ１５０は、プロセッサ（１または複数）１１０および／または自律運転モジュール（１または複数）１６０からの信号または他の入力の受信に応答してビークルシステム１４０またはそのコンポーネントの１または複数を修正、調整および／または改変するように動作可能な任意の要素または要素の組み合わせであり得る。任意の好適なアクチュエータを使用することができる。例えば、１または複数のアクチュエータ１５０は、いくつかの可能性を挙げると、モータ、空気圧式アクチュエータ、油圧ピストン、継電器、ソレノイドおよび／または圧電アクチュエータを含み得る。
【００９１】
ビークル１００は、１または複数のモジュールを含むことができ、そのうちの少なくともいくつかが本開示で説明される。モジュールはコンピュータ可読プログラムコードであって、プロセッサ１１０によって実行されると本開示に記載のさまざまなプロセスの１または複数を実装するコンピュータ可読プログラムコードとして、実装され得る。モジュールの１または複数は、プロセッサ（１または複数）１１０の１コンポーネントであってよく、あるいは、１または複数のモジュールは、プロセッサ（１または複数）１１０が作動的に接続される他の処理システム上で実行されかつ／またはこれらの処理システムの間に分散されてよい。モジュールは、１または複数のプロセッサ１１０により実行可能な命令（例えばプログラム論理）を含むことができる。代替的にまたは付加的に、１または複数のデータストア１１５がこのような命令を含み得る。
【００９２】
１または複数の構成において、本開示に記載のモジュールの１または複数は、人工または計算知能要素、例えばニューラルネットワーク、ファジー論理または他の機械学習アルゴリズムを含むことができる。さらに、１または複数の構成において、モジュールの１または複数は、本開示に記載の複数のモジュール間に分散され得る。１または複数の構成においては、本開示に記載の２またはそれよりも多くのモジュールを単一のモジュールに組み合わせることができる。
【００９３】
ビークル１００は、１または複数の自律運転モジュール１６０を含むことができる。自律運転モジュール（１または複数）１６０は、センサシステム１２０および／または、ビークル１００および／またはビークル１００の外部環境に関する情報を捕捉する能力を有する他のタイプのシステムからデータを受信するように構成され得る。１または複数の構成において、自律運転モジュール（１または複数）１６０は、このようなデータを用いて１または複数の運転シーンモデルを生成することができる。自律運転モジュール（１または複数）１６０は、ビークル１００の位置および速度を決定することができる。自律運転モジュール（１または複数）１６０は、障害物の場所、障害物、または、交通標識、樹木、低木、隣接ビークル、歩行者などを含めた他の環境特徴を決定することができる。
【００９４】
自律運転モジュール（１または複数）１６０は、ビークル１００の位置および配向、複数の衛星からの信号に基づくグローバル座標内のビークルの位置、または、地図を作成するかもしくは地図データに対するビークル１００の位置を決定する上で使用するためにビークル１００の環境との関係における位置を決定しもしくはビークル１００の現在の状態を決定するのに使用可能と考えられる他の任意のデータおよび／もしくは信号、を推定する目的で、プロセッサ（１または複数）１１０および／または本開示に記載のモジュールの１または複数により使用されるためのビークル１００の外部環境内部の障害物についての場所情報を受信および／または決定するように構成され得る。
【００９５】
自律運転モジュール（１または複数）１６０は、独立してまたは協調システム１７０と組み合わせた形で、移動パス（１または複数）、ビークル１００のための現在の自律運転操作、将来の自律運転操作および／または、センサシステム１２０が獲得したデータ、運転シーンモデルおよび／または他の任意の好適なソースからのデータに基づく現在の自律運転操作に対する修正を決定するように構成可能である。「運転操作」とは、ビークルの運動に影響を及ぼす１または複数の行為を意味する。運転操作の例としては、いくつかの可能性を挙げると、加速、減速、制動、ターン、ビークル１００の側方向移動、移動車線変更、移動車線内への合流および／または後進が含まれる。自律運転モジュール（１または複数）１６０は、決定された運転操作を実装するように構成され得る。自律運転モジュール（１または複数）１６０は、直接的または間接的に、このような自律運転操作を実装させることができる。本開示で使用される「〜させる（ｃａｕｓｅまたはｃａｕｓｉｎｇ）なる用語は、直接的または間接的に、事象もしくは行為が発生するかまたは少なくともこのような事象もしくは行為が発生し得る状態になるように仕向ける、指令する、命令するおよび／または可能にすることを意味する。自律運転モジュール（１または複数）１６０は、さまざまなビークル機能を実行しかつ／またはビークル１００もしくはその１もしくは複数のシステム（例えばビークルシステム１４０の１もしくは複数）に対しデータを伝送する、そこからデータを受信する、それらと対話するおよび／またはそれらを制御するように構成され得る。
【００９６】
詳細な実施形態が本開示に開示されている。しかしながら、開示された実施形態は単なる例として意図されていることを理解しなければならない。したがって、本開示に開示されている具体的な構造的および機能的詳細は、限定的なものとしてではなく単なる特許請求の範囲の根拠としておよび本開示中の態様を事実上任意の適切な詳述された構造においてさまざまな形で利用するように当業者に教示するための代表的な根拠として解釈されるべきものである。さらに、本開示中で使用されている用語および言い回しは、限定的なものとしてではなく、考えられる実装の理解可能な説明を提供するために意図されている。図１から６にさまざまな実施形態が示されているが、実施形態は、例示された構造または利用分野に限定されない。
【００９７】
図中のフローチャートおよびブロック図は、さまざまな実施形態に従ったシステム、方法およびコンピュータプログラムプロダクトの考えられる実装のアーキテクチャ、機能性および動作を例示している。この点に関して、フローチャートまたはブロック図中の各ブロックは、特定された論理機能（１または複数）を実装するための１または複数の実行可能な命令を含むモジュール、セグメントまたはコード部分を表わし得る。同様に、一部の代替的実装においては、ブロック内に記されている機能は、図中に記されている順序以外で発生してもよいということを指摘しておくべきである。例えば、連続して示されている２つのブロックは、実際には実質的に同時に実行されてもよく、あるいは、ブロックは時として、関与する機能性に応じて逆の順序で実行されてもよい。
【００９８】
上述されたシステム、コンポーネントおよび／またはプロセスは、ハードウェアまたはハードウェアとソフトウェアの組み合わせの形で実現されてもよく、１つの処理システム内に集中された形で、または複数の相互接続された処理システムを横断して異なる要素が展開されている分散された形で、実現可能である。本開示に説明された方法を実施するために適合された任意の種類の処理システムまたは別の装置が適している。ハードウェアとソフトウェアの典型的な組み合わせは、ロードされ実行されたときに本開示に記載の方法を実施するように処理システムを制御する、コンピュータ使用可能プログラムコードを伴う処理システムであり得る。本開示に記載の方法およびプロセスを行なうために機械によって実行可能な命令プログラムを有形で具体化する、機械により読取り可能なコンピュータプログラムプロダクトまたは他のデータプログラムストレージデバイスなどの、コンピュータ可読ストレージ内に、システム、コンポーネントおよび／またはプロセスを埋込むことができる。本開示に記載の方法の実装を可能にする全ての特徴を含みかつ処理システム内にロードされるとこれらの方法を実施することのできるアプリケーションプロダクト内に、これらの要素を埋込んでもよい。
【００９９】
さらに、本開示に記載の構成は、コンピュータ可読プログラムコードを有する１または複数のコンピュータ可読媒体であって、コンピュータ可読プログラムコードが１または複数のコンピュータ可読媒体において具体化例えば記憶されている１または複数のコンピュータ可読媒体内において具体化される、コンピュータプログラムプロダクトの形を取り得る。１または複数のコンピュータ可読媒体の任意の組み合わせを利用してよい。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってよい。「コンピュータ可読記憶媒体」なる言い回しは非一時的記憶媒体を意味する。コンピュータ可読記憶媒体は、例えば、非限定的に電子、磁気、光学、電磁、赤外線または半導体のシステム、装置もしくはデバイスまたは上述のものの任意の好適な組み合わせであってよい。コンピュータ可読記憶媒体のより具体的な例（非網羅的リスト）には、以下のものが含まれると考えられる：ポータブルコンピュータディスケット、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、ポータブルコンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、光学記憶デバイス、磁気記憶デバイスまたは上述のものの任意の好適な組み合わせ。本文書に関連して、コンピュータ可読記憶媒体は、命令実行システム、装置およびデバイスによってまたはこれらと接続して使用するためのプログラムを格納または記憶できる任意の有形媒体であってよい。
【０１００】
コンピュータ可読媒体上で具体化されたプログラムコードは、無線、有線、光ファイバ、ケーブル、ＲＦなどまたは上述のものの任意の好適な組み合わせを非限定的に含む任意の適切な媒体を用いて伝送されてよい。本構成の態様のための動作を実施するためのコンピュータプログラムコードを、オブジェクト指向プログラミング言語、例えばＪａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋など、および従来の手続き型プログラミング言語、例えば「Ｃ」プログラミング言語または類似のプログラミング言語を含めた、１または複数のプログラミング言語の任意の組み合わせで書いてよい。プログラムコードは、独立型ソフトウェアパッケージとして、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上でかつ部分的に遠隔コンピュータ上で、または完全に遠隔コンピュータもしくはサーバ上で、実行可能である。後者のシナリオでは、遠隔コンピュータはローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含めた任意のタイプのネットワークを通してユーザのコンピュータに接続されてよく、あるいは、（例えばインタネットサービスプロバイダを用いたインタネットを通して）外部コンピュータに対し接続を行なってもよい。
【０１０１】
本開示で使用される「ａ」および「ａｎ」なる用語は、１つまたはそれよりも多いとして定義される。本開示で使用される「複数」なる用語は、２つまたはそれよりも多いとして定義される。本開示で使用される「別の（ａｎｏｔｈｅｒ）」なる用語は、少なくとも２番目またはそれ以降のものとして定義される。本開示で使用される「〜を含む（ｉｎｃｌｕｄｉｎｇ）」および／または「を有する（ｈａｖｉｎｇ）」なる用語は、含む（ｃｏｍｐｒｉｓｉｎｇ）（すなわちオープンランゲージ）として定義される。本開示で使用される「〜と〜のうちの少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ．．．ａｎｄ．．．）」なる言い回しは、関連するリストアップされた品目の１または複数のいずれかおよび考えられる全ての組み合わせを意味し包含する。一例として、「Ａ、ＢおよびＣのうちの少なくとも１つ」はＡのみ、Ｂのみ、Ｃのみまたはその任意の組み合わせ（例えばＡＢ、ＡＣ、ＢＣまたはＡＢＣ）を含む。
【０１０２】
本開示の態様は、その真意または必須の属性から逸脱することなく、他の形態で具体化され得る。したがって、その範囲を示すものとしては、上述の明細書ではなくむしろ以下の特許請求の範囲を参照すべきである。
【図１】
2019073261.tif 000003
【図２】
2019073261.tif 000004
【図３】
2019073261.tif 000005
【図４】
2019073261.tif 000006
【図５】
2019073261.tif 000007
【図６】
2019073261.tif 000008
【外国語明細書】
2019073261000001.pdf