JP2020074502A - カメラを用いた画像データ取得のための自動運転車両の画像データ取得ロジック - Google Patents

カメラを用いた画像データ取得のための自動運転車両の画像データ取得ロジック Download PDF

Info

Publication number
JP2020074502A
JP2020074502A JP2019127674A JP2019127674A JP2020074502A JP 2020074502 A JP2020074502 A JP 2020074502A JP 2019127674 A JP2019127674 A JP 2019127674A JP 2019127674 A JP2019127674 A JP 2019127674A JP 2020074502 A JP2020074502 A JP 2020074502A
Authority
JP
Japan
Prior art keywords
sensor
module
camera
sensor unit
image data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019127674A
Other languages
English (en)
Other versions
JP6998342B2 (ja
Inventor
ヂャン,マンジィァン
Manjiang Zhang
ヨウ,シィァンタオ
Xiangtao You
ヂャン,ティファニー
Zhang Tiffany
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu USA LLC
Original Assignee
Baidu USA LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Baidu USA LLC filed Critical Baidu USA LLC
Publication of JP2020074502A publication Critical patent/JP2020074502A/ja
Application granted granted Critical
Publication of JP6998342B2 publication Critical patent/JP6998342B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/91Radar or analogous systems specially adapted for specific applications for traffic control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Electromagnetism (AREA)
  • Evolutionary Computation (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Studio Devices (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

【課題】自動運転車両で使用されるカメラからの大量の画像データを処理可能な効率的なカメラデータ取得メカニズムが欠如している。【解決手段】センサユニット500は、自動運転車両に取り付けられたセンサであるカメラに接続可能なセンサインターフェース504と、ホストシステム110に接続可能なホストインターフェース505と、を備える。ホストシステムは、カメラから取得された画像データに基づいて自動運転車両の周囲の走行環境を感知し、自律的に走行させる経路を計画する。センサユニットは、カメラに関連付けられたオリジナルフォーマットから所定のフォーマットへ再フォーマットし、生成した画像フレームをホストシステムに送信する。【選択図】図5B

Description

本発明の実施形態は、主に自動運転車両を動作させることに関する。より具体的に、本発明の実施形態は自動運転車両の周囲の走行環境を感知するための画像の画像データ取得に関する。
自動運転モードで走行する(例えば、ドライバーレス)車両は、乗員、特に運転手をいくつかの運転に関する責務から解放させることができる。車両は、自動運転モードで走行する時に、車載センサを利用して様々な位置までナビゲートすることができるので、最小限のヒューマンマシンインタラクションや、乗員がいないなどの状況で車両を走行させることが可能となる。
運動計画および制御は自動運転における重要な操作である。運動計画および制御の正確性と効率は、車両のセンサに大きく依存している。センサが異なれば、要件や仕様も異なる可能性がある。自動運転車両で使用される最も人気があるセンサの1つはカメラである。カメラは、かなりの処理リソースを必要とする大量の画像データを生成することが可能である。大量の画像データを処理可能な効率的なカメラデータ取得メカニズムが欠如している。
本発明の一態様では、自動運転車両のためのセンサユニットであって、前記自動運転車両(ADV)の複数の位置に取り付けられた複数のカメラに接続されるセンサインターフェースと、ホストシステムに接続されるホストインターフェースであって、前記ホストシステムは、少なくとも前記カメラから得られた画像データに基づいて前記ADVの周囲の走行環境を感知し、前記ADVを自律的に走行させるための経路を計画するように構成されるホストインターフェースと、それぞれが複数のカメラのうちの1つに対応する複数のデータ取得モジュールと、を備えるセンサユニットであって、
前記データ取得モジュールのそれぞれは、画像データの画素を対応するカメラに関連付けられたオリジナルフォーマットから所定のフォーマットへ再フォーマットするための画素アライメントモジュールと、前記画素アライメントモジュールに接続されるフレーム処理モジュールであって、前記画素アライメントモジュールから受信された画像データに基づいて画像フレームを生成し、前記画像フレームを前記ホストシステムに送信するように構成されるフレーム処理モジュールと、を備えるセンサユニットを提供する。
本発明の他の態様では、自動運転システムであって、自動運転車両(ADV)の複数の位置に取り付けられた複数のセンサと、前記センサから得られたセンサデータに基づいて前記ADVの周囲の走行環境を感知し、前記ADVを自律的に走行させるための経路を計画するためのホストシステムと、前記複数のセンサと前記ホストシステムとに接続されたセンサユニットと、を備える自動運転システムであって、
前記センサユニットは、前記ADVに取り付けられた前記複数のセンサに接続されるセンサインターフェースと、前記ホストシステムに接続されるホストインターフェースと、それぞれが複数のカメラのうちの1つに対応する複数のデータ取得モジュールと、を備え、
前記データ取得モジュールのそれぞれは、画像データの画素を対応するカメラに関連付けられたオリジナルフォーマットから所定のフォーマットへ再フォーマットするための画素アライメントモジュールと、前記画素アライメントモジュールに接続されるフレーム処理モジュールであって、前記画素アライメントモジュールから受信された画像データに基づいて画像フレームを生成し、前記画像フレームを前記ホストシステムに送信するように構成されるフレーム処理モジュールと、を備える自動運転システムを提供する。
本発明の実施形態は、各図面において制限的ではなく例示的なものとして示され、図面における同様の符号は、同様の素子を示す。
一実施形態に係るネットワークシステムを示すブロック図である。 一実施形態に係る自動運転車両の一例を示すブロック図である。 一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。 一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。 一実施形態に係る自動運転システムのアーキテクチャを示すブロック図である。 一実施形態に係るセンサユニットの一例を示すブロック図である。 一実施形態に係るセンサユニットの一例を示すブロック図である。 一実施形態に係るセンサ処理モジュールの一例を示すブロック図である。 一実施形態に係る画像フレームのデータ構造を示すブロック図である。 一実施形態に係るセンサデータを取得するプロセスを示すフローチャートである。 一実施形態に係るデータ処理システムを示すブロック図である。
以下に説明される詳細を参照しながら本発明の様々な実施形態および態様を説明し、添付図面に様々な実施形態を示す。以下の説明および図面は、本発明を説明するためのものであり、本発明を限定するものではないことを理解されたい。本発明の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。なお、いくつかの場合、本発明の実施形態に対する簡潔的な説明を提供するように、周知または従来技術の詳細について説明していない。
本明細書において、「一実施形態」または「実施形態」とは、当該実施形態を参照しながら説明した特定の特徴、構造または特性が本発明の少なくとも一実施形態に含まれてもよいことを意味する。「一実施形態では」という語句は、本明細書の全体において同一の実施形態を指すとは限らない。
本発明の一態様によれば、自動運転車両(ADV)で使用されるセンサユニットは、ADVの様々な位置に取り付けられたカメラのような、1つまたは複数の画像センサに接続可能なセンサインターフェースを備える。センサユニットは、ホストシステムに接続可能なホストインターフェースをさらに備える。ホストシステムは、少なくともカメラから取得された画像データに基づいてADVの周囲の走行環境を感知し、ADVを自律的に走行させるための経路を計画するように構成される。センサユニットは、それぞれがカメラのうちの1つに対応する1つまたは複数のデータ取得モジュールを更に備える。各データ取得モジュールは、画素アライメントモジュールとフレーム処理モジュールとを備える。画素アライメントモジュールは、画像データの画素を対応するカメラに関連付けられたオリジナルフォーマットから所定のフォーマットへ再フォーマットするように構成される。フレーム処理モジュールは、画素アライメントモジュールから受信された画像データに基づいて画像フレームを生成し、ホストインターフェースを介して画像フレームをホストシステムに送信するように構成される。
一実施形態では、各データ取得モジュールは、画素アライメントモジュールに接続されるカメラシミュレータをさらに備える。カメラシミュレータは、カメラの動作をシミュレートして、カメラを使用せずに模擬画像データを生成するように構成される。模擬画像データは、実際のカメラと接続せずに、画素アライメントモジュールおよびフレーム処理モジュールの機能をテストするために使用可能である。他の実施形態によれば、各データ取得モジュールは、フレーム処理モジュールに接続されるホストシミュレータをさらに備える。ホストシミュレータは、ホストシステムを使用せずに、模擬ホストコマンドおよび応答を生成することによってホストシステムをシミュレートするために使用することができる。模擬ホストコマンドおよび応答は、ホストシステムと接続せずに、画素アライメントモジュールおよびフレーム処理モジュールの機能をテストするために用いられる。
他の実施形態によれば、画素アライメントモジュールは、画像データを検査して画素エラーを検出するための画素エラー検出器を備える。画素エラー検出器は、画像データに十分な数の画素があるか否か、または画像データが対応するカメラに関連付けられたカメラトランスミッションプロトコルに違反するか否かを検出するように構成されている。データ取得モジュールは、画像フレームを検査してフレームエラーを検出するためのフレームエラー検出器をさらに備えていてもよい。フレームエラー検出器は、画像フレームが短フレームまたは長フレームなどの不規則フレームであるか否かを検出するように構成されている。
取得モジュールは、カメラに送信されたトリガ信号のカウントを格納するためのトリガカウンタをさらに備えていてもよく、トリガ信号は、シャッタ機構と同様に、カメラをトリガまたは起動して新しい画像をキャプチャするために利用される。トリガカウントは、最新のトリガ信号に応答してキャプチャされた画像フレームに含まれてもよく、該最新のトリガ信号はフレームパッケージのシーケンス番号として使用されてもよい。取得モジュールは、カメラから受信された各画像データについてタイムスタンプを生成するためのタイムスタンプ生成器をさらに備えていてもよい。タイムスタンプは、画像データが受信された時刻を表すことができる。タイムスタンプは、デバッグの目的で利用することができる。
本発明の他の態様によれば、自動運転システムは、ADVの様々な位置に取り付けられる複数のセンサを備える。自動運転システムはホストシステムをさらに備え、ホストシステムは感知モジュールと計画・制御モジュールとを備える。感知モジュールは、センサから取得されたセンサデータに基づいてADVの周囲の走行環境を感知するために用いられる。計画・制御モジュールは、感知データに基づいて経路を計画し、該経路に沿ってADVを走行させるために用いられる。自動運転システムは、センサおよびホストシステムに接続されるセンサユニットをさらに備える。センサユニットは、ADVの様々な位置に取り付けられたカメラのような、1つまたは複数の画像センサに接続可能なセンサインターフェースを備える。センサユニットは、ホストシステムに接続可能なホストインターフェースをさらに備える。ホストシステムは、少なくともカメラから取得された画像データに基づいてADVの周囲の走行環境を感知し、ADVを自律的に走行させるための経路を計画するように構成される。センサユニットは、それぞれがカメラのうちの1つに対応する1つまたは複数のデータ取得モジュールをさらに備える。各データ取得モジュールは、画素アライメントモジュールとフレーム処理モジュールとを備える。画素アライメントモジュールは、画像データの画素を対応するカメラに関連付けられたオリジナルフォーマットから所定のフォーマットへ再フォーマットするように構成される。フレーム処理モジュールは、画素アライメントモジュールから受信された画像データに基づいて画像フレームを生成し、ホストインターフェースを介して画像フレームをホストシステムに送信するように構成される。センサユニットは、上述したような特定の特徴をさらに備える。
図1は、本発明の一実施形態に係る自動運転車両のネットワーク構成を示すブロック図である。図1に示すように、ネットワーク構成100には、ネットワーク102を介して1つまたは複数のサーバ103〜104に通信可能に接続される自動運転車両101が備えられる。一台の自動運転車両が示されたが、複数の自動運転車両がネットワーク102を介して互いに接続され、および/またはサーバ103〜104に接続されてもよい。ネットワーク102は、任意のタイプのネットワークであってもよく、例えば、有線または無線のローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、またはそれらの組み合わせが挙げられる。サーバ103〜104は、任意のタイプのサーバまたはサーバクラスタであってもよく、例えば、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバ、またはそれらの組み合わせが挙げられる。サーバ103〜104は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図・関心地点(MPOI)サーバまたは位置サーバなどであってもよい。
自動運転車両とは、運転手からの入力が非常に少ないまたはない場合に車両をナビゲートして環境を通過させる自動運転モードに配置可能な車両である。このような自動運転車両は、車両の走行環境に関する情報を検出するように配置される1つまたは複数のセンサを備えるセンサシステムを備えていてもよい。前記車両およびその関連コントローラは、検出された情報を使用して前記環境を通過するようにナビゲートする。自動運転車両101は、手動モード、完全自動運転モード、または部分自動運転モードで走行することができる。
一実施形態では、自動運転車両101は、感知・計画システム110、車両制御システム111、無線通信システム112、ユーザインターフェースシステム113およびセンサシステム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と一体に集積されてもよい。感知・計画システム110は、リアルタイム交通情報、MPOI情報および位置情報、並びにセンサシステム115により検出または感知されたリアルタイムローカル環境データ(例えば、障害物、オブジェクト、付近の車両)に基づいて、所定の目的地まで安全的且つ効率的に到達するために、最適なルートを計画し、且つ計画されたルートに従って例えば制御システム111を介して車両101を運転することができる。
サーバ103は、様々なクライアントに対してデータ解析サービスを実行するデータ解析システムであってもよい。一実施形態では、データ解析システム103は、データコレクタ121と、機械学習エンジン122とを備える。データコレクタ121は、様々な車両(自動運転車両または人間の運転手によって運転される一般車両)から運転統計データ123を収集する。運転統計データ123には、発行された運転コマンド(例えば、スロットルコマンド、ブレーキコマンド、ステアリングコマンド)を示す情報および異なる時点で車両のセンサによりキャプチャされた車両の応答(例えば、速度、加速度、減速度、方向)を示す情報が含まれる。運転統計データ123はさらに、異なる時点における走行環境を記述する情報、例えば、ルート(出発地位置および目的地位置を含む)、MPOI、道路状況、天気状況などを含んでもよい。
機械学習エンジン122は、運転統計データ123に基づいて、様々な目的に応じてルール、アルゴリズムおよび/または予測モデル124の集合を生成するかまたは訓練する。一実施形態では、アルゴリズム124は、以下でさらに詳細に説明する感知、予測、決定、計画および/または制御プロセスのためのルールまたはアルゴリズムを含むことができる。その後、アルゴリズム124を自動運転中にリアルタイムで利用するためにADVにアップロードすることができる。
図3Aおよび図3Bは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。システム300は、図1の自動運転車両101の一部として実現されてもよく、感知・計画システム110、制御システム111およびセンサシステム115を含むが、それらに限定されない。図3Aおよび図3Bに示すように、感知・計画システム110は、測位モジュール301、感知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306およびルーティングモジュール307を含むが、それらに限定されない。
モジュール301〜307のうちの一部または全部は、ソフトウェア、ハードウェアまたはそれらの組み合わせで実現されていてもよい。例えば、これらのモジュールは、永続性記憶装置352にインストールされ、メモリ351にロードされ、且つ1つまたは複数のプロセッサ(図示せず)により実行されてもよい。なお、これらのモジュールのうちの一部または全部は、図2の車両制御システム111の一部または全部のモジュールに通信可能に接続されるか、または統合されてもよい。モジュール301〜307のうちの一部は、集積モジュールとして一体に統合されてもよい。
測位モジュール301(地図・ルートモジュールともいう)は、ユーザの旅程またはルートに関連する如何なるデータを管理する。ユーザは、例えばユーザインターフェースを経由してログインして旅程の出発地位置および目的地を指定することができる。測位モジュール301は、自動運転車両300における地図・ルート情報311のような他の構成要素と通信して旅程に関するデータを取得する。例えば、測位モジュール301は、位置サーバおよび地図・POI(MPOI)サーバから位置およびルート情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは地図サービスおよび特定位置のPOIを提供することにより、地図・ルート情報311の一部としてキャッシュされることができる。自動運転車両300がルートに沿って移動する際に、測位モジュール301は交通情報システムまたはサーバからリアルタイム交通情報を取得することもできる。
感知モジュール302は、センサシステム115により提供されたセンサデータと、測位モジュール301により取得された測位情報とに基づいて、周辺の環境への感知を確定する。感知情報は、通常の運転手が運転している車両の周囲で何を感知するかを表すことができる。感知は、例えば、車線構成、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道またはオブジェクトの形式の他の交通関連標識(例えば、止まれ標識、ゆずれ標識)などを含むことができる。車線構成は、例えば、車線の形状(例えば、直線またはカーブ)、車線の幅、道路内の車線数、一方向または二方向車線、合流車線または分流車線、退出車線など、1つまたは複数の車線を記述する情報を含む。
感知モジュール302は、1つまたは複数のカメラによりキャプチャされた画像を処理し解析して自動運転車両の環境におけるオブジェクトおよび/または特徴を認識するために、コンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含むことができる。オブジェクトは、交通信号、道路の境界、他の車両、歩行者および/または障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキングおよび他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境のマッピング、オブジェクトの追跡、およびオブジェクトの速度推定などができる。感知モジュール302は、レーダおよび/またはLIDARのような他のセンサにより提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
各オブジェクトについて、予測モジュール303は、この場合にオブジェクトがどのように挙動するかを予測する。前記予測は、地図・ルート情報311と交通ルール312のセットに応じて、該時点において走行環境が感知された感知データに基づいて実行される。例えば、オブジェクトが反対方向の車両であり、且つ現在の走行環境には交差点が含まれる場合、予測モジュール303は、該車両が直線する可能性があるのか、それとも旋回する可能性があるのかを予測する。交差点に信号機がないと感知データにより示された場合に、予測モジュール303は、該車両が交差点に入る前に完全に停車する必要があると予測することが可能である。車両が現在左折専用車線または右折専用車線にあると感知データにより示された場合に、予測モジュール303は、該車両がそれぞれ左折または右折する可能性が高いと予測可能である。
オブジェクトごとに対して、決定モジュール304はオブジェクトをどのように処置するかを判定する。例えば、特定のオブジェクト(例えば、交差のルートにおける他の車両)および該オブジェクトを記述するメタデータ(例えば、速度、方向、操舵角)について、決定モジュール304はオブジェクトと遇うときに如何に対応するか(例えば、追い越し、道譲り、停止、追い抜き)を決定する。決定モジュール304は、交通ルールまたは運転ルール312のルールセットに基づいてこのような決定を下すことができる、これらのルールは永続性記憶装置352に格納されることができる。
ルーティングモジュール307は、出発地から目的地までの1つまたは複数のルートまたは経路を提供するように構成される。例えばユーザから受信された出発地位置から目的地位置までの所定の旅程について、ルーティングモジュール307は地図・ルート情報311を取得し、出発地位置から目的地位置までの全ての走行可能なルートまたは経路を決定する。ルーティングモジュール307は、決定された各ルートについて出発地位置から目的地位置までの基準線を地形図の形で生成することができる。基準線とは、他の車両、障害物または交通状況など、他のものから干渉を受けていない理想的なルートまたは経路を指す。つまり、道路には他の車両、歩行者または障害物がない場合に、ADVは基準線に完全的にまたは密接的に従うべきである。そして、地形図を決定モジュール304および/または計画モジュール305に提供する。決定モジュール304および/または計画モジュール305は、他のモジュールにより提供された他のデータ(例えば測位モジュール301からの交通状况、感知モジュール302により感知された走行環境および予測モジュール303により予測された交通状况)に応じて、全ての走行可能なルートを検査して最適なルートのうちの一つを選択および補正する。該時点における特定の走行環境に応じて、ADVを制御するための実際の経路またはルートは、ルーティングモジュール307によって提供される基準線に近いかまたは異なっていてもよい。
感知されたオブジェクトのそれぞれに対する決定に基づいて、計画モジュール305は、ルーティングモジュール307によって提供された基準線をベースとし、自動運転車両の経路またはルートおよび運転パラメータ(例えば、距離、速度および/または操舵角)を計画する。すなわち、所与のオブジェクトについて、決定モジュール304はそのオブジェクトに何をすべきかを決定し、計画モジュール305はどのように実行するかを決定する。例えば、所与のオブジェクトについて、決定モジュール304は、オブジェクトを追い抜くかを決定することができ、計画モジュール305はオブジェクトを左側から追い抜くかまたは右側から追い抜くかを判定することができる。計画モジュール305は、車両300が次の移動周期(例えば、次のルート/経路区間)にはどのように移動するかを記述する情報を含む計画・制御データを生成する。例えば、計画・制御データは、車両300が30マイル/時間(mph)の速度で10メートル移動し、その後に25mphの速度で右車線に変更するように指示することができる。
制御モジュール306は、計画・制御データに基づいて、計画・制御データにより限定されたルートまたは経路に応じて適当なコマンド若しくは信号を車両制御システム111に送信することにより自動運転車両を制御および走行させる。前記計画・制御データは、適切な車両構成または経路またはルートに沿う異なる時点における運転パラメータ(例えば、スロットルコマンド、ブレーキコマンドおよびステアリングコマンド)を使用して、車両をルートまたは経路の第1の点から第2の点まで走行させるのに十分な情報を含む。
一実施形態では、計画段階は、例えば、時間間隔が100ミリ秒(ms)の周期など、複数の計画周期(運転周期ともいう)で実行される。計画周期または運転周期のそれぞれについて、計画・制御データに基づいて1つまたは複数の制御コマンドを発する。つまり、100ms毎に、計画モジュール305は次のルート区間または経路区間を計画し、例えば、目標位置およびADVが目標位置に到着するのに必要な時間が含まれる。あるいは、計画モジュール305は、特定の速度、方向、および/または操舵角などを更に指定することができる。一実施形態では、計画モジュール305は、次の所定期間(例えば、5秒)のルート区間または経路区間を計画する。各計画周期について、計画モジュール305は前の周期において計画された目標位置に基づいて現在の周期(例えば、次の5秒)における目標位置を計画する。そして、制御モジュール306は、現在の周期における計画・制御データに基づいて1つまたは複数の制御コマンド(例えば、スロットル制御コマンド、ブレーキ制御コマンド、ステアリング制御コマンド)を生成する。
なお、決定モジュール304と計画モジュール305は、集積モジュールとして集積されることができる。決定モジュール304/計画モジュール305は、自動運転車両の走行経路を決定するために、ナビゲーションシステムまたはナビゲーションシステムの機能を具備することができる。例えば、ナビゲーションシステムは、自動運転車両が下記の経路に沿って移動することに影響を与えるための一連の速度および進行方向を決定することができる。前記経路では、自動運転車両が最終的な目的地に通じる走行車線に基づく経路に沿って進行すると共に、感知された障害物を実質的に回避できる。目的地は、ユーザインターフェースシステム113を介してユーザ入力によって設定されることができる。ナビゲーションシステムは、自動運転車両が走行していると同時に走行経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両の走行経路を決定するために、GPSシステムからのデータを1つまたは複数の地図に取り入れることができる。
図4は、一実施形態に係る自動運転のためのシステムアーキテクチャを示すブロック図である。システムアーキテクチャ400は、図3Aおよび図3Bに示すような自動運転システムのシステムアーキテクチャを表すことができる。図4を参照すると、システムアーキテクチャ400は、アプリケーション層401、計画・制御(PNC)層402、感知層403、デバイスドライバ層404、ファームウェア層405およびハードウェア層406を含むが、それらに限定されない。アプリケーション層401は、例えばユーザインターフェースシステム113に関連する機能のような、自動運転車両のユーザまたは乗員と対話するユーザインターフェースまたは構成アプリケーションを含むことができる。PNC層402は、少なくとも計画モジュール305および制御モジュール306の機能を含むことができる。感知層403は、少なくとも感知モジュール302の機能を含むことができる。一実施形態では、予測モジュール303および/または決定モジュール304の機能を含む付加層がある。あるいは、これらの機能は、PNC層402および/または感知層403に含まれてもよい。システムアーキテクチャ400は、デバイスドライバ層404、ファームウェア層405、およびハードウェア層406をさらに含む。ファームウェア層405は、少なくともフィールドプログラマブルゲートアレイ(FPGA)の形態で実施可能なセンサシステム115の機能を表すことができる。ハードウェア層406は、制御システム111のような自動運転車両のハードウェアを表すことができる。層401〜層403は、デバイスドライバ層404を介してファームウェア層405およびハードウェア層406と通信することができる。
図5Aは、本発明の一実施形態に係るセンサシステムの一例を示すブロック図である。図5Aを参照すると、センサシステム115は、複数のセンサ510と、ホストシステム110に接続されるセンサユニット500とを備える。ホストシステム110は、上述したような計画・制御システムを表し、計画・制御システムは図3Aおよび図3Bに示されるモジュールの少なくとも一部を含んでいてもよい。センサユニット500は、FPGAデバイスまたはASIC(特定用途向け集積回路)デバイスの形態で実現されることができる。一実施形態では、センサユニット500は、特に、1つまたは複数のセンサデータ処理モジュール501(単にセンサ処理モジュールともいう)、データ転送モジュール502、およびセンサ制御モジュールまたはロジック503を備える。モジュール501〜503は、センサインターフェース504を介してセンサ510と通信することができ、ホストインターフェース505を介してホストシステム110と通信することができる。任意選択で、データをバッファリングして処理するために内部または外部バッファ506を利用することができる。
一実施形態では、受信経路または上流方向に関して、センサ処理モジュール501は、センサインターフェース504を介してセンサからセンサデータを受信して処理(例えば、フォーマット変換、エラー検査)するように構成され、センサデータはバッファ506に一時的に格納可能である。データ転送モジュール502は、ホストインターフェース505と互換性のある通信プロトコルを使用して処理済みデータをホストシステム110に転送するように構成される。同様に、送信経路または下流方向に関して、データ転送モジュール502は、ホストシステム110からデータまたはコマンドを受信するように構成される。次いで、データは、センサ処理モジュール501によって、対応するセンサと互換性のあるフォーマットに処理される。次いで、処理済みデータはセンサに送信される。
一実施形態では、センサ制御モジュールまたはロジック503は、ホストインターフェース505を介してホストシステム(例えば、感知モジュール302)から受信されたコマンドに応答して、センサ510の特定の動作(例えば、センサデータをキャプチャする起動タイミング)を制御するように構成される。ホストシステム110は、センサデータを任意の時点で車両の周囲の走行環境を感知するために利用可能にするように、センサデータを協調的および/または同期的にキャプチャするようにセンサ510を構成することができる。
センサインターフェース504は、イーサネット、USB(ユニバーサルシリアルバス)、LTE(ロングタームエボリューション)またはセルラー、WiFi、GPS、カメラ、CAN、シリアル(例えば、ユニバーサル非同期送受信機またはUART)、SIM(加入者識別モジュール)カード、およびその他の汎用入出力(GPIO)インターフェースのうちの1つまたは複数を含んでいてもよい。ホストインターフェース505は、PCIe(周辺構成要素相互接続またはPCIエクスプレス)インターフェースのような任意の高速または高帯域幅インターフェースであってもよい。センサ510は、自動運転車両で利用される様々なセンサを含むことができ、例えば、カメラ、LIDARデバイス、レーダーデバイス、GPS受信機、IMU、超音波センサ、GNSS(全地球航法衛星システム)受信機、LTEまたはセルラーSIMカード、車両センサ(例えば、スロットルセンサ、ブレーキセンサ、ステアリングセンサ)およびシステムセンサ(例えば、温度センサ、湿度センサ、圧力センサ)などが挙げられる。
例えば、カメラは、イーサネットまたはGPIOインターフェースを介して接続されることができる。GPSセンサは、USBまたは特定のGPSインターフェースを介して接続されることができる。車両センサはCANインターフェースを介して接続されることができる。レーダーセンサまたは超音波センサは、GPIOインターフェースを介して接続されることができる。LIDARデバイスは、イーサネットインターフェースを介して接続されることができる。外部のSIMモジュールはLTEインターフェースを介して接続されることができる。同様に、内部のSIMモジュールは、センサユニット500のSIMソケットに挿入可能である。UARTなどのシリアルインターフェースは、デバッグ目的でコンソールシステムと接続されることができる。
なお、センサ510は、様々な販売業者または供給業者によって提供される任意のタイプのセンサとすることができる。センサ処理モジュール501は、異なるタイプのセンサ並びにそれぞれのデータフォーマットおよび通信プロトコルを処理するように構成される。一実施形態によれば、各センサ510は、センサデータを処理してホストシステム110と対応するセンサとの間で処理済みセンサデータを転送するために、特定のチャネルに関連付けられている。各チャネルは、図5Bに示すように、対応するセンサデータおよびプロトコルを処理するように構成またはプログラムされた、特定のセンサ処理モジュールおよび特定のデータ転送モジュールを備える。
次に図5Bを参照すると、センサ処理モジュール501A〜501Cは特に、センサ510A〜510Cから得られたセンサデータを処理するように構成されている。なお、センサ510A〜510Cは、同じタイプまたは異なるタイプのセンサであってもよい。センサ処理モジュール501A〜501Cは、異なるタイプのセンサに対して異なるセンサプロセスを処理するように構成されることができる(例えば、ソフトウェア設定変更が可能である)。例えば、センサ510Aがカメラである場合、処理モジュール501Aは、カメラ510Aによってキャプチャされた画像を表す特定の画素データに関する画素処理動作を処理するように構成されてもよい。同様に、センサ510AがLIDARデバイスである場合、処理モジュール501Aは、特にLIDARデータを処理するように構成される。言い換えると、一実施形態によれば、特定のセンサの特定のタイプに応じて、その対応する処理モジュールは、センサデータの種類に対応する特定のプロセスまたは方法を使用して対応するセンサデータを処理するように構成されることができる。
同様に、データ転送モジュール502A〜502Cは、異なる種類のセンサデータが、異なるサイズまたは異なる速度若しくはタイミング要件を必要とする感度であり得るので、異なるモードで動作するように構成されることができる。一実施形態によれば、データ転送モジュール502A〜502Cのそれぞれは、低遅延モード、高帯域幅モードおよびメモリモード(固定メモリモードともいう)のうちの1つのモードで動作するように構成されることができる。
一実施形態によれば、低遅延モードで動作しているとき、データ転送モジュール(例えば、データ転送モジュール502)は、センサから受信されたセンサデータを遅延伴わずにまたは最小遅延で可能な限り早くホストシステムに送信するように構成される。センサデータの一部は、タイミングに関して非常に感度が高いものがあり、できるだけ早く処理する必要がある。そのようなセンサデータの例としては、車速、加速度、操舵角などのような車両状態を含む。
一実施形態によれば、高帯域幅モードで動作しているとき、データ転送モジュール(例えば、データ転送モジュール502)は、センサから受信されたセンサデータを所定の量まで累積するように構成されるが、依然としてデータ転送モジュールとホストシステム110との間の接続の帯域幅内にある。次いで、累積されたセンサデータは、データ転送モジュールとホストシステム110との間の接続の帯域幅を最大限に利用するバッチでホストシステム110に転送される。通常、高帯域幅モードは、大量のセンサデータを生成するセンサに利用される。そのようなセンサデータの例としては、カメラの画素データが挙げられる。
一実施形態によれば、メモリモードで動作するとき、データ転送モジュールは、センサから受信されたセンサデータを、共有メモリページと同様にホストシステム110のマップメモリのメモリ位置に直接書き込むように構成される。メモリモードを使用して転送されるセンサデータの例には、温度、ファン速度などのシステム状態データが含まれる。
一実施形態によれば、センサ510A〜510Cのそれぞれは、センサ制御モジュール503A〜503Cのような対応するセンサ制御モジュールと関連付けられている。あるいは、センサ制御モジュール503A〜503Cのうちの少なくともいくつかは、センサ510A〜510Cのうちの少なくともいくつかによって共有される統合センサ制御モジュールと一体に統合されてもよい。センサ制御モジュール503A〜503Cのそれぞれは、対応するセンサおよびホストシステム110と通信するように構成されている。ホストシステム110から受信されたコマンドに応答して、センサ制御モジュールは、対応するセンサの動作の少なくとも一部を制御するために利用可能である。
一実施形態では、各センサ制御モジュールは、対応するセンサの特定の動作を制御するための制御信号を生成するように構成される。例えば、ホストシステム110の感知モジュールまたは計画モジュールは、車両の周囲の走行環境を確定し感知することの一部として、特定のカメラによって特定の時刻に画像をキャプチャするように要求されることが可能である。ホストシステムは、ホストインターフェース505を介して、カメラに関連付けられたセンサ制御モジュールにコマンドを送信して、カメラにその特定の時刻に画像をキャプチャするように要求することができる。該要求はさらに、特定のカメラが画像をどのくらいの頻度でキャプチャすべきかを指定する情報(たとえば、毎秒のフレーム数)および他のタイミング情報(たとえば、遅延オフセット、パルス幅および極性など)を指定する情報を含むことができる。該要求に基づいて、センサ制御モジュールは適切な制御信号を生成し、センサインターフェース504を介して制御信号をセンサに送信するように構成される。
なお、自動運転では、環境内をナビゲートして如何なる衝突を回避するために、走行環境の認識ができるだけ明確で正確であることが求められる。従って、ホストシステムは、異なるセンサを異なるタイミングおよび方式で動作するように協調的に制御することを望む可能性がある。例えば、前方に取り付けられたカメラは、車両の後方または側方に取り付けられたカメラとは異なるタイミングで動作することができる。特定のセンサ制御モジュールを利用することによって、ホストシステム110は、車両の周囲の走行環境をより良くより正確に感知することができる。
一実施形態によれば、センサ処理モジュール501A〜501Cのそれぞれは、対応するセンサからセンサデータを取得するように構成されるデータ取得モジュールを備える。例えば、カメラなどの画像センサの場合、対応するセンサ処理モジュールは、カメラデータ取得モジュールを備えるか、またはそれとして実施される。
図6は、一実施形態に係るセンサ処理モジュールの一例を示すブロック図である。図6を参照すると、この例では、センサ510はカメラであり、センサ処理モジュール501はカメラ510から画像/カメラデータを取得するためのカメラデータ取得モジュールである。一実施形態によれば、センサ処理モジュール501は、センサインターフェースモジュール601と、画素アライメントモジュール(画素処理モジュールともいう)602と、フレーム処理モジュール603と、ホストインターフェースモジュール604とを備える。画素アライメントモジュール602は、カメラ510から受信された画像データを画素レベルで処理するように構成されている。
一実施形態では、画素アライメントモジュール602は、特定のタイプのカメラに対応する特定のフォーマット(例えば、YUV、RGB)から、ホストシステム110によって認識されるかまたはそれと合意される共通フォーマットへと画素データを処理することができる。画素アライメントモジュール602は、如何なる画素エラーを検出するために画素エラー検出器613を備えるかまたは呼び出すことができる。例えば、画素エラー検出器613は、画像データ内に十分な量の画素があるか否かを検出することができる。画素エラー検出器613はさらに、画像データがカメラトランスミッションプロトコルに違反しているか否かを検出することができる。
一実施形態では、フレーム処理モジュール603は、画素アライメントモジュール602によって処理された画素データを受信し、ホストシステム110の所定のフォーマットに一致する画像フレームまたは画像パケットを構築し、ホストシステム110に関連付けられた所定のトランスミッションプロトコルを使用して画像フレームをホストシステム110に送信するように構成される。フレーム処理モジュール603は、フレームレベルの如何なるエラーを検出するためにフレームエラー検出器614をさらに備えるかまたは呼び出すことができる。すなわち、画素エラー検出器613は画素レベルでデータの完全性を検査するように構成され、フレームエラー検出器614はフレームレベルでデータの完全性を検査するように構成される。例えば、フレームエラー検出器614は、画素アライメントモジュール602によって提供された画素データに基づいて構築された特定の画像フレームが規則的なフレーム(例えば、良好なフレーム)であるか否か、または不規則なフレーム(例えば、短フレームまたは長フレーム)であるか否かを判定する。ホストシステムがメタデータに基づいて画像フレームを処理できるように、エラー情報は、ホストシステムに送信されるフレームのメタデータの一部として画像フレームに含まれてもよい。
一実施形態によれば、センサインターフェースモジュール601は、センサシミュレータまたはシミュレーションモジュール611を備える。センサシミュレータ611は、実際のセンサを使用する必要なしに対応するセンサをシミュレートするように構成される。例えば、センサシミュレータ611は、対応するセンサによって生成可能なものをシミュレートする信号またはデータを生成することができる。センサシミュレータ611は、画素アライメントモジュール602および/またはフレーム処理モジュール603が実際のセンサと通信しているかのように、画素アライメントモジュール602および/またはフレーム処理モジュール603との通信に反応する。シミュレートされたデータは、実際のセンサを使用する必要なしに、センサ処理モジュール501、データ転送モジュール502、および/またはセンサ制御モジュール503の機能を試験または検証(例えば、デバッグ)するために利用することができる。
また、一実施形態では、センサインターフェースモジュール601は、センサ510から受信された各画像データについてタイムスタンプを生成するためのタイムスタンプ生成器またはロジック615をさらに備える。タイムスタンプ生成器615は、タイムスタンプを導出するために、タイムソースまたはクロックソース(例えば、ローカルクロックまたは発振器、GPS信号源(図示せず))に接続されてもよい。タイムスタンプは、センサ510から画像データを受信する時刻を表すために利用される。タイムスタンプ情報は、ホストシステム110に送信されるためにフレーム処理モジュール603によって生成された画像フレームに含まれてもよい。タイムスタンプ情報は、テストまたはデバッグの目的だけでなく、走行環境の感知にも役立つ。
また、一実施形態によれば、センサ処理モジュール501は、センサ制御モジュール503からトリガタイミング情報を受信するためのトリガカウンタ(またはタイムスタンプ生成器)616をさらに備える。上述したように、センサ制御モジュール503は、センサ510の動作を制御するための制御コマンドまたは信号を生成し送信するように構成される。制御信号のうちの1つは、センサ510をトリガまたは起動するためのトリガ信号であり、この例では、センサは特定の時刻に画像をキャプチャするためのカメラである。センサ制御モジュール503がトリガ信号をセンサ510に送信すると、トリガカウンタ616は、例えば、トリガカウンタ616によって維持されているカウント値を逓増することによって更新される。従って、トリガカウンタ616によって維持されるカウント値はコマンド送信時刻を表し、タイムスタンプ生成器615によって生成されたタイムスタンプは画像データの受信時刻を表す。2つのタイムスタンプ間の差は、通常にセンサ510および/またはセンサユニットの動作遅延を表すことができる。
他の実施形態によれば、ホストインターフェースモジュール604は、ホストシミュレータまたはシミュレーションモジュール612を備える。ホストシミュレータ612は、実際のホストシステムを使用する必要なしに、ホストシステム110などのホストをシミュレートするように構成される。例えば、ホストシミュレータ612は、ホストシステムが生成可能なものをシミュレートするホスト信号またはデータを生成することができる。ホストシミュレータ612は、画素アライメントモジュール602および/またはフレーム処理モジュール603が実際のホストシステムと通信しているかのように、画素アライメントモジュール602および/またはフレーム処理モジュール603との通信に反応する。シミュレートされたデータまたはコマンドは、実際のホストシステムを使用する必要なしに、センサ処理モジュール501、データ転送モジュール502、および/またはセンサ制御モジュール503の機能を試験または検証(例えば、デバッグ)するために利用することができる。
なお、センサ処理モジュールは、センサデータをバッファするためにローカルメモリなどのローカルバッファを使用または維持する必要なしにデータ転送モジュールに接続される。データ転送モジュールは、ローカルメモリを使用する必要なしにセンサデータが高速またはオンザフライで処理されるように、PCIeリンクなどの高帯域幅接続を介してホストシステムに接続される。
図7は、一実施形態に係る画像フレームのデータ構造の一例を示すブロック図である。画像フレーム700は、フレーム処理モジュール603によって生成されてホストシステム110に送信されてもよい。図7を参照すると、画像フレームを表すデータ構造700は、画像データを格納するためのデータ領域701を含む。データ構造700は、少なくともフレームメタデータを格納するためのメタデータフィールド702〜706をさらに備える。メタデータは、センサ制御モジュールによってセンサに送信された複数のトリガ信号をカウントするトリガカウント702を含む。トリガタイムスタンプ703は、センサ制御モジュールがセンサにトリガ信号を送信するトリガ時刻を表すタイムスタンプであり、該トリガ信号によってセンサは画像データ701をキャプチャするように起動される。受信タイムスタンプ704は、画像データ701をセンサから受信する時刻を表すタイムスタンプを格納する。フレームマーカ705は、画像データ701を記述する任意のマーカまたは他の属性を格納する。例えば、フレームマーカ705は、画像データ701が有効な画像データであるか否かを示す情報を格納してもよい。エラーコード706は、画像フレーム700が正常フレームであるか不規則フレーム(例えば、短フレームまたは長フレーム)であるかを示すコードまたはデータを格納するために使用される。短フレームの場合、処理ロジックは、残りの空き領域を埋めるために所定の画素値を埋め込むことができる。長フレームの場合、処理ロジックは、画像データをカットして予想されるフレームサイズに制限することができる。
図8は、一実施形態に係るセンサデータを取得および処理するプロセスを示すフローチャートである。プロセス800は、処理ロジックにより実行可能であり、処理ロジックはソフトウェア、ハードウェア、またはそれらの組み合わせを備えていてもよい。例えば、プロセス800は、図6に示すセンサ処理モジュール501によって実行されてもよい。図8を参照すると、動作801において、処理ロジックは、センサインターフェースを介してセンサからセンサデータを受信する。センサデータは、カメラから受信された画像または画素データであってもよい。センサインターフェースはさらに、受信されたセンサデータに、センサデータを受信した時刻を示すタイムスタンプを付けることができる。動作802において、処理ロジックは、センサデータ(例えば、生センサデータ)を、特定のセンサに対応するフォーマット(例えばYUV、RGB)から所定のフォーマットまたはホストシステムと合意したフォーマットに変換する。処理ロジックは、センサデータに対してエラー検出をさらに実行してもよい。カメラから受信された画素データの例では、処理ロジックは、画像データに十分な量の画素があるか否か、または画像データがセンサまたはセンサインターフェースに関連する通信プロトコル(例えば、完全性検査失敗(failed integrity))に違反しているか否かを検出することができる。動作803において、処理ロジックは、センサデータに基づいてフレーム(例えば、画像フレーム)を生成し、ここで、フレームとホストシステムとは、(例えば、所望のフレームレートに従って)互換性がある。動作804において、処理ロジックは、センサトリガ形成(例えば、コマンドまたは送信タイムスタンプ)、エラーコード、受信タイムスタンプ、フレームマーカなどのような特定のフレームメタデータを埋め込む。動作805において、フレームは処理のためにデータ転送モジュールに送信され、次いでホストインターフェースを介してホストシステムに送信される。
なお、上記に示し説明した構成要素のいくつかまたはすべては、ソフトウェア、ハードウェア、またはそれらの組み合わせで実現されていてもよい。例えば、これらの構成要素は、本発明を通じて説明されるプロセスまたは動作を実行するためにプロセッサ(図示せず)によってメモリにロードされ実行されることができる永続性記憶装置にインストールおよび格納されるソフトウェアとして実現されていてもよい。あるいは、これらの構成要素は、集積回路(例えば、特定用途向け集積回路またはASIC)、デジタルシグナルプロセッサ(DSP)、またはフィールドプログラマブルゲートアレイ(FPGA)のような専用ハードウェアにプログラミングされたかまたは埋め込まれた実行可能なコードとして実現されてもよく、これらのハードウェアは、対応するドライバおよび/またはオペレーティングシステムを介してアプリケーションからアクセスすることができる。また、これらの構成要素は、ソフトウェア構成要素が1つまたは複数の特定の命令によってアクセス可能な命令セットの一部として、プロセッサまたはプロセッサコアにおける特定のハードウェアロジックとして実現されることができる。
図9は、本発明の一実施形態と組み合わせて使用可能なデータ処理システムの一例を示すブロック図である。例えば、システム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は、例えば、ネットワークインターフェース装置1505、任意選択入力装置1506、およびその他の任意選択I/O装置1507を含む装置1505〜1508のようなI/O装置を更に含むことができる。ネットワークインターフェース装置1505は、無線送受信機および/またはネットワークインターフェースカード(NIC)を備えていてもよい。前記無線送受信機は、WiFi送受信機、赤外線送受信機、ブルートゥース送受信機、WiMax送受信機、無線携帯電話送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)、またはその他の無線周波数(RF)送受信機、またはそれらの組み合わせであってもよい。NICは、イーサネットカードであってもよい。
入力装置1506は、マウス、タッチパネル、タッチスクリーン(表示装置1504と統合されてもよい)、ポインター装置(例えば、スタイラス)、および/またはキーボード(例えば、物理キーボードまたはタッチスクリーンの一部として表示された仮想キーボード)を含むことができる。例えば、入力装置1506は、タッチスクリーンに接続されるタッチスクリーンコントローラを備えていてもよい。タッチスクリーンおよびタッチスクリーンコントローラは、例えば、様々なタッチ感応技術(コンデンサ、抵抗、赤外線、および表面弾性波の技術を含むが、それらに限定されない)のいずれか、並びにその他の近接センサアレイ、または、タッチスクリーンと接触する1つまたは複数の点を確定するためのその他の素子を用いて、それらの接触、移動または中断を検出することができる。
I/O装置1507は、音声装置を含むことができる。音声装置は、例えば、音声認識、音声複製、デジタル記録、および/または電話機能のような音声サポートの機能を促進するために、スピーカおよび/またはマイクロホンを含んでもよい。その他のI/O装置1507は、ユニバーサルシリアルバス(USB)ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ(例えば、PCI−PCIブリッジ)、センサ(例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなどのモーションセンサ)、またはそれらの組み合わせを更に含むことができる。装置1507は、結像処理サブシステム(例えば、カメラ)を更に含むことができ、前記結像処理サブシステムは、写真およびビデオ断片の記録のようなカメラ機能を促進するための、電荷接続素子(CCD)または相補型金属酸化物半導体(CMOS)光学センサのような光学センサを含むことができる。特定のセンサは、センサハブ(図示せず)を介してインターコネクト1510に接続されることができ、キーボードまたはサーマルセンサのようなその他の装置はシステム1500の具体的な構成または設計により、組込みコントローラ(図示せず)により制御されることができる。
データ、アプリケーション、1つまたは複数のオペレーティングシステムなどの情報の永続性記憶を提供するために、プロセッサ1501には、大容量記憶装置(図示せず)が接続されることもできる。様々な実施形態において、より薄くてより軽量なシステム設計を可能にしながら、システムの応答性を向上するために、このような大容量記憶装置は、ソリッドステートデバイス(SSD)によって実現されることができる。しかしながら、その他の実施形態では、大容量記憶装置は、主にハードディスクドライブ(HDD)を使用して実現されることができ、より小さい容量のSSD記憶装置をSSDキャッシュとして機能することで、停電イベントの間にコンテキスト状態および他のそのような情報の不揮発性記憶を可能にし、それによりシステム動作が再開するときに通電を速く実現することができる。また、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース(SPI)を介してプロセッサ1501に接続されることができる。このようなフラッシュデバイスは、前記システムのBIOSおよびその他のファームウェアを含むシステムソフトウェアの不揮発性記憶のために機能することができる。
記憶装置1508は、コンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体またはコンピュータ可読媒体ともいう)を含むことができ、前記コンピュータアクセス可能な記憶媒体1509には、本明細書で記載されたいずれか1つまたは複数の方法または機能を具現化する1つまたは複数の命令セットまたはソフトウェア(例えば、モジュール、ユニットおよび/またはロジック1528)が格納されている。処理モジュール/ユニット/ロジック1528は、計画モジュール305、制御モジュール306またはセンサユニット500のような、前記構成要素のいずれかを表すことができる。処理モジュール/ユニット/ロジック1528は、更に、データ処理システム1500、メモリ1503、およびプロセッサ1501による実行中に、メモリ1503内および/またはプロセッサ1501内に完全的にまたは少なくとも部分的に存在してもよく、データ処理システム1500、メモリ1503およびプロセッサ1501も機械アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、更に、ネットワークを介してネットワークインターフェース装置1505を経由して送受信されてもよい。
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能を永続的に格納するために用いることができる。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記1つまたは複数の命令セットが格納される単一の媒体または複数の媒体(例えば、集中型または分散型データベースおよび/または関連するキャッシュとサーバ)を含むと解釈されるものとする。「コンピュータ可読記憶媒体」という用語は、更に、命令セットを格納または符号化できる任意の媒体を含むと解釈されるものであり、前記命令セットは機械により実行され、本発明のいずれか1つまたは複数の方法を前記機械に実行させるためのものである。それゆえに、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体および磁気媒体、またはその他の任意の非一時的機械可読媒体を含むが、それらに限定されないと解釈されるものとする。
本明細書に記載された処理モジュール/ユニット/ロジック1528、構成要素およびその他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、またはASICS、FPGA、DSPまたは類似の装置のようなハードウェア構成要素の機能に統合されてもよい。更に、処理モジュール/ユニット/ロジック1528は、ハードウェア装置におけるファームウェアまたは機能性回路として実現されてもよい。更に、処理モジュール/ユニット/ロジック1528は、ハードウェア装置とソフトウェア構成要素の任意の組み合わせで実現されてもよい。
なお、システム1500は、データ処理システムの様々な構成要素を有するものとして示されているが、構成要素を相互接続する任意の特定のアーキテクチャまたは方式を表すことを意図するものではなく、そのような詳細は、本発明の実施形態とは密接な関係がない。また、より少ない構成要素またはより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、および/またはその他のデータ処理システムも、本発明の実施形態と共に使用することができることを理解されたい。
上述した具体的な説明の一部は、既に、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムと記号表現により示された。これらのアルゴリズムの説明および表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書では、一般的に、アルゴリズムは、所望の結果につながるセルフコンシステントシーケンスと考えられる。これらの動作は、物理量の物理的処置が必要なものである。
しかしながら、念頭に置くべきなのは、これらの用語および類似の用語の全ては、適切な物理量に関連付けられるものであり、これらの量を標識しやすくするためのものに過ぎない。以上の説明で他に明示的に記載されていない限り、本明細書の全体にわたって理解するべきなのは、添付された特許請求の範囲に記載するもののような用語による説明とは、コンピュータシステム、または類似の電子計算装置の動作およびプロセスを指し、前記コンピュータシステムまたは電子計算装置は、コンピュータシステムのレジスタおよびメモリにおける物理(電子)量として示されるデータを制御するとともに、前記データをコンピュータシステムメモリまたはレジスタまたはこのようなその他の情報記憶装置、伝送または表示装置において同様に物理量として示される別のデータに変換する。
本発明の実施形態は、本明細書の動作を実行するための装置にも関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に格納される。機械可読媒体は、機械(例えば、コンピュータ)により読み取り可能な形式で情報を格納するための任意のメカニズムを含む。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置)を含む。
上述した図面において説明されたプロセスまたは方法は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(例えば、非一時的コンピュータ可読媒体に具現化されるもの)、または両方の組み合わせを含む処理ロジックにより実行されることができる。前記プロセスまたは方法は、以上で特定の順序に応じて説明されたが、前記動作の一部が異なる順序で実行されてもよいことを理解されたい。また、一部の動作は、順番ではなく並行して実行されてもよい。
本発明の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。理解すべきなのは、本明細書に記載の本発明の実施形態の教示を実現するために、様々なプログラミング言語を使用することができる。
本明細書において、本発明の実施形態は、既にその具体的な例示的な実施形態を参照しながら記載された。明らかなように、添付された特許請求の範囲に記載された本発明のより広い趣旨および範囲を逸脱しない限り、本発明に対して様々な変更を行うことができる。それゆえに、本明細書および図面は、限定的な意味でなく、例示的な意味で理解されるべきである。

Claims (20)

  1. 自動運転車両のためのセンサユニットであって、
    前記自動運転車両(ADV)の複数の位置に取り付けられた複数のカメラに接続されるセンサインターフェースと、
    ホストシステムに接続されるホストインターフェースであって、前記ホストシステムは、少なくとも前記カメラから得られた画像データに基づいて前記自動運転車両の周囲の走行環境を感知し、前記自動運転車両を自律的に走行させるための経路を計画するように構成されるホストインターフェースと、
    それぞれが複数のカメラのうちの1つに対応する複数のデータ取得モジュールと、
    を備えるセンサユニットであって、
    前記データ取得モジュールのそれぞれは、
    画像データの画素を、対応するカメラに関連付けられたオリジナルフォーマットから所定のフォーマットへ再フォーマットするための画素アライメントモジュールと、
    前記画素アライメントモジュールに接続されるフレーム処理モジュールであって、前記画素アライメントモジュールから受信された画像データに基づいて画像フレームを生成し、前記画像フレームを前記ホストシステムに送信するように構成されるフレーム処理モジュールと、
    を備えるセンサユニット。
  2. 各データ取得モジュールは、前記画素アライメントモジュールに接続されるカメラシミュレータをさらに備え、前記カメラシミュレータは、対応するカメラを使用せずに模擬画像データを生成するようにカメラをシミュレートするように構成される、請求項1に記載のセンサユニット。
  3. 前記模擬画像データは、カメラと接続する必要なしに、前記画素アライメントモジュールおよび前記フレーム処理モジュールの機能をテストするために用いられる、請求項2に記載のセンサユニット。
  4. 各データ取得モジュールは、前記フレーム処理モジュールに接続されるホストシミュレータをさらに備え、前記ホストシミュレータは、前記ホストシステムを使用せずに模擬ホストコマンドおよび応答を生成することによって前記ホストシステムをシミュレートするように構成される、請求項1に記載のセンサユニット。
  5. 前記模擬ホストコマンドおよび応答は、前記ホストシステムと接続する必要なしに、前記画素アライメントモジュールおよび前記フレーム処理モジュールの機能をテストするために用いられる、請求項4に記載のセンサユニット。
  6. 前記画素アライメントモジュールは、画像データを検査して画素エラーを検出するための画素エラー検出器をさらに備える、請求項1に記載のセンサユニット。
  7. 前記画素エラー検出器は、前記画像データに十分な数の画素があるか否か、または前記画像データがカメラトランスミッションプロトコルに違反するか否かを検出するように構成されている、請求項6に記載のセンサユニット。
  8. 各データ取得モジュールは、前記画像フレームを検査してフレームエラーを検出するためのフレームエラー検出器をさらに備える、請求項1に記載のセンサユニット。
  9. 前記フレームエラー検出器は、前記画像フレームが短フレームであるかまたは長フレームであるかを検出するように構成されている、請求項8に記載のセンサユニット。
  10. 各データ取得モジュールは、新しい画像をキャプチャするために対応するカメラに送信された複数のトリガ信号をカウントするトリガカウントを格納するためのトリガカウンタをさらに備える、請求項1に記載のセンサユニット。
  11. 前記トリガカウントは、最新のトリガ信号に応答してキャプチャされた画像フレームに含まれる、請求項10に記載のセンサユニット。
  12. 各データ取得モジュールは、対応するカメラから前記画像データを受信する時刻を記録するタイムスタンプを生成するためのタイムスタンプ生成器をさらに備え、前記タイムスタンプは、前記ホストシステムに送信されるべき画像フレームに含まれる、請求項1に記載のセンサユニット。
  13. 前記画像データのオリジナルフォーマットと、YUVフォーマットおよびRGBフォーマットの一方とは、互換性がある、請求項1に記載のセンサユニット。
  14. 前記センサインターフェースは、光検出・測距装置または1つ以上のカメラと接続されるイーサネットインターフェースを含む、請求項1に記載のセンサユニット。
  15. 前記センサインターフェースは、GPS受信機および慣性計測装置のうちの少なくとも1つに接続される全地球測位システム(GPS)インターフェースを含む、請求項1に記載のセンサユニット。
  16. 前記センサインターフェースは、前記自動運転車両のスロットル制御ロジック、ブレーキ制御ロジックおよびステアリング制御ロジックに接続されるコントローラエリアネットワーク(CAN)インターフェースを含む、請求項1に記載のセンサユニット。
  17. 自動運転システムであって、
    自動運転車両(ADV)の複数の位置に取り付けられた複数のセンサと、
    前記センサから得られたセンサデータに基づいて前記自動運転車両の周囲の走行環境を感知し、前記自動運転車両を自律的に走行させるための経路を計画するためのホストシステムと、
    前記複数のセンサと前記ホストシステムとに接続されたセンサユニットと、
    を備える自動運転システムであって、
    前記センサユニットは、
    前記自動運転車両に取り付けられた前記複数のセンサに接続されるセンサインターフェースと、
    前記ホストシステムに接続されるホストインターフェースと、
    それぞれが複数のカメラのうちの1つに対応する複数のデータ取得モジュールと、
    を備え、
    前記データ取得モジュールのそれぞれは、
    画像データの画素を対応するカメラに関連付けられたオリジナルフォーマットから所定のフォーマットへ再フォーマットするための画素アライメントモジュールと、
    前記画素アライメントモジュールに接続されるフレーム処理モジュールであって、前記画素アライメントモジュールから受信された画像データに基づいて画像フレームを生成し、前記画像フレームを前記ホストシステムに送信するように構成されるフレーム処理モジュールと、
    を備える自動運転システム。
  18. 各データ取得モジュールは、前記画素アライメントモジュールに接続されるカメラシミュレータをさらに備え、前記カメラシミュレータは、対応するカメラを使用せずに模擬画像データを生成するようにカメラをシミュレートするように構成される、請求項17に記載のシステム。
  19. 前記模擬画像データは、カメラと接続する必要なしに、前記画素アライメントモジュールおよび前記フレーム処理モジュールの機能をテストするために用いられる、請求項18に記載のシステム。
  20. 各データ取得モジュールは、前記フレーム処理モジュールに接続されるホストシミュレータをさらに備え、前記ホストシミュレータは、前記ホストシステムを使用せずに模擬ホストコマンドおよび応答を生成することによって前記ホストシステムをシミュレートするように構成される、請求項17に記載のシステム。
