Robot acceleration estimation method and device, electronic equipment and storage medium

By establishing a robot motion model and using neural network model and Kalman filtering algorithm, the problem of low robot state estimation accuracy in noisy environments is solved, and higher acceleration estimation accuracy and robot system performance are achieved.

CN119474653AActive Publication Date: 2025-02-18WUHAN UNIV
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202411280134.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2025-02-18
Estimated Expiration
2044-09-12

AI Technical Summary

Technical Problem

The prior art is difficult to achieve high-precision robot state estimation in noise and interference environments, affecting the performance of the robot.

Method used

By obtaining the motion model of the target robot, establishing the state transfer equation and observation equation, and using neural network model and Kalman filtering algorithm, generating and updating the point set, calculating the prior and posterior distribution of the acceleration prediction value, and then estimating the system state amount .

Benefits of technology

Effectively suppress noise, improve the accuracy and stability of acceleration estimation, thereby improving the performance and reliability of the robot system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119474653A_ABST
    Figure CN119474653A_ABST
Patent Text Reader

Abstract

The invention discloses a robot acceleration estimation method and device, electronic equipment and a storage medium, and the method comprises the steps: building a state transition equation and an observation equation according to a motion model, inputting the feature data of a target robot into a preset neural network model, obtaining a torque value of each joint of the target robot, determining an acceleration prediction value, and calculating the acceleration prediction value; generating a point set according to the state vector of the previous moment and the covariance of the previous moment, carrying out nonlinear transformation on the point set according to a state transition equation to obtain an updated point set, carrying out weighted transformation on the updated point set to obtain a new point set, calculating prior distribution of an acceleration predicted value, obtaining measurement data of the motion model, and obtaining the acceleration prediction value of the motion model. Posterior distribution of the acceleration predicted value is obtained according to the measurement data and the prior distribution, and an estimation vector of the system state quantity is obtained. Therefore, the problem that high-precision state estimation is difficult to obtain in noise and interference environments is solved, noise can be effectively suppressed, and the accuracy and stability of acceleration estimation are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robotics technology, and in particular to a method, device, electronic device and storage medium for estimating acceleration of a robot. Background Art

[0002] Due to the presence of sensor noise, it is difficult for sensors to provide accurate measurement and tracking data. In complex environments, robot motion control and navigation are crucial, making accurate estimation of robot acceleration in simulation environments increasingly important.

[0003] When conducting simulation experiments in a simulation environment, the measurement of acceleration values ​​plays an important role. In robot control and path planning, accurate acceleration measurement can obtain more reliable information such as the robot's position, speed, and posture. Through the feedback control algorithm, each joint of the robot can be controlled and the robot's body posture and motion state can be adjusted in time. This control method requires high real-time performance and response speed, thereby providing more accurate reference data for robot control and path planning.

[0004] In summary, the motion control methods in related technologies are difficult to obtain high-precision state estimation in noisy and interfering environments, which affects the performance of the robot. In order to improve the state estimation accuracy of the robot in the simulation environment, a method that can effectively process sensor data noise is urgently needed. Summary of the invention

[0005] The present application provides a robot acceleration estimation method, device, electronic device and storage medium to solve the problem that the motion control method in the related art is difficult to obtain high-precision state estimation in a noisy and interference environment, thereby affecting the performance of the robot. It can effectively suppress noise and improve the accuracy and stability of acceleration estimation, thereby improving the performance and reliability of the robot system.

[0006] A first aspect of the present application provides a method for estimating acceleration of a robot, comprising the following steps:

[0007] Obtain the motion model of the target robot;

[0008] Establishing a state transfer equation and an observation equation according to the motion model, and acquiring characteristic data of the target robot, inputting the characteristic data into a preset neural network model to obtain the torque value of each joint of the target robot, and determining the acceleration prediction value according to the torque value of each joint of the target robot;

[0009] Obtaining a state vector at a previous moment and a covariance at a previous moment, generating a point set according to the state vector at a previous moment and the covariance at a previous moment, performing a nonlinear transformation on the point set according to the state transfer equation to obtain an updated point set, performing a weighted transformation on the updated point set to obtain a new point set, and calculating a prior distribution of the acceleration prediction value according to the new point set;

[0010] The measurement data of the motion model is acquired, and the posterior distribution of the acceleration prediction value is obtained according to the measurement data and the prior distribution, so as to obtain an estimated vector of the system state quantity according to the posterior distribution of the acceleration prediction value.

[0011] Optionally, in some embodiments, before inputting the characteristic data into a preset neural network model to obtain the torque value of each joint of the target robot, the method further includes:

[0012] Build the initial neural network architecture;

[0013] Initialize the weights and biases of each layer of the neural network architecture, calculate the weighted sum of each layer of the neural network architecture, apply an activation function to the weighted sum of each layer to obtain the output of each layer, until the output values ​​of all layers are obtained;

[0014] Based on the output values ​​of all the layers and the preset loss function, the gradient of each layer of the neural network is calculated, and the weights and bias of each layer of the neural network are updated based on the gradient of each layer of the neural network, until the loss function converges or the number of iterations is greater than the preset number of iterations, thereby obtaining the preset neural network model.

[0015] Optionally, in some embodiments, generating a point set according to the state vector at the previous moment and the covariance at the previous moment includes:

