CN116610576A - Debugging system of automatic driving software - Google Patents

Debugging system of automatic driving software Download PDF

Info

Publication number
CN116610576A
CN116610576A CN202310593789.5A CN202310593789A CN116610576A CN 116610576 A CN116610576 A CN 116610576A CN 202310593789 A CN202310593789 A CN 202310593789A CN 116610576 A CN116610576 A CN 116610576A
Authority
CN
China
Prior art keywords
data
variable
variables
tested
acquisition module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310593789.5A
Other languages
Chinese (zh)
Inventor
于起
李一鸣
张桂平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FAW Jiefang Automotive Co Ltd
Original Assignee
FAW Jiefang Automotive Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FAW Jiefang Automotive Co Ltd filed Critical FAW Jiefang Automotive Co Ltd
Priority to CN202310593789.5A priority Critical patent/CN116610576A/en
Publication of CN116610576A publication Critical patent/CN116610576A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The embodiment of the invention discloses a debugging system of automatic driving software. The system comprises: the system comprises a data acquisition module, autopilot software to be debugged, data communication equipment and a data analysis module, wherein the data acquisition module is deployed in an autopilot domain controller; the automatic driving software can be used for generating variable data aiming at the variable to be tested in the running process; the data acquisition module can be used for acquiring variable data and transmitting the variable data to the data analysis module through the data communication equipment; the data analysis module is used for receiving the variable data, analyzing the variable data to obtain analysis data, and realizing the debugging process of the automatic driving software based on the analysis data. According to the technical scheme provided by the embodiment of the invention, the effect of real-time debugging of the automatic driving software can be realized on the premise that no additional hardware is required to be added in the automatic driving system, so that the debugging efficiency of the automatic driving software is improved.

Description

Debugging system of automatic driving software
Technical Field
The embodiment of the invention relates to the technical field of automatic driving, in particular to a debugging system of automatic driving software.
Background
Currently, with rapid development of technology, automatic driving vehicles are increasingly entering into lives of people, and as an important component in automatic driving vehicles, automatic driving software, debugging work of the automatic driving software is of great importance.
However, the currently adopted debugging scheme requires additional hardware in the autopilot system, which leads to an increase in hardware cost; or, since the recorded scene data is debugged by playback, real-time debugging cannot be realized, thereby affecting the debugging efficiency.
Disclosure of Invention
The embodiment of the invention provides a debugging system of automatic driving software, which is used for realizing real-time debugging of the automatic driving software on the premise that no additional hardware is required to be added in the automatic driving system.
According to an aspect of the present invention, there is provided a debugging system of autopilot software, including: the system comprises a data acquisition module arranged in an autopilot domain controller, autopilot software to be debugged, data communication equipment and a data analysis module arranged in an upper computer; wherein,,
the automatic driving software is used for generating variable data aiming at the variable to be measured in the running process;
the data acquisition module is used for acquiring variable data and transmitting the variable data to the data analysis module through the data communication equipment;
the data analysis module is used for receiving the variable data, analyzing the variable data to obtain analysis data, and realizing the debugging process of the automatic driving software based on the analysis data.
Optionally, the autopilot software and the data acquisition module share the same memory area; wherein,,
the automatic driving software is also used for storing the generated variable data into a memory area;
the data acquisition module is specifically used for acquiring variable data from the memory area and sending the variable data to the data analysis module through the data communication equipment.
On the basis, the number of the variables to be detected is at least two, and the at least two variables to be detected correspond to respective memory addresses in the memory area;
the automatic driving software is further specifically configured to store variable data that has been generated for at least two variables to be tested respectively into the memory area according to the memory address;
the data acquisition module is also used for analyzing the memory layout of the automatic driving software to obtain a memory address;
the data acquisition module is specifically configured to acquire variable data of at least two variables to be tested from the memory area according to the memory address, and send the variable data to the data analysis module through the data communication device.
On the basis, the data acquisition module is optional, and is further specifically used for analyzing the memory layout of the automatic driving software to generate a to-be-tested variable layout list, wherein at least two to-be-tested variables and memory addresses are stored in the to-be-tested variable layout list;
the data acquisition module is also used for sending the layout list of the variables to be tested to the data analysis module through the data communication equipment;
the data analysis module is also used for receiving parameter settings input for at least two variables to be tested in the layout list of the variables to be tested after receiving the layout list of the variables to be tested, and returning the parameter settings to the data acquisition module;
the data acquisition module is specifically configured to acquire variable data of at least two variables to be tested from the memory area according to the memory address and the parameter setting, and transmit the variable data back to the data analysis module through the data communication device.
On the basis, optionally, at least two data types corresponding to the variables to be tested respectively are stored in the layout list of the variables to be tested;
the data analysis module is specifically configured to analyze the received variable data of at least two variables to be tested according to the data type to obtain analysis data, so as to implement a debugging process of the autopilot software based on the analysis data.
Optionally, the number of variables to be measured is at least two;
the data acquisition module is also used for respectively encoding the acquired variable data of at least two variables to be detected, splicing the obtained at least two encoding results according to the acquisition sequence of the at least two variables to be detected, packaging the obtained splicing results, and sending the obtained packaging results to the data analysis module through the data communication equipment;
the data analysis module is specifically used for receiving the packing result, analyzing the packing result and obtaining analysis data so as to realize the debugging process of the automatic driving software based on the analysis data.
On the basis, an optional, for each to-be-measured variable of at least two to-be-measured variables, a data acquisition module realizes the coding process of the variable data of the to-be-measured variable by the following steps:
splicing all byte data in variable data of the variable to be detected according to bits;
dividing spliced data obtained by splicing according to the preset bit number to obtain at least one group of bit data, and obtaining the coding result of variable data based on the at least one group of bit data.
On the basis, optionally, the preset bit number is smaller than the byte bit number, and the byte bit number is used for representing the bit number of the bits contained in the single byte data;
the data acquisition module is used for realizing the coding process of variable data of the variable to be detected by the following steps:
obtaining a bit number difference value according to the byte bit number and the preset bit number;
and filling the bit data according to the bit number difference value for each group of bit data of at least one group of bit data, and updating the bit data based on the obtained filling result.
On the basis, the data acquisition module is also used for adding a segmentation flag byte between two coding results to be spliced in at least two coding results according to the acquisition sequence so as to splice the at least two coding results added with the segmentation flag byte.
On the basis of any technical scheme, the data analysis module is optional, and is specifically configured to analyze the received variable data to obtain analysis data, and implement a debugging process of the autopilot software by displaying the analysis data and/or drawing and displaying a change curve based on the analysis data.
The debugging system of the automatic driving software provided by the embodiment of the invention comprises the following components: the system comprises a data acquisition module arranged in an autopilot domain controller, autopilot software to be debugged, data communication equipment and a data analysis module arranged in an upper computer; the automatic driving software is used for generating variable data aiming at the variable to be tested in the running process; the data acquisition module is used for acquiring variable data and transmitting the variable data to the data analysis module through the data communication equipment; the data analysis module is used for receiving the variable data, analyzing the variable data and obtaining analysis data, so that the debugging process of the automatic driving software is realized based on the analysis data. According to the technical scheme, the data acquisition module deployed at the same position as the automatic driving software acquires the variable data generated by the automatic driving software aiming at the variable to be detected in the operation process in real time, and then the variable data is sent to the data analysis module for analysis and debugging through the data communication equipment, so that the effect of real-time debugging of the automatic driving software is realized on the premise that no additional hardware is required to be added in the automatic driving system, and the debugging efficiency of the automatic driving software is improved.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the invention, nor is it intended to be used to limit the scope of the invention. Other features of the present invention will become apparent from the description that follows.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a block diagram of a debugging system for autopilot software according to one embodiment of the present invention;
FIG. 2 is a block diagram of another autopilot software debug system provided in accordance with an embodiment of the present invention;
FIG. 3 is a schematic diagram of an alternative example of a debug system for another autopilot software provided in accordance with an embodiment of the present invention;
FIG. 4 is a block diagram of another autopilot software debug system provided in accordance with an embodiment of the present invention;
FIG. 5 is a schematic diagram of an example of data encoding in another autopilot software debug system provided in accordance with an embodiment of the present invention;
fig. 6 is a workflow diagram of another autopilot software debug system provided in accordance with an embodiment of the present invention.
Detailed Description
In order that those skilled in the art will better understand the present invention, a technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present invention without making any inventive effort, shall fall within the scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present invention and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the invention described herein may be implemented in sequences other than those illustrated or otherwise described herein. The cases of "target", "original", etc. are similar and will not be described in detail herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Fig. 1 is a block diagram of a debugging system for autopilot software according to an embodiment of the present invention. The embodiment can be applied to the situation of debugging the automatic driving software. Referring to fig. 1, a debugging system for autopilot software according to an embodiment of the present invention may include: the system comprises autopilot software 10 to be debugged, a data acquisition module 11, a data communication device 12 and a data analysis module 13, wherein the autopilot software 10 and the data acquisition module 11 are deployed in an autopilot domain controller; wherein,,
the automatic driving software 10 is used for generating variable data aiming at the variable to be measured in the running process;
the data acquisition module 11 is used for acquiring variable data and transmitting the variable data to the data analysis module 13 through the data communication equipment 12;
the data parsing module 13 is configured to receive the variable data, parse the variable data, and obtain parsed data, so as to implement a debugging process of the autopilot software 10 based on the parsed data.
Among them, the autopilot domain controller is understood as a domain controller for implementing autopilot functions, and in practical applications, it is optional that it generally has the capabilities of multi-sensor fusion, positioning, path planning, decision control, wireless communication and high-speed communication.
Autopilot software 10 may be understood as software to be debugged deployed on an autopilot domain controller that may be used to implement autopilot functionality. The variable to be tested can be understood as a variable to be tested in the debugging process of the autopilot software 10, and may be, for example, an intermediate result of steering wheel angle and image recognition, etc. in combination with the application scenario possibly related to the embodiment of the present invention, which is not specifically limited herein. The variable data may be understood as a specific value of the variable to be measured during the actual running of the autopilot software 10.
The data acquisition module 11 is understood to be a module deployed on the autopilot controller that can be used at least for implementing data acquisition functions, in particular for implementing acquisition of variable data.
The upper computer may be understood as a machine that can interact with a user to implement software debugging functions. The data analysis module 13 may be understood as a machine for implementing a data analysis function deployed on a host computer. In connection with the application scenario possibly involved in the embodiment of the present invention, optionally, the data parsing module 13 may parse data according to at least one of a data type, a data encoding policy and a data packaging policy.
The data communication device 12 may be understood as a device connected between the host computer and the autopilot domain controller for enabling data interaction between the host computer and the autopilot domain controller, in particular as a device for enabling data interaction between the data acquisition module 11 and the data analysis module 13. In practice, the data communication device 12 may alternatively interact with data via a controller area network (Controller Area Network, CAN) bus or ethernet.
On this basis, variable data are generated for the variables to be measured by the autopilot software 10 during the operation of the autopilot software 10. Then, variable data is collected by the data collection module 11, and sent to the data analysis module 13 via the data communication device 12. Further, the data analysis module 13 receives the variable data via the data communication device 12 and analyzes the variable data to obtain analysis data, so that the debugging process of the autopilot software 10 can be realized based on the analysis data.
The debugging system of the automatic driving software provided by the embodiment of the invention comprises the following components: the system comprises a data acquisition module arranged in an autopilot domain controller, autopilot software to be debugged, data communication equipment and a data analysis module arranged in an upper computer; the automatic driving software is used for generating variable data aiming at the variable to be tested in the running process; the data acquisition module is used for acquiring variable data and transmitting the variable data to the data analysis module through the data communication equipment; the data analysis module is used for receiving the variable data, analyzing the variable data and obtaining analysis data, so that the debugging process of the automatic driving software is realized based on the analysis data. According to the technical scheme, the data acquisition module deployed at the same position as the automatic driving software acquires the variable data generated by the automatic driving software aiming at the variable to be detected in the operation process in real time, and then the variable data is sent to the data analysis module for analysis and debugging through the data communication equipment, so that the effect of real-time debugging of the automatic driving software is realized on the premise that no additional hardware is required to be added in the automatic driving system, and the debugging efficiency of the automatic driving software is improved.
The data analysis module is particularly used for analyzing the received variable data to obtain analysis data, and the automatic driving software debugging process is realized by displaying the analysis data and/or drawing and displaying a change curve based on the analysis data.
In other words, after the data analysis module analyzes the analysis data, the data analysis module may implement the debugging process of the autopilot software by displaying the analysis data and/or drawing and displaying the change curve of the variable to be tested based on the analysis data. On the basis, the data analysis module can debug the autopilot software according to a preset event, wherein the preset event can be understood as a preset event for realizing the software debugging function, and in combination with an application scenario possibly related to the embodiment of the invention, for example, the event that whether the variable data of a certain variable to be tested exceeds a second preset numerical threshold value can be determined under the condition that the variable data of the other variable to be tested exceeds the first preset numerical threshold value is detected. According to the technical scheme, effective debugging of the automatic driving software is achieved.
Fig. 2 is a block diagram of another system for debugging autopilot software provided in an embodiment of the present invention. The present embodiment is optimized based on the above technical solutions. In this embodiment, optionally, the autopilot software and the data acquisition module share the same memory area; the automatic driving software is also used for storing the generated variable data into the memory area; the data acquisition module is specifically used for acquiring variable data from the memory area and sending the variable data to the data analysis module through the data communication equipment. Wherein, the explanation of the same or corresponding terms as the above embodiments is not repeated herein.
Specifically, referring to fig. 2, the debugging system of the autopilot software according to the present embodiment may include: the system comprises autopilot software 20 to be debugged and deployed in an autopilot domain controller, a data acquisition module 21, data communication equipment 22 and a data analysis module 23 deployed in an upper computer, wherein the autopilot software 20 and the data acquisition module 21 share the same memory area 24; wherein,,
the autopilot software 20 is configured to generate variable data for the variable to be measured during operation, and store the generated variable data in the memory area 24;
the data acquisition module 21 is configured to acquire variable data from the memory area 24, and send the variable data to the data analysis module 23 through the data communication device 22;
the data parsing module 23 is configured to receive the variable data, parse the variable data, and obtain parsed data, so as to implement a debugging process of the autopilot software 20 based on the parsed data.
The autopilot software 20 may operate in an independent process manner and share the same memory area 24 with the data acquisition module 21, so that the autopilot software 20 may store the generated variable data into the memory area 24, and further, the data acquisition module 21 may read the variable data from the memory area 24, thereby realizing effective circulation of the variable data from the autopilot software 20 to the data acquisition module 21.
For example, referring to fig. 3, both the data acquisition module and the autopilot software are deployed in the autopilot domain controller and both share the same memory area in the autopilot domain controller. The data communication device may operate via a CAN bus or ethernet. The upper computer is provided with a data analysis module. On the basis, the automatic driving software stores the generated variable data into the memory area, then the data acquisition module can acquire the variable data from the memory area and send the variable data to the data analysis module through the data communication equipment, so that the data analysis module can debug the automatic driving software by analyzing the variable data.
According to the technical scheme, the automatic driving software and the data acquisition module share the same memory area, so that the automatic driving software stores the generated variable data into the memory area, and then the data acquisition module can acquire the variable data from the memory area, and therefore effective circulation of the variable data from the automatic driving software to the data acquisition module is achieved.
An optional technical scheme includes that the number of variables to be tested is at least two, and at least two variables to be tested correspond to respective memory addresses in a memory area;
the automatic driving software is further specifically configured to store variable data that has been generated for at least two variables to be tested respectively into the memory area according to the memory address;
the data acquisition module is also used for analyzing the memory layout of the automatic driving software to obtain a memory address;
the data acquisition module is specifically configured to acquire variable data of at least two variables to be tested from the memory area according to the memory address, and send the variable data to the data analysis module through the data communication device.
Under the condition that the number of the variables to be measured is at least two, and the at least two variables to be measured respectively correspond to the memory addresses of the respective memory areas, the autopilot software can store the variable data which are respectively generated for the at least two variables to be measured into the memory areas according to the memory addresses. On the basis, the data acquisition module can acquire the memory address by analyzing the memory layout of the autopilot software, so that variable data of at least two variables to be detected can be acquired from the memory area according to the memory address, and the effect of accurately acquiring the variable data of different variables to be detected is realized. In practical application, optionally, before compiling the automatic driving software, the address space layout randomization can be closed first, so as to ensure that the memory address of the variable data to be collected is fixed.
On the basis, the data acquisition module is optional, and is further specifically used for analyzing the memory layout of the automatic driving software to generate a to-be-tested variable layout list, wherein at least two to-be-tested variables and memory addresses are stored in the to-be-tested variable layout list;
the data acquisition module is also used for sending the layout list of the variables to be tested to the data analysis module through the data communication equipment;
the data analysis module is also used for receiving parameter settings input for at least two variables to be tested in the layout list of the variables to be tested after receiving the layout list of the variables to be tested, and returning the parameter settings to the data acquisition module;
the data acquisition module is specifically configured to acquire variable data of at least two variables to be tested from the memory area according to the memory address and the parameter setting, and transmit the variable data back to the data analysis module through the data communication device.
After the analysis of the memory layout is completed, the data acquisition module may generate a layout list of the to-be-tested variables at least storing at least two to-be-tested variables and memory addresses of each of the at least two to-be-tested variables. Then, the data acquisition module can send the generated layout list of the variables to be tested to the data analysis module through the data communication equipment. Then, the data analysis module can display the layout list of the variables to be tested after receiving the layout list of the variables to be tested, so that a user can input parameter settings for at least two variables to be tested in the layout list of the variables to be tested respectively. In connection with the application scenario possibly related to the embodiment of the present invention, the parameter setting may be at least one of a sampling range, a data backhaul mode (for example, a trigger backhaul mode implemented based on a preset trigger condition, or a period backhaul mode implemented based on a preset backhaul period), a data update frequency, a data encoding policy, and a data packaging policy, which are used for characterizing a to-be-sampled variable of at least two to-be-sampled variables. Furthermore, the data analysis module can set the received needle parameters and return the received needle parameters to the data acquisition module through the data communication equipment. Therefore, the data acquisition module can realize the acquisition process and the transmission process of variable data according to the memory address and the parameter setting.
According to the technical scheme, the effect of debugging the automatic driving software according to the actual requirements of the user is achieved through the to-be-tested variable layout list and the parameter setting.
On the basis, optionally, at least two data types corresponding to the variables to be tested respectively are stored in the layout list of the variables to be tested;
the data analysis module is specifically configured to analyze the received variable data of at least two variables to be tested according to the data type to obtain analysis data, so as to implement a debugging process of the autopilot software based on the analysis data.
The layout list of variables to be tested may further store at least two data types corresponding to the variables to be tested respectively, and in combination with the application scenario possibly related to the embodiment of the present invention, the data types may be data types of a computer, for example, boolean types, integer types, floating point types, complex types, character strings or character types, etc., or may be data types defined by a user, for example, image types or video stream types, etc., which are not specifically limited herein. It should be noted that, for the data type defined by the user, the user may set the corresponding data analysis policy and the byte length in the memory area at the host computer by himself.
The data analysis module can analyze variable data of at least two variables to be tested according to the data types to obtain analysis data, so that a user can obtain the data types corresponding to the variables to be tested, and the debugging process of the automatic driving software can be completed better.
Fig. 4 is a block diagram of another system for debugging autopilot software provided in an embodiment of the present invention. The present embodiment is optimized based on the above technical solutions. In this embodiment, optionally, the number of variables to be measured includes at least two; the data acquisition module is also used for respectively encoding the acquired variable data of at least two variables to be detected, splicing the obtained at least two encoding results according to the acquisition sequence of the at least two variables to be detected, packaging the obtained splicing results, and sending the obtained packaging results to the data analysis module through the data communication equipment; the data analysis module is specifically used for receiving the packing result, analyzing the packing result and obtaining analysis data so as to realize the debugging process of the automatic driving software based on the analysis data. The same or corresponding terms as those of the above embodiments are not repeated herein.
Specifically, referring to fig. 4, the debugging system of the autopilot software according to the present embodiment may include: the system comprises autopilot software 30 to be debugged, a data acquisition module 31, a data communication device 32 and a data analysis module 33, wherein the autopilot software 30 and the data acquisition module 31 are deployed in an autopilot domain controller;
the automatic driving software 30 is configured to generate variable data for at least two variables to be measured during an operation process;
the data acquisition module 31 is configured to encode variable data of at least two variables to be detected obtained by acquisition respectively, splice the obtained at least two encoding results according to an acquisition sequence of the at least two variables to be detected, package the obtained spliced results, and send the obtained packaged results to the data analysis module 33 through the data communication device 32;
the data parsing module 33 is configured to receive the packing result, parse the packing result, and obtain parsed data, so as to implement a debugging process of the autopilot software 30 based on the parsed data.
Wherein the number of the variables to be measured is at least two, on the basis of which, in order to realize the effective transmission of the variable data of the at least two variables to be measured, the data acquisition module 31 may encode the acquired variable data of the at least two variables to be measured respectively, splice the acquired at least two encoding results according to the acquisition sequence of the at least two variables to be measured, and package the acquired spliced results, so that the acquired packaged results are sent to the data analysis module 33 through the data communication device 32.
Illustratively, assuming that at least two variables to be measured include A, B and C, then encoding the variable data for a to yield a; coding variable data of the B to obtain B; and (3) encoding the variable data of C to obtain C. On this basis, assuming that the acquisition order is A-B-C, the splice result obtained by splicing the three encoding results (a, B and C) based on A-B-C is a-B-C. Further, the a-b-c is packed, and the packed result thus obtained is sent to the data analysis module 33.
Then, the data parsing module 33 may parse the received packing result, specifically, parse the packing result according to the inverse process of the data encoding process, so as to recover the original variable data, and implement the debugging process of the autopilot software 30.
According to the technical scheme, the variable data of at least two variables to be detected are respectively encoded, and then the obtained at least two encoding results are spliced and packaged for data transmission, so that compared with the mode that the variable data of each variable to be detected are respectively packaged into one message frame for data transmission, the number of message frames to be transmitted in the data transmission process can be effectively reduced, the data transmission speed is improved, and the debugging efficiency of the automatic driving software is further improved.
On the basis, according to an optional technical scheme, aiming at each variable to be detected in at least two variables to be detected, the data acquisition module realizes the coding process of variable data of the variable to be detected by the following steps:
splicing all byte data in variable data of the variable to be detected according to bits;
dividing spliced data obtained by splicing according to the preset bit number to obtain at least one group of bit data, and obtaining the coding result of variable data based on the at least one group of bit data.
The byte lengths corresponding to the variable data of different variables to be measured may be the same or different, which is related to the actual situation, and is not specifically limited herein. For each variable data of the variable to be tested, one Byte data (Byte) comprises 8 bits (bits), so that each Byte data in the variable data can be spliced according to the bits to obtain spliced data; further, the spliced data is segmented according to a preset bit number, so as to obtain at least one group of bit data, and the preset bit number can be a positive integer less than or equal to 8 in combination with an application scenario possibly related to the embodiment of the invention. Still further, based on at least one set of bit data, a result of encoding the variable data is obtained.
According to the technical scheme, effective coding of variable data is achieved through a bit segmentation mode.
On the basis, optionally, the preset bit number is smaller than the byte bit number, and the byte bit number is used for representing the bit number of the bits contained in the single byte data;
the data acquisition module is used for realizing the coding process of variable data of the variable to be detected by the following steps:
obtaining a bit number difference value according to the byte bit number and the preset bit number;
and filling the bit data according to the bit number difference value for each group of bit data in at least one group of bit data, and updating the bit data based on the obtained filling result.
The number of Byte bits may be understood as the number of bits contained in a single Byte, which may be 8 in connection with an application scenario that may be involved in an embodiment of the present invention. To simplify the presentation, the number of byte bits is illustratively characterized herein by 8. In the case that the preset bit number is smaller than 8, the bit data divided based on the preset bit number cannot form one byte data because of less than 8 bits, so that a bit number difference between the preset bit number and 8 can be calculated, and each group of bit data in at least one group of bit data is respectively filled based on the bit number difference, so that bit data capable of forming one byte data is obtained, which is helpful for realizing subsequent data encoding operation.
According to the technical scheme, effective coding of variable data is achieved through the bit segmentation refill mode.
In another optional technical scheme, the data acquisition module is further configured to add a segmentation flag byte between two encoding results to be spliced in the at least two encoding results according to an acquisition sequence, so as to splice the at least two encoding results to which the segmentation flag byte is added.
As can be seen from the above description, in order to reduce the number of message frames involved in the data transmission process, the encoding results corresponding to different variables to be detected may be spliced. On the basis, the data acquisition module can add a segmentation flag byte between two coding results to be spliced in at least two coding results, so that the data analysis module can distinguish the coding results of different variables to be detected from a string of coding results according to the segmentation flag byte in the received message frame, and the accuracy of data analysis is ensured.
In order to better understand the above-described data encoding process, an exemplary description thereof will be given below with reference to specific examples. For example, referring to the encoding process of variable data of any one of the variables to be measured shown in fig. 5, this variable data includes 2 bytes of data, that is, the byte length thereof is 2:
1. and splicing the byte data according to the bit to obtain spliced data.
2. Taking the example that the preset bit number is 6 bits, the spliced data obtained after splicing is segmented from high order to low order every 6 bits to obtain 3 groups of bit data (namely bit data).
3. And (3) carrying out high-order zero padding on each group of partitioned bit data, and restoring the data into an 8-bit byte structure. On the basis, under the condition that the last group of bit data is less than 6 bits, zero is filled after effective bit in the group of bit data, and a preset flag byte with each bit being 1 is filled at last.
4. On the basis, when the data acquisition module packs a plurality of variable data according to the acquisition sequence, a division flag byte with the first two bits of 1 and the rest bits of 0 is added between each two variable data.
Fig. 6 is a flowchart of another automated driving software debugging system provided in an embodiment of the present invention. The present embodiment is optimized based on the above technical solutions. The same or corresponding terms as those of the above embodiments are not repeated herein.
Referring to fig. 6, the method of this embodiment may specifically include the following steps:
s410, after starting debugging, analyzing the memory layout of the autopilot software to be debugged through a data acquisition module running in the autopilot domain controller to generate a variable layout list to be debugged;
the layout list of the variables to be tested stores at least two variables to be tested and memory addresses and data types corresponding to each of the variables to be tested.
S420, a data analysis module running in the upper computer is connected with the data acquisition module in a data mode, and handshake operation is carried out.
S430, after the handshake is successful, the layout list of the variables to be tested is transmitted back to the data analysis module through the data acquisition module, so that the layout list of the variables to be tested is analyzed through the data analysis module, and all the variables to be tested are obtained.
S440, a user selects the to-be-acquired variables from all to-be-acquired variables through the upper computer, sets a data return mode aiming at the selected to-be-acquired variables, returns the selected to-be-acquired variables and the data return mode through the upper computer after the setting is completed, and sends an acquisition starting signal.
It should be noted that, for simplicity of description, the variables to be measured described later are selected variables to be measured.
S450, after the acquisition is started, variable data of the variable to be detected are periodically acquired from the memory area through a data acquisition module according to the memory address of the variable to be detected, and the variable data are encoded (namely, the variable data are divided and then are zero-padded).
S460, packaging the variable data according to the acquisition sequence through a data acquisition module, and adding a segmentation flag byte between each variable data so as to enable a data analysis module to distinguish each variable data according to the segmentation flag byte, wherein the acquisition sequence is returned by an upper computer.
S470, transmitting the packaging result obtained in the S460 to an upper computer through a CAN bus or Ethernet through a data acquisition module.
S480, disassembling and analyzing the packing result through a data analysis module in the upper computer according to the inverse process of the data coding process, and recovering the original variable data (namely the analysis data).
S490, analyzing and displaying the variable data according to the data type of the variable data through a data analysis module, thereby realizing the debugging process of the automatic driving software.
According to the technical scheme, the data acquisition module and the data analysis module are matched with each other, so that the effect of debugging the automatic driving software in real time is achieved on the premise that additional hardware is not required to be added in an automatic driving system.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps described in the present invention may be performed in parallel, sequentially, or in a different order, so long as the desired results of the technical solution of the present invention are achieved, and the present invention is not limited herein.
The above embodiments do not limit the scope of the present invention. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of the present invention.

Claims (10)

1. A debug system for autopilot software, comprising: the system comprises a data acquisition module arranged in an autopilot domain controller, autopilot software to be debugged, data communication equipment and a data analysis module arranged in an upper computer; wherein,,
the automatic driving software is used for generating variable data aiming at the variable to be measured in the running process;
the data acquisition module is used for acquiring the variable data and sending the variable data to the data analysis module through the data communication equipment;
the data analysis module is used for receiving the variable data, analyzing the variable data to obtain analysis data, and realizing the debugging process of the automatic driving software based on the analysis data.
2. The debugging system of claim 1, wherein the autopilot software and the data acquisition module share the same memory area; wherein,,
the automatic driving software is further used for storing the generated variable data into the memory area;
the data acquisition module is specifically configured to acquire the variable data from the memory area, and send the variable data to the data analysis module through the data communication device.
3. The debug system of claim 2, wherein the number of variables to be tested is at least two, and the at least two variables to be tested respectively correspond to respective memory addresses in the memory area;
the autopilot software is further specifically configured to store variable data that has been generated for the at least two variables to be tested respectively into the memory area according to the memory address;
the data acquisition module is also used for analyzing the memory layout of the automatic driving software to obtain the memory address;
the data acquisition module is specifically configured to acquire variable data of the at least two variables to be tested from the memory area according to the memory address, and send the variable data to the data analysis module through the data communication device.
4. A debug system as claimed in claim 3, wherein:
the data acquisition module is further specifically configured to analyze a memory layout of the autopilot software, and generate a layout list of variables to be tested, where at least two variables to be tested and the memory address are stored in the layout list of variables to be tested;
the data acquisition module is further used for sending the to-be-tested variable layout list to the data analysis module through the data communication equipment;
the data analysis module is further configured to receive parameter settings input for the at least two variables to be tested in the layout list of variables to be tested after receiving the layout list of variables to be tested, and return the parameter settings to the data acquisition module;
the data acquisition module is specifically configured to acquire variable data of the at least two variables to be tested from the memory area according to the memory address and the parameter setting, and transmit the variable data back to the data analysis module through the data communication device.
5. The debugging system of claim 4, wherein the layout list of variables to be tested further stores data types corresponding to the at least two variables to be tested respectively;
the data analysis module is specifically configured to analyze the received variable data of the at least two variables to be tested according to the data type to obtain analysis data, so as to implement a debugging process of the autopilot software based on the analysis data.
6. The debugging system of claim 1, wherein the number of variables to be tested is at least two;
the data acquisition module is further used for respectively encoding the acquired variable data of the at least two variables to be detected, splicing the obtained at least two encoding results according to the acquisition sequence of the at least two variables to be detected, packaging the obtained splicing results, and sending the obtained packaging results to the data analysis module through the data communication equipment;
the data analysis module is specifically configured to receive the packaging result, analyze the packaging result, and obtain analysis data, so as to implement a debugging process of the autopilot software based on the analysis data.
7. The debugging system of claim 6, wherein for each of the at least two variables under test, the data acquisition module implements a process of encoding variable data for the variable under test by:
splicing all byte data in the variable data of the variable to be detected according to bits;
dividing spliced data obtained by splicing according to a preset bit number to obtain at least one group of bit data, and obtaining a coding result of the variable data based on the at least one group of bit data.
8. The debug system of claim 7, wherein the predetermined number of bits is less than a number of byte bits, the number of byte bits being used to characterize the number of bits contained in a single byte of data;
the data acquisition module is used for realizing the coding process of variable data of the variable to be detected by the following steps:
obtaining a bit number difference value according to the byte bit number and the preset bit number;
and filling the bit data according to the bit number difference value for each group of bit data in the at least one group of bit data, and updating the bit data based on the obtained filling result.
9. The debugging system of claim 6, wherein:
the data acquisition module is further configured to add a segmentation flag byte between two encoding results to be spliced in the at least two encoding results according to the acquisition sequence, so as to splice the at least two encoding results to which the segmentation flag byte is added.
10. The debug system of any of claims 1-9, wherein:
the data analysis module is specifically configured to analyze the received variable data to obtain analysis data, and implement a debugging process of the autopilot software by displaying the analysis data and/or drawing and displaying a change curve based on the analysis data.
CN202310593789.5A 2023-05-24 2023-05-24 Debugging system of automatic driving software Pending CN116610576A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310593789.5A CN116610576A (en) 2023-05-24 2023-05-24 Debugging system of automatic driving software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310593789.5A CN116610576A (en) 2023-05-24 2023-05-24 Debugging system of automatic driving software

Publications (1)

Publication Number Publication Date
CN116610576A true CN116610576A (en) 2023-08-18

Family

ID=87683219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310593789.5A Pending CN116610576A (en) 2023-05-24 2023-05-24 Debugging system of automatic driving software

Country Status (1)

Country Link
CN (1) CN116610576A (en)

Similar Documents

Publication Publication Date Title
CN107908541B (en) Interface testing method and device, computer equipment and storage medium
KR101904911B1 (en) Method for Automatically Detecting Security Vulnerability Based on Hybrid Fuzzing, and Apparatus thereof
CN113127338A (en) Firmware testing method, server and computer readable storage medium
CN102736975B (en) A kind of method of testing that trusted computing password support platform is tested and system
CN108228444B (en) Test method and device
CN108874470A (en) A kind of information processing method and server, computer storage medium
US11681606B2 (en) Automatic configuration of logging infrastructure for software deployments using source code
CN110019067A (en) A kind of log analysis method and system
CN114490861A (en) Telemetry data analysis method, device, equipment and medium
CN108833961B (en) Method, server and system for acquiring flight record data
CN116610576A (en) Debugging system of automatic driving software
CN107544894B (en) Log processing method and device and server
CN110297926B (en) On-orbit configuration method of satellite-borne image processing device
CN103957070B (en) The localization method of a kind of Frame and device
CN104572774A (en) Searching method and device
CN103927341B (en) A kind of method and device for obtaining scene information
CN106648912A (en) Modular method and apparatus for data processing in data acquisition platform
JP7433464B2 (en) Code construction methods, apparatus, devices and storage media
CN109586994A (en) A kind of whole machine cabinet server burn-in test monitoring method and system
CN112423098A (en) Video processing method, electronic device and storage medium
CN105786865A (en) Retrieval system fault analysis method and device
CN104601225B (en) Wave length detection method and device
US20170033990A1 (en) Recording medium, parameter specifying method and parameter specifying device
CN114448744B (en) CAN data analysis method, device, equipment and medium for multiplexing identification numbers
CN110958141B (en) Communication fault diagnosis method, device, equipment and computer readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination