Resource allocation methods, devices, electronic equipment and storage media

By configuring resource specifications for each functional module of an autonomous vehicle and using an application container engine to achieve resource isolation, the problem of excessive consumption caused by resource sharing between modules is solved, thereby improving the stability and efficiency of the system.

CN114237827BActive Publication Date: 2026-01-30APOLLO INTELLIGENT CONNECTIVITY (BEIJING) TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111574344.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-21
Publication Date
2026-01-30
Estimated Expiration
2041-12-21

AI Technical Summary

Technical Problem

In autonomous vehicles, the sharing of resources among functional modules leads to excessive resource consumption by individual modules, making it difficult to find problems and affecting system stability and efficiency.

Method used

By using an application container engine, each functional module of the autonomous driving suite is configured with its own corresponding resource specifications, and resource isolation is achieved through virtualization to avoid resource sharing between modules.

Benefits of technology

This improved the resource utilization of each functional module and enhanced the stability and efficiency of the autonomous driving system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114237827B_ABST
    Figure CN114237827B_ABST
Patent Text Reader

Abstract

This disclosure provides a resource configuration method, apparatus, electronic device, and storage medium, relating to the field of autonomous driving technology. The method includes: determining the resource specifications corresponding to each functional module of an autonomous driving kit; configuring corresponding resources for each functional module using an application container engine based on the resource specifications; wherein the resources include at least one of processor resources or storage resources. This technical solution, by configuring corresponding resources for each functional module using an application container engine based on the resource specifications of each functional module of the autonomous driving kit, achieves resource isolation between functional modules, avoids excessive resource consumption by a single functional module, thereby improving the resource utilization rate of each functional module and enhancing the stability and efficiency of the autonomous driving system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and more particularly to the field of autonomous driving technology. Background Technology

[0002] Autonomous vehicles rely on the collaborative efforts of artificial intelligence, computer vision, radar, monitoring devices, and GPS to enable computers to operate motor vehicles safely and automatically without any human intervention. Autonomous vehicles can be controlled by industrial control computers, which consist of multiple functional modules. Excessive resource consumption by a single module can easily cause the autonomous vehicle to de-autonomously. Because multiple modules are involved, troubleshooting can be difficult. Summary of the Invention

[0003] This disclosure provides a resource allocation method, apparatus, electronic device, and storage medium.

[0004] According to one aspect of this disclosure, a resource allocation method is provided, comprising:

[0005] Determine the resource specifications corresponding to each functional module of the autonomous driving kit;

[0006] Based on the resource specifications, the application container engine is used to configure the corresponding resources for each functional module.

[0007] The resources include at least one of processor resources or storage resources.

[0008] According to another aspect of this disclosure, a resource allocation apparatus is provided, comprising:

[0009] The determination module is used to determine the resource specifications corresponding to each functional module of the autonomous driving kit.

[0010] The configuration module is used to configure the corresponding resources for each functional module according to the resource specifications using the application container engine;

[0011] The resources include at least one of processor resources or storage resources.

[0012] According to another aspect of this disclosure, an electronic device is provided, comprising:

[0013] At least one processor; and

[0014] The memory is communicatively connected to the at least one processor; wherein,

[0015] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the methods in any embodiment of this disclosure.

[0016] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions for causing a computer to perform the methods of any embodiment of this disclosure.

[0017] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the methods of any embodiment of this disclosure.

[0018] This disclosure provides a resource configuration method, apparatus, electronic device, and storage medium. Based on the resource specifications corresponding to each functional module of the autonomous driving kit, an application container engine is used to configure the corresponding resources for each functional module, thereby achieving resource isolation between functional modules, avoiding excessive resource consumption by a single functional module, improving the resource utilization rate of each functional module, and enhancing the stability and working efficiency of the autonomous driving system.

[0019] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0020] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:

[0021] Figure 1 This is a flowchart of a resource allocation method in one embodiment of the present disclosure;

