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