JP2019127674A 2018-08-24 2019-07-09 カメラを用いた画像データ取得のための自動運転車両の画像データ取得ロジック Active JP6998342B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/112,370 US10816979B2 (en) 2018-08-24 2018-08-24 Image data acquisition logic of an autonomous driving vehicle for capturing image data using cameras
US16/112,370 2018-08-24

Publications (2)

Publication Number Publication Date
JP2020074502A true JP2020074502A (ja) 2020-05-14
JP6998342B2 JP6998342B2 (ja) 2022-01-18

Family

ID=66951784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019127674A Active JP6998342B2 (ja) 2018-08-24 2019-07-09 カメラを用いた画像データ取得のための自動運転車両の画像データ取得ロジック

Country Status (4)

Country Link
US (1) US10816979B2 (ja)
EP (1) EP3620959B1 (ja)
JP (1) JP6998342B2 (ja)
CN (1) CN110895147B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210128952A (ko) * 2021-03-05 2021-10-27 아폴로 인텔리전트 커넥티비티 (베이징) 테크놀로지 씨오., 엘티디. 교통량 모니터링 시스템의 테스트 방법, 장치 및 기기
JP2022019656A (ja) * 2020-07-16 2022-01-27 トヨタ モーター ノース アメリカ,インコーポレイティド 車両のデータアクセス能力を向上するための方法とシステム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6831474B2 (ja) * 2018-08-24 2021-02-17 バイドゥ ドットコム タイムス テクノロジー (ベイジン) カンパニー リミテッド センサ間でデータを伝送するためのデータ伝送ロジック並びに自動運転車の計画及び制御
US20200348143A1 (en) * 2019-05-03 2020-11-05 Apple Inc. Adjusting heading sensor output based on image data
US11153010B2 (en) 2019-07-02 2021-10-19 Waymo Llc Lidar based communication
DE102020108130A1 (de) * 2020-03-25 2021-09-30 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Steuereinheit zur Steuerung einer Kamera
CN111811828B (zh) * 2020-04-17 2022-05-24 新奇点智能科技集团有限公司 一种无人车驾驶测试方法、装置、系统及存储介质
CN112351154B (zh) * 2020-10-28 2022-11-15 湖南汽车工程职业学院 无人驾驶汽车路况识别系统
CN112598819B (zh) * 2020-12-17 2022-07-01 北京百度网讯科技有限公司 自动驾驶系统的测试方法、装置、电子设备及存储介质
US11763569B2 (en) * 2021-03-24 2023-09-19 Denso International America, Inc. System for controlling a camera supporting human review of sensor information
US11938968B2 (en) 2021-11-10 2024-03-26 Robert Bosch Gmbh Trajectory design for image data acquisition for object detection/recognition
CN114882717B (zh) * 2022-03-16 2024-05-17 仓擎智能科技(上海)有限公司 一种基于车路协同的物体检测系统和方法
US11898332B1 (en) * 2022-08-22 2024-02-13 Caterpillar Inc. Adjusting camera bandwidth based on machine operation
CN116485626B (zh) * 2023-04-10 2024-03-12 北京辉羲智能科技有限公司 一种对传感器数据转储的自动驾驶SoC芯片

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006113751A (ja) * 2004-10-13 2006-04-27 Toyota Motor Corp 幾何変換回路
JP2008190868A (ja) * 2007-01-31 2008-08-21 Fuji Heavy Ind Ltd ステレオ画像処理装置
JP2008259190A (ja) * 2007-03-22 2008-10-23 Artnix Inc 顔領域検出装置及び検出方法
JP2013239995A (ja) * 2012-05-17 2013-11-28 Clarion Co Ltd 車載カメラシステム及びこれに用いる映像受信装置と映像送信装置
JP2013544696A (ja) * 2010-10-05 2013-12-19 グーグル・インク 検出された物体の挙動を予測するシステム及び方法
US20170269601A1 (en) * 2016-03-31 2017-09-21 Uber Technologies, Inc. System and method of sensor triggering for synchronized operation
JP2018022953A (ja) * 2016-08-01 2018-02-08 ソニーセミコンダクタソリューションズ株式会社 車載カメラ、車載用カメラ装置、並びに車載カメラの支持方法
JP2018510373A (ja) * 2015-02-10 2018-04-12 モービルアイ ビジョン テクノロジーズ リミテッド 自律車両ナビゲーションのための疎な地図

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020063807A1 (en) * 1999-04-19 2002-05-30 Neal Margulis Method for Performing Image Transforms in a Digital Display System
US9830519B2 (en) * 2012-03-01 2017-11-28 Nissan Motor Co., Ltd. Three-dimensional object detection device
US8838322B1 (en) 2012-08-14 2014-09-16 Google Inc. System to automatically measure perception sensor latency in an autonomous vehicle
CN111199218A (zh) * 2014-01-30 2020-05-26 移动眼视力科技有限公司 用于车辆的控制系统、和图像分析系统
CN105874783B (zh) * 2014-02-04 2020-06-26 英特尔公司 一种用于对运动视频帧速率进行上变频的设备、方法和计算机可读介质
US9892493B2 (en) * 2014-04-21 2018-02-13 Texas Instruments Incorporated Method, apparatus and system for performing geometric calibration for surround view camera solution
GB2532003A (en) * 2014-10-31 2016-05-11 Nokia Technologies Oy Method for alignment of low-quality noisy depth map to the high-resolution colour image
US9740944B2 (en) 2015-12-18 2017-08-22 Ford Global Technologies, Llc Virtual sensor data generation for wheel stop detection
US9639935B1 (en) * 2016-05-25 2017-05-02 Gopro, Inc. Apparatus and methods for camera alignment model calibration
US10015537B2 (en) * 2016-06-30 2018-07-03 Baidu Usa Llc System and method for providing content in autonomous vehicles based on perception dynamically determined at real-time
US10331138B2 (en) * 2016-07-05 2019-06-25 Baidu Usa Llc Standard scene-based planning control methods for operating autonomous vehicles
US10354408B2 (en) * 2016-07-20 2019-07-16 Harman International Industries, Incorporated Vehicle camera image processing
US10712746B2 (en) * 2016-08-29 2020-07-14 Baidu Usa Llc Method and system to construct surrounding environment for autonomous vehicles to make driving decisions
CN106527428A (zh) * 2016-10-19 2017-03-22 东风汽车公司 基于高速公路的嵌入式集成自动驾驶控制器
US9963106B1 (en) * 2016-11-07 2018-05-08 Nio Usa, Inc. Method and system for authentication in autonomous vehicles
US10121262B2 (en) * 2016-12-20 2018-11-06 Canon Kabushiki Kaisha Method, system and apparatus for determining alignment data
US10837773B2 (en) * 2016-12-30 2020-11-17 DeepMap Inc. Detection of vertical structures based on LiDAR scanner data for high-definition maps for autonomous vehicles
JP6341396B1 (ja) * 2017-02-28 2018-06-13 パナソニックIpマネジメント株式会社 動体監視装置、サーバ装置、および動体監視システム
US11367354B2 (en) * 2017-06-22 2022-06-21 Apollo Intelligent Driving Technology (Beijing) Co., Ltd. Traffic prediction based on map images for autonomous driving
US10234302B2 (en) * 2017-06-27 2019-03-19 Nio Usa, Inc. Adaptive route and motion planning based on learned external and internal vehicle environment
US10031526B1 (en) * 2017-07-03 2018-07-24 Baidu Usa Llc Vision-based driving scenario generator for autonomous driving simulation
US10551838B2 (en) * 2017-08-08 2020-02-04 Nio Usa, Inc. Method and system for multiple sensor correlation diagnostic and sensor fusion/DNN monitor for autonomous driving application
US10962979B2 (en) * 2017-09-30 2021-03-30 Tusimple, Inc. System and method for multitask processing for autonomous vehicle computation and control
US10635116B2 (en) * 2017-10-19 2020-04-28 Ford Global Technologies, Llc Video calibration with illumination invariant image
JP7346401B2 (ja) * 2017-11-10 2023-09-19 エヌビディア コーポレーション 安全で信頼できる自動運転車両のためのシステム及び方法
US11040726B2 (en) * 2017-12-15 2021-06-22 Baidu Usa Llc Alarm system of autonomous driving vehicles (ADVs)
US10643342B2 (en) * 2018-02-08 2020-05-05 Huawei Technologies Co., Ltd. Group optimization depth information method and system for constructing a 3D feature map
WO2019169358A1 (en) * 2018-03-02 2019-09-06 DeepMap Inc. Camera based localization for autonomous vehicles
US10593029B2 (en) * 2018-03-21 2020-03-17 Ford Global Technologies, Llc Bloom removal for vehicle sensors
US11436484B2 (en) * 2018-03-27 2022-09-06 Nvidia Corporation Training, testing, and verifying autonomous machines using simulated environments
US10943485B2 (en) * 2018-04-03 2021-03-09 Baidu Usa Llc Perception assistant for autonomous driving vehicles (ADVs)
US11520335B2 (en) * 2018-04-12 2022-12-06 Baidu Usa Llc Determining driving paths for autonomous driving vehicles based on map data
US10816984B2 (en) * 2018-04-13 2020-10-27 Baidu Usa Llc Automatic data labelling for autonomous driving vehicles
US10769793B2 (en) * 2018-04-17 2020-09-08 Baidu Usa Llc Method for pitch angle calibration based on 2D bounding box and its 3D distance for autonomous driving vehicles (ADVs)
US10860868B2 (en) * 2018-04-18 2020-12-08 Baidu Usa Llc Lane post-processing in an autonomous driving vehicle
US11341356B2 (en) * 2018-06-15 2022-05-24 Uatc, Llc System and method for determining object intention through visual attributes
US11427211B2 (en) * 2018-06-18 2022-08-30 Baidu Usa Llc Methods for handling sensor failures in autonomous driving vehicles
US11199842B2 (en) * 2018-06-26 2021-12-14 Baidu Usa Llc Determining driving paths for autonomous driving using parallel processing
US10457294B1 (en) * 2018-06-27 2019-10-29 Baidu Usa Llc Neural network based safety monitoring system for autonomous vehicles
US10551840B2 (en) * 2018-07-02 2020-02-04 Baidu Usa Llc Planning driven perception system for autonomous driving vehicles
US11042157B2 (en) * 2018-07-23 2021-06-22 Baidu Usa Llc Lane/object detection and tracking perception system for autonomous vehicles
US10810872B2 (en) * 2018-07-31 2020-10-20 Baidu Usa Llc Use sub-system of autonomous driving vehicles (ADV) for police car patrol
US10890914B2 (en) * 2018-08-24 2021-01-12 Baidu Usa Llc Trigger logic to trigger sensors of an autonomous driving vehicle for capturing data
US11029165B2 (en) * 2018-10-11 2021-06-08 Baidu Usa Llc Sensor integration and synchronization unit for an autonomous driving vehicle
US11055857B2 (en) * 2018-11-30 2021-07-06 Baidu Usa Llc Compressive environmental feature representation for vehicle behavior prediction
US11340094B2 (en) * 2018-12-12 2022-05-24 Baidu Usa Llc Updating map data for autonomous driving vehicles based on sensor data

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006113751A (ja) * 2004-10-13 2006-04-27 Toyota Motor Corp 幾何変換回路
JP2008190868A (ja) * 2007-01-31 2008-08-21 Fuji Heavy Ind Ltd ステレオ画像処理装置
JP2008259190A (ja) * 2007-03-22 2008-10-23 Artnix Inc 顔領域検出装置及び検出方法
JP2013544696A (ja) * 2010-10-05 2013-12-19 グーグル・インク 検出された物体の挙動を予測するシステム及び方法
JP2013239995A (ja) * 2012-05-17 2013-11-28 Clarion Co Ltd 車載カメラシステム及びこれに用いる映像受信装置と映像送信装置
JP2018510373A (ja) * 2015-02-10 2018-04-12 モービルアイ ビジョン テクノロジーズ リミテッド 自律車両ナビゲーションのための疎な地図
US20170269601A1 (en) * 2016-03-31 2017-09-21 Uber Technologies, Inc. System and method of sensor triggering for synchronized operation
JP2018022953A (ja) * 2016-08-01 2018-02-08 ソニーセミコンダクタソリューションズ株式会社 車載カメラ、車載用カメラ装置、並びに車載カメラの支持方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022019656A (ja) * 2020-07-16 2022-01-27 トヨタ モーター ノース アメリカ,インコーポレイティド 車両のデータアクセス能力を向上するための方法とシステム
KR20210128952A (ko) * 2021-03-05 2021-10-27 아폴로 인텔리전트 커넥티비티 (베이징) 테크놀로지 씨오., 엘티디. 교통량 모니터링 시스템의 테스트 방법, 장치 및 기기
JP2022000776A (ja) * 2021-03-05 2022-01-04 アポロ インテリジェント コネクティビティ (ベイジン) テクノロジー カンパニー リミテッドApollo Intelligent Connectivity (Beijing) Technology Co., Ltd. 交通流監視測定システムのテスト方法、装置及び機器
JP7267363B2 (ja) 2021-03-05 2023-05-01 阿波▲羅▼智▲聯▼(北京)科技有限公司 交通流監視測定システムのテスト方法、装置及び機器
KR102606423B1 (ko) 2021-03-05 2023-11-24 아폴로 인텔리전트 커넥티비티 (베이징) 테크놀로지 씨오., 엘티디. 교통량 모니터링 시스템의 테스트 방법, 장치 및 기기