[0022] Figure 2 This is a schematic diagram of a resource allocation method in one embodiment of the present disclosure;

[0023] Figure 3 This is a flowchart of a resource allocation method in one embodiment of the present disclosure;

[0024] Figure 4 This is a schematic diagram of a resource allocation device in one embodiment of the present disclosure;

[0025] Figure 5 This is a block diagram of an electronic device used to implement the resource allocation method of the embodiments of this disclosure. Detailed Implementation

[0026] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0027] This disclosure provides a resource allocation method. Figure 1 This is a flowchart of a resource configuration method according to an embodiment of the present disclosure. This method can be applied to a resource configuration device, for example, when deployed on a terminal or other processing device, it can perform resource configuration, etc. The terminal can be an in-vehicle device, etc. In some possible implementations, the method can also be implemented by a processor calling computer-readable instructions stored in memory. Figure 1 As shown, it includes:

[0028] Step S101: Determine the resource specifications corresponding to each functional module of the autonomous driving kit;

[0029] The execution entity of this disclosure embodiment can be the on-board terminal of an autonomous vehicle, such as the industrial control computer (HW) 3.0 of an L4 autonomous vehicle. The industrial control computer is equipped with an Autonomous Driving Kit (ADK), which includes multiple functional modules that together form an autonomous driving system to control the autonomous vehicle.

[0030] The resources include at least one of processor resources or storage resources. Processor resources may include, but are not limited to, CPU and GPU; storage resources may include, but are not limited to, memory and hard disk.

[0031] The vehicle terminal stores configuration information in advance and determines the resource specifications corresponding to each functional module of the autonomous driving kit based on the configuration information. The resource specifications can be specific specifications corresponding to various resources, such as 4-core GPU, 16G memory, and 200G hard disk.

[0032] Step S102: Based on the resource specifications, configure the corresponding resources for each functional module using the application container engine;

[0033] The application container engine can include, but is not limited to: docker, Rocket, PouchContainer, and CRI-O.

[0034] The resource specifications corresponding to each functional module can be the same or different. For example, the resource specifications corresponding to functional module 1 are 4-core GPU, 16GB RAM, and 200GB hard drive. The resource specifications corresponding to functional module 2 can also be 4-core GPU, 16GB RAM, and 200GB hard drive, or the resource specifications corresponding to functional module 2 can also be 4-core GPU, 32GB RAM, and 300GB hard drive.

[0035] The vehicle terminal uses an application container engine to configure the resources corresponding to each functional module, thereby isolating resources between functional modules and allowing each functional module to use its own resources without sharing resources with other modules.

[0036] In related technologies, functional modules share resources. Excessive consumption of GPU and memory by a single module can easily cause autonomous vehicles to de-autonomously. Because multiple modules are involved, the problem is difficult to find.

[0037] The resource configuration method provided in this disclosure uses an application container engine to configure the corresponding resources for each functional module according to the resource specifications of each functional module of the autonomous driving kit. This enables resource isolation between functional modules, avoids excessive resource consumption by a single functional module, thereby improving the resource utilization of each functional module and enhancing the stability and working efficiency of the autonomous driving system.

[0038] In one possible implementation, the functional module includes at least one of the following:

[0039] The system includes a planning and control (PNC) module, a control module, a sensing module, a positioning module, a human-machine interaction (HMI) module, and a communication module.

[0040] In practical applications, functional modules can be modules that implement various functions of the autonomous driving system. These include: a PNC module for planning the autonomous vehicle's trajectory; a control module for starting, stopping, and turning the vehicle; a perception module for collecting information about the autonomous vehicle's surroundings, such as pedestrians, vehicles, and traffic lights; a positioning module for determining the autonomous vehicle's coordinate system, such as Universal Transverse Mercator Grid System (UTM) coordinates, which can be accurately matched with high-precision maps; an HMI module for parsing instructions from the cloud server to enable the autonomous vehicle to travel along a specified route; and a communication module for communication between the ADK (Autonomous Driving Unit) and the autonomous vehicle's chassis, which can be achieved through a Controller Area Network (CAN or CANbus).

