CN114643995A - 用于自主车辆的模拟***和方法 - Google Patents

用于自主车辆的模拟***和方法 Download PDF

Info

Publication number
CN114643995A
CN114643995A CN202210276163.7A CN202210276163A CN114643995A CN 114643995 A CN114643995 A CN 114643995A CN 202210276163 A CN202210276163 A CN 202210276163A CN 114643995 A CN114643995 A CN 114643995A
Authority
CN
China
Prior art keywords
data
autonomous vehicle
vehicle
simulated
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.)
Pending
Application number
CN202210276163.7A
Other languages
English (en)
Inventor
J·S·莱文森
G·T·斯布莱
A·G·赖格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zoox Inc
Original Assignee
Zoox Inc
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,995 external-priority patent/US9958864B2/en
Priority claimed from US14/756,996 external-priority patent/US9916703B2/en
Priority claimed from US14/932,963 external-priority patent/US9612123B1/en
Priority claimed from US14/756,992 external-priority patent/US9910441B2/en
Priority claimed from US14/932,948 external-priority patent/US9804599B2/en
Priority claimed from US14/932,958 external-priority patent/US9494940B1/en
Priority claimed from US14/756,991 external-priority patent/US9720415B2/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/932,959 external-priority patent/US9606539B1/en
Priority claimed from US14/932,954 external-priority patent/US9517767B1/en
Priority claimed from US14/932,966 external-priority patent/US9507346B1/en
Priority claimed from US14/756,993 external-priority patent/US9878664B2/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 Zoox Inc filed Critical Zoox Inc
Publication of CN114643995A publication Critical patent/CN114643995A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (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)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

各种实施例总体上涉及自主车辆和相关联的机械、电气以及电子硬件、计算机软件和***、以及有线和无线网络通信,以提供自主车辆车队作为服务。更具体地讲,***、设备、以及方法被配置为在各种模拟环境中模拟自主车辆的导航。具体地讲,方法可以包括接收代表动态对象的特性的数据、计算动态对象的分类以标识分类的动态对象、标识代表与分类的动态对象相关联的动态相关特性的数据、形成分类的动态对象的数据模型、在模拟环境中模拟分类的动态对象的预测的运动范围以形成模拟动态对象、以及对模拟自主车辆的数据表示的预测响应进行模拟。

Description

