(57)【要約】      （修正有）【課題】自律走行車（ＡＤＶ）の運転決定システム用の計画運転型フレームワークのシステム及び方法の決定改善システムを提供する。【解決手段】運転決定は、保守的な決定、急進的な決定、保守的なパラメータ、急進的なパラメータ、早期決定、後期決定、及び非決定問題という少なくとも７つのタイプに分けられる。ＡＤＶ決定計画モジュールの出力で、ＡＤＶ運転決定問題を認識、分類及び診断する。ＡＤＶにおいて短時間内に局所運転決定の改善を確定して実行する。長期的な解決手段に対して、必要に応じて、運転決定問題を分析サーバにアップロードできる。すべてのＡＤＶのＡＤＶ決定システムを改善するように、大量のＡＤＶからの運転決定問題を集約して分析できる。【選択図】図６
2018081673.tif 000002
【特許請求の範囲】
【請求項１】
前記自律走行車の第１状態及び前記自律走行車の外部の対象の第２状態に基づいて第１運転決定を生成し、前記第１状態及び前記第２状態のいずれかが前記自律走行車の速度、位置及び方向と、前記対象の速度、位置及び方向とをそれぞれ含むステップと、
前記第１運転決定、前記第１状態、及び前記第２状態に基づいて、前記第１運転決定に関連する計画フィードバックを受信するステップと、
前記計画フィードバックに応答し、
前記第１運転決定に関連する第１決定パラメータを変更し、変更後の第１決定パラメータを有する第１運転決定を実行し、又は、
前記第１運転決定を前記第２運転決定に変更して前記第２運転決定を実行するステップとを含む、
自律走行車を動作させるためのコンピュータ実現方法。
【請求項２】
前記自律走行車の前記第１状態を決定し、前記自律走行車の前記第１状態を運転ログに記録するステップと、
前記自律走行車の外部の１つ以上の対象の１つ以上の状態を決定し、前記第２状態を記録するステップを含む前記対象の前記状態を感知ログに記録するステップとを、さらに含み、前記第１運転決定が前記感知ログ及び前記運転ログに基づいて生成される、
請求項１に記載の方法。
【請求項３】
前記第１運転決定を分類するステップを含む第１運転決定問題を検出するステップをさらに含み、前記第１運転決定は、
保守的な運転決定、
急進的な運転決定、
１つ以上の保守的なパラメータを有する運転決定、
１つ以上の急進的なパラメータを有する運転決定、
早期運転決定、
後期運転決定、又は
非決定問題を有する運転決定のうちのいずれかに分類される、
請求項１に記載の方法。
【請求項４】
第１運転決定において問題を検出していない場合、前記第１運転決定を実行するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記第１運転決定には、
前記対象を追い越す決定、
前記対象に道を譲るエラー! ハイパーリンクの参照に誤りがあります。決定、
前記対象までの所定距離内に自律走行車を停止させる決定、又は
前記対象を無視する決定のうちの１つを含む、請求項１に記載の方法。
【請求項６】
前記第１運転決定の前記第１決定パラメータを変更するステップには、
前記自律走行車が前記対象を追い越す時の速度を変更するステップ、
前記自律走行車が減速して前記対象に道を譲る時の速度を変更するステップ、
前記自律走行車が停止する時の前記所定距離を変更するステップ、
前記自律走行車で占有される進行車線内における前記自律走行車の位置を変更するステップ、又は
前記対象を追い越すために選択された自律走行車の進行ルートを変更するステップのうちの１つを含む、請求項５に記載の方法。
【請求項７】
前記第１運転決定を前記第２運転決定に変更するステップには、
追い越し決定を譲り決定又は停止決定に変更するステップと、
譲り決定を停止決定又は追い越し決定に変更するステップと、
無視決定を追い越し決定、譲り決定又は停止決定に変更するステップとのうちの１つを含む、請求項５に記載の方法。
【請求項８】
前記計画フィードバックには、
前記対象の位置又は速度、及び前記自律走行車の位置又は速度に対して自律走行車の速度が速すぎる又は遅すぎるという指示、
前記自律走行車が第１運転決定を実行できないという指示、
第１運転決定の実施に必要なステアリング入力が大きすぎるという指示、又は
天気と光照量と前記自律走行車の車線位置とを含む１つ以上の道路状況に基づいて、前記第１運転決定が不安全であるという指示のうちの少なくとも１つを含む、
請求項１に記載の方法。
【請求項９】
命令が記憶された非一時的な機械可読媒体であって、
前記命令は、プロセッサにより実行される場合、前記プロセッサに自律走行車を操作する動作を実行させ、前記動作には、
前記自律走行車の第１状態及び前記自律走行車の外部の対象の第２状態に基づいて第１運転決定を生成し、前記第１状態及び前記第２状態のいずれかが前記自律走行車の速度、位置及び方向と、前記対象の速度、位置及び方向とをそれぞれ含む動作と、
前記第１運転決定、前記第１状態、及び前記第２状態に基づいて、前記第１運転決定に関連する計画フィードバックを受信する動作と、
前記計画フィードバックに応答し、
前記第１運転決定に関連する第１決定パラメータを変更し、変更後の第１決定パラメータを有する第１運転決定を実行し、又は
前記第１運転決定を前記第２運転決定に変更して前記第２運転決定を実行する動作とを含む、
非一時的な機械可読媒体。
【請求項１０】
前記動作には、
前記自律走行車の前記第１状態を決定し、前記自律走行車の前記第１状態を運転ログに記録する動作と、
前記自律走行車の外部の１つ以上の対象の１つ以上の状態を決定し、前記第２状態を記録することを含む前記対象の前記状態を感知ログに記録する動作とをさらに含み、
前記第１運転決定は前記感知ログ及び前記運転ログに基づいて生成される、
請求項９に記載の媒体。
【請求項１１】
前記動作には、前記第１運転決定を分類することを含む前記第１運転決定問題を検出する動作をさらに含み、前記第１運転決定は、
保守的な運転決定、
急進的な運転決定、
１つ以上の保守的なパラメータを有する運転決定、
１つ以上の急進的なパラメータを有する運転決定、
早期運転決定、
後期運転決定、又は
非決定問題を有する運転決定のうちのいずれかに分類される、
請求項９に記載の媒体。
【請求項１２】
前記動作には、前記第１運転決定において問題を検出していない場合、前記第１運転決定を実行する動作をさらに含む、請求項９に記載の媒体。
【請求項１３】
前記第１運転決定には、
前記対象を追い越す決定、
前記対象に道を譲る決定、
前記対象までの所定距離内に前記自律走行車を停止させる決定、又は
前記対象を無視する決定のうちの１つを含む、請求項９に記載の媒体。
【請求項１４】
前記第１運転決定の前記第１決定パラメータを変更することは、
前記自律走行車が前記対象を追い越す時の速度を変更すること、
前記自律走行車が減速して前記対象に道を譲る時の速度を変更すること、
前記自律走行車が停止する時の前記所定距離を変更すること、
前記自律走行車で占有される進行車線内における前記自律走行車の位置を変更すること、又は
前記対象を追い越すために選択された自律走行車の進行ルートを変更することのうちの１つを含む、請求項１３に記載の媒体。
【請求項１５】
前記第１運転決定を前記第２運転決定に変更することには、
追い越し決定を譲り決定又は停止決定に変更することと、
譲り決定を停止決定又は追い越し決定に変更することと、
無視決定を追い越し決定、譲り決定又は停止決定に変更することとのうちの１つを含む、請求項１３に記載の媒体。
【請求項１６】
前記計画フィードバックには、
前記対象の位置又は速度、及び前記自律走行車の位置又は速度に対して自律走行車の速度が速すぎる又は遅すぎるという指示、
前記自律走行車が第１運転決定を実行できないという指示、
第１運転決定の実施に必要なステアリング入力が大きすぎるという指示、又は
天気と、光照量と、前記自律走行車の車線位置とを含む１つ以上の道路状況に基づいて、前記第１運転決定が不安全であるという指示のうちの少なくとも１つを含む、
請求項９に記載の媒体。
【請求項１７】
プロセッサと、
前記プロセッサに接続され、命令を記憶するために用いられるメモリとを備え、
前記命令は、前記プロセッサにより実行される場合、前記プロセッサに自律走行車を操作する動作を実行させ、前記動作には、
前記自律走行車の第１状態及び前記自律走行車の外部の対象の第２状態に基づいて第１運転決定を生成し、前記第１状態及び前記第２状態のいずれかが前記自律走行車の速度、位置及び方向と、前記対象の速度、位置及び方向とをそれぞれ含む動作と、
前記第１運転決定、前記第１状態、及び前記第２状態に基づいて、前記第１運転決定に関連する計画フィードバックを受信する動作と、
前記計画フィードバックに応答し、
前記第１運転決定に関連する第１決定パラメータを変更し、変更後の第１決定パラメータを有する第１運転決定を実行し、又は、
前記第１運転決定を前記第２運転決定に変更して前記第２運転決定を実行する動作とを含む、
データ処理システム。
【請求項１８】
前記動作には、
前記自律走行車の前記第１状態を決定し、前記自律走行車の前記第１状態を運転ログに記録する動作と、
前記自律走行車の外部の１つ以上の対象の１つ以上の状態を確定し、前記第２状態を記録することを含む前記対象の前記状態を感知ログに記録する動作とをさらに含み、前記第１運転決定は前記感知ログ及び前記運転ログに基づいて生成される、
請求項１７に記載のシステム。
【請求項１９】
前記動作には、前記第１運転決定を分類することを含む前記第１運転決定問題を検出する動作をさらに含み、前記第１運転決定は、
保守的な運転決定、
急進的な運転決定、
１つ以上の保守的なパラメータを有する運転決定、
１つ以上の急進的なパラメータを有する運転決定、
早期運転決定、
後期運転決定、又は
非決定問題を有する運転決定のうちのいずれかに分類される、
請求項１７に記載のシステム。
【請求項２０】
前記動作には、前記第１運転決定において問題を検出していない場合、前記第１運転決定を実行する動作をさらに含む、請求項１７に記載のシステム。
【請求項２１】
前記第１運転決定には、
前記対象を追い越す決定、
前記対象に道を譲る決定、
前記対象までの所定距離内に前記自律走行車を停止させる決定、又は
前記対象を無視する決定のうちの１つを含む請求項１７に記載のシステム。
【請求項２２】
前記第１運転決定の第１決定パラメータを変更することには、
前記自律走行車が前記対象を追い越す時の速度を変更すること、
前記自律走行車が減速して前記対象に道を譲る時の速度を変更すること、
前記自律走行車が停止する時の前記所定距離を変更すること、
前記自律走行車で占有される進行車線内における前記自律走行車の位置を変更すること、又は
前記対象を追い越すために選択された自律走行車の進行ルートを変更することのうちの１つを含む、請求項２１に記載のシステム。
【請求項２３】
第１運転決定を前記第２運転決定に変更することには、
追い越し決定を譲り決定又は停止決定に変更することと、
譲り決定を停止決定又は追い越し決定に変更することと、
無視決定を追い越し決定、譲り決定又は停止決定に変更することのうちの１つを含む、請求項２１に記載のシステム。
【請求項２４】
前記計画フィードバックには、
前記対象の位置又は速度、及び前記自律走行車の位置又は速度に対して前記自律走行車の速度が速すぎる又は遅すぎるという指示、
前記自律走行車が前記第１運転決定を実行できないという指示、
前記第１運転決定の実施に必要なステアリング入力が大きすぎるという指示、又は
天気と、光照量と、前記自律走行車の車線位置とを含む１つ以上の道路状況に基づいて、前記第１運転決定が不安全であるという指示のうちの少なくとも１つを含む、
請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、全体として自律走行車（ＡＤＶ：ａｕｔｏｎｏｍｏｕｓ  ｄｒｉｖｉｎｇ  ｖｅｈｉｃｌｅ）を動作させることに関する。より具体的には、本発明の実施形態は自律走行車で作られた運転決定を改善することに関する。
【背景技術】
【０００２】
自律モード（例えば、自律運転）で走行している車両は、乗員（特に運転者）を、特定の運転に関連する責任から解放できる。自律モードで走行している場合、車両は車載センサで様々な場所にナビゲートすることができ、それにより車両がヒューマンコンピュータインタラクションの最も少ない場合又は乗客なしの場合でも運行することを可能にさせる。
【０００３】
運動計画及び制御は、自律走行の重要な動作（操作）である。自律走行車（以下、ＡＤＶとも呼ばれ）の決定システムは、周囲の障害物、前方の交通信号、及び近くの交通標識（対象）への応答に応じて車両の走行を案内することである。決定命令は、対象に対する意図及び該意図の１つ以上の関連パラメータで構成される。例えば、赤信号に対する決定は、好適な停止線の位置を含むパラメータに関連する「停止」としてもよい。１つ以上の起因で、ＡＤＶ決定システムで作られた決定は完璧ではない可能性がある。例えば、ＡＤＶ計画及び／又は制御システムは、前記決定を実行できない可能性がある。ＡＤＶ計画及び制御システム可以は、前記決定に従うことができるが、ＡＤＶ１つ以上の決定パラメータを満たしてもよい。ＡＤＶ決定は、乗客にとって不快な乗車経験を引き起こしたり、交通ルール違反を引き起こしたりする可能性がある。また、ＡＤＶ決定は、危険な運転状況を引き起こしたり、通常の走行時間より長い時間をかけたりする可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の一態様によれば、自律走行車を動作させるためのコンピュータ実現方法を提供し、当該方法には、前記自律走行車の第１状態及び前記自律走行車の外部の対象の第２状態に基づいて第１運転決定を生成し、前記第１状態及び前記第２状態のいずれかが前記自律走行車の速度、位置及び方向と、前記対象の速度、位置及び方向とをそれぞれ含むステップと、前記第１運転決定、前記第１状態、及び前記第２状態に基づいて、前記第１運転決定に関連する計画フィードバックを受信するステップと、前記計画フィードバックに応答し、前記第１運転決定に関連する第１決定パラメータを変更し、変更後の第１決定パラメータを有する第１運転決定を実行し、又は、前記第１運転決定を前記第２運転決定に変更して前記第２運転決定を実行するステップとを含む。
【０００５】
一実施形態において、前記方法は、前記自律走行車の前記第１状態を決定し、前記自律走行車の前記第１状態を運転ログに記録するステップと、前記自律走行車の外部の１つ以上の対象の１つ以上の状態を決定し、前記第２状態を記録するステップを含む前記対象の前記状態を感知ログに記録するステップとをさらに含み、前記第１運転決定が前記感知ログ及び前記運転ログに基づいて生成される。
【０００６】
一実施形態において、前記方法は、前記第１運転決定を分類するステップを含む第１運転決定問題を検出するステップをさらに含み、前記第１運転決定は、保守的な運転決定、急進的な運転決定、１つ以上の保守的なパラメータを有する運転決定、１つ以上の急進的なパラメータを有する運転決定、早期運転決定、後期運転決定、又は非決定問題を有する運転決定のうちのいずれかに分類される。
【０００７】
一実施形態において、前記方法は、第１運転決定において問題を検出していない場合、前記第１運転決定を実行するステップをさらに含む。
【０００８】
一実施形態において、前記第１運転決定には、前記対象を追い越す決定、前記対象に道を譲る決定、前記対象までの所定距離内に自律走行車を停止させる決定、又は前記対象を無視する決定のうちの１つを含む。
【０００９】
一実施形態において、前記第１運転決定の前記第１決定パラメータを変更するステップには、前記自律走行車が前記対象を追い越す時の速度を変更するステップ、前記自律走行車が減速して前記対象に道を譲る時の速度を変更するステップ、前記自律走行車が停止する時の前記所定距離を変更するステップ、前記自律走行車で占有される進行車線内における前記自律走行車の位置を変更するステップ、又は前記対象を追い越すために選択された自律走行車の進行ルートを変更するステップのうちの１つを含む。
【００１０】
一実施形態において、前記第１運転決定を前記第２運転決定に変更するステップには、追い越し決定を譲り決定又は停止決定に変更するステップと、譲り決定を停止決定又は追い越し決定に変更するステップと、無視決定を追い越し決定、譲り決定又は停止決定に変更するステップとのうちの１つを含む。
【００１１】
一実施形態において、前記計画フィードバックには、前記対象の位置又は速度、及び前記自律走行車の位置又は速度に対して自律走行車の速度が速すぎる又は遅すぎるという指示、前記自律走行車が第１運転決定を実行できないという指示、第１運転決定の実施に必要なステアリング入力が大きすぎるという指示、又は天気と光照量と前記自律走行車の車線位置とを含む１つ以上の道路状況に基づいて、前記第１運転決定が不安全であるという指示のうちの少なくとも１つを含む。
【００１２】
本発明の他の態様によれば、非一時的な機械可読媒体を提供し、それは命令が記憶された非一時的な機械可読媒体であって、前記命令は、プロセッサにより実行される場合、前記プロセッサに自律走行車を操作する動作を実行させ、前記動作には、前記自律走行車の第１状態及び前記自律走行車の外部の対象の第２状態に基づいて第１運転決定を生成し、前記第１状態及び前記第２状態のいずれかが前記自律走行車の速度、位置及び方向と、前記対象の速度、位置及び方向とをそれぞれ含む動作と、前記第１運転決定、前記第１状態、及び前記第２状態に基づいて、前記第１運転決定に関連する計画フィードバックを受信する動作と、前記計画フィードバックに応答し、前記第１運転決定に関連する第１決定パラメータを変更し、変更後の第１決定パラメータを有する第１運転決定を実行し、又は前記第１運転決定を前記第２運転決定に変更して前記第２運転決定を実行する動作とを含む。
【００１３】
一実施形態において、前記動作には、前記自律走行車の前記第１状態を決定し、前記自律走行車の前記第１状態を運転ログに記録する動作と、前記自律走行車の外部の１つ以上の対象の１つ以上の状態を決定し、前記第２状態を記録することを含む前記対象の前記状態を感知ログに記録する動作とをさらに含み、前記第１運転決定は前記感知ログ及び前記運転ログに基づいて生成される。
【００１４】
一実施形態において、前記動作には、前記第１運転決定を分類することを含む前記第１運転決定問題を検出する動作をさらに含み、前記第１運転決定は、保守的な運転決定、急進的な運転決定、１つ以上の保守的なパラメータを有する運転決定、１つ以上の急進的なパラメータを有する運転決定、早期運転決定、後期運転決定、又は非決定問題を有する運転決定のうちのいずれかに分類される。
【００１５】
一実施形態において、前記動作には、前記第１運転決定において問題を検出していない場合、前記第１運転決定を実行する動作をさらに含む。
【００１６】
一実施形態において、前記第１運転決定には、前記対象を追い越す決定、前記対象に道を譲る決定、前記対象までの所定距離内に前記自律走行車を停止させる決定、又は前記対象を無視する決定のうちの１つを含む。
【００１７】
一実施形態において、前記第１運転決定の前記第１決定パラメータを変更することは、前記自律走行車が前記対象を追い越す時の速度を変更すること、前記自律走行車が減速して前記対象に道を譲る時の速度を変更すること、前記自律走行車が停止する時の前記所定距離を変更すること、前記自律走行車で占有される進行車線内における前記自律走行車の位置を変更すること、又は前記対象を追い越すために選択された自律走行車の進行ルートを変更することのうちの１つを含む。
【００１８】
一実施形態において、前記第１運転決定を前記第２運転決定に変更することには、追い越し決定を譲り決定又は停止決定に変更することと、譲り決定を停止決定又は追い越し決定に変更することと、無視決定を追い越し決定、譲り決定又は停止決定に変更することとのうちの１つを含む。
【００１９】
一実施形態において、前記計画フィードバックには、前記対象の位置又は速度、及び前記自律走行車の位置又は速度に対して自律走行車の速度が速すぎる又は遅すぎるという指示、前記自律走行車が第１運転決定を実行できないという指示、第１運転決定の実施に必要なステアリング入力が大きすぎるという指示、又は天気と、光照量と、前記自律走行車の車線位置とを含む１つ以上の道路状況に基づいて、前記第１運転決定が不安全であるという指示のうちの少なくとも１つを含む。
【００２０】
また、本発明の他の態様によれば、データ処理システムを提供し、それはプロセッサと、前記プロセッサに接続され、命令を記憶するために用いられるメモリとを備え、前記命令は、前記プロセッサにより実行される場合、前記プロセッサに自律走行車を操作する動作を実行させ、前記動作には、前記自律走行車の第１状態及び前記自律走行車の外部の対象の第２状態に基づいて第１運転決定を生成し、前記第１状態及び前記第２状態のいずれかが前記自律走行車の速度、位置及び方向と、前記対象の速度、位置及び方向とをそれぞれ含む動作と、前記第１運転決定、前記第１状態、及び前記第２状態に基づいて、前記第１運転決定に関連する計画フィードバックを受信する動作と、前記計画フィードバックに応答し、前記第１運転決定に関連する第１決定パラメータを変更し、変更後の第１決定パラメータを有する第１運転決定を実行し、又は、前記第１運転決定を前記第２運転決定に変更して前記第２運転決定を実行する動作とを含む。
【００２１】
一実施形態において、前記動作には、前記自律走行車の前記第１状態を決定し、前記自律走行車の前記第１状態を運転ログに記録する動作と、前記自律走行車の外部の１つ以上の対象の１つ以上の状態を確定し、前記第２状態を記録することを含む前記対象の前記状態を感知ログに記録する動作とをさらに含み、前記第１運転決定は前記感知ログ及び前記運転ログに基づいて生成される。
【００２２】
一実施形態において、前記動作には、前記第１運転決定を分類することを含む前記第１運転決定問題を検出する動作をさらに含み、前記第１運転決定は、保守的な運転決定、急進的な運転決定、１つ以上の保守的なパラメータを有する運転決定、１つ以上の急進的なパラメータを有する運転決定、早期運転決定、後期運転決定、又は非決定問題を有する運転決定のうちのいずれかに分類される。
【００２３】
一実施形態において、前記動作には、前記第１運転決定において問題を検出していない場合、前記第１運転決定を実行する動作をさらに含む。
【００２４】
一実施形態において、前記第１運転決定には、前記対象を追い越す決定、前記対象に道を譲る決定、前記対象までの所定距離内に前記自律走行車を停止させる決定、又は前記対象を無視する決定のうちの１つを含む。
【００２５】
一実施形態において、前記第１運転決定の第１決定パラメータを変更することには、
前記自律走行車が前記対象を追い越す時の速度を変更すること、前記自律走行車が減速して前記対象に道を譲る時の速度を変更すること、前記自律走行車が停止する時の前記所定距離を変更すること、前記自律走行車で占有される進行車線内における前記自律走行車の位置を変更すること、又は前記対象を追い越すために選択された自律走行車の進行ルートを変更することのうちの１つを含む。
【００２６】
一実施形態において、第１運転決定を前記第２運転決定に変更することには、追い越し決定を譲り決定又は停止決定に変更することと、譲り決定を停止決定又は追い越し決定に変更することと、無視決定を追い越し決定、譲り決定又は停止決定に変更することのうちの１つを含む。
【００２７】
一実施形態において、前記計画フィードバックには、前記対象の位置又は速度、及び前記自律走行車の位置又は速度に対して前記自律走行車の速度が速すぎる又は遅すぎるという指示、前記自律走行車が前記第１運転決定を実行できないという指示、前記第１運転決定の実施に必要なステアリング入力が大きすぎるという指示、又は天気と、光照量と、前記自律走行車の車線位置とを含む１つ以上の道路状況に基づいて、前記第１運転決定が不安全であるという指示のうちの少なくとも１つを含む。
【００２８】
本発明の実施形態は、図面の各図に例として非限定的に示され、図面における同一符号は、類似の構成要素（部材）を示す。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態に係るネットワーク化システムの概要を示すブロック図である。
【図２】本発明の一実施形態に係る自律走行車（ＡＤＶ）センサ及び制御モジュールの例を示すブロック図である。
【図３】本発明の一実施形態に係るＡＤＶ感知及び計画システムの例を示すブロック図である。
【図４】いくつかの実施形態に係るＡＤＶ用の計画フィードバックに基づく決定改善システムの方法の概要をブロック形式で示す図である。
【図５】１つ以上の運転決定をすることができる例示的な運転状況を示す図である。
【図６】いくつかの実施形態に係るＡＤＶの運転決定を局所的に改善する方法をブロック形式で示す図である。
【図７】いくつかの実施形態に係る複数のＡＤＶの運転決定を全局的に改善する方法をブロック形式で示す図である。
【図８Ａ】いくつかの実施形態に係る感知ログの例を示す図である。
【図８Ｂ】いくつかの実施形態に係る運転ログの例を示す図である。
【図８Ｃ】いくつかの実施形態に係るＡＤＶ運転決定ログの例を示すである。
【図８Ｄ】いくつかの実施形態に係るＡＤＶによって検知された対象に関連する運転決定の計画モジュールフィードバックの例を示す図である。
【図８Ｅ】いくつかの実施形態に係る運転決定問題の分類の例を示す図である。
【図８Ｆ】いくつかの実施形態に係る運転決定の全局的な改善の例を示す図である。
【図９】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【００３０】
以下、説明の詳細を参照しながら、本出願の様々な実施形態及び方法を説明し、図面は、前記様々な実施形態を示す。以下の説明及び図面は、本出願を説明するためのものであり、本出願を限定するものではない。本出願の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。なお、いくつかの例では、本出願の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
【００３１】
本明細書では「一実施形態／一つの実施形態」又は「実施形態」とは、当該実施形態について組み合わせて説明された特定特徴、構造又は特性が、本出願の少なくとも一つの実施形態に含まれてもよい。語句「一実施形態では」は、本明細書全体において同一実施形態を指すとは限らない。
【００３２】
いくつかの実施形態によれば、自律走行車用の運転シナリオ（例えば経路、目的地又は交通タイプ（例えば、高速道路や都会での運転））を選択してもい。ＡＤＶが走行する時、複数種のセンサは自律走行車の外部の対象の位置、距離、速度及び配向（方向決め）を検出できる。センサ出力を周期的に感知ログに記録する。一実施形態において、記録前にセンサ出力を処理する。運転制御入力（例えば運転者によるハンドル、アクセルやブレーキの使用）も周期的に運転ログに記録できる。自律走行車の運転決定モジュールはセンサ出力と制御入力に応答して運転決定を生成する。一実施形態において、運転決定を生成してＡＤＶ運転決定ログに記録する。運転決定を運転決定の実行を計画する計画モジュールに伝達する。運転決定は、運転決定パラメータを含んでもよい。例えば、運転決定が「追い越し」であると、運転決定パラメータは、自動車を追い越す時の速度、ＡＤＶと追い越される自動車との間の最小距離等を含む。計画モジュールは、決定に存在する問題を決定してもよい。計画モジュールは、決定モジュールへフィードバックを提供してもよい。フィードバックは、運転決定を実行できないか、運転決定が安全でないか、何らかの形で乱暴になるかの警告、運転決定を実施するために示唆された速度、距離や方向、運転決定モジュールによりＡＤＶ外部の対象に関して作られた運転決定が遅すぎる又は早すぎるという指示を含む。次に、前記運転決定モジュールは、運転決定問題を、保守的な決定、急進的な決定、保守的なパラメータを有する決定、急進的なパラメータを有する決定、早期決定、後期決定及び非運転決定モジュール問題に分類できる。局所運転決定モジュールは運転決定を改善できる。運転が終了した後、センサ出力、制御入力及び自律走行車の運転決定の記録を終了する。一実施形態において、感知ログ、運転ログ及びＡＤＶ運転決定ログ（「ログ情報」）をサーバにアップロードして分析する。
【００３３】
別の実施形態では、データ分析システムは複数のＡＤＶのログ情報を受信する。全局運転決定改善モジュールは、ＡＤＶのログを抽出して特定運転決定を改善する。全局運転決定改善モジュールは、抽出されたログを、さらに同一対象（例えば、移動自動車）及び類似の運転パラメータ（例えばＡＤＶ速度、配向及び方向、類似速度、配向、移動自動車までの距離等）に対応して作られた運転決定に制限する。運転パラメータは、計画モジュールフィードバック及び／又は局所運転決定改善をさらに含む。全局運転決定改善モジュールは、各ＡＤＶのこれら運転パラメータの固有ベクトルを形成する。機器学習で運転決定への全局改善を確定できる。改善された決定は運転決定メトリクス（例えば、安全性、乗客の快適性、交通法や安全運転行為に対する規則遵守度や時間効率）を最適化させる。運転決定はこれら運転決定メトリクスに基づいて分級することができる。
【００３４】
図１は一実施形態に係る自律走行車のネットワーク配置１００を示すブロック図である。図１を参照して、ネットワーク配置１００は、ネットワーク１０２によって１つ以上のサーバ１０３〜１０４に通信可能に接続することができる自律走行車１０１を含む。１つの自律走行車１０１を示すが、ネットワーク１０２によって複数の自律走行車は互いに接続され、及び／又はサーバ１０３〜１０４に接続されることができる。ネットワーク１０２は、有線や無線の任意タイプのネットワーク、例えば、ローカルエリアネットワーク（ＬＡＮ）、およびインターネットのワイドエリアネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク、またはそれらの組合せであってもよい。サーバ１０３〜１０４は、任意のタイプのサーバ又はサーバクラスタ、例えばＷｅｂサーバ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はその組み合わせであってもよい。サーバ１０３〜１０４は、データ分析サーバ、内容サーバ、交通情報サーバ、地図（マップ）及び観光スポット（ＭＰＯＩ）サーバ又は位置サーバ等であってもよい。以下、図９を参照して例示的なサーバシステムを説明する。以下、図９を参照して例示的なサーバシステムを説明する。サーバ１０３は、分析システムを含んでもよく、前記分析システムは、機器学習モジュール（機器学習エンジン）１０３Ａと、全局決定改善モジュール１０３Ｂと、運転決定分級モジュール１０３Ｃとを含む。
【００３５】
自律走行車１０１とは、自律モードにあるように配置できる車両を指し、前記自律モードで車両が運転者からの制御入力が非常に少ない又はない場合にもナビゲーションして環境を通過する。このような自律走行車１０１は、センサシステム１０５を含んでもよく、前記センサシステム１０５は車両走行環境に関連する情報を検出するように配置される１つ以上のセンサを有する。前記車両及びその関連するコントローラは検出した情報を使用してナビゲーションし環境を通過する。自律走行車１０１は、手動モード、完全自律モード又は部分自律モードで運行することができる。
【００３６】
一実施形態において、自律走行車１０１は、感知及び計画システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザインターフェースシステム１１３と、センサシステム１１５とを含むが、これらに制限されない。自律走行車１０１は、通常の車両に含まれるある一般的な構成要素（部材）、例えばエンジン、車輪、ハンドル、変速器等をさらに含んでもよく、前記構成要素は、車両制御システム１１１及び／又は感知及び計画システム１１０により多種の通信信号及び／又は命令（例えば、加速度信号又は命令、減速度信号又は命令、ステアリング信号又は命令、ブレーキ信号又は命令等）を使用して制御することができる。
【００３７】
サーバ１０３は、データ分析システムを含んでもよく、前記データ分析システムは、機器学習モジュール（機器学習エンジン）１０３Ａと、全局運転決定改善モジュール１０３Ｂと、運転決定分級モジュール１０３Ｃとを含む。このようなモジュールのそれぞれは、ソフトウェア、ハードウェア又はその組み合わせで実現できる。一実施形態において、モジュール１０３Ａ、１０３Ｂ及び１０３Ｃは、少なくとも１つのハードウェアを備える。
【００３８】
構成要素１１０〜１１５は、相互接続部材、バス、ネットワーク又はそれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素１１０〜１１５は、コントローラローカルエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続することができる。ＣＡＮバスは、マイクロコントローラ及び装置がホストコンピューターのない使用において互いに通信することを許可するような車両バス標準として設計される。それはメッセージに基づくプロトコルであり、最初に自動車内における複数の電線のために設計されたが、数多くのその他の環境（状況）にも用いられる。
【００３９】
図２は、本出願の一実施形態に係る自律走行車１０１（ＡＤＶ）のセンサ及び制御モジュールの例を示すブロック図である。
【００４０】
現在、図２を参照して、一実施形態において、センサシステム１１５は、１つ以上のカメラ２１１と、全地球位置決めシステム（ＧＰＳ）ユニット２１２と、慣性計測ユニット（ＩＭＵ）２１３と、レーダーユニット２１４と、ＬＩＤＡＲ（光検出及び測距）ユニット２１５とを含むが、これらに制限されない。ＧＰＳシステム２１２は、送受信機を含んでもよく、前記送受信機は、自律走行車の位置に関する情報を提供するように操作することができる。ＩＭＵユニット２１３は、慣性加速度に基づいて自律走行車の位置及び方向変化を感知することができる。レーダーユニット２１４は、無線信号を利用して自律走行車のローカル環境内の対象を感知するシステムを示すことができる。いくつかの実施形態において、対象を感知する以外、レーダーユニット２１４は、さらに対象の速度及び／又は進行方向を感知することができる。ＬＩＤＡＲユニット２１５はレーザを使用して自律走行車の所在する環境における対象を感知することができる。その他のシステム構成要素以外、ＬＩＤＡＲユニット２１５は１つ以上のレーザ光源、レーザースキャナ及び１つ以上の検出器をさらに含んでもよい。カメラ２１１は、自律走行車の周辺環境の画像をキャプチャするための１つ以上の装置を含んでもよい。カメラ２１１は、スチルカメラ又はカメラであってもよい。カメラは、例えば回転及び／又は傾斜のプラットフォームに取り付けられる、機械的に移動可能なものであってもよい。
【００４１】
センサシステム１１５は、その他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ（例えばマイクロフォン）をさらに含んでもよい。オーディオセンサは、自律走行車１０１周辺の環境から音をキャプチャするように配置されてもよい。ステアリングセンサは、ハンドル、車両の車輪又はその組み合わせのステアリング角を感知するように配置できる。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を感知する。いくつかの場合、スロットルセンサ及びブレーキセンサは、集積型スロットル／ブレーキセンサに一体化されてもよい。
【００４２】
スロットルセンサ、ブレーキセンサ、及びブレーキセンサの出力値は、運転制御入力ログに記録されてもよい。外部対象を監視するセンサ、及び自律走行車の速度、位置及び配向は、センサ出力又は「感知」ログに記録されてもよい。
【００４３】
一実施形態において、車両制御システム１１１は、ステアリングユニット２０１と、スロットルユニット２０２（加速ユニットとも呼ばれる）と、ブレーキユニット２０３とを含むが、これらに制限されない。ステアリングユニット２０１は、車両の方向又は進行方向を調整することに用いられる。スロットルユニット２０２は、モーター又はエンジンの速度を制御して、続いて車両の速度及び加速度を制御することに用いられる。ブレーキユニット２０３は、摩擦を提供することによって車両の車輪又はタイヤをスローダウンして車両を減速させることに用いられる。注意すべきなのは、図２に示すような構成要素はハードウェア、ソフトウェア又はその組み合わせで実現されることができる。
【００４４】
図１を再び参照して、無線通信システム１１２は、自律走行車１０１と、例えば装置、センサ、その他の車両等の外部システムとの間に通信することを許可する。例えば、無線通信システム１１２は、１つ以上の装置に直接に又は通信ネットワークを介して無線通信し、例えばネットワーク１０２によってサーバ１０３〜１０４に通信できる。無線通信システム１１２は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）（例えばＷｉＦｉ）を使用して他の構成要素やシステムに通信できる。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース（登録商標）等を使用して装置（例えば、乗客の移動装置、表示装置、車両１０１内のスピーカー）に直接に通信できる。ユーザインターフェースシステム１１３は、車両１０１内で実行される周辺装置の一部であってもよく、例えばキーボード、タッチスクリーンディスプレイ装置、マイクロフォン、及びスピーカー等を含む。
【００４５】
自律走行車１０１の一部又は全ての機能は、特に自律運転モードで操作する場合、感知及び計画システム１１０により制御したり管理したりすることができる。感知及び計画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、メモリ）、及びソフトウェア（例えば、オペレーティングシステム、計画、及び経路プログラム）を含み、センサシステム１１５、制御システム１１１、無線通信システム１１２、及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、出発地から目的地までの経路や路線を計画し、そして計画及び制御情報に基づいて車両１０１を運転させる。あるいは、感知及び計画システム１１０と車両制御システム１１１とは一体化されてもよい。一実施形態において、感知及び計画モジュール１１０の計画部分はクローズされてもよい。一実施形態において、制御システム１１１は、クローズされてもよい。その後、計画及び制御モジュールがクローズされた場合、人間ドライバーにより自律走行車１０１を運転することができる。本明細書に記載の実施形態では、オープンされた計画モジュール１１０及び制御システム１１１が用いられている。
【００４６】
走行中、乗客のユーザとして、例えばユーザインターフェース１１３によって旅程の出発位置及び目的位置を指定することができる。感知及び計画システム１１０は旅関連データを取得する。例えば、感知及び計画システム１１０は、ＭＰＯＩサーバから位置及び経路情報を取得することができ、前記ＭＰＯＩサーバはサーバ１０３〜１０４の一部であってもよい。位置サーバは、位置サービスを提供し、かつＭＰＯＩサーバはマップサービス及びある位置のＰＯＩを提供する。あるいは、このような位置及びＭＰＯＩ情報は、感知及び計画システム１１０の永続的記憶装置（不揮発性メモリ）にローカルでキャッシュされることができる。
【００４７】
自律走行車１０１が路線に沿って移動する際に、感知及び計画システム１１０は、さらに交通情報システムやサーバ（ＴＩＳ）からリアルタイム交通情報を取得できる。注意すべきなのは、サーバ１０３〜１０４は、第三者エンティティにより操作できる。あるいは、サーバ１０３〜１０４の機能は、感知及び計画システム１１０と一体化されてもよい。リアルタイム交通情報、ＭＰＯＩ情報、位置情報、及びセンサシステム１１５が検出又は感知したリアルタイムなローカル環境データ（例えば、障害物、対象、付近車両）に基づいて、感知及び計画システム１１０は、安全で効果的に指定した目的地に到達するように、最適な路線を計画し、かつ計画した路線により例えば制御システム１１１を介して自律走行車（車両）１０１を運転することができる。
【００４８】
自律走行車１０１において、実際または物理的ウィンドウがない可能性がある。それに対して、「ウィンドウ（窓）」（本明細書に仮想ウィンドウ（仮想窓）と呼ばれる）は、タッチスクリーンを有してもよい表示装置（すなわち、窓の形状に成形される平面または曲面の画面表示装置）により表され、または代替されてもよい。表示装置は、１つまたは複数の適切なカメラによってリアルタイムで動的にキャプチャされた画像または画像ストリーム（例えば、ビデオ）を表示し、ユーザが透明窓を通して実際の物理コンテンツを見ているまたは確認するようである。各「ウィンドウ」（例えば、表示装置）に対して、リアルタイムに表示しようとする対応するコンテンツをストリーミング伝送するための対応する表示チャネルがあり、前記対応するコンテンツは、例えばデータ処理システム９００のような拡張現実システムにより集中処理されてもよい。この場合、仮想現実方式（拡張現実方式とも呼称される）でインフォテイメントシステム１１４を介して強化した画像が表示されている。
【００４９】
本明細書に記載の実施形態において、センサシステム１１５における各センサからの出力は、計画及び制御モジュールがオンになった状態で、自律走行車１０１が自動モードで運転されている間に記録される。制御システム１１１の構成要素への入力は計画モジュール１１０で提供できる。自律走行車１０１が走行している時、ステアリングユニット２０１、スロットルユニット２０２、及びブレーキユニット２０３の入力は、「運転ログ」に記録することができ、「運転ログ」は自動制御システム１１１で取られた動作を収集する。センサログ、及び運転ログは、サーバ１０３へアップロードできる。一実施形態において、センサログ、及び運転ログは、リアルタイム又は準リアルタイムにアップロードできる。
【００５０】
図３は本発明の一実施形態に係る自律走行車１０１用の感知及び計画システム１１０の例を示すブロック図３００である。システム３００は、図１の自律走行車１０１の一部として実現されてもよく、感知及び計画システム１１０、制御システム１１１及びセンサシステム１１５を含むが、これらに制限されない。図３を参照すると、感知及び計画システム１１０は、位置決めモジュール３０１、感知モジュール３０２、決定モジュール３０３、計画モジュール３０４、制御モジュール３０５、記録モジュール３０６、決定問題認識モジュール３０７、及び決定問題改善モジュール３０８を含むが、これらに制限されない。
【００５１】
モジュール３０１〜３０８における一部又は全部は、ソフトウェア、ハードウェア又はその組み合わせで実現されてもよい。例えば、これらのモジュールは、永続的記憶装置３５２に取り付けられ、メモリ３５１にロードされ、かつ１つ以上のプロセッサ（図示せず）により実行されてもよい。注意すべきなのは、これらのモジュールにおける一部又は全部は、図２の車両制御システム１１１の一部又は全部のモジュールに通信可能に接続されてもよく、一体化されてもよい。モジュール３０１〜３０８における一部は、一緒に集積モジュールとして一体化されてもよい。
【００５２】
位置決めモジュール３０１（地図及びルーティングモジュールとも言われる）は、ユーザの旅程又は路線に関連する任意のデータを管理する。ユーザは、例えばユーザインターフェースを介してログインするとともに旅程の出発位置及び目的位置を指定してもい。位置決めモジュール３０１は、旅程に関連するデータを取得するように、自律走行車３００のその他の構成要素（例えば地図及び経路情報３１１）と通信する。例えば、位置決めモジュール３０１は、位置サーバと、地図及びＰＯＩ（ＭＰＯＩ）サーバから位置及び路線情報を取得することができる。位置サーバは、位置サービスを提供し、かつＭＰＯＩサーバは、地図及び経路情報３１１の一部としてキャッシュされてもよい地図サービスと特定な位置のＰＯＩとを提供する。自律走行車３００が路線に沿って移動する場合、位置決めモジュール３０１は、さらに交通情報システムやサーバからリアルタイム交通情報を取得することができる。
【００５３】
センサシステム１１５により提供されたセンサデータ、及び位置決めモジュール３０１により得られた位置決め情報に基づいて、感知モジュール３０２は周辺環境に対する感知を確定する。感知情報は、普通の運転者が自分で運転している車両周辺から感知したもの（状況）を示すことができる。感知は、例えば対象形式で現される車線配置（例えば、ストレート又はカーブ）、トラフィック信号、他の車両の相対位置、歩行者、建築物、横断歩道又はその他の交通関連標識（例えば、停止標識、譲れ標識）などを含んでもよい。
【００５４】
感知モジュール３０２は、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含んでもよく、自律走行車環境における対象及び／又は特徴を認識するように、１つ以上のカメラによりキャプチャされた画像を処理及び分析することに用いられる。前記対象は交通信号、道路の境界線、他の車両、歩行者及び／又は障害物等を含んでもよい。コンピュータビジョンシステムは、対象認識アルゴリズム、ビデオトラッキング及びその他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境をマッピングし、対象を追跡し、かつ対象の速度を推定することなどができる。感知モジュール３０２は、その他のセンサ（例えばレーダー及び／又はＬＩＤＡＲ）により提供されたその他のセンサデータに基づいて対象を検出することもできる。
【００５５】
それぞれの対象に対して、決定モジュール３０３は、如何に対象を処理する決定を作ることができる。例えば、特定な対象（例えば、交差路線における他の車両）及び対象を記述するメタデータ（例えば、速度、方向、ステアリング角）に対して、決定モジュール３０３は、遇う対象に如何に対応する（例えば、追い越し、道譲り、停止、通過）ことを決定する。決定モジュール３０３は、永続的記憶装置３５２（図示せず）に記憶されてもよい１セットのルール（例えば交通ルール）に基づきこのような決定を作ることができる。
【００５６】
感知したそれぞれ対象に対する決定に基づいて、計画モジュール３０４は、自律走行車のために経路又は路線及び運転パラメータ（例えば、距離、速度及び／又はステアリング角）を計画する。すなわち、所定対象に対して、決定モジュール３０３は前記対象に対して如何に対応するかを決定し、計画モジュール３０４は如何に実行するかを確定する。例えば、所定対象に対して、決定モジュール３０３は、前記対象を追い越す（通過する）ことを決定することができ、計画モジュール３０４は、前記対象の左側に追い越す（通過する）か、右側に追い越す（通過する）を確定することができる。計画モジュール３０４は、計画及び制御データを生成し、自律走行車３００が次の移動周期（例えば、次の路線／経路セグメント）に如何に移動するかを記述する情報を含む。例えば、計画及び制御データは自律走行車３００が毎時間３０マイル（ｍｐｈ）の速度で１０メートル移動し、次に２５ｍｐｈの速度で右車線まで変わることを命令することができる。
【００５７】
計画及び制御データに基づいて、制御モジュール３０５は計画及び制御データにより定義された路線又は経路に基づいて、車両制御システム１１１へ適切な命令又は信号を送信することによって自律走行車を制御及び運転する。前記経路又は路線に沿って違う場所で適時に適切な車両設置又は駆動パラメータ（例えば、スロットル、ブレーキ及びステアリング命令）を使用して車両を第１点から第２点まで運転するように、計画及び制御データは十分な情報を含む。
【００５８】
注意すべきなのは、決定モジュール３０３及び計画モジュール３０４は、集積モジュールに一体化されてもよい。決定モジュール３０３／計画モジュール３０４は、自律走行車の走行経路を確定するために、ナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自律走行車が以下の経路に沿って移動することを実現するための一連の速度及びディレクショナ進行方向を確定することができ、前記経路は、自律走行車を総体的に最終目的位置を向けて通じる車線経路に進ませると同時に、基本的に感知された障害物を避けることができる。目的地はユーザインターフェースシステム１１３により実現されたユーザ入力に基づいて設置できる。ナビゲーションシステムは、自律走行車が走行していると同時に走行経路を動的に更新することができる。ナビゲーションシステムは、自律走行車用の走行経路を確定するように、ＧＰＳシステム及び１つ以上の地図からのデータを合併することができる。
【００５９】
決定モジュール３０３／計画モジュール３０４は、自律走行車環境における潜在障害物を、認識・評価・回避又はその他の方式で迂回するために、衝突回避システム又は衝突回避システムの機能をさらに含んでもよい。例えば、衝突回避システムは、制御システム１１１の中の１つ以上のサブシステムを動作させてターン操縦、ステアリング操縦、ブレーキ操縦等を採ることにより、自律走行車のナビゲーションにおける変更を実現することができる。衝突回避システムは、周辺の交通モード、道路状況等に基づいて障害物を回避可能な操縦を自動的に確定することができる。衝突回避システムは、その他のセンサシステムは、自律走行車がターンして入ろうとする隣接領域における車両、建築障害物等を検出する際にターン操縦を採らないように配置できる。衝突回避システムは、使用可能でありかつ自律走行車の乗員の安全性を最大化させる操縦を自動的に選択することができる。衝突回避システムは、自律走行車の乗員室内で最小の加速度を出現させることが予測された回避操縦を選択することができる。
【００６０】
記録モジュール３０６は、感知モジュール３０２からのデータ、決定モジュール３０３からのＡＤＶ決定、及び制御システム１１１からの制御システム入力を受信できる。一実施形態において、選択的に又は付加的には、制御システム１１１からの制御入力が制御モジュール３０５から取得できる。記録モジュール３０６は、センサシステム１１５が検知した対象の感知データを感知モジュール３０２を介して受信できる。一実施形態において、感知情報を記録モジュール３０６へ伝達する前、感知モジュール３０２はセンサシステム１１５からの１つ以上のセンサ出力を処理できる。例えば、感知モジュール３０２は、ＬＩＤＡＲで確定された距離とＧＰＳやレーダーで確定された配向とを組み合わせて対象の位置を確定する。感知モジュール３０２は、生センサデータを記憶するのではなく、対象の位置を記録モジュール３０６へ伝達して感知ログに記録できる。記録モジュール３０６は、感知ログデータを感知ログ３１２に書き込み、運転制御入力をＡＤＶ  １０１における永続的記憶体３５２での運転ログ３１３に書き込むことができる。
【００６１】
記録モジュール３０６は、制御システム１１１からの運転制御入力を受信できる。運転制御入力は、ブレーキユニット２０３からのブレーキ入力量、ステアリングユニット２０１からのステアリング入力量及びスロットルユニット２０２からのスロットル入力量を含むことができる。これらの入力は計画モジュール３０４と制御モジュール３０５で確定される。
【００６２】
記録モジュール３０６は、さらに決定モジュール３０３からＡＤＶ運転決定を受信できる。ＡＤＶ運転決定は対象ごとに行ってもよい。ＡＤＶ運転決定は、対象を追い越す決定、対象に道を譲る決定、ＡＤＶを停止させる決定、又は対象を無視する決定を含んでもよい。ＡＤＶ運転決定ログは、永続的記憶体３５２におけるＡＤＶ決定ログ３１４に記憶できる。
【００６３】
運転ログ３１３、感知ログ３１２及びＡＤＶ運転決定ログ３１３はログ情報を含む。記録モジュール３０６は、リアルタイム又は準リアルタイムにログ情報をＡＤＶ  １０１の永続的記憶装置３５２に記憶できる。加えて、又は選択的に、記録モジュール３０６は、ネットワーク１０２を介してログ情報をサーバ１０３へ伝送できる。一実施形態において、記録モジュール３０６は、リアルタイム又は準リアルタイムにログ情報をサーバ１０３へ伝送できる。一実施形態において、記録モジュール３０６は、運転シナリオが完了した後又は別の時間にログ情報をサーバ１０３へ伝送できる。
【００６４】
決定問題認識モジュール３０７は、教師付き学習で計画フィードバックを、保守的な決定、急進的な決定、保守的なパラメータ、急進的なパラメータ、早期決定、後期決定、及び非決定問題のタイプに分類できる。教師付き学習用の特徴は、感知モジュール３０２から取得した、対象とＡＤＶとの間の距離、対象とＤＶとの相対位置、ＡＤＶの速度、ＡＤＶの配向、ＡＤＶの車線位置、対象の速度、対象の配向、及びＡＤＶ車線位置を基準とする対象位置を含むがこれらに制限されない情報を利用できる。教師付き学習前に、ラベリング過程を使用できる。決定カテゴリーは次のように記述される。
【００６５】
保守的な決定は、より安全であり、運転規則への遵守度がより高く、及び／又は乗客にとってより快適であるが、通常の走行時間より長い時間がかかる可能性がある。このような決定をより急進的なものに変更できる。例えば、「停止」決定を「譲り」決定や「追い越し」決定に変更できる。
【００６６】
急進的な決定は、安全性が低く、乗客にとって快適ではなく、又は交通ルール違反を増加させるような危険な運転状況を引き起こす可能性がある。この問題が認識されると、より保守的な運転決定を取った方がよいかもしれない。例えば、「追い越し」決定を「譲り」決定に変更する。
【００６７】
保守的なパラメータ決定は、決定を変更する必要がないことを除いて保守的な決定に類似している。しかし、決定のパラメータをより保守的なパラメータに変更できる必要がある場合がある。例えば、対象を「追い越す」決定は最適な運転決定であり得るが、ＡＤＶが対象を追い越すべき速度又は加速度の決定パラメータをより保守的なものに変更できる必要がある場合がある。変更したパラメータは、安全性、乗客の快適性及び／又は交通法や良好な行為に対する遵守を増加させると、より保守的なものであり得る。
【００６８】
急進的な決定パラメータは、決定を変更する必要がないことを除いて、急進的な決定に類似している。しかし、決定のパラメータをより急進的なものに変更する必要がある場合がある。例えば、対象に道を「譲る」決定が最適な運転決定であり得るが、譲り決定を実行するためのブレーキ時間又はブレーキ量を指示する決定パラメータをより急進的なのパラメータ値に変更する必要がある場合がある。ＡＤＶが時間効率を犠牲にして対象に対してあまりにも早く又は遅く減速すると、パラメータをより急進的なものに変更する必要がある。道を譲るためにあまりにも早く減速すると、ＡＤＶが道を譲っている対象に関して、他の運転者を混乱させる可能性もある。
【００６９】
早期運転決定は、あまりにも早く実行された正確な運転決定である。上記譲りの例と同様に、ＡＤＶは、あまりにも早く減速して対象に道を譲る可能性がある。早期運転決定は、時間効率を低下させ、且つＡＤＶが道を譲っている対象に関して、他の運転者を混乱させる可能性もある。
【００７０】
後期運転決定は、あまりにも遅く実行された正確な運転決定である。後期運転決定は、道路状況や乗客の快適性にとって安全である速度よりも速くＡＤＶにブレーキ及び減速をさせなければならない可能性がある。後期運転決定はまた、他の運転者を驚かせたり、事故を引き起こしたりする可能性もある。
【００７１】
非決定問題は、運転決定モジュールにより引き起こされない問題を示す。決定を改善する必要がない。
【００７２】
局所決定問題改善モジュール３０８は、強化学習で運転決定問題の最適な解決手段を見つけることができる。局所運転決定の改善は特定のＡＤＶのみのためであり、さらに運転決定の変化又は運転決定パラメータの変更によって運転決定問題を一時的に解決できる。
【００７３】
注意すべきなのは、前記の言及された一部又は全部の構成要素（部材）は、ソフトウェア、ハードウェア又はその組み合わせで実現できる。例えば、このような構成要素は、永続的記憶装置（不揮発性メモリ）にインストールされるとともに記憶されたソフトウェアとして実現されてもよく、前記ソフトウェアは、プロセッサ（図示せず）でメモリには、本出願にわたって記載のプロセス(過程)又は動作（操作）を実施するようにロードして実行されてもよい。あるいは、このような構成要素は、専用ハードウェア（例えば、集積回路（例えば専用集積回路又はＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ））にプログラミングされ又は嵌め込みされた実行可能なコードとして実現されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバープログラム及び／又はオペレーティングシステムによってアクセスされてもよい。なお、このような構成要素は、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されてもよく、ソフトウェア構成要素が１つ以上の特定命令によってアクセスできる命令セットの一部とする。
【００７４】
図４はいくつかの実施形態に係るＡＤＶ用の計画フィードバックに基づく決定改善システムの方法４００の概要をブロック形式で示す。
【００７５】
図３を参照して上述したように、ＡＤＶ感知及び計画システム１１０は、感知モジュール３０２、運転決定モジュール３０３、計画モジュール３０４、運転決定を実行するための制御モジュール３０５、記録モジュール３０６、運転決定問題を認識するための決定問題認識モジュール３０７、運転決定を改善するための決定問題改善モジュール３０８を含んでもよい。運転決定は、感知モジュール３０２が検知した対象を参照できる。運転決定は、対象を追い越す決定、対象に道を譲る決定、対象のために停止する決定、又は対象を無視する決定を含んでもよい。決定の安全性、ＡＤＶ乗客の快適性、交通法規に対する遵守度及び時間効率を含む１つ以上のメトリクスを参照して各運転決定を分級できる。運転決定は、運転決定パラメータ（例えばスロットル入力量、ブレーキ量又はステアリング入力）を含むことができる。運転決定パラメータは計画モジュール３０４によって確定できる。計画モジュール３０４は、さらに感知モジュール３０２が検知した対象を配慮して、運転決定パラメータの大きさを評定し、さらに運転決定パラメータが保守的であるか急進的であるかを指示することができる。
【００７６】
動作４０５では、決定モジュール３０３は、計画モジュール３０４へ運転決定命令を送信する。運転決定命令は、ＡＤＶ計画モジュール３０４と制御モジュール３０５が運転決定を計画して実行すべきであるという命令であってもよい。
【００７７】
動作４１０では、計画モジュール３０４は、運転決定命令を受信して、運転決定に対するフィードバックを生成する。次に、計画モジュール３０４は、運転決定と運転決定フィードバックを決定モジュール３０３へ送信する。次に、決定モジュール３０３は、運転決定と決定フィードバックを決定問題認識モジュール３０７へ伝達する。
【００７８】
動作４１５では、決定問題認識モジュール３０７は、計画フィードバックで運転決定問題を認識する。一実施形態において、決定問題認識モジュール３０７は、運転決定フィードバックで運転決定を分級する。
【００７９】
動作４２０では、決定問題認識モジュール３０７は、運転決定を、保守的な決定、急進的な決定、保守的なパラメータ、急進的なパラメータ、早期決定、後期決定又は非決定問題カテゴリーのうちのいずれかに分類する。教師付き学習で計画フィードバックを上記７つの運転決定問題のカテゴリーに分類できる。教師付き学習用の特徴は、感知モジュール３０２から取得した、対象とＡＤＶとの間の距離、対象とＤＶとの相対位置、ＡＤＶの速度、ＡＤＶの配向、ＡＤＶの車線位置、対象の速度、対象の配向、及びＡＤＶ車線位置を基準とする対象位置を含むがこれらに制限されない情報を利用できる。教師付き学習の前にラベリング過程を使用できる。以上、決定カテゴリーは、運転決定問題認識モジュール３０７及び図３によって説明された。認識した運転決定問題を局所決定改善モジュール３０８とサーバ１０３(サーバ分析システム)の全局決定改善モジュール１０３Ｂとの両方へ送信できる。
【００８０】
動作４２５では、局所運転決定改善モジュール３０８は、運転決定、運転決定パラメータ及び計画フィードバック（運転決定情報）を受信する。局所運転決定改善は、このＡＤＶのみのために行われて一時的に運転決定問題を解決する。局所運転決定改善は、決定モジュール３０３の問題を示していない可能性がある。局所決定改善は、例えば運転決定がなされた時点の地元の天気に基づく決定に関連し得る。一実施形態において、局所運転決定改善モジュール３０８は、強化学習の方法に基づいて、局所決定改善用の最適な解決手段を探すことができる。解決手段は動的に変化することができ、例えば、場所、道路タイプや天気に応じて変化する。
【００８１】
動作４３０では、分析サーバ（例えばサーバ１０３）は、運転決定情報を受信し、運転決定情報を全局決定改善モジュール１０３Ｂへ伝達する。一実施形態において、全局決定改善モジュール１０３Ｂはサーバ１０３で実現される。
【００８２】
動作４３５において、全局決定改善モジュール１０３Ｂは、決定モジュール３０３の問題を永続的に解決することを試みることができる。サーバ１０３は、複数のＡＤＶの共同問題を認識することを図るために、複数のＡＤＶから運転決定情報を収集できる。全局決定改善モジュールは、図８Ｆを参照して以下に詳細に説明される。
【００８３】
図５は、１つ以上の運転決定を行うことができる例示的な運転シナリオ５００である。以下の運転シナリオでは、対象の速度、距離及び配向はＡＤＶ  １０１に関する。一実施形態において、運転シナリオにおける対象の速度、距離及び配向は、例えばＧＰＳの座標系又は地図座標系に対して表現する。速度、距離及び配向がＡＤＶ  １０１に関する一実施形態において、ＡＤＶ  １０１の配向は０°であってもよく、又は、↑はＡＤＶ  １０１の「直線前進」を意味してもよく、ＡＤＶの前で左から右に移動する対象（例えば自動車５１０）は正の配向（例えば＋９０°又は→）としてもよい。ＡＤＶ１０１の前で右から左に移動する対象（例えば歩行者／犬５１２）は、負の配向（例えば、−９０°又は←）としてもよい。
【００８４】
このシナリオにおいて、ＡＤＶ  １０１は、各隅箇所に横断歩道５１３を有する十字路にアプローチしている。ＡＤＶ  １０１は、ＡＤＶ  １０１のＡＤＶ決定ログ、運転ログ及び感知ログを収集できるサーバ１０３と通信する。また、このシナリオにおける各種の対象は、検出されてＡＤＶ  １０１の感知ログに記憶される。対象は、接近する自動車５１０、建物５１１、歩行者と犬５１２、ＡＤＶ  １０１に隣接する左車線標識５１４と右車線標識５１５を含む。
【００８５】
ＡＤＶ  １０１は、ＡＤＶ  １０１に対応する速度、距離及び配向で交差点の横断歩道５１３にアプローチしている。時刻ｔ０に、ＡＤＶ  １０１は、ＡＤＶ１０１に対応して０°（直線前進）となるように、２５  ｍｐｈで走行できる。自動車５１０は、ＡＤＶ  １０１と１０１フィート離れて且つＡＤＶ  １０１に対して−７５°となり、ＡＤＶ  １０１に対して＋９０°となるように、２５  ｍｐｈで走行できる。簡単に言えば、自動車５１０は、ＡＤＶ  １０１から約１００フィート離れており、且つＡＤＶ  １０１の左側から２５  ｍｐｈで交差点にアプローチする。時刻ｔ０に、ＡＤＶ  １０１は、自動車５１０を追い越す決定、停止する決定、自動車５１０に道を譲る決定、又は自動車５１０を無視する決定を下してもよい。
【００８６】
ＡＤＶ  １０１はさらに建物５１１を感知できる。建物が静止対象であるため、時刻ｔ０に、建物５１１の速度が０  ｍｐｈになる。時刻ｔ０に、建物５１１は、ＡＤＶ  １０１に対して−２８°に位置し、且つＡＤＶ  １０１との距離が１１１フィートになるようにしてもよい。建物５１１が静止であるため、すべての建物５１１は配向がない。  
【００８７】
また、ＡＤＶ  １０１は、さらに、交差点にアプローチしている歩行者及び犬（又は「歩行者」だけ）５１２を、異なる方向から感知できる。時刻ｔ０に、歩行者５１２は、＋３６°箇所に位置し、ＡＤＶ  １０１との距離が４０フィートになり、３  ｍｐｈで移動する場合がある。簡単に言えば、自動車１０１が住宅配向の進行速度で左側から交差点にアプローチしているとほぼ同時に、歩行者と彼の犬が歩行速度で右側から横断歩道５１３にアプローチしている。ＡＤＶ  １０１、自動車５１０及び歩行者５１２がそれぞれの現在速度及び方向で続いて持続する場合、自動車５１０が交差点を超えるとほぼ同時に、さらに、ＡＤＶ  １０１が横断歩道を超えて交差点に入るとほぼ同時に、歩行者５１２が横断歩道５１３に入る可能性がある。一部の国（または地区）で、その法律によれば、横断歩道に入った歩行者は、横断歩道を含む交差点に入った自動車より優先な先立ち権を有する。一部の国（または地区）では、２つの自動車が同時に交差点にアプローチする場合、その法律によれば、右側の自動車（ここでＡＤＶ  １０１）が左側の車両（ここで自動車５１０）に道を譲るように要求される。本発明の運転決定問題改善フレームワークでは、ＡＤＶ  １０１は、ＡＤＶ  １０１、自動車５１０、建物５１１、歩行者５１２、及び横断歩道５１３を含むすべての対象を配慮した運転決定を下す必要がある。各対象５１０〜５１３については、対象を追い越す決定、対象に道を譲る決定、対象を停止する決定、又は対象を無視する決定を下す。
【００８８】
運転シナリオは、ＡＤＶ速度、配向及び位置と、１つ以上の対象（それぞれの速度、位置及び配向を有する）までの距離を含む。ＡＤＶ  １０１は客観的な運転決定を下す。同一又は類似した運転シナリオが設定された場合、ＡＤＶ  １０１は、毎回同じ運転決定を下す。運転決定は最適でない可能性がある。従って、局所決定改善モジュール３０８は、複数のＡＤＶに最適な決定に近い決定を取得するのに寄与する。全局決定改善モジュール１０３Ｂは、複数のＡＤＶの決定の改善に寄与する。ＡＤＶの運転決定モジュール３０３は、自動車５１０及び歩行者５１２（並びに横断歩道５１３）を追い越し、そして建物５１１を無視することを決定し、１番目に交差点を通過することができる。この決定は、速度、交差点箇所に他の車両に道を譲ること、及び横断歩道にいる歩行者のために停止することの規則に違反する可能性があるが、運転時間を節約する。前記決定は、さらに車両５１０又は歩行者５１２を避けるように、車線位置において加速、及びナッジや逸れを必要とする。ＡＤＶが前方及び側方加速の両方をするため、乗客の快適さを減少させる可能性がある。その代わりに、より安全な決定としては、横断歩道５１３に沿って通りを横切ることを歩行者５１２にさせるために、ＡＤＶは減速して交差点において自動車５１０に道を譲り、横断歩道５１３の前の５フィート箇所に停止する。この決定は、すべての法律を遵守し、車両５１０との衝撃可能性や歩行者５１２への怪我を避けるように安全性を向上させ、さらに快適に減速する。しかしながら、前記決定はより長い時間がかかる。
【００８９】
図６はいくつかの実施形態に係る運転決定問題認識モジュール３０７とローカル運転決定改善モジュール３０８でＡＤＶの運転決定を改善する方法６００をブロック形式で示す。一実施形態において、方法６００は、オンラインでリアルタイム又は準リアルタイムに実現される。一実施形態において、例えば収集した情報をネットワーク１０２を介してサーバ１０３へ伝送する。さらに又は代わりに、ＡＤＶが進行すると同時に収集した情報を例えばＡＤＶの永続的記憶装置３５２に記憶できる。
【００９０】
動作（ステップ）６０５において、運転シナリオを選択する。運転シナリオは、特定目的地、交通タイプ（渋滞又はスムーズ）、運転速度（高速道路又は町道）、時刻（通勤交通又は週末の交通、又は曜日の正午の交通）、旅程の長さ（短く又は長く）、人間運転者が運転領域及び他の運転シナリオに慣れているか否かを含んでもよい。
【００９１】
動作６１０において、ＡＤＶの計画及び制御モジュールをオープンする。ＡＤＶの運転決定モジュールはアクティブであり、且つＡＤＶはＡＤＶ運転決定を下し、記録し計画して実行する。
【００９２】
動作６１５において、ＡＤＶの自動運転を開始する。
【００９３】
動作６２０において、記録モジュール３０６はＡＤＶセンサシステム１１５からの複数のセンサの出力を受信する。複数のセンサ出力は１つ以上の対象の属性を検出又は表示できる。例えば、カメラ２１１は、移動対象（例えば、自動車５１０又は歩行者５１２）の存在を検出でき、ＬＩＤＡＲユニット２１５は、対象とＡＤＶ  １０１との距離を検出できる。レーダーユニット２１４は対象の運動を検出できる。ＧＰＳユニット２１２は対象のＧＰＳ座標に対する位置を検出できる。計画モジュール３０４と制御モジュール３０５がＡＤＶ運転決定を実行する時、運転制御入力を生成する。運転制御入力は、スロットル入力２０２（減速を含む）、ブレーキ入力２０３及びステアリング入力２０１（右折、左折又はセンタリングの量）を含むことができる。運転制御入力１１１はさらに、入力の導関数、例えば入力が印加された速度を含んでもよい。運転制御入力は記録モジュール３０６へ伝達して記録できる。
【００９４】
動作６２５において、ＡＤＶの運転決定モジュール３０３は運転決定を下して記録する。ＡＤＶ運転決定は運転決定パラメータを含むことができる。例えば、横断歩道５１３に関連する運転決定は、ＡＤＶが停止すべき位置と横断歩道５１３との距離（例えば、横断歩道５１３の前の６フィート箇所で停止する）を指示するパラメータを含むことができる。ＡＤＶの運転決定モジュール３０３は、ＡＤＶ運転決定と運転決定パラメータを計画モジュール３０４へ伝達できる。
【００９５】
動作６３０において、計画モジュール３０４はＡＤＶ運転決定と運転決定パラメータを受信する。計画モジュール３０４は感知ログ３１２にアクセスしてＡＤＶの速度、位置及び配向とＡＤＶに関連する１つ以上の対象の速度、距離及び配向を確定することができる。計画モジュール３０４はＡＤＶ運転ログ３１３にアクセスしてスロットル、ステアリング及びブレーキに対する現在制御入力を確定することができる。感知ログ３１２、運転ログ３１３、運転決定及び運転決定パラメータを用いて、計画モジュール３０４は決定モジュール３０３へ返送する運転決定フィードバックを確定できる。決定問題認識モジュール３０７は教師付き学習で計画フィードバックを、保守的な決定、急進的な決定、保守的なパラメータ、急進的なパラメータ、早期決定、後期決定及び非決定問題の種類に分類できる。教師付き学習用の特徴は、感知モジュール３０２から取得した、対象とＡＤＶとの間の距離、対象とＡＤＶの相対位置、ＡＤＶの速度、ＡＤＶの配向、ＡＤＶの車線位置、対象の速度、対象の配向及びＡＤＶ車線位置を基準とする対象位置を含むがこれらに制限されない情報を利用できる。教師付き学習の前にラベリング過程を使用できる。
【００９６】
動作６３５において、運転決定問題認識モジュール３０７は計画モジュール３０４から受信したフィードバックが運転決定問題を示しているかどうかを確定する。動作６３５で運転決定問題を認識した場合、方法６００は動作６４０まで実行し、さもないと、方法６００は動作６５０まで実行する。
【００９７】
動作６４０において、決定問題認識モジュール３０７は、保守的な決定、急進的な決定、保守的なパラメータ、急進的なパラメータ、早期決定、後期決定、及び非決定モジュール３０３問題というカテゴリから選ばれる１つに、決定問題を分類する。
【００９８】
動作６４５において、局所運転決定改善モジュール３０８は、第１運転決定問題タイプを有する第１運転決定を第２運転決定に変更できる。それに加えて、または必要に応じて、局所運転決定改善モジュール３０８は運転決定の１つ以上の運転決定パラメータを変更して運転決定を改善できる。例えば、濡れている又は滑りやすい路面では、局所運転決定改善モジュール３０８は運転決定パラメータを変化して、横断歩道５１３の前の６フィート箇所で停止する代わりに、ＡＤＶが横断歩道５１３の箇所で停止するようにする。あまりに早く停止すると、ＡＤＶの追跡を失ってしまい、且つ、制御停止できない可能性がある。運転決定が「横断歩道５１３の箇所に停止する」であり且つ決定が早すぎる場合、運転決定改善モジュール３０８は、横断歩道５１３の箇所に停止する決定の実行を遅延したり、又は、ＡＤＶがあまりにも速く減速しないように運転パラメータを変えて横断歩道５１３での減速を緩和させたりすることができる。運転決定が「横断歩道５１３の箇所に停止する」であり且つ運転決定の分類により「後期決定」が指示される場合、運転決定改善モジュールは決定を「横断歩道５１３を通過する」に変更することができる。運転決定改善モジュール３０８はどのように運転決定を改善するかを確定するにあたって、道路状況、既知又は予測したＡＤＶ性質（例えばＡＤＶの最大加速度、牽引力を保持したままの最小停止距離、設定速度に対する最小ステアリング半径、反転特性等）を利用できる。
【００９９】
動作６５０において、制御モジュール３０５は、動作６４０及び６４５で、位置決定によって変更して改善され得る運転決定を実行できる。方法６００は動作６２０まで実行する。
【０１００】
図７はサーバ１０３においてオフライン分析を用いて複数のＡＤＶに対応する運転決定をグローバルに改善する方法７００をブロック形式で示す。一実施形態において、サーバ１０３における全局運転決定改善モジュール１０３Ｂは、大量のＡＤＶから感知ログ、運転ログ及び運転決定ログ（「ログ情報」と総称される）を受信する。運転決定問題のカテゴリー又は特定の決定タイプを改善するように、ログ情報の１つ以上のサブセットを抽出できる。すべての問題は自動化機器学習のみで解決でき又は解決すべきであるわけではない。一実施形態において、エンジニアは、特定のカテゴリーの運転決定を見直すことができる。一実施形態において、方法７００で運転決定問題への改善を自動的に生成しても、人間のエンジニアはすべての運転決定及びそれらのそれぞれの改善を見直す。
【０１０１】
動作７０５において、改善すべき運転決定問題が発生する可能性がある状況を減少させるように、全局運転決定改善モジュール１０３Ｂは、運転シナリオを選択する。運転シナリオは、ＡＤＶの特定経路、目的地、交通タイプ（都会道路や高速道路や農村道路）、時刻、天気状況タイプ、最大又は最小速度、対面交通を有する又は有さない運転、歩行者（例えば感知対象）を有する又は有さない運転、特定の地区、国家又は他の地方などであってもよい。
【０１０２】
動作７１０において、全局運転決定改善モジュール１０３Ｂは、改善待ちの運転決定問題のカテゴリーを選択する。運転決定問題カテゴリーは、保守的な決定、急進的な決定、保守的なパラメータ、急進的なパラメータ、早期決定、後期決定及び非決定モジュール運転決定問題を含んでもよい。
【０１０３】
動作７１５において、全局運転決定改善モジュール１０３Ｂは、運転決定を改善するための問い合わせ範囲を縮小するために、使用可能なＡＤＶログ情報のサブセットを選択する。一実施形態において、同じ運転決定、運転決定問題及び（必要に応じて）同じ又は類似した運転決定パラメータを有するログ情報を選択する。
【０１０４】
動作７２０において、全局運転決定改善モジュール１０３Ｂは、必要に応じて、問い合わせを同じ又は類似した局所運転決定の改善を有する運転決定に制限することによって、運転決定を改善するための範囲を更に縮小する。
【０１０５】
動作７２５において、全局運転決定改善モジュール１０３Ｂは、必要に応じて、同じ又は類似した計画フィードバック又は運転パラメータを有するＡＤＶログを要求することで、運転決定の改善範囲に焦点を合わせる。
【０１０６】
動作７３０において、動作７１０〜７２５で縮小された運転決定問題が機器学習で運転決定問題を改善待ちのであるか否かを決定できる。改善待ちのであると、方法７００は動作７４０まで実行し、さもないと、方法７００は動作７５０まで実行する。
【０１０７】
動作７４０において、運転決定を改善するために、機器学習を運転決定問題の特徴に適用する。機器学習用の特徴は、（１）対象とＡＤＶとの間の距離、（２）対象とＤＶとの相対位置、（３）対象の速度、（４）対象の配向、（５）ＡＤＶ車線位置を基準とする対象位置、（６）ＡＤＶの速度、（７）ＡＤＶの配向、（８）ＡＤＶの車線位置を含むが、これらに制限されない。例えば以上に示したような数字で特徴を標識できるとともに、特徴に値を与えることができる。次に、特徴を機器学習に使用可能な順序付きセットとしてコーディングできる。例えば、対象は、自動車であり、且つ、運転決定は（１）〜（８）の特徴を有する。（１）自動車とＡＤＶとの距離が１００フィートである。（２）自動車がＡＤＶに対して−７２°である。（３）自動車が２５  ｍｐｈで走行する。（４）自動車がＡＤＶ方向に対して＋９０°で進行する。（５）自動車がＡＤＶ走行道位置の左側から６０フィート離れた箇所に位置する。（６）ＡＤＶ速度が２７  ｍｐｈである。（７）ＡＤＶがＡＤＶの前進運動に対して０°である。（８）ＡＤＶがＡＤＶ車線左端の右側から２フィート離れている。従って、特徴は、（１００，−７２，２５，＋９０，６０，２７，０，２）としてコーディングできる。動作７０５〜７２５からログ情報が選択された各ＡＤＶは、ＡＤＶの運転決定に対応した固有ベクトルを有することができる。これら固有ベクトルは機器学習モジュール（機器学習エンジン）１０３Ａに入力されて、複数のＡＤＶの改善決定を生成することに用いる。
【０１０８】
動作７４５において、必要に応じて、出力を生成してエンジニアチームへ運転決定、運転決定パラメータ、選択したログ情報、使用する固有ベクトル及び決定改善を通知する。１つ以上のＡＤＶにおいて決定を実施することが確定される前、エンジニアは前記決定を見直すことができる。一実施形態において、非テストＡＤＶにおいて運転決定を実施する前、１群のテストＡＤＶにおいて改善した運転決定をテストできる。方法７００は動作７６０まで実行する。
【０１０９】
動作７５０において、全局運転決定改善モジュール１０３Ｂは、エンジニアチームに改善待ちの運転決定、運転決定パラメータ、選択したログ情報、使用する固有ベクトル及び決定改善を通知する。エンジニアは決定を確定して、１つ以上のＡＤＶにおいて前記決定を実施することを確定する前に前記決定を見直してテストする。
【０１１０】
動作７５５において、全局運転決定改善モジュール１０３Ｂは、エンジニアチームから運転決定への改善を受信する。
【０１１１】
動作７６０において、改善した運転決定で複数のＡＤＶを更新する。
【０１１２】
図８Ａはいくつかの実施形態に係る感知ログ８００の例を示す。感知ログ３１２（例として感知ログ８００）は、運転シナリオの間に記録したセンサ出力ログである。前記ログは複数の時間増分に対してＡＤＶセンサが感知した対象、各対象の速度、各対象の位置及び各対象の配向を認識する。例として感知ログ８００は、時刻ｔ０、ｔ１及びｔ２に取得した対象の次の１０１：ＡＤＶ、５１０：自動車、５１１：建物、５１２：歩行者／犬、５１３：横断歩道、５１４：ＡＤＶ  １０１の車線左端、及び５１５：ＡＤＶ  １０１の車線右端といった情報を示す。これらは例示的なものにすぎない。データはテーブル、スプレッドシート、データベーステーブル又は他のフォーマットを含む複数種のフォーマットで表示できる。各対象については、各時間増分に、対象の速度、対象の位置及び対象の配向を感知ログに記録できる。一実施形態において、位置は２Ｄ又は３Ｄ座標で表示でき、前記座標から距離を計算できる。一実施形態において、極座標フォーマット（ＡＤＶとの距離及び既知点との回転角度を含む）で位置（例えばグリッド又はＡＤＶの前進方向の配向）を記憶できる。一実施形態において、配向は汎用標準（例えば北方）又はＧＰＳグリッドに関するものであってもよい。一実施形態において、配向は、ＡＤＶの前進方向に関するものであってもよい。一実施形態において、感知ログは、１つ以上の対象の画像をログに追加記録できる。
【０１１３】
一実施形態において、生センサ出力を処理して所望の情報を取得する。例えば、複数のセンサからの複数のセンサ出力で対象（例えば、自動車５１０）の配向を取得する。ＬＩＤＡＲは、自動車５１０とＡＤＶ  １０１との距離（例えば、時刻ｔ０に、１０１フィート）の確定に用いられ得る。１つ以上のレーダーの測定値で自動車５１０のＡＤＶ  １０１に対する配向（時刻ｔ０に−７５）を取得できる。時刻ｔ０とｔ１との間の自動車５１０の位置差で定自動車５１０の速度（例えば、ｔ１箇所に２３ｍｐｈである）を確定できる。
【０１１４】
感知ログに基づいて推定が得られ得る。例えば、ＡＤＶについての列（ｒｏｗ）１０１を観察して分かるように、時刻ｔ０とｔ２のとの間に、ＡＤＶ  １０１は停止するまで減速している。この情報を用い、列５１２の歩行者／犬及び列５１３の横断歩道を観察して分かるように、歩行者／犬５１２がＡＤＶ  １０１の右側からＡＤＶ  １０１に接近し、且つＡＤＶが横断歩道５１３に到達する前に停止する。ＡＤＶ運転決定は、横断歩道５１３の前に停止し、且つ歩行者／犬５１２が横断歩道５１３を使用することを可能にすることである。同様に、自動車５１０用の列を観察して分かるように、自動車５１０が左側からＡＤＶ  １０１にアプローチし、且つ自動車５１０がＡＤＶ  １０１の前方を横切る時にわずかに減速すると同時に、歩行者／犬５１２が横断歩道５１３を使用する。
【０１１５】
図８Ｂはいくつかの実施形態に係る運転ログ８０５の例を示す。運転シナリオの期間に、運転ログは、複数の時間増分で運転制御入力をＡＤＶ制御システム１１１に記録する。一実施形態において、運転制御入力を記録する時、運転制御入力データも、ＡＤＶの速度、位置や配向に関連してもよい。一実施形態において、ＡＤＶ  １０１の速度、位置及び配向が感知ログ８００に記憶されると、運転ログ８０５は、感知ログ８００におけるこの情報へのポインタ又は他の参照を含む。運転制御入力は、スロットル入力２０２の量、ブレーキ入力２０３の量及びステアリング入力２０１の量を含むことができる。ステアリング入力２０１の量は、入力の方向（左又は右、時計回り又は反時計回り）を指示できる。運転制御入力はさらに、運転制御入力の変化率を指示するためのこれらの入力の導関数（図示せず）を含むことができる。例えば、スロットル入力２０２の高い変化率は、制御モジュールが急激な加速を達成するための鋭い、急進的なスロットル入力を与えたことを示す。同様に、ブレーキ入力２０３の高い変化率は、制御モジュール１１１がブレーキの鋭い又は急進的な応用を行うことを示し、且つ、ステアリング入力２０１における高変化率もそれと類似している。これらの高レート入力のそれぞれは、乗客と運転者の快適性、安全性及び場合によって規則遵守度の運転決定分級メトリクスに悪影響を与える。
【０１１６】
図８Ｃはいくつかの実施形態に係るＡＤＶ運転決定ログ８１０の例を示す。ＡＤＶ運転決定ログは、運転シナリオの期間にＡＤＶの運転決定モジュール３０３によって行われた運転決定の記録である。
【０１１７】
感知ログ８００に示すように、ＡＤＶ  １０１は各感知対象に対する運転決定を下す。例としてＡＤＶ運転決定ログは、時刻ｔ０、ｔ１及びｔ２のそれぞれに、５１０自動車、５１１建物、５１２歩行者／犬及び５１３横断歩道の各対象に対し下した運転決定を示す。例えば、時刻ｔ０に、ＡＤＶ運転決定は、歩行者／犬５１２と自動車５１０を追い越すことであってもよい。時刻ｔ１に、ＡＤＶ  １０１決定モジュール３０３は、ＡＤＶ  １０１が現在自動車５１０に近すぎるため、自動車５１０を追い越すことができず、且つ、横断歩道５１３と歩行者／犬５１２にも近すぎて追い越すことができないことを、感知モジュール３０２におけるデータ及び／又は感知ログ８００におけるデータによって、確定できる。従って、時刻ｔ１に、ＡＤＶ  １０１を含む１つ以上の対象の速度、位置及び／又は配向の変化に基づいて、ＡＤＶは、１つ以上の対象に対する運転決定を変えることができる。
【０１１８】
図８Ｄはいくつかの実施形態に係る特定時間での対象に対する運転決定８１５の計画フィードバックの例を示す。上述したように、感知モジュール３０２が感知した各対象及び／又は感知ログ８００に記憶された各対象に対してＡＤＶ運転決定を下す。運転決定モジュール３０３は、運転決定及び（必要に応じて）１つ以上の運転決定パラメータを計画モジュール３０４へ伝達できる。例えば、ＡＤＶの運転決定モジュール３０３は、時刻ｔ１に対象５１０自動車に道を譲ることを確定する。必要に応じて、運転決定モジュールは、自動車５１０に道を譲る時の減速レート、又は自動車５１０がＡＤＶ  １０１より先に通過する時にＡＤＶが位置すべきターゲット位置を指示する。計画モジュール３０４は、決定と必要に応じて決定パラメータを受信し、自動車５１０に道を譲る決定の実施に問題がある可能性があるかどうかを確定する。例えば、道路が濡れて、且つ減速して自動車５１０に道を譲るのに十分な時間がない場合がある。それに加えて、または必要に応じて、ＡＤＶの速度を１０％低下させない限り、計画モジュール３０４は、自動車５１０がＡＤＶ  １０１より先に通過するとあまりにも近接することを確定できる。計画モジュール３０４は、運転決定問題があるかもしれないという指示を決定モジュール３０４へ伝達できる。計画モジュール３０４は、運転決定フィードバックと運転決定を運転決定モジュール３０３に返送できる。この例では、運転決定フィードバックは、自動車５１０が道に譲る箇所にＡＤＶに近すぎるようになるという警告を含む。運転決定フィードバックはさらに、より保守的なパラメータの推薦（すなわち、ＡＤＶの速度を１０％低下させる）を含んでもよい。
【０１１９】
図８Ｅは、必要に応じて運転決定、運転決定フィードバック及びログ情報に基づいて運転決定問題を分類する運転決定問題認識モジュール３０７の一例である。図８Ｅはさらに局所運転決定改善の例を示す。ログ情報は、感知ログ３１２、運転ログ３１３及び運転決定ログ３１４を含むことができる。運転決定モジュール３０３は計画モジュール３０４から運転決定フィードバックを受信できる。運転決定モジュール３０３は、運転決定問題認識モジュール３０７を呼び出して潜在的な運転決定問題を分類できる。運転決定問題は、保守的な決定、急進的な決定、保守的なパラメータ、急進的なパラメータ、早期決定、後期決定、非決定問題（運転決定問題が存在するが、決定モジュール３０３と関係ない）を含む。
【０１２０】
この例では、運転決定モジュール３０３は、例えば２７ｍｐｈの運転決定パラメータで自動車５１０に道に譲ることを確定した。計画モジュールフィードバックは、運転決定パラメータがあまりにも急進的であるかもしれないことを示し、ＡＤＶ速度を１０％低下させるように提案する。運転決定問題認識モジュール３０７は、運転決定問題カテゴリーが「急進的なパラメータ」であることを確定し、さらに、運転決定を変える必要がないが、運転決定のパラメータをより保守的な値に変更すべきである。
【０１２１】
運転決定改善モジュール３０８は運転決定問題カテゴリー、計画モジュールフィードバック及びログ情報で自動車５１０に道を譲るための決定のより保守的なパラメータを確定できる。例えば、局所運転決定改善モジュール３０８はＡＤＶ速度を提案された１０％又は運転決定改善モジュール３０８で確定された別の値に低下させることができる。
【０１２２】
図８Ｆは複数のＡＤＶからのログ情報を用いて複数のＡＤＶに対する運転決定を改善する全局運転決定問題認識モジュール１０３Ｂの一例８２０を示す。この例では、運転決定は対象（例えば自動車５１０）に道を譲ることである。この例では、全局運転決定改善モジュール１０３Ｂが分析するように、３つのＡＤＶ（欄見出し８２１の下に１、２及び３として示される）のそれぞれは、ログ情報をサーバ１０３へアップロードした。ログ情報は、感知ログ３１２と、運転ログ２１３と、運転決定ログ３１３とを含み、前記運転決定ログ３１３は、運転決定パラメータと、運転分類と、計画モジュールフィードバックとを含んでもよい。ログ情報から、各ＡＤＶの特徴と運転決定対象となる対象の特徴を含む特徴を抽出できる。各ＡＤＶ  １、２及び３からの、対象（例えば、自動車５１０）に「道を譲る」運転決定に対するグ情報が抽出される。ＡＤＶ  １、２及び３のそれぞれについて、運転決定は「急進的なパラメータ」として分類される。
【０１２３】
ＡＤＶのログ情報から各ＡＤＶ運転決定の固有ベクトルを抽出できる。特徴は、ＡＤＶ速度８３１と、配向８３２と、車線位置８３３とを含んでもよい。特徴は、さらに対象５１０とＡＤＶとの距離８４１、ＡＤＶとの相対位置８４２、対象の速度８４３、対象のグリッド又はＡＤＶが前へ走行する方向の配向８４４、対象の車線位置８４５及び道路状況８４６を含んでもよい。ＡＤＶの計画モジュールが運転決定を受信した時、特徴は、計画モジュール３０４が提案したパラメータ変更８５０をさらに含んでもよい。ＡＤＶの固有値は固有ベクトルとして設定できる。例えば、ＡＤＶ  １固有ベクトルは（２５，０°，３'  ｌｅｆｔ，６０'，−７２°，２４，＋９０°，−１，３）であってもよく、ただし、↑（直線前進）の運転配向は０で指示することができ、且つ、道路状況は１〜５のスケールで示されることができ、例えば１＝乾燥、２＝湿っぽい、３＝潤湿、４＝雪、５＝氷、日の出＝１０、昼＝２０、雲＝３０、日没＝４０、及び暗黒＝５０である。道路状況は組み合わせであってもよく、潤湿暗黒日の場合は、３＋５０＝５３としてもよい。ＡＤＶ  ２の固有ベクトルは、（３２，０°，２'  ｌｅｆｔ，８０'，＋２８°，３０，−９０°，−１，１）であってもよく、且つＡＤＶ  ３固有ベクトルは（２８，０°，２'  ｌｅｆｔ，７２'，−２°，３０，１８０°，３'ｌｅｆｔ，５１）であってもよい。
【０１２４】
機器学習モジュール１０３Ａは、運転決定と対象用の固有ベクトルで操作して、最小の決定変更又はパラメータ変更を必要とする（又はまったく必要としない）提案特徴を取得できる。全局変化は、２５  ｍｐｈのＡＤＶ速度８３１、０°（又は↑）の運転配向８３２に対して、ＡＤＶ進行車線の左端右側から２〜３フィート離れた車線位置では、約６８フィート離れた距離８４１にあり、相対位置８４２が任意であり、配向８４４が任意の値であってもよく、速度８４４が約２８  ｍｐｈである対象に対する決定を調整する必要がなく、対象８４５の車線位置は任意の位置であってもよく、さらに、決定はすべての天気と光線に適することを指示できる。運転決定は、ＡＤＶが約２５  ｍｐｈで走行する時、約２８  ｍｐｈで移動している移動対象を参照として実施する大部分の「道を譲る」運転決定に適用すべきである。
【０１２５】
製品ＡＤＶにおいて決定改善を実施する前、エンジニアチームは決定改善出力を見直すことができる。製品ＡＤＶにおいて全局運転決定改善を実施した後にも、自動車毎に局所運転決定改善モジュール３０８によって改善した決定を変更できる。
【０１２６】
図９は、本発明の一実施形態と組み合わせて使用されるデータ処理システム９００を例示的に示すブロック図である。例えば、システム９００は、上記のプロセス（手順）又は方法のいずれか（例えば、図１に示す自律走行車１０１システム（例えば、感知及び計画システム１１０、制御システム１１１、インフォテイメントシステム１１４など）またはサーバ１０３〜１０４のいずれか）を実行する上記任意のデータ処理システムを示してもよい。システム９００は、多数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、分散型電子装置、またはコンピュータシステムのマザーボードまたはアドインカードのような回路基板に適用された他のモジュール、または他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現できる。
【０１２７】
さらに、システム９００は、コンピュータシステムの多数の構成要素の高レベルビューを示すことを目的とする。しかしながら、いくつかの実現形態では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を呈してもよい。システム９００は、デスクトップコンピュータ、ノートパソコン、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント（ＰＤＡ）、埋め込み式プロセスコントローラ、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セットトップボックス、又はそれらの組合せを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で１つ（又は複数）の命令セットを実行することにより本明細書に説明される任意の１種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
【０１２８】
一実施形態において、システム９００は、バス又は相互接続部材９１０によって接続されたプロセッサ９０１、メモリ９０３及び装置９０５〜９０８を備える。プロセッサ９０１は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサであってもよい。プロセッサ９０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）等のような１つ以上の汎用プロセッサであってもよい。より具体的には、プロセッサ９０１は、複雑命令セット計算（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又は他の命令セットを実現するプロセッサ、又は命令セットの組合せを実現するプロセッサであってもよい。プロセッサ９０１は、さらに、専用集積回路（ＡＳＩＣ）、セルラまたはベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックスプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような１つまたは複数の専用プロセッサ、あるいは命令処理可能な任意の他のタイプのロジックであってもよい。
【０１２９】
一実施形態において、プロセッサ９０１は、少なくとも１つのハードウェアを備える。プロセッサ９０１（超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい）は、前記システムの各種構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実現されることができる。プロセッサ９０１は、命令を実行することにより本明細書に説明される動作及びステップを実行するための命令を実行するように構成される。また、システム９００は、選択可能なグラフィックサブシステム９０４と通信するグラフィックインターフェースをさらに含み、グラフィックサブシステム９０４は、表示コントローラ、グラフィックプロセッサ及び／又は表示装置をさらに備えてもよい。
【０１３０】
プロセッサ９０１は、メモリ９０３と通信してもよく、メモリ９０３は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ９０３は、ランダムアクセスメモリ（ＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、静的ＲＡＭ（ＳＲＡＭ）又は他のタイプのメモリのような１つ以上の揮発性記憶装置（又はメモリ）を備えてもよい。メモリ９０３は、プロセッサ９０１又は任意の他の装置により実行される命令列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア（例えば、基本入出力システム（ＢＩＯＳ））及び／又はアプリケーションの実行可能なコード及び／又はデータはメモリ９０３にロードされてもよく、プロセッサ９０１により実行される。オペレーティングシステムは、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）会社からのＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル会社からのＭａｃ  ＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）会社からのＡｎｄｒｏｉｄ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
【０１３１】
システム９００は、Ｉ／Ｏ装置、例えば装置９０５〜９０８をさらに備えてもよく、ネットワークインターフェース装置９０５、選択可能な入力装置９０６及び他の選択可能なＩ／Ｏ装置９０７を備える。ネットワークインターフェース装置９０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を備えてもよい。前記無線送受信機は、ＷｉＦｉ送受信機、赤外送受信機、ブルートゥース（登録商標）送受信機、ＷｉＭａｘ送受信機、無線セルラーホン送受信機、衛星送受信機（例えば、全地球位置決めシステム（ＧＰＳ）送受信機）又は他の無線周波数（ＲＦ）送受信機又はそれらの組合せであってもよい。ＮＩＣはイーサネット（登録商標）カードであってもよい。
【０１３２】
入力装置９０６は、マウス、タッチパッド、タッチスクリーン（それは表示装置９０４と一体化されてもよい）、ポインタデバイス（例えばスタイラス）及び／又はキーボード（例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード）を備えてもよい。例えば、入力装置９０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術（容量、抵抗、赤外及び表面音波の技術を含むが、それらに限定されない）のいずれか、及びタッチスクリーンの１つ以上の接触点を決定するための他の近接センサアレイ又は他の素子を用いてそのタッチ点及び移動又は断続を検出することができる。
【０１３３】
Ｉ／Ｏ装置９０７は音声装置を備えてもよい。音声装置は、スピーカ及び／又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び／又は電話機能のような音声サポートの機能を促進する。他のＩ／Ｏ装置９０７は、汎用シリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計の動きセンサ、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ）又はそれらの組合せをさらに備えてもよい。装置９０７は、結像処理サブシステム（例えば、カメラ）をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能（例えば、写真及びビデオ断片の記録）を促進するための電荷カップリング装置（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ（図示せず）によって相互接続部材９１０に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ（図示せず）により制御されてもよく、これはシステム９００の特定配置又は設計により決められる。
【０１３４】
Ｉ／Ｏ装置９０７は、さらにレーダーシステム（無線探知及び測距）と、ＬＩＤＡＲシステム（光検出及び測距）と、ＧＰＳシステム（全地球位置決めシステム）とを含んでもよく、また、セルラータワーで検出・三角測量できるセルラーホンサブシステム、マイク及び他のオーディオレコーダー／ビデオレコーダー、位置、距離、時間、速度、加速度、水平及び垂直水準器検定器、配向センサ及び方位センサを用いてもよい。
【０１３５】
データ、アプリケーション、１つ以上のオペレーティングシステム等のような情報の永続的記憶を提供するために、大容量メモリ（図示せず）は、プロセッサ９０１に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力を向上させるために、このような大容量メモリは、ソリッドステート装置（ＳＳＤ）によってされることが実現できる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ（ＨＤＤ）で実現されてもよく、少量のＳＳＤ記憶量は、ＳＳＤキャッシュとして停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム操作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース（ＳＰＩ）によってプロセッサ９０１に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのＢＩＯＳ（基本入出力システム）及び他のファームウェアを備える。
【０１３６】
メモリ９０８は、任意の１種又は複数種の本明細書に記載の方法又は機能を体現する１つ以上の命令セット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック９２８）が記憶されるコンピュータアクセス可能な記憶媒体９０９（機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる）を備えてもよい。処理モジュール／ユニット／ロジック９２８は、例えば、自律走行車１０１（ＡＶ）の位置決めモジュール３０１、感知モジュール３０２、決定モジュール３０３、計画モジュール３０４、制御モジュール３０５、ルーティングモジュール３０６、決定問題認識モジュール３０７、及び決定問題改善モジュール３０８のような上記構成要素のいずれかを示してもよい。処理モジュール／ユニット／ロジック９２８は、さらにデータ処理システム９００により実行される期間にメモリ９０３内及び／又はプロセッサ９０１内に完全又は少なくとも部分的に存在してもよく、ここで、メモリ９０３及びプロセッサ９０１も、機器アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック９２８は、さらにネットワークによってネットワークインターフェース装置９０５を経由して送受信されてもよい。
【０１３７】
コンピュータ可読記憶媒体９０９は、以上に説明されたいくつかのソフトウェア機能の一部又は全部を永続的に記憶してもよい。コンピュータ可読記憶媒体９０９は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記１つ以上の命令セットが記憶される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／又は関連するキャッシュ及びサーバ）を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらに命令セットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記命令セットは、機器により実行されかつ前記機器に本出願の任意の１種又は複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
【０１３８】
本明細書に記載の処理モジュール／ユニット／ロジック９２８、構成要素及び他の特徴は、ディスクリートハードウェアコンポーネントとして実現されてもよく、又はハードウェアコンポーネント（例えばＡＳＩＣｓ、ＦＰＧＡ、ＤＳＰ又は類似装置）の機能に統合されてもよい。さらに、処理モジュール／ユニット／ロジック９２８は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール／ユニット／ロジック９２８は、ハードウェア装置及びソフトウェアコンポーネントの任意の組合せで実現されてもよい。
【０１３９】
なお、システム９００は、データ処理システムの各種の構成要素を有するように示されているが、構成要素に相互接続させる任意の具体的な構造又は方式を限定するものではないことに注意すべき、それは、このような詳細が本出願の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び／又は他のデータ処理システムは、本出願の実施形態と共に使用されてもよい。
【０１４０】
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した操作列（動作列）（ｓｅｑｕｅｎｃｅ  ｏｆ  ｏｐｅｒａｔｉｏｎｓ）と考えられる。これらの操作（動作）とは、物理量に対して物理的操作（動作）を行う必要となること（ステップ）を指す。
【０１４１】
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語（例えば、添付している特許請求の範囲に説明された用語）による説明とは、コンピュータシステム又は類似の電子計算装置の操作及び処理であり、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリに物理（例えば、電子）量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報メモリ、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
【０１４２】
本出願の実施形態は、さらに本明細書における操作を実行するための装置に関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に記憶される。機器可読媒体は、機器（例えば、コンピュータ）可読な形態で情報を記憶する任意の機構を備える。例えば、機器可読（例えば、コンピュータ可読）媒体は、機器（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ）を備える。
【０１４３】
上記図面に示されるプロセス（手順）又は方法は、ハードウェア（例えば、回路、専用ロジック等）、ソフトウェア（例えば、非一時的コンピュータ可読媒体に具現化される）、又は両方の組合せを含む処理ロジックにより実行されてもよい。前記プロセス（手順）又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作(操作)の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
【０１４４】
本出願の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本出願の実施形態の教示を実現できることを理解すべきである。
【０１４５】
以上の明細書では、本出願の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本出願のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。したがって、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。
【図１】
2018081673.tif 000003
【図２】
2018081673.tif 000004
【図３】
2018081673.tif 000005
【図４】
2018081673.tif 000006
【図５】
2018081673.tif 000007
【図６】
2018081673.tif 000008
【図７】
2018081673.tif 000009
【図８Ａ】
2018081673.tif 000010
【図８Ｂ】
2018081673.tif 000011
【図８Ｃ】
2018081673.tif 000012
【図８Ｄ】
2018081673.tif 000013
【図８Ｅ】
2018081673.tif 000014
【図８Ｆ】
2018081673.tif 000015
【図９】
2018081673.tif 000016
【外国語明細書】
2018081673000001.pdf