JP6831474B2 - センサ間でデータを伝送するためのデータ伝送ロジック並びに自動運転車の計画及び制御 - Google Patents

センサ間でデータを伝送するためのデータ伝送ロジック並びに自動運転車の計画及び制御 Download PDF

Info

Publication number
JP6831474B2
JP6831474B2 JP2019546184A JP2019546184A JP6831474B2 JP 6831474 B2 JP6831474 B2 JP 6831474B2 JP 2019546184 A JP2019546184 A JP 2019546184A JP 2019546184 A JP2019546184 A JP 2019546184A JP 6831474 B2 JP6831474 B2 JP 6831474B2
Authority
JP
Japan
Prior art keywords
sensor
data
host system
data transmission
module
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.)
Active
Application number
JP2019546184A
Other languages
English (en)
Other versions
JP2020534195A (ja
Inventor
チャン、マンジャン
ユ、シャンタオ
フアン、デイヴィー
チャン、ティファニー
ワン、シュアイ
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 JP2020534195A publication Critical patent/JP2020534195A/ja
Application granted granted Critical
Publication of JP6831474B2 publication Critical patent/JP6831474B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/091Traffic information broadcasting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/10Path keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • 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
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/20Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/408Radar; Laser, e.g. lidar
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2400/00Special features of vehicle units
    • B60Y2400/30Sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Combustion & Propulsion (AREA)
  • Chemical & Material Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Traffic Control Systems (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Electromagnetism (AREA)
  • Artificial Intelligence (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Description

本発明の実施形態は、全体として自動運転車の操作に関する。より具体的に、本発明の実施形態は自動運転車のセンサシステムに関する。
自動運転モード(例えば、無人運転)で操作される車は、乗員、特に運転手を一部の運転に関する責任から解放することができる。自動運転モードで操作する場合、車は車載センサーを用いて様々な位置までナビゲートすることができるので、車を人との最小限のインタラクションで、又は一部の場合に乗客がいないままで走行させることができる。
モーション計画及び制御は自動運転の重要な操作である。モーション計画及び制御の精度及び効率は車両のセンサに大きく左右される。異なるセンサは異なる要件又は仕様を有することができる。ハードウェア上のリソースが限られていることから、異なる種類のセンサを効率的に処理することができる有効なセンサ処理ユニットが乏しいのが実情である。
第一の態様では、本発明は自動運転車に用いられるセンサユニットを提供し、当該センサユニットは、自動運転車(ADV)の複数の位置に取り付けられた複数のセンサに接続されるセンサインターフェースと、ホストシステムに接続されるホストインターフェースであって、前記ホストシステムは、前記センサから取得されたセンサデータに基づいて、前記ADVの周囲の運転環境を感知し、前記ADVを自動的に運転する経路を計画するように構成されたものである、ホストインターフェースと、前記複数のセンサに対応する複数のデータ伝送モジュールであって、前記複数のデータ伝送モジュールの各々は、対応するセンサと前記ホストシステムとの間でデータを伝送するように、対応するセンサのタイプに応じて複数の動作モードのうちの1つで動作するように構成されたものであり、前記複数の動作モードは、低遅延モード及び高帯域幅モードを含む、データ伝送モジュールとを備える。
第二の態様では、本発明は自動運転システムを提供し、当該自動運転システムは、自動運転車(ADV)の複数の位置に取り付けられた複数のセンサと、感知モジュールと計画及び制御モジュールとを有するホストシステムであって、前記感知モジュールは、前記センサから取得されたセンサデータに基づいて前記ADVの周囲の運転環境を感知するものであり、前記計画及び制御モジュールは、前記ADVを自動的に運転する経路を計画するものである、ホストシステムと、前記複数のセンサ及び前記ホストシステムに接続されたセンサユニットと、を備え、前記センサユニットは、前記ADVに取り付けられた前記複数のセンサに接続されるセンサインターフェースと、前記ホストシステムに接続されるホストインターフェースと、前記複数のセンサに対応する複数のデータ伝送モジュールであって、前記複数のセンサに対応する複数のデータ伝送モジュールであって、前記複数のデータ伝送モジュールの各々は、対応するセンサと前記ホストシステムとの間でデータを伝送するように、対応するセンサのタイプに応じて複数の動作モードのうちの1つで動作するように構成されたものであり、前記複数の動作モードは、低遅延モード及び高帯域幅モードを含む、データ伝送モジュールとを備える。
本発明の実施形態は、添付図面の各図において例示的且つ非制限的に示されており、添付図面における同じ参考符号は類似素子を示す。
一実施形態に係るネットワークシステムを示すブロック図である。
一実施形態に係る自動運転車の一例を示すブロック図である。
一実施形態に係る自動運転車に併用される感知及び計画システムの一例を示すブロック図である。 一実施形態に係る自動運転車に併用される感知及び計画システムの一例を示すブロック図である。
一実施形態に係る自動運転システムのアーキテクチャを示すブロック図である。
一実施形態に係るセンサユニットの一例を示すブロック図である。 一実施形態に係るセンサユニットの一例を示すブロック図である。
一実施形態に係るデータ伝送ユニットの一例を示すブロック図である。
一実施形態に係る記述子バッファを伝送する一例を示すブロック図である。
一実施形態に係るバッファテーブルを受信する一例を示すブロック図である。
一実施形態に係るデータ処理システムを示すブロック図である。
本発明の様々な実施形態と態様は、以下で論述される詳細を参照しながら記載され、添付図面が様々な実施形態を説明する。下記説明及び添付図面は本発明を説明するためのものであり、本発明を限定するものとして解釈されてはいけない。多くの具体的な詳細は、本発明の様々な実施形態に対する全面的な理解を提供するために記載される。しかしながら、特定の場合において、本発明の実施形態に対する簡潔な論述を提供するために、公知又は通常の詳細は記載されないことがある。
本明細書において、「一実施形態」又は「実施形態」の記載は、当該実施形態に記載されている特定の特徴、構成又は特性を組み合わせて本発明の少なくとも一つの実施形態に含むことができることを意味する。「一実施形態において」は、本明細書において複数のところに出現しており、全て同一の実施形態を意味するものではない。
本発明の一態様において、自動運転車(ADV)に使用されるセンサユニットは、ADVの複数の異なる位置に取り付けられた複数のセンサに接続可能なセンサインターフェースを含む。センサユニットは、車両を自動的に運転するための計画及び制御システムのようなホストシステムに接続可能なホストインターフェースをさらに含む。センサユニットは、センサに対応する複数のデータ伝送モジュールをさらに含む。データ伝送モジュールの各々は、対応するセンサのタイプに応じて、異なる動作モードの1つで動作するように構成することができる。動作モードは、低遅延モード、高帯域幅モード及び記憶モードを含むことができる。
一実施形態において、データ伝送モジュールは、低遅延モードで動作する場合、遅延無し又は最小遅延でデータを伝送するように構成される。データ伝送モジュールは、高帯域幅モードで動作する場合に、データを所定量に累積した後、累積したデータバッチをホストシステムに送信して、センサユニットとホストシステムとの間の接続の帯域幅を最大化する、バーストモードに類似するように構成される。累積されるデータの量は、単一の送信サイクル又は最小送信サイクル数で送信され得る接続の利用可能な帯域幅に依存する。例えば、接続がペリフェラルコンポーネントインターコネクト(PCI)エクスプレス(PCIe)リンクである場合、累積されたデータの量は、PCIeリンクが単一のPCIサイクル又は限られた数のPCIサイクル内で処理できる量に達する。別の実施形態では、データ伝送モジュールは、ホストシステムのシステムメモリからマッピングされたマッピングメモリに直接アクセスする記憶モード(固定記憶モードとも呼ばれる)で動作するように構成されてもよい。
一実施形態によれば、低遅延モード又は高帯域幅モードでセンサからホストシステムにデータを伝送するとき、データ伝送モジュールは、ホストシステムによってセンサからデータを受信するように構成したページ・ディレクトリテーブル(PDT)を検索するための要求をホストシステムに送信するように構成される。PDTは、複数のページテーブル(PT)エントリを含む。各PTエントリにはページテーブルを参照するメモリアドレスが格納されている。各ページテーブルは複数のメモリページエントリを含む。各メモリページエントリはホストシステムのメモリページのメモリアドレスを記憶するために使用される。データ伝送モジュールは、ホストから受信したページディレクトリテーブルに基づいて、ページディレクトリテーブル及びページテーブルのトラバーサルによって、センサデータをメモリページに格納するように構成されている。ページディレクトリテーブル及びページテーブルを用いてマッピングすることにより、メモリページが持続的又は連続的である必要がなくなり、分散収集方式でデータ伝送を行うことができる。
別の実施形態によれば、低遅延モード又は高帯域幅モードでデータ又は命令がホストシステムからセンサに伝送されるとき、データ伝送モジュールは、記述子バッファを検索するための要求をホストシステムに送信するように構成される。記述子バッファは複数のエントリ又はブロックを含む。各エントリは、メモリブロック又はバッファの開始ストレージアドレス及びホストシステムのホストメモリのメモリブロックのサイズを指定する情報を含む。それから、データ伝送モジュールは、ホストシステムによって記憶されたメモリブロックからデータ又は命令を検索すべく、記述子バッファのトラバーサルによって、データ又は命令を対応するセンサに送信する。
別の態様によれば、自動運転システムは、ADV及びホストシステムの異なる位置に取り付けられた複数のセンサを含む。ホストシステムは、感知モジュールと、計画及び制御モジュールとを含む。感知モジュールは、センサから取得されたセンサデータに基づいて、ADV周辺の運転環境を感知するように構成される。計画及び制御モジュールは、感知データに基づいてADVを自動的に運転する経路を計画する。自動運転システムは、センサ及びホストシステムに接続されるセンサユニットを更に含む。センサユニットは、ADVに取り付けられたセンサに接続されるセンサインターフェースと、ホストシステムに接続されるホストインターフェースと、センサに対応する複数のデータ伝送モジュールとを含む。データ伝送モジュールの各々は、対応するセンサとホストシステムとの間でデータを伝送するために、対応するセンサのタイプに応じて、動作モードのうちの1つで動作するように構成される。動作モードは、低遅延モード及び高帯域幅モードを含む。
図1は、一実施形態に係る自動運転車のネットワーク構成を示すブロック図である。図1を参照し、ネットワーク構成100は、ネットワーク102を介して1つ又は複数のサーバ103〜104に通信可能に接続することができる自動運転車101を含む。1台の自動運転車が示されているが、複数の自動運転車がネットワーク102を介して互いに、及び/又はサーバ103〜104に接続されてもよい。ネットワーク102は、有線又は無線のローカルエリアネットワーク(LAN)、インターネットなどのような広域ネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、又はそれらの組み合わせなど任意の種類のネットワークであってもよい。サーバ103〜104は、ネットワーク又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ、又はそれらの組み合わせなど、任意のタイプのサーバ又はサーバクラスタであってもよい。サーバ103〜104は、データ分析サーバ、コンテンツサーバ、交通情報サーバ、地図及び関心点(MPOI)サーバ、又は位置サーバなどであってもよい。
自動運転車とは、車両が運転者からの入力が非常に少なく又はない場合でもナビゲーションして環境を通過するように、自律走行モードに設定できる車両である。このような自動運転車は、車両走行環境に関連する情報を検出するように構成された1つ又は複数のセンサを含むセンサシステムを備えてもよい。前記車両及びそれに関連するコントローラは、検出された情報を用いてナビゲーションして前記環境を通過できる。自動運転車101は、手動モード、完全自律運転モード、又は部分自律運転モードで走行することができる。
一実施形態では、自動運転車101は、感知及び計画システム110、車両制御システム111、無線通信システム112、ユーザインターフェースシステム113、インフォテインメントシステム114及びセンサシステム115を含むが、これらに限定されない。自動運転車101には、通常の車両に備えられているいくつかの一般的な構成要素、例えば、エンジン、車輪、ステアリングホイール、変速機などが更に備えられてもよく、前記構成要素は、車両制御システム111及び/又は感知及び計画システム110により複数種類の通信信号及び/又は命令、例えば、加速信号又は命令、減速信号又は命令、ステアリング信号又は命令、ブレーキ信号又は命令などを使用して制御可能である。
構成要素110〜115は、インターコネクタ、バス、ネットワーク又はこれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素110〜115は、コントローラローカルエリアネットワーク(CAN)バスを介して互いに通信可能に接続することができる。CANバスは、ホストコンピュータなしのアプリケーションにおいてマイクロコントローラ及びデバイスが互いに通信できるように許容された車両バス規格である。それは、もともとは自動車内の多重電気配線のために設計されたメッセージに基づくプロトコルであるが、他の多くの環境にも用いられる。
図2を参照すると、一実施形態では、センサシステム115は、一つ以上のカメラ211、全地球測位システム(GPS)ユニット212、慣性計測ユニット(IMU)213、レーダユニット214並びに光検出及び測距(LIDAR)ユニット215を含むが、これらに限定されない。GPSユニット212は、自動運転車の位置に関する情報を提供するように操作可能な送受信機を含んでもよい。IMUユニット213は、慣性加速度に基づいて自動運転車の位置及び方位変化を感知することができる。レーダユニット214は、無線信号を用いて自動運転車のローカル環境におけるオブジェクトを感知するシステムを表してもよい。いくつかの実施形態において、オブジェクトを感知することに加えて、レーダユニット214は、更にオブジェクトの速度及び/又は進行方向を感知することもできる。LIDARユニット215は、自動運転車が位置する環境におけるオブジェクトをレーザで感知することができる。他のシステム構成要素に加えて、LIDARユニット215は、更に一つ以上のレーザ光源、レーザスキャナ及び一つ以上の検出器を含んでもよい。カメラ211は、自動運転車の周囲環境における画像を取り込むための一つ以上の装置を含んでもよい。カメラ211は、スチルカメラ及び/又はビデオカメラであってもよい。カメラは、例えば、回転及び/又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動可能なものであってもよい。
センサシステム115は更に他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ及びオーディオセンサ(例えば、マイクロフォン)を含んでもよい。オーディオセンサは、自動運転車の周囲の環境から音声を取得するように構成されてもよい。ステアリングセンサは、ステアリングホイール、車両の車輪又はこれらの組み合わせの操舵角を感知するように構成されてもよい。スロットルセンサ及びブレーキセンサはそれぞれ車両のスロットル位置及びブレーキ位置を感知する。ある場合に、スロットルセンサ及びブレーキセンサは集積型スロットル/ブレーキセンサとして統合されてもよい。
一実施形態では、車両制御システム111は、ステアリングユニット201、スロットルユニット202(加速ユニットともいう)及びブレーキユニット203を含むが、これらに限定されない。ステアリングユニット201は、車両の方向又は進行方向を調整するために用いられる。スロットルユニット202は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度によって更に車両の速度及び加速度を制御する。ブレーキユニット203は、摩擦を提供することによって車両の車輪又はタイヤを減速させることで、車両を減速させる。注意すべきことは、図2に示された構成要素は、ハードウェア、ソフトウェア又はこれらの組み合わせで実施することができる。
再び図1を参照し、無線通信システム112は、自動運転車101と、装置、センサ、他の車両などのような外部システムとの通信を可能にする。例えば、無線通信システム112は、直接又は通信ネットワークを介して一つ以上の装置と無線通信することができ、例えば、ネットワーク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は更に、異なる時点における運転環境を記述する情報、例えば、ルート(出発地及び目的地を含む)、MPOI、道路状況、天気状況などを含んでもよい。
機械学習エンジン122は、運転統計情報123に基づいて、様々な目的に応じて1セットのルール、アルゴリズム及び/又は予測モデル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にロードされ、且つ一つ以上のプロセッサ(図示せず)により実行されてもよい。注意すべきことは、これらのモジュールのうちの一部又は全部は、図2の車両制御システム111の一部又は全部のモジュールに通信可能に接続されるか、又はそれらと一体に統合されてもよい。モジュール301〜307のうちの一部は集積モジュールとして一体に統合されてもよい。
測位モジュール301は、(例えば、GPSユニット212を利用して)自動運転車300の現在の位置を確定し、ユーザの旅程又はルートに関連する如何なるデータを管理する。測位モジュール301(地図及びルーティングモジュールともいう)は、ユーザの旅程又はルートに関連する如何なるデータを管理する。ユーザは、例えば、ユーザインターフェースを介して登録して旅程の出発地及び目的地を指定することができる。測位モジュール301は、自動運転車300における地図及びルート情報311のような他の構成要素と通信して、旅程関連データを取得する。例えば、測位モジュール301は、位置サーバ並びに地図及びPOI(MPOI)サーバから位置及びルート情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは地図サービス及びある位置のPOIを提供することにより、地図及びルート情報311の一部としてキャッシュされることができる。自動運転車300がルートに沿って移動している場合に、測位モジュール301は交通情報システム又はサーバからリアルタイム交通情報を取得することもできる。
感知モジュール302は、センサシステム115により提供されたセンサデータと、測位モジュール301により取得された測位情報とに基づいて、周囲環境への感知を確定する。感知情報は、運転手により運転されている車両の周囲において一般の運転手が感知すべきものを示すことができる。感知は、例えば、オブジェクト形式を採用した車線構成、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道又は他の交通関連標識(例えば、止まれ標識、ゆずれ標識)などを含むことができる。車線構成は、例えば、車線の形状(例えば、直線又は湾曲)、車線の幅、道路内の車線数、一方向又は二方向、車線の合流又は分割、退出車線など、1つ又は複数の車線を記述する情報を含む。
感知モジュール302は、一つ以上のカメラにより収集された画像を処理、解析して、自動運転車の環境におけるオブジェクト及び/又は特徴を認識するために、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路の境界、他の車両、歩行者及び/又は障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図を描画し、オブジェクトを追跡し、及びオブジェクトの速度などを推定することができる。感知モジュール302は、RADAR及び/又はLIDARのような他のセンサにより提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
各オブジェクトについて、予測モジュール303は、様々な場合にオブジェクトがどのように挙動するかを予測する。予測は、地図/ルート情報311と交通ルール312のセットに応じて、当該時点において運転環境が感知された感知データに基づいて実行される。例えば、オブジェクトが反対方向における車両で、且つ現在の運転環境に交差点が含まれている場合に、予測モジュール303は、車両が直進するか又はカーブ走行するかを予測する。感知データが、交差点に信号機がないことを示す場合、予測モジュール303は、交差点に入る前に車両が完全に停止する必要があると予測する可能性がある。感知データが、車両が現在左折専用車線又は右折専用車線にあることを示す場合、予測モジュール303は、車両がそれぞれ左折又は右折する可能性がより高いと予測することができる。
各オブジェクトに対して、決定モジュール304はオブジェクトをどのように対応するかを決定する。例えば、特定のオブジェクト(例えば、交差のルートにおける他の車両)及びオブジェクトを記述するメタデータ(例えば、速度、方向、操舵角)について、決定モジュール304は前記オブジェクトと遇うときに如何に対応するか(例えば、追い越し、道譲り、停止、追い抜き)を決定する。決定モジュール304は、交通ルール又は運転ルール312のルールセットに基づいてこのような決定を下すことができ、前記ルールセットは永続性記憶装置352に記憶されてもよい。
ルーティングモジュール307は、出発地から目的地までの一つ以上のルート又は経路を提供するように構成される。例えば、ユーザから受け取った出発地から目的地までの所定の旅程に対して、ルーティングモジュール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)の周期など、複数の計画周期(運転周期ともいう)で実行される。計画周期又は運転周期のそれぞれについて、計画及び制御データに基づいて一つ以上の制御命令を発する。すなわち、100msごとに、計画モジュール305は、例えば、目標位置及びADVが目標位置に到着するのに必要な時間を含む次のルート区間又は経路区間を計画する。場合に応じて、計画モジュール305は更に具体的な速度、方向及び/又は操舵角などを指定することもできる。一実施形態では、計画モジュール305は、次の所定時間周期(例えば、5秒)のルート区間又は経路区間を計画する。各計画サイクルについて、計画モジュール305は、前の周期で計画された目標位置に基づいて、現在の周期(例えば、次の5秒)のための目標位置を計画する。次に、制御モジュール306は、現在の周期の計画及び制御データに基づいて、一つ以上の制御命令(例えば、スロットル、ブレーキ、ステアリング制御命令)を生成する。
注意すべきことは、決定モジュール304及び計画モジュール305は、集積モジュールとして一体化されてもよい。決定モジュール304/計画モジュール305は、自動運転車の運転経路を決定するために、ナビゲーションシステム又はナビゲーションシステムの機能を具備することができる。例えば、ナビゲーションシステムは、自動運転車が下記の経路に沿って移動することを実現するための一連の速度及び進行方向を決定することができる。前記経路では、自動運転車が最終的な目的地に通じる走行車線に基づく経路に沿って進行するとともに、感知された障害物を実質的に回避できる。目的地は、ユーザインターフェースシステム113を経由して行われたユーザ入力に応じて設定されることができる。ナビゲーションシステムは、自動運転車が走行していると同時に走行経路を動的に更新することができる。ナビゲーションシステムは、自動運転車のための運転経路を決定するために、GPSシステム及び一つ以上の地図からのデータをマージすることができる。
図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装置、RADAR装置、GPS受信機、IMU、超音波センサ、GNSS(全地球航法衛星システム)受信機、LTE又はセルラSIMカード、車両センサ(例えば、アクセル、ブレーキ、ステアリングセンサ)、及びシステムセンサ(例えば、温度、湿度、圧力センサ)のような自動運転車で使用される様々なセンサを含むことができる。
例えば、カメラは、イーサネット(登録商標)又はGPIOインターフェースを介して接続されてもよい。GPSセンサは、USB又は特定のGPSインターフェースを介して接続されてもよい。車両センサは、CANインターフェースを介して接続されてもよい。RADARセンサ又は超音波センサは、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のマップメモリの記憶位置に直接書き込むように構成される。記憶モードを使用して送信されるセンサデータの例は、温度、ファン速度のようなシステム状態データを含む。
図6は、一実施形態によるデータ伝送モジュールを示すブロック図である。データ伝送モジュール600は、データ伝送モジュール502A〜502Cのうちのいずれかを表すことができる。図6を参照すると、一実施形態によれば、データ伝送モジュール600は、送信(TX)モジュール601と、受信(RX)モジュール602とを含む。TXモジュール601は、ホストシステム110からのデータ又は命令をセンサに送信する役割を果たす。RXモジュール602は、センサからセンサデータを受信し、受信されたセンサデータをホストシステム110に送信する役割を果たす。
一実施形態によれば、TXモジュール601は、センサにデータ及び/又は命令を送信する要求に応答して、ホストシステムによってセットアップされたTX記述子バッファを指すポインタを要求して受信し、該ポインタをTX記述子バッファ情報611の一部として記憶することができる。記述子バッファ情報は、ホストシステム110のホストシステムメモリにマッピングされたTXバッファを記述するメタデータを含む。マッピングされたメモリ領域は、センサに送信されるデータ及び/又は命令を記憶するように構成される。一実施形態において、TX記述子は、1つ以上のメモリブロックエントリを含む。各メモリブロックエントリは、メモリブロックの開始アドレスと、メモリブロックのサイズとを指定する情報を含む。送信されるデータは、バッファ506に一時的に記憶されてもよく、バッファ506において、データは、対応するセンサ処理モジュールによってさらに処理されてもよい。代替的に、センサ処理モジュールは、記述子バッファ611を介してマッピングされたホストメモリからのデータを直接処理することができる。
図7は、一実施例に係る伝送記述子バッファの一例を示すブロック図である。TX記述子バッファ700は、図6のTX記述子バッファ611を表してもよい。図7を参照すると、TX記述子バッファ(TX記述子とも呼ばれる)700は、1つ以上のメモリブロックエントリ701からメモリブロックエントリ702を含む。各メモリブロックエントリは、ホストシステム110のホストメモリ710のメモリブロックの開始アドレス(開始アドレス721〜722など)を指定する情報を含む。各メモリブロックエントリは、対応するメモリブロックのサイズ又は長さ(例えば、長さ723〜長さ724)も含む。この例では、領域721は、ホストメモリ710のメモリブロック711の開始アドレスを記憶し、領域723には、メモリブロック711のサイズ又は長さが指定される。同様に、領域722には、ホストメモリ710のメモリブロック712の開始アドレスが記憶され、領域724には、メモリブロック712のサイズ又は長さが指定される。
図6及び図7を参照すると、TXモジュール601は、データ伝送を開始する前に、ホストシステム110からTX記述子バッファ700を要求し、受信する。この時点で、ホストシステム110は、1つ以上のメモリブロック711〜712に送信されるデータ/命令をすでに格納し、TX記述子バッファ700の領域721〜724を充填する。それの応答として、TXモジュール601は、TX記述子バッファ700を横断して、メモリブロック711及びメモリブロック712を識別する。そして、TXモジュール601は、記憶ブロック711〜712からデータを検索し、対応するセンサ処理モジュールにデータを送信し、次に、該センサ処理モジュールは、対応するセンサと互換性を有するように該データを処理する。その後、データ及び/又は命令がセンサに送信される。
TX記述子バッファ700は、センサへのデータ送信要求に応答して、ランタイムにホストシステム110から動的にダウンロードされ得ることに留意されたい。代替的に、TX記述子バッファ700は、システムの起動時にホストシステム110からダウンロードされてもよく、ここで、任意のデータ伝送前に、静的にメモリブロック711からメモリブロック712に割り当てられる。
一実施形態によれば、図6に戻って参照すると、RXモジュール602は、センサから生成され対応するセンサ処理モジュールによって処理され得るセンサデータが存在することを示す信号を受信すると、センサから生成されるデータを受信するために、メモリページの割り当て要求をホストシステム110に送信する。そして、RXモジュール602は、ホストシステム110からRXバッファテーブル612を受信する。RXバッファテーブル612は、複数のレベル(例えば、Nレベル)のマッピングテーブルを含み得る。一実施形態において、トップレベルバッファテーブルはRXページディレクトリテーブルを含む。一実施形態において、RXページディレクトリテーブルは、1つ又は複数のページテーブルエントリを含む。各ページテーブルエントリは、特定のページテーブル(例えば、下位のテーブル)のメモリアドレスを記憶する。各ページテーブルエントリは、ホストシステム110のホストメモリの記憶ページ(例えば、下位のテーブルである固定記憶ページ)の開始アドレスを指定する情報を含む。ホストシステム110のホストメモリのトップレベルテーブルと記憶ページとの間にはNレベルのリンクテーブルが存在し得る。各親テーブルは、階層構造における子テーブルを参照するアドレス又はリンクを含む。
図8は、一実施形態によるRXバッファテーブル構造の例を示すブロック図である。ページディレクトリテーブル801は、図6のRXバッファテーブル612のトップレベルを示すことができる。図8を参照すると、ページディレクトリテーブル801は、PTエントリ811〜812のような1つ以上のページテーブル(PT)エントリを含む。各PTエントリは、ページテーブル802〜803(例えば、下位のテーブル、テーブル801の子レベルテーブル)などの特定のページテーブルにリンクされたアドレスを記憶する。この例では、PTエントリ811はページテーブル802を指すアドレスを記憶し、PTエントリ812はページテーブル803を参照するアドレスを記憶する。各ページテーブルは、1つ以上のメモリページ(MP)エントリを含む。各MPエントリは、ホストメモリ810内のメモリページ(例えば、下位レベルのテーブル)の開始位置を指すメモリアドレスを記憶するか、又は指定するために使用され得る。メモリページは、固定サイズ(例えば、4キロバイト又はKB)のメモリページに割り当てられてもよい。
図6及び図8を参照すると、システムの初期化中に、又はセンサデータの受信要求に動的に応答して、RXモジュール602は、ホストシステム110からページディレクトリテーブル801を受信する。RXモジュール602は、ページディレクトリテーブル801を横断してページテーブル802〜803の1つ以上を位置決めし、ページテーブル802〜803から、RXモジュール602は、メモリページのメモリアドレスを識別し、検索する。RXモジュール602は、センサデータのサイズに応じて、バッファ506からセンサデータを検索することができ、センサデータは、対応するセンサ処理モジュールによって処理されていてもよい。そして、RXモジュール602は、ページテーブル802〜803から取得されたメモリページの開始アドレスに基づいて、ホストメモリ810のメモリページにセンサデータを格納する。
一実施形態では、データ伝送モジュール600は、ホストシステム110によって指定され得る任意の構成情報を記憶するための1組の1つ又は複数の構成レジスタ615をさらに含んでもよい。例えば、データがメモリページの全ての空間を満たしていない場合、最後の格納位置のメモリアドレスを指定して、構成レジスタ615に格納することができる。したがって、データをパディングする論理又はデータを読み出す論理は、どこで行が入れ替わったか又は止まったかを知る。図8では、3つのレベルのテーブルしか示されていないが、テーブル801、テーブル802、テーブル803とホストメモリ810との間には、1つ以上のレベルのテーブルが存在してもよい。
上記に示し、説明した構成要素の一部又は全部は、ソフトウェア、ハードウェア又はそれらの組合せにおいて実現できることに留意されたい。例えば、このような構成要素は、永久記憶装置にインストールされ且つ記憶されたソフトウェアとして実現でき、前記ソフトウェアは、プロセッサ(図示せず)でメモリにおいてロードされ且つ実行されることにより、本出願の全体にわたって説明されるプロセス又は操作を実行する。あるいは、このような構成要素は専用ハードウェア(例えば、集積回路(例えば、専用集積回路又は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(登録商標)オペレーティングシステム、アップル会社からのMac OS(登録商標)/iOS(登録商標)、Google(登録商標)会社からのAndroid(登録商標)、LINUX(登録商標)、UNIX(登録商標)又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
システム1500は、I/O装置、例えば装置1505〜1508をさらに備えてもよく、ネットワークインターフェース装置1505、選択可能な入力装置1506及び他の選択可能なI/O装置1507を備える。ネットワークインターフェース装置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は、任意の1種又は複数種の本明細書に記載の方法又は機能を体現する1つ又は複数の命令セット又はソフトウェア(例えば、モジュール、ユニット及び/又はロジック1528)が記憶されるコンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる)を備えてもよい。処理モジュール/ユニット/ロジック1528は、感知モジュール302、計画モジュール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)の複数の位置に取り付けられた複数のセンサに接続されるセンサインターフェースと、
    ホストシステムに接続されるホストインターフェースであって、前記ホストシステムは、前記センサから取得されたセンサデータに基づいて、前記ADVの周囲の運転環境を感知し、前記ADVを自動的に運転する経路を計画するように構成されたものである、ホストインターフェースと、
    前記複数のセンサに対応する複数のデータ伝送モジュールであって、前記複数のデータ伝送モジュールの各々は、対応するセンサと前記ホストシステムとの間でデータを伝送するように、対応するセンサのタイプに応じて複数の動作モードのうちの1つで動作するように構成されたものであり、前記複数の動作モードは、低遅延モード及び高帯域幅モードを含む、データ伝送モジュールとを備える、
    自動運転車に用いられるセンサユニット。
  2. データ伝送モジュールの各々は、前記低遅延モードで動作する場合に、最小遅延でデータを伝送する、
    請求項1に記載のセンサユニット。
  3. 前記データ伝送モジュールは、前記高帯域幅モードで動作する場合に、前記データを所定量に累積した後、累積したデータをグループ化して前記ホストシステムに送信して、前記データ伝送モジュールと前記ホストシステムとの間の接続の帯域幅を最大化する、
    請求項1に記載のセンサユニット。
  4. 前記データ伝送モジュールと前記ホストシステムとの間の前記接続は、周辺機器高速接続端子(PCIe)互換可能な接続である、
    請求項に記載のセンサユニット。
  5. 前記データ伝送モジュールの各々はさらに固定記憶モードで動作するように構成され得る、
    請求項1に記載のセンサユニット。
  6. データ伝送モジュールの各々は、前記固定記憶モードで動作する場合に、前記ホストシステムのマッピングメモリに直接アクセスするように構成されている、
    請求項5に記載のセンサユニット。
  7. 第1センサに対応する第1データ伝送モジュールは、
    ページディレクトリテーブル(PDT)を受信するように、前記ホストインターフェースを介して前記ホストシステムに要求を送信し、
    前記第1センサから受信されたセンサデータに応答して、前記PDTによって記述された複数のメモリページに前記センサデータを記憶することによって、前記センサデータを前記ホストシステムに伝送するように構成されている、
    請求項1に記載のセンサユニット。
  8. 前記PDTは複数のページテーブル(PT)エントリを含み、前記ページテーブルエントリの各々は、複数のページテーブルのうちの1つに対応するメモリアドレスを記憶する、
    請求項7に記載のセンサユニット。
  9. ページテーブルの各々は複数のメモリページエントリを含み、メモリページエントリの各々は前記ホストシステムのメモリページのメモリアドレスを記憶する、
    請求項8に記載のセンサユニット。
  10. 前記第1データ伝送モジュールは、前記ホストシステムによって構成された前記PDT内の複数のページテーブルエントリ及び前記ホストシステムの固定サイズのメモリページを受信するように、1つ以上の構成レジスタをさらに含む、
    請求項9に記載のセンサユニット。
  11. 第2センサに対応する第2データ伝送モジュールは、
    前記第2センサにデータを送信するように、前記ホストシステムからの記述子バッファを含む要求を前記ホストインターフェースを介して前記ホストシステムから受信し、
    前記記述子バッファによって記述されたデータバッファからデータを検索し、
    検索されたデータを前記センサインターフェースを介して前記第2センサに伝送するように構成されている、
    請求項1に記載のセンサユニット。
  12. 前記記述子バッファは複数のデータブロックエントリを含み、前記複数のデータブロックエントリの各々は前記データバッファの複数のデータブロックのうちの1つに対応する、
    請求項11に記載のセンサユニット。
  13. データブロックエントリの各々は、対応するデータブロックの長さと、前記データバッファにおける前記対応するデータブロックのメモリアドレスとを含む、
    請求項12に記載のセンサユニット。
  14. 前記センサインターフェースは、LIDARデバイス又は1つ以上のカメラに接続するように、イーサネット(登録商標)インターフェースを備える、
    請求項1に記載のセンサユニット。
  15. 前記センサインターフェースは、GPS受信機及びIMUデバイスの少なくとも一方に接続するように、全地球測位システム(GPS)インターフェースを備える、
    請求項1に記載のセンサユニット。
  16. 前記センサインターフェースは、前記ADVのスロットル制御ロジック、ブレーキ制御ロジック及びステアリング制御ロジックに接続するように、コントロールエリアネットワーク(CAN)インターフェースを備える、
    請求項1に記載のセンサユニット。
  17. 自動運転システムであって、
    自動運転車(ADV)の複数の位置に取り付けられた複数のセンサと、
    感知モジュールと計画及び制御モジュールとを有するホストシステムであって、前記感知モジュールは、前記センサから取得されたセンサデータに基づいて前記ADVの周囲の運転環境を感知するものであり、前記計画及び制御モジュールは、前記ADVを自動的に運転する経路を計画するものである、ホストシステムと、
    前記複数のセンサ及び前記ホストシステムに接続されたセンサユニットと、を備え、
    前記センサユニットは、
    前記ADVに取り付けられた前記複数のセンサに接続されるセンサインターフェースと、
    前記ホストシステムに接続されるホストインターフェースと、
    前記複数のセンサに対応する複数のデータ伝送モジュールであって、前記複数のデータ伝送モジュールの各々は、対応するセンサと前記ホストシステムとの間でデータを伝送するように、対応するセンサのタイプに応じて複数の動作モードのうちの1つで動作するように構成されたものであり、前記複数の動作モードは、低遅延モード及び高帯域幅モードを含む、データ伝送モジュールとを備える、
    自動運転システム。
  18. データ伝送モジュールの各々は、前記低遅延モードで動作する場合に、最小遅延でデータを伝送する、
    請求項17に記載のシステム。
  19. 前記データ伝送モジュールは、前記高帯域幅モードで動作する場合に、前記データを所定量に累積した後、累積したデータをグループ化して前記ホストシステムに送信して、前記データ伝送モジュールと前記ホストシステムとの間の接続の帯域幅を最大化する、
    請求項17に記載のシステム。
  20. 前記データ伝送モジュールと前記ホストシステムとの間の前記接続は、周辺機器高速接続端子(PCIe)互換可能な接続である、
    請求項19に記載のシステム。
JP2019546184A 2018-08-24 2018-08-24 センサ間でデータを伝送するためのデータ伝送ロジック並びに自動運転車の計画及び制御 Active JP6831474B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/102298 WO2020037663A1 (en) 2018-08-24 2018-08-24 Data transfer logic for transferring data between sensors and planning and control of autonomous driving vehicle

Publications (2)

Publication Number Publication Date
JP2020534195A JP2020534195A (ja) 2020-11-26
JP6831474B2 true JP6831474B2 (ja) 2021-02-17

Family

ID=69592130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019546184A Active JP6831474B2 (ja) 2018-08-24 2018-08-24 センサ間でデータを伝送するためのデータ伝送ロジック並びに自動運転車の計画及び制御

Country Status (6)

Country Link
US (1) US11250701B2 (ja)
EP (1) EP3642684B1 (ja)
JP (1) JP6831474B2 (ja)
KR (1) KR102211298B1 (ja)
CN (1) CN111279280B (ja)
WO (1) WO2020037663A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11568688B2 (en) * 2020-08-25 2023-01-31 Motional Ad Llc Simulation of autonomous vehicle to improve safety and reliability of autonomous vehicle
CN112527003B (zh) * 2021-02-18 2021-07-16 北京图森智途科技有限公司 数据传输装置和系统
CN112527002B (zh) * 2021-02-18 2021-06-18 北京图森智途科技有限公司 监控装置和监控方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5007042A (en) * 1989-09-08 1991-04-09 Santi Larry D Method and apparatus for transmitting analog data embedded in a digital pulse train
JP3415904B2 (ja) * 1993-12-27 2003-06-09 マツダ株式会社 車両の診断装置
US5664139A (en) 1994-05-16 1997-09-02 Compaq Computer Corporation Method and a computer system for allocating and mapping frame buffers into expanded memory
US7944946B2 (en) * 2008-06-09 2011-05-17 Fortinet, Inc. Virtual memory protocol segmentation offloading
US8126642B2 (en) * 2008-10-24 2012-02-28 Gray & Company, Inc. Control and systems for autonomously driven vehicles
KR20100079624A (ko) * 2008-12-31 2010-07-08 장진수 모바일 로봇에서 지연 패턴과 교차 상관을 이용한 초음파 신호의 송신 센서 구분방법
US8898417B1 (en) * 2009-10-20 2014-11-25 Micron Technology, Inc. Block-based storage device with a memory-mapped interface
BR112013011026A2 (pt) * 2010-11-08 2016-09-13 Koninkl Philips Electronics Nv dispositivo médico sem fios, rede de área de corpo sem fios, método para uma rede de área de corpo e método para a transmissão sem fios de informações médicas
EP2523357B1 (en) * 2011-05-12 2013-09-18 Siemens Aktiengesellschaft Subsea data communication system and method
EP4180981A1 (en) * 2011-10-05 2023-05-17 Analog Devices, Inc. Two-wire communication system for high-speed data and power distribution
CN103260007B (zh) * 2012-02-21 2016-02-24 清华大学 基于片上多端口存储控制器的智能监控系统
US9857457B2 (en) * 2013-03-14 2018-01-02 University Of Windsor Ultrasonic sensor microarray and its method of manufacture
KR101551701B1 (ko) * 2013-12-18 2015-09-10 국방과학연구소 무인자율차량 및 이의 동적환경기반 자율주행방법
US9915950B2 (en) * 2013-12-31 2018-03-13 Polysync Technologies, Inc. Autonomous vehicle interface system
US10077109B2 (en) * 2014-01-24 2018-09-18 Maxlinear, Inc. First-person viewer for unmanned vehicles
US9843647B2 (en) * 2014-02-25 2017-12-12 Here Global B.V. Method and apparatus for providing selection and prioritization of sensor data
FR3020616B1 (fr) * 2014-04-30 2017-10-27 Renault Sas Dispositif de signalisation d'objets a un module de navigation de vehicule equipe de ce dispositif
US9935685B2 (en) * 2015-05-28 2018-04-03 Qualcomm Incorporated DC power line synchronization for automotive sensors
CN105446338B (zh) * 2015-12-21 2017-04-05 福州华鹰重工机械有限公司 云辅助自动驾驶方法及系统
CN205940608U (zh) * 2016-04-29 2017-02-08 沈阳承泰科技有限公司 一种多传感器融合的汽车雷达系统
WO2018031441A1 (en) * 2016-08-09 2018-02-15 Contrast, Inc. Real-time hdr video for vehicle control
US10054945B2 (en) * 2016-11-23 2018-08-21 Baidu Usa Llc Method for determining command delays of autonomous vehicles
US10846590B2 (en) * 2016-12-20 2020-11-24 Intel Corporation Autonomous navigation using spiking neuromorphic computers
US11584372B2 (en) * 2016-12-28 2023-02-21 Baidu Usa Llc Method to dynamically adjusting speed control rates of autonomous vehicles
CN114900797A (zh) * 2016-12-30 2022-08-12 英特尔公司 用于无线电通信的方法和设备
US10348430B2 (en) * 2017-01-10 2019-07-09 Infineon Technologies Ag Synchronization mechanism for high speed sensor interface
US10445928B2 (en) * 2017-02-11 2019-10-15 Vayavision Ltd. Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types
CN107707626B (zh) * 2017-09-05 2020-04-07 百度在线网络技术(北京)有限公司 基于fpga的数据采集卡、数据采集系统及数据采集方法
WO2019161300A1 (en) * 2018-02-18 2019-08-22 Nvidia Corporation Detecting objects and determining confidence scores
US11966838B2 (en) * 2018-06-19 2024-04-23 Nvidia Corporation Behavior-guided path planning in autonomous machine applications
US10969783B2 (en) * 2018-08-24 2021-04-06 Baidu Usa Llc Time source ranking system for an autonomous driving vehicle
US10890914B2 (en) * 2018-08-24 2021-01-12 Baidu Usa Llc Trigger logic to trigger sensors of an autonomous driving vehicle for capturing data
US10816979B2 (en) * 2018-08-24 2020-10-27 Baidu Usa Llc Image data acquisition logic of an autonomous driving vehicle for capturing image data using cameras
US11520331B2 (en) * 2018-12-28 2022-12-06 Intel Corporation Methods and apparatus to update autonomous vehicle perspectives

Also Published As

Publication number Publication date
EP3642684B1 (en) 2021-10-06
CN111279280B (zh) 2023-08-04
KR20200023600A (ko) 2020-03-05
JP2020534195A (ja) 2020-11-26
WO2020037663A1 (en) 2020-02-27
CN111279280A (zh) 2020-06-12
US11250701B2 (en) 2022-02-15
US20210225167A1 (en) 2021-07-22
EP3642684A1 (en) 2020-04-29
EP3642684A4 (en) 2020-07-29
KR102211298B1 (ko) 2021-02-04

Similar Documents

Publication Publication Date Title
KR102223270B1 (ko) 여분의 초음파 radar를 구비한 자율 주행 차량
JP6845894B2 (ja) 自動運転車両におけるセンサー故障を処理するための方法
JP7141370B2 (ja) 標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転
JP6799592B2 (ja) 自律走行車を完全に停止させるための速度制御
KR102020163B1 (ko) 자율 주행 차량의 조향률의 동적 조정
JP6799643B2 (ja) 自動運転車両のデータ取得用センサをトリガするためのトリガロジック
JP6517897B2 (ja) 自律走行車用のバネシステムに基づく車線変更方法
CN110895147B (zh) 自动驾驶车辆的用相机捕获图像数据的图像数据获取逻辑
JP6578331B2 (ja) 自律走行車のコマンド遅延を決定するための方法
JP2021501714A (ja) 自動運転車両のための低速シーンにおける歩行者インタラクションシステム
JP2019182402A (ja) 自動運転車両に用いられる検知支援
JP6757442B2 (ja) 自動運転車における車線後処理
JP2018063703A (ja) 自律走行車用のグループ運転スタイル学習フレーム
US11183059B2 (en) Parking management architecture for parking autonomous driving vehicles
JP2018116705A (ja) ブレーキライトを利用して自動運転車両と追従車両との間の距離を保持する方法
JP2018158719A (ja) 自動運転車両に用いられる制御型の計画と制御システム
JP6908674B2 (ja) 自動運転車両を動作させるための所定のキャリブレーションテーブルに基づく車両制御システム
JP2021511998A (ja) 自動運転車両のための螺旋曲線に基づく垂直駐車計画システム
JP6831474B2 (ja) センサ間でデータを伝送するためのデータ伝送ロジック並びに自動運転車の計画及び制御
JP2021501921A (ja) 自動運転車両のための螺旋経路に基づく3ポイントターン計画
JP6892516B2 (ja) 列挙に基づく自動運転車両の3ポイントターン計画
JP2021511996A (ja) 自動運転車のトルクフィードバックに基づく車両縦方向自動キャリブレーションシステム
JP2020529348A (ja) 自動運転車両のためのスピード制御コマンド自動較正システム
CN111857117B (zh) 用于在自动驾驶期间解码gps消息的gps消息解码器
JP7045393B2 (ja) 自動運転車両の基準線を生成するための方法およびシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191015

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: 20210105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210128

R150 Certificate of patent or registration of utility model

Ref document number: 6831474

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250