(57)【要約】車線逸脱検出システムは、ＡＤＶが車線にわたって配置された減速バンプのような減速縁石に接触したときにキャプチャされたセンサデータに基づいて、ＡＤＶが走行中の車線からＡＤＶが逸脱していることを検出する。ＡＤＶが減速縁石と接触したときに、車線逸脱検出システムは、ＡＤＶの移動方向と減速縁石の長さ方向との間の角度を検出し算出する。角度に基づいて、システムは、ＡＤＶの移動方向が車線の車線方向と比較してどのように外れているかを算出する。車線方向は、通常、減速縁石の長さ方向に基本的に垂直する。ＡＤＶの移動方向を校正するためには、該角度に基づいて速度制御コマンド及び／又はステアリング制御コマンドのような制御コマンドが生成される。【選択図】図７
2019519413.tif 000002
【特許請求の範囲】
【請求項１】
自律走行車を動作させるためのコンピュータ実現方法であって、
自律走行車（ＡＤＶ）の第１の車輪が、前記ＡＤＶの走行している車線上に配置された    減速縁石に接触する第１の時点を検出するステップと、
前記ＡＤＶの第２の車輪が前記減速縁石に接触する第２の時点を検出するステップと、
前記ＡＤＶの現在速度を考慮して、前記第１の時点と前記第２の時点との差に基づいて、前記第１の車輪及び前記第２の車輪に連結された車軸と前記車線の車線方向との間の角度を算出するステップと、
前記車線の前記車線方向に応じて、前記ＡＤＶが前記車線内に維持されるように、前記角度に基づいて制御コマンドを生成して前記ＡＤＶの移動方向を調整するステップと、を含む、方法。
【請求項２】
請求項１に記載の方法であって、
前記第１の車輪が前記減速縁石に接触することは、前記第１の車輪に関連する第１のセンサにより検出される、方法。
【請求項３】
請求項２に記載の方法であって、
前記第２の車輪が前記減速縁石に接触することは、前記第２の車輪に関連する第２のセンサにより検出される、方法。
【請求項４】
請求項３に記載の方法であって、
前記第１のセンサ及び前記第２のセンサは、前記第１の車輪及び前記第２の車輪の付近に配置されたタイヤ圧力センサ又は動きセンサである、方法。
【請求項５】
請求項１に記載の方法であって、
前記第１の車輪及び前記第２の車輪に連結された車軸と前記車線の車線方向との間の角度を算出するステップは、
前記ＡＤＶの前記現在速度に基づいて、前記ＡＤＶが前記第１の時点から前記第２の時点まで前記車線方向に沿って移動する第１の距離を算出するステップと、
前記第１の車輪と前記第２の車輪との間の第２の距離を決定し、前記第１の距離と前記第２の距離とに基づいて前記角度を算出するステップと、を含む、方法。
【請求項６】
請求項５に記載の方法であって、
前記角度は、前記第１の距離と前記第２の距離との間の接線関係に基づいて算出される、方法。
【請求項７】
請求項１に記載の方法であって、
前記角度は、前記ＡＤＶの前記移動方向と前記車線方向との間の差を示す、方法。
【請求項８】
非一時的機械可読媒体であって、
コマンドを記憶し、
前記コマンドがプロセッサによって実行されるとき、前記プロセッサに動作を実行させ、
前記動作は、
自律走行車（ＡＤＶ）の第１の車輪が、前記ＡＤＶの走行している車線上に配置された減速縁石に接触する第１の時点を検出することと、
前記ＡＤＶの第２の車輪が前記減速縁石に接触する第２の時点を検出することと、
前記ＡＤＶの現在速度を考慮して、前記第１の時点と前記第２の時点との差に基づいて、前記第１の車輪及び前記第２の車輪に連結された車軸と前記車線の車線方向との間の角度を算出することと、
前記車線の前記車線方向に応じて、前記ＡＤＶが前記車線内に維持されるように、前記角度に基づいて制御コマンドを生成して前記ＡＤＶの移動方向を調整することとを含む、機械可読媒体。
【請求項９】
請求項８に記載の機械可読媒体であって、
前記第１の車輪が前記減速縁石に接触することは、前記第１の車輪に関連する第１のセンサにより検出される、機械可読媒体。
【請求項１０】
請求項９に記載の機械可読媒体であって、
前記第２の車輪が前記減速縁石に接触することは、前記第２の車輪に関連する第２のセンサにより検出される、機械可読媒体。
【請求項１１】
請求項１０に記載の機械可読媒体であって、
前記第１のセンサ及び前記第２のセンサは、前記第１の車輪及び前記第２の車輪の付近に配置されたタイヤ圧力センサ又は動きセンサである、機械可読媒体。
【請求項１２】
請求項８に記載の機械可読媒体であって、
前記第１の車輪及び前記第２の車輪に連結された車軸と前記車線の車線方向との間の角度を算出することは、
前記ＡＤＶの前記現在速度に基づいて、前記ＡＤＶが前記第１の時点から前記第２の時点まで前記車線方向に沿って移動する第１の距離を算出することと、
前記第１の車輪と前記第２の車輪との間の第２の距離を決定し、前記第１の距離と前記第２の距離とに基づいて前記角度を算出することとを含む、機械可読媒体。
【請求項１３】
請求項１２に記載の機械可読媒体であって、
前記角度は、前記第１の距離と前記第２の距離との間の接線関係に基づいて算出される、機械可読媒体。
【請求項１４】
請求項８に記載の機械可読媒体であって、
前記角度は、前記ＡＤＶの前記移動方向と前記車線方向との間の差を示す、機械可読媒体。
【請求項１５】
データ処理システムであって、
プロセッサと、
前記プロセッサに連接されてコマンドを記憶するメモリとを含み、
前記コマンドは、前記プロセッサによって実行されるとき、前記プロセッサに動作を実行させ、
前記動作は、
自律走行車（ＡＤＶ）の第１の車輪が、前記ＡＤＶの走行している車線上に配置された減速縁石に接触する第１の時点を検出することと、
前記ＡＤＶの第２の車輪が前記減速縁石に接触する第２の時点を検出することと、
前記ＡＤＶの現在速度を考慮して、前記第１の時点と前記第２の時点との差に基づいて、前記第１の車輪及び前記第２の車輪に連結された車軸と前記車線の車線方向との間の角度を算出することと、
前記車線の前記車線方向に応じて前記ＡＤＶが前記車線内に維持されるように、前記角度に基づいて制御コマンドを生成して前記ＡＤＶの移動方向を調整することとを含む、データ処理システム。
【請求項１６】
請求項１５に記載のデータ処理システムであって、
前記第１の車輪が前記減速縁石に接触することは、前記第１の車輪に関連する第１のセンサにより検出される、データ処理システム。
【請求項１７】
請求項１６に記載のデータ処理システムであって、
前記第２の車輪が前記減速縁石に接触することは、前記第２の車輪に関連する第２のセンサにより検出される、データ処理システム。
【請求項１８】
請求項１７に記載のデータ処理システムであって、
前記第１のセンサ及び前記第２のセンサは、前記第１の車輪及び前記第２の車輪の付近に配置されたタイヤ圧力センサ又は動きセンサである、データ処理システム。
【請求項１９】
請求項１５に記載のデータ処理システムであって、
前記第１の車輪及び前記第２の車輪に連結された車軸と前記車線の車線方向との間の角度を算出することは、
前記ＡＤＶの前記現在速度に基づいて、前記ＡＤＶが前記第１の時点から前記第２の時点まで前記車線方向に沿って移動する第１の距離を算出することと、
前記第１の車輪と前記第２の車輪との間の第２の距離を決定し、前記第１の距離と前記第２の距離とに基づいて前記角度を算出することとを含む、データ処理システム。
【請求項２０】
請求項１９に記載のデータ処理システムであって、
前記角度は、前記第１の距離と前記第２の距離との間の接線関係に基づいて算出される、データ処理システム。
【請求項２１】
請求項１５に記載のデータ処理システムであって、
前記角度は、前記ＡＤＶの前記移動方向と前記車線方向との間の差を示す、データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般的に自律走行車（ＡＤＶ：ａｕｔｏｎｏｍｏｕｓ  ｄｒｉｖｉｎｇ  ｖｅｈｉｃｌｅ）を動作させることに関する。より具体的には、本発明の実施形態は、減速縁石感知に基づく車線逸脱検出に関する。
【背景技術】
【０００２】
自律走行モード（例えば、運転者（ｈｕｍａｎ  ｄｒｉｖｅｒｓ）なしに）で動作している車両において、搭乗者、特に運転者は、運転に関連する担当事項の一部を軽減することができる。自律走行モードで動作する際、車両はオンボードセンサを用いて様々な位置へナビゲートすることができ、その結果、最小限のヒューマンコンピュータインタラクションで、又は、一部の場合、乗客なしに車両の移動が可能となる。
【０００３】
運行（モーション）の計画及び制御は、自律走行において重要な動作である。自律走行車は、その移動する車線内に走行を維持することが重要である。しかし、自律走行の感知や計画が不正確であれば、ＡＤＶが、車線（ｌａｎｅ）を正しく従わないことを検出できない可能性がある。特に車線が十分に対比されるように塗色されていない場合には、そのようなシナリオを検出することは困難である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、自律走行車を動作させるためのコンピュータ実現方法、非一時的機械可読媒体、及びデータ処理システムを提供する。
【課題を解決するための手段】
【０００５】
本発明の一実施形態によれば、自律走行車を動作させるためのコンピュータ実現方法は、自律走行車（ＡＤＶ）の第１の車輪がＡＤＶの移動している車線に配置された減速縁石に接触する第１の時点を検出するステップと、前記ＡＤＶの第２の車輪が前記減速縁石に接触する第２の時点を検出するステップと、前記ＡＤＶの現在速度を考慮して、前記第１の時点と前記第２の時点との差に基づいて前記第１の車輪及び前記第２の車輪に連結された車軸と車線方向との間の角度を算出するステップと、前記車線の車線方向に応じて前記ＡＤＶが前記車線内に維持されるように、前記角度に基づいて制御コマンドを生成して前記ＡＤＶの移動方向を調整するステップとを含む。
【０００６】
本発明の別の実施形態においては、非一時的機械可読媒体は、プロセッサによって実行されるとき、プロセッサに動作を実行させるコマンドを記憶し、前記動作は、自律走行車（ＡＤＶ）の第１の車輪が前記走行車両の走行している車線に配置された減速縁石と接触する第１の時点を検出することと、前記ＡＤＶの第２の車輪が前記減速縁石に接触する第２の時点を検出することと、前記ＡＤＶの現在速度を考慮して、前記第１の時点と前記第２の時点との差に基づいて前記第１の車輪及び前記第２の車輪に連結された車軸と車線方向との間の角度を算出することと、前記車線の車線方向に応じて前記ＡＤＶが前記車に維持されるように、前記角度に基づいて制御コマンドを生成して前記ＡＤＶの移動方向を調整することを含む。
【０００７】
本発明の別の実施形態においては、データ処理システムは、プロセッサと、前記プロセッサに連接されてコマンドを記憶するためのメモリとを含み、前記コマンドは、前記プロセッサによって実行されるとき、前記プロセッサに動作を実行させ、前記動作は、自律走行車（ＡＤＶ）の第１の車輪が前記ＡＤＶの移動している車線に配置された減速縁石に接触する第１の時点を検出することと、前記ＡＤＶの第２の車輪が前記減速縁石に接触する第２の時点を検出することと、前記ＡＤＶの現在速度を考慮して前記第１の時点と前記第２の時点との差に基づいて前記車線の車線方向と、前記第１の車輪及び前記第２の車輪に連結された車軸との間の角度を算出することと、前記ＡＤＶが前記車線の前記車線方向に維持されるように、前記角度に応じて制御コマンドを生成して前記ＡＤＶの移動方向を調整することとを含む。
【図面の簡単な説明】
【０００８】
本発明の実施形態は、同一の符号（参照番号）が同一の要素を示す添付図面において例示として説明されるが、これに限定されない。
【図１】本発明の一実施形態に係るネットワークシステムを示すブロック図である。
【図２】本発明の一実施形態に係る自律走行車の一例を示すブロック図である。
【図３】本発明の一実施形態に係る自律走行車とともに使用される感知及び計画システムの一例を示すブロック図である。
【図４】本発明の一実施形態に係る自律走行車の車線逸脱を検出し、校正する処理の流れを示す処理フローチャートである。
【図５】車両が減速縁石に接触するときの典型的なシナリオを示す図である。
【図６】図６Ａ及び図６Ｂは、本発明の特定の実施形態に係る移動方向と車線方向との間の差を決定するための図である。
【図７】本発明の一実施形態に係る自律走行車を動作させるプロセスを示すフローチャートである。
【図８】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、検討した詳細を参照して本発明の様々な実施形態及び態様を説明し、添付の図面は、前記様々な実施形態を示す。以下の説明及び図面は、本発明の例示であり、本発明を限定するものとして解釈されるべきではない。本発明の様々な実施形態の完全な理解を提供するために、多くの詳細が記載されている。しかしながら、場合によって、本発明の実施形態の説明の簡潔さから、周知又は従来の詳細は記載されていない。
【００１０】
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に説明した特定の特徴、構造、又は特性を本発明の少なくとも１つの実施形態に含めることができることを意味する。本明細書にわたって記載の「一実施形態では／一実施形態において」という語句は、必ずしもすべて同じ実施形態を指すとは限らない。
【００１１】
一部の実施形態によれば、車線逸脱検出システムは、ＡＤＶが減速縁石に接触したとき（例えば、車線に配置された減速バンプを通り越すとき）にキャプチャされたセンサデータに基づいて、ＡＤＶの走行中の車線からＡＤＶが逸脱していることを検出するように構成されている。ＡＤＶが減速縁石と接触したときに、車線逸脱検出システムは、ＡＤＶの移動方向と、減速縁石の長さ方向又は車線の車線方向との間の角度を検出して算出する。角度に基づいて、システムは、ＡＤＶの移動方向が車線の車線方向と比較してどのように外れているかを計算する。車線方向は、通常、減速縁石の長さ方向に基本的に垂直する。ＡＤＶの移動方向を校正するためには、該角度に基づいて速度制御コマンド及び／又はステアリング制御コマンドのような制御コマンドが生成される。
【００１２】
一実施形態によれば、第１の時点において、ＡＤＶの第１の車輪（例えば、左側前輪又は左側後輪）がＡＤＶが移動している車線に配置された減速縁石に接触することが検出される。第２の時点において、ＡＤＶの第２の車輪（例えば、右側前輪又は左後輪）が減速縁石に接触することが感知される。第１の車輪と減速縁石の間の接触は、タイヤ圧力センサ又は動きセンサなど、第１の車輪に関連するセンサを使用して検出される。第２の車輪と減速縁石の間の接触は、タイヤ圧力センサ又は動きセンサなど、第２の車輪に関連するセンサを使用して検出される。
【００１３】
ＡＤＶの第１の車輪と第２の車輪に連結された車軸と車線の車線方向との間の角度が算出される。角度はＡＤＶの現在速度を考慮して、第１の時点と第２時点との間の差に基づいて算出される。角度を算出することにおいて、ＡＤＶが第１の時点から第２時点に移動する車線方向を沿う第１の距離は、ＡＤＶの現在速度に基づいて算出される。車軸上でＡＤＶの第１の車輪と第２の車輪との間の第２の距離が決定される。その後、角度は、第１の距離と第２の距離に基づいて、例えば、第１の距離と第２の距離との間の接線関係（ｔａｎｇｅｎｔ  ｒｅｌａｔｉｏｎｓｈｉｐ）に基づいて算出される。この角度に基づいて制御コマンド（例えば、速度制御コマンド、ステアリング制御コマンド）が生成され、車線の車線方向に沿ってＡＤＶが車線内に維持されるようにＡＤＶの移動方向を調整する。
【００１４】
図１は本発明に係る一実施形態に係る自律走行車のネットワーク配置を示すブロック図である。図１を参照して、ネットワーク配置１００はネットワーク１０２によって１つ以上のサーバ１０３〜１０４に通信可能に接続することができる自律走行車１０１を含む。１つの自律走行車を示すが、ネットワーク１０２によって複数の自律走行車は互いに接続され、及び／又はサーバ１０３〜１０４に接続されることができる。ネットワーク１０２は、任意のタイプのネットワーク、例えば有線又は無線のローカルエリアネットワーク（ＬＡＮ）、例えばインターネットのようなの広域ネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク又はその組み合わせであってもよい。サーバ１０３〜１０４は任意のタイプのサーバ又はサーバクラスタ、例えばＷｅｂサーバ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はその組み合わせであってもよい。サーバ１０３〜１０４は、データ分析サーバ、内容サーバ、交通情報サーバ、地図（マップ）及び興味のあるポイント（ＭＰＯＩ）サーバ又は位置サーバ等であってもよい。
【００１５】
自律走行車とは、運転者からの入力が非常に少ない又はない場合に案内して環境を通過する自律走行モードに設置される車両である。自律走行車は、車両が走行している環境にかかる情報を検出するように配置される１つ又は複数のセンサを含むセンサシステムを備える。車両及びその関連しているコントローラが、検出された情報で案内して環境を通過する。自律走行車１０１が手動モード、完全自律モード又は部分自律モードで運行される。
【００１６】
一実施形態において、自律走行車１０１は、感知及び計画システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザインターフェースシステム１１３と、インフォテイメントシステム１１４と、センサシステム１１５とを含むが、これらに制限されない。自律走行車１０１は、通常の車両に含まれるある一般的な構成要素（部材）、例えばエンジン、車輪、ハンドル、変速器等をさらに含んでもよく、前記構成要素は、車両制御システム１１１及び／又は感知及び計画システム１１０により多種の通信信号及び／又はコマンド（例えば加速信号又はコマンド、減速信号又はコマンド、ステアリング信号又はコマンド、ブレーキ信号又はコマンド等）を使用して制御されることができる。
【００１７】
構成要素１１０〜１１５は、相互接続部材、バス、ネットワーク又はそれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素１１０〜１１５は、コントローラローカルエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続することができる。ＣＡＮバスは、マイクロコントローラ及び装置がホストコンピューターのない応用において互いに通信することを許可するような車両バス標準として設計される。それは、最初に自動車内における複数の電線のために設計されたメッセージに基づくプロトコルであるが、他のたくさんの環境（状況）にも用いられる。
【００１８】
図２に示すように、一実施形態において、センサシステム１１５は、１つ以上のカメラ２１１と、全地球測位システム（ＧＰＳ）ユニット２１２と、慣性計測ユニット（ＩＭＵ）２１３と、レーダーユニット２１４と、光検出及び測距（ＬＩＤＡＲ）ユニット２１５とを含むが、これらに制限されない。ＧＰＳシステム２１２は、送受信機を含んでもよく、前記送受信機は、自律走行車の位置に関する情報を提供するように操作されることができる。ＩＭＵユニット２１３は、慣性加速度に基づいて自律走行車の位置及び方向変化を感知することができる。レーダーユニット２１４は、無線信号を利用して自律走行車のローカル環境内の対象を感知するシステムを示すことができる。いくつかの実施形態において、対象を感知する以外、レーダーユニット２１４は、さらに対象の速度及び／又は走行方向を感知することができる。ＬＩＤＡＲユニット２１５はレーザを使用して自律走行車の所在する環境における対象を感知することができる。その他のシステム構成要素以外、ＬＩＤＡＲユニット２１５は１つ以上のレーザ光源、レーザースキャナ及び１つ以上の検出器をさらに含んでもよい。カメラ２１１は、自律走行車の周辺環境の画像をキャプチャするための１つ以上の装置を含んでもよい。カメラ２１１は、スチルカメラ及び／又はビデオカメラであってもよい。カメラは、例えば回転及び／又は傾斜のプラットフォームに取り付けられる、機械的に移動可能なものであってもよい。
【００１９】
センサシステム１１５は、その他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ（例えばマイクロフォン）をさらに含んでもよい。オーディオセンサは、自律走行車周辺の環境から音をキャプチャするように配置されてもよい。ステアリングセンサは、ハンドル、車両の車輪又はその組み合わせのステアリング角を感知するように配置されることができる。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を感知する。いくつかの場合、スロットルセンサ及びブレーキセンサは、集積型スロットル／ブレーキセンサに一体化されてもよい。
【００２０】
一実施形態においては、センサシステム１１５は、１つ以上のタイヤ圧力センサ２１６及び／又は複数の動きセンサ２１７をさらに含む。タイヤ圧力センサ２１６のそれぞれは、車両の車輪のいずれかのタイヤの圧力を検出及び測定するように構成されている。車輪のタイヤの圧力の急激な変化は、車輪が減速縁石と接触するとき、車輪に加えられた衝撃を比例して示す。動きセンサ２１７のそれぞれは、車輪又はＡＤＶによって発生された動き量を検出し測定するように構成されている。検出された突然の動きの量、ＡＤＶが減速縁石に接触するか否かを決定するのに使用することができる。一実施形態においては、動きセンサは、それぞれの車輪又は各車輪に関連するサスペンション継手の付近に位置することができる。タイヤ圧力データと動きセンサデータとは連結されて、当該車輪が減速縁石に接触したか否かを決定することができる。
【００２１】
一実施形態において、車両制御システム１１１は、ステアリングユニット２０１と、スロットルユニット２０２（加速ユニットとも呼ばれる）と、ブレーキユニット２０３とを含むが、これらに制限されない。ステアリングユニット２０１は、車両の方向又は走行方向を調整することに用いられる。スロットルユニット２０２は、モーター又はエンジンの速度を制御して、さらに車両の速度及び加速度を制御することに用いられる。ブレーキユニット２０３は、摩擦を提供することによって車両の車輪又はタイヤをスローダウンして車両を減速させることに用いられる。注意すべきなのは、図２に示すような構成要素はハードウェア、ソフトウェア又はその組み合わせで実現されることができる。
【００２２】
図１を再び参照すると、無線通信システム１１２は、自律走行車１０１と、例えば装置、センサ、その他の車両等の外部システムとの間に通信することを可能にさせる。例えば、無線通信システム１１２は、１つ以上の装置に直接に又は通信ネットワークを介して無線通信し、例えばネットワーク１０２によってサーバ１０３〜１０４に通信できる。無線通信システム１１２は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）（例えばＷｉＦｉ）を使用して他の構成要素やシステムに通信できる。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース等を使用して装置（例えば、乗客の移動装置、表示装置、車両１０１内のスピーカー）に直接に通信できる。ユーザインターフェースシステム１１３は、車両１０１内で実行される周辺装置の一部であってもよく、例えばキーボード、タッチスクリーンディスプレイ装置、マイクロフォン、及びスピーカー等を含む。
【００２３】
自律走行車１０１の一部又は全ての機能は、特に自律走行モードで操作する場合、感知及び計画システム１１０により制御されたり管理されたりすることができる。感知及び計画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、記憶装置）、及びソフトウェア（例えば、オペレーティングシステム、計画及びルーティングプログラム）を含み、センサシステム１１５、車両制御システム１１１、無線通信システム１１２、及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、出発地から目的地までの経路や経路を計画し、そして計画及び制御情報に基づいて車両１０１を運行させる。あるいは、感知及び計画システム１１０と車両制御システム１１１とは一体化されてもよい。
【００２４】
例えば、乗客とするユーザは、例えばユーザインターフェースによって旅程の出発位置及び目的位置を指定することができる。感知及び計画システム１１０は旅程関連データを取得する。例えば、感知及び計画システム１１０は、ＭＰＯＩサーバから位置及び経路情報を取得することができ、前記ＭＰＯＩサーバはサーバ１０３〜１０４の一部であってもよい。位置サーバは、位置サービスを提供し、かつＭＰＯＩサーバは地図サービス及びある位置のＰＯＩを提供する。あるいは、このような位置及びＭＰＯＩ情報は、感知及び計画システム１１０の永続記憶装置にローカルでキャッシュされることができる。
【００２５】
自律走行車１０１が経路に沿って走行する期間に、感知及び計画システム１１０は、さらに交通情報システムやサーバ（ＴＩＳ）からリアルタイム交通情報を取得できる。注意すべきなのは、サーバ１０３〜１０４は、第三者エンティティにより動作されることができる。あるいは、サーバ１０３〜１０４の機能は、感知及び計画システム１１０と一体化されてもよい。リアルタイム交通情報、ＭＰＯＩ情報、位置情報、及びセンサシステム１１５が検出又は感知したリアルタイムなローカル環境データ（例えば、障害物、対象、付近車両）に基づいて、感知及び計画システム１１０は、安全で効果的に指定した目的地に到達するように、最適な経路を計画し、かつ計画した経路により例えば車両制御システム１１１を介して車両１０１を運行することができる。
【００２６】
サーバ１０３は、様々のクライアントにデータ分析サービスを提供するデータ分析システムであっても良い。１つの実施形態において、データ分析システム１０３は、データコレクタ１２１と、機械学習エンジン１２２とを含む。データコレクタ１２１は、様々の車両（自律走行車又は運転者（ｈｕｍａｎ  ｄｒｉｖｅｒｓ）による一般車両）からの走行統計１２３を収集する。走行統計１２３は、異なる時点での発行された走行指示情報（例えば、スロットル、ブレーキ及びステアリングコマンド）及び車両のセンサで取得された車両のレスポンス（例えば、速度、加速度、減速度、方向）を含む。走行統計１２３は、異なる時点での走行環境の情報、例えば、経路（出発地及び目的地の位置を含む）、ＭＰＯＩ、道路条件、天気条件等を更に含む。
【００２７】
走行統計１２３に基づいて、機械学習エンジン１２２は、様々な目的のために、ルール、アルゴリズム及び／又は予測モデルのセット１２４を実行したり、訓練させる。一実施形態においては、アルゴリズム１２４は、ＡＤＶの移動方向と、ＡＤＶが移動している車線の車線方向との間の角度を算出するためのアルゴリズムを含む。角度はＡＤＶの物理的な次元（例えば、２つの前輪又は後輪の間の距離は、１つの前輪と１つの後輪との間の距離）を考慮して算出できる。そのような角度は、ＡＤＶが車線を逸脱したか否かを決定するために使用され、そのような車線逸脱を校正するために、適切な制御措置が取られる。その後、アルゴリズム１２４は、潜在的な車線逸脱を検出するために、リアルタイムで利用されるようにＡＤＶ上にアップロードされる。
【００２８】
図３は、本発明の一実施形態に係る自律走行車とともに使用される感知及び計画システムの一例を示すブロック図である。システム３００は、図１の自律走行車１０１の一部として実装することができ、感知及び計画システム１１０、制御システム１１１と、センサシステム１１５を含むが、これに限定されない。図３に示すように、感知及び計画システム１１０は、位置決め（ｌｏｃａｌｉｚａｔｉｏｎ）モジュール３０１、感知モジュール３０２、決定モジュール３０３、計画モジュール３０４、制御モジュール３０５及び車線逸脱検出器又はモジュール（モニタ）３０６を含むが、これに限定されない。
【００２９】
モジュール３０１〜３０６の一部又は全部は、ソフトウェア、ハードウェア、又はそれらの組み合わせによって実現されてもよい。例えば、これらのモジュールが不揮発性の記憶装置３５２にインストールされ、メモリ３５１にロードされて１つ又は複数のプロセッサ（図示せず）によって実行されてもよい。一部又はすべてのモジュールは、図２に示す車両制御システム１１１における一部又はすべてのモジュールに通信可能に連結されたり、統合されたりしてもよい。また、モジュール３０１〜３０６の一部、１つの集積モジュールとして一体化されてもよい。
【００３０】
位置決めモジュール３０１は、（例えば、ＧＰＳユニット２１２を利用して）自律走行車３００の現在の位置を決定し、ユーザの行程や経路に関連する任意のデータを管理する。位置決めモジュール３０１（地図及び経路モジュールとも呼ばれる）は、ユーザの行程や経路に関連する任意のデータを管理する。ユーザは、例えば、ユーザインタフェースを介してログインして行程の出発位置と目的地を指定することができる。位置決めモジュール３０１は、地図及び経路情報３１１のような自律走行車３００の他の構成要素と通信して行程関連データを取得する。例えば、位置決めモジュール３０１は、位置サーバ、及び地図とＰＯＩ（ＭＰＯＩ）サーバから位置と経路情報を獲得することができる。位置サーバは、位置情報サービスを提供し、ＭＰＯＩサーバは地図サービスと、地図及び経路情報３１１との一部としてキャッシュすることができる特定位置のＰＯＩを提供する。自律走行車３００が経路に沿って移動する間に、位置決め（ｌｏｃａｌｉｚａｔｉｏｎ）モジュール３０１は、交通情報システム、又はサーバからリアルタイムの交通情報も取得することができる。
【００３１】
センサシステム１１５により提供されたセンサデータ、及び位置決めモジュール３０１により得られた位置決め情報に基づいて、感知モジュール３０２は周辺環境に対する感知を決定する。感知情報は、普通の運転者が自分で運転している車両周辺から感知したもの（状況）を示すことができる。感知情報は、例えば対象形式で現される車線配置（例えば、直線又はカーブ）、交通信号、他の車両の相対位置、歩行者、建築物、横断歩道又はその他の交通関連標識（例えば、停止標識、譲り標識）などを含んでもよい。例えば、対象の形により含むことができる。
【００３２】
感知モジュール３０２は、自律走行車の環境で対象及び／又は特徴を識別するために、１つ以上のカメラによってキャプチャされた画像を処理及び分析するためのコンピュータビジョンシステム、又はコンピュータビジョンシステムの機能を含んでもよい。対象は、交通信号、道路境界、他の車両、歩行者、及び／又は障害物などを含んでもよい。コンピュータビジョンシステムは、対象感知アルゴリズム、ビデオ追跡、及び他のコンピュータビジョン技術を使用することができる。一部の実施形態においては、コンピュータビジョンシステムは、環境をマッピングし、対象を追跡し、対象の速度推定などを行うことができる。感知モジュール３０２は、レーダー及び／又はＬＩＤＡＲのような他のセンサによって提供される他のセンサのデータに基づいて対象を検出することもできる。
【００３３】
それぞれの対象について、決定モジュール３０３は、対象をどのように扱うかについての決定をする。例えば、特定の対象（例えば、交差ルートにある他の車）だけでなく、対象を記述するメタデータ（例えば、速度、方向、ステアリング角度）に対して、決定モジュール３０３は、対象をどの式で対処するかを決定する（例えば、追い越し、譲歩、停止、通過）。決定モジュール３０３は、永続記憶装置３５２に記憶できる交通ルール又は走行ルール３１２のようなルールのセットに基づいて、これらの決定を下すことができる。
【００３４】
感知された各対象に対する決定に基づいて、計画モジュール３０４は、自律走行車に対するパス又は経路だけでなく、走行パラメータ（例えば、距離、速度、及び／又は回転角度）を計画する。つまり、与えられた対象については、決定モジュール３０３は、対象の処理を決定し、計画モジュール３０４は、それをどのように実行するかを決定する。例えば、与えられた対象については、決定モジュール３０３は、対象を通過することに決定し、これに対し、計画モジュール３０４は、対象の左側又は右側から通過するかを決定することができる。計画及び制御データは、計画モジュール３０４によって生成され、自律走行車３００が、次の移動のサイクル（例えば、次のパス／経路セグメント）でどのように動くのかを記述する情報を含む。例えば、計画及び制御データは、自律走行車３００が時速３０マイル（ｍｐｈ）の速度で１０ｍ移動し、２５  ｍｐｈの速度で右側車線に変更するよう指示することができる。
【００３５】
計画及び制御データに基づいて、制御モジュール３０５は、計画及び制御データによって定義された経路又はパスに沿って、車両制御システム１１１に適切なコマンド又は信号を送信することにより、自律走行車を制御し走行させる。計画及び制御データには、パス、又は経路上の異なる時点において、適切な車両設定又は走行パラメータ（例えば、スロットル、ブレーキ、及びステアリングコマンド）を使用して、経路又はパスの第１地点から第２地点まで車両を走行させることができる十分な情報が含まれている。
【００３６】
決定モジュール３０３及び計画モジュール３０４は、１つの集積モジュールとして一体化されてもよい。決定モジュール３０３／計画モジュール３０４は、自律走行車の走行経路を決定するためのナビゲーションシステムやナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、一連の速度及び進行方向（ｄｉｒｅｃｔｉｏｎａｌ  ｈｅａｄｉｎｇ）を決定して、大体において最終的な目的地に至る車線経路に沿って自律走行車を進ませる同時に、感知された障害物を実質的に避ける経路に沿って自律走行車を移動することができる。目的地は、ユーザインタフェースシステム１１３を介してユーザ入力に応じて設定されることができる。ナビゲーションシステムは、自律走行車が運行されている間、走行経路を動的に更新することができる。ナビゲーションシステムは、自律走行車のための走行経路を決定するためにＧＰＳシステム、及び１つ又は複数の地図からのデータを統合することができる。
【００３７】
決定モジュール３０３／計画モジュール３０４は、自律走行車の環境での潜在的な障害物を識別、評価、回避したり交渉したりするための衝突回避システム又は衝突回避システムの機能をさらに含むことができる。例えば、衝突回避システムは、緊急回避操作、ステアリング操作、制動操作などを行うために、制御システム１１１の複数のサブシステムを操作して、自律走行車のナビゲーションの変化を実行することができる。衝突回避システムは、周辺の交通パターン、道路状況等に基づいて、実現可能な障害物回避操作を自動的に決定することができる。衝突回避システムは、自律走行車が緊急回避して進入する隣接領域で、車両、建築の障害物などを、他のセンサシステムが検出したときに、緊急回避操作が行われないように構成することができる。衝突回避システムが、使用可能であり、自律走行車両の乗員の安全を最大限にする操作を自動的に選択することができる。衝突回避システムは、自律走行車両の乗客室において最低限の加速を引き起こすと予想される回避操作を選択することができる。
【００３８】
車線逸脱検出器又は車線逸脱検出モジュール３０６は、ＡＤＶが移動している車線から逸脱しているか、ドリフティング（ｄｒｉｆｔｉｎｇ）しているか否かを検出するように構成されている。一実施形態においては、車線逸脱検出器３０６は、図２のタイヤ圧力センサ２１６及び／又は動きセンサ２１７などの１つ以上のセンサに連結されて、ＡＤＶが、例えば減速バンプのような車線にわたって配置された減速縁石に接触することに対する応答として、突然の衝撃や振動を経験するかを検出する。これらの突然の衝撃や振動に応答して、車線逸脱検出器３０６は、その時点でＡＤＶの移動方向と車線の車線方向との間の角度を決定する。この角度は、ＡＤＶの移動方向が車線の車線方向に比べてどのくらい外れているか（例えば、移動方向と車線方向との間の差）を示す。角度に基づいて、計画モジュール３０４及び／又は制御モジュール３０５は、移動方向の校正が必要か否かを決定し、校正が必要な場合は、新しい制御コマンドが生成されＡＤＶに発行され、ＡＤＶの移動方向を校正する。
【００３９】
一実施形態においては、ＡＤＶの移動方向の校正は、移動方向と車線方向との間の差を示す角度が所定のしきい値よりも大きい場合に必要である。所定のしきい値は、様々な車両から一定期間にわたって収集された大量の走行統計に基づいて、オフラインでのデータ分析システム（例えば、データ分析システム１０３）によって決定され、構成される。そのような所定のしきい値は、安全上の理由及び／又は運転者の運転姿勢や好み（例えば、快適）を考慮して決定することができる。
【００４０】
一実施形態によれば、車線逸脱検出器３０６は、動き検出器又は検出モジュール３２１と角度計算器３２２を含む。車線逸脱検出器３０６は、ＡＤＶが車線にわたって配置された減速バンプのような減速縁石に接触したときにキャプチャされたセンサデータに基づいて、ＡＤＶの走行中の車線からＡＤＶが逸脱していることを検出するように構成されている。ＡＤＶが減速縁石と接触したときに、車線逸脱検出器３０６の動き検出器３２１は、タイヤ圧力センサ及び／又は動きセンサを介して、このような急激な動き（例えば、衝撃、振動）を検出する。角度計算器３２２は、ＡＤＶの移動方向と減速縁石の長手方向の間の角度を算出する。角度に基づいて、車線逸脱検出器３０６は、車線の車線方向に比べてＡＤＶの移動方向がどの程度外れているかを算出する。車線方向は、典型的に減速縁石の長さ方向に基本的に垂直する。速度制御コマンド及び／又はステアリング制御コマンドのような制御コマンドは、ＡＤＶの移動方向を校正するための角度に基づいて計画モジュール３０４及び／又は制御モジュール３０５によって生成される。
【００４１】
図４は、本発明の一実施形態に係る自律走行車の車線逸脱を検出し、校正する処理の流れを示す処理フローチャートである。図３及び図４に示すように、前述したように、感知モジュール３０３から受信された感知データに基づいて、計画モジュール３０４は、ルートを計画し、目標位置、及び目標位置に達する時間などを特定する。計画モジュール３０４によって提供される計画及び制御データに基づいて、制御モジュール３０５は、必要な制御コマンド（例えば、速度制御コマンド、ステアリング制御コマンド）を決定し、車両プラットフォーム４０５に制御コマンドを発行する。
【００４２】
車線逸脱検出器４１０は、ＡＤＶが減速縁石（例えば、減速バンプ）に接触したか否かと、これらの接触の時点とを検出するためには、タイヤ圧力センサ２１６及び／又は動きセンサ２１７のような車線プラットフォーム４０５と連結される。ＡＤＶの１つの車輪による接触時点に基づいて、ＡＤＶの移動方向と車線の車線方向との間の差を示す角度が算出される。ＡＤＶの移動方向と車線の車線方向との間の差についての車線逸脱情報は、計画モジュール３０４及び／又は制御モジュール３０５にフィードバックされる。計画モジュール３０４及び／又は制御モジュール３０５は、車線逸脱検出器４１０によって提供される車線逸脱情報に基づいて校正動作が必要か否かを決定することができる。校正動作が必要であると判断されると、制御コマンドが生成され、車両プラットフォーム４０５に発行され、ＡＤＶの移動方向を校正する。
【００４３】
本発明の一実施形態によれば、動き検出器３２１は、ＡＤＶの第１の車輪がＡＤＶの移動している車線をわたって配置された減速縁石に接触する第１の時点を検出する。動き検出器３２１は、ＡＤＶの第２の車輪が減速縁石に接触する第２の時点を検出する。第１の車輪と減速縁石の間の接触は、タイヤ圧力センサ又は動きセンサのような第１の車輪に関連するセンサを使用して検出される。第２の車輪と減速縁石の間の接触は、タイヤ圧力センサ又は動きセンサのような第２の車輪に関連するセンサを使用して検出される。一実施形態においては、第１の車輪と第２の車輪は、一対の前輪又は一対の後輪の同一の車軸に連結される。
【００４４】
角度計算器３２２は、ＡＤＶの第１の車輪と第２の車輪に連結された車軸と車線の車線方向との間の角度を算出する。車軸の長手方向は、通常、大体においてＡＤＶの移動方向に垂直する。角度はＡＤＶの現在速度を考慮して、第１の時点と第２時点との間の差に基づいて算出される。角度を算出することにおいて、角度計算器３２２は、ＡＤＶの現在速度に基づいて、ＡＤＶが第１の時点から第２時点に移動する車線方向に沿う第１の距離を算出する。角度計算器３２２は、ＡＤＶの第１の車輪と第２の車輪との間の第２の距離（例えば、車軸又は軸距（ｗｈｅｅｌｂａｓｅ）の長さ）を算出する。その後、角度計算器３２２は、例えば、第１の距離と第２の距離との間の接線関係に基づいて、第１の距離と第２の距離とに基づいて角度を算出する。この角度に基づいて制御コマンド（例えば、速度制御コマンド、ステアリング制御コマンド）が生成され、車線の車線方向に沿ってＡＤＶが車線内に維持されるようにＡＤＶの移動方向を調整する。
【００４５】
図５は、車両が減速縁石に接触するときの典型的なシナリオを示す図である。図５に示すように、ＡＤＶ５０１の車輪に（例えば、一対の前輪又は後輪）が車線５００の減速縁石５０２と接触したときに、突然の動きは動きセンサ及び／又はタイヤ圧力センサを用いて検出される。また、ＡＤＶ５０２の車輪と減速縁石５０２との間の接触時点が記録される。接触時点に基づいて、車線５００の車線方向５０３とＡＤＶ５０１の移動方向５０４との間の角度５０５が算出される。角度５０５は、車線方向５０３と移動方向５０４との間の差を示す。角度５０５が所定のしきい値よりも大きい場合には、移動方向５０４を校正するために、適切な動作が実行される。
【００４６】
一実施形態においては、校正が行われるか否かは、走行環境又はその時点での走行環境に応じて異なる場合がある。例えば、車線５００がより狭く、且つ交通量の多い車線である場合、車線逸脱のエラーマージンが低いので、校正動作をトリガするための角度５０５のしきい値は、より低いことができる。同様に、より高いエラー率（ｅｒｒｏｒ  ｍａｒｇｉｎ）のために、交通量が多く、あるいはより広い車線に対しては、より高いしきい値を使用することができる。また、双方向車線に対しては、より低いしきい値を適用し、一方向車線に対しては、より高いしきい値を適用することができる。しきい値を決定するルールは、過去の走行統計に基づいて、データの分析システム（例えば、データ分析システム１０３）によってオフラインで決定することができる。
【００４７】
図６Ａは、本発明の一実施形態に沿って移動方向と車線方向との間の差を決定するための図である。図６Ａに示すように、ＡＤＶの第１の車輪は、この例では、左前輪６０１が減速縁石６１０と接触したときに、これらの突然の動きは、例えば、タイヤ圧力センサ及び／又は動きセンサによって検出される。第１の車輪の接触時間（Ｔ１と呼ばれる）が記録される。同様に、ＡＤＶの第２の車輪（例えば、右側前輪６０２）が減速縁石６１０と接触したときに、第２の車輪の接触時間（Ｔ２と呼ばれる）が記録される。接触時間Ｔ１とＴ２との間の差に基づいて、接触時間Ｔ１とＴ２との間の移動方向５０４に沿った移動距離６０３（Ｓと呼ばれる）がＡＤＶの現在速度Ｖを考慮して算出することができる。
Ｓ  ＝  Ｖ  ＊  ｜Ｔ２−Ｔ１｜
【００４８】
一実施形態においては、距離Ｓ、及び車輪６０１と車輪６０２とを連結する車軸の長さ６０４（例えば、車輪６０１と車輪６０２との間の距離で、長さや距離Ｒと呼ばれる）に基づいて、車線５００の車線方向５０３とＡＤＶの移動方向５０４との間の角度５０５（θとも呼ばれる）は、次のようにそれらの接線関係に基づいて算出できる。
ｔａｎ（θ）＝Ｓ／Ｒ、  又は
θ＝ａｒｃｔａｎ（Ｓ／Ｒ）
この形態では、減速縁石６１０が車線方向５０３に基本的に垂直すると仮定する。同様に、車輪６０１と車輪６０２とを連結する車軸の長さ方向は、ＡＤＶの移動方向５０４に基本的に垂直する。角度θに基づいて、図６Ｂに示すように、必要に応じて校正が行われてＡＤＶの移動方向５０４を校正する。
【００４９】
ここで、図６Ｂに示すように、左側前輪６０１の接触時間Ｔ１から右側後輪６１２の接触時間Ｔ２の移動距離Ｓは、Ｓ＝Ｖ＊｜  Ｔ２  −  Ｔ１｜で測定でき、ここで、ＶはＡＤＶの現在速度である。したがって、角度は次のように算出できる。
ｔａｎ（θ）＝（Ｓ−Ｄ）／Ｒ、  又は
θ＝ａｒｃｔａｎ（（Ｓ−Ｄ）／Ｒ）
式中、Ｄ  ６０５は、ＡＤＶの前方車軸と後方車軸との間の距離を示す。
【００５０】
前記形態では、一対の前方車輪又は一対の後方車輪と減速縁石との接触により、ＡＤＶの移動方向と車線の車線方向との差を示す角度を算出する。しかしながら、角度は１つの前輪及び１つの後輪と減速縁石との接触に基づいて算出さてもよい。例えば、ＡＤＶの一側（例えば、運転者側）の前輪及びＡＤＶの他側（例えば、助手席側）の後輪となる場合は、車軸の間の距離、及び前輪と後輪との間の距離により、角度を算出することができる。
【００５１】
図７は、本発明の一実施形態に係る自律走行車を動作させるプロセスを示すフローチャートである。プロセス７００は、ソフトウェア、ハードウェア、又はこれらの組み合わせを含む処理ロジックによって実行される。例えば、プロセス７００は、図３の車線逸脱検出器３０６によって実行される。図７に示すように、動作７０１において、処理ロジックは、第１の時点でＡＤＶの第１の車輪（例えば、左側前輪又は左側後輪）がＡＤＶの移動している車線の減速縁石（例えば、スピードリカンベント）と接触するか否かを検出する。動作７０２において、処理ロジックは、第２の時点でＡＤＶの第２の車輪（例えば、右側前輪又は右側後輪）が減速縁石と接触するか否かを検出する。動作７０３において、処理ロジックは、ＡＤＶの現在速度を考慮して、第１の時点及び第２時点に基づいてＡＤＶの移動方向と車線の車線方向との間の角度を算出する。動作７０４において、処理ロジックは、算出された角度に基づいて制御コマンドを生成し、ＡＤＶの移動方向を調整して、ＡＤＶが車線の車線方向に沿って車線内に維持されるようにする。
【００５２】
上記図示された構成要素の一部又は全部は、ソフトウェア、ハードウェア、又はこれらの組み合わせにより実現されることができる。例えば、これらの構成要素は、本明細書全体に記載されたプロセス又はステップを実行するためには、プロセッサ（図示せず）によってメモリにロードされて実行されることができる永続記憶装置にインストールされて記憶されるソフトウェアとして実現ことができる。代案として、これらの構成要素は、集積回路（例えば、特定用途向け集積回路又はＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）又はフィールドプログラマブルゲートアレイ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ、  ＦＰＧＡ）のような専用のハードウェアにプログラムされたり内蔵された実行可能コードとして実現されることができ、これは、アプリケーションから対応するドライバ及び／又はオペレーティングシステムを介してアクセスすることができる。さらに、これらの構成要素は１つ以上の特定のコマンドを使用してソフトウェア構成要素によってアクセス可能なコマンドセットの一部としてプロセッサ又はプロセッサコアの特定のハードウェアロジックとして実現することができる。
【００５３】
図８は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム１５００は、上記プロセス又は方法のいずれか（例えば、図１の感知及び計画システム１１０、及びサーバ１０３〜１０４のいずれか）を実行する上記任意のデータ処理システムを示してもよい。システム１５００は、複数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、分散型電子装置又は回路基板（例えば、コンピュータシステムのマザーボード又はアドインカード）に適用された他のモジュール、又は他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることができる。
【００５４】
さらに、システム１５００は、コンピュータシステムの複数の構成要素の高レベルビューを示すことを目的とする。しかしながら、いくつかの実現形態では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント（ＰＤＡ）、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セットトップボックス、又はそれらの組み合わせを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で１つ（又は複数）のコマンドセットを実行することにより本明細書に説明される任意の１種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
【００５５】
一実施形態において、システム１５００は、バス又は相互接続部材１５１０によって接続されたプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を備える。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサを示してもよい。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）等のような１つ又は複数の汎用プロセッサを示してもよい。より具体的には、プロセッサ１５０１は、複雑コマンドセット計算（ＣＩＳＣ）マイクロプロセッサ、縮小コマンドセットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長コマンド語（ＶＬＩＷ）マイクロプロセッサ、又は他のコマンドセットを実現するプロセッサ、又はコマンドセットの組み合わせを実現するプロセッサであってもよい。プロセッサ１５０１は、さらに、専用集積回路（ＡＳＩＣ）、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、グラフィックプロセッサ、ネットワークプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような１つ又は複数の専用プロセッサ、あるいはコマンド処理可能な任意の他のタイプのロジックであってもよい。
【００５６】
プロセッサ１５０１（超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい）は、前記システムの各種の構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実現されることができる。プロセッサ１５０１は、本明細書に説明される動作及びステップを実行するためのコマンドを実行するように構成される。また、システム１５００は、選択可能なグラフィックサブシステム１５０４と通信するグラフィックインターフェースをさらに含んでもよく、グラフィックサブシステム１５０４は、表示コントローラ、グラフィックプロセッサ及び／又は表示装置をさらに備えてもよい。
【００５７】
プロセッサ１５０１は、メモリ１５０３と通信してもよく、メモリ１５０３は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）又は他のタイプのメモリのような１つ又は複数の揮発性記憶装置（又はメモリ）を備えてもよい。メモリ１５０３は、プロセッサ１５０１又は任意の他の装置により実行されるコマンド列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア（例えば、基本入出力システム又はＢＩＯＳ）及び／又はアプリケーションの実行可能なコード及び／又はデータはメモリ１５０３にロードされて、プロセッサ１５０１により実行されてもよい。オペレーティングシステムは、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ(R)会社からのＷｉｎｄｏｗｓ(R)オペレーティングシステム、アップル会社からのＭａｃＯＳ(R)／ｉＯＳ(R)、Ｇｏｏｇｌｅ(R)会社からのＡｎｄｒｏｉｄ(R)、Ｌｉｎｕｘ、Ｕｎｉｘ又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
【００５８】
システム１５００は、ＩＯ装置、例えば装置１５０５〜１５０８をさらに備えてもよく、ネットワークインターフェース装置１５０５、選択可能な入力装置１５０６及び他の選択可能なＩＯ装置１５０７を備えてもよい。ネットワークインターフェース装置１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を備えてもよい。前記無線送受信機は、ＷｉＦｉ送受信機、赤外送受信機、ブルートゥース送受信機、ＷｉＭａｘ送受信機、無線セルラーホン送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）又は他の無線周波数（ＲＦ）送受信機又はそれらの組み合わせであってもよい。ＮＩＣはイーサネットカードであってもよい。
【００５９】
入力装置１５０６は、マウス、タッチパッド、タッチスクリーン（それは表示装置１５０４と集積されてもよい）、ポインタデバイス（例えばスタイラス）及び／又はキーボード（例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード）を備えてもよい。例えば、入力装置１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術（静電容量技術、抵抗技術、赤外技術及び表面音波技術を含むが、それらに限定されない）のいずれか、及びタッチスクリーンの１つ又は複数の接触点を決定するための他の近接センサアレイ又は他の素子を用いてそのタッチ点及び移動又は断続を検出することができる。
【００６０】
ＩＯ装置１５０７は音声装置を備えてもよい。音声装置は、スピーカ及び／又はマイクロホンを含んでもよく、それにより音声感知、音声コピー、デジタル記録及び／又は電話機能のような音声サポートの機能を促進する。他のＩＯ装置１５０７は、汎用シリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ〜ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ）又はそれらの組み合わせをさらに備えてもよい。装置１５０７は、結像処理サブシステム（例えば、カメラ）をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能（例えば、写真及びビデオ断片の記録）を促進するための電荷カップリング装置（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ（図示せず）によって相互接続部材１５１０に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ（図示せず）により制御されてもよく、これはシステム１５００の特定配置又は設計により決められる。
【００６１】
データ、アプリケーション、１つ又は複数のオペレーティングシステム等のような情報の永続記憶を提供するために、大容量メモリ（図示せず）は、プロセッサ１５０１に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力を向上させるために、このような大容量メモリは、ソリッドステート装置（ＳＳＤ）によって実現されることができる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ（ＨＤＤ）で実現されてもよく、少量のＳＳＤ記憶量は、ＳＳＤキャッシュとして、停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース（ＳＰＩ）によってプロセッサ１５０１に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのＢＩＯＳ及び他のファームウェアを備える。
【００６２】
記憶装置１５０８は、任意の１種又は複数種の本明細書に記載の方法又は機能を実現する１つ又は複数のコマンドセット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック１５２８）が記憶されるコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体又はコンピュータ可読記憶媒体とも呼ばれる）を備えてもよい。処理モジュール／ユニット／ロジック１５２８は、例えば、計画モジュール３０４及び／又は制御モジュール３０５のような上記構成要素のいずれかを示してもよい。処理モジュール／ユニット／ロジック１５２８は、さらにデータ処理システム１５００、メモリ１５０３及びプロセッサ１５０１により実行される期間にメモリ１５０３内及び／又はプロセッサ１５０１内に完全又は少なくとも部分的に存在してもよく、ここで、メモリ１５０３及びプロセッサ１５０１も、機器アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、さらにネットワークによってネットワークインターフェース装置１５０５を経由して送受信されてもよい。
【００６３】
コンピュータ可読記憶媒体１５０９は、以上に説明されたいくつかのソフトウェア機能の一部を永続的に記憶してもよい。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記１つ又は複数のコマンドセットが記憶される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／又は関連するキャッシュ及びサーバ）を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらにコマンドセットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記コマンドセットは、機器により実行されかつ前記機器に本発明の任意の１種又は複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
【００６４】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、構成要素及び他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素（例えばＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰ又は類似装置）の機能に統合されてもよい。さらに、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置及びソフトウェア構成要素の任意の組み合わせで実現されてもよい。
【００６５】
なお、システム１５００は、データ処理システムの各種の構成要素を有するように示されているが、構成要素の相互接続のいかなる特定のアーキテクチャー又は方式を示すものではないことに注意すべきであり、それは、このような詳細が本発明の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び／又は他のデータ処理システムは、本発明の実施形態と共に使用されてもよい。
【００６６】
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用され、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した動作列（ｓｅｑｕｅｎｃｅ  ｏｆ  ｏｐｅｒａｔｉｏｎｓ）と考えられる。これらの動作とは、物理量に対して物理的動作を行う必要となるステップを指す。
【００６７】
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語（例えば、添付している特許請求の範囲に説明された用語）による説明とは、コンピュータシステム又は類似の電子計算装置の動作及び処理であり、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリに物理（例えば、電子）量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報記憶装置、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
【００６８】
本発明の実施形態は、さらに本明細書における動作を実行するためのコンピュータプログラムに関する。このようなコンピュータプログラムは、非揮発性のンピュータ可読媒体に記憶される。機器可読媒体は、機器（例えば、コンピュータ）可読な形態で情報を記憶する任意の機構を備える。例えば、機器可読（例えば、コンピュータ可読）媒体は、機器（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ）を備える。
【００６９】
上記図面に示される手順又は方法は、ハードウェア（例えば、回路、専用ロジック等）、ソフトウェア（例えば、非揮発性のコンピュータ可読記憶媒体に具現化される）、又は両方の組み合わせを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
【００７０】
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本発明の実施形態の教示を実現できることを理解すべきである。
【００７１】
以上の明細書では、本発明の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本発明のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。
【図１】
2019519413.tif 000003
【図２】
2019519413.tif 000004
【図３】
2019519413.tif 000005
【図４】
2019519413.tif 000006
【図５】
2019519413.tif 000007
【図６Ａ】
2019519413.tif 000008
【図６Ｂ】
2019519413.tif 000009
【図７】
2019519413.tif 000010
【図８】
2019519413.tif 000011
【国際調査報告】
2019519413.tif 000012
2019519413.tif 000013