[0016] Based on a preset point set generation rule, a point set is generated according to the state vector at the previous moment and the covariance at the previous moment, wherein the preset point set generation rule is:

[0017]

[0018] Among them, χ (i) is the i-th sampling point, μ is the mean of the state vector at the previous moment, ∑ is the covariance of the state vector at the previous moment, and n is the state x k The dimension of , λ is the scaling factor.

[0019] Optionally, in some embodiments, performing a nonlinear transformation on the point set according to the state transfer equation to obtain an updated point set includes:

[0020] The point set is input into a preset nonlinear system model to obtain an updated point set, wherein a noise condition is added to the preset nonlinear system model, and the preset nonlinear system model is:

[0021]

[0022] Among them, x k+1 is the state vector at the next moment, f(x k ,u k ) is the state transformation function, w k and v k is a Gaussian white noise process, z k is the measured value, h(x k ) is the nonlinear observation function, N is the Gaussian distribution, Q is the process noise covariance matrix at time k, and R is the observation noise.

[0023] Optionally, in some embodiments, performing a weighted transformation on the updated point set to obtain a new point set, and calculating the prior distribution of the acceleration prediction value according to the new point set, includes:

[0024] The weighted mean and variance of the state function are weighted to obtain the weighted mean of the system state quantity at the target time and the weighted covariance matrix of the system state quantity at the target time, where the weighted mean of the system state quantity at the target time and the weighted covariance matrix of the system state quantity at the target time are respectively:

[0025]

[0026] The prior distribution is N(μZ k ,∑Z k ),in,

[0027]

[0028] in, is the weighted mean of the system state at time k, is the weighted covariance matrix of the system state at time k, is the mean weight coefficient, is the covariance weight coefficient, is the generated point set, Q is the process noise covariance matrix at time k, is the actual observation value of the i-th sampling point at time k, is the nonlinear observation function, ∑Z k is the covariance of the prior distribution, and R is the observation noise.

[0029] Optionally, in some embodiments, the posterior distribution is N(x k ,P k ),in,

[0030]

[0031] K=∑X k Z k ∑Z k -1 ;

[0032]

[0033] Among them, ∑X k Z k is the weighted covariance matrix of state variables and measurements, N is the number of sampling points, is the covariance weight coefficient, is the generated point set, is the weighted mean of the system state quantity at time k, is the actual observed value of the i-th sampling point at time k, μZ k is the mean of the prior distribution, ∑Z k -1 is the prior distribution covariance ∑Z k The inverse matrix of , μ is the mean of the state vector at the previous moment, is the weighted covariance matrix of the system state at time k, K is the Kalman gain matrix, x k is the estimated vector of the updated system state quantity.

[0034] A second aspect of the present application provides a robot acceleration estimation device, comprising:

[0035] An acquisition module is used to acquire the motion model of the target robot;

[0036] A prediction module, used to establish a state transfer equation and an observation equation according to the motion model, and obtain characteristic data of the target robot, input the characteristic data into a preset neural network model to obtain the torque value of each joint of the target robot, and determine the acceleration prediction value according to the torque value of each joint of the target robot;

[0037] A calculation module, used to obtain the state vector and the covariance of the previous moment, generate a point set according to the state vector and the covariance of the previous moment, perform a nonlinear transformation on the point set according to the state transfer equation to obtain an updated point set, perform a weighted transformation on the updated point set to obtain a new point set, and calculate the prior distribution of the acceleration prediction value according to the new point set;

[0038] The estimation module is used to obtain the measurement data of the motion model, obtain the posterior distribution of the acceleration prediction value according to the measurement data and the prior distribution, and obtain the estimation vector of the system state quantity according to the posterior distribution of the acceleration prediction value.

[0039] Optionally, in some embodiments, before inputting the feature data into a preset neural network model to obtain the torque value of each joint of the target robot, the prediction module further includes:

[0040] Building blocks, used to construct the initial neural network architecture;

[0041] A computing unit, used to initialize the weights and biases of each layer of the neural network architecture, and to calculate the weighted sum of each layer of the neural network architecture, and to apply an activation function to the weighted sum of each layer to obtain the output of each layer, until the output values ​​of all layers are obtained;

[0042] A generation unit is used to calculate the gradient of each layer of the neural network based on the output values ​​of all the layers and a preset loss function, and update the weight and bias of each layer of the neural network based on the gradient of each layer of the neural network until the loss function converges or the number of iterations is greater than a preset number of iterations, thereby obtaining the preset neural network model.

[0043] Optionally, in some embodiments, the computing module includes:

[0044] The second generating unit is used to generate a point set according to the state vector at the previous moment and the covariance at the previous moment based on a preset point set generating rule, wherein the preset point set generating rule is:

[0045]

[0046] Among them, χ (i) is the i-th sampling point, μ is the mean of the state vector at the previous moment, ∑ is the covariance of the state vector at the previous moment, and n is the state x k The dimension of , λ is the scaling factor.

[0047] Optionally, in some embodiments, the computing module includes:

[0048] An updating unit is used to input the point set into a preset nonlinear system model to obtain an updated point set, wherein a noise condition is added to the preset nonlinear system model, and the preset nonlinear system model is:

[0049]

[0050] Among them, x k+1 is the state vector at the next moment, f(x k,u k ) is the state transformation function, w k and v k is a Gaussian white noise process, z k is the measured value, h(x k ) is the nonlinear observation function, N is the Gaussian distribution, Q is the process noise covariance matrix at time k, and R is the observation noise.

