(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-16
(45)【発行日】2023-02-27
(54)【発明の名称】経路計画のための二次計画法に基づき、片側に寄せる方法
(51)【国際特許分類】
B60W 30/095 20120101AFI20230217BHJP
G01C 21/34 20060101ALI20230217BHJP
B60W 60/00 20200101ALI20230217BHJP
【FI】
B60W30/095
G01C21/34
B60W60/00
(21)【出願番号】P 2020570513
(86)(22)【出願日】2020-04-10
(86)【国際出願番号】 CN2020084257
(87)【国際公開番号】W WO2021203426
(87)【国際公開日】2021-10-14
【審査請求日】2020-12-14
(73)【特許権者】
【識別番号】520493186
【氏名又は名称】バイドゥ.コム タイムズ テクノロジー(ベイジン) カンパニー リミテッド
(73)【特許権者】
【識別番号】516357421
【氏名又は名称】バイドゥ ユーエスエイ エルエルシー
【氏名又は名称原語表記】Baidu USA LLC
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】ヤオ,ドンチュン
(72)【発明者】
【氏名】チュー,ファン
(72)【発明者】
【氏名】エルヴィ,レイビン
(72)【発明者】
【氏名】シュー,シン
(72)【発明者】
【氏名】ユ,ニン
【審査官】菅野 京一
(56)【参考文献】
【文献】国際公開第2020/217315(WO,A1)
【文献】国際公開第2017/022474(WO,A1)
【文献】米国特許出願公開第2019/0086932(US,A1)
【文献】特開2017-210234(JP,A)
【文献】特開2019-043364(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 10/00-10/30
30/00-60/00
G08G 1/00
G01C 21/34
(57)【特許請求の範囲】
【請求項1】
自律運転車両(ADV) を運転するためにコンピュータが実行する方法であって、
ADV を車線の片側の目的地点で片側に寄せる要求に応じて、第1のセグメント、第2のセグメント及び移行点を含む経路を計画し、
計画された経路に従って、前記ADV を前記目的地点まで片側に寄せるように制御し、
前記経路を計画する際、
前記目的地点までの距離及び前記車線の片側の境界までの所定の距離の内の少なくとも1つに基づき、前記移行点を決定し、
二次計画法(QP)最適化を使用して、出発点から前記移行点までの前記第1のセグメントを生成し、
前記第2のセグメントと前記境界との間の距離を所定の距離閾値より小さくするように、前記車線の片側の境界の形状に基づき、前記移行点から前記目的地点までの前記第2のセグメントを生成することを特徴とする方法。
【請求項2】
前記QP最適化を使用して前記出発点から前記移行点までの前記第1のセグメントを生成する際、前記車線の片側の境界に基づき、第1の制約を決定することを特徴とする請求項1に記載の方法。
【請求項3】
前記QP最適化を使用して前記出発点から前記移行点までの前記第1のセグメントを生成する際、第2の制約を決定することを特徴とする請求項2に記載の方法。
【請求項4】
前記QP最適化は費用関数に基づいており、計画された経路と基準線との距離及び計画された経路の平滑さの内の少なくとも1つに基づき、前記費用関数を決定することを特徴とする請求項1に記載の方法。
【請求項5】
前記境界の形状に基づき、前記移行点から前記目的地点までの前記第2のセグメントを生成する際、前記境界の形状が直線で平滑なラインの形状であるか否かを決定することを特徴とする請求項1に記載の方法。
【請求項6】
前記境界の形状に基づき、前記移行点から前記目的地点までの前記第2のセグメントを生成する際、更に
前記境界の形状が直線で平滑なラインの形状であると決定し、
前記境界の形状を使用して前記第2のセグメントを生成することを特徴とする請求項5に記載の方法。
【請求項7】
前記境界の形状に基づき、前記移行点から前記目的地点までの前記第2のセグメントを生成する際、更に
前記境界の形状が直線で平滑なラインの形状ではないと決定し、
第2のQP最適化を使用して前記第2のセグメントを生成することを特徴とする請求項5に記載の方法。
【請求項8】
命令が記憶されている非一時的な機械可読媒体であって、
前記命令は、プロセッサによって実行されるとき、前記プロセッサに、
ADV を車線の片側の目的地点で片側に寄せる要求に応じて、第1のセグメント、第2のセグメント及び移行点を含む経路を計画させ、
計画された経路に従って、前記ADV を前記目的地点まで片側に寄せるように制御させ、
前記経路を計画させる際、
前記目的地点までの距離及び前記車線の片側の境界までの所定の距離の内の少なくとも1つに基づき、前記移行点を決定させ、
二次計画法(QP)最適化を使用して出発点から前記移行点までの前記第1のセグメントを生成させ、
前記第2のセグメントと前記境界との間の距離を所定の距離閾値より小さくするように、前記境界の形状に基づき、前記移行点から前記目的地点までの第2のセグメントを生成させることを特徴とする機械可読媒体。
【請求項9】
前記QP最適化を使用して前記出発点から前記移行点までの前記第1のセグメントを生成させる際、前記境界に基づき第1の制約を決定させることを特徴とする請求項8に記載の機械可読媒体。
【請求項10】
前記QP最適化を使用して前記出発点から前記移行点までの前記第1のセグメントを生成させる際、第2の制約を決定させることを特徴とする請求項9に記載の機械可読媒体。
【請求項11】
前記QP最適化は費用関数に基づいており、計画された経路と基準線との距離及び計画された経路の平滑さの内の少なくとも1つに基づき、前記費用関数を決定させることを特徴とする請求項8に記載の機械可読媒体。
【請求項12】
前記境界の形状に基づき、前記移行点から前記目的地点までの前記第2のセグメントを生成させる際、前記境界の形状が直線で平滑なラインの形状であるか否かを決定させることを特徴とする請求項8に記載の機械可読媒体。
【請求項13】
前記境界の形状に基づき、前記移行点から前記目的地点までの前記第2のセグメントを生成させる際、更に
前記境界の形状が直線で平滑なラインの形状であると決定させ、
前記境界の形状を使用して前記第2のセグメントを生成させることを特徴とする請求項12に記載の機械可読媒体。
【請求項14】
前記境界の形状に基づき、前記移行点から前記目的地点までの前記第2のセグメントを生成させる際、更に
前記境界の形状が直線で平滑なラインの形状ではないと決定させ、
第2のQP最適化を使用して前記第2のセグメントを生成させることを特徴とする請求項12に記載の機械可読媒体。
【請求項15】
データ処理システムであって、
プロセッサと、
前記プロセッサに結合されて命令を記憶するメモリと
を備えており、
前記命令は、前記プロセッサによって実行されるとき、前記プロセッサに
請求項1~7のいずれか1つに記載の方法を実行させることを特徴とするデータ処理システム。
【請求項16】
コンピュータ上で動作しているとき、請求項1~7のいずれか1つに記載の方法を前記コンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は一般に自律車両の運転に関する。より具体的には、本開示の実施形態は、自律運転車両(ADV) の経路計画に関する。
【背景技術】
【0002】
(例えばドライバのいない)自律モードで走行する車両は、乗る人(特にドライバ)から運転に関わる幾つかの責任を取り除くことができる。車両は、自律モードで走行するとき、搭載されたセンサを使用して様々な位置に進むことができるため、人間との最小限の相互作用で、場合によってはいかなる乗客も無しで車両が走行することができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
動きの計画及び制御は、自律運転における重要な操作である。全ての自動運転の終わりに、乗客が乗り降りするのに便利な車線の右側でADV が止まることが望まれている。しかしながら、ADV の本体全体と車線の右側の境界との距離が小さく、ADV が右側の境界と平行になるように、ADV が正確に片側に寄ることは困難である。
【図面の簡単な説明】
【0004】
本開示の実施形態は、同様の参照符号が同様の要素を示す添付図面に限定されることなく、例として図示されている。
【0005】
【
図1】一実施形態に係るネットワーク化されたシステムを示すブロック図である。
【
図2】一実施形態に係る自律車両の例を示すブロック図である。
【
図3A】一実施形態に係る自律車両と共に使用される認知・計画システムの例を示すブロック図である。
【
図3B】一実施形態に係る自律車両と共に使用される認知・計画システムの例を示すブロック図である。
【
図4】一実施形態に係る計画モジュールの例を示すブロック図である。
【
図5】一実施形態に係る計画モジュールの処理流れ図である。
【
図6】ADV を車線の片側の目的地点で片側に寄せるための方法の例を示す図である。
【
図7】ADV を車線の片側の目的地点で片側に寄せるための方法の例を示す図である。
【
図8】ADV を車線の片側の目的地点で片側に寄せるための方法の例を示すフローチャートである。
【発明を実施するための形態】
【0006】
本開示の様々な実施形態及び態様を、以下の詳細な記述を参照して説明し、添付図面は様々な実施形態を示す。以下の記述及び図面は本開示の例示であり、本開示を限定していると解釈されない。本開示の様々な実施形態の完全な理解を提供すべく、多くの特定の詳細な記述を説明する。しかしながら、場合によっては、本開示の実施形態の簡潔な記述を提供すべく、周知又は従来の詳細な記述を説明しない。
【0007】
本明細書における「一実施形態」又は「実施形態」の言及は、実施形態と併せて記載されている特定の特徴、構造又は特性が本開示の少なくとも1つの実施形態に含まれ得ることを意味する。本明細書の様々な箇所における「一実施形態」という表現は全て、必ずしも同一の実施形態について言及しているわけではない。
【0008】
ある実施形態によれば、乗客が乗り降りするのに便利な車線の右側でADV が止まることが望まれている場合がある。ADV が二次計画法に基づき正確に片側に寄る方法が、本明細書に開示されている。本方法は距離精度及び成功率を提供し得る。この方法を使用することによって、ADV の本体全体と車線の右側又は境界との距離が小さくなり、ADV は車線の右側又は境界と平行になる。
【0009】
ある実施形態によれば、ADV を車線の片側の目的地点で片側に寄せるための要求に応じて、第1のセグメント、第2のセグメント及び移行点を含む経路を計画する。目的地点までの距離及び車線の片側の境界までの所定の距離の内の少なくとも1つに基づき、移行点を決定する。出発点から移行点までの第1のセグメントを、二次計画法(QP)演算を使用して生成する。移行点から目的地点までの第2のセグメントを、境界の形状に基づき生成する。計画された経路に従って、ADV を目的地点まで片側に寄せるように制御する。
【0010】
図1は、本開示の一実施形態に係る自律車両のネットワーク構成を示すブロック図である。ネットワーク構成100 は、ネットワーク102 を介して一又は複数のサーバ103-104 に通信可能に結合され得る自律車両101 を備えている。
図1参照。一台の自律車両が図示されているが、多くの自律車両がネットワーク102 を介して互いに及び/又はサーバ103-104 に結合され得る。ネットワーク102 は、ローカルエリアネットワーク(LAN) 、インターネットのような広域ネットワーク(WAN) 、セルラーネットワーク、衛星ネットワーク、又は有線若しくは無線のこれらの組み合わせのようなあらゆるタイプのネットワークであってもよい。一又は複数のサーバ103-104 は、ウェブサーバ若しくはクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はこれらの組み合わせのような、あらゆる種類のサーバ或いは一群のサーバであってもよい。サーバ103-104 は、データ分析サーバ、コンテンツサーバ、交通情報サーバ、地図・特定地点(MPOI)サーバ又は位置サーバなどであってもよい。
【0011】
自律車両は、車両がドライバからの入力がほとんどない状態又は全くない状態で環境を進む自律モードで走行するように構成され得る車両を指す。このような自律車両は、車両が走行する環境に関する情報を検出するように構成された一又は複数のセンサを有するセンサシステムを備えることができる。車両及び車両の関連する一又は複数の制御部は、検出された情報を使用して環境を進む。自律車両101 は、手動モード、完全な自律モード又は部分的な自律モードで走行することができる。
【0012】
一実施形態では、自律車両101 は、認知・計画システム110 、車両制御システム111 、無線通信システム112 、ユーザインタフェースシステム113 及びセンサシステム115 を備えているが、これらに限定されない。自律車両101 は、エンジン、車輪、ハンドル、トランスミッションなどの通常の車両に含まれるある共通の部品を更に備えてもよく、共通の部品は、例えば加速信号若しくは加速コマンド、減速信号若しくは減速コマンド、ステアリング信号若しくはステアリングコマンド、制動信号若しくは制動コマンドなどの様々な通信信号及び/又は通信コマンドを使用して、車両制御システム111 及び/又は認知・計画システム110 によって制御されてもよい。
【0013】
部品110-115 は、相互接続、バス、ネットワーク又はこれらの組み合わせにより互いに通信可能に結合されてもよい。例えば、部品110-115 は、コントローラエリアネットワーク(CAN) バスを介して互いに通信可能に結合されてもよい。CAN バスは、マイクロコントローラ及びデバイスがホストコンピュータ無しでアプリケーションで互いに通信し得るように設計された車両バス規格である。CAN バスは、自動車内の多重電気配線のために本来設計されたメッセージに基づくプロトコルであるが、他の多くの状況でも使用される。
【0014】
一実施形態では、センサシステム115 は、一又は複数のカメラ211 、全地球測位システム(GPS) ユニット212 、慣性計測装置(IMU) 213 、レーダユニット214 及び光検出・距測(LIDAR) ユニット215 を有するが、これらに限定されない。
図2参照。GPS ユニット212 は、自律車両の位置に関する情報を提供すべく動作可能な送受信機を有してもよい。IMU 213 は、慣性加速度に基づき自律車両の位置及び向きの変化を検知し得る。レーダユニット214 は、無線信号を利用して自律車両のローカル環境内の物体を検知するシステムに相当してもよい。ある実施形態では、レーダユニット214 は、物体の検知に加えて物体の速度及び/又は進路を更に検知してもよい。LIDAR ユニット215 は、レーザを使用して自律車両が位置する環境内の物体を検知してもよい。LIDAR ユニット215 は、システムの部品の中で特に一又は複数のレーザ源、レーザスキャナ及び一又は複数の検出器を含み得る。カメラ211 は、自律車両を囲む環境の画像を取り込むための一又は複数のデバイスを含んでもよい。カメラ211 はスチールカメラ及び/又はビデオカメラであってもよい。カメラは、例えばカメラを回転及び/又は傾斜するプラットフォームに取り付けることにより、機械的に移動可能であってもよい。
【0015】
センサシステム115 は、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、制動センサ及びオーディオセンサ(例えばマイクロホン)のような他のセンサを更に有してもよい。オーディオセンサは、自律車両を囲む環境から音を取り込むように構成されてもよい。ステアリングセンサは、車両のハンドル、車輪又はこれらの組み合わせのステアリング角を検知するように構成されてもよい。スロットルセンサ及び制動センサは、車両のスロットル位置及び制動位置を夫々検知する。ある状況では、スロットルセンサ及び制動センサは、一体化されたスロットル/制動センサとして一体化されてもよい。
【0016】
一実施形態では、車両制御システム111 は、ステアリングユニット201 、(加速ユニットとも称される)スロットルユニット202 及び制動ユニット203 を有するが、これらに限定されない。ステアリングユニット201 は車両の方向又は進路を調節するためのユニットである。スロットルユニット202 は、モータ又はエンジンの速度を制御することにより、車両の速度及び加速度を制御するためのユニットである。制動ユニット203 は、摩擦を与えて車両の車輪又はタイヤの速度を落とすことにより、車両を減速させるためのユニットである。尚、
図2に示されているような部品はハードウェア、ソフトウェア又はこれらの組み合わせで実装されてもよい。
【0017】
無線通信システム112 は、自律車両101 とデバイス、センサ、他の車両などの外部のシステムとの通信を可能にするためのユニットである。
図1再度参照。例えば、無線通信システム112 は、一又は複数のデバイスと直接無線で通信することができるか、又は通信ネットワークを介して、例えばネットワーク102 を介してサーバ103-104 と無線で通信することができる。無線通信システム112 は、別の部品又はシステムと通信するために、あらゆるセルラー通信ネットワーク又は例えばWiFi(登録商標)を使用した無線ローカルエリアネットワーク(WLAN)を使用することができる。無線通信システム112 は、例えば赤外線リンク、Bluetooth (登録商標)などを使用して、デバイス(例えば車両101 内の乗客のモバイル機器、表示装置、スピーカ)と直接通信することができる。ユーザインタフェースシステム113 は、例えばキーボード、タッチスクリーン表示装置、マイクロホン及びスピーカなどを含む、車両101 内に実装される周辺機器の一部であってもよい。
【0018】
自律車両101 の機能の一部又は全ては、特に自律運転モードで走行するとき、認知・計画システム110 によって制御又は管理されてもよい。認知・計画システム110 は、センサシステム115 、車両制御システム111 、無線通信システム112 及び/又はユーザインタフェースシステム113 から情報を受信し、受信した情報を処理して出発点から目的地点までのルート又は経路を計画し、その後、計画・制御情報に基づき車両101 を運転するために必要なハードウェア(例えば一又は複数のプロセッサ、メモリ、記憶部)及びソフトウェア(例えばオペレーティングシステム、計画・ルーティングプログラム)を有している。或いは、認知・計画システム110 は車両制御システム111 と一体化されてもよい。
【0019】
例えば、乗客としてのユーザは、例えばユーザインタフェースを介して、旅行の出発位置及び目的地を指定してもよい。認知・計画システム110 は旅行に関連するデータを得る。例えば、認知・計画システム110 は、サーバ103-104 の一部であってもよいMPOIサーバから位置及びルートの情報を得てもよい。位置サーバは位置サービスを提供し、MPOIサーバは地図サービス及びある位置のPOI を提供する。或いは、このような位置及びMPOIの情報は、認知・計画システム110 の永続記憶装置にローカルにキャッシュされてもよい。
【0020】
自律車両101 がルートに沿って移動している間、認知・計画システム110 は、交通情報システム又は交通情報サーバ(TIS) からリアルタイムの交通情報を更に得てもよい。尚、第三者のエンティティによって、サーバ103-104 を作動してもよい。或いは、サーバ103-104 の機能は認知・計画システム110 と一体化されてもよい。リアルタイムの交通情報、MPOI情報及び位置情報、並びにセンサシステム115 によって検出又は検知されたリアルタイムのローカル環境データ(例えば障害物、物体、近くの車両)に基づき、認知・計画システム110 は最適なルートを計画し、指定された目的地に安全且つ効率的に到着すべく、計画されたルートに従って、例えば車両制御システム111 を介して車両101 を運転することができる。
【0021】
サーバ103 は、様々なクライアントのためにデータ分析サービスを行うためのデータ分析システムであってもよい。一実施形態では、データ分析システム103 はデータコレクタ121 及び機械学習エンジン122 を有している。データコレクタ121 は、様々な車両、つまり自律車両又は人間のドライバが運転する通常の車両から運転統計データ123 を収集する。運転統計データ123 は、発せられる運転コマンド(例えばスロットルコマンド、制動コマンド、ステアリングコマンド)、及び様々な時点で車両のセンサによって取り込まれる車両の応答(例えば速度、加速度、減速度、方向)を示す情報を含む。運転統計データ123 は、例えば(出発位置及び目的地位置を含む)ルート、MPOI、道路状況、天候状況などの、様々な時点の運転環境について記述する情報を更に含んでもよい。
【0022】
運転統計データ123 に基づき、機械学習エンジン122 は、様々な目的のために一組の規則、アルゴリズム及び/又は予測モデル124 を生成又は教育する。一実施形態では、アルゴリズム124 は、ADV を車線の片側の目的地点で片側に寄せる要求に応じて、第1のセグメント、第2のセグメント及び移行点を含む経路を計画するためのアルゴリズム若しくはモデル、目的地点までの距離及び車線の片側の境界までの所定の距離の内の少なくとも1つに基づき、移行点を決定するためのアルゴリズム、QP演算を使用して出発点から移行点までの第1のセグメントを生成するためのアルゴリズム、移行点から目的地点までの第2のセグメントを境界の形状に基づき生成するためのアルゴリズム、及び/又は計画された経路に従って、ADV を目的地点まで片側に寄せるように制御するためのアルゴリズム若しくはモデルを含んでもよい。そのため、リアルタイムで自律運転中に使用するために、アルゴリズム124 をADV (例えば
図3Aのモデル313 )にアップロードすることができる。
【0023】
図3A及び3Bは、一実施形態に係る自律車両と共に使用される認知・計画システムの例を示すブロック図である。システム300 は、認知・計画システム110 、車両制御システム111 及びセンサシステム115 を有するが、これらに限定されない
図1の自律車両101 の一部として実装されてもよい。認知・計画システム110 は、位置特定モジュール301 、認知モジュール302 、予測モジュール303 、決定モジュール304 、計画モジュール305 、制御モジュール306 及びルーティングモジュール307 を有するが、これらに限定されない。
図3A及び
図3B参照。
【0024】
モジュール301-307 の一部又は全ては、ソフトウェア、ハードウェア又はこれらの組み合わせで実装されてもよい。例えば、これらのモジュールは、永続記憶装置352 にインストールされてメモリ351 にロードされ、一又は複数のプロセッサ(不図示)によって実行されてもよい。尚、これらのモジュールの一部又は全ては
図2の車両制御システム111 の一部又は全てのモジュールと通信可能に結合されてもよく又は一体化されてもよい。モジュール301-307 の一部は、一体化されたモジュールとして共に一体化されてもよい。
【0025】
位置特定モジュール301 は、(例えばGPS ユニット212 を使用して)自律車両300 の現在位置を決定し、ユーザの旅行又はルートに関連するあらゆるデータを管理する。(地図・ルートモジュールとも称される)位置特定モジュール301 は、ユーザの旅行又はルートに関連するあらゆるデータを管理する。ユーザは、例えばユーザインタフェースを介してログインし、旅行の出発位置及び目的地を指定してもよい。位置特定モジュール301 は、地図・ルート情報311 のように自律車両300 の他の部品と通信して旅行に関連するデータを得る。例えば、位置特定モジュール301 は、位置サーバ及び地図・POI (MPOI)サーバから位置・ルート情報を得てもよい。位置サーバは位置サービスを提供し、MPOIサーバは、地図・ルート情報311 の一部としてキャッシュされてもよい地図サービス及び特定の位置のPOI を提供する。自律車両300 がルートに沿って移動している間、位置特定モジュール301 は、交通情報システム又は交通情報サーバからリアルタイムの交通情報を更に得てもよい。
【0026】
センサシステム115 によって与えられるセンサデータ及び位置特定モジュール301 によって得られる位置特定情報に基づき、認知モジュール302 によって周辺環境の認知情報を決定する。認知情報は、一般のドライバが運転している車両を囲む何をドライバが認知しているかを表してもよい。認知情報は、例えば物体の形態で車線の構成、信号機の信号、別の車両の相対位置、歩行者、建物、横断歩道又は他の交通に関連する標識(例えば一時停止の標識、譲れの標識)などを含み得る。車線の構成は、一又は複数の車線、例えば車線の形状(例えば直線又は湾曲)、車線の幅、道路の車線の数、一方通行又は対面通行の車線、合流又は分離する車線、出口車線などについて記述する情報を含む。
【0027】
認知モジュール302 は、自律車両の環境内の物体及び/又は特徴を識別するために、一又は複数のカメラによって取り込まれる画像を処理して分析するためのコンピュータビジョンシステム又はコンピュータビジョンシステムの機能を有してもよい。物体は、交通信号、道路の境界、他の車両、歩行者及び/又は障害物などを含み得る。コンピュータビジョンシステムは、物体認識アルゴリズム、ビデオ追跡及び他のコンピュータビジョン技術を使用してもよい。ある実施形態では、コンピュータビジョンシステムは環境をマップして物体を追跡し、物体の速度などを推定することができる。認知モジュール302 は更に、レーダ及び/又はLIDAR のような他のセンサによって与えられる他のセンサのデータに基づき、物体を検出することができる。
【0028】
物体毎に、予測モジュール303 は、物体がこの状況下でどのようにふるまうかを予測する。一組の地図/ルート情報311 及び交通規則312 を考慮して、ある時点での運転環境を認知する認知データに基づき予測する。例えば、物体が反対方向の車両であり、現在の運転環境が交差点を含んでいる場合、予測モジュール303 は、車両が真っ直ぐ進むか又は曲がる虞があると予測する。交差点に信号機がないと認知データが示す場合、予測モジュール303 は、車両が交差点に入る前に完全に止まらなければならないかもしれないと予測する場合がある。車両が現在、左折専用車線又は右折専用車線にいると認知データが示す場合、予測モジュール303 は、車両が左折又は右折する虞があると予測する場合がある。
【0029】
物体毎に、決定モジュール304 は、物体に対応する方法を決定する。例えば、特定の物体(例えば交差するルートにある別の車両)及びこの物体について記述するメタデータ(例えば速度、方向、回転角)に関して、決定モジュール304 は、物体に対処する方法(例えば追い越す、譲る、止まる、通過する)を決定する。決定モジュール304 は、永続記憶装置352 に記憶されてもよい交通規則又は運転規則312 のような一組の規則に従って、このような決定を行ってもよい。
【0030】
ルーティングモジュール307 は、出発点から目的地点までの一又は複数のルート又は経路を提供するように構成されている。例えばユーザから受けた出発位置から目的地位置までの所与の旅行のために、ルーティングモジュール307 は、地図・ルート情報311 を得て、目的地位置に到着するための出発位置からのあらゆる可能なルート又は経路を決定する。ルーティングモジュール307 は、ルーティングモジュール307 が決定した目的地位置に到着するための出発位置からのルート毎に地形図の形態で基準線を生成してもよい。基準線は、他の車両、障害物又は交通状況のような他のものからのいかなる干渉もなく理想的なルート又は経路を示す。すなわち、道路に他の車両、歩行者又は障害物がない場合、ADV は基準線に正確に又は厳密に従うべきである。その後、地形図を決定モジュール304 及び/又は計画モジュール305 に与える。決定モジュール304 及び/又は計画モジュール305 は、位置特定モジュール301 からの交通状況、認知モジュール302 によって認知される運転環境及び予測モジュール303 によって予測される交通状況のような他のモジュールによって与えられる他のデータを考慮して、可能なルートの全てを調べて最適なルートの内の1つを選択して修正する。ADV を制御するための実際の経路又はルートは、ある時点での特定の運転環境に応じて、ルーティングモジュール307 によって与えられる基準線と近くてもよく、又はこの基準線と異なってもよい。
【0031】
ある実施形態では、基準点を、ステーション-横方向(SL)座標のような相対座標系に変換してもよい。ステーション-横方向座標系は、基準線をたどるために固定基準点を基準とする座標系である。例えば、(S, L)=(1, 0) 座標は、基準線上の固定点(つまり基準点)の前方に1メートルであり、横方向にゼロメートルオフセットしていることを意味し得る。(S, L)=(2, 1) 基準点は、基準線に沿って固定基準点の前方に2メートルであり、基準線から横方向に1メートルオフセットしている、例えば左に1メートルオフセットしていることを意味し得る。
【0032】
認知された物体毎の決定結果に基づき、計画モジュール305 は、ルーティングモジュール307 によって与えられた基準線を基準として使用して、自律車両のための経路又はルート、及び運転パラメータ(例えば距離、速度及び/又は回転角)を計画する。すなわち、所与の物体に関して、決定モジュール304 が物体に対処するためになすべきことを決定する一方、計画モジュール305 はその方法を決定する。例えば、所与の物体に関して、決定モジュール304 が物体を通過すると決定してもよい一方、計画モジュール305 は、物体の左側を通過するか又は右側を通過するかを決定してもよい。計画モジュール305 によって、自律車両300 が次の移動サイクル(例えば、次のルート/経路セグメント)でどのように移動するかについて記述している情報を含む計画・制御データを生成する。例えば、計画・制御データは、自律車両300 に時速30マイル(mph) の速度で10メートル移動し、次に25 mphの速度で右の車線に変わるように指示してもよい。
【0033】
計画・制御データに基づき、制御モジュール306 は、計画・制御データによって定められたルート又は経路に応じて、適切なコマンド又は信号を車両制御システム111 に送信することにより、自律車両を制御して運転する。計画・制御データは、経路又はルートに沿って様々な時点で適切な車両設定又は運転パラメータ(例えばスロットルコマンド、制動コマンド、ステアリングコマンド)を使用して、ルート又は経路の第1の地点から第2の地点に車両を運転するための十分な情報を含む。
【0034】
一実施形態では、計画段階を、運転サイクルとも称される多くの計画サイクルで、例えば100 ミリ秒(ms)の時間間隔毎に行う。計画サイクル又は運転サイクル毎に、計画・制御データに基づき一又は複数の制御コマンドを発する。すなわち、100 ms毎に、計画モジュール305 は、例えば目標位置、及びADV が目標位置に到着するのに必要な時間を含む次のルートセグメント又は経路セグメントを計画する。或いは、計画モジュール305 は、特定の速度、方向及び/又はステアリング角などを更に指定してもよい。一実施形態では、計画モジュール305 は、次の所定の時間、例えば5秒間のルートセグメント又は経路セグメントを計画する。計画サイクル毎に、計画モジュール305 は、前のサイクルで計画された目標位置に基づき、現在のサイクル(例えば次の5秒間)の目標位置を計画する。その後、制御モジュール306 は、現在のサイクルの計画・制御データに基づき一又は複数の制御コマンド(例えばスロットルコマンド、制動コマンド、ステアリング制御コマンド)を生成する。
【0035】
尚、決定モジュール304 及び計画モジュール305 は、一体化されたモジュールとして一体化されてもよい。決定モジュール304 /計画モジュール305 は、自律車両のための運転経路を決定するためにナビゲーションシステム又はナビゲーションシステムの機能を有してもよい。例えば、ナビゲーションシステムは、最終目的地に通じる車道に基づく経路に沿って自律車両を一般に前進させながら、認知された障害物を実質的に避ける経路に沿って自律車両を移動させるための一連の速度及び方向進路を決定してもよい。ユーザインタフェースシステム113 を介したユーザの入力に従って、目的地を設定してもよい。自律車両の走行中、ナビゲーションシステムは運転経路を動的に更新してもよい。ナビゲーションシステムは、自律車両のための運転経路を決定するようにGPS システムからのデータ及び一又は複数の地図を組み込むことができる。
【0036】
一実施形態によれば、計画モジュール305 は、ADV を車線の片側の目的地点で片側に寄せる要求に応じて、第1のセグメント、第2のセグメント及び移行点を含む経路を計画するように構成されている。計画モジュール305 は、目的地点までの距離及び車線の片側の境界までの所定の距離の内の少なくとも1つに基づき、移行点を決定するように構成されている。計画モジュール305 は、QP演算を使用して出発点から移行点までの第1のセグメントを生成するように構成されている。計画モジュール305 は、移行点から目的地までの第2のセグメントを境界の形状に基づき生成するように更に構成されている。制御モジュール306 は、計画された経路に従って、ADV を目的地点まで片側に寄せるべく制御するように構成されている。
【0037】
図4は計画モジュールの例を示すブロック
図400 であり、
図5は、一実施形態に係る計画モジュールの処理流れ
図500 である。計画モジュール305 は、これらに限定されない第1のセグメントモジュール401 、第2のセグメントモジュール402 及び移行点モジュール403 を有し、これらのモジュールは、計画された経路に従ってADV を目的地点まで片側に寄せるためにQPアルゴリズム又はモデル314 を使用して協働する。
図4及び
図5参照。尚、モジュール401-403 は、より少数のモジュール又は単一のモジュールに一体化されてもよい。
【0038】
一実施形態によれば、計画モジュール305 は、ADV を車線の片側の目的地点で片側に寄せる要求に応じて、第1のセグメント、第2のセグメント及び移行点を含む経路を計画するように構成されている。移行点モジュール403 は、目的地点までの距離及び車線の片側の境界までの所定の距離の内の少なくとも1つに基づき、移行点を決定するように構成されてもよい。第1のセグメントモジュール401 は、QPモジュール501 によるQP最適化を使用して出発点から移行点までの第1のセグメントを生成するように構成されている。第2のセグメントモジュール402 は、移行点から目的地点までの第2のセグメントを境界の形状に基づき生成するように構成されている。制御モジュール306 は、計画された経路に従って、ADV を目的地点まで片側に寄せるべく制御するように構成されている。
【0039】
一実施形態では、第1のセグメントモジュール401 は、制約モジュール502 及び費用関数モジュール503 を有するQPモジュール501 と経路生成器504 とを有しているが、これらに限定されない。制約モジュール502 は、車線の右側の境界に基づき、第1のセグメントのための右側の制約を決定するように構成されてもよい。制約モジュール502 は、第1のセグメントのための左側の制約を決定するように更に構成されてもよい。費用関数モジュール503 は、計画された経路と基準線との距離及び計画された経路の平滑化レベルの内の少なくとも1つに基づき、費用関数を決定するように構成されている。経路生成器504 は、経路の第1のセグメントを生成するように構成されている。
【0040】
一実施形態では、第2のセグメントモジュール402 は、決定モジュール505 と、制約モジュール507 及び費用関数モジュール508 を有するQPモジュール506 と、経路生成器509 とを有しているが、これらに限定されない。決定モジュール505 は、境界の形状が平滑であるか否かを決定するように構成されてもよい。制約モジュール502 は、第2のセグメントのための右側の制約及び左側の制約を決定するように更に構成されてもよい。費用関数モジュール508 は、計画された経路と基準線との距離及び計画された経路の平滑化レベルの内の少なくとも1つに基づき、費用関数を決定するように構成されている。経路生成器509 は、経路の第2のセグメントを生成するように構成されている。
【0041】
図6及び
図7は、ADV を車線の片側の目的地点で片側に寄せるための方法の例を示す図である。全ての自動運転の終わりに、乗客が乗り降りするのに便利な車線の右側でADV が止まることが望まれてもよい。しかしながら、ADV の本体全体と車線の右側の境界との距離が小さくなり、ADV が右側の境界と平行になるように、ADV が正確に片側に寄ることは困難である。例えば、ADV が車線の右側の境界まで僅かな距離で片側に寄るのは困難な場合があり、ADV が右側の境界と平行になるのは困難な場合がある。
【0042】
本明細書には、二次計画法(QP)に基づきADV を正確に片側に寄せるための方法が開示されている。この方法を使用することにより、ADV の本体全体と車線の右側の境界との距離が小さく、ADV が右側の境界と平行であるように、ADV が正確に片側に寄ることができる。本方法により、ADV を片側に寄せる際に高い距離精度及び高い成功率がもたらされ得る。
【0043】
2つの部分、つまりQPセグメント領域(例えば601, 701)のQPセグメント(例えば721 )及び保持セグメント領域(例えば602, 702)の保持セグメント(例えば722 )を含む経路を生成することによって、ADV を正確に道路の片側に寄せるための経路を計画してもよい。
図6及び
図7参照。QPセグメント(例えば721 )はADV を道路の片側に更に近づけるように構成されてもよく、保持セグメント(例えば722 )はADV を道路の片側と平行に保つように構成されてもよい。
【0044】
一実施形態では、ADV が走行する車線(例えば605, 705)の左側の車線境界(例えば603, 703)及び右側の車線境界(例えば604, 704)を得てもよい。車線(例えば605, 705)が左側から通過することが許可されているか否かのような車線の車線タイプを更に得てもよい。例えば、
図6に示されている車線605 は、左側から通過することが許可されている。別の例では、
図7に示されている車線705 は、左側から通過することが許可されていない。
【0045】
例えばルーティングモジュール307 によって生成された基準線に応じて、車線のサンプル地点をSL座標に投影してもよい。SL投影は、平滑な基準線の連続曲率導関数に基づいてもよい。デカルト座標空間では、障害物及びADV の状態が、位置及び進路(x,y,θ)並びにADV に関する曲率及び曲率の導関数(κ,dκ)を用いて記述されてもよい。そのため、これらを、ADV のステーション、横方向及び横方向導関数を表すSL座標(s, l, dl, ddl, dddl) にマップしてもよい。SL座標系では、経路の経路座標は、ステーションS(経路に沿った距離)及び横方向座標L(点と経路とを交差する線上で測定されて、交差する点で経路に対して垂直である経路からの点の距離)である。
【0046】
上述されているように、ADV に関するSL座標系は、基準線をたどるために固定基準点を基準とする座標系である。例えば、(S, L)=(1, 0) 座標は、基準線上の固定点(つまり基準点)の前方に1メートルであり、横方向にゼロメートルオフセットしていることを意味し得る。(S, L)=(2, 1) 基準点は、基準線に沿って固定基準点の前方に2メートルであり、基準線から横方向に1メートルオフセットしている、例えば左に1メートルオフセットしていることを意味し得る。
【0047】
一実施形態では、認知モジュール302 は、ADV に取り付けられたセンサに基づき、運転環境を検出するように構成されてもよい。例えば、認知モジュール302 は、右側が安全か否かをチェックしてもよい。右側に障害物がある場合、特に右側から割り込む動的な障害物がある場合、片側に寄ることを禁止する。
【0048】
移行点(例えば606, 706)はQPセグメント(例えば721 )の端である。移行点(例えば606, 706)を、目的地点(例えば720 )までの距離と、車線(例えば605, 705)の右側の境界(例えば604, 704)までの所望の距離とに応じて決定してもよい。例えば、ADV が次の計画サイクルで目的地点(例えば720 )に更に近づくにつれて、移行点は前方に移ってもよい。
【0049】
ADV は、QPセグメント(例えば721 )の左側の制約(例えば610, 710)及び右側の制約(例えば611, 711)を決定するように構成されてもよい。右側の制約(例えば611, 711)は、QPセグメント(例えば721 )の右側の車線境界(例えば604, 704)に基づいてもよい。例えば、右側の制約(例えば611, 711)は、右側の車線境界(例えば604, 704)からADV の幅の半分、離れるように決定されてもよい。
【0050】
一実施形態では、QPセグメント(例えば721 )の左側の制約(例えば610, 710)を決定してもよい。QPセグメント(例えば721 )の左側の制約(例えば610, 710)は、車線(例えば605, 705)が左から通過することが許可されているか否かのような、車線の車線タイプに基づいてもよい。例えば、
図6に示されている車線605 では、左側から通過することが許可されているため、左側の制約610 を、例えばADV の幅分、車線605 の左側の車線境界603 を越えて広げてもよい。別の例では、
図7に示されている車線705 では、左側から通過することが許可されていないため、左側の制約710 を、車線705 の左側の車線境界703 を越えて広げなくてもよい。
【0051】
QPセグメント(例えば721 )の左側の制約(例えば610, 710)を決定する際、初めの幾つかの左側の制約が、クルーズコントロールのように夫々の位置で維持されてもよい。初めの幾つかの左側の制約の数は2、3、4、5、6、7、8、9、10又はこれらの値の間のあらゆる値であってもよい。
図6に示されているように、第1の地点607 はADV の現在位置で維持されてもよい。第2の地点608 及び第3の地点609 は、クルーズコントロールのように維持されてもよい。障害物を回避し得るために、車線605 が左側から通過することを許可されているので、左側の制約を車線の左側まで広げてもよい。一実施形態では、曲線610 を使用して、初めの幾つかの左側の制約(例えば607, 608, 609 )を移行点606 に接続してもよい。例として、曲線610 は円弧、つまり円の円周の一部であってもよい。別の例として、曲線は、楕円形の曲線、放物線の曲線のような他の曲線の一部であってもよい。
【0052】
QPセグメント(例えば721 )の左側の制約(例えば610, 710)及び右側の横方向の制約(例えば611, 711)を得た後、QP最適化(QPソルバ)を使用してQPセグメント(例えば721 )を生成してもよい。QP最適化は、特別なタイプの数理最適化問題、特に線形制約付二次最適化問題、すなわち、複数の変数に対する線形制約を受けるこれらの変数の二次関数を最適化する(最小化又は最大化する)問題を解く処理である。QPは特定のタイプの非線形計画法である。
【0053】
一実施形態では、一組の制約を満たしながら、目的関数又は費用関数の総費用が最小値に達するように、目的関数又は費用関数に対してQP最適化を行ってもよい。一実施形態では、多項式又は多項式関数を使用して、計画された経路を表してもよい。曲線が曲線に沿って連続的である(例えば、2つの隣接するセグメントの接点での導関数が取得可能である)ように、多項式最適化又は多項式適合という用語は、多項式関数(例えば五次又は四次の多項式関数)によって表される曲線(本例では、生成される経路)の形状の最適化を指す。自律運転の分野では、出発点から終点までの多項式曲線を、制御点(又は基準点)に夫々対応する多くのセグメント(又は部分)に分割してもよい。このように分割された多項式曲線は区分的多項式と称され得る。区分的多項式を最適化する場合、一組の初期状態制約及び最終状態制約に加えて、2つの隣接するセグメント間の一組の接点制約及び一組の境界制約を満たす必要がある。
【0054】
例えば、経路に関する多項式関数は、
l(s) = p0+p1s+p2s2+…+pnsn
のように1次元であってもよい。
ここで、s, lは、n次の多項式に関するステーション-横方向1次元(s, l)幾何座標を表し、p0..n は、解くべき1次元多項式の係数である。例えば、同次多項式関数に関してnは5であってもよい。
【0055】
QP最適化を使用して、SL座標における費用関数に基づく経路を最適化してもよい。QP最適化を行って、費用関数に基づき、SL座標におけるステーション座標に関する横方向座標l = f(s)の最適な関数を見つけてもよい。費用関数は車線費用及び平滑費用の組み合わせであってもよい。一実施形態では、費用関数は以下の通りであってもよい。
【0056】
【0057】
QPセグメント721 の左側の制約710 及び右側の横方向の制約711 に応じて、上記の費用関数に基づきQP最適化によってQPセグメント721 の計画経路を生成してもよい。
図7参照。
【0058】
しかしながら、QPセグメント(例えば721 )を含む経路のみでは、車線705 の右側の境界704 である道路の片側と平行にADV を保つことができない場合がある。更に、右側の車線境界704 は直線で平滑なライン上にない場合がある。保持セグメント(例えば722 )によって、制御モジュール306 がADV の向きを調節するための時間が与えられてもよい。ADV が車線705 の右側の境界704 と平行であるように保持セグメント722 を設けることが有利な場合がある。
【0059】
一実施形態では、移行点706 と目的地点720 との間の右側の車線境界704 が直線で平滑なラインの形状である場合、右側の車線境界704 の形状に基づき、保持セグメント722 を生成してもよい。例えば、SL座標では、
図7に示されているように、右側の車線境界704 を上方に平行移動させて移行点706 でQPセグメント721 と接続することにより、保持セグメント722 を生成してもよい。
【0060】
右側の車線境界704 の形状が複雑であり、直線で平滑なラインの形状ではない場合、上述した処理と同様の別のQP最適化(QPソルバ)によって保持セグメントを生成してもよい。
【0061】
一実施形態では、保持セグメント領域702 の右側の車線境界704 の形状に基づき、保持セグメント722 の右側の制約711 を決定してもよい。例えば、保持セグメント722 の右側の制約711 は、右側の車線境界704 の形状で右側の車線境界704 からADV の幅の半分、離れてもよい。保持セグメント722 の左側の制約710 は、ADV の本体全体と車線705 の右側の境界704 との間の所定の距離閾値に基づいてもよい。例えば、保持セグメント722 の左側の制約710 は、保持セグメント722 の右側の制約711 から所定の距離閾値分、離れてもよい。ADV の本体全体と車線705 の右側の境界704 との間の所定の距離閾値は、10cm、15cm、20cm、30cm、50cm又はこれらの値の間のあらゆる値であってもよい。例えば、所定の距離閾値は15cm~20cmの間であってもよい。このようにして、ADV の本体全体と車線の右側の境界との距離が所定の距離閾値より小さく、ADV が右側の境界と平行であるように、ADV を正確に片側に寄せることができる。
【0062】
図8は、ある実施形態に従って、ADV を車線の片側の目的地点で片側に寄せるための方法の例を示すフローチャート800 である。処理800 を、ソフトウェア、ハードウェア又はこれらの組み合わせを有してもよい処理論理回路によって行ってもよい。例えば、処理800 を計画モジュール305 により行ってもよい。ステップ801 では、処理論理回路が、ADV を車線の片側の目的地点で片側に寄せる要求に応じて、第1のセグメント、第2のセグメント及び移行点を含む経路を計画する。
図8参照。ステップ801 は、ステップ802 、ステップ803 及びステップ804 を有する。ステップ802 では、処理論理回路が、目的地点までの距離及び車線の片側の境界までの所定の距離の内の少なくとも1つに基づき、移行点を決定する。ステップ803 では、処理論理回路が、二次計画法(QP)最適化を使用して出発点から移行点までの第1のセグメントを生成する。ステップ804 では、処理論理回路が、移行点から目的地点までの第2のセグメントを境界の形状に基づき生成する。ステップ805 では、処理論理回路が、計画された経路に従って、ADV を目的地点まで片側に寄せるように制御する。
【0063】
尚、図示されて上述されている部品の一部又は全てはソフトウェア、ハードウェア又はこれらの組み合わせで実装されてもよい。例えば、このような部品は永続記憶装置にインストールされて記憶されたソフトウェアとして実装されることができ、このソフトウェアは、本明細書を通して記載されている処理又は演算を行うために、プロセッサ(不図示)によってメモリにロードされて実行され得る。或いは、このような部品は、集積回路(例えばアプリケーションに特化したIC若しくはASIC)、デジタルシグナルプロセッサ(DSP) 又はフィールドプログラマブルゲートアレイ(FPGA)のような専用のハードウェアにプログラムされるか又は埋め込まれる実行可能なコードとして実装されることができ、この実行可能なコードは、アプリケーションから対応するドライバ及び/又はオペレーティングシステムを介してアクセスされ得る。更に、このような部品は、一又は複数の特定の命令を介してソフトウェア部品によってアクセス可能な命令セットの一部としてプロセッサ又はプロセッサコアの特定のハードウェア論理回路として実装され得る。
【0064】
前述の詳細な記述の一部は、コンピュータメモリ内のデータビットに対する演算のアルゴリズム及び記号表現の点から示されている。これらのアルゴリズムの記述及び表現は、データ処理の技術分野における当業者が自身の仕事内容を当該技術分野の他の人に最も効率的に伝えるべく使用する方法である。アルゴリズムは、本明細書では一般に、所望の結果をもたらすセルフコンシステントシーケンスの演算であると考えられている。演算は、物理量の物理的操作を必要とする演算である。
【0065】
しかしながら、これらの用語及び同様の用語の全ては適切な物理量と関連しており、これらの量に適用される単なる便利なラベルに過ぎないことに留意すべきである。上記の記述から明らかなように、特に具体的に述べられていない限り、本明細書を通じて、以下の特許請求の範囲に定義されているような用語を使用した記述は、コンピュータシステムのレジスタ及びメモリ内の物理(電子)量として表されるデータを操作して、コンピュータシステムのメモリ又はレジスタ又は他のこのような情報記憶部、送信装置又は表示装置内の物理量として同様に表される他のデータに変換するコンピュータシステム又は同様の電子コンピュータデバイスの動作及び処理を指すことが認識される。
【0066】
本開示の実施形態は、本明細書における演算を行うための装置に更に関する。このようなコンピュータプログラムは、非一時的なコンピュータ可読媒体に記憶されている。機械可読媒体は、機械(例えばコンピュータ)が読み取り可能な形態で情報を記憶するためのあらゆる機構を含んでいる。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えばコンピュータ)可読記憶媒体(例えば読み出し専用メモリ(ROM )、ランダムアクセスメモリ(RAM )、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス)を含んでいる。
【0067】
前述の図面に示されている処理又は方法を、ハードウェア(例えば回路、専用論理回路など)、(例えば、非一時的なコンピュータ可読媒体に埋め込まれた)ソフトウェア又はこれら両方の組み合わせを備えた処理論理回路によって行ってもよい。処理又は方法が複数の連続的な演算の点から上述されているが、記載されている演算の一部を異なる順に行ってもよいと認識されるべきである。更に、一部の演算を連続的ではなく並行して行ってもよい。
【0068】
本開示の実施形態は、特定のプログラミング言語を参照して記載されていない。様々なプログラミング言語を使用して、本明細書に記載されているような本開示の実施形態の教示を実施してもよいことが認識される。
【0069】
前述の明細書では、本開示の実施形態は、本開示の特定の例示的な実施形態を参照して記載されている。以下の特許請求の範囲に記載されているような本開示のより広い趣旨及び範囲から逸脱することなく、様々な変更がなされ得ることは明らかである。従って、明細書及び図面は限定的な意味ではなく例示の意味で考慮されるべきである。