以下、説明の詳細を参照しながら、本発明の様々な実施形態及び態様を説明し、図面は、前記様々な実施形態を示す。以下の説明及び図面は、本発明を説明するためのものであり、本発明を限定するものではない。本発明の様々な実施形態を完全に理解するために、多数の特定の詳細を説明する。なお、いくつかの例では、本発明の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
本明細書において「一つの実施形態」又は「実施形態」の記載は、当該実施形態と組み合わせて説明された特定特徴、構造又は特性が本発明の少なくとも一つの実施形態に含まれてもよいことを意味している。語句「一つの実施形態では」は、本明細書全体において同一実施形態を指すとは限らない。
幾つかの実施形態によれば、自動運転車両(ADV)のブレーキライトは、当該自動運転車両(ADV)との距離が妥当でない(例えば、短くすぎ)追従車両を自動的にリマインダーすることに用いられ、例えば、ブレーキペダルに踏まず、または、自動運転車両(ADV)を減速するためのブレーキコマンドを発行せずに、ブレーキライトを点灯または点滅することを利用する。安全機構は適切の場所に存在して、自動運転車両(ADV)と追従車両との距離が所定の閾値を下回ったかどうかを検出して、自動運転車両(ADV)のブレーキライトを点灯して追従車両の減速に合図する。自動運転車両(ADV)が実際に減速していないが、ブレーキライトの点灯または点滅により、自動運転車両(ADV)が間もなく減速することを追従車両の運転手にイメージを与える。こうすると、通常、追従車両の運転手による減速を招いて、安全の目的として自動運転車両(ADV)と追従車両との距離が増加することになる。
一つの実施形態によれば、自動運転車両(ADV)に追従している追従車両の運転行為は、当該自動運転車両により感知される。自動運転車両(ADV)と追従車両との距離は、感知された追従車両の運転行為に基づいて決定される。自動運転車両(ADV)は、前記距離が所定の閾値よりも小さいかどうかを判断する。前記所定の閾値は、その時点の運転シナリオについて設定されてもよい。つまり、運転シナリオまたは環境ごとに、異なる距離閾値に関連付けることができる。例えば、雨天または滑りやすい道での距離閾値は、晴れの日または乾燥道路での距離閾値よりも長い。自動運転車両(ADV)と追従車両との距離が所定の閾値よりも小さいと判断されたことに応答して、自動運転車両(ADV)の減速用のブレーキコマンドを発行せず、1つまたは複数の自動運転車両(ADV)のブレーキライトを点灯する。ブレーキライトが所定のパターンで点滅することができる。点灯または点滅されたブレーキライトは、追従車両の運転手にまもなく減速のイメージを与えるので、点灯または点滅されたブレーキライトは追従車両の運転手に減速の操作を合図する。
図1は本発明に係る一実施形態に係る自動運転車両のネットワーク配置を示すブロック図である。図1を参照して、ネットワーク配置100はネットワーク102によって1つ以上のサーバ103〜104に通信可能に接続することができる自動運転車両101を含む。1つの自動運転車両を示すが、ネットワーク102によって複数の自動運転車両は互いに接続され、及び/又はサーバ103〜104に接続されることができる。ネットワーク102は、任意のタイプのネットワーク、例えば有線又は無線のローカルエリアネットワーク(LAN)、例えばインターネットのようなの広域ネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク又はその組み合わせであってもよい。サーバ103〜104は任意のタイプのサーバ又はサーバクラスタ、例えばWebサーバ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はその組み合わせであってもよい。サーバ103〜104は、データ分析サーバ、内容サーバ、交通情報サーバ、地図(マップ)及び興味のあるポイント(MPOI)サーバ又は位置サーバ等であってもよい。
自動運転車両とは、運転手からの入力が非常に少ない又はない場合に案内して環境を通過する自動運転モードに設置される車両である。自動運転車両は、車両が走行している環境にかかる情報を検出するように配置される1つまたは複数のセンサを含むセンサシステムを備える。車両及びその関連しているコントローラが、検出された情報で案内して環境を通過する。自動運転車両101が手動モード、完全自動運転モードまたは部分自動運転モードで運転されることできる。
一実施形態において、自動運転車両101は、感知及び計画システム110と、車両制御システム111と、無線通信システム112と、ユーザインターフェースシステム113と、インフォテイメントシステム114と、センサシステム115とを含むが、これらに制限されない。自動運転車両101は、通常の車両に含まれるある一般的な構成要素(部材)、例えばエンジン、車輪、ハンドル、変速器等をさらに含んでもよく、前記構成要素は、車両制御システム111及び/又は感知及び計画システム110により多種の通信信号及び/又はコマンド(例えば加速信号又はコマンド、減速信号又はコマンド、ステアリング信号又はコマンド、ブレーキ信号又はコマンド等)を使用して制御されることができる。
構成要素110〜115は、インターコネクト、バス、ネットワーク又はそれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素110〜115は、コントローラローカルエリアネットワーク(CAN)バスを介して互いに通信可能に接続することができる。CANバスは、マイクロコントローラ及び装置がホストコンピューターのない応用において互いに通信することを許可するような車両バス標準として設計される。それは、最初に自動車内における複数の電線のために設計されたメッセージに基づくプロトコルであるが、他のたくさんの環境(状況)にも用いられる。
いま、図2を参照して、一実施形態において、センサシステム115は、1つ以上のカメラ211と、全地球測位システム(GPS)ユニット212と、慣性計測ユニット(IMU)213と、レーダーユニット214と、光検出及び測距(LIDAR)ユニット215とを含むが、これらに制限されない。GPSシステム212は、送受信機を含んでもよく、前記送受信機は、自動運転車両の位置に関する情報を提供するように操作されることができる。IMUユニット213は、慣性加速度に基づいて自動運転車両の位置及び方向変化を感知することができる。レーダーユニット214は、無線信号を利用して自動運転車両のローカル環境内の対象を感知するシステムを示すことができる。いくつかの実施形態において、対象を感知する以外、レーダーユニット214は、さらに対象の速度及び/又は走行方向を感知することができる。LIDARユニット215はレーザを使用して自動運転車両の所在する環境における対象を感知することができる。その他のシステム構成要素以外、LIDARユニット215は1つ以上のレーザ光源、レーザースキャナ及び1つ以上の検出器をさらに含んでもよい。カメラ211は、自動運転車両の周辺環境の画像をキャプチャするための1つ以上の装置を含んでもよい。カメラ211は、スチルカメラ及び/又はビデオカメラであってもよい。カメラは、例えば回転及び/又は傾斜のプラットフォームに取り付けられる、機械的に移動可能なものであってもよい。
センサシステム115は、その他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ(例えばマイクロフォン)をさらに含んでもよい。オーディオセンサは、自動運転車両周辺の環境から音をキャプチャするように配置されてもよい。ステアリングセンサは、ハンドル、車両の車輪又はその組み合わせのステアリング角を感知するように配置されることができる。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を感知する。いくつかの場合、スロットルセンサ及びブレーキセンサは、集積型スロットル/ブレーキセンサに一体化されてもよい。
一実施形態において、車両制御システム111は、ステアリングユニット201と、スロットルユニット202(加速ユニットとも呼ばれる)と、ブレーキユニット203とを含むが、これらに制限されない。ステアリングユニット201は、車両の方向又は走行方向を調整することに用いられる。スロットルユニット202は、モーター又はエンジンの速度を制御して、さらに車両の速度及び加速度を制御することに用いられる。ブレーキユニット203は、摩擦を提供することによって車両の車輪又はタイヤをスローダウンして車両を減速させることに用いられる。注意すべきなのは、図2に示すような構成要素はハードウェア、ソフトウェア又はその組み合わせで実現されることができる。
図1を再び参照して、無線通信システム112は、自動運転車両101と、例えば装置、センサ、その他の車両等の外部システムとの間に通信することを可能にさせる。例えば、無線通信システム112は、1つ以上の装置に直接に又は通信ネットワークを介して無線通信し、例えばネットワーク102によってサーバ103〜104に通信できる。無線通信システム112は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)(例えばWiFi(登録商標))を使用して他の構成要素やシステムに通信できる。無線通信システム112は、例えば赤外線リンク、ブルートゥース(登録商標)等を使用して装置(例えば、乗客の移動装置、表示装置、車両101内のスピーカー)に直接に通信できる。ユーザインターフェースシステム113は、車両101内で実行される周辺装置の一部であってもよく、例えばキーボード、タッチスクリーンディスプレイ装置、マイクロフォン、及びスピーカー等を含む
自動運転車両101の一部又は全ての機能は、特に自動運転モードで操作する場合、感知及び計画システム110により制御されたり管理されたりすることができる。感知及び計画システム110は、必要なハードウェア(例えば、プロセッサ、メモリ、記憶装置)、及びソフトウェア(例えば、オペレーティングシステム、計画及びルーティングプログラム)を含み、センサシステム115、車両制御システム111、無線通信システム112、及び/又はユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、出発地から目的地までのルートや経路を計画し、そして計画及び制御情報に基づいて車両101を運転させる。あるいは、感知及び計画システム110と車両制御システム111とは一体化されてもよい。
例えば、乗客とするユーザは、例えばユーザインターフェースによって旅程の出発位置及び目的位置を指定することができる。感知及び計画システム110は旅程関連データを取得する。例えば、感知及び計画システム110は、MPOIサーバから位置及びルート情報を取得することができ、前記MPOIサーバはサーバ103〜104の一部であってもよい。位置サーバは、位置サービスを提供し、かつMPOIサーバはマップサービス及びある位置のPOIを提供する。あるいは、このような位置及びMPOI情報は、感知及び計画システム110の永続記憶装置にローカルでキャッシュされることができる。
自動運転車両101がルートに沿って走行する期間に、感知及び計画システム110は、さらに交通情報システムやサーバ(TIS)からリアルタイム交通情報を取得できる。注意すべきなのは、サーバ103〜104は、第三者エンティティにより動作されることができる。あるいは、サーバ103〜104の機能は、感知及び計画システム110と一体化されてもよい。リアルタイム交通情報、MPOI情報、位置情報、及びセンサシステム115が検出又は感知したリアルタイムなローカル環境データ(例えば、障害物、対象、付近車両)に基づいて、感知及び計画システム110は、安全で効果的に指定した目的地に到達するように、最適なルートを計画し、かつ計画したルートにより例えば車両制御システム111を介して車両101を運転することができる。
サーバ103は、様々のクライアントにデータ分析サービスを提供するデータ分析システムであっても良い。一つの実施形態において、データ分析システム103は、データ収集121と、機器学習エンジン122とを含む。データ収集部121は、様々の車両(自動運転車両又は人間運転手による一般車両)からの運転統計情報123を収集する。運転統計情報123は、発行された運転指示情報(例えば、スロットル、ブレーキ及び転向コマンド)、及び、異なる時間点で車両のセンサにより取得された車両のレスポンス(例えば、速度、加速度、減速度、方向)を含む。運転統計情報123は、異なる時間点での環境記述情報、例えば、ルート(出発地及び目的地の位置)、MPOIs、道路条件、天気条件等を更に含む。
運転統計情報123に基づいて、機器学習エンジン122は、様々な目的で1セットのルール、アルゴリズム及び/又は予測模型124を実行又はトレーニングする。一つの実施形態において、ルール124は、追従車両とADVとが近すぎるか否かを決定するためのルールセットを含む。その結果、ADVを減速させずにADVのブレーキライトを点灯して、当該ADVから離れるように追従車両に減速させる合図を行う。一つの実施形態において、機器学習エンジン122が、運転統計情報123を分析して、2つの車両の間の平均距離を安全距離として決定する。機器学習エンジン122は、異なる運転環境(例えば、道路条件、道路湾曲率、天気条件、車両の質量、当時の車両速度、交通渋滞)における、人間運転手が運転している時の2つの車両の間の平均距離を決定することができる。
運転統計情報123は、車両が各種の運転環境においてどのように(自動的にまたは人により)運転されるかが取得される情報を含む。例えば、機器学習エンジン122は、運転統計情報123から、特定の運転環境における2つの車両の間の平均距離を決定することができる。機器学習エンジン122が、異なる運転シナリオまたは環境に対して1セットの距離閾値124をルールの一部として決定し生成する。また、異なる運転シナリオに対して、特定のブレーキライトの点滅パターンが設定されることができる。そして、ルール124は、追従車両が自動車両に近づかないように、データ構造(例えば、テーブル、データベース)の形式で自動運転車両にアップロードされてリアルタイムに使用されてもよい。距離閾値は、安全交通ルール、または、緊急事態において車両が完全に停止することに要求される安全距離に応じて、決定されることができる。
図3は、本発明の1実施例にかかる自動車両とともに使用される感知及び計画システムの例を示すブロック図である。システム300は、図1における自動運転車両101の一部として実現されることができるが、感知及び計画システム110、制御システム111、及びセンサシステム115に限定されない。図3を参照し、感知及び計画システム110は、位置決めモジュール301と、感知モジュール302と、決定モジュール303と、計画モジュール304と、制御モジュール305と、ブレーキライトコントローラ306とを含むが、それらに限定されない。
モジュール301〜306の一部またはすべては、ソフトウェア、ハードウェア、またはそれらの組み合わせによって実現されてもよい。例えば、これらのモジュールが不揮発性の記憶装置352にインストールされ、メモリ351にロードされて1つまたは複数のプロセッサ(図示せず)によって実行されてもよい。一部またはすべてのモジュールは、図2に示す車両制御システム111における一部またはすべてのモジュールに通信可能に連結されたり、統合されたりしてもよい。また、モジュール301〜306の一部、1つの集積モジュールとして一体化されてもよい。
位置決めモジュール301(地図及びルーティングモジュールとも言われる)は、ユーザの旅程又はルートに関連する任意のデータを管理する。位置決めモジュール301は、自動運転車両300(例えば、GPSユニット212を利用する)の現在の位置を決定し、ユーザの旅程またはルートに関する何れのデータを管理する。ユーザは、例えばユーザインターフェースを介してログインするとともに旅程の出発位置及び目的位置を指定してもい。位置決めモジュール301は、旅程に関連するデータを取得するように、自動運転車両300(システム)のその他の構成要素(例えば地図及びルート情報311)と通信する。例えば、位置決めモジュール301は、位置サーバと、地図及びPOI(MPOI)サーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、かつMPOIサーバは、地図サービスとある位置のPOIとを提供し、地図及びルート情報311の一部としてキャッシュされてもよい。自動運転車両300がルートに沿って走行する期間に、位置決めモジュール301は、さらに交通情報システムやサーバからリアルタイム交通情報を取得することができる。
センサシステム115により提供されたセンサデータ、及び位置決めモジュール301により得られた位置決め情報に基づいて、感知モジュール302は周辺環境に対する感知を決定する。感知情報は、普通の運転者が自分で運転している車両周辺から感知したもの(状況)を示すことができる。感知情報は、例えば対象形式で現される車線配置(例えば、ストレート又はカーブ)、トラフィック信号、他の車両の相対位置、歩行者、建築物、横断歩道又はその他の交通関連標識(例えば、停止標識、譲り標識)などを含んでもよい。
感知モジュール302は、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含んでもよく、自動運転車両環境における対象及び/又は特徴を認識するように、1つ以上のカメラによりキャプチャされた画像を処理及び分析することに用いられる。前記対象は交通信号、車道の境界線、他の車両、歩行者及び/又は障害物等を含んでもよい。コンピュータビジョンシステムは、対象認識アルゴリズム、ビデオトラッキング及びその他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境の地図を描き、対象を追跡し、かつ対象の速度を推定することなどができる。感知モジュール302は、その他のセンサ(例えばレーダー及び/又はLIDAR)により提供されたその他のセンサデータに基づいて対象を検出することもできる。
それぞれの対象に対して、決定モジュール303は、如何に対象を処理する決定をする。例えば、特定な対象(例えば、交差ルートにおける他の車両)及び対象を記述するメタデータ(例えば、速度、方向、ステアリング角)に対して、決定モジュール303は、遇う対象に如何に対応する(例えば、追い越し、道譲り、停止、通過)ことを決定する。決定モジュール303は、不揮発性の記憶装置352(図示せず)に記憶されてもよい1セットのルール(例えば交通ルール又は運転ルール312)に基づいてこのような決定をすることができる。
感知したそれぞれ対象に対する決定に基づいて、計画モジュール304は、自動運転車両のためにルート又は経路及び運転パラメータ(例えば、距離、速度及び/又はステアリング角)を計画する。すなわち、所定対象に対して、決定モジュール303は前記対象に対して如何に対応するかを決定し、計画モジュール304は如何に実行するかを決定する。例えば、所定対象に対して、決定モジュール303は、前記対象を追い越すことを決定することができ、計画モジュール304は、前記対象の左側に追い越すか、右側に追い越すかを決定することができる。計画モジュール304は、計画及び制御データを生成し、車両300が次の移動周期(例えば、次のルート/経路セグメント)に如何に移動するかを記述する情報を含む。例えば、計画及び制御データは車両300が30マイル/時間(mph)の速度で10メートル移動し、次に25mphの速度で右車線まで変わることを指示することができる。
計画及び制御データに基づいて、制御モジュール305は計画及び制御データにより定義されたルート又は経路に基づいて、車両制御システム111へ適切なコマンド又は信号を送信することによって自動運転車両を制御及び運転する。前記ルート又は経路に沿って違う場所で適時に適切な車両設置又は運転パラメータ(例えば、スロットル、ブレーキ及びステアリングコマンド)を使用して車両を第1点から第2点まで運転するように、計画及び制御データは十分な情報を含む。
注意すべきなのは、決定モジュール303及び計画モジュール304は、集積モジュールに一体化されてもよい。決定モジュール303/計画モジュール304は、自動運転車両の運転経路を決定するために、ナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自動運転車両が以下の経路に沿って移動することを実現するための一連の速度及び進行方向を決定することができ、前記経路は、自動運転車両を総体的に最終目的位置を向けて通じる車線経路に進ませると同時に、感知された障害物を大体避けることができる。目的地はユーザインターフェースシステム113により実現されたユーザ入力に基づいて設定されることができる。ナビゲーションシステムは、自動運転車両が走行していると同時に走行経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両用の走行経路を決定するように、GPSシステム及び1つ以上の地図からのデータを合併することができる。
決定モジュール303/計画モジュール304は、自律走行車環境における潜在障害物を、認識・評価・回避又はその他の方式で迂回するために、衝突回避システム又は衝突回避システムの機能をさらに含んでもよい。例えば、衝突回避システムは、以下の方式によって自律走行車のナビゲーションにおける変更を実現することができ、制御システム111の中の1つ以上のサブシステムを動作してターン操縦、ステアリング操縦、ブレーキ操縦等を採る。衝突回避システムは、周辺の交通モード、道路状況等に基づいて障害物を回避可能な操縦を自動的に決定することができる。衝突回避システムは、その他のセンサシステムは、自律走行車がターンして入ろうとする隣接領域における車両、建築障害物等が検出された際にターン操縦を採らないように配置できる。衝突回避システムは、使用可能でありかつ自律走行車の乗員の安全性を最大化させる操縦を自動的に選択することができる。衝突回避システムは、自律走行車の乗員室内で最小の加速度を出現させることが予測された回避操縦を選択することができる。
一つの実施例において、決定モジュール303は、感知モジュール302により感知された、自動運転車両に追従している追従車両についての感知情報に基づいて、追従車両の運転挙動をモニタする追従車両モニタまたはモニタリングロジック321を含む。図3及び図4を参照し、センサシステム115により提供されたセンサデータに基づいて、ADV300の感知モジュールが追従車両400を感知するとき、決定モジュール303は呼び出されて、追従車両400をどのように対処するかを決定する。一つの実施形態において、追従車両モニタ321が、ADV300と追従車両400の間の距離を決定する。ADV300と追従車両400の間の距離は、感知モジュール302により測定して提供されることもできる。
ADV300と追従車両400の間の距離に基づいて、追従車両モニタ321が、所定の閾値を下回るか否かを決定する。前記距離が所定の閾値よりも小さい場合、追従車両モニタ321は、ブレーキライトコントローラ306を呼び出してADV300における1つまたは複数のブレーキライト325を点灯する。前記ブレーキライトが点灯されると、ADV300が間もなく減速することを追従車両の運転手にイメージを与える。前記ブレーキライトが点灯されたことに応答して、ADV300と追従車両400の間の距離を増加するように、通常、追従車両400の運転手が減速する。距離閾値は、道路条件、天気条件、車両の速度、及び交通条件などの、時間点における運転シナリオの多種の因子によって変更されることができる。
一つの実施形態において、追従車両モニタ321が、ライトパターンマッピングテーブル又はデータ構造313を照合することにより、前記距離が所定の閾値よりも小さいか否かを決定する。ライトパターンマッピングテーブル313は、大量の運転統計情報に基づくデータ分析システム103における機器学習エンジン122のような分析システムによりオフラインで構成されてもよい。一つの実施形態において、ライトパターンマッピングテーブル313が、距離閾値を特定のライトパターンにマッピングして、ブレーキライトを制御することにより、ブレーキライトが対応するパターンにて発光したり、点滅したりする。ライトの発光または点滅のパターンは、ブレーキライトが点灯される時間の長さ、ブレーキライトの点滅の頻度、またはそれらの組み合わせ(例えば、オン及びオフパターン)などを含む。図5にライトパターンマッピングテーブルの例を示す。
図5を参照し、ライトパターンマッピングテーブル500は、先の運転統計情報に基づくデータ分析システム103によりルール124の一部としてオフラインで構成されることができる。一つの実施形態において、ライトパターンマッピングテーブル500は、複数のマッピングエントリを含む。各マッピングエントリは、運転シナリオ501を、距離閾値502及び選択可能なライトパターン503にマッピングする。運転シナリオ501が、運転シナリオ501は、単に、時間点における車両の速度、またはADVと追従車両との間の速度差であってもよい。その背後原理は、異なる速度から完全に停止するまでの距離が異なる可能性がある。安全のために、追従車両が緊急状況に応じて、先導車両と衝突せず完全に停止できるように、先導車両との間に十分な距離をとっておくことが好ましい。
また、運転シナリオ501は、道路条件(例えば、でこぼこ、滑らかな道)、気象条件(例えば、湿った状態、雪の状態)、車両の重量(例えば、乗客の人数)は、一つの又は複数の車両の速度、道路の幅、道路の曲率、交通条件等の一つまたは複数の組み合わせであってもよい。追従車両の重量及び速度は、追従車両の感知データに基づいて推定されることができる。運転シナリオによって、距離閾値502が異なってもよい。例えば、湿った道またはでこぼこな道において、完全停止のためにより長い距離が必要とするので、距離閾値502がより大きくなってもよい。相同または類似している運転シナリオ501において走行しているADV(例えば、先導車両)と追従車両との間の距離は、対応する閾値502よりも小さいと判断された場合、ADVのブレーキライトを点灯して追従車両に減速するよう合図する。
一般的に、2台の車両の間の距離が所定の閾値を下回った場合、ADVのブレーキライトは短い間に点灯される。簡単な構成について、所定の閾値は、すべての運転状況におけるすべての車両に適用される単一のグローバル閾値であってもよい。ライトパターンマッピングテーブル500は、異なる運転シナリオに異なる閾値を提供することができる。一つの実施形態において、運転シナリオ501及び距離閾値502のそれぞれに、選択可能なライトパターン503が決定されてもよい。つまり、特定の運転シナリオ(例えば、路面状態、速度、天気)において、2つの車両の間の距離が、対応する閾値502を下回った場合、マッピングエントリで決定されたライトパターン503に応じて、ADVのブレーキライトを点灯することができる。例えば、2つの車両の間の距離が、第1の閾値を下回った場合、ADVのブレーキライトが第1の時間の期間をわたって点灯されることができる。しかし、追従車両が減速しなく、または、2つの車両の間の距離が短くなりつつある場合、ADVのブレーキライトが、より長い期間をわたって点灯されたり、より多い頻度で点滅したりすることができる。このようなパターンは典型的に、追従車両の運転者に切迫した状況を合図します。1つの実施形態において、ターン信号ライトのような他のライトを点灯することもできる。
図6は、本発明の1つの実施形態にかかる自動運転車両の操作手順を示すフローチャート。プロセス600は、ソフトウェアやハードウェア、またはそれらの組み合わせを含む処理ロジックにより実行されてもよい。例えば、プロセス600は、追従車両モニタ321により実行されてもよい。図6を参照し、操作601において、処理ロジックは、ADVに追従している追従車両の運転挙動を感知する。操作602において、処理ロジックは、感知された追従車両の運転挙動に基づいて、ADVと追従車両との間の距離を決定する。操作603において、処理ロジックは、ADVと追従車両との間の距離が所定の距離よりも小さいか否かを判断する。操作604において、その距離が所定の距離よりも小さいと判断されたことに応答して、処理ロジックは、ADVに減速するようブレーキコマンドを発行せず、1つまたは複数のADVのブレーキライトを点灯する。ブレーキライトが点灯された場合、追従車両の運転手に、2つの車両の間の距離を増加するように減速することを合図する。
図7は、本発明のもう一つの実施形態にかかる自動運転車両の操作手順を示すフローチャートである。手順700は、ソフトウェアやハードウェア、またはそれらの組み合わせを含む処理ロジックにより実行されてもよい。例えば、手順700は、追従車両モニタ321により実行されてもよい。図7を参照し、操作701において、処理ロジックは、ADVに追従している追従車両の運転挙動を感知する。操作702において、処理ロジックは、感知された追従車両の運転挙動に基づいて、ADVと追従車両との間の距離を決定する。操作703において、処理ロジックは、時間点での運転シナリオまたは運転環境(例えば、道路条件、天気条件、交通条件、車両の速度、及び道路の曲率)を決定する。操作704において、処理ロジックは、運転シナリオに基づいてライトパターンマッピングテーブルにおいて照合動作を実行して、運転シナリオにマッチングしているマッピングエントリを見つけるとともに、マッチングしているから、運転シナリオに対応する距離閾値及びライトパターンを取得する。操作705において、ADVと追従車両との間の距離が距離閾値よりも小さいか否かを判断する。操作706において、距離閾値よりも小さい場合、処理ロジックは、ADVを減速させず、ライトパターンに応じて、1つまたは複数のブレーキライトを点灯する。
注意すべきなのは、前記の示されたとともに記述された一部又は全部の構成要素は、ソフトウェア、ハードウェア又はその組み合わせで実現されることができる。例えば、このような構成要素は、永続記憶装置にインストールされるとともに記憶されたソフトウェアとして実現されてもよく、前記ソフトウェアは、本出願にわたって記載の手順又は動作を実施するように、プロセッサ(図示せず)でメモリにロードして実行されてもよい。あるいは、このような構成要素は、(集積回路(例えば特定用途向けIC又はASIC)、デジタル信号プロセッサ(DSP)、又はフィールドプログラマブルゲートアレイ(FPGA))にプログラミングされ又は嵌め込みされた専用ハードウェアにおける実行可能なコードとして実現されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバープログラム及び/又はオペレーティングシステムによってアクセスされてもよい。なお、このような構成要素は、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されてもよく、ソフトウェア構成要素が1つ以上の特定コマンドによってアクセス可能なコマンドセットの一部とする。
図8は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム1500は、上記プロセス又は方法のいずれか(例えば、図1の感知及び計画システム110、及びサーバ103〜104のいずれか)を実行する上記任意のデータ処理システムを示してもよい。システム1500は、多数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路(IC)、集積回路の一部、分散型電子装置又は回路基板に(例えばコンピュータシステムのマザーボード又はアドインカード)適用された他のモジュール、又は他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることができる。
さらに、システム1500は、コンピュータシステムの多数の構成要素の高レベルビューを示すことを目的とする。しかしながら、いくつかの実現形態では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム1500は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント(PDA)、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント(AP)又はリピーター、セットトップボックス、又はそれらの組合せを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で1つ(又は複数)のコマンドセットを実行することにより本明細書に説明される任意の1種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
一実施形態において、システム1500は、バス又は相互接続部材1510によって接続されたプロセッサ1501、メモリ1503及び装置1505〜1508を備える。プロセッサ1501は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサを示してもよい。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)等のような1つ又は複数の汎用プロセッサを示してもよい。より具体的には、プロセッサ1501は、複雑コマンドセット計算(CISC)マイクロプロセッサ、縮小コマンドセットコンピュータ(RISC)マイクロプロセッサ、超長コマンド語(VLIW)マイクロプロセッサ、又は他のコマンドセットを実現するプロセッサ、又はコマンドセットの組合せを実現するプロセッサであってもよい。プロセッサ1501は、さらに、専用集積回路(ASIC)、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、グラフィックプロセッサ、ネットワークプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような1つ又は複数の専用プロセッサ、あるいはコマンド処理可能な任意の他のタイプのロジックであってもよい。
プロセッサ1501(超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい)は、前記システムの各種構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ(SoC)として実現されることができる。プロセッサ1501は、コマンドを実行することにより本明細書に説明される動作及びステップを実行するためのコマンドを実行するように構成される。また、システム1500は、選択可能なグラフィックサブシステム1504と通信するグラフィックインターフェースをさらに含んでもよく、グラフィックサブシステム1504は、表示コントローラ、グラフィックプロセッサ及び/又は表示装置をさらに備えてもよい。
プロセッサ1501は、メモリ1503と通信してもよく、メモリ1503は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ1503は、ランダムアクセスメモリ(RAM)、動的RAM(DRAM)、シンクロナスDRAM(SDRAM)、静的RAM(SRAM)又は他のタイプのメモリのような1つ又は複数の揮発性記憶装置(又はメモリ)を備えてもよい。メモリ1503は、プロセッサ1501又は任意の他の装置により実行されるコマンド列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア(例えば、基本入出力システム又はBIOS)及び/又はアプリケーションの実行可能なコード及び/又はデータはメモリ1503にロードされて、プロセッサ1501により実行されてもよい。オペレーティングシステムは、ロボットオペレーティングシステム(ROS)、Microsoft(登録商標)会社からのWindows(登録商標)オペレーティングシステム、アップル会社からのMacOS(登録商標)/iOS(登録商標)、Google(登録商標)会社からのAndroid(登録商標)、Linux(登録商標)、Unix(登録商標)又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
システム1500は、IO装置、例えば装置1505〜1508をさらに備えてもよく、ネットワークインターフェース装置1505、選択可能な入力装置1506及び他の選択可能なIO装置1507を備える。ネットワークインターフェース装置1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を備えてもよい。前記無線送受信機は、WiFi送受信機、赤外送受信機、ブルートゥース送受信機、WiMax送受信機、無線セルラーホン送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)又は他の無線周波数(RF)送受信機又はそれらの組合せであってもよい。NICはイーサネット(登録商標)カードであってもよい。
入力装置1506は、マウス、タッチパッド、タッチスクリーン(それは表示装置1504と集積されてもよい)、ポインタデバイス(例えばスタイラス)及び/又はキーボード(例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード)を備えてもよい。例えば、入力装置1506は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術(容量、抵抗、赤外及び表面音波の技術を含むが、それらに限定されない)のいずれか、及びタッチスクリーンの1つ又は複数の接触点を決定するための他の近接センサアレイ又は他の素子を用いてそのタッチ点及び移動又は断続を検出することができる。
IO装置1507は音声装置を備えてもよい。音声装置は、スピーカ及び/又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び/又は電話機能のような音声サポートの機能を促進する。他のIO装置1507は、汎用シリアルバス(USB)ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ(例えば、PCI−PCIブリッジ)、センサ(例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ)又はそれらの組合せをさらに備えてもよい。装置1507は、結像処理サブシステム(例えば、カメラ)をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能(例えば、写真及びビデオ断片の記録)を促進するための電荷カップリング装置(CCD)又は相補型金属酸化物半導体(CMOS)光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ(図示せず)によって相互接続部材1510に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ(図示せず)により制御されてもよく、これはシステム1500の特定配置又は設計により決められる。
データ、アプリケーション、1つ又は複数のオペレーティングシステム等のような情報の永続記憶を提供するために、大容量メモリ(図示せず)は、プロセッサ1501に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力を向上させるために、このような大容量メモリは、ソリッドステート装置(SSD)によって実現されることができる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ(HDD)で実現されてもよく、少量のSSD記憶量は、SSDキャッシュとして停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース(SPI)によってプロセッサ1501に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのBIOS及び他のファームウェアを備える。
記憶装置1508は、任意の1種又は複数種の本明細書に記載の方法又は機能を体現する1つ又は複数のコマンドセット又はソフトウェア(例えば、モジュール、ユニット及び/又はロジック1528)が記憶されるコンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる)を備えてもよい。処理モジュール/ユニット/ロジック1528は、例えば、感知モジュール302、決定モジュール303と、計画モジュール304及び/又は制御モジュール305のような上記構成要素のいずれかを示してもよい。処理モジュール/ユニット/ロジック1528は、さらにデータ処理システム1500、メモリ1503及びプロセッサ1501により実行される期間にメモリ1503内及び/又はプロセッサ1501内に完全又は少なくとも部分的に存在してもよく、ここで、メモリ1503及びプロセッサ1501も、機器アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、さらにネットワークによってネットワークインターフェース装置1505を経由して送受信されてもよい。
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能の一部を永続的に記憶してもよい。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記1つ又は複数のコマンドセットが記憶される単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュ及びサーバ)を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらにコマンドセットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記コマンドセットは、機器により実行されかつ前記機器に本発明の任意の1種又は複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素及び他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素(例えばASICS、FPGA、DSP又は類似装置)の機能に統合されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置及びソフトウェアコンポーネントの任意の組合せで実現されてもよい。
なお、システム1500は、データ処理システムの各種の構成要素を有するように示されているが、構成要素の相互接続のいかなる特定のアーキテクチャー又は方式を示すものではないことに注意すべきであり、それは、このような詳細が本発明の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び/又は他のデータ処理システムは、本発明の実施形態と共に使用されてもよい。
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した動作列(sequence of operations)と考えられる。これらの動作とは、物理量に対して物理的動作を行う必要となるステップを指す
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語(例えば、添付している特許請求の範囲に説明された用語)による説明とは、コンピュータシステム又は類似の電子計算装置の動作及び処理であり、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリに物理(例えば、電子)量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報記憶装置、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
本発明の実施形態は、さらに本明細書における動作を実行するためのコンピュータプログラムに関する。このようなコンピュータプログラムは、非揮発性のコンピュータ可読媒体に記憶される。機器可読媒体は、機器(例えば、コンピュータ)可読な形態で情報を記憶する任意の機構を備える。例えば、機器可読(例えば、コンピュータ可読)媒体は、機器(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ)を備える。
上記図面に示される手順又は方法は、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(例えば、非揮発性のコンピュータ可読媒体に具現化される)、又は両方の組合せを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本発明の実施形態の教示を実現できることを理解すべきである。
以上の明細書では、本発明の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本発明のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。