[0041] In addition to the functional modules mentioned above, ADK may also include a Publisher / Subscriber module, which is used for sharing information among the functional modules, publishing information, and allowing each module to subscribe on demand.

[0042] In this embodiment of the disclosure, each functional module cooperates with each other to achieve its respective function, and together they form the autonomous driving kit of the autonomous vehicle, thereby realizing the functions of the autonomous vehicle.

[0043] In one possible implementation, based on the resource specifications, the application container engine is used to configure the corresponding resources for each functional module, including:

[0044] Based on the resource specifications, the application container engine is used to configure the corresponding resources for each functional module through virtualization.

[0045] In practical applications, for each functional module, according to the resource specifications corresponding to that functional module, the application container engine is used to configure the corresponding resources for that functional module through virtualization, and the functional module and its corresponding resources are treated as a virtualization unit, so as to achieve resource isolation between functional modules.

[0046] In this embodiment of the disclosure, an application container engine is used to achieve resource isolation between functional modules through virtualization. Each functional module uses its own resources, thereby improving the resource utilization rate of each functional module and enhancing driving efficiency.

[0047] In one possible implementation, based on the resource specifications, the application container engine configures the corresponding resources for each functional module through virtualization, including:

[0048] For each functional module, the corresponding Ubuntu system is virtualized using the application container engine, and the resources of the Ubuntu system are configured according to the resource specifications of the functional module.

[0049] In practical applications, for each functional module, an application container engine is used to virtualize the corresponding Ubuntu system. Based on the resource specifications of the functional module, the resources of the Ubuntu system are configured accordingly, thereby achieving resource isolation between the various Ubuntu systems. Furthermore, each Ubuntu system can function as a service component, enabling individual module services to independently provide and output capabilities.

[0050] In this embodiment of the disclosure, the application container engine is used to virtualize each functional module as an independent Ubuntu system, and resource isolation is achieved between the Ubuntu systems. The Ubuntu system can provide a robust and feature-rich computing environment.

[0051] One possible implementation also includes:

[0052] Listen on the corresponding port of the Ubuntu system and configure the executable file corresponding to the function module. The executable file is used to implement the function of the function module.

[0053] In practical applications, for each functional module's corresponding Ubuntu system, a port corresponding to the Ubuntu system is listened to. Through this port, data of the functional module can be obtained and information can be shared with other functional modules. For example, the surrounding environment data sensed by the perception module and the vehicle location data obtained by the positioning module. The executable file corresponding to the functional module is also configured, and the executable file is used to implement the corresponding functions of each functional module.

[0054] In this embodiment of the disclosure, by listening to the ports corresponding to each Ubuntu system and configuring the executable files corresponding to the functional modules, each functional module can cooperate with other functional modules to achieve its own function.

[0055] In one specific embodiment, Docker is used to virtualize independent environments for the GPU, memory, and hard disk to deploy a single module. The specific process is as follows:

[0056] a. For the HMI module, first configure a Docker software docker_HMI system on the industrial control computer (allocate 4-core GPU, 16G memory, 200G hard disk), listening on port 8081; then configure the executable file hmi.so and start it in the docker_HMI system (e.g., Ubuntu system);

[0057] b. For the communication module, first configure a Docker software system called docker_canbus on the industrial control computer (allocate 4-core GPU, 16G memory, 200G hard disk) to listen on port 8082; then configure the executable file canbus.so and start it in the docker_canbus system (e.g., Ubuntu system);

[0058] c. For the PNC module, first configure a Docker software system (docker_pnc system) on the industrial control computer (allocate 4-core GPU, 16G memory, 200G hard disk) and listen on port 8083; then configure the executable file pnc.so and start it in the docker_pnc system (e.g., Ubuntu system);

