Communication-middleware-implemented architecture system and control method applicable to automatic parking planning and control algorithm
By introducing a communication middleware architecture into the automatic parking system, decoupling the vendor-aware data interface using SOA middleware and shared memory, and combining DDS and SOMEIP service-oriented communication, the system burden and real-time issues caused by the coupling of vendor data interfaces are resolved, thereby improving the compatibility and reliability of the automatic parking system.
Patent Information
- Application Number
- PCT/CN2025/110964
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-07
- Filing Date
- 2025-07-28
- Publication Date
- 2026-02-12
AI Technical Summary
In existing automated parking systems, the data interface coupling of the supplier's perception solution leads to problems such as low system load and low software real-time performance, which affects the compatibility and reliability of the automated parking system.
The system architecture is implemented using a communication middleware suitable for automatic parking control algorithms. It includes a perception all-in-one machine, an autonomous driving domain controller, and a data conversion service layer module. Data conversion and decoupling are achieved through SOA middleware and shared memory. Combined with DDS and SOMEIP service-oriented communication middleware, the event loop and dynamic thread pool technology are optimized to achieve a high-performance general middleware solution.
This decouples the automatic parking algorithm from the supplier's perception data, reduces the workload of software modification and deployment, shortens the vehicle adaptation cycle, improves the system's stability and real-time performance, and reduces mass production costs.
Smart Images