[0051] Optionally, in some embodiments, the computing module includes:

[0052] The processing unit is used to perform weighted processing on the mean and variance of the state function to obtain a weighted mean of the system state quantity at the target time and a weighted covariance matrix of the system state quantity at the target time, wherein the weighted mean of the system state quantity at the target time and the weighted covariance matrix of the system state quantity at the target time are respectively:

[0053]

[0054] The prior distribution is N(μZ k ,∑Z k ),in,

[0055]

[0056] in, is the weighted mean of the system state at time k, is the weighted covariance matrix of the system state at time k, is the mean weight coefficient, is the covariance weight coefficient, is the generated point set, Q is the process noise covariance matrix at time k, is the actual observation value of the i-th sampling point at time k, is the nonlinear observation function, ∑Z k is the covariance of the prior distribution, and R is the observation noise.

[0057] Optionally, in some embodiments, the posterior distribution is N(x k ,P k ),in,

[0058]

[0059] K=∑X k Z k ∑Z k -1 ;

[0060]

[0061] Among them, ∑X k Zk is the weighted covariance matrix of state variables and measurements, N is the number of sampling points, is the covariance weight coefficient, is the generated point set, is the weighted mean of the system state quantity at time k, is the actual observed value of the i-th sampling point at time k, μZ k is the mean of the prior distribution, ∑Z k -1 is the prior distribution covariance ∑Z k The inverse matrix of , μ is the mean of the state vector at the previous moment, is the weighted covariance matrix of the system state at time k, K is the Kalman gain matrix, x k is the estimated vector of the updated system state quantity.

[0062] The third aspect of the present application provides an electronic device, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the robot acceleration estimation method as described in the above embodiment.

[0063] A fourth aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, which is executed by a processor to implement the robot acceleration estimation method as described in the above embodiment.

[0064] Therefore, this application has at least the following beneficial effects:

[0065] (1) By combining the prediction model and measurement data, this application can effectively suppress noise and improve the accuracy and stability of the estimation.

[0066] (2) This application can significantly improve simulation accuracy and algorithm development efficiency, optimize robot design, and reduce testing risks.

[0067] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0068] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:

[0069] Figure 1 A flowchart of a method for estimating acceleration of a robot provided according to an embodiment of the present application;

[0070] Figure 2 A schematic diagram of various coordinate systems of a robot in a simulation environment provided according to an embodiment of the present application;

[0071] Figure 3 A schematic diagram of an IMU accelerometer principle provided according to an embodiment of the present application;

[0072] Figure 4 A schematic diagram of an IMU accelerometer coordinate system provided according to an embodiment of the present application;

[0073] Figure 5 A schematic diagram of the structure of a preset neural network provided according to an embodiment of the present application;

[0074] Figure 6 A schematic diagram of the principle of a method for estimating the acceleration of a robot provided according to an embodiment of the present application;

[0075] Figure 7 A schematic block diagram of an acceleration estimation device for a robot provided according to an embodiment of the present application;

[0076] Figure 8 It is a schematic diagram of the structure of an electronic device provided according to an embodiment of the present application. DETAILED DESCRIPTION

[0077] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.

[0078] The following describes the acceleration estimation method, device, electronic device and storage medium of the robot of the embodiment of the present application with reference to the accompanying drawings. In view of the problem that the motion control method in the related art mentioned in the above background technology is difficult to obtain high-precision state estimation in a noise and interference environment, thereby affecting the performance of the robot, the present application provides a method for estimating the acceleration of a robot, in which a motion model of a target robot is obtained, and a state transfer equation and an observation equation are established according to the motion model, and characteristic data of the target robot is obtained, and the characteristic data is input into a preset neural network model to obtain the torque value of each joint of the target robot, and the acceleration prediction value is determined according to the torque value of each joint of the target robot, and the state vector and the covariance of the previous moment are obtained, and a point set is generated according to the state vector and the covariance of the previous moment, and a nonlinear transformation is performed on the point set according to the state transfer equation to obtain an updated point set, and a weighted transformation is performed on the updated point set to obtain a new point set, and the prior distribution of the acceleration prediction value is calculated according to the new point set, and the measurement data of the motion model is obtained, and the posterior distribution of the acceleration prediction value is obtained according to the measurement data and the prior distribution, so as to obtain the estimated vector of the system state quantity according to the posterior distribution of the acceleration prediction value. As a result, the problem in related technologies that it is difficult to obtain high-precision state estimation in a noisy and interference environment, thereby affecting the performance of the robot, is solved. It can effectively suppress noise, improve the accuracy and stability of acceleration estimation, and thus improve the performance and reliability of the robot system.

[0079] Specifically, Figure 1 A schematic flow chart of a method for estimating acceleration of a robot provided in an embodiment of the present application.

[0080] like Figure 1 As shown, the acceleration estimation method of the robot includes the following steps:

[0081] In step S101, a motion model of a target robot is obtained.

[0082] In step S102, the state transfer equation and observation equation are established according to the motion model, and the characteristic data of the target robot is obtained. The characteristic data is input into a preset neural network model to obtain the torque value of each joint of the target robot, and the acceleration prediction value is determined according to the torque value of each joint of the target robot.

