CN116255991A - 车辆定位 - Google Patents
车辆定位 Download PDFInfo
- Publication number
- CN116255991A CN116255991A CN202211555273.3A CN202211555273A CN116255991A CN 116255991 A CN116255991 A CN 116255991A CN 202211555273 A CN202211555273 A CN 202211555273A CN 116255991 A CN116255991 A CN 116255991A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- data
- positioning data
- positioning
- application
- 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
Links
- 238000000034 method Methods 0.000 claims description 69
- 230000004927 fusion Effects 0.000 claims description 12
- 238000013439 planning Methods 0.000 claims description 7
- 238000010801 machine learning Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 36
- 238000004422 calculation algorithm Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 24
- 230000007246 mechanism Effects 0.000 description 10
- 230000001960 triggered effect Effects 0.000 description 10
- 230000001413 cellular effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 239000000835 fiber Substances 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000002604 ultrasonography Methods 0.000 description 2
- 241000238631 Hexapoda Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes 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/10—Path keeping
- B60W30/12—Lane keeping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4041—Position
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Traffic Control Systems (AREA)
Abstract
本公开提供“车辆定位”。可以识别在车辆中的车辆网络上可访问的多个定位数据源。可以识别请求由所述定位数据源中的一个或多个提供的定位数据的多个活动车辆应用程序。基于活动车辆应用程序,可以选择要组合以输出车辆位置的多个定位数据源。
Description
技术领域
本公开涉及车辆定位。
背景技术
车辆计算机定位车辆的能力对于操作车辆可能是重要的。定位车辆(即,执行定位)意指识别车辆相对于坐标系的位置。例如,坐标系可以是提供行星地球的纬度和经度坐标的全局坐标系和/或可以是参考车辆、指定地理区域等提供的局部坐标系。此外,车辆可以相对于各种类型的坐标系(例如,二维或三维笛卡尔坐标系、极坐标系等)定位。车辆中的各种子系统、服务或特征可以使用定位数据。
发明内容
根据本发明,提供了一种用于车辆的系统,所述系统具有:可连接到车辆网络的网络接口;以及处理器和存储器,存储器存储可由处理器执行的指令,所述指令包括用于进行以下操作的指令:识别可在车辆网络上访问的多个定位数据源;识别请求由定位数据源中的一个或多个提供的定位数据的多个活动车辆应用程序;并且基于活动车辆应用程序来选择要组合以输出车辆位置的多个定位数据源。
根据实施例,定位数据源中的相应定位数据源属于多种类型的定位数据源中的一种。
根据实施例,定位数据源的类型包括地图数据、V2X数据、车辆传感器数据或车辆位置数据中的两者或更多者。
根据实施例,指令还包括用于进行以下操作的指令:根据定位数据源的类型来组合定位数据。
根据实施例,指令还包括用于进行以下操作的指令:执行数据融合程序,所述数据融合程序接收组合的定位数据作为输入并输出车辆位置。
根据实施例,用于选择定位数据源中的一个或多个的指令包括选择从机器学习程序输出的定位数据源,所述机器学习程序接收用于以下两者的标识符作为输入:(a)可在车辆网络上访问的定位数据源,以及(b)请求定位数据的活动应用程序。
根据实施例,使用先前从定位数据源收集的定位数据来训练机器学习程序。
根据实施例,指令还包括用于进行以下操作的指令:在车辆网络上出现点火装置接通信号时执行初始化例程,其中初始化例程包括编译指令以允许系统从选定的定位数据源请求和接收数据。
根据实施例,指令还包括用于进行以下操作的指令:识别初始化例程所需的最小数量的定位数据源。
根据实施例,指令还包括用于进行以下操作的指令:基于利用相应的活动车辆应用程序的车辆操作来向相应的活动车辆应用程序分配应用程序优先级。
根据实施例,指令还包括用于进行以下操作的指令:基于需要相应定位数据源的一个或多个活动车辆应用程序的一个或多个应用程序优先级来将数据源优先级分配给相应定位数据源。
根据实施例,活动车辆应用程序包括车辆人机界面(HMI)、紧急电子制动灯(EEBL)、绿灯最佳速度建议(GLOSA)、全球位置编号(GLN)、巡航控制、车道保持辅助、路径规划、通行费支付、交通灯306信息、停车、电动车辆充电或避撞中的至少一者。
根据实施例,其中指令还包括用于进行以下操作的指令:向车辆中的人机界面(HMI)提供活动车辆应用程序中的至少一个的标识。
根据本发明,一种方法包括:识别可在车辆中的车辆网络上访问的多个定位数据源;识别请求由定位数据源中的一个或多个提供的定位数据的多个活动车辆应用程序;以及基于活动车辆应用程序来选择要组合以输出车辆位置的多个定位数据源。
在本发明的一个方面,定位数据源中的相应定位数据源属于多种类型的定位数据源中的一种。
在本发明的一个方面,定位数据源的类型包括地图数据、V2X数据、车辆传感器数据或车辆位置数据中的两者或更多者。
在本发明的一个方面,所述方法包括根据定位数据源的类型来组合定位数据。
在本发明的一个方面,所述方法包括执行数据融合程序,所述数据融合程序接收组合的定位数据作为输入并输出车辆位置。
在本发明的一个方面,所述方法包括:基于利用相应的活动车辆应用程序的车辆操作来向相应的活动车辆应用程序分配应用程序优先级。
在本发明的一个方面,基于需要相应定位数据源的一个或多个活动车辆应用程序的一个或多个应用程序优先级来完成将数据源优先级分配给相应定位数据源。
附图说明
图1示出了示例性车辆操作系统。
图2示出了示例性车辆定位子系统。
图3示出了示例性交通场景。
图4A和图4B共同示出了用于在车辆中提供定位数据的示例性过程。
具体实施方式
参考图1至图3,车辆102操作系统100至少包括车辆102,所述车辆使用例如由各种车辆102电子控制单元或ECU 104执行的各种车辆102应用程序212中的定位数据。应用程序212可以包括车辆102人机界面(HMI)108、紧急电子制动灯(EEBL)子系统、绿灯最佳速度建议(GLOSA)、全球位置编号(GLN)、巡航控制、车道保持辅助、路径规划、通行费支付、交通灯306信息、停车、电动车辆102充电或避撞,仅举数例。当在两条或更多条道路302的十字路口304附近或在所述十字路口处时,不同的应用程序212可能需要在各个时间和/或位置处的定位数据(例如,如图3所示)。根据本文公开的技术,可以将定位数据提供给各个应用程序212,从而提高利用车辆102中的计算资源(包括处理资源、存储器资源和网络资源)的效率,从而可以以更少的处理、更少的存储器和更少的带宽消耗来提供定位数据。
应用程序212的定位数据可以从来自各种来源的数据提供或基于来自各种来源的数据或导出自来自各种来源的数据,所述各种来源诸如车辆102中的一个或多个传感器110、中央服务器118、路边基础设施单元或RSU 120、其他车辆102等。车辆102中的各种应用程序212可以同时请求定位数据。此外,应用程序212可以具有各种优先级。有利地,基于优先级和诸如置信度和服务质量等其他因素,车辆102中的定位计算机106可以实例化并动态地提供可以向各种应用程序212提供定位数据的容器210。
因此,本文描述的系统100和技术有利地向一个或多个应用程序212提供定位数据,包括同时提高计算效率和高效地分配车辆102中的计算资源(包括定位计算机106内以及各种ECU 104中的资源)。例如,如下面进一步解释的,定位子系统200中的编排器208可以实例化向应用程序212提供定位数据的容器210。一个容器可以向一个或多个应用程序212提供定位数据。将来自一个容器210的定位数据提供给多个应用程序212是可以实现的提高计算和/或网络效率的示例。
因此,本公开包括一种用于车辆的系统,所述系统包括:可连接到车辆网络的网络接口;以及处理器和存储器,存储器存储可由处理器执行的指令,所述指令包括用于进行以下操作的指令:识别可在车辆网络上访问的多个定位数据源;识别请求由定位数据源中的一个或多个提供的定位数据的多个活动车辆应用程序;并且基于活动车辆应用程序来选择要组合以输出车辆位置的多个定位数据源。
定位数据源中的相应定位数据源可以属于多种类型的定位数据源中的一种。定位数据源的类型可以包括地图数据、V2X数据、车辆传感器数据或车辆位置数据中的两者或更多者。指令还可以包括用于进行以下操作的指令:根据定位数据源的类型来组合定位数据。指令可以包括用于进行以下操作的指令:执行数据融合程序,所述数据融合程序接收组合的定位数据作为输入并输出车辆位置。
用于选择定位数据源中的一个或多个的指令可以包括选择从机器学习程序输出的定位数据源,所述机器学习程序接收用于以下两者的标识符作为输入:(a)可在车辆网络上访问的定位数据源,以及(b)请求定位数据的活动应用程序。使用先前从定位数据源收集的定位数据来训练机器学习程序。
指令还可以包括用于进行以下操作的指令:在车辆网络上出现点火装置接通信号时执行初始化例程,其中初始化例程包括编译指令以允许系统从选定的定位数据源请求和接收数据。指令还可以包括用于进行以下操作的指令:识别初始化例程所需的最小数量的定位数据源。
指令还可以包括用于进行以下操作的指令:基于利用相应的活动车辆应用程序的车辆操作来向相应的活动车辆应用程序分配应用程序优先级。指令还可以包括用于进行以下操作的指令:基于需要相应定位数据源的一个或多个活动车辆应用程序的一个或多个应用程序优先级来将数据源优先级分配给相应定位数据源。
活动车辆应用程序可以包括车辆人机界面(HMI)、紧急电子制动灯(EEBL)、绿灯最佳速度建议(GLOSA)、全球位置编号(GLN)、巡航控制、车道保持辅助、路径规划、通行费支付、交通灯信息、停车、电动车辆充电或避撞中的至少一者。
指令还可以包括用于进行以下操作的指令:向车辆中的人机界面(HMI)提供活动车辆应用程序中的至少一个的标识。
一种方法可以包括:识别可在车辆中的车辆网络上访问的多个定位数据源;识别请求由定位数据源中的一个或多个提供的定位数据的多个活动车辆应用程序;以及基于活动车辆应用程序来选择要组合以输出车辆位置的多个定位数据源。
定位数据源中的相应定位数据源可以属于多种类型的定位数据源中的一种。定位数据源的类型包括地图数据、V2X数据、车辆传感器数据或车辆位置数据中的两者或更多者。可以根据定位数据源的类型来组合定位数据。
可以执行数据融合程序,所述数据融合程序接收组合的定位数据作为输入并输出车辆位置。
可以基于利用相应的活动车辆应用程序的车辆操作来向相应的活动车辆应用程序分配应用程序优先级。可以基于需要相应定位数据源的一个或多个活动车辆应用程序的一个或多个应用程序优先级来完成将数据源优先级分配给相应定位数据源。
现在参考图1至图2,一种用于车辆102的系统100可以包括多个计算装置,包括例如电子控制器,诸如一个或多个ECU 104(电子控制单元)等。车辆102中的计算装置中的一个(为方便起见在本文中单独称为定位计算机106)可以是例如ECU。定位计算机106可以包括网络接口或连接到网络接口,所述网络接口可连接到车辆网络114。如图2所示,定位计算机106可以实施定位子系统200以向车辆102中的各种应用程序212提供定位数据,例如,向在车辆ECU 104中实施或执行的各种特征或操作提供定位数据。
定位计算机106所存储且可执行的指令可以包括用于进行以下操作的指令:识别可在车辆网络114上访问的多个定位数据源202;识别请求由定位数据源202中的一个或多个提供的定位数据的多个活动车辆应用程序212;以及基于活动车辆应用程序212来选择要组合以输出车辆102位置的多个定位数据源202。
替代地或另外,定位计算机106所存储且可执行的指令可以包括用于进行以下操作的指令:接收和/或检测触发(即当接收到或检测到时指示要采取某个动作的数据)以向第一车辆102应用程序212提供定位数据,所述第一车辆应用程序是接收定位数据的多个车辆102应用程序212中的一个;基于所述触发,将处理器或存储器中的一者或两者中的资源分配给第一数据容器210,所述第一数据容器提供针对应用程序212指定的第一格式的定位数据并且是系统100中所包括的多个数据容器210中的一个;以及在从第一车辆102应用程序212接收到位置请求时向应用程序212提供第一格式的定位数据。
在本文件的上下文中的定位数据意指(a)根据某个坐标系100和/或相对于某个其他对象测量或指示车辆102或某个其他对象的位置、定位和/或姿态的数据,以及(b)关于车辆102的物理状态的数据。例如,定位数据可以包括车辆102位置,即,车辆102位置数据,例如,其指定当前车辆102位置的地理坐标等。定位数据还可以包括车辆102距某个对象(诸如另一车辆102、十字路口304、建筑物等)的距离。定位数据还可以包括关于车辆102或某个其他对象的姿态的数据,即,车辆102相对于水平轴线和/或竖直轴线的取向。车辆102的“物理状态”意指车辆102的描述或管理车辆102移动的测量值或设置。例如,车辆102的物理状态可以包括车辆102的速度、加速度、转弯(或横摆)率和/或航向,但不限于此。车辆102的物理状态还可以包括诸如变速器设置(驻车、行车、倒车等)、方向盘角度、接合状态(例如,制动器接合或未接合)等的设置。此外,本文中对车辆102或某个其他对象的“位置”的引用意指被对象占据的地球表面上的地点或位置。可以根据全球坐标系100(例如,全球导航卫星系统(GNSS)使用的地理坐标,例如,有时称为GPS坐标)来指定位置。替代地,可以相对于某个其他对象指定位置,例如,指定为相对于另一个对象的距离和/或航向。
除了一个或多个计算装置(例如,定位计算机106和多个ECU 104)之外,车辆102还可以包括人机界面(例如,HMI 108)、多个传感器110和通信模块112以经由广域网116向其他车辆102和/或一个或多个中央计算机提供通信。ECU 104可以从车辆102中的各种传感器110和/或计算装置接收数据,包括来自定位计算机106的定位数据,以支持各种车辆102特征或子系统的操作。替代地或另外,车辆102中的ECU 104可以利用从车辆102外部(例如,从中央计算机和/或一个或多个其他车辆102)接收的数据来操作车辆子系统。
车辆102可以是任何合适类型的地面车辆102,例如乘用汽车或商用汽车,诸如轿车、双门轿车、卡车、运动型多功能车、跨界车、厢式货车、小型货车、出租车、公共汽车等。
车辆102计算装置可以包括如上所述的多个计算机,诸如上述ECU 104和定位计算机106。车辆102计算机包括处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且存储指令,所述指令可由车辆102计算机执行以用于执行包括如本文所公开的各种操作。例如,车辆102计算机可以是具有如以上所述的处理器和存储器的通用计算机,和/或可以包括用于特定功能或功能集的ECU 104或控制器,和/或专用电子电路,所述专用电子电路包括针对特定操作而制造的ASIC,例如用于处理传感器110数据和/或传送传感器110数据的ASIC。在另一示例中,车辆102计算机可包括FPGA(现场可编程门阵列),所述FPGA是被制造为可由用户配置的集成电路。通常,在电子设计自动化中使用诸如VHDL(超高速集成电路硬件描述语言)的硬件描述语言来描述诸如FPGA和ASIC的数字和混合信号系统。例如,ASIC是基于制造前提供的VHDL编程而制造的,而FPGA内部的逻辑部件可以基于例如存储在电连接到FPGA电路的存储器中的VHDL编程而配置。在一些示例中,处理器、ASIC和/或FPGA电路的组合可以包括在计算机中。
存储器可以是任何类型,例如,硬盘驱动器、固态驱动器、服务器或任何易失性或非易失性介质。存储器可以存储从传感器110输出的所收集数据。存储器可以是与计算机分离的装置,并且计算机可以经由车辆102中的网络(例如,通过CAN总线、无线网络等)检索由存储器存储的信息。替代地或另外,存储器可以是计算机的一部分,例如作为ECU 104等的存储器。
诸如ECU 104等计算机可以包括编程以操作以下各者中的一者或多者:车辆102的制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆102的加速)、转向、气候控制、内部灯和/或外部灯等,以及确定计算机(而非人类操作员)是否并且何时控制此类操作。另外,计算机可以被编程为确定是否及何时由人类操作者来控制这类操作。
包括定位计算机106和ECU 104的计算机可以包括多于一个处理器或通信地耦合到(例如,经由车辆网络114,诸如如下文进一步描述的通信总线)多于一个处理器,例如,所述多于一个处理器包括在车辆102中所包括的诸如传感器110、其他ECU 104等部件中,用于监测和/或控制各种车辆部件,例如动力传动系统控制器、制动控制器、转向控制器等。车辆102计算装置通常被布置用于在车辆102通信网络上进行通信,所述通信网络可以包括车辆102中的总线,诸如控制器局域网CAN等,和/或其他有线和/或无线机制。替代地或另外,在计算机实际上包括多个装置的情况下,例如,如关于定位计算机106(为了方便起见在本文中被描述实施为一个计算装置)可能的是,车辆102通信网络可以用于在本文件中表示为一个计算装置的装置之间进行通信。此外,如下所述,各种控制器和/或传感器110可以经由车辆102通信网络向车辆102计算装置提供数据。
如上所述,车辆102可以包括HMI 108,例如显示器、触摸屏显示器、传声器、扬声器等中的一者或多者。用户可以经由HMI 108向诸如计算机的装置提供输入。HMI 108可以经由车辆网络114与车辆102计算装置通信,例如,HMI 108可以向计算机发送包括经由触摸屏、传声器、捕捉手势的相机等提供的用户输入的消息,和/或可以例如经由屏幕、扬声器等显示输出。
诸如自主或半自主车辆102的车辆102通常包括各种传感器110。传感器110是可以获得一个或多个物理现象的一个或多个测量值的装置。一些传感器110检测车辆102的内部状态,例如车轮转速、车轮取向以及发动机和变速器变量。一些传感器110检测车辆102的位置或取向,例如全球定位系统100(GPS)或全球导航卫星系统100(GNSS)传感器110;加速度计,诸如压电或微机电系统100(MEMS);陀螺仪,诸如速率陀螺仪、环形激光器陀螺仪或光纤陀螺仪;惯性测量单元(IMU);以及磁力计。一些传感器110检测外部世界,例如雷达传感器110、扫描激光测距仪、光探测和测距(激光雷达)装置以及图像处理传感器110(诸如,相机)。激光雷达装置例如通过发射激光脉冲并测量脉冲行进到对象并且返回的飞行时间来检测与对象的距离。一些传感器110是通信装置,例如车辆对基础设施(V2I)或车辆对车辆(V2V)装置。传感器110的操作可能会受到遮挡物(例如灰尘、雪、昆虫等)的影响。通常但不一定,传感器110包括数模转换器以将感测到的模拟数据转换成数字信号,所述数字信号可以例如经由网络提供给数字计算机。
传感器110可以包括各种装置,并且可以被设置成以各种方式感测环境、提供关于机器的数据等。例如,传感器110可以安装到道路302上、上方或附近的固定基础设施元件,并且传感器110数据可以经由中央计算机或其他机构无线地且实时地或近实时地提供给车辆102。此外,车辆102中的各种ECU 104可以充当传感器110以经由车辆网络114或总线提供数据,例如与车辆102速度、加速度、位置、子系统和/或部件状态等有关的数据。此外,车辆102中或上的其他传感器110、固定基础设施元件等基础设施可以包括相机、短程雷达、远程雷达、激光雷达和/或超声换能器、重量传感器110、加速度计、运动检测器等,即,提供各种数据的传感器110。仅提供几个非限制性示例,传感器110数据可以包括用于确定部件的位置、对象的位置、对象的速度、对象的类型、道路的坡度、温度、水分的存在或量、燃料水平、数据速率等的数据。
计算机106和/或ECU 104可以被配置用于经由车辆102对车辆102通信模块112或接口与车辆102外部的装置通信,例如,通过到另一车辆102、到基础设施元件(通常经由直接射频通信)和/或到(通常经由网络)远程服务器的车辆102对车辆102(V2V)、车辆对基础设施或外界(V2X)或车辆对外界(包括蜂窝通信C-V2X、无线通信蜂窝、DSRC等)。模块可以包括车辆102的计算机可以借以通信的一种或多种机制,包括无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何期望组合以及任何期望网络拓扑(或者当利用多种通信机制时的多个拓扑)。经由模块提供的示例性通信可以包括蜂窝、蓝牙、IEEE 802.11、专用短程通信(DSRC)、蜂窝V2X(CV2X)等。
车辆网络114是经由其可以在车辆102中的各种装置之间交换消息的数字网络。计算机一般可以被编程为经由车辆网络114向车辆102中的其他装置(例如,ECU 104、传感器110、致动器、部件、通信模块、人机界面(HMI)108等中的任一者或全部)发送消息和/或从其接收消息。另外或替代地,消息可以经由车辆网络114在车辆102中的各种这样的其他装置之间交换。
在一些实施方式中,车辆网络114可以是其中经由车辆102通信总线传达消息的网络。例如,车辆网络114可包括其中经由控制器局域网(CAN)总线传达消息的CAN,或者其中经由局域互连网(LIN)总线传达消息的LIN。在一些实施方式中,车辆网络114可以包括其中使用其他有线通信技术和/或无线通信技术(例如,以太网、WiFi、蓝牙等)传达消息的网络。在一些实施方式中,可以用于通过车辆网络114进行通信的协议的附加示例包括但不限于面向媒体的系统传输(MOST)、时间触发协议(TTP)和FlexRay。
在一些实施方式中,车辆网络114可以表示支持车辆102中装置之间通信的可能是不同类型的多个网络的组合。例如,车辆网络114可以包括:CAN,其中车辆102中的一些装置经由CAN总线进行通信;以及有线或无线局域网,其中车辆102中的一些装置根据以太网或Wi-Fi通信协议进行通信。
计算机可以被编程为经由广域网116与一个或多个远程站点(诸如中央服务器118)通信。广域网116可以包括车辆102计算机与例如远程中央服务器118、一个或多个RSU120等通信可以借助的一种或多种机制。因此,网络可以包括各种有线或无线通信机制中的一种或多种,包括有线(例如,电缆和光纤)和/或无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何期望组合以及任何期望的网络拓扑(或者当利用多种通信机制时的多个拓扑)。示例性通信网络包括提供数据通信服务的无线通信网络,例如使用蓝牙、蓝牙低功耗(BLE)、IEEE 802.11、车辆对车辆(V2V)或车辆102对外界(V2X)(诸如蜂窝V2X(CV2X)、专用短程通信DSRC等)、局域网(LAN)和/或包括互联网的广域网116(WAN)。
中央服务器118是诸如上面所解释的在车辆102外部的计算装置。系统100可以包括多个中央服务器118。例如,中央服务器118在地理上可以是远程的,例如在数据中心中。替代地或另外,中央服务器118可以包括在一个或多个路边基础设施单元(即,RSU 120等)中或通信地耦合到所述一个或多个路边基础设施单元,以处理和/或提供来自包括在RSU120上的传感器的数据。此外,尽管未示出以避免不必要的复杂说明,但是除了具有处理器和存储器的计算装置以及一个或多个传感器110之外,RSU 120还可以包括通信接口以提供与车辆102、中央服务器118和/或其他RSU 120的无线通信,例如,根据蓝牙、IEEE 802.11、V2V、V2X、CV2X通信等。
图2示出了可以包括在车辆102中的定位子系统200。如图所示,定位计算机106可以从多个相应的定位数据源202接收输入。例如,可以将来自一个或多个定位数据源202的数据提供给包括在定位计算机106中的一个或多个定位数据聚合器204。聚合器204可以各自从数据源202中的一个或多个接收定位数据作为输入,然后可以聚合或组合要提供给包括在定位计算机106中的一个或多个数据分析器的数据。分析器继而可以向置信度估计器和/或一个或多个数据容器210提供输出。相应的数据容器210提供针对一个或多个车辆102应用程序212指定的相应格式的定位数据。
定位数据源202中的相应定位数据源可以属于多种类型的定位数据源202中的一种。定位数据源202的类型(即,定位数据的类型)意指定位数据的形式和/或获得所述定位数据所借助的介质。定位数据的类型的示例包括:地图数据;外部数据,例如来自RSU 120;传感器110数据,包括GPS传感器110数据、速度数据、惯性跟踪器数据、超声数据、雷达数据、激光雷达数据和/或光学相机数据;位置校正数据;位置坐标数据;和/或车辆通信网络数据等。
在本上下文中,地图数据是存储在可由车辆102中的定位计算机106和/或ECU 104访问的存储器中的数据。地图数据可以包括指定对应于位置的特征的数据,例如,指定道路302边缘或边界308、车道等,使得计算机可以确定位置坐标是否在道路302表面、路肩等上。地图数据还可以包括指定诸如建筑物、公园、桥等地标及其相应位置的数据。地图数据通常可从诸如Google LLC、Apple Inc.、HERE International B.V.等各种提供商获得。
外部定位数据是在车辆ECU 104和/或定位计算机106中从车辆102外部的定位数据源202获得的定位数据。外部定位数据通常例如通过某种形式的V2X通信无线地获得。例如,可以经由包括在通信模块112中的V2X接口(诸如所谓的PC5接口)从RSU 120接收外部定位数据。如上所述,RSU 120可以提供来自与RSU 120相关联的传感器的数据。RSU 120还可以提供关于其位置的数据、关于从车辆102接收的信号强度的数据等。在另一个示例中,外部定位数据可以包括信号相位和定时(SPaT)数据。
如上所述,车辆102传感器110数据可以包括来自车辆102中所包括的各种类型的传感器110(即,经由各种感测介质获得数据的传感器110)的数据。例如,车辆102传感器110数据可以是来自诸如光学相机、激光雷达、雷达等成像装置的图像数据。图像数据可以用于确定关于车辆102的一个或多个传感器110的一个或多个视野中的一个或多个对象的定位数据。例如,图像数据可以用于确定对象距车辆102的距离、对象的姿态(例如,三维姿态给出具有六个自由度的取向)、对象相对于车辆102的方向或坐标等。如将理解的,可以采用各种技术来解释来自车辆102传感器110的一组或多组图像数据或者一种或多种类型的图像数据和/或将它们融合。
位置校正数据是关于车辆102距具有指定位置的静止对象的距离的数据,诸如定位计算机106的计算装置可以使用所述数据来调整或校正(例如,比其他可能的情况下更精细地呈现)位置数据(诸如GPS坐标数据)。位置校正数据的示例包括实时动态(RTK)定位数据、超宽带(UWB)数据、蓝牙低功耗(BLE)数据、RF(射频)定位数据、根据海事无线电技术委员会(RTCM)协议的数据等,它们使用诸如飞行时间的技术来确定车辆102距具有已知坐标的静止对象或标记的距离,然后校正或调整由例如GPS数据指定的车辆102的位置。
定位数据源202的类型的进一步示例是车辆网络114数据。例如,车辆网络114上可用的数据(诸如车轮转速数据、里程表数据、转向角数据等)通常可以用于结合其他定位数据来确定车辆102位置。
聚合器204包括编程以从通常为相同类型的一个或多个数据源202接收数据,然后将数据融合技术应用于接收到的数据,即,根据定位数据的类型组合定位数据,即,聚合器204组合相同类型的定位数据。例如,对于来自车辆102传感器110的数据,聚合器204可以包括实施用于融合来自不同传感器110的数据的任何合适的算法的编程。例如,聚合器204可以从相机、激光雷达和雷达接收数据,所述数据可以用于车辆102定位,例如,用于识别车辆102距对象的距离、车辆102在道路上的位置等。因此,聚合器204可以将各种定位数据输出到一个或多个定位算法206。
例如,聚合器204可以输出对象的分类和对象相对于车辆102的位置、车辆102的位置、车辆102在其上行驶的道路302的标识符、车辆102正在其上行驶的道路302车道的标识符等。虽然预期未来可能开发用于融合或聚合定位数据的各种技术,但是应理解可以使用各种现有技术。例如,可以训练诸如深度神经网络(DNN)的机器学习程序来接受来自相同类型的各种源(例如,来自传感器110数据源202)的数据作为输入,并且组合或使用来自这些不同源的数据以输出一个或多个定位数据。举另一个示例,可以训练机器学习程序以接受来自车辆102的V2X消息源的定位数据作为输入以输出一个或多个定位数据。因此,聚合器204可以包括用于选择一个或多个定位数据源202的程序指令,包括选择从机器学习程序输出的定位数据源202,所述机器学习程序接收用于以下两者的标识符作为输入:(a)可在车辆网络114上访问的定位数据源202,以及(b)请求定位数据的活动应用程序212。使用先前从定位数据源202收集的定位数据来训练这种机器学习程序。
表1中示出了聚合器204的进一步示例、它们可以聚合的数据类型以及可以由聚合器204输出的数据。
表1
定位算法206可以组合来自聚合器204的输出,并且可以确定将哪些定位数据输出存储在定位计算机106的存储器中以供一个或多个容器210使用。此外,定位算法206包括用于确定要实例化以接收定位数据的一个或多个容器210的编程。
定位计算机106可以包括一个或多个定位算法206,并且至少包括主定位算法206,所述主定位算法通常在车辆102的点火装置从关断状态转变为接通状态时在定位计算机106中实例化。主定位算法206包括诸如可以包括在所谓的启动加载程序或引导程序中的编程,所述启动加载程序或引导程序检测定位计算机106的操作系统100,然后动态地编译用于一个或多个定位算法206的程序指令。此外,专用于相应的应用程序212的主定位算法206和/或定位算法206可以包括编程以确定何时可以为相应的应用程序212请求定位数据、相应地实例化容器210、以及在不需要容器210时停用所述容器或使其置于睡眠模式(即,去实例化)。
一个或多个定位算法206可以从一个或多个并且通常是两个或更多个聚合器204接收数据。因此,被提供来输出车辆102的位置的定位数据源202的类型可以包括地图数据、V2X数据、车辆102传感器110数据或车辆102位置数据中的两者或更多者。定位算法206从融合相应数据源202类型的数据的多个聚合器204接收定位数据,并且向编排器208输出作为融合来自多个聚合器204的定位数据的结果的进一步定位数据。也就是说,定位算法206可以执行数据融合程序,所述数据融合程序接收组合的定位数据作为输入并输出车辆102位置和/或其他定位数据。
例如,定位算法206可以输出对车辆102的未来路径和/或轨迹的估计和/或预测。车辆102的未来路径意指对车辆102在一个或多个未来时刻的一个或多个位置的预计。车辆102的未来轨迹意指未来路径,并且还包括关于车辆102速度的数据,并且还可能包括其此时的航向。车辆102的路径估计(或估计路径)意指基于当前车辆102路径(即,车辆102从预定的过去时刻(例如,30秒前、60秒前等)直到当前时刻的路径)确定的未来路径。车辆102的路径预测(或预测路径)是指基于车辆102的路径历史(即,基于车辆102在类似于当前路径的先前驾驶路径上的操纵的历史)确定的未来路径。类似地,轨迹估计和预测可以包括在定位数据中。可以使用用于估计和/或预测路径的各种现有技术,和/或可以在未来开发技术。
在定位算法206中,定位子系统200通常还包括编程以确定定位数据的置信度并至少部分地基于所确定的置信度来确定是否向编排器208提供定位数据以提供给一个或多个容器210。如上所述,定位算法206可以例如基于经由车辆网络114接收的数据来确定一个或多个应用程序212需要(或可能需要)某些定位数据。然后,定位算法206可以确定数据是否可以从一个或多个聚合器204获得并在必要的置信度水平下(即,高于某个阈值的置信度(例如,在零到一的标度上))提供给编排器208,或表示为一个或多个应用程序212的百分比。除了确定定位数据的置信度之外,算法模块还可以确定一个或多个定位数据的服务质量(QoS)水平。QoS水平可以包括诸如分组丢失、比特率、吞吐量、传输延迟、可用性、抖动等的度量。可以使用用于确定置信度和/或QoS水平的各种现有技术,和/或将来可以开发技术。例如,用于估计或预测路径的技术可以包括航迹推算技术,包括卡尔曼滤波、动态数据协调、扩展卡尔曼滤波等。用于确定QoS水平的技术的示例包括使用调度、流量整形、准入控制和资源预留算法等。
定位算法206还可以包括用于确定应用程序212所请求的数据的定位水平的编程。在本文件的上下文中,定位水平是其描述定位数据的地理区域的粒度或特异性的规范。在一个示例中,定位水平可以是车道水平或道路水平。例如,定位算法206可以例如以查找表等的形式检索存储在可由定位计算机106访问的存储器中的针对相应的应用程序212指定在车道水平或道路水平是否需要定位数据的数据。例如,交通灯306信息(TLI)应用程序212可能需要道路水平定位数据,诸如道路302路段标识符、车道段标识符、所连接的十字路口304属性(即,十字路口304中是否包括经由V2X通信提供数据的RSU 120)、交通信号属性(例如,信号相位和定时(SPAT)数据)等。
在一个示例性实施方式中,可以训练机器学习程序来确定置信度水平和QoS的值是否适用于相应的应用程序212。例如,可以利用来自在操作车辆102时获取的数据的输入来训练机器学习程序,并且根据所述数据是否适用于一个或多个相应的应用程序212来标记数据。下面的表2提供了应用程序212、置信度和QoS输出以及然后是否可以将定位数据提供给相应的应用程序212(即,“传递”)的示例。
应用程序 | 置信度 | QoS | 传递? |
HMI显示器 | ~99% | 10/10 | 是 |
紧急电子制动灯(EEBL) | ~50% | 3/10 | 否 |
绿灯最佳速度建议(GLOSA) | ~75% | 8/10 | 是 |
全球位置编号(GLN) | ~75% | 8/10 | 是 |
巡航控制 | ~99% | 9.9/10 | 是 |
车道保持辅助 | ~95% | 2/10 | 否 |
路径规划 | ~99% | 9.9/10 | 是 |
通行费支付 | ~95% | 3/10 | 否 |
交通灯信息(TLI) | ~95% | 5/10 | 否 |
停车管理程序 | ~98% | 9.8/10 | 是 |
电动车辆充电管理程序 | ~99% | 9.9/10 | 是 |
避撞(警告) | ~95% | 9.5/10 | 是 |
表2
编排器208可以从一个或多个聚合器204接收定位数据。编排器208可以用可用于构建、部署和管理容器210的各种可用平台来实施,包括由美国加利福尼亚州帕洛阿尔托的Docker公司提供的Docker Engine;在于Kubernetes.io提交时描述的Kubernetes;由Amazon Web Services公司提供的在于https://aws.amazon.com/fargate处提交时描述的Fargate;或由北卡罗来纳州罗利的Red Hat公司提供的在于https://www.redhat.com/en/technologies/cloud-computing/openshift处提交时描述的OpenShift。基于由一个或多个聚合器204提供的经融合的定位数据,编排器208可以确定实例化一个或多个容器210以支持来自车辆102中的一个或多个应用程序212的定位数据请求。编排器208包括编程以在车辆网络114上出现点火装置接通信号时执行初始化例程,其中初始化例程包括编译指令以允许编排器208从选定的定位数据源202请求和接收数据。可以基于定位计算机106(例如,X86-64(由美国加利福尼亚州圣克拉拉的Advanced Micro Devices公司和美国加利福尼亚州圣克拉拉的Intel Corp.公司实施)、Arm CPU(由英国剑桥的Arm Limited公司出售)等)检测到的指令集来对指令进行编译。在一些实施方式中,编排器208中所包括的程序指令包括用于识别初始化例程所需的最小数量的定位数据源202的指令。
编排器208可以接收或检测用于向一个或多个车辆102应用程序212提供定位数据的触发,然后可以实例化一个或多个容器210以提供定位数据。在本上下文中,触发是编排器208被编程为识别其为特定应用程序212应接收定位数据的指示的数据。触发的一个示例是对应用程序212接收定位数据的请求,例如从在车辆ECU 104上执行的应用程序212发送到定位计算机106的请求。经由网络接口连接到车辆网络114的ECU 104可以包括编程以执行应用程序212,其包括用于在为应用程序212保证定位数据时生成触发的指令。ECU 104还可以被编程为执行应用程序212,其进一步包括用于基于不存在触发来提供输出的指令。[**WHEN?]
触发的另一个示例可以是车辆102的位置。例如,可以将由GPS传感器110指示的地理坐标与存储的地图数据进行比较,并且定位计算机106可以执行指令以确定地理坐标是否指示车辆102在由地图数据指示并且进一步与应用程序212对定位数据的需要或可能的需要相关联的地标等的距离内。例如,如果确定车辆102在具有交通灯306的十字路口304的指定距离(例如,半公里)内,则编排器208可以执行编程以实例化或激活容器210以将定位数据提供给TLI应用程序212。在另一个示例中,如果确定车辆102在具有交通灯306的十字路口304的指定距离(例如,半公里)内,则编排器208可以执行编程以实例化或激活容器210以将定位数据提供给通行费支付应用程序212。如下面进一步描述的,定位计算机106可以存储或可以例如从存储的地图数据访问一个或多个边界308,所述一个或多个边界可以用于为应用程序212接收定位数据提供触发,例如,当车辆102在边界308的距离内或者在所述边界处或经过所述边界时,例如,当车辆102在为道路302的十字路口304指定的边界308的距离内时,触发可能发生。
编排器208可以并且通常确实接收用于一次向多于一个应用程序212提供定位数据的指令。因此,编排器208还可以包括用于进行以下操作的程序指令:接收向第一车辆102应用程序212提供定位数据的第一触发,并且还接收同时向第二车辆102应用程序212提供定位数据的第二触发,所述第二车辆应用程序是接收定位数据的多个车辆102应用程序212中的一个。基于第二触发,编排器208还可以将定位子系统200中(例如,定位计算机106中)的资源(至少包括处理器或存储器中的一者中的资源)分配给第二数据容器210,所述第二数据容器提供为第二车辆102应用程序212指定的第二格式的定位数据并且是系统100中所包括的多个数据容器210中的一个。然后,第二容器210可以在从第二应用程序212接收到位置请求时向第二车辆102应用程序212提供第二格式的定位数据。
如上所述,车辆102应用程序212包括例如设置在各种车辆102ECU 104中的各种相应的程序指令集。一些车辆102应用程序212可以经由车辆102HMI 108提供信息,而其他车辆102应用程序212可以另外或替代地向ECU 104提供数据以控制车辆102的操作,例如,制动、推进或转向中的一者或多者。车辆应用程序212的示例包括紧急电子制动灯(EEBL)子系统、绿灯最佳速度建议(GLOSA)、全球位置编号(GLN)、巡航控制、车道保持辅助、路径规划、通行费支付、交通灯306信息、停车、电动车辆102充电以及避撞,仅举数例。此外,定位计算机106可以包括编程以向车辆102中的人机界面(HMI)提供活动的车辆102应用程序212中的至少一个的标识,并且此外,HMI108另外可以接受指定一个或多个应用程序212的一个或多个优先级的用户输入。
一旦容器210已经被实例化或激活,即,编排器208在接收到触发之后已经为容器210分配了资源,诸如处理容量和存储器,容器210已经被激活的一个或多个应用程序212就可以请求定位数据(即,可以发出“位置请求”)。在一些实施方式中,在确定对定位请求做出响应时,编排器208可以考虑针对请求应用程序212指定的服务质量和/或置信度水平。例如,如果服务质量和/或置信度水平不满足或超过相应的服务质量或置信度水平阈值,则编排器208或容器210可以执行编程以不回复位置请求或者以指定数据不可用和/或不满足一个或多个阈值的消息来回复位置请求。此外,在由于服务质量和/或置信度水平而无法履行位置请求的情况下,编排器208还可以包括用于进行以下操作的指令:将位置请求的记录以及通常指示未履行位置请求的一个或多个原因存储在电子账本(诸如区块链)中。电子账本可以包括车辆102或通常多个车辆102中以及一个或多个中央服务器118中的节点,以允许分析无法履行定位请求的情况。也就是说,电子账本可以是在定位子系统200与至少一个第二计算装置(诸如中央服务器118)之间共享的分布式电子账本,例如区块链。
编排器208可以经由相应的容器210向应用程序212提供定位数据,所述定位数据包括特定的定位数据和/或呈针对相应的应用程序212的特定格式。在一个示例中,可以提供容器210以提供特定格式的特定定位数据,并且可以由利用定位数据和特定格式的多个应用程序212访问。
因此,编排器208可以存储和访问提供给车辆102应用程序212的定位数据和定位数据的格式。此外,编排器208可以存储定位数据和提供指定格式的定位数据的第一数据容器210的标识符。在本上下文中,格式意指所提供的多个数据,以及每个数据的可能值的类型和/或范围。表3中示出了可以从容器210提供的定位数据的示例性格式:
表3
如上所述,编排器208可以对可以提供容器210的各种应用程序212进行优先级排序。例如,可以基于利用活动车辆应用程序212的车辆102操作来向相应的活动车辆应用程序212分配应用程序212优先级。此外,编排器208可以包括用于进行以下操作的指令:基于需要相应的定位数据源202的一个或多个活动车辆应用程序212的一个或多个应用程序212优先级来将数据源202优先级分配给相应的定位数据源202。例如,关于分配给相应的应用程序212的优先级的数据可以存储在包括在定位计算机106中或以其他方式可由所述定位计算机访问的查找表等中。
因此,编排器208可以至少部分地通过将第一应用程序212的优先级与第二应用程序212的优先级进行比较来分配系统100中(例如,定位计算机106中)的资源。例如,第一应用程序212与第二应用程序212之间的优先级以及因此用于相应的应用程序212的第一和第二容器210之间的资源分配可以通过车辆102位置和/或物理状态来确定。车辆102的物理状态可以包括如上所述的各种属性,诸如车辆102速度、加速度、横摆或距车辆102外部的对象的距离中的至少一者。替代地或另外,可以基于应用程序212的当前状态来确定优先级,所述当前状态例如:活动的,其意指应用程序当前正在被使用;或者非活动的,其意指应用程序处于待命模式或可供使用但当前不在使用中。进一步替代地或另外,某些应用程序212的相应优先级可以是静态的,例如,存储在可由计算机106访问的存储器中,并且无论车辆位置和/或物理状态如何,都被分配给应用程序212。下面的表4提供了确定应用程序212的优先级的示例。“动态更新器”列给出了其优先级可以或无法动态更新的应用程序212的示例,包括其动态更新能力可以基于车辆位置和/或物理状态改变的应用程序212的两个示例。
表4
图3示出了示例性交通场景300。具体地,所示的交通场景300包括两条道路302和道路302的十字路口304。十字路口304包括交通灯306,所述交通灯可以调节包括在十字路口304处和通过所述十字路口的车辆102的交通流量。当主车辆102接近(并且然后,尽管在图3中未示出,然后行进通过)十字路口304时,定位数据可以帮助主车辆102中的定位计算机106确定各种车辆102操作。例如,定位数据可以包括对车辆102正在其上行驶的道路302、车辆102正在其内行驶的道路302的车道以及车辆102相对于其他对象(诸如交通灯306、其他车辆102等)的位置的确定。如上所述,一个或多个边界308可以针对诸如十字路口304的区域进行定义以触发用于一个或多个应用程序212的定位数据。例如,当图3的车辆102接近边界308时,车辆102中的定位计算机106可以确定TLI应用程序212的触发。
图4A和图4B共同示出了用于在车辆102中提供定位数据的示例性过程400。
过程400可以在框402中开始,其中车辆102从点火装置关断状态转变为点火装置接通状态。
接下来,在框404中,由于定位计算机106检测到转变为点火装置接通状态,因此定位计算机106通过开始执行主定位算法206来初始化定位子系统200。例如,如上所述,主定位算法206可以动态地编译用于在定位计算机106的操作系统100上执行的程序指令。
接下来,在框406中,当车辆102操作(例如,在道路上行驶、保持停车并处于点火装置接通状态等)时,包括在定位子系统200中的聚合器204如上所述捕获并聚合定位数据。
接下来,在框408中,编排器208确定是否已经检测到对应用程序212接收定位数据的触发。如图4A和图4B中可见,过程400可以循环回到框406及其后续框。因此,过程400可以在已经检测到对应用程序212的触发、并且容器210已经被实例化和初始化并且已经向和/或正在向应用程序212提供定位数据之后到达框408。在这种情况下,在框408中,编排器208可以确定先前检测到的触发是否保持有效。例如,如果对TLI应用程序212的触发是距十字路口304(或十字路口304周围的边界308)的距离,则编排器208可以确定车辆102是否仍在距十字路口304的距离内。在任何情况下,如果检测到对应用程序212的触发,则接下来执行框410。否则,过程400返回到框406。
在框410中,编排器208确定与框408的触发相关联的应用程序212是否满足优先级阈值(即,基于用于向应用程序212提供定位数据的可用资源)、应用程序212是否具有相对于可以请求定位数据的其他应用程序212的足够优先级。如果可用资源足以使容器210向触发的应用程序212提供定位数据,则框410的确定可以为是。替代地或另外,如果触发的应用程序212具有比其他触发的应用程序212更高的优先级(例如,如上所述和/或根据查找表等确定的),则同样地,框410的确定可以为是。如果应用程序212没有足够的优先级,则框410的确定为否,并且过程400返回到框406。如果框410的确定为是,则接下来执行框412。
在框412中,编排器208确定是否需要实例化和/或初始化框408的被触发的应用程序212的容器210。例如,用于触发的应用程序212的容器210可能已经在过程400的先前迭代中被实例化和/或初始化。如果确实需要初始化容器210,则接下来执行框414。否则,过程400前进到框418。
在框414中,编排器208确定应用程序212将在其内或越过其时接收定位数据的边界308,即地理位置。在一些示例中,应用程序212的边界308可以是未定义的,即,只要车辆102点火装置处于接通状态,应用程序212就可以被指定为接收定位数据,而不管地理位置如何。然而,通常,应用程序212在应用程序212可以在其内使用定位数据的一个或多个边界308内接收定位数据。例如,TLI应用程序212可以在根据十字路口304周围的半径或正方形确定的边界308内接收定位数据。在另一个示例中,当车辆102在多车道道路302上时,车道保持应用程序212可以接收定位数据。
接下来,在框416中,过程400针对在框408中触发的应用程序212初始化容器210。
在可以在框412、416中的任一者之后的框418中,编排器208确定车辆102是否在针对在框408中触发的应用程序212指定的边界308内。如果否,则过程400前进到框420。如果是,则过程400前进到框424。
在不满足触发的应用程序212的边界308(即,车辆102不在用于向应用程序212提供定位数据的边界308内)时到达的框420中,编排器208可以确定是否保持被实例化以向应用程序212提供定位数据的容器210。在一个示例中,触发可以指定在车辆102在边界308内之前生成容器210以为应用程序212提供定位数据,即,在预期或准备车辆102在应用程序212应在其内接收定位数据的边界308内时。在该示例中,编排器208可以基于车辆102接近应用程序212接收定位数据的入口边界308来确定维护容器210。另一方面,如果车辆102已经通过限定应用程序212应在其中接收定位数据的区域的出口边界308,则编排器208可以确定停用容器210。如果要维护容器210,则过程400从框420返回到框406。如果要停用容器210,则过程400前进到框422。
在框422中,停用容器210。然后,过程400返回到框406。
在框424中,定位算法206响应于应用程序212请求而向编排器208输出定位数据以及置信度水平和服务质量(QoS)水平。过程400然后前进到框426。
在框426中,编排器208确定服务质量和置信度水平对于请求应用程序212是否足够。如果是,则过程400前进到框444。如果否,则过程400前进到框440。
在框440中,编排器208例如经由车辆网络114输出所请求的数据不可用的消息,所述消息可以由请求应用程序212接收。在一些情况下,可以在车辆102的HMI 108上显示所请求的数据不可用的消息。
在框440之后,在框442中,编排器208可以将来自应用程序212的数据记录请求、定位数据的值以及服务质量和置信度水平的值写入电子账本(诸如上述区块链)中。如上所述,电子账本可以分布在一个或多个车辆102与一个或多个远程计算机(诸如中央服务器118)之间。在框442之后,过程400前进到框446。
在可以在框426之后的框444中,编排器208将定位数据输出到被触发的应用程序212的容器210,所述容器然后接收数据。然后,定位数据可以在车辆102操作中用于应用程序212。
在可以在框442、444中的任一者之后的框446中,定位子系统200可以确定是否继续操作。例如,如果在车辆网络114上接收到车辆102点火装置关断信号或消息,则定位子系统200可以确定不继续,并且过程400结束。在没有这种确定不继续的情况下,过程400返回到框406。
计算机可执行指令可以由使用各种编程语言和/或技术创建的计算机程序来编译或解译,所述编程语言和/或技术单独地或组合地包括但不限于Java、C、C、Visual Basic、Java Script、Perl、HTML等。通常,处理器(例如,微处理器)例如从存储器、计算机可读介质等接收指令,并且执行这些指令,由此执行一个或多个过程,其包括本文所述的过程中的一者或多者。此类指令和其他数据可使用各种计算机可读介质来存储和传输。联网装置中的文件通常是存储在计算机可读介质(诸如存储介质、随机存取存储器等)上的数据的集合。计算机可读介质包括参与提供可以由计算机读取的数据(例如,指令)的任何介质。此类介质可采用许多形式,包括但不限于非易失性介质和易失性介质。指令可通过一种或多种传输介质来传输,所述一种或多种传输介质包括光纤、线、无线通信,包括构成耦合到计算机的处理器的系统总线的内部件。常见形式的计算机可读介质包括例如RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储器芯片或盒式磁带、或计算机可从中读取的任何其他介质。
本文中“响应于”、“基于”和“在确定……时”的使用指示因果关系,而不仅仅是时间关系。形容词“第一”和“第二”贯穿本文档用作标识符,并且除非另有明确说明,不意图表示重要性、顺序或数量。术语“示例性”在本文中以表示示例的意义使用,例如,对“示例性小部件”的引用应被解读为仅指代小部件的示例。
已经以说明性方式描述了本公开,并且应理解,已经使用的术语意图是描述性的词语的性质,而不是限制性的。鉴于以上教导,本公开的许多修改和变化是可能的,并且本公开可以不同于具体描述的其他方式来实践。
附录-V2X消息
MAP:地图数据消息用于传达许多类型的地理道路信息。例如,目前,其主要用途是在单个消息内传达一个或多个十字路口车道几何形状地图。地图消息内容包括诸如复杂的十字路口描述、路段描述、高速弯道轮廓(在弯道消息中使用)和道路路段(在一些应用中使用)等项。给定的单个地图数据消息可以传达对一个或多个地理区域或十字路口的描述。
SPaT:信号相位和定时(SPaT)消息提供一个或多个信号十字路口的当前状态。SPaT消息根据需要发送系统中的每个活动阶段的当前移动状态(例如,灯信号状态)(诸如哪些状态是活动的值以及状态已经开始/最早开始、被预期为最有可能开始并且最晚结束的时间的值)。
TIM:旅行者信息消息(TIM)用于向配备的装置发送各种类型的信息(建议和道路标志类型)。其大量使用ITIS(国际旅行者信息系统)编码系统(参见汽车工程师协会标准SAE J2540)来发送众所周知的短语,但允许发送的本地地名的文本有限。所支持的消息类型指定了ITIS短语模式的若干子方言,以进一步减少要发送的八位字节的数量。所表达的消息在精确的开始和持续时间段内是活动的,其可以被指定为一分钟的分辨率。
RTCM:RTCM校正消息用于封装由RTCM(海事服务无线电技术委员会)特别委员会号104在其各种标准中定义的GPS和其他无线电导航信号的RTCM差分校正。这些消息被“包装”以在V2X媒体上传输,然后可以重构回由RTCM标准定义的最终预期格式,并由各种定位系统直接使用以增加产生的绝对和相对准确度估计。
WSA:车辆环境中的无线接入(WAVE)服务广告(WSA)是包括更高层服务示例、RTCM、MAP、SPaT等的可用性的通知的数据结构。
SSM:信号状态消息(SSM)是由信号十字路口中的RSU发送的消息。其用于使信号的当前状态与由控制器确认的待处理或活动的抢占或优先级请求的集合相关。其还用于发送关于被拒绝的抢占或优先级请求的信息。这继而允许任何请求者与信号控制器之间的对话确认机制。该消息中包含的数据允许其他用户确定他们对他们发出的任何请求的“排名”以及查看当前活动的事件。当最近没有接收到对服务消息的请求时,可以不发送该消息。虽然可以在信号状态消息中找到对信号的所有未决请求的结果,但是当前活动事件(如果有的话)将反映在SPAT消息内容中。
BSM:基本安全消息(BSM)可以用于多种应用程序中以交换关于车辆状态的数据。根据应用程序的要求,该消息与数据内容一起频繁地广播到周围的车辆。
EVA:紧急车辆警报(EVA)消息用于向周围车辆广播警告消息:紧急车辆(例如,通常是某种类型的事故响应者)在附近操作并且需要更谨慎。消息本身建立在原始ATIS路边警报消息上,所述原始ATIS路边警报消息继而使用共同的ITIS短语列表来描述事件并为旅行者提供建议和推荐。紧急车辆警报消息将关于所涉及的车辆的总体类型的一些附加数据元素和其他有用数据附加到消息。注意,该消息可以由私人和公共响应车辆使用,并且每个响应车辆(以及安全证书)的相对优先级在应用层中确定。
PSM:个人安全消息(PSM)用于广播关于各种类型的弱势道路使用者(VRU)(诸如行人、骑车者或道路工人)的运动学状态的数据。
根据本发明,提供了一种用于车辆的系统,所述系统具有:可连接到车辆网络的网络接口;以及处理器和存储器,存储器存储可由处理器执行的指令,所述指令包括用于进行以下操作的指令:识别可在车辆网络上访问的多个定位数据源;识别请求由定位数据源中的一个或多个提供的定位数据的多个活动车辆应用程序;并且基于活动车辆应用程序来选择要组合以输出车辆位置的多个定位数据源。
根据实施例,定位数据源中的相应定位数据源属于多种类型的定位数据源中的一种。
根据实施例,定位数据源的类型包括地图数据、V2X数据、车辆传感器数据或车辆位置数据中的两者或更多者。
根据实施例,指令还包括用于进行以下操作的指令:根据定位数据源的类型来组合定位数据。
根据实施例,指令还包括用于进行以下操作的指令:执行数据融合程序,所述数据融合程序接收组合的定位数据作为输入并输出车辆位置。
根据实施例,用于选择定位数据源中的一个或多个的指令包括选择从机器学习程序输出的定位数据源,所述机器学习程序接收用于以下两者的标识符作为输入:(a)可在车辆网络上访问的定位数据源,以及(b)请求定位数据的活动应用程序。
根据实施例,使用先前从定位数据源收集的定位数据来训练机器学习程序。
根据实施例,指令还包括用于进行以下操作的指令:在车辆网络上出现点火装置接通信号时执行初始化例程,其中初始化例程包括编译指令以允许系统从选定的定位数据源请求和接收数据。
根据实施例,指令还包括用于进行以下操作的指令:识别初始化例程所需的最小数量的定位数据源。
根据实施例,指令还包括用于进行以下操作的指令:基于利用相应的活动车辆应用程序的车辆操作来向相应的活动车辆应用程序分配应用程序优先级。
根据实施例,指令还包括用于进行以下操作的指令:基于需要相应定位数据源的一个或多个活动车辆应用程序的一个或多个应用程序优先级来将数据源优先级分配给相应定位数据源。
根据实施例,活动车辆应用程序包括车辆人机界面(HMI)、紧急电子制动灯(EEBL)、绿灯最佳速度建议(GLOSA)、全球位置编号(GLN)、巡航控制、车道保持辅助、路径规划、通行费支付、交通灯306信息、停车、电动车辆充电或避撞中的至少一者。
根据实施例,指令还包括用于进行以下操作的指令:向车辆中的人机界面(HMI)提供活动车辆应用程序中的至少一个的标识。
根据本发明,一种方法包括:识别可在车辆中的车辆网络上访问的多个定位数据源;识别请求由定位数据源中的一个或多个提供的定位数据的多个活动车辆应用程序;以及基于活动车辆应用程序来选择要组合以输出车辆位置的多个定位数据源。
在本发明的一个方面,定位数据源中的相应定位数据源属于多种类型的定位数据源中的一种。
在本发明的一个方面,定位数据源的类型包括地图数据、V2X数据、车辆传感器数据或车辆位置数据中的两者或更多者。
在本发明的一个方面,所述方法包括根据定位数据源的类型来组合定位数据。
在本发明的一个方面,所述方法包括执行数据融合程序,所述数据融合程序接收组合的定位数据作为输入并输出车辆位置。
在本发明的一个方面,所述方法包括:基于利用相应的活动车辆应用程序的车辆操作来向相应的活动车辆应用程序分配应用程序优先级。
在本发明的一个方面,基于需要相应定位数据源的一个或多个活动车辆应用程序的一个或多个应用程序优先级来完成将数据源优先级分配给相应定位数据源。
Claims (15)
1.一种方法,其包括:
识别在车辆中的车辆网络上能够访问的多个定位数据源;
识别请求由所述定位数据源中的一个或多个提供的定位数据的多个活动车辆应用程序;以及
基于所述活动车辆应用程序选择要组合以输出车辆位置的多个所述定位数据源。
2.如权利要求1所述的方法,其中所述定位数据源中的相应定位数据源属于多种类型的定位数据源中的一种。
3.如权利要求2所述的方法,其中定位数据源的所述类型包括地图数据、V2X数据、车辆传感器数据或车辆位置数据中的两者或更多者。
4.如权利要求2所述的方法,其还包括根据定位数据源的所述类型来组合所述定位数据。
5.如权利要求2所述的方法,其还包括执行数据融合程序,所述数据融合程序接收所组合的定位数据作为输入并输出所述车辆位置。
6.如权利要求1所述的方法,其还包括基于利用相应的活动车辆应用程序的车辆操作来向所述相应的活动车辆应用程序分配应用程序优先级。
7.如权利要求1所述的方法,其中选择所述定位数据源中的一个或多个包括选择从机器学习程序输出的所述定位数据源,所述机器学习程序接收用于以下两者的标识符作为输入:(a)在所述车辆网络上能够访问的所述定位数据源,以及(b)请求所述定位数据的所述活动应用程序。
8.如权利要求7所述的方法,其中使用先前从所述定位数据源收集的定位数据来训练所述机器学习程序。
9.如权利要求1所述的方法,其还包括在所述车辆网络上出现点火装置接通信号时执行初始化例程,其中所述初始化例程包括编译指令以允许系统从所选定的定位数据源请求和接收数据。
10.如权利要求1所述的方法,其还包括基于利用相应的活动车辆应用程序的车辆操作来向所述相应的活动车辆应用程序分配应用程序优先级。
11.如权利要求10所述的方法,其中指令还包括用于进行以下操作的指令:基于需要相应定位数据源的一个或多个活动车辆应用程序的一个或多个应用程序优先级来将数据源优先级分配给所述相应定位数据源。
12.如权利要求1所述的方法,其中所述活动车辆应用程序包括车辆人机界面(HMI)、紧急电子制动灯(EEBL)、绿灯最佳速度建议(GLOSA)、全球位置编号(GLN)、巡航控制、车道保持辅助、路径规划、通行费支付、交通灯306信息、停车、电动车辆充电或避撞中的至少一者。
13.如权利要求1所述的方法,其还包括:向所述车辆中的人机界面(HMI)提供所述活动车辆应用程序中的至少一个的标识。
14.一种计算机,其被编程为执行权利要求1至13中任一项所述的方法。
15.一种车辆,其包括被编程为执行权利要求1至13中任一项所述的方法的计算机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/547,465 US20230182729A1 (en) | 2021-12-10 | 2021-12-10 | Vehicle localization |
US17/547,465 | 2021-12-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116255991A true CN116255991A (zh) | 2023-06-13 |
Family
ID=86498188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211555273.3A Pending CN116255991A (zh) | 2021-12-10 | 2022-12-06 | 车辆定位 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230182729A1 (zh) |
CN (1) | CN116255991A (zh) |
DE (1) | DE102022132385A1 (zh) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230027369A1 (en) * | 2021-07-26 | 2023-01-26 | Motional Ad Llc | Vehicle location using combined inputs of redundant localization pipelines |
-
2021
- 2021-12-10 US US17/547,465 patent/US20230182729A1/en active Pending
-
2022
- 2022-12-06 DE DE102022132385.4A patent/DE102022132385A1/de active Pending
- 2022-12-06 CN CN202211555273.3A patent/CN116255991A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230182729A1 (en) | 2023-06-15 |
DE102022132385A1 (de) | 2023-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111123933B (zh) | 车辆轨迹规划的方法、装置、智能驾驶域控制器和智能车 | |
US11814046B2 (en) | Estimating speed profiles | |
US11495131B2 (en) | Vehicle to vehicle safety messaging congestion control for platooning vehicles | |
US11334090B2 (en) | Method and system for determining autonomous vehicle (AV) action based on vehicle and edge sensor data | |
CN112102647B (zh) | 用于车辆微云的方法和系统 | |
US20240075927A1 (en) | Estimating speed profiles | |
US11970183B2 (en) | AV path planning with calibration information | |
US20220289198A1 (en) | Automated emergency braking system | |
CN114111819A (zh) | 使用路线信息的运载工具的轨迹规划 | |
KR20220102530A (ko) | 차량 경로 계획 | |
US11626012B2 (en) | Hierarchical integrated traffic management system for managing vehicles | |
CN116255973A (zh) | 车辆定位 | |
CN115240444B (zh) | 用于执行交通控制抢占的车辆和方法 | |
KR102562381B1 (ko) | 차량 호라이즌에서 오브젝트를 컨텍스트화 하기 위한 시스템 및 방법 | |
US20230080281A1 (en) | Precautionary observation zone for vehicle routing | |
US20230012196A1 (en) | Operating embedded traffic light system for autonomous vehicles | |
US20230182729A1 (en) | Vehicle localization | |
JP2018173800A (ja) | 自動走行制御装置 | |
EP4389551A1 (en) | A computer-implemented method for managing an operational design domain s expansion for an automated driving system | |
US20230406359A1 (en) | Collision imminent detection | |
US20240038069A1 (en) | Processing device, processing method, processing system, and storage medium | |
US20240036575A1 (en) | Processing device, processing method, processing system, storage medium | |
US20230391327A1 (en) | Maximum speed dependent parameter management for autonomous vehicles | |
EP4112411A1 (en) | Estimation of accident intensity for vehicles | |
US20240208541A1 (en) | Computer-implemented method for managing an operational design domain's expansion for an automated driving system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |