Acceleration estimation method and device of robot, electronic equipment and storage medium

By establishing a robot motion model and combining neural networks with the Kalman filter algorithm, the problem of state estimation under the influence of sensor noise was solved, achieving high-precision acceleration estimation and improving the performance and reliability of the robot system.

CN119474653BActive Publication Date: 2025-12-09WUHAN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Sensor noise makes it difficult to achieve high-precision state estimation in robot motion control and navigation, thus affecting robot performance.

Method used

By acquiring the robot's motion model, state transition equations and observation equations are established. A neural network model is used to estimate joint torque values, and a Kalman filter algorithm is combined to predict acceleration and calculate posterior distribution, thus suppressing the influence of noise.

Benefits of technology

It improves the accuracy and stability of acceleration estimation, enhances the robot's navigation and control capabilities in dynamic environments, and optimizes system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119474653B_ABST
    Figure CN119474653B_ABST
Patent Text Reader

Abstract

The application discloses a robot acceleration estimation method and device, electronic equipment and storage medium, wherein the method comprises the following steps: establishing a state transition equation and an observation equation according to a motion model; inputting feature data of a target robot into a preset neural network model to obtain torque values of each joint of the target robot, and determining an acceleration prediction value; generating a point set according to a state vector at a previous moment and a covariance at the previous moment; performing nonlinear transformation on the point set according to the state transition equation to obtain an updated point set; performing weighted transformation on the updated point set to obtain a new point set; calculating a prior distribution of the acceleration prediction value; obtaining measurement data of the motion model; obtaining a posterior distribution of the acceleration prediction value according to the measurement data and the prior distribution; and obtaining an estimation vector of a system state quantity. Thus, the problem that it is difficult to obtain high-precision state estimation in a noise and interference environment 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 technical field of robots, and in particular to an acceleration estimation method and device for robots, an electronic device, and a storage medium. BACKGROUND

[0002] Due to the noise of sensors, the sensors are difficult to provide accurate measurement and tracking data. In a complex environment, the motion control and navigation of a robot are crucial, so that the accurate estimation of the acceleration of the robot in a simulation environment is increasingly important.

[0003] When performing simulation experiments in a simulation environment, the measurement of acceleration values plays an important role. In the control and path planning of a robot, accurate acceleration measurement can obtain more reliable information of the position, velocity, and attitude of the robot, and through a feedback control algorithm, each joint of the robot can be controlled and the body attitude and motion state of the robot can be adjusted in a timely manner. This control mode requires high real-time performance and response speed, thereby providing more accurate reference data for the control and path planning of the robot.

[0004] In summary, 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. In order to improve the state estimation accuracy of the robot in a simulation environment, a method capable of effectively processing sensor data noise is urgently needed. SUMMARY

[0005] The present application provides an acceleration estimation method and device for robots, an electronic device, and a 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 noise and interference environment, thereby affecting the performance of the robot, and can effectively suppress noise, improve the accuracy and stability of acceleration estimation, and thereby improve the performance and reliability of the robot system.

[0006] An acceleration estimation method for a robot is provided in an embodiment of the first aspect of the present application, comprising the following steps:

[0007] Obtaining a motion model of a target robot;

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

[0009] Obtain the state vector and covariance of the previous time step, generate a point set based on the state vector and covariance of the previous time step, perform a nonlinear transformation on the point set according to the state transition 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 based on the new point set.

[0010] The measurement data of the motion model is obtained, and the posterior distribution of the acceleration prediction value is obtained based on the measurement data and the prior distribution, so as to obtain the estimation vector of the system state variables based on the posterior distribution of the acceleration prediction value.

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

[0012] Construct 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 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;

[0014] Based on the output values ​​of all layers and the preset loss function, the gradient of each layer of the neural network is calculated, and the weights and biases 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, thus obtaining the preset neural network model.

[0015] Optionally, in some embodiments, generating a point set based on the state vector of the previous time step and the covariance of the previous time step includes:

[0016] Based on a preset point set generation rule, a point set is generated according to the state vector of the previous time step and the covariance of the previous time step. The preset point set generation rule is as follows:

[0017] ;

[0018] in, For the i-th sampling point, The mean of the state vector at the previous time step. Let covariance be the state vector of the previous time step. For state Dimensions This is the scaling factor.

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

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

[0021] , ;

[0022] in, This is the state vector for the next time step. For state transition functions, and This is a Gaussian white noise process. For measured values, For nonlinear observation functions, It follows a Gaussian distribution. Let k be the process noise covariance matrix at time k. To observe noise.