Also Published As

Publication number Publication date
CN110895147B (zh) 2023-11-24
US20200064837A1 (en) 2020-02-27
CN110895147A (zh) 2020-03-20
JP6998342B2 (ja) 2022-01-18
EP3620959A1 (en) 2020-03-11
US10816979B2 (en) 2020-10-27
EP3620959B1 (en) 2022-09-28

Similar Documents

Publication Publication Date Title
JP6998342B2 (ja) カメラを用いた画像データ取得のための自動運転車両の画像データ取得ロジック
JP6754856B2 (ja) 自動運転車両のためのセンサー集約フレームワーク
CN110727267B (zh) 具有冗余超声雷达的自动驾驶车辆
JP6799643B2 (ja) 自動運転車両のデータ取得用センサをトリガするためのトリガロジック
CN111835496B (zh) 在自动驾驶系统的不同计算节点之间的定时同步方案
JP6748244B2 (ja) 自動運転車に用いられる学習に基づく速度計画装置
US20180307944A1 (en) Automatically collecting training data for object recognition with 3d lidar and localization
JP2019182402A (ja) 自動運転車両に用いられる検知支援
EP3757587A1 (en) Flexible test board to improve sensor i/o coverage for autonomous driving platform
JP2020521191A (ja) 自動運転車両の高速道路における自動運転に用いる、地図及びポジショニングなしで車線に沿う走行方法
CN112204975B (zh) 自动驾驶车辆中视频压缩的时间戳和元数据处理
US11338823B2 (en) Multiple sensor data storage with compressed video stream in autonomous driving vehicles
JP6831474B2 (ja) センサ間でデータを伝送するためのデータ伝送ロジック並びに自動運転車の計画及び制御
US11175410B2 (en) Flexible GPS message decoder for decoding GPS messages during autonomous driving
CN111857117B (zh) 用于在自动驾驶期间解码gps消息的gps消息解码器
US12017663B2 (en) Sensor aggregation framework for autonomous driving vehicles

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201224

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210323

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211220

R150 Certificate of patent or registration of utility model

Ref document number: 6998342

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150