JP2019504800A - Simulation system and method for autonomous vehicles - Google Patents

Simulation system and method for autonomous vehicles Download PDF

Info

Publication number
JP2019504800A
JP2019504800A JP2018544031A JP2018544031A JP2019504800A JP 2019504800 A JP2019504800 A JP 2019504800A JP 2018544031 A JP2018544031 A JP 2018544031A JP 2018544031 A JP2018544031 A JP 2018544031A JP 2019504800 A JP2019504800 A JP 2019504800A
Authority
JP
Japan
Prior art keywords
data
autonomous vehicle
simulated
dynamic object
sensor
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
JP2018544031A
Other languages
Japanese (ja)
Other versions
JP7036732B2 (en
Inventor
ソル レヴィンソン ジェシー
ソル レヴィンソン ジェシー
サーストン シブリー ガブリエル
サーストン シブリー ガブリエル
ガジャーネン レゲ アシュトシュ
ガジャーネン レゲ アシュトシュ
Original Assignee
ズークス インコーポレイテッド
ズークス インコーポレイテッド
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
Priority claimed from US14/756,991 external-priority patent/US9720415B2/en
Priority claimed from US14/756,992 external-priority patent/US9910441B2/en
Priority claimed from US14/756,995 external-priority patent/US9958864B2/en
Priority claimed from US14/756,994 external-priority patent/US9701239B2/en
Priority claimed from US14/756,993 external-priority patent/US9878664B2/en
Priority claimed from US14/932,948 external-priority patent/US9804599B2/en
Priority claimed from US14/932,962 external-priority patent/US9630619B1/en
Priority claimed from US14/932,959 external-priority patent/US9606539B1/en
Priority claimed from US14/932,966 external-priority patent/US9507346B1/en
Priority claimed from US14/756,996 external-priority patent/US9916703B2/en
Priority claimed from US14/932,954 external-priority patent/US9517767B1/en
Priority claimed from US14/932,952 external-priority patent/US10745003B2/en
Priority claimed from US14/932,940 external-priority patent/US9734455B2/en
Priority claimed from US14/757,016 external-priority patent/US10496766B2/en
Priority claimed from PCT/US2016/060030 external-priority patent/WO2017079229A1/en
Application filed by ズークス インコーポレイテッド, ズークス インコーポレイテッド filed Critical ズークス インコーポレイテッド
Publication of JP2019504800A publication Critical patent/JP2019504800A/en
Priority to JP2021210801A priority Critical patent/JP7330259B2/en
Publication of JP7036732B2 publication Critical patent/JP7036732B2/en
Application granted granted Critical
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R21/00Arrangements or fittings on vehicles for protecting or preventing injuries to occupants or pedestrians in case of accidents or other traffic risks
    • B60R21/01Electrical circuits for triggering passive safety arrangements, e.g. airbags, safety belt tighteners, in case of vehicle accidents or impending vehicle accidents
    • B60R21/015Electrical circuits for triggering passive safety arrangements, e.g. airbags, safety belt tighteners, in case of vehicle accidents or impending vehicle accidents including means for detecting the presence or position of passengers, passenger seats or child seats, and the related safety parameters therefor, e.g. speed or timing of airbag inflation in relation to occupant position or seat belt use
    • B60R21/01512Passenger detection 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
    • 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
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R21/00Arrangements or fittings on vehicles for protecting or preventing injuries to occupants or pedestrians in case of accidents or other traffic risks
    • B60R21/01Electrical circuits for triggering passive safety arrangements, e.g. airbags, safety belt tighteners, in case of vehicle accidents or impending vehicle accidents
    • B60R21/015Electrical circuits for triggering passive safety arrangements, e.g. airbags, safety belt tighteners, in case of vehicle accidents or impending vehicle accidents including means for detecting the presence or position of passengers, passenger seats or child seats, and the related safety parameters therefor, e.g. speed or timing of airbag inflation in relation to occupant position or seat belt use
    • B60R21/01512Passenger detection systems
    • B60R21/01544Passenger detection systems detecting seat belt parameters, e.g. length, tension or height-adjustment
    • B60R21/01546Passenger detection systems detecting seat belt parameters, e.g. length, tension or height-adjustment using belt buckle sensors
    • 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0953Predicting travel path or likelihood of collision the prediction being responsive to vehicle dynamic parameters
    • 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • 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
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0097Predicting future 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • 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
    • 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
    • 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
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • 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
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0016Planning or execution of driving tasks specially adapted for safety of the vehicle or its occupants
    • 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
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0017Planning or execution of driving tasks specially adapted for safety of other traffic participants
    • 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
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0018Planning or execution of driving tasks specially adapted for safety by employing degraded modes, e.g. reducing speed, in response to suboptimal 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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • 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
    • B60W60/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • B60W60/00272Planning or execution of driving tasks using trajectory prediction for other traffic participants relying on extrapolation of current movement
    • 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
    • B60W60/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • B60W60/00274Planning or execution of driving tasks using trajectory prediction for other traffic participants considering possible movement changes
    • 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/007Emergency override
    • 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/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0027Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement involving a plurality of vehicles, e.g. fleet or convoy travelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0018Method for the design of a control system
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • 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
    • B60W2400/00Indexing codes relating to detected, measured or calculated conditions or factors
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/20Static objects
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • 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
    • B60W2720/00Output or target parameters relating to overall vehicle dynamics
    • B60W2720/10Longitudinal speed

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

様々な実施形態は、一般的に、自律車両、ならびに、サービスとして自律車両群を提供するための関連付けられる機械的、電気的および電子的ハードウェアと、コンピュータソフトウェアおよびシステム、ならびに、有線およびワイヤレスネットワーク通信に関係する。より具体的には、システム、デバイス、および方法は、様々なシミュレートされた環境における自律車両のナビゲーションをシミュレートするように構成される。特に、方法は、動的オブジェクトの特性を表すデータを受信するステップと、分類された動的オブジェクトを識別するために動的オブジェクトの分類を計算するステップと、分類された動的オブジェクトに関連付けられた動的さに関連する特性を表すデータを識別するステップと、分類された動的オブジェクトのデータモデルを形成するステップと、シミュレートされた動的オブジェクトを形成するために、シミュレートされた環境における分類された動的オブジェクトの動きの予測される範囲をシミュレートするステップと、シミュレートされた自律車両のデータ表現の予測される応答をシミュレートするステップとを含むことができる。Various embodiments generally include autonomous vehicles and associated mechanical, electrical and electronic hardware and computer software and systems and wired and wireless networks for providing autonomous vehicles as a service. Related to communication. More specifically, the systems, devices, and methods are configured to simulate autonomous vehicle navigation in a variety of simulated environments. In particular, a method is associated with a classified dynamic object, receiving data representative of the characteristics of the dynamic object, calculating a classification of the dynamic object to identify the classified dynamic object. Identifying data representing characteristics related to the dynamic, forming a data model of the classified dynamic object, and a simulated environment to form a simulated dynamic object Simulating the predicted range of motion of the classified dynamic object at, and simulating the predicted response of the simulated autonomous vehicle data representation.

Description

本発明は、自律車両のためのシミュレーションシステムおよび方法に関する。   The present invention relates to a simulation system and method for an autonomous vehicle.

関連出願の相互参照
本PCT国際出願は、2015年11月5日に出願された米国特許出願第14/757,016号、2015年11月4日に出願された「AUTONOMOUS VEHICLE FLEET SERVICE AND SYSTEM」と題する米国特許出願第14/932,959号、2015年11月4日に出願された「ADAPTIVE MAPPING TO NAVIGATE AUTONOMOUS VEHICLES RESPONSIVE TO PHYSICAL ENVIRONMENT CHANGES」と題する米国特許出願第14/932,963号、2015年11月4日に出願された「自律車両の軌道修正のための遠隔操作システムおよび方法」と題する米国特許出願第14/932,966号、2015年11月4日に出願された「AUTOMATED EXTRACTION OF SEMANTIC INFORMATION TO ENHANCE INCREMENTAL MAPPING MODIFICATIONS FOR ROBOTIC VEHICLES」と題する米国特許出願第14/932,940号、2015年11月4日に出願された「COORDINATION OF DISPATCHING AND MAINTAINING FLEET OF AUTONOMOUS VEHICLES」と題する米国特許出願第14/756,995号、2015年11月4日に出願された「ADAPTIVE AUTONOMOUS VEHICLE PLANNER LOGIC」と題する米国特許出願第14/756,992号、2015年11月4日に出願された「自律車両の方向性を示すために能動的照明を構成するシステム」と題する米国特許出願第14/756,994号、2015年11月4日に出願された「音響ビームフォーミングを介する外部環境とのロボット車両通信のための方法」と題する米国特許出願第14/756,993号、2015年11月4日に出願された「SENSOR−BASED OBJECT−DETECTION OPTIMIZATION FOR AUTONOMOUS VEHICLES」と題する米国特許出願第14/756,991号、2015年11月4日に出願された「CALIBRATION FOR AUTONOMOUS VEHICLE OPERATION」と題する米国特許出願第14/756,996号、2015年11月4日に出願された「自律車両の状態を周囲環境内のエンティティに通信するための能動的照明制御」と題する米国特許出願第14/932,948号、2015年11月4日に出願された「ロボット車両のための強靭な安全システム」と題する米国特許出願第14/932,952号、2015年11月4日に出願された「ロボット車両のための内部安全システム」と題する米国特許出願第14/932,954号、2015年11月4日に出願された「ロボット車両の四分円(quadrant)構成」と題する米国特許出願第14/932,958号、および2015年11月4日に出願された「ロボット車両アクティブセーフティシステムおよび方法」と題する米国特許出願第14/932,962号の継続出願であり、本出願は2015年11月5日に出願された「自律車両における独立した操舵、出力、トルク制御、および伝達」と題する米国特許出願第14/757,015号、に関係付けられ、これらはすべて本明細書において、参照によりそれらの全体が本明細書に組み込まれる。
Cross-reference of related applications This PCT international application is filed with US patent application No. 14 / 757,016 filed on November 5, 2015, "AUTONOMOUS VEHICLE FULL SERVICE SERVICE AND SYSTEM" filed on November 4, 2015. U.S. Patent Application No. 14 / 932,959, entitled "ADAPTIVE MAPPING TO NAVIGATE AUTONOMOUS VEHILES RESPONSIVE TO PHYSICAL ENVIRONMENT CHANGES", filed Nov. 4, 2015 US patent application Ser. No. 14 / 932,966, entitled “Remote Control System and Method for Autonomous Vehicle Trajectory Correction”, filed Nov. 4, US Patent Application No. 14/932, 940 ON FIT on October 4, 2011 US Patent Application No. 14 / 756,995 entitled “AND MAINTAING FULLET OF AUTONOMOUS VEHICLES”; November 2015 US patent application Ser. No. 14 / 756,994, entitled “System for configuring active lighting to indicate the direction of an autonomous vehicle”, filed on Nov. 4, 2015, US Patent Application No. 14 / 756,993 entitled "Method for Robotic Vehicle Communication with External Environment via" entitled "SENSOR-BASED OBJECT-DETECTION FOR AUTOMATION VEHICLES" filed on November 4, 2015 U.S. Patent Application No. 14 / 756,991, filed November 4, 2015, U.S. Patent Application No. 14 / 756,996, entitled "CALIBRATION FOR AUTONOMOUS VEICLE OPERATION", Nov. 4, 2015 U.S. Patent Application No. 14 / 932,948 entitled "Robot Vehicle" entitled "Active Lighting Control for Communicating Autonomous Vehicle Status to Entities in the Ambient Environment", filed November 4, 2015 US patent application Ser. No. 14 / 932,952, entitled “Robust Safety System for”, US patent application Ser. No. 14/932, filed Nov. 4, 2015, entitled “Internal Safety System for Robotic Vehicles”. , 954, U.S. Patent Application No. 14 / 932,958, entitled "Quadrant Configuration of Robot Vehicle", filed on November 4, 2015, and filed on November 4, 2015 US Patent Application No. 14 / 932,962, entitled “Robot Vehicle Active Safety System and Method”, which filed on November 5, 2015 Related to the filed US patent application Ser. No. 14 / 757,015 entitled “Independent Steering, Power, Torque Control, and Transmission in Autonomous Vehicles,” all of which are hereby incorporated by reference in their entirety. Are incorporated herein.

様々な実施形態は、一般に、自律車両(autonomous vehicle)、ならびに関連付けられた機械的、電気的、および電子的ハードウェアと、コンピュータソフトウェアおよびシステムと、サービスとして自律車両群を提供する有線およびワイヤレスのネットワーク通信とに関する。より具体的には、システム、デバイス、および方法は、様々なシミュレートされた環境における自律車両のナビゲーションをシミュレートするように構成される。   Various embodiments generally include autonomous vehicles and associated mechanical, electrical, and electronic hardware, computer software and systems, and wired and wireless that provide autonomous vehicles as a service. Related to network communications. More specifically, the systems, devices, and methods are configured to simulate autonomous vehicle navigation in a variety of simulated environments.

無人運転車両(driverless vehicles)を開発するための様々な手法は、主に、消費者が購入するための無人運転車両を製造するという目的をもって従来の車両(例えば、手動運転される自動車両)を自動化することに焦点を当てている。例えば、いくつかの自動車会社および関連会社は、消費者に、運転者なしで動作することができる車両を所有する能力を提供するために、従来の自動車、および、ステアリングのような制御メカニズムを修正している。いくつかの手法において、従来の無人運転車両は、いくつかの条件において安全を重要視すべき運転機能を実施するが、運転者が、乗員の安全を危険にさらすおそれがある特定の課題を車両コントローラが解決することができない場合に、運転者が制御(例えば、ステアリングなど)を担うことを必要とする。   Various approaches to developing driverless vehicles are primarily based on traditional vehicles (eg, manually driven automatic vehicles) with the goal of producing unmanned driving vehicles for purchase by consumers. Focus on automation. For example, some car companies and affiliates modify traditional automobiles and control mechanisms such as steering to provide consumers with the ability to own vehicles that can operate without a driver. doing. In some approaches, conventional unmanned vehicles perform driving functions that should be considered safety in some conditions, but the vehicle may present certain challenges that could endanger the safety of the passengers. If the controller cannot be solved, the driver needs to take control (eg steering).

機能的ではあるが、従来の無人運転車両は、一般的に、いくつかの欠点を有する。例えば、開発中の多数の無人運転車は、手動(すなわち、人間によって制御される)ステアリングおよび他の同様の自動車機能を必要とする車両から発展している。それゆえ、多数の無人運転車は、特定の座席または位置が車両内で確保されている免許を受けた運転者に対応するように設計されるべきであるというパラダイムに基づく。そのため、無人運転車両は、準最適に設計されており、一般的に、車両設計を単純化し、資源を節約する(例えば、無人運転車両を製造する費用を低減する)機会を逸している。従来の無人運転車両には、他の欠点も存在する。   Although functional, conventional unmanned vehicles generally have several drawbacks. For example, many unmanned vehicles under development have evolved from vehicles that require manual (ie, human controlled) steering and other similar automotive functions. Therefore, many unmanned vehicles are based on a paradigm that should be designed to accommodate a licensed driver whose specific seat or position is secured in the vehicle. As such, unmanned vehicles are designed sub-optimally and generally miss the opportunity to simplify vehicle design and save resources (eg, reduce the cost of manufacturing unmanned vehicles). There are other disadvantages with conventional unmanned vehicles.

他の欠点は従来の輸送サービスにも存在し、これらは、例えば、実効的に、従来の輸送および相乗りサービスを提供する一般的な手法に起因して車両の在庫を管理するのにあまり適合されていない。1つの従来の手法において、搭乗者(passenger)は、人間の運転者および車両(例えば、個人が所有している)を搭乗者に割り当てる集中型サービスを介して輸送サービスを要求するために、モバイルアプリケーションにアクセスすることを要求される。異なる所有者によって所有されている車両を使用することによって、自家用車および安全システムの保守管理は検査されないままになる。別の従来の手法において、会員として登録している運転者が、会員の間で共有されている車両にアクセスすることを可能にすることによって、何らかのエンティティが、車両のグループの相乗りを可能にする。運転者は特定の位置にある、共有されている車両に乗車し、下車する必要があり、これは都市環境においては希少で少なく、相乗りされる車両を駐車するための相対的に高価な不動産(すなわち、駐車場)にアクセスすることを必要とするため、この手法は、従来の輸送サービスを提供するにはあまり適合されていない。上述されている従来の手法において、輸送サービスを提供するために使用される従来の車両は、運転者が離れると車両が動けなくされるため、一般的に在庫の観点から十分に利用されていない。さらに、相乗り手法(および個人によって所有されている車両の輸送サービス)は一般的に、使用状況および一般的な走行パターンに適合させるために輸送サービスの需要に合わせるために在庫のバランスを取り戻すのにはあまり適合されていない。また、自動運転自動化機能が制限されている、いくつかの従来記述されている車両もまた、人間の運転者が一般的に必要とされ得るため、在庫のバランスを取り戻すのにはあまり適合されていない。自動運転自動化機能が制限されている車両の例は、米国運輸省道路交通***(「NHTSA」)による、レベル3(「L3」)車両として指定されている車両である。   Other drawbacks also exist in traditional transportation services, which are less well adapted to managing vehicle inventory due to, for example, the common approach of providing traditional transportation and carpooling services. Not. In one conventional approach, a passenger can use a mobile service to request transportation services via a centralized service that assigns human drivers and vehicles (eg, privately owned) to the passenger. You are required to access the application. By using vehicles owned by different owners, the maintenance of private vehicles and safety systems remains unchecked. In another conventional approach, any entity can share a group of vehicles by allowing a driver registered as a member to access a vehicle that is shared among members. . Drivers need to get on and get off a shared vehicle at a specific location, which is rare and rare in urban environments and is a relatively expensive property to park the car to be shared ( That is, this approach is not well adapted to provide conventional transportation services because it requires access to the parking lot). In the conventional methods described above, conventional vehicles used to provide transportation services are generally not fully utilized from an inventory point of view, as the vehicle becomes immobile when the driver leaves. . In addition, carpooling techniques (and transportation services for vehicles owned by individuals) are typically used to rebalance inventory to meet the demand for transportation services to adapt to usage and general driving patterns. Is not well adapted. In addition, some previously described vehicles that have limited automated driving automation capabilities are also poorly adapted to rebalance inventory, as human drivers may generally be needed. Absent. An example of a vehicle with limited automatic driving capabilities is a vehicle designated as a Level 3 (“L3”) vehicle by the US Department of Transportation Road Traffic Safety Administration (“NHTSA”).

別の欠点として、無人運転車両に対する一般的な手法は、一般的に、走行中の車両と、車両の他の運転者または個人との間の相互作用(例えば、社会的相互作用)に関して車両を検出およびナビゲートするのにはあまり適合されていない。例えば、いくつかの従来の手法は、無人運転車両の乗員および他の車両の運転者、歩行者などに対する安全性のリスクに対処する目的のために、歩行者、自転車利用者など、および、アイコンタクト、ジェスチャなどのような関連付けられる相互作用を識別することが十分に可能ではない。   As another drawback, common approaches to unmanned driving vehicles are generally based on the interaction between a running vehicle and other drivers or individuals of the vehicle (eg, social interactions). It is not well adapted to detect and navigate. For example, some conventional approaches have been proposed to address pedestrians, bicycle users, and the like for the purpose of addressing safety risks for occupants of unmanned vehicles and drivers of other vehicles, pedestrians, etc. It is not fully possible to identify associated interactions such as contacts, gestures, etc.

したがって、必要とされているものは、従来の技法の制限なしに、自律車両の実施のための解決策である。   Therefore, what is needed is a solution for the implementation of autonomous vehicles without the limitations of conventional techniques.

米国特許出願第14/756994号明細書US patent application Ser. No. 14 / 756,994 米国特許出願第14/756993号明細書US patent application Ser. No. 14 / 756,993 米国特許出願第14/932948号明細書US patent application Ser. No. 14/932948 米国特許出願第14/932952号明細書US patent application Ser. No. 14 / 932,952 米国特許出願第14/932954号明細書US patent application Ser. No. 14 / 932,954 米国特許出願第14/932962号明細書US patent application Ser. No. 14 / 932,962 米国特許出願第14/932958号明細書U.S. Patent Application No. 14/932958

本発明の様々な実施形態または例(「例」)が、以下の詳細な説明および添付の図面において開示される。
いくつかの実施形態による、自律車両サービスプラットフォーム(autonomous vehicle service platform)に通信可能にネットワーク接続されている自律車両の群の実施を示す図である。 いくつかの実施形態による、自律車両の群を監視するためのフロー図の例である。 いくつかの例による、センサおよび他の自律車両構成要素の例を示す図である。 いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。 いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。 いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。 いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。 いくつかの例による、通信レイヤを介して自律車両コントローラに通信可能に結合されている自律車両サービスプラットフォームを含むシステムを示す基本ブロック図である。 いくつかの実施形態による、自律車両を制御するためのフロー図の例である。 いくつかの実施形態による、自律車両コントローラのアーキテクチャの例を示す図である。 いくつかの実施形態による、自律車両の群との信頼可能な通信を維持するために冗長な通信チャネルを実施する自律車両サービスプラットフォームの例を示す図である。 いくつかの実施形態による、様々なアプリケーションの間でデータを交換するように構成されているメッセージングアプリケーションの例を示す図である。 いくつかの例による、図8に記述されている通信プロトコルを使用した遠隔操作を促進するためのデータのタイプを示す図である。 いくつかの実施形態による、遠隔操作者が経路プランニングに影響を与えることができる遠隔操作者インターフェース(teleoperator interface)の例を示す図である。 いくつかの例による、遠隔操作を呼び出すように構成されているプランナ(planner)の例を示す図である。 いくつかの実施形態による、自律車両を制御するように構成されているフロー図の例である。 いくつかの例による、プランナが軌道を生成することができる例を示す図である。 いくつかの実施形態による、自律車両サービスプラットフォームの別の例を示す図である。 いくつかの実施形態による、自律車両を制御するためのフロー図の例である。 いくつかの例による、群最適化マネージャ(fleet optimization manager)を実施する自律車両群マネージャ(autonomous vehicle fleet manager)の例の図である。 いくつかの実施形態による、自律車両の群を管理するためのフロー図の例である。 いくつかの実施形態による、自律車両通信リンクマネージャを実施する自律車両群マネージャを示す図である。 いくつかの実施形態による、イベント中の自律車両に対するアクション(action)を決定するためのフロー図の例である。 いくつかの実施形態による、ローカライザの例を示す図である。 いくつかの実施形態による、集積センサデータに基づいて局所的位置(local pose)データを生成するためのフロー図の例である。 いくつかの実施形態による、ローカライザの別の例を示す図である。 いくつかの実施形態による、知覚エンジン(perception engine)の例を示す図である。 いくつかの実施形態による、知覚エンジンデータを生成するためのフロー図の例である。 いくつかの実施形態による、セグメンテーションプロセッサ(segmentation processor)の例を示す図である。 様々な実施形態による、オブジェクトトラッカ(object tracker)およびクラシファイヤ(classifier)の例を示す図である。 少なくともいくつかの例による、オブジェクトトラッカの別の例を示す図である。 いくつかの例による、知覚エンジンのフロントエンドプロセッサの例の図である。 いくつかの実施形態による、合成環境において自律車両をシミュレートするように構成されているシミュレータを示す図である。 いくつかの実施形態による、自律車両の様々な態様をシミュレートするためのフロー図の例である。 いくつかの実施形態による、マップデータを生成するためのフロー図の例である。 いくつかの実施形態による、マッピングエンジンのアーキテクチャを示す図である。 いくつかの実施形態による、自律車両アプリケーションを示す図である。 様々な実施形態による、自律車両サービスの構成要素に様々な機能を提供するように構成されている様々なコンピューティングプラットフォームの例を示す図である。 様々な実施形態による、自律車両サービスの構成要素に様々な機能を提供するように構成されている様々なコンピューティングプラットフォームの例を示す図である。 様々な実施形態による、自律車両サービスの構成要素に様々な機能を提供するように構成されている様々なコンピューティングプラットフォームの例を示す図である。 いくつかの例による、シミュレートされた環境においてシミュレートされた自律車両の1つまたは複数の機能をシミュレートするように構成されたシミュレータを示す図である。 いくつかの例による車両モデラを示す図である。 いくつかの例によるセンサモデラの例を示す図である。 いくつかの例による動的オブジェクトデータモデラの例を示す図である。 いくつかの例による、シミュレートされた環境を生成する例を示すフロー図である。 様々な実施形態による、自律車両サービスをシミュレートするために様々なシミュレータに関連する機能性および/または構造を提供するように構成された様々なコンピューティングプラットフォームの例を示す図である。
Various embodiments or examples (“examples”) of the invention are disclosed in the following detailed description and the accompanying drawings.
FIG. 4 illustrates an implementation of a group of autonomous vehicles communicatively networked to an autonomous vehicle service platform, according to some embodiments. FIG. 4 is an example flow diagram for monitoring a group of autonomous vehicles, according to some embodiments. FIG. 3 illustrates an example of a sensor and other autonomous vehicle components, according to some examples. FIG. 6 illustrates an example of adaptation of an autonomous vehicle to sensor field redundancy and loss of sensor field, according to some examples. FIG. 6 illustrates an example of adaptation of an autonomous vehicle to sensor field redundancy and loss of sensor field, according to some examples. FIG. 6 illustrates an example of adaptation of an autonomous vehicle to sensor field redundancy and loss of sensor field, according to some examples. FIG. 6 illustrates an example of adaptation of an autonomous vehicle to sensor field redundancy and loss of sensor field, according to some examples. 1 is a basic block diagram illustrating a system including an autonomous vehicle service platform communicatively coupled to an autonomous vehicle controller via a communication layer, according to some examples. FIG. FIG. 3 is an example flow diagram for controlling an autonomous vehicle, according to some embodiments. FIG. 2 illustrates an example of an autonomous vehicle controller architecture, according to some embodiments. FIG. 3 illustrates an example autonomous vehicle service platform that implements redundant communication channels to maintain reliable communication with a group of autonomous vehicles, according to some embodiments. FIG. 3 illustrates an example messaging application configured to exchange data between various applications, according to some embodiments. FIG. 9 illustrates types of data for facilitating remote operation using the communication protocol described in FIG. 8, according to some examples. FIG. 6 illustrates an example of a teleoperator interface that allows a remote operator to influence route planning, according to some embodiments. FIG. 6 illustrates an example of a planner configured to invoke a remote operation according to some examples. FIG. 4 is an example of a flow diagram configured to control an autonomous vehicle, according to some embodiments. FIG. 4 illustrates an example in which a planner can generate a trajectory, according to some examples. FIG. 6 is a diagram illustrating another example of an autonomous vehicle service platform, according to some embodiments. FIG. 3 is an example flow diagram for controlling an autonomous vehicle, according to some embodiments. FIG. 3 is an illustration of an example of an autonomous vehicle fleet manager that implements a fleet optimization manager, according to some examples. FIG. 6 is an example flow diagram for managing a group of autonomous vehicles, according to some embodiments. FIG. 2 is a diagram illustrating an autonomous vehicle group manager implementing an autonomous vehicle communication link manager, according to some embodiments. FIG. 4 is an example flow diagram for determining an action on an autonomous vehicle during an event, according to some embodiments. FIG. 4 illustrates an example of a localizer, according to some embodiments. FIG. 4 is an example flow diagram for generating local pose data based on integrated sensor data, according to some embodiments. FIG. 6 illustrates another example of a localizer, according to some embodiments. FIG. 6 illustrates an example of a perception engine, according to some embodiments. FIG. 3 is an example flow diagram for generating perceptual engine data, according to some embodiments. FIG. 3 illustrates an example of a segmentation processor, according to some embodiments. FIG. 4 illustrates an example object tracker and classifier, according to various embodiments. FIG. 6 is a diagram illustrating another example of an object tracker according to at least some examples. FIG. 3 is a diagram of an example of a front-end processor of a perception engine, according to some examples. FIG. 6 illustrates a simulator configured to simulate an autonomous vehicle in a synthetic environment, according to some embodiments. FIG. 4 is an example flow diagram for simulating various aspects of an autonomous vehicle, according to some embodiments. FIG. 4 is an example flow diagram for generating map data, according to some embodiments. FIG. 2 illustrates a mapping engine architecture, according to some embodiments. FIG. 3 illustrates an autonomous vehicle application according to some embodiments. FIG. 4 illustrates examples of various computing platforms configured to provide various functions to components of an autonomous vehicle service, according to various embodiments. FIG. 4 illustrates examples of various computing platforms configured to provide various functions to components of an autonomous vehicle service, according to various embodiments. FIG. 4 illustrates examples of various computing platforms configured to provide various functions to components of an autonomous vehicle service, according to various embodiments. FIG. 3 illustrates a simulator configured to simulate one or more functions of a simulated autonomous vehicle in a simulated environment, according to some examples. FIG. 2 is a diagram illustrating a vehicle modeler according to some examples. It is a figure which shows the example of the sensor modeler by some examples. FIG. 6 is a diagram illustrating an example of a dynamic object data modeler according to some examples. FIG. 6 is a flow diagram illustrating an example of creating a simulated environment, according to some examples. FIG. 6 illustrates examples of various computing platforms configured to provide functionality and / or structure associated with various simulators to simulate autonomous vehicle services in accordance with various embodiments.

様々な実施形態または例は、システム、プロセス、装置、ユーザインターフェース、コンピュータ可読記憶媒体または光、電子、もしくはワイヤレス通信リンクを介してプログラム命令が送信されるコンピュータネットワークのようなコンピュータ可読媒体上の一連のプログラム命令を含む、いくつかの方法で実施されてもよい。一般に、開示されているプロセスの動作は、特許請求の範囲において別途提供されない限り、任意の順序で実施されてもよい。   Various embodiments or examples are a series on a computer-readable medium, such as a system, process, apparatus, user interface, computer-readable storage medium or computer network on which program instructions are transmitted via an optical, electronic, or wireless communication link. May be implemented in several ways, including In general, the operations of the disclosed processes may be performed in any order, unless otherwise provided in the claims.

1つまたは複数の例の詳細な説明が、添付の図面とともに下記に提供される。詳細な説明は、そのような例と関連して提供されるが、いかなる特定の例にも限定されない。その範囲は、特許請求の範囲、ならびにいくつかのその代替形態、修正形態、および均等物によってのみ限定される。完全な理解を提供するために、以下の説明において、いくつかの特定の詳細が記載されている。これらの詳細は、例の目的のために提供されており、記述されている技法は、これらの特定の詳細のいくつかまたはすべてなしに、特許請求の範囲に従って実践されることができる。明瞭化のために、例に関係付けられる技術分野において知られている技術的資料は、説明を不必要に曖昧にすることを回避するために、詳細には記述されていない。   A detailed description of one or more examples is provided below along with accompanying figures. A detailed description is provided in connection with such examples, but is not limited to any particular example. The scope is limited only by the claims and several alternatives, modifications, and equivalents thereof. In the following description, certain specific details are set forth in order to provide a thorough understanding. These details are provided for the purpose of example, and the described techniques may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the examples has not been described in detail in order to avoid unnecessarily obscuring the description.

図1は、いくつかの実施形態による、自律車両サービスプラットフォームに通信可能にネットワーク接続されている自律車両の群の実施を示す図である。図100は、サービスとして動作している自律車両の群109(例えば、自律車両109a〜109eのうちの1つまたは複数)を示し、各自律車両109は、道路網110を自動運転し、自律車両サービスプラットフォーム101との通信リンク192を確立するように構成されている。自律車両の群109がサービスを構成する例において、ユーザ102は、自律輸送手段を求める要求103を、1つまたは複数のネットワーク106を介して自律車両サービスプラットフォーム101に送信することができる。応答して、自律車両サービスプラットフォーム101は、ユーザ102を地理的位置(geographic location)119から地理的位置111へと自律的に輸送するために、自律車両109の1つを派遣する(dispatch)ことができる。自律車両サービスプラットフォーム101は、ステーション190から地理的位置119へと自律車両を派遣してもよく、または、ユーザ102の輸送要求にサービスするために、すでに移動中の(例えば、乗員なしで)自律車両109cを転用してもよい。自律車両サービスプラットフォーム101は、ユーザ102(例えば、搭乗者としての)からの要求に応答して、搭乗者を乗せて移動中の自律車両109cを転用するようにさらに構成されてもよい。加えて、自律車両サービスプラットフォーム101は、既存の搭乗者が下車した後にユーザ102の要求にサービスするために転用するために、搭乗者を乗せて移動中の自律車両109cを確保するように構成されてもよい。複数の自律車両サービスプラットフォーム101(図示せず)および1つまたは複数のステーション190が、道路網110に関連して1つまたは複数の自律車両109をサービスするために実施されてもよい。1つまたは複数のステーション190は、自律車両109の在庫を格納、サービス、管理、および/または維持するように構成されてもよい(例えばステーション190は、自律車両サービスプラットフォーム101を実施する1つまたは複数のコンピューティングデバイスを含んでもよい)。   FIG. 1 is a diagram illustrating an implementation of a group of autonomous vehicles communicatively networked to an autonomous vehicle service platform, according to some embodiments. FIG. 100 shows a group 109 of autonomous vehicles operating as a service (for example, one or more of autonomous vehicles 109a to 109e). Each autonomous vehicle 109 automatically drives the road network 110, and the autonomous vehicle It is configured to establish a communication link 192 with the service platform 101. In the example where the group of autonomous vehicles 109 constitutes a service, the user 102 can send a request 103 for autonomous transportation means to the autonomous vehicle service platform 101 via one or more networks 106. In response, the autonomous vehicle service platform 101 dispatches one of the autonomous vehicles 109 to autonomously transport the user 102 from the geographic location 119 to the geographic location 111. Can do. The autonomous vehicle service platform 101 may dispatch an autonomous vehicle from the station 190 to the geographic location 119, or it may be autonomous (eg, without occupants) that is already moving to service the user's 102 transportation request. The vehicle 109c may be diverted. The autonomous vehicle service platform 101 may be further configured to divert the autonomous vehicle 109c that is moving in response to a request from the user 102 (eg, as a passenger). In addition, the autonomous vehicle service platform 101 is configured to secure a traveling autonomous vehicle 109c with the passenger on board in order to be diverted to serve the request of the user 102 after the existing passenger gets off. May be. Multiple autonomous vehicle service platforms 101 (not shown) and one or more stations 190 may be implemented to service one or more autonomous vehicles 109 in connection with the road network 110. One or more stations 190 may be configured to store, service, manage, and / or maintain inventory of autonomous vehicles 109 (eg, station 190 may implement one or more implementing autonomous vehicle service platform 101). May include multiple computing devices).

いくつかの例によれば、自律車両109a〜109eのうちの少なくともいくつかは、双方向性自律車両(「AV」)130のような双方向性自律車両(bidirectional autonomous vehicle)として構成される。双方向性自律車両130は、限定ではないが、主に長手方向軸131に沿っていずれかの方向に走行するように構成されてもよい。したがって、双方向性自律車両130は、隣接した周辺の他者(例えば、他の運転者、歩行者、自転車利用者など)、および、双方向性自律車両130が走行している方向を警告するために、車両の外部のアクティブな照明を実施するように構成されてもよい。例えば、アクティブ光源136が、第1の方向に走行しているときはアクティブライト(active light)138aとして実施されてもよく、または、第2の方向に走行しているときはアクティブライト138bとして実施されてもよい。アクティブライト138aは、任意選択のアニメーション(例えば、可変強度の光の光パターンまたは経時的に変化し得る色)を伴う、1つまたは複数の色からなる第1のサブセットを使用して実施されてもよい。同様に、アクティブライト138bは、1つまたは複数の色からなる第2のサブセット、および、アクティブライト138aのものとは異なってもよい光パターンを使用して実施されてもよい。例えば、アクティブライト138aは、「ヘッドライト」としての白色光を使用して実施されてもよく、一方、アクティブライト138bは、「テールライト」としての赤色光を使用して実施されてもよい。アクティブライト138aおよび138b、またはその部分は、(例えば、黄色光を使用して)「ターンシグナル(turn signal)指示」機能を提供することのような、他の色に光関連機能を提供するように構成されてもよい。様々な例によれば、自律車両130内の論理は、任意の数の管轄に関する様々な安全性要件および交通規制または法律に準拠するように、アクティブライト138aおよび138bを適応させるように構成されてもよい。   According to some examples, at least some of the autonomous vehicles 109 a-109 e are configured as bidirectional autonomous vehicles, such as a bidirectional autonomous vehicle (“AV”) 130. The bidirectional autonomous vehicle 130 is not limited, but may be configured to travel mainly in either direction along the longitudinal axis 131. Therefore, the interactive autonomous vehicle 130 warns others in the vicinity (for example, other drivers, pedestrians, bicycle users, etc.) and the direction in which the interactive autonomous vehicle 130 is traveling. Therefore, it may be configured to implement active lighting outside the vehicle. For example, the active light source 136 may be implemented as an active light 138a when traveling in a first direction, or may be implemented as an active light 138b when traveling in a second direction. May be. The active light 138a is implemented using a first subset of one or more colors with an optional animation (eg, a light pattern of variable intensity light or a color that can change over time). Also good. Similarly, the active light 138b may be implemented using a second subset of one or more colors and a light pattern that may be different from that of the active light 138a. For example, active light 138a may be implemented using white light as a “headlight”, while active light 138b may be implemented using red light as a “taillight”. Active lights 138a and 138b, or portions thereof, provide light-related functions for other colors, such as providing “turn signal indication” functions (eg, using yellow light). May be configured. According to various examples, the logic within autonomous vehicle 130 is configured to adapt active lights 138a and 138b to comply with various safety requirements and traffic regulations or laws for any number of jurisdictions. Also good.

いくつかの実施形態において、双方向性自律車両130は、四半部(quad portion)194のような各四半部内に、同様の構造的要素および構成要素を有するように構成されてもよい。四半部は、少なくともこの例においては、両方とも、平面132および134の各側に2つの同様の半部を形成するのに車両を通過する平面132および134の交差によって規定される双方向性自律車両130の部分として示されている。さらに、双方向性自律車両130は、他の機能の中でも運転制御(例えば、推進、ステアリングなど)およびアクティブ光源136を含む主要ないくつかの車両機能を制御するように構成されている論理(例えば、ハードウェアもしくはソフトウェア、またはそれらの組み合わせ)を含む自律車両コントローラ147を含むことができる。双方向性自律車両130はまた、車両上の様々な位置に配置されているいくつかのセンサ139をも含む(他のセンサは図示されていない)。   In some embodiments, interactive autonomous vehicle 130 may be configured to have similar structural elements and components within each quadrant, such as quad portion 194. The quadrant is a bidirectional autonomy defined by the intersection of planes 132 and 134 passing through the vehicle to form two similar halves on each side of planes 132 and 134, at least in this example. Shown as part of vehicle 130. Further, the interactive autonomous vehicle 130 may be configured to control several key vehicle functions including driving control (eg, propulsion, steering, etc.) and active light source 136, among other functions (eg, , Hardware or software, or a combination thereof). The interactive autonomous vehicle 130 also includes a number of sensors 139 located at various locations on the vehicle (other sensors are not shown).

自律車両コントローラ147は、自律車両109の局所的位置(local position)(例えば、局所的場所(local pose))を決定し、車両に対する外部オブジェクトを検出するようにさらに構成されてもよい。例えば、双方向性自律車両130が、道路網110内で方向119に走行していると考える。自律車両コントローラ147のローカライザ(図示せず)が、地理的位置111における局所的位置を決定することができる。そのため、ローカライザは、建造物115および117の表面と関連付けられるセンサデータのような、取得されるセンサデータを使用することができ、これは、局所的位置を決定するために、マップデータ(例えば、反射データを含む3Dマップデータ)のような基準データに対して比較されることができる。さらに、自律車両コントローラ147の知覚(perception)エンジン(図示せず)が、外部オブジェクト112(「樹木」)および外部オブジェクト114(「歩行者」)のような外部オブジェクトの挙動を検出、分類、および予測するように構成されてもよい。そのような外部オブジェクトの分類は、外部オブジェクト112のような静的オブジェクト、および、外部オブジェクト114のような動的オブジェクトとして、オブジェクトを広範に分類することができる。ローカライザおよび知覚エンジン、ならびにAVコントローラ147の他の構成要素は、協働して、自律車両109に自律的に運転させる。   The autonomous vehicle controller 147 may be further configured to determine a local position (eg, a local pose) of the autonomous vehicle 109 and detect an external object with respect to the vehicle. For example, consider that the bidirectional autonomous vehicle 130 is traveling in the direction 119 within the road network 110. A localizer (not shown) of the autonomous vehicle controller 147 can determine a local location at the geographic location 111. As such, the localizer can use acquired sensor data, such as sensor data associated with the surfaces of buildings 115 and 117, which can determine map data (eg, 3D map data including reflection data) can be compared against reference data. In addition, a perception engine (not shown) of autonomous vehicle controller 147 detects, classifies, and classifies the behavior of external objects such as external object 112 (“tree”) and external object 114 (“pedestrian”). It may be configured to predict. Such classification of external objects can broadly classify objects as static objects such as external object 112 and dynamic objects such as external object 114. The localizer and sensory engine and other components of the AV controller 147 cooperate to cause the autonomous vehicle 109 to operate autonomously.

いくつかの例によれば、自律車両サービスプラットフォーム101は、自律車両109が遠隔操作を要求する場合に、遠隔操作者サービスを提供するように構成されている。例えば、自律車両109d内の自律車両コントローラ147が、挿入図120に示されているように、ポイント191において道路122上の経路124を閉塞しているオブジェクト126を検出すると考える。自律車両コントローラ147が、車両109dが相対的に高い確実度で安全に移動することができる経路または軌道を確定することができない場合、自律車両コントローラ147は、遠隔操作サービスを求める要求メッセージ105を送信することができる。応答して、遠隔操作者コンピューティングデバイス104が、障害物126を首尾よく(かつ安全に)切り抜けるための方策を実施するための命令を、遠隔操作者108から受信することができる。その後、車両に、例えば、代替の経路121に沿って移動するときに二重線のセットを安全にまたがせるために、自律車両109dに応答データ107が返信され得る。いくつかの例において、遠隔操作者コンピューティングデバイス104は、経路のプランニングから除外するために、地理的領域を識別する応答を生成することができる。特に、追従するための経路を提供するのではなく、遠隔操作者108は、自律車両が回避すべき領域または位置を規定することができる。   According to some examples, the autonomous vehicle service platform 101 is configured to provide remote operator service when the autonomous vehicle 109 requests remote operation. For example, it is assumed that the autonomous vehicle controller 147 in the autonomous vehicle 109d detects an object 126 blocking the route 124 on the road 122 at a point 191 as shown in the inset 120. If the autonomous vehicle controller 147 cannot determine a route or trajectory that allows the vehicle 109d to travel safely with a relatively high degree of certainty, the autonomous vehicle controller 147 transmits a request message 105 for a remote operation service. can do. In response, the remote operator computing device 104 can receive instructions from the remote operator 108 to implement a strategy for successfully (and safely) breaking through the obstacle 126. Thereafter, response data 107 may be returned to the autonomous vehicle 109d to allow the vehicle to safely span a set of double lines, for example when traveling along an alternative route 121. In some examples, the remote operator computing device 104 can generate a response identifying the geographic region to exclude from route planning. In particular, rather than providing a route for following, the remote operator 108 can define an area or position that the autonomous vehicle should avoid.

上記を考慮して、自律車両130および/または自律車両コントローラ147、ならびにそれらの構成要素の構造および/または機能は、自律車両109が自動運転することを可能にするために、位置特定および知覚のような自律関連動作を通じてリアルタイム(またはほぼリアルタイム)の軌道計算を実施することができる。   In view of the above, the structure and / or function of the autonomous vehicle 130 and / or the autonomous vehicle controller 147, and their components, can be localized and perceived to allow the autonomous vehicle 109 to drive automatically. Real-time (or near real-time) trajectory calculations can be performed through such autonomous operations.

いくつかの事例において、双方向性自律車両130の双方向性は、互いに同様または実質的に同様である四半部194(または任意の他の数の対称な部分)を有する車両を提供する。そのような対称性は、設計の複雑度を低減し、相対的に、固有の構成要素または構造の数を低減し、それによって、在庫および製造の複雑度を低減する。例えば、駆動系およびホイールシステムは、それら四半部194のいずれに配置されてもよい。さらに、自律車両コントローラ147は、そうでなければ乗員の安全性に影響を与える可能性があるイベントまたは課題を解決しながら、自律車両109が移動中に遅延される可能性を低減するために、遠隔操作サービスを呼び出すように構成されている。いくつかの事例において、道路網110の可視部分は、自律車両109の図1に示す道路網に対する動きを限定または他の様態で制御することができる地理上のフェンス領域を示す。様々な例によれば、自律車両109、およびその群は、共有されている車両の効率を提供しながら、ポイント間の人の移動の簡便性およびプライバシーを伴って需要に応じた輸送手段を提供することができるレベル4(「完全自動運転」またはL4)車両として動作するように構成可能であり得る。いくつかの例において、自律車両109、または、本明細書において記述されている任意の自律車両は、ステアリングホイール、または、自律車両109の手動(すなわち、人間によって制御される)ステアリングを提供する任意の他の機械的手段を省略するように構成されてもよい。さらに、自律車両109、または本明細書に記載された任意の自律車両は、乗員がステアリングホイール、またはステアリングシステムのための任意の機械的インターフェースと係合するために車両内に確保されたシートまたは場所を省略するように構成され得る。   In some cases, the bi-directional nature of the bi-directional autonomous vehicle 130 provides a vehicle having quadrants 194 (or any other number of symmetrical portions) that are similar or substantially similar to each other. Such symmetry reduces design complexity and relatively reduces the number of unique components or structures, thereby reducing inventory and manufacturing complexity. For example, the drive train and wheel system may be located in any of these quadrants 194. In addition, the autonomous vehicle controller 147 reduces the likelihood that the autonomous vehicle 109 will be delayed while moving while solving events or challenges that may otherwise affect occupant safety. It is configured to invoke a remote control service. In some cases, the visible portion of the road network 110 represents a geographical fence area where the movement of the autonomous vehicle 109 relative to the road network shown in FIG. 1 can be limited or otherwise controlled. According to various examples, the autonomous vehicle 109 and its group provide a means of transportation on demand with the convenience and privacy of human movement between points while providing the efficiency of a shared vehicle. May be configurable to operate as a Level 4 ("Fully Automatic Driving" or L4) vehicle. In some examples, the autonomous vehicle 109, or any autonomous vehicle described herein, is a steering wheel or any that provides manual (ie, human controlled) steering of the autonomous vehicle 109. Other mechanical means may be omitted. In addition, the autonomous vehicle 109, or any autonomous vehicle described herein, may have a seat or seat secured in the vehicle for an occupant to engage the steering wheel or any mechanical interface for the steering system. It can be configured to omit the location.

図2は、いくつかの実施形態による、自律車両の群を監視するためのフロー図の例である。202において、フロー200は、自律車両の群が監視されるときに開始する。少なくとも1つの自律車両が、車両に、第1の地理的領域から第2の地理的領域へと自律的に移動させるように構成されている自律車両コントローラを含む。204において、車両の計算されている信頼水準と関連付けられるイベントを表すデータが検出される。イベントは、自律車両の動作に影響を与えるか、または、動作に影響を与える可能性がある条件または状況であり得る。イベントは、自律車両の内部または外部であってもよい。例えば、道路を閉塞している障害物、および、通信の低減または喪失が、イベントとして見られ得る。イベントは、交通条件または渋滞、および、知覚エンジンによって知覚される、予想外のまたは異常な数またはタイプの外部オブジェクト(またはトラック)を含み得る。イベントは、天候関連条件(例えば、氷または雨に起因する摩擦の喪失)、または、他の車両の人間の運転者の目に明るく陽が差すようにする水平線に対する低い角度のような、陽が差している角度(例えば、日没時)を含み得る。これらのおよび他の条件は、遠隔操作者サービスの呼び出しを引き起こすか、または、車両に安全停止軌道を実行させるイベントとして見られ得る。   FIG. 2 is an example flow diagram for monitoring a group of autonomous vehicles according to some embodiments. At 202, flow 200 begins when a group of autonomous vehicles is monitored. At least one autonomous vehicle includes an autonomous vehicle controller configured to cause the vehicle to autonomously move from a first geographic region to a second geographic region. At 204, data representing an event associated with the calculated confidence level of the vehicle is detected. An event can be a condition or situation that affects or can affect the operation of an autonomous vehicle. The event may be inside or outside the autonomous vehicle. For example, obstacles blocking roads and reduced or lost communication may be seen as events. Events may include traffic conditions or traffic jams and unexpected or unusual numbers or types of external objects (or tracks) perceived by the perception engine. Events can be positive, such as weather-related conditions (eg, loss of friction due to ice or rain), or low angles to the horizon that makes the bright and positive eyes of human drivers in other vehicles. It may include the angle at which it is pointing (eg, at sunset). These and other conditions can be seen as events that cause a remote operator service call or cause the vehicle to perform a safe stop trajectory.

206において、候補軌道のサブセットを表すデータが、イベントの検出に応答して自律車両から受信され得る。例えば、自律車両コントローラのプランナが、1秒のような単位時間あたりに多数の軌道(例えば、数千以上)を計算および評価することができる。いくつかの実施形態において、候補軌道は、自律車両がイベントを考慮して(例えば、遠隔操作者によって提供される代替の経路を使用して)安全に前進することができる相対的により高い信頼水準を提供する軌道のサブセットである。いくつかの候補軌道は、他の候補軌道よりも高くランク付けされ、または、他の候補軌道よりも高い信頼度と関連付けられ得ることに留意されたい。いくつかの例によれば、候補軌道のサブセットは、プランナ、遠隔操作者コンピューティングデバイス(例えば、遠隔操作者が、近似の経路を決定および提供することができる)などのような任意の数のソースに由来することができ、または、候補軌道のサブセットとして組み合わされることができる。208において、経路案内データが、1つまたは複数のプロセッサにおいて識別され得る。経路案内データは、遠隔操作者が、候補軌道のうちの1つまたは複数から案内される軌道を選択するのを補助するように構成されてもよい。いくつかの事例において、経路案内データは、特定の候補軌道が、イベントが自律車両の動作に影響を与え得る可能性を低減または無視することができる確実度を指示する信頼水準または確率を指示する値を指定する。選択される候補軌道としての案内される軌道は、210において、遠隔操作者からの入力(例えば、遠隔操作者は、別様にランク付けされている候補軌道のグループから少なくとも1つの候補軌道を、案内される軌道として選択することができる)に応答して受信され得る。選択は、いくつかの候補軌道を、例えば、最も高い信頼水準から最も低い信頼水準への順序においてリストしている操作者インターフェースを介して行われてもよい。212において、案内される軌道としての候補軌道の選択が、車両に送信され得、これは、車両に、遠隔操作者によって指定される操作を実施させることによって、条件を解決するための案内される軌道を実施する。そのため、自律車両は、非規範的動作状態から移行することができる。   At 206, data representing a subset of candidate tracks can be received from the autonomous vehicle in response to detecting the event. For example, an autonomous vehicle controller planner can calculate and evaluate a number of trajectories (eg, thousands or more) per unit time, such as one second. In some embodiments, the candidate trajectory is a relatively higher confidence level that allows the autonomous vehicle to safely advance in consideration of the event (eg, using an alternative route provided by a remote operator). Is a subset of trajectories that provide Note that some candidate trajectories may be ranked higher than other candidate trajectories or may be associated with higher confidence than other candidate trajectories. According to some examples, the subset of candidate trajectories can be any number such as a planner, a remote operator computing device (eg, a remote operator can determine and provide an approximate path), etc. It can come from sources or can be combined as a subset of candidate trajectories. At 208, route guidance data may be identified in one or more processors. The route guidance data may be configured to assist the remote operator in selecting a track to be guided from one or more of the candidate tracks. In some cases, route guidance data indicates a confidence level or probability that indicates the certainty that a particular candidate trajectory can reduce or ignore the likelihood that an event may affect the behavior of an autonomous vehicle. Specify a value. The guided trajectory as a selected candidate trajectory is input at 210 from a remote operator (eg, the remote operator selects at least one candidate trajectory from a group of candidate trajectories that are ranked differently, Can be selected in response to a trajectory to be guided). The selection may be made via an operator interface listing a number of candidate trajectories, for example in order from the highest confidence level to the lowest confidence level. At 212, a selection of candidate trajectories as guided trajectories can be transmitted to the vehicle, which is guided to resolve the condition by causing the vehicle to perform an operation specified by the remote operator. Carry out the trajectory. Therefore, the autonomous vehicle can shift from the non-normative operation state.

図3Aは、いくつかの例による、センサおよび他の自律車両構成要素の例を示す図である。図300は、センサ、信号ルータ345、駆動系349、取り外し可能電池343、オーディオ生成器344(例えば、スピーカまたはトランスデューサ)、および自律車両(「AV」)制御論理347を含む双方向性自律車両330の内部図を示す。図300に示されているセンサは、他のセンサタイプおよびモダリティの中でも、画像キャプチャセンサ340(例えば、任意のタイプの光キャプチャデバイスまたはカメラ)、オーディオキャプチャセンサ342(例えば、任意のタイプのマイクロフォン)、レーダ(radar)デバイス348、ソナーデバイス341(または、超音波センサまたは音響関連センサを含む、他の同様のセンサ)、およびライダ(LIDAR)デバイス346を含む(慣性計測装置すなわち「IMU」、全地球測位システム(「GPS」)センサ、ソナーセンサなどのような、それらのいくつかは図示されていない)。四半部350は、双方向性自律車両330の4つの「四半部」の各々の対称性を表していることに留意されたい(例えば各四半部350は、図示されているものの他に、ホイール、駆動系349、同様のステアリングメカニズム、同様の構造的支持および部材などを含んでもよい)。図3Aに示されているように、同様のセンサが、各四半部350内の同様の位置に配置されてもよいが、任意の他の構成が実施されてもよい。各ホイールは、個々に、かつ互いに独立してステアリング可能であり得る。また、取り外し可能電池343は、その場で充電するのではなく、スワップインおよびスワップアウトされることを促進するように構成され得、それによって、電池343を充電する必要性に起因する休止時間が低減される、または、無視できることを保証する。自律車両コントローラ347aは、双方向性自律車両330内で使用されるものとして示されているが、自律車両コントローラ347aは、そのように限定されず、地上、空中、または海上を問わず、一方向性自律車両または任意の他のタイプの車両内で実施されてもよい。図3Aに示されているセンサの示されている、および、記述されている場所、位置、向き、量、およびタイプは、限定であるようには意図されておらず、そのため、任意の数およびタイプのセンサがあってもよく、任意のセンサが自律車両330上のいずれの場所に設置および方向づけられても(orient)よいことに留意されたい。   FIG. 3A is a diagram illustrating examples of sensors and other autonomous vehicle components, according to some examples. Diagram 300 illustrates a bidirectional autonomous vehicle 330 that includes a sensor, a signal router 345, a drive train 349, a removable battery 343, an audio generator 344 (eg, a speaker or transducer), and autonomous vehicle (“AV”) control logic 347. The internal view of is shown. The sensors shown in FIG. 300 include an image capture sensor 340 (eg, any type of light capture device or camera), an audio capture sensor 342 (eg, any type of microphone), among other sensor types and modalities. , A radar device 348, a sonar device 341 (or other similar sensor, including an ultrasonic sensor or an acoustic related sensor), and a lidar (LIDAR) device 346 (inertial measurement unit or “IMU”), Some of them are not shown, such as Earth Positioning System (“GPS”) sensors, sonar sensors, etc.). Note that quadrant 350 represents the symmetry of each of the four “quarters” of bidirectional autonomous vehicle 330 (eg, each quadrant 350 includes a wheel, Drive system 349, similar steering mechanism, similar structural support and members, etc.). As shown in FIG. 3A, similar sensors may be located at similar locations within each quadrant 350, although any other configuration may be implemented. Each wheel may be steerable individually and independently of each other. Also, the removable battery 343 can be configured to facilitate being swapped in and swapped out rather than charging in place, thereby reducing downtime due to the need to charge the battery 343. Ensure that it is reduced or negligible. Although the autonomous vehicle controller 347a is shown as being used within the bidirectional autonomous vehicle 330, the autonomous vehicle controller 347a is not so limited and may be unidirectional, whether on the ground, in the air, or at sea. May be implemented in an autonomous vehicle or any other type of vehicle. The illustrated and described locations, positions, orientations, quantities, and types of sensors shown in FIG. 3A are not intended to be limiting, so any number and Note that there may be types of sensors, and any sensor may be installed and oriented anywhere on the autonomous vehicle 330.

いくつかの実施形態によれば、自律車両(「AV」)制御論理347の部分は、グラフィックスプロセッシングユニット(「GPU」)のクラスタをプログラミングするのに適したフレームワークおよびプログラミングモデルを実施するGPUのクラスタを使用して実施されてもよい。例えば、compute unified device architecture(「CUDA」)に準拠したプログラミング言語およびアプリケーションプログラミングインターフェース(「API」)モデルが、GPUをプログラミングするために使用されてもよい。CUDA(商標)は、カリフォルニア州サンタクララ所在のNVIDIAによって製造および維持されている。OpenCL、または任意の他の並列プログラミング言語のような他のプログラミング言語が実施されてもよいことに留意されたい。   According to some embodiments, a portion of autonomous vehicle (“AV”) control logic 347 includes a GPU that implements a framework and programming model suitable for programming a cluster of graphics processing units (“GPUs”). May be implemented using a cluster of: For example, a programming language and an application programming interface (“API”) model that is compliant with the compute unified device architecture (“CUDA”) may be used to program the GPU. CUDA ™ is manufactured and maintained by NVIDIA, Santa Clara, California. Note that other programming languages such as OpenCL, or any other parallel programming language may be implemented.

いくつかの実施形態によれば、自律車両制御論理347は、モーションコントローラ362、プランナ364、知覚エンジン366、およびローカライザ368を含むように示されている自律車両コントローラ347aとして、ハードウェアおよび/またはソフトウェアにおいて実施されてもよい。示されているように、自律車両コントローラ347aは、カメラデータ340a、ライダデータ346a、およびレーダデータ348a、または、ソナーデータ341a等を含む任意の他の範囲検知(range-sensing)または位置特定(localization)データを受信するように構成されている。自律車両コントローラ347aはまた、GPSデータ352、IMUデータ354、および他の位置検知データ(例えば、ステアリング角度、角速度などのようなホイール関連データ)のような測位データを受信するようにも構成されている。さらに、自律車両コントローラ347aは、任意の他のセンサデータ356および基準データ339を受信してもよい。いくつかの事例において、基準データ339は、マップデータ(例えば、3Dマップデータ、2Dマップデータ、4Dマップデータ(例えば、エポック決定(Epoch Determination))を含む)およびルートデータ(例えば、限定ではないが、RNDFデータ(または同様のデータ)、MDFデータ(または同様のデータ))を含む道路網データなどを含む。   According to some embodiments, the autonomous vehicle control logic 347 includes hardware and / or software as an autonomous vehicle controller 347a, which is shown to include a motion controller 362, a planner 364, a perception engine 366, and a localizer 368. May be implemented. As shown, the autonomous vehicle controller 347a may perform any other range-sensing or localization including camera data 340a, lidar data 346a, radar data 348a, or sonar data 341a. ) Is configured to receive data. The autonomous vehicle controller 347a is also configured to receive positioning data such as GPS data 352, IMU data 354, and other position sensing data (eg, wheel related data such as steering angle, angular velocity, etc.). Yes. Further, the autonomous vehicle controller 347a may receive any other sensor data 356 and reference data 339. In some cases, the reference data 339 includes map data (eg, including 3D map data, 2D map data, 4D map data (eg, Epoch Determination)) and route data (eg, but not limited to). , RNDF data (or similar data), and MDF data (or similar data)).

ローカライザ368は、GPSデータ352、ホイールデータ、IMUデータ354、ライダデータ346a、カメラデータ340a、レーダデータ348aなどのような1つまたは複数のソースからのセンサデータ、および基準データ339(例えば、3Dマップデータおよびルートデータ)を受信するように構成されている。ローカライザ368は、双方向性自律車両330の局所的位置(または場所)を決定するために、センサデータをマップデータと比較することによって、データを統合(例えば、センサデータを融合)および分析する。いくつかの実施形態によれば、ローカライザ368は、任意の自律車両の位置または場所をリアルタイムまたはほぼリアルタイムに生成または更新することができる。ローカライザ368およびその機能は、「双方向性」車両に限定される必要はなく、任意のタイプの任意の車両において実施され得ることに留意されたい。それゆえ、ローカライザ368(およびAVコントローラ347aの他の構成要素)は、「一方向性」車両または任意の非自律車両において実施されてもよい。いくつかの実施形態によれば、局所的位置を記述するデータは、x座標、y座標、z座標(または、極座標系または円筒座標系などを含む任意の座標系の任意の座標)、ヨー値、ロール値、ピッチ値(例えば、角度値)、レート(例えば、速度)、高度などのうちの1つまたは複数を含んでもよい。   The localizer 368 may include sensor data from one or more sources such as GPS data 352, wheel data, IMU data 354, lidar data 346a, camera data 340a, radar data 348a, and reference data 339 (eg, a 3D map). Data and route data). The localizer 368 integrates (eg, fuses sensor data) and analyzes the data by comparing the sensor data with map data to determine the local location (or location) of the interactive autonomous vehicle 330. According to some embodiments, the localizer 368 can generate or update the position or location of any autonomous vehicle in real time or near real time. Note that localizer 368 and its functions need not be limited to “interactive” vehicles, but can be implemented in any vehicle of any type. Thus, localizer 368 (and other components of AV controller 347a) may be implemented in a “one-way” vehicle or any non-autonomous vehicle. According to some embodiments, the data describing the local position is x-coordinate, y-coordinate, z-coordinate (or any coordinate in any coordinate system including polar coordinate system, cylindrical coordinate system, etc.), yaw value , Roll value, pitch value (eg, angle value), rate (eg, speed), altitude, and the like.

知覚エンジン366は、ライダデータ346a、カメラデータ340a、レーダデータ348aなどのような1つまたは複数のソースからのセンサデータ、および局所的位置データを受信するように構成されている。知覚エンジン366は、センサデータおよび他のデータに基づいて外部オブジェクトの位置を決定するように構成され得る。例えば、外部オブジェクトは、運転可能な表面の部分でないオブジェクトであり得る。例えば、知覚エンジン366は、外部オブジェクトを、歩行者、自転車利用者、犬、他の車両などとして検出および分類することが可能であり得る(例えば、知覚エンジン366は、ラベルを含む意味情報と関連付けられ得る分類のタイプに従ってオブジェクトを分類するように構成される)。これらの外部オブジェクトの分類に基づいて、外部オブジェクトは、動的オブジェクトまたは静的オブジェクトとしてラベル付けされ得る。例えば、樹木として分類されている外部オブジェクトは静的オブジェクトとしてラベル付けされ得、一方、歩行者として分類されている外部オブジェクトは、静的オブジェクトとしてラベル付けされ得る。静的としてラベル付けされている外部オブジェクトは、マップデータ内に記述されてもよく、または、記述されなくてもよい。静的としてラベル付けされる可能性がある外部オブジェクトの例は、道路を横切って配置されているセメント壁、車線閉鎖標識、新たに配置された郵便ポスト、または、道路に隣接するごみ箱などを含む。動的としてラベル付けされる可能性がある外部オブジェクトの例は、自転車利用者、歩行者、動物、他の車両などを含む。外部オブジェクトが動的としてラベル付けされる場合、外部オブジェクトに関するさらなるデータが、分類タイプと関連付けられる一般的なレベルの活動および速度、ならびに、挙動パターンを指示し得る。外部オブジェクトに関するさらなるデータは、外部オブジェクトを追跡することによって生成され得る。そのため、分類タイプは、外部オブジェクトが、例えば、プランニングされている経路に沿って走行している自律車両と干渉し得る可能性を予測または他の様態で決定するために使用され得る。例えば、歩行者として分類される外部オブジェクトは、(例えば、追跡データに基づいて)何らかの最大速度、および、平均速度と関連付けられ得る。自律車両の速度に対する歩行者の速度は、衝突の可能性があるか否かを決定するために使用されることができる。さらに、知覚エンジン364は、オブジェクトの現在および未来の状態と関連付けられる不確定度を決定することができる。いくつかの例において、不確定度は、推定値(または確率)として表現されてもよい。   The perception engine 366 is configured to receive sensor data from one or more sources, such as lidar data 346a, camera data 340a, radar data 348a, and local position data. The perception engine 366 may be configured to determine the position of the external object based on the sensor data and other data. For example, an external object can be an object that is not part of a drivable surface. For example, perception engine 366 may be able to detect and classify external objects as pedestrians, bicycle users, dogs, other vehicles, etc. (eg, perception engine 366 associates with semantic information including labels). Configured to classify objects according to the type of classification that can be made). Based on the classification of these external objects, the external objects can be labeled as dynamic objects or static objects. For example, an external object classified as a tree can be labeled as a static object, while an external object classified as a pedestrian can be labeled as a static object. External objects that are labeled as static may or may not be described in the map data. Examples of external objects that may be labeled as static include cement walls placed across the road, lane closure signs, newly placed postboxes, or trash cans adjacent to the road . Examples of external objects that may be labeled as dynamic include bicycle users, pedestrians, animals, other vehicles, and the like. If the external object is labeled as dynamic, additional data regarding the external object may indicate a general level of activity and speed associated with the classification type, as well as behavior patterns. Further data about the external object can be generated by tracking the external object. As such, the classification type can be used to predict or otherwise determine the likelihood that an external object may interfere with, for example, an autonomous vehicle traveling along a planned route. For example, an external object classified as a pedestrian can be associated with some maximum speed and an average speed (eg, based on tracking data). The speed of the pedestrian relative to the speed of the autonomous vehicle can be used to determine whether there is a possibility of a collision. Further, the perception engine 364 can determine the uncertainty associated with the current and future state of the object. In some examples, the uncertainty may be expressed as an estimate (or probability).

プランナ364は、知覚エンジン366から知覚データを受信するように構成されており、また、ローカライザ368からのローカライザデータをも含むことができる。いくつかの例によれば、知覚データは、自律車両の近傍に配置されている静的オブジェクトおよび動的オブジェクトを指定する障害物マップを含むことができ、一方で、ローカライザデータは、局所的位置または位置を含むことができる。動作時、プランナ364は、多数の軌道を生成し、少なくとも、外部の動的オブジェクトおよび静的オブジェクトの相対位置(relative location)に対する自律車両の位置に基づいて、軌道を評価する。プランナ364は、衝突のない走行を提供するように自律車両を誘導する最適な軌道を、様々な基準に基づいて選択する。いくつかの例において、プランナ364は、確率的に決定される軌道として軌道を計算するように構成されてもよい。さらに、プランナ364は、ステアリングおよび推進コマンド(ならびに減速またはブレーキコマンド)をモーションコントローラ362に送信することができる。モーションコントローラ362はその後、ステアリングコマンド、スロットルまたは推進コマンド、およびブレーキコマンドのようなコマンドのいずれかを、ステアリングまたはホイール角度および/または速度353の変更を実施するための制御信号(例えば、アクチュエータまたは他の機械的インターフェースに対する適用のための)に変換することができる。   Planner 364 is configured to receive sensory data from sensory engine 366 and can also include localizer data from localizer 368. According to some examples, the perceptual data can include obstacle maps that specify static and dynamic objects located in the vicinity of the autonomous vehicle, while the localizer data can include local location data. Or the location can be included. In operation, the planner 364 generates multiple trajectories and evaluates the trajectory based at least on the position of the autonomous vehicle relative to the relative location of external dynamic and static objects. The planner 364 selects an optimal trajectory that guides the autonomous vehicle to provide collision free travel based on various criteria. In some examples, the planner 364 may be configured to calculate the trajectory as a trajectory that is stochastically determined. In addition, the planner 364 can send steering and propulsion commands (and deceleration or brake commands) to the motion controller 362. The motion controller 362 then sends any of the commands, such as steering commands, throttle or propulsion commands, and brake commands, control signals (e.g., actuators or other) to effect steering or wheel angle and / or speed 353 changes. For application to a mechanical interface.

図3B〜図3Eは、いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。図3Bの図391は、センサ310aがオブジェクトを(例えば、範囲もしくは距離または他の情報を決定するために)検出するセンサフィールド301aを示す。センサ310aは、任意のタイプのセンサまたはセンサモダリティを実施することができるが、センサ310a、ならびに、センサ310b、310c、および310dのような同様に記述されているセンサは、ライダデバイスを含んでもよい。それゆえ、センサフィールド301a、301b、301c、および301dは各々、レーザが延伸するフィールドを含む。図3Cの図392は、各々が対応するライダセンサ310(図示せず)によって生成される4つの重なり合うセンサフィールドを示す。示されているように、センサフィールドの部分301は、重なり合うセンサフィールドを含まず(例えば、単一のライダフィールド)、センサフィールドの部分302は、2つの重なり合うセンサフィールドを含み、部分303は3つの重なり合うセンサフィールドを含み、それによって、そのようなセンサは、ライダセンサが機能不全になった場合に複数レベルの冗長性を提供する。   3B-3E are diagrams illustrating examples of autonomous vehicle adaptation to sensor field redundancy and sensor field loss, according to some examples. FIG. 391 of FIG. 3B shows a sensor field 301a where the sensor 310a detects an object (eg, to determine range or distance or other information). While sensor 310a can implement any type of sensor or sensor modality, sensor 310a and similarly described sensors such as sensors 310b, 310c, and 310d may include lidar devices. . Therefore, sensor fields 301a, 301b, 301c, and 301d each include a field where the laser extends. FIG. 3C of FIG. 3C shows four overlapping sensor fields, each generated by a corresponding lidar sensor 310 (not shown). As shown, sensor field portion 301 does not include overlapping sensor fields (eg, a single rider field), sensor field portion 302 includes two overlapping sensor fields, and portion 303 includes three It includes overlapping sensor fields so that such sensors provide multiple levels of redundancy if a lidar sensor fails.

図3Dは、いくつかの例による、ライダ 309の動作が機能不全にされることに起因するセンサフィールドの喪失を示す。図3Cのセンサフィールド302は、単一のセンサフィールド305に変換されており、図3Cのセンサフィールド301のうちの1つは失われて間隙304になっており、図3Cのセンサフィールド303のうちの3つは、センサフィールド306に変換されている(すなわち、2つの重なり合うフィールドに限定される)。自律車両330cが進行方向396に走行している場合、動いている自律車両の正面のセンサフィールドは、後端位置にあるものよりもロバストでない場合がある。いくつかの例によれば、自律車両コントローラ(図示せず)は、車両の正面の前方領域におけるセンサフィールドの喪失に対処するために、自律車両330cの双方向性を活用するように構成されている。図3Eは、自律車両330dの正面のセンサフィールドの一定のロバスト性を回復するための双方向性操作を示す。示されているように、テールライト348と同延のよりロバストなセンサフィールド302が、車両330dの後部に配置されている。好都合な場合、自律車両330dは、私道397に寄ることによって双方向性操作を実施し、テールライト348が自律車両330dの他の側(例えば、後縁)にアクティブに切り替わるように、その双方向性を切り替える。示されているように、自律車両330dは、進行方向398に沿って走行しているときに、車両の正面のロバストなセンサフィールド302を回復する。さらに、上述した双方向性操作は、交通量の多い車道に戻ることを必要とするより複雑化された操作の必要性を取り除く。   FIG. 3D illustrates loss of sensor field due to a malfunction of lidar 309 operation, according to some examples. The sensor field 302 of FIG. 3C has been converted to a single sensor field 305, one of the sensor fields 301 of FIG. Are converted to sensor field 306 (ie, limited to two overlapping fields). When the autonomous vehicle 330c is traveling in the traveling direction 396, the sensor field in front of the moving autonomous vehicle may be less robust than that at the rear end position. According to some examples, an autonomous vehicle controller (not shown) is configured to take advantage of the interactivity of the autonomous vehicle 330c to address the loss of the sensor field in the front area in front of the vehicle. Yes. FIG. 3E illustrates a bidirectional operation for restoring a certain robustness of the sensor field in front of the autonomous vehicle 330d. As shown, a more robust sensor field 302 coextensive with the taillight 348 is located at the rear of the vehicle 330d. When convenient, the autonomous vehicle 330d performs a bidirectional operation by stopping on the driveway 397, so that the taillight 348 is actively switched to the other side (eg, the trailing edge) of the autonomous vehicle 330d. Switch gender. As shown, the autonomous vehicle 330d recovers the robust sensor field 302 in front of the vehicle when traveling along the direction of travel 398. Furthermore, the bidirectional operation described above eliminates the need for more complex operations that require returning to a busy roadway.

図4は、いくつかの例による、通信レイヤを介して自律車両コントローラに通信可能に結合されている自律車両サービスプラットフォームを含むシステムを示す機能ブロック図である。図400は、自律車両430内に配置されている自律車両コントローラ(「AV」)447を示し、自律車両430は、自律車両コントローラ447に結合されているいくつかのセンサ470を含む。センサ470は、1つまたは複数のライダデバイス472、1つまたは複数のカメラ474、1つまたは複数のレーダ476、1つまたは複数の全地球測位システム(「GPS」)データ受信機−センサ、1つまたは複数の慣性計測装置(「IMU」)475、1つまたは複数のオドメトリセンサ477(例えば、ホイールエンコーダセンサ、ホイール速度センサなど)、および、赤外線カメラまたはセンサ、ハイパースペクトル対応センサ(hyperspectral-capable sensor)、超音波センサ(または任意の他の音響エネルギーに基づくセンサ)、無線周波数に基づくセンサなどのような、任意の他の適切なセンサ478を含む。いくつかの事例において、ホイールのステアリング角度を検知するように構成されているホイール角度センサが、オドメトリセンサ477または適切なセンサ478として含まれてもよい。非限定例において、自律車両コントローラ447は、4つ以上のライダ 472、16個以上のカメラ474および4つ以上のレーダユニット476を含んでもよい。さらに、センサ470は、自律車両コントローラ447の構成要素、および、自律車両サービスプラットフォーム401の要素にセンサデータを提供するように構成されてもよい。図400に示されているように、自律車両コントローラ447は、プランナ464と、モーションコントローラ462と、ローカライザ468と、知覚エンジン466と、局所的マップ(local map)ジェネレータ440とを含む。図4の図400に示されている要素は、1つまたは複数の他の図面に関連して記述されている、同様に名付けられている要素としての構造および/または機能を含むことができることに留意されたい。   FIG. 4 is a functional block diagram illustrating a system including an autonomous vehicle service platform communicatively coupled to an autonomous vehicle controller via a communication layer, according to some examples. Diagram 400 shows an autonomous vehicle controller (“AV”) 447 disposed within autonomous vehicle 430, and autonomous vehicle 430 includes a number of sensors 470 coupled to autonomous vehicle controller 447. Sensor 470 includes one or more lidar devices 472, one or more cameras 474, one or more radars 476, one or more global positioning system ("GPS") data receiver-sensors, One or more inertial measurement units (“IMU”) 475, one or more odometry sensors 477 (eg, wheel encoder sensors, wheel speed sensors, etc.) and infrared cameras or sensors, hyperspectral-capable sensors sensor), an ultrasonic sensor (or any other acoustic energy based sensor), a radio frequency based sensor, and the like. In some cases, a wheel angle sensor configured to detect the steering angle of the wheel may be included as odometry sensor 477 or suitable sensor 478. In a non-limiting example, the autonomous vehicle controller 447 may include four or more riders 472, sixteen or more cameras 474, and four or more radar units 476. Further, the sensor 470 may be configured to provide sensor data to components of the autonomous vehicle controller 447 and elements of the autonomous vehicle service platform 401. As shown in FIG. 400, the autonomous vehicle controller 447 includes a planner 464, a motion controller 462, a localizer 468, a perception engine 466, and a local map generator 440. The elements shown in diagram 400 of FIG. 4 can include structures and / or functions as similarly named elements described in connection with one or more other drawings. Please keep in mind.

ローカライザ468は、マップデータ、ルートデータ(例えば、RNDFのようなデータのような、道路網データ)などを含んでもよい基準データに対して自律車両を位置特定する(すなわち、局所的位置を決定する)ように構成されている。いくつかの事例において、ローカライザ468は、例えば、環境の表現の特徴(feature)に対する自律車両430の位置を表現することができる、空間内のポイントを識別するように構成されている。ローカライザ468は、各個々のタイプのセンサに関係付けられる不確実性を低減するために(例えば、異なるセンサモダリティの)センサデータの複数のサブセットを統合するように構成され得るセンサデータインテグレータ(sensor data integrator)469を含むように示されている。いくつかの例によれば、センサデータインテグレータ469は、局所的位置を決定するための統合されたセンサデータ値を形成するために、センサデータ(例えば、ライダデータ、カメラデータ、レーダデータなど)を融合するように構成されている。いくつかの例によれば、ローカライザ468は、2Dマップデータ、3Dマップデータ、4Dマップデータなどを格納するためのマップデータリポジトリ(map data repository)405aを含む、基準データリポジトリ(reference data repository)405に由来する基準データを取り出す(retrieve)。ローカライザ468は、自律車両430の位置を識別、または、他の様態で確認するためにマップデータと照合するために、環境内の特徴の少なくともサブセットを識別するように構成され得る。いくつかの例によれば、ローカライザ468は、特徴のセットが1つまたは複数の特徴、またはすべての特徴を含むことができるように、環境内の任意の量の特徴を識別するように構成されてもよい。特定の例において、任意の量のライダデータ(例えば、ほとんどのまたは実質的にすべてのライダデータ)が、位置特定の目的のためにマップを表現するデータと比較され得る。一般的に、環境特徴とマップデータとの比較からもたらされる一致しないオブジェクトは、車両、自転車利用者、歩行者などのような動的オブジェクトであり得る。障害物を含む動的オブジェクトの検出は、マップデータを用いてまたは用いずに実施され得ることに留意されたい。特に、動的オブジェクトは、マップデータから独立して(すなわち、マップデータがない状態で)検出および追跡されてもよい。いくつかの事例において、2Dマップデータおよび3Dマップデータは、「グローバルマップ(global map)データ」、または、自律車両サービスプラットフォーム401によってある時点において認証されているマップデータとして見られ得る。マップデータリポジトリ405a内のマップデータは定期的に更新および/または認証され得るため、マップデータと、自律車両が位置決めされる実際の環境との間には逸脱が存在する場合がある。それゆえ、ローカライザ468は、位置特定を強化するために、局所的マップジェネレータ440によって生成される、局所的に導出された(locally-derived)マップデータを取り出すことができる。局所的マップジェネレータ440は、局所的マップデータをリアルタイムまたはほぼリアルタイムに生成するように構成されている。任意選択的に、局所的マップジェネレータ440は、例えば、位置特定において動的オブジェクトを無視することによって、局所的に生成されるマップの精度を強化するために、静的および動的オブジェクトマップデータを受信してもよい。少なくともいくつかの実施形態によれば、局所的マップジェネレータ440は、ローカライザ468と統合されてもよく、または、その部分として形成されてもよい。少なくとも1つの事例において、局所的マップジェネレータ440は、独立してまたはローカライザ468と協働してのいずれかで、simultaneous localization and mapping(「SLAM」)などに基づいてマップおよび/または基準データを生成するように構成され得る。ローカライザ468は、マップデータの使用に対する「混合」(hybrid)手法を実施することができ、それによって、ローカライザ468内の論理は、マップデータの各ソースの信頼度に応じて、マップデータリポジトリ405aからのマップデータまたは局所的マップジェネレータ440からの局所的マップデータのいずれかから様々な量のマップデータを選択するように構成されることができることに留意されたい。それゆえ、ローカライザ468は依然として、局所的に生成されるマップデータを考慮して古いマップデータを使用することができる。   Localizer 468 locates the autonomous vehicle with respect to reference data that may include map data, route data (eg, road network data, such as data such as RNDF) (ie, determine a local location). ) Is configured as follows. In some instances, the localizer 468 is configured to identify points in space that can represent, for example, the position of the autonomous vehicle 430 relative to an environmental representation feature. Localizer 468 may be configured to consolidate multiple subsets of sensor data (eg, of different sensor modalities) to reduce the uncertainty associated with each individual type of sensor. integrator) 469. According to some examples, the sensor data integrator 469 uses sensor data (eg, lidar data, camera data, radar data, etc.) to form an integrated sensor data value for determining a local position. It is configured to merge. According to some examples, the localizer 468 includes a reference data repository 405 that includes a map data repository 405a for storing 2D map data, 3D map data, 4D map data, and the like. Retrieve the reference data derived from. Localizer 468 may be configured to identify at least a subset of features in the environment to identify the location of autonomous vehicle 430 or to match map data to verify in other manners. According to some examples, the localizer 468 is configured to identify any amount of features in the environment such that the set of features can include one or more features, or all features. May be. In certain examples, any amount of rider data (eg, most or substantially all rider data) can be compared to data representing a map for location purposes. In general, non-matching objects resulting from a comparison of environmental features and map data can be dynamic objects such as vehicles, bicycle users, pedestrians, and the like. Note that the detection of dynamic objects including obstacles can be performed with or without map data. In particular, dynamic objects may be detected and tracked independently from map data (ie, without map data). In some instances, 2D map data and 3D map data may be viewed as “global map data” or map data that has been authenticated at some point by the autonomous vehicle service platform 401. Because map data in the map data repository 405a can be updated and / or authenticated periodically, there may be deviations between the map data and the actual environment in which the autonomous vehicle is located. Therefore, the localizer 468 can retrieve locally-derived map data generated by the local map generator 440 to enhance localization. The local map generator 440 is configured to generate local map data in real time or near real time. Optionally, the local map generator 440 can generate static and dynamic object map data to enhance the accuracy of locally generated maps, for example, by ignoring dynamic objects in locating. You may receive it. According to at least some embodiments, the local map generator 440 may be integrated with the localizer 468 or formed as part thereof. In at least one instance, the local map generator 440 generates maps and / or reference data, such as based on simultaneous localization and mapping ("SLAM"), either independently or in cooperation with the localizer 468. Can be configured to. The localizer 468 can implement a “hybrid” approach to the use of map data so that the logic in the localizer 468 can be retrieved from the map data repository 405a depending on the confidence of each source of map data. Note that various amounts of map data can be selected from either the current map data or the local map data from the local map generator 440. Therefore, the localizer 468 can still use old map data in view of locally generated map data.

知覚エンジン466は、例えば、プランナ464が、自律車両430が移動している周囲環境内の対象のオブジェクトを識別することによってルートをプランニングし、軌道を生成するのを補助するように構成されている。さらに、対象のオブジェクトの各々と確率が関連付けられ得、それによって、確率は、対象のオブジェクトが安全な走行に対する脅威となり得る可能性を表現することができる(例えば、高速で動くオートバイは、新聞を読みながらバス停のベンチに座っている人よりも強化された追跡を必要とし得る)。示されているように、知覚エンジン466は、オブジェクトディテクタ(object detector)442およびオブジェクトクラシファイヤ444を含む。オブジェクトディテクタ442は、環境内の他の特徴に対してオブジェクトを区別するように構成されており、オブジェクトクラシファイヤ444は、オブジェクトを動的オブジェクトまたは静的オブジェクトのいずれかとして分類し、プランニングの目的のために、自律車両430に対する動的オブジェクトまたは静的オブジェクトの位置を追跡するように構成されることができる。さらに、知覚エンジン466は、静的または動的オブジェクトに、オブジェクトがプランナ464における経路プランニングに影響を与える可能性がある障害物である(またはそうなる可能性を有する)か否かを指定する識別子を割り当てるように構成されることができる。図4には示されていないが、知覚エンジン466はまた、セグメンテーションおよび追跡のような、他の知覚関連機能を実施することもできることに留意されたい。それらの例は後述する。   The perception engine 466 is configured, for example, to assist the planner 464 in planning routes and generating trajectories by identifying objects of interest in the surrounding environment in which the autonomous vehicle 430 is moving. . In addition, a probability can be associated with each of the target objects, so that the probability can express the possibility that the target object may be a threat to safe driving (eg, a fast-moving motorcycle can You may need enhanced tracking than someone sitting on a bus stop bench while reading). As shown, perception engine 466 includes an object detector 442 and an object classifier 444. Object detector 442 is configured to distinguish objects relative to other features in the environment, and object classifier 444 classifies objects as either dynamic objects or static objects, for planning purposes. For that purpose, it can be configured to track the position of a dynamic or static object relative to the autonomous vehicle 430. In addition, the perception engine 466 provides identifiers that specify whether static or dynamic objects are (or have) the possibility that the object is an obstacle that may affect path planning in the planner 464. Can be configured to allocate. Although not shown in FIG. 4, it should be noted that the perception engine 466 can also perform other perception related functions, such as segmentation and tracking. Examples of these will be described later.

プランナ464は、利用可能であるいくつかの経路またはルートを介して目的地に達するという目標を達成するためのいくつかの候補軌道を生成するように構成されている。軌道エバリュエータ(trajectory evaluator)465が、候補軌道を評価し、候補軌道のいずれのサブセットが目的地までの衝突のない経路を提供する最も高い程度の信頼水準と関連付けられるかを識別するように構成されている。そのため、軌道エバリュエータ465は、コマンドに、車両構成要素450(例えば、アクチュエータまたは他のメカニズム)に対する制御信号を生成させるための関連する基準に基づいて最適な軌道を選択することができる。関連する基準は、最適な軌道を規定する任意の数のファクタを含んでもよく、その選択は、衝突を低減することに限定される必要はないことに留意されたい。例えば、軌道の選択は、ユーザ経験(例えば、ユーザ快適性)、および、交通規制および法律に準拠する衝突のない軌道を最適化するように行われてもよい。ユーザ経験は、(例えば、けいれんのような走行または他の不快な動きを低減するために)様々な直線方向および角度方向における加速を加減することによって最適化され得る。いくつかの事例において、関連する基準の少なくとも部分は、最適化された衝突のない走行を維持しながら、他の基準のいずれに優越または優先すべきかを指定することができる。例えば、限定された状況において軌道を生成するときに(例えば、自転車利用者と併走するために二重黄色線をまたぐとき、または、交通流量に合わせるために提示されている速度制限よりも高速で走行しているとき)、法的な制約は一時的に撤廃または緩和され得る。そのため、制御信号は、駆動系および/またはホイールにおける推進および方向の変化を引き起こすように構成される。この例において、モーションコントローラ462は、コマンドを、自律車両430の移動を制御するための制御信号(例えば、速度、ホイール角度など)に変換するように構成されている。軌道エバリュエータ465が、衝突のない最適化された走行を提供するために十分に高い信頼水準を保証するためには不十分な情報を有する場合、プランナ464は、遠隔操作者404に対する、遠隔操作者の支持を求める要求を生成することができる。   Planner 464 is configured to generate a number of candidate trajectories to achieve the goal of reaching the destination via a number of routes or routes that are available. A trajectory evaluator 465 is configured to evaluate candidate trajectories and identify which subset of candidate trajectories is associated with the highest degree of confidence that provides a collision-free path to the destination. ing. As such, the track evaluator 465 can select the optimal track based on relevant criteria for causing the command to generate control signals for the vehicle component 450 (eg, an actuator or other mechanism). It should be noted that the relevant criteria may include any number of factors that define the optimal trajectory, and the selection need not be limited to reducing collisions. For example, trajectory selection may be performed to optimize a collision-free trajectory that complies with user experience (eg, user comfort) and traffic regulations and laws. User experience can be optimized by adjusting acceleration in various linear and angular directions (eg, to reduce jerky running or other unpleasant movements). In some cases, at least a portion of the relevant criteria can specify which of the other criteria should be superior or preferred while maintaining optimized collision-free driving. For example, when generating trajectories in limited situations (for example, when crossing the double yellow line to run parallel with a bicycle user, or faster than the speed limit presented to meet traffic flow) Legal constraints may be temporarily abolished or relaxed when traveling). As such, the control signal is configured to cause propulsion and direction changes in the drivetrain and / or wheels. In this example, the motion controller 462 is configured to convert the command into a control signal (eg, speed, wheel angle, etc.) for controlling the movement of the autonomous vehicle 430. If the track evaluator 465 has insufficient information to ensure a sufficiently high confidence level to provide a collision-free optimized run, the planner 464 may provide the remote operator 404 with respect to the remote operator 404. A request for support of can be generated.

自律車両サービスプラットフォーム401は、遠隔操作者404(例えば、遠隔操作者コンピューティングデバイス)と、基準データリポジトリ405と、マップアップデータ(map updater)406と、車両データコントローラ408と、キャリブレータ(calibrator)409と、オフラインオブジェクトクラシファイヤ410とを含む。自律車両サービスプラットフォーム401の各要素は、独立して配置または分散され得、自律車両サービスプラットフォーム401内の他の要素と通信することができることに留意されたい。さらに、自律車両サービスプラットフォーム401の要素は、独立して、通信レイヤ402を介して自律車両430と通信することができる。マップアップデータ406は、マップデータ(例えば、局所的マップジェネレータ440、センサ460、または、自律車両コントローラ447の任意の他の構成要素からの)を受信するように構成されており、例えば、マップデータリポジトリ405a内のマップデータの、局所的に生成されるマップからの逸脱を検出するようにさらに構成されている。車両データコントローラ408は、マップアップデータ406に、リポジトリ405内の基準データを更新させ、2D、3D、および/または4Dマップデータに対する更新を促進することができる。いくつかの事例において、車両データコントローラ408は、局所的マップデータが自律車両サービスプラットフォーム408へと受信されるレート、および、マップアップデータ406がマップデータの更新を実施する頻度を制御することができる。   The autonomous vehicle service platform 401 includes a remote operator 404 (for example, a remote operator computing device), a reference data repository 405, a map updater 406, a vehicle data controller 408, and a calibrator 409. And an offline object classifier 410. Note that each element of the autonomous vehicle service platform 401 can be independently deployed or distributed and can communicate with other elements in the autonomous vehicle service platform 401. Further, the elements of the autonomous vehicle service platform 401 can communicate with the autonomous vehicle 430 via the communication layer 402 independently. The map updater 406 is configured to receive map data (eg, from the local map generator 440, sensor 460, or any other component of the autonomous vehicle controller 447), eg, a map data repository. The map data in 405a is further configured to detect deviations from locally generated maps. The vehicle data controller 408 can cause the map updater 406 to update the reference data in the repository 405 to facilitate updates to 2D, 3D, and / or 4D map data. In some cases, the vehicle data controller 408 can control the rate at which local map data is received to the autonomous vehicle service platform 408 and how often the map updater 406 performs map data updates.

キャリブレータ409は、同じまたは異なるタイプの様々なセンサの較正を実施するように構成されている。キャリブレータ409は、センサの相対的な位置(例えば、デカルト空間(x、y、z)における)およびセンサの向き(例えば、ロール、ピッチおよびヨー)を決定するように構成され得る。カメラ、ライダセンサ、レーダセンサなどのようなセンサの位置および向きは、他のセンサに対して、および、全体的に(globally)車両の基準フレームに対して較正され得る。オフライン自己較正はまた、車両慣性テンソル、軸距、ホイール半径または路面摩擦のような他のパラメータを較正または推定することもできる。較正はまた、いくつかの例によれば、パラメータ変化を検出するためにオンラインで行われることもできる。また、キャリブレータ409による較正は、センサの内因性パラメータ(例えば、光学的歪み、ビーム角度など)および外因性パラメータを含み得ることに留意されたい。いくつかの事例において、キャリブレータ409は、例として、3Dレーザデータにおける深さの断絶と、画像データのエッジとの間の相関を最大化することによって実施され得る。オフラインオブジェクトクラシファイヤ410は、センサデータのようなデータを、センサ470または自律車両コントローラ447の任意の他の構成要素から受信するように構成されている。いくつかの実施形態によれば、オフラインオブジェクトクラシファイヤ410のオフライン分類パイプラインは、オブジェクトを事前にまとめ、(例えば、人間によって手動でおよび/またはオフラインラベル付けアルゴリズムを使用して自動的に)注釈を付けるように構成され得、オンライン自律動作中にオブジェクトタイプのリアルタイムの分類を提供することができるオンラインクラシファイヤ(例えば、オブジェクトクラシファイヤ444)を訓練するようにさらに構成され得る。   The calibrator 409 is configured to perform calibration of various sensors of the same or different types. The calibrator 409 may be configured to determine the relative position of the sensor (eg, in Cartesian space (x, y, z)) and the orientation of the sensor (eg, roll, pitch, and yaw). The position and orientation of sensors such as cameras, lidar sensors, radar sensors, etc. can be calibrated with respect to other sensors and globally relative to the vehicle reference frame. Offline self-calibration can also calibrate or estimate other parameters such as vehicle inertia tensor, axle distance, wheel radius or road friction. Calibration can also be performed online to detect parameter changes, according to some examples. It should also be noted that calibration by the calibrator 409 may include sensor intrinsic parameters (eg, optical distortion, beam angle, etc.) and extrinsic parameters. In some cases, the calibrator 409 may be implemented, for example, by maximizing the correlation between the depth break in the 3D laser data and the edges of the image data. Offline object classifier 410 is configured to receive data, such as sensor data, from sensor 470 or any other component of autonomous vehicle controller 447. According to some embodiments, the offline classification pipeline of the offline object classifier 410 pre-assembles objects and annotates (eg, manually by a human and / or automatically using an offline labeling algorithm). And can be further configured to train an online classifier (eg, object classifier 444) that can provide real-time classification of object types during online autonomous operation.

図5は、いくつかの実施形態による、自律車両を制御するためのフロー図の例である。502において、フロー500は、自律車両にある複数のモダリティのセンサに由来するセンサデータが、例えば、自律車両コントローラによって受信されるときに開始する。センサデータの1つまたは複数のサブセットは、例えば、推定値を改善するために融合されたデータを生成するために統合され得る。いくつかの例において、504において、(例えば、同じまたは異なるモダリティの)1つまたは複数のセンサのセンサストリームが、融合されたセンサデータを形成するために融合され得る。いくつかの例において、ライダセンサデータおよびカメラセンサデータのサブセットが、位置特定を促進するために、504において融合され得る。506において、センサデータの少なくとも2つのサブセットに基づいてオブジェクトを表現するデータが、プロセッサにおいて導出され得る。例えば、静的オブジェクトまたは動的オブジェクトを識別するデータが、少なくともライダおよびカメラデータから(例えば、知覚エンジンにおいて)導出され得る。508において、プランニングされている経路に影響を与える、検出されたオブジェクトが決定され、510において、検出されたオブジェクトに応答して、軌道のサブセットが(例えば、プランナにおいて)評価される。512において、自律車両の規範的動作と関連付けられる許容可能な信頼水準の範囲を超える信頼水準が決定される。それゆえ、この事例において、信頼水準は、最適化された経路を選択する確実性がより可能性が低く、それによって、最適化された経路が、衝突のない走行を促進し、交通法規に準拠し、快適なユーザ経験(例えば、快適な搭乗(comfortable ride))を提供し、および/または、任意の他のファクタに基づいて候補軌道を生成する確率に応じて決定され得るようなものであり得る。そのため、514において、代替の経路を求める要求が、遠隔操作者コンピューティングデバイスに送信され得る。その後、遠隔操作者コンピューティングデバイスは、プランナに、自律車両が走行するようにされる最適な軌道を提供することができる。状況によっては、車両はまた、安全停止操作(例えば、自律車両を、危険の確率が相対的に低い位置に安全かつ自動的に停止させること)が最善の方策であると決定することもできる。フロー図の各部分はこのフロー図および本明細書における他のフロー図に示されている順序は、順次実施されてもよく、またはフロー図の任意の1つまたは複数の他の部分と並列に実施されてもよく、また、独立して実施されてもよく、または、フロー図の他の部分に依存して実施されてもよいため、様々な機能を直線的に実施するための要件を暗示するようには意図されていないことに留意されたい。   FIG. 5 is an example flow diagram for controlling an autonomous vehicle in accordance with some embodiments. At 502, flow 500 begins when sensor data from a plurality of modality sensors in an autonomous vehicle is received, for example, by an autonomous vehicle controller. One or more subsets of sensor data may be integrated, for example, to generate fused data to improve estimates. In some examples, at 504, sensor streams of one or more sensors (eg, of the same or different modalities) may be fused to form fused sensor data. In some examples, a subset of lidar sensor data and camera sensor data may be merged at 504 to facilitate localization. At 506, data representing an object based on at least two subsets of sensor data can be derived at the processor. For example, data identifying static or dynamic objects can be derived (eg, in a perceptual engine) from at least lidar and camera data. At 508, detected objects that affect the planned path are determined, and at 510, a subset of trajectories is evaluated (eg, at the planner) in response to the detected objects. At 512, a confidence level that exceeds a range of acceptable confidence levels associated with the normative operation of the autonomous vehicle is determined. Therefore, in this case, the confidence level is less likely to select an optimized route, so that the optimized route promotes collision-free driving and complies with traffic regulations. And provide a comfortable user experience (eg, comfortable ride) and / or can be determined according to the probability of generating a candidate trajectory based on any other factor obtain. Thus, at 514, a request for an alternate route can be sent to the remote operator computing device. The remote operator computing device can then provide the planner with the optimal trajectory on which the autonomous vehicle will be allowed to travel. In some situations, the vehicle may also determine that a safe stop operation (eg, stopping the autonomous vehicle safely and automatically at a relatively low probability of danger) is the best strategy. The order in which the portions of the flow diagram are shown in this flow diagram and the other flow diagrams herein may be performed sequentially or in parallel with any one or more other portions of the flow diagram. It may be implemented, may be implemented independently, or may be implemented depending on other parts of the flow diagram, thus implying requirements for performing various functions linearly Note that it is not intended to be.

図6は、いくつかの実施形態による、自律車両コントローラのアーキテクチャの例を示す図である。図600は、モーションコントローラプロセス662、プランナプロセス664、知覚プロセス666、マッピングプロセス640、および位置特定プロセス668を含むいくつかのプロセスを示し、それらのうちのいくつかは、他のプロセスに関するデータを生成または受信し得る。プロセス670および650のような他のプロセスは、自律車両の1つまたは複数の機械的構成要素との相互作用を促進することができる。例えば、知覚プロセス666、マッピングプロセス640、および位置特定プロセス668は、センサ670からセンサデータを受信するように構成されており、一方で、プランナプロセス664および知覚プロセス666は、道路網データのようなルートデータを含み得る案内データ606を受信するように構成されている。さらに図600について、位置特定プロセス668は、他のタイプのマップデータの中でも、マップデータ605a(すなわち、2Dマップデータ)、マップデータ605b(すなわち、3Dマップデータ)、および局所的マップデータ642を受信するように構成されている。例えば、位置特定プロセス668はまた、例えば、エポック決定を含み得る、4Dマップデータのような他の形態のマップデータを受信することもできる。位置特定プロセス668は、局所的位置を表現する局所的位置データ641を生成するように構成されている。局所的位置データ641は、モーションコントローラプロセス662、プランナプロセス664、および知覚プロセス666に提供される。知覚プロセス666は、静的および動的オブジェクトマップデータ667を生成するように構成されており、このマップデータは、プランナプロセス664に送信され得る。いくつかの例において、静的および動的オブジェクトマップデータ667は、意味論的分類情報および予測される物体挙動のような他のデータとともに送信されてもよい。プランナプロセス664は、プランナ664によって生成されるいくつかの軌道を記述する軌道データ665を生成するように構成されている。モーションコントローラプロセスは、ステアリング角度および/または速度の変化を引き起こすためにアクチュエータ650に適用するための低レベルコマンドまたは制御信号を生成するために、軌道データ665を使用する。   FIG. 6 is a diagram illustrating an example of an autonomous vehicle controller architecture, according to some embodiments. Diagram 600 illustrates several processes including a motion controller process 662, a planner process 664, a perception process 666, a mapping process 640, and a location process 668, some of which generate data regarding other processes. Or you can receive. Other processes, such as processes 670 and 650, can facilitate interaction with one or more mechanical components of the autonomous vehicle. For example, the perception process 666, the mapping process 640, and the location process 668 are configured to receive sensor data from the sensor 670, while the planner process 664 and the perception process 666 are such as road network data. It is configured to receive guidance data 606 that may include route data. Still referring to diagram 600, the location process 668 receives map data 605a (ie, 2D map data), map data 605b (ie, 3D map data), and local map data 642, among other types of map data. Is configured to do. For example, the location process 668 can also receive other forms of map data, such as 4D map data, which can include, for example, epoch decisions. The location process 668 is configured to generate local location data 641 that represents the local location. Local location data 641 is provided to motion controller process 662, planner process 664, and perception process 666. The perception process 666 is configured to generate static and dynamic object map data 667 that may be sent to the planner process 664. In some examples, static and dynamic object map data 667 may be transmitted along with other data such as semantic classification information and predicted object behavior. Planner process 664 is configured to generate trajectory data 665 that describes a number of trajectories generated by planner 664. The motion controller process uses the trajectory data 665 to generate low level command or control signals for application to the actuator 650 to cause changes in steering angle and / or speed.

図7は、いくつかの実施形態による、自律車両の群との信頼可能な通信を維持するために冗長な通信チャネルを実施する自律車両サービスプラットフォームの例を示す図である。図700は、基準データジェネレータ705、車両データコントローラ702、自律車両群マネージャ703、遠隔操作者マネージャ707、シミュレータ740、およびポリシマネージャ742を含む自律車両サービスプラットフォーム701を示す。基準データジェネレータ705は、マップデータおよびルートデータ(例えば、RNDFデータ)を生成および修正するように構成されている。さらに、基準データジェネレータ705は、2Dマップデータリポジトリ720内の2Dマップにアクセスし、3Dマップデータリポジトリ722内の3Dマップにアクセスし、ルートデータリポジトリ724内のルートデータにアクセスするように構成され得る。エポック決定を含む4Dマップデータのような、他のマップ表現データおよびリポジトリが、いくつかの例において実施されてもよい。車両データコントローラ702は、様々な動作を実施するように構成されることができる。例えば、車両データコントローラ702は、チャネル770を介した通信の品質レベルに基づいて、自律車両の群とプラットフォーム701との間でデータが交換されるレートを変更するように構成されてもよい。帯域幅が制約されている期間中、例えば、データ通信は、自律車両730からの遠隔操作要求が、送達を保証するために高く優先順位付けされるように、優先順位付けされ得る。さらに、特定のチャネルにとって利用可能な帯域幅に依存して、可変レベルのデータ抽象化が、チャネル770を介して車両ごとに送信され得る。例えば、ロバストなネットワーク接続の存在下では、全ライダデータ(例えば、実質的にすべてのライダデータであるが、またより少なくてもよい)が送信されてもよく、一方で、劣化されたまたは低速の接続の存在下では、データのより単純なまたはより抽象的な描写(例えば、関連付けられているメタデータを有する境界ボックスなど)が送信されてもよい。自律車両群マネージャ703は、電池電力の効率的な使用、走行時間、電池の低充電状態の間に自律車両730内の空調装置が使用され得るか否かなどを含む、複数の変数を最適化するように、自律車両730の派遣を調整するように構成されており、それらの変数のいずれかまたはすべては、自律車両サービスの動作と関連付けられる費用関数を最適化することを考慮して監視され得る。自律車両の群の走行の費用または時間を最小化する様々な変数を分析するためのアルゴリズムが実施され得る。さらに、自律車両群マネージャ703は、群のアップタイムを最大化することを考慮してサービススケジュールを適合させるために、自律車両および部品の在庫を維持する。   FIG. 7 is a diagram illustrating an example autonomous vehicle service platform that implements redundant communication channels to maintain reliable communication with a group of autonomous vehicles, according to some embodiments. 700 shows an autonomous vehicle service platform 701 that includes a reference data generator 705, a vehicle data controller 702, an autonomous vehicle group manager 703, a remote operator manager 707, a simulator 740, and a policy manager 742. The reference data generator 705 is configured to generate and modify map data and route data (eg, RNDF data). Further, the reference data generator 705 can be configured to access a 2D map in the 2D map data repository 720, access a 3D map in the 3D map data repository 722, and access route data in the route data repository 724. . Other map representation data and repositories, such as 4D map data including epoch decisions, may be implemented in some examples. The vehicle data controller 702 can be configured to perform various operations. For example, the vehicle data controller 702 may be configured to change the rate at which data is exchanged between the group of autonomous vehicles and the platform 701 based on the quality level of communication over the channel 770. During bandwidth constrained periods, for example, data communications can be prioritized such that remote control requests from autonomous vehicle 730 are prioritized high to ensure delivery. Further, depending on the bandwidth available for a particular channel, a variable level of data abstraction can be transmitted for each vehicle via channel 770. For example, in the presence of a robust network connection, all rider data (eg, substantially all rider data, but may be less) may be transmitted, while degraded or slow In the presence of multiple connections, a simpler or more abstract representation of the data (eg, a bounding box with associated metadata) may be transmitted. Autonomous vehicle group manager 703 optimizes multiple variables, including efficient use of battery power, travel time, and whether the air conditioner in autonomous vehicle 730 can be used during low battery charge conditions, etc. So that any or all of these variables are monitored in view of optimizing the cost function associated with the operation of the autonomous vehicle service. obtain. An algorithm may be implemented to analyze various variables that minimize the cost or time of travel of a group of autonomous vehicles. Furthermore, the autonomous vehicle group manager 703 maintains an inventory of autonomous vehicles and parts to adapt the service schedule in view of maximizing group uptime.

遠隔操作者マネージャ707は、遠隔操作者708がそれを用いて入力を提供するいくつかの遠隔操作者コンピューティングデバイス704を管理するように構成されている。シミュレータ740は、1つまたは複数の自律車両730の動作、および、遠隔操作者マネージャ707と自律車両730との間の相互作用をシミュレートするように構成されている。シミュレータ740はまた、自律車両730内に配置されているいくつかのセンサの動作(シミュレートされるノイズの導入を含む)をシミュレートすることもできる。さらに、シミュレートされた自律車両が合成環境に導入されることができ、それによって、シミュレートされたセンサが、シミュレートされたレーザ戻りのようなシミュレートされたセンサデータを受信することができるように、都市のような環境がシミュレートされることができる。シミュレータ740は、ソフトウェア更新および/またはマップデータの検証を含む、他の機能をも提供することができる。ポリシマネージャ742は、道路網を走行している間に自律車両が遭遇する様々な条件またはイベントを考慮して自律車両がそれによって挙動すべきであるデータ表現ポリシまたは規則を維持するように構成されている。いくつかの事例において、更新されたポリシおよび/または規則が、ポリシに対する変更を考慮して自律車両の群の安全な動作を確認するために、シミュレータ740においてシミュレートされてもよい。自律車両サービスプラットフォーム701の上述されている要素のいくつかが、以下においてさらに記述される。   Remote operator manager 707 is configured to manage a number of remote operator computing devices 704 with which remote operator 708 provides input. Simulator 740 is configured to simulate the operation of one or more autonomous vehicles 730 and the interaction between remote operator manager 707 and autonomous vehicle 730. The simulator 740 can also simulate the operation of several sensors located in the autonomous vehicle 730 (including the introduction of simulated noise). Furthermore, a simulated autonomous vehicle can be introduced into the synthesis environment so that the simulated sensor can receive simulated sensor data such as simulated laser return. As such, a city-like environment can be simulated. The simulator 740 may also provide other functions including software updates and / or map data validation. Policy manager 742 is configured to maintain data representation policies or rules by which autonomous vehicles should behave in view of various conditions or events encountered by autonomous vehicles while traveling on the road network. ing. In some cases, updated policies and / or rules may be simulated in simulator 740 to confirm safe operation of a group of autonomous vehicles in view of changes to the policy. Some of the above-described elements of the autonomous vehicle service platform 701 are further described below.

通信チャネル770は、自律車両の群730および自律車両サービスプラットフォーム701の間にネットワーク接続されている通信リンクを提供するように構成されている。例えば、通信チャネル770は、自律車両サービスを確実に動作させるために一定レベルの冗長性を保証するために、対応するサブネットワーク(例えば、771a〜771n)を有する、いくつかの異なるタイプのネットワーク771、772、773、および774を含む。例えば、通信チャネル770内の異なるタイプのネットワークは、1つまたは複数のネットワーク771、772、773、および774の機能停止に起因する低減されたまたは喪失された通信の場合に、十分な帯域幅を保証するために、異なるセルラネットワークプロバイダ、異なるタイプのデータネットワークなどを含むことができる。   Communication channel 770 is configured to provide a networked communication link between group of autonomous vehicles 730 and autonomous vehicle service platform 701. For example, the communication channel 770 may have several different types of networks 771 with corresponding sub-networks (eg, 771a-771n) to ensure a certain level of redundancy to ensure autonomous vehicle service is operating. 772, 773, and 774. For example, different types of networks in communication channel 770 may provide sufficient bandwidth in the case of reduced or lost communication due to outages of one or more networks 771, 772, 773, and 774. To ensure, different cellular network providers, different types of data networks, etc. can be included.

図8は、いくつかの実施形態による、様々なアプリケーションの間でデータを交換するように構成されているメッセージングアプリケーションの例を示す図である。図800は、遠隔操作者マネージャ内に配置されている遠隔操作者アプリケーション801、および、自律車両内に配置されている自律車両アプリケーション830を示し、それによって、遠隔操作者アプリケーション801および自律車両アプリケーション830は、ネットワーク871、872、および他のネットワーク873のような様々なネットワークを介した通信を促進するプロトコルを介してメッセージデータを交換する。いくつかの例によれば、通信プロトコルは、Object Management Group consortiumによって維持される仕様を有するData Distribution Service(商標)として実施されるミドルウェアプロトコルである。この通信プロトコルによれば、遠隔操作者アプリケーション801および自律車両アプリケーション830は、メッセージドメイン内に配置されているメッセージルータ854を含むことができ、メッセージルータは、遠隔操作者API 852とインターフェースするように構成されている。いくつかの例において、メッセージルータ854は、ルーティングサービスである。いくつかの例において、遠隔操作者アプリケーション801内のメッセージドメイン850aが、遠隔操作者識別子によって識別され得、一方で、メッセージドメイン850bは、車両識別子と関連付けられるドメインとして識別され得る。遠隔操作者アプリケーション801内の遠隔操作者API 852は、遠隔操作者プロセス803a〜803cとインターフェースするように構成されており、それによって、遠隔操作者プロセス803bは、自律車両識別子804と関連付けられ、遠隔操作者プロセス803cは、イベント識別子806(例えば、衝突のない経路のプランニングにとって問題になり得る交差点を指定する識別子)と関連付けられる。自律車両アプリケーション830内の遠隔操作者API 852は、検知アプリケーション842、知覚アプリケーション844、位置特定アプリケーション846、および制御アプリケーション848を含む自律車両オペレーティングシステム840とインターフェースするように構成されている。上記を考慮して、上述されている通信プロトコルは、本明細書において記述されているような遠隔操作を促進するために、データ交換を促進することができる。さらに、上述されている通信プロトコルは、1つまたは複数の自律車両および1つまたは複数の自律車両サービスプラットフォームの間のセキュアなデータ交換を提供するように適合されることができる。例えば、メッセージルータ854は、例えば、遠隔操作者プロセス803と自律車両オペレーティングシステム840との間の安全確保された相互作用を提供するためのメッセージを暗号化および解読するように構成されることができる。   FIG. 8 is a diagram illustrating an example messaging application configured to exchange data between various applications, according to some embodiments. The diagram 800 shows a remote operator application 801 located within the remote operator manager and an autonomous vehicle application 830 located within the autonomous vehicle, whereby the remote operator application 801 and the autonomous vehicle application 830 are shown. Exchange message data via protocols that facilitate communication over various networks, such as networks 871, 872, and other networks 873. According to some examples, the communication protocol is a middleware protocol implemented as Data Distribution Service ™ with a specification maintained by the Object Management Group community. According to this communication protocol, remote operator application 801 and autonomous vehicle application 830 can include a message router 854 located in the message domain, such that the message router interfaces with remote operator API 852. It is configured. In some examples, the message router 854 is a routing service. In some examples, message domain 850a in remote operator application 801 may be identified by a remote operator identifier, while message domain 850b may be identified as a domain associated with a vehicle identifier. Remote operator API 852 in remote operator application 801 is configured to interface with remote operator processes 803a-803c, whereby remote operator process 803b is associated with autonomous vehicle identifier 804, and remote The operator process 803c is associated with an event identifier 806 (e.g., an identifier that specifies an intersection that may be a problem for planning a collision-free route). Remote operator API 852 within autonomous vehicle application 830 is configured to interface with autonomous vehicle operating system 840 including sensing application 842, sensory application 844, location application 846, and control application 848. In view of the above, the communication protocol described above can facilitate data exchange to facilitate remote operation as described herein. Further, the communication protocols described above can be adapted to provide a secure data exchange between one or more autonomous vehicles and one or more autonomous vehicle service platforms. For example, the message router 854 can be configured to encrypt and decrypt messages to provide a secure interaction between the remote operator process 803 and the autonomous vehicle operating system 840, for example. .

図9は、いくつかの例による、図8に記述されている通信プロトコルを使用した遠隔操作を促進するためのデータのタイプを示す図である。図900は、1つまたは複数のネットワーク971内に実施される、データ処理を中心とするメッセージングバス(data-centric messaging bus)972を介してデータを交換するように構成されている、遠隔操作者アプリケーション901に結合されている遠隔操作者コンピューティングデバイス904とインターフェースする遠隔操作者908を示す。データ処理を中心とするメッセージングバス972は、遠隔操作者アプリケーション901と自律車両アプリケーション930との間の通信リンクを提供する。遠隔操作者アプリケーション901の遠隔操作者API 962は、メッセージサービス構成データ964、および、道路網データ(例えば、RNDFのようなデータ)、ミッションデータ(例えば、MDFデータ)などのようなルートデータ960を受信するように構成されている。同様に、メッセージングサービスブリッジ932も、メッセージングサービス構成データ934を受信するように構成されている。メッセージングサービス構成データ934および964は、遠隔操作者アプリケーション901と自律車両アプリケーション930との間のメッセージングサービスを構成するための構成データを提供する。メッセージングサービス構成データ934および964の例は、Data Distribution Service(商標)アプリケーションを構成するために実施されるサービス品質(「QoS」)構成データを含む。   FIG. 9 is a diagram illustrating types of data for facilitating remote operation using the communication protocol described in FIG. 8, according to some examples. Diagram 900 illustrates a remote operator configured to exchange data via a data-centric messaging bus 972 implemented within one or more networks 971. A remote operator 908 is shown interfacing with a remote operator computing device 904 that is coupled to an application 901. A messaging bus 972 centered on data processing provides a communication link between the remote operator application 901 and the autonomous vehicle application 930. Remote operator API 962 of remote operator application 901 receives message service configuration data 964 and route data 960 such as road network data (eg, data such as RNDF), mission data (eg, MDF data), and the like. It is configured to receive. Similarly, the messaging service bridge 932 is configured to receive the messaging service configuration data 934. Messaging service configuration data 934 and 964 provides configuration data for configuring a messaging service between remote operator application 901 and autonomous vehicle application 930. Examples of messaging service configuration data 934 and 964 include quality of service (“QoS”) configuration data implemented to configure a Data Distribution Service ™ application.

通信プロトコルを介した遠隔操作を促進するためのデータ交換の例が以下のように記述される。自律車両コントローラの知覚システムによって、障害物データ920が生成されると考える。さらに、候補軌道のサブセットを遠隔操作者に通知するためのプランナ選択肢データ924がプランナによって生成され、位置データ926がローカライザによって生成される。障害物データ920、プランナ選択肢データ924、および位置データ926は、メッセージングサービスブリッジ932に送信され、メッセージングサービスブリッジ932は、メッセージングサービス構成データ934に従って、テレメトリデータ940およびクエリデータ942を生成し、これらは両方とも、テレメトリデータ950およびクエリデータ952として、データ処理を中心とするメッセージングバス972を介して遠隔操作者アプリケーション901へと送信される。遠隔操作者API 962は、テレメトリデータ950およびクエリデータ952を受信し、これらのデータは、ルートデータ960およびメッセージサービス構成データ964を考慮して処理される。結果もたらされるデータは、その後、遠隔操作者コンピューティングデバイス904および/または協働ディスプレイ(collaborative display)(例えば、協働する遠隔操作者908のグループに見えるダッシュボードディスプレイ)を介して遠隔操作者908に提示される。遠隔操作者908は、遠隔操作者コンピューティングデバイス904のディスプレイ上に提示される候補軌道選択肢を検討し、案内される軌道を選択し、これは、コマンドデータ982およびクエリ応答データ980を生成し、これらは両方とも、クエリ応答データ954およびコマンドデータ956として、遠隔操作者API 962を通過される。その後、クエリ応答データ954およびコマンドデータ956は、クエリ応答データ944およびコマンドデータ946として、データ処理を中心とするメッセージングバス972を介して自律車両アプリケーション930へと送信される。メッセージングサービスブリッジ932は、クエリ応答データ944およびコマンドデータ946を受信し、遠隔操作者コマンドデータ928を生成し、これは、遠隔操作者によって選択された軌道を、プランナによる実施のために生成するように構成されている。上述されているメッセージングプロセスは、限定であるようには意図されておらず、他のメッセージングプロトコルも実施されてもよいことに留意されたい。   An example of data exchange to facilitate remote operation via a communication protocol is described as follows. It is assumed that the obstacle data 920 is generated by the perception system of the autonomous vehicle controller. In addition, planner option data 924 for notifying the remote operator of a subset of candidate trajectories is generated by the planner, and position data 926 is generated by the localizer. Obstacle data 920, planner option data 924, and location data 926 are sent to messaging service bridge 932, which generates telemetry data 940 and query data 942 in accordance with messaging service configuration data 934, which are Both are sent as telemetry data 950 and query data 952 to the remote operator application 901 via a messaging bus 972 centered on data processing. Remote operator API 962 receives telemetry data 950 and query data 952, which are processed in view of route data 960 and message service configuration data 964. The resulting data is then transmitted to the remote operator 908 via the remote operator computing device 904 and / or a collaborative display (eg, a dashboard display that appears as a group of cooperating remote operators 908). Presented to. Remote operator 908 reviews candidate trajectory options presented on the display of remote operator computing device 904 and selects a trajectory to be guided, which generates command data 982 and query response data 980; Both of these are passed through the remote operator API 962 as query response data 954 and command data 956. Thereafter, the query response data 954 and command data 956 are transmitted as query response data 944 and command data 946 to the autonomous vehicle application 930 via the messaging bus 972 centered on data processing. Messaging service bridge 932 receives query response data 944 and command data 946 and generates remote operator command data 928, which generates a trajectory selected by the remote operator for implementation by the planner. It is configured. Note that the messaging process described above is not intended to be limiting and other messaging protocols may be implemented.

図10は、いくつかの実施形態による、遠隔操作者が経路プランニングに影響を与えることができる遠隔操作者インターフェースの例を示す図である。図1000は、遠隔操作を促進するように構成されている遠隔操作者マネージャ1007を含む、自律車両サービスプラットフォーム1001と通信する自律車両1030の例を示す。第1の例において、遠隔操作者マネージャ1007は、遠隔操作者1008が前もって課題に対処することが可能であり得るように、遠隔操作者1008に、可能性のある障害物に接近している自律車両の経路、または、プランナ信頼水準の低い領域を前もって見るように要求するデータを受信する。例示のために、自律車両が接近している交差点が、問題があるものとしてタグ付けされ得ると考える。そのため、ユーザインターフェース1010は、プランナによって生成されるいくつかの軌道によって予測されている、経路1012に沿って移動している対応する自律車両1030の表現1014を表示する。また、プランナにおいて十分な混乱を引き起こす可能性があり、それによって遠隔操作者の支持を必要とする、他の車両1011、および、歩行者のような動的オブジェクト1013も表示される。ユーザインターフェース1010はまた、遠隔操作者1008に、現在の速度1022、速度制限1024、および現在の電池内の充電量1026も提示する。いくつかの例によれば、ユーザインターフェース1010は、自律車両1030から取得されるものとしてのセンサデータのような他のデータを表示してもよい。第2の例において、プランナ1064が、検出されている未確認オブジェクト1046にもかかわらず、プランナによって生成された経路1044と同延であるいくつかの軌道が生成されていると考える。プランナ1064はまた、候補軌道1040のサブセットをも生成し得るが、この例では、プランナは、現在の信頼水準を所与として進行することは不可能である。プランナ1064が代替の経路を決定することができない場合、遠隔操作者要求が送信され得る。この事例において、遠隔操作者は、遠隔操作者に基づく経路1042と一致する自律車両1030による走行を促進するために、候補軌道1040のうちの1つを選択することができる。   FIG. 10 is a diagram illustrating an example of a remote operator interface that allows a remote operator to influence route planning according to some embodiments. Diagram 1000 illustrates an example of an autonomous vehicle 1030 that communicates with an autonomous vehicle service platform 1001 that includes a remote operator manager 1007 configured to facilitate remote operation. In the first example, the remote operator manager 1007 allows the remote operator 1008 to autonomously approach a potential obstacle so that the remote operator 1008 may be able to deal with the problem in advance. Data is received requesting that a vehicle route or an area with a low planner confidence level be viewed in advance. For illustration purposes, consider that an intersection that an autonomous vehicle is approaching may be tagged as problematic. As such, the user interface 1010 displays a representation 1014 of the corresponding autonomous vehicle 1030 that is moving along the route 1012, as predicted by several trajectories generated by the planner. Also displayed are other vehicles 1011 and dynamic objects 1013, such as pedestrians, that may cause sufficient confusion in the planner, thereby requiring remote operator support. User interface 1010 also presents remote operator 1008 with current speed 1022, speed limit 1024, and current battery charge 1026. According to some examples, user interface 1010 may display other data, such as sensor data as obtained from autonomous vehicle 1030. In the second example, the planner 1064 considers that several trajectories are generated that are coextensive with the path 1044 generated by the planner, despite the unidentified object 1046 being detected. Planner 1064 may also generate a subset of candidate trajectories 1040, but in this example, the planner is unable to proceed given the current confidence level. If the planner 1064 is unable to determine an alternative route, a remote operator request may be sent. In this case, the remote operator can select one of the candidate tracks 1040 to facilitate travel by the autonomous vehicle 1030 that coincides with the route 1042 based on the remote operator.

図11は、いくつかの例による、遠隔操作を呼び出すように構成されているプランナの例を示す図である。図1100は、地形マネージャ(topography manager)1110、ルートマネージャ1112、経路ジェネレータ(path generator)1114、軌道エバリュエータ1120、および軌道トラッカ(trajectory tracker)1128を含むプランナ1164を示す。地形マネージャ1110は、地形学的特徴を指定する3Dマップデータまたは他の同様のマップデータのようなマップデータを受信するように構成されている。地形マネージャ1110は、目的地までの経路上の地形学関連特徴に基づいて候補経路を識別するようにさらに構成されている。様々な例によれば、地形マネージャ1110は、群内の1つまたは複数の自律車両と関連付けられるセンサによって生成される3Dマップを受信する。ルートマネージャ1112は、目的地までの経路として選択され得る1つまたは複数のルートと関連付けられる交通関連情報を含むことができる、環境データ1103を受信するように構成されている。経路ジェネレータ1114は、地形マネージャ1110およびルートマネージャ1112からデータを受信し、自律車両を目的地に向けて誘導するのに適した1つまたは複数の経路または経路セグメントを生成する。1つまたは複数の経路または経路セグメントを表現するデータは、軌道エバリュエータ1120へと送信される。   FIG. 11 is a diagram illustrating an example of a planner configured to invoke a remote operation according to some examples. FIG. 1100 shows a planner 1164 that includes a topography manager 1110, a route manager 1112, a path generator 1114, a trajectory evaluator 1120, and a trajectory tracker 1128. The terrain manager 1110 is configured to receive map data such as 3D map data or other similar map data specifying topographic features. The terrain manager 1110 is further configured to identify candidate routes based on topographical features on the route to the destination. According to various examples, the terrain manager 1110 receives a 3D map generated by sensors associated with one or more autonomous vehicles in the group. The route manager 1112 is configured to receive environmental data 1103 that can include traffic related information associated with one or more routes that can be selected as a route to the destination. The route generator 1114 receives data from the terrain manager 1110 and the route manager 1112 and generates one or more routes or route segments suitable for guiding the autonomous vehicle toward the destination. Data representing one or more paths or path segments is transmitted to the trajectory evaluator 1120.

軌道エバリュエータ1120は、状態・イベントマネージャ(state and event manager)1122を含み、状態・イベントマネージャ1122は、信頼水準ジェネレータ(confidence level generator)1123を含むことができる。軌道エバリュエータ1120は、案内される軌道のジェネレータ(guided trajectory generator)1126および軌道ジェネレータ(trajectory generator)1124をさらに含む。さらに、プランナ1164は、ポリシデータ1130、知覚エンジンデータ1132、およびローカライザデータ1134を受信するように構成されている。   The trajectory evaluator 1120 includes a state and event manager 1122, and the state and event manager 1122 may include a confidence level generator 1123. The trajectory evaluator 1120 further includes a guided trajectory generator 1126 and a trajectory generator 1124. In addition, the planner 1164 is configured to receive policy data 1130, perceptual engine data 1132, and localizer data 1134.

ポリシデータ1130は、いくつかの例によれば、それをもって軌道を生成すべき十分な信頼水準を有する経路を決定するためにプランナ1164が使用する基準を含むことができる。ポリシデータ1130の例は、軌道生成が外部オブジェクトまでの離れた距離によって抑制されることを指定するポリシ(例えば、可能な限り、自転車利用者から3フィートの安全緩衝を維持すること)、または、軌道が中央の二重黄色線をまたいではならないことを要求するポリシ、または、(例えば、一般的にバス停に最も近い車線に集中することのような、過去のイベントに基づいて)4車線道路においては軌道が単一車線に限定されることを必要とするポリシ、および、ポリシによって指定される任意の他の同様の基準を含む。知覚エンジンデータ1132は、対象の静的オブジェクトおよび動的オブジェクトの位置のマップを含み、ローカライザデータ1134は、少なくとも局所的位置または位置を含む。   Policy data 1130 may include criteria that planner 1164 uses to determine a path with a sufficient confidence level with which to generate a trajectory, according to some examples. Examples of policy data 1130 are policies that specify that trajectory generation is constrained by a distance away to an external object (eg, maintain a 3 foot safety buffer from the bicycle user whenever possible), or Policies that require that the track must not cross the central double yellow line, or on a four-lane road (eg, based on past events, such as generally focusing on the lane closest to the bus stop) Includes policies that require the track to be limited to a single lane, and any other similar criteria specified by the policy. The perception engine data 1132 includes a map of target static and dynamic object locations, and the localizer data 1134 includes at least a local location or position.

状態・イベントマネージャ1122は、自律車両の動作状態を確率論的に(probabilistically)決定するように構成されることができる。例えば、第1の動作状態(すなわち、「規範的動作」)は、軌道が衝突のないものである状況を記述することができ、一方で、第2の動作状態(すなわち、「非規範的動作」)は、可能性のある軌道と関連付けられる信頼水準が、衝突のない走行を保証するには不十分である別の状況を記述することができる。いくつかの例によれば、状態・イベントマネージャ1122は、規範的または非規範的である自律車両の状態を決定するために、知覚データ1132を使用するように構成されている。信頼水準ジェネレータ1123は、自律車両の状態を決定するために、知覚データ1132を分析するように構成されることができる。例えば、信頼水準ジェネレータ1123は、プランナ1164が安全な方策を決定しているという確実度を強化するために、静的オブジェクトおよび動的オブジェクトと関連付けられる意味情報、および、関連付けられる確率推定(probabilistic estimation)を使用することができる。例えば、プランナ1164は、プランナ1164が安全に動作しているか否かを決定するために、オブジェクトが人間である、または、人間でない確率を指定する知覚エンジンデータ1132を使用することができる(例えば、プランナ1164は、オブジェクトが、98%の人間である確率、および、オブジェクトが人間でないという2%の確率を有する確実度を受信することができる)。   The state and event manager 1122 can be configured to probabilistically determine the operational state of the autonomous vehicle. For example, a first operating state (ie, “normative operation”) can describe a situation where the trajectory is collision free, while a second operating state (ie, “non-normative operation”). ") Can describe another situation where the confidence level associated with a potential trajectory is insufficient to guarantee a collision free run. According to some examples, the state and event manager 1122 is configured to use the perceptual data 1132 to determine the state of an autonomous vehicle that is normative or non-normative. The confidence level generator 1123 can be configured to analyze the sensory data 1132 to determine the state of the autonomous vehicle. For example, the confidence level generator 1123 may provide semantic information associated with static and dynamic objects and associated probability estimation to enhance the certainty that the planner 1164 has determined a safe strategy. ) Can be used. For example, the planner 1164 can use perceptual engine data 1132 specifying the probability that the object is human or non-human to determine whether the planner 1164 is operating safely (eg, Planner 1164 can receive a certainty that the object has a probability of 98% human and a 2% probability that the object is not human).

信頼水準(例えば、統計および確率論的決定に基づく)が、予測される安全動作に必要とされる閾値を下回るという決定を受けて、相対的に低い信頼水準(例えば、単一の確率スコア)が、自律車両サービスプラットフォーム1101に遠隔操作者の支持を求める要求1135を送信するようにプランナ1164をトリガすることができる。いくつかの事例において、テレメトリデータおよび候補軌道のセットが、この要求に付随してもよい。テレメトリデータの例は、センサデータ、位置特定データ、知覚データなどを含む。遠隔操作者1108は、選択された軌道1137を、遠隔操作者コンピューティングデバイス1104を介して、案内される軌道のジェネレータ1126に送信することができる。そのため、選択された軌道1137は、遠隔操作者からの案内によって形成される軌道である。状態に変化がないという確認を受けて(例えば、非規範的状態が未決)、案内される軌道のジェネレータ1126は、軌道ジェネレータ1124にデータを渡し、軌道ジェネレータ1124は、軌道トラッカ1128に、軌道追跡コントローラとして、制御信号1170(例えば、ステアリング角度、速度など)を生成するために、遠隔操作者によって指定される軌道を使用させる。プランナ1164は、状態が非規範的状態に移行する前に、遠隔操作者の支持を求める要求1135の送信をトリガすることができることに留意されたい。特に、自律車両コントローラおよび/またはその構成要素は、離れた障害物に問題があり得ることを予測し、前もって、プランナ1164に、自律車両が障害物に達する前に遠隔操作を呼び出させることができる。そうでない場合、自律車両は、障害物またはシナリオへの遭遇を受けて安全状態に移行すること(例えば、路肩に寄り、停車すること)によって、遅延を引き起こすことができる。別の例において、遠隔操作は、ナビゲートすることが困難であることが分かっている特定の位置に自律車両が接近する前に、自動的に呼び出されてもよい。そのような状況が、センサ読み値、および様々なソースから導出される交通または事故データの信頼性に対する外乱を引き起こす可能性がある場合、この決定は、任意選択的に、時刻、太陽の位置を含む他のファクタを考慮に入れてもよい。   A relatively low confidence level (eg, a single probability score) in response to a decision that the confidence level (eg, based on statistical and probabilistic decisions) is below the threshold required for expected safe behavior May trigger the planner 1164 to send a request 1135 to the autonomous vehicle service platform 1101 for remote operator support. In some cases, a set of telemetry data and candidate trajectories may accompany this request. Examples of telemetry data include sensor data, location data, sensory data, and the like. The remote operator 1108 can transmit the selected trajectory 1137 to the guided trajectory generator 1126 via the remote operator computing device 1104. Therefore, the selected track 1137 is a track formed by guidance from a remote operator. Upon confirmation that the state has not changed (eg, non-normative state is pending), the guided trajectory generator 1126 passes the data to the trajectory generator 1124, which in turn tracks the trajectory tracker 1128. As a controller, the trajectory specified by the remote operator is used to generate control signals 1170 (eg, steering angle, speed, etc.). Note that the planner 1164 can trigger the transmission of a request 1135 for remote operator support before the state transitions to a non-normative state. In particular, the autonomous vehicle controller and / or its components can anticipate that there may be a problem with a remote obstacle and in advance the planner 1164 can invoke remote control before the autonomous vehicle reaches the obstacle. . Otherwise, the autonomous vehicle can cause a delay by transitioning to a safe state upon encountering an obstacle or scenario (eg, leaning on the shoulder and stopping). In another example, the remote operation may be automatically invoked before the autonomous vehicle approaches a particular location that is known to be difficult to navigate. If such a situation can cause disturbances to the sensor readings and the reliability of traffic or accident data derived from various sources, this decision can optionally include time, sun position. Other factors may be taken into account.

図12は、いくつかの実施形態による、自律車両を制御するように構成されているフロー図の例である。1202において、フロー1200が開始する。自律車両内のプランナにおいて受信されるオブジェクトのサブセットを表現するデータ、オブジェクトのサブセットは、分類タイプの確実度を表現するデータと関連付けられる少なくとも1つのオブジェクトを含む。例えば、知覚エンジンデータは、オブジェクトと関連付けられるメタデータを含むことができ、それによって、メタデータは、特定の分類タイプと関連付けられる確実度を指定する。例えば、動的オブジェクトは、正確であるという85%の信頼水準をもって「若い歩行者」として分類され得る。1204において、ローカライザデータが(例えば、プランナにおいて)受信され得る。ローカライザデータは、自律車両内で局所的に生成されるマップデータを含むことができる。局所的マップデータは、一定の地理的領域においてイベントが発生し得る確実度(不確実度を含む)を指定することができる。イベントは、自律車両の動作に影響を与えるか、または、動作に影響を与える可能性がある条件または状況であり得る。イベントは、自律車両の内部(例えば、機能不全にされたまたは機能が損なわれたセンサ)または外部(例えば、道路の閉塞)であってもよい。イベントの例は、図2ならびに他の図面および節など、本明細書において記述されている。対象の地理的領域と同延の経路が、1206において決定され得る。例えば、イベントが、ラッシュアワーの交通状態の間に太陽光が運転者の視覚の機能を損なう時刻における、空における太陽の位置付けであると考える。そのため、交通は、明るい太陽光に応答して減速し得ると予想または予測される。したがって、プランナは、イベントを回避するための代替の経路の可能性が低い場合、前もって遠隔操作を呼び出すことができる。1208において、プランナにおいて、局所的位置データに基づいて局所的位置が決定される。1210において、例えば、分類タイプの確実度、および、速度、位置、および他の状態情報のような任意の数のファクタに基づき得るイベントの確実度に基づいて、自律車両の動作状態が(例えば、確率論的に)決定され得る。例示のために、他の運転者の視覚が太陽によって機能を損なわれる可能性があり、それによって、若い歩行者にとって安全でない状況が引き起こされるイベントの間に、自律車両によって若い歩行者が検出される例を考える。それゆえ、相対的に安全でない状況が、発生する可能性があり得る確率論的なイベント(すなわち、遠隔操作者が呼び出される可能性がある安全でない状況)として検出され得る。1212において、動作状態が規範的状態である可能性が決定され、この決定に基づいて、次の動作状態への移行に前もって備える(例えば、規範的動作状態から、安全でない動作状態のような非規範的動作状態への移行に前もって備える)ように、遠隔操作者に要求するメッセージが、遠隔操作者コンピューティングデバイスに送信される。   FIG. 12 is an example of a flow diagram configured to control an autonomous vehicle according to some embodiments. At 1202, flow 1200 begins. Data representing a subset of objects received at a planner in an autonomous vehicle, the subset of objects includes at least one object associated with data representing a certainty of a classification type. For example, perceptual engine data can include metadata associated with an object, whereby the metadata specifies the certainty associated with a particular classification type. For example, a dynamic object may be classified as a “young pedestrian” with an 85% confidence level of being accurate. At 1204, localizer data can be received (eg, at a planner). The localizer data can include map data generated locally within the autonomous vehicle. The local map data can specify the certainty (including uncertainty) that an event can occur in a certain geographic region. An event can be a condition or situation that affects or can affect the operation of an autonomous vehicle. The event may be inside the autonomous vehicle (eg, a sensor that has failed or lost function) or outside (eg, a road blockage). Examples of events are described herein, such as FIG. 2 and other drawings and sections. A route that is coextensive with the geographic region of interest may be determined at 1206. For example, consider an event is the positioning of the sun in the sky at the time when sunlight impairs the driver's visual function during rush hour traffic conditions. As such, traffic is expected or predicted to be able to slow down in response to bright sunlight. Thus, the planner can call a remote operation in advance if the alternative route to avoid the event is unlikely. At 1208, a local position is determined in the planner based on the local position data. At 1210, the operational state of the autonomous vehicle (e.g., based on the certainty of the classification type and the certainty of the event, which can be based on any number of factors such as speed, location, and other state information (e.g., Probabilistically). For illustration, young drivers may be detected by autonomous vehicles during events where other driver's vision may be impaired by the sun, thereby causing a situation unsafe for young pedestrians. Consider an example. Therefore, a relatively unsafe situation can be detected as a probabilistic event (ie, an unsafe situation where a remote operator can be called) that may occur. At 1212, it is determined that the operational state is likely to be a normative state, and based on this determination, prepare in advance for transition to the next operational state (eg, from a normative operational state to a non-safe operational state, etc. A message requesting the remote operator is sent to the remote operator computing device to prepare for the transition to the normative operating state.

図13は、いくつかの例による、プランナが軌道を生成することができる例を示す図である。図1300は、軌道エバリュエータ1320および軌道ジェネレータ1324を含む。軌道エバリュエータ1320は、信頼水準ジェネレータ1322および遠隔操作者クエリマネージャ1329を含む。示されているように、軌道エバリュエータ1320は、静的マップデータ1301、ならびに現在のおよび予測されるオブジェクト状態のデータ1303を受信するために、知覚エンジン1366に結合されている。軌道エバリュエータ1320はまた、ローカライザ1368からの局所的位置データ1305およびグローバルプランナ(global planner)1369からのプランデータ1307をも受信する。1つの動作状態(例えば、非規範的)において、信頼水準ジェネレータ1322は、静的マップデータ1301、ならびに現在のおよび予測されるオブジェクト状態のデータ1303を受信する。このデータに基づいて、信頼水準ジェネレータ1322は、検出された軌道が、許容不可能な信頼水準値と関連付けられることを決定することができる。そのため、信頼水準ジェネレータ1322は、遠隔操作者クエリマネージャ1329を介して遠隔操作者に通知するために、検出された軌道データ1309(例えば、候補軌道を含むデータ)を送信し、遠隔操作者クエリマネージャ1329は、遠隔操作者の支援を求める要求1370を送信する。   FIG. 13 is a diagram illustrating an example in which a planner can generate a trajectory according to some examples. Diagram 1300 includes a track evaluator 1320 and a track generator 1324. The orbit evaluator 1320 includes a confidence level generator 1322 and a remote operator query manager 1329. As shown, trajectory evaluator 1320 is coupled to perceptual engine 1366 to receive static map data 1301 and current and predicted object state data 1303. Orbit evaluator 1320 also receives local location data 1305 from localizer 1368 and plan data 1307 from global planner 1369. In one operational state (eg, non-normative), confidence level generator 1322 receives static map data 1301 as well as current and predicted object state data 1303. Based on this data, the confidence level generator 1322 can determine that the detected trajectory is associated with an unacceptable confidence level value. Therefore, the confidence level generator 1322 transmits detected trajectory data 1309 (eg, data including candidate trajectories) to notify the remote operator via the remote operator query manager 1329, and the remote operator query manager 1329 sends a request 1370 for remote operator assistance.

別の動作状態(例えば、規範的状態)において、静的マップデータ1301、現在のおよび予測されるオブジェクト状態のデータ1303、局所的位置データ1305、およびプランデータ1307(例えば、グローバルプランデータ)が軌道カリキュレータ(trajectory calculator)1325へと受信され、軌道カリキュレータ1325は、最適な1つまたは複数の経路を決定するために、軌道を(例えば、反復的に)計算するように構成されている。次に、少なくとも1つの経路が選択され、選択された経路のデータ1311として送信される。いくつかの実施形態によれば、軌道カリキュレータ1325は、例として軌道の再プランニングを実施するように構成されている。公称運転軌道ジェネレータ(nominal driving trajectory generator)1327が、receding horizon制御技法に基づいて軌道を生成することによってのような、洗練された手法において軌道を生成するように構成されている。公称運転軌道ジェネレータ1327はその後、公称運転軌道経路データ1372を、例えば、ステアリング、加速の物理的変更を実施するための軌道トラッカまたは車両コントローラ、および他の構成要素に送信することができる。   In another operational state (eg, normative state), static map data 1301, current and predicted object state data 1303, local location data 1305, and plan data 1307 (eg, global plan data) are trajectories. Received into a trajectory calculator 1325, the trajectory calculator 1325 is configured to calculate a trajectory (eg, iteratively) to determine the optimal path or paths. Next, at least one route is selected and transmitted as data 1311 of the selected route. According to some embodiments, the trajectory calculator 1325 is configured to perform trajectory replanning as an example. A nominal driving trajectory generator 1327 is configured to generate a trajectory in a sophisticated manner, such as by generating a trajectory based on a receiving horizon control technique. Nominal driving trajectory generator 1327 may then send nominal driving trajectory path data 1372 to, for example, a steering, track tracker or vehicle controller for performing physical changes in acceleration, and other components.

図14は、いくつかの実施形態による、自律車両サービスプラットフォームの別の例を示す図である。図1400は、遠隔操作者1408の間の相互作用および/または通信を管理するように構成されている遠隔操作者マネージャ1407、遠隔操作者コンピューティングデバイス1404、ならびに自律車両サービスプラットフォーム1401の他の構成要素を含む自律車両サービスプラットフォーム1401を示す。さらに図1400について、自律車両サービスプラットフォーム1401は、シミュレータ1440、リポジトリ1441、ポリシマネージャ1442、基準データアップデータ(reference data updater)1438、2Dマップデータリポジトリ1420、3Dマップデータリポジトリ1422、およびルートデータリポジトリ1424を含む。4Dマップデータ(例えば、エポック決定を使用する)のような他のマップデータが実施され、リポジトリ(図示せず)に格納されてもよい。   FIG. 14 is a diagram illustrating another example of an autonomous vehicle service platform, according to some embodiments. FIG. 1400 illustrates another configuration of a remote operator manager 1407, a remote operator computing device 1404, and an autonomous vehicle service platform 1401 that is configured to manage interactions and / or communications between remote operators 1408. An autonomous vehicle service platform 1401 including elements is shown. Still referring to FIG. 1400, the autonomous vehicle service platform 1401 includes a simulator 1440, a repository 1441, a policy manager 1442, a reference data updater 1438, a 2D map data repository 1420, a 3D map data repository 1422, and a route data repository 1424. Including. Other map data, such as 4D map data (eg, using epoch decisions) may be implemented and stored in a repository (not shown).

遠隔操作者アクション推奨コントローラ(teleoperator action recommendation controller)1412は、遠隔操作者の支援を求める要求ならびにテレメトリデータおよび他のデータを含むことができる自律車両(「AV」)プランナデータ1472を介して遠隔操作サービス要求を受信および/または制御するように構成されている論理を含む。そのため、プランナデータ1472は、遠隔操作者1408が遠隔操作者コンピューティングデバイス1404を介してそこから選択することができる、推奨される候補軌道または経路を含むことができる。いくつかの例によれば、遠隔操作者アクション推奨コントローラ1412は、そこから最適な軌道を選択すべきである、推奨される候補軌道の他のソースにアクセスするように構成されることができる。例えば、自律車両プランナデータ1472内に含まれる候補軌道は、並列に、シミュレータ1440へと導入されてもよく、シミュレータ1440は、遠隔操作者の支援を要求している自律車両によって経験されているイベントまたは条件をシミュレートするように構成されている。シミュレータ1440は、マップデータ、および、候補軌道のセットに関するシミュレーションを実施するために必要な他のデータにアクセスすることができ、それによって、シミュレータ1440は、十分性を確認するためにシミュレーションを徹底的に繰り返す必要がない。むしろ、シミュレータ1440は、候補軌道の妥当性を確認し得、または、そうでなければ遠隔操作者に、それらの選択に注意するよう警告することができる。   A teleoperator action recommendation controller 1412 is remotely operated via autonomous vehicle (“AV”) planner data 1472 that can include requests for remote operator assistance as well as telemetry data and other data. Includes logic configured to receive and / or control service requests. As such, the planner data 1472 can include recommended candidate trajectories or paths from which the remote operator 1408 can select via the remote operator computing device 1404. According to some examples, the remote operator action recommendation controller 1412 can be configured to access other sources of recommended candidate trajectories from which the optimal trajectory should be selected. For example, candidate trajectories included in autonomous vehicle planner data 1472 may be introduced into simulator 1440 in parallel, where simulator 1440 is an event experienced by an autonomous vehicle requesting remote operator assistance. Or configured to simulate conditions. The simulator 1440 can access the map data and other data needed to perform a simulation on the set of candidate trajectories so that the simulator 1440 can thoroughly perform the simulation to confirm sufficiency. There is no need to repeat. Rather, the simulator 1440 may confirm the validity of the candidate trajectories or otherwise alert the remote operator to be aware of their selection.

遠隔操作者相互作用キャプチャアナライザ(teleoperator interaction capture analyzer)1416は、大量の遠隔操作者トランザクションまたは相互作用を、リポジトリ1441内に格納するためにキャプチャするように構成されることができ、リポジトリ1441は、例えば、少なくともいくつかの事例において、いくつかの遠隔操作者トランザクションに関係するデータを、ポリシの分析および生成のために累積することができる。いくつかの実施形態によれば、リポジトリ1441はまた、ポリシマネージャ1442によるアクセスのためにポリシデータを格納するように構成されることもできる。さらに、遠隔操作者相互作用キャプチャアナライザ1416は、遠隔操作者の支援を求める要求を引き起こすイベントまたは条件にいかに最良に応答すべきかを経験的に決定するために、機械学習技法を適用することができる。いくつかの事例において、ポリシマネージャ1442は、(例えば、機械学習技法の適用後に)遠隔操作者相互作用の大きなセットの分析に応答して、特定のポリシを更新し、または、新たなポリシを生成するように構成されることができる。ポリシマネージャ1442は、自律車両コントローラおよびその構成要素が、車両の自律動作に準拠するためにそれに基づいて動作する規則またはガイドラインとして見られ得るポリシを管理する。いくつかの事例において、修正または更新されたポリシが、そのようなポリシ変更を永続的にリリースまたは実施することの有効性を確認するために、シミュレータ1440に適用されてもよい。   A teleoperator interaction capture analyzer 1416 can be configured to capture a large number of remote operator transactions or interactions for storage in the repository 1441, the repository 1441 For example, in at least some instances, data related to several remote operator transactions can be accumulated for policy analysis and generation. According to some embodiments, repository 1441 may also be configured to store policy data for access by policy manager 1442. Further, remote operator interaction capture analyzer 1416 can apply machine learning techniques to empirically determine how best to respond to an event or condition that causes a request for remote operator assistance. . In some cases, policy manager 1442 may update a specific policy or generate a new policy in response to an analysis of a large set of remote operator interactions (eg, after applying machine learning techniques). Can be configured to. Policy manager 1442 manages policies that can be seen as rules or guidelines that the autonomous vehicle controller and its components operate on to comply with the autonomous behavior of the vehicle. In some cases, a modified or updated policy may be applied to the simulator 1440 to confirm the effectiveness of permanently releasing or implementing such policy changes.

シミュレータインターフェースコントローラ1414は、シミュレータ1440と遠隔操作者コンピューティングデバイス1404との間のインターフェースを提供するように構成されている。例えば、自律車両の群からのセンサデータが、自律(「AV」)群データ1470を介して基準データアップデータ1438に適用され、それによって、基準データアップデータ1438が更新されたマップおよびルートデータ1439を生成するように構成されると考える。いくつかの実施態様において、更新されたマップおよびルートデータ1439は、事前に、マップデータリポジトリ1420および1422内のデータに対する更新として、または、ルートデータリポジトリ1424内のデータに対する更新としてリリースされることができる。この事例において、そのようなデータは、例えば、事前に更新されている情報を含むマップタイルが自律車両によって使用されるときに、遠隔操作者サービスを要求するためのより低い閾値が実施され得る「ベータバージョン」であるものとしてタグ付けされ得る。さらに、更新されたマップおよびルートデータ1439は、更新されたマップデータを検証するためにシミュレータ1440に導入され得る。(例えば、ベータ試験の終了時の)全リリースを受けて、遠隔操作者サービスを要求するための以前に下げられていた閾値はキャンセルされる。ユーザインターフェースグラフィックスコントローラ1410は、豊富なグラフィックスを遠隔操作者1408に提供し、それによって、自律車両の群が、シミュレータ1440内でシミュレートされることができ、シミュレートされている自律車両の群があたかも現実であるかのように、遠隔操作者コンピューティングデバイス1404を介してアクセスされることができる。   Simulator interface controller 1414 is configured to provide an interface between simulator 1440 and remote operator computing device 1404. For example, sensor data from a group of autonomous vehicles is applied to reference data updater 1438 via autonomous (“AV”) group data 1470, thereby generating updated map and route data 1439 for the reference data updater 1438. Think of it as structured. In some implementations, the updated map and route data 1439 may be released in advance as updates to the data in the map data repositories 1420 and 1422 or as updates to the data in the route data repository 1424. it can. In this case, such data may be implemented with a lower threshold for requesting remote operator service when, for example, a map tile containing pre-updated information is used by an autonomous vehicle. May be tagged as being "beta version". Further, the updated map and route data 1439 can be introduced into the simulator 1440 to verify the updated map data. Upon receiving a full release (eg, at the end of the beta test), the previously lowered threshold for requesting remote operator service is canceled. The user interface graphics controller 1410 provides rich graphics to the remote operator 1408 so that a group of autonomous vehicles can be simulated in the simulator 1440 and the simulated autonomous vehicle is being simulated. The group can be accessed via remote operator computing device 1404 as if it were real.

図15は、いくつかの実施形態による、自律車両を制御するためのフロー図の例である。1502において、フロー1500が開始する。自律車両の群を管理するためのメッセージデータが、遠隔操作者コンピューティングデバイスにおいて受信され得る。メッセージデータは、自律車両のプランニングされている経路の文脈において非規範的動作状態と関連付けられるイベント属性を指示することができる。例えば、イベントは、例えば信号機に違反して急いで通りを渡っている多数の歩行者に起因して問題になる特定の交差点として特性化(characterize)され得る。イベント属性は、例えば、通りを渡っている人間の数、増大した数の歩行者からもたらされる交通遅延などのようなイベントの特性(characteristic)を記述する。1504において、遠隔操作リポジトリは、自律車両のグループと関連付けられる、集約されているデータのシミュレートされている動作に基づいて、推奨の第1のサブセットを取り出すためにアクセスされることができる。この事例において、シミュレータは、それをもって遠隔操作者が実施することができる推奨のソースであり得る。さらに、遠隔操作リポジトリはまた、同様のイベント属性に応答した遠隔操作者相互作用の集約に基づいて、推奨の第2のサブセットを取り出すためにアクセスされることもできる。特に、遠隔操作者相互作用キャプチャアナライザは、遠隔操作者の支援を求める以前の要求に基づいて同様の属性を有するイベントにいかに最良に応答すべきかを経験的に決定するために、機械学習技法を適用することができる。1506において、推奨の第1のサブセットおよび第2のサブセットが、自律車両に対する推奨される方策のセットを形成するために、組み合わされる。1508において、推奨される方策のセットの表現が、遠隔操作者コンピューティングデバイスのディスプレイ上に、視覚的に提示されることができる。1510において、推奨される方策の選択(例えば、遠隔操作者による)を表現するデータ信号が検出されることができる。   FIG. 15 is an example flow diagram for controlling an autonomous vehicle in accordance with some embodiments. At 1502, flow 1500 begins. Message data for managing a group of autonomous vehicles may be received at a remote operator computing device. The message data can indicate an event attribute associated with a non-normative operating state in the context of the planned route of the autonomous vehicle. For example, an event can be characterized as a specific intersection that becomes a problem, for example due to a large number of pedestrians rushing across the street in violation of traffic lights. The event attributes describe the characteristics of the event, such as the number of people crossing the street, traffic delays resulting from an increased number of pedestrians, and the like. At 1504, the teleoperation repository can be accessed to retrieve a recommended first subset based on the simulated behavior of the aggregated data associated with the group of autonomous vehicles. In this case, the simulator can be a recommended source with which the remote operator can implement. In addition, the remote repository can also be accessed to retrieve a recommended second subset based on an aggregation of remote operator interactions in response to similar event attributes. In particular, the remote operator interaction capture analyzer uses machine learning techniques to empirically determine how to best respond to events with similar attributes based on previous requests for remote operator assistance. Can be applied. At 1506, the recommended first and second subsets are combined to form a set of recommended strategies for the autonomous vehicle. At 1508, a representation of the set of recommended strategies can be presented visually on the display of the remote operator computing device. At 1510, a data signal representing a selection of recommended strategies (eg, by a remote operator) can be detected.

図16は、いくつかの例による、群最適化マネージャを実施する自律車両群マネージャの例の図である。図1600は、道路網1650内を移動する自律車両の群1630を管理するように構成されている自律車両群マネージャを示す。自律車両群マネージャ1603は、遠隔操作者コンピューティングデバイス1604を介して遠隔操作者1608に結合されており、また、群管理データリポジトリ1646にも結合されている。自律車両群マネージャ1603は、ポリシデータ1602および環境データ1606、ならびに他のデータを受信するように構成されている。さらに図1600について、群最適化マネージャ1620は、移動要求プロセッサ1631を含むように示されており、移動要求プロセッサ1631は、群データエクストラクタ(fleet data extractor)1632および自律車両派遣最適化カリキュレータ(autonomous vehicle dispatch optimization calculator)1634を含む。移動要求プロセッサ1631は、自律車両サービスを要求しているユーザ1688からのもののような、移動要求を処理するように構成されている。群データエクストラクタ1632は、群内の自律車両に関係するデータを抽出するように構成されている。各自律車両と関連付けられるデータはリポジトリ1646内に格納されている。例えば、各車両に関するデータは、保守管理課題、スケジュールされているサービス依頼、日常の使用状況、電池充電および放電率、および任意の他のデータを記述することができ、これらは、リアルタイムに更新されることができ、休止時間を最小化するために自律車両の群を最適化する目的のために使用されることができる。自律車両派遣最適化カリキュレータ1634は、抽出されたデータを分析し、ステーション1652などからの派遣される次の車両が、自律車両サービスについて、集合の中で最小の走行時間および/または費用を提供することを保証するように、群の最適化された使用状況を計算するように構成されている。   FIG. 16 is a diagram of an example autonomous vehicle group manager implementing a group optimization manager, according to some examples. Diagram 1600 shows an autonomous vehicle group manager configured to manage a group of autonomous vehicles 1630 moving within road network 1650. Autonomous vehicle group manager 1603 is coupled to remote operator 1608 via remote operator computing device 1604 and is also coupled to group management data repository 1646. The autonomous vehicle group manager 1603 is configured to receive policy data 1602 and environmental data 1606 as well as other data. Still referring to FIG. 1600, the group optimization manager 1620 is shown to include a move request processor 1631 that includes a group data extractor 1632 and an autonomous vehicle dispatch optimization calculator. vehicle dispatch optimization calculator) 1634. The movement request processor 1631 is configured to process movement requests, such as those from a user 1688 requesting autonomous vehicle service. The group data extractor 1632 is configured to extract data related to autonomous vehicles in the group. Data associated with each autonomous vehicle is stored in repository 1646. For example, data about each vehicle can describe maintenance issues, scheduled service requests, daily usage, battery charge and discharge rates, and any other data, which are updated in real time. And can be used for the purpose of optimizing a group of autonomous vehicles to minimize downtime. The autonomous vehicle dispatch optimization calculator 1634 analyzes the extracted data and the next vehicle dispatched, such as from station 1652, provides the minimum travel time and / or cost in the set for autonomous vehicle service. It is configured to calculate the optimized usage of the group to ensure that.

群最適化マネージャ1620は、混合自律車両/非自律車両プロセッサ(hybrid autonomous vehicle/non-autonomous vehicle processor)1640を含むように示されており、混合自律車両/非自律車両プロセッサ1640は、AV/非AV最適化カリキュレータ1642および非AVセレクタ1644を含む。いくつかの例によれば、混合自律車両/非自律車両プロセッサ1640は、自律車両および人間によって運転される車両(例えば、独立請負人としての)からなる混合群を管理するように構成されている。そのため、自律車両サービスは、過剰な需要を満たすために、または、地理上のフェンスを越える場合がある非AVサービス領域1690のような領域、または、不満足な通信カバレージの領域において非自律車両を利用することができる。AV/非AV最適化カリキュレータ1642は、自律車両群の使用状況を最適化し、非AV運転者を輸送サービスに(例えば、自律車両サービスに対する損害を最小限にして、または、損害がまったくないように)招聘するように構成されている。非AVセレクタ1644は、AV/非AV最適化カリキュレータ1642によって導出される計算に基づいて、支援するための非AV運転者の数を選択するための論理を含む。   The swarm optimization manager 1620 is shown to include a hybrid autonomous vehicle / non-autonomous vehicle processor 1640, which is an AV / non-autonomous vehicle processor 1640. An AV optimization calculator 1642 and a non-AV selector 1644 are included. According to some examples, the mixed autonomous vehicle / non-autonomous vehicle processor 1640 is configured to manage a mixed group of autonomous vehicles and vehicles driven by humans (eg, as independent contractors). . As such, autonomous vehicle services use non-autonomous vehicles in areas such as non-AV service areas 1690 that may exceed excessive demands, or over geographic fences, or areas of unsatisfactory communication coverage. can do. The AV / non-AV optimization calculator 1642 optimizes the usage of the autonomous vehicle group to bring the non-AV driver into a transport service (eg, to minimize damage to the autonomous vehicle service, or no damage at all). ) It is configured to invite. The non-AV selector 1644 includes logic for selecting the number of non-AV drivers to assist based on the calculations derived by the AV / non-AV optimization calculator 1642.

図17は、いくつかの実施形態による、自律車両の群を管理するためのフロー図の例である。1702において、フロー1700が開始する。1702において、ポリシデータが受信される。ポリシデータは、移動要求にサービスするために自律車両を選択するためにいかに最良に適用するかを規定するパラメータを含むことができる。1704において、リポジトリからの群管理データが抽出され得る。群管理データは、自律車両のプールに関するデータのサブセットを含む(例えば、データは、輸送要求にサービスするために車両の準備ができているかを記述する)。1706において、移動要求を表現するデータが受信される。例示的な目的のために、移動要求は、第1の地理的位置から第2の地理的位置への輸送手段に対するものであり得る。1708において、ポリシデータに基づく属性が、要求にサービスするために利用可能である自律車両のサブセットを決定するために計算される。例えば、属性は、電池充電レベル、および、次にスケジュールされている保守管理までの時間を含んでもよい。1710において、自律車両が、第1の地理的位置から第2の地理的位置への輸送手段として選択され、自律車両を、移動要求の起点(origination)と関連付けられる第3の地理的位置に派遣するためのデータが生成される。   FIG. 17 is an example of a flow diagram for managing a group of autonomous vehicles according to some embodiments. At 1702, flow 1700 begins. At 1702, policy data is received. The policy data can include parameters that define how best to apply to select an autonomous vehicle to service a travel request. At 1704, group management data from the repository may be extracted. The group management data includes a subset of data about the pool of autonomous vehicles (eg, the data describes whether the vehicle is ready to service a transportation request). At 1706, data representing a move request is received. For exemplary purposes, the travel request may be for a vehicle from a first geographic location to a second geographic location. At 1708, attributes based on the policy data are calculated to determine a subset of autonomous vehicles that are available to service the request. For example, the attributes may include the battery charge level and the time until the next scheduled maintenance. At 1710, an autonomous vehicle is selected as a vehicle from a first geographic location to a second geographic location, and the autonomous vehicle is dispatched to a third geographic location associated with the origin of the movement request. To generate data.

図18は、いくつかの実施形態による、自律車両通信リンクマネージャを実施する自律車両群マネージャを示す図である。図1800は、「低減された通信の領域」1880として識別される通信機能停止と一致する道路網1850内を移動する自律車両の群1830を管理するように構成されている自律車両群マネージャを示す。自律車両群マネージャ1803は、遠隔操作者コンピューティングデバイス1804を介して遠隔操作者1808に結合されている。自律車両群マネージャ1803は、ポリシデータ1802および環境データ1806、ならびに他のデータを受信するように構成されている。さらに図1800について、自律車両通信リンクマネージャ1820が、環境イベントディテクタ(environment event detector)1831、ポリシ適合デタミネータ(policy adaption determinator)1832、および移動要求プロセッサ(transit request processor)1834を含むように示されている。環境イベントディテクタ1831は、自律車両サービスが実施されている環境内の変化を指定する環境データ1806を受信するように構成されている。例えば、環境データ1806は、領域1880が劣化した通信サービスを有し、これによって自律車両サービスに影響を与える可能性があることを指定することができる。ポリシ適合デタミネータ1832は、そのようなイベントの間に(例えば、通信の喪失の間に)移動要求を受信するときに適用すべきパラメータを指定することができる。移動要求プロセッサ1834は、劣化した通信を考慮して移動要求を処理するように構成されている。この例において、ユーザ1888が、自律車両サービスを要求している。さらに、移動要求プロセッサ1834は、不満足な通信に起因する複雑化を回避するように自律車両が派遣される方法を修正するための、適合されたポリシを適用するための論理を含む。   FIG. 18 is a diagram illustrating an autonomous vehicle group manager implementing an autonomous vehicle communication link manager, according to some embodiments. Diagram 1800 illustrates an autonomous vehicle group manager configured to manage a group of autonomous vehicles 1830 traveling in a road network 1850 that is consistent with a communication outage identified as “reduced communication area” 1880. . Autonomous vehicle group manager 1803 is coupled to remote operator 1808 via remote operator computing device 1804. The autonomous vehicle group manager 1803 is configured to receive policy data 1802, environmental data 1806, and other data. Still referring to diagram 1800, an autonomous vehicle communication link manager 1820 is shown to include an environment event detector 1831, a policy adaptation determinator 1832, and a transit request processor 1834. Yes. The environmental event detector 1831 is configured to receive environmental data 1806 that specifies a change in the environment in which the autonomous vehicle service is being implemented. For example, the environmental data 1806 may specify that the area 1880 has a degraded communication service, which may affect the autonomous vehicle service. Policy adaptation determinator 1832 may specify parameters to apply when receiving a move request during such an event (eg, during loss of communication). The movement request processor 1834 is configured to process movement requests taking into account degraded communications. In this example, user 1888 is requesting an autonomous vehicle service. In addition, the move request processor 1834 includes logic for applying adapted policies to modify the way autonomous vehicles are dispatched to avoid complications due to unsatisfactory communications.

通信イベントディテクタ(communication event detector)1840が、ポリシダウンロードマネージャ1842と、通信設定された(「COMM設定された」)AVディスパッチャ(communications-configured ("COMM-configured") AV dispatcher)1844とを含む。ポリシダウンロードマネージャ1842は、低減された通信の領域1880を考慮して自律車両1830に更新されたポリシを提供するように構成されており、それによって、更新されたポリシは、自律車両が領域1880に入る場合に、その領域を迅速に出るためのルートを指定することができる。例えば、自律車両1864は、領域1880に入る前の時点で、更新されたポリシを受信することができる。通信の喪失を受けて、自律車両1864は、更新されたポリシを実施し、領域1880から迅速に出るためのルート1866を選択する。COMM設定されたAVディスパッチャ1844は、領域1880にわたるピアツーピアネットワークの確立に対する中継装置として構成される、自律車両を駐めるためのポイント1865を識別するように構成されることができる。そのため、COMM設定されたAVディスパッチャ1844は、ピアツーピアアドホックネットワークにおける電波塔として動作する目的のために、位置1865に駐めるために自律車両1862(搭乗者なし)を派遣するように構成されている。   A communication event detector 1840 includes a policy download manager 1842 and a communications-configured (“COMM-configured”) AV dispatcher 1844. The policy download manager 1842 is configured to provide an updated policy to the autonomous vehicle 1830 in view of the reduced communications area 1880 so that the autonomous vehicle is in the area 1880. When entering, you can specify a route to exit the area quickly. For example, the autonomous vehicle 1864 can receive the updated policy at a time prior to entering the region 1880. In response to the loss of communication, autonomous vehicle 1864 enforces the updated policy and selects a route 1866 for exiting area 1880 quickly. The COMM-configured AV dispatcher 1844 can be configured to identify a point 1865 for parking an autonomous vehicle that is configured as a relay device for establishment of a peer-to-peer network across region 1880. Therefore, the COMM-configured AV dispatcher 1844 is configured to dispatch an autonomous vehicle 1862 (no passenger) to park at location 1865 for the purpose of operating as a radio tower in a peer-to-peer ad hoc network. .

図19は、いくつかの実施形態による、劣化または喪失した通信のようなイベント中の自律車両に対するアクションを決定するためのフロー図の例である。1901において、フロー1900が開始する。ポリシデータが受信され、それによって、ポリシデータは、イベント中に地理的領域における移動要求に適用するためのパラメータを規定する。1902において、以下のアクションのうちの1つまたは複数が実施され得る。(1)その地理的位置の部分内の地理的位置に自律車両のサブセットを派遣する。自律車両のサブセットは、特定の地理的位置に駐まり、各々が静的通信中継装置としての役割を果たすか、または、各々が移動通信中継装置としての役割を果たすために、地理的領域内で移動する。(2)その地理的領域の部分と関連付けられる自律車両のプールの部分の間でピアツーピア通信を実施する。(3)イベント中のその地理的領域の部分を脱出するためのルートを記述するイベントポリシを、自律車両に提供する。(4)遠隔操作を呼び出す。および(5)その地理的領域を回避するように、経路を再計算する。アクションの実施後、1914において、その自律車両の群が監視される。   FIG. 19 is an example of a flow diagram for determining actions on an autonomous vehicle during an event, such as degraded or lost communication, according to some embodiments. At 1901, flow 1900 begins. Policy data is received, whereby the policy data defines parameters for applying to travel requests in a geographic region during an event. At 1902, one or more of the following actions may be performed. (1) Dispatch a subset of autonomous vehicles to a geographic location within that geographic location. A subset of autonomous vehicles are parked in specific geographic locations, each serving as a static communication relay device, or each serving as a mobile communication relay device, within a geographic region Moving. (2) Conduct peer-to-peer communication between portions of the autonomous vehicle pool associated with that geographic region portion. (3) Providing an autonomous vehicle with an event policy that describes the route to escape the portion of that geographic region in the event. (4) Call remote operation. And (5) recalculate the route to avoid that geographic area. After the action is performed, at 1914, the group of autonomous vehicles is monitored.

図20は、いくつかの実施形態による、ローカライザの例を示す図である。図2000は、ライダデータ2072、カメラデータ2074、レーダデータ2076、および他のデータ2078のような、センサ2070からのセンサデータを受信するように構成されているローカライザ2068を含む。さらに、ローカライザ2068は、2Dマップデータ2022、3Dマップデータ2024、および3D局所的マップデータのような基準データ2020を受信するように構成されている。いくつかの例によれば、対応するデータ構造およびリポジトリを含む、4Dマップデータ2025および意味論的マップデータ(図示せず)のような他のマップデータも、実施されてもよい。さらに図2000について、ローカライザ2068は、位置決めシステム2010および位置特定システム2012を含み、これらは両方とも、センサ2070からのセンサデータおよび基準データ2020を受信するように構成されている。位置特定データインテグレータ2014は、位置決めシステム2010からのデータおよび位置特定システム2012からのデータを受信するように構成されており、それによって、位置特定データインテグレータ2014は、局所的位置データ2052を形成するために複数のセンサからのセンサデータを統合または融合するように構成されている。   FIG. 20 is a diagram illustrating an example of a localizer, according to some embodiments. Diagram 2000 includes a localizer 2068 configured to receive sensor data from sensor 2070, such as lidar data 2072, camera data 2074, radar data 2076, and other data 2078. Further, the localizer 2068 is configured to receive reference data 2020, such as 2D map data 2022, 3D map data 2024, and 3D local map data. According to some examples, other map data such as 4D map data 2025 and semantic map data (not shown), including corresponding data structures and repositories, may also be implemented. Still referring to FIG. 2000, the localizer 2068 includes a positioning system 2010 and a location system 2012, both configured to receive sensor data and reference data 2020 from the sensor 2070. The location data integrator 2014 is configured to receive data from the positioning system 2010 and data from the location system 2012 so that the location data integrator 2014 forms the local location data 2052. The sensor data from a plurality of sensors is integrated or fused.

図21は、いくつかの実施形態による、集積センサデータに基づいて局所的位置データを生成するためのフロー図の例である。2101において、フロー2100が開始する。2102において、基準データが受信され、基準データは、三次元マップデータを含む。いくつかの例において、3Dまたは4Dマップデータのような基準データが、1つまたは複数のネットワークから受信されてもよい。2104において、1つまたは複数の位置特定センサからの位置特定データが受信され、位置特定システム内に配置される。2106において、1つまたは複数の位置決めセンサからの位置決めデータが受信され、位置決めシステム内に配置される。2108において、位置特定データおよび位置決めデータが統合される。2110において、自律車両の地理的位置を指定する局所的位置データを形成するために、位置特定データおよび位置決めデータが統合される。   FIG. 21 is an example flow diagram for generating local location data based on integrated sensor data, according to some embodiments. In 2101, flow 2100 begins. At 2102, reference data is received, and the reference data includes 3D map data. In some examples, reference data such as 3D or 4D map data may be received from one or more networks. At 2104, location data from one or more location sensors is received and placed in the location system. At 2106, positioning data from one or more positioning sensors is received and placed in the positioning system. At 2108, the location data and positioning data are integrated. At 2110, the location data and positioning data are integrated to form local location data that specifies the geographic location of the autonomous vehicle.

図22は、いくつかの実施形態による、ローカライザの別の例を示す図である。図2200はローカライザ2268を含み、ローカライザ2268は、それぞれ位置決めに基づくデータ2250および局所的な位置に基づくデータ2251を生成するための位置特定システム2210および相対位置特定システム2212を含む。位置特定システム2210は、他の任意選択のデータ(例えば、4Dマップデータ)の中でも、GPSデータ2273、GPSデータム2211、および3Dマップデータ2222を処理するための投影プロセッサ2254aを含む。位置特定システム2210はまた、他の任意選択のデータの中でも、ホイールデータ2275(例えば、ホイール速度)、車両モデルデータ2213および3Dマップデータ2222を処理するためのオドメトリプロセッサ2254bをも含む。さらにまた、位置特定システム2210は、他の任意選択のデータの中でも、IMUデータ2257、車両モデルデータ2215および3Dマップデータ2222を処理するためのインテグレータプロセッサ2254cを含む。同様に、相対位置特定システム2212は、他の任意選択のデータの中でも、ライダデータ2272、2Dタイルマップデータ2220、3Dマップデータ2222、および3D局所的マップデータ2223を処理するためのライダ位置特定プロセッサ2254dを含む。相対位置特定システム2212はまた、他の任意選択のデータの中でも、カメラデータ2274、3Dマップデータ2222、および3D局所的マップデータ2223を処理するための視覚見当合わせプロセッサ2254eをも含む。さらにまた、相対位置特定システム2212は、他の任意選択のデータの中でも、レーダデータ2276、3Dマップデータ2222、および3D局所的マップデータ2223を処理するためのレーダ戻りプロセッサ2254fを含む。様々な例において、ソナーデータなどのような、他のタイプのセンサデータおよびセンサまたはプロセッサが実施されてもよいことに留意されたい。   FIG. 22 is a diagram illustrating another example of a localizer, according to some embodiments. The diagram 2200 includes a localizer 2268 that includes a location system 2210 and a relative location system 2212 for generating location-based data 2250 and local location-based data 2251, respectively. Location system 2210 includes a projection processor 2254a for processing GPS data 2273, GPS datum 2211, and 3D map data 2222, among other optional data (eg, 4D map data). The location system 2210 also includes an odometry processor 2254b for processing wheel data 2275 (eg, wheel speed), vehicle model data 2213, and 3D map data 2222, among other optional data. Furthermore, the location system 2210 includes an integrator processor 2254c for processing IMU data 2257, vehicle model data 2215, and 3D map data 2222, among other optional data. Similarly, the relative location system 2212 is a lidar location processor for processing lidar data 2272, 2D tile map data 2220, 3D map data 2222, and 3D local map data 2223, among other optional data. 2254d. The relative location system 2212 also includes a visual registration processor 2254e for processing camera data 2274, 3D map data 2222, and 3D local map data 2223, among other optional data. Furthermore, the relative location system 2212 includes a radar return processor 2254f for processing radar data 2276, 3D map data 2222, and 3D local map data 2223, among other optional data. It should be noted that in various examples, other types of sensor data and sensors or processors may be implemented, such as sonar data.

さらに図2200について、位置特定に基づくデータ2250および相対位置特定に基づくデータ2251は、それぞれデータインテグレータ2266aおよび位置特定データインテグレータ2266に供給され得る。データインテグレータ2266aおよび位置特定データインテグレータ2266は、対応するデータを融合するように構成されることができ、それによって、位置特定に基づくデータ2250は、位置特定データインテグレータ2266において相対位置特定に基づくデータ2251と融合される前に、データインテグレータ2266aにおいて融合されることができる。いくつかの実施形態によれば、データインテグレータ2266aは、位置特定データインテグレータ2266の部分として形成されるか、または、不在である。それに関係なく、位置特定に基づくデータ2250および相対位置特定に基づくデータ2251は両方とも、局所的位置データ2252を生成するためにデータを融合する目的のために、位置特定データインテグレータ2266に供給されることができる。位置特定に基づくデータ2250は、投影プロセッサ2254aからの単項制約データ(および不確定値)、ならびに、オドメトリプロセッサ2254bおよびインテグレータプロセッサ2254cからの二項制約データ(および不確定値)を含むことができる。相対位置特定に基づくデータ2251は、位置特定プロセッサ2254dおよび視覚見当合わせプロセッサ2254e、ならびに、任意選択的にレーダ戻りプロセッサ2254fからの単項制約データ(および不確定値)を含むことができる。いくつかの実施形態によれば、位置特定データインテグレータ2266は、カルマンフィルタ(例えば、ゲートカルマンフィルタ(gated Kalman filter))、相対バンドルアジャスタ(relative bundle adjuster)、位置グラフ緩和、粒子フィルタ、ヒストグラムフィルタなどのような非線形平滑化機能を実施することができる。   Further, with respect to FIG. 2200, location based data 2250 and relative location based data 2251 can be provided to data integrator 2266a and location specific data integrator 2266, respectively. Data integrator 2266a and location specific data integrator 2266 can be configured to fuse corresponding data such that location based data 2250 is data 2251 based on relative location in location specific data integrator 2266. Can be merged in data integrator 2266a. According to some embodiments, data integrator 2266a is formed as a part of location specific data integrator 2266 or is absent. Regardless, both location-based data 2250 and relative location-based data 2251 are provided to location-specific data integrator 2266 for the purpose of fusing data to generate local location data 2252. be able to. Location-based data 2250 may include unary constraint data (and uncertain values) from projection processor 2254a, and binomial constraint data (and uncertain values) from odometry processor 2254b and integrator processor 2254c. Relative location-based data 2251 may include unary constraint data (and uncertain values) from location processor 2254d and visual registration processor 2254e, and optionally radar return processor 2254f. According to some embodiments, the localization data integrator 2266 may be a Kalman filter (eg, a gated Kalman filter), a relative bundle adjuster, a position graph relaxation, a particle filter, a histogram filter, etc. A non-linear smoothing function can be implemented.

図23は、いくつかの実施形態による、知覚エンジンの例を示す図である。図2300は、知覚エンジン2366を含み、知覚エンジン2366は、セグメンテーションプロセッサ2310、オブジェクトトラッカ2330、およびクラシファイヤ2360を含む。さらに、知覚エンジン2366は、例えば、局所的位置データ2352、ライダデータ2372、カメラデータ2374、およびレーダデータ2376を受信するように構成されている。ソナーデータのような他のセンサデータが、知覚エンジン2366の機能を提供するためにアクセスされてもよいことに留意されたい。セグメンテーションプロセッサ2310は、グランドプレーンデータを抽出し、および/または、画像の部分をセグメント化して、オブジェクトを互いから、および静的画像(例えば、背景)から区別するように構成されている。いくつかの事例において、3Dブロブが、互いを区別するためにセグメント化されることができる。いくつかの例において、ブロブは、空間的に再生された環境内でオブジェクトを識別する特徴のセットを参照することができ、強度および色のような、同様の特性を有する要素(例えば、カメラデータのピクセル、レーザ戻りデータのポイントなど)から構成されることができる。いくつかの例において、ブロブはまた、ポイントクラウド(例えば、色付けされたレーザ戻りデータから構成される)またはオブジェクトを構成する他の要素を参照することもできる。オブジェクトトラッカ2330は、ブロブ、または他のセグメント化された画像部分の動きのフレームごとの推定を実施するように構成されている。さらに、時刻t1における第1のフレーム内の1つの位置にあるブロブを、時刻t2における第2のフレーム内の異なる位置にあるブロブと関連付けるために、データ関連付けが使用される。いくつかの例において、オブジェクトトラッカ2330は、ブロブのような3Dオブジェクトのリアルタイムの確率的追跡を実施するように構成されている。クラシファイヤ2360は、オブジェクトを識別し、そのオブジェクトを分類タイプ(例えば、歩行者、自転車利用者などとして)によっておよびエネルギー/活動(例えば、オブジェクトが動的であるかまたは静的であるか)によって分類するように構成されており、それによって、分類を表現するデータは、意味ラベルによって記述される。いくつかの実施形態によれば、オブジェクトクラスごとに異なる信頼性で、オブジェクトを車両、自転車利用者、歩行者などとして分類することのような、オブジェクトカテゴリの確率的推定が実施されることができる。知覚エンジン2366は、知覚エンジンデータ2354を決定するように構成されており、知覚エンジンデータ2354は、静的オブジェクトマップおよび/または動的オブジェクトマップを含むことができ、それによって、例えば、プランナは、この情報を使用して、経路プランニングを強化することができる。様々な例によれば、セグメンテーションプロセッサ2310、オブジェクトトラッカ2330、およびクラシファイヤ2360のうちの1つまたは複数は、知覚エンジンデータ2354を生成するために機械学習技法を適用することができる。   FIG. 23 is a diagram illustrating an example of a perception engine, according to some embodiments. The drawing 2300 includes a perception engine 2366, which includes a segmentation processor 2310, an object tracker 2330, and a classifier 2360. Further, the perception engine 2366 is configured to receive, for example, local position data 2352, lidar data 2372, camera data 2374, and radar data 2376. Note that other sensor data, such as sonar data, may be accessed to provide the functionality of the perception engine 2366. The segmentation processor 2310 is configured to extract ground plane data and / or segment parts of the image to distinguish objects from each other and from static images (eg, background). In some cases, 3D blobs can be segmented to distinguish each other. In some examples, a blob can refer to a set of features that identify an object in a spatially reproduced environment, and has elements with similar properties, such as intensity and color (eg, camera data Pixel, laser return data point, etc.). In some examples, the blob can also reference a point cloud (eg, composed of colored laser return data) or other elements that make up the object. Object tracker 2330 is configured to perform frame-by-frame estimation of the motion of blobs or other segmented image portions. Further, data association is used to associate a blob at one position in the first frame at time t1 with a blob at a different position in the second frame at time t2. In some examples, the object tracker 2330 is configured to perform real-time stochastic tracking of 3D objects such as blobs. Classifier 2360 identifies the object and classifies the object by classification type (eg, as a pedestrian, bicycle user, etc.) and energy / activity (eg, whether the object is dynamic or static). It is configured to classify, whereby data representing the classification is described by a semantic label. According to some embodiments, probabilistic estimation of object categories can be performed, such as classifying objects as vehicles, bicycle users, pedestrians, etc. with different reliability for each object class. . The perceptual engine 2366 is configured to determine perceptual engine data 2354, which can include a static object map and / or a dynamic object map so that, for example, the planner can: This information can be used to enhance route planning. According to various examples, one or more of segmentation processor 2310, object tracker 2330, and classifier 2360 may apply machine learning techniques to generate perceptual engine data 2354.

図24は、いくつかの実施形態による、知覚エンジンデータを生成するためのフロー図の例である。フロー図2400は2402において開始し、自律車両の局所的位置を表現するデータが取り出される。2404において、1つまたは複数の位置特定センサからの位置特定データが受信され、2406において、セグメント化されたオブジェクトを形成するために、自律車両が配置されている環境の特徴がセグメント化される。2408において、動き(例えば、推定される動き)を有する少なくとも1つの追跡されているオブジェクトを形成するために、セグメント化されたオブジェクトの1つまたは複数の部分が空間的に追跡される。2410において、追跡されているオブジェクトが、少なくとも静的オブジェクトまたは動的オブジェクトのいずれかであるものとして分類される。いくつかの事例において、静的オブジェクトまたは動的オブジェクトは、分類タイプと関連付けられることができる。2412において、分類されたオブジェクトを識別するデータが生成される。例えば、分類されたオブジェクトを識別するデータは、意味情報を含むことができる。   FIG. 24 is an example flow diagram for generating perceptual engine data, according to some embodiments. Flow diagram 2400 begins at 2402 where data representing a local location of an autonomous vehicle is retrieved. At 2404, location data from one or more location sensors is received, and at 2406, the features of the environment in which the autonomous vehicle is located are segmented to form a segmented object. At 2408, one or more portions of the segmented object are spatially tracked to form at least one tracked object having motion (eg, estimated motion). At 2410, the tracked object is classified as being at least either a static object or a dynamic object. In some instances, static or dynamic objects can be associated with a classification type. At 2412, data identifying the classified object is generated. For example, data identifying the classified object can include semantic information.

図25は、いくつかの実施形態による、セグメンテーションプロセッサの例である。図2500は、1つまたは複数のライダ2572からのライダデータおよび1つまたは複数のカメラ2574からのカメラ画像データを受信するセグメンテーションプロセッサ2510を示す。局所的位置データ2552、ライダデータ、およびカメラ画像データが、メタスピンジェネレータ(meta spin generator)2521へと受信される。いくつかの例において、メタスピンジェネレータは、様々な属性(例えば、色、強度など)に基づいて、画像を区別可能な領域(例えば、ポイントクラウドのクラスタまたはグループ)へと分割するように構成されており、そのうちの少なくとも2つ以上は、同時にまたはほぼ同時に更新されることができる。メタスピンデータ2522が、セグメンテーションプロセッサ2523においてオブジェクトセグメンテーションおよびグランドセグメンテーション(ground segmentation)を実施するために使用され、それによって、メタスピンデータ2522とセグメンテーションプロセッサ2523からのセグメンテーション関連データの両方が、走査されている差分のプロセッサ(scanned differencing processor)2513に適用される。走査されている差分のプロセッサ2513は、セグメント化された画像部分の動きおよび/または相対速度を予測するように構成されており、これは、2517において動的オブジェクトを識別するために使用されることができる。2517において検出された速度を有するオブジェクトを指示するデータが、任意選択的に、経路プランニング決定を強化するためにプランナに送信される。加えて、走査されている差分のプロセッサ2513からのデータは、そのようなオブジェクトのマッピングを形成する(また、任意選択的に、動きのレベルを識別する)ためにオブジェクトの位置を近似するために使用することができる。いくつかの例において、占有格子マップ2515が生成されることができる。占有格子マップ2515を表現するデータは、(例えば、不確定性を低減することによって)経路プランニング決定をさらに強化するために、プランナに送信されることができる。さらに図2500について、1つまたは複数のカメラ2574からの画像カメラデータが、ブロブクラシファイヤ2520においてブロブを分類するために使用され、ブロブクラシファイヤ2520はまた、セグメンテーションプロセッサ2523からブロブデータ2524も受信する。セグメンテーションプロセッサ2510はまた、レーダ関連ブロブデータ2516を生成するレーダセグメンテーションプロセッサ2514においてセグメンテーションを実施するために、1つまたは複数のレーダ2576から未処理レーダ戻りデータ2512を受信することもできる。さらに図25について、セグメンテーションプロセッサ2510はまた、レーダデータに関係付けられる、追跡されているブロブのデータ2518を受信および/または生成することもできる。ブロブデータ2516、追跡されているブロブのデータ2518、ブロブクラシファイヤ2520からのデータ、および、ブロブデータ2524はオブジェクトまたはその部分を追跡するために使用されることができる。いくつかの例によれば、以下、すなわち、走査されている差分のプロセッサ2513、ブロブ分類2520、およびレーダ2576からのデータのうちの1つまたは複数は、任意選択であってもよい。   FIG. 25 is an example of a segmentation processor according to some embodiments. FIG. 2500 shows a segmentation processor 2510 that receives rider data from one or more riders 2572 and camera image data from one or more cameras 2574. Local position data 2552, lidar data, and camera image data are received into a meta spin generator 2521. In some examples, the metaspin generator is configured to divide the image into distinct regions (eg, point cloud clusters or groups) based on various attributes (eg, color, intensity, etc.). And at least two or more of them can be updated simultaneously or nearly simultaneously. Metaspin data 2522 is used to perform object segmentation and ground segmentation in segmentation processor 2523 so that both metaspin data 2522 and segmentation related data from segmentation processor 2523 are scanned. Applied to a scanned differencing processor 2513. The scanned difference processor 2513 is configured to predict the motion and / or relative speed of the segmented image portion, which is used to identify dynamic objects at 2517. Can do. Data indicating the object having the speed detected at 2517 is optionally sent to the planner to enhance the route planning decision. In addition, the data from the difference processor being scanned 2513 is used to approximate the position of the object to form such an object mapping (and optionally also identify the level of motion). Can be used. In some examples, an occupancy grid map 2515 can be generated. Data representing the occupancy grid map 2515 can be sent to the planner to further enhance the path planning decision (eg, by reducing uncertainty). Still referring to FIG. 2500, image camera data from one or more cameras 2574 is used to classify blobs in blob classifier 2520, which also receives blob data 2524 from segmentation processor 2523. . The segmentation processor 2510 may also receive raw radar return data 2512 from one or more radars 2576 to perform segmentation in a radar segmentation processor 2514 that generates radar-related blob data 2516. Still referring to FIG. 25, the segmentation processor 2510 may also receive and / or generate tracked blob data 2518 associated with radar data. Blob data 2516, tracked blob data 2518, data from blob classifier 2520, and blob data 2524 can be used to track an object or portion thereof. According to some examples, one or more of the following: data from scanned difference processor 2513, blob classification 2520, and radar 2576 may be optional.

図26Aは、様々な実施形態による、オブジェクトトラッカおよびクラシファイヤの例を示す図である。図2600のオブジェクトトラッカ2630は、ブロブデータ2516、追跡されているブロブのデータ2518、ブロブクラシファイヤ2520からのデータ、ブロブデータ2524、および1つまたは複数のカメラ2676からのカメラ画像データを受信するように構成されている。画像トラッカ2633は、追跡されている画像のデータを生成するために、1つまたは複数のカメラ2676からのカメラ画像データを受信するように構成されており、追跡されている画像のデータは、データ関連付けプロセッサ2632に提供されることができる。示されているようにデータ関連付けプロセッサ2632は、ブロブデータ2516、追跡されているブロブのデータ2518、ブロブクラシファイヤ2520からのデータ、ブロブデータ2524、および画像トラッカ2633からの追跡画像データを受信するように構成されており、上述されているタイプのデータの間の1つまたは複数の関連付けを識別するようにさらに構成されている。データ関連付けプロセッサ2632は、とりわけ例えば、動きを推定するために、フレームごとに、例えば、様々なブロブデータを追跡するように構成されている。さらに、データ関連付けプロセッサ2632によって生成されるデータは、トラックアップデータ(track updater)2634によって、1つまたは複数のトラック、または追跡されているオブジェクトを更新するために使用されることができる。いくつかの例において、トラックアップデータ2634は、オンラインでトラックデータベース(「DB」)2636に格納することができる、追跡されているオブジェクトの更新されたデータを形成するために、カルマンフィルタなどを実施することができる。フィードバックデータが、データ関連付けプロセッサ2632とトラックデータベース2636との間で経路2699を介して交換されることができる。いくつかの例において、画像トラッカ2633は、任意選択であってもよく、除外されてもよい。オブジェクトトラッカ2630はまた、例えば、レーダまたはソナー、および、任意の他のタイプのセンサデータのような他のセンサデータを使用してもよい。   FIG. 26A is a diagram illustrating an example object tracker and classifier, according to various embodiments. Object tracker 2630 of FIG. 2600 receives blob data 2516, tracked blob data 2518, data from blob classifier 2520, blob data 2524, and camera image data from one or more cameras 2676. It is configured. The image tracker 2633 is configured to receive camera image data from one or more cameras 2676 to generate tracked image data, the tracked image data being data An association processor 2632 can be provided. As shown, data association processor 2632 receives blob data 2516, tracked blob data 2518, data from blob classifier 2520, blob data 2524, and tracked image data from image tracker 2633. And is further configured to identify one or more associations between the types of data described above. The data association processor 2632 is configured to track various blob data, for example, every frame, for example, to estimate motion, among others. Further, the data generated by data association processor 2632 can be used by track updater 2634 to update one or more tracks, or the object being tracked. In some examples, the track update data 2634 may be stored online in a track database (“DB”) 2636 to implement updated data for the tracked object, such as performing a Kalman filter, etc. Can do. Feedback data may be exchanged between data association processor 2632 and track database 2636 via path 2699. In some examples, the image tracker 2633 may be optional or excluded. Object tracker 2630 may also use other sensor data such as, for example, radar or sonar, and any other type of sensor data.

図26Bは、少なくともいくつかの例による、オブジェクトトラッカの別の例を示す図である。図2601は、1つまたは複数の他の図面(例えば図26A)に関連して記述されている、同様に名付けられている要素としての構造および/または機能を含むことができるオブジェクトトラッカ2631を含む。示されているように、オブジェクトトラッカ2631は、オブジェクト走査見当合わせおよびデータ融合を実施するように構成されているプロセッサ2696を含む任意選択の見当合わせ部分2699を含む。プロセッサ2696は、結果もたらされるデータを3Dオブジェクトデータベース2698に格納するようにさらに構成されている。   FIG. 26B is a diagram illustrating another example of an object tracker according to at least some examples. FIG. 2601 includes an object tracker 2631 that can include structure and / or function as similarly named elements described in connection with one or more other drawings (eg, FIG. 26A). . As shown, the object tracker 2631 includes an optional registration portion 2699 that includes a processor 2696 configured to perform object scan registration and data fusion. The processor 2696 is further configured to store the resulting data in the 3D object database 2698.

図26Aに戻って参照すると、図2600はまた、クラシファイヤ2660をも含み、クラシファイヤ2660は、静的障害物データ2672および動的障害物データ2674を生成するためのトラック分類エンジン2662を含むことができ、これらのデータは両方とも、経路プランニング目的のためにプランナに送信されることができる。少なくとも1つの例において、トラック分類エンジン2662は、障害物が静的であるかまたは動的であるか、および、オブジェクトの別の分類タイプ(例えば、オブジェクトが車両、歩行者、樹木、自転車利用者、犬、猫、紙袋などであるか)を決定するように構成されている。静的障害物データ2672は、障害物マップ(例えば、2D占有マップ)の部分として形成されることができ、動的障害物データ2674は、速度および分類タイプを指示するデータを有する境界ボックスを含むように形成されることができる。動的障害物データ2674は、少なくともいくつかの事例において、2D動的障害物マップデータを含む。   Referring back to FIG. 26A, FIG. 2600 also includes a classifier 2660, which includes a track classification engine 2662 for generating static obstacle data 2672 and dynamic obstacle data 2674. Both of these data can be sent to the planner for route planning purposes. In at least one example, the track classification engine 2662 can determine whether the obstacle is static or dynamic and another classification type of the object (eg, the object is a vehicle, pedestrian, tree, bicycle user). Whether it is a dog, cat, paper bag, etc.). Static obstacle data 2672 can be formed as part of an obstacle map (eg, a 2D occupancy map), and dynamic obstacle data 2674 includes a bounding box with data indicating speed and classification type. Can be formed as follows. The dynamic obstacle data 2673 includes 2D dynamic obstacle map data in at least some cases.

図27は、いくつかの例による、知覚エンジンのフロントエンドプロセッサの例である。図2700は、様々な例によれば、グランドセグメンテーションを実施するためのグランドセグメンテーションプロセッサ2723aおよび「オーバーセグメンテーション」を実施するためのオーバーセグメンテーションプロセッサ2723bを含む。プロセッサ2723aおよび2723bは、任意選択的に色付けされたライダデータ2775を受信するように構成されている。オーバーセグメンテーションプロセッサ2723bは、第1のブロブタイプ(例えば、相対的に小さいブロブ)のデータ2710を生成し、このデータは、第2のブロブタイプのデータ2714を生成する集約分類・セグメンテーションエンジン(aggregation classification and segmentation engine)2712に提供される。データ2714は、データ関連付けプロセッサ2732に提供され、データ関連付けプロセッサ2732は、データ2714がトラックデータベース2736内に存在するか否かを検出するように構成されている。2740において、第2のブロブタイプ(例えば、1つまたは複数のより小さいブロブを含み得る相対的に大きいブロブ)のデータ2714が新たなトラックであるか否かの決定が行われる。そうである場合、2742においてトラックが初期化され、そうでない場合、トラックデータベース2736に格納されている、追跡されているオブジェクトデータおよびそのトラックが、トラックアップデータ2742によって拡張または更新されることができる。トラック分類エンジン2762は、トラックを識別し、例えば、トラック関連データを追加、除去または修正することによって、トラックを更新/修正するために、トラックデータベース2736に結合されている。   FIG. 27 is an example of a perception engine front-end processor according to some examples. The diagram 2700 includes, according to various examples, a ground segmentation processor 2723a for performing ground segmentation and an over-segmentation processor 2723b for performing "over-segmentation". Processors 2723a and 2723b are configured to receive optionally colored lidar data 2775. Over-segmentation processor 2723b generates first blob type (e.g., relatively small blob) data 2710, which is an aggregation classification and segmentation engine that generates second blob type data 2714. and segmentation engine) 2712. Data 2714 is provided to data association processor 2732, which is configured to detect whether data 2714 is present in track database 2736. At 2740, a determination is made whether data 2714 of a second blob type (eg, a relatively large blob that may include one or more smaller blobs) is a new track. If so, the track is initialized at 2742, otherwise the tracked object data and its track stored in the track database 2736 can be extended or updated by the track updater 2742. A track classification engine 2762 is coupled to the track database 2736 for identifying tracks and updating / modifying tracks, for example, by adding, removing or modifying track related data.

図28は、様々な実施形態による、合成環境において自律車両をシミュレートするように構成されているシミュレータを示す図である。図2800は、シミュレートされた環境2803を生成するように構成されているシミュレータ2840を含む。示されているように、シミュレータ2840は、シミュレートされた環境2803内に、シミュレートされた表面2892aおよび2892bのようなシミュレートされた幾何学的形状を生成するために、基準データ2822(例えば、3Dマップデータおよび/もしくは他のマップ、または、RNDFデータもしくは同様の道路網データを含むルートデータ)を使用するように構成されている。シミュレートされた表面2892aおよび2892bは、道路に隣接する建造物の壁または側面をシミュレートすることができる。シミュレータ2840はまた、合成環境において動的な作用因子をシミュレートするために、動的オブジェクトデータを事前に生成または手続き的に生成することもできる。動的な作用因子の例は、シミュレートされた動的オブジェクト2801であり、これは、一定の速度を有するシミュレートされた自転車利用者を表す。シミュレートされた動的な作用因子は、任意選択的に、シミュレートされた自律車両を含む、シミュレートされた環境内の他の静的な作用因子および動的な作用因子に応答することができる。例えば、シミュレートされたオブジェクト2801は、予め設定された起動に従うのではなく、シミュレートされた環境2803内の他の障害物のために減速することができ、それによって、現実世界に存在する実際の動的な環境のより現実的なシミュレーションを生成する。   FIG. 28 is a diagram illustrating a simulator configured to simulate an autonomous vehicle in a synthetic environment, according to various embodiments. Diagram 2800 includes a simulator 2840 that is configured to generate a simulated environment 2803. As shown, the simulator 2840 may generate reference data 2822 (eg, for example) to generate simulated geometry, such as simulated surfaces 2892a and 2892b, within the simulated environment 2803. 3D map data and / or other maps, or route data including RNDF data or similar road network data). Simulated surfaces 2892a and 2892b can simulate the walls or sides of a building adjacent to the road. The simulator 2840 can also generate dynamic object data in advance or procedurally to simulate dynamic agents in the synthesis environment. An example of a dynamic agent is a simulated dynamic object 2801, which represents a simulated bicycle user with a constant speed. Simulated dynamic agents can optionally respond to other static and dynamic agents in the simulated environment, including simulated autonomous vehicles. it can. For example, the simulated object 2801 can decelerate due to other obstacles in the simulated environment 2803 rather than following a pre-set activation, so that the actual existing in the real world Generate a more realistic simulation of the dynamic environment.

シミュレータ2840は、シミュレートされた自律車両コントローラ2847を生成するように構成されることができ、シミュレートされた自律車両コントローラ2847は、知覚エンジン2866、ローカライザ2868、モーションコントローラ2862、およびプランナ2864の合成適合を含み、これらの各々は、シミュレートされた環境2803内で本明細書において記述されている機能を有することができる。シミュレータ2840はまた、異なるセンサモダリティおよび異なるセンサデータフォーマットとのデータ交換をシミュレートするためのシミュレートされたインターフェース(「I/F」)2849を生成することもできる。そのため、シミュレートされたインターフェース2849は、例えば、シミュレートされたライダセンサ2872から、パケット化されたデータのためのソフトウェアインターフェースをシミュレートすることができる。さらに、シミュレータ2840はまた、シミュレートされたAVコントローラ2847を実施するシミュレートされた自律車両2830を生成するように構成されることもできる。シミュレートされた自律車両2830は、シミュレートされたライダセンサ2872、シミュレートされたカメラまたは画像センサ2874、およびシミュレートされたレーダセンサ2876を含む。示されている例において、シミュレートされたライダセンサ2872は、光線追跡2892と一致するシミュレートされたレーザを生成するように構成されることができ、これによって、シミュレートされたセンサ戻り2891が生成される。シミュレータ2840は、ノイズの追加またはセンサデータに対する他の環境効果(例えば、シミュレートされたセンサ戻り2891に影響を与える追加された拡散または反射)をシミュレートすることができることに留意されたい。さらにまた、シミュレータ2840は、センサ機能不全、センサ誤較正、断続的なデータの機能停止などを含む、様々なセンサ欠陥をシミュレートするように構成されることができる。   Simulator 2840 can be configured to generate a simulated autonomous vehicle controller 2847, which is a composition of perceptual engine 2866, localizer 2868, motion controller 2862, and planner 2864. Each of these, including adaptations, can have the functions described herein within a simulated environment 2803. The simulator 2840 can also generate a simulated interface (“I / F”) 2849 for simulating data exchange with different sensor modalities and different sensor data formats. Thus, the simulated interface 2849 can simulate a software interface for packetized data, eg, from a simulated lidar sensor 2872. Further, the simulator 2840 can also be configured to generate a simulated autonomous vehicle 2830 that implements a simulated AV controller 2847. Simulated autonomous vehicle 2830 includes simulated lidar sensor 2872, simulated camera or image sensor 2874, and simulated radar sensor 2876. In the example shown, the simulated lidar sensor 2872 can be configured to generate a simulated laser that matches the ray trace 2892, thereby generating a simulated sensor return 2891. Is done. Note that the simulator 2840 can simulate the addition of noise or other environmental effects on the sensor data (eg, additional diffusion or reflection that affects the simulated sensor return 2891). Furthermore, the simulator 2840 can be configured to simulate various sensor defects including sensor malfunction, sensor miscalibration, intermittent data outages, and the like.

シミュレータ2840は、シミュレートされた自律車両2830の挙動のシミュレーションに使用するための、自律車両の機械的、静的、動的、および運動学的態様をシミュレートするための物理プロセッサ2850を含む。例えば、物理プロセッサ2850は、接触力学をシミュレートするための接触力学モジュール2851、シミュレートされているボディ間の相互作用をシミュレートするための衝突検出モジュール2852、および、シミュレートされている機械的相互作用間の相互作用をシミュレートするためのマルチボディ動態モジュール2854を含む。   Simulator 2840 includes a physical processor 2850 for simulating mechanical, static, dynamic, and kinematic aspects of the autonomous vehicle for use in simulating the behavior of the simulated autonomous vehicle 2830. For example, the physical processor 2850 may include a contact mechanics module 2851 for simulating contact mechanics, a collision detection module 2852 for simulating interactions between simulated bodies, and a simulated mechanical A multibody dynamics module 2854 for simulating the interaction between the interactions is included.

シミュレータ2840はまた、とりわけ、因果関係を決定するためにシミュレートされた環境2803の任意の合成的に生成された要素の機能を適合させるようにシミュレーションを制御するように構成されているシミュレータコントローラ2856をも含む。シミュレータ2840は、シミュレートされた環境2803の合成的に生成された要素の性能を評価するためのシミュレータエバリュエータ(simulator evaluator)2858を含む。例えば、シミュレータエバリュエータ2858は、シミュレートされた車両コマンド2880(例えば、シミュレートされたステアリング角度およびシミュレートされた速度)を分析して、そのようなコマンドが、シミュレートされた環境2803内のシミュレートされた活動に対する適切な応答であるか否かを判定することができる。さらに、シミュレータエバリュエータ2858は、遠隔操作者コンピューティングデバイス2804を介した遠隔操作者2808の、シミュレートされた自律車両2830との相互作用を評価することができる。シミュレータエバリュエータ2858は、シミュレートされた自律車両2830の応答を案内するために追加されることができる、更新されたマップタイルおよびルートデータを含む、更新された基準データ2827の効果を評価することができる。シミュレータエバリュエータ2858はまた、ポリシデータ2829が更新、削除、または追加されるときに、シミュレータAVコントローラ2847の応答を評価することもできる。シミュレータ2840の上記の記述は、限定であるようには意図されていない。そのため、シミュレータ2840は、静的特徴と動的特徴の両方を含む、シミュレートされた環境に対する自律車両の様々な異なるシミュレーションを実施するように構成されている。例えば、シミュレータ2840は、信頼性を保証するためにソフトウェアバージョンの変更を検証するために使用されることができる。シミュレータ2840はまた、車両動態特性を決定するために、および、較正目的のために使用されることもできる。さらに、シミュレータ2840は、自己シミュレーションによる学習を行うように、適用可能な制御および結果もたらされる軌道の空間を探索するために使用されることができる。   Simulator 2840 is also, among other things, a simulator controller 2856 that is configured to control the simulation to adapt the function of any synthetically generated elements of the simulated environment 2803 to determine causality. Is also included. Simulator 2840 includes a simulator evaluator 2858 for evaluating the performance of the synthetically generated elements of simulated environment 2803. For example, the simulator evaluator 2858 analyzes a simulated vehicle command 2880 (eg, simulated steering angle and simulated speed), and such commands are simulated in the simulated environment 2803. It can be determined whether or not the response is appropriate for the activity that was performed. Further, the simulator evaluator 2858 can evaluate the interaction of the remote operator 2808 with the simulated autonomous vehicle 2830 via the remote operator computing device 2804. Simulator evaluator 2858 may evaluate the effect of updated reference data 2827, including updated map tiles and route data, that may be added to guide simulated autonomous vehicle 2830 responses. it can. The simulator evaluator 2858 can also evaluate the simulator AV controller 2847 response when the policy data 2829 is updated, deleted, or added. The above description of simulator 2840 is not intended to be limiting. As such, simulator 2840 is configured to perform a variety of different simulations of an autonomous vehicle for a simulated environment, including both static and dynamic features. For example, the simulator 2840 can be used to verify software version changes to ensure reliability. The simulator 2840 can also be used to determine vehicle dynamic characteristics and for calibration purposes. Furthermore, the simulator 2840 can be used to explore applicable control and resulting trajectory space to perform self-simulation learning.

図29は、いくつかの実施形態による、自律車両の様々な態様をシミュレートするためのフロー図の例である。フロー図2900は2902において開始し、三次元マップデータを含む基準データがシミュレータへと受信される。2904において、分類されているオブジェクトの運動パターンを規定する動的オブジェクトデータが取り出されることができる。2906において、シミュレートされた環境が、少なくとも三次元(「3D」)マップデータおよび動的オブジェクトデータに基づいて形成される。シミュレートされた環境は、1つまたは複数のシミュレートされた表面を含むことができる。2908において、シミュレートされた環境の部分を形成するシミュレートされた自律車両コントローラを含む自律車両がシミュレートされる。自律車両コントローラは、センサデータを受信するように構成されているシミュレートされた知覚エンジンおよびシミュレートされたローカライザを含むことができる。2910において、少なくとも1つのシミュレートされたセンサ戻りに関するデータに基づいて、シミュレートされたセンサデータが生成され、2912において、合成環境内のシミュレートされた自律車両によって動き(例えば、ベクトル化された推進)を引き起こすためのシミュレートされた車両コマンドが生成される。2914において、シミュレートされた自律車両が、予想される挙動と一致して(例えば、ポリシと一致して)挙動したか否かを決定するために、シミュレートされた車両コマンドが評価される。   FIG. 29 is an example of a flow diagram for simulating various aspects of an autonomous vehicle, according to some embodiments. Flow diagram 2900 begins at 2902 where reference data including 3D map data is received into a simulator. At 2904, dynamic object data that defines the movement pattern of the classified object can be retrieved. At 2906, a simulated environment is formed based on at least three-dimensional (“3D”) map data and dynamic object data. The simulated environment can include one or more simulated surfaces. At 2908, an autonomous vehicle is simulated that includes a simulated autonomous vehicle controller that forms part of the simulated environment. The autonomous vehicle controller can include a simulated sensory engine and a simulated localizer configured to receive sensor data. At 2910, simulated sensor data is generated based on data relating to at least one simulated sensor return, and at 2912 motion (eg, vectorized) by the simulated autonomous vehicle in the composite environment. A simulated vehicle command is generated to cause propulsion. At 2914, the simulated vehicle command is evaluated to determine whether the simulated autonomous vehicle behaved in accordance with expected behavior (eg, consistent with policy).

図30は、いくつかの実施形態による、マップデータを生成するためのフロー図の例である。フロー図3000は3002において開始し、軌道データが取り出される。軌道データは、一定の時間期間にわたって(例えば、ログ記録された軌道として)キャプチャされた軌道を含むことができる。3004において、少なくとも位置特定データが取り出されることができる。位置特定データは、一定の時間期間にわたって(例えば、ログ記録された位置特定データとして)キャプチャされることができる。3006において、位置特定データのサブセットを生成するために、カメラまたは他の画像センサが実施されることができる。そのため、取り出された位置特定データは、画像データを含むことができる。3008において、位置特定データのサブセットが、全体的場所(global position)(例えば、全体的位置(global pose))を識別するために整列される。3010において、三次元(「3D」)マップデータが、全体的位置に基づいて生成され、3012において、3次元マップデータが、例えば、手動ルートデータエディタ(例えば、RNDFエディタのような手動道路網データエディタを含む)、自動ルートデータジェネレータ(例えば、自動RNDFジェネレータを含む、自動道路網ジェネレータを含む)、自律車両の群、シミュレータ、遠隔操作者コンピューティングデバイス、および、自律車両サービスの任意の他の構成要素による実施のために利用可能である。   FIG. 30 is an example flow diagram for generating map data, according to some embodiments. Flow diagram 3000 begins at 3002 and trajectory data is retrieved. The trajectory data can include trajectories captured over a period of time (eg, as a logged trajectory). At 3004, at least position location data can be retrieved. The location data can be captured over a period of time (eg, as logged location data). At 3006, a camera or other image sensor can be implemented to generate a subset of the location data. Therefore, the extracted position specifying data can include image data. At 3008, a subset of location data is aligned to identify a global position (eg, a global pose). At 3010, three-dimensional (“3D”) map data is generated based on the global location, and at 3012, the three-dimensional map data is generated from, for example, a manual route data editor (eg, manual road network data such as an RNDF editor). Editors), automatic route data generators (eg, including automatic RNDF generators, including automatic road network generators), autonomous vehicle groups, simulators, remote operator computing devices, and any other of autonomous vehicle services Available for implementation by components.

図31は、いくつかの実施形態による、マッピングエンジンのアーキテクチャを示す図である。図3100は、軌道ログデータ3140、ライダログデータ3172、カメラログデータ3174、レーダログデータ3176、および他の任意選択のログ記録されたセンサデータ(図示せず)を受信するように構成されている3Dマッピングエンジンを含む。論理3141は、とりわけ、空間内の近傍のポイントが以前に訪れられていることをセンサデータが指示するか否かを検出するように構成されている環閉合ディテクタ(loop-closure detector)3150を含む。論理3141はまた、1つまたは複数の見当合わせポイントに対して、いくつかの事例においては3Dマップデータを含むマップデータを整列させるための見当合わせコントローラ3152をも含む。さらに、論理3141は、位置グラフデータ3145を生成するように構成されている全体的位置グラフジェネレータ(global pose graph generator)3143によって使用するための環閉合の状態を表現するデータ3142を提供する。いくつかの例において、位置グラフデータ3145はまた、見当合わせ改良モジュール3146からのデータに基づいて生成されることもできる。論理3144は、3Dマッパー(mapper)3154およびライダ自己較正ユニット3156を含む。さらに、論理3144は、3Dマップデータ3120(または、4Dマップデータのような他のマップデータ)を生成するために、センサデータおよび位置グラフデータ3145を受信する。いくつかの例において、論理3144は、最適な三次元マップを形成するためにセンサデータおよび/またはマップデータを融合するために切断符号付き距離関数(「TSDF」)を実施することができる。さらに、論理3144は、テクスチャおよび反射特性を含むように構成されている。3Dマップデータ3120は、手動ルートデータエディタ3160(例えば、ルートデータまたは他のタイプのルートもしくは基準データを操作するためのエディタ)、自動ルートデータジェネレータ3162(例えば、ルートデータまたは他のタイプの道路網もしくは基準データを生成するように構成されている論理)、自律車両の群3164、シミュレータ3166、遠隔操作者コンピューティングデバイス3168、および、自律車両サービスの任意の他の構成要素による使用のためにリリースされることができる。マッピングエンジン3110は、手動注釈または自動的に生成される注釈、および、ソナーまたは機器を備え付けられた環境(例えば、スマートストップランプ)から意味情報をキャプチャすることができる。   FIG. 31 is a diagram illustrating the architecture of a mapping engine, according to some embodiments. FIG. 3100 is configured to receive trajectory log data 3140, lidar log data 3172, camera log data 3174, radar log data 3176, and other optional logged sensor data (not shown). Includes a 3D mapping engine. The logic 3141 includes a loop-closure detector 3150 that is configured to detect, among other things, whether the sensor data indicates that a nearby point in space has been visited previously. . The logic 3141 also includes a registration controller 3152 for aligning map data, including in some cases 3D map data, to one or more registration points. In addition, logic 3141 provides data 3142 representing a ring closure state for use by a global pose graph generator 3143 that is configured to generate position graph data 3145. In some examples, the location graph data 3145 may also be generated based on data from the registration refinement module 3146. Logic 3144 includes a 3D mapper 3154 and a lidar self-calibration unit 3156. Further, logic 3144 receives sensor data and position graph data 3145 to generate 3D map data 3120 (or other map data such as 4D map data). In some examples, logic 3144 can implement a cut-signed distance function (“TSDF”) to fuse sensor data and / or map data to form an optimal three-dimensional map. Further, the logic 3144 is configured to include texture and reflection characteristics. The 3D map data 3120 includes a manual route data editor 3160 (eg, an editor for manipulating route data or other types of routes or reference data), an automatic route data generator 3162 (eg, route data or other types of road networks). Or logic configured to generate reference data), released for use by a group of autonomous vehicles 3164, a simulator 3166, a remote operator computing device 3168, and any other component of an autonomous vehicle service. Can be done. The mapping engine 3110 can capture semantic information from manual annotations or automatically generated annotations, and environments equipped with sonar or equipment (eg, smart stop lamps).

図32は、いくつかの実施形態による、自律車両アプリケーションを示す図である。図3200は、自律車両3230を介したユーザ3202の輸送手段を構成するために自律車両サービスプラットフォーム3201に接触するように構成されている自律サービスアプリケーション3240を含むモバイルコンピューティングデバイス3203を示す。示されているように、自律サービスアプリケーション3240は、コンピューティングデバイス(例えば、携帯電話3203など)上に存在するソフトウェアアプリケーションであってもよい輸送コントローラ3242を含むことができる。輸送コントローラ3242は、ユーザ3202がユーザの位置から目的地までの輸送手段を構成することができる自律車両および/または自律車両群に関係付けられる動作を受信、スケジュール、選択、または実施するように構成されている。例えば、ユーザ3202は、車両3230を要求するためにアプリケーションを開くことができる。アプリケーションは、マップを表示することができ、ユーザ3202は、例えば、地理上のフェンス領域内で自身の目的地を指示するためにピンをドロップすることができる。代替的に、アプリケーションは、近傍の予め指定された乗車位置のリストを表示してもよく、または、ユーザに、住所もしくは名前のいずれかによって目的地をタイプするためのテキスト入力フィールドを提供してもよい。   FIG. 32 is a diagram illustrating an autonomous vehicle application according to some embodiments. FIG. 3200 shows a mobile computing device 3203 that includes an autonomous service application 3240 that is configured to contact an autonomous vehicle service platform 3201 to configure a vehicle for a user 3202 via the autonomous vehicle 3230. As shown, autonomous service application 3240 can include a transport controller 3242 that can be a software application residing on a computing device (eg, mobile phone 3203). The transport controller 3242 is configured to receive, schedule, select, or perform operations associated with autonomous vehicles and / or autonomous vehicles that allow the user 3202 to configure a vehicle of transportation from the user's location to the destination. Has been. For example, user 3202 can open an application to request vehicle 3230. The application can display a map, and the user 3202 can drop a pin, for example, to indicate his destination within a geographical fence area. Alternatively, the application may display a list of nearby pre-specified boarding locations, or provide the user with a text entry field for typing the destination by either address or name. Also good.

さらに、示されている例について、自律車両アプリケーション3240はまた、自律車両3230が接近しているときに、ユーザ3202が車両の近くの地理的領域、または、近傍にいることを検出するように構成されることができるユーザ識別コントローラ3246を含むこともできる。いくつかの状況において、ユーザ3202は、(例えば、トラック、自動車、タクシーを含む様々な他の車両、および都市環境において一般的である他の障害物に起因して)ユーザ3203による使用のための自律車両3230が接近しているときに、これを容易に知覚または識別しない場合がある。例において、自律車両3230は、(例えば、無線周波数(「RF」)信号の相対方向および信号強度を使用して)自律車両3230に対するユーザ3202の空間位置を通信および/または決定するために、ワイヤレス通信リンク3262(例えば、WiFiまたはBLEを含むBluetooth(登録商標)のようなRF信号を介して)を確立することができる。いくつかの事例において、自律車両3230は、例えば、GPSデータなどを使用して、ユーザ3202の近似の地理的位置を検出することができる。モバイルコンピューティングデバイス3203のGPS受信機(図示せず)は、自律車両サービスアプリケーション3240にGPSデータを提供するように構成されることができる。したがって、ユーザ識別コントローラ3246は、リンク3260を介して自律車両サービスプラットフォーム3201にGPSデータを提供することができ、自律車両サービスプラットフォーム3201は、リンク3261を介して自律車両3230にその位置を提供することができる。その後、自律車両3230は、ユーザのGPSデータを、車両のGPSによって導出される位置と比較することによって、ユーザ3202の相対距離および/または方向を決定することができる。   Further, for the example shown, the autonomous vehicle application 3240 is also configured to detect that the user 3202 is in or near a geographic region near the vehicle when the autonomous vehicle 3230 is approaching. A user identification controller 3246 can also be included. In some situations, user 3202 is for use by user 3203 (eg, due to various other vehicles including trucks, cars, taxis, and other obstacles that are common in urban environments). This may not be easily perceived or identified when the autonomous vehicle 3230 is approaching. In an example, autonomous vehicle 3230 may communicate wirelessly to determine and / or determine the spatial location of user 3202 relative to autonomous vehicle 3230 (eg, using the relative direction and signal strength of a radio frequency (“RF”) signal). A communication link 3262 (eg, via an RF signal such as Bluetooth® including WiFi or BLE) may be established. In some cases, the autonomous vehicle 3230 can detect the approximate geographic location of the user 3202 using, for example, GPS data. A GPS receiver (not shown) of mobile computing device 3203 can be configured to provide GPS data to autonomous vehicle service application 3240. Accordingly, the user identification controller 3246 can provide GPS data to the autonomous vehicle service platform 3201 via the link 3260, which provides the location to the autonomous vehicle 3230 via the link 3261. Can do. Thereafter, the autonomous vehicle 3230 can determine the relative distance and / or direction of the user 3202 by comparing the user's GPS data with a position derived by the vehicle's GPS.

自律車両3230はまた、ユーザの固有の顔特性に基づいて一般的にユーザ3202を検出するか、または、ユーザ3202の識別情報(例えば、名前、電話番号など)を識別するための顔検出アルゴリズムを実施するように構成されている論理のような、ユーザ3202の存在を識別するための追加の論理をも含むことができる。さらに、自律車両3230は、ユーザ3202を識別するためのコードを検出するための論理を含むことができる。そのようなコードの例は、QRコード、カラーコードなどのような特殊化された視覚コード、声によって起動または認識されるコードなどのような特殊化されたオーディオコードなどを含む。いくつかの事例において、コードは、セキュアな進入および/または脱出を保証するためにリンク3262を介して自律車両3230にデジタルに送信されることができる、符号化されたセキュリティキーであってもよい。さらに、ユーザ3202を識別するための、本明細書において記載されている技法のうちの1つまたは複数は、他者が自律車両3230に入るのを防止するように(例えば、ユーザ3202に到達する前に第三者が占有されていない自律車両に入らないことを保証するために)、ユーザ3202に進入および脱出の特権を与えるための安全確保された手段として使用されることができる。様々な例によれば、ユーザ3202を識別し、安全確保された進入および脱出を提供するための任意の他の手段がまた、自律車両サービスアプリケーション3240、自律車両サービスプラットフォーム3201、および自律車両3230のうちの1つまたは複数において実施されてもよい。   Autonomous vehicle 3230 also typically detects user 3202 based on the user's unique facial characteristics, or uses a face detection algorithm to identify user 3202's identification information (eg, name, phone number, etc.). Additional logic for identifying the presence of user 3202 may also be included, such as logic configured to implement. Further, autonomous vehicle 3230 can include logic to detect a code for identifying user 3202. Examples of such codes include specialized visual codes such as QR codes, color codes, specialized audio codes such as codes activated or recognized by voice, and the like. In some cases, the code may be an encoded security key that can be digitally transmitted to autonomous vehicle 3230 via link 3262 to ensure secure entry and / or exit. . Further, one or more of the techniques described herein for identifying user 3202 may prevent others from entering autonomous vehicle 3230 (eg, reach user 3202). In order to ensure that a third party has not previously entered an unoccupied autonomous vehicle), it can be used as a secure means to give the user 3202 privileges to enter and exit. According to various examples, any other means for identifying user 3202 and providing secure entry and exit is also provided for autonomous vehicle service application 3240, autonomous vehicle service platform 3201, and autonomous vehicle 3230. It may be implemented in one or more of them.

ユーザ3202がその要求されている輸送手段に到達するのを支援するために、自律車両3230は、自律車両3230がユーザ3202に接近するときにその存在をユーザ3202に通知または他の様態で警告するように構成されることができる。例えば、自律車両3230は、特定の光パターンに従って、1つまたは複数の発光デバイス3280(例えば、LED)を起動することができる。特に、ユーザ3202の輸送手段要求にサービスするために自律車両3230が確保されていることを、ユーザ3202が容易に知覚することができるように、特定の光パターンが生成される。例として、自律車両3230は、ユーザ3202によって、そのような視覚的および時間的方法でその外部および内部ライトの「まばたき」または他のアニメーションとして知覚され得る光パターン3290を生成することができる。光のパターン3290は、ユーザ3202に対して、この車両が、ユーザが予約したものであることを識別するために、音声のパターンを伴ってまたは伴わずに生成されてもよい。   To assist user 3202 in reaching its requested mode of transportation, autonomous vehicle 3230 notifies user 3202 of its presence or otherwise alerts user 3202 when autonomous vehicle 3230 approaches user 3202. Can be configured as follows. For example, the autonomous vehicle 3230 can activate one or more light emitting devices 3280 (eg, LEDs) according to a particular light pattern. In particular, a specific light pattern is generated so that the user 3202 can easily perceive that the autonomous vehicle 3230 is reserved to service the user 3202's transportation request. As an example, the autonomous vehicle 3230 can generate a light pattern 3290 that can be perceived by the user 3202 in such visual and temporal manner as a “blink” or other animation of its external and internal lights. A light pattern 3290 may be generated with or without an audio pattern to identify to the user 3202 that the vehicle has been reserved by the user.

いくつかの実施形態によれば、自律車両ユーザコントローラ3244は、自律車両の様々な機能を制御するように構成されているソフトウェアアプリケーションを実施することができる。さらに、アプリケーションは、自律車両を、その最初の目的地への移動中に方向転換またはルート変更するように構成されることができる。さらに、自律車両ユーザコントローラ3244は、内蔵論理に、例えばムード照明を行うために自律車両3230の内部照明を修正させるように構成されることができる。コントローラ3244はまた、オーディオのソース(例えば、Spotifyのような外部ソース、または、モバイルコンピューティングデバイス3203に局所的に格納されているオーディオ)を制御すること、搭乗のタイプを選択すること(例えば、所望される加速およびブレーキの積極性を修正すること、アクティブサスペンションパラメータを修正して「路面対処(road-handling)」特性のセットを選択して、振動を含む積極的な運転特性を実施すること、または、快適性のために振動が減衰されている「穏やかな搭乗(soft-ride)」を選択すること)などもできる。例えば、モバイルコンピューティングデバイス3203は、換気および温度のような、HVAC機能をも制御するように構成されることができる。   According to some embodiments, the autonomous vehicle user controller 3244 can implement a software application that is configured to control various functions of the autonomous vehicle. In addition, the application can be configured to turn or reroute the autonomous vehicle while traveling to its initial destination. Further, the autonomous vehicle user controller 3244 can be configured to cause the built-in logic to modify the internal lighting of the autonomous vehicle 3230, for example to provide mood lighting. The controller 3244 may also control the source of audio (eg, an external source such as Spotify, or audio stored locally on the mobile computing device 3203), select the type of boarding (eg, Modify the desired acceleration and braking aggressiveness, modify the active suspension parameters and select a set of “road-handling” characteristics to implement aggressive driving characteristics including vibration, Or you can choose "soft-ride" where the vibrations are damped for comfort). For example, the mobile computing device 3203 can be configured to also control HVAC functions, such as ventilation and temperature.

図33〜図35は、様々な実施形態による、自律車両サービスの構成要素に様々な機能を提供するように構成されている様々なコンピューティングプラットフォームの例を示す。いくつかの例において、コンピューティングプラットフォーム3300は、本明細書に記載された技法のいずれかを実行するために、コンピュータプログラム、アプリケーション、方法、プロセス、アルゴリズム、または他のソフトウェアを実装するために使用され得る。   FIGS. 33-35 illustrate examples of various computing platforms configured to provide various functions to components of an autonomous vehicle service, according to various embodiments. In some examples, the computing platform 3300 may be used to implement a computer program, application, method, process, algorithm, or other software to perform any of the techniques described herein. Can be done.

図33の様々な構造および/または機能は、図34および図35に適用可能であり、そのため、それらの図面のいくつかの要素は、図33の文脈において論じられ得ることに留意されたい。   It should be noted that the various structures and / or functions of FIG. 33 are applicable to FIGS. 34 and 35, so that some elements of those drawings may be discussed in the context of FIG.

いくつかの場合において、コンピューティングプラットフォーム3300は、自律車両サービスプラットフォーム内の1つまたは複数のコンピューティングデバイス内に配置され得るコンピューティングデバイス3390a、自律車両3391、および/またはモバイルコンピューティングデバイス3390bなどの、任意のデバイス内に配置され得る。   In some cases, the computing platform 3300 may be located within one or more computing devices in an autonomous vehicle service platform, such as a computing device 3390a, an autonomous vehicle 3391, and / or a mobile computing device 3390b. Can be placed in any device.

コンピューティングプラットフォーム3300は、情報を通信するためのバス3302または他の通信メカニズムを含み、これは、例えば、プロセッサを有するモバイルコンピューティングデバイスおよび/または通信デバイスを含むコンピューティングデバイスと通信するための通信リンク3321上でのポートを介した通信を促進するために、プロセッサ3304、システムメモリ3306(例えば、RAMなど)、記憶装置3308(例えば、ROMなど)、メモリ内キャッシュ(RAM 3306またはコンピューティングプラットフォーム3300の他の部分内で実施されることができる)、通信インターフェース3313(例えば、Ethernetまたはワイヤレスコントローラ、Bluetoothコントローラ、NFC論理など)のようなサブシステムおよびデバイスを相互接続する。プロセッサ3304は、1つまたは複数のグラフィックスプロセッシングユニット(「GPU」)、Intel(登録商標) Corporationによって製造されるもののような1つまたは複数の中央処理装置(「CPU」)、または1つまたは複数の仮想プロセッサ、およびCPUと仮想プロセッサとの任意の組み合わせによって実施されることができる。コンピューティングプラットフォーム3300は、限定ではないが、キーボード、マウス、オーディオ入力(例えば、発話−テキストデバイス)、ユーザインターフェース、ディスプレイ、モニタ、カーソル、タッチセンサ式ディスプレイ、LCDまたはLEDディスプレイ、および他のI/O関連デバイスを含む入出力デバイス3301を介して入力および出力を表現するデータを交換する。   The computing platform 3300 includes a bus 3302 or other communication mechanism for communicating information, for example, communication for communicating with a computing device including a mobile computing device and / or a communication device having a processor. To facilitate communication over the port on link 3321, processor 3304, system memory 3306 (eg, RAM, etc.), storage device 3308 (eg, ROM, etc.), in-memory cache (RAM 3306 or computing platform 3300) Communication interface 3313 (eg, Ethernet or wireless controller, Bluetooth controller, NFC theory) Subsystems and devices, such as) interconnecting. The processor 3304 may include one or more graphics processing units (“GPU”), one or more central processing units (“CPU”) such as those manufactured by Intel® Corporation, or one or It can be implemented by a plurality of virtual processors and any combination of CPUs and virtual processors. The computing platform 3300 includes, but is not limited to, a keyboard, mouse, audio input (eg, speech-text device), user interface, display, monitor, cursor, touch-sensitive display, LCD or LED display, and other I / O Data representing input and output is exchanged via an input / output device 3301 including O-related devices.

いくつかの例によれば、コンピューティングプラットフォーム3300は、システムメモリ3306に格納されている1つまたは複数の命令の1つまたは複数のシーケンスを実行するプロセッサ3304によって特定の動作を実施し、コンピューティングプラットフォーム3300は、クライアント−サーバ構成、ピアツーピア構成において、または、スマートフォンなどを含む任意のモバイルコンピューティングデバイスとして実施されることができる。そのような命令またはデータは、記憶装置3308のような別のコンピュータ可読媒体からシステムメモリ3306へと読み出されることができる。いくつかの例において、ソフトウェア命令の代わりにまたはソフトウェアと組み合わせて、配線回路が実施のために使用されてもよい。命令は、ソフトウェアまたはファームウェアにおいて具現化されることができる。「コンピュータ可読媒体」という用語は、実行のためにプロセッサ3304に命令を提供することに関与する任意の有形媒体を参照する。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む多くの形態をとることができる。不揮発性媒体は、例えば、光または磁気ディスクなどを含む。揮発性媒体は、システムメモリ3306のようなダイナミックメモリを含む。   According to some examples, computing platform 3300 may perform certain operations by processor 3304 executing one or more sequences of one or more instructions stored in system memory 3306 to compute Platform 3300 may be implemented in a client-server configuration, a peer-to-peer configuration, or as any mobile computing device including a smartphone or the like. Such instructions or data can be read into the system memory 3306 from another computer readable medium, such as the storage device 3308. In some examples, wiring circuitry may be used for implementation instead of software instructions or in combination with software. The instructions can be embodied in software or firmware. The term “computer-readable medium” refers to any tangible medium that participates in providing instructions to processor 3304 for execution. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks. Volatile media includes dynamic memory, such as system memory 3306.

一般的な形態のコンピュータ可読媒体は、例えば、磁気ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気媒体、CDROM、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH−EPROM、任意の他のメモリチップもしくはカートリッジ、または、コンピュータがそこから読み出すことができる任意の他の媒体を含む。命令は、さらに、伝送媒体を使用して送信または受信されることができる。「伝送媒体」という用語は、機械によって実行するための命令を格納、符号化または搬送することが可能である任意の有形または無形媒体を含むことができ、デジタルもしくはアナログ通信信号、または、そのような命令の通信を促進するための他の無形媒体を含む。伝送媒体は、コンピュータデータ信号を伝送するためのバス3302を含むワイヤを含む、同軸ケーブル、銅線、および光ファイバを含む。   Common forms of computer readable media include, for example, a magnetic disk, flexible disk, hard disk, magnetic tape, or any other magnetic medium, CDROM, any other optical medium, punch card, paper tape, hole pattern It includes any other physical medium, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read. The instructions can further be transmitted or received using a transmission medium. The term “transmission medium” can include any tangible or intangible medium capable of storing, encoding, or carrying instructions for execution by a machine, such as a digital or analog communication signal, or Including other intangible media to facilitate the communication of various commands. Transmission media includes coaxial cables, copper wire, and optical fiber, including wires including a bus 3302 for transmitting computer data signals.

いくつかの例において、命令のシーケンスの実行は、コンピューティングプラットフォーム3300によって実施されることができる。いくつかの例によれば、コンピューティングプラットフォーム3300は、互いに協働して(または互いに対して非同期的に)命令のシーケンスを実施するために、通信リンク3321(例えば、LAN、PSTNのような有線ネットワーク、または、様々な規格およびプロトコルのWiFi、Bluetooth(登録商標)、NFC、Zig−Bee(登録商標)等を含む任意のワイヤレスネットワーク)によって任意の他のプロセッサに結合されることができる。コンピューティングプラットフォーム3300は、通信リンク3321および通信インターフェース3313を通じて、プログラムコード(例えば、アプリケーションコード)を含むメッセージ、データ、および命令を送信および受信することができる。受信されるプログラムコードは、受信されるときにプロセッサ3304によって実行されてもよく、および/または、後の実行のためにメモリ3306または他の不揮発性記憶装置に格納されてもよい。   In some examples, execution of the sequence of instructions may be performed by computing platform 3300. According to some examples, computing platforms 3300 can communicate with each other (or asynchronously with respect to each other) to implement a sequence of instructions (eg, a wired link such as a LAN, PSTN, etc.) Network or any wireless network including various standards and protocols such as WiFi, Bluetooth®, NFC, Zig-Bee®, etc.). The computing platform 3300 can send and receive messages, data, and instructions including program code (eg, application code) through the communication link 3321 and the communication interface 3313. The received program code may be executed by processor 3304 when received and / or stored in memory 3306 or other non-volatile storage for later execution.

示されている例において、システムメモリ3306は、本明細書において記述されている機能を実施するための実行可能命令を含む様々なモジュールを含むことができる。システムメモリ3306は、オペレーティングシステム(「O/S」)3332、ならびに、アプリケーション3336および/または論理モジュール3359を含むことができる。図33に示されている例において、システムメモリ3306は、自律車両(「AV」)コントローラモジュール3350および/またはその構成要素(例えば、知覚エンジンモジュール、位置特定モジュール、プランナモジュール、および/またはモーションコントローラモジュール)を含み、それらのうちのいずれか、または、それらの1つもしくは複数の部分は、本明細書において記述されている1つまたは複数の機能を実施することによって、自律車両サービスを促進するように構成されることができる。   In the illustrated example, system memory 3306 can include a variety of modules that include executable instructions for performing the functions described herein. System memory 3306 may include an operating system (“O / S”) 3332 and applications 3336 and / or logic modules 3359. In the example shown in FIG. 33, system memory 3306 includes autonomous vehicle (“AV”) controller module 3350 and / or its components (eg, perceptual engine module, location module, planner module, and / or motion controller). Any of them, or one or more parts thereof, that facilitates autonomous vehicle services by performing one or more functions described herein Can be configured as follows.

図34に示されている例を参照すると、システムメモリ3306は、自律車両サービスプラットフォームモジュール3450および/またはその構成要素(例えば、遠隔操作者マネージャ、シミュレータなど)を含み、それらのうちのいずれか、または、それらの1つもしくは複数の部分は、本明細書において記述されている1つまたは複数の機能を実施することによって、自律車両サービスの管理を促進するように構成されることができる。   Referring to the example shown in FIG. 34, the system memory 3306 includes an autonomous vehicle service platform module 3450 and / or its components (eg, remote operator manager, simulator, etc.), any of which: Alternatively, one or more portions thereof can be configured to facilitate the management of autonomous vehicle services by performing one or more functions described herein.

図35に示されている例を参照すると、システムメモリ3306は、例えば、モバイルコンピューティングデバイスにおける使用のために、自律車両(「AV」)モジュールおよび/またはその構成要素を含む。モジュール3550の1つまたは複数の部分は、本明細書において記述されている1つまたは複数の機能を実施することによって、自律車両サービスの送達を促進するように構成されることができる。   With reference to the example shown in FIG. 35, system memory 3306 includes an autonomous vehicle (“AV”) module and / or components thereof, for example, for use in a mobile computing device. One or more portions of module 3550 may be configured to facilitate delivery of autonomous vehicle services by performing one or more functions described herein.

図33に戻って参照すると、本明細書に記載されるか、または参照によって組み込まれた特徴のいずれかの構造および/または機能は、ソフトウェア、ハードウェア、ファームウェア、回路、またはそれらの組み合わせにおいて実装され得る。上記の構造および構成要素ならびにそれらの機能は、1つまたは複数の他の構造または要素とともに集約されてもよいことに留意されたい。代替的に、要素およびそれらの機能は、もしあれば、構成部分要素に分割されることができる。ソフトウェアとして、本明細書に記載されるか、または参照によって組み込まれた技法は、様々なタイプのプログラミングまたはフォーマット言語、フレームワーク、構文、アプリケーション、プロトコル、オブジェクト、または技法を使用して実施されてもよい。ハードウェアおよび/またはファームウェアとして、本明細書に記載されるか、または参照によって組み込まれた技法は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)、または任意の他のタイプの集積回路を設計するように構成されている任意のレジスタ転送言語(「RTL」)のようなハードウェア記述言語を含む、様々なタイプのプログラミングまたは集積回路設計言語を使用して実施されてもよい。いくつかの実施形態によれば、「モジュール」という用語は、例えば、ハードウェア回路もしくはソフトウェアのいずれか、または、それらの組み合わせにおいて実施されるアルゴリズムもしくはその部分、および/または論理を参照することができる。これらは、変更されることができ、提供されている例または記述に限定されない。   Referring back to FIG. 33, the structure and / or functionality of any of the features described herein or incorporated by reference are implemented in software, hardware, firmware, circuitry, or combinations thereof. Can be done. Note that the structures and components described above and their functions may be aggregated with one or more other structures or elements. Alternatively, the elements and their functions, if any, can be divided into component parts. The techniques described herein as software or incorporated by reference are implemented using various types of programming or formatting languages, frameworks, syntax, applications, protocols, objects, or techniques. Also good. Techniques described herein or incorporated by reference as hardware and / or firmware include field programmable gate arrays (“FPGAs”), application specific integrated circuits (“ASICs”), or any Implemented using various types of programming or integrated circuit design languages, including hardware description languages such as any register transfer language (“RTL”) configured to design other types of integrated circuits May be. According to some embodiments, the term “module” may refer to, for example, an algorithm or portion thereof implemented in either hardware circuitry or software, or a combination thereof, and / or logic. it can. These can be varied and are not limited to the examples or descriptions provided.

いくつかの実施形態において、図33のモジュール3350、図34のモジュール3450、および図35のモジュール3550、またはそれらの構成要素のうちの1つもしくは複数、または本明細書において記述されている任意のプロセスもしくはデバイスは、携帯電話またはモバイルコンピューティングデバイスのようなモバイルデバイスと(例えば、有線またはワイヤレスで)通信することができ、または、その中に配置されることができる。   In some embodiments, module 3350 of FIG. 33, module 3450 of FIG. 34, and module 3550 of FIG. 35, or one or more of their components, or any of those described herein The process or device can communicate with (or be placed in) a mobile device (eg, wired or wireless) such as a mobile phone or mobile computing device.

いくつかの事例において、モバイルデバイス、または、1つもしくは複数のモジュール3359(図33のモジュール3350、図34のモジュール3450、および図35のモジュール3550)もしくはその構成要素のうちの1つもしくは複数と通信する任意のネットワーク接続されているコンピューティングデバイス(図示せず)(または本明細書において記述されている任意のプロセスまたはデバイス)は、本明細書において記述されている特徴のうちのいずれかの構造および/または機能のうちの少なくともいくつかを提供することができる。本明細書に記載されるか、または参照によって組み込まれた図面に示されているように、本明細書に記載されるか、または参照によって組み込まれた特徴のうちのいずれかの構造および/または機能は、ソフトウェア、ハードウェア、ファームウェア、回路、またはそれらの任意の組み合わせにおいて実施されることができる。上記の構造および構成要素ならびにそれらの機能は、1つまたは複数の他の構造または要素とともに集約され、または、組み合わされてもよいことに留意されたい。代替的に、要素およびそれらの機能は、もしあれば、構成部分要素に分割されることができる。ソフトウェアとして、本明細書に記載されるか、または参照によって組み込まれた技法のうちの少なくともいくつかは、様々なタイプのプログラミングまたはフォーマット言語、フレームワーク、構文、アプリケーション、プロトコル、オブジェクト、または技法を使用して実施されてもよい。例えば、図面のうちのいずれかに示されている要素のうちの少なくとも1つは、1つまたは複数のアルゴリズムを表現することができる。または、それらの要素のうちの少なくとも1つは、構成構造および/または機能を提供するように構成されているハードウェアの部分を含む、論理の部分を表現することができる。   In some cases, with a mobile device, or one or more of modules 3359 (module 3350 of FIG. 33, module 3450 of FIG. 34, and module 3550 of FIG. 35) or one or more of its components Any networked computing device (not shown) (or any process or device described herein) in communication with any of the features described herein At least some of the structure and / or function may be provided. Structures and / or any of the features described herein or incorporated by reference as shown in the drawings described herein or incorporated by reference. A function may be implemented in software, hardware, firmware, circuitry, or any combination thereof. Note that the structures and components described above and their functions may be aggregated or combined with one or more other structures or elements. Alternatively, the elements and their functions, if any, can be divided into component parts. As software, at least some of the techniques described herein or incorporated by reference include various types of programming or formatting languages, frameworks, syntaxes, applications, protocols, objects, or techniques. May be implemented using. For example, at least one of the elements shown in any of the drawings can represent one or more algorithms. Alternatively, at least one of those elements can represent a portion of logic, including a portion of hardware that is configured to provide a structural structure and / or functionality.

例えば、図33のモジュール3350、図34のモジュール3450、および図35のモジュール3550、またはその構成要素のうちの1つもしくは複数、または本明細書において記述されている任意のプロセスもしくはデバイスは、メモリ内の1つまたは複数のアルゴリズムを実行するように構成されている1つまたは複数のプロセッサを含む1つまたは複数のコンピューティングデバイス(すなわち、装着されるかまたは搬送されるかを問わず、ウェアラブルデバイス、オーディオデバイス(ヘッドフォンまたはヘッドセットなど)または携帯電話のような任意のモバイルコンピューティングデバイス)において実施されることができる。したがって、本明細書に記載されるか、または参照によって組み込まれた図面内の要素のうちの少なくともいくつかは、1つまたは複数のアルゴリズムを表現することができる。または、それらの要素のうちの少なくとも1つは、構成構造および/または機能を提供するように構成されているハードウェアの部分を含む、論理の部分を表現することができる。これらは、変更されることができ、提供されている例または記述に限定されない。   For example, module 3350 in FIG. 33, module 3450 in FIG. 34, and module 3550 in FIG. 35, or one or more of its components, or any process or device described herein may be memory One or more computing devices (ie, wearable or transported) that include one or more processors configured to execute one or more algorithms within It can be implemented in a device, an audio device (such as a headphone or headset) or any mobile computing device such as a mobile phone. Accordingly, at least some of the elements in the drawings described herein or incorporated by reference may represent one or more algorithms. Alternatively, at least one of those elements can represent a portion of logic, including a portion of hardware that is configured to provide a structural structure and / or functionality. These can be varied and are not limited to the examples or descriptions provided.

ハードウェアおよび/またはファームウェアとして、本明細書に記載されるか、または参照によって組み込まれた構造および/または技法は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)、マルチチップモジュール、または任意の他のタイプの集積回路を設計するように構成されている任意のレジスタ転送言語(「RTL」)のようなハードウェア記述言語を含む、様々なタイプのプログラミング言語または集積回路設計言語を使用して実施されることができる。   The structures and / or techniques described herein or incorporated by reference as hardware and / or firmware include field programmable gate arrays (“FPGAs”), application specific integrated circuits (“ASICs”). Various types of programming languages, including hardware description languages such as multi-chip modules, or any register transfer language (“RTL”) configured to design any other type of integrated circuit It can be implemented using an integrated circuit design language.

例えば、図33のモジュール3350、図34のモジュール3450、および図35のモジュール3550、またはその構成要素のうちの1つもしくは複数、または本明細書において記述されている任意のプロセスもしくはデバイスは、1つまたは複数の回路を含む1つまたは複数のコンピューティングデバイスにおいて実施されることができる。したがって、本明細書に記載されるか、または参照によって組み込まれた図面内の要素のうちの少なくとも1つは、ハードウェアの1つまたは複数の構成要素を表現することができる。または、それらの要素のうちの少なくとも1つは、構成構造および/または機能を提供するように構成されている回路の部分を含む、論理の部分を表現することができる。   For example, module 3350 in FIG. 33, module 3450 in FIG. 34, module 3550 in FIG. 35, or one or more of its components, or any process or device described herein is It can be implemented in one or more computing devices that include one or more circuits. Accordingly, at least one of the elements in the drawings described herein or incorporated by reference may represent one or more components of hardware. Alternatively, at least one of those elements can represent a portion of logic, including a portion of a circuit that is configured to provide a structural structure and / or function.

いくつかの実施形態によれば、「回路」という用語は、例えば、1つまたは複数の機能を実行するためにそれを通じて電流が流れるいくつかの構成要素を含む任意のシステムを参照することができ、構成要素は、個別のおよび複雑な構成要素を含む。個別の構成要素の例は、トランジスタ、抵抗器、キャパシタ、インダクタ、ダイオードなどを含み、複雑な構成要素の例は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)を含む、メモリ、プロセッサ、アナログ回路、デジタル回路などを含む。それゆえ、回路は、電子構成要素および論理構成要素(例えば、例えばアルゴリズムの実行可能命令のグループのような命令を実行するように構成されており、したがって、回路の構成要素である論理)のシステムを含むことができる。いくつかの実施形態によれば、「モジュール」という用語は、例えば、ハードウェア回路もしくはソフトウェアのいずれか、または、それらの組み合わせにおいて実施されるアルゴリズムもしくはその部分、および/または論理を参照することができる(すなわち、モジュールは回路として実施することができる)。いくつかの実施形態において、アルゴリズムおよび/またはアルゴリズムが格納されているメモリは、回路の「構成要素」である。したがって、「回路」という用語は、例えば、アルゴリズムを含む構成要素のシステムをも参照することができる。これらは、変更されることができ、提供されている例または記述に限定されない。   According to some embodiments, the term “circuit” can refer to any system including, for example, several components through which current flows to perform one or more functions. The components include individual and complex components. Examples of discrete components include transistors, resistors, capacitors, inductors, diodes, etc., and examples of complex components include field programmable gate arrays (“FPGAs”), application specific integrated circuits (“ASICs”). Including memory, processor, analog circuit, digital circuit and the like. Therefore, the circuit is a system of electronic and logic components (eg, logic that is configured to execute instructions such as, for example, a group of executable instructions in an algorithm and thus is a component of the circuit). Can be included. According to some embodiments, the term “module” may refer to, for example, an algorithm or portion thereof implemented in either hardware circuitry or software, or a combination thereof, and / or logic. (Ie, the module can be implemented as a circuit). In some embodiments, the algorithm and / or memory in which the algorithm is stored is a “component” of the circuit. Thus, the term “circuit” can also refer to, for example, a component system that includes an algorithm. These can be varied and are not limited to the examples or descriptions provided.

図36は、いくつかの例による、シミュレートされた環境においてシミュレートされた自律車両の1つまたは複数の機能をシミュレートするように構成されたシミュレータを示す図である。図3600は、例えば、自律車両サービスを構成することができる1つまたは複数の自律車両の群3630aのためのハードウェアおよびソフトウェア、またはそれらの組み合わせの有効性を決定するために、自律車両3600(または、センサのようなその構成要素のいずれか)の動作がシミュレートされ得る、シミュレートされた世界または環境3603を合成するように構成されたシミュレータ3640を示す。さらに、シミュレータ3640は、例えば、シミュレートされた自律車両3630が異なる運転状態またはシナリオにおいて走行するように車両ダイナミクスをシミュレートするように構成され得る。例えば、シミュレータ3640は、都市に特有であり得る特有の地形(例えば、サンフランシシコの丘、ニューヨーク市の都市交通など)上の運転、ならびに異なる運転状況(例えば、雨、氷などによる減少された車輪摩擦のシミュレーション)の間の運転を含む運転シナリオにおける自律車両3630の動作をシミュレートすることができる。示された例において、シミュレートされた環境3603は、シミュレートされた自律車両3630の走行の方向において増加している斜面または坂を有する道路セグメントを含み(すなわち、車両3630は、表記3686によって示されているように上り坂を走行している)、シミュレートされた自律車両3630が横断する可能性がある氷3684の形成を有するようにも示されている。   FIG. 36 is a diagram illustrating a simulator configured to simulate one or more functions of a simulated autonomous vehicle in a simulated environment, according to some examples. FIG. 3600 illustrates, for example, an autonomous vehicle 3600 ( Or shows a simulator 3640 configured to synthesize a simulated world or environment 3603 in which the operation of any of its components, such as sensors, can be simulated. Further, the simulator 3640 can be configured to simulate vehicle dynamics such that, for example, a simulated autonomous vehicle 3630 travels in different driving conditions or scenarios. For example, the simulator 3640 can drive on specific terrain (eg, San Francisco Hills, New York City city traffic, etc.) that can be city specific, as well as reduced wheels due to different driving conditions (eg, rain, ice, etc.). The operation of the autonomous vehicle 3630 can be simulated in a driving scenario that includes driving during (simulation of friction). In the illustrated example, the simulated environment 3603 includes road segments having slopes or slopes that increase in the direction of travel of the simulated autonomous vehicle 3630 (ie, the vehicle 3630 is indicated by the notation 3686. The simulated autonomous vehicle 3630 is also shown to have the formation of ice 3684 that may traverse.

さらに、シミュレータ3640は、レーザおよびカメラデータ、ならびに、レーダデータ、ソナーデータなどのような任意の他のデータに基づいて、シミュレートされた環境3603を生成することもできる。シミュレートされた環境3603は、例えば、カメラビジョン/画像データ(または任意の他のセンサデータ)と組み合わせてレーザスキャナを使用して生成された3Dポイントクラウドを含む3Dマップに基づき得る。センサデータの例は、限定はされないが、ライダデータ、画像またはカメラデータ、GPSデータ、慣性測定ユニット(「IMU」)データ、音響データ、オドメトリデータ、車輪角度データ、バッテリ充電レベル、1つまたは複数のドライブトレインまたは電気モータのための駆動電流、任意の構成要素の熱エネルギーデータ(例えば、温度)、加速または減速データ、1つまたは複数の車輪などに適用され得る制動圧力または制動力、ならびに、本明細書に記載された、またはさもなければ参照により本明細書に組み込まれた他のセンサデータを含む。シミュレータ3640は、シミュレートされた自律車両3630上または内に配置されたセンサによって検出され得るセンサ戻りデータをシミュレートすることもできる。シミュレートされたセンサ戻りデータの例は、道路に隣接する建物のファサードのような外部特徴の一部3672から反射されたシミュレートされたライダレーザ戻り3671を含む。   Further, the simulator 3640 can generate a simulated environment 3603 based on laser and camera data and any other data such as radar data, sonar data, and the like. The simulated environment 3603 may be based, for example, on a 3D map that includes a 3D point cloud generated using a laser scanner in combination with camera vision / image data (or any other sensor data). Examples of sensor data include, but are not limited to, lidar data, image or camera data, GPS data, inertial measurement unit (“IMU”) data, acoustic data, odometry data, wheel angle data, battery charge level, one or more Drive current for any of the drivetrains or electric motors, thermal energy data (e.g., temperature) of any component, acceleration or deceleration data, braking pressure or braking force that may be applied to one or more wheels, etc., and Other sensor data described herein or otherwise incorporated herein by reference is included. The simulator 3640 can also simulate sensor return data that can be detected by sensors located on or in the simulated autonomous vehicle 3630. Examples of simulated sensor return data include a simulated lidar laser return 3671 reflected from a portion 3672 of an external feature such as a building facade adjacent to a road.

図3600は、動的オブジェクト3680および3682a、ならびにシミュレートされた道路状態(例えば、氷3684)を含むシミュレートされた環境3603を生成するために協力して動作することができるデータモデラ3620およびシミュレータ3640を示す。シミュレータ3640は、シミュレートされた自律車両3630の挙動をシミュレートする際に使用するための機械的側面、静的側面、動的側面、および運動学的側面をシミュレートするように構成された物理プロセッサ3650を含むことができる。例えば、物理プロセッサ3650は、シミュレートされた接触機構、ならびに、シミュレートされたボディ間の相互作用、および/またはシミュレートされた機械的相互作用を含むことができる。シミュレータ3640は、数ある中で、因果関係を決定し評価するために、シミュレートされた環境3603の任意の合成的に生成された要素の機能性を適応させるためにシミュレーションを制御するように構成されたシミュレータコントローラ3656を含むこともできる。図36の図3600内に示されている要素は、本明細書に記載された、または参照により本明細書に組み込まれた1つまたは複数の他の図面に関連して記述されている、同様に名付けられた要素としての構造および/または機能を含むことができることに留意されたい。   FIG. 3600 illustrates a data modeler 3620 and simulator that can operate in concert to generate a simulated environment 3603 that includes dynamic objects 3680 and 3682a and a simulated road condition (eg, ice 3684). 3640 is shown. Simulator 3640 is a physics configured to simulate mechanical, static, dynamic, and kinematic aspects for use in simulating the behavior of a simulated autonomous vehicle 3630. A processor 3650 may be included. For example, the physical processor 3650 can include simulated contact mechanisms, as well as simulated body-to-body interactions, and / or simulated mechanical interactions. The simulator 3640 is configured to control the simulation to adapt the functionality of any synthetically generated elements of the simulated environment 3603 to determine and evaluate causality, among other things. A simulated simulator controller 3656 may also be included. Elements shown in FIG. 3600 of FIG. 36 are described in connection with one or more other drawings described herein or incorporated herein by reference. It should be noted that the structure and / or function as an element named can be included.

いくつかの例において、データモデラ3620は、自律車両の群3630aからのログファイルデータを受信し、ログファイルデータは、限定はされないが、オブジェクトデータ3631、マップデータ3633、センサデータ3635、および車両構成要素データ3637、ならびに、群3630a内の1つまたは複数の自律車両の構造および/または機能を記述する他のデータを含む、様々なタイプのデータを提供する。いくつかの例において、上記で説明されたデータは、その年の異なる時間および季節において、多くの異なる条件の下で走行された多くのマイルにわたって記録され得る。記録されたデータは、道路ネットワークを任意の回数走行することができる任意の数の自律車両から生成され得る。さらに、データモデラ3620は、道路(例えば、斜面、(例えば、***、くぼみなどによる)粗さ、道路の端に向かう傾斜角などのような特徴)、摩擦の典型的なもしくは予測される値または表面タイプ、道路ネットワークの1つまたは複数の部分における確率的に予測される動的オブジェクト(例えば、シミュレートされた自律車両3630は、その日の終わっている学校の近くで動的オブジェクトとして多数の子供に遭遇することを予測することができる)、および任意の他の特性を特性化する論理を含むことができる。データモデラ3620は、様々な気象条件の下で道路を特性化する論理をさらに含むことができる。したがって、データモデラ3620は、道路ネットワークまたは任意の他の経路もしくは道路セグメントのデータモデルを形成するために、道路の特性を表すデータを使用することができる。いくつかの場合において、データモデラ3620内の論理は、(例えば、群3630aによって)走行された数十万〜数百万マイルに基づくデータ(例えば、センサデータ)、または、同じまたは異なる道路に関するより少ないもしくはより多い量の距離にわたって記録された任意の他の量のデータを集約するか、または他の方法で融合することができる。   In some examples, the data modeler 3620 receives log file data from the group of autonomous vehicles 3630a, including but not limited to object data 3631, map data 3633, sensor data 3635, and vehicle configuration. Various types of data are provided, including element data 3637 and other data describing the structure and / or function of one or more autonomous vehicles in group 3630a. In some examples, the data described above can be recorded over many miles traveled under many different conditions at different times and seasons of the year. The recorded data can be generated from any number of autonomous vehicles that can travel the road network any number of times. In addition, the data modeler 3620 may include roads (eg, features such as slopes, roughness (eg, due to bumps, depressions, etc.), slope angles toward the edges of the road, etc.), typical or predicted values of friction, or Stochastic predicted dynamic objects in one or more parts of the surface type, road network (eg, the simulated autonomous vehicle 3630 is a large number of children as dynamic objects near the school where the day ends) Can be predicted), and logic to characterize any other property. Data modeler 3620 can further include logic to characterize the road under various weather conditions. Thus, the data modeler 3620 can use data representing road characteristics to form a data model of a road network or any other route or road segment. In some cases, the logic within data modeler 3620 may be based on hundreds of thousands to millions of miles traveled (eg, by group 3630a) (eg, sensor data) or more on the same or different roads. Any other amount of data recorded over a smaller or greater amount of distance can be aggregated or otherwise fused.

示されているように、データモデラ3620は、動的オブジェクトデータモデラ3621、環境モデラ3623、センサモデラ3625、および車両モデラ3627、または、シミュレートされた環境3603の1つまたは複数の部分を生成するためにシミュレータ3640によって使用され得る1つまたは複数のデータモデルを生成するための任意の他のハードウェアおよび/もしくはそのソフトウェア実装形態を含む。動的オブジェクトデータモデラ3621は、群3630aの自律車両が特性データを取得する環境内の1つまたは複数のオブジェクトの特性を表すデータ(例えば、記録されたデータ)を受信するように構成され得る。そのようなデータは、オブジェクトのクラスを(例えば、歩行者、ペットまたは動物、自転車に乗っている人、自動車などとして)視覚的に定義することができる3Dポイントクラウドまたは別の他のデータ表現を含むことができ、それによって、分類されたオブジェクトは、(例えば、単位時間あたりの)特定のレベルのダイナミズムおよび/または動きの予測される範囲と関連付けられ得、それによって、動きの予測される範囲は、少なくともいくつかの例において、(例えば、予測される動きのベクトルによって表される)動きの予測される方向を記述することもできる。いくつかの例によれば、動きの予測される範囲は、オブジェクトが静的オブジェクトから動的オブジェクトに遷移することができる確率、および/またはオブジェクトの動きに関連付けられた速度もしくは加速度を記述することができる。   As shown, data modeler 3620 generates one or more portions of dynamic object data modeler 3621, environment modeler 3623, sensor modeler 3625, and vehicle modeler 3627, or simulated environment 3603. Including any other hardware and / or software implementation thereof for generating one or more data models that may be used by simulator 3640. The dynamic object data modeler 3621 may be configured to receive data (eg, recorded data) that represents characteristics of one or more objects in the environment from which the autonomous vehicles of group 3630a obtain characteristic data. Such data includes a 3D point cloud or other data representation that can visually define a class of objects (eg, as a pedestrian, pet or animal, bicycle rider, car, etc.). The classified objects can be associated with a specific level of dynamism and / or a predicted range of motion (eg, per unit time), whereby the predicted range of motion May also describe a predicted direction of motion (eg, represented by a predicted motion vector) in at least some examples. According to some examples, the predicted range of motion describes the probability that an object can transition from a static object to a dynamic object, and / or the velocity or acceleration associated with the motion of the object Can do.

上記を考慮して、動的オブジェクトデータモデラ3621は、任意の数のオブジェクトを識別するように構成され得、オブジェクトを任意の数のクラスに分類するようにさらに構成され得る。いくつかの例によれば、動的オブジェクトデータモデラ3621は、ある時点において静的であり得、別の時点において動的であり得るオブジェクトを含む、静的オブジェクトを識別し分類することもできる(例えば、ある時点において道ばたに座っているペットの犬3682bは、別の時点において突然ジャンプして道路に走り込む可能性がある)。例示するために、動的オブジェクトデータモデラ3621が、オブジェクト3682bを犬として分類することができ、動的特性および/または動きの予測される範囲を犬に関連付けることができることを考える。さらに、動的オブジェクトデータモデラ3621は、動的オブジェクト3680、または動いている犬として示された動的オブジェクト3682aのような、他の動的オブジェクトとの相互作用に関してオブジェクト3682bの予測動作を記述するデータモデルを生成することができる。動的オブジェクト3682aの不在において、犬3682bは、アクティビティ(例えば、前方に跳ね、走っている)に関与する第1の確率に関連付けられ得る。しかしながら、犬3682bが(動きの予測される範囲3683を有する)犬3682aと遭遇または相互作用する(または追いかける)イベントにおいて、犬3682bがアクティビティに関与する確率は、急激に増加する可能性がある。例えば、犬3682bが前方に跳ね、犬3682aを本能的に追いかける確率は、(例えば、記録されたデータに基づく)約10%から約85%に増加する可能性がある。このデータモデルに基づいて、シミュレータは、動的オブジェクトデータモデラ3621からの導出されたモデル化された挙動に基づいて、1つの動的オブジェクト3682aではなく、ナビゲーションおよびプランニングにおいて考慮するために2つの動的オブジェクト3682aおよび3682bを含むようにシミュレータされた環境3603を生成することができる。   In view of the above, the dynamic object data modeler 3621 can be configured to identify any number of objects and can be further configured to classify the objects into any number of classes. According to some examples, the dynamic object data modeler 3621 can also identify and classify static objects, including objects that can be static at one time and dynamic at another time ( For example, a pet dog 3682b sitting on the road at one point may jump suddenly and run on the road at another point). To illustrate, consider that the dynamic object data modeler 3621 can classify the object 3682b as a dog and associate the dynamic characteristics and / or predicted range of motion with the dog. Further, dynamic object data modeler 3621 describes the predictive behavior of object 3682b with respect to interaction with other dynamic objects, such as dynamic object 3680 or dynamic object 3682a shown as a moving dog. A data model can be generated. In the absence of dynamic object 3682a, dog 3682b may be associated with a first probability of being involved in an activity (eg, jumping forward and running). However, in the event that dog 3682b encounters or interacts with (or follows) dog 3682a (which has a predicted range of motion 3683), the probability that dog 3682b is involved in the activity may increase rapidly. For example, the probability that dog 3682b jumps forward and instinctively pursues dog 3682a may increase from about 10% to about 85% (eg, based on recorded data). Based on this data model, the simulator is based on the modeled behavior derived from the dynamic object data modeler 3621, and not two dynamic objects 3682a, but two motions to consider in navigation and planning. A simulated environment 3603 can be created to include the static objects 3682a and 3682b.

動的オブジェクトデータモデラ3621は、任意のオブジェクトに関する分類を、動きに関連するデータ(例えば、動きの予測される範囲、速度、動きの予測される経路など)として説明するデータモデルを生成することができる。図3600にさらに付け加えると、動的オブジェクトデータモデラ3621は、(例えば、横断歩道内の動きの方向を含む)動きの予測される範囲に関連付けられたシミュレートされた動的オブジェクト3680(例えば、ジョガー)のレートを生成するためにシミュレータ3640が使用することができるデータモデルを生成することができる。他の動的オブジェクトが分類され得、いくつかの場合において、さらにサブ分類され得る。例えば、道路セグメントは、いくつかのバーまたはナイトクラブに隣接する場合があり、それによって、分類された動的オブジェクト(例えば、若い成人の歩行者)は、昼間に第1の予測される挙動または動きを有する可能性があるが、バーおよびナイトクラブが閉まった後の2:00amにおいて、他の予測される挙動(または予測不可能な挙動)を示す可能性があり、または示すように予測され得る。シミュレータ3640は、自律車両3630が物理的に走行する物理的環境に対するシミュレートされた環境3603における強化された精度を提供するために、モデラ3621によって生成された動的オブジェクトデータモデルと共に使用することができる。   The dynamic object data modeler 3621 may generate a data model that describes the classification for an arbitrary object as data related to motion (eg, predicted range of motion, speed, predicted path of motion, etc.). it can. In further addition to FIG. 3600, dynamic object data modeler 3621 may include a simulated dynamic object 3680 (eg, a jogger) ) Can be used to generate a data model that can be used by simulator 3640. Other dynamic objects may be classified and in some cases may be further subclassified. For example, a road segment may be adjacent to several bars or nightclubs, so that a classified dynamic object (eg, a young adult pedestrian) has a first predicted behavior or May have movement, but may show or be predicted to show other predicted behavior (or unpredictable behavior) at 2:00 am after bars and nightclubs are closed obtain. Simulator 3640 may be used with the dynamic object data model generated by modeler 3621 to provide enhanced accuracy in simulated environment 3603 relative to the physical environment in which autonomous vehicle 3630 physically travels. it can.

環境モデラ3623は、いくつかの例においては静的部分のような、シミュレートされた環境3603の様々な部分を生成するように構成され得る。示された例において、環境モデラ3623は、物理的外部環境の幾何学的形状を記述する環境モデルを生成するためにマップデータ3633を受信することができる。環境モデラ3623によって生成された環境モデルデータは、例えば、3Dマップデータ3633に基づいてシミュレートされた環境3603を生成するためにシミュレータ3640によって使用され得る。いくつかの場合において、環境モデラ3623が、3D(または4D)シミュレートされた環境3603を生成するために、本明細書に記載された、または参照により本明細書に組み込まれたようなマッピングエンジンまたはマッパー構造および/もしくは機能の1つまたは複数の部分を含むことができ、またはそれと同様であり得る。   The environment modeler 3623 may be configured to generate various portions of the simulated environment 3603, such as static portions in some examples. In the illustrated example, environment modeler 3623 can receive map data 3633 to generate an environment model that describes the geometry of the physical external environment. The environment model data generated by the environment modeler 3623 can be used by the simulator 3640, for example, to generate a simulated environment 3603 based on the 3D map data 3633. In some cases, the environment modeler 3623 is a mapping engine as described herein or incorporated herein by reference to generate a 3D (or 4D) simulated environment 3603. Or it can include one or more portions of mapper structure and / or function, or the like.

センサモデラ3625は、自律車両の群3630aから記録されたデータとして抽出されたセンサデータ3635に基づいて、様々なタイプのセンサの1つまたは複数のセンサデータの様々な機能を表すデータモデルを生成するように構成される。例えば、センサデータ3635は、限定はされないが、ライダデータ、レーダデータ、ソナーデータ、画像/カメラデータ、音響データ、超音波データ、IMUに関連するデータ、オドメトリデータ、車輪角度データ、および任意の他のタイプのセンサデータのような、1つまたは複数のタイプのセンサデータのうちのセンサデータの1つまたは複数のサブセットを含むことができる。シミュレータ3640は、シミュレートされた自律車両3630内に実装された任意の数のセンサをモデル化するために、センサモデラ3625によって生成されたデータを使用することができる。例えば、シミュレートされ得る自律車両コントローラ(図示せず)が、その少なくとも1つが表面部分3672から反射されるようなレーザ戻り3671として示されたレーザスキャンをレイトレースするように構成されたシミュレートされた自律車両3630またはシミュレートされたライダセンサの位置3670を識別するように構成され得ることを考える。さらに、自律車両コントローラは、外部幾何学的形状3672(ならびにそのような幾何学的形状の範囲または位置)を識別するために3Dマップデータにアクセスすることができ、また、シミュレートされたライダセンサの位置を記述するために、x座標、y座標、z座標、ロール値、ピッチ値、およびヨー値のうちの1つまたは複数を識別するように構成され得る。いくつかの例において、シミュレータ3640のシミュレータコントローラ3656は、シミュレーションの精度を決定するために、シミュレートされたレーザ戻り3671に関するシミュレートされた値および測定値(例えば、強度、範囲、反射率など)を、経験的に導出されたライダデータ(例えば、センサデータ3635)に対して比較するように構成され得る。   The sensor modeler 3625 generates a data model representing various functions of one or more sensor data of various types of sensors based on the sensor data 3635 extracted as data recorded from the group of autonomous vehicles 3630a. Configured. For example, sensor data 3635 includes, but is not limited to, lidar data, radar data, sonar data, image / camera data, acoustic data, ultrasound data, IMU related data, odometry data, wheel angle data, and any other One or more subsets of sensor data of one or more types of sensor data, such as sensor data types. The simulator 3640 can use the data generated by the sensor modeler 3625 to model any number of sensors implemented in the simulated autonomous vehicle 3630. For example, an autonomous vehicle controller (not shown) that can be simulated is simulated to be ray-traced a laser scan, shown as laser return 3651, at least one of which is reflected from surface portion 3672. Consider that an autonomous vehicle 3630 or a simulated rider sensor position 3670 may be configured. In addition, the autonomous vehicle controller can access 3D map data to identify external geometry 3672 (as well as the extent or position of such geometry) and can also be used with simulated rider sensors. To describe the position, it may be configured to identify one or more of x-coordinate, y-coordinate, z-coordinate, roll value, pitch value, and yaw value. In some examples, the simulator controller 3656 of the simulator 3640 can simulate values and measurements (eg, intensity, range, reflectivity, etc.) for the simulated laser return 3671 to determine the accuracy of the simulation. May be configured to be compared against empirically derived lidar data (eg, sensor data 3635).

車両モデラ3627は、様々な車両構成要素に関連付けられた様々なタイプおよび値を表すデータを受信するように構成され得、自律車両の機械的および/または電気的構成要素の構造的および/または機能的特性を表すデータを生成するようにさらに構成され得る。さらに、車両モデラ3627は、自律車両のダイナミクスおよびキネマティクス、ならびに、電気的および機械的機能性を記述する車両構成要素データモデルを生成することができる。   The vehicle modeler 3627 may be configured to receive data representing various types and values associated with various vehicle components, and the structural and / or function of mechanical and / or electrical components of the autonomous vehicle. It may be further configured to generate data representative of the characteristic. Further, the vehicle modeler 3627 can generate a vehicle component data model that describes the dynamics and kinematics of autonomous vehicles, as well as electrical and mechanical functionality.

データモデラ3620はまた、あるタイプのデータの1つまたは複数のサブセットを、別のタイプのデータの1つまたは複数のサブセットに関連付けるように構成され得る。様々な例によれば、データモデラ3620は、自律車両の様々な状態を決定するために、オフラインまたはオンラインの深層学習技法を実施することができる。状態データは、シミュレートされた自律車両3630によるシミュレートされた応答が適切であるかどうかを決定するために、様々な論理モジュールを評価するために、シミュレータ3640および物理プロセッサ3650によって使用され得る。例えば、データモデラ3620は、描画された道路セグメントを上り坂3686の傾斜を有するものとしてモデル化することができ、さらに、上り坂を走行するために車輪によって加えられる加速度および/またはトルクの規範的な範囲を含むことができる。したがって、シミュレートされた自律車両3630は、車輪が氷3684のような「イベント」に遭遇すると、摩擦を失う(すなわち、車輪がスピンする)可能性がある。この場合において、シミュレータコントローラ3656は、シミュレーションの精度を確認し、適切な方策を取るために、車輪の角速度の増加されるレートを予期することができる。別の例として、シミュレートされた自律車両3630が横断歩道の前に停止するまで減速していると考える。そのようにして、シミュレータコントローラ3656は、減速度と特定のレベルの制動(例えば、制動力または圧力)とを検出することを予期し、そうでなければ問題が決定され得る。別の例として、シミュレータコントローラ3656が、シミュレートされた自律車両3630の操舵システムが右またはオフロードに引っ張られていることを決定すると考える。したがって、シミュレータ3640は、(例えば、マップデータ3633に基づいて)道路が右に傾いている道路状況をシミュレートすることができ、フラットタイヤをシミュレートすることができ、またはミスアライメントをシミュレートすることができる。   Data modeler 3620 may also be configured to associate one or more subsets of one type of data with one or more subsets of another type of data. According to various examples, the data modeler 3620 can implement offline or online deep learning techniques to determine various states of the autonomous vehicle. The state data can be used by simulator 3640 and physical processor 3650 to evaluate various logic modules to determine whether the simulated response by simulated autonomous vehicle 3630 is appropriate. For example, the data modeler 3620 can model a rendered road segment as having an uphill slope of 3686, and further an example of acceleration and / or torque applied by the wheels to travel uphill. Range can be included. Thus, the simulated autonomous vehicle 3630 can lose friction (ie, the wheel spins) when the wheel encounters an “event” such as ice 3684. In this case, the simulator controller 3656 can anticipate an increased rate of wheel angular velocity in order to verify the accuracy of the simulation and take appropriate measures. As another example, consider that a simulated autonomous vehicle 3630 is decelerating until it stops before a pedestrian crossing. As such, the simulator controller 3656 expects to detect deceleration and a particular level of braking (eg, braking force or pressure), otherwise the problem can be determined. As another example, consider that simulator controller 3656 determines that the steering system of simulated autonomous vehicle 3630 is being pulled to the right or off-road. Thus, the simulator 3640 can simulate road conditions where the road is leaning to the right (eg, based on map data 3633), can simulate a flat tire, or simulate misalignment. be able to.

いくつかの例によれば、シミュレータは、走っている犬として示された分類された動的オブジェクト3682aの動きの範囲3683に基づいて、シミュレートされた自律車両3630の1つまたは複数の機能のデータ表現の予測された応答をシミュレートするように構成される。シミュレータ3640は、シミュレートされた自律車両3630と、分類された動的オブジェクト3682aの動きの予測される範囲3683との間の距離3685の変化率を計算するようにさらに構成され得、(例えば、位置、距離、時間などに関して)閾値が超えられた場合、シミュレータ3640は、距離3685の5の計算された変化率に基づいて、シミュレートされた自律車両3630にシミュレートされた環境3603内のシミュレートされた動的オブジェクト3682aを回避させるように構成される。いくつかの場合において、自律車両3630は、動的オブジェクト3682aとの衝突を回避するために運転を停止することができる。いくつかの他の場合において、シミュレータ3640は、シミュレートされた自律車両3630の車内の1つまたは複数の安全システムの使用をシミュレートするために、安全システムシミュレータ3690を実装することができる。安全システムの例は、動的オブジェクト3682aに警告するためにビームフォーミングおよび/またはライトを介して音を誘導することを含み、または、外部および/または内部安全システムを実装することができる。シミュレータ3640によってシミュレートされ得る安全システムの例は、そのすべてが参照により本明細書に組み込まれる、「自律車両の方向性を示すための能動照明を構成するシステム」と題された2015年11月4日に出願された特許文献1(代理人整理番号Z00−012)、「音響ビームフォーミングを介する外部環境とのロボット車両通信のための方法」と題された2015年11月4日に出願された特許文献2(代理人整理番号Z00−013)、「自律車両の状態を周囲環境内のエンティティに通信するための能動的照明制御」と題された2015年11月4日に出願された特許文献3(代理人整理番号Z00−017)、「ロボット車両のための強靭な安全システム」と題された2015年11月4日に出願された特許文献4(代理人整理番号Z00−018)、「ロボット車両のための内部安全システム」と題された2015年11月4日に出願された特許文献5(代理人整理番号Z00−019)、および2015年11月4日に出願された特許文献6(代理人整理番号Z00−022)において記載されている。   According to some examples, the simulator may be configured for one or more functions of the simulated autonomous vehicle 3630 based on the range of motion 3683 of the classified dynamic object 3682a shown as a running dog. Configured to simulate the predicted response of the data representation. The simulator 3640 can be further configured to calculate a rate of change of the distance 3665 between the simulated autonomous vehicle 3630 and the predicted range of motion 3683 of the classified dynamic object 3682a (e.g., If the threshold is exceeded (with respect to position, distance, time, etc.), simulator 3640 simulates within simulated environment 3603 in simulated autonomous vehicle 3630 based on a calculated rate of change of 5 of distance 3865. Configured dynamic object 3682a is configured to be avoided. In some cases, autonomous vehicle 3630 can stop driving to avoid collision with dynamic object 3682a. In some other cases, the simulator 3640 may implement a safety system simulator 3690 to simulate the use of one or more safety systems in the simulated autonomous vehicle 3630. Examples of safety systems include inducing sound via beamforming and / or lights to alert the dynamic object 3682a, or external and / or internal safety systems can be implemented. An example of a safety system that can be simulated by the simulator 3640 is November 2015 entitled “System for configuring active lighting to indicate the direction of an autonomous vehicle”, all of which are incorporated herein by reference. Filed on Nov. 4, 2015 entitled "Method for Robot Vehicle Communication with External Environment via Acoustic Beam Forming", Patent Document 1 (Attorney Docket No. Z00-012) filed on April 4. Patent document 2 (Attorney Docket No. Z00-013), a patent filed on November 4, 2015 entitled "Active Lighting Control for Communicating Autonomous Vehicle Status to Entities in the Surrounding Environment" Patent 3 (Attorney Docket No. Z00-017), a patent filed on November 4, 2015 entitled "Tough Safety System for Robotic Vehicles" Item 4 (Agent reference number Z00-018), Patent document 5 (Agent reference number Z00-019) filed on November 4, 2015 entitled "Internal safety system for robotic vehicles", and This is described in Patent Document 6 (Attorney Docket No. Z00-022) filed on November 4, 2015.

いくつかの例によれば、シミュレータ3640は、ラベル付け(例えば、意味ラベル付け)のための「グラウンドトルース」データと、どのアルゴリズムがテストまたは検証され得るのかの識別とを生成し使用することができる(例えば、マップデータ3633または任意のモデル化されたデータへの変更を検証すると共に、ソフトウェアの変更を検証する)。さらに、シミュレータ3640は、動的オブジェクト3680および3682aのような、シミュレートされた環境3603内の動的オブジェクトまたはエージェントを識別するために、例えば、コンピュータビジョンクラシファイヤ(computer vision classifier)および深層ニューラルネットワークに基づくクラシファイヤトレーニングのために使用され得る(例えば、ベイジアンまたは確率的推論(probabilistic inference)アルゴリズム、ならびに他の同様の技法を実装する)。データモデラ3620を実装する技法は、シミュレーションの文脈において使用され得るが、データモデラ3620は、本明細書に記載された、または参照により本明細書に組み込まれた任意の構成要素において実装され得ることに留意されたい。例えば、知覚エンジンまたはシステムは、データモデラ3620の1つまたは複数の部分、ならびに、シミュレータ3640の文脈において説明された任意の他の構造および/または機能を含むか、または実装することができる。図36において示された、または、本明細書に記載された、もしくは参照により本明細書に組み込まれた構成要素のいずれかは、ハードウェアもしくはソフトウェア、またはそれらの組み合わせにおいて実装され得ることに留意されたい。   According to some examples, simulator 3640 may generate and use “ground truth” data for labeling (eg, semantic labeling) and identification of which algorithms can be tested or verified. (E.g., verify changes to map data 3633 or any modeled data and verify software changes). Further, simulator 3640 may be used to identify dynamic objects or agents in simulated environment 3603, such as dynamic objects 3680 and 3682a, for example, computer vision classifiers and deep neural networks. (Eg, implementing a Bayesian or probabilistic inference algorithm, as well as other similar techniques). Although techniques for implementing data modeler 3620 can be used in the context of simulation, data modeler 3620 can be implemented in any component described herein or incorporated herein by reference. Please note that. For example, the perception engine or system may include or implement one or more portions of the data modeler 3620, as well as any other structure and / or functionality described in the context of the simulator 3640. Note that any of the components shown in FIG. 36 or described herein or incorporated herein by reference may be implemented in hardware or software, or combinations thereof. I want to be.

図37は、いくつかの例による車両モデラを示す。図3700は、ドライブトレイン(例えば、モータ)3733と、車軸3735と、車輪3737とを含む推進ユニット3732と、ブレーキユニット3720と、操舵ユニット3734とを含む自律車両の部分3700を示し、その例は、参照により本明細書に組み込まれる、「ロボット車両の四分円構成」と題された2015年11月4日に出願された特許文献7(代理人整理番号Z00−021)に記載されている。車両モデラ3727は、感知されたデータ(例えば、車輪角度3711、タイヤの角速度3713など)を含む、部分3700内の車両構成要素の動作性を記述するモデルデータを含む車両構成要素データ3799を受信するように構成される。車両モデラ3727は、自律車両の1つまたは複数の構成要素を表すデータを受信し、自律車両の1つまたは複数の構成要素に関連付けられた構成要素特性(例えば、モータ3733のモータ電流)を表すデータを識別するように構成される。車両モデラ3727は、シミュレータがシミュレートされた自律車両の挙動を予測するためにデータモデルに基づいて1つまたは複数の構成要素(例えば、推進ユニット3732、ブレーキユニット3720、操舵ユニット3734、および類似のもの)の動作をシミュレートするように構成され得る構成要素特性に基づいて、1つまたは複数の構成要素のデータモデルを生成する。いくつかの場合において、シミュレータは、イベント特性(例えば、氷に覆われた道路の部分の特性を記述するイベントモデル)を表すデータを含むイベントデータモデルにアクセスするように構成され得る。次いで、シミュレータは、イベント特性データ(例えば、減少された摩擦)に基づいて、シミュレートされた環境内のイベント(例えば、アイスパッチ)をシミュレートするように構成され得る。   FIG. 37 shows a vehicle modeler according to some examples. FIG. 3700 shows an autonomous vehicle portion 3700 that includes a drive train (eg, a motor) 3733, an axle 3735, a propulsion unit 3732 that includes wheels 3737, a brake unit 3720, and a steering unit 3734, examples of which are , Which is incorporated herein by reference, and is described in Patent Document 7 (Attorney Docket No. Z00-021) filed on November 4, 2015 entitled “Quarter Configuration of Robot Vehicle”. . The vehicle modeler 3727 receives vehicle component data 3799 including model data describing the operability of the vehicle components in the portion 3700, including sensed data (eg, wheel angle 3711, tire angular velocity 3713, etc.). Configured as follows. The vehicle modeler 3727 receives data representing one or more components of the autonomous vehicle and represents component characteristics (eg, motor current of the motor 3733) associated with the one or more components of the autonomous vehicle. Configured to identify data. The vehicle modeler 3727 may include one or more components (eg, a propulsion unit 3732, a brake unit 3720, a steering unit 3734, and the like based on the data model to predict the behavior of the autonomous vehicle simulated by the simulator. One or more component data models are generated based on component characteristics that may be configured to simulate the operation of the component. In some cases, the simulator may be configured to access an event data model that includes data representing event characteristics (eg, an event model that describes characteristics of a portion of the road covered with ice). The simulator may then be configured to simulate an event (eg, an ice patch) in the simulated environment based on the event characteristic data (eg, reduced friction).

図38は、いくつかの例によるセンサモデラの例を示す図である。図3000は、センサモデラ3825を含み、それは、今度は、センサデータ3801に基づいてシミュレートされたセンサタイプデータ3806を生成するためにセンサタイプモデラ3803とセンサ空気モデラ3805とを含むように示されている。したがって、センサモデラ3825は、対応するシミュレートされたセンサデータ3837を生成するために、異なるタイプおよび異なる量のセンサデータ3835を受信するように構成される。いくつかの例によれば、センサモデラ3825は、1つまたは複数の自律車両が通過する環境において得られたセンサデータ3801を表すデータを受信するように構成され得、特性化されたセンサデータを形成するためにセンサデバイス(例えば、ライダセンサ)を特性化するためにセンサタイプモデラ3803を使用してセンサデータのサブセットをモデル化するようにさらに構成され得る。したがって、センサタイプモデラ3803は、特性化されたセンサデータに基づいて、シミュレートされたセンサデバイスを表すデータ3806を生成することができる。   FIG. 38 is a diagram illustrating examples of a sensor modeler according to some examples. FIG. 3000 includes a sensor modeler 3825, which in turn is shown to include a sensor type modeler 3803 and a sensor air modeler 3805 to generate simulated sensor type data 3806 based on sensor data 3801. Yes. Accordingly, sensor modeler 3825 is configured to receive different types and amounts of sensor data 3835 to generate corresponding simulated sensor data 3837. According to some examples, sensor modeler 3825 can be configured to receive data representing sensor data 3801 obtained in an environment through which one or more autonomous vehicles pass to form characterized sensor data. The sensor type modeler 3803 may be further configured to model a subset of sensor data to characterize a sensor device (eg, a lidar sensor). Accordingly, the sensor type modeler 3803 can generate data 3806 representing a simulated sensor device based on the characterized sensor data.

いくつかの場合において、センサ誤差モデラ3805は、センサデバイスに関連付けられた測定偏差(例えば、誤差)のサブセットを表すデータをモデル化するように構成され得る。センサタイプモデラ3803は、(例えば、センサ誤差モデラ3805によって生成されるような)測定偏差のサブセットに基づいて、シミュレートされたセンサデバイスを表すデータを調整するように構成され得る。例として、センサタイプモデラ3803は、特性化されたライダデータを形成するためにライダセンサを特性化するためにライダセンサデータのサブセットをモデル化し、シミュレートされたライダデバイスを表すデータを生成するように構成され得る。さらに、ライダ測定偏差のサブセットに基づいて、シミュレートされたライダデバイスを表すデータを調整するために、ライダ測定偏差または誤差のサブセットがモデル化され使用され得る。   In some cases, the sensor error modeler 3805 may be configured to model data representing a subset of measurement deviations (eg, errors) associated with the sensor device. Sensor type modeler 3803 may be configured to adjust data representing a simulated sensor device based on a subset of measurement deviations (eg, as generated by sensor error modeler 3805). As an example, the sensor type modeler 3803 may model a subset of lidar sensor data to characterize a lidar sensor to form characterized lidar data, and generate data representing a simulated rider device. Can be configured. Further, a lidar measurement deviation or a subset of errors can be modeled and used to adjust data representing the simulated lidar device based on the subset of lidar measurement deviations.

図39は、いくつかの例による、動的オブジェクトデータモデラの例を示す図である。図3900は、シミュレートされたオブジェクトデータ3941を生成するためのオブジェクトデータ3931を受信するように構成された動的オブジェクトデータモデラ3921を含む。この例において、動的オブジェクトデータモデラ3921は、動的オブジェクトの分類を識別し、分類に関連付けられた特性(または予測された挙動)のセットを表すデータを識別するように構成されたオブジェクトデータクラシファイヤ(object data classifier)3922(例えば、数ある中でベイズクラシファイヤ)を含む。シミュレータは、次いで、シミュレートされた環境内のシミュレートされた動的オブジェクトの動きの予測される範囲をシミュレートするために特性のセットを使用するように構成され得る。示されているように、オブジェクトデータクラシファイヤ3922は、動的オブジェクト3932、3933、3934、および3938を、第1の動物動的オブジェクト、第2の動物動的オブジェクト、歩行者動的オブジェクト、およびスケートボーダー動的オブジェクトとして分類する。分類に基づいて、オブジェクトデータキャラクタライザ(object data characterizer)3951、3952、3953、および3959は、例えば、識別された動的オブジェクトに基づいて動きの予測される範囲を表すデータを提供するように構成される。いくつかの場合において、オブジェクトデータキャラクタライザは、動きの予測される範囲に関連する確率に基づいて、ランダム化されたデータを実現することができる。ランダム化されたデータに基づいて、シミュレータは、ランダムに跳ね上がって(例えば、ボールなどの後に)街路に駆け込む犬のようなオブジェクトのおそらくはまれな挙動をシミュレートすることができ得る。   FIG. 39 is a diagram illustrating an example of a dynamic object data modeler according to some examples. The drawing 3900 includes a dynamic object data modeler 3921 configured to receive object data 3931 for generating simulated object data 3941. In this example, the dynamic object data modeler 3921 identifies a class of dynamic objects and an object data class configured to identify data representing a set of characteristics (or predicted behavior) associated with the class. Includes an object data classifier 3922 (eg, a Bayes classifier, among others). The simulator can then be configured to use the set of properties to simulate the expected range of motion of the simulated dynamic object within the simulated environment. As shown, object data classifier 3922 converts dynamic objects 3932, 3933, 3934, and 3938 into a first animal dynamic object, a second animal dynamic object, a pedestrian dynamic object, and Classify as a skateboarder dynamic object. Based on the classification, object data characterizers 3951, 3952, 3953, and 3959 are configured to provide data representing an expected range of motion based on the identified dynamic object, for example. Is done. In some cases, the object data characterizer may implement randomized data based on probabilities associated with the predicted range of motion. Based on the randomized data, the simulator may be able to simulate the possibly rare behavior of a dog-like object that jumps randomly (eg after a ball or the like) and runs into the street.

図40は、いくつかの例による、シミュレートされた環境を生成することの例を示すフロー図である。フロー4000は、1つまたは複数の自律車両からの環境内の動的オブジェクトの特性を表すデータが受信される4002で開始する。4004において、分類された動的オブジェクトが識別される。4006において、分類された動的オブジェクトに関連付けられた動的さに関連する特性を表すデータが識別される。4008において、分類された動的オブジェクトのデータモデルが、分類されたデータオブジェクトの動的さに関連する特性に基づいて形成される。4010において、分類された動的オブジェクトの動きの予測される範囲が、シミュレートされた動的オブジェクトを形成するために、シミュレートされた環境内でシミュレートされる。4012において、シミュレートされた自律車両の1つまたは複数の機能のデータ表現の予測される応答がシミュレートされ得る。フロー図の各部分は、フロー図の他の部分に依存せずにまたは依存して実行され得ると同時に、フロー図の任意の1つまたは複数の他の部分と連続的にまたは同時に実行され得るので、このフロー図または本明細書における他のフロー図に示された順番は、様々な機能を線形的に実行する必要性を暗示することを意図されないことに留意されたい。   FIG. 40 is a flow diagram illustrating an example of creating a simulated environment, according to some examples. The flow 4000 begins at 4002 where data representing characteristics of a dynamic object in an environment from one or more autonomous vehicles is received. At 4004, the classified dynamic object is identified. At 4006, data representing characteristics associated with dynamics associated with the classified dynamic object is identified. At 4008, a data model for the classified dynamic object is formed based on characteristics associated with the dynamic of the classified data object. At 4010, the predicted range of motion of the classified dynamic object is simulated in a simulated environment to form a simulated dynamic object. At 4012, a predicted response of a data representation of one or more functions of a simulated autonomous vehicle can be simulated. Each part of the flow diagram may be performed independently of or depending on other parts of the flow diagram, and at the same time may be performed sequentially or simultaneously with any one or more other parts of the flow diagram Thus, it should be noted that the order shown in this flow diagram or other flow diagrams herein is not intended to imply the need to perform various functions linearly.

図41は、様々な実施形態による、自律車両サービスをシミュレートするために、様々なシミュレータに関連する機能性および/または構造を提供するように構成された様々なコンピューティングプラットフォームの例を示す。いくつかの例において、コンピューティングプラットフォーム3300は、上記で説明された技法を実行するために、コンピュータプログラム、アプリケーション、方法、プロセス、アルゴリズム、または他のソフトウェアを実施するために使用され得る。図33の様々な構造および/または機能性は、図41に適用可能であり得、そのようにして、これらの図におけるいくつかの要素は、図33の文脈において議論され得ることに留意されたい。図41の図4100において示されている要素は、本明細書において記載された1つまたは複数の他の図面に関連して記述されている、同様に名付けられている要素としての構造および/または機能を含むことができることに留意されたい。   FIG. 41 illustrates examples of various computing platforms configured to provide functionality and / or structure associated with various simulators to simulate autonomous vehicle services in accordance with various embodiments. In some examples, the computing platform 3300 may be used to implement computer programs, applications, methods, processes, algorithms, or other software to perform the techniques described above. Note that the various structures and / or functionality of FIG. 33 may be applicable to FIG. 41, and thus some elements in these figures may be discussed in the context of FIG. . Elements shown in FIG. 4100 of FIG. 41 may be structured and / or as similarly named elements described in connection with one or more of the other drawings described herein. Note that functionality can be included.

図41に示された例を参照すると、システムメモリ3306は、自律車両サービスプラットフォームモジュール4150および/またはその構成要素(例えば、データモデラモジュール4152、シミュレータモジュール4154など)を含み、そのいずれか、またはその1つもしくは複数の部分は、本明細書に記載された1つまたは複数の機能を実装することによって自律車両車両サービスのシミュレーションを促進するように構成され得る。いくつかの場合において、コンピューティングプラットフォーム3300は、自律車両サービスプラットフォーム、自律車両3391、および/またはモバイルコンピューティングデバイス3390b内に配置され得る、コンピューティングデバイス3390aのような任意のデバイス内に配置され得る。   Referring to the example shown in FIG. 41, system memory 3306 includes autonomous vehicle service platform module 4150 and / or its components (eg, data modeler module 4152, simulator module 4154, etc.), any of which One or more portions may be configured to facilitate simulation of autonomous vehicle vehicle services by implementing one or more functions described herein. In some cases, computing platform 3300 may be located in any device, such as computing device 3390a, which may be located in autonomous vehicle service platform, autonomous vehicle 3391, and / or mobile computing device 3390b. .

図33〜図35は、様々な実施形態による、自律車両サービスの構成要素に様々な機能性を提供するように構成された様々なコンピューティングプラットフォームの例を示す。いくつかの例において、コンピューティングプラットフォーム3300は、本明細書に記載された技法のいずれかを実行するために、コンピュータプログラム、アプリケーション、方法、プロセス、アルゴリズム、または他のソフトウェアを実装するために使用され得る。   FIGS. 33-35 illustrate examples of various computing platforms configured to provide various functionality to components of an autonomous vehicle service, according to various embodiments. In some examples, the computing platform 3300 may be used to implement a computer program, application, method, process, algorithm, or other software to perform any of the techniques described herein. Can be done.

図33の様々な構造および/または機能性は、図34および図35に適用可能であり、そのようにして、これらの図におけるいくつかの要素は、図33の文脈において議論され得ることに留意されたい。   Note that the various structures and / or functionalities of FIG. 33 are applicable to FIGS. 34 and 35, and as such, some elements in these figures may be discussed in the context of FIG. I want to be.

いくつかの場合において、コンピューティングプラットフォーム3300は、自律車両サービスプラットフォーム、自律車両3391、および/またはモバイルコンピューティングデバイス3390b内の1つまたは複数のコンピューティングデバイス内に配置され得る、コンピューティングデバイス3390aのような任意のデバイス内に配置され得る。   In some cases, the computing platform 3300 may be located within one or more computing devices within the autonomous vehicle service platform, autonomous vehicle 3391, and / or mobile computing device 3390b. Can be placed in any device.

コンピューティングプラットフォーム3300は、例えば、プロセッサを有するモバイルコンピューティングデバイスおよび/または通信デバイスを含むコンピューティングデバイスと通信するために通信リンク3321上のポートを介する通信を促進するために、プロセッサ3304、システムメモリ3306(例えば、RAMなど)、記憶装置3308(例えば、ROMなど)、(RAM3306内、またはコンピューティングプラットフォーム3300の他の部分内に実装され得る)インメモリキャッシュ、通信インターフェース3313(例えば、イーサネットまたはワイヤレスコントローラ、Bluetoothコントローラ、NFC論理など)のような、サブシステムおよびデバイスを相互接続する、情報を通信するためのバス3302または他の通信機構を含む。プロセッサ3304は、1つもしくは複数のグラフィックス処理ユニット(「GPU」)、Intel(登録商標)コーポレーションによって製造されたものなどの1つもしくは複数の中央処理装置(「CPU」)、または1つもしくは複数の仮想プロセッサ、ならびにCPUおよび仮想プロセッサの任意の組み合わせを用いて実装され得る。コンピューティングプラットフォーム3300は、限定はされないが、キーボード、マウス、オーディオ入力(例えば、音声−テキストデバイス)、ユーザインターフェース、ディスプレイ、モニタ、カーソル、タッチセンシティブディスプレイ、LCDまたはLEDディスプレイ、および他のI/O関連デバイスを含む入出力デバイス3301を介して、入力および出力を表すデータを交換する。   The computing platform 3300 includes, for example, a processor 3304, system memory to facilitate communication via a port on the communication link 3321 to communicate with a computing device including a mobile computing device having a processor and / or a communication device. 3306 (eg, RAM, etc.), storage device 3308 (eg, ROM, etc.), in-memory cache (which may be implemented in RAM 3306, or other portion of computing platform 3300), communication interface 3313 (eg, Ethernet or wireless Bus for communicating information, interconnecting subsystems and devices, such as controllers, Bluetooth controllers, NFC logic, etc. 302 or include other communications mechanisms. The processor 3304 may include one or more graphics processing units (“GPUs”), one or more central processing units (“CPU”) such as those manufactured by Intel® Corporation, or one or more It can be implemented using multiple virtual processors and any combination of CPUs and virtual processors. The computing platform 3300 includes, but is not limited to, a keyboard, mouse, audio input (eg, voice-text device), user interface, display, monitor, cursor, touch-sensitive display, LCD or LED display, and other I / O. Data representing input and output is exchanged via an input / output device 3301 including related devices.

いくつかの例によれば、コンピューティングプラットフォーム3300は、システムメモリ3306内に記憶された1つまたは複数の命令の1つまたは複数のシーケンスを実行するプロセッサ3304によって特定の動作を実行し、コンピューティングプラットフォーム3300は、クライアント−サーバ構成、ピアツーピア構成において、または、スマートフォンおよび類似のものを含む任意のモバイルコンピューティングデバイスとして実装され得る。そのような命令またはデータは、記憶装置3308のような別のコンピュータ可読媒体からシステムメモリ3306に読み込まれ得る。いくつかの例において、実装のためのソフトウェア命令の代わりに、またはそれと組み合わせてハードワイヤード回路が使用され得る。命令は、ソフトウェアまたはファームウェア内に埋め込まれ得る。「コンピュータ可読媒体」という用語は、実行のためにプロセッサ3304に命令を提供することに関与する任意の有形の媒体を指す。そのような媒体は、限定はされないが、不揮発性媒体および揮発性媒体を含む多くの形態をとることができる。不揮発性媒体は、例えば、光学ディスクまたは磁気ディスクおよび類似のものを含む。揮発性媒体は、システムメモリ3306のようなダイナミックメモリを含む。   According to some examples, computing platform 3300 may perform certain operations by processor 3304 executing one or more sequences of one or more instructions stored in system memory 3306 to compute Platform 3300 may be implemented in a client-server configuration, a peer-to-peer configuration, or as any mobile computing device including smartphones and the like. Such instructions or data may be read into the system memory 3306 from another computer readable medium, such as the storage device 3308. In some examples, hardwired circuitry may be used instead of or in combination with software instructions for implementation. The instructions can be embedded in software or firmware. The term “computer-readable medium” refers to any tangible medium that participates in providing instructions to processor 3304 for execution. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks and the like. Volatile media includes dynamic memory, such as system memory 3306.

コンピュータ可読媒体の一般的な形態は、磁気ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは他の磁気媒体、CDROM、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、フラッシュEPROM、任意の他のメモリチップもしくはカートリッジ、または、コンピュータが読み取ることができる任意の他の媒体を含む。命令はさらに、送信媒体を使用して送信または受信され得る。「送信媒体」という用語は、機械による実行のための命令を記憶、符号化、または搬送することができる任意の有形または無形の媒体を含むことができ、そのような命令の通信を促進するために、デジタルもしくはアナログ通信信号、または他の無形の媒体を含む。伝送媒体は、コンピュータデータ信号を伝送するためのバス3302を備えるワイヤを含む、同軸ケーブル、銅線、および光ファイバを含む。   Common forms of computer readable media include magnetic disks, flexible disks, hard disks, magnetic tapes, or other magnetic media, CDROMs, any other optical media, punch cards, paper tapes, any other having a hole pattern It includes physical media, RAM, PROM, EPROM, flash EPROM, any other memory chip or cartridge, or any other media that can be read by a computer. The instructions may further be transmitted or received using a transmission medium. The term “transmission medium” can include any tangible or intangible medium capable of storing, encoding, or carrying instructions for execution by a machine and to facilitate communication of such instructions. Including digital or analog communication signals, or other intangible media. Transmission media include coaxial cables, copper wire, and optical fiber, including wires with a bus 3302 for transmitting computer data signals.

いくつかの例において、命令のシーケンスの実行は、コンピューティングプラットフォーム3300によって実行され得る。いくつかの例によれば、コンピューティングプラットフォーム3300は、互いに協調して(または非同期に)命令のシーケンスを実行するために、通信リンク3321(例えば、LAN、PSTNのような有線ネットワーク、または、様々な規格およびプロトコルのWiFi、Bluetooth(登録商標)、NFC、Zig−Beeなどを含む任意のワイヤレスネットワーク)によって任意の他のプロセッサに結合され得る。コンピューティングプラットフォーム3300は、通信リンク3321および通信インターフェース3313を介して、プログラムコード(例えば、アプリケーションコード)を含む、メッセージ、データ、および命令を送信および受信することができる。受信されたプログラムコードは、それが受信されると、プロセッサ3304によって実行され得、および/または、後の実行のためにメモリ3306もしくは他の不揮発性記憶装置内に記憶され得る。   In some examples, execution of the sequence of instructions may be performed by computing platform 3300. According to some examples, computing platform 3300 can communicate with link 3321 (eg, a wired network such as a LAN, PSTN, or the like) to execute a sequence of instructions in concert (or asynchronously) with each other. Any wireless network including any standard and protocol such as WiFi, Bluetooth, NFC, Zig-Bee, etc.). Computing platform 3300 can send and receive messages, data, and instructions, including program code (eg, application code), via communication link 3321 and communication interface 3313. The received program code may be executed by processor 3304 as it is received, and / or stored in memory 3306 or other non-volatile storage for later execution.

示された例において、システムメモリ3306は、本明細書に記載された機能性を実装するために実行可能な命令を含む様々なモジュールを含むことができる。システムメモリ3306は、オペレーティングシステム(「O/S」)3332、ならびに、アプリケーション3336および/または論理モジュール3359を含むことができる。図33に示された例において、システムメモリ3306は、自律車両(「AV」)コントローラモジュール3350および/またはその構成要素(例えば、知覚エンジンモジュール、位置特定モジュール、プランナモジュール、および/またはモーションコントローラモジュール)を含み、そのいずれか、またはその1つもしくは複数の部分は、本明細書に記載された1つまたは複数の機能を実装することによって自律車両サービスを促進するように構成され得る。   In the illustrated example, system memory 3306 can include a variety of modules that include instructions executable to implement the functionality described herein. System memory 3306 may include an operating system (“O / S”) 3332 and applications 3336 and / or logic modules 3359. In the example shown in FIG. 33, system memory 3306 includes autonomous vehicle (“AV”) controller module 3350 and / or its components (eg, perceptual engine module, location module, planner module, and / or motion controller module). , And any one or more portions thereof may be configured to facilitate autonomous vehicle services by implementing one or more functions described herein.

図34に示された例を参照すると、システムメモリ3306は、自律車両サービスプラットフォームモジュール3450および/またはその構成要素(例えば、遠隔操作者マネージャ、シミュレータなど)を含み、そのいずれか、またはその1つもしくは複数の部分は、本明細書に記載された1つまたは複数の機能を実装することによって自律車両サービスを管理することを促進するように構成され得る。   Referring to the example shown in FIG. 34, system memory 3306 includes autonomous vehicle service platform module 3450 and / or its components (eg, remote operator manager, simulator, etc.), any or one of which. Alternatively, the portions may be configured to facilitate managing autonomous vehicle services by implementing one or more functions described herein.

図35に示された例を参照すると、システムメモリ3306は、例えば、モバイルコンピューティングデバイスにおいて使用するための、自律車両(「AV」)モジュールおよび/またはその構成要素を含む。モジュール3550の1つまたは複数の部分は、本明細書に記載された1つまたは複数の機能を実装することによって自律車両サービスの配車を促進するように構成され得る。   Referring to the example shown in FIG. 35, the system memory 3306 includes an autonomous vehicle (“AV”) module and / or components thereof, for example, for use in a mobile computing device. One or more portions of module 3550 may be configured to facilitate the dispatch of autonomous vehicle services by implementing one or more functions described herein.

図33に戻って参照すると、本明細書に記載された、または参照により本明細書に組み込まれた特徴のうちのいずれかの構造および/または機能は、ソフトウェア、ハードウェア、ファームウェア、回路、またはそれらの組み合わせにおいて実施されることができる。上記の構造および構成要素ならびにそれらの機能性は、1つまたは複数の他の構造または要素と集約されてもよいことに留意されたい。代替的に、要素およびそれらの機能性は、もしあれば、構成部分要素に分割されることができる。ソフトウェアとして、本明細書に記載された技法、または参照により本明細書に組み込まれた技法は、様々なタイプのプログラミングまたはフォーマッティング言語、フレームワーク、構文、アプリケーション、プロトコル、オブジェクト、または技法を使用して実施されてもよい。ハードウェアおよび/またはファームウェアとして、本明細書に記載された、または参照により本明細書に組み込まれた技法は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)、または任意の他のタイプの集積回路を設計するように構成されている任意のレジスタ転送言語(「RTL」)のようなハードウェア設計言語を含む、様々なタイプのプログラミング言語または集積回路設計言語を使用して実施されてもよい。いくつかの実施形態によれば、「モジュール」という用語は、例えば、ハードウェア回路もしくはソフトウェアのいずれか、または、その組み合わせにおいて実装されるアルゴリズムもしくはその部分、および/または論理を参照することができる。これらは、変更されることができ、提供されている例または説明に限定されない。   Referring back to FIG. 33, the structure and / or function of any of the features described herein or incorporated herein by reference are software, hardware, firmware, circuitry, or It can be implemented in those combinations. Note that the structures and components described above and their functionality may be aggregated with one or more other structures or elements. Alternatively, the elements and their functionality, if any, can be divided into component parts. As software, the techniques described herein, or techniques incorporated herein by reference, use various types of programming or formatting languages, frameworks, syntax, applications, protocols, objects, or techniques. May be implemented. Techniques described herein or incorporated herein by reference as hardware and / or firmware include field programmable gate arrays (“FPGAs”), application specific integrated circuits (“ASICs”), Or various types of programming languages or integrated circuit design languages, including hardware design languages such as any register transfer language (“RTL”) configured to design any other type of integrated circuit May be implemented using. According to some embodiments, the term “module” can refer to, for example, an algorithm or portion thereof implemented in either hardware circuitry or software, or a combination thereof, and / or logic. . These can be varied and are not limited to the examples or descriptions provided.

いくつかの実施形態において、図33のモジュール3350、図34のモジュール3450、および図35のモジュール3550、またはそれらの構成要素のうちの1つもしくは複数、または本明細書に記述されている任意のプロセスもしくはデバイスは、携帯電話もしくはコンピューティングデバイスのようなモバイルデバイスと(例えば、有線もしくはワイヤレスで)通信することができ、またはその中に配置されることができる。   In some embodiments, module 3350 of FIG. 33, module 3450 of FIG. 34, and module 3550 of FIG. 35, or one or more of their components, or any of those described herein The process or device can communicate with (or be placed in) a mobile device, such as a mobile phone or computing device (eg, wired or wireless).

いくつかの事例において、モバイルデバイス、または、1つもしくは複数のモジュール3359(図33のモジュール3350、図34のモジュール3450、および図35のモジュール3550)またはその構成要素のうちの1つもしくは複数と通信する任意のネットワーク接続されているコンピューティングデバイス(図示せず)(または本明細書において記述されている任意のプロセスまたはデバイス)は、本明細書において記述されている特徴のうちのいずれかの構造および/または機能のうちの少なくともいくつかを提供することができる。本明細書に記載された、または参照により本明細書に組み込まれた図に示されているように、本明細書に記載された、または参照により本明細書に組み込まれた特徴のいずれかの構造および/または機能は、ソフトウェア、ハードウェア、ファームウェア、回路、またはそれらの任意の組み合わせにおいて実施されることができる。上記の構造および構成要素、ならびにそれらの機能性は、1つまたは複数の他の構造または要素とともに集約または組み合わされ得ることに留意されたい。代替的には、要素およびそれらの機能性は、もしあれば、構成部分要素に分割されることができる。ソフトウェアとして、本明細書に記載された技法、または参照により本明細書に組み込まれた技法のうちの少なくともいくつかは、様々なタイプのプログラミングまたはフォーマッティング言語、フレームワーク、構文、アプリケーション、プロトコル、オブジェクト、または技法を使用して実施されてもよい。例えば、図面のうちのいずれかに示されている要素のうちの少なくとも1つは、1つまたは複数のアルゴリズムを表現することができる。または、それらの要素のうちの少なくとも1つは、構成構造および/または機能性を提供するように構成されているハードウェアの部分を含む、論理の部分を表現することができる。   In some instances, with a mobile device or one or more of modules 3359 (module 3350 of FIG. 33, module 3450 of FIG. 34, and module 3550 of FIG. 35) or one or more of its components Any networked computing device (not shown) (or any process or device described herein) in communication with any of the features described herein At least some of the structure and / or function may be provided. Any of the features described herein or incorporated herein by reference, as shown in the figures described herein or incorporated by reference herein. The structure and / or function may be implemented in software, hardware, firmware, circuitry, or any combination thereof. Note that the structures and components described above, and their functionality, can be aggregated or combined with one or more other structures or elements. Alternatively, the elements and their functionality, if any, can be divided into component parts. As software, at least some of the techniques described herein or incorporated herein by reference include various types of programming or formatting languages, frameworks, syntax, applications, protocols, objects Or may be implemented using techniques. For example, at least one of the elements shown in any of the drawings can represent one or more algorithms. Alternatively, at least one of those elements can represent a portion of logic, including a portion of hardware that is configured to provide a structural structure and / or functionality.

例えば、図33のモジュール3350、図34のモジュール3450、および図35のモジュール3550、またはその構成要素のうちの1つもしくは複数、または本明細書に記載された任意のプロセスもしくはデバイスは、メモリ内の1つまたは複数のアルゴリズムを実行するように構成された1つまたは複数のプロセッサを含む1つまたは複数のコンピューティングデバイス(すなわち、装着されるかまたは搬送されるかを問わず、ウェアラブルデバイスまたはオーディオデバイス(ヘッドフォンまたはヘッドセットなど)または携帯電話のような任意のモバイルコンピューティングデバイス)において実装され得る。したがって、本明細書に記載された、または参照により本明細書に組み込まれた図における要素のうちの少なくともいくつかは、1つまたは複数のアルゴリズムを表現することができる。または、それらの要素のうちの少なくとも1つは、構成構造および/または機能性を提供するように構成されたハードウェアの部分を含む論理の部分を表現することができる。これらは、変更され得、提供された例または記述に限定されない。   For example, module 3350 of FIG. 33, module 3450 of FIG. 34, and module 3550 of FIG. 35, or one or more of its components, or any process or device described herein is in memory. One or more computing devices (i.e., wearable devices or whether mounted or transported) that include one or more processors configured to execute one or more algorithms of It can be implemented in an audio device (such as a headphone or headset) or any mobile computing device such as a mobile phone). Accordingly, at least some of the elements in the figures described herein or incorporated herein by reference may represent one or more algorithms. Or, at least one of those elements can represent a portion of logic, including a portion of hardware configured to provide a structural structure and / or functionality. These can be varied and are not limited to the examples or descriptions provided.

ハードウェアおよび/またはファームウェアとして、本明細書に記載された、または参照により本明細書に組み込まれた構造および/または技法は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)、マルチチップモジュール、または任意の他のタイプの集積回路を設計するように構成された任意のレジスタ転送言語(「RTL」)のようなハードウェア記述言語を含む、様々なタイプのプログラミング言語または集積回路設計言語を使用して実装され得る。   The structures and / or techniques described herein as hardware and / or firmware or incorporated herein by reference include field programmable gate arrays (“FPGAs”), application specific integrated circuits (“ Various types of programming, including hardware description languages such as ASIC "), multichip modules, or any register transfer language (" RTL ") configured to design any other type of integrated circuit It can be implemented using a language or an integrated circuit design language.

例えば、図33のモジュール3350、図34のモジュール3450、および図35のモジュール3550、またはその構成要素の1つもしくは複数、または本明細書に記載された任意のプロセスもしくはデバイスは、1つまたは複数の回路を含む1つまたは複数のコンピューティングデバイスにおいて実施され得る。したがって、本明細書に記載された、または参照により本明細書に組み込まれた図面内の要素のうちの少なくとも1つは、ハードウェアの1つまたは複数の構成要素を表現することができる。または、それらの要素のうちの少なくとも1つは、構成構造および/または機能性を提供するように構成された回路の部分を含む論理の部分を表現することができる。   For example, module 3350 in FIG. 33, module 3450 in FIG. 34, and module 3550 in FIG. 35, or one or more of its components, or any process or device described herein is one or more. Can be implemented in one or more computing devices that include the circuitry of: Accordingly, at least one of the elements in the drawings described herein or incorporated herein by reference may represent one or more components of hardware. Alternatively, at least one of those elements can represent a portion of logic that includes a portion of a circuit configured to provide a structural structure and / or functionality.

いくつかの実施形態によれば、「回路」という用語は、例えば、1つまたは複数の機能を実行するためにそれを通じて電流が流れるいくつかの構成要素を含む任意のシステムを参照することができ、構成要素は、個別のおよび複雑な構成要素とを含む。個別の構成要素の例は、トランジスタ、抵抗器、キャパシタ、インダクタ、ダイオード、および類似のものを含み、複雑な構成要素の例は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)を含む、メモリ、プロセッサ、アナログ回路、デジタル回路、および類似のものを含む。したがって、回路は、電子構成要素および論理構成要素(例えば、例えばアルゴリズムの実行可能命令のグループのような命令を実行するように構成されており、したがって、回路の構成要素である論理)のシステムを含むことができる。いくつかの実施形態によれば、「モジュール」という用語は、例えば、ハードウェア回路もしくはソフトウェアのいずれか、または、その組み合わせにおいて実施されるアルゴリズムもしくはその部分、および/または論理を参照することができる(すなわち、モジュールは、回路として実施することができる)。いくつかの実施形態において、アルゴリズムおよび/またはアルゴリズムが格納されているメモリは、回路の「構成要素」である。したがって、「回路」という用語は、例えば、アルゴリズムを含む構成要素のシステムをも参照することができる。これらは、変更され得、提供されている例または記述に限定されない。したがって、上記で説明された構造および/または機能のいずれかは、回路を含むハードウェアにおいて実装され得る。   According to some embodiments, the term “circuit” can refer to any system including, for example, several components through which current flows to perform one or more functions. The components include individual and complex components. Examples of discrete components include transistors, resistors, capacitors, inductors, diodes, and the like, and examples of complex components include field programmable gate arrays ("FPGAs"), application specific integrated circuits (" Memory, processors, analog circuits, digital circuits, and the like, including "ASIC"). Thus, a circuit comprises a system of electronic and logic components (eg, logic that is configured to execute instructions such as, for example, a group of executable instructions in an algorithm, and thus is a component of the circuit) Can be included. According to some embodiments, the term “module” can refer to, for example, an algorithm or portion thereof and / or logic implemented in either hardware circuitry or software, or a combination thereof. (Ie, the module can be implemented as a circuit). In some embodiments, the algorithm and / or memory in which the algorithm is stored is a “component” of the circuit. Thus, the term “circuit” can also refer to, for example, a component system that includes an algorithm. These can be varied and are not limited to the examples or descriptions provided. Thus, any of the structures and / or functions described above can be implemented in hardware including circuitry.

上記の例は、理解の明瞭性の目的のためにいくらか詳細に記述されているが、上述されている本発明の技法は、提供されている詳細には限定されない。上述されている本発明の技法を実施する多くの代替的な方法がある。開示されている例は、例示であり、限定ではない。   While the above examples are described in some detail for purposes of clarity of understanding, the techniques of the invention described above are not limited to the details provided. There are many alternative ways of implementing the techniques of the invention described above. The disclosed examples are illustrative and not limiting.

Claims (10)

シミュレートされた環境または物理的環境の1つまたは複数において1つまたは複数の動的オブジェクトの特性を表す第1のデータを識別するステップと、
前記第1のデータに少なくとも部分的に基づいて動的オブジェクトの分類を決定するステップと、
前記動的オブジェクトに関連付けられた動的さに関連する特性を表す第2のデータを識別するステップと、
前記第1のデータまたは前記第2のデータの1つまたは複数に少なくとも部分的に基づいて前記動的オブジェクトのデータモデルを生成するステップと、
シミュレートされた環境において前記動的オブジェクトの動きの予測される範囲をシミュレートするステップと、
前記動的オブジェクトの動きの前記予測される範囲に少なくとも部分的に基づいて、シミュレートされた自律車両の1つまたは複数の機能の予測される応答をシミュレートするステップと
を備えたことを特徴とする方法。
Identifying first data representing characteristics of one or more dynamic objects in one or more of a simulated or physical environment;
Determining a classification of a dynamic object based at least in part on the first data;
Identifying second data representing a dynamic related characteristic associated with the dynamic object;
Generating a data model of the dynamic object based at least in part on one or more of the first data or the second data;
Simulating a predicted range of motion of the dynamic object in a simulated environment;
Simulating a predicted response of one or more functions of a simulated autonomous vehicle based at least in part on the predicted range of motion of the dynamic object. And how to.
前記予測される応答をシミュレートするステップは、
前記シミュレートされた自律車両と前記動的オブジェクトの動きの前記予測される範囲との間の距離の変化率を計算するステップと、
前記計算された距離の変化率に少なくとも部分的に基づいて、前記シミュレートされた自律車両に、前記シミュレートされた環境において前記動的オブジェクトを回避させるステップと
を含むことを特徴とする請求項1に記載の方法。
Simulating the predicted response comprises:
Calculating a rate of change of distance between the simulated autonomous vehicle and the predicted range of motion of the dynamic object;
And causing the simulated autonomous vehicle to avoid the dynamic object in the simulated environment based at least in part on the calculated rate of change of distance. The method according to 1.
前記動的オブジェクトの前記分類を決定するステップは、前記動的オブジェクトが動物動的オブジェクト、歩行者動的オブジェクト、および動力車両動的オブジェクトの1つであることを決定するステップを含み、ならびに前記動的オブジェクトの前記分類に少なくとも部分的に基づいて前記動きの予測される範囲を選択することを特徴とする請求項1に記載の方法。   Determining the classification of the dynamic object includes determining that the dynamic object is one of an animal dynamic object, a pedestrian dynamic object, and a powered vehicle dynamic object; and The method of claim 1, wherein the predicted range of motion is selected based at least in part on the classification of dynamic objects. センサデータをモデル化し、センサデバイスを特性化し、特性化されたセンサデータを形成するステップであって、前記センサデータは、1つもしくは複数の物理的環境において物理センサによって得られたデータ、またはシミュレートされたセンサデータの1つまたは複数を使用してモデル化される、ステップと、
前記特性化されたセンサデータに少なくとも部分的に基づいて、シミュレートされたセンサデバイスを表しているデータを生成するステップと
をさらに備えたことを特徴とする請求項1に記載の方法。
Modeling sensor data, characterizing a sensor device, and forming characterized sensor data, the sensor data being data obtained by a physical sensor in one or more physical environments, or simulated Modeled using one or more of the measured sensor data;
The method of claim 1, further comprising: generating data representing a simulated sensor device based at least in part on the characterized sensor data.
前記自律車両の1つまたは複数の構成要素に関連付けられた構成要素特性を識別するステップと、
前記構成要素特性に少なくとも部分的に基づいて前記1つまたは複数の構成要素の1つまたは複数のデータモデルを生成するステップと、
前記1つまたは複数のデータモデルに少なくとも部分的に基づいて前記1つまたは複数の構成要素の動作をシミュレートし、前記シミュレートされた自律車両の挙動を予測するステップと
をさらに備えたことを特徴とする請求項1に記載の方法。
Identifying component characteristics associated with one or more components of the autonomous vehicle;
Generating one or more data models of the one or more components based at least in part on the component characteristics;
Simulating the operation of the one or more components based at least in part on the one or more data models and predicting the behavior of the simulated autonomous vehicle. The method of claim 1, characterized in that:
イベントに関連付けられたイベント特性を表しているデータを含むそのイベントデータモデルにアクセスするステップと、
前記イベント特性データに少なくとも部分的に基づいて、前記シミュレートされた環境において前記イベントをシミュレートするステップと、
前記シミュレートされた自律車両の前記1つまたは複数の機能の別の予測される応答をシミュレートするステップと
をさらに備えたことを特徴とする請求項10に記載の方法。
Accessing that event data model containing data representing the event characteristics associated with the event;
Simulating the event in the simulated environment based at least in part on the event characteristic data;
11. The method of claim 10, further comprising simulating another predicted response of the one or more functions of the simulated autonomous vehicle.
1つまたは複数のプロセッサを含んでいる1つまたは複数のコンピューティングデバイスを備えたシステムであって、前記1つまたは複数のコンピューティングデバイスは、
動的オブジェクトの特性を表している第1のデータを受信し、
前記第1のデータに少なくとも部分的に基づいて、動的オブジェクトの分類を決定し、分類された動的オブジェクトを識別し、
前記分類された動的オブジェクトに関連付けられた動的さに関連する特性を表している第2のデータを識別し、
前記分類された動的オブジェクトの前記動的さに関連する特性を表している前記第2のデータに少なくとも部分的に基づいて前記分類された動的オブジェクトのデータモデルを生成し、
シミュレートされた環境において前記分類された動的オブジェクトの動きの予測される範囲をシミュレートし、
前記分類された動的オブジェクトの動きの前記予測される範囲に少なくとも部分的に基づいて、シミュレートされた自律車両の1つまたは複数の機能のデータ表現の予測される応答をシミュレートする
ように構成されたことを特徴とするシステム。
A system comprising one or more computing devices including one or more processors, the one or more computing devices comprising:
Receiving first data representing characteristics of a dynamic object;
Determining a classification of the dynamic object based at least in part on the first data and identifying the classified dynamic object;
Identifying second data representing a dynamic related characteristic associated with the classified dynamic object;
Generating a data model of the classified dynamic object based at least in part on the second data representing the dynamic-related characteristic of the classified dynamic object;
Simulate a predicted range of motion of the classified dynamic object in a simulated environment;
Simulating a predicted response of a data representation of one or more functions of a simulated autonomous vehicle based at least in part on the predicted range of motion of the classified dynamic object A system characterized by being configured.
前記1つまたは複数のコンピューティングデバイスが、
前記シミュレートされた動的オブジェクトの動きの前記予測される範囲に少なくとも部分的に基づいて、シミュレーション命令を実行し、前記シミュレートされた自律車両にシミュレートされた操縦を実行させ、
前記シミュレートされた操縦を実行している前記シミュレートされた自律車両に関連付けられたデータを生成し、
遠隔操作者の1人または複数に前記データを提供する
ようにさらに構成されたことを特徴とする請求項12に記載のシステム。
The one or more computing devices are:
Based at least in part on the predicted range of motion of the simulated dynamic object, executing simulation instructions to cause the simulated autonomous vehicle to perform simulated maneuvers;
Generating data associated with the simulated autonomous vehicle performing the simulated maneuvering;
The system of claim 12, further configured to provide the data to one or more of the remote operators.
前記1つまたは複数のコンピューティングデバイスが、
センサデータをモデル化し、センサデバイスを特性化し、特性化されたセンサデータを形成し、
前記特性化されたセンサデータに少なくとも部分的に基づいて、シミュレートされたセンサデバイスを表している第3のデータを生成する
ようにさらに構成されたことを特徴とする請求項12に記載のシステム。
The one or more computing devices are:
Model sensor data, characterize sensor devices, form characterized sensor data,
The system of claim 12, further configured to generate third data representing a simulated sensor device based at least in part on the characterized sensor data. .
前記1つまたは複数のコンピューティングデバイスが、
自律車両の構成要素に関連付けられた構成要素特性を識別し、
前記構成要素特性に少なくとも部分的に基づいて1つまたは複数の構成要素のデータモデルを生成し、
前記データモデルに少なくとも部分的に基づいて前記1つまたは複数の構成要素の動作をシミュレートし、前記シミュレートされた自律車両の挙動を予測する
ようにさらに構成されたことを特徴とする請求項12に記載のシステム。
The one or more computing devices are:
Identify component characteristics associated with autonomous vehicle components,
Generating a data model of one or more components based at least in part on the component characteristics;
The apparatus of claim 1, further configured to simulate the behavior of the one or more components based on at least in part the data model and to predict the behavior of the simulated autonomous vehicle. 12. The system according to 12.
JP2018544031A 2015-11-04 2016-11-02 Simulation systems and methods for autonomous vehicles Active JP7036732B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021210801A JP7330259B2 (en) 2015-11-04 2021-12-24 Simulation system, method, and non-transitory computer-readable storage medium for autonomous vehicles

Applications Claiming Priority (33)

Application Number Priority Date Filing Date Title
US14/932,948 US9804599B2 (en) 2015-11-04 2015-11-04 Active lighting control for communicating a state of an autonomous vehicle to entities in a surrounding environment
US14/932,962 US9630619B1 (en) 2015-11-04 2015-11-04 Robotic vehicle active safety systems and methods
US14/932,963 US9612123B1 (en) 2015-11-04 2015-11-04 Adaptive mapping to navigate autonomous vehicles responsive to physical environment changes
US14/932,959 2015-11-04
US14/756,992 2015-11-04
US14/932,959 US9606539B1 (en) 2015-11-04 2015-11-04 Autonomous vehicle fleet service and system
US14/756,995 2015-11-04
US14/932,940 US9734455B2 (en) 2015-11-04 2015-11-04 Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles
US14/756,996 US9916703B2 (en) 2015-11-04 2015-11-04 Calibration for autonomous vehicle operation
US14/756,991 US9720415B2 (en) 2015-11-04 2015-11-04 Sensor-based object-detection optimization for autonomous vehicles
US14/756,991 2015-11-04
US14/932,952 2015-11-04
US14/756,995 US9958864B2 (en) 2015-11-04 2015-11-04 Coordination of dispatching and maintaining fleet of autonomous vehicles
US14/932,966 US9507346B1 (en) 2015-11-04 2015-11-04 Teleoperation system and method for trajectory modification of autonomous vehicles
US14/932,952 US10745003B2 (en) 2015-11-04 2015-11-04 Resilient safety system for a robotic vehicle
US14/756,993 2015-11-04
US14/756,996 2015-11-04
US14/932,966 2015-11-04
US14/756,994 2015-11-04
US14/932,963 2015-11-04
US14/932,940 2015-11-04
US14/932,954 2015-11-04
US14/932,954 US9517767B1 (en) 2015-11-04 2015-11-04 Internal safety systems for robotic vehicles
US14/756,993 US9878664B2 (en) 2015-11-04 2015-11-04 Method for robotic vehicle communication with an external environment via acoustic beam forming
US14/932,958 2015-11-04
US14/756,992 US9910441B2 (en) 2015-11-04 2015-11-04 Adaptive autonomous vehicle planner logic
US14/932,962 2015-11-04
US14/756,994 US9701239B2 (en) 2015-11-04 2015-11-04 System of configuring active lighting to indicate directionality of an autonomous vehicle
US14/932,948 2015-11-04
US14/932,958 US9494940B1 (en) 2015-11-04 2015-11-04 Quadrant configuration of robotic vehicles
US14/757,016 US10496766B2 (en) 2015-11-05 2015-11-05 Simulation system and methods for autonomous vehicles
US14/757,016 2015-11-05
PCT/US2016/060030 WO2017079229A1 (en) 2015-11-04 2016-11-02 Simulation system and methods for autonomous vehicles

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021210801A Division JP7330259B2 (en) 2015-11-04 2021-12-24 Simulation system, method, and non-transitory computer-readable storage medium for autonomous vehicles

Publications (2)

Publication Number Publication Date
JP2019504800A true JP2019504800A (en) 2019-02-21
JP7036732B2 JP7036732B2 (en) 2022-03-15

Family

ID=62817166

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018544031A Active JP7036732B2 (en) 2015-11-04 2016-11-02 Simulation systems and methods for autonomous vehicles
JP2021210801A Active JP7330259B2 (en) 2015-11-04 2021-12-24 Simulation system, method, and non-transitory computer-readable storage medium for autonomous vehicles

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021210801A Active JP7330259B2 (en) 2015-11-04 2021-12-24 Simulation system, method, and non-transitory computer-readable storage medium for autonomous vehicles

Country Status (2)

Country Link
JP (2) JP7036732B2 (en)
CN (2) CN114643995A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190106837A (en) * 2019-08-05 2019-09-18 엘지전자 주식회사 Autonomous vehicle for carrying user group with multiple users, method and control server for controlling the autonomous driving vehicle
CN111026873A (en) * 2019-10-24 2020-04-17 中国人民解放军军事科学院国防科技创新研究院 Unmanned vehicle and navigation method and device thereof
KR102139513B1 (en) * 2019-11-28 2020-08-12 국민대학교산학협력단 Autonomous driving control apparatus and method based on ai vehicle in the loop simulation
CN111553844A (en) * 2020-04-29 2020-08-18 北京百度网讯科技有限公司 Method and device for updating point cloud
KR20210048647A (en) * 2019-10-23 2021-05-04 국민대학교산학협력단 Device and method for providing automated driving information from the user perspective
CN112764984A (en) * 2020-12-25 2021-05-07 际络科技(上海)有限公司 Automatic driving test system and method, electronic device and storage medium
CN113222335A (en) * 2021-04-06 2021-08-06 同济大学 Risk assessment utility-based security unmanned vehicle group construction method
KR20210106377A (en) * 2020-02-19 2021-08-30 폭스바겐 악티엔게젤샤프트 Method for invoking a teleoperated driving session, apparatus for performing the steps of the method, vehicle and computer program
US20210302981A1 (en) * 2020-03-31 2021-09-30 Gm Cruise Holdings Llc Proactive waypoints for accelerating autonomous vehicle testing
JP2022526191A (en) * 2019-04-12 2022-05-23 コンチネンタル オートモーティブ システムズ インコーポレイテッド Vehicle-Autonomous maneuvering and parking of trailers
CN114834475A (en) * 2021-01-15 2022-08-02 郑州宇通客车股份有限公司 Vehicle output torque control method and device
CN110239518B (en) * 2019-05-20 2023-09-01 福瑞泰克智能***有限公司 Vehicle transverse position control method and device
JP7520875B2 (ja) 2019-04-12 2024-07-23 コンチネンタル オートモーティブ システムズ インコーポレイテッド 車両-トレーラーの自律的な操縦および駐車

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138350B2 (en) 2018-08-09 2021-10-05 Zoox, Inc. Procedural world generation using tertiary data
EP3663942B1 (en) * 2018-12-07 2023-04-26 Volvo Car Corporation Evaluation of a simulated vehicle functionality feature
CN109532511B (en) * 2018-12-07 2021-06-08 纳恩博(北京)科技有限公司 Driving method of electric scooter and electric scooter
CN111307166B (en) * 2018-12-11 2023-10-03 北京图森智途科技有限公司 Method and device for constructing occupied grid map and processing equipment
CN111413957B (en) * 2018-12-18 2021-11-02 北京航迹科技有限公司 System and method for determining driving actions in autonomous driving
KR20200123878A (en) * 2019-04-11 2020-11-02 현대자동차주식회사 Apparatus and method for providing user interface for platooning of vehicle
CN110673636B (en) * 2019-09-30 2023-01-31 上海商汤临港智能科技有限公司 Unmanned simulation test system and method, and storage medium
CN110766793B (en) * 2019-10-08 2023-06-30 北京地平线机器人技术研发有限公司 Map construction method and device based on semantic point cloud
US11325492B2 (en) * 2019-10-09 2022-05-10 Carnegie Mellon University Method for determining optimal placement of electric vehicle chargers
US11675366B2 (en) * 2019-12-27 2023-06-13 Motional Ad Llc Long-term object tracking supporting autonomous vehicle navigation
CN111259545B (en) * 2020-01-15 2023-08-08 吉利汽车研究院(宁波)有限公司 Intelligent driving virtual simulation cloud platform
CN111221334B (en) * 2020-01-17 2021-09-21 清华大学 Environmental sensor simulation method for simulating automatic driving automobile
CN111324945B (en) * 2020-01-20 2023-09-26 阿波罗智能技术(北京)有限公司 Sensor scheme determining method, device, equipment and storage medium
JP7303153B2 (en) * 2020-05-18 2023-07-04 トヨタ自動車株式会社 Vehicle driving support device
US11586200B2 (en) * 2020-06-22 2023-02-21 The Boeing Company Method and system for vehicle engagement control
US11755469B2 (en) * 2020-09-24 2023-09-12 Argo AI, LLC System for executing structured tests across a fleet of autonomous vehicles
CN112612269B (en) * 2020-12-14 2021-11-12 北京理工大学 Hidden attack strategy acquisition method for Mecanum wheel trolley
CN112590871B (en) * 2020-12-23 2022-09-02 交控科技股份有限公司 Train safety protection method, device and system
CN113257073B (en) * 2021-06-24 2021-09-21 成都运达科技股份有限公司 Train driving simulation stability analysis method, system, terminal and medium
CN114120252B (en) * 2021-10-21 2023-09-01 阿波罗智能技术(北京)有限公司 Automatic driving vehicle state identification method and device, electronic equipment and vehicle
CN114475653B (en) * 2021-12-28 2024-03-15 广州文远知行科技有限公司 Vehicle emergency steering simulation scene configuration method and device
TWI832203B (en) * 2022-04-08 2024-02-11 富智捷股份有限公司 Verification system and verification method
US20230339459A1 (en) * 2022-04-20 2023-10-26 Gm Cruise Holdings Llc Safety measurement of autonomous vehicle driving in simulation
CN114743010B (en) * 2022-06-13 2022-08-26 山东科技大学 Ultrahigh voltage power transmission line point cloud data semantic segmentation method based on deep learning
CN115179978B (en) * 2022-07-18 2023-05-16 内蒙古工业大学 Shuttle car obstacle avoidance early warning system based on stereo earphone

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0854925A (en) * 1994-08-09 1996-02-27 Yamaha Motor Co Ltd Unmanned vehicle
JP2011248855A (en) * 2010-04-30 2011-12-08 Denso Corp Vehicle collision warning apparatus
JP2013544697A (en) * 2010-10-05 2013-12-19 グーグル・インク Diagnosis and repair of autonomous vehicles
JP2015506310A (en) * 2012-01-30 2015-03-02 グーグル・インク Vehicle control based on cognitive uncertainty
JP2015140181A (en) * 2014-01-29 2015-08-03 コンチネンタル オートモーティブ システムズ インコーポレイテッドContinental Automotive Systems, Inc. Method for minimizing brake intervention based on collision certainty factor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2889882B1 (en) * 2005-08-19 2009-09-25 Renault Sas METHOD AND SYSTEM FOR PREDICTING IMPACT BETWEEN A VEHICLE AND A PIETON
US9459622B2 (en) * 2007-01-12 2016-10-04 Legalforce, Inc. Driverless vehicle commerce network and community
US8996224B1 (en) * 2013-03-15 2015-03-31 Google Inc. Detecting that an autonomous vehicle is in a stuck condition
US9720410B2 (en) * 2014-03-03 2017-08-01 Waymo Llc Remote assistance for autonomous vehicles in predetermined situations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0854925A (en) * 1994-08-09 1996-02-27 Yamaha Motor Co Ltd Unmanned vehicle
JP2011248855A (en) * 2010-04-30 2011-12-08 Denso Corp Vehicle collision warning apparatus
JP2013544697A (en) * 2010-10-05 2013-12-19 グーグル・インク Diagnosis and repair of autonomous vehicles
JP2015506310A (en) * 2012-01-30 2015-03-02 グーグル・インク Vehicle control based on cognitive uncertainty
JP2015140181A (en) * 2014-01-29 2015-08-03 コンチネンタル オートモーティブ システムズ インコーポレイテッドContinental Automotive Systems, Inc. Method for minimizing brake intervention based on collision certainty factor

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11987287B2 (en) 2019-04-12 2024-05-21 Continental Autonomous Mobility US, LLC Autonomous truck-trailer maneuvering and parking
JP7520875B2 (ja) 2019-04-12 2024-07-23 コンチネンタル オートモーティブ システムズ インコーポレイテッド 車両-トレーラーの自律的な操縦および駐車
JP2022526191A (en) * 2019-04-12 2022-05-23 コンチネンタル オートモーティブ システムズ インコーポレイテッド Vehicle-Autonomous maneuvering and parking of trailers
CN110239518B (en) * 2019-05-20 2023-09-01 福瑞泰克智能***有限公司 Vehicle transverse position control method and device
KR102228516B1 (en) 2019-08-05 2021-03-16 엘지전자 주식회사 Autonomous vehicle for carrying user group with multiple users, method and control server for controlling the autonomous driving vehicle
KR20190106837A (en) * 2019-08-05 2019-09-18 엘지전자 주식회사 Autonomous vehicle for carrying user group with multiple users, method and control server for controlling the autonomous driving vehicle
KR20210048647A (en) * 2019-10-23 2021-05-04 국민대학교산학협력단 Device and method for providing automated driving information from the user perspective
KR102255595B1 (en) 2019-10-23 2021-05-26 국민대학교산학협력단 Device and method for providing automated driving information from the user perspective
CN111026873A (en) * 2019-10-24 2020-04-17 中国人民解放军军事科学院国防科技创新研究院 Unmanned vehicle and navigation method and device thereof
CN111026873B (en) * 2019-10-24 2023-06-20 中国人民解放军军事科学院国防科技创新研究院 Unmanned vehicle and navigation method and device thereof
KR102139513B1 (en) * 2019-11-28 2020-08-12 국민대학교산학협력단 Autonomous driving control apparatus and method based on ai vehicle in the loop simulation
KR102478809B1 (en) 2020-02-19 2022-12-19 폭스바겐 악티엔게젤샤프트 Method for invoking a teleoperated driving session, apparatus for performing the steps of the method, vehicle and computer program
KR20210106377A (en) * 2020-02-19 2021-08-30 폭스바겐 악티엔게젤샤프트 Method for invoking a teleoperated driving session, apparatus for performing the steps of the method, vehicle and computer program
US20210302981A1 (en) * 2020-03-31 2021-09-30 Gm Cruise Holdings Llc Proactive waypoints for accelerating autonomous vehicle testing
CN111553844B (en) * 2020-04-29 2023-08-29 阿波罗智能技术(北京)有限公司 Method and device for updating point cloud
US11828606B2 (en) 2020-04-29 2023-11-28 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for updating point cloud
CN111553844A (en) * 2020-04-29 2020-08-18 北京百度网讯科技有限公司 Method and device for updating point cloud
CN112764984B (en) * 2020-12-25 2023-06-02 际络科技(上海)有限公司 Automatic driving test system and method, electronic equipment and storage medium
CN112764984A (en) * 2020-12-25 2021-05-07 际络科技(上海)有限公司 Automatic driving test system and method, electronic device and storage medium
CN114834475A (en) * 2021-01-15 2022-08-02 郑州宇通客车股份有限公司 Vehicle output torque control method and device
CN114834475B (en) * 2021-01-15 2024-05-31 宇通客车股份有限公司 Vehicle output torque control method and device
CN113222335B (en) * 2021-04-06 2022-10-14 同济大学 Risk assessment utility-based security unmanned vehicle group construction method
CN113222335A (en) * 2021-04-06 2021-08-06 同济大学 Risk assessment utility-based security unmanned vehicle group construction method

Also Published As

Publication number Publication date
JP2022046646A (en) 2022-03-23
CN114643995A (en) 2022-06-21
JP7330259B2 (en) 2023-08-21
CN108290579A (en) 2018-07-17
CN108290579B (en) 2022-04-12
JP7036732B2 (en) 2022-03-15

Similar Documents

Publication Publication Date Title
JP7330259B2 (en) Simulation system, method, and non-transitory computer-readable storage medium for autonomous vehicles
US11796998B2 (en) Autonomous vehicle fleet service and system
US11061398B2 (en) Machine-learning systems and techniques to optimize teleoperation and/or planner decisions
US10921811B2 (en) Adaptive autonomous vehicle planner logic
JP7316789B2 (en) Adaptive mapping for navigating autonomous vehicles in response to changes in the physical environment
US20200074024A1 (en) Simulation system and methods for autonomous vehicles
US11106218B2 (en) Adaptive mapping to navigate autonomous vehicles responsive to physical environment changes
US9720415B2 (en) Sensor-based object-detection optimization for autonomous vehicles
JP2023055751A (en) Coordination of dispatch and maintenance management of group of autonomous vehicles
WO2017079229A1 (en) Simulation system and methods for autonomous vehicles
JP2022137160A (en) Machine learning system and technique for optimizing remote control and/or planner determination
US20240028031A1 (en) Autonomous vehicle fleet service and system
EP4404015A2 (en) Adaptive mapping to navigate autonomous vehicles responsive to physical environment changes

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210330

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211224

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20211224

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220106

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220111

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220303

R150 Certificate of patent or registration of utility model

Ref document number: 7036732

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150