Figure CN2025110964_12022026_PF_FP_ABST
Abstract
Description
A communication middleware implementation architecture system and control method suitable for automatic parking regulation control algorithm
[0001] The present application claims priority from the Chinese patent application No. 202411079404.4 filed on August 7, 2024 and entitled "A communication middleware implementation architecture system and control method suitable for automatic parking regulation control algorithm", the whole content of which is incorporated herein by reference. TECHNICAL FIELD
[0002] The present application belongs to the field of automatic parking communication middleware software, and specifically relates to a communication middleware implementation architecture system and control method suitable for automatic parking regulation control algorithm. BACKGROUND
[0003] Automatic driving technology is increasingly becoming the focus of research and development in the automotive industry. Among them, the automatic driving parking system is one of the important application fields of automatic driving technology. It enables the driver to easily let the vehicle autonomously complete the parking process, improving the comfort and safety of driving.
[0004] With the rapid development of current environmental perception technology, the accuracy and reliability of the automatic parking system have rapidly improved, and in terms of usage, from traditional parallel parking and vertical parking, it has rapidly evolved into various parking modes such as diagonal parking, lateral parking, and circular section parking, which has rapidly improved the commercialization of the automatic parking system, and more and more car brands have made automatic parking technology a standard or optional assembly of their high-end models. With the rapid commercialization of automatic parking technology, more and more perception solution providers have joined the competition in the automatic parking system product.
[0005] However, there are great differences in the perception capabilities and perception data provided by different supplier perception solutions, and the vehicle manufacturer seeks a stable and sustainable iteration of the parking regulation control algorithm, which means that the coupling with the supplier's data interface must be minimized so that the algorithm can evolve and iterate independently, therefore compatibility becomes an important problem to consider in the automatic parking field. SUMMARY
[0006] The present application can overcome the problem of coupling with the supplier's data interface caused by the multiple service layering of the existing SOA architecture, which in turn causes system burden and low real-time performance of the software system, and provides a communication middleware implementation architecture system and control method suitable for automatic parking regulation control algorithm.
[0007] In order to achieve the above purpose, the present application adopts the following technical solutions:
[0008] A communication middleware implementation architecture system suitable for automatic parking regulation control algorithm, comprising:
[0009] The perception integrated machine is configured to receive vehicle sensor data, comprehensively perceive a vehicle surrounding environment based on the vehicle sensor data, and obtain vehicle surrounding environment information.
[0010] The automatic driving domain controller is connected to the perception integrated machine and is configured to coordinate and manage automatic driving behaviors of the vehicle based on the vehicle surrounding environment information.
[0011] The automatic driving domain controller comprises:
[0012] The vendor module is configured to provide the vehicle surrounding environment information for a data conversion service layer module of an upper layer; and the vendor module is internally provided with a vendor middleware and a first shared memory.
[0013] The data conversion service layer module is configured to perform data conversion and data consistency processing on the received vehicle surrounding environment information, to obtain converted data information; and provide the converted data information to an automatic parking algorithm service layer module of an upper layer.
[0014] The data conversion service layer module comprises a service-oriented architecture (SOA) middleware and a second shared memory, the SOA middleware is encapsulated with a data distribution service (DDS) and a service-oriented middleware communication (SOME / IP) service communication middleware running on an Internet protocol, and the SOA middleware is directly integrated into the vendor middleware.
[0015] The automatic parking algorithm service layer module is configured to receive the data information of the data conversion service layer module, and perform path planning and control of an automatic parking service according to the data information.
[0016] A communication middleware implementation control method suitable for an automatic parking regulation and control algorithm is executed by a control device, and the method comprises the following steps:
[0017] The perception integrated machine is controlled to receive and extract vehicle environment information collected by sensors.
[0018] The vendor middleware is controlled to transmit the collected vehicle environment information to a vendor module in an automatic driving domain controller.
[0019] The second shared memory of the data conversion service layer module is controlled to read path planning data information in the first shared memory of the vendor module.
[0020] After the read event information arrives, the event is controlled to be put into an event loop of a managed thread, and the managed thread is configured to call an event processing function to process the received event one by one.
[0021] The processed path planning data information is sent to the SOA middleware, and is transmitted to the automatic parking algorithm service layer module through the SOA middleware;
[0022] The automatic parking algorithm layer module generates control information, and returns the control data information to the second shared memory of the data conversion service layer module, and the second shared memory is used for transmitting the control signal required by the vehicle to the first shared memory of the supplier module, so as to control the vehicle to complete parking.
[0023] The communication protocol stack of the SOA middleware is secondarily packaged as a function interface, and the underlying DDS implementation and SOMEIP implementation are freely switched at the compilation stage through macro definition.
[0024] The data required by each SOA service in the data conversion service layer module in the automatic driving domain controller is stored in the data field of an event, is added to the task queue of the thread pool through the thread manager, and is then handed over to a processing thread for event processing.
[0025] The automatic driving domain controller comprises a clock management module, and the data conversion service layer module initiates a Request-Response data communication mode periodically.
[0026] The chassis domain controller is used for electronic power steering based on the automatic driving behavior of the automatic driving domain controller.
[0027] The electronic stability program controller is used for monitoring the driving state of the vehicle.
[0028] The handshake process of the automatic driving domain controller and the electronic power steering and electronic stability program control controller of the chassis domain controller is processed using the Request-Response mode, and the generated data is transmitted to the SOA middleware.
[0029] The application has the following beneficial effects:
[0030] The application provides a communication middleware implementation architecture system suitable for automatic parking regulation control algorithm and a control method thereof, which comprises a perception integrated machine and an automatic driving domain controller, an automatic driving domain controller supplier module, a data conversion service layer module and an automatic parking algorithm service layer module, an SOA middleware and a shared memory are arranged in the data conversion service layer module, DDS and SOMEIP with a service communication middleware are encapsulated in the SOA middleware, and the SOA middleware is directly integrated into the supplier middleware module; the automatic parking regulation control algorithm and the supplier perception data interface are decoupled, the perception data conversion logic can be imported into the middleware platform in the form of a plug-in through service design, the software modification and deployment workload caused by the supplier perception data adaptation work is minimized, and the development cycle is shortened.
[0031] Further, the software real-time performance is optimized through the event loop and dynamic thread pool technology, a high-performance universal middleware solution compatible with multiple supplier perception solutions is realized, the decoupling of the automatic parking algorithm and the upstream perception data is ensured, the suppliers can freely access the middleware designed in the application in the form of a similar standard part, the vehicle model adaptation cycle is greatly shortened, and the mass production cost of the automatic parking is reduced. BRIEF DESCRIPTION OF DRAWINGS
[0032] Fig. 1 is a schematic diagram of the system architecture of the application.
[0033] Fig. 2 is a schematic diagram of the detailed design of the system architecture of the application.
[0034] Fig. 3 is a schematic diagram of the SOA middleware architecture design. DETAILED DESCRIPTION
[0035] In order to further understand the content of the application, the application will be described in detail below in combination with the drawings and specific embodiments. It should be understood that the embodiments are only used to explain the application but not to limit the application.
[0036] The application designs a data conversion gateway based on the service-oriented architecture middleware (SOA) service concept. The key design goal of the data gateway is to change the general perception data type accepted by the automatic parking algorithm through the processing and conversion of the supplier perception output data with respective characteristics. The system architecture design is as follows:
[0037] As shown in FIG. 1, a communication middleware implementation architecture system suitable for an automatic parking regulation algorithm, the method is mainly run in an automatic driving domain controller, suitable for perception all-in-one machine 110 and domain control set two hardware architectures, which can maximize the compatibility of the current market supplier's perception solution. The embodiment architecture system of the application is composed of two kinds of hardware architecture sets of perception all-in-one machine 110 and domain control set (automatic driving controller), the perception all-in-one machine 110 includes a supplier middleware inside, the automatic driving domain controller is provided with a supplier module, a data conversion service layer module and an automatic parking algorithm service layer module inside, wherein the perception all-in-one machine 110 is connected with the automatic driving domain controller, the perception all-in-one machine 110 is connected with the corner radar system and the front view camera outside, and the automatic driving domain controller is connected with the uss and the surround view camera outside.
[0038] Illustratively, the perception all-in-one machine and the automatic driving domain controller are two core modules of the automatic driving system. The perception all-in-one machine perceives the environment around the vehicle (such as real-time perception or periodic perception) by receiving data from various vehicle sensors (such as cameras, radars, lidar, etc.). The vehicle sensor data includes at least one of vehicle speed (such as speed sensor acquisition), vehicle image (such as camera acquisition), vehicle acceleration (such as acceleration sensor acquisition), vehicle temperature (such as temperature sensor acquisition), etc. The perception all-in-one machine can obtain vehicle surrounding environment information by fusing and arranging vehicle sensor data, such as at least one of surrounding obstacles, pedestrians, other vehicles, traffic signs and road conditions, etc. without limitation.
[0039] Illustratively, the automatic driving domain controller closely cooperates with the perception all-in-one machine, and is responsible for coordinating and managing the automatic driving behavior of the vehicle based on the vehicle surrounding environment information. Through the received surrounding environment information, the automatic driving domain controller formulates corresponding driving decisions such as acceleration, braking, steering, etc., and controls the driving of the vehicle. The domain controller not only depends on the perception data, but also combines the vehicle sensor, the power system state and the high-precision map information to make real-time decision optimization.
[0040] The automatic driving domain controller includes a supplier module, a data conversion service layer module, a data conversion service layer module and an automatic parking algorithm service layer module.
[0041] The supplier module provides the data conversion service layer module of the upper layer with the vehicle surrounding environment information of the current vehicle. Illustratively, the vehicle surrounding environment information includes at least one of position information, parking space information that needs to be parked, and obstacle information on the road surface.
[0042] The supplier module includes a supplier middleware and a first shared memory inside.
[0043] The supplier module is illustratively the part of the autonomous driving system responsible for interacting with external suppliers; the supplier middleware is a software layer responsible for transmitting and coordinating data between different modules within the system, acting as a communication bridge between the supplier devices and other modules of the autonomous driving system, ensuring efficient and secure data transmission. The supplier middleware can support multiple protocols and interfaces, facilitating integration with different suppliers' hardware devices or software systems.
[0044] The first shared memory is a memory area for multiple modules to share data. In the autonomous driving system, the first shared memory can be used to store real-time sensor data, environmental information, and other key information, ensuring that different modules can access these data in real time, making quick responses and decisions.
[0045] The data conversion service layer module is set up to perform data conversion and data consistency processing on the received vehicle surrounding environment information, obtaining converted data information, and providing the converted data information to the upper-layer automatic parking algorithm service layer module.
[0046] Illustratively, the data conversion service layer module is mainly responsible for interacting with the supplier module for vehicle surrounding environment information. The supplier module obtains data about the vehicle's surrounding environment through different types of sensors, and in order to quantify the vehicle surrounding environment information that may have format differences, the data conversion service layer module processes the vehicle surrounding environment information.
[0047] Optionally, the data collected by different sensors is converted into a unified format or standard, so that the upper-layer modules can effectively process and use it. Illustratively, the data collected by sensors is parsed, decoded, and formatted to ensure compatibility and consistency between different modules.
[0048] Optionally, considering that different suppliers' sensors may have differences in precision, timestamp, or coordinate system, etc., consistency processing is needed to make the final data meet the system requirements and have high accuracy and timeliness.
[0049] Illustratively, the consistency processing includes at least one of a variety of processing methods such as time synchronization processing (e.g., using a unified clock alignment), coordinate system conversion processing (e.g., using a unified world coordinate system), data precision standardization processing (e.g., setting a unified precision standard to correct data of different precision), etc.
[0050] The supplier middleware can efficiently perform data conversion, compatible with different data formats and protocols, thereby realizing seamless connection between heterogeneous systems and improving the interoperability of the system. Secondly, after data conversion, information can be transmitted to the automatic driving domain controller in a standardized form, ensuring the accuracy and consistency of the data and reducing system failures caused by non-uniform data formats or transmission errors. In this way, the perception all-in-one machine can better acquire and process the environmental information around the vehicle, providing high-quality real-time data support for the automatic driving system. In addition, the introduction of the supplier middleware also optimizes the system architecture, making the management of data flow more clear, improving the stability and response speed of the entire automatic driving system, and further improving the safety and reliability of automatic driving.
[0051] In some embodiments, according to the business needs of the automatic parking algorithm, at least one of the parking space information data service, the positioning information data service, the obstacle information data service, the drivable space data service, the planning request data service, the planning state information data service, the chassis information data service, and the control type data service is divided.
[0052] Among them, the parking, positioning, obstacle, drivable space, planning request and chassis data services are input type data services, mainly to convert the parking, positioning, obstacle and drivable space data output by the supplier perception component with characteristics into general data types of the algorithm, the planning request data service is an important way for the supplier application to issue parking instructions to the automatic parking planning control algorithm, which is also processed in a general manner in the embodiment of the application, and the chassis data is an important input type relied on by the automatic parking algorithm, which is a direct transparent transmission of the chassis controller area network (CAN) data in the embodiment of the application. The planning state data service and the control type data service are output type data services, mainly to complete the feedback of the planning control state from the automatic driving parking planning control algorithm to the supplier application and the issuance of the instruction of the lateral control and longitudinal control of the chassis.
[0053] The data conversion service layer module further includes a second shared memory and an SOA middleware, and the SOA middleware encapsulates a data distribution service (DDS) and a scalable service-oriented middleware over IP (SOMEIP) service communication middleware, and the SOA middleware is directly integrated into the supplier middleware.
[0054] Illustratively, the SOA middleware of the data conversion service layer module encapsulates DDS and SOMEIP, which helps to realize efficient and flexible data flow and communication mechanism. The second shared memory is used as a medium for data storage and transmission in this module, which provides a fast and low-latency channel for data exchange between different modules. Shared memory greatly improves the efficiency of data transmission and access, especially in applications with high real-time requirements, such as autonomous driving systems.
[0055] The automatic parking algorithm service layer module is configured to receive data information from the data conversion service layer module, and to perform path planning and control for automatic parking service according to the data information.
[0056] In an optional embodiment, the autonomous driving domain controller is connected to the perception all-in-one machine, and the vendor middleware of the perception all-in-one machine communicates with the vendor middleware of the vendor module in the autonomous driving domain controller. The two communicate with each other through Ethernet (ETH) and Controller Area Network Flexible Data-rate (CANFD). ETH uses blockchain technology to achieve decentralized, transparent, and tamper-proof data recording functions, and builds a decentralized application based on blockchain to support vehicle-to-vehicle communication, data sharing, and trust establishment. CANFD has the characteristics of high bandwidth, long data frame, short delay time, high real-time performance, and reliability, and can provide efficient and reliable data transmission support for autonomous driving systems.
[0057] Ethernet provides high-bandwidth network connectivity, supporting high-speed and stable data transmission, ensuring real-time exchange of large amounts of sensor data, effectively supporting the needs of autonomous driving systems. Second, CANFD, as an efficient vehicle communication protocol, has flexible data rate and strong anti-interference ability, suitable for high real-time and low delay data exchange in the automotive field, which can ensure the close cooperation between the controller and the perception system. Through the dual cooperation of Ethernet and CANFD, the system not only maintains high efficiency in high-speed data transmission, but also adapts to various environmental requirements in different communication scenarios. This design optimizes the reliability and real-time performance of data transmission, helping to improve the overall stability and response speed of the autonomous driving system, providing safer and more accurate data support for autonomous driving. In an optional embodiment, for a vendor system based on DDS or SOMEIP with a service-oriented communication middleware, a general SOA middleware encapsulating DDS and SOMEIP is designed. The vendor can use the SOA middleware solution by directly integrating the SOA middleware of the present application into the vendor middleware module, which can realize direct interaction with the data conversion service through the Ethernet communication protocol of DDS / SOMEIP. At the same time, the vendor can also use the first shared memory to establish a data communication channel. The vendor module can realize data interaction with the automatic parking system by directly using the SOA middleware.
[0058] In an optional embodiment, a data exchange gateway service is created to realize data communication between the vendor module and the data conversion service layer. The first shared memory module in the vendor module and the second shared memory module in the data conversion service layer module interact with each other. Both parties communicate through the first shared memory and the second shared memory to exchange structured data streams containing data verification information and data sequence numbers in a request-response synchronous communication mode, and complete bidirectional data interaction according to the shared memory communication standard protocol.
[0059] The first shared memory of the vendor module and the second shared memory of the data conversion service layer module realize bidirectional data interaction through the request-response synchronous communication mode, which ensures the real-time performance and consistency of data exchange, avoiding data loss or delay problems that may be caused by asynchronous communication. Second, the bidirectional interaction mechanism enables data to be effectively transmitted between different modules, ensuring the coordinated work of various parts of the system and enhancing the stability and reliability of the automatic parking control algorithm. In addition, this architecture optimizes the communication efficiency between modules, reduces the complexity of the system, improves the resource utilization rate, and makes the overall system response faster, which can provide more efficient services in automatic parking applications.
[0060] In addition, the mutual transmission between the first shared memory and the second shared memory contains a structured data stream of data check information and data sequence numbers. This design can effectively ensure the integrity and accuracy of the transmitted data through the data check information, and can timely discover and correct errors or loss problems that may occur in the data transmission process through comparison of the check information, thereby improving the reliability of the system. Second, the introduction of data sequence numbers realizes the ordered transmission of data, ensures the orderliness of the data stream, avoids the problem of out-of-order or repeated reception, and helps to accurately synchronize the data processing between modules. In addition, the design of the structured data stream improves the efficiency of data exchange, facilitates the management and scheduling of complex information, and further optimizes the performance of the system. These characteristics work together to improve the stability, reliability and efficiency of the communication middleware of the automatic parking control algorithm.
[0061] A communication middleware implementation control method suitable for an automatic parking control algorithm is as follows:
[0062] As shown in FIG. 2, the autonomous driving domain controller uses the std::future and std::promise features of the C++ standard library to build the infrastructure of the Request-Response calling mode, thereby ensuring that the shared memory communication is performed in a synchronous form and avoiding data confusion caused by concurrent communication. The data conversion service layer module uses a managed thread (Managed Thread) 210 design scheme to summarize the 8 SOA services in the data conversion service layer module, use the C++ polymorphism feature to implement the common part in the parent class, and put the business change part into the child class for extension. In this way, all 8 SOA data service processing logics are encapsulated into specific event processing functions (Event Dispatcher Function), which are registered in the managed thread in a callback manner. The event (Event) concept is used to realize the packaging of SOA service data. The data required for processing by each SOA service is stored in the data field of the event (Event), added to the task queue of the thread pool by the Thread Manager, and then handed over to the processing thread for event processing.
[0063] The structured data management method ensures that the required data of different SOA services can be stored and scheduled efficiently, effectively avoiding data redundancy and invalid transmission, and improving the data processing efficiency of the system. Secondly, the thread manager adds tasks to the queue of the thread pool, realizing multi-thread parallel processing, greatly improving the response speed and throughput of the system, especially when processing a large amount of real-time data, which can significantly improve the real-time performance and stability of the autonomous driving system. The processing of events by the processing thread ensures the sequential execution and efficient processing of tasks, avoiding potential race conditions and deadlock problems. In addition, the thread pool-based design also optimizes resource utilization, reduces system overhead and response delay, further enhancing the performance and reliability of the autonomous driving domain controller.
[0064] Using the managed thread design scheme, std::thread is encapsulated, and an event loop is introduced based on the C++ standard thread with the help of managed threads. The event loop uses a condition variable (std::variable) to wait for events to arrive in a loop.
[0065] In some embodiments, the communication middleware of the automatic parking regulation control algorithm implements a control method, which is executed by a control device such as at least one of a mobile phone device, a computer device, a tablet computer device, a vehicle device, and the like. The control method is as follows:
[0066] The control perception all-in-one machine receives and extracts vehicle environment information collected by sensors;
[0067] The control transmits the collected vehicle environment information to a supplier module in the autonomous driving domain controller through a supplier middleware;
[0068] The control reads path planning data information in the first shared memory in the supplier module through the second shared memory of the data conversion service layer module;
[0069] After the read event information arrives, the control puts the event into the event loop of the managed thread, which is used to call an event processing function to process the received event one by one;
[0070] The control sends the processed path planning data information to the SOA middleware, which transmits it to the automatic parking algorithm service layer module;
[0071] The control generates control information in the automatic parking algorithm layer module and returns the control data information to the second shared memory of the data conversion service layer module, which is used to transmit the control signal required by the vehicle to the first shared memory of the supplier module to control the vehicle to complete parking.
[0072] In some embodiments, the automatic driving domain controller designs a clock management module, and the data conversion service layer module periodically reads data from the first shared memory, that is, it periodically initiates the Request-Response data communication mode;
[0073] The architecture system includes: a chassis domain controller that electronically assists steering based on the automatic driving behavior of the automatic driving domain controller; an electronic stability program controller for monitoring the driving state of the vehicle; and a handshake process between the automatic driving domain controller and the chassis domain controller electronic assistance steering and the electronic stability program controller is processed using the Request-Response mode, and the generated data is transmitted to the SOA middleware. The Request-Response mode simplifies the interaction design of the handshake initiator and the handshake receiver in the handshake process, and feedbacks the handshake structure to the handshake initiator in a manner similar to the return of a function call, while the Request-Response mode provides an exception handling process to deal with the timeout problem in the handshake process, so that the framework code is easy to understand and maintain, and is friendly to modification.
[0074] Among them, the clock management module provides an accurate time reference for data exchange by ensuring the synchronization of system time, so that the sending and receiving of data can be stable according to the predetermined time interval. Secondly, the periodic initiation of the Request-Response mode helps to ensure stable and efficient communication between modules in the system. In this mode, the data conversion service layer module regularly requests data from other services and waits for responses, ensuring the timeliness and reliability of data exchange, avoiding data loss or delay problems. In addition, the periodic communication mode helps the system to continuously update real-time information, ensuring that the automatic driving system can respond in time in a dynamically changing environment. Through this design, the system can better adapt to high real-time requirements, improve the response speed and decision-making accuracy of the automatic driving domain controller in complex scenarios, and enhance the safety and reliability of automatic driving.
[0075] It should be noted that in the Request-Response call, the transmitted data is accompanied by a Cyclic Redundancy Check (CRC) check unit and a transmission sequence number, and the sender and the receiver determine the validity of the transmitted data by comparing the CRC check of the data and the sequence number. Set read-write lock, when a thread or process is writing to a shared resource, read-write lock will prevent other threads or processes from reading or writing operations, thereby preventing data conflicts and inconsistencies. In the automatic parking control system, this can ensure that when the vehicle position or sensor data is updated, other system components will not make decisions based on old data. Allow multiple readers (such as threads or processes that only read data) to access shared resources at the same time, while only one writer (such as a thread or process that needs to modify data) can access at any time, providing higher concurrency, thereby improving the overall performance of the system.
[0076] Further, the data conversion service periodically reads data from the first shared memory, that is, it periodically initiates the Request-Response data communication mode. As can be seen from Figure 2, there are also multiple periodic events in the system, such as periodic data delivery services. For this reason, the clock management module (Timer Manager) is designed in the embodiment of the present application, which encapsulates the timer event as a kind of event and hands it over to the event system for unified processing. The clock management module maintains a clock event queue, and traverses the event queue according to a period of every 10 ms. If a clock is found to be due, the clock event is directly sent to the Thread Manager, and the event will be processed by the hosting thread according to the normal event. In the clock event processing program, according to the clock event attribute, the clock processing function matched with the clock attribute is executed, such as performing periodic reading or periodic writing operations.
[0077] Further, as shown in FIG. 3, DDS and SOMEIP are encapsulated and packaged in SOA middleware (such as the communication software layer 310 in FIG. 3), and the functions interfaces such as AddReader(), AddWriter(), Spin() provided by the cmw_wrapper layer are used to perform secondary encapsulation on the underlying communication protocol stack, so that the automatic parking algorithm only reads and writes data at the cmw_wrapper layer, and the cmw_wrapper layer freely switches the underlying DDS implementation and SOMEIP implementation at the compilation stage through the macro definition BusType. Taking the RTIDDS encapsulation as an example, the encapsulation of the key data structures in RTIDDS, Reader, Writer, and WaitSet, is explained. The encapsulation behavior is implemented through traits, and the encapsulated data is stored in fixed buffers of different sizes. Through the type extraction technology, the basic logic of serialization and deserialization of the data type of the data interface is implemented.
[0078] Among them, the secondary encapsulation abstracts the communication protocol stack into a unified function interface, so that the upper layer application can be seamlessly connected with different underlying protocol implementations, reducing the coupling degree of the system and improving the flexibility. Secondly, by switching the underlying protocol through macro definition at the compilation stage, developers can dynamically select DDS or SOMEIP according to actual needs without modifying the upper layer code, enhancing the configurability and expandability of the system. In addition, DDS is suitable for high-throughput and low-latency distributed data transmission, while SOMEIP provides an efficient service discovery and data exchange mechanism in the vehicle-mounted environment. The flexible switching of the two enables the system to be optimized according to different application scenarios and requirements. Overall, this encapsulation method not only improves the performance of the system, but also enhances its maintainability and scalability, providing higher flexibility and efficiency for complex distributed systems.
[0079] Further, in the initial state of system startup, the thread pool size is set to the default value 5, after the event (Event) is generated, the Thread Manager will find the thread in the idle state by traversing each thread in the thread pool, and put the event (Event) into the event loop (Event Loop) of the managed thread (Managed Thread), if there is no idle thread in the thread pool, the Thread Manager creates a managed thread (Managed Thread), and puts the event (Event) into the event loop of the newly created managed thread (Managed Thread). In order to deal with the possible request storm of the system, the upper limit of the number of thread pool is set to 16, when the number of thread pool reaches the upper limit, the number of threads will not grow, the Thread Manager will evaluate the length of the event loop (Event Loop) waiting queue of each thread in the thread pool one by one, and put the event (Event) into the thread with the smallest waiting queue length. At the same time, the Thread Manager will monitor the state of each thread in the thread queue, when it is found that the number of idle threads (threads in idle state) reaches 20% or more of the current total number of threads, the current idle threads will be cleaned up, and 50% of the idle threads will be terminated to release system resources.
[0080] Preferably, the data conversion logic is the core logic of the data conversion service, and the embodiment of the application parameterizes data type templates by using a C++ generic design concept, and realizes static polymorphism of a compiler by means of a curiously recurring template pattern (Curiously Recurring Template Pattern), successfully encapsulates eight data conversion logics into a dynamic link library that can be loaded independently, so that a thread that executes the data conversion service can load the library file dynamically at runtime by using a dlopen mode, and directly call an entry function to execute the conversion logic by using dlsym, thereby enabling the system to maintain and upgrade the data conversion logic dynamically at runtime in a plug-and-play manner, and fully practicing the convenience of software deployment and upgrade brought by SOA service.
[0081] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the application, but not to limit them, although the application has been described in detail with reference to the above embodiments, those skilled in the art should understand that the specific implementation of the application can be modified or replaced, without departing from the spirit and scope of the application, any modification or equivalent replacement, which should be covered in the protection scope of the claims of the application.
Claims
1. A communication middleware implementation architecture system suitable for automatic parking regulation algorithm, the system comprising: a perception unit configured to receive vehicle sensor data; comprehensively perceive a vehicle surrounding environment based on the vehicle sensor data to obtain vehicle surrounding environment information; an automatic driving domain controller connected to the perception unit and configured to coordinate and manage automatic driving behavior of the vehicle based on the vehicle surrounding environment information; wherein the automatic driving domain controller comprises: a vendor module configured to provide the vehicle surrounding environment information for a data conversion service layer module of an upper layer; the vendor module is internally provided with a vendor middleware and a first shared memory; the data conversion service layer module configured to perform data conversion and data consistency processing on the received vehicle surrounding environment information to obtain converted data information; and provide the converted data information to an automatic parking algorithm service layer module of an upper layer; the data conversion service layer module comprises a service-oriented architecture (SOA) middleware and a second shared memory, the SOA middleware is encapsulated with a data distribution service (DDS) and a service-oriented middleware communication (SOME / IP) service running on an Internet protocol, and the SOA middleware is directly integrated into the vendor middleware; the automatic parking algorithm service layer module is configured to receive data information of the data conversion service layer module, and perform path planning and control of automatic parking service according to the data information.
2. The system of claim 1, wherein, The first shared memory in the vendor module and the second shared memory in the data conversion service layer module adopt a request-response synchronous communication mode to realize bidirectional interaction of data.
3. The system of claim 1 or 2, wherein, The mutual transmission between the first shared memory and the second shared memory includes structured data flow containing data check information and data sequence number.
4. The system of any one of claims 1 to 3, wherein, The vendor middleware in the perception unit is internally provided, and is configured to perform data conversion on the received vehicle surrounding environment information, and forward the converted data information to the automatic driving domain controller.
5. The system of any one of claims 1 to 4, wherein, The vendor middleware in the perception unit and the vendor middleware in the vendor module of the automatic driving domain controller perform data interaction through Ethernet (ETH) and controller area network flexible data rate (CAN-FD).
6. A communication middleware implementation control method suitable for an automatic parking regulation algorithm, the method being executed by a control device, the method comprising: controlling the perception unit to receive and extract vehicle environment information collected by sensors; controlling the vendor middleware to transmit the collected vehicle environment information to a vendor module in the automatic driving domain controller; controlling a second shared memory of a data conversion service layer module to read path planning data information in a first shared memory of the vendor module; after the read event information arrives, controlling the event to be put into an event loop of a managed thread, the managed thread being configured to call an event processing function to process the received event one by one; controlling the processed path planning data information to be sent to an SOA middleware and transmitted to an automatic parking algorithm service layer module through the SOA middleware. The control automatic parking algorithm layer module generates control information and returns control data information to the second shared memory of the data conversion service layer module, and the second shared memory is used for transmitting control signals required by the vehicle to the first shared memory of the supplier module to control the vehicle to complete parking.
7. The method of claim 6, wherein, The communication protocol stack of the SOA middleware is secondarily packaged as a function interface, and the underlying DDS implementation and SOMEIP implementation are freely switched at the compilation stage through macro definition.
8. The method of claim 6 or 7, wherein, The data required by each SOA service in the data conversion service layer module in the automatic driving domain controller is stored in the data field of an event, added to the task queue of the thread pool through a thread manager, and then handed over to a processing thread for event processing.
9. The method of any one of claims 6 to 8, wherein, The automatic driving domain controller comprises a clock management module, and the data conversion service layer module initiates a Request-Response data communication mode periodically.
10. The method according to any one of claims 6 to 9, wherein, The automatic driving domain controller comprises a chassis domain controller, an electronic stability program controller, and a data conversion service layer module. The chassis domain controller is used for electronic power steering based on the automatic driving behavior of the automatic driving domain controller. The electronic stability program controller is used for monitoring the driving state of the vehicle. The handshake process of the automatic driving domain controller and the electronic power steering and electronic stability program controller of the chassis domain controller is processed using the Request-Response mode, and the generated data is transmitted to the SOA middleware.
Citation Information
Patent Citations
Commercial vehicle automatic parking control system and automatic parking method
CN114454873A
Intelligent driving system, method and equipment based on SOA (Service Oriented Architecture) and storage medium
CN114866586A
System architecture for vehicle control, communication method, vehicle, medium and chip
CN115334110A
Communication middleware implementation architecture system suitable for automatic parking regulation and control algorithm and control method
CN118890381A
Devices, systems, and methods for developing vehicle architecture-agnostic software
US20240211229A1
Cited By
A heterogeneous middleware migration system and method for automatic driving software
CN122240171A