[0059] d. For the control module, first configure a Docker software system called docker_control on the industrial control computer (allocate 4-core GPU, 16GB memory, and 200GB hard drive), and listen on port 8084; then configure the executable file control.so and start it in the docker_control system (e.g., Ubuntu system);

[0060] e. For the sensing module, first configure a Docker software docker_sensing system (allocate 4-core GPU, 16G memory, 200G hard disk) on the industrial control computer and listen on port 8085; then configure the sensing.so file and start it in docker_sensing system (e.g., Ubuntu system).

[0061] One possible implementation also includes:

[0062] Each functional module after resource configuration is copied to achieve horizontal scaling.

[0063] In practical applications, the functional modules after resource configuration can be copied to obtain multiple independent functional modules with the same function. For example, multiple sensing modules, each with resource specifications of 4-core GPU, 32G memory, and 200G hard disk.

[0064] In this embodiment of the disclosure, functional modules after resource configuration can be horizontally expanded by copying, thereby improving the performance and stability of the autonomous driving system.

[0065] Figure 2 This is a schematic diagram of the resource configuration method in an embodiment of this disclosure. Figure 2 As shown, the industrial control computer HW3.0 of the L4 autonomous driving vehicle is equipped with the autonomous driving kit ADK, which includes functional modules: PNC module, Control module, Perception module, Localization module, HMI module, and CanBus module. In addition, it also includes a publish / subscribe (Pub / Sub) module. The resource specifications corresponding to each functional module are pre-determined, including the specific specifications of GPU and memory. According to the resource specifications, the application container engine is used to configure the corresponding GPU and memory for each functional module and listen to the corresponding ports of each functional module. The Pub / Sub module obtains data from each functional module through each port, which enables the functional modules to share information, publish information, and subscribe on demand. The configuration includes executable files corresponding to the functional modules, which implement the functions of each module. These include: a PNC module for planning the autonomous vehicle's trajectory; a Control module for vehicle start-up, parking, and left / right turns; a Perception module for collecting information about the autonomous vehicle's surroundings, such as pedestrians, vehicles, and traffic lights; a Positioning module for determining the autonomous vehicle's coordinate system, which can be accurately matched with a high-precision map; an HMI module for parsing instructions from the cloud server to enable the autonomous vehicle to travel along a specified route; and a CanBus module for communication between the ADK and the autonomous vehicle's chassis via CanBus.

[0066] In this embodiment of the disclosure, according to the resource specifications corresponding to each functional module of the autonomous driving kit, the application container engine is used to configure the corresponding GPU and memory for each functional module, so as to realize resource isolation between each functional module, avoid excessive consumption of resources by a single functional module, thereby improving the resource utilization of each functional module and improving the stability and working efficiency of the autonomous driving system.

[0067] Figure 3 This is a flowchart of a resource allocation method in one embodiment of this disclosure. Figure 3 As shown, the method includes:

[0068] Step S301: Determine the resource specifications corresponding to each functional module of the autonomous driving kit;

[0069] Step S302: For each functional module, use the application container engine to virtualize the Ubuntu system corresponding to the functional module, and configure the resources of the Ubuntu system according to the resource specifications of the functional module.

[0070] Step S303: Listen to the port corresponding to the Ubuntu system and configure the executable file corresponding to the functional module;

[0071] Step S304: Copy each functional module after resource configuration to achieve horizontal expansion.

[0072] In this embodiment, an application container engine is used to virtualize each functional module as an independent Ubuntu system, achieving resource isolation between the Ubuntu systems. Each Ubuntu system provides a robust and feature-rich computing environment. By listening to the corresponding ports on each Ubuntu system and configuring the executable files for each functional module, these modules can cooperate with other modules to achieve their respective functions. Horizontal scaling of the configured functional modules through replication improves the performance and stability of the autonomous driving system.

[0073] Figure 4 This is a schematic diagram of a resource allocation device according to an embodiment of the present disclosure. Figure 4 As shown, the resource allocation device may include:

[0074] Module 401 is used to determine the resource specifications corresponding to each functional module of the autonomous driving kit.

[0075] Configuration module 402 is used to configure the corresponding resources for each functional module according to the resource specifications using the application container engine;

[0076] The resources include at least one of processor resources or storage resources.

[0077] The resource configuration device provided in this embodiment configures the corresponding resources for each functional module according to the resource specifications of each functional module of the autonomous driving kit using an application container engine, thereby achieving resource isolation between functional modules, avoiding excessive resource consumption by a single functional module, improving the resource utilization rate of each functional module, and enhancing the stability and working efficiency of the autonomous driving system.

[0078] In one possible implementation, configuration module 402 is used for:

[0079] Based on the resource specifications, the application container engine is used to configure the corresponding resources for each functional module through virtualization.

[0080] In this embodiment of the disclosure, an application container engine is used to achieve resource isolation between functional modules through virtualization. Each functional module uses its own resources, thereby improving the resource utilization rate of each functional module and enhancing driving efficiency.

[0081] In one possible implementation, configuration module 402 is specifically used for:

[0082] For each functional module, the corresponding Ubuntu system is virtualized using the application container engine, and the resources of the Ubuntu system are configured according to the resource specifications of the functional module.

[0083] In this embodiment of the disclosure, the application container engine is used to virtualize each functional module as an independent Ubuntu system, and resource isolation is achieved between the Ubuntu systems. The Ubuntu system can provide a robust and feature-rich computing environment.

[0084] In one possible implementation, the resource allocation device further includes a listening module for:

[0085] Listen on the corresponding port of the Ubuntu system and configure the executable file corresponding to the function module. The executable file is used to implement the function of the function module.

[0086] In this embodiment of the disclosure, by listening to the ports corresponding to each Ubuntu system and configuring the executable files corresponding to the functional modules, each functional module can cooperate with other functional modules to achieve its own function.

[0087] In one possible implementation, the resource allocation device further includes a replication module for:

[0088] Each functional module after resource configuration is copied to achieve horizontal scaling.

[0089] In this embodiment of the disclosure, functional modules after resource configuration can be horizontally expanded by copying, thereby improving the performance and stability of the autonomous driving system.

[0090] In one possible implementation, the functional module includes at least one of the following:

[0091] The system includes a planning and control PNC module, a control module, a sensing module, a positioning module, a human-computer interaction module, and a communication module.

[0092] In this embodiment of the disclosure, each functional module cooperates with each other to achieve its respective function, and together they form the autonomous driving kit of the autonomous vehicle, thereby realizing the functions of the autonomous vehicle.

[0093] The functions of each unit, module, or sub-module in the various devices of this disclosure embodiment can be found in the corresponding descriptions in the above method embodiments, and will not be repeated here.

[0094] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0095] According to another aspect of this disclosure, an electronic device is provided, comprising:

[0096] At least one processor; and

[0097] The memory is communicatively connected to the at least one processor; wherein,

[0098] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the methods in any embodiment of this disclosure.

[0099] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions for causing a computer to perform the methods of any embodiment of this disclosure.

[0100] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the methods of any embodiment of this disclosure.

[0101] Figure 5A schematic block diagram of an example electronic device 500 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0102] like Figure 5 As shown, device 500 includes a computing unit 501, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 502 or a computer program loaded from storage unit 508 into random access memory (RAM) 503. RAM 503 may also store various programs and information required for the operation of device 500. The computing unit 501, ROM 502, and RAM 503 are interconnected via bus 504. Input / output (I / O) interface 505 is also connected to bus 504.

[0103] Multiple components in device 500 are connected to I / O interface 505, including: input unit 506, such as keyboard, mouse, etc.; output unit 507, such as various types of monitors, speakers, etc.; storage unit 508, such as disk, optical disk, etc.; and communication unit 509, such as network card, modem, wireless transceiver, etc. Communication unit 509 allows device 500 to exchange information with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0104] The computing unit 501 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 performs the various methods and processes described above, such as resource allocation methods. For example, in some embodiments, the resource allocation method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed on device 500 via ROM 502 and / or communication unit 509. When the computer program is loaded into RAM 503 and executed by the computing unit 501, one or more steps of the resource allocation method described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to perform resource allocation methods by any other suitable means (e.g., by means of firmware).

[0105] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving information and instructions from a storage system, at least one input device, and at least one output device, and transmitting information and instructions to the storage system, the at least one input device, and the at least one output device.

[0106] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable information processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0107] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0108] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0109] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as an information server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital information communication (e.g., a communication network) of any form or medium. Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0110] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0111] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0112] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A resource configuration method, the method comprising: determining respective resource specifications of respective functional modules of an autonomous driving suite; configuring respective resources of the respective functional modules by virtualization using an application container engine according to the respective resource specifications, including, for each functional module, virtualizing an Ubuntu system corresponding to the functional module using the application container engine and configuring resources corresponding to the Ubuntu system according to a resource specification corresponding to the functional module; wherein one Ubuntu system serves as one service component for implementing service of a single functional module and independently outputting and providing capabilities to the outside; and the functional module and the resources corresponding to the Ubuntu system corresponding to the functional module serve as one virtualization unit for isolating resources among the respective functional modules, and the respective functional modules use respective resources and do not share resources with other modules; listening to ports corresponding to the Ubuntu systems corresponding to the functional modules to obtain data of the functional modules and share information with other modules; configuring executable files corresponding to the functional modules in the Ubuntu systems corresponding to the functional modules, the executable files being used to implement functions corresponding to the functional modules. The resources include at least one of processor resources or storage resources.

2. The method of claim 1, further comprising: copying the respective functional modules after resource configuration to achieve horizontal expansion.

3. The method of claim 1, wherein the functional modules include at least one of the following: a planning and control PNC module, a control module, a perception module, a positioning module, a human-computer interaction module, and a communication module.

4. A resource configuration apparatus, the apparatus comprising: a determination module configured to determine respective resource specifications of respective functional modules of an autonomous driving suite; a configuration module configured to configure respective resources of the respective functional modules by virtualization using an application container engine according to the respective resource specifications; wherein the configuration module is specifically configured to, for each functional module, virtualize an Ubuntu system corresponding to the functional module using the application container engine and configure resources corresponding to the Ubuntu system according to a resource specification corresponding to the functional module; wherein one Ubuntu system serves as one service component for implementing service of a single functional module and independently outputting and providing capabilities to the outside; and the functional module and the resources corresponding to the Ubuntu system corresponding to the functional module serve as one virtualization unit for isolating resources among the respective functional modules, and the respective functional modules use respective resources and do not share resources with other modules; a listening module configured to listen to ports corresponding to the Ubuntu systems corresponding to the functional modules to obtain data of the functional modules and share information with other modules; The listening module is further configured to configure executable files corresponding to the functional modules in the Ubuntu systems corresponding to the functional modules, the executable files being used to implement functions corresponding to the functional modules. The resources include at least one of processor resources or storage resources.

5. The apparatus of claim 4, further comprising a replication module configured to: replicate each functional module after resource configuration to achieve horizontal scaling.

6. The apparatus of claim 4, wherein the functional modules comprise at least one of: a planning and control (PNC) module, a control module, a perception module, a localization module, a human-machine interaction module, and a communication module.

7. An electronic device, comprising: comprise: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-3. the computer instructions are configured to cause a computer to perform the method of any one of claims 1-3.

8. A non-transitory computer-readable storage medium having stored thereon computer instructions, wherein, 9. A computer program product comprising a computer program which, when executed by a processor, implements the method of any one of claims 1-3. ​

Citation Information

Patent Citations

  • Vehicle-mounted infrastructure of autonomous vehicle

    CN111666133A