(57)【要約】      （修正有）【課題】自律走行車を操作する運転コマンドのコマンド遅延を決定するためのコンピュータ実施方法を提供すること。【解決手段】自律走行車のコマンド遅延候補項を決定して、コマンド遅延候補項のうちのそれぞれは１つ又は複数のコマンド周期で示される。コマンド遅延候補項のうちのそれぞれに対して、運転コマンドの百分率を計算し、前記百分率によって運転コマンドに従う自律走行車の応答を生み出す。従順性の百分率が最も高いコマンド遅延候補項のうちの１つを選択して、自律走行車のコマンド遅延とする。コマンド遅延は自律走行車の後続操作を計画し制御する。【選択図】図７
2018083612.tif 000002
【特許請求の範囲】
【請求項１】
自律走行車の複数のコマンド遅延候補項を決定し、前記コマンド遅延候補項におけるそれぞれはいずれも１つ又は複数のコマンド周期で示されるステップと、
前記コマンド遅延候補項のそれぞれに対して、異なる時間点でキャプチャーした、前記自律走行車に関連する運転統計データに基づいて運転コマンドの百分率を計算し、前記百分率によって運転コマンドに従う自律走行車の応答を生み出すステップと、
従順性の百分率が最も高い、前記コマンド遅延候補項のうちの１つを選択して、前記自律走行車の前記コマンド遅延として、前記コマンド遅延は前記自律走行車の後続操作を計画し制御することに用いられるステップと、を含む
ことを特徴とする自律走行車を操作する運転コマンドのコマンド遅延を決定するためのコンピュータ実施方法。
【請求項２】
前記コマンド遅延候補項におけるそれぞれに関連する、複数の運転コマンドにおけるそれぞれに対して、前記自律走行車の、前記運転コマンドに応答する応答の従順性を決定するステップを更に含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記自律走行車の、前記運転コマンドに応答する応答の従順性を決定するステップには、
第１コマンド周期で出した第１運転コマンドの第１コマンド値を決定するステップと、
前記第１運転コマンドに応答して第２コマンド周期で発生した前記自律走行車の第１応答の第１応答値を決定するステップと、
前記第１コマンド値及び前記第１応答値に基づいて前記第１運転コマンドに応答する前記第１応答の従順性を決定するステップと、を含む
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記第１コマンド周期と前記第２コマンド周期との差別は前記コマンド遅延候補項のうちの１つを示す
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記第１運転コマンドはスロットルコマンドを含み、前記自律走行車は前記運転統計データに基づいて前記第２コマンド周期で加速する場合、前記第１応答が前記第１運転コマンドに従う
ことを特徴とする請求項３に記載の方法。
【請求項６】
前記第１運転コマンドはブレーキコマンドを含み、前記自律走行車は前記運転統計データに基づいて前記第２コマンド周期で減速する場合、前記第１応答が前記第１運転コマンドに従う
ことを特徴とする請求項３に記載の方法。
【請求項７】
前記第１運転コマンドは第１方向において向きを変えるステアリングコマンドを含み、前記自律走行車は前記運転統計データに基づいて前記第２コマンド周期で前記第１方向に沿って向きを変える場合、前記第１応答が前記第１運転コマンドに従う
ことを特徴とする請求項３に記載の方法。
【請求項８】
コマンド遅延はスロットルコマンド遅延、ブレーキコマンド遅延又はステアリングコマンド遅延のうちの１つである
ことを特徴とする請求項１に記載の方法。
【請求項９】
命令が記憶された非一時的な機械可読媒体であって、
前記命令が、プロセッサにより実行される場合、前記プロセッサに操作を実行させ、前記操作は、
自律走行車の複数のコマンド遅延候補項を決定し、前記コマンド遅延候補項におけるそれぞれはいずれも１つ又は複数のコマンド周期で示されるステップと、
前記コマンド遅延候補項のそれぞれに対して、異なる時間点でキャプチャーした、前記自律走行車に関連する運転統計データに基づいて運転コマンドの百分率を計算し、前記百分率によって運転コマンドに従う自律走行車の応答を生み出すステップと、
従順性の百分率が最も高い、前記コマンド遅延候補項のうちの１つを選択して、前記自律走行車の前記コマンド遅延として、前記コマンド遅延は前記自律走行車の後続操作を計画し制御することに用いられるステップと、を含む
ことを特徴とする非一時的機械可読媒体。
【請求項１０】
前記操作は、
前記コマンド遅延候補項におけるそれぞれに関連する、複数の運転コマンドにおけるそれぞれに対して、前記自律走行車の、前記運転コマンドに応答する応答の従順性を決定するステップを更に含む
ことを特徴とする請求項１０に記載の機械可読媒体。
【請求項１１】
前記自律走行車の、前記運転コマンドに応答する応答の従順性を決定するステップには、
第１コマンド周期で出した第１運転コマンドの第１コマンド値を決定するステップと、
前記第１運転コマンドに応答して第２コマンド周期で発生した、前記自律走行車の第１応答の第１応答値を決定するステップと、
前記第１コマンド値及び前記第１応答値に基づいて前記第１運転コマンドに応答する前記第１応答の従順性を決定するステップと、を含む
ことを特徴とする請求項１１に記載の機械可読媒体。
【請求項１２】
前記第１コマンド周期と前記第２コマンド周期との差別は前記コマンド遅延候補項のうちの１つを示す
ことを特徴とする請求項１２に記載の機械可読媒体。
【請求項１３】
前記第１運転コマンドはスロットルコマンドを含み、前記自律走行車は前記運転統計データに基づいて前記第２コマンド周期で加速する場合、前記第１応答が前記第１運転コマンドに従う
ことを特徴とする請求項１２に記載の機械可読媒体。
【請求項１４】
前記第１運転コマンドはブレーキコマンドを含み、前記自律走行車は前記運転統計データに基づいて前記第２コマンド周期で減速する場合、前記第１応答が前記第１運転コマンドに従う
ことを特徴とする請求項１２に記載の機械可読媒体。
【請求項１５】
前記第１運転コマンドは第１方向において向きを変えるステアリングコマンドを含み、前記自律走行車は前記運転統計データに基づいて前記第２コマンド周期で前記第１方向に沿って向きを変える場合、前記第１応答が前記第１運転コマンドに従う
ことを特徴とする請求項１２に記載の機械可読媒体。
【請求項１６】
コマンド遅延はスロットルコマンド遅延、ブレーキコマンド遅延又はステアリングコマンド遅延のうちの１つである
ことを特徴とする請求項９に記載の機械可読媒体。
【請求項１７】
プロセッサと、
前記プロセッサに連結されて命令を記憶するメモリと、を備え、
前記命令が、前記プロセッサにより実行される場合、前記プロセッサに操作を実行させ、前記操作は、
自律走行車の複数のコマンド遅延候補項を決定し、前記コマンド遅延候補項におけるそれぞれはいずれも１つ又は複数のコマンド周期で示されるステップと、
前記コマンド遅延候補項のそれぞれに対して、異なる時間点でキャプチャーした、前記自律走行車に関連する運転統計データに基づいて運転コマンドの百分率を計算し、前記百分率によって運転コマンドに従う自律走行車の応答を生み出すステップと、
従順性の百分率が最も高い、前記コマンド遅延候補項における１つを選択して、前記自律走行車の前記コマンド遅延として、前記コマンド遅延は前記自律走行車の後続操作を計画し制御することに用いられるステップと、を含む
ことを特徴とするデータ処理システム。
【請求項１８】
前記操作は、前記コマンド遅延候補項におけるそれぞれに関連する、複数の運転コマンドにおけるそれぞれに対して、前記自律走行車の、前記運転コマンドに応答する応答の従順性を決定するステップを更に含む
ことを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記自律走行車の、前記運転コマンドに応答する応答の従順性を決定するステップには、
第１コマンド周期で出した第１運転コマンドの第１コマンド値を決定するステップと、
前記第１運転コマンドに応答して第２コマンド周期で発生した、前記自律走行車の第１応答の第１応答値を決定するステップと、
前記第１コマンド値及び前記第１応答値に基づいて前記第１運転コマンドに応答する前記第１応答の従順性を決定するステップと、を含む
ことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記第１コマンド周期と前記第２コマンド周期との差別は前記コマンド遅延候補項のうちの１つを示す
ことを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記第１運転コマンドはスロットルコマンドを含み、前記自律走行車は前記運転統計データに基づいて前記第２コマンド周期で加速する場合、前記第１応答が前記第１運転コマンドに従う
ことを特徴とする請求項１９に記載のシステム。
【請求項２２】
前記第１運転コマンドはブレーキコマンドを含み、前記自律走行車は前記運転統計データに基づいて前記第２コマンド周期で減速する場合、前記第１応答が前記第１運転コマンドに従う
ことを特徴とする請求項１９に記載のシステム。
【請求項２３】
前記第１運転コマンドは第１方向において向きを変えるステアリングコマンドを含み、前記自律走行車は前記運転統計データに基づいて前記第２コマンド周期で前記第１方向に沿って向きを変える場合、前記第１応答が前記第１運転コマンドに従う
ことを特徴とする請求項１９に記載のシステム。
【請求項２４】
コマンド遅延はスロットルコマンド遅延、ブレーキコマンド遅延又はステアリングコマンド遅延のうちの１つである
ことを特徴とする請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はだいたい自律走行車の操作に関する。より具体的には、本発明の実施形態は自律走行車のコマンド遅延を決定することに関する。
【背景技術】
【０００２】
自律モード（例えば、自律運転）で走行している車両は、乗員（特に運転者）を、特定の運転に関連する責任から解放できる。自律モードで走行している場合、車両は車載センサーで様々な場所にナビゲートすることができ、それにより車両がヒューマンコンピュータインタラクションの最も少ない場合又はいくつかの乗客がない場合で運行することを可能にさせる。
【０００３】
動作計画及び制御は自律走行の重要な操作である。しかしながら、従来の動作計画操作は主に経路の曲率及び速度から所定の経路を完成する難度を推定し、異なるタイプの車両の特徴の違いを考えていない。同じ動作計画及び制御を全てのタイプの車両に応用するのは、ある場合に正確でなく安定しない。
【０００４】
なお、速度制御も自律走行の重要なステップである。しかし、自律走行車両（ＡＤＶ）は車両によって違う。コマンドを出す時間とＡＤＶからの応答時間との間の速度制御コマンドの遅延を決定しにくい。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の一態様によれば、自律走行車を操作する運転コマンドのコマンド遅延を決定するためのコンピュータ実施方法を提供し、この方法は、
自律走行車の複数のコマンド遅延候補項を決定し、前記コマンド遅延候補項におけるそれぞれはいずれも１つ又は複数のコマンド周期で示されるステップと、
前記コマンド遅延候補項のそれぞれに対して、異なる時間点でキャプチャーした、前記自律走行車に関連する運転統計データに基づいて運転コマンドの百分率を計算し、前記百分率によって運転コマンドに従う自律走行車の応答を生み出すステップと、
従順性の百分率が最も高い、前記コマンド遅延候補項のうちの１つを選択して、前記自律走行車の前記コマンド遅延として、前記コマンド遅延は前記自律走行車の後続操作を計画し制御することに用いられるステップと、を含む。
【０００６】
本発明の他の一態様によれば、命令が記憶された非一時的な機械可読媒体を提供し、前記命令が、プロセッサにより実行される場合、前記プロセッサに操作を実行させ、前記操作は、
自律走行車の複数のコマンド遅延候補項を決定し、前記コマンド遅延候補項におけるそれぞれはいずれも１つ又は複数のコマンド周期で示されるステップと、
前記コマンド遅延候補項のそれぞれに対して、異なる時間点でキャプチャーした、前記自律走行車に関連する運転統計データに基づいて運転コマンドの百分率を計算し、前記百分率によって運転コマンドに従う自律走行車の応答を生み出すステップと、
従順性の百分率が最も高い、前記コマンド遅延候補項のうちの１つを選択して、前記自律走行車の前記コマンド遅延として、前記コマンド遅延は前記自律走行車の後続操作を計画し制御することに用いられるステップと、を含む。
【０００７】
本発明の他の一態様によれば、データ処理システムを提供し、このシステムは、プロセッサと、前記プロセッサに連結されて命令を記憶するメモリと、を備え、
前記命令が、前記プロセッサにより実行される場合、前記プロセッサに操作を実行させ、前記操作は、
自律走行車の複数のコマンド遅延候補項を決定し、前記コマンド遅延候補項におけるそれぞれはいずれも１つ又は複数のコマンド周期で示されるステップと、
前記コマンド遅延候補項のそれぞれに対して、異なる時間点でキャプチャーした、前記自律走行車に関連する運転統計データに基づいて運転コマンドの百分率を計算し、前記百分率によって運転コマンドに従う自律走行車の応答を生み出すステップと、
従順性の百分率が最も高い、前記コマンド遅延候補項における１つを選択して、前記自律走行車の前記コマンド遅延として、前記コマンド遅延は前記自律走行車の後続操作を計画し制御することに用いられるステップと、を含む。
【図面の簡単な説明】
【０００８】
本発明の実施形態は例示的な形態で示され且つ図面の各図に限定されず、図面における同じ図面符号が類似した素子を示す。
【図１】本発明の一実施形態に係るネットワーク化システムを示すブロック図である。
【図２】本発明の一実施形態に係る自律走行車の例を示すブロック図である。
【図３】本発明の一実施形態に係る自律走行車と共に使用する感知及び計画システムの例を示すブロック図である。
【図４】本発明の一実施形態に係る自律走行車のコマンド遅延を決定するためのデータ処理システムを示すブロック図である。
【図５】本発明の一実施形態に係る運転統計データの一部を示すチャートである。
【図６】本発明の一実施形態に係るコマンド遅延予測モデルを示すブロック図である。
【図７】本発明の一実施形態に係る自律走行車を操作するためのコマンドの遅延を決定する手順を示す流れ図である。
【図８】本発明の他の実施形態に係る自律走行車を操作するためのコマンドの遅延を決定する手順を示す流れ図である。
【図９】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、説明の詳細を参照しながら、本発明の様々な実施形態及び方法を説明し、図面は、前記様々な実施形態を示す。以下の説明及び図面は、本出願を説明するためのものであり、本出願を限定するものではない。本出願の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。なお、いくつかの例では、本発明の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
【００１０】
本明細書では「一つの実施形態」又は「実施形態」とは、当該実施形態について組み合わせて説明された特定特徴、構造又は特性が、本出願の少なくとも一つの実施形態に含まれてもよい。語句「一つの実施形態では」は、本明細書全体において同一実施形態を指すとは限らない。
【００１１】
幾つかの実施形態によれば、一定の時間内で特定のタイプ又は種類の様々な自律走行車（自律走行車両又はＡＤＶとも呼ばれる）の運転統計データを収集し、ＡＤＶを自律走行するか又は人類の運転者により手動運転する際に、各ＡＤＶの処理ロジックにより運転統計データをキャプチャー且つ記録することができる。運転統計データは運転コマンド（例えば、スロットル、ブレーキ又はステアリングコマンド）に関する情報、このような運転コマンドを出す時間、異なる時間点の車両行動（例えば、運転コマンドに応答する）、及び／又は異なる時間点の車両行動から導出した車両の応答を含むことができる。
【００１２】
ＡＤＶに用いられる所定のコマンド遅延候補項のリストを決定又は限定する。各コマンド遅延候補項は１つ又は複数のコマンド周期で示される。例えば、０．１秒当たりに運転コマンドを出す場合、コマンド周期が０．１秒である。このため、コマンド候補項は１つ又は複数の０．１秒で示されることができる。コマンド遅延候補項のうちのそれぞれに対して、運転コマンド（例えば、スロットル、ブレーキ又はステアリングコマンド）の百分率を計算し、当該運転コマンドの百分率によって、検討しているコマンド遅延候補項に関連する運転コマンドに従うＡＤＶの応答を生み出す。全てのコマンド遅延候補項に対して運転コマンドに従う応答の全ての百分率を決定した後に、百分率が最も高いコマンド遅延候補項を選択して、特定のタイプのＡＤＶのコマンド遅延とする。その後、コマンド遅延は同じ又は類似するタイプのＡＤＶを制御し運転するための計画及び制御データを生成することに用いられることができる。
【００１３】
図１は本発明に係る一実施形態に係る自律走行車のネットワーク配置を示すブロック図である。図１を参照して、ネットワーク配置１００はネットワーク１０２によって１つ以上のサーバ１０３〜１０４に通信可能に接続することができる自律走行車１０１を含む。１つの自律走行車を示すが、ネットワーク１０２によって複数の自律走行車は互いに接続され、及び／又はサーバ１０３〜１０４に接続されることができる。ネットワーク１０２は、任意のタイプのネットワーク、例えば有線又は無線のローカルエリアネットワーク（ＬＡＮ）、例えばインターネット、セルラーネットワーク、衛星ネットワークの広域ネットワーク（ＷＡＮ）又はその組み合わせであってもよい。サーバ１０３〜１０４は任意のタイプのサーバ又はサーバクラスタ、例えばＷｅｂサーバ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はその組み合わせであってもよい。サーバ１０３〜１０４は、データ分析サーバ、内容サーバ、交通情報サーバ、地図（マップ）及び興味のあるポイント（ＭＰＯＩ）サーバ又は位置サーバ等であってもよい。
【００１４】
自律走行車とは、自律モードになるように配置できる車両を指し、前記自律モードで車両が運転者からの入力が非常に少ない又はない場合にもナビゲーションして環境を通過する。このような自律走行車は、センサーシステムを含んでもよく、前記センサーシステムは車両走行環境に関連する情報を検出するように配置される１つ以上のセンサーを有する。前記車両及びその関連するコントローラには検出した情報を使用してナビゲーションし環境を通過する。自律走行車１０１は、手動モード、完全自律モード又は部分自律モードで運行することができる。
【００１５】
一実施形態において、自律走行車１０１は、感知及び計画システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザインターフェースシステム１１３と、インフォテイメントシステム１１４と、センサーシステム１１５とを含むが、これらに制限されない。自律走行車１０１は、通常の車両に含まれるある一般的な構成要素（部材）、例えばエンジン、車輪、ハンドル、変速器等をさらに含んでもよく、前記構成要素は、車両制御システム１１１及び／又は感知及び計画システム１１０により多種の通信信号及び／又は命令（例えば加速度信号又は命令、減速信号又は命令、ステアリング信号又は命令、ブレーキ信号又は命令等）を使用して制御することができる。
【００１６】
構成要素１１０〜１１５は、インターコネクト、バス、ネットワーク又はそれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素１１０〜１１５は、コントローラローカルエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続することができる。ＣＡＮバスは、マイクロコントローラ及び装置がホストコンピューターのない使用において互いに通信することを許可するような車両バス標準として設計される。それはメッセージに基づくプロトコルであり、最初に自動車内における複数の電線のために設計されたが、数多くのその他の環境（状況）にも用いられる。
【００１７】
現在、図２を参照して、一実施形態において、センサーシステム１１５は、１つ以上のカメラ２１１と、全地球測位システム（ＧＰＳ）システムユニット２１２と、慣性計測ユニット（ＩＭＵ）２１３と、レーダーユニット２１４と、ＬＩＤＡＲ（光検出及び測距）ユニット２１５とを含むが、これらに制限されない。ＧＰＳユニット２１２は、送受信機を含んでもよく、前記送受信機は、自律走行車の位置に関する情報を提供するように動作することができる。ＩＭＵ２１３は、慣性加速度に基づいて自律走行車の位置及び方向変化を感知することができる。レーダーユニット２１４は、無線信号を利用して自律走行車のローカル環境内の対象を感知するシステムを示すことができる。いくつかの実施形態において、対象を感知する以外、レーダーユニット２１４は、さらに対象の速度及び／又は走行方向を感知することができる。ＬＩＤＡＲユニット２１５はレーザを使用して自律走行車の所在する環境における対象を感知することができる。その他のシステム構成要素以外、ＬＩＤＡＲユニット２１５は１つ以上のレーザ光源、レーザースキャナ及び１つ以上の検出器をさらに含んでもよい。カメラ２１１は、自律走行車の周辺環境の画像をキャプチャするための１つ以上の装置を含んでもよい。カメラ２１１は、スチルカメラ及び／又はビデオカメラであってもよい。カメラは、例えば回転及び／又は傾斜のプラットフォームに取り付けられる、機械的に移動可能なものであってもよい。
【００１８】
センサーシステム１１５は、その他のセンサー、例えばソナーセンサー、赤外線センサー、ステアリングセンサー、スロットルセンサー、ブレーキセンサー、及びオーディオセンサー（例えばマイクロフォン）をさらに含んでもよい。オーディオセンサーは、自律走行車周辺の環境から音をキャプチャするように配置されてもよい。ステアリングセンサーは、ハンドル、車両の車輪又はその組み合わせのステアリング角を感知するように配置できる。スロットルセンサー及びブレーキセンサーは、それぞれ車両のスロットル位置及びブレーキ位置を感知する。いくつかの場合、スロットルセンサー及びブレーキセンサーは、集積型スロットル／ブレーキセンサーに一体化されてもよい。
【００１９】
一実施形態において、車両制御システム１１１は、ステアリングユニット２０１と、スロットルユニット２０２（加速ユニットとも呼ばれる）と、ブレーキユニット２０３とを含むが、これらに制限されない。ステアリングユニット２０１は、車両の方向又は走行方向を調整することに用いられる。スロットルユニット２０２は、モーター又はエンジンの速度を制御して、続いて車両の速度及び加速度を制御することに用いられる。ブレーキユニット２０３は、摩擦を提供することによって車両の車輪又はタイヤをスローダウンして車両を減速させることに用いられる。注意すべきなのは、図２に示すような構成要素はハードウェア、ソフトウェア又はその組み合わせで実現されることができる。
【００２０】
図１を再び参照して、無線通信システム１１２は、自律走行車１０１と、例えば装置、センサー、その他の車両等の外部システムとの間に通信することを可能にする。例えば、無線通信システム１１２は、１つ以上の装置に直接に又は通信ネットワークを介して無線通信し、例えばネットワーク１０２によってサーバ１０３〜１０４に通信することができる。無線通信システム１１２は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）（例えばＷｉＦｉ）を使用して他の構成要素やシステムに通信できる。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース（登録商標）等を使用して装置（例えば、乗客の移動装置、表示装置、車両１０１内のスピーカー）に直接に通信できる。ユーザインターフェースシステム１１３は、車両１０１内で実行される周辺装置の一部であってもよく、例えばキーボード、タッチスクリーンディスプレイ装置、マイクロフォン、及びスピーカー等を含む。
【００２１】
自律走行車１０１の一部又は全ての機能は、特に自律運転モードで操作する場合、感知及び計画システム１１０により制御したり管理したりすることができる。感知及び計画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、メモリ）、及びソフトウェア（例えば、オペレーティングシステム、計画、及び経路プログラム）を含み、センサーシステム１１５、車両制御システム１１１、無線通信システム１１２、及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、出発地から目的地までの経路やルートを計画し、そして計画及び制御情報に基づいて車両１０１を運転させる。あるいは、感知及び計画システム１１０と車両制御システム１１１とは一体化されてもよい。
【００２２】
例えば、乗客のユーザとして、例えばユーザインターフェースによって旅程の出発位置及び目的位置を指定することができる。感知及び計画システム１１０は旅関連データを取得する。例えば、感知及び計画システム１１０は、ＭＰＯＩサーバから位置及びルート情報を取得することができ、前記ＭＰＯＩサーバはサーバ１０３〜１０４の一部であってもよい。位置サーバは、位置サービスを提供し、かつＭＰＯＩサーバはマップサービス及びある位置のＰＯＩを提供する。あるいは、このような位置及びＭＰＯＩ情報は、感知及び計画システム１１０の永続的記憶装置にローカルでキャッシュされることができる。
【００２３】
自律走行車１０１がルートに沿って移動する時に、感知及び計画システム１１０は、さらに交通情報システムやサーバ（ＴＩＳ）からリアルタイム交通情報を取得できる。注意すべきなのは、サーバ１０３〜１０４は、第三者エンティティにより動作されることができる。あるいは、サーバ１０３〜１０４の機能は、感知及び計画システム１１０と一体化されてもよい。リアルタイム交通情報、ＭＰＯＩ情報、位置情報、及びセンサーシステム１１５が検出又は感知したリアルタイムなローカル環境データ（例えば、障害物、対象、付近車両）に基づいて、感知及び計画システム１１０は、安全で効果的に指定した目的地に到達するように、最適なルートを計画し、かつ計画したルートにより例えば車両制御システム１１１を介して車両１０１を運転することができる。
【００２４】
図３は、本発明の一実施形態に係る自律走行車と共に使用される感知及び計画システムの例を示すブロック図である。システム３００は、図１の自律走行車１０１の一部（感知及び計画システム１１０、車両制御システム１１１及びセンサーシステム１１５を含むが、これらに制限されない）となるように実現されることができる。図３を参照し、感知及び計画システム１１０は、位置決めモジュール３０１、感知モジュール３０２、決定モジュール３０３、計画モジュール３０４、制御モジュール３０５を含むが、これらに制限されない。
【００２５】
モジュール３０１〜３０８における一部又は全部は、ソフトウェア、ハードウェア又はその組み合わせで実現されてもよい。例えば、これらのモジュールは、永続的記憶装置３５２に取り付けられ、メモリ３５１にロードされ、かつ１つ以上のプロセッサ（図示せず）により実行されてもよい。注意すべきなのは、これらのモジュールにおける一部又は全部は、図２の車両制御システム１１１の一部又は全部のモジュールに通信可能に接続されてもよく、一体化されてもよい。モジュール３０１〜３０８における一部は、一緒に集積モジュールとして一体化されてもよい。
【００２６】
位置決めモジュール３０１（地図及びルーティングモジュールとも言われる）は、ユーザの旅程又はルートに関連する任意のデータを管理する。ユーザは、例えばユーザインターフェースを介してログインするとともに旅程の出発位置及び目的位置を指定してもい。位置決めモジュール３０１は、旅程に関連するデータを取得するように、自律走行車（システム）３００のその他の構成要素（例えばマップ及びルート情報３１１）と通信する。例えば、位置決めモジュール３０１は、位置サーバと、地図及びＰＯＩ（ＭＰＯＩ）サーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、かつＭＰＯＩサーバは、マップ及びルート情報３１１の一部としてキャッシュされてもよい地図サービスと特定な位置のＰＯＩとを提供する。システム３００がルートに沿って移動する時に、位置決めモジュール３０１は、さらに交通情報システムやサーバからリアルタイム交通情報を取得することができる。
【００２７】
センサーシステム１１５により提供されたセンサーデータ、及び位置決めモジュール３０１により得られた位置決め情報に基づいて、感知モジュール３０２は周辺環境に対する感知を決定する。感知情報は、普通の運転者が自分で運転している車両周辺から感知したもの（状況）を示すことができる。感知情報は、例えば対象形式で現される車線配置（例えば、ストレート又はカーブ）、トラフィック信号、他の車両の相対位置、歩行者、建築物、横断歩道又はその他の交通関連標識（例えば、停止標識、譲り標識）などを含んでもよい。
【００２８】
感知モジュール３０２は、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含んでもよく、自律走行車環境における対象及び／又は特徴を認識するように、１つ以上のカメラによりキャプチャされた画像を処理及び分析することに用いられる。前記対象は交通信号、車道の境界線、他の車両、歩行者及び／又は障害物等を含んでもよい。コンピュータビジョンシステムは、対象認識アルゴリズム、ビデオトラッキング及びその他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境をマッピングし、対象を追跡し、かつ対象の速度を推定することなどができる。感知モジュール３０２は、その他のセンサー（例えばレーダー及び／又はＬＩＤＡＲ）により提供されたその他のセンサーデータに基づいて対象を検出することもできる。
【００２９】
それぞれの対象に対して、決定モジュール３０３は、如何に対象を処理する決定をする。例えば、特定な対象（例えば、交差ルートにおける他の車両）及び対象を記述するメタデータ（例えば、速度、方向、ステアリング角）に対して、決定モジュール３０３は、遇う対象に如何に対応する（例えば、追い越し、道譲り、停止、通過）ことを決定する。決定モジュール３０３は、永続的記憶装置３５２に記憶されてもよい１セットのルール（例えば交通ルール又は運転ルール３１２）に基づいてこのような決定をすることができる。
【００３０】
感知したそれぞれ対象に対する決定に基づいて、計画モジュール３０４は、自律走行車のために経路又はルート及び運転パラメータ（例えば、距離、速度及び／又はステアリング角）を計画する。すなわち、所定対象に対して、決定モジュール３０３は前記対象に対して如何に対応するかを決定し、計画モジュール３０４は如何に実行するかを決定する。例えば、所定対象に対して、決定モジュール３０３は、前記対象を追い越すことを決定することができ、計画モジュール３０４は、前記対象の左側に追い越すか、右側に追い越すかを決定することができる。計画モジュール３０４は、計画及び制御データを生成し、車両３００が次の移動周期（例えば、次のルート／経路セグメント）に如何に移動するかを記述する情報を含む。例えば、計画及び制御データは車両３００が毎時間３０マイル（ｍｐｈ）の速度で１０メートル移動し、次に２５ｍｐｈの速度で右車線まで変わることを指示することができる。
【００３１】
計画及び制御データに基づいて、制御モジュール３０５は計画及び制御データにより定義されたルート又は経路に基づいて、車両制御システム１１１へ適切な命令又は信号を送信することによって自律走行車を制御及び運転する。前記経路又はルートに沿って違う場所で適時に適切な車両設置又は運転パラメータ（例えば、スロットル、ブレーキ及びステアリング命令）を使用して車両を第１点から第２点まで運転するように、計画及び制御データは十分な情報を含む。
【００３２】
注意すべきなのは、決定モジュール３０３及び計画モジュール３０４は、集積モジュールに一体化されてもよい。決定モジュール３０３／計画モジュール３０４は、自律走行車の運転経路を決定するために、ナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自律走行車が以下の経路に沿って移動することを実現するための一連の速度及びディレクショナ走行方向を決定することができ、前記経路は、自律走行車を総体的に最終目的位置を向けて通じる車線経路に進ませると同時に、基本的に感知された障害物を避けることができる。目的地はユーザインターフェースシステム１１３により実現されたユーザ入力に基づいて設置できる。ナビゲーションシステムは、自律走行車が走行していると同時に走行経路を動的に更新することができる。ナビゲーションシステムは、自律走行車用の走行経路を決定するように、ＧＰＳシステム及び１つ以上の地図からのデータを合併することができる。
【００３３】
決定モジュール３０３／計画モジュール３０４は、自律走行車環境における潜在障害物を、認識・評価・回避又はその他の方式で迂回するために、衝突回避システム又は衝突回避システムの機能をさらに含んでもよい。例えば、衝突回避システムは、以下の方式によって自律走行車のナビゲーションにおける変更を実現することができ、車両制御システム１１１のうちの１つ以上のサブシステムを動作してターン操縦、ステアリング操縦、ブレーキ操縦等を採る。衝突回避システムは、周辺の交通モード、道路状況等に基づいて障害物を回避可能な操縦を自動的に決定することができる。衝突回避システムは、その他のセンサーシステムは、自律走行車がターンして入ろうとする隣接領域における車両、建築障害物等を検出する際にターン操縦を採らないように配置できる。衝突回避システムは、使用可能でありかつ自律走行車の乗員の安全性を最大化させる操縦を自動的に選択することができる。衝突回避システムは、自律走行車の乗員室内で最小の加速度を出現させることが予測された回避操縦を選択することができる。
【００３４】
図４は本発明の一実施形態に係る自律走行車のコマンド遅延を決定するためのデータ処理システムを示すブロック図である。システム４００は専用のデータ分析システム、例えば図１のデータ分析システム又はサーバー１０３として実施されることができる。図４を参照して、システム４００は機械学習エンジン４１１、データコレクター４１２及びコマンド遅延決定モジュール又は計算器４１３を含むが、これらに制限されなく、それらは永久的記憶装置４０２からメモリ４０１にロードして且つ１つ又は複数のプロセッサ４０３により実行することができる。
【００３５】
一実施形態において、データコレクター４１２は同じタイプ又は類似するタイプの数多くの車両から運転統計データ４３１を収集し、運転統計データが車両の多種のセンサー又は記録システムによりキャプチャーして記録される。このような車両は自律走行車両及び／又は人類の運転者により運転する普通の車両であってよい。運転統計データ４３１はある時間点又はコマンド周期で出したある運転コマンド（例えば、スロットル、ブレーキ、ステアリングコマンド）を認識する情報、異なる時間点でキャプチャーした車両速度又は方向などを含んでもよい。運転統計データ４３１に基づいて、機械学習エンジン４１１は運転コマンドに応答して統計データを分析して車両行動を学習する。
【００３６】
一実施形態において、機械学習エンジン４１１はコマンド遅延予測モデル又はコマンド遅延決定アルゴリズム４３２を生成する。特定のタイプの自律走行車のコマンド遅延を予測又は決定するように、コマンド遅延予測モデル又はアルゴリズム４３２はコマンド遅延決定モジュール４１３により使用されることができる。コマンド遅延は運転コマンド（例えば、スロットル、ブレーキ、ステアリングコマンド）を出す時間と車両の応答時間との間の時間遅延である。異なるコマンドの遅延は異なってもよい。例えば、スロットルコマンドの遅延はブレーキコマンド又はステアリングコマンドの遅延と異なってもよい。一実施形態において、コマンド遅延決定モジュール４１３はスロットル遅延決定モジュール４２１、ブレーキ遅延決定モジュール４２２、ステアリング遅延決定モジュール（図示せず）を含み、スロットルコマンド、ブレーキコマンド又はステアリングコマンドの遅延をそれぞれ決定する。
【００３７】
例えば、図６に示されるように、コマンド遅延予測モデル４３２に対して、運転統計データ４３１の少なくとも一部はコマンド遅延予測モジュール４３２にフィードされてよく、且つコマンド遅延予測モデル４３２の出力は予測されたコマンド遅延を示す。代わりに、コマンド遅延決定モジュール４１３は運転統計データ４３１に基づいて遅延決定式又はアルゴリズムを使用してコマンド遅延を計算してもよい。前記遅延決定式又はアルゴリズムは多種の車両の従来の運転統計データに基づいて生成されることができる。
【００３８】
一実施形態において、ＡＤＶに用いられる所定のコマンド遅延候補項のリストを決定又は限定する。各コマンド遅延候補項は１つ又は複数のコマンド周期で示される。例えば、０．１秒当たりに運転コマンドを出す場合、コマンド周期が０．１秒である。このため、コマンド候補項は１つ又は複数の０．１秒で示されることができる。コマンド遅延候補項のうちのそれぞれに対して、コマンド遅延決定モジュール４１３は運転コマンド（例えば、速度制御コマンド）の百分率を計算し、当該運転コマンドの百分率によって、検討しているコマンド遅延候補項に関連する運転コマンドに従うＡＤＶの応答を生み出す。
【００３９】
用語「従う（服従）」とは車両の応答は特定のタイプのコマンドに応答する予期応答であるか否かを指す。例えば、運転コマンドはスロットルコマンドである場合、車両はコマンド遅延の後のある点で加速することが予期される。同様に、運転コマンドはブレーキコマンドである場合、車両を減速することが予期される。運転コマンドはステアリングコマンドである場合、車両はステアリングコマンドが指定された方向において向きを変えることが予期される。そうでないと、車両が従わないと見なされる。
【００４０】
車両は遅延候補項の速度コマンドに従って速度の百分率又は比率を変えることが、前記遅延候補項が自律走行車に用いられるコマンド遅延の確率になることを示す。全てのコマンド遅延候補項に対して運転コマンドの速度変化に従う全ての百分率を決定した後に、百分率が最も高いコマンド遅延候補項を選択して、特定のタイプのＡＤＶに用いられるコマンド遅延とする。その後、コマンド遅延は同じ又は類似するタイプのＡＤＶを制御し運転するための計画及び制御データを生成することに用いられることができる。
【００４１】
図５は本発明の一実施形態に係る運転統計データの一部を示すチャートである。図５を参照して、統計データ５００は図４の運転統計データ４３１の少なくとも一部を示すことができる。具体的に、この例において、スロットルコマンド遅延を決定するように、統計データ５００はスロットルコマンド及び自律走行車の応答に関する全体の運転統計データ４３１のみから抽出されてもよい。しかしながら、同じ又は類似する技術はその他タイプのコマンド、例えば、ブレーキ又はステアリングコマンドの遅延の決定に使用されてもよい。一実施形態において、各種のスロットルコマンドに応答して異なる点でキャプチャーしたある運転統計データを抽出する。この例において、コマンド周期又はタイムスタンプ５０１で示される所定の時間点集合に対して、運転統計データから車両速度５０２を認識する。なお、異なる点で出したスロットルコマンド５０３を認識する。
【００４２】
この特定の例において、コマンド周期Ｔ１〜Ｔ５での車両速度５０２はそれぞれ５、６、５、６及び５である。同じコマンド周期で出したスロットルコマンドはそれぞれ１、０、１、１及び１である。注意すべきなのは、本文で示した数字は説明するためのものだけであり、実際なデータを意味しない。スロットルコマンドに対して、正数が非ゼロ値を有するスロットルコマンドを使用したことを示し、即ち、フル加速ペダル圧力の百分率を示す。数字セロが加速圧力を使用しないことを指示し、このような場合に、車両は前のコマンド周期で出したコマンドに基づいて移動したりは一定の速度で移動したりしてもよい。車両は前のコマンドによって加速したり減速したりしてもよい。
【００４３】
コマンド周期５０１で示される異なる時間点でキャプチャーした車両速度に基づいて、加速度インジケータ５０４の形態で車両が特定の時間点で加速又は減速するか否かを決定してもよい。この例において、コマンド周期Ｔ１で、車両速度がＴ１の５からＴ２の６に変わる。したがって、コマンド周期Ｔ１に対応する加速度インジケータ５０４は正であり、この例において、１又はロジック１（真）である。正値は車両が加速していることを表し、Ｔ４の−１のような負値は車両が減速していることを表す。同様に、以前のコマンド周期から変化した速度に基づいて、Ｔ２〜Ｔ４に用いられる加速度インジケータ５０４はそれぞれ−１（速度がＴ２の６からＴ３の５に変わった）、１（速度がＴ３の５からＴ４の６に変わった）及び−１（速度がＴ４の６からＴ５の５に変わった）として決定されてもよい。
【００４４】
一実施形態において、目標遅延候補項としての所定のコマンド遅延候補項のうちのそれぞれに対して、スロットルコマンド遅延決定モジュール４２１は速度変化形態のどれらの車両応答が目標遅延候補項の前のコマンド周期で出した対応するスロットルコマンドに従うかを決定する。一実施形態において、モジュール４２１は第１コマンド周期で出した運転コマンドのコマンド値を決定する。モジュール４２１は運転コマンドに応答して第２コマンド周期で発生した自律走行車の応答の応答値を決定する。モジュール４２１はコマンド値及び応答値に基づいて運転コマンドの前記応答に応答する従順性を決定する。
【００４５】
第１コマンド周期と第２コマンド周期との間の差別は検討しているコマンド遅延候補項を示す。運転コマンドはスロットルコマンド又はブレーキコマンドであってよい。自律走行車は第１コマンド周期で出したスロットルコマンドに応答して第２コマンド周期で加速する場合、応答（例えば、速度の変化）がスロットルコマンドに従う。同様に、自律走行車は第１コマンド周期で出したブレーキコマンドに応答して第２コマンド周期で減速する場合、応答がブレーキコマンドに従う。同様な手順はステアリングコマンドに応用されてもよい。
【００４６】
この例において、１つのコマンド周期の遅延候補項５０５に対して、Ｔ２、Ｔ３及びＴ４の速度変化の従順性を決定する。以上のように、スロットルコマンド５０３は正である際に、車両がコマンド遅延の後に加速することが予期される。スロットルコマンド５０３は零である際に、加速、減速に応用されることができ又はどちらにも応用されない。このような運用に対して、スロットルコマンドで正であって又はブレーキコマンドが負であることが解釈される。運転統計データを分析する目的は前記タイプの車両に用いられるコマンド遅延を決定することである。
【００４７】
この例において、説明するための目的として、コマンド周期Ｔ１〜Ｔ５のみを考える。しかしながら、より多くのコマンド周期を考えることができる。実際に、考えたコマンド周期が多いほど、結果がより正確になる。一周期遅延候補項５０５（例えば、１つの周期のコマンド遅延）に対して、異なるコマンド周期で加速度インジケータ５０４及びスロットルコマンド５０３を検査することによってＴ２、Ｔ３及びＴ４の従順性を決定してもよい。この例において、Ｔ２の加速度インジケータは−１であってＴ１で出したスロットルコマンド５０３が１であるため、Ｔ１の従順性は０（仮）である。これは、車両がＴ２の速度変化（例えば、加速度）はＴ１で出したスロットルコマンドに従わないことを表す。Ｔ３の加速度インジケータは１であってＴ２で出したスロットルコマンド５０３が０であるため、Ｔ３の従順性は１（真）である。これは、車両がＴ３の速度変化（例えば、加速度）はＴ２で出したスロットルコマンドに従うことを表す。
【００４８】
このため、一周期遅延候補５０５（例えば、１つの周期のコマンド遅延）に対して、コマンド周期Ｔ２、Ｔ３及びＴ４の従順性は０（仮）、１（真）及び０（仮）である。このため、非ゼロ（又は真）の従順性の百分率は１／３であり、約３３％である。このような百分率は一周期遅延が同じ又は類似するタイプの車両に用いられるスロットルコマンドのコマンド遅延の確率を示す。２周期遅延候補項５０６（例えば、２つの周期のコマンド遅延）に対して、Ｔ３及びＴ４の従順性はそれぞれ１（真）及び１（真）である。このため、非ゼロ（又は真）の従順性の百分率は２／２又は１００％である。このような百分率は２周期遅延が同じ又は類似するタイプの車両に用いられるスロットルコマンドのコマンド遅延の確率を示す。同じ手順を実行して、３周期遅延、４周期遅延、……、ｎ周期遅延などの確率を決定することができる。
【００４９】
全ての遅延候補項の従順性の百分率を決定した後に、百分率又は確率が最も高い遅延候補のうちの１つを選択し、前記タイプの車両の最後のコマンド遅延とする。この例において、３３％の一周期遅延と比べて、１００％の２周期遅延は車両に用いられるコマンド遅延とみなされる。図５に示すような技術もブレーキコマンドのコマンド遅延を決定することに用いられてもよい。
【００５０】
図７は本発明の一実施形態に係る自律走行車を操作するためのコマンドの遅延を決定する手順を示す流れ図である。手順７００は処理ロジックにより実行されることができ、前記処理ロジックはソフトウェア、ハードウェア又はその組み合わせを含んでもよい。例えば、手順７００はコマンド遅延決定モジュール４１３により実行されてもよい。図７を参照して、操作７０１では、自律走行車又は同じ又は類似するタイプの車両の運転統計データを収集する。運転統計データは異なる時間点でキャプチャーした運転コマンド（例えば、スロットル、ブレーキ、ステアリングコマンド）及び車両速度又は方向を含む。操作７０２では、処理ロジックは複数のコマンド遅延候補項を決定する。各コマンド遅延候補項は１つ又は複数のコマンド周期で示される。
【００５１】
操作７０３では、コマンド遅延候補項のうちのそれぞれに対して、処理ロジックは、遅延候補項に関連する運転コマンドに従うの応答（例えば、車両速度又は方向の変化）を生み出す運転コマンドの百分率を計算する。全ての遅延候補項の全ての百分率を計算した後に、操作７０４では、処理ロジックは百分率が最も高い遅延候補項を選択し、前記タイプの自律走行車に用いられるコマンド遅延の最後の候補項とする。操作７０５では、処理ロジックは選択されたコマンド遅延に基づいて自律走行車の後続操作を計画し制御する。
【００５２】
図８は本発明の他の実施形態に係る自律走行車を操作するためのコマンドの遅延を決定する手順を示す流れ図である。手順８００は処理ロジックにより実行されることができ、前記処理ロジックはソフトウェア、ハードウェア又はその組み合わせを含んでもよい。例えば、手順８００はコマンド遅延決定モジュール４１３により実行されることができ、図７の操作７０３に関した操作の一部として、特定のコマンド遅延候補項の応答に従う百分率を計算する。
【００５３】
図８を参照して、操作８０１では、自律走行車又は同じ又は類似するタイプの車両の運転統計データを収集する。運転統計データはコマンド周期で示される異なる時間点でキャプチャーした運転コマンド及び車両速度を収集する。所定のコマンド周期のうちのそれぞれに対して、操作８０２では、処理ロジックは第１コマンド周期で出した運転コマンド（例えば、スロットル、ブレーキ、ステアリングコマンド）を示す第１コマンド値を認識する。操作８０３では、処理ロジックは自律走行車における第２コマンド周期の応答（例えば、速度又は方向の変化）を認識する。第１コマンド周期と第２コマンド周期との間の差別は検討しているコマンド遅延候補項を示す。操作８０４では、処理ロジックは車両の応答がコマンド値に基づく又は従うか否かを決定する。操作８０５では、処理ロジックは運転コマンドのコマンド値に基づいて従順応答を有する運転コマンドの百分率を計算する。前記百分率は遅延候補項が自律走行車のコマンド遅延になる確率を示す。
【００５４】
注意すべきなのは、多種の車両から収集した運転統計データに基づいてデータ分析システムによって以上で説明したコマンド遅延を決定する手順をオフラインで実行した。幾つかの実施形態において、車両のうちの少なくとも一部においてオンラインでこのような手順を実行してもよい。例えば、機械学習エンジン４１１、データコレクター４１２及びコマンド遅延決定モジュール４１３のうちの一部はメモリ３５１に記憶されてもよく、且つ図３に示すような自律走行車の感知及び計画システム１１０の１つ又は複数のプロセッサにより実行される。データコレクター４１２は定期的にセンサーシステム１１５から運転統計データを収集して、且つ収集したデータを永久的記憶装置３５２に記憶することができる。機械学習エンジン４１１及び／又はコマンド遅延決定モジュール４１３はリアルタイムにコマンド遅延（例えば、スロットルコマンド遅延、ブレーキコマンド遅延、ステアリングコマンド遅延など）を決定する。このようなコマンド遅延は続いた路線又は路線区或いは次のコマンド周期で車両を計画及び制御することができる。オンライン手順は車両へ付加的処理リソースを要求するが、コマンド遅延はより正確であることができるのは、コマンド遅延が当該時間点の運転状況（例えば、道路状況、天気状況）を考えて変えることができるためである。
【００５５】
注意すべきなのは、前記の示されたとともに記述された一部又は全部の構成要素は、ソフトウェア、ハードウェア又はその組み合わせで実現されることができる。例えば、このような構成要素は、永続的記憶装置にインストールされるとともに記憶されたソフトウェアとして実現されてもよく、前記ソフトウェアは、本出願にわたって記載の手順又は動作を実施するように、プロセッサ（図示せず）でメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路（例えば特定用途向けＩＣ又はＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ））にプログラミングされ又は嵌め込みされた専用ハードウェアにおける実行可能なコードとして実現されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバープログラム及び／又はオペレーティングシステムによってアクセスされてもよい。なお、このような構成要素は、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されてもよく、ソフトウェア構成要素が１つ以上の特定命令によってアクセス可能な命令セットの一部とする。
【００５６】
図９は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム１５００は、上記プロセス又は方法のいずれか（例えば、感知及び計画システム１１０、及び図１のサーバ１０３〜１０４のいずれか）を実行する上記任意のデータ処理システムを示してもよい。システム１５００は、多数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、分散型電子装置又は回路基板に適用された他のモジュール（例えばコンピュータシステムのマザーボード又はアドインカード）、又は他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることができる。
【００５７】
さらに、システム１５００は、コンピュータシステムの多数の構成要素の高レベルビューを示すことを目的とする。しかしながら、いくつかの実現形態では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント（ＰＤＡ）、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セットトップボックス、又はそれらの組合せを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で１つ（又は複数）の命令セットを実行することにより本明細書に説明される任意の１種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
【００５８】
一実施形態において、システム１５００は、バス又は相互接続部材１５１０によって接続されたプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を備える。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサであってもよい。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）等のような１つ又は複数の汎用プロセッサであってもよい。より具体的には、プロセッサ１５０１は、複雑命令セット計算（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又は他の命令セットを実現するプロセッサ、又は命令セットの組合せを実現するプロセッサであってもよい。プロセッサ１５０１は、さらに、専用集積回路（ＡＳＩＣ）、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような１つ又は複数の専用プロセッサ、あるいは命令処理可能な任意の他のタイプのロジックであってもよい。
【００５９】
プロセッサ１５０１（超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい）は、前記システムの各種構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実現されることができる。プロセッサ１５０１は、命令を実行することにより本明細書に説明される動作及びステップを実行するための命令を実行するように構成される。また、システム１５００は、選択可能なグラフィックサブシステム１５０４と通信するグラフィックインターフェースをさらに含み、グラフィックサブシステム１５０４は、表示コントローラ、グラフィックプロセッサ及び／又は表示装置をさらに備えてもよい。
【００６０】
プロセッサ１５０１は、メモリ１５０３と通信してもよく、メモリ１５０３は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、静的ＲＡＭ（ＳＲＡＭ）又は他のタイプのメモリのような１つ又は複数の揮発性記憶装置（又はメモリ）を備えてもよい。メモリ１５０３は、プロセッサ１５０１又は任意の他の装置により実行される命令列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア（例えば、基本入出力システム又はＢＩＯＳ）及び／又はアプリケーションの実行可能なコード及び／又はデータはメモリ１５０３にロードされてもよく、プロセッサ１５０１により実行される。オペレーティングシステムは、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ(R)会社からのＷｉｎｄｏｗｓ(R)オペレーティングシステム、アップル会社からのＭａｃ  ＯＳ(R)／ｉＯＳ(R)、Ｇｏｏｇｌｅ(R)会社からのＡｎｄｒｏｉｄ(R)、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
【００６１】
システム１５００は、ＩＯ装置、例えば装置１５０５〜１５０８をさらに備えてもよく、ネットワークインターフェース装置１５０５、選択可能な入力装置１５０６及び他の選択可能なＩＯ装置１５０７を備える。ネットワークインターフェース装置１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を備えてもよい。前記無線送受信機は、ＷｉＦｉ送受信機、赤外送受信機、ブルートゥース（登録商標）送受信機、ＷｉＭａｘ送受信機、無線セルラーホン送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）又は他の無線周波数（ＲＦ）送受信機又はそれらの組合せであってもよい。ＮＩＣはイーサネット（登録商標）カードであってもよい。
【００６２】
入力装置１５０６は、マウス、タッチパッド、タッチスクリーン（それは表示装置１５０４と一体化されてもよい）、ポインタデバイス（例えばスタイラス）及び／又はキーボード（例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード）を備えてもよい。例えば、入力装置１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば多種のタッチ感度技術（容量、抵抗、赤外及び表面音波の技術を含むが、それらに限定されない）のいずれか、及びタッチスクリーンの１つ又は複数の接触点を決定するための他の近接センサーアレイ又は他の素子を用いてそのタッチ点及び移動又は断続を検出することができる。
【００６３】
ＩＯ装置１５０７は音声装置を備えてもよい。音声装置は、スピーカ及び／又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び／又は電話機能のような音声サポートの機能を促進する。他のＩＯ装置１５０７は、汎用シリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサー（例えば、加速度計、ジャイロスコープ、磁力計、光センサー、コンパス、近接センサー等のような動きセンサー）又はそれらの組合せをさらに備えてもよい。装置１５０７は、結像処理サブシステム（例えば、カメラ）をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能（例えば、写真及びビデオ断片の記録）を促進するための電荷カップリング装置（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサーのような光学センサーを備えてもよい。あるセンサーは、センサーハブ（図示せず）によって相互接続部材１５１０に接続されてもよく、キーボード又は熱センサーのような他の装置は、組み込みコントローラ（図示せず）により制御されてもよく、これはシステム１５００の特定配置又は設計により決められる。
【００６４】
データ、アプリケーション、１つ又は複数のオペレーティングシステム等のような情報の永続記憶を提供するために、大容量メモリ（図示せず）は、プロセッサ１５０１に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力を向上させるために、このような大容量メモリは、ソリッドステート装置（ＳＳＤ）によって実現されることができる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ（ＨＤＤ）で実現されてもよく、少量のＳＳＤ記憶量は、ＳＳＤキャッシュとして停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース（ＳＰＩ）によってプロセッサ１５０１に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのＢＩＯＳ及び他のファームウェアを備える。
【００６５】
メモリ１５０８は、任意の１種又は複数種の本明細書に記載の方法又は機能を体現する１つ又は複数の命令セット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック１５２８）が記憶されるコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる）を備えてもよい。処理モジュール／ユニット／ロジック１５２８は、例えば、機械学習エンジン４１１、データコレクター４１２、又はコマンド遅延決定モジュール４１３のような上記構成要素のいずれかを示してもよい。処理モジュール／ユニット／ロジック１５２８は、さらにデータ処理システム１５００により実行される期間にメモリ１５０３内及び／又はプロセッサ１５０１内に完全又は少なくとも部分的に存在してもよく、ここで、メモリ１５０３及びプロセッサ１５０１も、機器アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、さらにネットワークによってネットワークインターフェース装置１５０５を経由して送受信されてもよい。
【００６６】
コンピュータ可読記憶媒体１５０９は、以上に説明されたいくつかのソフトウェア機能の一部を永続的に記憶してもよい。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記１つ又は複数の命令セットが記憶される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／又は関連するキャッシュ及びサーバ）を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらに命令セットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記命令セットは、機器により実行されかつ前記機器に本発明の任意の１種又は複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
【００６７】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、構成要素及び他の特徴は、ディスクリートハードウェアコンポーネントとして実現されてもよく、又はハードウェアコンポーネント（例えばＡＳＩＣｓ、ＦＰＧＡ、ＤＳＰ又は類似装置）の機能に統合されてもよい。さらに、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置及びソフトウェアコンポーネントの任意の組合せで実現されてもよい。
【００６８】
なお、システム１５００は、データ処理システムの各種の構成要素を有するように示されているが、構成要素に相互接続させる任意の具体的な構造又は方式を限定するものではないことに注意すべき、それは、このような詳細が本発明の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び／又は他のデータ処理システムは、本発明の実施形態と共に使用されてもよい。
【００６９】
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した動作列（ｓｅｑｕｅｎｃｅ  ｏｆ  ｏｐｅｒａｔｉｏｎｓ）と考えられる。これらの動作とは、物理量に対して物理的動作を行う必要となるステップを指す。
【００７０】
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語（例えば、添付している特許請求の範囲に説明された用語）による説明とは、コンピュータシステム又は類似の電子計算装置の動作及び処理であり、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリに物理（例えば、電子）量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報メモリ、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
【００７１】
本発明の実施形態は、さらに本明細書における動作を実行するためのコンピュータプログラムに関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に記憶される。機器可読媒体は、機器（例えば、コンピュータ）可読な形態で情報を記憶する任意の機構を備える。例えば、機器可読（例えば、コンピュータ可読）媒体は、機器（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ）を備える。
【００７２】
上記図面に示される手順又は方法は、ハードウェア（例えば、回路、専用ロジック等）、ソフトウェア（例えば、非一時的コンピュータ可読媒体に具現化される）、又は両方の組合せを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
【００７３】
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本発明の実施形態の教示を実現できることを理解すべきである。
【００７４】
以上の明細書では、本発明の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本発明のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。
【図１】
2018083612.tif 000003
【図２】
2018083612.tif 000004
【図３】
2018083612.tif 000005
【図４】
2018083612.tif 000006
【図５】
2018083612.tif 000007
【図６】
2018083612.tif 000008
【図７】
2018083612.tif 000009
【図８】
2018083612.tif 000010
【図９】
2018083612.tif 000011
【外国語明細書】
2018083612.tif 000012
2018083612.tif 000013
2018083612.tif 000014
2018083612.tif 000015
2018083612.tif 000016
2018083612.tif 000017
2018083612.tif 000018
2018083612.tif 000019
2018083612.tif 000020
2018083612.tif 000021
2018083612.tif 000022
2018083612.tif 000023
2018083612.tif 000024
2018083612.tif 000025
2018083612.tif 000026
2018083612.tif 000027
2018083612.tif 000028
2018083612.tif 000029
2018083612.tif 000030
2018083612.tif 000031
2018083612.tif 000032
2018083612.tif 000033
2018083612.tif 000034
2018083612.tif 000035
2018083612.tif 000036
2018083612.tif 000037
2018083612.tif 000038
2018083612.tif 000039
2018083612.tif 000040
2018083612.tif 000041
2018083612.tif 000042
2018083612.tif 000043
2018083612.tif 000044
2018083612.tif 000045
2018083612.tif 000046
2018083612.tif 000047
2018083612.tif 000048
【図１】
2018083612.tif 000049
【図２】
2018083612.tif 000050
【図３】
2018083612.tif 000051
【図４】
2018083612.tif 000052
【図５】
2018083612.tif 000053
【図６】
2018083612.tif 000054
【図７】
2018083612.tif 000055
【図８】
2018083612.tif 000056
【図９】
2018083612.tif 000057