CN111860198A - 用于自主驾驶车辆adv的处理点云数据的方法、装置和系统、及计算机可读介质 - Google Patents
用于自主驾驶车辆adv的处理点云数据的方法、装置和系统、及计算机可读介质 Download PDFInfo
- Publication number
- CN111860198A CN111860198A CN202010598098.0A CN202010598098A CN111860198A CN 111860198 A CN111860198 A CN 111860198A CN 202010598098 A CN202010598098 A CN 202010598098A CN 111860198 A CN111860198 A CN 111860198A
- Authority
- CN
- China
- Prior art keywords
- data
- cloud data
- lidar sensor
- point
- sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012545 processing Methods 0.000 title claims abstract description 39
- 238000013479 data entry Methods 0.000 claims abstract description 22
- 230000015654 memory Effects 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims 1
- 230000004044 response Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 39
- 239000013598 vector Substances 0.000 description 39
- 230000008447 perception Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
- G01S13/865—Combination of radar systems with lidar systems
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4808—Evaluating distance, position or velocity data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/497—Means for monitoring or calibrating
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了用于自主驾驶车辆ADV的处理点云数据的方法、装置和系统、及计算机可读介质。在一个实施例中,在自主驾驶车辆中存储点云数据的示例性计算机实现方法可以包括如下操作:从被安装在自主驾驶车辆上的LiDAR传感器接收原始点云数据,原始点云数据表示响应于以给定角度发射的激光束而获取的云数据点;获得LiDAR传感器的配置信息,配置信息至少包括LiDAR传感器的激光线数量。方法还包括以下操作:基于配置信息,构造包括针对每个云数据点的数据条目的数据结构,数据条目包括用于存储云数据点的属性的多个字段,每个字段具有使用预定算法基于配置信息确定的位宽;以及使用数据结构将云数据点写入存储介质。
Description
技术领域
本公开的实施例总体上涉及自主车辆。更具体地,本公开的实施例涉及自主驾驶车辆中的点云数据的存储。
背景技术
以自主模式(例如,无人驾驶)操作的车辆可以减轻乘员(特别是驾驶员)某些与驾驶有关的责任。当以自主模式操作时,车辆可以使用车载传感器导航到各种位置,允许车辆以最少的人机交互、或者在某些情况下无需任何乘客而行进。
光检测和测距(LiDAR)传感器是重要的车载传感器,并且越来越多地用于自主驾驶车辆中。LiDAR传感器可以生成大量数据,需要有效地存储这些数据,以避免自主驾驶车辆中的宝贵存储空间的浪费。点云数据通常以多种点云数据(PCL)格式中的一种而被存储。然而,以这种格式存储的点云数据往往具有较大的大小。
先前减少点云数据大小的尝试包括使用无损或有损算法。这些算法不仅在硬件上实现是昂贵的,而且未能考虑传感器硬件的性能。这样,这样的算法可能提供不需要的数据存储精度,这导致自主驾驶车辆中的宝贵存储空间的浪费。
发明内容
本公开的实施例提供一种用于自主驾驶车辆(ADV)的处理点云数据的计算机实现方法,一种机器可读介质以及一种数据处理系统。
在本公开的第一方面,实施例提供了一种用于自主驾驶车辆(ADV)的处理点云数据的计算机实现方法包括:从被安装在ADV上的光检测和测距(LiDAR)传感器接收表示驾驶环境的云数据点的原始点云数据;基于LiDAR传感器的配置信息确定LiDAR传感器的类型;构造包括用于存储每个云数据点的数据条目的数据结构,其中数据条目包括一个或多个数据字段,每个数据字段被配置为具有基于LiDAR传感器的类型确定的位宽;以及将包含在数据结构中的云数据点写入存储介质,其中存储的云数据点被用来感知ADV周围的驾驶环境。
在本公开的第二方面,实施例提供了一种存储有指令的非暂时性机器可读介质,指令用于在自主驾驶车辆(ADV)中存储点云数据,指令在被处理器执行时使处理器执行根据第一方面的实施例的方法。
在本公开的第三方面,实施例提供了一种数据处理系统包括:处理器;以及连接到处理器的存储有指令的存储器,指令用于在自主驾驶车辆(ADV)中存储点云数据,指令在被处理器执行时使处理器执行根据第一方面的实施例的方法。
附图说明
在附图的图中以示例而非限制的方式示出本公开的实施例,在附图中,相似的附图标记指示相似的元件。
图1是示出根据一个实施例的联网系统的框图。
图2是示出根据一个实施例的自主车辆的示例的框图。
图3A-3B是示出根据一个实施例的与自主车辆一起使用的感知和规划系统的示例的框图。
图4是示出根据一个实施例的自主驾驶系统的架构的框图。
图5A和图5B是示出根据一个实施例的传感器单元的示例的框图。
图6示出根据一个实施例的用于存储点云数据的示例系统。
图7是示出根据一个实施例的存储点云数据的示例过程的数据流图。
图8A-8B示出根据一个实施例的示例点云数据存储格式。
图9是示出根据一个实施例的鉴于LiDAR传感器的激光线的示例数据组。
图10示出根据一个实施例的在自主驾驶车辆中存储点云数据的示例过程。
具体实施方式
将参考下面讨论的细节来描述本公开的各种实施例和方面,并且附图将示出各种实施例。以下描述和附图是本公开的说明,并且不应被解释为限制本公开。许多具体细节被描述以提供对本公开的各种实施例的全面理解。然而,在某些情况下,为了提供对本公开的实施例的简要讨论,没有描述公知的或常规的细节。
在说明书中对“一个实施例”或“实施例”的引用是指结合该实施例描述的特定特征、结构或特性可以被包含在本公开的至少一个实施例中。说明书中各个地方出现的短语“在一个实施例中”不一定都指相同的实施例。
在一个实施例中,在自主驾驶车辆中存储点云数据的示例性计算机实现方法可以包括以下操作:从被安装在自主驾驶车辆上的LiDAR传感器接收原始点云数据,原始点云数据表示响应于以给定角度发射的激光束而获取的云数据点;获得LiDAR传感器的配置信息,配置信息至少包括LiDAR传感器的激光线数量。方法还包括以下操作:基于配置信息,构造包括针对每个云数据点的数据条目的数据结构,数据条目包括用于存储云数据点的属性的多个字段,每个字段具有使用预定算法基于配置信息确定的位宽;以及使用数据结构将云数据点写入存储介质。
在一个实施例中,数据结构可以是用户定义的存储格式,其使用灵活的按位向量来存储来自被安装在自主驾驶车辆上的LiDAR传感器的原始点云数据。每个向量可以包括用于存储云数据点的属性的多个数据段。每个数据段可以存储一个云数据点的属性。向量还可以包括元数据段,元数据段存储待被向量中的数据段共享的公共信息。
在一个实施例中,向量的大小取决于LiDAR传感器的硬件性能,例如,测量精度以及最小和最大测量距离。可以基于LiDAR传感器的硬件性能动态调整每个数据段中的一个或多个字段的位宽。
可以对硬件处理单元进行编程以读取LiDAR传感器的硬件性能,并创建具有基于硬件性能确定的大小的向量。也可以基于硬件性能确定向量中的每个数据段中的一些字段的位宽。硬件处理单元可以将云数据点的属性存储在向量中,并将向量存储在存储介质中。当自主驾驶车辆的其他功能需要存储的云数据点时,硬件处理单元可以检索存储的云数据点并将其转换为标准点云数据格式。
在一个实施例中,存储在向量中的元数据段中的公共信息可以包括针对向量中的每个数据段的一个或多个字段的基准数据。例如,基准时间可以存储在元数据段中以被向量中的每个数据段共享。向量中的每个数据段可以仅存储相应云数据点的偏移时间。偏移时间可以与基准时间一起使用,以得出相应云数据点的实际获取时间戳。
在一个实施例中,可以将位级优化应用于每个数据段中的字段以减少存储空间。每个数据段中的一个或多个字段的位宽可以与LiDAR传感器的激光线数量成反比。LiDAR传感器的激光线数量越多,被用来存储LiDAR传感器的云数据点属性的一些字段的位宽则越窄。
自主驾驶车辆
图1是示出根据本公开的一个实施例的自主车辆网络配置的框图。参考图1,网络配置100包括可以通过网络102通信地连接到一个或多个服务器103-104的自主车辆101。尽管示出一个自主车辆,但是多个自主车辆可以通过网络102彼此连接和/或连接到服务器103-104。网络102可以是任何类型的网络,诸如局域网(LAN)、广域网(WAN)(诸如因特网、蜂窝网络、卫星网络的或其组合)、有线或无线的网络。服务器103-104可以是任何种类的服务器或服务器集群,诸如Web或云服务器、应用服务器、后端服务器或其组合。服务器103-104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器、或位置服务器等。
自主车辆是指可以被配置为处于自主模式的车辆,在自主模式下,车辆在驾驶员很少或没有输入的情况下导航通过环境。这种自主车辆可以包括具有一个或多个传感器的传感器系统,一个或多个传感器被配置为检测关于车辆在其中操作的环境的信息。车辆及其相关联的控制器使用检测的信息导航通过环境。自主车辆101可以在手动模式、完全自主模式或部分自主模式下操作。
在一个实施例中,自主车辆101包括但不限于感知和规划系统110、车辆控制系统111、无线通信系统112、用户接口系统113、信息娱乐系统114和传感器系统115。自主车辆101还可以包括包含在普通车辆中的某些通用组件,诸如发动机、车轮、方向盘、变速器等,其可以由车辆控制系统111和/或感知和规划系统110使用各种通信信号和/或命令来控制,诸如加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。
组件110-115可以经由互连、总线、网络或其组合彼此通信地连接。例如,组件110-115可以经由控制器局域网(CAN)总线彼此通信地连接。CAN总线是一种车辆总线标准,其被设计为允许微控制器和设备在没有主机的应用中彼此通信。它是一种基于消息的协议,最初是为汽车内的多路电气布线设计的,但也用于许多其他情况。
现在参考图2,在一个实施例中,传感器系统115包括但不限于一个或多个相机211、全球定位系统(GPS)单元212、惯性测量单元(IMU)213、雷达单元214、以及光检测和测距(LIDAR)单元215。GPS系统212可以包括收发器214,收发器214可操作以提供关于自主车辆的位置的信息。IMU单元213可以基于惯性加速度来感测自主车辆的位置和朝向的改变。雷达单元214可以表示利用无线电信号来感测在自主车辆的局部环境内的对象的系统。在一些实施例中,除了感测对象之外,雷达单元214可以附加地感测对象的速度和/或前进方向。LIDAR单元215可以使用激光感测自主车辆所处于的环境中的对象。LIDAR单元215可以包括一个或多个激光源、激光扫描仪以及一个或多个检测器、以及其他系统组件。相机211可以包括一个或多个设备以捕获自主车辆周围的环境的图像。相机211可以是静态相机和/或视频相机。相机可以例如通过将相机安装在旋转和/或倾斜的平台上而是机械可移动的。
传感器系统115还可以包括其他传感器,诸如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如,麦克风)。音频传感器可以被配置为从自主车辆周围的环境捕获声音。转向传感器可以被配置为感测方向盘、车辆车轮或其组合的转向角。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在某些情况下,油门传感器和制动传感器可以被集成为集成的油门/制动传感器。
在一个实施例中,车辆控制系统111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201用于调节车辆的方向或前进方向。油门单元202用于控制电动机或发动机的速度,进而控制车辆的速度和加速度。制动单元203用于通过提供摩擦以减慢车辆的车轮或轮胎来使车辆减速。注意,图2中所示的组件可以以硬件、软件或其组合来实现。
再次参考图1,无线通信系统112用于允许自主车辆101与外部系统(诸如设备、传感器、其他车辆等)之间的通信。例如,无线通信系统112可以直接或者经由通信网络与一个或多个设备(诸如通过网络102的服务器103-104)进行无线通信。无线通信系统112可以使用任何蜂窝通信网络或无线局域网(WLAN),例如使用WiFi与另一个组件或系统进行通信。无线通信系统112可以例如使用红外链路、蓝牙等直接与设备(例如,乘客的移动设备、车辆101内的显示设备、扬声器)通信。用户接口系统113可以是在车辆101内实现的外围设备的一部分,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。
自主车辆101的某些或全部功能可以由感知和规划系统110控制或管理,特别是在以自主驾驶模式操作时。感知和规划系统110包括必要的硬件(例如处理器、存储器、存储装置)和软件(例如,操作系统、规划和路由程序),以接收来自传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113的信息,处理接收到的信息,规划从起点到目的地点的路线或路径,然后基于规划和控制信息驾驶车辆101。可替换地,感知和规划系统110可以与车辆控制系统111集成在一起。
例如,作为乘客的用户可以例如经由用户界面指定行程的起始位置和目的地。感知和规划系统110获得行程有关的数据。例如,感知和规划系统110可以从MPOI服务器(其可以是服务器103-104的一部分)获得位置和路线信息。位置服务器提供位置服务,MPOI服务器提供某些位置的地图服务和POI。可替换地,这样的位置和MPOI信息可以本地缓存在感知和规划系统110的永久存储设备中。
当自主车辆101沿着路线移动时,感知和规划系统110还可以从交通信息系统或服务器(TIS)获得实时交通信息。注意,服务器103-104可以由第三方实体操作。可替换地,服务器103-104的功能可以与感知和规划系统110集成在一起。基于实时交通信息、MPOI信息和位置信息、以及由传感器系统115检测或感测的实时局部环境数据(例如,障碍物、对象、附近车辆),感知和规划系统110可以规划最佳路线,并且例如经由控制系统111根据规划的路线驾驶车辆101,以安全有效地到达指定目的地。
服务器103可以是为各种客户端执行数据分析服务的数据分析系统。在一个实施例中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从各个车辆(自主车辆或由人类驾驶员驾驶的常规车辆)收集驾驶统计123。驾驶统计123包括指示发出的驾驶命令(例如,油门、制动器、转向命令)以及由车辆的传感器在不同时间点捕获的车辆的响应(例如,速度、加速度、减速度、方向)的信息。驾驶统计123还可以以包括描述不同时间点的驾驶环境的信息,例如路线(包括起点位置和目的地位置)、MPOI、道路状况、天气状况等。
基于驾驶统计123,机器学习引擎122出于各种目的生成或训练一组规则、算法和/或预测模型124。然后可以将算法124上传到ADV上,以在自主驾驶期间被实时使用。
图3A和图3B是示出根据一个实施例的与自主车辆一起使用的感知和规划系统的示例的框图。系统300可以被实现为图1的自主车辆101的一部分,包括但不限于感知和规划系统110、控制系统111和传感器系统115。参考图3A-3B,感知和规划系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306、路由模块307。
模块301-307中的一些或全部可以以软件、硬件或其组合来实现。例如,这些模块可以被安装在永久存储设备352中、被加载到存储器351中、并且由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可以通信地连接到图2的车辆控制系统111的一些或全部模块或与之集成。模块301-307中的一些可以被集成在一起作为集成模块。
定位模块301确定自主车辆300的当前位置(例如,利用GPS单元212),并管理与用户的行程或路线有关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的行程或路线有关的任何数据。用户可以例如经由用户界面登录并指定行程的开始位置和目的地。定位模块301与自主车辆300的其他组件交流,诸如地图和路线信息311,以获得与行程有关的数据。例如,定位模块301可以从位置服务器以及地图和POI(MPOI)服务器获得位置和路线信息。位置服务器提供位置服务,并且MPOI服务器提供某些位置的地图服务和POI,其可以被缓存为地图和路线信息311的一部分。在自主车辆300沿路线移动时,定位模块301还可以从交通信息系统或服务器获取实时交通信息。
基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,对周围环境的感知由感知模块302确定。感知信息可以表示普通驾驶员将感知到的在驾驶员正在驾驶的车辆周围的情况。感知可以包括车道配置、交通灯信号、例如以对象形式的另一车辆、行人、建筑物、人行横道、或其他与交通有关的标志(例如,停车标志、让路标志)等的相对位置。车道配置包括描述一个或多个车道的信息,诸如,例如车道的形状(例如,笔直或弯曲)、车道的宽度、道路中有多少个车道、单向或双向车道、合并或拆分车道、出口车道等。
感知模块302可以包括计算机视觉系统或计算机视觉系统的功能,以处理和分析由一个或多个相机捕获的图像,以便识别自主车辆的环境中的对象和/或特征。对象可以包括交通信号、车行道边界、其他车辆、行人和/或障碍物等。计算机视觉系统可以使用对象识别算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统可以映射环境、跟踪对象并估计对象的速度等。感知模块302还可以基于由诸如雷达和/或LIDAR的其他传感器提供的其他传感器数据来检测对象。
对于每个对象,预测模块303预测在这种情况下对象将表现的东西。根据一组地图/路线信息311和交通规则312基于感知在该时间点的驾驶环境的感知数据进行预测。例如,如果对象是在相反方向的车辆并且当前驾驶环境包括交叉路口,则预测模块303将预测车辆是可能直行向前移动还是转弯。如果感知数据指示交叉路口没有交通灯,则预测模块303可以预测车辆在进入交叉路口之前可能必须完全停止。如果感知数据指示车辆当前在只能向左转的车道或只能向右转的车道,则预测模块303可以预测车辆更可能分别向左转或向右转。
对于每个对象,决策模块304做出关于如何处理对象的决策。例如,对于特定的对象(例如,在交叉路线中的另一辆车)以及描述该对象的元数据(例如,速度、方向、转弯角度),决策模块304决定如何遇见该对象(例如,超车、让车、停止、经过)。决策模块304可以根据可以存储在永久存储设备352中的一组规则(诸如交通规则或驾驶规则312)做出这样的决策。
路由模块307被配置为提供从起点到目的地点的一条或多条路线或路径。对于例如从用户接收的从起始位置到目的地位置的给定行程,路由模块307获得路线和地图信息311,并且确定从起始位置到达目的地位置的所有可能的路线或路径。路由模块307可以为它所确定的从起始位置到达目的地位置的每条路线生成地形图形式的参考线。参考线是指理想的路线或路径,不受诸如其他车辆、障碍物或交通状况的其他因素的干扰。即如果道路上没有其他车辆、行人或障碍物,则ADV应该准确或密切跟随参考线。然后地形图被提供给决策模块304和/或规划模块305。根据由其他模块提供的其他数据(诸如来自定位模块301的交通状况、由感知模块302感知的驾驶环境以及由预测模块303预测的交通状况),决策模块304和/或规划模块305检查所有可能的路线以选择和修改最佳路线中的一条。用于控制ADV的实际路径或路线可能与由路由模块307提供的参考线接近或不同,这取决于在时间点的特定驾驶环境。
基于对于感知的每个对象的决策,规划模块305使用由路由模块307提供的参考线作为基础,规划用于自主车辆的路径或路线以及驾驶参数(例如,距离、速度和/或转弯角度)。即对于给定对象,决策模块304决定对该对象做什么,而规划模块305确定如何做。例如,对于给定对象,决策模块304可以决定经过该对象,而规划模块305可以确定是在该对象的左侧还是右侧经过。规划和控制数据由规划模块305生成,规划和控制数据包括描述车辆300在下一移动周期(例如,下一路线/路径段)中如何移动的信息。例如,规划和控制数据可以指示车辆300以每小时30英里(mph)的速度移动10米,然后以25mph的速度改变到右车道。
基于规划和控制数据,控制模块306通过根据由规划和控制数据限定的路线或路径向车辆控制系统111发送适当的命令或信号,来控制和驾驶自主车辆。规划和控制数据包括足够的信息,以沿路径或路线在不同时间点使用适当的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。
在一个实施例中,在多个规划周期(也称为驾驶周期)中执行规划阶段,诸如,例如在每100毫秒(ms)的时间间隔中。对于每个规划周期或驾驶周期,将基于规划和控制数据发出一个或多个控制命令。即,对于每100ms,规划模块305规划下一路线段或路径段(例如包括目标位置和ADV到达目标位置所需的时间)。可替换地,规划模块305还可以指定具体速度、方向和/或转向角等。在一个实施例中,规划模块305为下一预定时间段(诸如5秒)规划路线段或路径段。对于每个规划周期,规划模块305基于在先前周期中规划的目标位置,为当前周期(例如,接下来的5秒)规划目标位置。然后,控制模块306基于当前周期的规划和控制数据产生一个或多个控制命令(例如,油门、制动、转向控制命令)。
注意,决策模块304和规划模块305可以被集成为集成模块。决策模块304/规划模块305可以包括导航系统或导航系统的功能,以为自主车辆确定行驶路径。例如,导航系统可以确定一系列速度和定向前进方向,以影响自主车辆沿着基本上避开所感知的障碍物的路径的移动,同时大体使自主车辆沿着通往最终目的地的基于车行道的路径前进。可以根据经由用户接口系统113的用户输入来设置目的地。导航系统可以在操作自主车辆时动态地更新行驶路径。导航系统可以合并来自GPS系统和一个或多个地图的数据,以便确定自主车辆的行驶路径。
图4是示出根据一个实施例的用于自主驾驶的系统架构的框图。系统架构400可以表示如图3A和3B所示的自主驾驶系统的系统架构。参照图4,系统架构400包括但不限于应用层401、规划和控制(PNC)层402、感知层403、驱动器层404、固件层405和硬件层406。应用层401可以包括与自主驾驶车辆的用户或乘客交互的用户界面或配置应用,例如与用户接口系统113相关联的功能。PNC层402可以包括至少规划模块305和控制模块306的功能。感知层403可以包括至少感知模块302的功能。在一个实施例中,存在包括预测模块303和/或决策模块304的功能的附加层。可替换地,这样的功能可以被包括在PNC层402和/或感知层403中。系统架构400还包括驱动器层404、固件层405和硬件层406。固件层405可以至少表示传感器系统115的功能,其可以以现场可编程门阵列(FPGA)的形式实现。硬件层406可以表示自主驾驶车辆的硬件(诸如控制系统111)。层401-403可以经由设备驱动器层404与固件层405和硬件层406通信。
图5A是示出根据本发明的一个实施例的传感器系统的示例的框图。参考图5A,传感器系统115包括多个传感器510和连接到主机系统110的传感器单元500。主机系统110表示上面描述的规划和控制系统,其可以包括如图3A和图3B所示的至少一些模块。传感器单元500可以以FPGA器件或ASIC(专用集成电路)器件的形式实现。在一个实施例中,传感器单元500,除其他以外,包括一个或多个传感器数据处理模块501(也简称为传感器处理模块)、数据传输模块502和传感器控制模块或逻辑503。模块501-503可以经由传感器接口504与传感器510通信、并经由主机接口505与主机系统110通信。可选地,内部或外部缓冲器506可以被用来缓冲数据用于进行处理。
在一个实施例中,对于接收路径或上游方向,传感器处理模块501被配置为经由传感器接口504从传感器接收传感器数据并处理传感器数据(例如,格式转换、错误检查),其可以被临时存储在缓冲区506中。数据传输模块502被配置为使用与主机接口505兼容的通信协议将处理后的数据传输到主机系统110。类似地,对于传送路径或下游方向,数据传输模块502被配置为接收来自主机系统110的数据或命令。然后数据被传感器处理模块501处理为与相应传感器兼容的格式。然后将处理后的数据传送到传感器。
在一个实施例中,传感器控制模块或逻辑503被配置为响应于经由主机接口505从主机系统(例如,感知模块302)接收到的命令,控制传感器510的某些操作,诸如,例如激活捕获传感器数据的时序。主机系统110可以配置传感器510以协作和/或同步的方式捕获传感器数据,使得传感器数据可以被用来感知在任何时间点的车辆周围的驾驶环境。
传感器接口504可以包括以太网、USB(通用串行总线)、LTE(长期演进)或蜂窝、WiFi、GPS、相机、CAN、串行(例如,通用异步接收器传送器或UART)、SIM(用户识别模块)卡和其他通用输入/输出(GPIO)接口中的一种或多种。主机接口505可以是任何高速或高带宽接口,诸如PCIe(外围组件互连或PCI Express)接口。传感器510可以包括在自主驾驶车辆中使用的各种传感器,诸如,例如相机、LIDAR设备、RADAR设备、GPS接收器、IMU、超声传感器、GNSS(全球导航卫星系统)接收器、LTE或蜂窝SIM卡、车辆传感器(例如油门传感器、制动传感器、转向传感器)和系统传感器(例如温度传感器、湿度传感器、压力传感器)等。
例如,相机可以经由以太网或GPIO接口连接。GPS传感器可以经由USB或特定的GPS接口连接。车辆传感器可以经由CAN接口连接。RADAR传感器或超声传感器可以经由GPIO接口连接。LIDAR设备可以经由以太网接口连接。外部SIM模块可以经由LTE接口连接。类似地,可以将内部SIM模块插入传感器单元500的SIM插槽中。出于调试目的,串行接口(诸如UART)可以与控制台系统连接。
注意,传感器510可以是任何类型的传感器,并且可以由各种销售商或供应商提供。传感器处理模块501被配置为处理不同类型的传感器及其各自的数据格式和通信协议。根据一个实施例,每个传感器510与用于处理传感器数据并在主机系统110和相应传感器之间传输处理后的传感器数据的特定通道相关联。每个通道都包括特定的传感器处理模块和特定的数据传输模块,这些模块已经被配置或被编程以处理相应传感器数据和协议,如图5B所示。
现在参考图5B,传感器处理模块501A-501C具体被配置为处理分别从传感器510A-510C获得的传感器数据。注意,传感器510A-510C可以是相同或不同类型的传感器。传感器处理模块501A-501C可以被配置(例如,软件可配置的)以处理用于不同类型的传感器的不同传感器处理。例如,如果传感器510A是相机,则处理模块501A可以被配置为对表示由相机510A捕获的图像的特定像素数据进行像素处理操作。类似地,如果传感器510A是LIDAR设备,则处理模块501A被配置为专门处理LIDAR数据。即,根据一个实施例,取决于特定传感器的特定类型,其相应处理模块可以被配置为使用对应于传感器数据的类型的特定过程或方法来处理相应传感器数据。
类似地,数据传输模块502A-502C可以被配置为以不同的模式操作,因为不同类型的传感器数据可能具有不同的大小或灵敏度,其需要不同的速度或时序要求。根据一个实施例,每个数据传输模块502A-502C可以被配置为以低延迟时间模式、高带宽模式和存储器模式(也称为固定存储器模式)中的一个进行操作。
当在低延迟时间模式下操作时,根据一个实施例,数据传输模块(例如,数据传输模块502)被配置为在没有延迟或具有最小延迟的情况下尽快地将从传感器接收到的传感器数据发送到主机系统。一些传感器数据在时序方面非常敏感,需要尽快进行处理。这种传感器数据的示例包括车辆状态,诸如车辆速度、加速度、转向角等。
当在高带宽模式下操作时,根据一个实施例,数据传输模块(例如,数据传输模块502)被配置为将从传感器接收到的传感器数据进行累积直到预定量,但是仍在数据传输模块和主机系统110之间的连接的带宽内。然后将累积的传感器数据以最大量的数据传输模块和主机系统110之间的连接的带宽的方式批量地传输到主机系统110。通常,高带宽模式被用于产生大量传感器数据的传感器。这样的传感器数据的示例包括相机像素数据。
当在存储器模式下操作时,根据一个实施例,数据传输模块被配置为将从传感器接收到的传感器数据直接写入主机系统110的映射存储器的存储器位置,类似于共享存储器页面。待被使用存储器模式传输的传感器数据的示例包括系统状态数据,例如温度、风扇速度等。
点云数据存储
图6示出根据一个实施例的用于存储点云数据的示例系统。
如上面描述的,传感器处理模块501可以预处理从LiDAR传感器接收到的原始点云数据,包括格式转换和错误检查。传感器处理模块501可以调用LiDAR数据存储模块601以将原始LiDAR数据从一种格式转换为另一种格式。在一个示例中,LiDAR数据存储模块603可以将原始点云数据转换成用户定义的存储格式,并将转换后的点云数据存储到存储介质606。
如图6所示,LiDAR数据存储模块601可以包括用于LiDAR传感器的配置信息602;以及基于硬件的数据处理单元603,其可以被编程为将用户定义的存储格式的原始点云数据写入存储介质603,并且从存储介质603读取存储的点云数据。可以在LiDAR数据处理单元603中分别提供写入过程607和读取过程609以执行写入和读取。
在一个实施例中,用户定义的存储格式可以是具有灵活大小的按位向量。可以基于LiDAR传感器的硬件性能(例如LiDAR传感器的校准数据和精度测量)确定向量的大小。LiDAR传感器的硬件性能可以被包括在LiDAR配置602中,并且可以被提供给写入过程607用于创建用于存储原始点云数据的向量。
在一个实施例中,可以创建相同大小的多个向量,其中每个向量存储响应于以不同水平角发射的激光束而获取的原始点云数据。
在一个实施例中,LiDAR传感器可以是多种类型中的一种。每种类型的LiDAR传感器可以具有不同数量的垂直射击平面(即发射器/接收器对),其中每个垂直射击平面以特定的垂直角发射和接收激光线。在一个示例中,LiDAR传感器可以是4线传感器,其可以生成较低分辨率的图像;或者240线传感器,其可以生成更高分辨率的图像。
在一个实施例中,点云数据可以包括云数据点,每个云数据点由多个属性表示。例如,云数据点可以具有x、y、z、i和t的属性,其中x表示云数据点的x坐标,y表示云数据点的y坐标,z表示表示云数据点的z坐标,i表示云数据点的强度,以及t表示云数据点的获取时间。x、y和z值可以是世界坐标并且是32位浮点数,i的值可以是16位或8位的整数、以及t的值可以是双精度浮点数。云数据点的其他属性可以包括红色、绿色和蓝色(RGB)颜色属性,每个颜色属性可以是范围从0.0-1.0的浮点数或范围从0到255的整数。
在一个实施例中,当接收到原始点云数据时,LiDAR数据处理单元603可以获得LiDAR传感器的配置信息602,并且创建一个或多个向量,每个向量包括多个数据段以及元数据段。可以基于配置信息602使用预定算法来确定数据段的数量以及数据段中的一个或多个字段的位宽,配置信息602可以包括LiDAR传感器的线数量、LiDAR传感器的范围、以及LiDAR传感器的校准数据。
例如,如果LiDAR传感器的配置信息602描述LiDAR传感器是4线传感器,则写入过程607可以调用预定算法以创建具有4个数据段和一个元数据段的向量。每个数据段可以是具有多个字段的对象。每个数据段中的字段数量可以等于待被存储用于云数据点的属性数量。此外,每个数据段中的一个或多个字段的位宽也可以取决于LiDAR传感器的配置信息602。
因此,被创建以存储来自4线LiDAR传感器的云数据点的向量将会具有比被创建以存储来自128线LiDAR传感器的云数据点的向量更小的大小。此外,被创建以存储来自4线LiDAR传感器的云数据点的向量的数据段中的某些字段可以具有比被创建以存储来自128线LiDAR传感器的云数据点的向量的数据段中的相应字段更窄的位宽。
在一个实施例中,可以通过在历史LiDAR数据上训练的神经网络模型表示被用来确定向量的大小以及向量的数据段中一个或多个字段的位宽的算法。训练后的神经网络模型可以确定针对向量的数据段中的字段可能的最小位宽,而不会牺牲该字段中存储的测量的表示精度。
进一步如图6所示,存储在存储介质606中的云点数据可以被读取过程取回,供自主驾驶车辆的其他功能使用。在一个示例中,云点数据可被主机系统110使用类似于读取过程609的过程来获得,并且可被用于诸如路线规划和车辆定位的功能。
图7是示出根据一个实施例的存储点云数据的示例过程的数据流图。在该示例图中,数据写入过程705和数据读取过程709都可以是以硬件实现的功能。数据写入过程705可以加载LiDAR传感器的配置信息703,根据该配置信息,原始点云数据701将被数据写入过程705存储到存储介质707。
在一个实施例中,配置信息703可以包括LiDAR传感器的多种硬件性能和校准数据。硬件性能的示例可以包括激光线数量和LiDAR传感器的范围。校准数据的示例可以包括LiDAR传感器的转速、扫描之间的旋转角、垂直视场和水平视场。
基于LiDAR传感器的加载的配置信息703,数据写入过程705可以创建多个数据结构来存储原始点云数据。每个数据结构可以是按位向量,其大小可以基于配置信息703中描述的硬件性能中的一个或多个性能和/或校准数据来确定。
每个向量可以包括多个数据条目和至少一个元数据条目。数据条目可以是由对象表示的数据段。对象中的字段数量可以等于针对云数据点收集的属性数量。可以基于硬件性能中的一个或多个性能和/或校准数据,在位级上优化数据条目中的每个字段,以减少存储空间。数据写入过程705可以使用一个或多个这样的向量将原始点云数据存储到存储介质707。数据读取过程707可以读取存储的点云数据、并将数据恢复为标准点云格式702。
图8A-8B示出根据一个实施例的示例点云数据存储格式。
在图8A中,数据组A 805和数据组B 807两者可以是向量。每个数据组可以存储由LiDAR传感器响应于以给定水平角发射的激光束而获取的点云。每个向量中的数据段的数量可以基于存储在LiDAR配置文件703中的一个或多个硬件性能。硬件性能可以包括LiDAR传感器的类型801和LiDAR传感器的校准数据803。LiDAR传感器的类型可以具有相关联的数据,诸如LiDAR传感器的激光线和检测范围。
如图8A所示,数据组A 805可以包括数据段809、813和817,以及数据组B 807可以包括数据段811、815和819。每个数据段可以是具有多个字段的对象,用于存储云数据点的属性。每个数据组还可以包括元数据段,元数据段用于存储将由数据组中的数据段共享的信息。
例如,数据组A 805中的元数据段821可以包括待被数据组805中的数据段809、813和817共享的基准时间A 825,而数据组B 807中的元数据段823可以包括待被数据组807中的数据段811、815和819共享的基准时间B 827。
在一个实施例中,利用每个数据组中的基准时间,数据组中的每个数据段仅需要存储相应云数据点的偏移时间。基准时间和偏移时间可以组合起来以计算相应云数据点的实际时间戳。在数据段中存储偏移时间而不是整个时间戳可以减少时间戳字段的更大位宽的需求,从而节省存储空间。
LiDAR配置703可以被用来确定向量805和807中的每个的大小以及向量中的数据段的一个或多个字段的位宽。因此,代替使用固定大小的数据结构来存储所有类型的LiDAR传感器的云数据点,数据组A 805和数据组B 807的大小可以基于LiDAR传感器的硬件性能被动态调整,点云数据将根据LiDAR传感器的硬件性能而被存储。
图8B示出向量中的示例数据段。示例数据段828可以包括用于存储云数据点的属性的多个字段,诸如分别用于存储云数据点的x、y和z坐标的字段829、831和833;以及用于存储时间偏移837的时间戳字段835,时间偏移可以与先前在图8A中描述的基准时间825和827中的一个结合被用来计算云数据点的实际获取时间戳。
此外,数据段中的一个或多个字段的位宽还可以通过LiDAR传感器的硬件性能动态确定。在一个实例中,向量中的数据段中的一个或多个字段的位宽与LiDAR传感器的激光线数量成反比。LiDAR传感器的分辨率越高,用于存储LiDAR传感器的云数据点的给定属性的位宽越窄。因此,相较于针对128线LiDAR传感器,针对来自4线LiDAR传感器的云数据点,字段825、831和833中的每个的位宽可以更小。
图9示出根据一个实施例的鉴于LiDAR传感器的激光线的示例数据组901。
如图9所示,LiDAR传感器903可以以给定水平角发射多条激光束(即激光线)905、906、907和908。每条激光束可以以给定水平角以不同的垂直角发射。当击中目标对象时,云数据点可以由这些激光束生成,并且可以被LiDAR传感器903捕获。
为了存储捕获的云数据点,可以创建基于向量的数据组901以包括多个数据段911、915和919。这些数据段的数量可以等于LiDAR传感器903的激光线数量。激光线数量还可以部分地确定每个数据段中的一个或多个字段的位宽。灵活的按位向量可以使写入过程(例如,图7中的数据写入过程)能够存储捕获的云数据点而不会浪费存储空间。
在一个实施例中,结合存储在数据组901中的每个数据段中的时间偏移,元数据段923中的基准时间927可以被用来计算每个云数据点的获取时间戳。基准时间927可以是以给定水平角捕获的第一云数据点的获取时间。
例如,如果由激光线B 906生成的云数据点是被LiDAR传感器从给定水平方向捕获的第一云数据点,则该云数据点的时间戳可以用作基准时间927,并且可以被存储在元数据段923中。在这种情况下为0的偏移时间可以存储在数据段#1 915中。云数据点的其他属性(例如,坐标和强度)也可以被存储在数据段#1 915中。
当捕获另一条激光线(例如,激光线A 905)生成的云数据点时,可以通过从云数据点的获取时间中减去基准时间927来计算偏移时间,并且可以将偏移时间存储在数据段#0911中。类似地,云数据点的其他属性可以被存储在数据段#0 911中。
当已经从每条激光线捕获了云数据点并且数据组901已经被完全填充时,写入过程可以将数据组写入存储介质。数据组901可以被重复地用来存储来自给定水平角以及从一个或多个其他水平角的附加的云数据点。
图10示出根据一个实施例的在自主驾驶车辆中存储点云数据的示例过程1000。可以通过处理逻辑来执行过程1000,该处理逻辑可以包括软件、硬件或其组合。例如,过程1000可以由图6中描述的LiDAR数据存储模块601执行。
再次参考图10,在操作1001中,处理逻辑从被安装在自主驾驶车辆上的LiDAR传感器接收原始点云数据,原始点云数据表示响应于以水平角发射的激光束而获取的云数据点。在操作1003中,处理逻辑获得LiDAR传感器的配置信息,配置信息至少包括LiDAR传感器的激光线数量。在操作1005中,处理逻辑基于配置信息构造包括针对每个云数据点的数据条目的数据结构,数据条目包括用于存储云数据点的属性的多个字段,其中每个字段具有使用预定算法基于配置信息确定的位宽。在操作1007中,处理逻辑使用数据结构将云数据点写入存储介质。
已经在对计算机存储器内的数据位的操作的算法和符号表示方面上呈现前面详细描述的某些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地向本领域其他技术人员传达其工作实质的方式。算法在这里并且通常被认为是导致期望结果的自洽操作序列。这些操作是需要对物理量进行物理操纵的那些操作。
然而,应当牢记的是,所有这些和类似术语均应与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非另外明确指出,否则从上述讨论中显而易见的是,应理解的是,在整个说明书中,利用诸如所附权利要求书中阐述的术语的讨论是指计算机系统或类似电子计算设备的动作和过程,该计算机系统或类似电子计算设备将计算机系统的寄存器和存储器内表示为物理(电子)量的数据操纵和转换为计算机系统的存储器或寄存器或其他这样的信息存储、传输或显示设备内的类似地表示为物理量的其他数据。
本公开的实施例还涉及用于执行本文中的操作的装置。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备)。
在前述附图中描绘的过程或方法可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者组合的处理逻辑来执行。尽管以上根据一些顺序操作描述了过程或方法,但是应当理解的是,可以以不同的顺序执行所描述的一些操作。此外,一些操作可以并行地执行而不是顺序地执行。
本公开的实施例不是参考任何特别编程语言描述的。将理解的是,可以使用各种编程语言来实现如本文描述的本公开的实施例的教示。
在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开的实施例。显然,在不背离如所附权利要求书中阐述的本公开的更宽的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应被认为是说明性的而不是限制性的。
Claims (13)
1.一种用于自主驾驶车辆ADV的处理点云数据的计算机实现方法,包括:
从被安装在ADV上的光检测和测距LiDAR传感器接收表示驾驶环境的云数据点的原始点云数据;
基于LiDAR传感器的配置信息确定LiDAR传感器的类型;
构造包括用于存储每个云数据点的数据条目的数据结构,其中数据条目包括一个或多个数据字段,每个数据字段被配置为具有基于LiDAR传感器的类型确定的位宽;以及
将包含在数据结构中的云数据点写入存储介质,其中存储的云数据点被用来感知ADV周围的驾驶环境。
2.根据权利要求1所述的方法,其中数据结构还包括用于存储云数据点的至少一个属性的元数据条目。
3.根据权利要求2所述的方法,其中元数据条目包括用于云数据点的时间戳属性的基准时间,其中数据结构中的多个数据条目中的每个数据条目包括用于存储相对于基准时间的偏移时间的时间戳字段,并且其中偏移时间与基准时间结合被用来确定捕获相应云数据点的绝对时间。
4.根据权利要求1所述的方法,其中基于LiDAR传感器的激光线数量,确定数据条目的数据字段中的至少一个的位宽。
5.根据权利要求1所述的方法,其中数据结构包括多个组,每个组包括与组相关联的多个数据条目,其中数据结构还包括被多个组共享的全局配置头部,并且其中全局配置头部存储LiDAR传感器的配置信息。
6.根据权利要求5所述的方法,其中全局配置头部包括指示LiDAR传感器的类型或LiDAR传感器的激光线数量的信息。
7.根据权利要求5所述的方法,其中每个组还包括用于存储组的元数据的元数据条目,元数据条目被与组相关联的数据条目共享。
8.根据权利要求7所述的方法,其中组的元数据包括基准时间戳,基准时间戳表示捕获组的数据条目的云数据点的时间段。
9.根据权利要求8所述的方法,其中组的每个数据条目还包括偏移时间戳,偏移时间戳表示相对于包含在组的元数据条目中的基准时间戳的时间偏移,并且其中偏移时间戳与基准时间戳结合被用来确定捕获对应于数据条目的云数据点的绝对时间。
10.根据权利要求1所述的方法,其中配置信息还包括LiDAR传感器的校准信息。
11.一种用于自主驾驶车辆ADV的处理点云数据的装置,包括:
接收模块,用于从被安装在ADV上的光检测和测距LiDAR传感器接收表示驾驶环境的云数据点的原始点云数据;
确定模块,用于基于LiDAR传感器的配置信息确定LiDAR传感器的类型;
构造模块,用于构造包括用于存储每个云数据点的数据条目的数据结构,其中数据条目包括一个或多个数据字段,每个数据字段被配置为具有基于LiDAR传感器的类型确定的位宽;以及
写入模块,用于将包含在数据结构中的云数据点写入存储介质,其中存储的云数据点被用来感知ADV周围的驾驶环境。
12.一种在其中存储有指令的非暂时性机器可读介质,指令用于在自主驾驶车辆ADV中存储点云数据,指令在被处理器执行时使处理器执行如权利要求1-10中任一项所述的方法。
13.一种数据处理系统,包括:
处理器;以及
连接到处理器的存储器,存储用于在自主驾驶车辆ADV中存储点云数据的指令,指令在被处理器执行时使处理器执行如权利要求1-10中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/509,444 | 2019-07-11 | ||
US16/509,444 US11754715B2 (en) | 2019-07-11 | 2019-07-11 | Point cloud format optimized for LiDAR data storage based on device property |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111860198A true CN111860198A (zh) | 2020-10-30 |
CN111860198B CN111860198B (zh) | 2024-06-21 |
Family
ID=72988546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010598098.0A Active CN111860198B (zh) | 2019-07-11 | 2020-06-28 | 用于自主驾驶车辆adv的处理点云数据的方法、装置和系统、及计算机可读介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11754715B2 (zh) |
CN (1) | CN111860198B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220179082A1 (en) * | 2020-12-08 | 2022-06-09 | Argo AI, LLC | Methods and system for analyzing dynamic lidar point cloud data |
CN115102932A (zh) * | 2022-06-09 | 2022-09-23 | 腾讯科技(深圳)有限公司 | 点云媒体的数据处理方法、装置、设备、存储介质及产品 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11580533B2 (en) * | 2019-12-10 | 2023-02-14 | Mastercard International Incorporated | Method and system for optimization of data storage for distributed ledgers |
US20230419658A1 (en) * | 2022-06-23 | 2023-12-28 | Lockheed Martin Corporation | Real time light-detection and ranging point decimation |
WO2024065173A1 (en) * | 2022-09-27 | 2024-04-04 | Apollo Intelligent Driving Technology (Beijing) Co., Ltd. | Cloud based scanning for detection of sensors malfunction for autonomous vehicles |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107817502A (zh) * | 2016-09-14 | 2018-03-20 | 北京百度网讯科技有限公司 | 激光点云数据处理方法和装置 |
US20190004516A1 (en) * | 2017-07-03 | 2019-01-03 | Baidu Usa Llc | Centralized scheduling system using global store for operating autonomous driving vehicles |
US20190120946A1 (en) * | 2017-10-19 | 2019-04-25 | DeepMap Inc. | Calibrating sensors mounted on an autonomous vehicle |
US20190180499A1 (en) * | 2016-08-19 | 2019-06-13 | Movidius Ltd. | Rendering operations using sparse volumetric data |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9234618B1 (en) * | 2012-09-27 | 2016-01-12 | Google Inc. | Characterizing optically reflective features via hyper-spectral sensor |
US9098754B1 (en) * | 2014-04-25 | 2015-08-04 | Google Inc. | Methods and systems for object detection using laser point clouds |
WO2017141414A1 (ja) * | 2016-02-19 | 2017-08-24 | パイオニア株式会社 | 地物データ構造、制御装置、記憶装置、制御方法、プログラム及び記憶媒体 |
US10887433B2 (en) * | 2018-04-03 | 2021-01-05 | Pony Ai Inc. | System and method for incremental data processing |
US10854011B2 (en) * | 2018-04-09 | 2020-12-01 | Direct Current Capital LLC | Method for rendering 2D and 3D data within a 3D virtual environment |
US10810792B2 (en) * | 2018-05-31 | 2020-10-20 | Toyota Research Institute, Inc. | Inferring locations of 3D objects in a spatial environment |
US11255975B2 (en) * | 2018-06-05 | 2022-02-22 | Pony Ai Inc. | Systems and methods for implementing a tracking camera system onboard an autonomous vehicle |
US11592524B2 (en) * | 2018-11-02 | 2023-02-28 | Waymo Llc | Computation of the angle of incidence of laser beam and its application on reflectivity estimation |
US11275673B1 (en) * | 2019-06-24 | 2022-03-15 | Zoox, Inc. | Simulated LiDAR data |
-
2019
- 2019-07-11 US US16/509,444 patent/US11754715B2/en active Active
-
2020
- 2020-06-28 CN CN202010598098.0A patent/CN111860198B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190180499A1 (en) * | 2016-08-19 | 2019-06-13 | Movidius Ltd. | Rendering operations using sparse volumetric data |
CN107817502A (zh) * | 2016-09-14 | 2018-03-20 | 北京百度网讯科技有限公司 | 激光点云数据处理方法和装置 |
US20190004516A1 (en) * | 2017-07-03 | 2019-01-03 | Baidu Usa Llc | Centralized scheduling system using global store for operating autonomous driving vehicles |
US20190120946A1 (en) * | 2017-10-19 | 2019-04-25 | DeepMap Inc. | Calibrating sensors mounted on an autonomous vehicle |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220179082A1 (en) * | 2020-12-08 | 2022-06-09 | Argo AI, LLC | Methods and system for analyzing dynamic lidar point cloud data |
WO2022125241A1 (en) * | 2020-12-08 | 2022-06-16 | Argo AI, LLC | Methods and system for analyzing dynamic lidar point cloud data |
US12044779B2 (en) * | 2020-12-08 | 2024-07-23 | Argo AI, LLC | Methods and system for analyzing dynamic lidar point cloud data |
CN115102932A (zh) * | 2022-06-09 | 2022-09-23 | 腾讯科技(深圳)有限公司 | 点云媒体的数据处理方法、装置、设备、存储介质及产品 |
CN115102932B (zh) * | 2022-06-09 | 2024-01-12 | 腾讯科技(深圳)有限公司 | 点云媒体的数据处理方法、装置、设备、存储介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
US11754715B2 (en) | 2023-09-12 |
CN111860198B (zh) | 2024-06-21 |
US20210011163A1 (en) | 2021-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113376657B (zh) | 用于自动驾驶车辆lidar数据的自动标记系统 | |
CN111775945B (zh) | 用于自动驾驶的用于检测最接近的路径内对象的方法和装置 | |
CN111860198B (zh) | 用于自主驾驶车辆adv的处理点云数据的方法、装置和系统、及计算机可读介质 | |
CN114026463B (zh) | 基于部分点云的行人速度估计方法 | |
US11726212B2 (en) | Detector for point cloud fusion | |
US11609333B2 (en) | Point cloud feature-based obstacle filter system | |
CN112238862B (zh) | 用于自主驾驶平台的开放和安全监视系统 | |
CN113064143B (zh) | 用于具有多LiDAR传感器的自动驾驶车辆的再校准确定系统 | |
CN111103876A (zh) | 自动驾驶车辆的基于雷达通信的扩展感知 | |
EP3757711B1 (en) | A vehicle-platoons implementation under autonomous driving system designed for single vehicle | |
CN113885011A (zh) | 自动车辆的基于点云图的光检测测距重新校准系统 | |
CN113508350A (zh) | 基于反馈的实时转向校准系统 | |
US11835629B2 (en) | Neighbor-based point cloud filter system | |
US20240210939A1 (en) | Camera image compression for autonomous driving vehicles | |
CN111862226A (zh) | 用于车辆中的摄像机校准和图像预处理的硬件设计 | |
US11527076B2 (en) | Point cloud-based low-height obstacle detection system | |
US11529969B2 (en) | Pull over method based on quadratic programming for path planning | |
WO2024036618A1 (en) | Dynamic signal transfer configuration for driverless vehicle remote monitoring | |
US20240005066A1 (en) | Decoupled prediction evaluation | |
US20240208529A1 (en) | Sensor data transfer with self adaptive configurations for autonomous driving vehicle | |
CN116973943A (zh) | 用于无人驾驶车辆的自适应lidar数据处理 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |