Automatic driving algorithm debugging method and device, equipment and storage medium

By visualizing algorithm problem data and trajectory planning data in the autonomous driving system and enabling single-frame debugging mode, the problem that algorithm debugging tools cannot perform visual real-time debugging is solved, improving debugging efficiency and flexibility.

CN119829409AActive Publication Date: 2025-04-15VOYAH AUTOMOBILE TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411889840.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-20
Publication Date
2025-04-15
Estimated Expiration
2044-12-20

AI Technical Summary

Technical Problem

In autonomous driving systems, algorithm debugging tools cannot perform visual real-time debugging, resulting in low debugging efficiency and difficulty in troubleshooting problems.

Method used

By obtaining algorithm problem data and trajectory planning data, string visualization and curve visualization, and enabling single-frame debugging mode when debugging instructions are detected, real-time debugging of the algorithm is realized.

Benefits of technology

It significantly improves debugging efficiency and flexibility, reduces debugging time, and allows algorithm optimization and problem solving faster through real-time feedback.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119829409A_ABST
    Figure CN119829409A_ABST
Patent Text Reader

Abstract

The invention discloses an automatic driving algorithm debugging method, device and equipment and a storage medium, relates to the technical field of automatic driving algorithm debugging, and discloses an automatic driving algorithm debugging method comprising the following steps: obtaining algorithm problem data and trajectory planning data; performing character string visualization according to the algorithm problem data and the trajectory planning data; performing curve visualization according to the trajectory planning data; when an algorithm debugging instruction is detected, starting a single-frame debugging mode; and performing algorithm debugging according to the character string visualization, the curve visualization and the single-frame debugging mode. Through the technical means of combining character string visualization, curve visualization and a single-frame debugging mode, the technical effects of efficient debugging and visual analysis of an automatic driving algorithm problem are mainly achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of autonomous driving algorithm debugging, and in particular to autonomous driving algorithm debugging methods, devices, equipment and storage media. Background Art

[0002] With the development of autonomous driving technology, the decision-making and planning functions of autonomous driving are becoming more and more powerful, and the algorithms are becoming more and more complex. How to quickly discover and fix problems in the actual operation of the algorithm and how to perform efficient algorithm iteration have become particularly important. At present, the autonomous driving system generates a large amount of data during driving, which is mainly divided into three categories: log data, node communication data, and troubleshooting data. These data can help developers troubleshoot problems.

[0003] However, traditional tools have limitations. Log data is not intuitive enough, node communication data lacks effective visualization, and troubleshooting data can only solve specific problems. In addition, during the algorithm debugging and optimization process, it is often necessary to restart the algorithm and re-import the data.

[0004] The above contents are only used to assist in understanding the technical solution of the present application and do not constitute an admission that the above contents are prior art. Summary of the invention

[0005] The main purpose of this application is to provide an autonomous driving algorithm debugging method, device, equipment and storage medium, aiming to solve the technical problem that the algorithm debugging tool in the autonomous driving system cannot perform visual real-time debugging.

[0006] To achieve the above objectives, the present application proposes an automatic driving algorithm debugging method, the method comprising:

[0007] Obtain algorithm problem data and trajectory planning data;

[0008] Performing character string visualization according to the algorithm problem data and the trajectory planning data;

[0009] Performing curve visualization according to the trajectory planning data;

[0010] When an algorithm debugging instruction is detected, single frame debugging mode is enabled;

[0011] Algorithm debugging is performed according to the string visualization, the curve visualization and the single-frame debugging mode.

[0012] In one embodiment, the step of visualizing the curve according to the trajectory planning data includes:

[0013] Acquire planning time consumption data and lateral decision trajectory data according to the trajectory planning data;

[0014] Perform rolling visualization according to the planning time-consuming data;

[0015] Performing path curve visualization according to the trajectory data;

[0016] Curve visualization is performed based on the scroll visualization and the path curve visualization.

[0017] In one embodiment, the step of performing rolling visualization according to the planning time-consuming data includes:

[0018] Get the preset scroll queue, the preset queue number and the current queue number;

[0019] Acquire the total planning time of trajectory planning and the planning submodule of trajectory planning according to the planning time-consuming data, and acquire the submodule time-consuming according to the planning submodule;

[0020] When the number of the current queue is less than the number of the preset queues, the submodule is added to the preset rolling queue in a time-consuming manner, and the adding time is recorded;

[0021] When the current number of queues is greater than or equal to the preset number of queues, the historical submodule time consumption is deleted according to the joining time, and the submodule time consumption is added to the preset rolling queue;

[0022] The preset scrolling queue is displayed according to the immediate mode graphical user interface to achieve scrolling visualization.

[0023] In one embodiment, the step of visualizing the path curve according to the trajectory data includes:

[0024] Acquire reference line information, path planning information, speed information, vehicle position information, and obstacle information according to the trajectory data;

[0025] Get the preset position range, preset zoom range and preset front and back offset rate;

[0026] According to the vehicle position information and the preset position range, obtaining a position display range based on an instant mode graphical user interface;

[0027] Obtaining a zoom display range based on an instant mode graphical user interface according to the path planning information and the preset zoom range;

[0028] Obtaining a front and rear display range according to the path planning information and the preset front and rear offset rate;

[0029] Obtaining an obstacle display result based on the instant mode graphical user interface according to the obstacle information;

[0030] The path curve is visualized according to the position display range, the zoom display range, the front and back display ranges and the obstacle display result.

[0031] In one embodiment, the step of obtaining the front and rear display range according to the path planning information and the preset front and rear offset rate includes:

[0032] Acquire the center position of the rear axle of the vehicle and the target planning position according to the path planning information;

[0033] Calculating the target focal coordinates according to the preset front-rear offset rate, the center position of the vehicle rear axle and the target planning position;

[0034] The front and rear display ranges are obtained according to the target focus coordinates.

[0035] In one embodiment, the step of visualizing the character string according to the algorithm problem data and the trajectory planning data comprises:

[0036] Obtaining a timestamp of the algorithm problem data;

[0037] Obtaining decision information of the autonomous driving mode and lateral decision according to the trajectory planning data;

[0038] Perform string visualization based on an immediate mode graphical user interface according to the timestamp, the autonomous driving mode, and the decision information.

[0039] In one embodiment, when the algorithm debugging instruction is detected, the step of enabling the single frame debugging mode includes:

[0040] When an algorithm debugging instruction is detected, the current single frame mode signal is modified to a target single frame mode signal according to the immediate mode graphical user interface;

[0041] The target single-frame mode signal is sent to the main program, so that the main program switches the current continuous input mode to the single-frame debugging mode based on the target single-frame mode signal, thereby completing the activation of the single-frame debugging mode.

[0042] In addition, to achieve the above purpose, the present application also proposes an automatic driving algorithm debugging device, the automatic driving algorithm debugging device comprising:

[0043] Acquisition module, used to obtain algorithm problem data and trajectory planning data;

[0044] A string visualization module, used for performing string visualization according to the algorithm problem data and the trajectory planning data;

[0045] A curve visualization module, used for performing curve visualization according to the trajectory planning data;

[0046] A single frame debugging module is used to enable a single frame debugging mode when an algorithm debugging instruction is detected;

[0047] The algorithm debugging module is used to perform algorithm debugging according to the string visualization, the curve visualization and the single-frame debugging mode.

[0048] In addition, to achieve the above-mentioned purpose, the present application also proposes an autonomous driving algorithm debugging device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, and the computer program is configured to implement the steps of the autonomous driving algorithm debugging method as described above.

[0049] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by the processor, the steps of the autonomous driving algorithm debugging method described above are implemented.

[0050] In addition, to achieve the above-mentioned purpose, the present application also provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, it implements the steps of the autonomous driving algorithm debugging method as described above.

[0051] One or more technical solutions proposed in this application have at least the following technical effects:

[0052] The main program is decoupled from the debugging tool through multithreading to ensure that the algorithm debugging process will not affect the real-time operation of the main program. At the same time, the configuration parameters and visualization data can be updated in real time without interfering with the performance of the main program. By enabling the single-frame debugging mode, the same data input can be used each time the algorithm is debugged, avoiding the tedious steps of reloading data after each algorithm optimization. Through string visualization and curve visualization, changes in data such as path planning and speed control can be intuitively monitored to quickly identify problems in the algorithm. Compared with the existing technology, it significantly improves debugging efficiency and flexibility, reduces debugging time, and optimizes algorithms and solves problems faster through real-time feedback. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0054] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0055] Figure 1 A flowchart of the first embodiment of the automatic driving algorithm debugging method of the present application is provided;

[0056] Figure 2 A flowchart diagram of the second embodiment of the automatic driving algorithm debugging method of this application;

[0057] Figure 3 A schematic diagram of the autonomous driving system architecture provided for the second embodiment of the autonomous driving algorithm debugging method of this application;

[0058] Figure 4 This is a schematic diagram of the module structure of the automatic driving algorithm debugging device according to an embodiment of the present application;

[0059] Figure 5 This is a schematic diagram of the device structure of the hardware operating environment involved in the automatic driving algorithm debugging method in the embodiment of the present application.

[0060] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0061] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.

[0062] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0063] The main solution of the embodiment of the present application is: obtaining algorithm problem data and trajectory planning data;

[0064] Performing character string visualization according to the algorithm problem data and the trajectory planning data;

[0065] Performing curve visualization according to the trajectory planning data;

[0066] When an algorithm debugging instruction is detected, single frame debugging mode is enabled;

[0067] Algorithm debugging is performed according to the string visualization, the curve visualization and the single-frame debugging mode.

[0068] In this embodiment, for ease of description, the following description is made by taking the identification of the autonomous driving algorithm debugging device as the execution subject.

[0069] Since the algorithm debugging tool in the prior art autonomous driving system cannot perform visual real-time debugging, the present application provides a solution to decouple the main program from the debugging tool through multi-threading, ensuring that the algorithm debugging process will not affect the real-time operation of the main program, while being able to update the configuration parameters and visualization data in real time without interfering with the performance of the main program. By enabling the single-frame debugging mode, the same data input can be used each time the algorithm is debugged, avoiding the tedious steps of reloading data after each algorithm optimization. Through string visualization and curve visualization, changes in data such as path planning and speed control can be intuitively monitored, and problems in the algorithm can be quickly identified. Compared with the prior art, the debugging efficiency and flexibility are significantly improved, the debugging time is reduced, and algorithm optimization and problem solving are performed faster through real-time feedback.

[0070] It should be noted that the execution subject of this embodiment may be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device capable of realizing the above functions, an automatic driving algorithm debugging device, etc. The following takes the automatic driving algorithm debugging device as an example to illustrate this embodiment and the following embodiments.

[0071] Based on this, the present application embodiment provides an automatic driving algorithm debugging method, referring to Figure 1 , Figure 1 This is a flow chart of the first embodiment of the autonomous driving algorithm debugging method of the present application.

[0072] In this embodiment, the automatic driving algorithm debugging method includes steps S10 to S50:

[0073] Step S10, obtaining algorithm problem data and trajectory planning data;

[0074] It should be noted that algorithm problem data refers to various problem information related to the execution of the algorithm generated when the autonomous driving algorithm is executed. This data usually includes but is not limited to error logs, warning information, abnormal data and diagnostic results. By collecting this data, developers can identify potential problems in the algorithm, such as inaccurate path planning, delays in control algorithms, errors in decision modules, etc. Algorithm problem data helps to locate algorithm defects and provide a basis for subsequent optimization.

[0075] In addition, it should be noted that trajectory planning data is information generated by the autonomous driving system to describe the vehicle's driving path. Trajectory planning data generally includes but is not limited to the vehicle's desired path, driving route, steering angle, speed control, and acceleration. Trajectory planning data can be calculated using various sensor data and algorithms. Trajectory planning data is an important basis for the autonomous driving system to execute decision-making planning, ensuring that the vehicle can drive smoothly and safely in the environment.

[0076] Step S20, performing character string visualization according to the algorithm problem data and the trajectory planning data;

[0077] It should be noted that string visualization refers to presenting data on the interface in the form of text or characters. Different from graphical visualization, string visualization displays data through concise text information, which can help developers intuitively view and understand the key features of the data. It is usually used to display some real-time changes, control parameters, status information, etc.

[0078] It is understandable that the information obtained from the algorithm problem data and trajectory planning data is visualized in strings. Key problems, warnings, and abnormal information in the algorithm problem data are displayed in a concise text format to help developers monitor the algorithm operation status in real time and quickly locate problems. For example, information such as error codes, warning prompts, or data deviations are displayed. Secondly, key information in the trajectory planning data, such as the planned path, target point, current status of the vehicle, etc., can be displayed in the form of strings, which is convenient for developers to understand the motion target and planned path of the autonomous driving system in real time during the debugging process.

