一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种智能驾驶系统开发工具链系统及其运行方法与流程

2022-09-04 04:59:00 来源:中国专利 TAG:


1.本发明主要涉及车机系统开发领域,尤其涉及一种智能驾驶系统开发工具链系统及其运行方法。


背景技术:

2.随着智能驾驶技术的快速发展,在感知、融合、规划以及控制各个环节需要的辅助工具越来越多,包括多种功能开发工具。智能驾驶相关开发人员在开发过程中往往是根据需要使用不同的工具,多种智能驾驶工具缺乏工具链方式的较为系统的管理,使用起来较为凌乱,从而影响了开发与测试的效率。


技术实现要素:

3.本发明要解决的技术问题是提供一种智能驾驶系统开发工具链系统及其运行方法,实现智能驾驶开发工具的高效管理与整合。
4.为解决上述技术问题,本发明提供了一种智能驾驶系统开发工具链系统的运行方法,所述系统包括开发平台层、开发工具集模块、工具管理中心模块和显示与操作界面,所述开发平台层包括运行于开发设备端的第一类通信框架和运行于车端的第一域控制器,所述第一类通信框架和第一域控制器具有相应的通信接口模块;所述第一域控制器的通信接口模块用于获取车辆运行数据,所述第一域控制器将获取的车辆运行数据传输至所述第一类通信框架,所述开发工具集模块中的各个模块通过所述第一类通信框架的通信接口模块获取所述车辆运行数据,所述开发工具集模块包括数据源工具模块,所述工具管理中心模块包括开发接口模块,所述方法包括:响应于所接收的界面操作,在界面上添加所需的工具对应的控件;所述界面通过调用开发接口模块通知工具管理中心模块加载所述开发工具模块中的相应工具,同时在所述界面加载相应工具的界面资源;所述工具管理中心对加载的工具进行资源初始化;响应于在所述界面接收到的数据源选择操作,通过调用开发接口模块通知工具管理中心模块进行绑定对应数据源操作,所述工具管理中心模块驱动数据源工具模块绑定对应的车辆运行数据。
5.在本发明的一实施例中,所述方法还包括:在绑定对应的车辆运行数据时,所述数据源工具模块判断数据处于在线模式或离线模式;如果为离线模式,则所述数据源工具模块向所述工具管理中心模块请求离线数据;所述工具管理中心模块在接收到所述离线数据请求时,判断当前数据处理状态是否为数据回放;如果是数据回放状态,则对运行数据中的回放数据进行管理并获取对应的数据缓存;如果不是数据回放状态,则直接获取离线数据缓存,并对离线数据进行处理分发;所述数据源工具模块通过数据队列对所述离线数据进行接收与管理。
6.在本发明的一实施例中,所述方法还包括:在绑定对应的车辆运行数据时,所述数据源工具模块判断数据处于在线模式或离线模式;如果为在线模式,则所述数据源工具模块通过所述第一类通信框架的通信接口模块接收到所述车辆运行数据后,通过数据队列进
行管理,根据是否接到可视化选择操作判断是否回调数据;如果接受到可视化选择操作,则所述数据源工具模块依次通过所述工具管理中心模块以及开发接口模块向所述显示与操作界面回调数据,所述显示与操作界面通过渲染控件对回调的数据进行可视化处理;
7.如果未接受到可视化选择操作,则所述数据源工具模块继续通过数据队列继续遍历数据。
8.在本发明的一实施例中,所述开发工具集模块还包括标注工具模块,所述方法还包括:所述标注工具模块通过数据源工具模块获取车辆运行数据后进行标注操作;完成标注操作后,依次通过所述工具管理中心模块以及开发接口模块向所述显示与操作界面回调标注结果;所述显示与操作界面通过渲染控件渲染显示所述标注操作的处理结果。
9.在本发明的一实施例中,所述工具管理中心模块还包括数据管理子模块、工具加载子模块、工具驱动子模块和运行文件管理子模块;其中,数据管理子模块用于数据缓存、数据回放等数据处理操作的管理;工具加载子模块用于加载所述界面操作选择的一个或多个工具的加载;工具驱动子模块用于根据信令驱动工具运行;运行文件管理子模块用于配置信息文件、图像数据、点云数据以及运行基础数据的保存与载入,所述运行文件管理子模块涉及文件压缩解压的操作采用外部压缩库实现压缩与解压。
10.在本发明的一实施例中,所述开发工具集模块还包括数据转包工具和点云数据处理工具;所述数据转包工具对从车端获取的数据包进行解析,以获取相应的图像视频流数据和/或点云数据。
11.在本发明的一实施例中,所述系统还包括交互协议模块,所述显示与操作界面基于所述交互协议模块定义的传输协议与所述工具管理中心模块以及开发接口模块实现数据传输。
12.在本发明的一实施例中,所述开发工具集模块还包括自定义工具模块,所述工具管理中心模块还包括自定义工具管理子模块,所述方法还包括:在所述界面接收到开发自定义工具模块的操作时,继承所述的工具链系统的开发接口模块提供的自定义工具模块开发的代码模块;对所述自定义工具模块作初始化接口生成操作,用于所述工具管理中心模块驱动对应自定义工具初始化;基于所述自定义工具模块的数据交互需求的选择操作,进行参数配置接口生成操作,用于所述工具管理中心驱动对应的自定义工具模块进行参数设置与获取;对所述自定义工具模块作处理接口生成操作,所述自定义工具模块的处理逻辑在所述处理接口中实现,所述工具管理中心驱动对应的自定义工具模块基于所述处理逻辑进行工具内部逻辑处理;基于对输出结果需求的选择操作,进行所述自定义工具模块的输出结果接口生成操作,用于所述工具管理中心模块驱动对应的自定义工具模块进行结果输出操作;基于对资源管理需求或数据后处理需求的选择操作,进行所述自定义工具模块的后处理接口生成操作,用于所述工具管理中心模块的自定义工具管理子模块驱动对应的自定义工具模块进行数据后处理操作。
13.本发明还提供一种智能驾驶系统开发工具链系统,包括:开发平台层,包括运行于开发设备端的第一类通信框架和运行于车端的第一域控制器,所述第一类通信框架和第一域控制器具有相应的通信接口模块;所述第一域控制器的通信接口模块用于获取车辆运行数据,所述第一域控制器将获取的车辆运行数据传输至所述第一类通信框架;开发工具集模块,包括数据源工具模块;工具管理中心模块,包括开发接口模块;显示与操作界面;所述
系统被配置为执行如下操作:响应于所接收的界面操作,在界面上添加所需的工具对应的控件;所述界面通过调用开发接口模块通知工具管理中心模块加载所述开发工具模块中的相应工具,同时在所述界面加载相应工具的界面资源;所述工具管理中心对加载的工具进行资源初始化;响应于在所述界面接收到的数据源选择操作,通过调用开发接口模块通知工具管理中心模块进行绑定对应数据源操作,所述工具管理中心模块驱动数据源工具模块绑定对应的车辆运行数据。
14.与现有技术相比,本发明具有以下优点:本技术的技术方案,支持多个平台的数据采集与协议解析,便于开发工具的整合、管理与协同,支持用户开发自定义工具与集成操作,支持不同工具的流程化配置和工具间数据传输与共享,提高了系统的扩展性和开放性。
附图说明
15.附图是为提供对本技术进一步的理解,它们被收录并构成本技术的一部分,附图示出了本技术的实施例,并与本说明书一起起到解释本技术原理的作用。附图中:
16.图1是本技术一实施例的智能驾驶系统开发工具链系统的架构示意图。
17.图2是本技术一实施例的智能驾驶系统开发工具链系统的运行方法的流程示意图。
18.图3是本技术一实施例的智能驾驶系统开发工具链系统的架构示意图。
19.图4是本技术一实施例的智能驾驶系统开发工具链系统的自定义工具模块开发步骤示意图。
20.图5是本技术一实施例的智能驾驶系统开发工具链系统的架构示意图。
具体实施方式
21.为了更清楚地说明本技术的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
22.如本技术和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本技术的范围。
23.此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件或组件,仅仅是为了便于对相应零部件或组件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本技术保护范围的限制。此外,尽管本技术中所使用的术语是从公知公用的术语中选择的,但是本技术说明书中所提及的一些术语可能是申请人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本技术。
24.本技术中使用了流程图用来说明根据本技术的实施例的系统所执行的操作。应当
理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
25.本技术的实施例描述一种智能驾驶系统开发工具链系统及其运行方法。
26.图1是本技术一实施例的智能驾驶系统开发工具链系统的架构示意图。图2是本技术一实施例的智能驾驶系统开发工具链系统的运行方法流程示意图。
27.参考图1和图2,智能驾驶系统开发工具链系统包括开发平台层、开发工具集模块、工具管理中心模块和显示与操作界面。显示与操作界面也可简称为界面或主界面。
28.图5是本技术一实施例的智能驾驶系统开发工具链系统的架构示意图。参考图1和图5,所述开发平台层包括运行于开发设备端的第一类通信框架和运行于车端的第一域控制器,所述第一类通信框架和第一域控制器具有相应的通信接口模块;所述第一域控制器的通信接口模块用于获取车辆运行数据,所述第一域控制器将获取的车辆运行数据传输至所述第一类通信框架。第一类通信框架和第一域控制器在系统中也可具体称为第一类通信框架模块和第一域控制器模块。
29.在一些实施例中,所述第一类通信框架模块例如包括ros通信框架和cyber rt通信框架。第一域控制器例如包括mdc域控制器。ros通信框架、cyber rt通信框架和mdc域控制器可由车机系统开发厂商提供。mdc域控制器是移动数据中心(mobile data center)域控制器的简称。apollo cyber rt框架是用于自动驾驶技术设计的通信框架。ros通信框架是一种分布式框架。ros通信框架、cyber rt通信框架例如为在
×
86端(指cpu类型)开发,开发设备端例如为pc设备端。mdc域控制器如为基于arm端开发,具体例如为车载arm端,或称为车端arm。
30.第一域控制器将获取的车辆运行数据传输至所述第一类通信框架,所述开发工具集模块中的各个模块通过所述第一类通信框架的通信接口模块获取所述车辆运行数据,所述开发工具集模块包括数据源工具模块,所述工具管理中心模块包括开发接口模块。
31.在一些实施例中,参考图2,智能驾驶系统开发工具链系统的运行方法包括,步骤101,响应于所接收的界面操作(或称为用户操作),在界面上添加所需的工具对应的控件;步骤102,所述界面通过调用开发接口模块通知工具管理中心模块加载所述开发工具模块中的相应工具,同时在所述界面加载相应工具的界面资源;步骤103,所述工具管理中心对加载的工具进行资源初始化;步骤104,响应于在所述界面接收到的数据源选择操作,通过调用开发接口模块通知工具管理中心模块进行绑定对应数据源操作,所述工具管理中心模块驱动数据源工具模块绑定对应的车辆运行数据。
32.在一些实施例中,参考图2,智能驾驶系统开发工具链系统的运行方法还包括,步骤201,在绑定对应的车辆运行数据时,所述数据源工具模块判断数据处于在线模式或离线模式;步骤202,如果为离线模式,则所述数据源工具模块向所述工具管理中心模块请求离线数据;步骤203,所述工具管理中心模块在接收到所述离线数据请求时,判断当前数据处理状态是否为数据回放;步骤204,如果是数据回放状态,则对运行数据中的回放数据进行管理并获取对应的数据缓存;如果不是数据回放状态,则直接获取离线数据缓存,并对离线数据进行处理分发;步骤205,所述数据源工具模块通过数据队列对所述离线数据进行接收与管理。
33.图2是本技术一实施例的智能驾驶系统开发工具链系统的运行方法的流程示意
图,也是本技术一实施例的智能驾驶系统开发工具链系统的信号流转示意图。
34.在一些实施例中,智能驾驶系统开发工具链系统的运行方法还包括,步骤301,在绑定对应的车辆运行数据时,所述数据源工具模块判断数据处于在线模式或离线模式;步骤302,如果为在线模式,则所述数据源工具模块通过所述第一类通信框架的通信接口模块接收到所述车辆运行数据后,通过数据队列进行管理,根据是否接到可视化选择操作判断是否回调数据;步骤303,如果接受到可视化选择操作,则所述数据源工具模块依次通过所述工具管理中心模块以及开发接口模块向所述显示与操作界面回调数据,所述显示与操作界面通过渲染控件对回调的数据进行可视化处理;步骤304,如果未接受到可视化选择操作,则所述数据源工具模块继续通过数据队列继续遍历数据。
35.在一些实施例中,参考图1和图2,所述开发工具集模块还包括标注工具模块,所述运行方法还包括,步骤401,所述标注工具模块通过数据源工具模块获取车辆运行数据后进行标注操作;步骤402,完成标注操作后,依次通过所述工具管理中心模块以及开发接口模块向所述显示与操作界面回调标注结果;步骤403,所述显示与操作界面通过渲染控件渲染显示所述标注操作的处理结果。
36.图3是本技术一实施例的智能驾驶系统开发工具链系统的架构示意图。
37.在一些实施例中,参考图1和图3,所述工具管理中心模块还包括数据管理子模块、工具加载子模块、工具驱动子模块和运行文件管理子模块。
38.其中,数据管理子模块用于数据缓存、数据回放等数据处理操作的管理;工具加载子模块用于加载所述界面操作选择的一个或多个工具的加载。
39.工具驱动子模块用于根据信令驱动工具运行;运行文件管理子模块用于配置信息文件、图像数据、点云数据以及运行基础数据的保存与载入,所述运行文件管理子模块涉及文件压缩解压的操作采用外部压缩库实现压缩与解压。信令例如系统或用户预先设置的信令。外部压缩库也可称为第三方压缩库。
40.在一些实施例中,所述开发工具集模块还包括数据转包工具和点云数据处理工具;所述数据转包工具对从车端获取的数据包进行解析,以获取相应的图像视频流数据和/或点云数据。
41.在一些实施例中,所述系统还包括交互协议模块,所述显示与操作界面基于所述交互协议模块定义的传输协议与所述工具管理中心模块以及开发接口模块实现数据传输。交互协议模块例如对应于图3中的第三方协议库的标示。在一些实施例中,参考图5,交互协议模块例如包括protobuf协议。
42.在一些实施例中,所述显示与操作界面包括界面主体框架模块、2d/3d渲染控件和工具配置控件,所述2d/3d渲染控件用于所述车辆运行数据的渲染显示。所述2d/3d渲染控件例如基于opengl库与opencv库进行实现。显示与操作界面例如支持2d/3d数据可视化,包括相机采集图像、avm(around view monitor,全景式影像监控)拼接图与点云数据等。渲染过程支持与获取的车辆运行数据刷新同步。显示与操作界面例如还支持目标标注框(bounding box)的标注、选中与删除,支持分割标注可视化的透明度调节、分割区域的隐藏与显示操纵。
43.在一些实施例中,参考图1,智能驾驶系统开发工具链系统还包括web端界面,所述方法还包括,步骤501,所述web端界面从所述开发接口模块获取车辆运行数据;步骤502,通
过所述web端界面实现所述系统与云端的数据交互及数据交互过程的可视化。
44.在一些实施例中,参考图3,智能驾驶系统开发工具链系统还包括客户端接口模块(例如图3中的http client模块),所述方法还包括:所述客户端接口模块与云端对应的服务端接口模块(例如图3中的http server模块)通信,实现系统与云端的数据交互。
45.图1、图3和图5中,为清晰展现智能驾驶系统开发工具链系统的架构,工具管理中心模块的开发接口模块与工具管理中心模块采用分开图示方式。
46.图4是本技术一实施例的智能驾驶系统开发工具链系统的自定义工具模块开发步骤示意图。
47.在一些实施例中,参考图1至图4,所述开发工具集模块还包括自定义工具模块,所述工具管理中心模块还包括自定义工具管理子模块,所述方法还包括:步骤601,在所述界面接收到开发自定义工具模块的操作时,继承所述的工具链系统的开发接口模块提供的自定义工具模块开发的代码模块;步骤602,对所述自定义工具模块作初始化接口生成操作,用于所述工具管理中心模块驱动对应自定义工具初始化;步骤603,基于所述自定义工具模块的数据交互需求的选择操作,进行参数配置接口生成操作,用于所述工具管理中心驱动对应的自定义工具模块进行参数设置与获取;步骤604,对所述自定义工具模块作处理接口生成操作,所述自定义工具模块的处理逻辑在所述处理接口(图4标示为process接口)中实现,所述工具管理中心驱动对应的自定义工具模块基于所述处理逻辑进行工具内部逻辑处理;步骤605,基于对输出结果需求的选择操作,进行所述自定义工具模块的输出结果接口生成操作,用于所述工具管理中心模块驱动对应的自定义工具模块进行结果输出操作;步骤606,基于对资源管理需求或数据后处理需求的选择操作,进行所述自定义工具模块的后处理接口生成操作,用于所述工具管理中心模块的自定义工具管理子模块驱动对应的自定义工具模块进行数据后处理操作。
48.工具管理中心模块驱动对应的自定义工具模块进行结果输出操作例如也可通过工具管理中心模块中的自定义工具管理子模块实现。
49.本技术还提供一种智能驾驶系统开发工具链系统。智能驾驶系统开发工具链系统的组成例如前文所描述。
50.在一些实施例中,智能驾驶系统开发工具链系统被配置为执行如步骤101至步骤104或步骤201至步骤205对应的操作。前述其他的操作步骤不再赘述。
51.本技术的智能驾驶系统开发工具链系统及其运行方法,支持多个平台的数据采集与协议解析,便于开发工具的整合、管理与协同,支持用户开发自定义工具与集成操作,支持不同工具的流程化配置和工具间数据传输与共享,提高智能驾驶系统开发效率。
52.通过不同工具的流程化配置,实现不同工具的执行顺序的控制,便于系统开发测试流程的顺畅进行。
53.本技术使用了特定词语来描述本技术的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本技术至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本技术的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
54.本技术的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、
微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dapd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器或者其组合。此外,本技术的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带
……
)、光盘(例如,压缩盘cd、数字多功能盘dvd
……
)、智能卡以及闪存设备(例如,卡、棒、键驱动器
……
)。
55.计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。
56.同理,应当注意的是,为了简化本技术披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本技术实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本技术对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
57.虽然本技术已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本技术,在没有脱离本技术精神的情况下还可作出各种等效的变化或替换,因此,只要在本技术的实质精神范围内对上述实施例的变化、变型都将落在本技术的权利要求书的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献