[0023] Optionally, in some embodiments, 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 values ​​based on the new point set, includes:

[0024] By weighting the mean and variance of the state function, we obtain the weighted mean and weighted covariance matrix of the system state variables at the target time. The weighted mean and weighted covariance matrix of the system state variables at the target time are as follows:

[0025] ;

[0026] ;

[0027] The prior distribution is ,in,

[0028] ;

[0029] ;

[0030] in, for The weighted average of the system state variables at time t. for The weighted covariance matrix of the system state variables at time t. The mean weighting coefficient is used. The covariance weighting coefficients are... For the generated point set, is a process noise covariance matrix at time k, is an actual observation value of the i th sampling point at time k, is a nonlinear observation function, is a covariance of a prior distribution, is an observation noise.

[0031] Optionally, in some embodiments, the posterior distribution is wherein,

[0032]

[0033]

[0034]

[0035]

[0036] wherein, is a weighted covariance matrix of state quantities and measurement values, is a number of sampling points, is a covariance weight coefficient, is a generated point set, is a weighted mean value of system state quantities at time k, is an actual observation value of the i th sampling point at time k, is a mean value of a prior distribution, is a covariance of a prior distribution an inverse matrix of the covariance, is a mean value of a state vector at a previous time, is a weighted covariance matrix of system state quantities at time k, is a Kalman gain matrix, is an estimated vector of updated system state quantities.

[0037] The second aspect embodiment of the present application provides an acceleration estimation device of a robot, comprising:

[0038] an acquisition module configured to acquire a motion model of a target robot;

[0039] a prediction module configured to establish a state transition equation and an observation equation according to the motion model, acquire feature data of the target robot, input the feature data into a preset neural network model to obtain torque values of each joint of the target robot, and determine an acceleration prediction value according to the torque values of each joint of the target robot;

[0040] ​​​​The computing module is configured to obtain a state vector of a previous time and a covariance of the previous time, generate a point set according to the state vector of the previous time and the covariance of the previous time, perform nonlinear transformation on the point set according to the state transition equation to obtain an updated point set, perform weighted transformation on the updated point set to obtain a new point set, and calculate a prior distribution of the acceleration prediction value according to the new point set.

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

[0042] Optionally, in some embodiments, before the feature data is input into the preset neural network model to obtain the torque value of each joint of the target robot, the prediction module further comprises:

[0043] The constructing unit is configured to construct an initial neural network architecture.

[0044] The computing unit is configured to initialize weights and biases of each layer of the neural network architecture, calculate weighted sums of each layer of the neural network architecture, apply an activation function to the weighted sum of each layer to obtain an output of each layer, and obtain output values of all layers.

[0045] The generating unit is configured to calculate gradients of each layer of the neural network based on the output values of all layers and a preset loss function, update the weights and biases of each layer of the neural network based on the gradients of each layer of the neural network, and obtain the preset neural network model until the loss function converges or the number of iterations is greater than a preset number of iterations.

[0046] Optionally, in some embodiments, the computing module comprises:

[0047] The second generating unit is configured to generate a point set according to the state vector of the previous time and the covariance of the previous time based on a preset point set generation rule, wherein the preset point set generation rule is:

[0048] ;

[0049] wherein, is the i th sampling point, is a mean value of a state vector of a previous time, is a covariance of the state vector of the previous time, is a dimension of a state is a scaling coefficient.

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

[0051] An update unit is used to input the point set into a preset nonlinear system model to obtain an updated point set, wherein noise conditions are added to the preset nonlinear system model, and the preset nonlinear system model is:

[0052] , ;

[0053] in, This is the state vector for the next time step. For state transition functions, and This is a Gaussian white noise process. For measured values, For nonlinear observation functions, It follows a Gaussian distribution. Let k be the process noise covariance matrix at time k. To observe noise.

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

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

[0056] ;

[0057] ;

[0058] The prior distribution is ,in,

[0059] ;

[0060] ;

[0061] in, for The weighted average of the system state variables at time t. for The weighted covariance matrix of the system state variables at time t. The mean weighting coefficient is used. The covariance weighting coefficients are... For the generated point set, Let k be the process noise covariance matrix at time k. Let i be the actual observed value of the i-th sampling point at time k. is a nonlinear observation function, is a covariance of the prior distribution, is an observation noise.

[0062] Optionally, in some embodiments, the posterior distribution is wherein,

[0063] ;

[0064] ;

[0065] ;

[0066] ;

[0067] wherein, is a weighted covariance matrix of state quantities and measurement values, is a number of sampling points, is a covariance weight coefficient, is a generated point set, is a weighted mean of system state quantities at a moment, is an actual observation value of the i th sampling point at the k th moment, is a mean of the prior distribution, is a covariance of the prior distribution an inverse matrix of the covariance, is a mean of a state vector at a previous moment, is a weighted covariance matrix of system state quantities at the k th moment, is a Kalman gain matrix, is an estimated vector of the updated system state quantities.

[0068] A 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 acceleration estimation method of the robot as described in the above embodiments.

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

[0070] Therefore, the present application has at least the following beneficial effects:

[0071] (1) The present application can effectively suppress noise and improve the accuracy and stability of estimation by combining a prediction model and measurement data.

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

[0073] Additional aspects and advantages of the application will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following and / or can be learned by practice of the application. BRIEF DESCRIPTION OF DRAWINGS

[0074] The above and / or additional aspects and advantages of the application will become apparent and be more readily understood through reference to the following description, taken in conjunction with the accompanying drawings, wherein:

[0075] Figure 1 A flowchart of a robot acceleration estimation method according to an embodiment of the application;

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

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

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

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

[0080] Figure 6 A schematic diagram of a robot acceleration estimation method according to an embodiment of the application;

[0081] Figure 7 A block diagram of a robot acceleration estimation device according to an embodiment of the application;

[0082] Figure 8 A schematic diagram of an electronic device according to an embodiment of the application. DETAILED DESCRIPTION

[0083] Embodiments of the application are described in detail below with reference to the attached drawing figures, wherein the same or like reference numerals are used throughout the drawing figures to refer to the same or like elements or elements having the same or similar functionality. The embodiments described below are exemplary and are intended to be illustrative of the application, and are not to be construed as limiting the application.

[0084] An acceleration estimation method of a robot, a device, an electronic device, and a storage medium are described below with reference to the accompanying drawings. In order 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 disturbed environment, thereby affecting the performance of the robot, the present application provides an acceleration estimation method of a robot. In the method, a motion model of a target robot is obtained, a state transition equation and an observation equation are established according to the motion model, feature data of the target robot is obtained, the feature data is input into a preset neural network model to obtain torque values of each joint of the target robot, and an acceleration prediction value is determined according to the torque values of each joint of the target robot. The state vector at the last time and the covariance at the last time are obtained, a point set is generated according to the state vector at the last time and the covariance at the last time, the point set is nonlinearly transformed according to the state transition equation to obtain an updated point set, the updated point set is weighted and transformed to obtain a new point set, the prior distribution of the acceleration prediction value is calculated according to the new point set, the measurement data of the motion model is obtained, the posterior distribution of the acceleration prediction value is obtained according to the measurement data and the prior distribution, and the estimation vector of the system state quantity is obtained 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 noisy and disturbed environment, thereby affecting the performance of the robot, is solved, the noise can be effectively suppressed, the accuracy and stability of the acceleration estimation are improved, and the performance and reliability of the robot system are improved.

[0085] Specifically, Figure 1 A flowchart of an acceleration estimation method of a robot provided by an embodiment of the present application is shown in FIG. 1.

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

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

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

[0089] The preset neural network model can be an MLP (Multilayer Perceptron network).

[0090] Specifically, in combination with Figure 2As shown, the embodiments of the present application can establish state transition and observation equations according to the motion model of the robot and the corresponding sensor type and quantity. The feature data of the input of the MLP network can include the current state of the robot and possible environmental information, for example, the feature data includes joint angle, joint speed, base position and attitude, base linear velocity and angular velocity, 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.

[0091] In combination with Figure 3 and Figure 4 As shown, the initial inertia force and angle of the target robot IMU in the simulation environment are determined, and the initial acceleration value is obtained by using Newton's second law , the error covariance matrix initial value is determined .

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

[0093] Optionally, in some embodiments, before the feature data is input into the preset neural network model to obtain the torque value of each joint of the target robot, it further includes: constructing an initial neural network architecture; initializing the weight and bias 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; based on the output values of all layers and the preset loss function, calculate the gradient of each layer of the neural network, 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 the preset number of iterations, to obtain the preset neural network model.

[0094] The embodiments of the present application can define a feedforward neural network MLP, initialize the weight and bias of the network, and perform the following steps on the training sample: forward propagation, calculate the network output; calculate the loss function; backward propagation, calculate the gradient; update the weight and bias. Until the loss function converges or the maximum number of iterations is reached, the training stops.

[0095] Specifically, in combination with Figure 5 As shown, the embodiments of the present application can construct a preset neural network model by the following steps.

[0096] Step 1: Construct the MLP network architecture.

[0097] The input layer receives input data, with each input node corresponding to a feature. Three hidden layers are used to extract the features of the input data. The output layer produces the final output, with each output node corresponding to an output category or regression value.

[0098] Step 2: Calculate the MLP output.

[0099] Initialize the weights and biases of each layer, and calculate the weighted sum of each layer. For the l-th layer and the j-th neuron, the formula for calculating the weighted sum is as follows:

[0100] ;

[0101] in, It is the first Layer The weighted sum of neurons, It is the first Layer The first neuron and the second -1st floor The weights between neurons It is the first -1st floor The output of each neuron It is the first Layer Bias of each neuron The number of layers in the neural network. This is the current layer of the neural network.

[0102] Applying the activation function to the weighted sum, we obtain the output, as shown in the following formula:

[0103] ;

[0104] in, For the first Layer neuron output.

[0105] Repeatedly calculate the weighted sum and apply the activation function for each layer until the output of the output layer is calculated.

[0106] Step 3: Calculate the loss function.

[0107] The loss function is used to measure the difference between the MLP output and the true value. It is calculated using the mean squared error, and the formula is as follows:

[0108] ;

[0109] in, It is a sample The true value, It is a sample The predicted value, Total number of samples used to compute the mean squared error, Mean squared error value.

[0110] Step 4: Backpropagation: Compute gradients and update weights and biases.

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

[0112]

[0113] where, is the error of the jth neuron in the lth layer, is the derivative of the activation function. 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 computed as follows:

[0114]

[0115] where, is the error of the jth neuron in the lth layer,

[0116] is the error of the jth neuron in the lth layer, is the weight between the jth neuron in the lth layer and the jth neuron in the lth layer.

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

[0118] ;

[0119] ;

[0120] where, is the learning rate.

[0121] In step S103, the state vector at the previous time and the covariance at the previous time are obtained, a point set is generated according to the state vector at the previous time and the covariance at the previous time, the point set is nonlinearly transformed according to a state transition equation to obtain an updated point set, the updated point set is weightedly transformed to obtain a new point set, and a prior distribution of an acceleration prediction value is calculated according to the new point set.

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

[0123] ​​​​​​​

[0124]

[0125] in, The initial value of the coordinate system state vector. Let x be the acceleration in the x-axis direction. Let be the acceleration in the y-axis direction. Let z be the acceleration in the z-axis direction. Here are the initial values ​​for the error covariance matrix.

[0126] This application also requires adding noise conditions to the nonlinear system model.

[0127] For example, a nonlinear system model under additivity noise conditions, where all processes are Gaussian white noise, can be represented as:

[0128] ,

[0129] Specifically, in this embodiment, the acceleration value is updated based on the prior value of the target acceleration from the previous moment. Time state and covariance , ,calculate Prior states and covariance at time t. , Solve this problem. When estimating the target's acceleration vector at time step, for Sampling of the elements, mean, and covariance of the system acceleration vector at time t is used to generate a sigma point set with N sampling points. .

[0130] In actual execution, based on the system state vector Covariance This generates a set of N = 2n + 1 sampling points. Let the system state be... With dimension n, using a proportional unscented transformation model, in the distribution The rules for generating N sigma points are as follows:

[0131]

[0132] in, The operation represents the first step of the lower triangular matrix after performing the Cholesky decomposition on matrix A. Column vector. Set parameter α. , For Gaussian models, the general choice is... , , satisfy The scaling factor can be obtained. Then the mean weighting coefficients and covariance weighting coefficients of the N sigma points are respectively:

[0133] ;

[0134] ;

[0135] The above formula describes the detailed steps of generating sigma sampling points from the state mean vector and covariance matrix. It 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.

[0136] Based on the state equation for the point set A nonlinear transformation is performed to obtain a new set of points: In the formula, yes The system state vector after the state update at time step 1. yes System process noise at any given time, This is the state transition function. We obtain the state function by weighting its mean and variance. System state variables at any time The weighted mean and weighted covariance matrix :

[0137] ;

[0138] ;

[0139] In the formula, Let the system acceleration mean vector be composed of weighted averages. Let k be the process noise covariance matrix at time k. For the first The weights of each sampling point.

[0140] right After the system state variables are transformed at each time step, the point set... Perform a weighted transformation to obtain a new set of points. ,in This is a nonlinear observation function. Calculation prior distribution The formulas for calculating each element are as follows:

[0141] ;

[0142] ;

[0143] in, for a weighted mean of the system state quantity at time k, a weighted covariance matrix of the system state quantity at time k, is a mean weight coefficient, is a covariance weight coefficient, is a generated point set, is a process noise covariance matrix at time k, is an actual observation value of the i th sampling point at time k, is a nonlinear observation function, is a covariance of a prior distribution, is observation noise.

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

[0145] Specifically, the system state quantity is updated by using the vector The mean matrix and the covariance matrix of the state quantity are updated, and it is known that the measurement at time k Next, the posterior distribution of the acceleration prediction value at time k is calculated by using the posterior distribution of the acceleration prediction value at time k The calculation formula of each element is as follows:

[0146] ;

[0147] ;

[0148] ;

[0149] ;

[0150] wherein, is an actual measurement vector obtained by measurement of an IMU sensor, and R is measurement noise; is a weighted covariance matrix of the measurement value; is a weighted covariance matrix of the state quantity and the measurement value; and K is a Kalman gain matrix; is an estimation vector of the updated system state quantity; is an estimation covariance matrix of the updated system state quantity.

[0151] Therefore, the posterior distribution of the acceleration prediction value is calculated, and the estimation vector of the updated system state quantity is obtained.

[0152] In summary, in combination with Figure 6 ​​​The embodiment of the application is a method for estimating the current acceleration of a robot based on a Kalman filtering algorithm, according to the force measured by an inertial unit and the predicted value of joint torque estimated by a preset neural network, and the estimation of the current acceleration is realized through the following steps.

[0153] Step 1: According to the motion model of the robot and the corresponding sensor type and number, the state transition and observation equations are established.

[0154] 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 error covariance matrix initial value.

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

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

[0157] Step 5: According to the target acceleration prior value at the last moment, update the acceleration value. Sample the elements in the system acceleration vector at the last moment and their mean and covariance to generate a point set.

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

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

[0160] Step 8: Calculate the posterior distribution of the acceleration prediction value to obtain the estimation vector of the updated system state quantity

[0161] Therefore, the embodiment of the application can significantly improve the estimation accuracy and stability of the motion state, enhance the navigation and control ability of the robot 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 optimize various control algorithms and sensor fusion technologies through accurate acceleration estimation. The acceleration estimation in the simulation environment can also significantly improve the simulation accuracy and the efficiency of algorithm development.

[0162] According to the acceleration estimation method of the robot provided in the embodiment of the present application, the motion model of the target robot is obtained, the state transition equation and the observation equation are established according to the motion model, the feature data of the target robot is obtained, the feature data is input into a preset neural network model to obtain the torque values of each joint of the target robot, and the acceleration prediction value is determined according to the torque values of each joint of the target robot. The state vector at the last moment and the covariance at the last moment are obtained, the point set is generated according to the state vector at the last moment and the covariance at the last moment, the point set is nonlinearly transformed according to the state transition equation to obtain the updated point set, the updated point set is weightedly transformed to obtain the new point set, the prior distribution of the acceleration prediction value is calculated according to the new point set, the measurement data of the motion model is obtained, the posterior distribution of the acceleration prediction value is obtained according to the measurement data and the prior distribution, and the estimation vector of the system state quantity is obtained according to the posterior distribution of the acceleration prediction value. Therefore, 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, noise can be effectively suppressed, the accuracy and stability of the acceleration estimation are improved, and the performance and reliability of the robot system are improved.

[0163] Secondly, the acceleration estimation device of the robot according to the embodiment of the present application is described with reference to the accompanying drawings.

[0164] Figure 7 FIG. 1 is a block schematic diagram of the acceleration estimation device of the robot according to the embodiment of the present application.

[0165] As shown in FIG. 1, the acceleration estimation device 10 of the robot includes an obtaining module 100, a prediction module 200, a calculation module 300 and an estimation module 400. Figure 7

[0166] The obtaining module 100 is configured to obtain the motion model of the target robot.

[0167] The prediction module 200 is configured to establish the state transition equation and the observation equation according to the motion model, obtain the feature data of the target robot, input the feature data into a preset neural network model to obtain the torque values of each joint of the target robot, and determine the acceleration prediction value according to the torque values of each joint of the target robot.

[0168] The calculation module 300 is configured to obtain the state vector at the last moment and the covariance at the last moment, generate the point set according to the state vector at the last moment and the covariance at the last moment, nonlinearly transform the point set according to the state transition equation to obtain the updated point set, weightly transform the updated point set to obtain the new point set, and calculate the prior distribution of the acceleration prediction value according to the new point set.

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

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

[0171] The construction unit is configured to construct an initial neural network architecture.

[0172] The calculation unit is configured to initialize weights and biases of each layer of the neural network architecture, calculate a weighted sum of each layer of the neural network architecture, apply an activation function to the weighted sum of each layer to obtain an output of each layer, and obtain output values of all layers until the output values of all layers are obtained.

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

[0174] Optionally, in some embodiments, the calculation module 300 comprises a second generation unit.

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

[0176] ;

[0177] wherein, is the i th sampling point, is a mean value of the state vector at the previous moment, is a covariance of the state vector at the previous moment, is a dimension of the state is a scaling coefficient.

[0178] Optionally, in some embodiments, the calculation module 300 comprises an update unit.

[0179] The update unit is configured 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:

[0180] , ;​

[0181] in, This is the state vector for the next time step. For state transition functions, and This is a Gaussian white noise process. For measured values, For nonlinear observation functions, It follows a Gaussian distribution. Let k be the process noise covariance matrix at time k. To observe noise.

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

[0183] The processing unit is used to perform weighted processing on the mean and variance of the state function to obtain the weighted mean and weighted covariance matrix of the system state variables at the target time. The weighted mean and weighted covariance matrix of the system state variables at the target time are as follows:

[0184] ;

[0185] ;

[0186] The prior distribution is ,in,

[0187] ;

[0188] ;

[0189] in, for The weighted average of the system state variables at time t. for The weighted covariance matrix of the system state variables at time t. The mean weighting coefficient is used. The covariance weighting coefficients are... For the generated point set, Let k be the process noise covariance matrix at time k. Let i be the actual observed value of the i-th sampling point at time k. For nonlinear observation functions, Let covariance be the prior distribution. To observe noise.

[0190] Optionally, in some embodiments, the posterior distribution is ,in,

[0191] ;

[0192] ;

[0193] ;

[0194] ;

[0195] wherein, is a weighted covariance matrix of state variables and measurement values, is a number of sampling points, is a covariance weight coefficient, is a generated point set, is a weighted mean value of system state variables at the moment, is an actual observation value of the i th sampling point at the k th moment, is a mean value of a prior distribution, is a prior distribution covariance inverse matrix, is a mean value of a state vector at the previous moment, is a weighted covariance matrix of system state variables at the k th moment, is a Kalman gain matrix, is an estimated vector of the updated system state variables.

[0196] It should be noted that the aforementioned explanation of the acceleration estimation method embodiment of the robot also applies to the acceleration estimation device of the robot of this embodiment, which will not be repeated here.

[0197] According to the acceleration estimation device of the robot provided in the embodiments of the present application, the motion model of the target robot is obtained, the state transition equation and the observation equation are established according to the motion model, the characteristic data of the target robot is obtained, the characteristic data is input into the preset neural network model to obtain the torque values of each joint of the target robot, the acceleration prediction value is determined according to the torque values of each joint of the target robot, the state vector at the previous moment and the covariance at the previous moment are obtained, the point set is generated according to the state vector at the previous moment and the covariance at the previous moment, the point set is nonlinearly transformed according to the state transition equation to obtain the updated point set, the updated point set is weightedly transformed to obtain a new point set, the prior distribution of the acceleration prediction value is calculated according to the new point set, the measurement data of the motion model is obtained, the posterior distribution of the acceleration prediction value is obtained according to the measurement data and the prior distribution, and the estimated vector of the system state variables is obtained according to the posterior distribution of the acceleration prediction value. Therefore, 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, the noise can be effectively suppressed, the accuracy and stability of the acceleration estimation are improved, and the performance and reliability of the robot system are improved.

[0198] Figure 8 A structural schematic diagram of an electronic device is provided for the embodiments of the present application. The electronic device can include:

[0199] The memory 801, the processor 802 and the computer program stored in the memory 801 and executable on the processor 802.

[0200] The processor 802 implements the acceleration estimation method of the robot provided in the above embodiments when executing the program.

[0201] Further, the electronic device further includes:

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

[0203] The memory 801 is used for storing the computer program executable on the processor 802.

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

[0205] If the memory 801, the processor 802 and the communication interface 803 are independently implemented, the communication interface 803, the memory 801 and the processor 802 can be connected to each other through a bus and complete communication between each other. The bus can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component) 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 the convenience of representation, Figure 8 Only one thick line is used in the middle, but it does not mean that there is only one bus or one type of bus.

[0206] Optionally, in 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 complete communication between each other through an internal interface.

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

[0208] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the above-described robot acceleration estimation method.

[0209] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.

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

[0211] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more N executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of this application pertain.

[0212] It should be understood that portions of the application can be implemented in hardware, software, firmware, or combinations thereof. In the above embodiments, the N steps or methods can be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. As such, if implemented in hardware, and in another embodiment, any of the following technologies, known in the art, or their combinations, can be used to implement: discrete logic circuitry having logic gates for implementing logic functions on data signals, application specific integrated circuits having appropriate combinational logic gates, programmable gate arrays, field programmable gate arrays, etc.

[0213] Those skilled in the art of the present technology can understand that all or part of the steps carried out by the above-mentioned embodiment methods can be completed by programs instructing related hardware, and the programs can be stored in a computer readable storage medium. When the program is executed, it includes one of the steps of the method embodiment or a combination thereof.

[0214] Although the embodiments of the present application have been shown and described above, it should be understood that the above-mentioned embodiments are exemplary and cannot be understood as limiting the present application, and those skilled in the art can make changes, modifications, replacements and variations to the above-mentioned embodiments within the scope of the present application.

Claims

1. An acceleration estimation method of a robot, characterized by, The method comprises the following steps: obtaining a motion model of a target robot; establishing a state transition equation and an observation equation according to the motion model, and obtaining feature data of the target robot, inputting the feature data into a preset neural network model to obtain torque values of each joint of the target robot, and determining an acceleration prediction value according to the torque values of each joint of the target robot; obtaining a state vector at a previous time and a covariance at the previous time, generating a point set according to the state vector at the previous time and the covariance at the previous time, performing nonlinear transformation on the point set according to the state transition equation to obtain an updated point set, performing 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; obtaining measurement data of the motion model, obtaining a posterior distribution of the acceleration prediction value according to the measurement data and the prior distribution, and obtaining an estimation vector of a system state quantity according to the posterior distribution of the acceleration prediction value, the weighted transformation on the updated point set to obtain the new point set and the calculation of the prior distribution of the acceleration prediction value according to the new point set comprise: performing weighted processing on a state function mean value and a variance to obtain a weighted mean value of a target time system state quantity and a weighted covariance matrix of the target time system state quantity, wherein the weighted mean value of the target time system state quantity and the weighted covariance matrix of the target time system state quantity are respectively: ; ; The prior distribution is wherein, ; ; wherein, is a weighted mean of the system state quantity at time k, is a weighted covariance matrix of the system state quantity at time k, is a mean weight coefficient, is a covariance weight coefficient, is a generated point set, is a process noise covariance matrix at time k, is an actual observation value of the i-th sampling point at time k, is a nonlinear observation function, is a covariance of the prior distribution, is observation noise, is a mean of the prior distribution, is a number of sampling points; The posterior distribution is wherein, ; ; ; ; wherein, is a weighted covariance matrix of state variables and measurement values, is the number of sampling points, is a covariance weight coefficient, is a generated point set, is is a weighted mean of system state variables at the moment, is an actual observation value of the i-th sampling point at the k moment, is a mean value of a prior distribution, is a prior distribution covariance is an inverse matrix of the prior distribution covariance, is a mean value of a state vector at the previous moment, is a weighted covariance matrix of system state variables at the k moment, is a Kalman gain matrix, is an estimated vector of updated system state variables, is an estimated covariance matrix of updated system state variables, and the feature data includes joint angles, joint speeds, base positions and attitudes, base linear speeds and angular speeds, terrain information, and external force sensors.

2. The method of claim 1, wherein, before the feature data is input into the preset neural network model to obtain the torque values of each joint of the target robot, the method further comprises: constructing an initial neural network architecture; initializing weights and biases of each layer of the neural network architecture, calculating weighted sums of each layer of the neural network architecture, applying an activation function to the weighted sums of each layer to obtain an output of each layer, and obtaining output values of all layers until the output values of all layers are obtained; based on the output values of all layers and a preset loss function, calculating gradients of each layer of the neural network, updating the weights and biases of each layer of the neural network based on the gradients of each layer of the neural network, and obtaining the preset neural network model until the loss function converges or the number of iterations is greater than a preset number of iterations.

3. The method of claim 1, wherein, the generation of the point set according to the state vector at the previous time and the covariance at the previous time comprises: generating the point set according to the state vector at the previous time and the covariance at the previous time based on a preset point set generation rule, wherein the preset point set generation rule is: ; in, For the i-th sampling point, The mean of the state vector at the previous time step. Let covariance be the state vector of the previous time step. State vector Dimensions This is the scaling factor.

4. The method of claim 1, wherein, the nonlinear transformation of the point set according to the state transition equation to obtain the updated point set comprises: inputting the point set into a preset nonlinear system model to obtain the updated point set, wherein a noise condition is added to the preset nonlinear system model, and the preset nonlinear system model is: , ; wherein, is the state vector at the next time instant, is the state transition function, and is a Gaussian white noise process, is the measurement, is a nonlinear observation function, is a Gaussian distribution, is the process noise covariance matrix at time k, is the observation noise.

5. An acceleration estimation device of a robot characterized by comprising: comprise: an obtaining module configured to obtain a motion model of a target robot; The prediction module is configured to establish a state transition equation and an observation equation according to the motion model, obtain feature data of the target robot, input the feature data into a preset neural network model to obtain torque values of joints of the target robot, and determine an acceleration prediction value according to the torque values of the joints of the target robot. The calculation module is configured to obtain a state vector at a previous time and a covariance at the previous time, generate a point set according to the state vector at the previous time and the covariance at the previous time, perform nonlinear transformation on the point set according to the state transition equation to obtain an updated point set, perform weighted transformation on the updated point set to obtain a new point set, and calculate a prior distribution of the acceleration prediction value according to the new point set. The estimation module is configured to obtain measurement data of the motion model, obtain a posterior distribution of the acceleration prediction value according to the measurement data and the prior distribution, and obtain an estimation vector of a system state quantity according to the posterior distribution of the acceleration prediction value. The calculation module includes a processing unit configured to perform weighted processing on a mean value and a variance of a state function to obtain a weighted mean value of a system state quantity at a target time and a weighted covariance matrix of the system state quantity at the target time, wherein the weighted mean value 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 wherein, ; ; wherein is a weighted mean of the system state quantity at time k, is a weighted covariance matrix of the system state quantity at time k, is a mean weight coefficient, is a covariance weight coefficient, is a generated point set, is a process noise covariance matrix at time k, is an actual observation value of the i-th sampling point at time k, is a nonlinear observation function, is a covariance of the prior distribution, is an observation noise, is a mean of the prior distribution; The posterior distribution is wherein, ; ; ; ; wherein, is a weighted covariance matrix of state variables and measurement values, is the number of sampling points, is a covariance weight coefficient, is a generated point set, is is a weighted mean of system state variables at time t, is an actual observation value of the i-th sampling point at time k, is a mean of a prior distribution, is a prior distribution covariance is an inverse matrix of the prior distribution covariance, is a mean of a state vector at the previous time, is a weighted covariance matrix of system state variables at time k, is a Kalman gain matrix, is an estimated vector of updated system state variables, is an estimated covariance matrix of updated system state variables, and the feature data includes joint angles, joint velocities, base positions and attitudes, base linear velocities and angular velocities, terrain information, and external force sensors.

6. The apparatus of claim 5, wherein, Before the feature data is input into the preset neural network model to obtain the torque values of the joints of the target robot, the prediction module further includes: A construction unit configured to construct an initial neural network architecture. A calculation unit configured to initialize weights and biases of each layer of the neural network architecture, calculate weighted sums of the each layer of the neural network architecture, apply an activation function to the weighted sums of the each layer to obtain an output of the each layer, and obtain output values of all layers until the output values of all layers are obtained. A first generation unit configured to calculate gradients of each layer of the neural network based on the output values of all layers and a preset loss function, update the weights and biases of each layer of the neural network based on the gradients of each layer of the neural network, and obtain the preset neural network model until the loss function converges or an iteration number is greater than a preset iteration number.

7. An electronic device, comprising: The computer program is executed by the processor to implement the acceleration estimation method of the robot according to any one of claims 1-4. The program is executed by the processor to implement the acceleration estimation method of the robot according to any one of claims 1-4.

8. A computer-readable storage medium having stored thereon a computer program, characterized in that, ​

Citation Information

Patent Citations

  • Industrial robot end load identification method and system based on neural network

    CN116834010A

  • Robot joint torque prediction method based on BP neural network and SG filtering

    CN118024248A