Instruction execution method and device in automatic driving
By detecting and restoring the clock differences of autonomous vehicles, the accurate execution of instructions on the vehicle side is ensured based on the instruction sequence number, which solves the problems of instruction verification failure and out-of-order execution caused by clock asynchrony, and achieves higher execution accuracy and orderliness.
Patent Information
- Application Number
- CN202510846006.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-23
- Publication Date
- 2025-09-05
AI Technical Summary
When the control console and vehicle clocks of autonomous vehicles are out of sync, command verification fails and out-of-order execution occurs. Especially when the network is congested or the device is overloaded, commands are delayed in reaching the vehicle, affecting the accuracy and orderliness of the commands.
By continuously detecting the clock difference between the control end and the vehicle end, the sending time of the instruction under the vehicle end clock is restored based on the clock difference. The vehicle end executes the instruction based on the vehicle end sending time, introduces the instruction sequence number to ensure orderly execution, and refuses to execute the instruction when the clock difference is too large.
It improves the accuracy and orderliness of command execution in autonomous driving, avoids command verification failure and out-of-order execution due to clock asynchrony, and is applicable to more scenarios without relying on third-party time servers.
Smart Images

Figure CN120595784A_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of autonomous driving, and in particular to a method and device for executing instructions in autonomous driving. Background Art
[0002] When an autonomous vehicle encounters a malfunction or other situation that requires remote intervention, the operator can send instructions to the vehicle through the console. The instructions can include remote driving, starting and stopping, lane changing, etc. When the vehicle receives the instruction, it needs to check the eligibility of the instruction. For example, check the legitimacy of the sender of the instruction, the completeness of the instruction, the delay of the instruction, etc. If the clocks of the console and the vehicle are not synchronized, the vehicle will not be able to accurately verify the time when the instruction was issued, and thus will not be able to execute the instruction correctly. In addition, during the process of the vehicle executing the instruction, the instruction may be delayed in reaching the vehicle due to network congestion or excessive equipment load. If the clock synchronization of the vehicle and the console occurs during this process, the instructions issued before the clock synchronization will arrive at the vehicle later than the instructions after the clock synchronization, which will cause the vehicle to execute the instructions out of order.
[0003] Therefore, it is necessary to provide a command execution method in autonomous driving to help autonomous driving vehicles execute commands accurately and orderly. Summary of the Invention
[0004] One of the embodiments of this specification provides a method for executing instructions in autonomous driving, including: a control end sends a control instruction to a vehicle end, the control instruction including instruction content, a sending time of the control end, and a clock difference between the control end and the vehicle end; the vehicle end receives the control instruction, and determines the vehicle end sending time of the control instruction under the vehicle end clock based on the vehicle end receiving time, the sending time of the control end, and the clock difference between the control end and the vehicle end; the vehicle end executes the control instruction based on the instruction content and the vehicle end sending time.
[0005] One of the embodiments of this specification provides a method for executing instructions in autonomous driving, which is executed based on the vehicle side, including: receiving a control instruction issued by a control side, and recording the vehicle side reception time corresponding to the control instruction, the control instruction including the instruction content, the control side sending time, and the clock difference between the control side and the vehicle side; judging whether the control instruction meets a verification condition, the verification condition including: the vehicle side receiving time, the control side sending time, and the clock difference meeting a preset execution relationship; in response to the control instruction not meeting the verification condition, refusing to execute the control instruction.
[0006] One of the embodiments of this specification provides an instruction execution device for autonomous driving, wherein the device includes at least one memory and at least one processor, wherein the at least one memory is used to store computer instructions, and the at least one processor executes the computer instructions or part of the instructions to implement the above-mentioned instruction execution method for autonomous driving. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] This specification will be further described in the form of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are not limiting, and in these embodiments, like numbers represent like structures, wherein: Figure 1 is a schematic diagram of an application scenario of a method for executing instructions in autonomous driving according to some embodiments of this specification; Figure 2 is an exemplary schematic diagram of a method for executing instructions in autonomous driving according to some embodiments of this specification; Figure 3 is an exemplary flow chart of determining clock differences according to some embodiments of this specification; Figure 4 is an exemplary flow chart of a method for executing instructions in autonomous driving on a vehicle side according to some embodiments of this specification; Figure 5 This is an exemplary schematic diagram of the feedback response from the vehicle end to the control end according to some embodiments of this specification. DETAILED DESCRIPTION
[0008] To more clearly illustrate the technical solutions of the embodiments of this specification, the following briefly describes the drawings required for describing the embodiments. Obviously, the drawings described below are merely examples or embodiments of this specification. Those skilled in the art can apply this specification to other similar scenarios based on these drawings without inventive effort. Unless otherwise apparent from the context or otherwise noted, the same reference numerals in the figures represent the same structure or operation.
[0009] It should be understood that the terms "system," "device," "unit," and / or "module" used herein are a method for distinguishing different components, elements, parts, portions, or assemblies at different levels. However, if other terms can achieve the same purpose, the terms may be replaced by other expressions.
[0010] As used in this specification and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not refer to the singular but also include the plural. Generally speaking, the terms "comprises" and "include" only indicate the inclusion of the steps and elements specifically identified, and these steps and elements do not constitute an exclusive list. A method or apparatus may also include other steps or elements.
[0011] Flowcharts are used throughout this specification to illustrate the operations performed by systems according to embodiments of this specification. It should be understood that preceding or following operations do not necessarily need to be performed in exact order. Instead, the steps may be processed in reverse order or simultaneously. Furthermore, other operations may be added to these processes, or one or more operations may be removed from these processes.
[0012] After receiving a command from the control console, the autonomous vehicle verifies that the command's issuance time matches the current time. To ensure accurate and timely execution of the command, the vehicle will reject the command if the difference between the issuance time and the current time is too large. Therefore, if the clocks of the control console and the vehicle are out of sync, the vehicle may continue to refuse to execute commands.
[0013] Currently, the console and vehicle are synchronized regularly with a third-party time server to maintain clock consistency. While this solves the problem of vehicle and console clock synchronization to some extent, it still cannot maintain continuous clock synchronization between the vehicle and console. For example, if the third-party time server is down or the network is unreachable, this solution will fail.
[0014] For example, the vehicle's operating environment (e.g., most ports) may not provide a time server. Furthermore, autonomous vehicles use a Global Positioning System (GPS) as their clock source. However, third-party time servers may not be synchronized with the GPS clock, making it impossible for the vehicle's clock to synchronize with the console's clock.
[0015] At the same time, after the console sends a command to the autonomous vehicle, the command issued by the control end may arrive at the vehicle later than the later command due to factors such as network congestion, busy vehicle CPU, and unreasonable process scheduling strategy settings. At this time, the vehicle will execute commands out of order.
[0016] To address the issue of out-of-order command execution, the vehicle can verify the issuance time of newly received commands and refuse to execute them if the issuance time is later than the issuance time of previously received commands. This can, to a certain extent, avoid out-of-order command execution. However, if the clocks of the vehicle and the control console are synchronized during this process, the verified issuance time of the command becomes invalid.
[0017] In some embodiments of this specification, by continuously detecting the clock difference between the control end and the vehicle end, and restoring the vehicle end sending time of the instruction under the vehicle end clock based on the clock difference, the vehicle end executes the control instruction containing the instruction serial number based on the vehicle end sending time. This can accurately verify the instruction sending time while allowing the vehicle end to execute the instructions in order according to the instruction sending time, thereby improving the accuracy and orderliness of instruction execution in autonomous driving.
[0018] Figure 1 This is a schematic diagram of an application scenario of the command execution method in autonomous driving according to some embodiments of this specification. Figure 1 As shown, the application scenario 100 of the instruction execution method in autonomous driving may include a control end 110 , a network 120 , a vehicle end 130 , and a storage device 140 .
[0019] The control terminal 110 refers to a device or component for sending instructions to the vehicle terminal, such as a control console. Users can send instructions to the vehicle terminal through the control terminal. Users can include people who remotely operate the vehicle terminal.
[0020] In some embodiments, the control end may send a control instruction to the vehicle end, where the control instruction includes instruction content, a sending time of the control end, and a clock difference between the control end and the vehicle end.
[0021] In some embodiments, the control end can send a characteristic instruction to the vehicle end and record the instruction sending time of the characteristic instruction; receive the vehicle end's response to the characteristic instruction and record the response receiving time of the response, the response including the instruction receiving time when the vehicle end receives the characteristic instruction and the response sending time when the vehicle end sends the response; based on the instruction sending time, instruction receiving time, response sending time and response receiving time, determine the clock difference between the control end and the vehicle end.
[0022] In some embodiments, the control end can determine the sending propagation time based on the instruction sending time and the response receiving time; determine the receiving propagation time based on the instruction receiving time and the response sending time; and determine the clock difference between the control end and the vehicle end based on the sending propagation time and the receiving propagation time.
[0023] In some embodiments, the control end can obtain multiple historical clock differences; based on the historical reference features of the multiple historical clock differences, determine the weights corresponding to the multiple historical clock differences, the historical reference features include at least one of the environmental features, communication features, time features, and vehicle features when determining the historical clock differences; based on the multiple historical clock differences and the weights, determine the clock differences.
[0024] Network 120 comprises any suitable network capable of facilitating information and / or data exchange within application scenario 100 of the method for executing instructions in autonomous driving. In some embodiments, one or more components of application scenario 100 of the method for executing instructions in autonomous driving (e.g., control terminal 110, vehicle terminal 130, storage device 140, etc.) can exchange information and / or data with one or more components of application scenario 100 of the method for executing instructions in autonomous driving via network 120.
[0025] The vehicle side 130 is the object to which the control side sends instructions. For example, the vehicle side may include an autonomous vehicle that encounters a fault or requires remote intervention.
[0026] In some embodiments, the vehicle side can receive a control instruction, determine the vehicle side sending time of the control instruction under the vehicle side clock based on the vehicle side receiving time, the control side sending time, and the clock difference between the control side and the vehicle side; and execute the control instruction based on the instruction content and the vehicle side sending time.
[0027] In some embodiments, the vehicle side may determine whether the vehicle side sending time and the current vehicle side time meet a preset interval condition; in response to meeting the preset interval condition, the control instruction is executed based on the instruction content.
[0028] In some embodiments, the vehicle end can receive a control instruction issued by the control end and record the vehicle end reception time corresponding to the control instruction; determine whether the control instruction meets the verification conditions, the verification conditions include: the vehicle end reception time, the control end sending time and the clock difference meet the preset execution relationship; in response to the control instruction not meeting the verification conditions, refuse to execute the control instruction.
[0029] In some embodiments, in response to the control instruction meeting the verification conditions, the vehicle end can execute the control instruction and feedback a response to the control end; the response includes the execution result corresponding to the control instruction, the vehicle end reception time and the response sending time.
[0030] Storage device 140 is used to store data, instructions, and / or any other information. Storage device 140 may include one or more storage components, each of which may be a standalone device or part of another device. In some embodiments, storage device 140 may include random access memory (RAM), read-only memory (ROM), removable memory, or any combination thereof. In some embodiments, storage device 140 may be connected to network 120 to enable communication with one or more components in application scenario 100 of the method for executing instructions in autonomous driving.
[0031] It should be noted that the application scenarios are provided for illustrative purposes only and are not intended to limit the scope of this specification. A person skilled in the art can make various modifications or variations based on the description of this specification. For example, the application scenarios may also include a database. For another example, the application scenarios may be implemented on other devices to achieve similar or different functions. However, such changes and modifications do not deviate from the scope of this specification.
[0032] Figure 2 This is an exemplary schematic diagram of the instruction execution method in autonomous driving according to some embodiments of this specification.
[0033] In some embodiments, the control terminal may send a control instruction 210 to the vehicle terminal. In some embodiments, the control instruction may include instruction content 211, the control terminal sending time 212, and the clock difference 213 between the control terminal and the vehicle terminal.
[0034] After the vehicle side receives the control instruction 210, it can determine the vehicle side sending time 230 of the control instruction under the vehicle side clock based on the vehicle side receiving time 220, the control side sending time 212 and the clock difference 213 between the control side and the vehicle side, and execute the control instruction based on the instruction content and the vehicle side sending time.
[0035] Instruction content 211 refers to the specific command in the control instruction that the vehicle is instructed to execute. For example, the instruction content may include commands such as start, pause, and lane change. The instruction content can be determined by user input or by the control system based on the vehicle's driving conditions.
[0036] The control terminal sending time 212 refers to the time corresponding to the control terminal clock when the control instruction is sent by the control terminal. In some embodiments, the control terminal can determine the time corresponding to the control terminal clock when sending the control instruction as the control terminal sending time corresponding to the control instruction.
[0037] The clock difference 213 refers to the difference between the clock of the control end and the clock of the vehicle end. For the determination of the clock difference, please refer to Figure 3 Related descriptions are given below.
[0038] In some embodiments, the control instruction may further include a unique identification number between the control end and the vehicle end and an instruction serial number.
[0039] The unique identification number refers to an identification number used to identify the unique association between the control terminal and different vehicle terminals, for example, a vehicle ID, etc. In some embodiments, the unique identification number can be calibrated by the system or manually and updated regularly.
[0040] The instruction serial number refers to the serial number corresponding to the control instruction. For more information about the instruction serial number, please refer to Figure 4 and its related descriptions.
[0041] In some embodiments of this specification, through a unique identification number, the control end can simultaneously connect to multiple vehicle ends and determine the clock differences between multiple vehicle ends, which helps to improve the efficiency of instruction execution; through the instruction serial number, the vehicle end can accurately identify the sending order of different control instructions, which helps to avoid the problem of disordered instruction execution.
[0042] In some embodiments, the control terminal may determine the control instruction in a variety of ways. For example, the control terminal may automatically generate the control instruction based on the instruction content, the control terminal sending time, and the clock difference, and send the control instruction to the vehicle terminal via the network.
[0043] The vehicle-side receiving time 220 refers to the time when the vehicle-side receives the control instruction. In some embodiments, the vehicle-side may determine the time when the vehicle-side clock receives the control instruction as the vehicle-side receiving time.
[0044] The vehicle-side sending time 230 refers to the sending time of the control instruction based on the vehicle-side clock.
[0045] In some embodiments, the vehicle-side may determine the vehicle-side sending time of the control instruction based on the vehicle-side clock based on the vehicle-side receiving time, the control-side sending time, and the clock difference between the control-side and vehicle-side clocks in various ways. For example, the vehicle-side may determine the vehicle-side sending time as the sum of the control-side sending time and the clock difference.
[0046] In some embodiments, the vehicle can execute the control command in various ways based on the command content and the time it was sent. For example, the vehicle can determine the time difference between the time it was sent and the time it was received. If the time difference is less than a time difference threshold, indicating that the time the control command was sent and the time it was received match, the vehicle will then execute the control command based on the command content. The time difference threshold can be determined based on historical experience.
[0047] In some embodiments, the vehicle side can determine whether the vehicle side sending time and the current vehicle side time meet a preset interval condition; in response to meeting the preset interval condition, the control instruction is executed based on the instruction content.
[0048] The current vehicle-side time refers to the time displayed by the current vehicle-side clock. In some embodiments, the vehicle-side may determine the time displayed by the current vehicle-side clock as the current vehicle-side time.
[0049] The preset interval condition refers to a pre-set condition that must be met between the vehicle-side transmission time and the current vehicle-side time for the vehicle-side to execute a control command. An example of the preset interval condition is that the time interval between the vehicle-side transmission time and the current vehicle-side time does not exceed a time interval threshold. The time interval threshold can be set by the system or manually.
[0050] When the time interval between the vehicle-side sending time and the current vehicle-side time is too long, the corresponding control instruction may no longer be applicable to the current vehicle situation. Therefore, in some embodiments of this specification, the vehicle-side executes the control instruction when the vehicle-side sending time and the current vehicle-side time meet the preset interval conditions, which helps to execute the instruction content after the sending time of the control instruction matches the current vehicle-side time, thereby ensuring the accuracy of instruction execution.
[0051] In some embodiments of the present specification, by determining the vehicle-side sending time of the control instruction under the vehicle-side clock and then executing the control instruction, the sending time of the control instruction under the vehicle-side clock can be restored, thereby overcoming the problem of instruction verification failure caused by the lack of synchronization between the control-side and vehicle-side clocks, and helping to improve the verification accuracy of instruction execution in autonomous driving.
[0052] Figure 3 FIG3 is an exemplary flow chart of determining clock differences according to some embodiments of this specification. In some embodiments, process 300 may be executed by a control terminal. Figure 3 As shown, process 300 includes the following steps: Step 310: Send a characteristic instruction to the vehicle end and record the instruction sending time of the characteristic instruction.
[0053] A signature instruction is an instruction that can be used to determine clock differences.
[0054] In some embodiments, the characteristic instruction may be a synchronization instruction specifically used to determine clock differences.
[0055] A synchronization instruction is an instruction used only to determine clock differences. The synchronization instruction can be a [ping, pong] message. In some embodiments, the synchronization instruction can include the time under the control terminal clock when the synchronization instruction is sent.
[0056] In some embodiments, the characteristic instruction may be the control instruction described above. By determining the clock difference through the control instruction, the latest clock difference can be determined while the control end and the vehicle end are communicating with each other normally, thereby reducing communication costs.
[0057] In some embodiments, the control terminal may automatically generate a characteristic instruction based on the time when the characteristic instruction was sent. For example, the control terminal may generate a synchronization instruction based on the time of the control terminal clock when the synchronization instruction was sent, or may generate a control instruction based on the instruction content, the time when the control terminal sent the instruction, and the clock difference.
[0058] The instruction sending time refers to the sending time of the characteristic instruction under the control end clock.
[0059] Step 320: Receive the vehicle-side response to the characteristic instruction and record the response receiving time.
[0060] In some embodiments, the vehicle-side response to a characteristic command refers to feedback from the vehicle-side after receiving the characteristic command. In some embodiments, the vehicle-side response to the characteristic command may include the time the vehicle-side receives the characteristic command and the time the vehicle-side sends the response. The control terminal may receive the vehicle-side response to the characteristic command over a network.
[0061] The command receiving time refers to the time according to the vehicle clock when the vehicle receives the characteristic command. The response sending time refers to the time according to the vehicle clock when the vehicle sends the response.
[0062] The response reception time refers to the time according to the control end clock when the control end receives the vehicle end's response to the feature command.
[0063] Step 330 , based on the instruction sending time, the instruction receiving time, the response sending time, and the response receiving time, the clock difference between the control end and the vehicle end is determined.
[0064] In some embodiments, the control end can determine the clock difference between the control end and the vehicle end based on the instruction sending time, the instruction receiving time, the response sending time, and the response receiving time in various ways. For example, the control end can determine the clock difference based on a first preset rule.
[0065] The first preset rule refers to a pre-set rule for determining a clock difference based on the instruction sending time, the instruction receiving time, the response sending time, and the response receiving time. An exemplary first preset rule may be: the longer the time interval between the instruction receiving time and the instruction sending time, and the shorter the time interval between the response receiving time and the response sending time, the greater the corresponding clock difference.
[0066] In some embodiments, the control end can determine the sending propagation time based on the instruction sending time and the response receiving time; determine the receiving propagation time based on the instruction receiving time and the response sending time; and determine the clock difference between the control end and the vehicle end based on the sending propagation time and the receiving propagation time.
[0067] The transmission propagation time refers to the time period between when the control terminal sends a characteristic command and when the vehicle terminal receives a response to the characteristic command. In some embodiments, the control terminal may determine the transmission propagation time based on the time the command is sent and the time the response is received. For example, the control terminal may determine the transmission propagation time as the time interval between the time the response is received and the time the command is sent.
[0068] The reception propagation time refers to the time period between when the vehicle receives a characteristic command and when it sends a response to the characteristic command to the control terminal. In some embodiments, the control terminal may determine the reception propagation time based on the time the command is received and the time the response is sent. For example, the control terminal may determine the reception propagation time as the time interval between the time the response is sent and the time the command is received.
[0069] In some embodiments, the control end may determine the clock difference between the control end and the vehicle end in a variety of ways based on the sending propagation time and the receiving propagation time.
[0070] For example, the control end can determine an average propagation time based on the transmission propagation time and the reception propagation time, and determine the clock difference based on the average propagation time. The average propagation time refers to the average time it takes for a characteristic command and its corresponding response to propagate between the control end and the vehicle end.
[0071] The control end can determine the average of the transmission propagation time and the reception propagation time as the average propagation time. Then the sum of the instruction transmission time, the clock difference and the average propagation time is the instruction reception time, and the difference between the response reception time, the sum of the clock difference and the average propagation time is the response transmission time, which can be expressed by the following equations (1) and (2) respectively: t0+offset+RTT=t1, (1) t3+offset−RTT=t2, (2) Where t0 is the command sending time, t1 is the command receiving time, t2 is the response sending time, t3 is the response receiving time, offset is the clock difference, and RTT is the average propagation time. Therefore, the control end can determine the clock difference between the control end and the vehicle end through the following formula (3): offset=((t1+t2)−(t3+t0)) / 2, (3) In some embodiments of this specification, the clock difference between the control end and the vehicle end is determined based on the sending propagation time and the receiving propagation time. A more accurate clock difference can be determined through the linear relationship between the instruction sending time, the instruction receiving time, the response sending time and the response receiving time.
[0072] In some embodiments of this specification, the clock difference between the control end and the vehicle end is determined based on the instruction sending time, instruction receiving time, response sending time and response receiving time. The clock difference can be determined each time the control end and the vehicle end communicate, which helps to accurately complete the instruction verification when the clocks of the control end and the vehicle end are not synchronized, and there is no need to introduce a third-party server, which reduces usage restrictions and makes the instruction execution method in autonomous driving applicable to more scenarios.
[0073] In some embodiments, the control end may obtain multiple historical clock differences; determine weights corresponding to the multiple historical clock differences based on historical reference features of the multiple historical clock differences; and determine the clock difference based on the multiple historical clock differences and the weights.
[0074] The historical clock difference refers to the clock difference determined in the historical time. In some embodiments, the control terminal can obtain the historical clock difference in the historical data stored in the storage device based on the network.
[0075] The historical reference feature refers to feature information relevant to determining the historical clock difference. The control terminal can obtain the historical reference feature based on historical data. In some embodiments, the historical reference feature may include at least one of the following: environmental features, communication features, time features, and vehicle features used in determining the historical clock difference.
[0076] Environmental characteristics refer to characteristic information related to the vehicle's environment, such as weather, season, temperature, etc. The control terminal can determine environmental characteristics based on various methods such as weather websites, thermometers, and weather meters.
[0077] Communication characteristics refer to characteristic information related to communication between the control terminal and the vehicle terminal, such as bandwidth, transmission distance, transmission mode, packet loss rate, regional base station signal strength, etc. In some embodiments, the control terminal can determine the communication characteristics based on the network.
[0078] The time feature refers to feature information related to the time corresponding to when the clock difference is determined, such as the time period corresponding to when the clock difference is determined.
[0079] Vehicle characteristics refer to characteristic information related to the vehicle, such as vehicle speed. The control end can interact with the vehicle end over the network to obtain vehicle characteristics.
[0080] In some embodiments, the control terminal may determine the weights corresponding to the multiple historical clock differences based on the historical reference features of the multiple historical clock differences using a second preset rule. The second preset rule is a pre-set rule for determining the weights corresponding to the multiple historical clock differences. The second preset rule may be determined based on historical experience.
[0081] For example, the second preset rule may include: the higher the similarity between the historical reference feature and the current reference feature, the higher the weight of the corresponding historical clock difference. The current reference feature refers to characteristic information related to determining the clock difference at the current moment. The control end can calculate the similarity between the historical reference feature and the current reference feature using Euclidean distance, cosine similarity, or the like.
[0082] In some embodiments, the control end may determine the clock difference by weighted sliding average (eg, simple, exponential, weighted, cumulative, or other weighted methods) based on multiple historical clock differences and weights.
[0083] In some embodiments, the control end may further filter out singular values in the historical clock differences, and determine the clock differences based on the filtered historical clock differences and their weights.
[0084] Outliers are abnormal values in historical clock differences. In some embodiments, the control end can filter out outliers in historical clock differences in various ways. For example, the control end can calculate the mean of multiple historical clock differences and identify historical clock differences whose difference from the mean exceeds a deviation threshold as outliers and filter them out. The deviation threshold can be determined based on historical experience.
[0085] Some embodiments of this specification filter out singular values in historical clock differences and then determine clock differences, thereby avoiding the influence of singular values on the predicted clock differences and improving the accuracy of the determined clock differences.
[0086] In some embodiments, the control end can determine the training data set corresponding to the prediction model based on multiple historical clock differences and historical reference features; determine the clock difference based on the prediction model and current reference features, and the prediction model is a machine learning model.
[0087] The prediction model refers to a model used to predict clock differences. In some embodiments, the prediction model can be a machine learning model, such as a neural network model.
[0088] In some embodiments, the input of the prediction model may include the current reference feature, and the output may include the clock difference. For details on the determination of the reference feature machine, see Figure 3 Related description in the previous article.
[0089] In some embodiments, the prediction model can be trained based on a training dataset. The training dataset may include training samples and their corresponding labels. For example, multiple labeled training samples can be input into the prediction model, and a loss function can be constructed using the labels and the output of the initial prediction model. Based on the loss function, the parameters of the initial prediction model are iteratively updated using gradient descent or other methods. When a stopping condition is met, a trained prediction model is obtained. The stopping condition may include convergence of the loss function, or the number of iterations reaching a threshold.
[0090] In some embodiments, the control end may determine a training data set corresponding to the prediction model based on multiple historical clock differences and historical reference features. For example, the control end may determine a training sample based on the historical reference features corresponding to multiple historical clock differences, and determine the historical clock difference as a label corresponding to the training sample. For more information on determining the historical clock difference, see Figure 4 Related description in the previous article.
[0091] In some embodiments of this specification, clock differences are determined through a prediction model, and the self-learning ability of a machine learning model can be used to find patterns in large amounts of data to determine clock differences more efficiently and accurately.
[0092] In some embodiments of this specification, clock differences are determined based on multiple historical clock differences and weights, which can more conveniently and quickly predict the current clock difference and help the subsequent vehicle-side verification of the accuracy of instructions.
[0093] Figure 4 This is an exemplary flow chart of a method for executing instructions in autonomous driving on a vehicle side according to some embodiments of this specification. In some embodiments, process 400 can be executed by the vehicle side. Figure 4 As shown, process 400 includes the following steps: Step 410: Receive the control command sent by the control terminal and record the time when the vehicle terminal receives the control command. Figure 2 and Figure 3 Related description.
[0094] In some embodiments, the vehicle side can receive a control instruction sent by the control side based on the network, and record the time when the vehicle side clock receives the control instruction as the vehicle side receiving time corresponding to the control instruction.
[0095] Step 420: Determine whether the control instruction meets the verification condition.
[0096] Verification conditions refer to conditions used to verify whether a control instruction is executed, which can be set by the system or manually. In some embodiments, the verification conditions may include: the vehicle-side receiving time, the control-side sending time, and the clock difference meeting the preset execution relationship. For details about the control-side sending time, please refer to Figure 2 and its related descriptions.
[0097] The preset execution relationship is the relationship between the vehicle-side receiving time and the control-side sending time that must be satisfied when the vehicle-side executes the control command. The preset execution relationship can be set by the system or manually.
[0098] In some embodiments, the preset execution relationship may include: the difference between the vehicle-side receiving time, the control-side sending time, and the sum of the clock difference meets the preset difference condition.
[0099] The preset difference condition refers to a pre-set condition that must be met when the vehicle executes a control command, requiring the difference between the vehicle-side reception time, the control-side transmission time, and the sum of the clock difference. An exemplary preset difference condition may be: the difference between the vehicle-side reception time, the control-side transmission time, and the sum of the clock difference must not exceed a difference threshold. For example, the preset difference condition can be expressed as follows: T1 − (T0 + offset) < m. Here, T1 is the vehicle-side reception time, T0 is the control-side transmission time, offset is the clock difference, and m is the difference threshold. The difference threshold can be preset by the system or manually.
[0100] In some embodiments of this specification, when the difference between the vehicle-side receiving time and the control-side sending time and the sum of the clock difference meets a preset difference condition, the vehicle-side executes the control instruction, which can improve the accuracy of the vehicle-side verification instruction.
[0101] In some embodiments, the verification condition may further include: the execution order indicated by the instruction sequence number is later than the execution order indicated by the historical instruction sequence number corresponding to the historical control instruction. Figure 2 Related description in the previous article.
[0102] In some embodiments, the instruction sequence number may be used to indicate the order in which control instructions are issued, and may also be used to indicate the order in which instruction contents in the control instructions are executed.
[0103] In some embodiments, the instruction sequence number may be a monotonically increasing sequence number. In some embodiments, the instruction sequence number may be generated based on atomic variables in the control end's memory and / or based on a sequence number generator on the control end. For example, when the control end is communicating on a single machine, the instruction sequence number may be generated by maintaining atomic variables in the control end's memory, such as the automic long function in Java. For another example, when the control end is communicating on a cluster, the instruction sequence number may be generated by a sequence number generator centralized on the control end.
[0104] It should be noted that the command serial number does not use the timestamp as the command serial number in order to prevent the command serial number from calling back the vehicle-side clock after the clocks of the control end and the vehicle end are synchronized.
[0105] In some embodiments of this specification, by generating the instruction sequence number as a monotonically increasing sequence number, the vehicle side can determine the execution order of the instruction content through the instruction sequence number, thereby avoiding out-of-order execution of the instruction content.
[0106] In some embodiments of this specification, the execution order indicated by the instruction serial number is later than the execution order indicated by the historical instruction serial number corresponding to the historical control instruction, which helps the vehicle side to execute the control instructions in an orderly manner based on the execution order indicated by the instruction serial number.
[0107] Step 430: In response to the control instruction not satisfying the verification condition, refusing to execute the control instruction.
[0108] In some embodiments of this specification, the vehicle side refuses to execute the control instruction when the control instruction does not meet the verification conditions, which can avoid the vehicle side from executing the instruction when the instruction issuance time and the current time do not match, thereby improving the accuracy of instruction execution in autonomous driving.
[0109] Figure 5 This is an exemplary schematic diagram of the feedback response from the vehicle end to the control end according to some embodiments of this specification.
[0110] In some embodiments, in response to the control instruction satisfying the verification condition, the vehicle end can execute the control instruction and feedback a response to the control end.
[0111] The response fed back by the vehicle end to the control end refers to the feedback of the vehicle end to the control instruction. In some embodiments, the response may include the execution result corresponding to the control instruction, the time when the vehicle end receives the response, and the time when the response is sent.
[0112] The execution result refers to the execution result of the vehicle side on the instruction content in the control instruction, for example, execution completed, etc.
[0113] like Figure 5 As shown, the control end sends a control instruction 1 to the vehicle end at time t0, with the instruction content being command 0, the control end sending time being t0, the clock difference being clock difference 0, and the instruction sequence number being sequence number 0. After executing command 0, the vehicle end feeds back a response 1 to the control end, with the execution result being result 0, the vehicle end receiving time being t1, and the response sending time being t2.
[0114] The next time the control end communicates with the vehicle end, the control end sends control instruction 2 to the vehicle end at time t4, with the instruction content being command 1, the control end sending time being t4, the clock difference being clock difference 1, and the instruction sequence number being sequence number 1. After executing command 1, the vehicle end feeds back response 2 to the control end, with the execution result being result 1, the vehicle end receiving time being t5, and the response sending time being t6.
[0115] The control end can determine the clock difference 0 in a variety of ways. For example, the control end can determine the clock difference 0 based on the communication with the vehicle end before issuing the control instruction 1 (for example, the issued characteristic instruction and its corresponding response, etc.), or it can determine the clock difference 0 based on the historical clock difference. For more information, please refer to Figure 3and its related descriptions. Clock Difference 1 is determined based on the control end sending time in Control Command 1, the vehicle end receiving time in Response 1, the response sending time, and the response receiving time when the control end receives Response 1. For example, the control end can determine Clock Difference 1 based on the following formula: Clock Difference 1 = ((t1 + t2) − (t3 + t0)) / 2.
[0116] In some embodiments of this specification, after executing a control instruction and feeding back a response to the control end, the vehicle end can not only feed back the execution result of the instruction content, but also determine the current clock difference through the response, which helps to continuously update the clock difference between the control end and the vehicle end, so as to improve the accuracy of the vehicle end's instruction verification.
[0117] In some embodiments of this specification, the vehicle side can determine whether to execute the control instruction based on accurate verification of the instruction by determining whether the control instruction meets the verification conditions, which helps to improve the accuracy and efficiency of instruction execution in autonomous driving.
[0118] While the basic concepts have been described above, it will be apparent to those skilled in the art that the detailed disclosure is merely illustrative and does not limit this specification. Although not explicitly stated herein, various modifications, improvements, and revisions to this specification may be made by those skilled in the art. Such modifications, improvements, and revisions are suggested in this specification and remain within the spirit and scope of the exemplary embodiments of this specification.
[0119] This specification also uses specific terms to describe the embodiments of this specification. For example, "one embodiment," "an embodiment," and / or "some embodiments" refer to a feature, structure, or characteristic associated with at least one embodiment of this specification. Therefore, it should be emphasized and noted that references to "one embodiment," "an embodiment," or "an alternative embodiment" two or more times in different locations in this specification do not necessarily refer to the same embodiment. Furthermore, certain features, structures, or characteristics of one or more embodiments of this specification may be appropriately combined.
[0120] In addition, unless expressly stated in the claims, the order of the processing elements and sequences described in this specification, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and laminar flow hoods in this specification. Although the above disclosure discusses some of the invention embodiments currently considered useful through various examples, it should be understood that such details are for illustrative purposes only, and the appended claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the spirit and scope of the embodiments of this specification. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.
[0121] Similarly, it should be noted that, in order to simplify the presentation of this specification and thus facilitate understanding of one or more embodiments of the invention, the foregoing descriptions of the embodiments of this specification sometimes combine multiple features into a single embodiment, figure, or description thereof. However, this disclosure method does not imply that the subject matter of this specification requires more features than those recited in the claims. In fact, an embodiment may have fewer features than all of the features of a single disclosed embodiment.
[0122] In some embodiments, numbers describing the quantity of components and attributes are used. It should be understood that such numbers used in the description of the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise stated, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the description and claims are approximate values, which may vary according to the required features of the individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the general method of retaining digits. Although the numerical domains and parameters used to confirm the breadth of their range in some embodiments of this specification are approximate values, in specific embodiments, the settings of such numerical values are as accurate as possible within the feasible range.
[0123] Each patent, patent application, patent application publication, and other materials, such as articles, books, specifications, publications, and documents, cited in this specification is hereby incorporated by reference in its entirety. This excludes any application history documents that are inconsistent with or conflicting with the content of this specification, as well as any documents (currently or subsequently appended to this specification) that limit the broadest scope of the claims of this specification. It should be noted that if the descriptions, definitions, and / or terminology used in the accompanying materials are inconsistent or conflicting with the content of this specification, the descriptions, definitions, and / or terminology used in this specification shall prevail.
[0124] Finally, it should be understood that the embodiments described in this specification are intended only to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of this specification. Therefore, by way of example and not limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly described and illustrated in this specification.
Claims
1. A method for executing instructions in autonomous driving, characterized in that: include: The control terminal sends a control instruction to the vehicle terminal, wherein the control instruction includes instruction content, the time when the control terminal sends the instruction, and the clock difference between the control terminal and the vehicle terminal; The vehicle end receives the control instruction, and determines the vehicle end sending time of the control instruction based on the vehicle end receiving time, the control end sending time, and the clock difference between the control end and the vehicle end; The vehicle side executes the control instruction based on the instruction content and the sending time of the vehicle side.
2. The method according to claim 1, characterized in that The clock difference between the control end and the vehicle end is determined by the control end based on the following method: Sending a characteristic instruction to the vehicle end and recording the instruction sending time of the characteristic instruction; receiving a response from the vehicle end to the characteristic instruction and recording a response reception time of the response, wherein the response includes a command reception time when the vehicle end receives the characteristic instruction and a response sending time when the vehicle end sends the response; The clock difference between the control end and the vehicle end is determined based on the instruction sending time, the instruction receiving time, the response sending time, and the response receiving time.
3. The method according to claim 2, characterized in that The determining the clock difference between the control end and the vehicle end based on the instruction sending time, the instruction receiving time, the response sending time, and the response receiving time includes: Determining a transmission propagation time based on the instruction transmission time and the response reception time; determining a reception propagation time based on the instruction reception time and the response sending time; The clock difference between the control end and the vehicle end is determined based on the sending propagation time and the receiving propagation time.
4. The method according to claim 1, wherein The clock difference between the control end and the vehicle end is determined by the control end based on the following method: Get multiple historical clock differences; Determining weights corresponding to the plurality of historical clock differences based on historical reference features of the plurality of historical clock differences, the historical reference features comprising at least one of an environmental feature, a communication feature, a time feature, and a vehicle feature when the historical clock differences were determined; The clock difference is determined based on the multiple historical clock differences and the weight.
5. The method according to claim 1, wherein The vehicle end executes the control instruction based on the instruction content and the sending time of the vehicle end, including: Determine whether the vehicle-side sending time and the current vehicle-side time meet a preset interval condition; In response to the preset interval condition being met, the control instruction is executed based on the instruction content.
6. The method according to claim 1, characterized in that The control instruction also includes a unique identification number between the control end and the vehicle end and an instruction sequence number.
7. A method for executing instructions in autonomous driving, based on vehicle-side execution, comprising: Receive a control instruction from the control terminal and record the time when the vehicle terminal receives the control instruction. The control instruction includes the instruction content, the time when the control terminal sends the instruction, and the clock difference between the control terminal and the vehicle terminal. Determining whether the control instruction satisfies a verification condition, wherein the verification condition includes: the vehicle-side receiving time, the control-side sending time, and the clock difference satisfying a preset execution relationship; In response to the control instruction not satisfying the verification condition, executing the control instruction is rejected.
8. The method according to claim 7, characterized in that The control instruction also includes a unique identification number between the control end and the vehicle end and an instruction sequence number, and the verification condition also includes: the execution order indicated by the instruction sequence number is later than the execution order indicated by the historical instruction sequence number corresponding to the historical control instruction.
9. The method according to claim 7, characterized in that The method further comprises: In response to the control instruction satisfying the verification condition, the control instruction is executed and a response is fed back to the control end; the response includes the execution result corresponding to the control instruction, the vehicle end reception time and the response sending time of the response.
10. A command execution device in an automatic driving system, characterized in that: The device includes at least one memory and at least one processor, wherein the at least one memory is used to store computer instructions, and the at least one processor executes the computer instructions or part of the instructions to implement the instruction execution method in autonomous driving according to any one of claims 1 to 9.