[0083] Among them, the preset neural network model can be MLP (Multilayer Perceptron network).

[0084] Specifically, combined Figure 2As shown, the embodiment of the present application can establish state transfer and observation equations according to the robot's motion model and the corresponding sensor types and quantities. The input feature data of the MLP network may include the current state of the robot and possible environmental information. For example, the feature data includes: joint angles, joint speeds, base position and posture, base linear speed and angular speed, terrain information, external force sensor data, etc. The output of the preset neural network model is the torque value of each joint of the robot. Usually, these target values ​​are calculated by the control strategy in the simulation environment.

[0085] Combination Figure 3 and Figure 4 As shown, the initial inertial force and angle of the target robot IMU in the simulation environment are determined, and the initial acceleration value x0 is obtained using Newton's second law to determine the initial value P0 of the error covariance matrix.

[0086] The network trained in the previous step accepts the speed history and position error observation history as input, and uses the preset neural network model to calculate the output of the three hidden layers to obtain the robot joint torque value. The simulation environment robot joint acceleration prediction result is calculated using Newton's second law.

[0087] Optionally, in some embodiments, before inputting the feature data into a preset neural network model to obtain the torque value of each joint of the target robot, it also includes: constructing an initial neural network architecture; initializing the weights and biases of each layer of the neural network architecture, and calculating the weighted sum of each layer of the neural network architecture, applying an activation function to the weighted sum of each layer to obtain the output of each layer until the output values ​​of all layers are obtained; calculating the gradient of each layer of the neural network based on the output values ​​of all layers and a preset loss function, and updating the weights and biases of each layer of the neural network based on the gradient of each layer of the neural network until the loss function converges or the number of iterations is greater than the preset number of iterations, thereby obtaining a preset neural network model.

[0088] The embodiment of the present application can define a feedforward neural network MLP, initialize the weights and biases of the network, and perform the following steps on the training samples: forward propagation, calculate the network output; calculate the loss function; perform back propagation, calculate the gradient; update the weights and biases. The training stops when the loss function converges or the maximum number of iterations is reached.

[0089] Specifically, combined Figure 5 As shown, the embodiment of the present application can construct a preset neural network model through the following steps.

[0090] Step 1: Build the MLP network architecture.

[0091] The input layer receives input data, each input node corresponds to a feature, three hidden layers are used to extract the features of the input data, and the output layer produces the final output, each output node corresponds to an output category or regression value.

[0092] Step 2: Compute the MLP output.

[0093] Initialize the weights and biases of each layer and calculate the weighted sum of each layer. For the lth layer and the jth neuron, the weighted sum is calculated as follows:

[0094]

[0095] in, is the weighted sum of the jth neuron in the lth layer, is the weight between the jth neuron in layer l and the ith neuron in layer l-1, is the output of the i-th neuron in the l-1th layer, is the bias of the jth neuron in the lth layer, n is the number of neural network layers, and l is the current layer of the neural network.

[0096] Applying the activation function to the weighted sum gives the output, which is as follows:

[0097]

[0098] in, is the output of the neurons in the lth layer.

[0099] The weighted sum of each layer is calculated and the activation function is applied repeatedly until the output of the output layer is calculated.

[0100] Step 3: Calculate the loss function.

[0101] The loss function is used to measure the gap between the MLP output and the true value, using the mean square error calculation, the formula is as follows:

[0102]

[0103] Among them, y i is the true value of sample i, is the predicted value of sample i, N is the total number of samples in the data set used to calculate the mean square error, and L is the mean square error value.

[0104] Step 4: Backpropagation: Calculate gradients and update weights and biases.

[0105] For the jth neuron in the output layer, the gradient of the loss function with respect to the weighted sum is calculated as follows:

[0106]

[0107] in, is the error of the jth neuron, is the derivative of the activation function.

[0108] For the jth neuron in the lth layer of the hidden layer, the gradient of the loss function with respect to the weighted sum is calculated as follows:

[0109]

[0110] in, is the error of the kth neuron in the l+1th layer, is the weight between the jth neuron in the lth layer and the kth neuron in the l+1th layer.

[0111] Update the weights and biases using the gradient descent algorithm:

[0112]

[0113] Where η is the learning rate.

[0114] In step S103, the state vector and the covariance of the previous moment are obtained, a point set is generated according to the state vector and the covariance of the previous moment, and a nonlinear transformation is performed on the point set according to the state transfer equation to obtain an updated point set, and a weighted transformation is performed on the updated point set to obtain a new point set, and the prior distribution of the acceleration prediction value is calculated according to the new point set.

[0115] It should be noted that the embodiment of the present application needs to set the initial value of the system state vector and the initial value of the error covariance matrix to provide a deterministic system response basis for subsequent system state space iterations. The specific formula is:

[0116] x0=[a x ,a y ,a z ] T

[0117] P0=[]

[0118] Among them, x0 is the initial value of the coordinate system state vector, a x is the acceleration in the x-axis direction, a y is the acceleration in the y-axis direction, a z is the acceleration in the z-axis direction, and P0 is the initial value of the error covariance matrix.

[0119] The embodiment of the present application also needs to add noise conditions to the nonlinear system model.

[0120] For example, for a nonlinear system model under additive noise conditions, and all of them are Gaussian white noise processes, it can be expressed as:

[0121]

[0122] Specifically, the embodiment of the present application updates the acceleration value according to the target acceleration prior value at the previous moment, and the state and covariance at the known k-1 moment are Calculate the prior state and covariance x at time k k , P k When solving the acceleration estimation vector of the target at time k, the elements in the system acceleration vector at time k-1 and its mean and covariance are sampled to generate a sigma point set with N sampling points.

[0123] In the actual execution process, according to the system state vector x k-1 and covariance P k-1 , generate N = 2n + 1 sampling point sets. Let the system state x k The dimension is n, and the proportional untraceable transformation model is used. Under the distribution (μ, ∑), the generation rules of N sigma points are as follows:

[0124]

[0125] in, The operation represents the i-th column vector of the lower triangular matrix after Cholesky decomposition of matrix A. Set the parameters α, β, κ. For the Gaussian model, β=2, κ=3-n, α satisfies 0≤α≤1, and the scaling factor λ=α can be obtained. 2 (n+κ)-n, then the mean weight coefficient and covariance weight coefficient of N sigma points are:

[0126]

[0127] The above formula describes the detailed steps of how to generate sigma sampling points from the state mean vector and covariance matrix, which is mainly used to capture the nonlinear characteristics of the predicted state distribution, and then obtain the posterior estimate of the system state through state transformation.

[0128] According to the state equation, the point set χ k-1 Perform nonlinear transformation to obtain a new point set: In the formula, χ k is the system state vector after the state is updated at time k, u k-1 is the system process noise at time k-1, and f(·) is the state transfer function. The mean and variance of the state function are weighted to obtain the system state quantity X at time k: k The weighted mean and weighted covariance matrix of

[0129]

[0130] In the formula, is the system acceleration mean vector composed of weighted means, Q is the process noise covariance matrix at time k, is the weight of the i-th sampling point.

[0131] After transforming the system state quantity at time k, the point set χ k Perform weighted transformation to obtain a new point set Z k =h(χ k ), where h(·) is the nonlinear observation function. Calculate Z k The prior distribution N(μZ k ,∑Z k ), where the calculation formula for each element is:

[0132]

[0133] in, is the weighted mean of the system state at time k, is the weighted covariance matrix of the system state at time k, is the mean weight coefficient, is the covariance weight coefficient, is the generated point set, Q is the process noise covariance matrix at time k, is the actual observation value of the i-th sampling point at time k, is the nonlinear observation function, ∑Z k is the covariance of the prior distribution, and R is the observation noise.

[0134] In step S104, the measurement data of the motion model is acquired, and the posterior distribution of the acceleration prediction value is obtained according to the measurement data and the prior distribution, so as to obtain the estimation vector of the system state quantity according to the posterior distribution of the acceleration prediction value.

[0135] Specifically, the system state is updated using vector Update the mean matrix and covariance matrix of the state quantity, and when the measurement Z at time k is known k Next, use Calculate Z at time k k The posterior distribution N(x k ,P k ), the calculation formulas of each element are as follows:

[0136]

[0137] K=∑X k Z k ∑Z k -1 ;

[0138]

[0139] Among them, Z k is the actual measurement vector, obtained by the IMU sensor, R is the measurement noise; ∑Z k is the weighted covariance matrix of the measured values; ∑X k Z k is the weighted covariance matrix of state variables and measurements; K is the Kalman gain matrix; x k is the estimated vector of the updated system state; P k is the estimated covariance matrix of the updated system state.

[0140] Thus, the posterior distribution of the acceleration prediction value is calculated to obtain the estimated vector of the updated system state quantity.

[0141] In summary, combined Figure 6 As shown, an embodiment of the present application is a method for estimating the current acceleration of a robot based on a Kalman filter algorithm according to the force measured by an inertial unit and the predicted value of the joint torque by a preset neural network. Specifically, the estimation of the current acceleration is achieved through the following steps.

[0142] Step 1: Establish state transfer and observation equations based on the robot's motion model and the corresponding sensor types and quantities.

[0143] Step 2: Determine the initial inertial force and angle of the target robot IMU in the simulation environment, obtain the initial acceleration value, and determine the initial value of the error covariance matrix.

[0144] Step 3: Define the feedforward neural network, initialize the network weights and biases, and train the samples until the loss function converges or the maximum number of iterations is reached.

[0145] Step 4: The network trained in the previous step accepts the velocity history and position error observation history as input, calculates the output of the three hidden layers, obtains the robot joint torque value, and calculates the predicted result of the robot joint acceleration in the simulation environment through Newton's second law.

[0146] Step 5: Update the acceleration value according to the target acceleration prior value at the previous moment. Sample the elements in the system acceleration vector at the previous moment and its mean and covariance to generate a point set.

[0147] Step 6: Perform nonlinear transformation on the point set according to the state equation to obtain a new point set, perform weighted processing on the mean and variance of the state function, and obtain the weighted mean and weighted covariance matrix of the system state quantity at the next moment.

[0148] Step 7: Perform a weighted transformation on the point set and calculate the prior distribution of the acceleration prediction value.

[0149] Step 8: Calculate the posterior distribution of the acceleration prediction value and obtain the estimated vector of the updated system state quantity

[0150] Therefore, the embodiments of the present application can significantly improve the estimation accuracy and stability of the motion state, enhance the robot's navigation and control capabilities in dynamic and complex environments, optimize the overall performance of the robot system through multi-sensor data fusion and real-time recursive calculation, and better verify and tune various control algorithms and sensor fusion technologies through accurate acceleration estimation. Providing acceleration estimation in a simulation environment can also significantly improve simulation accuracy and the efficiency of algorithm development.

[0151] According to the acceleration estimation method of the robot proposed in the embodiment of the present application, the motion model of the target robot is obtained, and the state transfer equation and the observation equation are established according to the motion model, and the characteristic data of the target robot is obtained, and the characteristic data is input into the preset neural network model to obtain the torque value of each joint of the target robot, and the acceleration prediction value is determined according to the torque value of each joint of the target robot, and the state vector and the covariance of the previous moment are obtained, and the point set is generated according to the state vector and the covariance of the previous moment, and the point set is nonlinearly transformed according to the state transfer equation to obtain the updated point set, and the updated point set is weighted to obtain a new point set, and the prior distribution of the acceleration prediction value is calculated according to the new point set, and the measurement data of the motion model is obtained, and the posterior distribution of the acceleration prediction value is obtained according to the measurement data and the prior distribution, so as to obtain the estimated vector of the system state quantity according to the posterior distribution of the acceleration prediction value. Thus, the problem that the motion control method in the related art is difficult to obtain high-precision state estimation in a noise and interference environment, thereby affecting the performance of the robot is solved, and the noise can be effectively suppressed, and the accuracy and stability of the acceleration estimation are improved, thereby improving the performance and reliability of the robot system.

[0152] Next, the acceleration estimation device of the robot proposed in the embodiment of the present application is described with reference to the accompanying drawings.

[0153] Figure 7 It is a block diagram of an acceleration estimation device for a robot according to an embodiment of the present application.

[0154] like Figure 7 As shown, the acceleration estimation device 10 of the robot includes: an acquisition module 100 , a prediction module 200 , a calculation module 300 and an estimation module 400 .

[0155] The acquisition module 100 is used to acquire the motion model of the target robot.

[0156] The prediction module 200 is used to establish a state transfer equation and an observation equation according to the motion model, and obtain the characteristic data of the target robot, input the characteristic data into a preset neural network model to obtain the torque value of each joint of the target robot, and determine the acceleration prediction value according to the torque value of each joint of the target robot.

[0157] The calculation module 300 is used to obtain the state vector and the covariance of the previous moment, generate a point set according to the state vector and the covariance of the previous moment, perform a nonlinear transformation on the point set according to the state transfer equation to obtain an updated point set, perform a weighted transformation on the updated point set to obtain a new point set, and calculate the prior distribution of the acceleration prediction value according to the new point set.

[0158] The estimation module 400 is used to obtain the measurement data of the motion model, obtain the posterior distribution of the acceleration prediction value according to the measurement data and the prior distribution, and obtain the estimation vector of the system state quantity according to the posterior distribution of the acceleration prediction value.

[0159] Optionally, in some embodiments, before inputting the feature data into a preset neural network model to obtain the torque value of each joint of the target robot, the prediction module 200 further includes: a construction unit, a calculation unit and a generation unit.

[0160] Among them, the construction unit is used to construct the initial neural network architecture.

[0161] The computing unit is used to initialize the weights and biases of each layer of the neural network architecture, and calculate the weighted sum of each layer of the neural network architecture, and apply the activation function to the weighted sum of each layer to obtain the output of each layer until the output values ​​of all layers are obtained.

[0162] The generation unit is used to calculate the gradient of each layer of the neural network based on the output values ​​of all layers and the preset loss function, and update the weights and biases of each layer of the neural network based on the gradient of each layer of the neural network until the loss function converges or the number of iterations is greater than the preset number of iterations, thereby obtaining a preset neural network model.

[0163] Optionally, in some embodiments, the computing module 300 includes: a second generating unit.

[0164] The second generating unit is used to generate a point set based on a preset point set generating rule according to the state vector at the last moment and the covariance at the last moment, wherein the preset point set generating rule is:

[0165]

[0166] Among them, χ (i) is the i-th sampling point, μ is the mean of the state vector at the previous moment, ∑ is the covariance of the state vector at the previous moment, and n is the state xk The dimension of , λ is the scaling factor.

[0167] Optionally, in some embodiments, the computing module 300 includes: an updating unit.

[0168] The updating unit is used to input the point set into a preset nonlinear system model to obtain an updated point set, wherein a noise condition is added to the preset nonlinear system model, and the preset nonlinear system model is:

[0169]

[0170] Among them, x k+1 is the state vector at the next moment, f(x k ,u k ) is the state transformation function, w k and v k is a Gaussian white noise process, z k is the measured value, h(x k ) is the nonlinear observation function, N is the Gaussian distribution, Q is the process noise covariance matrix at time k, and R is the observation noise.

[0171] Optionally, in some embodiments, the computing module 300 includes: a processing unit.

[0172] The processing unit is used to perform weighted processing on the mean and variance of the state function to obtain a weighted mean of the system state quantity at the target time and a weighted covariance matrix of the system state quantity at the target time, wherein the weighted mean of the system state quantity at the target time and the weighted covariance matrix of the system state quantity at the target time are respectively:

[0173]

[0174] The prior distribution is N(μZ k ,∑Z k ),in,

[0175]

[0176]

[0177] in, is the weighted mean of the system state quantity at time k, is the weighted covariance matrix of the system state at time k, is the mean weight coefficient, is the covariance weight coefficient, is the generated point set, Q is the process noise covariance matrix at time k, is the actual observation value of the i-th sampling point at time k, is the nonlinear observation function, ∑Z k is the covariance of the prior distribution, and R is the observation noise.

[0178] Optionally, in some embodiments, the posterior distribution is N(x k ,P k ),in,

[0179]

[0180] K=∑X k Z k ∑Z k -1 ;

[0181]

[0182] Among them, ∑X k Z k is the weighted covariance matrix of state variables and measurements, N is the number of sampling points, is the covariance weight coefficient, is the generated point set, is the weighted mean of the system state quantity at time k, is the actual observed value of the i-th sampling point at time k, μZ k is the mean of the prior distribution, ∑Z k -1 is the prior distribution covariance ∑Z k The inverse matrix of , μ is the mean of the state vector at the previous moment, is the weighted covariance matrix of the system state at time k, K is the Kalman gain matrix, x k is the estimated vector of the updated system state quantity.

[0183] It should be noted that the above explanation of the embodiment of the robot acceleration estimation method is also applicable to the robot acceleration estimation device of this embodiment, which will not be repeated here.

[0184] According to the acceleration estimation device of the robot proposed in the embodiment of the present application, the motion model of the target robot is obtained, and the state transfer equation and the observation equation are established according to the motion model, and the characteristic data of the target robot is obtained, and the characteristic data is input into the preset neural network model to obtain the torque value of each joint of the target robot, and the acceleration prediction value is determined according to the torque value of each joint of the target robot, and the state vector and the covariance of the previous moment are obtained, and the point set is generated according to the state vector and the covariance of the previous moment, and the point set is nonlinearly transformed according to the state transfer equation to obtain the updated point set, and the updated point set is weighted to obtain a new point set, and the prior distribution of the acceleration prediction value is calculated according to the new point set, and the measurement data of the motion model is obtained, and the posterior distribution of the acceleration prediction value is obtained according to the measurement data and the prior distribution, so as to obtain the estimated vector of the system state quantity according to the posterior distribution of the acceleration prediction value. Thus, the problem that the motion control method in the related art is difficult to obtain high-precision state estimation in a noise and interference environment, thereby affecting the performance of the robot is solved, and the noise can be effectively suppressed, and the accuracy and stability of the acceleration estimation are improved, thereby improving the performance and reliability of the robot system.

[0185] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. The electronic device may include:

[0186] A memory 801 , a processor 802 , and a computer program stored in the memory 801 and executable on the processor 802 .

[0187] When the processor 802 executes the program, the acceleration estimation method of the robot provided in the above embodiment is implemented.

[0188] Furthermore, the electronic device further comprises:

[0189] The communication interface 803 is used for communication between the memory 801 and the processor 802 .

[0190] The memory 801 is used to store computer programs that can be executed on the processor 802 .

[0191] The memory 801 may include a high-speed RAM (Random Access Memory) memory, and may also include a non-volatile memory, such as at least one disk memory.

[0192] If the memory 801, the processor 802 and the communication interface 803 are implemented independently, the communication interface 803, the memory 801 and the processor 802 can be connected to each other through a bus and communicate with each other. The bus can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 8 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0193] Optionally, in a specific implementation, if the memory 801, the processor 802 and the communication interface 803 are integrated on a chip, the memory 801, the processor 802 and the communication interface 803 can communicate with each other through an internal interface.

[0194] The processor 802 may be a CPU (Central Processing Unit), or an ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement the embodiments of the present application.

[0195] An embodiment of the present application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the above-mentioned method for estimating the acceleration of a robot.

[0196] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms are not necessarily directed to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or N embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.

[0197] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of this application, "N" means at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0198] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, fragment or portion of code comprising one or more executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.

[0199] It should be understood that the various parts of the present application can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiment, the N steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array, a field programmable gate array, etc.

[0200] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.

[0201] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.

Claims

1. A method for estimating acceleration of a robot, characterized in that: The following steps are involved: Obtain the motion model of the target robot; Establishing a state transfer equation and an observation equation according to the motion model, and acquiring characteristic data of the target robot, inputting the characteristic data into a preset neural network model to obtain the torque value of each joint of the target robot, and determining the acceleration prediction value according to the torque value of each joint of the target robot; Obtaining a state vector at a previous moment and a covariance at a previous moment, generating a point set according to the state vector at a previous moment and the covariance at a previous moment, performing a nonlinear transformation on the point set according to the state transfer equation to obtain an updated point set, performing a weighted transformation on the updated point set to obtain a new point set, and calculating a prior distribution of the acceleration prediction value according to the new point set; The measurement data of the motion model is acquired, and the posterior distribution of the acceleration prediction value is obtained according to the measurement data and the prior distribution, so as to obtain an estimated vector of the system state quantity according to the posterior distribution of the acceleration prediction value.

2. The method according to claim 1, characterized in that Before inputting the characteristic data into a preset neural network model to obtain the torque value of each joint of the target robot, the method further includes: Build the initial neural network architecture; Initialize the weights and biases of each layer of the neural network architecture, calculate the weighted sum of each layer of the neural network architecture, apply an activation function to the weighted sum of each layer to obtain the output of each layer, until the output values ​​of all layers are obtained; Based on the output values ​​of all the layers and the preset loss function, the gradient of each layer of the neural network is calculated, and the weights and bias of each layer of the neural network are updated based on the gradient of each layer of the neural network, until the loss function converges or the number of iterations is greater than the preset number of iterations, thereby obtaining the preset neural network model.

3. The method according to claim 1, characterized in that The generating a point set according to the state vector at the previous moment and the covariance at the previous moment comprises: Based on a preset point set generation rule, a point set is generated according to the state vector at the previous moment and the covariance at the previous moment, wherein the preset point set generation rule is: Among them, χ (i) is the i-th sampling point, μ is the mean of the state vector at the previous moment, ∑ is the covariance of the state vector at the previous moment, and n is the state x k The dimension of , λ is the scaling factor.

4. The method according to claim 1, characterized in that: The step of performing a nonlinear transformation on the point set according to the state transfer equation to obtain an updated point set includes: The point set is input into a preset nonlinear system model to obtain an updated point set, wherein a noise condition is added to the preset nonlinear system model, and the preset nonlinear system model is: Among them, x k+1 is the state vector at the next moment, f(x k ,u k ) is the state transformation function, w k and v k is a Gaussian white noise process, z k is the measured value, h(x k ) is the nonlinear observation function, N is the Gaussian distribution, Q is the process noise covariance matrix at time k, and R is the observation noise.

5. The method according to claim 1, characterized in that The step of performing a weighted transformation on the updated point set to obtain a new point set, and calculating the prior distribution of the acceleration prediction value according to the new point set, comprises: The weighted mean and variance of the state function are weighted to obtain the weighted mean of the system state quantity at the target time and the weighted covariance matrix of the system state quantity at the target time, where the weighted mean of the system state quantity at the target time and the weighted covariance matrix of the system state quantity at the target time are respectively: The prior distribution is N(μZ k ,∑Z k ),in, in, is the weighted mean of the system state quantity at time k, is the weighted covariance matrix of the system state at time k, is the mean weight coefficient, is the covariance weight coefficient, is the generated point set, Q is the process noise covariance matrix at time k, is the actual observation value of the i-th sampling point at time k, is the nonlinear observation function, ∑Z k is the covariance of the prior distribution, and R is the observation noise.

6. The method according to claim 1, characterized in that The posterior distribution is N(x k ,P k ),in, K=∑X k WITH k ∑Z k -1 ; Among them, ∑X k Z k is the weighted covariance matrix of state variables and measurements, N is the number of sampling points, is the covariance weight coefficient, is the generated point set, is the weighted mean of the system state quantity at time k, is the actual observed value of the i-th sampling point at time k, μZ k is the mean of the prior distribution, ∑Z k -1 is the prior distribution covariance ∑Z k The inverse matrix of , μ is the mean of the state vector at the previous moment, is the weighted covariance matrix of the system state at time k, K is the Kalman gain matrix, x k is the estimated vector of the updated system state quantity.

7. A robot acceleration estimation device, characterized in that: include: An acquisition module is used to acquire the motion model of the target robot; A prediction module, used to establish a state transfer equation and an observation equation according to the motion model, and obtain characteristic data of the target robot, input the characteristic data into a preset neural network model to obtain the torque value of each joint of the target robot, and determine the acceleration prediction value according to the torque value of each joint of the target robot; A calculation module, used to obtain the state vector and the covariance of the previous moment, generate a point set according to the state vector and the covariance of the previous moment, perform a nonlinear transformation on the point set according to the state transfer equation to obtain an updated point set, perform a weighted transformation on the updated point set to obtain a new point set, and calculate the prior distribution of the acceleration prediction value according to the new point set; The estimation module is used to obtain the measurement data of the motion model, obtain the posterior distribution of the acceleration prediction value according to the measurement data and the prior distribution, and obtain the estimation vector of the system state quantity according to the posterior distribution of the acceleration prediction value.

8. The device according to claim 7, characterized in that Before inputting the characteristic data into a preset neural network model to obtain the torque value of each joint of the target robot, the prediction module further includes: Building blocks, used to construct the initial neural network architecture; A computing unit, used to initialize the weights and biases of each layer of the neural network architecture, and to calculate the weighted sum of each layer of the neural network architecture, and to apply an activation function to the weighted sum of each layer to obtain the output of each layer, until the output values ​​of all layers are obtained; The first generating unit is used to calculate the gradient of each layer of the neural network based on the output values ​​of all the layers and a preset loss function, and update the weight and bias of each layer of the neural network based on the gradient of each layer of the neural network until the loss function converges or the number of iterations is greater than a preset number of iterations, thereby obtaining the preset neural network model.

9. An electronic device, characterized in that: include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the acceleration estimation method for a robot as described in any one of claims 1 to 6.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: The program is executed by a processor to implement the acceleration estimation method of a robot as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Robot dynamics modeling method based on deep learning

    CN108621159A

  • Sensor layout method for monitoring operation state of industrial robot

    CN111546379A

  • Pose estimation method of mobile robot and computer readable storage medium

    CN112815939A

  • Human body posture estimation method based on neural network and Kalman filtering

    CN114973417A

  • Interactive multi-model system state estimation method in non-Gaussian nonlinear environment

    CN116050145A