A kind of automatic driving software framework system and implementation method and device

By designing an autonomous driving software framework system that includes modules such as abstract components, sub-components, configurators, etc., the problem of inefficiency in the development, integration and transplantation of multiple sub-modules in the prior art is solved, and an efficient, universal and easily transplanted autonomous driving software framework is realized.

CN114546342BActive Publication Date: 2025-03-14CHONGQING CHANGAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210151041.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-14
Publication Date
2025-03-14
Estimated Expiration
2042-02-14

AI Technical Summary

Technical Problem

The existing autonomous driving software framework has inefficiency in the prototyping, integration, testing and embedded migration of multiple submodules, especially in the migration and embedded environment adaptation of different hardware platforms.

Method used

An autonomous driving software framework system is designed, including abstract components, subcomponents, configurators, configuration files, data centers, initiators, data loggers and data rebloggers, through which components and modules realize dynamic loading, operation control, data communication and offline data analysis verification of components.

Benefits of technology

It realizes a lightweight, versatile and highly portable autonomous driving software framework, is compatible with multiple messaging frameworks, and is adapted to multiple message request mechanisms, meeting the needs of different underlying software deployments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114546342B_ABST
    Figure CN114546342B_ABST
Patent Text Reader

Abstract

The present invention discloses an automatic driving software framework system, and discloses a method and related devices for implementing the system. Based on predefined abstract components, independent software modules are derived and compiled into dynamic link libraries; based on the software framework configuration file template, modifications are made to describe subcomponents; the software framework executor is started to determine whether it is in offline mode. If it is, a data injector is run to load offline storage files and send data to instantiated components through a data center. If it is not, a configurator is started to load a predefined configuration file, read relevant settings, start a component launcher, and based on the setting information provided by the configurator, dynamically load the required component dynamic link library to instantiate the component; then all instantiated components are run, and all instantiated components are driven to run by receiving data online or offline data; finally, it is determined whether data needs to be recorded. If so, a data recording module is started to store all data information in the software framework in a local file.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of autonomous driving, and in particular to an autonomous driving software framework system and an implementation method and device. Background Art

[0002] In the process of developing autonomous driving software, whether the prototype development, integration, testing, and embedded transplantation verification of multiple submodules can be efficiently realized is the key point to determine the successful development of the product. Some commercial software frameworks on the market are either bound to their own hardware and cannot be efficiently transplanted to different hardware platforms, or are only applicable to PC platforms and cannot be efficiently transplanted to embedded environments. Summary of the invention

[0003] In view of the above-mentioned deficiencies in the prior art, the technical problem to be solved by the present invention is: how to provide a lightweight, versatile and highly portable autonomous driving software framework system.

[0004] In order to solve the above technical problems, the present invention adopts the following technical solutions:

[0005] An autonomous driving software framework system, including an abstract component, a subcomponent, a configurator, a configuration file, a data center, a launcher, a data recorder, and a data injector;

[0006] As the parent class of software framework development components, abstract components provide common interfaces for component creation, operation, priority configuration, and communication channel establishment;

[0007] The subcomponent is an extended component, that is, a functional component designed and developed by the user based on the software framework. It inherits the abstract component and rewrites the setp function of the abstract component according to the function it implements. The input and output required by the subcomponent are obtained through the interface provided by the abstract component.

[0008] The configurator is responsible for reading the text content in the configuration file and converting it into corresponding variables for dynamic use by the application;

[0009] The configuration file defines all configurable variables in the software framework;

[0010] The data center is responsible for data communication between subcomponents;

[0011] The launcher is responsible for dynamically loading the required subcomponents according to the configuration file, and controlling the operation control, status monitoring and priority setting of all subcomponents;

[0012] The data logger is responsible for recording all data defined in the configuration file and saving it in the storage device;

[0013] The data injector is responsible for reading the record files in the data logger, injecting the data into the software framework according to the time sequence when it was recorded, and driving the subcomponents to run for offline data analysis and verification.

[0014] A method for implementing an autonomous driving software framework comprises the following steps:

[0015] (1) Based on predefined abstract components, all independent software modules are derived and compiled into dynamic link libraries;

[0016] (2) Modify the software framework configuration file template to describe all required subcomponents;

[0017] (3) Start the software framework executor and determine whether it is in offline mode. If so, execute step (4); if not, execute step (5);

[0018] (4) Run the data injector, load the offline storage file, send the data to the instantiated component through the data center, and execute step (6);

[0019] (5) The startup configurator loads the predefined configuration file, reads the relevant settings, starts the component launcher, dynamically loads the required component dynamic link library based on the setting information provided by the configurator, instantiates the component, and executes step (6);

[0020] (6) Run all instantiated components and drive all instantiated components to run by receiving data online or offline;

[0021] (7) Determine whether data needs to be recorded. If so, start the data recording module and store all data information in the software framework into a local file.

[0022] As an optimization, the input and output required by the subcomponent are obtained through the interface provided by the abstract component.

[0023] An electronic device based on an autonomous driving software framework implementation method includes a memory configured to store executable instructions;

[0024] A processor is configured to execute executable instructions stored in a memory to implement the method for implementing an autonomous driving software framework.

[0025] A computer-readable storage medium having computer program instructions stored thereon, wherein the computer program instructions execute the method for implementing an autonomous driving software framework.

[0026] In summary, the beneficial effects of the present invention are: the present invention is compatible with the zmq and dds messaging frameworks, and is adapted to multiple message request mechanisms such as publish-subscribe, callback, and request-return, and is encapsulated into a unified interface to meet the needs of various underlying software deployments. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to make the purpose, technical solution and advantages of the invention more clear, the present invention will be further described in detail below with reference to the accompanying drawings, in which:

[0028] Figure 1 It is a schematic diagram of the process of the present invention. DETAILED DESCRIPTION

[0029] The present invention will be further described in detail below in conjunction with the accompanying drawings.

[0030] like Figure 1 As shown, an autonomous driving software framework system in this specific implementation includes an abstract component, a subcomponent, a configurator, a configuration file, a data center, a launcher, a data recorder, and a data injector;

[0031] As the parent class of software framework development components, abstract components provide common interfaces for component creation, operation, priority configuration, and communication channel establishment;

[0032] The subcomponent is an extended component, that is, a functional component designed and developed by the user based on the software framework. It inherits the abstract component and rewrites the setp function of the abstract component according to the function it implements. The input and output required by the subcomponent are obtained through the interface provided by the abstract component.

[0033] The configurator is responsible for reading the text content in the configuration file and converting it into corresponding variables for dynamic use by the application;

[0034] The configuration file defines all configurable variables in the software framework;

[0035] The data center is responsible for data communication between subcomponents;

[0036] The launcher is responsible for dynamically loading the required subcomponents according to the configuration file, and controlling the operation control, status monitoring and priority setting of all subcomponents;

[0037] The data logger is responsible for recording all data defined in the configuration file and saving it in the storage device;

[0038] The data injector is responsible for reading the record files in the data logger, injecting the data into the software framework according to the time sequence when it was recorded, and driving the subcomponents to run for offline data analysis and verification.

[0039] A method for implementing an autonomous driving software framework comprises the following steps:

[0040] (1) Based on the predefined abstract components, all independent software modules are derived and compiled into dynamic link libraries. The abstract components serve as the parent class of all components developed based on this software framework, providing all common interfaces such as component creation, operation, priority configuration, and communication channel establishment;

[0041] (2) Modify the configuration file template of the software framework to describe the path, priority, communication channel and other information of all required subcomponents. The subcomponent is an extended component, that is, a functional component designed and developed by the user based on the software framework of the present invention. It only needs to inherit the abstract component and rewrite the setp function of the abstract component according to all its implemented functions. The required input and output can be easily obtained through the corresponding interface provided by the abstract component, without considering the calling, communication and final deployment of the component.

[0042] (3) Start the software framework executor and determine whether it is in offline mode. If so, execute step (4); if not, execute step (5);

[0043] (4) Run the data injector, load the offline storage file, send the data to the instantiated component through the data center, and execute step (6). The data injector is responsible for reading the data recorder record file and injecting the data into the software framework according to the time sequence when it was recorded, thereby driving each module to run for offline data analysis and verification. The data center module abstracts and isolates the specific communication methods between components, and can flexibly replace the communication middleware without affecting other application components. It is responsible for data communication between components.

[0044] (5) The startup configurator loads the predefined configuration file, reads the relevant settings, starts the component launcher, and based on the setting information provided by the configurator, dynamically loads the required component dynamic link library, instantiates the component, and executes step (6). The configurator is responsible for reading the text content in the configuration file and converting it into corresponding variables for dynamic use by the application. The configuration file defines all configurable variables in the software framework. The component launcher is responsible for dynamically loading the required component modules according to the configuration file, and controlling the operation control, status monitoring, priority setting, etc. of all components. The component launcher is responsible for dynamically loading the required component modules according to the configuration file, and controlling the operation control, status monitoring, priority setting, etc. of all components.