[0079] In a feasible implementation, step S20 may include steps S21 to S23:

[0080] Step S21, obtaining the timestamp of the algorithm problem data;

[0081] It should be noted that a timestamp is an identifier used to record the specific time point at which an event occurs, usually expressed in an accurate date and time format. In an autonomous driving system, a timestamp is usually used to record the time when each frame of data or each key operation occurs, helping developers track and analyze the sequence of events during algorithm execution.

[0082] It is understandable that relevant timestamp information is extracted from the algorithm problem data. Timestamps are time marks that record the time when key events or data points in the algorithm occur. During the debugging process, timestamps can help developers accurately know the specific time when each algorithm problem data is generated. For example, the triggering of a problem may be associated with the time of path planning or control decision-making. Timestamps provide necessary data for the correlation analysis of these events.

[0083] Step S22, obtaining decision information of the automatic driving mode and lateral decision according to the trajectory planning data;

[0084] It should be noted that decision information refers to the decision results made by the autonomous driving system based on the current environment and system status. This information includes the vehicle's motion planning, control instructions, such as acceleration, braking, steering, and other behavioral decisions, such as obstacle avoidance and parking. Decision information is used to guide the vehicle to perform real-time driving control. Lateral decision refers to the decision made by the vehicle during driving, such as steering, lane change, etc. Lateral decision planning is mainly carried out in a spatial coordinate system, which can be a Cartesian coordinate system and a Frenet coordinate system in this embodiment. This embodiment can display the specific content of the lateral decision in a Cartesian spatial coordinate system, and the displayed content includes but is not limited to the lane centerline, lane boundary line, lane boundary line type, target lane centerline, obstacle boundary, obstacle prediction trajectory, self-vehicle path planning boundary, self-vehicle path planning results, etc.

[0085] It is understandable that the required automatic driving mode of the vehicle can be determined based on information such as road features, target speed, and current state of the vehicle in the trajectory planning data. For example, if the trajectory planning data indicates that the vehicle is traveling on a highway, the highway driving mode will be selected, allowing the vehicle to travel at a higher speed and allowing larger lane deviations. The decision information of the lateral decision can be calculated by calculating the relative position of the vehicle to the road boundary, the center line of the lane, and possible obstacles. This embodiment does not limit the method of obtaining the decision information of the lateral decision.

[0086] Step S23: Visualize the string based on an instant mode graphical user interface according to the timestamp, the autonomous driving mode, and the decision information.

[0087] It should be noted that the Immediate Mode Graphical User Interface (ImGui) is a technology used to develop user interaction interfaces, especially for real-time applications. Unlike traditional graphical display interfaces, ImGui uses immediate mode, and all interface controls are rebuilt and rendered in each frame, ensuring an efficient and flexible user interface. Interface elements are rebuilt in each frame, which is suitable for real-time update and debugging scenarios.

[0088] It can be understood that the timestamp, autonomous driving mode and lateral decision information obtained from step S21 and step S22 are combined to perform string visualization through ImGui. String visualization displays this information in the interface in text form, allowing developers to clearly see the time point, execution mode and specific decision content of each decision. String visualization can be achieved by calling the ImGui::Text() method.

[0089] Step S30, performing curve visualization according to the trajectory planning data;

[0090] It should be noted that curve visualization refers to displaying the vehicle's trajectory, path, speed, acceleration and other dynamic data in the form of curves on the interface. Through the curve graph, developers can clearly see the vehicle's driving trajectory, the curvature change of the path planning, the speed change trend, etc. Curve visualization is usually used for real-time monitoring and debugging, helping developers to intuitively evaluate and optimize the effect of the algorithm.

[0091] It is understandable that the trajectory planning module obtains data including the vehicle's driving path, reference line, path points, speed and acceleration. These data are usually provided in the form of time series, indicating the position, speed, direction and other information of the vehicle at different time points. By converting various parameters in the trajectory planning data, such as path points, reference lines, etc., into curves, the vehicle's motion trajectory and path planning are drawn in real time on the interface. These curves can show the vehicle's driving route from the starting point to the end point, and can intuitively reflect the vehicle's deviation, turning and other behaviors along the way.

[0092] In a feasible implementation, step S30 may include steps S31 to S34:

[0093] Step S31, acquiring planning time consumption data and lateral decision trajectory data according to the trajectory planning data;

[0094] It should be noted that the planning time consumption data refers to the time spent by each submodule or the total module during the trajectory planning process. Planning time consumption data helps developers understand the computational efficiency of different modules and determine whether there are computational bottlenecks. For example, the path planning module may calculate the shortest path for the vehicle, while the speed planning module adjusts the speed according to road conditions. By recording the time consumed by each module, developers can identify optimization space. Trajectory planning data is the target path calculated by the autonomous driving system, which represents the ideal route that the vehicle needs to travel from the starting point to the end point. Trajectory data includes but is not limited to the vehicle's location information, path points, speed, acceleration, etc., and is usually generated by the path planning algorithm. Trajectory planning data is the key basis for determining the vehicle's path and movement.

[0095] It can be understood that according to the trajectory planning data, the planning time consumption data and the trajectory data of the lateral decision are obtained and extracted. The planning time consumption data records the calculation time of each module in the trajectory planning process, which can help evaluate the efficiency and performance bottleneck of each module.

[0096] Step S32, performing rolling visualization according to the planning time-consuming data;

[0097] It should be noted that scrolling visualization refers to dynamically displaying real-time data on the interface, and as new data is added, the old data will scroll out of the display area to keep the interface updated in real time.

[0098] It is understandable that the planning time consumption data is displayed visually by scrolling. The execution time of each module is dynamically updated to the interface. As time goes by, new data will overwrite old data, and keep the data display real-time, which can help developers understand the calculation efficiency of different modules at different time points and detect whether there is excessive calculation time consumption.

[0099] In a feasible implementation, step S32 may include steps S321 to S325:

[0100] Step S321, obtaining a preset scrolling queue, a preset queue quantity, and a current queue quantity;

[0101] It should be noted that the preset rolling queue is a data structure used to store real-time data in the system. The queue has a fixed size and is used to store the execution time of each calculation or each module in real time. The characteristic of the rolling queue is that when new data is added, the queue will automatically remove the oldest data to maintain the real-time nature of the data in the queue. The preset number of queues is the queue size set by the system during design, which indicates the maximum number of elements that can be stored in the rolling queue. For example, if the preset number of queues is 10, then the time-consuming data of up to 10 sub-modules can be stored in the queue. The current number of queues refers to the number of elements stored in the current rolling queue. As the autonomous driving decision algorithm runs, new data will be continuously added to the queue, and the current number of queues will change dynamically. If the queue is full, the new data will overwrite the oldest data.

[0102] Step S322, obtaining the total planning time of trajectory planning and the planning submodule of trajectory planning according to the planning time consumption data, and obtaining the submodule time consumption according to the planning submodule;

[0103] It should be noted that the total planning time refers to the total calculation time of all related submodules when the autonomous driving system performs a complete trajectory planning task. This time combines the time taken for all planning steps, such as path calculation, speed planning, and steering decisions. Trajectory planning usually consists of multiple submodules, such as path planning, speed planning, and lateral decision-making, and each submodule is responsible for performing a specific task. The planning submodule decomposes the trajectory planning task of the system into multiple stages or steps, and each submodule has an independent calculation task. The submodule time refers to the time spent on the execution of each submodule during the trajectory planning process. By recording the time taken for each submodule, developers can evaluate which parts of the system need to be optimized to improve computing efficiency.

[0104] It is understandable that by extracting the total planning time and planning submodules from the planning time data, and obtaining the corresponding submodule time according to the execution of each submodule, the overall performance of trajectory planning can be understood, the computational consumption of different modules can be evaluated, and possible performance bottlenecks can be found. In this embodiment, the total planning time can be scrolled or displayed separately near the scroll bar.

[0105] Step S323, when the current queue number is less than the preset queue number, the submodule is added to the preset rolling queue in a time-consuming manner, and the adding time is recorded;

[0106] It should be noted that the joining time refers to the time when data, such as a submodule, enters the rolling queue. Recording the joining time helps manage the data in the queue and ensure that the elements in the queue are rolled in chronological order.

[0107] It is understandable that it is checked whether the current queue number is less than the preset queue number. If so, the new submodule time-consuming data is added to the preset rolling queue, and the time of adding the data is recorded. When the queue is not full, new data can continue to be added to ensure that the data in the queue is kept updated in real time.

[0108] Step S324, when the current number of queues is greater than or equal to the preset number of queues, the historical submodule time consumption is deleted according to the joining time, and the submodule time consumption is added to the preset rolling queue;

[0109] It should be noted that the historical sub-module time consumption refers to the time consumption of the sub-module that was first added to the scrolling queue before the current moment.

[0110] It is understandable that when the current number of queues reaches or exceeds the preset number of queues, the capacity of the queue needs to be kept within the set maximum value. At this time, the earliest data added to the queue will be deleted according to the joining time, and the new sub-module time-consuming data will be added to the queue, which can ensure that the rolling queue always stores the latest planning time-consuming data and maintains the real-time nature of the data.

[0111] For example, the decision-making planning cycle is 100 milliseconds, and the joining time is set to 5 seconds, which is equivalent to the preset queue number storing a maximum of 50 data. Then, every 100 milliseconds, it will delete the first data, and then add another data at the end to ensure that there are basically 50 data in it. When the preset queue is initialized, there are not 50 data in the preset queue due to insufficient running time of the algorithm. It is necessary to continuously add sub-module time-consuming data to the preset queue number. When there are more than or equal to 50 data in the preset queue and the joining time is reached, it is necessary to start removing the earliest historical sub-module time-consuming and add the sub-module time-consuming that needs to be added at the current moment into the preset queue.

[0112] Step S325, displaying the preset scrolling queue according to the real-time mode graphical user interface to achieve scrolling visualization.

[0113] It is understandable that after the data in the preset queue is updated, the ImGui::Plot() method can be called to display all the data in the queue to achieve the purpose of rolling update.

[0114] Step S33, visualizing the path curve according to the trajectory data;

[0115] It should be noted that the path curve visualization displays the vehicle's driving path through a graphical interface, connecting the path points in the trajectory data into a curve to help developers observe the relationship between the vehicle's path and the target path. The path curve visualization can reflect whether the vehicle is following the trajectory accurately and whether there is any deviation.

[0116] It is understandable that the vehicle's driving path curve is drawn based on the trajectory data and displayed visually. Developers can see the vehicle's intended driving route and the deviation from the actual path through the curve. The smoothness and accuracy of the path curve reflects the effectiveness of the path planning algorithm.

[0117] In a feasible implementation, step S33 may include steps S331 to S337:

[0118] Step S331, obtaining reference line information, path planning information, speed information, vehicle position information and obstacle information according to the trajectory data;

[0119] It should be noted that reference line information refers to the ideal driving path or trajectory of the vehicle. In autonomous driving, the reference line is usually used as the target path of the vehicle, and the vehicle needs to drive along this reference line as much as possible. Reference line information is usually generated by a path planning algorithm, indicating the optimal route between the vehicle's current position and the target point. Path planning information refers to the current and future driving path data of the vehicle, including path points, lanes, steering angles, speed planning, etc. This information helps the vehicle track and adjust its own driving trajectory during driving. Speed ​​information describes the current speed and planned speed of the vehicle. The autonomous driving system adjusts the vehicle's motion state through real-time speed control to ensure that the vehicle reaches the predetermined target without violating traffic rules and safety regulations. Vehicle position information is the current position coordinates of the vehicle on the road. It is usually obtained by the vehicle's sensors and expressed as the spatial position of the vehicle relative to the reference coordinate system at a certain point in time. Obstacle information is the position information of static or dynamic obstacles on the road, such as other vehicles, pedestrians, traffic signs, etc., obtained by the autonomous driving system through sensors.

[0120] It can be understood that based on the trajectory data, reference line information, path planning information, speed information, vehicle position information and obstacle information can be extracted therefrom, and the movement of the vehicle can be adjusted by updating these data in real time, so that corresponding autonomous driving decision planning can be made.

[0121] Step S332, obtaining a preset position range, a preset zoom range, and a preset front-back offset rate;

[0122] It should be noted that the preset position range refers to the display range set according to the vehicle position during the visualization process. The preset position range is used to determine the size and position of the area displayed in the visualization interface, which is usually an area within a certain range around the current position of the vehicle. The preset zoom range refers to the area zoom ratio set during the visualization process, which is used to control the size of the display area. Through the zoom range, developers can view larger or smaller areas and adjust the proportion of detail display. The preset front and rear offset rate refers to the offset range used for visualization in the front and rear directions of the vehicle. This parameter determines the display range of the front and rear areas on the visualization interface to ensure that the movement and path changes of the vehicle can be fully displayed.

[0123] Step S333, obtaining a position display range based on the real-time mode graphical user interface according to the vehicle position information and the preset position range;

[0124] It is understandable that the position display range is determined based on the vehicle position information and the preset position range. The system takes the current position of the vehicle as the center and calculates the display area based on the preset range, so that the developer can see the vehicle's location and its surroundings on the interface. Exemplarily, with the center coordinates of the rear axle of the vehicle as the center, the front and rear of the vehicle are plus or minus 150m as the preset position range, and the minimum and maximum values ​​of the front and rear of the vehicle are passed in as parameters by calling the ImGui::SetNextPlotRange() method, thereby controlling the display range of the ImGui::Plot() method.

[0125] In addition, the position display range can be controlled by controlling whether to display the position curve or not. The data displayed in the spatial coordinate system corresponding to the horizontal decision-making plan is relatively dense. Even if different colors are set for different curves, the meaning of the curves cannot be effectively distinguished. Moreover, the curves required for different problems may be different. Too many curves are displayed, resulting in the inability to effectively distinguish the curves, which has an adverse effect on problem troubleshooting. You can add check boxes corresponding to each curve, and control whether to call the ImGui::Plot() method through the variable corresponding to the check box, so as to realize the display and closing of the curve, thereby controlling the position display range.

[0126] Step S334, obtaining a zoom display range based on the instant mode graphical user interface according to the path planning information and the preset zoom range;

[0127] It is understandable that the size of the display area is adjusted according to the path planning information and the preset zoom range. The zoom display range determines the precision of the display area, which can help developers view the overall picture or local details of the path as needed. Path planning usually plans a curve with a longitudinal length of about 100m, which results in the center of the vehicle as the origin, the y-axis forward, the x-axis left and right, and the xy-axis being displayed in the same proportion. The lateral position relationship appears too narrow, which is not conducive to troubleshooting detailed problems, so manual zooming is required to control the minimum and maximum values ​​of x and y passed in by ImGui::SetNextPlotRange(). By calling the ImGui::SliderFloat() method, a slider is added to the algorithm debugging interface as the preset zoom range of the default display range, thereby controlling the display range of the ImGui::Plot() method.

[0128] Step S335, obtaining a front and rear display range according to the path planning information and the preset front and rear offset rate;

[0129] It should be noted that the front and rear display range refers to the display area in front of and behind the vehicle in the visualization interface. By setting the front and rear offset rate, developers can control the display range to ensure that sufficient front and rear environmental information is displayed to analyze whether the path planning is reasonable.

[0130] It is understandable that the front and rear display range can be determined based on the path planning information and the preset front and rear deviation rate. Displaying the area within a certain range in front and behind the vehicle based on these data can help developers evaluate the front and rear path changes and surrounding environment of the vehicle.

[0131] In a feasible implementation manner, step S335 may include steps S3351 to S3353:

[0132] Step S3351, obtaining the center position of the rear axle of the vehicle and the target planning position according to the path planning information;

[0133] It should be noted that the rear axle center position of the vehicle refers to the center point position of the rear axle of the vehicle, which is usually used as a reference point in the vehicle's spatial coordinate system. The rear axle center position represents the geometric center that affects the vehicle's movement during actual driving. The target planning position is the end point of the path planning, indicating the target point of the vehicle's driving. The target planning position is the target point that the vehicle needs to reach calculated by the path planning algorithm, which determines the vehicle's driving direction and path.

[0134] Step S3352, calculating the target focal coordinates according to the preset front-rear offset rate, the center position of the rear axle of the vehicle and the target planning position;

[0135] It should be noted that the target focus coordinates are a calculated position point, usually located at a reference point between the vehicle and the target planning position. This point determines the center of the display area and is used to adjust the visualization perspective and ensure accurate display of the path.

[0136] It is understandable that path planning usually plans a curve with a longitudinal length of about 100m. The default zoom focus is at the coordinate position corresponding to the center of the rear axle of the vehicle. When the problem occurs at a certain position in front of the center of the rear axle, the zoom function with the center of the rear axle as the focus cannot meet the requirements, so zoom focus control technology is needed. By calling the ImGui::SliderFloat() method, a slider is added to the algorithm debugging interface to display the offset rate between the center of the rear axle and the planned end point, which is equivalent to controlling the center of the screen to move forward or backward, so that the trajectory of the vehicle can be viewed more accurately. The target focus calculation formula is as follows:

[0137]

[0138] In the target focus calculation formula, xcenter ,y center is the target focus coordinate, offset rate is the preset front-to-back offset rate, x firstpoint ,y firstpoint is the coordinate of the center position of the rear axle, x lastpoint ,y lastpiint Plan the coordinates of the target location.

[0139] Step S3353, obtaining the front and rear display range according to the target focus coordinates.

[0140] It can be understood that the front and rear display range can be calculated based on the calculated target focus coordinates and the preset front and rear offset rate. The front and rear display range determines the actual range of the front and rear areas of the vehicle that need to be displayed, ensuring that developers can see the environment and path information that needs to be displayed.

[0141] Step S336, obtaining an obstacle display result based on the instant mode graphical user interface according to the obstacle information;

[0142] It is understandable that the decision-making and planning module is largely centered around obstacles, so the obstacle ID and obstacle decision results of the obstacle information need to be clearly identified to troubleshoot obstacle-related issues. Therefore, it is necessary to superimpose the string display function on the basis of the curve display. The relevant string can be displayed at the specified location by calling the ImGui::AddText() method. The obstacle display result refers to the road obstacle information displayed through the visual interface, including static obstacles, such as parked vehicles, roadblocks, etc., and dynamic obstacles, such as pedestrians, other moving vehicles, etc.

[0143] Step S337 , visualizing the path curve according to the position display range, the zoom display range, the front and back display ranges, and the obstacle display result.

[0144] It is understandable that the path curve is visualized on the real-time mode graphical user interface in combination with the position display range, zoom display range, front and rear display range and obstacle display results. The path curve visualization can help developers fully understand the relationship between the vehicle's current path and the surrounding environment. If there is a large deviation between the path curve and the obstacle, the developer can adjust the path planning in real time through this visualization to avoid collision risks and ensure the accuracy and safety of path planning.

[0145] Step S34: performing curve visualization according to the scroll visualization and the path curve visualization.

[0146] It is understandable that the combination of scrolling visualization and path curve visualization can simultaneously display the time-consuming data in the trajectory planning process and the vehicle's driving path, providing more comprehensive data feedback and helping developers to comprehensively analyze the algorithm execution process and results.

[0147] Step S40, when an algorithm debugging instruction is detected, enabling a single frame debugging mode;

[0148] It should be noted that algorithm debugging instructions are control signals sent by developers or debugging tools to adjust system behavior or perform specific debugging operations. These instructions usually include starting or stopping certain debugging modes, such as single-frame debugging mode, real-time data update mode, etc., modifying algorithm parameters, or controlling data visualization, etc. Through these instructions, developers can more accurately control the system debugging process and quickly locate and solve problems.

[0149] In addition, it should be noted that the single-frame debugging mode is a debugging mode in which the same input data, that is, the "previous frame" data, is used for each execution, without receiving new real-time input data. This mode is often used for algorithm debugging, especially when the performance of the algorithm under a certain condition needs to be repeatedly verified. By fixing the input data, developers can accurately observe the running results of the algorithm under the same conditions, and compare, optimize and repair them.

[0150] It is understood that once the debug instruction is detected, the decision planning algorithm will enter the single frame debug mode. In this mode, the algorithm will be executed using the input data of the previous frame instead of using new real-time input data. Each time it is run, the same input data will be processed to ensure that the performance of the algorithm is not affected by data changes.

[0151] Step S50, performing algorithm debugging according to the string visualization, the curve visualization and the single frame debugging mode.

[0152] It is understandable that developers can combine the data provided by string visualization and curve visualization to analyze the decision-making process and behavior of the system. The status information displayed by the string helps developers quickly locate potential problems, while the dynamic data such as path and speed displayed by the curve helps evaluate the accuracy and stability of the algorithm. In this way, developers can adjust and optimize the algorithm in a targeted manner to further improve system performance.

[0153] This embodiment provides an autonomous driving algorithm debugging method, which solves the technical problem of lack of intuitive feedback on key data such as algorithm operation status, trajectory planning, obstacle information, etc. during the autonomous driving algorithm debugging process through visualization technology based on an immediate mode graphical user interface, combined with multiple data display methods such as string visualization, curve visualization, and scrolling visualization, and realizes efficient display and analysis of real-time debugging data, improves the efficiency of developers in locating problems and optimizing algorithms, and ensures the accuracy and safety of path planning.

[0154] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction, and will not be repeated in the following. Figure 2 , step S40 of the automatic driving algorithm debugging method includes steps S41 to S42:

[0155] Step S41, when an algorithm debugging instruction is detected, the current single-frame mode signal is modified to a target single-frame mode signal according to the immediate mode graphical user interface;

[0156] It should be noted that the single-frame mode signal is a flag that confirms the use of the single-frame mode. It is used to indicate whether the system is in the single-frame debugging mode during the debugging process. If the flag that confirms the use of the single-frame mode is yes, it indicates that it is in the single-frame debugging mode. If the flag that confirms the use of the single-frame mode is no, it indicates that it is not in the single-frame debugging mode. In the single-frame mode, the same input data is used for processing each time without receiving new real-time data. This enables developers to repeatedly verify the performance of the algorithm under the same conditions without being affected by external changes. The target single-frame mode signal refers to the single-frame debugging mode that the developer wants to switch to during the debugging process. When using the single-frame debugging mode, the data of the previous frame will be used for debugging and algorithm verification, so that problem analysis and algorithm debugging can be performed more accurately.

[0157] It can be understood that the checkbox for using the single-frame mode is displayed in the debugging interface using the ImGui::Checkbox() method. If the checkbox is checked, the flag for confirming the use of the single-frame mode is set to Yes. If the checkbox is unchecked, the flag for confirming the use of the single-frame mode is set to No. After the flag for confirming the use of the single-frame mode is updated, the value of the flag can be saved to the data pool through the setting method of the data pool singleton class, waiting for the main program to call.

[0158] Step S42, sending the target single-frame mode signal to the main program, so that the main program switches the current continuous input mode to the single-frame debugging mode based on the target single-frame mode signal, thereby completing the activation of the single-frame debugging mode.

[0159] It should be noted that the main program is the decision-making and planning part of the autonomous driving system, which is responsible for executing the vehicle's path planning, decision-making, control commands and other functions. During the debugging process, the main program needs to respond to external instructions, such as switching input modes and adjusting algorithm parameters according to debugging instructions. Continuous input mode is a working mode of the main program, in which the calculation of each frame is based on input data obtained in real time. In this mode, the main program continuously receives new sensor data, environmental data, etc., and performs path planning, decision-making and control in real time.

[0160] Figure 3 A schematic diagram of the autonomous driving system architecture provided for the second embodiment of the autonomous driving algorithm debugging method of this application;

[0161] like Figure 3 As shown, the data pool is the core storage module of the system, which is used to store all the data required during the operation of the system. The data pool provides setting methods and acquisition methods. The setting method is used to write data to the data pool, and supports updating new data to the data pool from different threads. The acquisition method is used to read data from the data pool to provide data support for other modules. The main program thread is the core operation module of the autonomous driving system, including decision planning, single-frame debugging and parameter update functions. Decision planning means that the main program obtains data from the data pool to perform real-time path planning and decision-making. Single-frame debugging means that the single-frame debugging mode is supported. By calling the acquisition method of the data pool, the signal of the single-frame debugging mode of the algorithm debugging tool is obtained to open or close, so as to realize the fixed input of data. Parameter update means that the main program will dynamically adjust and update the parameters according to the requirements of the algorithm or external input, and store these updated parameters through the data pool. Exemplarily, the configuration parameter update mode of the main program is set to update every cycle, and this cycle can be 100ms, so as to achieve the purpose of real-time modification and real-time effectiveness of configuration parameters. The algorithm debugging tool thread is an auxiliary module for developers to debug algorithms, including control parameters and data visualization functions. Control parameters mean that developers can adjust the parameters of the decision planning algorithm through the debugging tool and pass these adjustments to the main program thread through the data pool. Data visualization means that the debugging tool obtains real-time data from the data pool and displays the data to developers in a graphical or visual way to help debug and optimize the algorithm. The debugging tool thread reads real-time data from the data pool for visualization; at the same time, it can also write adjusted parameters to the data pool through the setting method. The main program thread and the algorithm debugging tool thread communicate indirectly through the data pool. For example, after the debugging tool adjusts the parameters, the main program will read these new parameters from the data pool and apply them to the operation. Through the collaboration of these three parts, the decoupling of system operation and debugging is achieved, ensuring the efficient operation and flexible debugging of the main program.

[0162] It is understandable that the target single-frame mode signal in the algorithm debugging tool is sent to the main program. When the main program receives the target single-frame mode signal, the main program will switch the current continuous input mode to the single-frame debugging mode. At this time, the main program will no longer process new real-time input data, but always use the same data, the previous frame data for subsequent calculations and decisions.

[0163] This embodiment provides an autonomous driving algorithm debugging method, which solves the problem that the autonomous driving system cannot flexibly switch input modes, adjust algorithm parameters in real time, and visualize data during debugging through data pool-based storage and interaction technology, debugging tools with immediate mode graphical user interfaces, and input mode switching mechanisms of the main program thread. By sending the target single-frame mode signal from the algorithm debugging tool to the main program and enabling the single-frame debugging mode, the beneficial effects of improving debugging efficiency, accurately locating algorithm problems, and optimizing system operation performance are achieved, while achieving efficient decoupling of system operation and debugging.

[0164] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the autonomous driving algorithm debugging method of the present application. More simple transformations based on this technical concept are all within the scope of protection of the present application.

[0165] This application also provides an automatic driving algorithm debugging device, please refer to Figure 4 , the automatic driving algorithm debugging device comprises:

[0166] An acquisition module 10 is used to acquire algorithm problem data and trajectory planning data;

[0167] A string visualization module 20, configured to perform string visualization according to the algorithm problem data and the trajectory planning data;

[0168] A curve visualization module 30, used for performing curve visualization according to the trajectory planning data;

[0169] The single frame debugging module 40 is used to enable the single frame debugging mode when an algorithm debugging instruction is detected;

[0170] The algorithm debugging module 50 is used to perform algorithm debugging according to the string visualization, the curve visualization and the single frame debugging mode.

[0171] The autonomous driving algorithm debugging device provided by the present application adopts the autonomous driving algorithm debugging method in the above embodiment, which can solve the technical problem that the algorithm debugging tool cannot perform visual real-time debugging in the autonomous driving system. Compared with the prior art, the beneficial effects of the autonomous driving algorithm debugging device provided by the present application are the same as the beneficial effects of the autonomous driving algorithm debugging method provided by the above embodiment, and the other technical features of the autonomous driving algorithm debugging device are the same as the features disclosed in the above embodiment method, which will not be repeated here.

[0172] In one embodiment, the curve visualization module 30 is also used to obtain planning time data and trajectory data of lateral decisions based on the trajectory planning data; perform rolling visualization based on the planning time data; perform path curve visualization based on the trajectory data; and perform curve visualization based on the rolling visualization and the path curve visualization.

[0173] In one embodiment, the curve visualization module 30 is also used to obtain a preset scrolling queue, a preset queue number and a current queue number; obtain the total planning time of trajectory planning and the planning sub-module of trajectory planning according to the planning time data, and obtain the sub-module time according to the planning sub-module; when the current queue number is less than the preset queue number, add the sub-module time to the preset scrolling queue and record the joining time; when the current queue number is greater than or equal to the preset queue number, delete the historical sub-module time according to the joining time, and add the sub-module time to the preset scrolling queue; display the preset scrolling queue according to the immediate mode graphical user interface to achieve scrolling visualization.

[0174] In one embodiment, the curve visualization module 30 is also used to obtain reference line information, path planning information, speed information, vehicle position information and obstacle information based on the trajectory data; obtain a preset position range, a preset zoom range and a preset front and rear offset rate; obtain a position display range based on an instant mode graphical user interface according to the vehicle position information and the preset position range; obtain a zoom display range based on an instant mode graphical user interface according to the path planning information and the preset zoom range; obtain a front and rear display range based on the path planning information and the preset front and rear offset rate; obtain an obstacle display result based on the instant mode graphical user interface according to the obstacle information; and visualize the path curve according to the position display range, the zoom display range, the front and rear display range and the obstacle display result.

[0175] In one embodiment, the curve visualization module 30 is also used to obtain the center position of the vehicle's rear axle and the target planning position based on the path planning information; calculate the target focus coordinates based on the preset front and rear offset rate, the center position of the vehicle's rear axle and the target planning position; and obtain the front and rear display range based on the target focus coordinates.

[0176] In one embodiment, the string visualization module 20 is further used to obtain the timestamp of the algorithm problem data; obtain decision information of the autonomous driving mode and lateral decision based on the trajectory planning data; and perform string visualization based on the real-time mode graphical user interface according to the timestamp, the autonomous driving mode and the decision information.

[0177] In one embodiment, the single-frame debugging module 40 is also used to modify the current single-frame mode signal to a target single-frame mode signal according to the immediate mode graphical user interface when an algorithm debugging instruction is detected; and send the target single-frame mode signal to the main program, so that the main program switches the current continuous input mode to the single-frame debugging mode based on the target single-frame mode signal, thereby completing the enabling of the single-frame debugging mode.

[0178] The present application provides an autonomous driving algorithm debugging device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the autonomous driving algorithm debugging method in the above-mentioned embodiment one.

[0179] Reference below Figure 5 , which shows a schematic diagram of the structure of an automatic driving algorithm debugging device suitable for implementing the embodiment of the present application. The automatic driving algorithm debugging device in the embodiment of the present application may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 5 The autonomous driving algorithm debugging device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0180] like Figure 5As shown, the automatic driving algorithm debugging device may include a processing device 1001 (e.g., a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 1002 or a program loaded from a storage device 1003 to a random access memory (RAM: Random Access Memory) 1004. In RAM1004, various programs and data required for the operation of the automatic driving algorithm debugging device are also stored. The processing device 1001, ROM1002, and RAM1004 are connected to each other through a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the autonomous driving algorithm debugging device to communicate with other devices wirelessly or by wire to exchange data. Although the figure shows an autonomous driving algorithm debugging device with various systems, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or have alternatively.

[0181] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.

[0182] The autonomous driving algorithm debugging device provided by the present application adopts the autonomous driving algorithm debugging method in the above embodiment, which can solve the technical problem that the algorithm debugging tool cannot perform visual real-time debugging in the autonomous driving system. Compared with the prior art, the beneficial effects of the autonomous driving algorithm debugging device provided by the present application are the same as the beneficial effects of the autonomous driving algorithm debugging method provided by the above embodiment, and the other technical features in the autonomous driving algorithm debugging device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.

[0183] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0184] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0185] The present application provides a computer-readable storage medium having computer-readable program instructions (i.e., computer programs) stored thereon, and the computer-readable program instructions are used to execute the autonomous driving algorithm debugging method in the above-mentioned embodiment.

[0186] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination of the above.

[0187] The above-mentioned computer-readable storage medium may be included in the autonomous driving algorithm debugging device; or it may exist independently without being assembled into the autonomous driving algorithm debugging device.

[0188] The computer-readable storage medium carries one or more programs. When the one or more programs are executed by the autonomous driving algorithm debugging device, the autonomous driving algorithm debugging device: obtains algorithm problem data and trajectory planning data;

[0189] Performing character string visualization according to the algorithm problem data and the trajectory planning data;

[0190] Performing curve visualization according to the trajectory planning data;

[0191] When an algorithm debugging instruction is detected, single frame debugging mode is enabled;

[0192] Algorithm debugging is performed according to the string visualization, the curve visualization and the single-frame debugging mode.

[0193] Computer program code for performing the operations of the present application may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0194] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0195] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.

[0196] The readable storage medium provided in this application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned autonomous driving algorithm debugging method, and can solve the technical problem that the algorithm debugging tool cannot perform visual real-time debugging in the autonomous driving system. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as the beneficial effects of the autonomous driving algorithm debugging method provided in the above-mentioned embodiment, and will not be repeated here.

[0197] The present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the above-mentioned autonomous driving algorithm debugging method.

[0198] The computer program product provided by this application can solve the technical problem that the algorithm debugging tool cannot perform visual real-time debugging in the autonomous driving system. Compared with the prior art, the beneficial effects of the computer program product provided by this application are the same as the beneficial effects of the autonomous driving algorithm debugging method provided by the above embodiment, and will not be repeated here.

[0199] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.

Claims

1. A method for debugging an automatic driving algorithm, characterized in that: The method comprises: Obtain algorithm problem data and trajectory planning data; Performing character string visualization according to the algorithm problem data and the trajectory planning data; Performing curve visualization according to the trajectory planning data; When an algorithm debugging instruction is detected, single frame debugging mode is enabled; Algorithm debugging is performed according to the string visualization, the curve visualization and the single-frame debugging mode.

2. The method according to claim 1, characterized in that The step of visualizing the curve according to the trajectory planning data comprises: Acquire planning time consumption data and lateral decision trajectory data according to the trajectory planning data; Perform rolling visualization according to the planning time-consuming data; Performing path curve visualization according to the trajectory data; Curve visualization is performed based on the scroll visualization and the path curve visualization.

3. The method according to claim 2, characterized in that The step of performing rolling visualization according to the planning time-consuming data comprises: Get the preset scroll queue, the preset queue number and the current queue number; Acquire the total planning time of trajectory planning and the planning submodule of trajectory planning according to the planning time-consuming data, and acquire the submodule time-consuming according to the planning submodule; When the number of the current queue is less than the number of the preset queues, the submodule is added to the preset rolling queue in a time-consuming manner, and the adding time is recorded; When the current number of queues is greater than or equal to the preset number of queues, the historical submodule time consumption is deleted according to the joining time, and the submodule time consumption is added to the preset rolling queue; The preset scrolling queue is displayed according to the immediate mode graphical user interface to achieve scrolling visualization.

4. The method according to claim 2, characterized in that The step of visualizing the path curve according to the trajectory data comprises: Acquire reference line information, path planning information, speed information, vehicle position information, and obstacle information according to the trajectory data; Get the preset position range, preset zoom range and preset front and back offset rate; According to the vehicle position information and the preset position range, obtaining a position display range based on an instant mode graphical user interface; Obtaining a zoom display range based on an instant mode graphical user interface according to the path planning information and the preset zoom range; Obtaining a front and rear display range according to the path planning information and the preset front and rear offset rate; Obtaining an obstacle display result based on the instant mode graphical user interface according to the obstacle information; The path curve is visualized according to the position display range, the zoom display range, the front and back display ranges and the obstacle display result.

5. The method according to claim 4, characterized in that The step of obtaining the front and rear display range according to the path planning information and the preset front and rear offset rate comprises: Acquire the center position of the rear axle of the vehicle and the target planning position according to the path planning information; Calculating the target focal coordinates according to the preset front-rear offset rate, the center position of the vehicle rear axle and the target planning position; The front and rear display ranges are obtained according to the target focus coordinates.

6. The method according to claim 1, characterized in that The step of visualizing the character string according to the algorithm problem data and the trajectory planning data comprises: Obtaining a timestamp of the algorithm problem data; Obtaining decision information of the autonomous driving mode and lateral decision according to the trajectory planning data; Perform string visualization based on an immediate mode graphical user interface according to the timestamp, the autonomous driving mode, and the decision information.

7. The method according to claim 1, characterized in that The step of enabling the single frame debugging mode when the algorithm debugging instruction is detected includes: When an algorithm debugging instruction is detected, the current single frame mode signal is modified to a target single frame mode signal according to the immediate mode graphical user interface; The target single-frame mode signal is sent to the main program, so that the main program switches the current continuous input mode to the single-frame debugging mode based on the target single-frame mode signal, thereby completing the activation of the single-frame debugging mode.

8. An automatic driving algorithm debugging device, characterized in that: The device comprises: Acquisition module, used to obtain algorithm problem data and trajectory planning data; A string visualization module, used for performing string visualization according to the algorithm problem data and the trajectory planning data; A curve visualization module, used for performing curve visualization according to the trajectory planning data; A single frame debugging module is used to enable a single frame debugging mode when an algorithm debugging instruction is detected; The algorithm debugging module is used to perform algorithm debugging according to the string visualization, the curve visualization and the single-frame debugging mode.

9. An automatic driving algorithm debugging device, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the autonomous driving algorithm debugging method as described in any one of claims 1 to 7.

10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the automatic driving algorithm debugging method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Vehicle route planning and debugging method and device, equipment and computer readable medium

    CN109901575A

  • Automatic driving reinforcement learning decision-making and planning method and system based on human-like features

    CN117104267A

  • Map construction method and device, electronic equipment and storage medium

    CN117648389A

  • Low-speed automatic driving trolley positioning path planning method, device, equipment and medium

    CN118311965A

  • Harverster systems and methods for automated and semi-automated filling of groups of receiving vehicles

    US20230114174A1