(58)【調査した分野】(Int.Cl.,DB名)
前記障害物コストは、少なくとも部分的に前記ADVと前記候補ルートの付近の1つ又は複数の障害物の中のそれぞれの障害物との間の距離に基づいて推定される、請求項3に記載の方法。
前記障害物コストは、少なくとも部分的に前記ADVと前記候補ルートの付近の1つ又は複数の障害物の中のそれぞれの障害物との間の距離に基づいて推定される、請求項10に記載の機器可読メディア。
前記操作は、前記ADVの進行方向と参考進行方向との差が進行方向差の閾値より小さい時は、計画された3ポイントターンを完成させることを更に備える、請求項8に記載の機器可読メディア。
前記操作は、計画された3ポイントターンを完成させた後、前記ADVの操作を通常操作のモードに切り替えることを更に備える、請求項13に記載の機器可読メディア。
前記候補ルートを決定することは、地図データに対してA−Star探索を行うことを備え、前記第一の進行方向及び前記第二の進行方向のそれぞれに関する前記第一の車線及び前記第二の車線の双方は、何れも探索可能及び接続可能であると見なされる、請求項15に記載のデータ処理システム。
前記障害物コストは、少なくとも部分的に前記ADVと前記候補ルートの付近の1つ又は複数の障害物の中のそれぞれの障害物との間の距離に基づいて推定される、請求項17に記載のデータ処理システム。
前記操作は、前記ADVの進行方向と参考進行方向との差が進行方向差の閾値より小さい時は、計画された3ポイントターンを完成させることを更に備える、請求項15に記載のデータ処理システム。
前記操作は、計画された3ポイントターンを完成させた後、前記ADVの操作を通常操作のモードに切り替えることを更に備える、請求項20に記載のデータ処理システム。
【発明を実施するための形態】
【0009】
以下、討論の細部を参考しながら、本願の各実施形態と各側面について説明し、図面は、各実施形態を示す。以下の説明と図面は、本願に対する解釈であり、本願に対する限定ではないことが理解される。本願の各実施形態に対する全面的な理解をさせるために、多数の特定な細部を説明するが、場合によっては、本願の実施形態に対する簡潔な討論を行わせるために、周知の細部または通常の細部については、説明を省く時もある。
【0010】
本明細書における“一つの実施形態”または“実施形態”の言及は、当該実施形態に関連して説明する特定の特徴、構造または特性が、本願の少なくとも一つの実施形態に含まれることを意味する。本明細書の各箇所に現れる短句“一つの実施形態において”は、必ずしも全部同一の実施形態を指すものではない。
【0011】
幾つかの実施形態により、自動運転車両(ADV)の操作において3ポイントターンを計画して実行する。起点から終点を通り抜ける候補ルートを決定し、起点は、第一の進行方向に関する第一の車線内にあり、終点は、第二の進行方向に関する第二の車線内にあり、第一の進行方向と第二の進行方向が逆である。候補ルートは、部分的に重なる第一のセグメント、第二のセグメント及び第三のセグメントに分類され、第一のセグメントは、第一の進行方向に関し、第二のセグメントは、3ポイントターン領域に関し、第三のセグメントは、第二の進行方向に関する。所定コスト関数を用いて、少なくとも部分的に第一のセグメント及び第二のセグメントに基づいて候補ルートに関する総コストを推定する。総コストが閾値コストより低いか否かを判定する。総コストが閾値コストより低いと判定されたことに応答して、候補ルートに基づいて3ポイントターンを計画する。また、少なくとも部分的に計画された3ポイントターンに基づいて、ADVの操作を制御する運転信号を生成する。
【0012】
1つの実施形態においては、候補ルートを決定することは、地図データに対してA−Star探索のような探索アルゴリズムを実行することを含む。なお、第一の進行方向及び第二の進行方向のそれぞれに関する第一の車線及び第二の車線の両方は、何れも探索可能及び接続可能であると見なされている。
【0013】
1つの実施形態においては、総コストは、少なくとも障害物コスト及び残り車線長さコストを含む。障害物コストは、少なくとも部分的にADVと候補ルートの付近の1つ又は複数の障害物の中の各障害物との間の距離に基づいて推定する。残り車線長さコストは、少なくとも部分的に第一のセグメントの長さに基づいて推定する。残り車線の長さとは、目下の車線セグメント又はルートセグメントにおける残り車線の長さを指す。つまり、残り車線の長さは、車両の目下の位置と目下の車線セグメントの終点との間の距離である。
【0014】
1つの実施形態においては、ADVの進行方向と参考進行方向との差が進行方向差の閾値より小さい場合、計画された3ポイントターンを完成させる。3ポイントターンを完成させると、ADVの操作が通常操作のモードに切り替えられる。
【0015】
図1は、本願の一つの実施形態による自動運転車両のネットワーク配置を示すブロック図である。
図1に示すように、ネットワーク配置100は、ネットワーク102を通じて一つまたは複数のサーバ103〜104に通信可能に接続する自動運転車両101を含む。一台の自動運転車両しか示されていないが、複数台の自動運転車両がネットワーク102を通じて互いに接続し、及び/またはサーバ103〜104に接続しても良い。ネットワーク102は、任意のタイプのネットワークであっても良く、例えば、有線または無線のローカルエリアネットワーク(LAN)、インターネットのようなワイドエリアネットワーク(WAN)、移動体通信ネットワーク、衛星ネットワークまたはその組み合わせであっても良い。サーバ103〜104は、任意のタイプのサーバまたはサーバクラスタであっても良く、例えば、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバまたはその組み合わせであっても良い。サーバ103〜104は、データ分析サーバ、コンテンツサーバ、交通情報サーバ、地図と関心地点(MPOI:map and point of interest)サーバまたは位置サーバ等であっても良い。
【0016】
自動運転車両は、自動運転モードで配置できる車両を指し、前記自動運転モードにおいて、運転手からの入力が非常に少ない状況、または運転手からの入力がない状況において車両が環境を通過するようにナビゲートされる。このような自動運転車両は、センサシステムを含むことができ、前記センサシステムは、車両の運行環境と関係のある情報を検出するように配置される一つまたは複数のセンサを有する。前記車両と関連するコントローラは、検出した情報を使用して車両が前記環境を通過するようにナビゲートを行う。自動運転車両101は、手動モード、全自動運転モードまたは部分自動運転モードで走行することができる。
【0017】
一つの実施形態において、自動運転車両101は、感知・計画システム110と、車両制御システム111と、無線通信システム112と、ユーザインターフェースシステム113と、センサシステム115とを含むが、これらに限定されない。自動運転車両101は、さらに普通の車両に含まれる通常の構成要素、例えば、エンジン、ホイール、ステアリングホイール、トランスミッション等を含むことができ、前記構成要素は、複数の種類の通信信号及び/または命令を使って車両制御システム111及び/または感知・計画システム110によってコントロールされることができる。当該複数の種類の通信信号及び/または命令は、例えば、加速信号または命令、減速信号または命令、方向転換信号または命令、ブレーキ信号または命令等である。
【0018】
構成要素110〜115は、インターコネクト、バス、ネットワークまたはその組み合わせを通じて互いに通信可能に接続することができる。例えば、構成要素110〜115は、コントローラエリアネットワーク(CAN)バスを通じて互いに通信可能に接続することができる。CANバスは、ホストコンピュータがない応用においてマイクロコントローラーと装置が互いに通信できるように設計された車両バス規格である。CANバスは、最初は自動車内部の多重化電気配線用に設計されたメッセージベースのプロトコルであるが、多数のその他の環境においても使用される。
【0019】
図2に示すように、一つの実施形態において、センサシステム115は、一つまたは複数のカメラ211と、グローバル・ポジショニング・システム(GPS)ユニット212と、慣性検出装置(IMU)213と、レーダユニット214と、光検出と測距(LIDAR)ユニット215とを含むが、これらに限定されない。GPSユニット212は、自動運転車両の位置に関する情報を提供するように操作可能なトランシーバを含んでも良い。IMUユニット213は、慣性加速度に基づいて自動運転車両の位置と向く方向の変化をセンシングすることができる。レーダユニット214は、無線信号を使って自動運転車両のローカル環境内のオブジェクトをセンシングするシステムを表すことができる。幾つかの実施形態において、オブジェクトをセンシングする以外に、レーダユニット214は、さらにオブジェクトの速度及び/または進行方向をセンシングすることができる。LIDARユニット215は、レーザーを使って自動運転車両を取り巻く環境の中のオブジェクトをセンシングすることができる。その他のシステム構成要素以外に、LIDARユニット215は、一つまたは複数のレーザー光源、レーザースキャンナー及び一つまたは複数の検出器を更に含むことができる。カメラ211は、自動運転車両の周辺環境の画像を採集するために使う一つまたは複数の装置を含むことができる。カメラ211は、スチールカメラ及び/またはビデオカメラであっても良い。カメラは、機械的に移動できるものであっても良く、例えば、カメラを回転及び/または傾斜するプラットフォームに取り付けても良い。
【0020】
センサシステム115は、ソナーセンサ、赤外センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ(例えば、マイクロホン)のようなその他のセンサを更に含むことができる。オーディオセンサは、自動運転車両の周辺環境から音声を採集するように配置されても良い。ステアリングセンサは、ステアリングホイール、車両のホイールまたはその組み合わせの方向転換角度をセンシングするように配置されても良い。スロットル/ブレーキセンサは、それぞれ車両のスロットル位置とブレーキ位置をセンシングする。幾つかの状況において、スロットル/ブレーキセンサは、集積式スロットル/ブレーキセンサとして集積されても良い。
【0021】
一つの実施形態において、車両制御システム111は、ステアリングユニット201と、スロットルユニット202(加速ユニットとも呼ばれる)と、ブレーキユニット203とを含むが、これらに限定されない。ステアリングユニット201は、車両の方向または進行方向を調整するために使用される。スロットルユニット202は、モーターまたはエンジンの速度をコントロールするために使用され、モーターまたはエンジンの速度は、車両の速度と加速度を更にコントロールする。ブレーキユニット203は、摩擦を提供することによって車両のホイールまたはタイヤを減速させ、ひいては車両を減速させる。
図2に示す構成要素は、ハードウェア、ソフトウェアまたはその組み合わせとして実装できることに注意すべきである。
【0022】
図1の参照に戻り、無線通信システム112は、自動運転車両101が例えば装置、センサ、その他の車両等の外部システムとの間で通信できるように許可する。例えば、無線通信システム112は、一つまたは複数の装置と直接的に無線通信することができ、または通信ネットワークを通じて無線通信することができ、例えば、ネットワーク102を通じてサーバ103〜104と通信することができる。無線通信システム112は、任意の移動体通信ネットワークまたは無線ローカルエリアネットワーク(WLAN)を使用することができ、例えば、WIFIを使って他の構成要素またはシステムと通信する。無線通信システム112は、例えば、赤外線リンク、ブルートゥース等を使って装置(例えば、乗客のモバイル装置、ディスプレイ装置、車両101の内部のスピーカー)と直接通信することができる。ユーザインターフェースシステム113は、車両101の内部で実装された周辺装置の部分であっても良く、例えば、キーボード、タッチパネルディスプレイ装置、マイクロホンとスピーカー等である。
【0023】
特に自動運転モードで操作するとき、自動運転車両101の機能の幾つかまたは全部は、感知・計画システム110によってコントロールまたは管理されることができる。感知・計画システム110は、センサシステム115、制御システム111、無線通信システム112及び/またはユーザインターフェースシステム113から情報を受信し、受信した情報を処理し、起点から目的地点までのルートまたは経路を計画し、そして計画と制御情報に基づいて車両101を運転するように、必要なハードウェア(例えば、プロセッサ、メモリ、記憶装置)とソフトウェア(例えば、オペレーティングシステム、計画とルーティングプログラム)を含む。代替できるように、感知・計画システム110は、車両制御システム111と一体に集積されても良い。
【0024】
例えば、乗客としてのユーザは、例えば、ユーザインターフェースを通じて行程のスタート位置と目的地を指定することができる。感知・計画システム110は、行程に関するデータを獲得する。例えば、感知・計画システム110は、MPOIサーバから位置とルートの情報を獲得することができ、前記MPOIサーバは、サーバ103〜104の一部分であっても良い。位置サーバは、位置サービスを提供し、MPOIサーバは、地図サービスと幾つかの位置のPOIを提供する。代替できるように、この種類の位置とMPOI情報は、感知・計画システム110の永続的記憶装置にローカル的にキャッシュされても良い。
【0025】
自動運転車両101がルートに沿って移動する時、感知・計画システム110は、交通情報システムまたはサーバ(TIS)からリアルタイムの交通情報を更に獲得することができる。サーバ103〜104は、サードパーティーによって操作されることができることに注意すべきである。代替できるように、サーバ103〜104の機能は、感知・計画システム110と一体に集積されても良い。安全でかつ効率よく指定の目的地に到達するように、リアルタイムの交通情報、MPOI情報、位置情報及びセンサシステム115によって検出またはセンシングされたリアルタイムのローカル環境データ(例えば、障害物、オブジェクト、付近車両)に基づいて、感知・計画システム110は、最適なルートを計画し、そして計画されたルートに基づき、例えば制御システム111を通じて車両101を運転する。
【0026】
サーバ103は、各種の顧客のためにデータ分析サービスを実装するデータ分析システムであっても良い。一つの実施形態において、データ分析システム103は、データ収集器121と機械学習エンジン122を含む。データ収集器121は、各種車両(自動運転車両または人間の運転手によって運転される通常の車両)から運転統計データ123を収集する。運転統計データ123は、出された運転命令(例えば、スロットル、ブレーキ、ステアリング命令)及び車両のセンサが異なる時刻で捕捉した車両の反応(例えば、速度、加速、減速、方向)を表す情報を含む。運転統計データ123は、異なる時刻における運転環境を表す情報、例えば、ルート(スタート位置と目的地位置を含む)、MPOI、道路状況、気候状況等を更に含むことができる。
【0027】
運転統計データ123に基づき、各種の目的のために、機械学習エンジン122は、ワンセットのルール、アルゴリズム及び/又は予測モジュール124を生成する又はトレーニングする。一つの実施形態においては、本願の実施形態により3ポイントターンをするコストを計算するために、アルゴリズム124は、3ポイントターンプランナーアルゴリズム及び/又はコスト関数を含んでも良い。そのあと、アルゴリズム124を、自動運転の期間でリアルタイムに使用されるように、ADVにアップロードすることができる。
【0028】
図3A及び
図3Bは、一つの実施形態による自動運転車両の感知・計画システムの例示を示すブロック図である。当該システム300は、
図1の自動運転車両101の一部分として実装することができ、感知・計画システム110と、制御システム111と、センサシステム115とを含むが、これらに限定されない。
図3A及び
図3Bに示すように、感知・計画システム110は、測位モジュール301と、感知モジュール302と、予測モジュール303と、決定モジュール304と、計画モジュール305と、制御モジュール306と、ルーティングモジュール307と、3ポイントターン計画モジュール308とを含むが、これらに限定されない。
【0029】
モジュール301〜308の中の幾つかまたは全部は、ソフトウェア、ハードウェアまたはその組み合わせとして実装することができる。例えば、これらのモジュールは、永続的記憶装置352にインストールされ、メモリ351にロードされ、一つまたは複数のプロセッサ(図示せず)によって実装されても良い。これらのモジュールの中の幾つかまたは全部は、
図2の車両制御システム111の幾つかまたは全部のモジュールと通信可能的に接続され、または一体に集積されることができることに注意すべきである。モジュール301〜308の中の幾つかは、一体に集積モジュールとして集積されても良い。例えば、3ポイントターン計画モジュール308は、計画モジュール305の一部として実現する又は集積されても良い。
【0030】
測位モジュール301は、自動運転車両300の目下位置(例えば、GPSユニット212を使って)を決め、ユーザの行程またはルートに関する任意のデータを管理する。測位モジュール301(地図・ルートモジュールとも呼ばれる)は、ユーザの行程またはルートに関する任意のデータを管理する。ユーザは、例えば、ユーザインターフェースを通じてログインし、行程のスタート位置と目的地を指定することができる。測位モジュール301は、行程に関するデータを獲得するために、地図・ルート情報311のような、自動運転車両300のその他の構成要素と通信する。例えば、測位モジュール301は、位置サーバと、地図とPOI(MPOI)サーバから位置とルートの情報を獲得できる。位置サーバは、位置サービスを提供し、MPOIサーバは、地図サービスと幾つかの位置のPOIを提供し、よって地図・ルート情報311の一部分としてキャッシュできる。自動運転車両300がルートに沿って移動する時、測位モジュール301は、交通情報システムまたはサーバからリアルタイムの交通情報を獲得することができる。
【0031】
センサシステム115から提供されたセンサデータと測位モジュール301から獲得した定位情報に基づき、感知モジュール302は、周囲環境に対する感知を決める。感知情報は、普通の運転手が運転している車両の周辺から感知する情報を表すことができる。感知は、オブジェクトの形で、例えば、車線配置、交通信号、もう一つの車両の相対位置、通行人、建築物、横断歩道またはその他の交通関連標識(例えば、停止標識、譲れ標識)等を含むことができる。車線配置は、1つ又は複数の車線を記述する情報を含み、例えば、車線の形状(例えば、直線又は湾曲)、車線の幅、道路における車線の数、一方通行の車線又は双方向車線、合併車線又は分離車線、出口車線等である。
【0032】
感知モジュール302は、一つまたは複数のカメラから採集した画像を処理分析し、自動運転車両の環境の中のオブジェクト及び/または特徴を識別するように、コンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路の境界、他の車両、通行人及び/または障害物等を含むことができる。コンピュータビジョンシステムは、オブジェクト識別アルゴリズム、ビデオトラッキング及びその他のコンピュータビジョン技術を使うことができる。幾つかの実施形態においては、コンピュータビジョンシステムは、環境地図を描き、オブジェクトを追跡し、オブジェクトの速度を見積もることができる。感知モジュール302は、さらに、例えば、レーダ及び/またはLIDARのようなその他のセンサから提供されたその他のセンターデータに基づき、オブジェクトを検出することができる。
【0033】
各々のオブジェクトに対して、予測モジュール303は、オブジェクトがこの状況においてどう振舞うかを予測する。予測は、地図/ルート情報311と交通ルール312を考慮した、運転環境をその時刻で感知した感知データに基づいて実装される。例えば、オブジェクトは、反対方向の車両であり、かつ目下の運転環境は、交差点を含むなら、予測モジュール303は、車両が真っすぐに前へ移動するか、または曲がるかを予測する。感知データは、交差点に交通信号がないと表しているなら、予測モジュール303は、車両は交差点に進入する前に完全停車する必要があるかもしれないと予測する。感知データは、車両が左折専用車線または右折専用車線にあると表しているなら、予測モジュール303は、車両が左折または右折する可能性がより大きいと予測する。
【0034】
各々のオブジェクトに対して、決定モジュール304は、オブジェクトをどう処置するかを決定する。例えば、特定のオブジェクト(例えば、交差するルートの中のもう一つの車両)及びオブジェクトを記述する元データ(例えば、速度、方向、曲がる角度)に対して、決定モジュール304は、オブジェクトと遭遇する時如何にするか(例えば、追い越し、譲り、停止、通過)を決定する。決定モジュール304は、永続的記憶装置352に記憶されている、例えば交通ルールまたは運転ルール312のようなルール集に従ってこれらを決定することができる。
【0035】
ルーティングモジュール307は、起点から目的地までの1つ又は複数のルート又は経路を提供するように配置されている。スタート位置から目的地の位置までの所与の行程、例えば、ユーザから受け取った行程に対して、ルーティングモジュール307は、ルートと地図情報311を獲得し、スタート位置から目的地の位置に到達するまでの全ての可能なルートまたは経路を決定する。ルーティングモジュール307は、地形図の形式で決まった、スタート位置から目的地の位置に到達するまでの各ルートに対して、参考線を生成することができる。参考線は、例えば、その他の車両、障害物または交通状況の如何なる邪魔も受けない理想なルートまたは経路を指す。すなわち、道路にその他の車両、歩行者または障害物がないなら、ADVは、精確でまたはぴったりと参考線に従うべきである。そして、地形図は、決定モジュール304及び/または計画モジュール305に提供される。決定モジュール304及び/または計画モジュール305は、他のモジュールから提供される他のデータに基づいて最適なルートの中から一つのルートを選択して修正するように、全ての可能なルートを検査する。その他のデータは、例えば、測位モジュール301からの交通状況、感知モジュール302によって感知された運転環境、及び予測モジュール303によって予測された交通状況である。その時刻における特定の運転環境に従って、ADVをコントロールするための実際ルートまたは経路は、ルーティングモジュール307によって提供された参考線と接近することも、異なることもできる。
【0036】
感知されたオブジェクトの中の各々に対する決定に基づき、計画モジュール305は、ルーティングモジュール307の提供した参考線をベースに、自動運転車両のためにルートまたは経路及び運転パラメータ(例えば、距離、速度及び/または曲がる角度)を計画する。言い換えれば、所与のオブジェクトに対して、決定モジュール304は、当該オブジェクトに対して何をするかを決定し、計画モジュール305は、どうやってそれをするかを決める。例えば、所与のオブジェクトに対して、決定モジュール304は、前記オブジェクトを通過すると決定し、計画モジュール305は、前記オブジェクトの左側から通過するか、または右側から通過するかを決める。車両300が次の移動サイクル(例えば、次のルート/経路セグメント)でどのように移動するかに関する情報を含む計画と制御データは、計画モジュール305によって生成される。例えば、計画と制御データは、車両300が1時間30マイル(mph)の速度で10メートルを移動してから、25mphの速度で右側車線に変更すると指示する。
【0037】
計画と制御データに基づき、制御モジュール306は、計画と制御データによって限定されたルートまたは経路に従って、適切な命令または信号を車両制御システム111に送信することを通じて、自動運転車両を制御し運転する。経路またはルートに沿って異なる時刻において適切な車両設置または運転パラメータ(例えば、スロットル、ブレーキとステアリング命令)を使用し、車両をルートまたは経路の第1の地点から第2の地点まで運転できるように、前記計画と制御データは、十分の情報を含む。
【0038】
一つの実施形態において、計画段階は、多数の計画周期(命令周期とも呼ばれる)の中で実装され、例えば、各時間間隔が100ミリ秒(ms)の周期の中で実装される。計画周期または命令周期の中の各々に対して、計画と制御データに基づいて一つまたは複数の制御命令を発行する。即ち、各々の100msに対して、計画モジュール305は、次のルートセグメントまたは経路セグメントを計画し、例えば、目標位置及びADVが目標位置に到達するまでの時間を含む。代替できるように、計画モジュール305は、具体的な速度、方向及び/または曲がる角度等を規定できる。一つの実施形態において、計画モジュール305は、次の予定時間間隔(例えば、5秒)のためにルートセグメントまたは経路セグメントを計画する。各計画周期に対して、計画モジュール305は、前の周期で計画した目標位置に基づき、目下の周期(例えば、次の5秒)に使用される目標位置を計画する。そして、制御モジュール306は、目下の周期の計画と制御データに基づき、一つまたは複数の制御命令(例えば、スロットル、ブレーキ、ステアリング制御命令)を生成する。
【0039】
決定モジュール304と計画モジュール305は、集積モジュールとして集積されることができることに注意すべきである。自動運転車両の運転経路を決めるように、決定モジュール304/計画モジュール305は、ナビゲーションシステムまたはナビゲーションシステムの機能を含むことができる。例えば、自動運転車両がしっかりと感知した障害物を避けながら、大体最終目的地に到達するような、車線に基づく経路に沿って進むように、ナビゲーションシステムは、一連の速度と進行方向を決めることができる。目的地は、ユーザインターフェースシステム113を経由して行われたユーザの入力に従って設定することができる。ナビゲーションシステムは、自動運転車両が運行していると同時に、動的に運転経路を更新できる。自動運転車両の運転経路を決めるために、ナビゲーションシステムは、GPSシステムからのデータと、一つまたは複数の地図のデータとを合併することができる。
【0040】
一つの実施形態において、3ポイントターン(TPT)計画モジュール308は、3ポイントターンの決定又は推薦を決定して計画モジュール305に提供する責任を負う。上述したように、TPT計画モジュール308は、計画モジュール305の一部として実現しても良い。決定モジュール304は、3ポイントターンをするように決定すると、TPT計画モジュール308は、当該時刻における3ポイントターンを実行することができるかどうかを決定するように配置され、実行できれば、1つ又は複数のTPTアルゴリズム313を用いてどのように3ポイントターンを実行するかを決定する。
【0041】
図4に示すように、3ポイントターンを実行するかどうかを決定する際、様々な要素を考える必要がある。ADV330が3ポイントターンを実行するように決定した場合、経路341に沿って相対の車線または交通の遠いほうの車線カーブに向かって第1の前進曲がりを行う必要がある。そして、ADVは、経路342に沿って目下の車線の近いほうの車線カーブに向かって後ろへ移動する必要がある。その後、ADVは、経路343に沿ってもう1つの前進曲がりを行って3ポイントターンを完成させる必要がある。他の障害物が存在する可能性があり、例えば、反対車線におけるADV330に向かう他の一台の車両335である。二台の車両330及び335の間の距離が近すぎると、3ポイントターンを行うことは、安全ではない可能性がある。類似的に、残り車線の長さが十分じゃないと、3ポイントターンを行うための十分なスペースがない可能性がある。3ポイントターンを行うかどうか、及び、どのように3ポイントターンを行うかを決定する際、これらの状況を要素として考慮する必要がある。残り車線の長さとは、目下の車線セグメント又はルートセグメントの中の残り車線の長さを指す。つまり、残り車線の長さは、車両の目下の位置と目下の車線セグメントの終点との間の距離である。
【0042】
図5は、一つの実施形態による3ポイントターンモジュールの各種モジュールを示すブロック
図400である。起点から終点を通り抜ける候補ルートを決定する。起点は、第一の進行方向(例えば、目下の進行方向)に関する第一の車線内にある。終点は、第二の進行方向(例えば、目下の方向に対する反対方向)に関する第二の車線内にある。第二の進行方向と第一の進行方向は、逆である。起点及び終点は、ルートポイント410と総称しても良い。候補ルートを決定する際、TPT計画モジュール308の探索モジュールは、地図データに対してA−Star(A
*)探索420を実行し、なお、第一の進行方向及び第二の進行方向のそれぞれに関する第一の車線及び第二の車線は、探索可能及び接続可能であると見なされている。
【0043】
A−Star(A
*)探索は、経路探し及びグラフ走査のために幅広く用いられているコンピュータアルゴリズムであり、多数の点(「ノード」と称する)の間において経路を探すプロセスである。その性能及び正確性によって幅広く使用されている。A
*は、一種のインフォームド探索アルゴリズム又は最良優先探索であり、重み付きグラフに基づいて作られたことを意味する。グラフの特定の開始ノードから、最もコストの少ない、所与の目標ノードに到達する経路(最小の進行距離、最短の時間等)を探すことを目的としている。次の方法により上記の目的を実現する:開始ノードを起点とする経路のツリーを維持し、終了基準が満たされるまで一度に1エッジずつそれらの経路を拡張する。そのメインループの毎回の繰り返しにおいて、A
*は、その経路の中のどの経路を拡張するかを決定する必要がある。これは、経路のコスト及び経路を目標まで拡張するのに必要とするコストの見積もりに基づいて実現されるものである。選択された、拡張する経路は、起点から目標までの経路であり又は拡張される経路がない場合、A
*は、終了する。
【0044】
一つの実施形態においては、TPT計画モジュール308は、所定のセグメントアルゴリズム又は基準に基づいてルート候補をルートセグメントに分割し、ルートセグメントに対して分類を行うために、ルートセグメンタ又はセグメントモジュール321を備える。候補ルートが部分的に重なる第一のセグメント430、第二のセグメント432及び第三のセグメント434に分類され、第一のセグメント430は、第一の進行方向に関し、第二のセグメント432は、3ポイントターン領域に関し、第三のセグメント434は、第二の進行方向に関する。
【0045】
TPT計画モジュール308は、所定コスト関数を用いて3ポイントターンを行うコストを計算するために、コスト計算器322を更に備え、当該所定コスト関数は、TPTアルゴリズム313の一部であっても良い。具体的には、候補ルートに関する総コストは、少なくとも部分的に第一のセグメント430及び第二のセグメント432に基づき、コスト評価モジュール440において推定される。総コストが所定の閾値コストより低いか否かを判定する。閾値コストは、経験により決定できる調整可能なパラメータである。総コストが閾値コストより低いと判定されたことに応答して、候補ルートに基づいて3ポイントターンプランナー442において3ポイントターンを計画し、なお、TPTプランナー442は、計画モジュール305の一部として実現することができる。また、少なくとも部分的に計画された3ポイントターンに基づいて、ADVの操作を制御する運転信号を生成する。
【0046】
一つの実施形態においては、総コストは、少なくとも障害物コスト及び残り車線長さコストを含む。障害物コストは、少なくとも部分的にADVと候補ルートの付近の1つ又は複数の障害物(例えば、候補ルートとの距離が閾値より短い障害物)の中のそれぞれの障害物との間の距離に基づいて推定される。残り車線長さコストは、少なくとも部分的に第一のセグメントの長さに基づいて推定される。具体的には、総コストは、コスト関数に基づいて推定することができる:
【数1】
なお、
【数2】
は、障害物コストを表し、即ち、所定の接近度内の全ての障害物の各々の障害物コストを加えることによって得られた総障害物コストである。
【数3】
は、残り車線長さコストを表す。パラメータdisは、車両と障害物と間の距離を表す。デルタs(Δs)は、残り車線の長さを表す。パラメータα、λ、β及びδは、経験により決定することができる調整可能なパラメータである。
【0047】
前記コスト関数に示すように、車両と障害物との間の距離が比較的短い時、相応する障害物コストがより高くなり、これは、3ポイントターンを行うことが安全ではない可能性があることを意味する。なぜならば、付近に障害物が存在しているからである。類似的には、残り車線の長さが比較的短い時、コストがより高くなり、なぜならば、3ポイントターンを行うための十分なスペースがない可能性があるからである。
【0048】
一つの実施形態においては、データ分析システム(例えば、
図1のサーバ103)により類似する走行環境又は状況において走行する大量の車両から収集された大量の運転統計に基づいて前記コスト関数及び関連パラメータを決定することができる。総コストが所定の閾値より低い時、TPTプランナー442を呼び出して計画と車両制御を行うことによって、3ポイントターンを行わせる。
【0049】
一つの実施形態においては、完成条件検査モジュール450は、ADVの進行方向と参考進行方向との間の差が進行方向差の閾値より小さいと判定された時、計画された3ポイントターンを完成させる。進行方向差の閾値は、経験により決定することができる調整可能なパラメータである。3ポイントターンを完成させると、ADVの操作が通常操作のモード(通常プランナー460)に切り換えられる。
【0050】
図6は、一つの実施形態による計画された3ポイントターンルート500を示す図である。ルート500は、起点510からスタートし、かつ終点512を通り抜け、起点は、第一の進行方向に関する第一の車線520内にあり、終点は、第一の進行方向と逆の第二の進行方向に関する第二の車線522内にある。第一の車線520は、サブセグメント1〜4を含み、第二の車線522は、サブセグメント5〜7を含む。ルート500は、部分的に重なる第一のセグメント、第二のセグメント及び第三のセグメントに分類され、第一のセグメントは、第一の進行方向に関し、第二のセグメントは、3ポイントターン領域に関し、第三のセグメントは、第二の進行方向に関する。よって、ここでは、第一のセグメントは、サブセグメント1〜4を含み、第二のセグメントは、サブセグメント4及び5を含み、第三のセグメントは、サブセグメント5〜7を含む。
【0051】
図7は、一つの実施形態による、自動運転車両(ADV)の操作時に3ポイントターンを計画するための例示する方法600を示すフローチャート図である。方法600は、ハードウェア、ソフトウェア又はその組み合わせにより実現することができる。ブロック610においては、起点から終点を通り抜ける候補ルートを決定し、起点は、第一の進行方向に関する第一の車線内にあり、終点は、第二の進行方向に関する第二の車線内にあり、第二の進行方向と第一の進行方向は、逆である。ブロック620においては、候補ルートが部分的に重なる第一のセグメント、第二のセグメント及び第三のセグメントに分類され、第一のセグメントは、第一の進行方向に関し、第二のセグメントは、3ポイントターン領域に関し、第三のセグメントは、第二の進行方向に関する。ブロック630においては、少なくとも部分的に第一のセグメント及び第二のセグメントに基づいて候補ルートに関する総コストを推定する。ブロック640においては、総コストが閾値コストより低いか否かを判定する。ブロック650においては、総コストが閾値コストより低いと判定されたことに応答して、候補ルートに基づいて3ポイントターンを計画する。また、ブロック660においては、少なくとも部分的に計画された3ポイントターンに基づいてADVの操作を制御する運転信号を生成する。
【0052】
前記文章で示され、説明された構成要素の中の幾つかまたは全部は、ソフトウェア、ハードウェアまたはその組み合わせとして実装することができる。例えば、この種類の構成要素は、永続的な記憶装置にインストールされ、かつ記憶されるソフトウェアとして実装することができる。当該ソフトウェアは、プロセッサ(図示せず)を通じてメモリにロードし、メモリの中で本願を貫いて説明したプロセスまたは操作を実行する。代替できるように、この種類の構成要素は、専用ハードウェア(例えば、集積回路(例えば、専用集積回路またはASIC)、デジタルシグナルプロセッサ(DSP)または現場でプログラム可能なゲートアレイ(FPGA))にプログラムされたまたは埋め込まれた実行可能なコードとして実装することができる。当該実行可能なコードは、アプリケーションからの対応する駆動プログラム及び/またはオペレーティングシステムを通じてアクセスすることができる。さらに、この種類の構成要素は、ソフトウェアが一つまたは複数の特定の命令でアクセスできる命令集の一部分となるように、プロセッサまたはプロセッサのコアの中の特定のハードウェアロジックとして実装することができる。
【0053】
図8は、本願の一つの実施形態と共に使用されるデータ処理システムの例示を示すブロック図である。例えば、システム1500は、
図1の感知・計画システム110またはサーバ103〜104の中の任意の一つのような、前記プロセスまたは方法を実装する任意の一つの任意のデータ処理システムを表すことができる。システム1500は、多数の異なる構成要素を含むことができる。これらの構成要素は、集積回路(IC)、集積回路の一部分、独立な電子装置、または回路基板(例えば、コンピュータシステムのマザーボードまたはアドインカード)に用いられるその他のモジュールとして実装することができ、またはその他の方式でコンピュータシステムのシャーシに組み入れられる構成要素として実装することができる。
【0054】
システム1500の趣旨は、コンピュータシステムの複数の構成要素の高レベルの様子を示すことにあることに注意すべきである。幾つかの実施形態においては、付加的構成要素を有することができ、また、他の実施形態においては、図示する構成要素の異なる配置を有することができる。システム1500は、デスクトップコンピュータ、ラップトップコンピューター、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルデジタルアシスタント(PDA)、スマートウォッチ、パーソナルコミュニケータ、ゲーム装置、ネットワークルーターまたはハブ、ワイヤレスアクセスポイント(AP)またはリピーター、セットトップボックスまたはこれらの組み合わせを表すことができる。さらに、シングルの機器またはシステムしか示されていないが、用語“機器”または“システム”は、本願で検討した任意の一つまたは複数の方法を実装するように、単独的にまたは共同的に一つ(または複数の)の命令集を実装する機器またはシステムの任意の集まりであると理解されるべきである。
【0055】
一つの実施形態において、システム1500は、バスまたはインターコネクト1510により連結されるプロセッサ1501、メモリ1503及び装置1505〜1508を含む。プロセッサ1501は、シングルのプロセッサコアまたは複数のプロセッサコアを含むシングルのプロセッサまたは複数のプロセッサを表すことができる。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)等のような、一つまたは複数の汎用プロセッサを表すことができる。より具体的に、プロセッサ1501は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、またはその他の命令集を実装するプロセッサ、または命令集の組み合わせを実装するプロセッサであっても良い。プロセッサ1501は、専用集積回路(ASIC)、移動体またはベースバンドプロセッサ、現場でプログラム可能なゲートアレイ(FPGA))、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ、グラフィックスプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組み込みプロセッサ、または命令を処理できる任意のその他のタイプのロジックのような、一つまたは複数の専用プロセッサであっても良い。
【0056】
プロセッサ1501(低電力マルチコアプロセッサソケットであっても良く、例えば、超低電圧プロセッサ)は、前記システムの各種構成要素と通信する主プロセッサユニットと中央ハブとして振舞うことができる。この種類のプロセッサは、システムオンチップ(SoC)として実装することができる。プロセッサ1501は、本願で議論した操作とプロセスを実装するための命令を実装するように配置される。システム1500は、ディスプレイコントローラ、図形プロセッサ及び/またはディスプレイ装置を含む、候補の図形サブシステム1504と通信する図形インターフェースを更に含むことができる。
【0057】
プロセッサ1501は、メモリ1503と通信することができる。一つの実施形態において、メモリ1503は、複数のメモリ装置によって規定の量のシステムメモリを提供するように実装されることができる。メモリ1503は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、またはその他のタイプのメモリ装置のような、一つまたは複数の揮発性ストレージ(またはメモリ)装置を含むことができる。メモリ1503は、プロセッサ1501またはその他の任意の装置によって実装する命令シーケンスを含む情報を記憶することができる。例えば、各種のオペレーティングシステム、デバイスドライバプログラム、ファームウェア(例えば、入出力基本システムまたはBIOS)、および/またはアプリケーションの実装可能なコード及び/またはデータは、メモリ1503にロードされ、プロセッサ1501により実装されることができる。オペレーティングシステムは、任意のタイプのオペレーティングシステムであっても良く、例えば、ロボットオペレーティングシステム(ROS)、Microsoft(登録商標)のWindows(登録商標)オペレーティングシステム、AppleのMacOS(登録商標)/iOS(登録商標)、Google(登録商標)のAndroid(登録商標)、LINUX、UNIX、その他のリアルタイムまたは組み込みオペレーティングシステムであっても良い。
【0058】
システム1500は、ネットワークインターフェース装置1505、候補の入力装置1506、及びその他の候補のIO装置1507を含む装置1505〜1508のようなIO装置を更に含むことができる。ネットワークインターフェース装置1505は、無線トランシーバ及び/またはネットワークインターフェースカード(NIC)を含むことができる。前記無線トランシーバは、WIFIトランシーバ、赤外トランシーバ、ブルートゥーストランシーバ、WiMaxトランシーバ、無線移動体電話トランシーバ、衛星トランシーバ(例えば、グローバル・ポジショニング・システム(GPS)トランシーバ)、またはその他の無線周波数(RF)トランシーバまたはそれらの組み合わせであっても良い。NICは、イーサネットカードであっても良い。
【0059】
入力装置1506は、マウス、タッチパッド、タッチセンシティブ画面(表示装置1504と一体に集積されて)、ポインター装置(例えば、スタイラスペン)、および/またはキーボード(例えば、物理的キーボード、またはタッチセンシティブ画面の一部分として表示される仮想キーボード)を含むことができる。例えば、入力装置1506は、タッチパネルに接続するタッチパネルコントローラを含むことができる。タッチパネルとタッチパネルコントローラは、例えば、複数の種類のタッチセンシティブ技術(キャパシタンス、抵抗、赤外線および表面音波技術を含むが、これらに限定されない)を使用することができ、及び、その他の類似するセンサアレイまたはタッチパネルと接触する一つまたは複数の点を決めるために用いられるその他のデバイスを使用し、接触、移動または中断を検出することができる。
【0060】
IO装置1507は、オーディオ装置を含むことができる。オーディオ装置は、音声識別、音声複製、デジタル記録及び/または電話機能等の音の機能のサポートを促進するために、スピーカー及び/またはマイクロホンを含むことができる。その他のIO装置1507は、ユニバーサル・シリアル・バス(USB)ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ(例えば、PCI−PCIブリッジ)、センサ(例えば、加速度計運動センサ、ジャイロ、磁力計、光センサ、コンパス、近接センサ等)またはその組み合わせを更に含むことができる。装置1507は、画像処理サブシステム(例えば、カメラ)を更に含むことができる。当該画像処理サブシステムは、電荷結合素子(CCD)または相補型金属酸化物半導体(CMOS)光センサのような、カメラ機能(例えば、写真やビデオクリップを記録する)を促進するために使用される光センサを含むことができる。幾つかのセンサは、センサハブ(図示せず)を経由してインターコネクト1510に接続しても良く、例えば、キーボードまたは熱センサのようなその他の装置は、システム1500の具体的な配置または設計に従って埋め込み式コントローラ(図示せず)によってコントロールされても良い。
【0061】
データ、アプリケーション、一つまたは複数のオペレーティングシステム等の情報に対する永続的な保存を提供するために、大容量記憶装置(図示せず)は、プロセッサ1501に接続しても良い。各種の実施形態において、より薄くより軽いシステム設計を実現し、システム応答性を改善するために、この種の大容量記憶装置は、ソリッドステートドライブ(SSD)によって実装しても良い。しかし、その他の実施形態において、大容量記憶装置は、主にハードディスクドライブ(HDD)を使用して実装し、それに加えて容量の比較的小さいSSD記憶装置をSSDキャッシとして使用し、これによって電源が切られたイベントにおいて文脈状態及びその他のこの種類の情報の非揮発性保存を実現し、システムの活動が再び起動する時に素早い電源投入を実現する。なお、フラッシュメモリ装置は、例えば、シリアル・ペリフェラル・インタフェース(SPI)を経由してプロセッサ1501に接続しても良い。この種類のフラッシュメモリ装置は、前記システムのBIOS及びその他のファームウェアを含むシステムソフトウェアの非揮発性保存を提供することができる。
【0062】
記憶装置1508は、本願で記述した一つまたは複数の方法または機能を具体的に表現する一つまたは複数の命令集またはソフトウェア(例えば、モジュール、ユニットまたはロジック1528)を記憶する、コンピュータのアクセス可能な記憶メディア1509(機器可読メディア又はコンピュータ可読メディアとも呼ばれる)を含むことができる。処理モジュール/ユニット/ロジック1528は、計画モジュール305、制御モジュール306及び/又は3ポイントターン計画モジュール308等のような、前記構成要素の中の任意の一つを表すことができる。処理モジュール/ユニット/ロジック1528は、データ処理システム1500、メモリ1503とプロセッサ1501によって実装されている期間において、完全にまたは少なくとも部分的にメモリ1503及び/またはプロセッサ1501の中に駐留することができ、データ処理システム1500、メモリ1503とプロセッサ1501もコンピュータのアクセス可能な記憶メディアを構成する。処理モジュール/ユニット/ロジック1528は、ネットワークを通じて、ネットワークインターフェース装置1505を経由して送信と受信を行うことができる。
【0063】
コンピュータ可読メディア1509は、前記で説明した幾つかのソフトウェア機能を永続的に記憶するためにも使用される。コンピュータ可読メディア1509は、例示的な実施形態において、シングルのメディアとして示されているが、用語“コンピュータ可読メディア”は、前記一つまたは複数の命令集を記憶するシングルのメディアまたは複数のメディア(例えば、集中式または分布式データベース及び/または関連するキャッシュとサーバ)を含むと理解すべきである。用語“コンピュータ可読メディア”は、機器によって実装され、かつ本願の任意の一つまたは複数の方法を当該機器に実装させる命令集を、記憶するまたはエンコードすることができる任意のメディアを含むと理解すべきである。故に、用語“コンピュータ可読メディア”は、ソリッド・ステート・メモリ、光メディアと磁気メディア、または任意のその他の非一時的な機器可読メディアを含むが、これらに限定されないと理解すべきである。
【0064】
本願で説明する処理モジュール/ユニット/ロジック1528、構成要素及びその他の特徴は、独立なハードウェア構成要素として実装しても良く、ハードウェア構成要素(例えば、ASICS、FPGA、DSPまたは類似の装置)の機能の中に集積しても良い。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置の中のファームウェアまたは機能回路として実装しても良い。なお、処理モジュール/ユニット/ロジック1528は、ハードウェア装置とソフトウェア構成要素との任意の組み合わせとして実装しても良い。
【0065】
システム1500は、データ処理システムの各種の構成要素を有するように示されているが、構成要素が互いに接続する任意の特定のアーキテクチャまたは方式を表すことではない。これは、この種類の細部は、本願の実施形態と密接な関係がないからである。より少ない構成要素又はより多い構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、および/または他のデータ処理システムは、本願の実施形態と一緒に使用しても良いと認識すべきである。
【0066】
前述の詳細な説明の中の一部分は、コンピュータメモリ内のデータビットに対する演算のアルゴリズムおよび記号表現に従って提示した。これらのアルゴリズム記述および表現は、データ処理領域の当業者が、仕事の本質を最も有効的に同じ領域の当業者に伝えるように、使用する方式である。本願において、アルゴリズムは、予期の結果をもたらす、自己矛盾のない操作のシーケンスであると一般的に認識される。これらの操作は、物理量に対して物理操縦を行う必要がある操作であることを指す。
【0067】
これらのすべての用語と類似の用語は、適切な物理量と関連し、これらの量に応用されるのみの便宜上の標識であることをしっかりと覚えるべきである。以上の議論においてその他の方式で明確的に表明している時以外に、本願全体において、用語(例えば、付属の特許請求の範囲の中で説明する用語)を利用して行った討論は、コンピュータシステムまたは類似の電子計算装置の動作と処理を指す。前記コンピュータシステムまたは類似の電子計算装置は、コンピュータシステムのレジスターとメモリの中の、物理(電子)量として表されているデータを操縦し、前記データを、コンピュータシステムのメモリまたはレジスターまたはその他のこの種類の情報の記憶装置、転送またはディスプレイ装置の中の、類似的に物理量として表されているその他のデータへ変換する。
【0068】
本願の実施形態は、本願文章の中の操作を実装するために用いられる設備にも関わる。この種のコンピュータプログラムは、非一時的なコンピュータ可読メディアの中に記憶される。機器可読メディアは、機器(例えば、コンピュータ)可読形式で情報を記憶する任意の機構を含む。例えば、機器可読(例えば、コンピュータ可読)メディアは、機器(例えば、コンピュータ)可読記憶メディア(例えば、リードオンリーメモリ(“ROM”)、ランダムアクセスメモリ(“RAM”)、磁気ディスク記憶メディア、光記憶メティア、フラッシュメモリ装置)を含む。
【0069】
前記図面の中で説明されたプロセスまたは方法は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(例えば、非一時性コンピュータ読み取りメディアに具現して)またはその組み合わせを含む処理ロジックによって実装しても良い。前記プロセスまたは方法は、上記の文章において幾つかの順序操作によって説明されているが、前記操作の中の幾つかは、異なる順序で実装しても良いと理解すべきである。さらに、幾つかの操作は、順序で実装されるのではなく、並列的に実装されても良い。
【0070】
本願の実施形態は、何らかの特定のプログラミング言語を参考にして説明されているのではない。説明した本願の実施形態の教えは、複数のプログラミング言語を使って実装することができると認識すべきである。
【0071】
以上の明細書において、本願の具体的で例示性のある実施形態を参考にして、本願の実施形態に対して説明を行った。添付する特許の請求範囲の中で論述した本願のより広範な精神と範囲を逸脱しない限り、本発明に対して各種の修正をすることができる。故に、制限性の意味ではなく、説明性の意味で本明細書と図面を理解すべきである。
なお、出願当初の特許請求の範囲の記載は以下の通りである。
請求項1:
自動運転車両(ADV)の操作において3ポイントターンを計画するコンピュータ実施の方法であって、
第一の進行方向に関する第一の車線内にある起点から、前記第一の進行方向と逆である第二の進行方向に関する第二の車線内にある終点までの候補ルートを決定することと、
前記候補ルートを、前記第一の進行方向に関する第一のセグメント、3ポイントターン領域に関する第二のセグメント及び前記第二の進行方向に関する第三のセグメントに分類することと、
少なくとも部分的に前記第一のセグメント及び前記第二のセグメントに基づいて前記候補ルートに関する総コストを推定することと、
前記総コストが閾値コストより低いと判定されたことに応答して、前記候補ルートに基づいて前記3ポイントターンを計画して、前記ADVを前記3ポイントターンを行うように運転することと
を備える、コンピュータ実施の方法。
請求項2:
前記候補ルートを決定することは、地図データに対してA−Star探索を行うことを含み、
前記第一の進行方向及び前記第二の進行方向のそれぞれに関する前記第一の車線及び前記第二の車線の双方は、何れも探索可能及び接続可能であると見なされる、請求項1に記載の方法。
請求項3:
前記総コストは、少なくとも障害物コスト及び残り車線長さコストを含む、請求項1に記載の方法。
請求項4:
前記障害物コストは、少なくとも部分的に前記ADVと前記候補ルートの付近の1つ又は複数の障害物の中のそれぞれの障害物との間の距離に基づいて推定される、請求項3に記載の方法。
請求項5:
前記残り車線長さコストは、少なくとも部分的に前記第一のセグメントの長さに基づいて推定される、請求項3に記載の方法。
請求項6:
前記ADVの進行方向と参考進行方向との差が進行方向差の閾値より小さい時、計画された3ポイントターンを完成させることを更に備える、請求項1に記載の方法。
請求項7:
計画された3ポイントターンを完成させた後、前記ADVの操作を通常操作のモードに切り替えることを更に備える、請求項6に記載の方法。
請求項8:
命令を記憶している非一時性機器可読メディアであって、
前記命令がプロセッサにより実行されると、前記プロセッサに、自動運転車両(ADV)の操作において3ポイントターンを計画する操作を実行させ、
前記操作は、
第一の進行方向に関する第一の車線内にある起点から、第一の進行方向と逆である第二の進行方向に関する第二の車線内にある終点までの候補ルートを決定することと、
前記候補ルートを、第一の進行方向に関する第一のセグメント、3ポイントターン領域に関する第二のセグメント及び第二の進行方向に関する第三のセグメントに分類することと、
少なくとも部分的に前記第一のセグメント及び前記第二のセグメントに基づいて候補ルートに関する総コストを推定することと、
前記総コストが閾値コストより低いと判定されたことに応答して、前記候補ルートに基づいて前記3ポイントターンを計画して、ADVを3ポイントターンを行うように運転することと
を備える、非一時性機器可読メディア。
請求項9:
前記候補ルートを決定することは、地図データに対してA−Star探索を行うことを含み、
前記第一の進行方向及び前記第二の進行方向のそれぞれに関する前記第一の車線及び前記第二の車線の双方は、何れも探索可能及び接続可能であると見なされる、請求項8に記載の機器可読メディア。
請求項10:
前記総コストは、少なくとも障害物コスト及び残り車線長さコストを含む、請求項8に記載の機器可読メディア。
請求項11:
前記障害物コストは、少なくとも部分的に前記ADVと前記候補ルートの付近の1つ又は複数の障害物の中のそれぞれの障害物との間の距離に基づいて推定される、請求項10に記載の機器可読メディア。
請求項12:
前記残り車線長さコストは、少なくとも部分的に前記第一のセグメントの長さに基づいて推定される、請求項10に記載の機器可読メディア。
請求項13:
前記操作は、前記ADVの進行方向と参考進行方向との差が進行方向差の閾値より小さい時は、計画された3ポイントターンを完成させることを更に備える、請求項8に記載の機器可読メディア。
請求項14:
前記操作は、計画された3ポイントターンを完成させた後、前記ADVの操作を通常操作のモードに切り替えることを更に備える、請求項13に記載の機器可読メディア。
請求項15:
プロセッサと、前記プロセッサに接続され、命令を記憶するメモリとを含むデータ処理システムであって、
前記命令がプロセッサによって実行されると、前記プロセッサに、自動運転車両ADVの操作において3ポイントターンを計画する操作を実行させ、
前記操作は、
第一の進行方向に関する第一の車線内にある起点から、前記第一の進行方向と逆である第二の進行方向に関する第二の車線内にある終点までの候補ルートを決定することと、
前記候補ルートを、第一の進行方向に関する第一のセグメント、3ポイントターン領域に関する第二のセグメント及び第二の進行方向に関する第三のセグメントに分類することと、
少なくとも部分的に前記第一のセグメント及び前記第二のセグメントに基づいて候補ルートに関する総コストを推定することと、
前記総コストが閾値コストより低いと判定されたことに応答して、前記候補ルートに基づいて前記3ポイントターンを計画して、ADVを3ポイントターンを行うように運転することと
を備える、データ処理システム。
請求項16:
前記候補ルートを決定することは、地図データに対してA−Star探索を行うことを備え、前記第一の進行方向及び前記第二の進行方向のそれぞれに関する前記第一の車線及び前記第二の車線の双方は、何れも探索可能及び接続可能であると見なされる、請求項15に記載のデータ処理システム。
請求項17:
前記総コストは、少なくとも障害物コスト及び残り車線長さコストを含む、請求項15に記載のデータ処理システム。
請求項18:
前記障害物コストは、少なくとも部分的に前記ADVと前記候補ルートの付近の1つ又は複数の障害物の中のそれぞれの障害物との間の距離に基づいて推定される、請求項17に記載のデータ処理システム。
請求項19:
前記残り車線長さコストは、少なくとも部分的に前記第一のセグメントの長さに基づいて推定される、請求項17に記載のデータ処理システム。
請求項20:
前記操作は、前記ADVの進行方向と参考進行方向との差が進行方向差の閾値より小さい時は、計画された3ポイントターンを完成させることを更に備える、請求項15に記載のデータ処理システム。
請求項21:
前記操作は、計画された3ポイントターンを完成させた後、前記ADVの操作を通常操作のモードに切り替えることを更に備える、請求項20に記載のデータ処理システム。