An autonomous driving data adaptive processing system and method
By receiving and processing autonomous vehicle subsystem data through an adaptive processing system, the problem of inconsistent debugging variables is solved, adaptive data storage and output is achieved, and system development efficiency is improved.
Patent Information
- Application Number
- CN202311457105.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-03
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2043-11-03
AI Technical Summary
During the debugging process of existing autonomous driving systems, the debugging variables of each subsystem are inconsistent, which increases the complexity of the system and makes it difficult to adaptively update the debugging variable list and the recording variable list, affecting development efficiency.
The data receiving module, storage variable data processing module and debugging variable data processing module are used to receive subsystem data through specific communication protocols (such as ZeroMQ and ROS Topic), automatically identify variables that need to be stored and output, generate and update configuration files and variable lists, and realize adaptive data storage and output.
When the subsystem sends out signals for adjustment, the configuration files and variable lists are updated adaptively to meet the debugging variable requirements, thus improving the efficiency and reliability of data recording and output.
Smart Images

Figure CN117456638B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of autonomous driving vehicle technology, and more specifically to an autonomous driving data adaptive processing system and method. Background Art
[0002] With the widespread adoption and development of intelligent automotive technology, an increasing number of vehicles are equipped with autonomous driving technology. Autonomous driving systems are extremely complex systems, and data analysis is widely used in their debugging and optimization processes, as well as in scene data restoration. Therefore, ensuring that autonomous driving system data can be conveniently stored and clearly presented to debuggers for analysis is crucial. Autonomous driving systems typically consist of several subsystems, such as positioning, decision-making and planning, drive-by-wire, and perception. Each subsystem presents distinct technical barriers to development, leading to the development and testing of different technical personnel. Each developer has their own debugging habits, often issuing debug variables and observing their changes. When each subsystem requires debugging variables to be issued, each subsystem is debugged by a different person, and debug variables frequently increase and decrease, adaptively updating the system's overall debug variable list and logging variable list is crucial.
[0003] Many autonomous driving recording systems, based on prior experience, determine the data variables to be displayed and recorded before debugging, and then transmit and save these specific variables during system development. When a subsystem needs to increase or decrease the number of debug variables it issues based on debugging requirements, the data transmission and recording modules must be modified to achieve this, increasing system complexity. For example, patent application publication number CN 110473310A discloses a vehicle driving data recording method, system, device, and storage medium. These methods store autonomous driving system operating data according to specific rules. While this allows for post-analysis, the stored signals must be fixed, making it difficult to meet the flexible variable output requirements of some development and debugging scenarios, hindering development efficiency. Summary of the Invention
[0004] In view of the above-mentioned defects of the prior art, the purpose of the present invention is to provide an autonomous driving data adaptive processing system and method. It can automatically identify the data that needs to be stored locally and the data that needs to be debugged and output through the data sent by each subsystem of the autonomous driving vehicle, when the number and name of the variables sent by each subsystem cannot be predicted in advance. When the external signals of each subsystem are adjusted, it can adaptively meet the variable update requirements, providing an efficient way for data recording and debugging output during vehicle operation debugging.
[0005] The present invention adopts the following technical solutions:
[0006] An autonomous driving data adaptive processing system includes a data receiving module, a storage variable data processing module, a debugging variable data processing module, and a control module;
[0007] The data receiving module is used to receive message data sent by each subsystem of the autonomous driving vehicle according to a predetermined protocol in a specific communication mode, and to provide the message data to the storage variable data processing module and the debugging variable data processing module after sorting the message data;
[0008] The storage variable data processing module is used to record some autonomous driving system operating data that needs to be stored locally and can play back the data through a specific playback tool. When the data recording system is started or when the storage variable data processing module receives an update instruction sent by the control module, the storage variable data processing module will traverse and access the data sent by all autonomous driving subsystems organized by the data receiving module within several data receiving cycles, filter out a list of variables that need to be stored and recorded based on the storage flag, and store the received autonomous driving subsystem data according to the variable list as a binary data format file;
[0009] The debugging variable data processing module is used to record some autonomous driving system operating data that needs to be output to the debugging management personnel through the display interface. When the system starts or when the debugging variable data processing module receives an update instruction sent by the control module, the debugging variable data processing module will traverse and access the data sent by all autonomous driving subsystems sorted by the data receiving module within several data receiving cycles, filter out the variable list that needs to be output through the display interface based on the output flag, and output the received real-time data of the autonomous driving subsystem to the display interface based on the variable list;
[0010] The control module is the management center of the system, which schedules the work of other modules and is used to control the update of storage variable list, debug output variable list update, etc.
[0011] Specifically, the above-mentioned specific communication methods include but are not limited to ZeroMQ and ROS Topic. The predetermined protocol is a "topic + data" mode, where "topic" is represented by a string, and each subsystem that sends data corresponds to an exclusive topic, and "data" is represented by five character strings. The meaning of each character string is the variable serial number, variable name, variable value, whether to store the flag, and whether to debug the output flag. Each character string is separated by the character ","; message data collation is to store the string data sent by each subsystem in the form of a corresponding structure array according to the topic, and convert the data string into a double-precision value for use by the storage variable data processing module and the debugging variable data processing module. The parsed data will be discarded from the storage linked list.
[0012] Using inter-subsystem communication based on the "topic + data" model effectively decouples the various functional subsystems, making it easier for non-professional technical personnel to participate in development. The message data of each subsystem is aggregated and processed, providing a basis for subsequent variable storage and display output.
[0013] Specifically, the above-mentioned storage variable data processing module performs data analysis, storage variable list generation, storage variable list update, and storage of binary format files according to the variable list, and can play back data through a specific playback tool; wherein, in the data analysis stage, the storage variable data processing module traverses and analyzes the data processed by the data receiving module within a certain period of time after the system is started, reads the variable data of the first topic and determines whether to store the flag, takes the variables to be stored as the first part of the elements in the storage variable list, discards the first group of data and reads the subsequent topic data again, if the read topic is the same as the stored element topic, the data is discarded, otherwise the topic is parsed and processed according to the above method and the new element is stored in the variable list, and this process is repeated until the set processing time ends. Data that cannot be read within the set time is deemed to have timed out by the node; in the storage variable list generation stage, in the data analysis stage After the segment ends, the storage variable data processing module locks the storage variable list into a fixed list, and generates a .ini format configuration file in the system running directory. The file records the serial number and variable name information of all storage variables. When storing data, the variable values are stored in the order of the fixed list, and the variable names are not stored because they have been generated in the configuration. In the storage variable list update phase, the storage variable data processing module continuously monitors the topic content sent by each node. If it is detected that a topic has no data within a few cycles, or a topic is not in the generated variable list, or the variable content contained in a topic is changed, the storage variable list generation phase process is repeated to update the variable list and configuration file. In the variable storage and playback phase, the current variable value is stored in real time. After the storage is completed, the variable storage binary file and the .ini configuration file are provided to the playback tool at the same time, that is, the variable value change pattern of each variable name can be displayed in the form of a chart.
[0014] The above method for generating and updating the storage variable list only relies on the established data protocol and is independent of the variable information sent by each subsystem. It has a high degree of module independence and can adaptively store variable values and configuration files.
[0015] Specifically, the above-mentioned debugging variable data processing module performs data analysis, generates a debugging variable list, updates the debugging variable list, sends real-time variable values according to the variable list, and can play the variable values in real time through a specific debugging tool; wherein, in the data analysis stage, the debugging variable data processing module traverses and analyzes the data processed by the data receiving module within a certain period of time after the system is started, reads the variable data of the first topic and determines whether to debug the output flag, and uses the variables that need to be debugged and output as the first part of the elements in the debugging variable list, discards the first group of data and reads the subsequent topic data again. If the read topic is the same as the stored element topic, the data is discarded, otherwise the topic is parsed and processed according to the above method and the new element is stored in the variable list, and this process is repeated until the set processing time ends. Data that cannot be read within the set time is regarded as a node sending timeout; debugging variable list generation stage In the first stage, after the data analysis phase, the debugging variable data processing module locks the debugging variable list into a fixed list and generates a .ini format configuration file in the system running directory. The file records the serial number and variable name information of all debugging variables. When the data is debugged and output, the variable values are sent in the order of the fixed list. The variable names do not need to be stored because they have been generated in the configuration. In the debugging variable list update phase, the debugging variable data processing module continuously monitors the topic content sent by each node. If it is detected that a topic has no data within a few cycles or a topic is not in the generated variable list, the variable list generation phase process is repeated to update the variable list and configuration file. In the variable output and debugging phase, the current variable value is sent in real time through a specific communication method. The debugging tool can read the variable value and the .ini configuration file that records the variable information, that is, the current change pattern of the variable value of each variable name can be displayed in the form of a chart.
[0016] The above debugging variable list generation and update method only relies on the established data protocol and is independent of the variable information sent by each subsystem. It has a high degree of module independence and can adaptively output variable values and store configuration files.
[0017] The present invention also provides a method for adaptively processing autonomous driving data, comprising the following steps:
[0018] (1) Develop a data transmission protocol, and through a specific communication method, each subsystem of the autonomous driving vehicle sends operating status and debugging data according to the protocol;
[0019] (2) Receive the operating status and debugging data sent by each subsystem, process it and save it as a real-time data linked list;
[0020] (3) The system adaptively generates configuration files and updates variable lists. During the initial period of operation, by processing the real-time data linked list, it generates a storage data list and an ini format configuration file locally according to the data situation, and generates an output debugging data list and an ini format configuration file. The values of the above data lists are updated synchronously according to the update of the real-time data linked list, and the data in the storage data list is synchronously saved in a bin format binary file. The output debugging data can be viewed on a specific host computer;
[0021] (4) Continuously monitor the content of topics sent by each node. If it is detected that a topic has no data within a certain period or a topic is not in the generated variable list, repeat the process of storing the variable list generation phase and update the variable list and configuration file.
[0022] Furthermore, the data transmission protocol in the above step (1) is a "topic + data" mode, wherein "topic" is represented by a character string, and each subsystem that sends data corresponds to a dedicated topic, and "data" is represented by a five-segment character string, each of which means the variable number, variable name, variable value, whether to store flag, and whether to debug output flag, and each segment of the character string is separated by the character ",".
[0023] Furthermore, the method for adaptively generating the configuration file and updating the variable list in the above step (3) is as follows: within a certain period of time after the system is started, the real-time data linked list is processed in a first-in-first-out manner, the variable data of the first topic is read and whether to store or debug output is determined according to the flag bit, the variables to be stored are used as the first part of the elements in the storage variable list, the variables to be debugged and output are used as the first part of the elements in the debugging variable list, the first group of data is discarded and the subsequent topic data is read again, if the read topic is the same as the stored element topic, it means that this topic has been processed, and the data is discarded, otherwise the topic is parsed and processed according to the above method and the new element is stored in the corresponding variable list, and this process is repeated until the set processing time ends. The data that cannot be read within the set time is regarded as the node sending data timeout;
[0024] Furthermore, the real-time data linked list update rule in the above step (3) is as follows: according to the pre-established data transmission protocol, the real-time data sent by each subsystem is processed and stored in the real-time data linked list, and the subsequent processing of the linked list data is carried out according to the first-in-first-out rule;
[0025] The above method for adaptively generating configuration files and updating variable lists can adaptively generate configuration files and variable lists based on the information received from the subsystem, and adaptively update the configuration files and variable lists, effectively reducing the coupling degree of the system data recording and debugging output functions, and facilitating multi-person and efficient system development.
[0026] It can be seen from the above description of the present invention that, compared with the prior art, the present invention has the following advantages:
[0027] The autonomous driving data adaptive processing system and method of the present invention receives debugging data sent by each subsystem of the autonomous driving vehicle according to a predetermined agreement. When the number and name of variables sent by each subsystem cannot be predicted in advance, it automatically distinguishes between data that needs to be stored locally and data that needs to be transmitted and displayed, automatically stores data, and automatically sends debugging data externally. When the external signals of each subsystem are adjusted, the configuration file and variable list can be adaptively updated to meet the subsystem debugging variable update requirements, providing an efficient and reliable way for data recording and transmission and display during vehicle operation debugging. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1 This is a module block diagram of the autonomous driving data adaptive processing system of the present invention.
[0029] Figure 2 This is a workflow diagram of the data receiving module of the present invention.
[0030] Figure 3 This is a workflow diagram of the autonomous driving data adaptive processing method of the present invention. DETAILED DESCRIPTION
[0031] Refer to the following Figures 1 to 3 The following describes specific embodiments of the present invention. Numerous details are provided below to provide a comprehensive understanding of the present invention, but those skilled in the art will appreciate that the present invention can be implemented without these details. Well-known components, methods, and processes are not described in detail below.
[0032] like Figure 1 As shown, the present invention discloses an adaptive processing system for autonomous driving data, comprising a data receiving module 1, a storage variable data processing module 2, a debugging variable data processing module 3, and a control module 4. The system receives and processes debugging data sent by the various subsystems of the autonomous vehicle, automatically distinguishing between data that needs to be stored locally and data that needs to be transmitted and displayed. It can adaptively meet the variable list update requirements when the external signals of each subsystem are adjusted, providing an efficient way to record and transmit data during vehicle operation debugging.
[0033] The data receiving module 1 is used to receive message data sent by each subsystem of the autonomous vehicle according to a predetermined protocol using a specific communication method, and then organize the message data and provide it to the storage variable data processing module and the debugging variable data processing module for use. The above specific communication methods include but are not limited to ZeroMQ and ROS Topic; the predetermined protocol is a "topic + data" model, where "topic" is represented by a string, and each subsystem sending data corresponds to a dedicated topic. "Data" is represented by a five-segment string, each segment representing the variable number, variable name, variable value, storage flag, and debug output flag, and each segment is separated by the character ",". Message data organization involves storing the string data sent by each subsystem in the corresponding structure array format according to the topic, and converting the data string into a double-precision value for use by the storage variable data processing module and the debugging variable data processing module. The used and parsed data is discarded from the storage linked list.
[0034] The above-mentioned storage variable data processing module 2 is used to record some autonomous driving system operation data that need to be saved locally and can play back the data through a specific playback tool. When the data recording system is started or this module receives an update instruction sent by the control module, this module will traverse and access the data sent by all autonomous driving subsystems sorted by the data receiving module within several data receiving cycles, and filter out the variable list that needs to be stored and recorded based on the storage flag, and store the received autonomous driving subsystem data as a binary data format file based on the variable list.
[0035] The storage variable data processing module 2 performs data analysis, storage variable list generation, storage variable list update, storage binary format file work according to the variable list, and can play back data through a specific playback tool. Among them: in the data analysis stage, the storage variable data processing module traverses and analyzes the data processed by the data receiving module within a certain period of time after the system is started, reads the variable data of the first topic and determines whether to store the flag, takes the variables to be stored as the first part of the elements in the storage variable list, discards the first group of data and reads the subsequent topic data again. If the read topic is the same as the stored element topic, the data is discarded, otherwise the topic is parsed and processed according to the above method and the new element is stored in the variable list, and this process is repeated until the set processing time ends. Data that cannot be read within the set time is regarded as a node sending timeout; in the storage variable list generation stage, after the data analysis stage ends, the storage variable data processing module locks the storage variable list into a fixed list, and at the same time, when the system is running A .ini format configuration file is generated in the line directory, which records the serial number and variable name information of all storage variables. When storing data, the variable values are stored in the order of a fixed list, and the variable names may not be stored because they have been generated in the configuration. In the storage variable list update phase, the storage variable data processing module continuously monitors the topic content sent by each node. If it is detected that a topic has no data within a few cycles, or a topic is not in the generated variable list, or the variable content contained in a topic is changed, the storage variable list generation phase process is repeated to update the variable list and configuration file. In the variable storage and playback phase, the current variable value is stored in real time. After the storage is completed, the variable storage binary file and the .ini configuration file are provided to the playback tool at the same time, that is, the variable value change pattern of each variable name can be displayed in the form of a chart.
[0036] The above-mentioned debugging variable data processing module 3 is used to record some automatic driving system operation data that need to be output to the debugging management personnel through the display interface. When the system starts or when this module receives the update instruction sent by the control module, this module will traverse and access the data sent by all automatic driving subsystems sorted by the data receiving module within several data receiving cycles, and filter out the variable list that needs to be output through the display interface based on the output flag, and output the received real-time data of the automatic driving subsystem on the display interface according to the variable list.
[0037] The debugging variable data processing module 3 performs data analysis, generates a debugging variable list, updates the debugging variable list, sends real-time variable values according to the variable list, and can play the variable values in real time through a specific debugging tool. Among them: in the data analysis stage, the debugging variable data processing module traverses and analyzes the data processed by the data receiving module within a certain period of time after the system is started, reads the variable data of the first topic and determines whether the debugging output flag is set, and uses the variables that need to be debugged and output as the first part of the debugging variable list. The first group of data is discarded and the subsequent topic data is read again. If the read topic is the same as the stored element topic, the data is discarded. Otherwise, the topic is parsed and processed according to the above method and the new element is stored in the variable list. This process is repeated until the set processing time ends. Data that cannot be read within the set time is considered to have timed out by the node. In the debugging variable list generation stage, after the data analysis stage ends, the debugging variable data processing module locks the debugging variable list into a fixed list. At the same time, a .ini format configuration file is generated in the system running directory. The file records the serial number and variable name information of all debugging variables. When debugging data, the variable values are sent in the order of the fixed list. The variable names do not need to be stored because they have been generated in the configuration. In the debugging variable list update phase, the debugging variable data processing module continuously monitors the topic content sent by each node. If it is detected that a topic has no data within a few cycles or a topic is not in the generated variable list, the variable list generation phase process is repeated to update the variable list and configuration file. In the variable output and debugging phase, the current variable value is sent in real time through a specific communication method. The debugging tool can read the variable value and the .ini configuration file that records the variable information, that is, the current change pattern of the variable value of each variable name can be displayed in the form of a chart.
[0038] The control module 4 is the management center of the system, which schedules the work of other modules and is used to control the update of the storage variable list, the update of the debug output variable list, etc.
[0039] The present invention also discloses an autonomous driving data adaptive processing method, which uses the above autonomous driving data adaptive processing system to implement the processes of receiving and processing vehicle subsystem status data, establishing a variable list, generating a variable list configuration file, and updating the variable list and configuration file, see Figure 2 、 Figure 3 The system and submodule workflow diagram mainly includes the following steps:
[0040] (1) Develop a data transmission protocol, and through a specific communication method, each subsystem of the autonomous driving vehicle sends operating status and debugging data according to the protocol;
[0041] (2) Receive the operating status and debugging data sent by each subsystem, process it and save it as a real-time data linked list;
[0042] (3) The system adaptively generates configuration files and updates variable lists. During the initial period of operation, by processing the real-time data linked list, it generates a storage data list and an ini format configuration file locally according to the data situation, and generates an output debugging data list and an ini format configuration file. The values of the above data lists are updated synchronously according to the update of the real-time data linked list, and the data in the storage data list is synchronously saved in a bin format binary file. The output debugging data can be viewed on a specific host computer;
[0043] (4) Continuously monitor the content of topics sent by each node. If it is detected that a topic has no data within a certain period or a topic is not in the generated variable list, repeat the process of storing the variable list generation phase and update the variable list and configuration file.
[0044] The data transmission protocol in the above step (1) is a "topic + data" mode, where "topic" is represented by a string, and each subsystem that sends data corresponds to a dedicated topic, and "data" is represented by a five-segment string. The meaning of each segment of the string is the variable number, variable name, variable value, whether to store the flag, and whether to debug the output flag. Each segment of the string is separated by the character ",".
[0045] Message data organization is to store the string data sent by each subsystem into the corresponding structure array format according to the topic, and convert the data string into a double-precision value for use in the storage variable data processing module and the debugging variable data processing module. The parsed data will be discarded from the storage linked list.
[0046] The method for adaptively generating the configuration file and updating the variable list in the above step (3) is as follows: within a certain period of time after the system is started, the real-time data linked list is processed in a first-in-first-out manner, the variable data of the first topic is read and the flag is used to determine whether to store or debug output. The variables to be stored are used as the first part of the elements in the storage variable list, and the variables to be debugged and output are used as the first part of the elements in the debugging variable list. The first group of data is discarded and the subsequent topic data is read again. If the read topic is the same as the stored element topic, it means that this topic has been processed and the data is discarded. Otherwise, the topic is parsed and processed according to the above method and the new element is stored in the corresponding variable list. This process is repeated until the set processing time ends. Data that cannot be read within the set time is considered to have timed out. The real-time data linked list update rule is as follows: according to the pre-established data transmission protocol, the real-time data sent by each subsystem is processed and stored in the real-time data linked list. The subsequent processing of the linked list data is carried out according to the first-in-first-out rule.
[0047] In summary, the autonomous driving data adaptive processing system and method of the present invention receives debugging data sent by each subsystem of the autonomous driving vehicle according to a predetermined agreement. When the number and name of variables sent by each subsystem cannot be predicted in advance, it automatically identifies the data that needs to be stored locally and the data that needs to be transmitted and displayed, automatically stores the data, and automatically sends out debugging data. When the outgoing signals of each subsystem are adjusted, the configuration file and variable list can be adaptively updated to meet the subsystem debugging variable update requirements, providing an efficient and reliable way for data recording and transmission and display in vehicle operation debugging.
[0048] The above is only a specific implementation of the present invention, but the design concept of the present invention is not limited to this. Any non-substantial changes to the present invention using this concept shall be deemed as an infringement of the protection scope of the present invention.
Claims
1. An autonomous driving data adaptive processing system, characterized in that: include: Data receiving module, storage variable data processing module, debugging variable data processing module and control module; The data receiving module is used to receive message data sent by each subsystem of the autonomous driving vehicle according to a predetermined protocol in a specific communication mode, and provide the message data to the storage variable data processing module and the debugging variable data processing module after sorting. The specific communication mode includes ZeroMQ and ROS Topic. The predetermined protocol is a "topic + data" mode, where "topic" is represented by a string, and each subsystem sending data corresponds to a dedicated topic. "Data" is represented by a five-segment string, and each segment of the string means the variable sequence number, variable name, variable value, whether to store flag, and whether to debug output flag, and each segment of the string is separated by the character ",". The storage variable data processing module is used to record some autonomous driving system operating data that needs to be stored locally and can play back the data through a specific playback tool. When the data recording system is started or when the storage variable data processing module receives an update instruction sent by the control module, the storage variable data processing module traverses and accesses the data sent by all autonomous driving subsystems organized by the data receiving module within several data receiving cycles, filters out a list of variables that need to be stored and recorded based on the storage flag, and then stores the received autonomous driving subsystem data according to the variable list as a binary data format file; The debugging variable data processing module is used to record some autonomous driving system operating data that needs to be output to the debugging management personnel through the display interface. When the system is started or when the debugging variable data processing module receives an update instruction sent by the control module, the debugging variable data processing module traverses and accesses the data sent by all autonomous driving subsystems sorted by the data receiving module within several data receiving cycles, and selects a list of variables that need to be output through the display interface based on the debugging output flag. Then, based on the variable list, the received real-time data of the autonomous driving subsystem is output to the display interface. The control module is the management center of the system, which schedules the work of the other modules and is used to control the update of the storage variable list and the update of the debugging output variable list.
2. The autonomous driving data adaptive processing system according to claim 1, wherein: The message data collation is to store the string data sent by each subsystem in the form of a corresponding structure array according to the topic, and convert the data string into a double-precision value for use in the storage variable data processing module and the debugging variable data processing module. The parsed data will be discarded from the storage linked list.
3. The autonomous driving data adaptive processing system according to claim 1, wherein: The storage variable data processing module performs data analysis, generates a storage variable list, updates the storage variable list, stores binary format files according to the variable list, and can play back data through a specific playback tool; wherein, in the data analysis stage, the storage variable data processing module traverses and analyzes the data processed by the data receiving module within a certain period of time after the system is started, reads the variable data of the first topic and determines whether to store the flag, takes the variables to be stored as the first part of the elements in the storage variable list, discards the first group of data and reads the subsequent topic data again, if the read topic is the same as the stored element topic, the data is discarded, otherwise the topic is parsed and processed according to the above data analysis stage and the new element is stored in the variable list, and this process is repeated until the set processing time ends. Data that cannot be read within the set time is deemed to have timed out by the node; storage variable list generation stage In the first stage, after the data analysis stage, the storage variable data processing module locks the storage variable list into a fixed list, and generates a .ini format configuration file in the system running directory. The file records the serial number and variable name information of all storage variables, and the variable values are stored in the order of the fixed list during data storage; in the storage variable list update stage, the storage variable data processing module continuously monitors the topic content sent by each node. If it is detected that a topic has no data within a few cycles, or a topic is not in the generated variable list, or the variable content contained in a topic is changed, the storage variable list generation stage process is repeated to update the variable list and configuration file; in the variable storage and playback stage, the current variable value is stored in real time. After the storage is completed, the variable storage binary file and the .ini configuration file are provided to the playback tool at the same time, that is, the variable value change pattern of each variable name can be displayed in the form of a chart.
4. The autonomous driving data adaptive processing system according to claim 1, wherein: The debugging variable data processing module performs data analysis, generates a debugging variable list, updates the debugging variable list, sends real-time variable values according to the variable list, and can play the variable values in real time through a specific debugging tool; wherein, in the data analysis stage, the debugging variable data processing module traverses and analyzes the data processed by the data receiving module within a certain period of time after the system is started, reads the variable data of the first topic and determines whether to debug the output flag, and uses the variables that need to be debugged and output as the first part of the elements in the debugging variable list, discards the first group of data and reads the subsequent topic data again. If the read topic is the same as the stored element topic, the data is discarded, otherwise the topic is parsed and processed according to the above data analysis stage and the new element is stored in the variable list, and this process is repeated until the set processing time ends. Data that cannot be read within the set time is regarded as a node sending timeout; debugging In the debugging variable list generation phase, after the data analysis phase, the debugging variable data processing module locks the debugging variable list into a fixed list and generates a .ini format configuration file in the system running directory. The file records the serial numbers and variable name information of all debugging variables. When the data is debugged and output, the variable values are sent in the order of the fixed list; in the debugging variable list update phase, the debugging variable data processing module continuously monitors the topic content sent by each node. If it is detected that a topic has no data within a certain period or a topic is not in the generated variable list, the variable list generation phase process is repeated to update the variable list and configuration file; in the variable output and debugging phase, the current variable value is sent in real time through a specific communication method. The debugging tool can read the variable value and the .ini configuration file that records the variable information, that is, the current change pattern of the variable value of each variable name can be displayed in the form of a chart.
5. A method for adaptively processing autonomous driving data, using an adaptive autonomous driving data processing system according to any one of claims 1 to 4, characterized in that: The following steps are involved: (1) Develop a data transmission protocol, and through a specific communication method, each subsystem of the autonomous driving vehicle sends operating status and debugging data according to the protocol; (2) Receive the operating status and debugging data sent by each subsystem, process it and save it as a real-time data linked list; (3) The system adaptively generates configuration files and updates variable lists. During the initial period of operation, by processing the real-time data linked list, it generates a storage data list and an ini format configuration file locally according to the data situation, and generates an output debugging data list and an ini format configuration file. The data list values are updated synchronously according to the update of the real-time data linked list, and the storage data list data is synchronously saved to a bin format binary file. The output debugging data is viewed by a specific host computer; (4) Continuously monitor the content of topics sent by each node. If it is detected that a topic has no data within a certain period or a topic is not in the generated variable list, repeat the process of storing the variable list generation phase and update the variable list and configuration file.
6. The method for adaptively processing autonomous driving data according to claim 5, wherein: The data transmission protocol in step (1) is a "topic + data" mode, wherein "topic" is represented by a character string, and each subsystem that sends data corresponds to a dedicated topic, and "data" is represented by a five-segment character string, each of which means a variable number, a variable name, a variable value, a storage flag, and a debug output flag, and each character string is separated by the character ",".
7. The method for adaptively processing autonomous driving data according to claim 5, wherein: The method for adaptively generating a configuration file and updating a variable list in the step (3) is as follows: within a certain period of time after the system is started, the real-time data linked list is processed in a first-in-first-out manner, the variable data of the first topic is read and whether to store or debug output is determined according to the flag bit, the variables to be stored are used as the first part of the elements of the storage variable list, the variables to be debugged and output are used as the first part of the elements of the debugging variable list, the first group of data is discarded and the subsequent topic data is read again, if the read topic is the same as the stored element topic, it means that this topic has been processed, and the data is discarded, otherwise the topic is parsed and processed according to the above method and the new element is stored in the corresponding variable list, and this process is repeated until the set processing time ends. The data that cannot be read within the set time is regarded as the node sending data timeout.
8. The method for adaptively processing autonomous driving data according to claim 5, wherein: The real-time data linked list update rule in step (3) is: according to the pre-established data transmission protocol, the real-time data sent by each subsystem is processed and stored in the real-time data linked list, and the subsequent processing of the linked list data is carried out according to the first-in-first-out rule.
Citation Information
Patent Citations
Automobile driving data recording method, system, apparatus and storage medium
CN110473310A
A method and system for dynamically and automatically reassembling a train team
CN109017885A
Quick debugging system and method for automatic driving algorithm development and memory
CN114896168A