CN116342773A - 基于渲染引擎的自动驾驶信息可视化方法、装置及车辆 - Google Patents
基于渲染引擎的自动驾驶信息可视化方法、装置及车辆 Download PDFInfo
- Publication number
- CN116342773A CN116342773A CN202211521913.9A CN202211521913A CN116342773A CN 116342773 A CN116342773 A CN 116342773A CN 202211521913 A CN202211521913 A CN 202211521913A CN 116342773 A CN116342773 A CN 116342773A
- Authority
- CN
- China
- Prior art keywords
- information
- automatic driving
- rendering
- data
- rendered
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 155
- 238000007794 visualization technique Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000004891 communication Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 14
- 238000012800 visualization Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 19
- 230000008447 perception Effects 0.000 claims description 17
- 238000007781 pre-processing Methods 0.000 claims description 8
- 230000003068 static effect Effects 0.000 claims description 8
- 238000007405 data analysis Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 238000013079 data visualisation Methods 0.000 abstract description 9
- 230000000007 visual effect Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 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
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于渲染引擎的自动驾驶信息可视化方法、装置及车辆。其中,该方法包括:通过数据读取通道获取目标车辆的自动驾驶信息,其中,数据读取通道由通信组件与自动驾驶操作系统之间建立,自动驾驶信息包括目标车辆在自动驾驶过程中所感知和生成的驾驶信息;对自动驾驶信息进行数据处理,获得自动驾驶待渲染信息;将自动驾驶待渲染信息发送至渲染引擎;利用渲染引擎对自动驾驶待渲染信息进行数据渲染,得到渲染信息,渲染信息通过目标车辆的显示器进行展示。本发明解决了现有的自动驾驶数据可视化方案显示的数据不够完整的技术问题。
Description
技术领域
本发明涉及数据可视化技术领域,具体而言,涉及一种基于渲染引擎的自动驾驶信息可视化方法、装置及车辆。
背景技术
自动驾驶系统主要包括两条技术路线,端到端和模块化。端到端方法通常使用机器学习模型,以传感器数据为输入,生成加速和转向指令作为输出。模块化方法将自动驾驶过程分解为多个模块,包括定位、感知、预测、规划和控制,典型的模块化方法使用原始传感器数据作为定位和感知模块的输入。它们的输出随后被输送到预测和规划模块。最后,控制模块产生命令来操纵车辆。模块化的方案是目前行业内采用较多的方案。自动驾驶中车辆外部的道路信息,以及车辆内部自动驾驶系统中各模块产生的数据的可视化可以向用户展示了自动驾驶系统是如何理解这个世界和环境的,增加用户对于自动驾驶系统的信任感,提升用户体验;同时这些实时数据的可视化展示也可以让安全员时刻监视自动驾驶车辆的行驶状态以及周围环境信息,确定是否进行人工干预,以提升自动驾驶车辆的行驶安全性。而目前多数的自动驾驶数据可视化方案,所提供的数据不够完整,关联性不强或者整个数据的可视化缺乏实时性,同时还存在最终形成的可视化软件或工具可移植性不高,拓展性不强等问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于渲染引擎的自动驾驶信息可视化方法、装置及车辆,以至少解决现有的自动驾驶数据可视化方案显示的数据不够完整的技术问题。
根据本发明实施例的一个方面,提供了一种基于渲染引擎的自动驾驶待渲染信息可视化方法,包括:通过数据读取通道获取目标车辆的自动驾驶信息,其中,数据读取通道由通信组件与自动驾驶操作系统之间建立,自动驾驶信息包括目标车辆在自动驾驶过程中所感知和生成的驾驶信息;对自动驾驶信息进行数据处理,获得自动驾驶待渲染信息;将自动驾驶待渲染信息发送至渲染引擎;利用渲染引擎对自动驾驶待渲染信息进行数据渲染,得到渲染信息,渲染信息通过目标车辆的显示器进行展示。
可选地,自动驾驶信息的类型包括如下至少之一:车辆感知信息、障碍物轨迹预测信息、轨迹规划信息、车辆状态信息、车辆控制信息、静态主车信息,通过数据读取通道获取目标车辆的自动驾驶信息,包括:建立多个数据读取通道与自动驾驶信息的多个类型之间的一一映射关系;利用与类型对应的数据读取通道读取类型所包括的自动驾驶信息。
可选地,对自动驾驶信息进行数据处理,获得自动驾驶待渲染信息,包括:对自动驾驶信息依次进行数据解析、坐标系转换,获得自动驾驶待渲染信息。
可选地,对自动驾驶信息进行数据处理,获得自动驾驶待渲染信息,还包括:若自动驾驶信息为车辆感知信息、障碍物轨迹预测信息、轨迹规划信息中的至少一个时,对自动驾驶信息执行数据预处理操作,获得自动驾驶待渲染信息,其中,预处理操作包括如下至少之一:对轨迹点的线条拟合、对障碍物点的3D线框绘制。
可选地,数据渲染的模式包括用户渲染模式和开发者渲染模式,利用渲染引擎对自动驾驶待渲染信息进行数据渲染,得到渲染信息,包括:确定数据渲染的模式;在数据渲染的模式为用户模式时,对车辆感知信息、轨迹规划信息、车辆状态信息中的至少一个进行渲染,得到渲染信息;在数据渲染的模式为开发者模式时,对障碍物轨迹预测信息、车辆状态信息、车辆控制信息中的至少一个进行渲染,得到渲染信息。
可选地,在确定数据渲染的模式之前,利用渲染引擎对自动驾驶待渲染信息进行数据渲染,得到渲染信息,还包括:获取预置的地图信息;对静态主车信息、地图信息进行数据渲染。
根据本发明实施例的又一方面,还提供了一种基于渲染引擎的自动驾驶待渲染信息可视化装置,包括:获取模块,用于通过数据读取通道获取目标车辆的自动驾驶信息,其中,数据读取通道由通信组件与自动驾驶操作系统之间建立,自动驾驶信息包括目标车辆在自动驾驶过程中所感知和生成的驾驶信息;数据处理模块,用于对自动驾驶信息进行数据处理,获得自动驾驶待渲染信息;发送模块,用于将自动驾驶待渲染信息发送至渲染引擎;渲染模块,用于利用渲染引擎对自动驾驶待渲染信息进行数据渲染,得到渲染信息,渲染信息通过目标车辆的显示器进行展示。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述的方法。
根据本发明实施例的又一方面,还提供了一种处理器,上述处理器通过计算机程序执行上述的方法。
根据本发明实施例的又一方面,还提供了一种车辆,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的方法。
在本发明实施例中,采用通过数据读取通道获取目标车辆的自动驾驶信息的方式,通过渲染引擎对自动驾驶待渲染信息进行数据渲染,达到了可利用多个数据读取通道完整、全面将自动驾驶信息可视化显示的目的,能够同时对多种自动驾驶信息进行可视化显示,从而实现了提高可视化的自动驾驶信息的完整性和关联度的技术效果,进而解决了现有的自动驾驶数据可视化方案显示的数据不够完整的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明其中一可选实施例的基于渲染引擎的自动驾驶信息可视化方法的计算机终端的硬件结构框图;
图2是根据本发明其中一可选实施例的基于渲染引擎的自动驾驶信息可视化方法的流程图;
图3是根据本发明其中一可选实施例的基于渲染引擎的自动驾驶信息可视化方法开发可视化工具的原理示意图;
图4是根据本发明其中一可选实施例的基于渲染引擎的自动驾驶信息可视化装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明其中一实施例,提供了一种基于渲染引擎的自动驾驶信息可视化方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在车辆中包含存储器和处理器的电子装置或者类似的运算装置中执行。以运行在车辆的电子装置上为例,如图1所示,车辆的电子装置可以包括一个或多个处理器102(处理器可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器104。可选地,上述汽车的电子装置还可以包括用于通信功能的传输设备106、输入输出设备108以及显示器110。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述车辆的电子装置的结构造成限定。例如,车辆的电子装置还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的基于渲染引擎的自动驾驶信息可视化方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的基于渲染引擎的自动驾驶信息可视化方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
显示器110可以为触摸屏式的液晶显示器(LCD)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
现有技术中,车辆对自动驾驶信息的可视化通常采用单一可视化方案,举例来说,需要显示车辆轨迹时,将车端的路径规划算法确定的轨迹利用车载显示器进行可视化操作;需要显示障碍物时,将车端的目标识别算法识别出的障碍物进行可视化显示。自动驾驶显示的数据并不完整,不能同时对多类自动驾驶信息进行可视化显示,同时可视化现实的数据关联度不高、实时性不强。
本实施例中提供了一种运行于上述车辆的电子装置的基于渲染引擎的自动驾驶待渲染信息可视化方法,图2是根据本发明其中一实施例的基于渲染引擎的自动驾驶待渲染信息可视化方法的流程图,如图2所示,该流程包括如下步骤:
步骤S102,通过数据读取通道获取目标车辆的自动驾驶信息,其中,数据读取通道由通信组件与自动驾驶操作系统之间建立,自动驾驶信息包括目标车辆在自动驾驶过程中所感知和生成的驾驶信息;
自动驾驶操作系统包括如下之一:Cyber_RT系统、ROS系统。通信组件可以是自动驾驶操作系统内置的组件,也可是预先配置在车端的通信服务组件。按照自动驾驶过程的分类,可以将自动驾驶信息分成定位信息、感知信息、预测信息、规划信息、控制信息等几类。
自动驾驶实时数据的可视化实现方法的核心:一是如何从自动驾驶系统获得数据,二是对这些数据的处理及渲染。目前绝大多数自动驾驶系统采用Cyber_RT或者ROS作为中间件,Cyber_RT或者ROS作为自动驾驶的操作系统。以Cyber_RT框架为例,其本身自带通信组件,通信方式可以分为基于信道的通信以及基于服务的通信。目前可视化展示的数据大多数为通过信道传递的数据,基于信道的通信是一种单向通信,即信道中的消息不需要实时应答,同时一个节点可以同时发送多条消息,也可以同时接收多条消息,即可以同时定义多个writer(写入节点)和reader(读取节点)。利用这个特点,创建多个reader,获取不同信道上的信息,实现多类自动驾驶系统数据(也即自动驾驶信息)的实时接收。实际上,可设置多个数据读取通道分别用于同时读取不同信道上的自动驾驶信息,并将该自动驾驶信息进行处理后进行可视化,使得基于渲染引擎的自动驾驶待渲染信息可视化方法可以实现大规模的实时可视化驾驶数据。
本实施例中的基于渲染引擎的自动驾驶待渲染信息可视化方法可开发为可视化工具。以Cyber_RT框架为例,因为采用的是Unity引擎来进行整个工具的构建,Unity引擎的默认编译语言为C#,Cyber_RT框架并不支持C#编程语言,所以首先获取一个预置的数据接收插件,数据接收插件为使用C++编程语言编写的可以创建多个reader以读取各模块(也即定位模块、感知模块、预测模块、规划模块、控制模块)数据的组件,并使用编译工具CMake进行编译生成可执行库文件(.so文件),然后我们把这个.so文件作为一个插件引用到整个Unity工程中,通过这个数据接收插件实现从自动驾驶系统获得数据的功能。
步骤S40,对自动驾驶信息进行数据处理,获得自动驾驶待渲染信息;
步骤S30,将自动驾驶待渲染信息发送至渲染引擎;
渲染引擎优选为Unity引擎。
步骤S40,利用渲染引擎对自动驾驶待渲染信息进行数据渲染,得到渲染信息,渲染信息通过目标车辆的显示器进行展示。
渲染信息的类型包括一维图形、二维图形、三维模型、动画、特效、数字陈列、游戏等形式。显示器包括车辆的中控屏、仪表盘、投影设备。
通过上述步骤,可以实现利用多个数据读取通道完整、全面将自动驾驶信息可视化显示的目的,从而实现了提高可视化的自动驾驶信息的完整性和关联度的技术效果,进而解决了现有的自动驾驶数据可视化方案显示的数据不够完整的技术问题。
可选地,自动驾驶信息的类型包括如下至少之一:车辆感知信息、障碍物轨迹预测信息、轨迹规划信息、车辆状态信息、车辆控制信息、静态主车信息,通过数据读取通道获取目标车辆的自动驾驶信息,包括:建立多个数据读取通道与自动驾驶信息的多个类型之间的一一映射关系;利用与类型对应的数据读取通道读取类型所包括的自动驾驶信息。
车辆感知信息包括障碍物(形式为模型、3D框及点云)、红绿灯等物体,车辆感知信息由传感器、激光雷达、摄像头等部件采集而成。障碍物轨迹预测信息包括障碍物预测轨迹线,轨迹规划信息包括主车的规划轨迹线,车辆状态信息包括速度、刹车、油门、方向盘转角、转向灯等部件的状态参数,车辆控制信息包括车辆的各总成的各控制参数。也即是说,通过建立一个数据读取通道获取车辆感知信息,以获取自动驾驶系统的感知模块的信息,依此类推,可同时对自动驾驶系统所有模块进行获取和可视化显示。
可选地,对自动驾驶信息进行数据处理,获得自动驾驶待渲染信息,包括:对自动驾驶信息依次进行数据解析、坐标系转换,获得自动驾驶待渲染信息。
数据解析包括:按照自动驾驶系统中以protobuf格式定义好数据消息结构进行自动驾驶信息的反序列化,并进行保存。部分的解析后的自动驾驶信息需要进行点的坐标系转换,由于Cyber_RT框架下的坐标系与Unity引擎中的坐标系不同,所以要对拿到的点的坐标系进行转换,通过一个转换矩阵将点的坐标修改到Unity坐标系下。
可选地,对自动驾驶信息进行数据处理,获得自动驾驶待渲染信息,还包括:若自动驾驶信息为车辆感知信息、障碍物轨迹预测信息、轨迹规划信息中的至少一个时,对自动驾驶信息执行数据预处理操作,获得自动驾驶待渲染信息,其中,预处理操作包括如下至少之一:对轨迹点的线条拟合、对障碍物点的3D线框绘制。
若自动驾驶信息为车辆感知信息、障碍物轨迹预测信息、轨迹规划信息中的至少一个时,需要在数据渲染签进行预处理。对于预测轨迹以及规划轨迹来说,需要将自动驾驶信息中所有的轨迹点画成一条线,对于障碍物来说,需要将自动驾驶信息中所有点画成一个3D线框。对于自动驾驶信息中直接采集到的点云数据,直接进行点的数据渲染即可,无需预处理。
可选地,数据渲染的模式包括用户渲染模式和开发者渲染模式,利用渲染引擎对自动驾驶待渲染信息进行数据渲染,得到渲染信息,包括:确定数据渲染的模式;在数据渲染的模式为用户模式时,对车辆感知信息、轨迹规划信息、车辆状态信息中的至少一个进行渲染,得到渲染信息;在数据渲染的模式为开发者模式时,对障碍物轨迹预测信息、车辆状态信息、车辆控制信息中的至少一个进行渲染,得到渲染信息。通过在不同的数据渲染的模式对不同的自动驾驶待渲染信息选择性渲染,可减小处理器的运算难度,提高响应速率。同样的,基于渲染引擎的自动驾驶待渲染信息可视化方法开发的可视化工具可设置两种使用模式,即用户模式和开发者模式。在用户模式中,可以将部分需要渲染的元素提前进行建模,使用3D模型进行渲染,例如主车以及障碍物车,这样可视化效果更好,用户体验更好;在开发者模式中,障碍物模型就可以用3D线框来代替,主车可以用一个小圆球代替,在节省模型渲染开销的同时,可以渲染更多的感知信息以及预测信息,方便实时查看或者重现现场问题,进而验证感知、规划控制算法是否正确有效。
可选地,在确定数据渲染的模式之前,利用渲染引擎对自动驾驶待渲染信息进行数据渲染,得到渲染信息,还包括:获取预置的地图信息;对静态主车信息、地图信息进行数据渲染。也即是说,在确定数据渲染的模式之前,首先渲染默认场景。
除自动驾驶信息的获取以及数据处理之外,基于渲染引擎的自动驾驶待渲染信息可视化方法开发可视化工具,还需要考虑整体系统工程的构建,按照前面的思路,利用Unity引擎来进行整体工程的构建及发布。需要将数据接收插件与数据解析、数据处理以及数据渲染的脚本统一构建到一个工程中,整个工程中也需要包括3D模型、渲染背景、物理材质及着色器等等渲染所需的组件。将上述工程进行构建以及打包,最终构建出的工程为一个可执行文件以及一些依赖库文件,运行可执行文件会出现一个渲染界面(图形用户界面),即为可视化工具的最终输出,在构建时可以选择Windows版本、linux版本、iOS版本以及Android版本,基本囊括了目前主流的操作系统,具有很好的可移植性。同时通过修改数据接收插件以及相关的脚本或者预设模型就可以对新的数据进行可视化或对新模型进行渲染,有很强的拓展性,也能够保证整个工具快速的迭代与集成。
图3是根据本发明其中一可选实施例的基于渲染引擎的自动驾驶待渲染信息可视化方法开发的可视化工具的原理图。通过构建的数据接收插件在Cyber_RT或者ROS框架上的自动驾驶系统中读取所需要的数据(即自动驾驶信息),在可视化工具中进行数据的解析与处理,最终利用Unity引擎做最终的渲染以及画面输出。在应用时也能满足多个场景的使用需求:
可视化工具可自动驾驶车辆实车运行时使用:将可视化工具安装在自动驾驶车辆的移动终端上,实时接收自动驾驶系统的数据并通过显示屏实时展示各种数据,满足安全员及用户的数据可视化需求。
可视化工具可本地数据回放时使用:将可视化工具安装在本地的个人PC端,通过线下播放保存的数据包的形式,接收数据包中的数据,可以重现数据包中的场景,帮助开发人员定位问题,验证算法。
可视化工具可配合仿真模拟器使用:将可视化工具安装在本地的个人PC端,配合自动驾驶仿真模拟器,接收仿真模拟器的数据输出,展示仿真模拟的结果。
采用本申请的技术方案,基于渲染引擎的自动驾驶待渲染信息可视化方法具有广泛的应用场景。基于该方法开发的可视化工具,可面向不同用户实现不同的预期功能。
作为一个可选的实施例,以Cyber_RT框架为例,将基于渲染引擎的自动驾驶待渲染信息可视化方法的流程及可视化工具的使用说明如下:
步骤1,编译安装Cyber_RT框架。Apollo Cyber_RT是专为自动驾驶场景设计的开源、高性能运行时框架。基于中心化计算模型,针对自动驾驶的高并发、低延迟、高吞吐做了很大优化。并且,Cyber_RT框架是开源工具,使用方便免费并有专业人员维护。Cyber_RT框架提供加速开发相关功能,包括具有数据融合功能的定义明确的任务接口,大量传感器驱动程序;提供简化部署相关功能,包括高效自适应的消息通信,具有资源意识的可配置用户级调度程序,可移植,依赖更少。
步骤2,编写并构建安装基于Unity引擎的自动驾驶实时数据的可视化工具。以Linux系统为例,按照上面的技术方案构建可视化工具,打包为deb安装包,在自动驾驶车辆的工控机(移动终端)上解压安装,解压安装后有可执行文件以及相关依赖库。
步骤3,运行可视化工具。通过点击可执行文件或者在使用命令行启动可视化工具,选择正确的高精地图,如果不选则渲染默认地图(自动驾驶所用的高精地图是提前采集生成的,是自动驾驶所必备的先决条件),之后会进入默认渲染界面,此时自动驾驶系统未启动,渲染界面中只有静态元素,即主车以及高精地图。
步骤4,启动自动驾驶系统。自动驾驶系统启动之后,感知(perception)模块、预测(prediction)模块、规划(planning)模块、控制(control)模块都会有数据发出,感知模块主要负责障碍物(其他车辆、自行车、人、静态障碍物等)以及红绿灯信号的检测;预测模块是直接接收的感知模块给出的障碍物信息,并预测障碍物的轨迹,预测的轨迹和障碍物信息发送给规划模块使用;规划模块的作用是根据感知预测的结果,当前的车辆信息和路况规划出一条车辆能够行驶的轨迹,这个轨迹会交给控制模块;控制模块的作用是根据规划模块生成的轨迹,计算出汽车的油门,刹车和方向盘信号,控制汽车按照规定的轨迹行驶。此时渲染界面上会出现各模块相应的可视化结果。
步骤5,可视化工具模式切换。在启动之后,可视化工具的渲染界面上就会出现相应的信息,同时可视化工具设置了相关的按键来进行模式的切换。在用户模式下,感知到的障碍物由预设3D模型渲染代替;新增规划模块的主车轨迹线;新增车辆的状态信息如车速、转向灯。在开发者模式下,感知到的障碍物由3D线框代替;新增感知点云;新增预测模块的障碍物预测线;新增各模块状态监控;新增车辆的状态信息如刹车、油门、方向盘转角。开发人员可以通过切换到开发者模式来查看更多数据,方便验证感知、预测及规划控制算法。
步骤6,结束自动驾驶以及可视化。停止并退出自动驾驶系统后,各模块的消息不再更新,渲染界面亦不再变化,可以点击关闭渲染界面,结束使用。
采用本申请的技术方案,基于渲染引擎的自动驾驶待渲染信息可视化方法显示的自动驾驶信息完整性较高,关联性较强,数据实时性好。该方案还具有应用场景多样化的特点,能够满足用户、安全员以及开发人员的数据可视化需求。基于该方法开发的可视化工具使用开源的Unity引擎构建,支持多平台发布集成,迭代速度快,数据可视化渲染效果好,具有开源免费、使用方便、可移植性较高、拓展性强、易用性强等特点。本方案为开发者提供了一个非常方便高效的自动驾驶技术开发方法,即通过数据可视化,可实时查看或者重现现场问题,进而验证感知、规划控制算法是否正确有效。
图4是根据本发明其中一实施例的一种基于渲染引擎的自动驾驶待渲染信息可视化装置的结构框图,如图4所示,该装置包括:获取模块51,用于通过数据读取通道获取目标车辆的自动驾驶信息,其中,数据读取通道由通信组件与自动驾驶操作系统之间建立,自动驾驶信息包括目标车辆在自动驾驶过程中所感知和生成的驾驶信息;数据处理模块52,用于对自动驾驶信息进行数据处理,获得自动驾驶待渲染信息;发送模块53,用于将自动驾驶待渲染信息发送至渲染引擎;渲染模块54,用于利用渲染引擎对自动驾驶待渲染信息进行数据渲染,得到渲染信息,渲染信息通过目标车辆的显示器进行展示。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
步骤S102,通过数据读取通道获取目标车辆的自动驾驶信息,其中,数据读取通道由通信组件与自动驾驶操作系统之间建立,自动驾驶信息包括目标车辆在自动驾驶过程中所感知和生成的驾驶信息;
步骤S40,对自动驾驶信息进行数据处理,获得自动驾驶待渲染信息;
步骤S30,将自动驾驶待渲染信息发送至渲染引擎;
步骤S40,利用渲染引擎对自动驾驶待渲染信息进行数据渲染,得到渲染信息,渲染信息通过目标车辆的显示器进行展示。
本发明的实施例还提供了一种处理器,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
步骤S102,通过数据读取通道获取目标车辆的自动驾驶信息,其中,数据读取通道由通信组件与自动驾驶操作系统之间建立,自动驾驶信息包括目标车辆在自动驾驶过程中所感知和生成的驾驶信息;
步骤S40,对自动驾驶信息进行数据处理,获得自动驾驶待渲染信息;
步骤S30,将自动驾驶待渲染信息发送至渲染引擎;
步骤S40,利用渲染引擎对自动驾驶待渲染信息进行数据渲染,得到渲染信息,渲染信息通过目标车辆的显示器进行展示。
本发明的实施例还提供了一种车辆,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述实施例中的方法。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于渲染引擎的自动驾驶待渲染信息可视化方法,其特征在于,包括:
通过数据读取通道获取目标车辆的自动驾驶信息,其中,所述数据读取通道由通信组件与自动驾驶操作系统之间建立,所述自动驾驶信息包括所述目标车辆在自动驾驶过程中所感知和生成的驾驶信息;
对所述自动驾驶信息进行数据处理,获得自动驾驶待渲染信息;
将所述自动驾驶待渲染信息发送至渲染引擎;
利用所述渲染引擎对所述自动驾驶待渲染信息进行数据渲染,得到渲染信息,所述渲染信息通过所述目标车辆的显示器进行展示。
2.根据权利要求1所述的方法,其特征在于,所述自动驾驶信息的类型包括如下至少之一:车辆感知信息、障碍物轨迹预测信息、轨迹规划信息、车辆状态信息、车辆控制信息、静态主车信息,通过数据读取通道获取目标车辆的自动驾驶信息,包括:
建立多个所述数据读取通道与所述自动驾驶信息的多个所述类型之间的一一映射关系;
利用与所述类型对应的所述数据读取通道读取所述类型所包括的所述自动驾驶信息。
3.根据权利要求1所述的方法,其特征在于,对所述自动驾驶信息进行数据处理,获得自动驾驶待渲染信息,包括:
对所述自动驾驶信息依次进行数据解析、坐标系转换,获得所述自动驾驶待渲染信息。
4.根据权利要求2所述的方法,其特征在于,对所述自动驾驶信息进行数据处理,获得自动驾驶待渲染信息,还包括:
若所述自动驾驶信息为所述车辆感知信息、所述障碍物轨迹预测信息、所述轨迹规划信息中的至少一个时,对所述自动驾驶信息执行数据预处理操作,获得所述自动驾驶待渲染信息,其中,所述预处理操作包括如下至少之一:对轨迹点的线条拟合、对障碍物点的3D线框绘制。
5.根据权利要求2所述的方法,其特征在于,所述数据渲染的模式包括用户渲染模式和开发者渲染模式,利用所述渲染引擎对所述自动驾驶待渲染信息进行数据渲染,得到渲染信息,包括:
确定所述数据渲染的模式;
在所述数据渲染的模式为用户模式时,对所述车辆感知信息、所述轨迹规划信息、所述车辆状态信息中的至少一个进行渲染,得到所述渲染信息;
在所述数据渲染的模式为开发者模式时,对所述障碍物轨迹预测信息、所述车辆状态信息、所述车辆控制信息中的至少一个进行渲染,得到所述渲染信息。
6.根据权利要求2所述的方法,其特征在于,在确定所述数据渲染的模式之前,利用所述渲染引擎对所述自动驾驶待渲染信息进行数据渲染,得到渲染信息,还包括:
获取预置的地图信息;
对所述静态主车信息、所述地图信息进行数据渲染。
7.一种基于渲染引擎的自动驾驶待渲染信息可视化装置,其特征在于,包括:
获取模块,用于通过数据读取通道获取目标车辆的自动驾驶信息,其中,所述数据读取通道由通信组件与自动驾驶操作系统之间建立,所述自动驾驶信息包括所述目标车辆在自动驾驶过程中所感知和生成的驾驶信息;
数据处理模块,用于对所述自动驾驶信息进行数据处理,获得自动驾驶待渲染信息;
发送模块,用于将所述自动驾驶待渲染信息发送至渲染引擎;
渲染模块,用于利用所述渲染引擎对所述自动驾驶待渲染信息进行数据渲染,得到渲染信息,所述渲染信息通过所述目标车辆的显示器进行展示。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至6中任意一项所述的方法。
9.一种处理器,其特征在于,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6任一项中所述的方法。
10.一种车辆,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211521913.9A CN116342773A (zh) | 2022-11-30 | 2022-11-30 | 基于渲染引擎的自动驾驶信息可视化方法、装置及车辆 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211521913.9A CN116342773A (zh) | 2022-11-30 | 2022-11-30 | 基于渲染引擎的自动驾驶信息可视化方法、装置及车辆 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116342773A true CN116342773A (zh) | 2023-06-27 |
Family
ID=86891830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211521913.9A Pending CN116342773A (zh) | 2022-11-30 | 2022-11-30 | 基于渲染引擎的自动驾驶信息可视化方法、装置及车辆 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116342773A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117492758A (zh) * | 2024-01-03 | 2024-02-02 | 安徽中科星驰自动驾驶技术有限公司 | 一种基于WebGL的自动驾驶可视化方法 |
-
2022
- 2022-11-30 CN CN202211521913.9A patent/CN116342773A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117492758A (zh) * | 2024-01-03 | 2024-02-02 | 安徽中科星驰自动驾驶技术有限公司 | 一种基于WebGL的自动驾驶可视化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chao et al. | A survey on visual traffic simulation: Models, evaluations, and applications in autonomous driving | |
US20070271079A1 (en) | Simulator for Vehicle Radio Propagation Including Shadowing Effects | |
CN102136204A (zh) | 大型装备虚拟维修分布交互仿真支撑平台及协同维修方法 | |
Kirner et al. | Virtual reality and augmented reality applied to simulation visualization | |
CN113341935A (zh) | 一种车辆测试方法、装置、测试设备、系统及存储介质 | |
Fadaie | The state of modeling, simulation, and data utilization within industry: An autonomous vehicles perspective | |
CN113342704B (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
CN112230632B (zh) | 用于自动驾驶的方法、装置、设备和存储介质 | |
Miura et al. | Autoware toolbox: Matlab/simulink benchmark suite for ros-based self-driving software platform | |
CN116342773A (zh) | 基于渲染引擎的自动驾驶信息可视化方法、装置及车辆 | |
Nakasone et al. | OpenEnergySim: A 3D internet based experimental framework for integrating traffic simulation and multi-user immersive driving | |
Töttel et al. | Reliving the dataset: Combining the visualization of road users’ interactions with scenario reconstruction in virtual reality | |
Zhou et al. | A survey on autonomous driving system simulators | |
Neumeier et al. | Yet another driving simulator openrouts3d: The driving simulator for teleoperated driving | |
CN112157648A (zh) | 基于urdf的车载机械臂建模与仿真方法 | |
van Hegelsom et al. | Development of a 3D digital twin of the Swalmen Tunnel in the Rijkswaterstaat project | |
CN115061386A (zh) | 智能驾驶的自动化仿真测试系统及相关设备 | |
CN113435026A (zh) | 一种交通管控系统 | |
López et al. | ROS2 and Unity based Simulation for telepresence robot | |
Rebling et al. | Development and testing of driver assistance systems with unity | |
CN118550540B (zh) | 在Web端控制3D虚拟模型的方法、装置、设备及介质 | |
Mehlitz et al. | Analyzing airspace data with race | |
US12125326B1 (en) | Systems and methods for visualizing vehicle data | |
CN117687321A (zh) | 模型在环仿真测试方法、装置、电子设备及存储介质 | |
US20240233266A9 (en) | Method And System For Generating Virtual Environment To Verify Autonomous Driving Service |
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 |