A method, device, and storage medium for correcting a vehicle driving trajectory
By obtaining the real coordinates and path planning navigation on the online ride-hailing client, and using the segmentation and trajectory filling algorithm to splice the trajectory on the server, the problem of driver trajectory loss when GPS coverage is insufficient is solved, and the precise restoration of driving trajectory and cost calculation are achieved.
Patent Information
- Application Number
- CN202510607247.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-13
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2045-05-13
AI Technical Summary
The prior art lacks how to restore the driver's real driving trajectory when GPS cannot be effectively covered when driving in tunnels or high-speed.
By obtaining the real coordinate position information of the vehicle on the online car-hailing client, combining the path planning navigation, the segmentation and trajectory filling algorithm are used to splice the trajectory on the server side to complete the driver's lost trajectory.
It realizes the precise restoration of the driver's driving trajectory when GPS coverage is insufficient, and supports cost calculation and risk control warning in online car-hailing scenarios.
Smart Images

Figure CN120121076B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of online car-hailing, and particularly relates to a method, device and storage medium for correcting a vehicle driving trajectory. Background Art
[0002] During the actual driving process, the driver's driving route is intricate, and the surrounding environment always affects the network environment and driving route. When encountering a serious traffic accident, traffic jam, or road closure, the driver will change the planned route to detour. When the driver is driving in a tunnel or on a highway, GPS cannot effectively and comprehensively cover, and the driver's trajectory information cannot be effectively collected in full. In addition, there are some illegal drivers who use cheating behaviors, and the platform cannot truly obtain the real driving trajectories of these drivers.
[0003] The existing technology lacks relevant solutions for restoring the real driving trajectory of the driver when GPS cannot effectively and comprehensively cover and the driver's driving coordinates are lost during driving in a tunnel or on a highway. Summary of the Invention
[0004] In view of this, the purpose of the present invention is to provide a method, device and storage medium for correcting a vehicle driving trajectory, so as to solve the problem in the existing technology that there is a lack of relevant solutions for restoring the real driving trajectory of the driver when GPS cannot effectively and comprehensively cover and the driver's driving coordinates are lost during driving in a tunnel or on a highway.
[0005] According to the first aspect of the embodiments of the present invention, a method for correcting a vehicle driving trajectory is provided, and the method includes:
[0006] During the driving process of the driver, the online car-hailing client on the mobile phone obtains the real coordinate position information of the vehicle;
[0007] During the driving process of the driver, the online car-hailing client obtains the path planning navigation S1 from the starting point A to the ending point B from the map service provider SDK and uploads it to the server. Every time the driver changes the driving path, the online car-hailing client uploads the latest path planning navigation to the server, and the server saves each uploaded path planning navigation to the database.
[0008] If the vehicle does not change the driving path during the process of driving from the starting point A to the ending point B, then the path planning navigation S1 is used as the full-path navigation; if the driver changes the driving path for the first time, then the current path planning navigation S2 and the previously uploaded path planning navigation S1 are obtained;
[0009] Based on the path planning navigation S2 and the path planning navigation S1, a segmentation algorithm is used to obtain the spliced trajectory, and the spliced trajectory is saved as the full path navigation of the vehicle in the database of the server; if the vehicle driving route changes again, a new full path navigation is obtained based on the full path navigation uploaded by the user last time and the current path planning navigation, until the vehicle reaches the end point B.
[0010] The server determines whether the preset compensation requirements are met between any two adjacent real coordinate points Pn-1 and Pn according to the real coordinate position information uploaded by the online car-hailing client.
[0011] If the preset compensation requirements are met, the server obtains the full path navigation uploaded by the online car-hailing client last time from the database, respectively obtains the points closest to Pn-1 and Pn in the last uploaded full path navigation, and splices the trajectory between the points closest to Pn-1 and Pn in the full path navigation between Pn-1 and Pn to complete the restoration of the driver's lost trajectory.
[0012] Preferably,
[0013] Each time the driver changes the driving path, the online car-hailing client uploads the latest path planning navigation, including:
[0014] During the vehicle driving process, if the driver changes the driving path, the online car-hailing client obtains the path planning navigation S2 from the starting point A1 to the end point B at this time from the map service provider SDK and uploads it to the server. If the driver changes the path multiple times during the entire driving process, the path planning navigation Sn after each driving path change is uploaded respectively.
[0015] Preferably,
[0016] The method of using the segmentation algorithm to obtain the spliced trajectory based on the path planning navigation S2 and the path planning navigation S1, and saving the spliced trajectory as the full path navigation of the vehicle in the database of the server includes:
[0017] Obtain two adjacent closest coordinate points S1(n-1) and S1(n) in the path planning navigation S1 to the starting point coordinate A1 of the path planning navigation S2, and obtain the trajectory S12 from the starting point A to the coordinate S1(n); use the cutting algorithm based on the coordinate points S1(n-1) and S1(n) to obtain the coordinate point S13(n-1) closest to the starting point A1 of the path planning navigation S2.
[0018] The trajectory S12, the trajectory from the end point S1(n) of the trajectory S12 to the coordinate point S13(n - 1), the trajectory from the coordinate point S13(n - 1) to the starting point A1 of the path planning navigation S2, and the path planning navigation S2 are spliced together, and the spliced trajectory is saved as the full-path navigation of the vehicle in the database of the server.
[0019] Preferably,
[0020] The obtaining of the coordinate point S13(n - 1) closest to the coordinate starting point A1 of the path planning navigation S2 by using a cutting algorithm based on the coordinate points S1(n - 1) and S1(n) includes:
[0021] Cut the path planning navigation S1 at S1(n - 1), and retain the trajectory S12 from the starting point A to the coordinate point S1(n).
[0022] Use a trajectory filling algorithm to fill the coordinates of the trajectory between S1(n - 1) and S1(n) so that the distance between two adjacent coordinates after filling the coordinates between S1(n - 1) and S1(n) does not exceed the preset M meters.
[0023] Take the trajectory between S1(n - 1) and S1(n) after coordinate filling as the trajectory S13, and obtain the coordinate point S13(n - 1) closest to the coordinate starting point A1 of the path planning navigation S2 in the trajectory S13.
[0024] Preferably,
[0025] During the driving process of the driver, the true coordinate position information of the vehicle obtained by the online car-hailing client on the mobile phone includes:
[0026] The online car-hailing client obtains the true coordinate position information from the map service provider SDK every second and stores it. Every X seconds, the online car-hailing client sends a coordinate packet to the server, and the coordinate packet contains X coordinate information.
[0027] After receiving the coordinate data transmitted by the online car-hailing client, the server reports it to the coordinate packet data processing channel, which is implemented using the message queue rocketmq; the server filters the received true coordinate position information and eliminates inaccurate true coordinates.
[0028] Preferably,
[0029] The server determines whether the preset compensation requirements are met between any two adjacent true coordinate points Pn - 1 and Pn according to the true coordinate position information uploaded by the online car-hailing client, including:
[0030] If the upload time interval between any two adjacent real coordinate points Pn-1 and Pn exceeds a preset time threshold t, or / and, the distance between any two adjacent real coordinate points Pn-1 and Pn exceeds a preset distance threshold s, then there is a trajectory loss between the adjacent real coordinate points Pn-1 and Pn, meeting the compensation requirements.
[0031] Preferably,
[0032] Obtaining the points closest to Pn-1 and Pn respectively in the full-path navigation of the last upload, and splicing the trajectory between the points closest to Pn-1 and Pn in the full-path navigation between Pn-1 and Pn includes:
[0033] Obtaining the points Vn-1 and Vn closest to Pn-1 and Pn respectively in the full-path navigation of the last upload, and determining whether the distances between Vn-1 and Pn-1, and between Vn and Pn are less than a preset M meters. If so, splicing the trajectory P between Vn-1 and Vn between Pn-1 and Pn of the driver-reported coordinate trajectory;
[0034] If the distance between Vn-1 and Pn-1 or between Vn and Pn is not less than the preset M meters; then obtaining the two coordinate points X1 and X2 closest to Pn-1 or Pn in the full-path navigation of the last upload, and using a trajectory filling algorithm to fill the coordinates between the coordinate points X1 and X2 so that the distance between two adjacent coordinate points between the coordinate points X1 and X2 does not exceed the preset M meters, obtaining the trajectory X1, obtaining the point Xn-1 or Xn closest to Pn-1 or Pn in the trajectory X1, replacing the original Vn-1 or Vn with the filled Xn-1 or Xn, and splicing the trajectory P after replacing the coordinate points between Pn-1 and Pn of the driver-reported coordinate trajectory.
[0035] Preferably,
[0036] Each time the server receives the path planning navigation uploaded by the online car-hailing client, it judges the size of the path navigation planning. If the size of the path navigation planning exceeds a preset threshold S, then thinning the navigation trajectory of the path navigation planning according to the Douglas-Peucker algorithm and then storing it in the database of the server. If the size of the path navigation planning does not exceed the preset threshold S, then directly storing it in the database of the server.
[0037] According to the second aspect of the embodiments of the present invention, there is provided a device for correcting a vehicle driving trajectory, and the device includes:
[0038] A real coordinate acquisition module: used for the online car-hailing client on the driver's mobile phone to acquire the real coordinate position information of the vehicle during driving;
[0039] Path planning navigation acquisition module: During the driving process of the driver, the online car-hailing client obtains the path planning navigation S1 from the starting point A to the ending point B from the map service provider SDK and uploads it to the server. Every time the driver changes the driving path, the online car-hailing client uploads the latest path planning navigation to the server, and the server saves the path planning navigation uploaded each time into the database;
[0040] First full-path navigation acquisition module: If the driver does not change the driving path during the process of the vehicle driving from the starting point A to the ending point B, then use the path planning navigation S1 as the full-path navigation; if the driver changes the driving path for the first time, then obtain the current path planning navigation S2 and the previously uploaded path planning navigation S1;
[0041] Second full-path navigation acquisition module: Based on the path planning navigation S2 and the path planning navigation S1, use a segmentation algorithm to obtain the spliced trajectory, and save the spliced trajectory as the full-path navigation of the vehicle in the database of the server; if the driving route of the vehicle changes again, then obtain a new full-path navigation based on the full-path navigation uploaded by the user last time and the current path planning navigation until the vehicle drives to the ending point B;
[0042] Compensation judgment module: Used for the server to judge whether the preset compensation requirements are met between any two adjacent real coordinate points Pn-1 and Pn according to the real coordinate position information uploaded by the online car-hailing client;
[0043] Real trajectory compensation module: If the preset compensation requirements are met, then the server obtains the full-path navigation uploaded by the online car-hailing client last time from the database, respectively obtains the points closest to Pn-1 and Pn in the full-path navigation uploaded last time, and splices the trajectory between the points closest to Pn-1 and Pn in the full-path navigation between Pn-1 and Pn to complete the restoration of the driver's lost trajectory.
[0044] According to the third aspect of the embodiments of the present invention, a storage medium is provided. The storage medium stores a computer program, and when the computer program is executed by the main controller, each step in the above method is implemented.
[0045] The technical solutions provided by the embodiments of the present invention may include the following beneficial effects:
[0046] This application obtains the real coordinate position information and path navigation planning of the driver during driving, comprehensively considers the path navigation planning after each driving path change of the driver, and uses a segmentation algorithm based on the current path planning navigation and the previously uploaded path planning navigation to obtain the spliced trajectory. The spliced trajectory is used as the full-path navigation of the vehicle, and the missing part in the real driving trajectory of the driver is filled through the full-path navigation of the vehicle to complete the restoration of the driver's trajectory; this application collects navigation trajectory information, restores the real navigation of vehicle driving, and uses the real navigation to restore the missing part of the driver's real trajectory, enabling more accurate calculation of fees, risk control warnings, vehicle tracking, etc. in the online car-hailing scenario based on the driver's real trajectory.
[0047] It should be understood that the above general description and subsequent detailed description are only exemplary and explanatory, and cannot limit the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] The accompanying drawings herein are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with the present invention and used together with the specification to explain the principles of the present invention.
[0049] Figure 1 is a flowchart showing a method for correcting a vehicle driving trajectory according to an exemplary embodiment;
[0050] Figure 2 is an overall scheme framework diagram shown according to another exemplary embodiment;
[0051] Figure 3 is a framework diagram for obtaining full-path navigation shown according to another exemplary embodiment;
[0052] Figure 4 is a schematic diagram showing the restoration of the driver's real driving trajectory according to another exemplary embodiment;
[0053] Figure 5 is a system schematic diagram of a device for correcting a vehicle driving trajectory shown according to another exemplary embodiment;
[0054] In the drawings: 1 - Real coordinate acquisition module, 2 - Path planning navigation acquisition module, 3 - First full-path navigation acquisition module, 4 - Second full-path navigation acquisition module, 5 - Compensation judgment module, 6 - Real trajectory compensation module. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0055] Exemplary embodiments will be described in detail herein, and examples thereof are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present invention as detailed in the appended claims.
[0056] Embodiment 1
[0057] Figure 1 is a flowchart showing a method for correcting a vehicle driving trajectory according to an exemplary embodiment, as Figure 1 shown, the method includes:
[0058] S1. During driving, the online car-hailing client on the driver's mobile phone obtains the real coordinate position information of the vehicle;
[0059] S2. During driving, the online car-hailing client obtains the path planning navigation S1 from the starting point A to the ending point B from the map service provider SDK and uploads it to the server. Every time the driver changes the driving path, the online car-hailing client uploads the latest path planning navigation to the server, and the server saves each uploaded path planning navigation to the database;
[0060] S3. If the driver does not change the driving path during the process of the vehicle driving from the starting point A to the ending point B, then use the path planning navigation S1 as the full-path navigation; if the driver changes the driving path for the first time, then obtain the current path planning navigation S2 and the previously uploaded path planning navigation S1;
[0061] S4. Based on the path planning navigation S2 and the path planning navigation S1, use a segmentation algorithm to obtain the spliced trajectory, and save the spliced trajectory as the full-path navigation of the vehicle in the database of the server; if the vehicle driving route changes again, then obtain a new full-path navigation based on the full-path navigation uploaded by the user last time and the current path planning navigation until the vehicle drives to the ending point B;
[0062] S5. The server determines whether the preset compensation requirements are met between any two adjacent real coordinate points Pn-1 and Pn according to the real coordinate position information uploaded by the online car-hailing client;
[0063] S6. If the preset compensation requirements are met, the server obtains the full-path navigation last uploaded by the online car-hailing client from the database, respectively obtains the points closest to Pn-1 and Pn in the last uploaded full-path navigation, splices the trajectory between the points closest to Pn-1 and Pn in the full-path navigation between Pn-1 and Pn, completes the restoration of the driver's lost trajectory, and completes the restoration of the driver's trajectory.
[0064] It can be understood that as shown in the appendix Figure 2 The real trajectory coordinate reporting process of this application is divided into three stages, namely coordinate generation, coordinate sending, and coordinate receiving.
[0065] Coordinate generation: The driver installs the online car-hailing client on the mobile phone. The client will obtain the coordinate position information through the map service provider SDK (such as Amap, Baidu, Tencent). The map service provider will select either GPS positioning information, WIFI positioning information, or even base station positioning information according to the current network environment.
[0066] Coordinate sending: After the client obtains the coordinate position information from the map service provider SDK every second, it stores it in the mobile phone storage. Every n seconds, the client sends a coordinate packet to the server. Usually, n is taken as 3, that is, each coordinate packet contains 3 coordinate information. The coordinate data is transmitted between the client and the server through a long connection channel.
[0067] Coordinate receiving: The server receives the coordinate data transmitted by the client and reports it to the coordinate packet data processing channel. The coordinate data processing channel is implemented using the message queue rocketmq.
[0068] After the server receives the real coordinate position information, it first makes basic information judgments on the coordinates in the coordinate packet, including national border judgment, credibility, positioning type, coordinate creation time, etc. At the same time, valid reference coordinates are introduced to screen the coordinates in the packet. The screening methods include: "same coordinate judgment", "speed reachability judgment", "azimuth offset judgment". Coordinate screening through "same coordinate judgment", "speed reachability judgment", and "azimuth offset judgment" is a mature existing technology, and this application will not elaborate too much on it. Any solution that can achieve the screening of inaccurate coordinates is within the application scope of this application.
[0069] During the vehicle driving process, the client turns on the navigation and will obtain the path planning navigation from the starting point A to the ending point B from the map service provider SDK. After the client obtains the navigation, it will upload it to the server using the HTTP protocol. The navigation data content includes navigation map information, navigation coordinate trajectory information, etc. After the server receives the navigation trajectory, if it determines that the size of the navigation trajectory exceeds S, it will perform navigation trajectory thinning according to the Douglas-Peucker algorithm and then store it in the database. If it does not exceed S, it will be directly stored in the database.
[0070] During the vehicle driving process, if there are road failures, traffic jams or other abnormal situations, and the vehicle needs to change its driving route, the client will obtain the route planning navigation from the starting point A1 to the end point B at this time from the map service provider SDK, and continue to upload it to the server for storage. If there are multiple route changes during the entire driving process from A to B, multiple navigation trajectories will be stored on the server. For example, if the route changes 3 times, the A-B navigation, A1-B navigation, A2-B navigation, and A3-B navigation will be stored in sequence;
[0071] When the vehicle drives from point A to point B and the navigation is turned on, when the client transmits the navigation plan S1 (starting point A to end point B) to the server, if there is no change in the navigation route, the current navigation plan S1 is the full-path navigation;
[0072] As shown in the appendix Figure 3 If the vehicle driving route changes, as shown in the figure, the client uploads the navigation plan S2 (starting point A1 to end point B) to the server, queries the two nearest coordinate points S1(n - 1) and S1(n) adjacent to the starting point coordinate A1 of the navigation plan S2 in the navigation plan S1 uploaded by the user for the first time, cuts the S1 trajectory at S1(n - 1), retains the trajectory S12 from the A point coordinate to the coordinate S1(n), uses the trajectory filling algorithm to fill the coordinates of S1(n - 1) and S1(n) so that the distance between adjacent two coordinates between S1(n - 1) and S1(n) does not exceed M meters. M is usually 5 meters. The trajectory between the filled S1(n - 1) and S1(n) is used as the trajectory S13. The coordinate point S13(n - 1) closest to the starting point A1 of the navigation plan S2 coordinate is obtained in the trajectory S13. The trajectory S12, the trajectory from the end point S1(n) of the trajectory S12 to the coordinate point S13(n - 1), the trajectory from the coordinate point S13(n - 1) to the starting point A1 of the navigation plan S2, and the navigation plan S2 are spliced together to be saved as the user's full-path navigation. If the vehicle driving route changes again, a new full-path navigation will be obtained based on the user's previous uploaded full-path navigation and the current navigation plan S3, and so on. When the driver reaches the end point B, the driver's full-path navigation trajectory can be calculated completely;
[0073] As shown in the appendix Figure 4As shown in the figure, after processing the real coordinate position information reported by the driver, some coordinates will be lost. There are two reasons for the lost coordinates: 1. The coordinates are not reported due to network problems or device problems; 2. The quality of the reported coordinates is poor and they are filtered out by the rules. In such a situation, it is necessary to determine whether the adjacent coordinates Pn-1 and Pn after processing exceed t in time and s in distance. If either condition is met, it meets the compensation requirement. Then, query the last full-path navigation track of the current vehicle's driving from the database. In the full-path navigation track, find the points Vn-1 and Vn that are closest to Pn-1 and Pn respectively. Determine whether the distances between Vn-1 and Pn-1, and between Vn and Pn are less than 5m. If so, splice the track P between Vn-1 and Vn to the part between Pn-1 and Pn in the driver-reported coordinate track to complete the restoration of the driver's track. If the distance between Vn-1 and Pn-1 or between Vn and Pn is not less than 5m, then obtain the two coordinate points X1 and X2 that are closest to Pn-1 or Pn in the full-path navigation track, and use the trajectory filling algorithm to fill the coordinates between X1 and X2 so that the distance between adjacent coordinates between X1 and X2 does not exceed 5 meters to obtain the track X1. Obtain the point Xn-1 or Xn in the track X1 that is closest to Pn-1 or Pn, replace the original Vn-1 or Vn with the filled Xn-1 or Xn, and splice the track P after replacing the coordinate points to the part between Pn-1 and Pn in the driver-reported coordinate track to complete the restoration of the driver's track. Simply put, if the distance between Pn-1 and Vn-1 exceeds 5 meters, then replace the original Vn-1 with the filled Xn-1, and splice the track between Xn-1 and Vn to the part between Pn-1 and Pn in the driver-reported coordinate track. If the distance between Vn and Pn exceeds 5 meters, then replace the original Vn with Xn, and splice the track between Vn-1 and Xn to the part between Pn-1 and Pn in the driver-reported coordinate track. If the distances between both Vn and Pn, and between Pn-1 and Vn-1 exceed 5 meters, then splice the track between the filled Xn-1 and Xn. The purpose is to improve the accuracy of track restoration.
[0074] Embodiment 2:
[0075] Figure 5 It is a system schematic diagram of a device for correcting a vehicle driving track shown according to another exemplary embodiment. The device includes:
[0076] Real coordinate acquisition module 1: It is used for the online car-hailing client on the driver's mobile phone to acquire the real coordinate position information of the vehicle during driving;
[0077] Path planning and navigation acquisition module 2: During driving, the online car-hailing client obtains the path planning navigation S1 from the starting point A to the ending point B from the map service provider SDK and uploads it to the server. Every time the driver changes the driving path, the online car-hailing client uploads the latest path planning navigation to the server, and the server saves each uploaded path planning navigation to the database;
[0078] First full-path navigation acquisition module 3: If the driver does not change the driving path during the vehicle's travel from the starting point A to the ending point B, then use the path planning navigation S1 as the full-path navigation; if the driver changes the driving path for the first time, then obtain the current path planning navigation S2 and the previously uploaded path planning navigation S1;
[0079] Second full-path navigation acquisition module 4: Based on the path planning navigation S2 and the path planning navigation S1, use a segmentation algorithm to obtain the spliced trajectory, and save the spliced trajectory as the vehicle's full-path navigation in the database of the server; if the vehicle's driving route changes again, then obtain a new full-path navigation based on the user's previously uploaded full-path navigation and the current path planning navigation until the vehicle reaches the ending point B;
[0080] Compensation judgment module 5: The server is used to judge whether the preset compensation requirements are met between any two adjacent real coordinate points Pn-1 and Pn according to the real coordinate position information uploaded by the online car-hailing client;
[0081] Real trajectory compensation module 6: If the preset compensation requirements are met, the server obtains the full-path navigation uploaded by the online car-hailing client last time from the database, respectively obtains the points closest to Pn-1 and Pn in the last uploaded full-path navigation, and splices the trajectory between the points closest to Pn-1 and Pn in the full-path navigation between Pn-1 and Pn to complete the restoration of the driver's lost trajectory.
[0082] Embodiment 3:
[0083] This embodiment provides a storage medium storing a computer program, and when the computer program is executed by a main controller, each step in the above method is implemented;
[0084] It can be understood that the above-mentioned storage medium can be a read-only memory, a disk or an optical disc, etc.
[0085] It can be understood that the same or similar parts in the above embodiments can be referred to each other, and the content not detailed in some embodiments can be referred to the same or similar content in other embodiments.
[0086] It should be noted that in the description of the present invention, terms such as "first" and "second" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance. In addition, in the description of the present invention, unless otherwise specified, the meaning of "sparsely distributed in small amounts" means at least two.
[0087] Any process or method description shown in the flowchart or described in other ways herein can be understood to represent a module, segment, or part of code including one or more sparsely distributed executable instructions for implementing a specific logical function or process. The scope of the preferred embodiments of the present invention includes additional implementations, where the functions can be executed in a substantially simultaneous manner or in the reverse order according to the functions involved, rather than in the order shown or discussed, which should be understood by those skilled in the art to which the embodiments of the present invention pertain.
[0088] It should be understood that various parts of the present invention can be implemented by hardware, software, firmware, or a combination thereof. In the above embodiments, the steps or methods sparsely distributed in small amounts can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, any one or a combination of the following well-known technologies in the art can be used: discrete logic circuits with logic gate circuits for implementing logical functions on data signals, application-specific integrated circuits with appropriate combinational logic gate circuits, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0089] Those of ordinary skill in the art of the present technology can understand that all or part of the steps carried by the method of the above embodiments can be completed by instructing relevant hardware through a program, and the program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiments.
[0090] In addition, each functional unit in various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically alone, or two or more units can be integrated into one module. The above integrated module can be implemented in the form of hardware or in the form of a software functional module. When the above integrated module is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
[0091] The above-mentioned storage medium can be a read-only memory, a magnetic disk, an optical disk, etc.
[0092] In the description of this specification, the descriptions referring to terms such as "one embodiment", "some embodiments", "examples", "specific examples", or "some examples", etc. mean that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or a small number of sparsely distributed embodiments or examples.
[0093] Although the embodiments of the present invention have been shown and described above, it can be understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those of ordinary skill in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present invention.
Claims
1. A method for correcting a vehicle driving trajectory, characterized in that, The method includes: During driving, the online car-hailing client on the driver's mobile phone obtains the real coordinate position information of the vehicle. During driving, the online car-hailing client obtains the path planning navigation S1 from the starting point A to the ending point B from the map service provider SDK and uploads it to the server. Every time the driver changes the driving path, the online car-hailing client uploads the latest path planning navigation to the server, and the server saves each uploaded path planning navigation in the database. If the vehicle does not change the driving path during the process of driving from the starting point A to the ending point B, then the path planning navigation S1 is used as the full-path navigation. If the driver changes the driving path for the first time, then obtain the current path planning navigation S2 and the previously uploaded path planning navigation S1. Based on the path planning navigation S2 and the path planning navigation S1, use a segmentation algorithm to obtain the spliced trajectory, and save the spliced trajectory as the full-path navigation of the vehicle in the database of the server. If the vehicle driving route changes again, then obtain a new full-path navigation based on the full-path navigation uploaded by the user last time and the current path planning navigation until the vehicle drives to the ending point B. The server determines whether the preset compensation requirements are met between any two adjacent real coordinate points Pn-1 and Pn according to the real coordinate position information uploaded by the online car-hailing client. If the preset compensation requirements are met, then the server obtains the full-path navigation uploaded by the online car-hailing client last time from the database, obtains the points closest to Pn-1 and Pn respectively in the last uploaded full-path navigation, and splices the trajectory between the points closest to Pn-1 and Pn in the full-path navigation between Pn-1 and Pn to complete the restoration of the driver's lost trajectory.
2. The method according to claim 1, wherein Every time the driver changes the driving path, the online car-hailing client uploads the latest path planning navigation includes: During the vehicle driving process, if the driver changes the driving path, the online car-hailing client obtains the path planning navigation S2 from the current position A1 to the ending point B from the map service provider SDK and uploads it to the server. If the driver changes the path multiple times during the entire driving process, then upload the path planning navigation Sn after each change of the driving path respectively.
3. The method according to claim 2, wherein Based on the path planning navigation S2 and the path planning navigation S1, use a segmentation algorithm to obtain the spliced trajectory, and save the spliced trajectory as the full-path navigation of the vehicle in the database of the server includes: Obtain two adjacent closest coordinate points S1(n-1) and S1(n) in the path planning navigation S1 that are adjacent to the starting point coordinate A1 of the path planning navigation S2, and obtain the trajectory S12 from the starting point A to the coordinate S1(n). Based on the coordinate points S1(n-1) and S1(n), use a cutting algorithm to obtain the coordinate point S13(n-1) closest to the starting point A1 of the path planning navigation S2. The trajectory S12, the trajectory from the end point S1(n) of the trajectory S12 to the coordinate point S13(n - 1), the trajectory from the coordinate point S13(n - 1) to the starting point A1 of the path planning navigation S2, and the path planning navigation S2 are spliced together, and the spliced trajectory is saved as the full-path navigation of the vehicle in the database of the server.
4. The method according to claim 3, wherein the obtaining of the coordinate point S13(n - 1) closest to the coordinate starting point A1 of the path planning navigation S2 by using a cutting algorithm based on the coordinate points S1(n - 1) and S1(n) includes: Cutting the path planning navigation S1 at S1(n - 1), and retaining the trajectory S12 from the starting point A to the coordinate point S1(n); Using a trajectory filling algorithm to fill the coordinates of the trajectory between S1(n - 1) and S1(n), so that the distance between two adjacent coordinates after filling the coordinates between S1(n - 1) and S1(n) does not exceed the preset M meters; Taking the trajectory between S1(n - 1) and S1(n) after coordinate filling as the trajectory S13, and obtaining the coordinate point S13(n - 1) closest to the coordinate starting point A1 of the path planning navigation S2 in the trajectory S13.
5. The method according to claim 4, wherein the obtaining of the real coordinate position information of the vehicle by the online car-hailing client on the driver's mobile phone during driving includes: The online car-hailing client obtains the real coordinate position information from the map service provider SDK every second and stores it. Every X seconds, the online car-hailing client sends a coordinate packet to the server, and the coordinate packet contains X coordinate information; After receiving the coordinate data transmitted by the online car-hailing client, the server reports it to the coordinate packet data processing channel, and the coordinate data processing channel is implemented using the message queue rocketmq; the server screens the received real coordinate position information and eliminates inaccurate real coordinates.
6. The method according to claim 5, wherein the server's judgment on whether the preset compensation requirements are met between any two adjacent real coordinate points Pn - 1 and Pn according to the real coordinate position information uploaded by the online car-hailing client includes: If the time interval between any two adjacent real coordinate points Pn - 1 and Pn exceeds the preset time threshold t during the upload, or / and, the distance between any two adjacent real coordinate points Pn - 1 and Pn exceeds the preset distance threshold s, then there is a trajectory loss between the adjacent real coordinate points Pn - 1 and Pn, and the compensation requirements are met.
7. The method according to claim 6, wherein obtaining the points closest to Pn - 1 and Pn respectively in the full-path navigation of the last upload, and splicing the trajectory between the points closest to Pn - 1 and Pn in the full-path navigation between Pn - 1 and Pn includes: In the full-path navigation of the last upload, respectively obtain the points Vn-1 and Vn closest to Pn-1 and Pn, and determine whether the distances between Vn-1 and Pn-1, and between Vn and Pn are less than the preset M meters. If less, splice the trajectory P between Vn-1 and Vn between Pn-1 and Pn of the driver-reported coordinate trajectory; If the distance between Vn-1 and Pn-1 or between Vn and Pn is not less than the preset M meters; then obtain the two coordinate points X1 and X2 closest to Pn-1 or Pn in the full-path navigation of the last upload, and use the trajectory filling algorithm to fill the coordinates between the coordinate points X1 and X2 so that the distance between adjacent two coordinate points between the coordinate points X1 and X2 does not exceed the preset M meters, obtain the trajectory X1, obtain the point Xn-1 or Xn in the trajectory X1 closest to Pn-1 or Pn, replace the original Vn-1 or Vn with the filled Xn-1 or Xn, and splice the trajectory P after replacing the coordinate points between Pn-1 and Pn of the driver-reported coordinate trajectory.
8. The method according to claim 7, wherein Each time the server receives the path planning navigation uploaded by the online car-hailing client, it judges the size of the path planning navigation. If the size of the path planning navigation exceeds the preset threshold S, it thins the navigation trajectory of the path planning navigation according to the Douglas-Peucker algorithm and then stores it in the database of the server. If the size of the path planning navigation does not exceed the preset threshold S, it is directly stored in the database of the server.
9. A device for correcting a vehicle driving trajectory, characterized in that, The device includes: True coordinate acquisition module: used for the online car-hailing client on the mobile phone to acquire the true coordinate position information of the vehicle during the driver's driving; Path planning navigation acquisition module: used for the online car-hailing client to obtain the path planning navigation S1 from the starting point A to the ending point B from the map service provider SDK and upload it to the server during the driver's driving. Every time the driver changes the driving path, the online car-hailing client uploads the latest path planning navigation to the server, and the server saves each uploaded path planning navigation in the database; First full-path navigation acquisition module: used for if the vehicle does not change the driving path during the process of driving from the starting point A to the ending point B, taking the path planning navigation S1 as the full-path navigation; if the driver changes the driving path for the first time, obtaining the current path planning navigation S2 and the previously uploaded path planning navigation S1; Second full-path navigation acquisition module: used for obtaining the spliced trajectory by using the segmentation algorithm based on the path planning navigation S2 and the path planning navigation S1, and saving the spliced trajectory as the full-path navigation of the vehicle in the database of the server; if the vehicle driving route changes again, obtaining a new full-path navigation based on the full-path navigation uploaded by the user last time and the current path planning navigation until the vehicle drives to the ending point B; Compensation judgment module: used for the server to judge whether the preset compensation requirements are met between any two adjacent real coordinate points Pn-1 and Pn according to the real coordinate position information uploaded by the online car-hailing client; Real trajectory compensation module: used for if the preset compensation requirements are met, the server obtains the full-path navigation uploaded by the online car-hailing client last time from the database, respectively obtains the points closest to Pn-1 and Pn in the full-path navigation uploaded last time, splices the trajectory between the points closest to Pn-1 and Pn in the full-path navigation between Pn-1 and Pn, completes the restoration of the driver's lost trajectory, and completes the restoration of the driver's trajectory.
10. A storage medium, characterized in that, The storage medium stores a computer program, and when the computer program is executed by the main controller, each step in a method for correcting a vehicle driving trajectory according to any one of claims 1-8 is implemented.
Citation Information
Patent Citations
Navigation engine rapid route re-planning method
CN105651290A
Driving track planning compensation method and device based on electronic map
CN111879338A