Motion state prediction method and device
The iterative search of the objective function of the multi-body dynamic function through the conjugate gradient method solves the high storage and computing requirements caused by relying on the Jacobian matrix in the prior art, and achieves efficient and accurate motion state prediction.
Patent Information
- Application Number
- CN202411470003.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-21
- Publication Date
- 2025-02-07
AI Technical Summary
The existing multibody dynamic function solution methods rely on the Jacobian matrix, resulting in huge storage and computing requirements. The Jacobian matrix is often singular and pathological, affecting the efficiency and accuracy of motion state prediction.
The conjugate gradient method is used to iteratively search the dynamic variables of the objective function, determine the objective function through the dynamic function, and search for the dynamic variables under the target constraints to avoid relying on the Jacobian matrix.
Improves the efficiency and accuracy of motion state prediction, avoids huge Jacqueline matrix storage and calculation requirements, and does not rely on the efficiency and robustness of linear system of equation solvers.
Smart Images

Figure CN119397143A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of multi-body dynamics, and in particular to a method and device for predicting a motion state. Background Art
[0002] In order to study the dynamic behavior in a multi-body system, it is necessary to establish the dynamic equations of the system. The dynamic equations are usually a set of differential algebraic equations, which are numerically solved using a numerical integrator to reveal the various behaviors that may occur when the mechanical device is actively running. Therefore, studying high-efficiency, high-precision and high-stability numerical integration methods for solving differential algebraic equations has always been one of the hot issues in the field of multi-body system dynamics.
[0003] However, current methods for solving multi-body dynamics functions rely on the Jacobian matrix, which requires large-scale storage and is often singular and very ill-conditioned. This poses a great challenge to the solution of multi-body dynamics functions, thus affecting the efficiency of predicting the motion state. Summary of the invention
[0004] The present application provides a motion state prediction method for efficiently performing motion state prediction.
[0005] This application provides the following solutions:
[0006] According to a first aspect, a method for predicting a motion state is provided, the method comprising: obtaining a dynamic function corresponding to a target object, the dynamic function being obtained based on a dynamic equation to characterize the relationship between the motion state of the target object and time; using the dynamic function to determine an objective function; using a conjugate gradient method to iteratively search for dynamic variables of the objective function to minimize the value of the objective function; and using the values of the dynamic variables obtained through the search to predict the motion state of the target object.
[0007] According to an achievable method in an embodiment of the present application, the determining of the objective function using the dynamic function includes: determining the objective function according to the norm of the dynamic function.
[0008] According to an achievable method in an embodiment of the present application, the iterative search of the dynamic variables of the objective function using the conjugate gradient method to minimize the value of the objective function includes: initialization, wherein the initialization includes: initializing the values of the dynamic variables at the current time point, and determining the value and step range of the objective function; performing multiple rounds of iterative updates until a preset iteration stop condition is met; wherein each round of iterative updates includes: determining a search direction based on the value of the dynamic function at the current time point, wherein the value of the dynamic function at the current time point is determined using the values of the dynamic variables at the current time point; selecting a search step from the step range; using the search direction and the search step to search for an update amount of the dynamic variable value under a target constraint, wherein the target constraint is intended to reduce the value of the objective function; and updating the dynamic variable value using the update amount obtained from the search.
[0009] According to an achievable method in an embodiment of the present application, the initialization of the dynamic variable values at the current time point includes: initializing the dynamic variable values at the current time point using the dynamic variable values at the previous time point; and determining the value of the objective function at the current time point using the dynamic variable values at the current time point.
[0010] According to an achievable method in an embodiment of the present application, determining the search direction based on the value of the dynamic function at the current time point includes: if the current time point is the initial time point, the search direction is determined by the value of the dynamic function at the current time point; otherwise, the search direction is determined by the value of the dynamic function at the current time point and the search direction at the previous time point.
[0011] According to an achievable method in an embodiment of the present application, the initialization also includes: determining a positive number sequence, the positive number sequence includes a series of positive numbers, and the sum of the series of positive numbers approaches; the target constraint includes: the corresponding objective function value after updating the search variable value using the update amount obtained by the search is less than or equal to the dynamic target value, and the dynamic target value is determined by the objective function value adopted in this round of iterative update, the positive number corresponding to the current round of iterative update in the positive number sequence, and the search step size; after updating the dynamic variable value using the update amount obtained by the search, it further includes: determining the objective function value adopted in the next round of iterative update using a preset update parameter, the objective function value adopted in this round of iterative update, the positive number corresponding to the current round of iterative update in the positive number sequence, and the objective function value corresponding to the updated dynamic variable value.
[0012] According to an implementable method in an embodiment of the present application, each round of iterative update also includes: if the update amount of the dynamic variable value is not searched under the target constraint, the search step size is adjusted using a preset adjustment parameter, and the update amount of the dynamic variable value is re-searched under the target constraint using the step size and the search direction after the search.
[0013] According to an achievable method in an embodiment of the present application, the method of predicting the motion state of the target object by using the dynamic variable values obtained by search includes: obtaining the dynamic variable values of the target object at the current time point; based on the dynamic variable values at the current time point, re-executing the iterative search for the dynamic variables of the objective function using the conjugate gradient method to minimize the value of the objective function and obtain the dynamic variable values at the next time point; repeating the above steps to obtain the dynamic variable values at multiple time points; and obtaining the motion state of the target object based on the dynamic variable values at the multiple time points.
[0014] According to the second aspect, a motion state prediction device is provided, the device comprising: a dynamic function acquisition unit, configured to acquire a dynamic function corresponding to a target object, the dynamic function being obtained based on a dynamic equation to characterize the relationship between the motion state of the target object and time; an objective function determination unit, configured to determine an objective function using the dynamic function; an iterative search unit, configured to iteratively search the dynamic variables of the objective function using a conjugate gradient method to minimize the value of the objective function; and a motion state prediction unit, configured to predict the motion state of the target object using the values of the dynamic variables obtained through the search.
[0015] According to a third aspect, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the steps of any one of the methods described in the first aspect are implemented.
[0016] According to a fourth aspect, an electronic device is provided, comprising: one or more processors; and a memory associated with the one or more processors, the memory being used to store program instructions, and the program instructions, when read and executed by the one or more processors, execute the steps of any one of the methods described in the first aspect.
[0017] According to the specific embodiments provided in this application, this application discloses the following technical effects:
[0018] (1) The present application uses a conjugate gradient algorithm to iteratively search the dynamic variables of the objective function, and uses the dynamic variable values obtained from the search to predict the motion state of the target object. The method of the present application does not require the use of a linear equation solver to solve the multi-body dynamics system, so there is no requirement for the efficiency and robustness of the linear equation system. Moreover, the method of the present application does not rely on the Jacobian matrix, and can avoid calculating and storing a very large Jacobian matrix, greatly improving the efficiency of motion state prediction.
[0019] (2) The present application determines the search direction according to the value of the dynamic function at the current time point, selects the search step size from the step size range, searches for the update amount of the dynamic variable value under the target constraint of reducing the value of the objective function, and provides a specific method for obtaining the solution of the dynamic function through conjugate gradient. The conjugate gradient method is more efficient in computation and relatively stable during the iteration process, thereby improving the efficiency of solving the dynamic function and improving the accuracy of motion state prediction.
[0020] Of course, any product implementing the present application does not necessarily need to achieve all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0022] Figure 1 A flow chart of a motion state prediction method provided in an embodiment of the present application;
[0023] Figure 2 A step diagram of iterative search provided in an embodiment of the present application;
[0024] Figure 3 A structural block diagram of a motion state prediction device provided in an embodiment of the present application;
[0025] Figure 4 A schematic block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0026] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments in the present application belong to the scope of protection of this application.
[0027] The terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments, and are not intended to limit the present invention. The singular forms "a", "said" and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings.
[0028] It should be understood that the term "and / or" used in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0029] The word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)", depending on the context.
[0030] The prediction of the motion state requires the construction of a set of dynamic equations and the solution of the set of equations. At present, there are some methods for solving multi-body dynamic equations. These methods require the help of linear equation solvers and rely on Jacobian matrices for solution. In most cases of solving multi-body dynamic systems, Newton-Raphson iteration is used to solve nonlinear equations. In each iteration of the dynamic equation solution process, the Jacobian matrix needs to be calculated and stored, and the linear equation system corresponding to this matrix needs to be solved. According to actual calculations, for large model systems mainly containing flexible bodies, whether using analytical expressions or numerical difference methods, the amount of calculation and storage required for the Jacobian matrix generation process are very large in each step of the iteration. Moreover, the Jacobian matrix is generally singular and very ill-conditioned, which places high demands on the accuracy and robustness of the linear equation solver, making the computational complexity of the linear equation system higher than other computational links. The relevant calculation of the Jacobian matrix is often the efficiency bottleneck of the entire multi-body dynamics simulation.
[0031] In view of this, the present application provides a new idea. Figure 1 The present invention provides a flow chart of a motion state prediction method, which can be executed by a motion state prediction device. Figure 1 As shown in , the method may include the following steps:
[0032] Step 101: Obtain a dynamic function corresponding to a target object. The dynamic function is obtained according to a dynamic equation and is used to characterize the relationship between the motion state of the target object and time.
[0033] Step 102: Determine the objective function using the dynamics function.
[0034] Step 103: Use the conjugate gradient method to iteratively search the dynamic variables of the objective function to minimize the value of the objective function.
[0035] Step 104: Use the dynamic variable values obtained through the search to predict the motion state of the target object.
[0036] As can be seen from the above process, the present application iteratively searches the dynamic variables of the objective function through the conjugate gradient algorithm, and uses the dynamic variable values obtained by the search to predict the motion state of the target object. The method of the present application does not require the use of a linear equation solver to solve the multi-body dynamics system, so there is no requirement for the efficiency and robustness of the linear equation system. Moreover, the method of the present application does not rely on the Jacobian matrix, can avoid calculating and storing a very large Jacobian matrix, and greatly improves the efficiency of motion state prediction.
[0037] The following describes in detail each step in the above process and the effects that can be further produced in conjunction with the embodiments.
[0038] First, the above step 101, namely, "obtaining a dynamic function corresponding to the target object, where the dynamic function is obtained according to a dynamic equation and is used to characterize the relationship between the motion state of the target object and time" is described in detail in conjunction with an embodiment.
[0039] Multibody dynamics is the study of the motion of a system of two or more interacting bodies. In multibody dynamics, the motion of each body is affected by the motion of the other bodies, so the interaction forces between all the bodies need to be considered.
[0040] The target object is the research object in the multibody system. Taking the multibody dynamics system as an example, if the research focus is on the vehicle's handling stability, the target object can be the tire and suspension system, such as wheels, springs, etc.; if the research is on the vehicle's fuel economy, the target object can be the power transmission system, such as the drive shaft, etc. The motion state of the target object can be described by relative position, relative velocity, and relative acceleration. For a complex system, the number of these dynamic variables may be very large, so numerical methods are needed to solve them. The dynamics of multibody systems (DMS) is a mathematical model that describes the motion and forces of multiple objects under interaction. These equations usually appear in the form of differential algebraic equations (DAEs). The multibody dynamics equations can be constructed in many forms, such as the form of Newton-Euler equations or the form of Lagrange equations.
[0041] As an implementable method, the present application constructs the multi-body system dynamics equation in the following form:
[0042]
[0043] Where t is time, q, are the relative displacement, relative velocity and relative acceleration of the target object, M(q,t) is the mass matrix, C q (q,t) is the derivative of C(q,t) with respect to q, () T represents the transpose of the matrix, λ is the Lagrange multiplier, is the external force of the system, and C(q,t)=0 is the system constraint equation.
[0044] The solution of multibody dynamics equations requires the help of numerical integrators, which include explicit integrators and implicit integrators. Taking the most widely used generalized α-family integrator in multibody dynamics as an example, it is known that t n The dynamic variable q at the moment n , and λ n , and step length h, find t n+1 =t n + Dynamic variable q at time h n+1 , and λ n+1 ,in The other parameters of the integrator are determined as: ρ∈[0,1], α=α f -α m , Then t n+1 The dynamic variables at the moment can be approximated as:
[0045]
[0046] And assume There are the following relations:
[0047]
[0048] Get estimated value Update volume but
[0049]
[0050] in
[0051]
[0052]
[0053] In addition, assuming
[0054]
[0055] The above q n+1 , and λ n+1 Substituting the expression into the multibody dynamics equation, we can obtain the nonlinear equation system about the update amount x and z
[0056]
[0057] Denoted as:
[0058]
[0059] The above nonlinear algebraic equations can be written in the following form to obtain the dynamic function F(Θ,t n+1 ):
[0060]
[0061] in,
[0062]
[0063] The above step 102, namely "determining the target function by using the dynamic function", is described in detail below in conjunction with an embodiment.
[0064] The present application utilizes the conjugate gradient method to iteratively search the dynamic variables of the objective function and then solve the kinetic function. The objective function is determined by the kinetic function, and the norm of the kinetic function can be used to determine the objective function.
[0065] For example, construct the objective function as:
[0066] f(Θ)=k||F(Θ,t n+1 )|| 2 (19)
[0067] Wherein, k is a preset coefficient. Preferably, k can be taken as
[0068] The above step 103, i.e., "using the conjugate gradient method to iteratively search the dynamic variables of the objective function to minimize the value of the objective function", is described in detail below in conjunction with an embodiment.
[0069] Figure 2 The step diagram of iterative search provided for the embodiment of the present application is shown in the figure. First, initialization is performed, and the initialization includes: initializing the dynamic variable value at the current time point, and determining the value and step range of the objective function. Among them, when initializing the dynamic variable value at the current time point, the dynamic variable value at the previous time point is used to initialize the dynamic variable value at the current time point; using the dynamic variable value at the current time point, the value of the objective function at the current time point is determined.
[0070] Specifically, for the current time point t n+1 , the initial value of the dynamic variable is: The value of the objective function The step size range is [μ min ,μ max ], where 0<μ min <μ max .
[0071] Initialization may also include: determining a positive number sequence, the positive number sequence comprising a series of positive numbers, the sum of which approaches Specifically, Choose a positive sequence φ k Make
[0072]
[0073] sequence of positive numbers The purpose of this selection is to ensure that in the next step of the convergence proof, for a positive number δ, δ∈(0,1), the region We can have ||F(Θ,t n+1 )||<δ, thus ensuring global convergence. It can be set to but
[0074] Initialization may also include: presetting a value range of an update parameter [ζ min ,ζ max], where 0≤ζ min <ζ max <1.
[0075] After initialization, the dynamics function is iterated for multiple rounds until the preset iteration stop condition is met; each round of iterative update includes:
[0076] First, the search direction is determined according to the value of the dynamic function at the current time point, wherein the value of the dynamic function at the current time point is determined by using the value of the dynamic variable at the current time point.
[0077] The dynamic function at the current time point t n+1 The value of in the kth round of iterative update is:
[0078]
[0079] If the current time point is the initial time point, the search direction is determined by the value of the dynamics function at the current time point; otherwise, the search direction is determined by the value of the dynamics function at the current time point and the search direction at the previous time point. k for:
[0080]
[0081] in,
[0082]
[0083] After that, the search step size is selected from the step size range, i.e., μ k ∈[μ min ,μ max ].
[0084] Next, the search direction and search step are used to search for the update amount of the dynamic variable value under the target constraint, and the target constraint is intended to reduce the value of the objective function.
[0085] The target constraints include: the corresponding target function value after updating the search variable value using the update amount obtained by the search is less than or equal to the dynamic target value. The dynamic target value is determined by the target function value used in this round of iterative update, the positive number corresponding to this round of iterative update in the positive number sequence, and the search step size.
[0086] As one possible way to achieve this, the above objective constraint is: or Where σ>0. The update amount is μ k d k , the corresponding objective function value is and The dynamic target value is Among them, C k is the value of the objective function used in this round of iterative update, is the positive number corresponding to the current round of iteration update in the positive number sequence, μ k is the search step length.
[0087] For example, if Then update the dynamic variable value of the k+1th round for:
[0088]
[0089] like Then update the dynamic variable value of the k+1th round for:
[0090]
[0091] After the dynamic variable value is updated using the update amount obtained by the search, it further includes: using the preset update parameters, the objective function value used in this round of iterative update, the positive numbers corresponding to the current round of iterative update in the positive number sequence, and the objective function value corresponding to the updated dynamic variable value, to determine the objective function value used in the next round of iterative update.
[0092] Among them, the preset update parameter ζ k ∈[ζ min ,ζ max ], then the objective function value C used in the next round (i.e., the k+1th round) of iterative update k+1 For example
[0093]
[0094] Each round of iterative update also includes: if the update amount of the dynamic variable value is not found under the target constraint, the search step size is adjusted using the preset adjustment parameter, that is, let μ k =δμ k , using the step size and search direction after the search, re-search the update amount of the dynamic variable value under the target constraint.
[0095] Finally, the update amount obtained by the search is used to update the value of the dynamic variable. That is, the update amount obtained by the search is μ k d k , update the dynamic variable value to:
[0096]
[0097] Perform multiple rounds of iterations until the preset iteration stop condition is met and the iteration is completed. The iteration stop condition is: the value of the dynamic function at the current time point converges to zero, that is, during the iteration process,
[0098]
[0099] In particular, the convergence condition can be simply taken as ||F k || is a very small value, for example, ||F k ||≤10 -6 .
[0100] Finally, the above step 104, namely "predicting the motion state of the target object by using the dynamic variable values obtained by the search", is described in detail in conjunction with the embodiments.
[0101] In this application, the value of the dynamic variable can be obtained by iterative search, and the value of the dynamic variable is the relative speed, relative acceleration and relative displacement of the target object at the current moment. Repeating the above iterative search operation can obtain the values of the dynamic variables at multiple moments, and according to the values of the dynamic variables at multiple moments, the motion state of the target object can be obtained. Among them, the value of the time point can be determined according to the total simulation time, and can also be determined according to the change of the simulation result.
[0102] Specifically, the dynamic variable values of the target object at the current time point are obtained; based on the dynamic variable values at the current time point, the iterative search for the dynamic variables of the objective function using the conjugate gradient method is re-executed to minimize the value of the objective function and obtain the dynamic variable values at the next time point; the above steps are repeated to obtain the dynamic variable values at multiple time points; and the motion state of the target object is obtained based on the dynamic variable values at the multiple time points.
[0103] Among them, the dynamic variable value at the current time point At this time, the simulation system output is and In the next round of iterative search, Denoted as Θ n+1 , for the next moment And re-execute the above iterative search operation.
[0104] The above method provided in the embodiment of the present application can be applied to a variety of application scenarios, including but not limited to: applied to multi-body dynamics simulation software to model and solve the vehicle's motion state, thereby optimizing the vehicle's performance; applied to the field of robotics, by predicting the future motion state of each joint of the robot, so as to accurately control the robot and plan the path; applied to aviation training simulators, by predicting the motion state of complex systems under various operating conditions, a realistic training environment is provided.
[0105] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0106] According to an embodiment of another aspect, a motion state prediction device is provided. Figure 3 A schematic block diagram of a motion state prediction device according to an embodiment is shown. Figure 3 As shown, the device 300 includes:
[0107] The dynamic function acquisition unit 301 is configured to acquire a dynamic function corresponding to the target object. The dynamic function is obtained according to a dynamic equation and is used to characterize the relationship between the motion state of the target object and time.
[0108] The objective function determination unit 302 is configured to determine the objective function using the dynamics function.
[0109] The iterative search unit 303 is configured to iteratively search the dynamic variables of the objective function using the conjugate gradient method to minimize the value of the objective function.
[0110] The motion state prediction unit 304 is configured to predict the motion state of the target object using the dynamic variable values obtained through the search.
[0111] As one of the implementable ways, the objective function determination unit 302 may be configured to: determine the objective function according to the norm of the dynamic function.
[0112] As one of the achievable methods, the iterative search unit 303 can be configured to: perform initialization, the initialization includes: initializing the value of the dynamic variable at the current time point, and determining the value and step range of the objective function; performing multiple rounds of iterative updates until a preset iteration stop condition is met; wherein each round of iterative updates includes: determining the search direction based on the value of the dynamic function at the current time point, wherein the value of the dynamic function at the current time point is determined using the value of the dynamic variable at the current time point; selecting a search step from the step range; using the search direction and search step, searching for an update amount of the dynamic variable value under the target constraint, the target constraint is intended to reduce the value of the objective function; and updating the dynamic variable value using the update amount obtained from the search.
[0113] As one of the feasible ways, the iterative search unit 303 can be configured to initialize the dynamic variable value at the current time point as follows: initialize the dynamic variable value at the current time point using the dynamic variable value at the previous time point; and determine the value of the objective function at the current time point using the dynamic variable value at the current time point.
[0114] As one of the feasible ways, when the iterative search unit 303 determines the search direction according to the value of the dynamic function at the current time point, it can be configured as follows: if the current time point is the initial time point, the search direction is determined by the value of the dynamic function at the current time point; otherwise, the search direction is determined by the value of the dynamic function at the current time point and the search direction at the previous time point.
[0115] As one of the achievable methods, the iterative search unit 303 can be configured as follows: initialization also includes determining a positive number sequence, the positive number sequence includes a series of positive numbers, and the sum of the series of positive numbers approaches φ; the target constraint includes: the corresponding objective function value after the search variable value is updated by the update amount obtained by the search is less than or equal to the dynamic target value, and the dynamic target value is determined by the objective function value adopted in this round of iterative update, the positive number corresponding to the iterative update in this round in the positive number sequence, and the search step size; after updating the dynamic variable value by the update amount obtained by the search, it further includes: determining the objective function value adopted in the next round of iterative update by using the preset update parameters, the objective function value adopted in this round of iterative update, the positive number corresponding to the iterative update in this round in the positive number sequence, and the objective function value corresponding to the updated dynamic variable value.
[0116] As one of the feasible methods, the iterative search unit 303 can also be configured in each round of iterative update as follows: if the updated amount of the dynamic variable value is not found under the target constraint, the search step size is adjusted using the preset adjustment parameters, and the updated amount of the dynamic variable value is searched again under the target constraint using the step size and search direction after the search.
[0117] As one of the feasible ways, the motion state prediction unit 304 can be configured to: obtain the dynamic variable value of the target object at the current time point; based on the dynamic variable value at the current time point, re-execute the iterative search for the dynamic variables of the objective function using the conjugate gradient method to minimize the value of the objective function and obtain the dynamic variable value at the next time point; repeat the above steps to obtain the dynamic variable values at multiple time points; and obtain the motion state of the target object based on the dynamic variable values at multiple time points.
[0118] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment. The device embodiment described above is only schematic, wherein the unit described as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit, that is, it may be located in one place, or it may be distributed on multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative work.
[0119] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0120] In addition, an embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the steps of any one of the methods in the aforementioned method embodiments are implemented.
[0121] And an electronic device, comprising:
[0122] one or more processors; and
[0123] A memory associated with the one or more processors, the memory being used to store program instructions, wherein the program instructions, when read and executed by the one or more processors, execute the steps of the method described in any one of the aforementioned method embodiments.
[0124] The present application also provides a computer program product, including a computer program, which implements the steps of any one of the methods in the aforementioned method embodiments when executed by a processor.
[0125] in, Figure 4The architecture of the electronic device is shown as an example, which may include a processor 410, a video display adapter 411, a disk drive 412, an input / output interface 413, a network interface 414, and a memory 420. The processor 410, the video display adapter 411, the disk drive 412, the input / output interface 413, the network interface 414, and the memory 420 may be communicatively connected via a communication bus 430.
[0126] Among them, the processor 410 can be implemented by a general-purpose CPU, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, etc., to execute relevant programs to implement the technical solution provided in this application.
[0127] The memory 420 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 420 can store an operating system 421 for controlling the operation of the electronic device 400, and a basic input and output system (BIOS) 422 for controlling the low-level operation of the electronic device 400. In addition, a web browser 423, a data storage management system 424, and a motion state prediction device 425, etc. can also be stored. The above-mentioned motion state prediction device 425 can be an application program that specifically implements the aforementioned steps in the embodiment of the present application. In short, when the technical solution provided by the present application is implemented by software or firmware, the relevant program code is stored in the memory 420 and is called and executed by the processor 410.
[0128] The input / output interface 413 is used to connect the input / output module to realize information input and output. The input / output module can be configured in the device as a component (not shown in the figure), or it can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.
[0129] The network interface 414 is used to connect to a communication module (not shown) to realize communication interaction between the device and other devices. The communication module can realize communication through a wired mode (such as USB, network cable, etc.) or a wireless mode (such as mobile network, WIFI, Bluetooth, etc.).
[0130] The bus 430 comprises a pathway for transmitting information between the various components of the device (eg, the processor 410, the video display adapter 411, the disk drive 412, the input / output interface 413, the network interface 414, and the memory 420).
[0131] It should be noted that, although the above device only shows a processor 410, a video display adapter 411, a disk drive 412, an input / output interface 413, a network interface 414, a memory 420, a bus 430, etc., in the specific implementation process, the device may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above device may also only include components necessary for implementing the solution of the present application, and does not necessarily include all the components shown in the figure.
[0132] It can be known from the description of the above implementation methods that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present application can be essentially or partly contributed to the prior art in the form of a computer program product, which can be stored in a storage medium such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments of the present application or certain parts of the embodiments.
[0133] The technical solution provided by the present application is described in detail above. The principle and implementation method of the present application are described in detail using specific examples. The description of the above embodiments is only used to help understand the method and core idea of the present application. At the same time, for those skilled in the art, according to the idea of the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as limiting the present application.
Claims
1. A method for predicting a motion state, characterized in that: The method comprises: Acquire a dynamic function corresponding to the target object, wherein the dynamic function is obtained according to a dynamic equation and is used to characterize the relationship between the motion state of the target object and time; Determining an objective function using the kinetic function; Iteratively searching the dynamic variables of the objective function using a conjugate gradient method to minimize the value of the objective function; The motion state of the target object is predicted using the dynamic variable values obtained through the search.
2. The method according to claim 1, characterized in that Determining the objective function by using the kinetic function comprises: The objective function is determined according to the norm of the dynamic function.
3. The method according to claim 1, characterized in that The iterative search of the dynamic variables of the objective function by using the conjugate gradient method to minimize the value of the objective function includes: Performing initialization, the initialization includes: initializing the value of the dynamic variable at the current time point, and determining the value and step range of the objective function; Perform multiple rounds of iterative updates until the preset iteration stop condition is met; each round of iterative updates includes: Determine a search direction according to the value of a dynamic function at the current time point, wherein the value of the dynamic function at the current time point is determined by using the value of a dynamic variable at the current time point; select a search step from the step range; use the search direction and the search step to search for an update amount of the dynamic variable value under a target constraint, wherein the target constraint is intended to reduce the value of the target function; and use the update amount obtained by the search to update the dynamic variable value.
4. The method according to claim 3, characterized in that Initializing the dynamic variable value at the current time point includes: initializing the dynamic variable value at the current time point using the dynamic variable value at the previous time point; The value of the objective function at the current time point is determined by using the value of the dynamic variable at the current time point.
5. The method according to claim 3, characterized in that: Determining the search direction according to the value of the dynamics function at the current time point includes: If the current time point is the initial time point, the search direction is determined by the value of the dynamic function at the current time point; otherwise, the search direction is determined by the value of the dynamic function at the current time point and the search direction at the previous time point.
6. The method according to claim 3, characterized in that The initialization further includes: determining a positive number sequence, the positive number sequence including a series of positive numbers, the sum of the series of positive numbers approaches φ; The target constraint includes: the target function value corresponding to the target variable value updated by the searched update amount is less than or equal to the dynamic target value, and the dynamic target value is determined by the target function value adopted in the current round of iterative update, the positive number corresponding to the current round of iterative update in the positive number sequence, and the search step length; After the dynamic variable value is updated using the update amount obtained by the search, it further includes: using the preset update parameters, the objective function value used in this round of iterative update, the positive numbers corresponding to the current round of iterative update in the positive number sequence, and the objective function value corresponding to the updated dynamic variable value, to determine the objective function value used in the next round of iterative update.
7. The method according to claim 3, characterized in that Each round of iterative update also includes: If the update amount of the dynamic variable value is not found under the target constraint, the search step is adjusted using a preset adjustment parameter, and the update amount of the dynamic variable value is searched again under the target constraint using the searched step and the search direction.
8. The method according to claim 1, characterized in that The method of predicting the motion state of the target object by using the dynamic variable value obtained by searching includes: Obtaining the dynamic variable value of the target object at the current time point; According to the value of the dynamic variable at the current time point, re-execute the operation of iteratively searching the dynamic variable of the objective function by using the conjugate gradient method to minimize the value of the objective function, and obtain the value of the dynamic variable at the next time point; Repeat the above steps to obtain the dynamic variable values at multiple time points; and obtain the motion state of the target object according to the dynamic variable values at the multiple time points.
9. A motion state prediction device, characterized in that: The device comprises: A dynamic function acquisition unit is configured to acquire a dynamic function corresponding to the target object, wherein the dynamic function is obtained according to a dynamic equation and is used to characterize the relationship between the motion state of the target object and time; An objective function determination unit, configured to determine an objective function using the kinetic function; an iterative search unit, configured to iteratively search the dynamic variables of the objective function using a conjugate gradient method to minimize the value of the objective function; The motion state prediction unit is configured to predict the motion state of the target object by using the dynamic variable values obtained through the search.
10. An electronic device, characterized in that: include: one or more processors; as well as A memory associated with the one or more processors, the memory being used to store program instructions, wherein the program instructions, when read and executed by the one or more processors, execute the steps of the method described in any one of claims 1 to 8.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.