[0045] (6) Run all instantiated components and drive all instantiated components to run by receiving data online or offline;

[0046] (7) Determine whether data needs to be recorded. If so, start the data recording module and store all data information in the software framework into a local file. The data recorder is responsible for recording all input and output data defined in the configuration file and saving it in the storage device.

[0047] An electronic device based on an autonomous driving software framework implementation method includes a memory configured to store executable instructions;

[0048] A processor is configured to execute executable instructions stored in a memory to implement the method for implementing an autonomous driving software framework.

[0049] A computer-readable storage medium having computer program instructions stored thereon, wherein the computer program instructions execute the method for implementing an autonomous driving software framework.

[0050] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than to limit it. Although the present invention has been described with reference to the preferred embodiments of the present invention, it should be understood by those skilled in the art that various changes may be made in form and details without departing from the spirit and scope of the present invention as defined in the appended claims.

Claims

1. An autonomous driving software framework system, characterized by: Includes abstract components, subcomponents, configurators, configuration files, data centers, enablers, data loggers, and data injectors; As the parent class of software framework development components, abstract components provide common interfaces for component creation, operation, priority configuration, and communication channel establishment; The subcomponent is an extended component, that is, a functional component designed and developed by the user based on the software framework. It inherits the abstract component and rewrites the setp function of the abstract component according to the function it implements. The input and output required by the subcomponent are obtained through the interface provided by the abstract component. The configurator is responsible for reading the text content in the configuration file and converting it into corresponding variables for dynamic use by the application; The configuration file defines all configurable variables in the software framework; The data center is responsible for data communication between subcomponents; The launcher is responsible for dynamically loading the required subcomponents according to the configuration file, and controlling the operation control, status monitoring and priority setting of all subcomponents; The data logger is responsible for recording all data defined in the configuration file and saving it in the storage device; The data injector is responsible for reading the record files in the data logger, injecting the data into the software framework according to the time sequence when it was recorded, and driving the subcomponents to run for offline data analysis and verification.

2. A method for implementing an autonomous driving software framework, characterized in that: The following steps are involved: (1) Based on the predefined abstract components, all independent software modules are derived and compiled into dynamic link libraries. The abstract components serve as the parent class of all components developed based on this software framework, providing all common interfaces for component creation, operation, priority configuration, and communication channel establishment; (2) Modify the software framework configuration file template to describe all required subcomponents; (3) Start the software framework executor and determine whether it is in offline mode. If so, execute step (4); if not, execute step (5); (4) Run the data injector, load the offline storage file, send the data to the instantiated component through the data center, and execute step (6). The data injector is responsible for reading the data recorder record file and injecting the data into the software framework according to the time sequence when it was recorded, thereby driving each module to run for offline data analysis and verification. The data center module abstracts and isolates the specific communication methods between components, and can flexibly replace the communication middleware without affecting other application components. It is responsible for data communication between components. (5) The startup configurator loads the predefined configuration file, reads the relevant settings, starts the component launcher, and based on the setting information provided by the configurator, dynamically loads the required component dynamic link library, instantiates the component, and executes step (6). The configurator is responsible for reading the text content in the configuration file and converting it into corresponding variables for dynamic use by the application. The configuration file defines all configurable variables in the software framework. The component launcher is responsible for dynamically loading the required component modules according to the configuration file, and controlling the operation control, status monitoring, and priority setting of all components. The component launcher is responsible for dynamically loading the required component modules according to the configuration file, and controlling the operation control, status monitoring, and priority setting of all components. (6) Run all instantiated components and drive all instantiated components to run by receiving data online or offline; (7) Determine whether data needs to be recorded. If so, start the data recording module and store all data information in the software framework into a local file.

3. The method for implementing an autonomous driving software framework according to claim 2, characterized in that: The input and output required by the subcomponent are obtained through the interface provided by the abstract component.

4. An electronic device based on an implementation method of an autonomous driving software framework, characterized in that: including a memory configured to store executable instructions; A processor configured to execute executable instructions stored in the memory to implement the method according to any one of claims 2 or 3.

5. A computer-readable storage medium having computer program instructions stored thereon, characterized in that: The computer program instructions execute the method described in any one of claims 2 or 3 above.

Citation Information

Patent Citations

  • Modularization implementation system of intelligent driving domain controller software

    CN112860249A

  • Realtime processing of streaming data

    US20160004578A1