用于自主车辆的模拟***和方法
本申请是申请日为2016年11月2日,申请号为CN201680064648.2,发明名称为“用于自主车辆的模拟***和方法”的中国发明专利申请的分案申请。
相关申请的交叉引用
本PCT国际申请是2015年11月5日提交的美国申请No.14/757,016、2015年11月4日提交的、标题为“AUTONOMOUS VEHICLE FLEET SERVICE AND SYSTEM”的美国专利申请No.14/932,959、2015年11月4日提交的、标题为“ADAPTIVE MAPPING TO NAVIGATEAUTONOMOUS VEHICLES RESPONSIVE TO PHYSICAL ENVIRONMENT CHANGES”的美国专利申请No.14/932,963、2015年11月4日提交的、标题为“TELEOPERATION SYSTEM AND METHOD FORTRAJECTORY MODIFICATION OF AUTONOMOUS VEHICLES”的美国专利申请No.14/932,966、2015年11月4日提交的、标题为“AUTOMATED EXTRACTION OF SEMANTIC INFORMATION TOENHANCE INCREMENTAL MAPPING MODIFICATIONS FOR ROBOTIC VEHICLES”的美国专利申请No.14/932,940、2015年11月4日提交的、标题为“COORDINATION OF DISPATCHING ANDMAINTAINING FLEET OF AUTONOMOUS VEHICLES”的美国专利申请No.14/756,995、2015年11月4日提交的、标题为“ADAPTIVE AUTONOMOUS VEHICLE PLANNER LOGIC”的美国专利申请No.14/756,992、2015年11月4日提交的、标题为“SYSTEM OF CONFIGURING ACTIVELIGHTING TO INDICATE DIRECTIONALITY OF AN AUTONOMOUS VEHICLE”的美国专利申请No.14/756,994、2015年11月4日提交的、标题为“METHOD FOR ROBOTIC VEHICLECOMMUNICATION WITH AN EXTERNAL ENVIRONMENT VIA ACOUSTIC BEAM FORMING”的美国专利申请No.14/756,993、2015年11月4日提交的、标题为“SENSOR-BASED OBJECT-DETECTIONOPTIMIZATION FOR AUTONOMOUS VEHICLES”的美国专利申请No.14/756,991、2015年11月4日提交的、标题为“CALIBRATION FOR AUTONOMOUS VEHICLE OPERATION”的美国专利申请No.14/756,996、2015年11月4日提交的、标题为“ACTIVE LIGHTING CONTROL FORCOMMUNICATING A STATE OF AN AUTONOMOUS VEHICLE TO ENTITIES IN A SURROUNDINGENVIRONMENT”的美国专利申请No.14/932,948、2015年11月4日提交的、标题为“RESILIENTSAFETY SYSTEM FOR A ROBOTIC VEHICLE”的美国专利申请No.14/932,952的、2015年11月4日提交的、标题为“INTERNAL SAFETY SYSTEMS FOR ROBOTIC VEHICLES”的美国专利申请No.14/932,954、2015年11月4日提交的、标题为“QUADRANT CONFIGURATION OF ROBOTICVEHICLES”的美国专利申请No.14/932,958、以及2015年11月4日提交的、标题为“ROBOTICVEHICLE ACTIVE SAFETY SYSTEMS AND METHODS”的美国专利申请No.14/932,962的继续申请,并且该申请与2015年11月5日提交的、标题为“INDEPENDENT STEERING,POWER,TORQUECONTROL AND TRANSFER IN AUTONOMOUS VEHICLES”的美国专利申请No.14/757,015有关,在此出于所有目的通过引用的方式将这些美国专利申请的全部内部并入。
技术领域
各种实施例总体上涉及自主车辆和相关联的机械、电气以及电子硬件、计算机软件和***、以及有线和无线网络通信,以作为服务来提供自主车辆车队。更具体而言,***、设备、以及方法被配置为在各种模拟环境中对自主车辆的导航进行模拟。
背景技术
开发无人驾驶车辆的各种方案主要集中在使常规车辆(例如,手动驱动自动车辆)自动化方面,其旨在生产用于消费者购买的无人驾驶车辆。例如,许多汽车公司和分公司正在修改常规的汽车和控制机制,例如转向,以向消费者提供拥有能够在无驾驶员的情况下进行操作的车辆的能力。在一些方案中,常规的无人驾驶车辆在一些条件下执行安全至上的驾驶功能,但如果车辆控制器不能够解决一些可能危及乘坐者安全的问题,则要求驾驶员进行控制(例如,转向等)。
尽管实用的常规无人驾驶车辆通常具有诸多缺点。例如,正在开发的大量无人驾驶轿车从要求手动(即,由人控制的)转向以及其它类似自动功能的车辆演变而来。因此,大多数无人驾驶轿车基于这样一种范式:将车辆设计为适应有驾照的驾驶员,车辆内为该驾驶员保留了专门的座位或者位置。于是,次优地设计了无人驾驶车辆,并且通常会放弃简化车辆设计和节省资源(例如,降低生产无人驾驶车辆的成本)的机会。其它缺点也存在于常规的无人驾驶车辆中。
其它缺点也存在于常规的运输服务中,由于提供常规运输与搭乘共享服务的常见方案而致使常规的运输服务不太适合于主动地对例如车辆的库存进行管理。在一个常规的方案中,要求乘客访问移动应用以通过向乘客分派人类驾驶员和车辆(例如,在私人所有的情况下)的集中化服务而请求运输服务。在使用不同人拥有的车辆的情况下,私人车辆以及安全***的维护通常无法得以检查。在另一个常规的方案中,一些实体能够通过允许作为成员招募的驾驶员进入在成员之间共享的车辆来实现对一组车辆的搭乘共享。当驾驶员需要在特定位置接载共享车辆和从共享车辆下车(在城市环境中,这样的情况是少见的)时,该方案不太适合于提供常规的运输服务,并且要求进入相当昂贵的房地产(即,停车场)以在该处停放搭乘共享车辆。在以上所描述的常规方案中,从库存的角度来看,一旦驾驶员离开,由于车辆变为不动,所以通常不能够很好地利用用于提供运输服务的传统车辆。另外,搭乘共享方案(以及个人拥有的车辆运输服务)通常不太适合于重新平衡库存,以匹配运输服务的需求,从而适应使用和典型的行驶模式。还应注意,一些常规描述的具有有限自驾自动能力的车辆也不太适合于重新平衡库存,因为通常可能要求人类驾驶员。根据美国运输部国家高速公路交通安全署(“NHTSA”)的规定,具有有限自驾自动能力的车辆的示例是被标记为3级(“L3”)车辆的车辆。
另一个缺点是,典型的无人驾驶车辆方案通常不太适合于相对于行驶中的车辆与车辆的其他驾驶员或者个人之间的交互(例如,社会交互)来对车辆进行检测和导航。例如,一些常规方案不能够充分地识别行人、骑自行车的人等、以及相关联的交互,例如,眼神接触、做手势等,以用于解决无人驾驶车辆的乘坐者、以及其它车辆的驾驶员、行人等的安全风险的目的。
因此,需要的是一种用于实施自主车辆的不具有常规技术的限制的方案。
发明内容
本发明的一方面涉及一种用于对自主车辆的导航进行模拟的方法,包括:标识代表在模拟环境或物理环境中的一个或多个中的一个或多个动态对象的特性的第一数据;至少部分地基于所述第一数据来确定动态对象的分类;标识代表与所述动态对象相关联的动态相关特性的第二数据;至少部分地基于所述第一数据或所述第二数据中的一个或多个来生成所述动态对象的数据模型;在模拟环境中模拟所述动态对象的预测的运动范围;以及至少部分地基于所述动态对象的所述预测的运动范围,来对模拟自主车辆的一个或多个功能的预测响应进行模拟。
本发明的另一方面涉及一种用于对自主车辆的导航进行模拟的***,包括:包括一个或多个处理器的一个或多个计算设备,其中所述一个或多个计算设备被配置为:接收代表动态对象的特性的第一数据;至少部分地基于所述第一数据来确定动态对象的分类,以标识分类的动态对象;标识代表与所述分类的动态对象相关联的动态相关特性的第二数据;至少部分地基于代表所述分类的动态对象的所述动态相关特性的所述第二数据来生成所述分类的动态对象的数据模型;在模拟环境中模拟所述分类的动态对象的预测的运动范围;以及至少部分地基于所述分类的动态对象的所述预测的运动范围,来对模拟自主车辆的一个或多个功能的数据表示的预测响应进行模拟。
本发明的再另一方面涉及一种非暂态计算机可读存储介质,具有存储于其上的计算机可执行指令,所述计算机可执行指令在由计算机执行时,使所述计算机执行包括以下各项的动作:至少部分地基于代表一个或多个环境中的一个或多个动态对象的特性的数据来确定动态对象的分类;标识与所述动态对象相关联的动态相关特性;至少部分地基于所述动态相关特性来生成所述动态对象的数据模型;以及至少部分地基于所述动态对象的预测的运动范围,在模拟环境中模拟与模拟自主车辆相关联的一个或多个事件。
本发明的再另一方面涉及一种用于控制自主车辆的方法,包括:接收代表物理环境中的动态对象的第一数据;由车辆控制器至少部分地基于所述第一数据确定所述动态对象的分类;标识代表与所述动态对象相关联的动态相关特性的第二数据;至少部分地基于所述第一数据、所述第二数据或所述分类中的至少一个来生成所述动态对象的数据模型;由所述车辆控制器并且至少部分地基于所述动态对象的所述数据模型来在模拟环境中模拟所述动态对象的预测的运动范围;由所述车辆控制器并且至少部分地基于所述动态对象的所述预测的运动范围来生成用于控制所述自主车辆的命令;以及至少部分地基于所述命令来控制所述自主车辆。
本发明的再另一方面涉及一种用于控制自主车辆的***,包括:一个或多个处理器;以及存储能够由所述一个或多个处理器执行的指令的一个或多个计算机可读介质,其中,所述指令在被执行时使得所述***:接收代表物理环境中的动态对象的第一数据;至少部分地基于所述第一数据确定所述动态对象的分类;标识代表与所分类的动态对象相关联的动态相关特性的第二数据;至少部分地基于所述第一数据或所述第二数据中的至少一个来生成所述动态对象的数据模型;在模拟环境中模拟所分类的动态对象的预测的运动范围;至少部分地基于所述预测的运动范围来生成用于在所述物理环境中控制所述自主车辆的命令;以及至少部分地基于所述命令来控制所述自主车辆。
本发明的再另一方面涉及一种非暂态计算机可读存储介质,具有存储于其上的计算机可执行指令,所述计算机可执行指令在由计算机执行时,使得所述计算机:接收与物理环境中的动态对象相关联的传感器数据;至少部分地基于所述传感器数据确定所述动态对象的分类;至少部分地基于所述传感器数据来标识代表与所述动态对象相关联的动态相关特性;至少部分地基于所述动态相关特性或所述分类中的至少一个、至少部分地基于所述动态相关特性来生成所述动态对象的数据模型;以及至少部分地基于所述动态对象的预测的运动范围来模拟与所述物理环境中的自主车辆相关联的事件;以及至少部分地基于所述事件或所述数据模型中的至少一个来生成用于控制所述自主车辆的命令。
附图说明
以下的具体实施方式和附图中公开了本发明的各种实施例或者示例(“示例”):
图1是描绘了根据一些实施例的与自主车辆服务平台通信连网的自主车辆的车队的实施方式的示图;
图2是根据一些实施例的用于监测自主车辆的车队的流程图的示例;
图3A是描绘了根据一些示例的传感器以及其它自主车辆部件的示例的示图;
图3B至3E是描绘了根据一些示例的传感器场冗余和自主车辆对传感器场的损失的适应的示例的示图;
图4是描绘了根据一些示例的包括自主车辆服务平台的***的功能框图,其中,自主车辆服务平台经由通信层通信地耦合于自主车辆控制器;
图5是根据一些实施例的控制自主车辆的流程图的一个示例;
图6是描绘了根据一些实施例的自主车辆控制器的体系结构的示例的示图;
图7是描绘了根据一些实施例的自主车辆服务平台的示例的示图,其中,自主车辆服务平台实施用于维持与自主车辆车队的可靠通信的冗余通信信道;
图8是描绘了根据一些实施例的被配置为在各种应用之间交换数据的消息处理应用的示例的示图;
图9是描绘了根据一些示例的促进使用图8中所描述的通信协议进行遥控操作的数据的类型的示图;
图10是示出了根据一些实施例的遥控操作员接口的示例的示图,遥控操作员可以使用遥控操作员接口影响路径规划;
图11是描绘了根据一些示例的被配置为调用遥控操作的规划器的示例的示图;
图12是根据一些实施例的被配置为控制自主车辆的流程图的示例;
图13描绘了根据一些示例的其中规划器可以生成轨迹的示例;
图14是描绘了根据一些实施例的自主车辆服务平台的另一示例的示图;
图15是根据一些实施例的控制自主车辆的流程图的示例;
图16是根据一些示例的实施车队优化管理器的自主车辆车队管理器的示例的示图;
图17是根据一些实施例的用于管理自主车辆的车队的流程图的示例;
图18是示出了根据一些实施例的实施自主车辆通信链路管理器的自主车辆车队管理器的示图;
图19是根据一些实施例的在事件期间确定自主车辆的动作的流程图的示例;
图20是描绘了根据一些实施例的***的示例的示图;
图21是根据一些实施例的基于集成传感器数据生成局部姿态数据的流程图的示例;
图22是描绘了根据一些实施例的***的另一个示例的示图;
图23是描绘了根据一些实施例的感知引擎的示例的示图;
图24是根据一些实施例的生成感知引擎数据的流程图的示例;
图25是根据一些实施例的分割处理器的示例;
图26A是描绘了根据各种实施例的对象***和分类器的示例的示图;
图26B是描绘了根据至少一些示例的对象***的另一个示例的示图;
图27是根据一些示例的用于感知引擎的前端处理器的示例;
图28是描绘了根据各种实施例的被配置为在合成环境中对自主车辆进行模拟的模拟器的示图;
图29是根据一些实施例的对自主车辆的各个方面进行模拟的流程图的示例;
图30是根据一些实施例的生成地图数据的流程图的示例;
图31是描绘了根据一些实施例的制图引擎的体系结构的示图;
图32是描绘了根据一些示例的自主车辆应用的示图;以及
图33至35示出了根据各种实施例的被配置为向自主车辆服务的部件提供各种功能的各种计算平台的示例;
图36是描绘了根据一些示例的被配置为在模拟环境中对模拟自主车辆(simulated autonomous vehicle)的一个或多个功能进行模拟的模拟器的示图;
图37描绘了根据一些示例的车辆建模器;
图38是描绘了根据一些示例的传感器建模器的示例的示图;
图39是描绘了根据一些示例的动态对象数据建模器的示例的示图;
图40是示出了根据一些示例的生成模拟环境的示例的流程图;以及
图41示出了根据各种实施例的被配置为提供各种模拟器相关功能和/或结构以对自主车辆服务进行模拟的各种计算平台的示例。
具体实施方式
可以按多种方式实施各种实施例或示例,包括作为***、过程、装置、用户接口、或者诸如计算机可读存储介质的计算机可读介质或者其中通过光、电子、或者无线通信链路发送程序指令的计算机网络上的一系列程序指令来实施各种实施例或示例。总而言之,可以按任何次序执行所公开的过程的操作,除非权利要求中另行给定。
下文连同附图一起提供了一个或多个示例的具体实施方式。具体实施方式是结合这样的示例提供的,但并不限于任何特定的示例。仅由权利要求、以及诸多替代、修改、以及其等同物来限定该范围。在以下描述中阐述了许多具体细节以提供深入的理解。这些细节被提供用于示例的目的,并且可以根据权利要求而不是这些具体细节中的一些或者全部来实践所描述的技术。为了简洁起见,与所述示例相关的技术领域中已知的技术材料未详细加以描述,以避免不必要的使所述描述难以理解。
图1是描绘了根据一些实施例的与自主车辆服务平台通信连网的自主车辆的车队的实施方式的示图。示图100描绘了作为服务进行操作的自主车辆109的车队(例如自主车辆109a至109e中的一个或多个),每一个自主车辆109被配置为在路网110上自驾驶,并且建立与自主车辆服务平台101的通信链路192。在其中自主车辆109的车队构成服务的示例中,用户102可以经由一个或多个网络106向自主车辆服务平台101发射对自主运输的请求103。作为响应,自主车辆服务平台101可以从地理位置119向地理位置111派遣自主车辆109之一来自主地运输用户102。自主车辆服务平台101可以从车站190向地理位置119派遣自主车辆,或者可以调转已经在途中的自主车辆109c(例如,无乘坐者),以服务于用户102的运输请求。自主车辆服务平台101还可以被配置为响应来自用户102(例如,作为乘客)的请求而调转在途中的自主车辆109c(有乘客)。另外,自主车辆服务平台101还可以被配置为预约在途中的自主车辆109c(有乘客),以用于调转,从而在现有乘客离开之后服务于用户102的请求。注意,可以实施多个自主车辆服务平台101(未示出)和一个或多个车站190,以服务于与路网110连接的一个或多个自主车辆109。一个或多个车站190可以被配置为存储、服务、管理、和/或维护自主车辆109的库存(例如,车站190可以包括实施自主车辆服务平台101的一个或多个计算设备)。
根据一些示例,自主车辆109a至109c中的至少一些被配置为双向自主车辆,例如,双向自主车辆(“AV”)130。双向自主车辆130可以被配置为主要(但不限于)沿纵轴131在任一方向上行驶。因此,双向自主车辆130可以被配置为实施位于车辆外部的主动照明,以警示附近以及双向自主车辆130所行驶的方向上的其他人(例如,其他驾驶员、行人、骑自行车的人等)。例如,当沿第一方向行驶时,可以将主动光源136实施为主动车灯138a,或者当沿第二方向行驶时,可以将主动光源136实施为主动车灯138b,可以使用一个或多个颜色的第一子集、利用可选的动画(例如,可变光强的或者可以随时间改变的颜色的车灯模式)来实施主动车灯138a。相类似,可以使用一个或多个颜色的第二子集以及可不同于主动车灯138a的车灯模式的车灯模式来实施主动车灯138b。例如,可以使用白色车灯实施主动车灯138a作为“头灯”,而可以使用红色车灯实施主动车灯138b作为“尾灯”。主动车灯138a和138b或者它们的一部分可以被配置为提供其它与车灯相关的功能,例如,提供“转弯信号指示”功能(例如,使用黄色车灯)。根据各种示例,自主车辆130中的逻辑可以被配置为调整主动车灯138a和138b以使其符合任何数目的管辖区域的各种安全要求和交通规章或者法律。
在一些实施例中,双向自主车辆130可以被配置为在每一四边形部分(例如,四边形部分194)中具有类似的结构元件和部件。至少在该示例中,将四边形部分描述为由平面132和平面134的交集所定义的双向自主车辆130的部分,其中,平面132和平面134均穿过车辆,以在平面132和平面134的每一侧形成两个类似的一半。另外,双向自主车辆130还可以包括自主车辆控制器147,自主车辆控制器147包括被配置为控制大多数车辆功能的逻辑(例如,硬件或者软件、或者它们的组合),所述车辆功能包括驱动控制(例如,推进、转向等)和主动光源136、以及其它功能。双向自主车辆130还可以包括设置在车辆不同位置的多个传感器139(未示出其它传感器)。
自主车辆控制器147还可以被配置为确定自主车辆109的局部姿态(例如,局部位置)以及检测相对于车辆的外部对象。例如,可以认为双向自主车辆130正在路网110中沿方向119行驶。自主车辆控制器147的***(未示出)可以确定地理位置111处的局部姿态。于是,***可以使用所采集的传感器数据,例如与建筑物115和117的表面相关联的传感器数据,这些传感器数据可以与参照数据(例如,地图数据(例如,3D地图数据,包括反射数据))进行比较,以确定局部姿态。另外,自主车辆控制器147的感知引擎(未示出)还可以被配置为对外部对象(例如,外部对象112(“树”)和外部对象114(“行人”)的行为进行检测、分类、以及预测。这样的外部对象的分类可以将对象粗略地分类为诸如外部对象112的静态对象和诸如外部对象114的动态对象。AV控制器147的***和感知引擎以及其它部件协同操作,以使自主车辆109能够自主地驾驶。
根据一些示例,自主车辆服务平台101可以被配置为:如果自主车辆109请求遥控操作,提供遥控操作员服务。例如,可以认为自主车辆109d中的自主车辆控制器147在点191(如插图120中描绘)处检测到对象126遮蔽道路122上的路径124。如果自主车辆控制器147不能够确认车辆109d可以以相当高的确定性安全行进的路径或者轨迹,则自主车辆控制器147可以发射针对遥控操作服务的请求消息105。作为响应,遥控操作员计算设备104可以从遥控操作员108接收指令以执行一系列动作来成功地(以及安全地)越过障碍物126。然后,可以将响应数据107发射回自主车辆109d,例如,以使车辆在其沿替代路径121行进时能够安全地跨过一组双线。在一些示例中,遥控操作员计算设备104可以生成标识从规划中排除某一路径的地理区域的响应。具体地讲,除了提供要遵循的路径之外,遥控操作员108还可以定义自主车辆必须避免的区域或者位置。
鉴于以上的描述,自主车辆130和/或自主车辆控制器147、以及它们的部件的结构和/或功能可以通过与自主相关的操作(例如,局部化和感知)执行实时(或者接近实时)的轨迹计算,以使自主车辆109能够自驾驶。
在一些情况下,双向自主车辆130的双向特性提供了具有互相类似或者基本互相类似的四边形部分194(或者任何其它数目的对称部分)的车辆。这样的对称降低了设计的复杂性,并且相对减少了独有部件或者结构的数目,从而降低了库存和制造方面的复杂度。例如,可以将动力传动***和车轮***设置在四边形部分194中的任何一个中。另外,自主车辆控制器147还可以被配置为引用遥控操作服务,以降低自主车辆109在途中延迟的可能性,同时解决了否则可能会影响乘坐者的安全的事件或者问题。在一些情况下,路网110的可见部分描绘了可以限制、或以其它方式控制自主车辆109向图1中所示的路网的移动的地理围划区。根据各种示例,自主车辆109及其车队可以被配置为作为级别4(“全自驾驶自动化”或者L4)车辆进行操作,这种车辆可以向按需运输提供点到点个人移动性的便捷性和私有性,同时提供了共享车辆的效率。在一些示例中,自主车辆109或者本文所描述的任何自主车辆可以被配置为省略了方向盘或者为自主车辆109提供手动(即,人控制的)转向的任何其它机械装置。另外,自主车辆109、或者本文所描述的任何自主车辆还可以被配置为省略了车辆中为乘坐者预留的座椅或者位置以用于方向盘或者针对转向***的任何机械接口。
图2是根据一些实施例的监测自主车辆的车队的流程图的示例。在202处,流程200开始于监测自主车辆的车队。至少一个自主车辆包括被配置为使车辆自主地从第一地理区域行进至第二地理区域的自主车辆控制器。在204处,检测表示与车辆的所计算的置信水平相关联的事件的数据。事件可以是影响自主车辆的操作、或者可能影响自主车辆的操作的条件或者情况。事件可能在自主车辆内部,也可能在自主车辆外部。例如,可以将阻碍道路的障碍物视为事件,也可以将通信的减弱或者损失视为事件。事件可以包括交通条件或者阻塞情况、以及感知引擎所感知的不可预料的或者不寻常数目或者类型的外部对象(或者跟踪)。事件可以包括与天气相关的条件(例如,由于冰或者雨所导致的摩擦力的损失)或者太阳照射的角度(例如,日落时),例如导致太阳闪耀其它车辆的人类驾驶员的眼睛的低地平线角。可以将这些或者其它条件视为致使调用遥控操作员服务或者使车辆执行安全停止轨迹的事件。
在206处,可以响应于检测到事件而从自主车辆接收表示候选轨迹的子集的数据。例如,自主车辆控制器的规划器可以在每单位时间(例如,秒)计算和估计大量(例如,数千或者更多)轨迹。在一些实施例中,候选轨迹是在考虑事件的情况下提供自主车辆可以安全地向前移动(例如,使用遥控操作员所提供的替代路径)的相当高的置信水平的轨迹的子集。注意,可以对一些候选轨迹进行等级排列或者将它们与高于其它候选轨迹的置信度相关联。根据一些示例,候选轨迹的子集可以源自任何数目的源,例如规划器、轨迹操作员计算设备(例如,遥控操作员可以确定并提供近似的路径)等,并且可以将它们组合作为候选轨迹的超集。在208处,可以在一个或多个处理器处标识路径导引数据。路径导引数据可以被配置为协助遥控操作员从候选轨迹中的一个或多个中选择导引轨迹。在一些实例中,路径导引数据指定指示置信水平的值、或者指示特定候选轨迹可以降低或者否定事件可能损害自主车辆的操作的概率的确定程度的概率。在210处,可以响应于来自遥控操作员的输入而接收导引轨迹作为选择的候选轨迹(例如,遥控操作员可以从一组不同等级的候选轨迹中选择至少一个候选轨迹选择为导引轨迹)。例如,可以经由列出多个候选轨迹的操作员接口、按最高置信水平至最低置信水平的次序进行这一选择。在212处,可以将作为导引轨迹的候选轨迹的选择发射到车辆,进而,通过使车辆执行遥控操作员指定的操纵来实施用于解决所述条件的导引轨迹。这样,自主车辆可以从非规范的操作状态进行转换。
图3A是描绘了根据一些示例的传感器以及其它自主车辆部件的示例的示图。示图300描绘了双向自主车辆330的内部视图,双向自主车辆330包括传感器、信号路由器345、动力传动***349、可拆卸电池343、音频生成器344(例如,扬声器或者变频器)、以及自主车辆(“AV”)控制逻辑347。示图300中所示的传感器包括图像捕获传感器340(例如,任何类型的光捕获设备或者摄像机)、音频捕获传感器242(例如,任何类型的麦克风)、雷达设备348、声纳设备341(或者其它类似传感器,包括超声波传感器或者与声音相关的传感器)、以及激光雷达设备346、以及其它传感器类型和形式(其中一些未被示出,例如,惯性测量单元(即“IMU”)、全球定位***(“GPS”)传感器、声纳传感器等)。注意,四边形部分350表示双向自主车辆330的4个“四边形部分”中的每一个的对称性(例如,除了所描述的之外,每一个四边形部分350可以包括车轮、动力传动***349、类似的转向机制、类似的结构支持和构件等)。如图3A中所描述的,可以将类似的传感器放置在每一个四边形部分350中的类似的位置,然而,可以实施任何其它配置。每一个车轮可以单独转向,并且独立于其它车轮转向。还应该注意,可拆卸电池343可以被配置为有助于放入和取出,而不是在原位置充电,从而确保由于必需为电池343充电而带来的检修时间减少或者可忽略。尽管将自主车辆控制器347a描述为在双向自主车辆330中使用,然而自主车辆控制器347a并不限于此,并且可以在单向自主车辆或者任何其它类型的车辆中实施,无论是在陆地、在空中、或者在海上。注意,并不旨在对图3A中所示的传感器的所描绘和所描述的定位、位置、方向、数量、以及类型加以限制,于是,可以存在任何数目和任何类型的传感器,并且可以将任何传感器定位和定向在自主车辆330上的任何地方。
根据一些实施例,可以使用实施适合于对图形处理单元(“GPU”)的群集进行编程的框架和编程模型的GPU的群集来实施自主车辆(“AV”)控制逻辑347的部分。例如,可以使用计算统一设备体系结构(“CUDA”)可兼容的编程语言和应用编程接口(“API”)模型对GPU进行编程。由加利福尼亚Santa Clara的NVIDIA生产和维护CUDATM。注意,也可以实施其它编程语言,例如,OpenCL,或者任何其它并行编程语言。
根据一些实施例,可以采用硬件和/或软件将自主车辆控制逻辑347实施为自主车辆控制器347a,其被描述为包括运动控制器362、规划器364、感知引擎366、以及***368。如所示,自主车辆控制器347a被配置为接收摄像机数据340a、激光雷达数据346a、以及雷达数据348a、或者任何其它范围感测或者局部化数据,包括声纳数据341a等。自主车辆控制器347a还被配置为接收定位数据,例如GPS数据352、IMU数据354、以及其它定位感测数据(例如,与车轮相关的数据,例如转向角、角速度等)。另外,自主车辆控制器347a可以接收任何其它传感器数据356、以及参照数据339。在一些情况下,参照数据339包括地图数据(例如,3D地图数据、2D地图数据、4D地图数据(例如,包括时间确定))以及路线数据(例如,路网数据,包括但不限于RNDF数据(或者类似数据)、MDF数据(或者类似数据)等。
***368被配置为从一个或多个源接收传感器数据,例如,GPS数据352、车轮数据、IMU数据354、激光雷达数据346a、摄像机数据340a、雷达数据348a等、以及参照数据339(例如,3D地图数据和路线数据)。***368通过将传感器数据与地图数据进行比较来集成(例如,融合传感器数据)和分析数据,以确定双向自主车辆330的局部姿态(或者位置)。根据一些实施例,***368可以实时或者近似实时地生成或者更新任何自主车辆的姿态或者位置。注意,***368及其功能不必局限于“双向”车辆,而是可以在任何类型的任何车辆中实施。因此,可以在“单向”车辆或者任何非自主车辆中实施***368(以及AV控制器347a的其它部件)。根据一些实施例,描述局部姿态的数据可以包括x坐标、y坐标、z坐标中的一个或多个(或者任何坐标系(包括极坐标系或者柱坐标系等)的任何坐标)、偏转值、滚动值、俯仰值(例如,角度值)、速率(例如,速度)、高度等。
感知引擎366被配置为从一个或多个源接收传感器数据,例如,激光雷达数据346a、摄像机数据340a、雷达数据348a等、以及局部姿态数据。感知引擎366可以被配置为基于传感器数据和其它数据确定外部对象的位置。例如,外部对象可以是不为可驾驶路面的部分的对象。例如,感知引擎366能够检测外部对象,并且可以将其分类为行人、骑自行车的人、狗、其它车辆等(例如,感知引擎366可以被配置为根据分类的类型对对象进行分类,可以将其与语义信息相关联,包括标签)。基于这些外部对象的分类,可以将外部对象标记为动态对象或者静态对象。例如,可以将被分类为树的外部对象标记为静态对象,而将被分类为行人的外部对象标记为静态对象。可以或者不可以在地图数据中描述被标记为静态的外部对象。可能被标记为静态的外部对象的示例包括锥形交通路标、跨道路布置的水泥路障、车道封闭标志、邻近道路的新放置的邮箱或者垃圾桶等。可能被标记为动态的外部对象的示例包括骑自行车的人、行人、动物、其它车辆等。如果外部对象被标记为动态,并且有关外部对象的其它数据可以指示活动和速度的典型水平、以及与分类类型相关联的行为模式。可以通过跟踪外部对象来生成有关外部对象的其它数据。于是,可以使用分类类型来预测或以其它方式确定外部对象例如可能干扰沿所规划的路径行驶的自主车辆的可能性。例如,可以将被分类为行人的外部对象与某一最大速度、以及平均速度相关联(例如,基于跟踪数据)。可以使用相对于自主车辆的速度的行人的速度来确定是否可能发生碰撞。另外,感知引擎364可以确定与对象的当前和未来状态相关联的不确定水平。在一些示例中,可以将不确定水平表示为所估计的值(或者概率)。
规划器364被配置为从感知引擎366接收感知数据,并且还可以包括来自***368的***数据。根据一些示例,感知数据可以包括指定位于自主车辆附近的静态和动态对象的障碍物地图,而***数据可以包括局部姿态或者位置。在操作中,规划器364基于自主车辆的至少一个位置、针对外部动态和静态对象的相对位置来生成若干轨迹,并且对这些轨迹进行估计。规划器364基于各种准则选择最优轨迹,通过所述准则来将自主车辆导向到提供无碰撞行驶的路上。在一些示例中,规划器364可以被配置为计算轨迹作为概率确定的轨迹。另外,规划器364还可以将转向和推进命令(以及减速或者刹车命令)发射到运动控制器362。接下来,运动控制器362可以将所述命令中的任何命令(例如,转向命令、降速或者推进命令、以及刹车命令)转换为控制信号(例如,用于施加到致动器或者其它机械接口),以实施转向或者车轮角度351和/或速度353的改变。
图3B至3E是描绘了根据一些示例的传感器场冗余和自主车辆对传感器场的损失的适应的示例的示图。图3B的示图391描述了传感器场301a,其中,传感器310a对对象进行检测(例如,用于确定范围或者距离、或者其它信息)。尽管传感器310a可以实施任何类型的传感器或者传感器形式,但传感器310a和类似描述的传感器(例如传感器310b、310c、以及310d)可以包括激光雷达设备。因此,传感器场301a、301b、310c、以及310d均包括激光在其中延伸的场。图3C的示图392描绘了四个重叠的传感器场,由相应的激光雷达传感器310(未示出)生成其中的每一个传感器场。如所示,传感器场的部分301包括无重叠传感器场(例如,单个激光雷达场)、传感器场的部分302包括两个重叠的传感器场,并且部分303包括三个重叠的传感器场,于是,如果激光雷达传感器出现故障,则这样的传感器提供多个水平的冗余度。
图3D描绘了根据一些示例的因激光雷达309的故障操作所导致的传感器场的损失。将图3C的传感器场302变换为单个传感器场305,图3C的传感器场301之一在缝隙304损失,并且将图3C的传感器场303中的三个变换为传感器场306(即,限制于两个重叠的场)。如果自主轿车330c沿行驶方向396行驶,则移动的自主车辆的前方的传感器场与尾端部分处的传感器场相比较不鲁棒。根据一些示例,自主车辆控制器(未示出)被配置为利用自主车辆330c的双向特性解决车辆前方引导区域的传感器场的损失。图3E描述了用于恢复自主车辆330d前方传感器场的一定鲁棒性的双向操纵。如所示,将更鲁棒的传感器场302设置在车辆330d的后方,与尾灯348处于同一空间。在方便的时候,自主车辆330d通过开进行车道397以及切换其方向性以使尾灯348主动切换至自主车辆330d的另一侧(例如,尾端)来执行双向操纵。如所示,当其沿行驶方向398行驶时,自主车辆330d恢复车辆前方的鲁棒的传感器场302。另外,以上所描述的双向操纵消除了对要求向繁忙的道路倒车的较复杂的操纵的需求。
图4是描绘了根据一些示例的包括自主车辆服务平台的***的功能框图,自主车辆服务平台经由通信层而通信地耦合到自主车辆控制器。示图400描述了设置在自主车辆430中的自主车辆(“AV”)控制器447,自主车辆430又包括耦合于自主车辆控制器447的多个传感器470。传感器470包括一个或多个激光雷达设备472、一个或多个摄像机474、一个或多个雷达476、一个或多个全球定位***(“GPS”)数据接收器传感器、一个或多个惯性测量单元(“IMU”)475、一个或多个里程计传感器477(例如,车轮编码器传感器、车轮速度传感器等)、以及任何其它适合的传感器478(例如,红外摄像机或者传感器)、高光谱能力传感器、超声波传感器(或者任何其它基于声能的传感器)、基于射频的传感器等。在一些情况下,可以包括被配置为感测车轮的转向角度的车轮角度传感器作为里程计传感器477或者适合的传感器478。在非限制性示例中,自主车辆控制器447可以包括四个或者更多的激光雷达472、十六个或者更多的摄像机474以及四个或者更多的雷达单元476。另外,传感器470还可以被配置为向自主车辆控制器447的部件以及自主车辆服务平台401的元件提供传感器数据。如示图400中所示,自主车辆控制器447包括规划器464、运动控制器462、***468、感知引擎466、以及局部地图生成器440。注意,图4的示图400中所描述的元件可以包括与结合一个或多个其它图所描述的类似命名的元件相同的结构和/或功能。
***468被配置为相对于参照数据使自主车辆局部化(即,确定局部姿态),参照数据可以包括地图数据、路线数据(例如,路网数据,例如类似RNOF的数据)等。在一些情况下,例如,***468被配置为标识空间中的可以表示自主车辆430相对于环境表示特征的位置的点。***468被示为包括传感器数据集成器469,其可以被配置为集成传感器数据的多个子集(例如,不同的传感器形式),以降低与传感器的每个个体类型相关的不确定性。根据一些示例,传感器数据集成器469被配置为对传感器数据(例如,激光雷达数据、摄像机数据、雷达数据等)进行融合,以形成用于确定局部姿态的集成的传感器数据值。根据一些示例,***468检索源自参照数据资源库405的参照数据,资源库405包括用于存储2D地图数据、3D地图数据、4D地图数据等的地图数据资源库405a。***468可以被配置为至少标识环境中的特征的子集,以与标识或以其它方式确认自主车辆430的姿态的地图数据进行匹配。根据一些示例,***468可以被配置为标识环境中的任何量的特征,以使特征的集合可以具有一个或多个特征或者所有特征。在特定示例中,可以将任何量的激光雷达数据(例如,大多数或者大体上所有激光雷达数据)与用于局部化目的的表示地图的数据进行比较。通常,通过环境特征和地图数据的比较所得到的无匹配对象可以是动态对象,例如车辆、骑自行车的人、行人等。注意,可以在有或没有地图数据的情况下执行动态对象(包括障碍物)的检测。具体地讲,可以独立于地图数据(即,在无地图数据的情况下)检测和跟踪动态对象。在一些示例中,可以将2D地图数据和3D地图数据视为“全球地图数据”或者自主车辆服务平台401在某一时刻已经验证过的地图数据。由于能够周期性地更新和/或验证地图数据资源库405a中的地图数据,在地图数据和自主车辆位于其中的实际环境之间可能存在偏差。因此,***468可以检索局部地图生成器440所生成的局部获得的地图数据,以加强局部化。局部地图生成器440被配置为实时或者接近实时地生成局部地图数据。任选地,例如,局部地图生成器440可以接收静态和动态对象地图数据,以通过不理会局部化中的动态对象来增强局部生成的地图的准确性。根据至少一些实施例,局部地图生成器440可以与***468集成或者形成为***468的一部分。在至少一种情况下,局部地图生成器440可以单独或者与***468合作地被配置为基于同时局部化和制图(“SLAM”)等生成地图和/或参照数据。注意,***468可以实施使用地图数据的“混合”方案,由此***468中的逻辑可以被配置为从地图数据资源库405a选择各种量的地图数据,或者从局部地图生成器440选择局部地图数据,取决于每个地图数据源的可靠性程度。因此,就局部生成的地图数据而言,***468可能仍在使用过期的地图数据。
例如,感知引擎466被配置为:通过标识自主车辆430正在其中行进的周围环境中的感兴趣对象来辅助规划器464规划路线并生成轨迹。另外,还可以将概率与每一个感兴趣对象相关联,由此概率可以表示感兴趣对象可能是对安全行驶的威胁的可能性(例如,快速移动的摩托车,而不是坐在公共汽车站长椅上正在读报的人可能需要加强的跟踪)。如所示,感知引擎466包括对象检测器442和对象分类器444。对象检测器442被配置为相对于环境中的其它特征区分对象,并且对象分类器444可以被配置为将对象分类为动态或者静态对象,并且跟踪动态和静态对象相对于自主车辆430的位置,以用于规划目的。另外,感知引擎466可以被配置为向指定对象是否为(或者可能成为)可能损害规划器464处的路径规划的障碍物的静态或者动态对象分配标识符。尽管图4中未示出,但注意,感知引擎466也可以执行其它与感知相关的功能,例如,分割和跟踪,以下描述了分割和跟踪的示例。
规划器464被配置为经由可用的多个路径或者路线生成用于实现到达目的地的目标的多个候选轨迹。轨迹估计器465被配置为估计候选轨迹,并且标识候选轨迹的哪些子集与向目的地提供无碰撞路径的较高程度的置信水平相关联。于是,轨迹估计器465可以基于用于引起命令生成用于车辆部件450(例如,致动器或者其它机制)的控制信号的相关准则来选择最优轨迹。注意,相关准则可以包括定义最优轨迹的任何数目的因素,不需要将最优轨迹的选择限制为减少碰撞。例如,可以使轨迹的选择能够优化用户体验(例如,用户舒适度)以及遵守交通规则和法律的无碰撞轨迹。可以通过沿各种直线和角方向适度加速来优化用户体验(例如,以减少类似颠簸的行驶或者其它使人不愉快的运动)。在一些情况下,相关准则的至少一部分可以指定哪些其它准则要重写或者取代。例如,当在受限情形中生成轨迹时,可以临时强化或者削弱法律限制(例如,跨越双黄线以绕过骑自行车的人前进,或者按高于所标出的速度限制行驶以匹配交通流)。于是,控制信号被配置为导致动力传动***和/或车轮处的推进力和方向的变化。在该示例中,运动控制器462被配置为将命令变换为用于控制自主车辆430的移动的控制信号(例如,速度、车轮角度等)。在轨迹估计器465具有不充足的用于确保高到足以提供无碰撞的优化行驶的置信水平的信息的情况下,规划器464可以向遥控操作员404生成对遥控操作员支持的请求。
自主车辆服务平台401包括遥控操作员404(例如,遥控操作员计算设备)、参照数据资源库405、地图更新器406、车辆数据控制器408、校准仪409、以及离线对象分类器410。注意,自主车辆服务平台401的每个元件可以被独立地定位或者分布,并且与自主车辆服务平台401中的其它元件进行通信。另外,自主车辆服务平台401的元件可以经由通信层402独立地与自主车辆430进行通信。地图更新器406被配置为接收地图数据(例如,从局部地图生成器440、传感器460、或者自主车辆控制器447的任何其它部件),并且进一步被配置为根据局部生成的地图来检测例如地图数据资源库405a中的地图数据的偏差。车辆数据控制器408可以使地图更新器406更新资源库405中的参照数据,并且促进对2D、3D、和/或4D地图数据的更新。在一些情况下,车辆数据控制器408可以控制局部地图数据被接收到自主车辆服务平台408中的速率以及地图更新器406执行对地图数据的更新的频率。
校准仪409被配置为执行对相同或者不同类型的各种传感器的校准。校准仪409可以被配置为确定传感器的相对姿态(例如,在笛卡儿空间(x,y,z)中)以及传感器的取向(例如,滚动、偏转和俯仰)。可以相对于其它传感器、以及全局地相对于车辆的参考系来校准诸如摄像机、激光雷达传感器、雷达传感器等传感器的姿态和取向。离线自校准也可以校准或者估计其它参数,例如,车辆惯性张量、车轮轴距、车轮半径或者表面道路摩擦力。根据一些示例,也可以在线进行校准,以检测参数变化。也应该注意,校准仪409的校准可以包括传感器的本征参数(例如,光扭曲、光束角等)以及非本征参数。在一些情况下,例如,可以通过最大化3D激光数据中的深度不连续性和图像数据的边缘之间的相关性来执行校准仪409。离线对象分类410被配置为从传感器470或者从自主车辆控制器447的任何其它部件接收数据,例如,传感器数据。根据一些实施例,离线对象分类410的离线分类管线可以被配置为预收集和注释对象(例如,由人手工地和/或使用离线标记算法自动地),并且还可以被配置为训练在线分类器(例如,对象分类器444),在在线自主操作期间,在线分类器可以提供对象类型的实时分类。
图5是根据一些实施例的控制自主车辆的流程图的示例。在502处,流程500开始于例如由自主车辆控制器接收到自主车辆处的源自多种形式传感器的传感器数据。可以将传感器数据的一个或多个集成在一起以生成融合数据,以例如提高估计水平。在一些示例中,在504处,可以将一个或多个传感器的传感器流(例如,相同或者不同形式的)融合,以形成融合的传感器数据。在一些示例中,在504处,可以将激光雷达传感器数据和摄像机传感器数据的子集融合,以促进局部化。在506处,可以在处理器处获得表示基于传感器数据的至少两个子集的对象的数据。例如,至少可以从激光雷达和摄像机数据获得(例如,在感知引擎处)标识静态对象或者动态对象的数据。在508处,确定所检测的对象影响所规划的路径,并且在510处响应于所检测的对象而估计(例如,在规划器处)轨迹的子集。在512处,确定置信水平超过与自主车辆的规范操作相关联的可接受置信水平的范围。因此,在该情况下,置信水平可以是使得不太可能确定对最优路径的选择,由此,可以将最优路径确定为促进无碰撞行驶、符合交通法规、提供舒适的用户体验(例如,舒适的搭乘)、和/或针对任何其它因素生成候选轨迹的概率的函数。于是,在514处,可以将对替代路径的请求发射到遥控操作员计算设备。此后,遥控操作员计算设备可以向规划器提供使自主车辆在其上行驶的最优轨迹。在一些情况下,车辆也可以确定执行安全停止操纵是动作的最优过程(例如,安全且自主地使自主车辆停在具有相对低危险概率的位置)。注意,在该流程图中以及在本文的其它流程图中描绘的次序不旨在暗示对线性地执行各种功能的要求,因为可以顺序地、或者与流程图的任何一个或多个其它部分并行地、以及独立于或者依赖于流程图的其它部分来执行流程图的每个部分。
图6是描绘了根据一些实施例的自主车辆控制器的体系结构的示例的示图。示图600描绘了多个过程,包括运动控制器过程662、规划器处理器664、感知过程666、制图过程640、以及局部化过程668,其中的一些可以生成或者接收与其它过程相关的数据。其它过程,例如,过程670和650可以促进与自主车辆的一个或多个机械部件进行交互。例如,感知过程666、制图过程640、以及局部化过程668被配置为从传感器670接收传感器数据,而规划器过程664和感知过程666被配置为接收导引数据606,导引数据606可以包括诸如路网数据的路线数据。进一步针对示图600,局部化过程668被配置为接收地图数据605a(即,2D地图数据)、地图数据605b(即,3D地图数据)、以及局部地图数据642、以及其它类型的地图数据。例如,局部化过程668也可以接收诸如4D地图数据的其它形式的地图数据,例如,4D地图数据可以包括时间确定。局部化过程668被配置为生成表示局部姿态的局部位置数据641。将局部位置数据641提供到运动控制器过程662、规划器过程664、以及感知过程666。感知过程666被配置为生成静态和动态对象地图数据667,进而,可以将静态和动态对象地图数据667发射到规划器过程664。在一些示例中,可以与其它数据(例如,语义分类信息和所预测的对象行为)一起发射静态和动态对象地图数据667。规划器过程664被配置为生成轨迹数据665,轨迹数据665描述了规划器664所生成的多个轨迹。运动控制器过程使用轨迹数据665生成低级命令或者控制信号以施加到致动器650,以导致转向角度和/或速度的变化。
图7是描绘了根据一些实施例的自主车辆服务平台的示例的示图,自主车辆服务平台实施冗余通信信道来维持与自主车辆车队的可靠通信。示图700描述了自主车辆服务平台701,自主车辆服务平台701包括参照数据生成器705、车辆数据控制器702、自主车辆车队管理器703、遥控操作员管理器707、模拟器740、以及策略管理器742。参照数据生成器705被配置为生成和修改地图数据和路线数据(例如,RNDF数据)。另外,参照数据生成器705可以被配置为访问2D地图数据资源库720中的2D数据、访问3D地图数据资源库722中的3D数据、以及访问路线数据资源库724中的路线数据。在一些示例中,也可以实施其它地图表示数据和资源库,例如包括时间确定的4D地图数据。车辆数据控制器702可以被配置为执行各种操作。例如,车辆数据控制器702可以被配置为基于通过信道770的通信的质量水平来改变在自主车辆服务车队与平台701之间交换数据的速率。在带宽受限时段期间,例如,可以对数据通信进行优先级排序,以使来自自主车辆730的遥控操作请求的优先级为高,以确保交付。另外,也可以通过信道770发射每车辆的数据抽取的可变水平,取决于可用于特定信道的带宽。例如,在存在鲁棒的网络连接的情况下,可以发射全激光雷达数据(例如,大体上全部激光雷达数据,但也可以少一些),而在存在降级的或者低速率连接的情况下,可以发射数据的更简单或者更抽象的描述(例如,具有相关联的元数据的边界框等)。自主车辆车队管理器703被配置为协调自主车辆730的派遣,以优化多个变量,包括电池电源的高效使用、行驶时间、在电池低充电量状态期间是否可以使用自主车辆730中的空调单元等,为了优化与操作自主车辆服务相关联的成本功能,可以对其中任何一项或者全部进行监测。可以实施算法以分析针对自主车辆车队的用于最小化行驶成本或者时间的各种变量。另外,为了最大化车队的正常运行时间,自主车辆车队管理器703维护自主车辆的库存以及用于适应服务调度的部分。
遥控操作员管理器707被配置为管理遥控操作员708通过其提供输入的多个遥控操作员计算设备704。模拟器740被配置为模拟一个或多个自主车辆730的操作、以及遥控操作员管理器707和自主车辆730之间的交互。模拟器740还可以模拟设置在自主车辆730中的多个传感器的操作(包括所模拟的噪声的引入)。另外,还可以模拟环境(例如,城市),从而能够将模拟的自主车辆引入合成的环境,由此,所模拟的传感器可以接收诸如所模拟的激光返回的所模拟的传感器数据。模拟器740也可以提供其它功能,包括对软件更新和/或地图数据的验证。考虑到自主车辆在路网中行驶时会遇到的各种条件或者事件,策略管理器742被配置为维护表示自主车辆应该遵守的策略或规则。在一些情况下,鉴于策略的改变,可以在模拟器740中模拟更新的策略和/或规则,以确认自主车辆的车队的安全操作。在下文进一步描述自主车辆服务平台701的上述元件中的一些。
通信信道770被配置为提供自主车辆730的车队和自主车辆服务平台701之间的网络通信链路。例如,通信信道770包括多个不同类型的网络771、772、773和774,它们具有相应的子网络(例如,771a至771n),以确保可靠地操作自主车辆服务的一定冗余度水平。例如,通信信道770中的不同类型的网络可以包括不同的蜂窝网络提供商、不同类型的数据网络等,以在由于一个或多个网络771、772、773和774中的故障而导致的通信减弱或者损失的情况下确保足够的带宽。
图8是描绘了根据一些实施例的被配置为在各种应用之间交换数据的消息处理应用的示例的示图。示图800描述了设置在遥控操作员管理器中的遥控操作员应用801、以及设置在自主车辆中的自主车辆应用830,由此,遥控操作员应用801和自主车辆应用830经由促进在各种网络(例如,网络871、872、以其它网络873)上进行通信的协议来交换消息数据。根据一些示例,通信协议是被实施为具有由对象管理组联盟所维持的规范的数据分发服务TM的中间件协议。根据通信协议,遥控操作员应用801和自主车辆应用830可以包括设置在消息域中的消息路由器854、被配置为与遥控操作员API 852接口连接的消息路由器。在一些示例中,消息路由器854是路由服务。在一些示例中,可以由遥控操作员标识符标识遥控操作员应用801中的消息域850a,而可以将消息域850b标识为与车辆标识符相关联的域。遥控操作员应用801中的遥控操作员API 852被配置为与遥控操作员过程803a至803c接口连接,由此使遥控操作员过程803b与自主车辆标识符804相关联、以及使遥控操作员过程803c与事件标识符806(例如,指定无碰撞路径规划可能有问题的十字路口的标识符)相关联。自主车辆应用830中的遥控操作员API 852被配置为与自主车辆操作***840接口连接,自主车辆操作***840包括感测应用842、感知应用844、局部化应用846、以及控制应用848。鉴于以上描述,以上所描述的通信协议可以促进数据交换,以促进本文所描述的遥控操作。另外,以上所描述的通信协议可以适合于在一个或多个自主车辆以及一个或多个自主车辆服务平台之间提供安全数据交换。例如,消息路由器854可以被配置为对消息进行加密和解密,以在例如遥控操作员过程803和自主车辆操作***840之间提供安全的交互。
图9是描绘了根据一些示例的用于使用图8中所描述的通信协议促进遥控操作的数据的类型的示图。示图900描述了遥控操作员908,遥控操作员908与耦合于遥控操作员应用901的遥控操作员计算设备904接口连接,遥控操作员应用901被配置为经由在一个或多个网络971中实施的以数据为中心的消息处理总线972交换数据。以数据为中心的消息处理总线972在遥控操作员应用901和自主车辆应用930之间提供通信链路。遥控操作员应用901的遥控操作员API 962被配置为接收消息服务配置数据964和路线数据960,例如,路网数据(例如,类似RNDF的数据)、任务数据(例如,MDF数据)等。类似地,消息处理服务桥932也被配置为接收消息处理服务配置数据934。消息处理服务配置数据934和964提供配置数据以配置遥控操作员应用901和自主车辆应用930之间的消息处理服务。消息处理服务配置数据934和964的示例包括被实施为配置数据分发服务TM应用的服务质量(“QoS”)配置数据。
用于促进经由通信协议进行遥控操作的数据交换的示例描述如下。可以认为由自主车辆控制器的感知***生成障碍物数据920。另外,由规划器生成规划器选项数据924,以向遥控操作员通知候选轨迹的子集,以及由***生成位置数据926。将障碍物数据920、规划器选项数据924、以及位置数据926发射到消息处理服务桥932,消息处理服务桥932根据消息服务配置数据934生成遥测数据940和询问数据942,经由以数据为中心的消息处理总线972将这两者作为遥测数据950和询问数据952发射到遥控操作员应用901中。遥控操作员API 962接收遥测数据950和询问数据952,进而,在考虑到路线数据960和消息服务配置数据964的情况下对遥测数据950和询问数据952进行处理。所得到的数据随后经由遥控操作员计算设备904和/或合作显示器(例如,对一组合作的遥控操作员908可见的仪表板显示器)被呈现给遥控操作员908。遥控操作员908回顾呈现在遥控操作员计算设备904的显示器上的候选轨迹选项,并且选择生成命令数据982和询问响应数据980的导引轨迹,这两者作为询问响应数据954和命令数据956被传送通过遥控操作员API 962。进而,经由以数据为中心的消息处理总线972将询问响应数据954和命令数据956作为询问响应数据944和命令数据946发射到自主车辆应用930中。消息处理服务桥932接收询问响应数据944和命令数据946,并且生成遥控操作员命令数据928,其被配置为生成由规划器实施的遥控操作员选择的轨迹。注意,以上所描述的消息处理过程并非限制性的,并且也可以实施其它消息处理协议。
图10是示出了根据一些实施例的遥控操作员可以使用其影响路径规划的遥控操作员接口的示例的示图。示图1000描述了与自主车辆服务平台1001通信的自主车辆1030的示例,自主车辆服务平台1001包括被配置为促进遥控操作的遥控操作员管理器1007。在第一示例中,遥控操作员管理器1007接收数据,该数据要求遥控操作员1008优先观察接近潜在障碍物或者低规划器置信水平的区域的自主车辆的路径,以使遥控操作员1008能够预先解决问题。为了进行说明,认为可以将自主车辆正在接近的十字路口标记为有问题。于是,用户接口1010显示沿路径1012行进的相应的自主车辆1030的表示1014,由规划器生成的多个轨迹已经预测到路径1012。同样显示的是其它车辆1011和动态对象1013(例如,行人),这可能导致规划器处的较大困惑,因此要求遥控操作支持。用户接口1010还向遥控操作员1008呈现当前速度1022、速度限制1024、以及电池中目前的充电量1026。根据一些示例,用户接口1010可以显示其它数据,例如从自主车辆1030采集的传感器数据。在第二示例中,认为规划器1064已经生成了与规划器生成的路径1044处于同一空间的多个轨迹,而不管所检测的未标识的对象1046如何。规划器1064也可以生成候选轨迹1040的子集,但在该示例中,如果给定了当前置信水平,则规划器不能继续。如果规划器1064不能够确定替代路径,则可以发射遥控操作请求。在该情况下,遥控操作员可以选择候选轨迹1040之一,以促进自主车辆1030的与基于遥控操作员的路径1042一致的行驶。
图11是描绘了根据一些示例的被配置为调用遥控操作的规划器的示例的示图。示图1100描述了规划器1164,规划器1164包括地形管理器1110、路线管理器1112、路径生成器1114、轨迹估计器1120、以及轨迹***1128。地形管理器1110被配置为接收地图数据,例如3D数据或者指定地形特征的其它类似地图数据。地形管理器1110被进一步配置为基于至目的地的路径上的与地形相关的特征来标识候选路径。根据各种示例,地形管理器1110接收与车队中的一个或多个自主车辆相关联的传感器所生成的3D地图。路线管理器1112被配置为接收环境数据1103,环境数据1103可以包括与能够被选择为至目的地的路径的一个或多个路线相关联的与交通相关的信息。路径生成器1114从地形管理器1110和路线管理器1112接收数据,并且生成适合于将自主车辆导向目的地的一个或多个路径或者路径段。表示一个或多个路径或者路径段的数据被发射到轨迹估计器1120中。
轨迹估计器1120包括状态和事件管理器1122,进而,状态和事件管理器1122可以包括置信水平生成器1123。轨迹估计器1120还包括导引轨迹生成器1126和轨迹生成器1124。另外,规划器1164被配置为接收策略数据1130、感知引擎数据1132、以及***数据1134。
根据一些示例,策略数据1130可以包括规划器1164用于确定具有用来生成轨迹的足够的置信水平的路径。策略数据1130的示例包括指定由偏离外部对象的距离(例如,如果可能的话,保持与骑自行车的人相距3英尺的安全缓冲距离)限制轨迹生成的策略、或者要求轨迹必须不跨越中心双黄线的策略、或者要求将轨迹限制于4车道道路中的单个车道的策略(例如,基于过去的事件,例如在最靠近公共汽车站的车道通常十分拥塞)、以及由策略指定的任何其它类似的准则。感知引擎数据1132包括感兴趣的静态对象和动态对象的位置的地图,并且***数据1134至少包括局部姿态或者位置。
状态和事件管理器1122可以被配置为根据概率确定自主车辆的操作状态。例如,第一操作状态(即,“规范操作”)可以描述其中轨迹为无碰撞的情形,而第二操作状态(即,“非规范操作”)可以描述其中与可能的轨迹相关联的置信水平不足以保证无碰撞行驶的另一种情形。根据一些示例,状态和事件管理器1122被配置为使用感知数据1132确定自主车辆的状态为规范还是非规范。置信水平生成器1123可以被配置为分析感知数据1132以确定自主车辆的状态。例如,置信水平生成器1123可以使用与静态和动态对象相关联的语义信息以及相关联的概率估计来增强规划器1164确定安全动作方针的确定度。例如,规划器1164可以使用指定对象是人或者不是人的概率的感知引擎数据1132来确定规划器1164是否正在安全操作(例如,规划器1164可以接收对象有98%的概率是人、以及对象有2%的概率不是人的确定度)。
当确定置信水平(例如,基于统计和概率确定)低于所预测的安全操作所要求的阈值时,相对低的置信水平(例如,单概率分数)可以触发规划器1164向自主车辆服务平台1101发射对遥控操作支持的请求1135。在一些情况下,遥测数据和一组候选轨迹可以伴随请求。遥测数据的示例包括传感器数据、局部化数据、感知数据等。遥控操作员1108可以经由遥控操作员计算设备1104向导引轨迹生成器1126发射选择的轨迹1137。于是,选择的轨迹1137是利用遥控操作员的导引形成的轨迹。当确认无状态变化(例如,非规范状态为待定)时,导引轨迹生成器1126将数据传送到轨迹生成器1124,进而,轨迹生成器1124使轨迹***1128(作为轨迹跟踪控制器)使用遥控操作员指定的轨迹来生成控制信号1170(例如,转向角度、速度等)。注意,在状态转换到非规范状态之前,规划器1164可以触发对遥控操作支持的请求1135的发射。具体地讲,自主车辆控制器和/或其部件能够预测到:远处的障碍物可能成为问题,并且在自主车辆到达障碍物之前优先使规划器1164调用遥控操作。否则,当遇到障碍物或者情景(例如,靠边停车和离开道路)时,自主车辆可能因向安全状态的转换而导致延迟。在另一个示例中,在自主车辆接近已知难以导航的特定位置时,可以自动调用遥控操作。如果这样的情形可能导致对传感器读数、以及从各种源所获得的交通或者事故数据的可靠性的干扰,则该确定可以任选地考虑其它因素,包括一天中的时间、太阳的位置。
图12是根据一些实施例的被配置为控制自主车辆的流程图的示例。在1202处,流程1200开始。在自主车辆中的规划器处接收表示对象的子集的数据,对象的子集包括与表示分类类型的确定度的数据相关联的至少一个对象。例如,感知引擎数据可以包括与对象相关联的元数据,由此所述元数据指定与特定分类类型相关联的确定度。例如,动态对象可以被分类为“年轻行人”,该分类为正确的置信水平为85%。在1204处,可以接收***数据(例如,在规划器处)。***数据可以包括在自主车辆内局部生成的地图数据。局部地图数据可以指定可能在地理区域内发生事件的确定度(包括不确定度)。事件可以是影响自主车辆的操作、或者可能影响自主车辆的操作的条件或者情形。事件可以在自主车辆内部(例如,故障或者损坏的传感器)或者在自主车辆外部(例如,道路阻塞)。本文描述了事件的示例,例如,在图2中以及在其它图和段落中。在1206处,可以确定与感兴趣地理区域处于同一空间的路径。例如,认为事件为在交通高峰时段期间阳光的强度损害了驾驶员的视线时的太阳在天空中的位置。于是,期望或者预测到:交通响应于强烈阳光而减缓。因此,如果不太可能存在避免事件的替代路径,则规划器可以优先调用遥控操作。在1208处,基于局部姿态数据在规划器处确定局部位置。在1210处,例如,可以基于分类类型的确定度和事件的确定度来确定(例如,根据概率)自主车辆的操作状态,分类类型的确定度和事件的确定度可以基于任何数目的因素,例如速度、位置、以及其它状态信息。为了例示,考虑如下示例:其中,在其他驾驶员的视线可能会受太阳损害的事件期间自主车辆检测到年轻的行人,由此导致该年轻的行人处于不安全的情形。因此,可以将相对不安全的情形检测为可能发生的概率事件(即,可以针对其调用遥控操作的不安全情形)。在1212处,确定操作状态处于规范状态的可能性,并且基于该确定,将消息发射到请求遥控操作的遥控操作员计算设备,以优先转换到下一个操作状态(例如,从规范操作状态向诸如不安全操作状态的非规范操作状态的优先转换)。
图13描述了根据一些示例的其中规划器可以生成轨迹的示例。示图1300包括轨迹估计器1320和轨迹生成器1324。轨迹估计器1320包括置信水平生成器1322和遥控操作员询问消息器1329。如所示,轨迹估计器1320耦合到感知引擎1366,以接收静态地图数据1301、以及当前和预测的对象状态数据1303。轨迹估计器1320还从***1368接收局部姿态数据1305以及从全局规划器1369接收规划数据1307。在一个操作状态(例如,非规范)下,置信水平生成器1322接收静态地图数据1301以及当前和预测的对象状态数据1303。基于该数据,置信水平生成器1322可以确定所检测的轨迹与不可接受的置信水平值相关联。于是,置信水平生成器1322发射所检测的轨迹数据1309(例如,包括候选轨迹的数据),以经由遥控操作员询问消息器1329通知遥控操作员,进而,遥控操作员询问消息器1329发射对遥控操作员帮助的请求1370。
在另一个操作状态(例如,非规范状态)下,将静态地图数据1301、当前和预测的对象状态数据1303、局部姿态数据1305、以及规划数据1307(例如,全局规划数据)被接收到轨迹计算器1325中,轨迹计算器1325被配置为(例如,迭代地)计算轨迹,以确定最优的一个或多个路径。然后,至少一个路径被选择,并且被作为选择的路径数据1311而发射。根据一些实施例,作为示例,轨迹计算器1325被配置为实施轨迹的重新规划。标称驾驶轨迹生成器1327被配置为按精确的方案生成轨迹,例如通过基于滚动时域控制技术来生成轨迹。接下来,例如,标称驾驶轨迹生成器1327可以将标称驾驶轨迹路径数据1372发射到轨迹***或者车辆控制器,以实施转向、加速度、以及其它部件的物理变化。
图14是描绘了根据一些实施例的自主车辆服务平台的另一个示例的示图。示图1400描述了自主车辆服务平台1401,自主车辆服务平台1401包括遥控操作员管理器1407,遥控操作员管理器1407被配置为管理遥控操作员1408、遥控操作员计算设备1404、以及自主车辆服务平台1401的其它部件之间的交互和/或通信。进一步参考示图1400,自主车辆服务平台1401包括模拟器1440、资源库1441、策略管理器1442、参照数据更新器1438、2D地图数据资源库1420、3D地图数据资源库1422、以及路线数据资源库1424。可以在资源库(未示出)中实施和存储其它地图数据,例如4D地图数据(例如,使用时间确定)。
遥控操作员动作推荐控制器1412包括被配置为经由自主车辆(“AV”)规划器数据1472接收和/或控制遥控操作服务请求,自主车辆规划器数据1472可以包括对遥控操作员帮助的请求以及遥测数据和其它数据。于是,自主车辆规划器数据1472可以包括推荐的候选轨迹或者路径,遥控操作员1408可以经由遥控操作员计算设备1404从推荐的候选轨迹或者路径中进行选择。根据一些示例,遥控操作员动作推荐控制器1412可以被配置为访问从中选择最优轨迹的推荐的候选轨迹的其它源。例如,可以将包含在自主车辆规划器数据1472中的候选轨迹并行地引入模拟器1440,模拟器1440被配置为模拟由请求遥控操作员帮助的自主车辆所经历的事件或者状况。模拟器1440可以访问在候选轨迹集上执行模拟所需的地图数据和其它数据,因此,模拟器1440无需无休止地反复进行模拟以确认足够充分。更确切地讲,模拟器1440要么可以提供对候选轨迹的适当性的确认,要么可以警告遥控操作员小心选择轨迹。
遥控操作员交互捕获分析器1416可以被配置为捕获大量遥控操作员事务或者交互,以存储在资源库1441中,例如,至少在一些情况下,资源库1441可以累积与多个遥控操作员事务相关的数据,以用于策略的分析和生成。根据一些实施例,资源库1441还可以被配置为存储策略数据,以供策略管理器1442访问。另外,遥控操作员交互捕获分析器1416可以应用机器学习技术,以依据经验确定如何最好地响应导致对遥控操作员帮助的请求的事件或者状况。在一些情况下,策略管理器1442可以被配置为响应于对一组大量的遥控操作员交互的分析(例如,在应用机器学习技术之后),而更新特定策略或者生成新的策略。策略管理器1442管理可能被视为自主车辆控制器及其部件根据其进行操作以符合车辆的自主操作的规则或者指导原则的策略。在一些情况下,可以将修改的或者更新的策略施加到模拟器1440,以确认永久发布或者实施这样的策略变化的效力。
模拟器接口控制器1414被配置为在模拟器1440和遥控操作员计算设备1404之间提供接口。例如,认为来自自主车辆车队的传感器数据经由自主车辆(“AV”)车队数据1470被施加到参照数据更新器1438,由此参照数据更新器1438被配置为生成更新的地图和路线数据1439。在一些实施中,可以初步地发布更新的地图和路线数据1439作为对地图数据资源库1420和1422中的数据的更新,或者作为对路线数据资源库1424中的数据的更新。在该情况下,可以将这样的数据标记为“beta版本”,在beta版本中,例如,当自主车辆使用包括初步更新的信息的地图图块时,可以实施用于请求遥控操作服务的较低阈值。另外,还可以将更新的地图和路线数据1439引入模拟器1440,以验证更新的地图数据。当全部发布时(例如,在beta测试结束时),取消与地图图块有关的请求遥控操作员服务的先前降低的阈值。用户接口图形控制器1410向遥控操作员1408提供丰富的图形,由此可以在模拟器1440内对自主车辆车队进行模拟,并且可以经由遥控操作员计算设备1404访问自主车辆车队,就好像所模拟的自主车辆车队是真实的。
图15是根据一些实施例的控制自主车辆的流程图的示例。在1502处,流程1500开始。可以在遥控操作员计算设备处接收消息数据,以管理自主车辆车队。在针对自主车辆的规划路径的上下文中,消息数据可以指示与非规范操作状态相关联的事件属性。例如,可以将事件表征为例如因违反交通信号灯匆忙过马路的大量行人而成为问题的特定十字路口。事件属性描述了事件的特性,例如,过马路的行人的数目、因增加的行人的数目等导致的交通延迟。在1504处,可以访问遥控操作资源库,以基于与一组自主车辆相关联的聚合数据的模拟操作来检索推荐的第一子集。在该情况下,模拟器可能是遥控操作员可以实施的推荐的源。另外,也可以响应于类似的事件属性而访问遥控操作资源库,以基于遥控操作员交互的聚合而检索推荐的第二子集。具体地讲,遥控操作员交互捕获分析器可以应用机器学习技术以依据经验确定如何基于对遥控操作帮助的先前请求来最好地响应具有类似属性的事件。在1506处,将推荐的第一子集和第二子集组合,以形成自主车辆的一组推荐的动作方针。在1508处,可以在遥控操作员计算设备的显示器上在视觉上呈现一组推荐的动作方针的表示。在1510处,可以检测表示推荐的动作方针的选择(例如,由遥控操作员)的数据信号。
图16是根据一些示例的实施车队优化管理器的自主车辆车队管理器的示例的示图。示图1600描述了被配置为管理在路网1650内行进的自主车辆1630的车队的自主车辆车队管理器。自主车辆车队管理器1603经由遥控操作员计算设备1604耦合到遥控操作员1608,并且还耦合到车队管理数据资源库1646。自主车辆车队管理器1603被配置为接收策略数据1602和环境数据1606、以及其它数据。进一步参考示图1600,车队优化管理器1620被示为包括行进请求处理器1631,行进请求处理器1631又包括车队数据抽取器1632和自主车辆派遣优化计算器1634。行进请求处理器1631被配置为处理行进请求,例如,来自正在请求自主车辆服务的用户1688的行进请求。车队数据抽取器1632被配置为抽取与车队中的自主车辆有关的数据。将与每个自主车辆相关联的数据存储在资源库1646中。例如,针对每个车辆的数据可以描述维护问题、调度服务呼叫、日常使用、电池充电和放电速率、以及任何其它数据,这些数据可以被实时更新,可以用于对自主车辆的车队进行优化,以最小化停运时间。自主车辆派遣优化计算器1634被配置为分析所抽取的数据,并且计算对车队的最优使用,以确保派遣的下一个车辆(例如,从车站1652)提供最少的行驶时间和/或自主车辆服务的总成本。
将车队优化管理器1620描述为包括混合自主车辆/非自主车辆处理器1640,该处理器1640又包括AV/非AV优化计算器1642和非AV选择器1644。根据一些示例,混合自主车辆/非自主车辆处理器1640被配置为管理自主车辆和人驾驶车辆(例如,作为独立承包商)的混合车队。于是,自主车辆服务可以使用非自主车辆来满足超额的需求,或者,在可能超出地理围划区的区域(例如,非AV服务区域1690)、或者在通信覆盖较差的区域中使用非自主车辆。AV/非AV优化计算器1642被配置为对自主车队的使用进行优化,并且邀请非AV驾驶员参与运输服务(例如,对自主车辆服务具有最小损害或者无损害)。非AV选择器1644包括用于基于通过AV/非AV优化计算器1642所获得的计算来选择多个非AV驾驶员来帮忙的逻辑。
图17是根据一些实施例的用于管理自主车辆的车队的流程图的示例。在1702处,流程1700开始。在1702处,接收策略数据。策略数据可以包括定义了如何最好地应用于选择自主车辆为行进请求服务的参数。在1704处,可以从资源库抽取车队管理数据。车队管理数据包括自主车辆池的数据的子集(例如,描述服务于运输请求的车辆的准备就绪的数据)。在1706处,接收表示行进请求的数据。出于示例性目的,行进请求可能针对从第一地理位置至第二地理位置的运输。在1708处,计算基于策略数据的属性,以确定可用于为所述请求服务的自主车辆的子集。例如,属性可以包括电池充电水平和至下一次安排的维护的时间。在1710处,选择自主车辆进行从第一地理位置至第二地理位置的运输,并且生成用于向与行进请求的起始相关联的第三地理位置派遣自主车辆的数据。
图18是示出了根据一些实施例的实施自主车辆通信链路管理器的自主车辆车队管理器的示图。示图1800描述了自主车辆车队管理器,其被配置为管理在路网1850内行进的自主车辆1830的车队,路网1850与被标识为“通信减弱区域”1880的区域处的通信中断重叠。自主车辆车队管理器1803经由遥控操作员计算设备1804耦合到遥控操作员1808。自主车辆车队管理器1803被配置为接收策略数据1802和环境数据1806、以及其它数据。进一步参考示图1800,自主车辆通信链路管理器1820被示为包括环境事件检测器1831、策略适应确定器1832、以及行进请求处理器1834。环境事件检测器1831被配置为接收环境数据1806,环境数据1806指定在其中实施自主车辆服务的环境内的变化。例如,环境数据1806可以指定区域1880具有降级的通信服务,这可能影响自主车辆服务。策略适应确定器1832可以指定当在这种事件期间(例如,在通信损失期间)接收到行进请求时要施加的参数。行进请求处理器1834被配置为鉴于降级的通信而处理行进请求。在该示例中,用户1888正在请求自主车辆服务。另外,行进请求处理器1834包括用于施加经调整的策略的逻辑,经调整的策略用于修改派遣自主车辆的方式,以避免因较差的通信而导致的复杂情况。
通信事件检测器1840包括策略下载管理器1842和配置了通信的(“配置了COMM的”)AV派遣器1844。策略下载管理器1842被配置为鉴于通信减弱区域1880而向自主车辆1830提供更新的策略,由此,如果自主车辆进入区域1880,更新的策略可以指定快速退出该区域的路线。例如,在驶入区域1880之前的时刻,自主车辆1864可以接收更新的策略。当通信损失时,自主车辆1864实施更新的策略,并且选择快速驶出区域1880的路线1866。配置了COMM的AV派遣器1844可以被配置为标识要在该处停放自主车辆的点1865,点1865被配置为中转站,以在区域1880之上建立对等网络。于是,配置了COMM的AV派遣器1844被配置为派遣自主车辆1862(无乘客)到位置1865停车,以用于作为对等移动自组网中的通信塔进行操作。
图19是根据一些实施例的在某一事件(例如,通信降级或者通信丢失)期间确定自主车辆的动作的流程图的示例。在1901处,流程1900开始。接收策略数据,策略数据由此定义了在事件期间要施加到地理区域中的行进请求的参数。在1902处,可以实施下列动作中的一个或多个:(1)将自主车辆的子集派遣到地理区域的部分中的地理位置,自主车辆的子集被配置为停放在特定地理位置处并且每个自主车辆充当静态通信中转站,或者在地理区域中行进以均充当移动通信中转站,(2)在与地理区域的部分相关联的自主车辆池的部分之间实施对等通信,(3)向自主车辆提供事件策略,事件策略描述在事件期间驶出地理区域的部分的路线,(4)调用遥控操作,以及(5)重新计算路径,以避开所述地理部分。在实施了所述动作之后,在1914处,监测自主车辆的车队。
图20是描绘了根据一些实施例的***的示例的示图。示图2000包括***2068,***2068被配置为从传感器2070接收传感器数据,例如激光雷达数据2072、摄像机数据2074、雷达数据2076、以及其它数据2078。另外,***2068被配置为接收参照数据2020,例如2D地图数据2022、3D地图数据2024、以及3D局部地图数据。根据一些示例,也可以实施其它地图数据,例如4D地图数据2025和语义地图数据(未示出),包括相应的数据结构和资源库。进一步参考示图2000,***2068包括定位***2010和局部化***2012,这两者均被配置为接收参照数据2020以及来自传感器2070的传感器数据。局部化数据集成器2014被配置为从定位***2010接收数据以及从局部化***2012接收数据,由此局部化数据集成器2014被配置为将来自多个传感器的传感器数据集成或融合,以形成局部姿态数据2052。
图21是根据一些实施例的基于集成传感器数据生成局部姿态数据的流程图的示例。在2101处,流程2100开始。在2102处,接收参照数据,参照数据包括三维地图数据。在一些示例中,可以经由一个或多个网络接收参照数据,例如3D或者4D地图数据。在2104处,接收来自一个或多个局部化传感器的局部化数据,并且将它们放入局部化***。在2106处,将来自一个或多个定位传感器的定位数据接收到定位***中。在2108处,集成局部化数据和定位数据。在2110处,将局部化数据和定位数据集成,以形成指定自主车辆的地理定位的局部定位数据。
图22是描绘了根据一些实施例的***的另一个示例的示图。示图2200包括***2268,***2268又包括局部化***2210和相对局部化***2212,以分别生成基于定位的数据2250和基于局部位置的数据2251。局部化***2210包括投影处理器2254a,以用于处理GPS数据2273、GPS基准点2211、以及3D地图数据2222、以及其它任选数据(例如,4D地图数据)。局部化***2210还包括测距处理器2254b,以处理车轮数据2275(例如,车轮速度)、车辆模型数据2213和3D地图数据2222、以及其它任选数据。此外,局部化***2210包括集成器处理器2254c,以处理IMU数据2257、车辆模型数据2215、以及3D地图数据2222、以及其它任选数据。类似地,相对局部化***2212包括激光雷达局部化处理器2254d,以用于处理激光雷达数据2272、2D图块地图数据2220、3D地图数据2222、以及3D局部地图数据2223、以及其它任选数据。相对局部化***2212还包括视觉配准处理器2254e,以处理摄像机数据2274、3D地图数据2222、以及3D局部地图数据2223、以及其它任选数据。此外,相对局部化***2212包括雷达回波处理器2254f,以处理雷达数据2276、3D地图数据2222、以及3D局部地图数据2223、以及其它任选数据。注意,在各种示例中,可以实施其它类型的传感器数据和传感器或者处理器,例如声纳数据等。
进一步参考示图2200,可以将基于局部化的数据2250和基于相对局部化的数据2251分别馈送到数据集成器2266a和局部化数据集成器2266。数据集成器2266a和局部化数据集成器2266可以被配置为融合相应的数据,由此当在局部化数据集成器2266处与基于相对局部化的数据2251融合之前,可以在数据集成器2266a处融合基于局部化的数据2250。根据一些实施例,数据集成器2266a被形成为局部化数据集成器2266的一部分,或者不存在。无论如何,可以将基于局部化的数据2250和基于相对局部化的数据2251都馈送到局部化数据集成器2266中,以用于融合数据,从而生成局部位置数据2252。基于局部化的数据2250可以包括来自投影处理器2254a的一元约束数据(和不确定性值)、以及来自测距处理器2254b和集成器处理器2254c的二元约束数据(和不确定性值)。基于相对局部化的数据2251可以包括来自局部化处理器2254d和视觉配准处理器2254e、以及任选地来自雷达回波处理器2254f的一元约束数据(和不确定性值)。根据一些实施例,局部化数据集成器2266可以实施非线性平滑功能,例如,卡尔曼滤波器(例如,门控卡尔曼滤波器)、相对束调整器、姿态图形松驰、粒子滤波器、直方图滤波器等。
图23是描绘了根据一些实施例的感知引擎的示例的示图。示图2300包括感知引擎2366,感知引擎2366又包括分割处理器2310、对象***2330、以及分类器2360。另外,例如,感知引擎2366被配置为接收局部位置数据2352、激光雷达数据2372、摄像机数据2374、以及雷达数据2376。注意,可以访问其它传感器数据,例如声纳数据,以提供感知引擎2366的功能。分割处理器2310被配置为抽取地面数据和/或分割图像的部分,以将对象互相区分以及将对象与静态图像(例如,背景)区分。在一些情况下,可以分割3D斑点,以互相区分。在一些示例中,斑点可以指代标识空间复制环境中的对象的一组特征,并且可以由具有类似特性(例如,强度和颜色)的元素构成(例如,摄像机数据的像素、激光回波数据的点等)。在一些示例中,斑点也可以指点状云(例如,由彩色激光回波数据构成的)或者构成对象的其它元素。对象***2330被配置为执行斑点或者其它分割的图像部分的运动的帧到帧估计。另外,使用数据关联将时刻t1的第一帧中的一个位置处的斑点与时刻t2的第二帧中的不同位置的斑点相关联。在一些示例中,对象***2330被配置为执行3D对象(例如,斑点)的实时概率跟踪。分类器2360被配置为标识对象,并且根据分类类型(例如,为行人、骑自行车的人等)以及根据能量/活动(例如,对象是动态的还是静态的)对该对象进行分类,由此表示分类的数据由语义标签来描述。根据一些实施例,可以执行对对象类别的概率估计,例如,将对象分类为车辆、骑自行车的人、行人等,每个对象分类具有不同的置信度。感知引擎2366被配置为确定感知引擎数据2354,感知引擎数据2354可以包括静态对象地图和/或动态对象地图、以及语义信息,以使得例如规划器可以使用该信息来增强路径规划。根据各种示例,分割处理器2310、对象***2330、以及分类器2360中的一个或多个可以应用机器学习技术来生成感知引擎数据2354。
图24是根据一些实施例的生成感知引擎数据的流程图的示例。流程图2400开始于2402,在2402处,检索表示自主车辆的局部位置的数据。在2404处,从一个或多个局部化传感器接收局部化数据,标签在2406处,对其中设置了自主车辆的环境的特征进行分割,以形成分割的对象。在2408处,在空间上跟踪分割的对象的一个或多个部分,以形成具有运动(例如,估计的运动)的至少一个被跟踪的对象。在2410处,至少将被跟踪的对象分类为静态对象或者动态对象。在一些情况下,可以将静态对象或者动态对象与分类类型相关联。在2412处,生成标识被分类的对象的数据。例如,标识被分类的对象的数据可以包括语义信息。
图25是根据一些实施例的分割处理器的示例。示图2500描述了分割处理器2510,分割处理器2510从一个或多个激光雷达2572接收激光雷达数据,并且从一个或多个摄像机2574接收摄像机图像数据。局部姿态数据2552、激光雷达数据、以及摄像机图像数据被接收到元旋转生成器2521中。在一些示例中,元旋转生成器被配置为基于各种属性(例如,颜色、强度等)将图像划分成可区分的区域(例如,点状云簇或者群),可以在同一时间或者大约同一时间更新其中的至少两个或者更多。使用元旋转数据2522在分割处理器2523处执行对象分割和地面分割,由此将来自分割处理器2523的元旋转数据2522和与分割相关的数据两者施加到扫描差别处理器2513。扫描差别处理器2513被配置为预测分割的图像部分的运动和/或相对速度,其可以用于在2517处标识动态对象。任选地将2517处的指示具有所检测的速度的对象的数据发射到规划器,以增强规划决策。另外,可以使用来自扫描差别处理器2513的数据来近似对象的位置,以形成这样的对象的制图(以及任选地标识运动的水平)。在一些示例中,可以生成占用网格地图2515。可以将表示占用网格地图2515的数据发射到规划器,以进一步增强路径规划决策(例如,通过降低不确定性)。进一步参考示图2500,使用来自一个或多个摄像机2574的图像摄像机数据对斑点分类器2520中的斑点进行分类,斑点分类器2520也从分割处理器2523接收斑点数据2524。分割处理器2510也可以从一个或多个雷达2576接收原始雷达回波数据2512,以在雷达分割处理器2514处执行分割,雷达分割处理器2514生成与雷达相关的斑点数据2516。进一步参考示图25,分割处理器2510也可以接收和/或生成与雷达数据相关的被跟踪的斑点数据2518。斑点数据2516、被跟踪的斑点数据2518、来自斑点分类器2520的数据、以及斑点数据2524可以用于跟踪对象或其部分。根据一些示例,以下中的一个或多个可以是任选的:扫描差别处理器2513、斑点分类器2520、以及来自雷达2576的数据。
图26A是描绘了根据各种实施例的对象***和分类器的示例的示图。示图2600的对象***2630被配置为接收斑点数据2516、被跟踪的斑点数据2518、来自斑点分类器2520的数据、斑点数据2524、以及来自一个或多个摄像机2676的摄像机图像数据。图像***2633被配置为从一个或多个摄像机2676接收摄像机图像数据,以生成被跟踪的图像数据,被跟踪的图像数据又可以被提供到数据关联处理器2632。如所示,数据关联处理器2632被配置为接收斑点数据2516、被跟踪的斑点数据2518、来自斑点分类器2520的数据、斑点数据2524、以及来自图像***2633的跟踪图像数据,并且数据关联处理器2632被进一步配置为标识以上描述的数据类型之间的一个或多个关联。例如,数据关联处理器2632被配置为从一个帧到下一个帧跟踪各种斑点数据,例如,以估计运动等。另外,跟踪更新器2634可以使用数据关联处理器2632所生成的数据来更新一个或多个跟踪、或者被跟踪的对象。在一些示例中,跟踪更新器2634可以实施卡尔曼滤波器等以形成被跟踪对象的更新的数据,其可以被在线地存储在跟踪数据库(“DB”)2636中。可以经由数据关联处理器2632和跟踪数据库2636之间的路径2699交换反馈数据。在一些示例中,图像***2633是任选的,并且可以被排除。对象***2630也可以使用其它传感器数据,例如,雷达或者声纳、以及任何其它类型的传感器数据。
图26B是描绘了根据至少一些示例的对象***的另一个示例的示图。示图2601包括对象***2631,对象***2631可以包括与结合一个或多个其它图(例如,图26A)所描述的类似命名的元件相同的结构和/或功能。如所示,对象***2631包括优化配准部分2699,其包括处理器2696,处理器2696被配置为执行对象扫描配准和数据融合。处理器2696还被配置为将得到的数据存储在3D对象数据库2698中。
返回参照图26A,示图2600还包括分类器2660,分类器2660可以包括跟踪分类引擎2662,以用于生成静态障碍物数据2672和动态障碍物数据2674,可以将这两者发射到规划器,以用于路径规划目的。在至少一个示例中,跟踪分类引擎2662被配置为判断障碍物是静态的还是动态的、以及是否为对象的另一个分类类型(例如,对象是否为车辆、行人、树、骑自行车的人、狗、猫、纸袋等)。可以将静态障碍物数据2672形成为障碍物地图(例如,2D占用地图)的部分,并且可以将动态障碍物数据2674形成为包括边界框并且具有指示速度和分类类型的数据。动态障碍物数据2674至少在一些情况下包括2D动态障碍物地图数据。
图27是根据一些示例的用于感知引擎的前端处理器的示例。示图2700包括根据各种示例的用于执行地面分割的地面分割处理器2723a、以及用于执行“过度分割”的过度分割处理器2723b。处理器2723a和2723b被配置为任选地接收彩色激光雷达数据2775。过度分割处理器2723b生成第一斑点类型(例如,相对小的斑点)的数据2710,其被提供到聚合分类和分割引擎2712,聚合分类和分割引擎2712生成第二斑点类型的数据2714。将数据2714提供到数据关联处理器2732,数据关联处理器2732被配置为检测数据2714是否驻留在跟踪数据库2736中。在2740处判断第二斑点类型(例如,相对大的斑点,其可以包括一个或多个较小的斑点)的数据2714是否为新的跟踪。如果是,在2742处初始化跟踪,如果否,将被跟踪的对象数据存储在跟踪数据库2736中,并且跟踪更新器2742可以扩展或者更新跟踪。跟踪分类引擎2762耦合到跟踪数据库2736,例如,以通过添加、去除或者修改与跟踪相关的数据来标识和更新/修改跟踪。
图28是描绘了根据各种实施例的被配置为在合成环境中对自主车辆进行模拟的模拟器的示图。示图2800包括被配置为生成模拟环境2803的模拟器2840。如所示,模拟器2840被配置为使用用户参照数据2822(例如,3D地图数据和/或其它地图或者路线数据,包括RNDF数据或者类似的路网数据),以在模拟环境2803内生成模拟几何图形,例如模拟表面2892a和2892b。模拟表面2892a和2892b可以模拟邻近道路的建筑物的墙或者前侧。模拟器2840也可以使用预先生成的或者程序生成的动态对象数据2825来模拟合成环境中的动态代理。动态代理的示例是模拟的动态对象2801,模拟的动态对象2801表示具有速度的模拟的骑自行车的人。模拟的动态代理可以任选地响应模拟环境中的其它静态和动态代理,包括模拟的自主车辆。例如,模拟的对象2801可能会因为模拟环境2803中的其它障碍物而减慢,而不是遵循预先设置的轨迹,从而能够创建对存在于现实世界中的实际动态环境的更实际的模拟。
模拟器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可以被配置为模拟各种传感器缺陷,包括传感器故障、感器未校准、间歇性数据中断等。
模拟器2840包括物理处理器2850,以用于模拟在模拟自主车辆2830的模拟行为中使用的自主车辆的机械、静态、动态、以及运动学方面。例如,物理处理器2850包括用于模拟接触机械的内容机械模块2851、用于模拟所模拟的主体之间的交互的碰撞检测模块2852、以及用于模拟所模拟的机械交互之间的交互的多主体动态模块2854。
模拟器2840还包括模拟器控制器2856,模拟器控制器2856被配置为控制模拟以适应模拟环境2803的任何合成生成的元件的功能,以确定因果关系等。模拟器2840包括用于估计模拟环境2803的合成生成的元件的性能的模拟器估计器2858。例如,模拟器估计器2858可以分析模拟车辆命令2880(例如,模拟的转向角度和模拟的速度),以判断这样的命令是否对模拟环境2803内的模拟的活动做出适当的响应。另外,模拟器估计器2858还可以经由遥控操作员计算设备2804估计遥控操作员2808与模拟自主车辆2830的交互。模拟器估计器2858可以估计更新的参照数据2827的影响,更新的参照数据2827包括更新的地图图块和路线数据,其可以被添加以导引模拟自主车辆2830的响应。当更新、删除、或者添加策略数据2829时,模拟器估计器2858也可以估计模拟AV控制器2847的响应。模拟器2840的以上描述并非是要进行限制。于是,模拟器2840被配置为执行对与模拟环境相关的自主车辆的各种不同的模拟,其既包括静态特征也包括动态特征。例如,可以使用模拟器2840验证软件版本中的变化,以确保可靠性。也可以使用模拟器2840确定车辆动态特性以用于校准目的。另外,还可以使用模拟器2840来探索可应用控制以及所产生的轨迹的空间,以通过自模拟起到学习的效果。
图29是根据一些实施例的对自主车辆的各个方面进行模拟的流程图的示例。流程图2900开始于2902,在2902处,包括三维地图数据的参照数据被接收到模拟器中。在2904处,可以检索为所分类的对象定义运动模式的动态对象数据。在2906处,至少基于三维(“3D”)地图数据和动态对象数据形成模拟环境。模拟环境可以包括一个或多个模拟表面。在2908处,对自主车辆进行模拟,其包括形成模拟环境的部分的模拟自主车辆控制器。自主车辆控制器可以包括被配置为接收传感器数据的模拟感知引擎和模拟***。在2910处,基于针对至少一个模拟传感器返回的数据来生成模拟传感器数据,并且在2912处生成模拟车辆命令,以使处于合成环境中的模拟自主车辆移动(例如,矢量推进)。在2914处,估计模拟车辆命令,以判断模拟自主车辆的行为是否与期望的行为一致(例如,与策略一致)。
图30是根据一些实施例的生成地图数据的流程图的示例。流程图3000开始于3002,在3002处检索轨迹数据。轨迹数据可以包括在一段时间内捕获的轨迹(例如,记录的轨迹)。在3004处,至少可以接收局部化数据。可以在一段时间内捕获局部化数据(例如,记录的局部化数据)。在3006处,可以实施摄像机或者其它图像传感器,以生成局部化数据的子集。于是,所检索的局部化数据可以包括图像数据。在3008处,局部化数据的子集被对准,以标识全局位置(例如,全局姿态)。在3010处,基于全局位置生成三维(“3D”)地图数据,并且在3012处,例如,三维地图数据可用于通过手动路线数据编辑器(例如,包括手动路网数据编辑器,例如RNDF编辑器)、自动路径数据生成器(例如,包括自动路网生成器,包括自动RNDF生成器)、自主车辆车队、模拟器、遥控操作员计算设备、以及自主车辆服务的任何其它部件来实施。
图31是描绘了根据一些实施例的制图引擎的体系结构的示图。示图3100包括3D制图引擎,3D制图引擎被配置为接收轨迹记录数据3140、激光雷达记录数据3172、摄像机记录数据3174、雷达记录数据3176、以及其它任选记录的传感器数据(未示出)。逻辑3141包括回路闭合检测器3150,回路闭合检测器3150被配置为检测传感器数据是否指示空间中附近的点先前被访问过等。逻辑3141还包括配准控制器3152,配准控制器3152用于相对于一个或多个配准点来对准地图数据,在一些情况下地图数据包括3D地图数据。另外,逻辑3141提供表示由全局姿态图形生成器3143所使用的回路闭合的状态的数据3142,全局姿态图形生成器3143被配置为生成姿态图形数据3145。在一些示例中,也可以基于来自配准精细化模块3146的数据生成姿态图形数据3145。逻辑3144包括3D制图器3154和激光雷达自校准单元3156。另外,逻辑3144接收传感器数据和姿态图形数据3145,以生成3D地图数据3120(或者其它地图数据,例如4D地图数据)。在一些示例中,逻辑3144可以实施截断符号距离函数(“TSDF”)以融合传感器数据和/或地图数据,从而形成最优三维地图。另外,逻辑3144被配置为包括纹理和反射特性。可以发布3D地图数据3120,以由手动路线数据编辑器3160(例如,操纵路线数据或者其它类型的路线或者参照数据的编辑器)、自动路线数据生成器3162(例如,被配置为生成路线数据或者其它类型的路网或者参照数据的逻辑)、自主车辆3164的车队、模拟器3166、遥控操作员计算设备3168、以及自主车辆服务的任何其它部件使用。制图引擎3110可以从手动注释或者自动生成的注释以及从其它传感器(例如,声纳或者仪器化的环境(例如,智能停车灯))捕获语义信息。
图32是描绘了根据一些示例的自主车辆应用的示图。示图3200描述了移动计算设备3203,移动计算设备3203包括自主服务应用3240,自主服务应用3240被配置为接触自主车辆服务平台3201,以经由自主车辆3230安排用户3202的运输。如所示,自主服务应用3240可以包括运输控制器3242、运输控制器3242可以是驻留在计算设备(例如,移动电话3203等)上的软件应用。运输控制器3242被配置为接收、调度、选择、或者执行与自主车辆和/或自主车辆车队相关的操作,用户3202可以为自主车辆和/或自主车辆车队安排从用户所在位置到目的地的运输。例如,用户3202可以打开应用以请求车辆3230。所述应用可以显示地图,并且用户3202可以在例如地理围划区内投下指示他们的目的地的图钉。替代地,所述应用可以显示附近预先指定的上车位置的列表,或者向用户提供通过地址或名称向其中键入目的地的文本输入字段。
进一步参考所示示例,自主车辆应用3240还可以包括用户标识控制器3246,用户标识控制器3246可以被配置为当车辆接近时检测用户3202是处于地理区域中、附近、还是靠近自主车辆3230。在一些情况下,当自主车辆3230接近、可为用户3202所用时,用户3202可能不易感知或者识别车辆3230(例如,由于各种其它车辆,包括卡车、轿车、出租车、以及城市环境中典型的其它障碍物)。在一个示例中,自主车辆3230可以建立无线通信链路3262(例如,经由射频(“RF”)信号,例如WiFi或
Figure BDA0003555815430000241
包括BLE等),用于传送和/或确定用户3202相对于自主车辆3230的空间位置(例如,使用RF信号的相对方向和信号强度)。在一些情况下,自主车辆3230可以例如使用GPS数据等检测用户3202的近似地理位置。移动计算设备3203的GPS接收器(未示出)可以被配置为向自主车辆服务应用3240提供GPS数据。于是,用户标识控制器3246可以经由链路3260向自主车辆服务平台3201提供GPS数据,自主车辆服务平台3201又可以经由链路3261将该位置提供到自主车辆3230。然后,自主车辆3230可以通过将用户的GPS数据与车辆的GPS所获得的位置进行比较,来确定用户3202的相对距离和/或方向。
自主车辆3230还可以包括用于标识用户3202的存在的附加逻辑,以使逻辑被配置为执行面部检测算法,以总体上对用户3202进行检测,或者基于用户3202的唯一面部特性来具体地标识用户的身份(例如,名字、电话号码等)。另外,自主车辆3230可以包括检测用于标识用户3202的代码的逻辑。这样的代码的示例包括:专用可视代码,例如,QR代码、颜色代码等;专用音频代码,例如,语音激活的或者识别的代码等;以及其它。在一些情况下,代码可以是编码的安全密钥,可以经由链路3262将该编码的安全密钥发射到自主车辆3230,以确保安全的进入和/或离开。另外,也可以将本文描述的用于标识用户3202的技术中的一种或多种用作将进入和离开权授予给用户3202,以防止其他人进入自主车辆3230的安全单元(例如,确保在达到用户3202处之前第三方人不能进入无乘坐者的自主车辆)。根据各种示例,也可以在自主车辆服务应用3240、自主车辆服务平台3201、以及自主车辆3230中的一个或多个中实施用于标识用户3202和提供安全的进入和离开的任何其它单元。
为了帮助用户3202标识其所请求的运输的到达,自主车辆3230可以被配置为:当其接近用户3202时,通知或以其它方式警告用户3202自主车辆3230的存在。例如,自主车辆3230可以根据特定灯模式激活一个或多个光发射装置3280(例如,LEO)。具体地讲,可以创建某些灯模式,以使用户3202可以容易地感知到已经预约了自主车辆3230以服务用户3202的运输需求。作为示例,自主车辆3230可以生成可以被用户3202感知为“闪烁”的灯模式3290,或者可以是其外部和内部灯的采用视觉和时间方式的其它动画的灯模式3290。可以生成有或者没有声音模式的灯模式3290,以使用户3202识别出该车辆就是他们所订的车辆。
根据一些实施例,自主车辆用户控制器3244可以实施被配置为控制自主车辆的各种功能的软件应用。另外,应用可以被配置为在行进至其初始目的地期间重新导引或者重新路由自主车辆。此外,自主车辆用户控制器3244可以被配置为使板上逻辑能够修改自主车辆3230的内部照明,例如,以实现情绪照明。控制器3244也可以控制音频源(例如,诸如Spotify的外部源,或者本地存储在移动计算设备3203上的音频),选择乘坐类型(例如,修改所希望的加速度和刹车攻击性,修改主动暂停参数以选择一组“路-操控”特性来实施聚合驾驶特性,包括震动,或者选择“软-乘坐”质量,其中为了舒适而减少震动)等。例如,移动计算设备3203还可以被配置为控制HVAC功能,例如通风和温度。
图33至35示出了根据各种实施例的被配置为向自主车辆服务的部件提供各种功能的各种计算平台的示例。在一些示例中,可以使用计算平台3300实施计算机程序、应用、方法、过程、算法、或者其它软件以执行本文所描述的技术中的任一种。
注意,图33的各种结构和/或功能也适用于图34和图35,于是,可以在图33的上下文中讨论这两个图中的一些元件。
在一些情况下,计算平台3300可以设置在诸如计算设备3390a的任何设备中,计算设备3390a可以设置在自主车辆服务平台中的一个或多个计算设备、自主车辆3391、和/或移动计算设备3391中。
计算平台3300包括总线3302或者用于传送信息的其它通信机制,其将子***和设备互连,所述设备例如处理器3304、***存储器3306(例如,RAM等)、存储设备3308(例如,ROM等)、存储器中高速缓冲存储器(其可以在RAM 3306或者计算平台3300的其它部分中实施)、通信接口3313(例如,Ethernet或者无线控制器、蓝牙控制器、NFC逻辑等),以促进经由通信链路3321上的端口的通信,以例如与计算设备通信,所述计算设备包括具有处理器的移动计算和/或通信设备。可以利用一个或多个图形处理单元(“GPU”)、以及一个或多个中央处理单元(“CPU”)(例如,
Figure BDA0003555815430000251
公司制造的那些)或者一个或多个虚拟处理器、以及CPU和虚拟处理器的任何组合来实施处理器3304。计算平台3300经由输入和输出设备3301交换表示输入和输出的数据,所述设备3301包括但不局限于键盘、鼠标器、音频输入(例如,话音到文本设备)、用户接口、显示器、监视器、光标、触敏显示器、LCD或者LED显示器、以及其它与I/O相关的设备。
根据一些示例,计算平台3300通过处理器3304执行特定操作,处理器3304执行存储在***存储器3306中的一个或多个指令的一个或多个序列,并且计算平台3300可以实施成客户机-服务器布置、对等布置、或者实施为任何移动计算设备,包括智能电话等。可以将这样的指令或数据从另一个计算机可读介质(例如,存储设备3308)读入***存储器3306。在一些示例中,可以取代用于实施方式的软件指令,或者与软件指令组合来使用硬连线电路。指令可以嵌入在软件或者固件中。术语“计算机可读介质”指的是参与向处理器3304提供用于执行的指令的任何有形介质。这样的介质可以采取多种形式,包括但不局限于非易失性介质和易失性介质。例如,非易失性介质包括光或者磁盘等。易失性介质包括动态存储器,例如***存储器3306。
例如,计算机可读介质的常见形式包括软盘、软磁盘、硬盘、磁带、任何其它磁介质、CD-ROM、任何其它光介质、穿孔卡片、纸带、具有孔图案的任何其它物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其它存储器芯片或者盒式磁带、或者计算机可以从其读取的任何其它介质。还可以使用传输介质来发射或者接收指令。术语“传输介质”可以包括能够存储、编码或者承载指令以供机器执行的任何有形或者无形介质,并且包括数字或者模拟通信信号或者其它无形介质,以促进这样的指令的通信。传输介质包括同轴电缆、铜导线、以及光纤,包括包含用于发射计算机数据信号的总线3302的导线。
在一些示例中,可以由计算平台3300完成指令序列的执行。根据一些示例,计算平台3300可以由通信链路3321(例如,有线网络,例如LAN、PSTN、或者任何无线网络,包括各种标准和协议的WiFi、
Figure BDA0003555815430000261
NFC、Zig-Bee等)耦合到任何其它处理器,以按互相协调(或者异步)的方式执行指令序列。计算平台3300可以通过通信链路3321和通信接口3313发射和接收消息、数据、以及指令,包括程序代码(例如,应用代码)。在接收到程序代码时,可以由处理器3304执行所接收的程序代码,和/或将程序代码存储在存储器3306或者其它非易失储存器中,以供随后执行。
在所示的示例中,***存储器3306可以包括包含用于实施本文所描述的功能的可执行指令的各种模块。***存储器3306可以包括操作***(“O/S”)3332、以及应用3336和/或(多个)逻辑模块3359。在图33中所示的示例中,***存储器3306包括自主车辆(“AV”)控制器模块3350和/或其部件(例如,感知引擎模块、局部化模块、规划器模块、和/或运动控制器模块),它们中的任何模块、或者其一个或多个部分可以被配置为通过实施本文描述的一个或多个功能而促进自主车辆服务。
参照图34中所示的示例,***存储器3306包括自主车辆服务平台模块3450和/或其部件(例如,遥控操作员管理器、模拟器等),它们中的任何模块、或者其一个或多个部分可以被配置为通过实施本文描述的一个或多个功能而促进自主车辆服务。
参照图35中所示的示例,***存储器3306包括用于在例如移动计算设备中使用的自主车辆(“AV”)模块和/或其部件。模块3550的一个或多个部分可以被配置为通过实施本文描述的一个或多个功能而促进自主车辆服务的交付。
返回参照图33,可以采用软件、硬件、固件、电路、或者它们的组合实施本文中所描述的或通过引用而并入的特征中的任何特征的结构和/或功能。注意,可以将上述结构和构成元件、以及它们的功能与一个或多个其它结构或者元件聚合。替代地,可以将所述元件以及它们的功能细分成构成子元件,如果存在的话。作为软件,可以使用各种类型的编程或者格式化语言、架构、语法、应用、协议、对象、或者技术来实施本文中所描述的或通过引用而并入的技术。作为硬件和/或固件,可以使用各种类型的编程或者集成电路设计语言来实施本文中所描述的或通过引用而并入的技术,所述集成电路设计语言包括硬件描述语言,例如被配置为设计现场可编程门阵列(“FPGA”)、专用集成电路(“ASIC”)、或者任何其它类型的集成电路的任何寄存器传输语言(“RTL”)。根据一些实施例,术语“模块”例如可以指算法或者算法的一部分、和/或采用硬件电路或者软件、或者它们的组合来实施的逻辑。这些可以改变,并且并不限于所提供的示例或者描述。
在一些实施例中,图33的模块3350、图34的模块3450、以及图35的模块3550、或者它们的部件中的一个或多个部件、或者本文所描述的任何过程或设备能够与移动设备(例如,移动电话或者计算设备)进行通信,或者可以设置在所述移动设备中。
在一些情况下,与一个或多个模块3359(图33的模块3350、图34的模块3450、以及图35的模块3550)或者它们的部件中的一个或多个部件(或者本文所描述的任何过程或者设备)进行通信的移动设备、或者任何连网的计算设备能够提供本文所描述的特征中的任何特征的结构和/或功能中的至少一些。如本文中所描述的或通过引用而并入的图中所示,可以采用软件、硬件、固件、电路、或者它们的任何组合实施本文中所描述的或通过引用而并入的特征中的任何特征的结构和/或功能。注意,可以将上述结构和构成元件、以及它们的功能与一个或多个其它结构或者元件聚合或组合。替代地,可以将所述元件以及它们的功能细分成构成子元件,如果存在的话。作为软件,可以使用各种类型的编程或者格式化语言、架构、语法、应用、协议、对象、或者技术来实施本文中所描述的或通过引用而并入的技术中的至少一些。例如,在所述图中的任何图中所描述的元件中的至少一个元件可以表示一个或多个算法。或者,所述元件中的至少一个元件可以表示包括被配置为提供构成结构和/或功能的硬件的一部分的逻辑的一部分。
例如,能够在一个或多个计算设备(即,任何移动计算设备,例如可佩带设备、音频设备(例如,耳机或者头戴送受话器)、或者移动电话(无论是佩戴还是携带))中实施图33的模块3350、图34的模块3450、以及图35的模块3550、或者它们的部件中的一个或多个部件、或者本文所描述的任何过程或者设备,所述计算设备包括被配置为执行存储器中的一个或多个算法的一个或多个处理器。因此,本文中所描述的或通过引用而并入的图中的元件中的至少一些元件能够表示一个或多个算法。或者,所述元件中的至少一个元件可以表示包括被配置为提供构成结构和/或功能的硬件的一部分的逻辑的一部分。这些可以改变,并且并不限于所提供的示例或者描述。
作为硬件和/或固件,可以使用各种类型的编程或者集成电路设计语言来实施本文中所描述的或通过引用而并入的结构和/或技术,所述集成电路设计语言包括硬件描述语言,例如被配置为设计现场可编程门阵列(“FPGA”)、专用集成电路(“ASIC”)、多芯片模块、或者任何其它类型的集成电路的任何寄存器传输语言(“RTL”)。
例如,能够在包括一个或多个电路的一个或多个计算设备中实施图33的模块3350、图34的模块3450、以及图35的模块3550、或者它们的部件中的一个或多个部件、或者本文所描述的任何过程或者设备。因此,在本文中所描述的或通过引用而并入的图中的元件中的至少一些元件能够表示硬件的一个或多个部件。或者,所述元件中的至少一个元件可以表示包括被配置为提供构成结构和/或功能的电路的一部分的逻辑的一部分。
根据一些实施例,术语“电路”例如可以指包括其中有电流流过以执行一个或多个功能的多个部件的任何***,所述部件包括离散的和复合的部件。离散的部件的示例包括晶体管、电阻器、电容器、电感器、二极管等,并且复合的部件的示例包括存储器、处理器、模拟电路、数字电路等,包括现场可编程门阵列(“FPGA”)、专用集成电路(“ASIC”)。因此,电路可以包括电子部件和逻辑部件(例如,被配置为执行诸如算法的一组可执行指令的指令的逻辑,因此是电路的部件)的***。根据一些实施例,术语“模块”例如可以指在硬件电路或者软件、或者它们的组合中实施的算法或者算法的一部分、和/或逻辑(即,模块可以被实施为电路)。在一些实施例中,算法和/或存储算法的存储器是电路的“部件”。于是,例如,术语“电路”也可以指部件的***,包括算法。这些可以改变,并且并不限于所提供的示例或者描述。
图36是描绘了根据一些示例的被配置为在模拟环境中对模拟自主车辆的一个或多个功能进行模拟的模拟器的示图。示图3600描述了模拟器3640,模拟器3640被配置为合成模拟世界或模拟环境3603,其中,可以对自主车辆3630(以及其部件中的任何部件,例如传感器)的操作进行模拟,以例如针对可以构成自主车辆服务的一个或多个自主车辆的车队3630a确定硬件和软件、或者它们的组合的功效。另外,例如,模拟器3640可以被配置为:当模拟的自主车辆3630在不同驾驶条件或者场景中行进时,模拟车辆动态。例如,模拟器3640可以在如下驾驶场景中模拟自主车辆3630的操作,所述驾驶场景包括在可能是城市特有的独特地形(例如,旧金山的小山、纽约城的城市交通等)上驾驶、以及在不同的驾驶条件期间(例如,对由于雨、冰等导致减小的车轮摩擦力的模拟)驾驶。在所示示例中,模拟环境3603包括路段具有在模拟自主车辆3630的行驶方向上增加的倾斜度或者坡度(即,车辆3630正在向上坡行驶,如符号3686所指示的),并且还被描述为具有模拟自主车辆3630可以横跨的冰3684的形成。
另外,模拟器3640还可以基于激光和摄像机数据以及任何其它数据(例如,雷达数据、声纳数据等)的合成来生成模拟环境3603。例如,模拟环境3603可以基于包括使用激光扫描仪结合摄像机视觉/图像数据(或者任何其它传感器数据)所生成的3D点云的3D地图数据。传感器数据的示例包括但不限于激光雷达数据、图像或者摄像机数据、GPS数据、惯性测量单元(“IMU”)数据、声学数据、测距数据、车轮角度数据、电池充电水平、一个或多个动力传动装置或者电机的驱动电流、任何部件的热能数据(例如,温度)、加速或者减速数据、可以施加于一个或多个车轮的制动压力或者力等、以及本文所描述的或者在其它情况下通过引用并入的其它传感器数据。模拟器3640还可以模拟可以由设置在模拟的自主车辆3630上或者中的传感器检测的传感器返回数据。模拟的传感器返回数据的示例包括从外部特征(例如,邻近道路的建筑物的外观模式)的部分3672反射的模拟激光雷达回波3671。
示图3600描述了可以协同操作以生成包括动态对象3680和3682a、以及模拟道路条件(例如,冰3684)的模拟环境3603的数据建模器3620和模拟器3640。模拟器3640可以包括物理处理器3650,物理处理器3650被配置为模拟在对模拟自主车辆3630的行为进行模拟的过程中使用的自主车辆的机械、静态、动态、以及运动学方面。例如,物理处理器3650可以包括模拟的接触机械、以及模拟主体之间的交互和/或模拟的机械交互。模拟器3640还可以包括模拟器控制器3656,模拟器控制器3656被配置为控制模拟以调整模拟环境3603的任何合成生成的元件的功能,以确定并估计因果关系等。注意,图36的示图3600中所描述的元件可以包括与结合本文中描述的或通过引用并入的一个或多个其它图所描述的类似命名的元件相同的结构和/或功能。
在一些示例中,数据建模器3620从自主车辆的车队3630a接收记录文件数据,记录文件数据提供了各种类型的数据,包括但不限于对象数据3631、地图数据3633、传感器数据3635、车辆部件数据3637、以及可以描述车队3630a中的一个或多个自主车辆的结构和/或功能的任何其它数据。在一些示例中,可以在一年中的不同时间和不同季节、以及在多种不同条件下行驶的数英里上记录以上所描述的数据。可以从能够在路网行驶任何次数的任何数目的自主车辆生成记录的数据。另外,数据建模器3620可以包括表征道路的逻辑(例如,诸如倾斜度、粗糙度(例如,由于突起、坑洞等)、朝向路边的坡度角等特征)、典型的或者所期望的摩擦值或者表面类型)、在路网的一个或多个部分处根据概率所预期的动态对象(例如,模拟的自主车辆3630可以预期在一天结束时在学校附近遇到作为动态对象的许多孩子)、以及任何其它特性。数据建模器3620还可以包括在各种天气条件下表征道路的逻辑。因此,数据建模器3620可以使用代表表征道路的数据来形成路网或者任何其它路径或者路段的数据模型。在一些情况下,数据建模器3620中的逻辑可以基于数十万到数百万英里的行驶(例如,由车队3630a所行驶的)或者少于或者多于同样或者不同道路的距离量期间所记录的任何其它数据量,来聚集或融合数据(例如,传感器数据)。
如所示,数据建模器3620包括动态对象数据建模器3621、环境建模器3623、传感器建模器3625、以及车辆建模器3627、或者它们的任何其它硬件和/或软件实施方式,以生成一个或多个数据模型,模拟器3640可以使用这些数据模型生成模拟环境3603的一个或多个部分。动态对象数据建模器3621可以被配置为接收代表自主车辆的车队3630a从中获取特性数据的环境中的一个或多个对象的特性的数据(例如,记录的数据)。这样的数据可以包括3D点云或者作为诸如能够可视地定义对象的类(例如,为行人、宠物或者动物、骑自行车的人、汽车等)的另一种其它数据表示,由此可以将分类的对象与某一动态水平和/或预测的运动范围(例如,每单位时间)相关联,由此至少在一些示例中,预测的运动范围也可以描述预测的运动方向(例如,由预测的运动矢量表示)。根据一些示例,预测的运动范围可以描述对象可以从静态对象转变为动态对象的概率和/或与对象的运动相关联的速度或者加速度。
鉴于以上描述,动态对象数据建模器3621可以被配置为标识任何数目的对象,并且可以进一步被配置为将对象分类为任何数目的类。根据一些示例,动态对象数据建模器3621还可以标识静态对象,并且对静态对象进行分类,静态对象包括在某一时刻可能静止并且在另一时刻为动态的对象(例如,在某一时刻坐在路边的宠物狗3682b可能会在另一时刻突然跳起,并且跑入道路)。为了例示,认为动态对象数据建模器3621可以将对象3682b分类为狗,并且可以将动态特性和/或预测的运动范围与狗相关联。另外,动态对象数据建模器3621可以生成与和其它动态对象的交互有关的描述对象3682b的预测运动的数据模型,其它动态对象例如是被描述为运动中的狗的动态对象3680或者动态对象3682a。在无动态对象3682a存在的情况下,可以将狗3682b与参与到活动(例如,向前跳,并且跑)中的第一概率相关联。然而,在狗3682b遇到狗3682a或者与狗3682a交互(或者追逐)(具有预测的运动范围3683)的情况下,狗3682b参与到活动中的概率可能陡然增加。例如,狗3682b向前跳并且本能地追逐狗3682a的概率可能从大约10%(例如,基于记录的数据)增加至大约85%。基于该数据模型,模拟器可以基于从动态对象数据建模器3621所导出的建模的行为,来生成模拟环境3603,其包括要在导航和规划中考虑的两个(2)动态对象3682a和3682b,而不是一个(1)动态对象3682a。
动态对象数据建模器3621可以生成描述任何对象的分类的数据模型、以及运动相关的数据(例如,预测的运动范围、速度、预测的运动路径等)。进一步观察示图3600,动态对象数据建模器3621可以生成数据模型,模拟器3640可以使用该数据模型生成与预测的运动范围(例如,包括在人行横道中的运动方向)相关联的模拟动态对象3680(例如,跑步的人)的速率。可以对其它动态对象进行分类,并且在一些情况下,还可以进一步对它们进行子分类。例如,路段可能邻近若干酒吧或者***,因此,分类的动态对象(例如,年轻的成年行人)可能具有第一预测行为或者会在白天运动,但可能在清晨2:00在酒吧或者***关闭之后出现、或预测出现其它预测行为(或者不可预测的行为)。相对于自主车辆3603物理地行驶通过的物理环境,模拟器3640可以使用建模器3621所生成的动态对象数据模型在模拟环境3603中提供更高的精度。
环境建模器3623可以被配置为生成模拟环境3603的各个部分,例如,在一些示例中,为静态部分。在所示的示例中,环境建模器3623可以接收地图数据3633,以生成描述物理外部环境的几何图形的环境模型。模拟器3640可以使用环境建模器3623所生成的环境模型数据、例如基于3D地图数据3633来生成模拟环境3603。注意,在一些情况下,环境建模器3623可以包括或者可以类似于制图引擎或者制图器结构和/或功能的一个或多个部分(如本文中所描述的或者通过引用所并入的)、等等,以生成3D(或者4D)模拟环境3603。
传感器建模器3625被配置为基于作为记录的数据从自主车辆的车队3630a所抽取的传感器数据3635而生成代表各种类型的传感器中的一个或多个传感器的各种功能的数据模型。例如,传感器数据3635可以包括一个或多个类型的传感器数据中的传感器数据的一个或多个子集,例如但不限于激光雷达数据、雷达数据、声纳数据、图像/摄像机数据、声音数据、超声波数据、与IMU相关的数据、测距数据、车轮角度数据、以及任何其它类型的传感器数据。模拟器3640可以使用传感器建模器3625所生成的数据对模拟自主车辆3630中所实施的任何数目的传感器进行建模。例如,认为可以被模拟的自主车辆控制器(未示出)可以被配置为标识模拟自主车辆3630或者模拟激光雷达传感器(其被配置为进行射线跟踪激光扫描)的姿态3670,其中至少一个被描述为从表面部分3672反射的激光回波3671。另外,自主车辆控制器可以访问3D地图数据,以标识外部几何图形3672(以及这样的几何图形的范围或者位置),并且还可以被配置为标识x坐标、y坐标、z坐标、滚动值、偏转值、以及俯仰值中的一个或多个,以描述模拟激光雷达传感器的姿态。在一些示例中,模拟器3640的模拟器控制器3656可以被配置为将针对模拟的激光回波3671的模拟值和测量(例如,强度、范围、反射率等)与依据经验获得的激光雷达数据(例如,传感器数据3635)进行比较,以确定模拟的准确度。
车辆建模器3627可以被配置为接收代表与各种车辆部件相关联的各种类型和值的数据,并且可以进一步被配置为生成代表自主车辆的机械和/或电气部件的结构和/或功能特性的数据。另外,车辆建模器3627可以生成描述自主车辆的动态和运动学特性、以及其电气和机械功能的车辆部件数据模型。
数据建模器3620还可以被配置为将一种类型的数据的一个或多个子集与其它类型的数据的一个或多个子集关联。根据各种示例,数据建模器3620可以实施离线或者在线深度学***(例如,制动力或者压力),否则可以确定出了问题。作为另一个示例,考虑模拟器控制器3656确定模拟自主车辆3630的转向***正偏向右侧或者离开道路。于是,模拟器3640可以模拟其中道路向右倾斜的道路条件(例如,基于地图数据3633)、模拟漏气的车胎、或者模拟未对准。
根据一些示例,模拟器被配置为基于被描述为正在跑的狗的分类的动态对象3682a的运动范围3683而对模拟自主车辆3630的一个或多个功能的数据表示的预测响应进行模拟。模拟器3640可以被进一步配置为计算模拟自主车辆3630和分类的动态对象3682a的预测的运动范围3683之间的距离3685的变化率,如果超过阈值(例如,就位置、距离、时间等而言),则模拟器3640被配置为基于所计算的5距离3685的变化率而使模拟自主车辆3630避开模拟环境3603中的模拟动态对象3682a。在一些情况下,自主车辆3630可以停止驾驶,以避免与动态对象3682a的碰撞。在一些其它示例中,模拟器3640可以实施安全***模拟器3690,以模拟一个或多个板上安全***模拟的自主车辆3630的使用。安全***的示例包括通过射束形成导引声音和/或包括车灯以警告动态对象3682a,或者可以实施外部和/或内部安全***。2015年11月4日提交的(代理人案号No.Z00-012)、标题为“SYSTEM OFCONFIGURING ACTIVE LIGHTING TO INDICATE DIRECTIONALITY OF AN AUTONOMOUSVEHICLE”的美国专利申请No.14/756,994、2015年11月4日提交的(代理人案号No.Z00-013)、标题为“METHOD FOR ROBOTIC VEHICLE COMMUNICATION WITH AN EXTERNALENVIRONMENT VIA ACOUSTIC BEAM FORMING”的美国专利申请No.14/756,993、2015年11月4日提交的(代理人案号No.Z00-017)、标题为“ACTIVE LIGHTING CONTROL FORCOMMUNICATING A STATE OF AN AUTONOMOUS VEHICLE TO ENTITIES IN A SURROUNDINGENVIRONMENT”的美国专利申请No.14/932,948、2015年11月4日提交的(代理人案号No.Z00-018)、标题为“RESILIENT SAFETY SYSTEM FOR A ROBOTIC VEHICLE”的美国专利申请No.14/932,952、2015年11月4日提交的(代理人案号No.Z00-019)、标题为“INTERNALSAFETY SYSTEMS FOR ROBOTIC VEHICLES”的美国专利申请No.14/932,954、以及2015年11月4日提交的(代理人案号No.Z00-022)的美国专利申请No.14/932,962中描述了可以由模拟器3640模拟的安全***的示例,由此通过引用的方式将这些美国专利申请的全部内容并入。
根据一些示例,模拟器3640可以生成并且使用用于标记(例如,语义标记)的“地面实况”数据,可以测试或者验证(例如,验证软件变化以及验证地图数据3633或者任何建模的数据的改变)对该算法的标识。此外,模拟器3640可以用于例如基于计算机视觉分类器和深度神经网络(例如,实施Bayesian或者概率推断算法、以及其它类似技术)进行分类器训练,以标识模拟环境3603中的动态对象或者代理,例如,动态对象3680和3682a。注意,尽管在模拟的上下文中可以使用实施数据建模器3620的技术,然而也可以在本文所描述的或者通过引用并入的任何部件中实施数据建模器3620。例如,感知引擎或者***可以包括或者实施数据建模器3620的一个或多个部分、以及在模拟器3640的上下文中所描述的任何其它结构和/或功能。注意,可以采用硬件或者软件或者它们的组合实施本文所描述的或者通过引用并入的图36中所示的任何部件。
图37描绘了根据一些示例的车辆建模器。示图3700描绘了自主车辆的一部分3700,包括包含传动机制(例如,电机)3733的推进单元3732、车轴3735和车轮3737、制动单元3720以及转向单元3734,2015年11月4日提交的(代理人案号No.Z00-021)、标题为“QUADRANT CONFIGURATION OF ROBOTIC VEHICLES”的美国专利申请No.14,932,958的中描述了其中的一些示例,通过引用将该美国专利申请并入本文。车辆建模器3727被配置为接收车辆部件数据3799,车辆部件数据3799包括描述部分3700中的车辆部件的可操作性的模型数据,包括感测的数据(例如,车轮角度3711、轮胎的角速度3713、等等)。车辆建模器3727被配置为接收代表自主车辆的一个或多个部件的数据,并且标识代表与自主车辆的一个或多个部件相关联的部件特性(例如,电机3733的电机电流)的数据。车辆建模器3727基于部件特性生成一个或多个部件的数据模型,针对这些数据模型,模拟器可以被配置为基于用于预测模拟自主车辆的行为的数据模型来模拟一个或多个部件(例如,推进单元3732、制动单元3720、转向单元3734等)的操作。在一些情况下,模拟器可以被配置为访问事件数据模型,包括代表事件特性(例如,描述覆盖着冰的道路的部分的特性的事件模型)的数据。然后,模拟器可以被配置为基于事件特性数据(例如,减小的摩擦力)对模拟环境中的事件(例如,结冰的小块)进行模拟。
图38是描绘了根据一些示例的传感器建模器的示例的示图。示图3000包括传感器建模器3825,传感器建模器3825又被示为包括传感器类型建模器3803和传感器空气建模器3805,以基于传感器数据3801生成模拟传感器类型数据3806。因此,传感器建模器3825被配置为接收不同类型和不同数量的传感器数据3835,以生成相应的模拟传感器数据3837。根据一些示例,传感器建模器3825可以被配置为接收代表一个或多个自主车辆在其中行进的环境中所导出的传感器数据3801的数据,并且传感器建模器3825可以被进一步配置为使用传感器类型建模器3803对传感器数据的子集进行建模,以表征传感器设备(例如,激光雷达传感器),从而形成具有特性的传感器数据。于是,传感器类型建模器3803可以基于具有特性的传感器数据生成代表模拟的传感器设备的数据3806。
在一些情况下,传感器误差建模器3805可以被配置为对代表与传感器设备相关联的测量偏差(例如,误差)的子集的数据进行建模。传感器类型建模器3803可以被配置为基于测量偏差(例如,传感器误差建模器3805所生成的)的子集来调整代表模拟的传感器设备的数据。作为示例,传感器类型建模器3803可以被配置为对激光雷达传感器数据的子集进行建模,以表征激光雷达传感器,从而形成具有特性的激光雷达传感器数据,并且生成代表模拟的激光雷达设备的数据。另外,可以对激光雷达测量偏差或者误差的子集进行建模,并且将其用于基于激光雷达测量偏差的子集来调整代表模拟的激光雷达设备的数据。
图39是描绘了根据一些示例的动态对象数据建模器的示例的示图。示图3900包括被配置为接收用于生成模拟对象数据3941的对象数据3931的动态对象数据建模器3921。在该示例中,动态对象数据建模器3921包括对象数据分类器3922(例如,Bayesian分类器等),对象数据分类器3922被配置为标识动态对象的分类,并且标识代表与分类相关联的特性(或者预测的行为)的集合的数据。然后,模拟器可以被配置为使用所述特性的集合来对模拟环境中的模拟动态对象的预测的运动范围进行模拟。如所示,对象数据分类器3922将动态对象3932、3933、3934、以及3938分类为第一动物动态对象、第二动物动态对象、行人动态对象、以及滑板动态对象。基于所述分类,对象数据表征器3951、3952、3953、以及3959被配置为:基于所标识的动态对象来提供代表例如预测的运动范围的数据。在一些情况下,对象数据表征器可以基于与预测的运动范围相关的概率来实施随机化的数据。基于随机化的数据,模拟器能够模拟对象的可能的罕见行为,例如,随机地跳起并跑到街上的狗(例如,跟在球的后面)。
图40是示出了根据一些示例的生成模拟环境的示例的流程图。流程4000开始于4002,在4002处,从一个或多个自主车辆接收代表环境中的动态对象的特性的数据。在4004处,标识分类的动态对象。在4006处,标识代表与分类的动态对象相关联的动态相关特性的数据。在4008处,基于分类的数据对象的动态相关特性来形成分类的动态对象的数据模型。在4010处,在模拟环境中模拟分类的动态对象的预测的运动范围,以形成模拟的动态对象。在4012处,可以对模拟自主车辆的一个或多个功能的数据表示的预测响应进行模拟。注意,该流程图以及本文的其它流程图中所描述的次序并不旨在暗示要求线性地执行各种功能,因为流程图的每个部分可以与流程图的任何一个或多个其它部分串行地或者并行地执行,并且可以独立于或者依赖于流程图的其它部分。
图41示出了根据各种实施例的被配置为提供各种模拟器相关功能和/或结构以模拟自主车辆服务的各种计算平台的示例。在一些示例中,可以使用计算平台3300来实施用于执行以上所描述的技术的计算机程序、应用、方法、过程、算法、或者其它软件。注意,图33的各种结构和/或功能也适用于图41,并且因此,可以在图33的上下文中讨论这两个图中的一些元件。还应该注意,图41的示图4100中所描述的元件可以包括与结合本文描述的一个或多个其它图所描述的具有类似命名的元件相同的结构和/或功能。
参照图41中所示的示例,***存储器3306包括自主车辆服务平台模块4150和/或其部件(例如,数据建模器模块4152、模拟器模块4154等),其中的任一个、或者其一个或多个部分可以被配置为通过实施本文所描述的一个或多个功能而促进对自主车辆服务的模拟。在一些情况下,计算平台3300可以设置在任何设备中,例如,设置在计算设备3390a中,计算设备3390a可以设置在自主车辆服务平台、自主车辆3391、和/或移动计算设备3390b中。
图33至35示出了根据各种实施例的被配置为向自主车辆服务的部件提供各种功能的各种计算平台的示例。在一些示例中,可以使用计算平台3300实施计算机程序、应用、方法、过程、算法、或者其它软件以执行本文所描述的技术中的任一种。
注意,图33的各种结构和/或功能也适用于图34和图35,于是,可以在图33的上下文中讨论这两个图中的一些元件。
在一些情况下,计算平台3300可以设置在诸如计算设备3390a的任何设备中,计算设备3390a可以设置在自主车辆服务平台中的一个或多个计算设备、自主车辆3391、和/或移动计算设备3391中。
计算平台3300包括总线3302或者用于传送信息的其它通信机制,其将子***和设备互连,所述设备例如处理器3304、***存储器3306(例如,RAM等)、存储设备3308(例如,ROM等)、存储器中高速缓冲存储器(其可以在RAM 3306或者计算平台3300的其它部分中实施)、通信接口3313(例如,Ethernet或者无线控制器、蓝牙控制器、NFC逻辑等),以促进经由通信链路3321上的端口的通信,以例如与计算设备通信,所述计算设备包括具有处理器的移动计算和/或通信设备。可以利用一个或多个图形处理单元(“GPU”)、以及一个或多个中央处理单元(“CPU”)(例如,
Figure BDA0003555815430000321
公司制造的那些)或者一个或多个虚拟处理器、以及CPU和虚拟处理器的任何组合来实施处理器3304。计算平台3300经由输入和输出设备3301交换表示输入和输出的数据,所述设备3301包括但不局限于键盘、鼠标器、音频输入(例如,话音到文本设备)、用户接口、显示器、监视器、光标、触敏显示器、LCD或者LED显示器、以及其它与I/O相关的设备。
根据一些示例,计算平台3300通过处理器3304执行特定操作,处理器3304执行存储在***存储器3306中的一个或多个指令的一个或多个序列,并且计算平台3300可以实施成客户机-服务器布置、对等布置、或者实施为任何移动计算设备,包括智能电话等。可以将这样的指令或数据从另一个计算机可读介质(例如,存储设备3308)读入***存储器3306。在一些示例中,可以取代用于实施方式的软件指令,或者与软件指令组合来使用硬连线电路。指令可以嵌入在软件或者固件中。术语“计算机可读介质”指的是参与向处理器3304提供用于执行的指令的任何有形介质。这样的介质可以采取多种形式,包括但不局限于非易失性介质和易失性介质。例如,非易失性介质包括光或者磁盘等。易失性介质包括动态存储器,例如***存储器3306。
例如,计算机可读介质的常见形式包括软盘、软磁盘、硬盘、磁带、任何其它磁介质、CD-ROM、任何其它光介质、穿孔卡片、纸带、具有孔图案的任何其它物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其它存储器芯片或者盒式磁带、或者计算机可以从其读取的任何其它介质。还可以使用传输介质来发射或者接收指令。术语“传输介质”可以包括能够存储、编码或者承载指令以供机器执行的任何有形或者无形介质,并且包括数字或者模拟通信信号或者其它无形介质,以促进这样的指令的通信。传输介质包括同轴电缆、铜导线、以及光纤,包括包含用于发射计算机数据信号的总线3302的导线。
在一些示例中,可以由计算平台3300完成指令序列的执行。根据一些示例,计算平台3300可以由通信链路3321(例如,有线网络,例如LAN、PSTN、或者任何无线网络,包括各种标准和协议的WiFi、
Figure BDA0003555815430000331
NFC、Zig-Bee等)耦合到任何其它处理器,以按互相协调(或者异步)的方式执行指令序列。计算平台3300可以通过通信链路3321和通信接口3313发射和接收消息、数据、以及指令,包括程序代码(例如,应用代码)。在接收到程序代码时,可以由处理器3304执行所接收的程序代码,和/或将程序代码存储在存储器3306或者其它非易失储存器中,以供随后执行。
在所示的示例中,***存储器3306可以包括包含用于实施本文所描述的功能的可执行指令的各种模块。***存储器3306可以包括操作***(“O/S”)3332、以及应用3336和/或(多个)逻辑模块3359。在图33中所示的示例中,***存储器3306包括自主车辆(“AV”)控制器模块3350和/或其部件(例如,感知引擎模块、局部化模块、规划器模块、和/或运动控制器模块),它们中的任何模块、或者其一个或多个部分可以被配置为通过实施本文描述的一个或多个功能而促进自主车辆服务。
参照图34中所示的示例,***存储器3306包括自主车辆服务平台模块3450和/或其部件(例如,遥控操作员管理器、模拟器等),它们中的任何模块、或者其一个或多个部分可以被配置为通过实施本文描述的一个或多个功能而促进自主车辆服务。
参照图35中所示的示例,***存储器3306包括用于在例如移动计算设备中使用的自主车辆(“AV”)模块和/或其部件。模块3550的一个或多个部分可以被配置为通过实施本文描述的一个或多个功能而促进自主车辆服务的交付。
返回参照图33,可以采用软件、硬件、固件、电路、或者它们的组合实施本文中所描述的或通过引用而并入的特征中的任何特征的结构和/或功能。注意,可以将上述结构和构成元件、以及它们的功能与一个或多个其它结构或者元件聚合。替代地,可以将所述元件以及它们的功能细分成构成子元件,如果存在的话。作为软件,可以使用各种类型的编程或者格式化语言、架构、语法、应用、协议、对象、或者技术来实施本文中所描述的或通过引用而并入的技术。作为硬件和/或固件,可以使用各种类型的编程或者集成电路设计语言来实施本文中所描述的或通过引用而并入的技术,所述集成电路设计语言包括硬件描述语言,例如被配置为设计现场可编程门阵列(“FPGA”)、专用集成电路(“ASIC”)、或者任何其它类型的集成电路的任何寄存器传输语言(“RTL”)。根据一些实施例,术语“模块”例如可以指算法或者算法的一部分、和/或采用硬件电路或者软件、或者它们的组合来实施的逻辑。这些可以改变,并且并不限于所提供的示例或者描述。
在一些实施例中,图33的模块3350、图34的模块3450、以及图35的模块3550、或者它们的部件中的一个或多个部件、或者本文所描述的任何过程或设备能够与移动设备(例如,移动电话或者计算设备)进行通信(有线或无线),或者可以设置在所述移动设备中。
在一些情况下,与一个或多个模块3359(图33的模块3350、图34的模块3450、以及图35的模块3550)或者它们的部件中的一个或多个部件(或者本文所描述的任何过程或者设备)进行通信的移动设备、或者任何连网的计算设备(未示出)能够提供本文所描述的特征中的任何特征的结构和/或功能中的至少一些。如本文中所描述的或通过引用而并入的图中所示,可以采用软件、硬件、固件、电路、或者它们的任何组合实施本文中所描述的或通过引用而并入的特征中的任何特征的结构和/或功能。注意,可以将上述结构和构成元件、以及它们的功能与一个或多个其它结构或者元件聚合或组合。替代地,可以将所述元件以及它们的功能细分成构成子元件,如果存在的话。作为软件,可以使用各种类型的编程或者格式化语言、架构、语法、应用、协议、对象、或者技术来实施本文中所描述的或通过引用而并入的技术中的至少一些。例如,在所述图中的任何图中所描述的元件中的至少一个元件可以表示一个或多个算法。或者,所述元件中的至少一个元件可以表示包括被配置为提供构成结构和/或功能的硬件的一部分的逻辑的一部分。
例如,能够在一个或多个计算设备(即,任何移动计算设备,例如可佩带设备、音频设备(例如,耳机或者头戴送受话器)、或者移动电话(无论是佩戴还是携带))中实施图33的模块3350、图34的模块3450、以及图35的模块3550、或者它们的部件中的一个或多个部件、或者本文所描述的任何过程或者设备,所述计算设备包括被配置为执行存储器中的一个或多个算法的一个或多个处理器。因此,本文中所描述的或通过引用而并入的图中的元件中的至少一些元件能够表示一个或多个算法。或者,所述元件中的至少一个元件可以表示包括被配置为提供构成结构和/或功能的硬件的一部分的逻辑的一部分。这些可以改变,并且并不限于所提供的示例或者描述。
作为硬件和/或固件,可以使用各种类型的编程或者集成电路设计语言来实施本文中所描述的或通过引用而并入的结构和/或技术,所述集成电路设计语言包括硬件描述语言,例如被配置为设计现场可编程门阵列(“FPGA”)、专用集成电路(“ASIC”)、多芯片模块、或者任何其它类型的集成电路的任何寄存器传输语言(“RTL”)。
例如,能够在包括一个或多个电路的一个或多个计算设备中实施图33的模块3350、图34的模块3450、以及图35的模块3550、或者它们的部件中的一个或多个部件、或者本文所描述的任何过程或者设备。因此,在本文中所描述的或通过引用而并入的图中的元件中的至少一些元件能够表示硬件的一个或多个部件。或者,所述元件中的至少一个元件可以表示包括被配置为提供构成结构和/或功能的电路的一部分的逻辑的一部分。
根据一些实施例,术语“电路”例如可以指包括其中有电流流过以执行一个或多个功能的多个部件的任何***,所述部件包括离散的和复合的部件。离散的部件的示例包括晶体管、电阻器、电容器、电感器、二极管等,并且复合的部件的示例包括存储器、处理器、模拟电路、数字电路等,包括现场可编程门阵列(“FPGA”)、专用集成电路(“ASIC”)。因此,电路可以包括电子部件和逻辑部件(例如,被配置为执行诸如算法的一组可执行指令的指令的逻辑,因此是电路的部件)的***。根据一些实施例,术语“模块”例如可以指在硬件电路或者软件、或者它们的组合中实施的算法或者算法的一部分、和/或逻辑(即,模块可以被实施为电路)。在一些实施例中,算法和/或存储算法的存储器是电路的“部件”。于是,例如,术语“电路”也可以指部件的***,包括算法。这些可以改变,并且并不限于所提供的示例或者描述。因此,上述结构和/或功能中的任何结构和/或功能可以采用硬件(包括电路)来实施。
根据本发明的一方面,提供了一种方法,包括:标识代表在模拟环境或物理环境中的一个或多个中的一个或多个动态对象的特性的第一数据;至少部分地基于所述第一数据来确定动态对象的分类;标识代表与所述动态对象相关联的动态相关特性的第二数据;至少部分地基于所述第一数据或所述第二数据中的一个或多个来生成所述动态对象的数据模型;在模拟环境中模拟所述动态对象的预测的运动范围;以及至少部分地基于所述动态对象的所述预测的运动范围,来对模拟自主车辆的一个或多个功能的预测响应进行模拟。
在本发明的一实施例的方法中,对所述预测响应进行模拟包括:计算所述模拟自主车辆和所述动态对象的所述预测的运动范围之间的距离的变化率;以及至少部分地基于所计算的距离的变化率在所述模拟环境中使所述模拟自主车辆避开所述动态对象。
在本发明的一实施例中,所述方法还包括:至少基于对所述模拟自主车辆的所述一个或多个功能的所述预测响应进行模拟,验证与物理自主车辆相关联的功能的一个或多个改变。
在本发明的一实施例的方法中,确定所述动态对象的分类包括确定所述动态对象是动物动态对象、行人动态对象、以及电动车辆动态对象的其中之一,并且其中,至少部分地基于所述动态对象的所述分类而选择所述预测的运动范围。
在本发明的一实施例的方法中,所述方法还包括:向与遥控操作员相关联的计算设备提供与模拟所述预测响应相关联的数据;从与所述遥控操作员相关联的所述计算设备接收遥控操作员数据;以及至少部分地基于所述遥控操作员数据来控制物理自主车辆或所述模拟自主车辆中的一个或多个的操作。
在本发明的一实施例的方法中,所述方法还包括:至少部分地基于所述动态对象的所述分类而使所述预测的运动范围随机化。
在本发明的一实施例的方法中,所述方法还包括:对传感器数据进行建模以表征传感器设备,从而形成具有特性的传感器数据,其中,使用由一个或多个物理环境中的物理传感器所获得的数据或模拟传感器数据中的一个或多个来对所述传感器数据进行建模;以及至少部分地基于所述具有特性的传感器数据来生成代表模拟传感器设备的数据。
在本发明的一实施例的方法中,对所述传感器数据进行建模包括:至少部分地基于测量偏差来调整代表所述模拟传感器设备的所述数据。
在本发明的一实施例的方法中,对所述传感器数据进行建模包括:对激光雷达传感器数据进行建模,以表征激光雷达传感器,从而形成具有特性的激光雷达数据;至少部分地基于所述具有特性的激光雷达数据生成代表模拟激光雷达设备的数据;对代表与所述激光雷达设备相关联的激光雷达测量偏差的数据进行建模;以及至少部分地基于所述激光雷达测量偏差来调整代表所述模拟激光雷达设备的所述数据。
在本发明的一实施例的方法中,所述方法还包括:标识与所述自主车辆的所述一个或多个部件相关联的部件特性;至少部分地基于所述部件特性来生成所述一个或多个部件的一个或多个数据模型;以及至少部分地基于所述一个或多个数据模型来模拟所述一个或多个部件的操作,以预测所述模拟自主车辆的行为。
在本发明的一实施例的方法中,所述方法还包括:访问包括代表与事件相关联的事件特性的数据的事件数据模型;至少部分地基于所述事件特性来在所述模拟环境中模拟所述事件;以及模拟所述模拟自主车辆的所述一个或多个功能的另一个预测响应。
根据本发明的另一方面,提供了一种***,包括:包括一个或多个处理器的一个或多个计算设备,其中所述一个或多个计算设备被配置为:接收代表动态对象的特性的第一数据;至少部分地基于所述第一数据来确定动态对象的分类,以标识分类的动态对象;标识代表与所述分类的动态对象相关联的动态相关特性的第二数据;至少部分地基于代表所述分类的动态对象的所述动态相关特性的所述第二数据来生成所述分类的动态对象的数据模型;在模拟环境中模拟所述分类的动态对象的预测的运动范围;以及至少部分地基于所述分类的动态对象的所述预测的运动范围,来对模拟自主车辆的一个或多个功能的数据表示的预测响应进行模拟。
在本发明的一实施例的***中,所述一个或多个计算设备进一步被配置为:执行模拟指令,以使所述模拟自主车辆至少部分地基于所述模拟动态对象的所述预测的运动范围来执行模拟操纵;生成与所述模拟自主车辆执行所述模拟操纵相关联的数据;以及将所述数据提供给遥控操作员中的一个或多个。
在本发明的一实施例的***中,所述一个或多个计算设备进一步被配置为:对传感器数据进行建模以表征传感器设备,从而形成具有特性的传感器数据;以及至少部分地基于所述具有特性的传感器数据来生成代表模拟传感器设备的第三数据。
在本发明的一实施例的***中,所述一个或多个计算设备进一步被配置为:标识与自主车辆的部件相关联的部件特性;至少部分地基于所述部件特性来生成一个或多个部件的数据模型;以及至少部分地基于所述数据模型来模拟所述一个或多个部件的操作,以预测所述模拟自主车辆的行为。
在本发明的一实施例的***中,所述***还包括:经由与遥控操作员相关联的计算设备来接收与控制模拟操纵相关联的数据;执行模拟指令以使所述模拟自主车辆执行所述模拟操纵;生成与所述模拟自主车辆执行所述模拟操纵相关联的数据;以及分析所述数据以确定符合一个或多个策略。
在本发明的一实施例的***中,所述***还包括向与物理自主车辆相关联的计算设备提供所述预测响应。
根据本发明的另一方面,提供了一种非暂态计算机可读存储介质,具有存储于其上的计算机可执行指令,所述计算机指令在由计算机执行时,使所述计算机执行包括以下各项的动作:至少部分地基于代表一个或多个环境中的一个或多个动态对象的特性的数据来确定动态对象的分类;标识与所述动态对象相关联的动态相关特性;至少部分地基于所述动态相关特性来生成所述动态对象的数据模型;以及至少部分地基于所述动态对象的预测的运动范围,在模拟环境中模拟与模拟自主车辆相关联的一个或多个事件。
在本发明的一实施例的非暂态计算机可读存储介质中,模拟所述一个或多个事件包括:计算所述模拟自主车辆和所述动态对象的所述预测的运动范围之间的距离的变化率;以及至少部分地基于所计算的距离的变化率来计算一个或多个轨迹,所述一个或多个轨迹在所述模拟环境中使所述模拟自主车辆避开所述动态对象。
在本发明的一实施例的非暂态计算机可读存储介质中,所述动作还包括:将所述一个或多个轨迹提供给与遥控操作员相关联的计算设备;从与所述遥控操作员相关联的所述计算设备接收对所述一个或多个轨迹的其中之一的选择;以及执行以下操纵中的一个或多个:使用对所述一个或多个轨迹的所述选择来模拟所述模拟自主车辆的移动;或者使物理自主车辆利用对所述一个或多个轨迹的所述选择。
在本发明的一实施例的非暂态计算机可读存储介质中,所述动作还包括:经由与遥控操作员相关联的计算设备接收与控制所述模拟自主车辆的模拟操纵相关联的数据;以及执行模拟指令以使所述模拟自主车辆执行所述模拟操纵。
在本发明的一实施例的非暂态计算机可读存储介质中,所述动作还包括:生成与所述模拟自主车辆执行所述模拟操纵相关联的数据;以及分析所述数据以确定符合一个或多个策略。
在本发明的一实施例的非暂态计算机可读存储介质中,所述动作还包括:对传感器数据进行建模以表征传感器设备,从而形成具有特性的传感器数据;以及至少部分地基于所述具有特性的传感器数据来生成代表模拟传感器设备的数据。
尽管已经出于理解清晰的目的而采用一些细节描述了前述示例,以上所描述的创造性技术并不限于所提供的细节。存在许多实施以上所描述的创造性技术的替代的方式。所公开的示例为例示性的而非限制性的。

Claims (20)

1.一种方法,包括:
从与车辆相关联的传感器接收传感器数据,所述传感器数据指示物理环境中的对象;
至少部分地基于所述传感器数据来确定与所述对象相关联的分类;
至少部分地基于所述传感器数据来确定所述对象的航向、速度或加速度中的至少一个;
至少部分地基于所述传感器数据、所述分类、或者所述航向、所述速度或所述加速度中的至少一个中的至少一个来生成与所述对象相关联的数据模型;
至少部分地基于所述数据模型以及所述对象的所述航向、速度或加速度中的所述至少一个来生成模拟;
至少部分地基于所述模拟来确定与所述对象在模拟环境中的速度、加速度、位置或动作中的至少一个相关联的概率;以及
至少部分地基于所述概率来控制所述车辆。
2.根据权利要求1所述的方法,其中,所述数据模型包括动态对象数据建模器、环境建模器、传感器建模器或车辆建模器中的一个或多个。
3.根据权利要求1所述的方法,其中,确定所述概率还至少部分地基于第二概率,所述第二概率是至少部分地基于模拟附加对象来确定的,模拟所述附加对象至少部分地基于与所述附加对象相关联的附加数据模型。
4.根据权利要求1所述的方法,其中,所述概率指示所述对象将从静态状态转变到动态状态或干扰所述车辆的规划路径的可能性。
5.根据权利要求1所述的方法,还包括接收所述车辆周围的所述物理环境中的事件的指示,
其中,生成所述模拟还基于所述事件。
6.根据权利要求1所述的方法,还包括至少部分地基于所述概率来模拟所述车辆的操纵,并且其中,控制所述车辆还至少部分地基于模拟所述操纵。
7.一种***,包括:
一个或多个处理器;
存储器,其存储处理器可执行指令,所述处理器可执行指令在由所述一个或多个处理器执行时使所述***执行操作,所述操作包括:
从与车辆相关联的传感器接收表示环境中的对象的传感器数据;
至少部分地基于所述传感器数据来确定与所述对象相关联的分类;
确定所述对象的航向、速度或加速度中的至少一个;
至少部分地基于所述传感器数据、所述分类、或者所述航向、所述速度或所述加速度中的至少一个中的至少一个来生成与所述对象相关联的数据模型;
至少部分地基于所述数据模型以及所述对象的所述航向、速度或加速度中的所述至少一个来生成模拟;
至少部分地基于所述模拟来确定与所述对象在模拟环境中的速度、加速度、位置或动作中的至少一个相关联的概率;以及
至少部分地基于所述概率来控制所述车辆。
8.根据权利要求7所述的***,其中,所述数据模型包括动态对象数据建模器、环境建模器、传感器建模器或车辆建模器中的一个或多个。
9.根据权利要求7所述的***,其中,确定所述概率还至少部分地基于第二概率,所述第二概率是至少部分地基于模拟附加对象来确定的,模拟所述附加对象至少部分地基于与所述附加对象相关联的附加数据模型。
10.根据权利要求7所述的***,其中,所述概率指示所述对象将从静态状态转变到动态状态的可能性。
11.根据权利要求7所述的***,其中,所述操作还包括接收所述车辆周围的环境中的事件的指示,
其中,生成所述模拟还基于所述事件。
12.根据权利要求7所述的***,其中,所述操作还包括至少部分地基于所述概率来模拟所述车辆的操纵,并且其中,控制所述车辆还至少部分地基于模拟所述操纵。
13.根据权利要求12所述的***,其中,模拟所述操纵至少部分地基于:
至少部分地基于所述概率来生成一个或多个模拟的候选轨迹;以及
在所述模拟中实例化所述一个或多个模拟的候选轨迹,以及
其中,控制所述车辆至少部分地基于确定所述模拟的候选轨迹中的至少一个是无碰撞操作。
14.一种或多种非暂态计算机可读介质,其存储处理器可执行指令,所述处理器可执行指令在由一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:
从与车辆相关联的传感器接收表示所述车辆周围的环境中的对象的传感器数据;
通过车辆控制器并且至少部分地基于所述传感器数据来确定与所述对象相关联的分类;
确定所述对象的航向、速度或加速度中的至少一个;
至少部分地基于所述传感器数据、所述分类、或者所述航向、所述速度或所述加速度中的至少一个中的至少一个来生成与所述对象相关联的数据模型;
至少部分地基于所述数据模型以及所述对象的所述航向、速度或加速度中的所述至少一个来生成模拟;
至少部分地基于所述模拟来确定与所述对象在模拟环境中的速度、加速度、位置或动作中的至少一个相关联的概率;以及
至少部分地基于所述概率来生成用于控制所述车辆的命令。
15.根据权利要求14所述的一种或多种非暂态计算机可读介质,其中,所述数据模型包括动态对象数据建模器、环境建模器、传感器建模器或车辆建模器中的一个或多个。
16.根据权利要求14所述的一种或多种非暂态计算机可读介质,其中,确定所述概率还至少部分地基于第二概率,所述第二概率至少部分地基于模拟附加对象来确定,模拟所述附加对象至少部分地基于与所述附加对象相关联的附加数据模型。
17.根据权利要求14所述的一种或多种非暂态计算机可读介质,其中,所述概率指示所述对象将从静态状态转变到动态状态的可能性。
18.根据权利要求14所述的一种或多种非暂态计算机可读介质,其中,所述操作还包括接收在所述车辆周围的环境中的事件的指示,
其中,生成所述模拟还基于所述事件。
19.根据权利要求14所述的一种或多种非暂态计算机可读介质,其中,所述操作还包括至少部分地基于所述概率来模拟所述车辆的操纵,并且其中,生成所述命令还至少部分地基于模拟所述操纵。
20.根据权利要求19所述的一种或多种非暂态计算机可读介质,其中,模拟所述操控至少部分地基于:
至少部分地基于所述概率来生成一个或多个模拟的候选轨迹;以及
在所述模拟中实例化所述一个或多个模拟的候选轨迹,以及
其中,生成所述命令至少部分地基于确定所述模拟的候选轨迹中的至少一个是无碰撞操作。
CN202210276163.7A 2015-11-04 2016-11-02 用于自主车辆的模拟***和方法 Pending CN114643995A (zh)

Applications Claiming Priority (34)

Application Number Priority Date Filing Date Title
US14/756,996 US9916703B2 (en) 2015-11-04 2015-11-04 Calibration for autonomous vehicle operation
US14/932,954 2015-11-04
US14/932,954 US9517767B1 (en) 2015-11-04 2015-11-04 Internal safety systems for robotic vehicles
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 2015-11-04
US14/932,958 US9494940B1 (en) 2015-11-04 2015-11-04 Quadrant configuration of robotic vehicles
US14/756,994 2015-11-04
US14/756,991 US9720415B2 (en) 2015-11-04 2015-11-04 Sensor-based object-detection optimization for autonomous vehicles
US14/932,952 US10745003B2 (en) 2015-11-04 2015-11-04 Resilient safety system for a robotic vehicle
US14/932,959 2015-11-04
US14/932,963 2015-11-04
US14/756,995 US9958864B2 (en) 2015-11-04 2015-11-04 Coordination of dispatching and maintaining fleet of autonomous vehicles
US14/756,993 2015-11-04
US14/932,948 2015-11-04
US14/932,963 US9612123B1 (en) 2015-11-04 2015-11-04 Adaptive mapping to navigate autonomous vehicles responsive to physical environment changes
US14/756,992 2015-11-04
US14/932,962 US9630619B1 (en) 2015-11-04 2015-11-04 Robotic vehicle active safety systems and methods
US14/756,992 US9910441B2 (en) 2015-11-04 2015-11-04 Adaptive autonomous vehicle planner logic
US14/932,940 2015-11-04
US14/932,966 2015-11-04
US14/932,966 US9507346B1 (en) 2015-11-04 2015-11-04 Teleoperation system and method for trajectory modification of autonomous vehicles
US14/756,994 US9701239B2 (en) 2015-11-04 2015-11-04 System of configuring active lighting to indicate directionality of an autonomous vehicle
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/756,991 2015-11-04
US14/932,959 US9606539B1 (en) 2015-11-04 2015-11-04 Autonomous vehicle fleet service and system
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/932,958 2015-11-04
US14/756,996 2015-11-04
US14/756,995 2015-11-04
US14/932,952 2015-11-04
US14/757,016 2015-11-05
US14/757,016 US10496766B2 (en) 2015-11-05 2015-11-05 Simulation system and methods for autonomous vehicles
CN201680064648.2A CN108290579B (zh) 2015-11-04 2016-11-02 用于自主车辆的模拟***和方法
PCT/US2016/060030 WO2017079229A1 (en) 2015-11-04 2016-11-02 Simulation system and methods for autonomous vehicles

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201680064648.2A Division CN108290579B (zh) 2015-11-04 2016-11-02 用于自主车辆的模拟***和方法

Publications (1)

Publication Number Publication Date
CN114643995A true CN114643995A (zh) 2022-06-21

Family

ID=62817166

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210276163.7A Pending CN114643995A (zh) 2015-11-04 2016-11-02 用于自主车辆的模拟***和方法
CN201680064648.2A Active CN108290579B (zh) 2015-11-04 2016-11-02 用于自主车辆的模拟***和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201680064648.2A Active CN108290579B (zh) 2015-11-04 2016-11-02 用于自主车辆的模拟***和方法

Country Status (2)

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

Families Citing this family (36)

* 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
CN109532511B (zh) * 2018-12-07 2021-06-08 纳恩博(北京)科技有限公司 电动滑板车的行驶方法、电动滑板车
EP3663942B1 (en) * 2018-12-07 2023-04-26 Volvo Car Corporation Evaluation of a simulated vehicle functionality feature
CN111307166B (zh) * 2018-12-11 2023-10-03 北京图森智途科技有限公司 一种构建占据栅格地图的方法及其装置、处理设备
CN111413957B (zh) * 2018-12-18 2021-11-02 北京航迹科技有限公司 用于确定自动驾驶中的驾驶动作的***和方法
US11987287B2 (en) 2019-04-12 2024-05-21 Continental Autonomous Mobility US, LLC Autonomous truck-trailer maneuvering and parking
CN110239518B (zh) * 2019-05-20 2023-09-01 福瑞泰克智能***有限公司 一种车辆横向位置控制方法及装置
US20200406894A1 (en) * 2019-06-28 2020-12-31 Zoox, Inc. System and method for determining a target vehicle speed
KR102228516B1 (ko) * 2019-08-05 2021-03-16 엘지전자 주식회사 다수의 사용자가 포함된 사용자 그룹을 운송하는 자율 주행 차량 및 이의 제어 방법과, 상기 자율 주행 차량을 제어하는 제어 서버
CN110673636B (zh) * 2019-09-30 2023-01-31 上海商汤临港智能科技有限公司 无人驾驶仿真测试***及方法、存储介质
CN110766793B (zh) * 2019-10-08 2023-06-30 北京地平线机器人技术研发有限公司 一种基于语义点云的地图构建方法及装置
US11325492B2 (en) * 2019-10-09 2022-05-10 Carnegie Mellon University Method for determining optimal placement of electric vehicle chargers
KR102255595B1 (ko) * 2019-10-23 2021-05-26 국민대학교산학협력단 사용자 관점의 자율주행 정보 제공 장치 및 방법
CN111026873B (zh) * 2019-10-24 2023-06-20 中国人民解放军军事科学院国防科技创新研究院 无人车及其导航方法、装置
KR102139513B1 (ko) * 2019-11-28 2020-08-12 국민대학교산학협력단 인공지능 vils 기반의 자율주행 제어 장치 및 방법
US11675366B2 (en) * 2019-12-27 2023-06-13 Motional Ad Llc Long-term object tracking supporting autonomous vehicle navigation
CN111259545B (zh) * 2020-01-15 2023-08-08 吉利汽车研究院(宁波)有限公司 智能驾驶虚拟仿真云平台
CN111221334B (zh) * 2020-01-17 2021-09-21 清华大学 一种用于自动驾驶汽车仿真的环境传感器模拟方法
CN111324945B (zh) * 2020-01-20 2023-09-26 阿波罗智能技术(北京)有限公司 传感器方案确定方法、装置、设备及存储介质
EP3869843B1 (en) * 2020-02-19 2024-06-19 Volkswagen Ag 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 (zh) 2020-04-29 2023-08-29 阿波罗智能技术(北京)有限公司 用于更新点云的方法及装置
JP7303153B2 (ja) * 2020-05-18 2023-07-04 トヨタ自動車株式会社 車両用運転支援装置
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 (zh) * 2020-12-14 2021-11-12 北京理工大学 针对麦克纳姆轮小车的隐蔽攻击策略获取方法
CN112590871B (zh) * 2020-12-23 2022-09-02 交控科技股份有限公司 列车安全防护方法、装置和***
CN112764984B (zh) * 2020-12-25 2023-06-02 际络科技(上海)有限公司 一种自动驾驶测试***和方法、电子设备和存储介质
CN114834475B (zh) * 2021-01-15 2024-05-31 宇通客车股份有限公司 一种车辆输出扭矩控制方法和装置
CN113222335B (zh) * 2021-04-06 2022-10-14 同济大学 一种基于风险评估效用的安全性无人驾驶车群构建方法
CN113257073B (zh) * 2021-06-24 2021-09-21 成都运达科技股份有限公司 列车模拟驾驶平稳性分析方法、***、终端及介质
CN114120252B (zh) * 2021-10-21 2023-09-01 阿波罗智能技术(北京)有限公司 自动驾驶车辆状态的识别方法、装置、电子设备及车辆
CN114475653B (zh) * 2021-12-28 2024-03-15 广州文远知行科技有限公司 一种车辆应急转向仿真场景配置方法和装置
TWI832203B (zh) * 2022-04-08 2024-02-11 富智捷股份有限公司 驗證系統及方法
CN114743010B (zh) * 2022-06-13 2022-08-26 山东科技大学 基于深度学习的超高压输电线路点云数据语义分割方法
CN115179978B (zh) * 2022-07-18 2023-05-16 内蒙古工业大学 一种基于立体声耳机的梭车避障预警***

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3281188B2 (ja) * 1994-08-09 2002-05-13 ヤマハ発動機株式会社 無人車
FR2889882B1 (fr) * 2005-08-19 2009-09-25 Renault Sas Procede et systeme de prediction de choc entre un vehicule et un pieton.
US9459622B2 (en) * 2007-01-12 2016-10-04 Legalforce, Inc. Driverless vehicle commerce network and community
JP2011248855A (ja) * 2010-04-30 2011-12-08 Denso Corp 車両用衝突警報装置
US8509982B2 (en) * 2010-10-05 2013-08-13 Google Inc. Zone driving
US20130197736A1 (en) * 2012-01-30 2013-08-01 Google Inc. Vehicle control based on perception uncertainty
US8996224B1 (en) * 2013-03-15 2015-03-31 Google Inc. Detecting that an autonomous vehicle is in a stuck condition
US9656667B2 (en) * 2014-01-29 2017-05-23 Continental Automotive Systems, Inc. Method for minimizing automatic braking intrusion based on collision confidence
US9720410B2 (en) * 2014-03-03 2017-08-01 Waymo Llc Remote assistance for autonomous vehicles in predetermined situations

Also Published As

Publication number Publication date
JP7036732B2 (ja) 2022-03-15
JP7330259B2 (ja) 2023-08-21
CN108290579B (zh) 2022-04-12
CN108290579A (zh) 2018-07-17
JP2019504800A (ja) 2019-02-21
JP2022046646A (ja) 2022-03-23

Similar Documents

Publication Publication Date Title
CN108290579B (zh) 用于自主车辆的模拟***和方法
US11796998B2 (en) Autonomous vehicle fleet service and system
CN108292474B (zh) 派遣和维护自主车辆的车队的协调
US11301767B2 (en) Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles
JP7195143B2 (ja) 適応的な自律車両のプランナ論理
JP7316789B2 (ja) 物理的環境の変化に応答して自律車両をナビゲートするための適応マッピング
US11106218B2 (en) Adaptive mapping to navigate autonomous vehicles responsive to physical environment changes
US20200074024A1 (en) Simulation system and methods for autonomous vehicles
US10048683B2 (en) Machine learning systems and techniques to optimize teleoperation and/or planner decisions
US9734455B2 (en) Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles
US9720415B2 (en) Sensor-based object-detection optimization for autonomous vehicles
CN108369775B (zh) 响应于物理环境的改变自适应制图以对自主车辆进行导航
WO2017079229A1 (en) Simulation system and methods for autonomous vehicles
JP2022137160A (ja) 遠隔操作および/またはプランナ決定を最適化するための機械学習システムおよび技法
US20240028031A1 (en) Autonomous vehicle fleet service and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination