Robot torque control method and apparatus, computer-readable storage medium and robot

By generating joint acceleration and torque control quantities through the Riemann motion strategy, the problem of difficulty in robot torque control under the Riemann motion strategy framework is solved, and the stability and efficiency of robot torque control are improved.

WO2025189916A1PCT designated stage Publication Date: 2025-09-18UBTECH ROBOTICS CORP LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/143941
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-12
Filing Date
2024-12-30
Publication Date
2025-09-18

AI Technical Summary

Technical Problem

In most existing technologies, it is difficult to perform torque control of robots under the algorithm framework of Riemannian motion strategy.

Method used

Through motion generation based on the Riemann motion strategy, the joint acceleration control quantity is obtained, and the joint torque control quantity is determined using the preset control quantity mapping relationship to achieve torque control of the robot.

Benefits of technology

The robot's torque control is realized under the algorithm framework of Riemann motion strategy, which improves the stability and efficiency of the robot's motion control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024143941_18092025_PF_FP_ABST
    Figure CN2024143941_18092025_PF_FP_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of robots, and particularly relates to a robot torque control method and apparatus, a computer-readable storage medium and a robot. The method comprises: with respect to an overall target task of a robot, performing motion generation on the basis of Riemannian motion policies, so as to obtain a joint acceleration control amount at the current control moment; on the basis of a preset control amount mapping relationship and according to the joint acceleration control amount at the current control moment, determining a joint torque control amount at the current control moment, the control amount mapping relationship being a mapping relationship between joint acceleration control amounts and joint torque control amounts; and, according to the joint torque control amount at the current control moment, performing torque control on the robot, so as to execute the overall target task. The present application uses the preset control amount mapping relationship to convert position control of robots into torque control, so that torque control of robots can be achieved within the RMP algorithm framework.
Need to check novelty before this filing date? Find Prior Art

Description

Robot force control method, device, computer-readable storage medium, and robot

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on March 12, 2024, with application number 202410278625.8 and invention name “Robot force control method, device, computer-readable storage medium and robot”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application belongs to the field of robotics technology, and in particular relates to a robot force control method, device, computer-readable storage medium, and robot. Background Art

[0003] Motion generation methods based on Riemannian Motion Policies (RMPs) have been applied in recent years in a variety of fields, including robotic obstacle avoidance and self-avoidance, grasping, autonomous navigation, multi-machine system coordination, and vision and tactile servoing, due to their ability to conveniently integrate multi-task spatial motion planning and motion control while maintaining algorithmic timeliness and stability. However, existing technologies mostly focus on position control within the RMP algorithm framework, making torque control difficult. Technical issues

[0004] In view of this, the embodiments of the present application provide a robot force control method, device, computer-readable storage medium and robot to solve the problem that most of the existing technologies perform robot position control under the RMP algorithm framework, but find it difficult to perform robot torque control. Technical Solutions

[0005] A first aspect of an embodiment of the present application provides a robot force control method, which may include:

[0006] Perform motion generation based on the Riemannian motion strategy for the robot's overall target task and obtain the joint acceleration control value at the current control moment;

[0007] Based on a preset control amount mapping relationship, determining the joint torque control amount at the current control moment according to the joint acceleration control amount at the current control moment; wherein the control amount mapping relationship is a mapping relationship between the joint acceleration control amount and the joint torque control amount;

[0008] The robot is torque controlled according to the joint torque control amount at the current control moment to perform the overall target task.

[0009] In a specific implementation of the first aspect, determining the joint torque control amount at the current control moment according to the joint acceleration control amount at the current control moment based on a preset control amount mapping relationship may include:

[0010] Determining a joint torque mapping control amount corresponding to the joint acceleration control amount at the current control moment based on the control amount mapping relationship;

[0011] Determine the desired state of the configuration space at the current control moment based on the actual state of the configuration space and the joint torque control value at the previous control moment;

[0012] The joint torque control amount at the current control moment is determined according to the joint torque mapping control amount and the expected state amount of the configuration space at the current control moment.

[0013] In a specific implementation of the first aspect, determining the joint torque control amount at the current control moment based on the joint torque mapping control amount and the desired state amount of the configuration space at the current control moment may include:

[0014] Calculate the state quantity difference between the expected state quantity of the configuration space at the current control moment and the actual state quantity of the configuration space;

[0015] Proportional differential control is performed on the joint torque mapping control quantity according to the state quantity difference to obtain the joint torque control quantity at the current control moment.

[0016] In a specific implementation of the first aspect, the overall objective task includes hierarchical tasks of different priorities;

[0017] The process of performing motion generation based on the Riemannian motion strategy for the overall target task of the robot to obtain the joint acceleration control value at the current control moment may include:

[0018] In the motion generation process based on the Riemann motion strategy, the joint acceleration control quantities of the next-level task are projected into the null space of the previous-level task, so that the joint acceleration control quantities of each level task are solved in order from low to high priority.

[0019] In a specific implementation of the first aspect, projecting the joint acceleration control amount of the next-level task into the null space of the previous-level task to solve the joint acceleration control amounts of the tasks at each level in order from low to high priority may include:

[0020] Determine the Riemann motion strategy for each level of task based on the actual state quantity of the configuration space at the current control moment;

[0021] Determine the null space projection matrix of the second-level task and the joint acceleration control amount of the first-level task according to the Riemann motion strategy of the first-level task;

[0022] According to the Riemann motion strategy of the i-th level task, the null space projection matrix of the i-th level task and the joint acceleration control amount of the i-1-th level task, determine the null space projection matrix of the i+1-th level task and the joint acceleration control amount of the i-th level task until the joint acceleration control amount of the highest level task is obtained.

[0023] In a specific implementation of the first aspect, each hierarchical task includes at least one subtask, and each subtask includes at least one local subtask; and determining the Riemannian motion strategy for each hierarchical task based on the actual state quantity of the configuration space at the current control moment may include:

[0024] Determining the state quantity of each hierarchical task, the state quantity of each subtask, and the state quantity of each local subtask based on the actual state quantity of the configuration space at the current control moment and the kinematic model of the robot;

[0025] Determine the Riemann motion strategy of each local subtask according to the state quantity of each local subtask;

[0026] Determine the Riemann motion strategy for each subtask based on the state quantity and Riemann motion strategy of each local subtask;

[0027] According to the dynamic parameters of the robot, the state quantity of each subtask and the Riemann motion strategy, the Riemann motion strategy of each level task is determined respectively.

[0028] In a specific implementation of the first aspect, after performing torque control on the robot according to the joint torque control amount at the current control moment, the method may further include:

[0029] At each subsequent control moment, the torque control of the robot continues until the total number of preset time steps is reached.

[0030] A second aspect of the embodiments of the present application provides a robot force control device, which may include:

[0031] The motion generation module is used to generate motion for the robot's overall target task based on the Riemannian motion strategy and obtain the joint acceleration control value at the current control moment;

[0032] a control quantity mapping module, configured to determine the joint torque control quantity at the current control moment according to the joint acceleration control quantity at the current control moment based on a preset control quantity mapping relationship; wherein the control quantity mapping relationship is a mapping relationship between the joint acceleration control quantity and the joint torque control quantity;

[0033] The torque control module is used to perform torque control on the robot according to the joint torque control amount at the current control moment to perform the overall target task.

[0034] In a specific implementation of the second aspect, the control amount mapping module may include:

[0035] a control amount mapping unit, configured to determine a joint torque mapping control amount corresponding to the joint acceleration control amount at a current control moment based on the control amount mapping relationship;

[0036] A configuration space desired state quantity determination unit, configured to determine the configuration space desired state quantity at the current control moment based on the configuration space actual state quantity and the joint torque control quantity at the previous control moment;

[0037] The joint torque control amount determination unit is used to determine the joint torque control amount at the current control moment according to the joint torque mapping control amount and the expected state amount of the configuration space at the current control moment.

[0038] In a specific implementation of the second aspect, the joint torque control quantity determination unit can be specifically used to: calculate the state quantity difference between the expected state quantity of the configuration space at the current control moment and the actual state quantity of the configuration space; perform proportional differential control on the joint torque mapping control quantity according to the state quantity difference to obtain the joint torque control quantity at the current control moment.

[0039] In a specific implementation of the second aspect, the overall target task includes hierarchical tasks of different priorities; the motion generation module can be specifically used to: in the motion generation process based on the Riemann motion strategy, project the joint acceleration control amount of the next-level task into the null space of the previous-level task, so as to solve the joint acceleration control amount of each level task in order from low to high priority.

[0040] In a specific implementation of the second aspect, the motion generation module may include:

[0041] The Riemann motion strategy determination unit is used to determine the Riemann motion strategy of each level task according to the actual state quantity of the configuration space at the current control moment;

[0042] The joint acceleration control amount determination unit is used to determine the null space projection matrix of the second-level task and the joint acceleration control amount of the first-level task according to the Riemann motion strategy of the first-level task; determine the null space projection matrix of the i+1-th level task and the joint acceleration control amount of the i-th level task according to the Riemann motion strategy of the i-th level task, the null space projection matrix of the i-th level task and the joint acceleration control amount of the i-1-th level task, until the joint acceleration control amount of the highest-level task is obtained.

[0043] In a specific implementation of the second aspect, each hierarchical task includes at least one subtask, and each subtask includes at least one local subtask; the Riemann motion strategy determination unit can be specifically used to: determine the state quantity of each hierarchical task, the state quantity of each subtask and the state quantity of each local subtask according to the actual state quantity of the configuration space at the current control moment and the kinematic model of the robot; determine the Riemann motion strategy of each local subtask according to the state quantity of each local subtask; determine the Riemann motion strategy of each subtask according to the state quantity and Riemann motion strategy of each local subtask; determine the Riemann motion strategy of each hierarchical task according to the dynamic parameters of the robot, the state quantity and Riemann motion strategy of each subtask.

[0044] A third aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any one of the above-mentioned robot force control methods are implemented.

[0045] The fourth aspect of an embodiment of the present application provides a robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the above-mentioned robot force control methods when executing the computer program.

[0046] A fifth aspect of the embodiments of the present application provides a computer program product, which, when run on a robot, enables the robot to execute the steps of any one of the above-mentioned robot force control methods. Beneficial effects

[0047] Compared with the prior art, the embodiments of the present application have the following beneficial effects: the embodiments of the present application perform motion generation based on the Riemannian motion strategy for the overall target task of the robot to obtain the joint acceleration control amount at the current control moment; based on a preset control amount mapping relationship, the joint torque control amount at the current control moment is determined according to the joint acceleration control amount at the current control moment; wherein, the control amount mapping relationship is a mapping relationship between the joint acceleration control amount and the joint torque control amount; the robot is subjected to torque control according to the joint torque control amount at the current control moment to perform the overall target task. In the embodiments of the present application, the position control of the robot is converted into torque control through the preset control amount mapping relationship, so that the torque control of the robot can be achieved under the RMP algorithm framework. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0049] FIG1 is a flow chart of an embodiment of a robot force control method according to an embodiment of the present application;

[0050] FIG2 is a schematic diagram of the improved RMP tree data structure;

[0051] FIG3 is a schematic flow chart showing how to solve the joint acceleration control quantities of tasks at each level in order of priority from low to high;

[0052] FIG4 is a structural diagram of an embodiment of a robot force control device according to an embodiment of the present application;

[0053] FIG5 is a schematic block diagram of a robot in an embodiment of the present application. Modes for Carrying Out the Invention

[0054] In order to make the purpose, features, and advantages of the invention of this application more obvious and easy to understand, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the embodiments described below are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0055] It will be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.

[0056] It should also be understood that the terms used in this specification are for the purpose of describing specific embodiments only and are not intended to limit the present application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly indicates otherwise.

[0057] It should be further understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.

[0058] As used in this specification and the appended claims, the term "if" can be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.

[0059] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.

[0060] The motion generation method based on Riemannian Motion Policies (RMP) has been applied in many fields in recent years, such as robot obstacle avoidance and self-avoidance, grasping operation, autonomous navigation, multi-machine system coordination, vision and tactile servo, etc., because it can easily integrate multi-task spatial motion planning and motion control while maintaining the timeliness and stability of the algorithm. However, in the existing technology, most of the robot's position control is carried out under the RMP algorithm framework, and it is difficult to carry out the robot's torque control. In the embodiment of the present application, the robot's position control is converted into torque control through a preset control quantity mapping relationship, so that the robot's torque control can be achieved under the RMP algorithm framework.

[0061] The execution subject of the embodiment of the present application is a robot, which may include but is not limited to a seven-axis (i.e., seven degrees of freedom) redundant robot.

[0062] Referring to FIG1 , an embodiment of a robot force control method in an embodiment of the present application may include:

[0063] Step S101: Perform motion generation based on the Riemannian motion strategy for the overall target task of the robot to obtain the joint acceleration control value at the current control moment.

[0064] In the embodiments of this application, the overall objective task can be broken down into at least one subtask, and each subtask can be further broken down into at least one local subtask. For example, the overall objective task of object grasping can be broken down into a reaching subtask, an obstacle avoidance subtask, a joint limit avoidance subtask, and other subtasks. The reaching subtask can be further broken down into local subtask 1, local subtask 2, local subtask 3, and so on.

[0065] In an embodiment of the present application, a corresponding priority can be set for each subtask in advance. For example, when transporting a tippable object, it is strictly prioritized to ensure the posture of the object rather than the arrival position. Each subtask can be clustered according to the priority to obtain tasks at each level. Among them, any hierarchical task is composed of subtasks of the same priority. For example, if the overall target task is decomposed into subtask 1, subtask 2, subtask 3, subtask 4, subtask 5 and subtask 6, a total of 6 subtasks, and subtask 1 and subtask 3 are set to the lowest priority, subtask 6 is set to the second lowest priority, and subtask 2, subtask 4 and subtask 5 are set to the highest priority. If each subtask is clustered according to priority, 3 hierarchical tasks can be obtained, and the order of priority from low to high is: 1st level task (consisting of subtask 1 and subtask 3), 2nd level task (consisting of subtask 6), 3rd level task (consisting of subtask 2, subtask 4 and subtask 5). The overall target task may include hierarchical tasks of different priorities, each hierarchical task may include at least one subtask, and each subtask may include at least one local subtask.

[0066] Riemannian motion strategy (RMP) refers to a type of motion strategy with geometric information described by a second-order differential equation in a Riemannian manifold space. Its canonical form is (a, M) Θ . Among them, Θ represents the spatial coordinate belonging to m-dimensional Riemannian manifold, a:Ρ m ×Ρ m → m Represents a second-order continuous motion strategy, M:Ρ m ×Ρ m → m×m Represents a differential mapping. According to the naming convention of robot dynamics, a can be regarded as the desired acceleration and M can be regarded as the inertia matrix.

[0067] In addition to the canonical form, RMP also has a mathematical natural form (natural form) as (M, f) Θ , where f = Ma represents the expected force. This mathematical expression is more convenient for RMP-algebra operations.

[0068] RMPflow is a graph computation process oriented towards manifold space. Its purpose is to rapidly integrate local RMPs designed for specific tasks on manifolds of different dimensions into a global RMP in the target space, thereby outputting a motion strategy that can achieve all specific tasks. The RMPflow process is primarily implemented through the iterative pushforward, pullback, and resolve operations. Pushforward refers to the forward propagation of the state information flow, pullback refers to the backward propagation of the RMP information flow, and resolve refers to the solution operation that returns the RMP information flow from its natural form to its canonical form.

[0069] Based on the existing RMP algorithm framework, the embodiment of the present application proposes a hierarchical RMP (Dynamically-consistent Hierarchical RMP, Dyn-Hier-RMP) with dynamic consistency. In response to the data storage requirements of task layering and force control, Dyn-Hier-RMP is optimized and improved based on the tree data structure (RMP-tree) in the existing RMP algorithm framework: first, a stem node is inserted between the conventional root node and the leaf node to separate the task and the robot body; second, a branch node is inserted between the stem node and the leaf node to reflect the task layering and collect hierarchical task information; third, in addition to the original root node, a dual root node of the joint torque associated with it is designed, thereby introducing a binary connection between the force and position control quantities.

[0070] Figure 2 shows a schematic diagram of the improved RMP tree data structure. Among them, r represents the root node, which represents the overall target task mapped on the robot configuration space Θ, and the corresponding state quantity is The movement strategy is (M,f) Θ u represents the dual root node, representing the overall target task mapped on the joint torque space Υ, where Υ is the axial scaling space of Θ and the corresponding state quantity is τ; Represents a branch node, which is the clone of r and represents the component of r corresponding to the i-th level task. The corresponding state quantity is The movement strategy is (M i ,f i ) Θ ; Represents the stem node, which is located in the robot operation space Ξ i,j The state quantity corresponding to the subtask on Movement strategy is Represents a leaf node, representing a node in the local task space Δ i,j,k The state quantity corresponding to the local subtask on Movement strategy is

[0071] In response to the control and solution requirements of task layering and force control, the embodiment of the present application optimizes and improves the RMPflow calculation process in the existing RMP algorithm framework: First, in the reverse operation from stem node to branch node, the robot dynamics parameters are introduced to achieve optimization of the joint torque level; Second, in the solution operation from branch node to root node, the dynamically consistent null space projection (Dynamically-consistent Null Space Projection, Dyn-NSP) and its recursive algorithm are introduced to achieve hierarchical control of tasks; Third, in the solution operation from root node to dual root node, a joint torque calculation method based on proportional differential (Proportional-Derivative, PD) control of ideal configuration space state quantity is introduced to improve the execution accuracy of the task.

[0072] As shown in Figure 2, the nodes are connected by edges, and each edge represents the data conversion relationship between the two connected spaces, corresponding to the operations included in the improved RMPflow calculation process in the embodiment of the present application. and The edge connection represented by the solid line indicates that the two use the conventional pullback operation when propagating data in the reverse direction; and The edge connection represented by the dot-dashed line indicates that the two use the pullback operation (dyn-pullback) based on the dynamics of the operation space when propagating data in the reverse direction; The edge connection between r and u represented by a double-dotted line indicates that the recursive resolve operation (rec-resolve) based on Dyn-NSP technology is used for reverse data propagation between the two. The edge connection between r and u represented by a dotted line indicates that the spatial data conversion between the two adopts the resolve operation (pd-resolve) based on robot dynamics and PD control of ideal configuration space state quantities.

[0073] The general expression of the robot kinematics and dynamics equations is:

[0074] in, represents the Jacobian matrix of the robot; A represents the inertia matrix of the robot, b represents the Coriolis force term, g represents the gravity term; F represents the generalized force in the robot's operating space.

[0075] Therefore, according to the above equations, the relationship between the robot joint acceleration and the generalized force, as well as the general expression of the dynamic equation of the operating space, can be obtained:

[0076] Where Λ=(JA -1 J T ) -1 , represents the kinetic energy matrix of the operating space; represents the dynamic consistency pseudo-inverse of J;

[0077] Based on the binary relationship between robot force and position introduced above, the conversion method of motion strategy between different spaces can be obtained.

[0078] Specifically from Towards Since the local task space is independent of the robot body dynamics, the corresponding pullback operation can be equivalent to the following weighted least squares problem:

[0079] in,

[0080] By taking the derivative of the above formula and taking zero, we can get the analytical equation:

[0081] in,

[0082] Because M i,j is not in order, Indicates M i,j The Moore-Penrose pseudo-inverse of , then:

[0083] Specifically, from To(M i ,f i ) Θ According to the connection between the robot operation space and the body dynamics, the corresponding dyn-pullback operation can be equivalent to the following weighted least squares problem:

[0084] in,

[0085] By taking the derivative of the above formula and taking zero, we can get the analytical equation:

[0086] It can be seen that M i It is also rank deficient and has a null space.

[0087] The task hierarchy is controlled by The reverse data propagation to r is realized by rec-resolve operation. The optimal joint acceleration control amount of the first-level task is known Satisfies (M1,f1) Θ The motion strategy represented by M1 is a symmetric semi-positive definite matrix, and the dynamic consistency pseudo-inverse operation cannot be directly performed. Therefore, a Cholesky-like decomposition of the covariance matrix can be performed first:

[0088] Among them, J1=cholcov(M1), which is an m1×n-dimensional row full-rank matrix, m1 represents the rank of M1, and n represents the dimension of the robot's driving joint.

[0089] Therefore, the equivalent relationship between the joint acceleration control amount and the generalized force at the corresponding task level is:

[0090] Therefore, the amount of task control at level 1 for:

[0091] When the i-1 level task control quantity has been obtained Finally, considering that the execution of the i-th level task should not interfere with the previous i-1 level tasks, according to the parameter (J i ,F i ) corresponds to the equivalent relationship between the joint acceleration control quantity and the generalized force, The solution can be expressed as the following constrained least squares problem:

[0092] By introducing the Dyn-NSP technology, the constraint part of the above formula can be converted into:

[0093] in, Represents the Dyn-NSP matrix of all tasks before the i-th level.

[0094] Substituting into the objective function, it can be simplified to:

[0095] in,

[0096] Therefore, it can be concluded that The analytical solution is:

[0097] in, It can be obtained by recursive method:

[0098] Where I represents the unit matrix with the same dimension as the robot's driving joints.

[0099] According to the above analysis and derivation, in the motion generation process based on the Riemannian motion strategy, the joint acceleration control value of the next-level task can be projected into the null space of the previous-level task, so as to solve the joint acceleration control value of each level task in order from low to high priority. Specifically, the process can be shown in Figure 3:

[0100] Step S1011: Determine the Riemannian motion strategy for each level of task based on the actual state quantity of the configuration space at the current control moment.

[0101] Specifically, we can first read the actual state quantity of the configuration space of r at the current control time t Then, a pushforward operation can be performed to determine the state of each hierarchical task, each subtask, and each local subtask based on the actual state of the configuration space at the current control moment and the kinematic model of the robot, as shown in the following formula:

[0102] Among them, ψ i,j represents the kinematic solution of the robot, ψ i,j,k represents the correct solution in the local task space.

[0103] Then, the Riemannian motion strategy of each local subtask can be determined according to the state quantity of each local subtask by giving a tracking trajectory or a preset geometric dynamical system (GDS). Then, the pullback operation can be performed to determine the Riemann motion strategy of each subtask based on the state quantity and Riemann motion strategy of each local subtask. As shown in the following formula:

[0104] Based on the dynamic equations of the robot's operating space, s can be calculated i,j The corresponding operation space kinetic energy matrix Λ i,j :

[0105] Finally, a pullback operation based on the dynamics of the operation space (dyn-pullback) can be performed to determine the Riemannian motion strategy (M) of each level task according to the robot's dynamic parameters, the state of each subtask and the Riemannian motion strategy. i ,f i ) Θ , as shown below:

[0106] Furthermore, using the Cholesky-like decomposition of the covariance matrix, we can also obtain b i The equivalent relationship parameter between the corresponding joint acceleration control quantity and the generalized force (J i ,F i ), as shown below: J i =cholcov(M i )

[0107] Step S1012: Determine the null space projection matrix of the second-level task and the joint acceleration control amount of the first-level task according to the Riemann motion strategy of the first-level task.

[0108] Specifically, for the first-level task, the intermediate variables can be calculated in sequence according to the following formula:

[0109] Then, the joint acceleration control quantity of the first-level task can be solved according to the following formula:

[0110] Step S1013: Determine the null space projection matrix of the i+1th level task and the joint acceleration control amount of the i-th level task according to the Riemann motion strategy of the i-th level task, the null space projection matrix of the i-th level task, and the joint acceleration control amount of the i-1th level task, until the joint acceleration control amount of the highest level task is obtained.

[0111] Specifically, when i is greater than 1, the intermediate variable F can be calculated in sequence according to the following formula: i pre 、

[0112] Then, the joint acceleration control value of the i-th level task can be solved according to the following formula

[0113] It should be noted that step S1013 is a recursive process. First, let i be 2, perform a round of calculation, and solve the joint acceleration control value of the second-level task. Then let i=i+1, at this time the value of i is 3, perform a round of calculation, and solve the joint acceleration control value of the third level task And so on, until the joint acceleration control value of the H-level task is obtained , where H is the total number of task levels, and the Hth level is the highest level. In this recursive process, by reusing some intermediate parameters from the lower-level task solutions, the solution efficiency is improved and the real-time generation of the overall motion strategy is guaranteed.

[0114] Step S102: Based on a preset control amount mapping relationship, the joint torque control amount at the current control moment is determined according to the joint acceleration control amount at the current control moment.

[0115] The control quantity mapping relationship is the mapping relationship between the joint acceleration control quantity and the joint torque control quantity. Specifically, the joint torque mapping control quantity corresponding to the joint acceleration control quantity at the current control moment can be determined based on the control quantity mapping relationship shown in the following formula:

[0116] Where v represents the sum of the Coriolis force term and the gravity term.

[0117] In a specific implementation of the embodiment of the present application, the joint torque can be directly mapped to the control amount As the joint torque control value at the current control moment

[0118] In another specific implementation of the embodiment of the present application, in order to improve the accuracy of task execution, after obtaining the joint torque control amount Afterwards, we can first calculate the actual state quantity of the configuration space at the last control moment and joint torque control Determine the expected state of the configuration space at the current control moment As shown in the following formula:

[0119] Among them, Δt represents the time step, that is, the interval between two adjacent control moments.

[0120] Then, the control quantities can be mapped according to the joint torques and the expected state quantity of the configuration space at the current control moment Determine the joint torque control value at the current control moment Specifically, the expected state quantity of the configuration space at the current control moment can be calculated and the actual state quantity of the configuration space The state quantity difference between them is used to map the joint torque to the control quantity according to the state quantity difference. Perform PD control to obtain the joint torque control value at the current control moment As shown in the following formula:

[0121] Among them, k p and k d represent the proportional control coefficient and the differential control coefficient respectively.

[0122] It should be noted that the robot torque control process shown in Figure 1 is a recursive process. First, the time step parameter t is set to 1, and a round of robot torque control is performed. Then, t is set to t+1, and the value of t is 2 at this time, and a round of robot torque control is performed. And so on. At each subsequent control moment, the robot torque control is continued until t>T, that is, the preset total number of time steps T is reached.

[0123] It should be noted that after the robot torque control is performed at each control moment, the parameters need to be updated according to the following formula: In preparation for the next control moment, in particular, at the first control moment, that is, when t is 1, and The default values ​​are the initial configuration space state of the robot and 0.

[0124] In summary, the embodiment of the present application performs motion generation based on the Riemann motion strategy for the overall target task of the robot to obtain the joint acceleration control amount at the current control moment; based on the preset control amount mapping relationship, the joint torque control amount at the current control moment is determined according to the joint acceleration control amount at the current control moment; wherein the control amount mapping relationship is the mapping relationship between the joint acceleration control amount and the joint torque control amount; the robot is torque controlled according to the joint torque control amount at the current control moment to perform the overall target task. In the embodiment of the present application, the position control of the robot is converted into torque control through the preset control amount mapping relationship, so that the torque control of the robot can be achieved under the RMP algorithm framework.

[0125] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0126] Corresponding to the robot force control method described in the above embodiment, FIG4 shows a structural diagram of an embodiment of a robot force control device provided in an embodiment of the present application.

[0127] In this embodiment, a robot force control device may include:

[0128] The motion generation module 401 is used to generate motion for the robot's overall target task based on the Riemannian motion strategy to obtain the joint acceleration control value at the current control moment;

[0129] A control quantity mapping module 402 is configured to determine a joint torque control quantity at a current control moment according to a joint acceleration control quantity at a current control moment based on a preset control quantity mapping relationship; wherein the control quantity mapping relationship is a mapping relationship between the joint acceleration control quantity and the joint torque control quantity;

[0130] The torque control module 403 is used to perform torque control on the robot according to the joint torque control amount at the current control moment to perform the overall target task.

[0131] In a specific implementation of the embodiment of the present application, the control amount mapping module may include:

[0132] a control amount mapping unit, configured to determine a joint torque mapping control amount corresponding to the joint acceleration control amount at a current control moment based on the control amount mapping relationship;

[0133] A configuration space desired state quantity determination unit, configured to determine the configuration space desired state quantity at the current control moment based on the configuration space actual state quantity and the joint torque control quantity at the previous control moment;

[0134] The joint torque control amount determination unit is used to determine the joint torque control amount at the current control moment according to the joint torque mapping control amount and the expected state amount of the configuration space at the current control moment.

[0135] In a specific implementation method of an embodiment of the present application, the joint torque control quantity determination unit can be specifically used to: calculate the state quantity difference between the expected state quantity of the configuration space at the current control moment and the actual state quantity of the configuration space; perform proportional differential control on the joint torque mapping control quantity according to the state quantity difference to obtain the joint torque control quantity at the current control moment.

[0136] In a specific implementation method of an embodiment of the present application, the overall target task includes hierarchical tasks of different priorities; the motion generation module can be specifically used to: in the motion generation process based on the Riemann motion strategy, project the joint acceleration control amount of the next-level task into the null space of the previous-level task, so as to solve the joint acceleration control amount of each level task in order from low to high priority.

[0137] In a specific implementation of the embodiment of the present application, the motion generation module may include:

[0138] The Riemann motion strategy determination unit is used to determine the Riemann motion strategy of each level task according to the actual state quantity of the configuration space at the current control moment;

[0139] The joint acceleration control amount determination unit is used to determine the null space projection matrix of the second-level task and the joint acceleration control amount of the first-level task according to the Riemann motion strategy of the first-level task; determine the null space projection matrix of the i+1-th level task and the joint acceleration control amount of the i-th level task according to the Riemann motion strategy of the i-th level task, the null space projection matrix of the i-th level task and the joint acceleration control amount of the i-1-th level task, until the joint acceleration control amount of the highest-level task is obtained.

[0140] In a specific implementation of an embodiment of the present application, each hierarchical task includes at least one subtask, and each subtask includes at least one local subtask; the Riemann motion strategy determination unit can be specifically used to: determine the state quantity of each hierarchical task, the state quantity of each subtask and the state quantity of each local subtask according to the actual state quantity of the configuration space at the current control moment and the kinematic model of the robot; determine the Riemann motion strategy of each local subtask according to the state quantity of each local subtask; determine the Riemann motion strategy of each subtask according to the state quantity and Riemann motion strategy of each local subtask; determine the Riemann motion strategy of each hierarchical task according to the dynamic parameters of the robot, the state quantity and Riemann motion strategy of each subtask.

[0141] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices, modules and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0142] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.

[0143] Figure 5 shows a schematic block diagram of a robot provided in an embodiment of the present application. For ease of explanation, only the parts related to the embodiment of the present application are shown.

[0144] As shown in FIG5 , the robot 5 of this embodiment includes: a processor 50, a memory 51, and a computer program 52 stored in the memory 51 and executable on the processor 50. When the processor 50 executes the computer program 52, it implements the steps described in the various robot force control method embodiments, such as steps S101 to S103 shown in FIG1 . Alternatively, when the processor 50 executes the computer program 52, it implements the functions of the modules / units in the various device embodiments described above, such as the functions of modules 401 to 403 shown in FIG4 .

[0145] For example, the computer program 52 may be divided into one or more modules / units, which are stored in the memory 51 and executed by the processor 50 to implement the present application. The one or more modules / units may be a series of computer program instruction segments capable of performing specific functions, and the instruction segments are used to describe the execution process of the computer program 52 in the robot 5.

[0146] Those skilled in the art will understand that Figure 5 is merely an example of the robot 5 and does not constitute a limitation on the robot 5. The robot 5 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robot 5 may also include input and output devices, network access devices, buses, etc.

[0147] The processor 50 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0148] The memory 51 can be an internal storage unit of the robot 5, such as a hard drive or memory of the robot 5. The memory 51 can also be an external storage device of the robot 5, such as a plug-in hard drive, a Smart Media Card (SMC), a Secure Digital (SD) card, a flash memory card, etc. equipped on the robot 5. Furthermore, the memory 51 can include both an internal storage unit of the robot 5 and an external storage device. The memory 51 is used to store the computer program and other programs and data required by the robot 5. The memory 51 can also be used to temporarily store data that has been output or is about to be output.

[0149] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0150] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.

[0151] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0152] In the embodiments provided in this application, it should be understood that the disclosed devices / robots and methods can be implemented in other ways. For example, the device / robot embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0153] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0154] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0155] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the process in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and when the computer program is executed by the processor, it can implement the steps of the above-mentioned various method embodiments. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable storage medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable storage media do not include electric carrier signals and telecommunication signals.

[0156] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present application, and should all be included in the scope of protection of the present application.

Claims

1. A robot force control method, characterized in that: include: Perform motion generation based on the Riemannian motion strategy for the robot's overall target task and obtain the joint acceleration control value at the current control moment; Based on a preset control amount mapping relationship, determining the joint torque control amount at the current control moment according to the joint acceleration control amount at the current control moment; wherein the control amount mapping relationship is a mapping relationship between the joint acceleration control amount and the joint torque control amount; The robot is torque controlled according to the joint torque control amount at the current control moment to perform the overall target task.

2. The robot force control method according to claim 1, characterized in that: The method of determining the joint torque control amount at the current control moment according to the joint acceleration control amount at the current control moment based on the preset control amount mapping relationship includes: Determining a joint torque mapping control amount corresponding to the joint acceleration control amount at the current control moment based on the control amount mapping relationship; Determine the desired state of the configuration space at the current control moment based on the actual state of the configuration space and the joint torque control value at the previous control moment; The joint torque control amount at the current control moment is determined according to the joint torque mapping control amount and the expected state amount of the configuration space at the current control moment.

3. The robot force control method according to claim 2, characterized in that: Determining the joint torque control amount at the current control moment according to the joint torque mapping control amount and the desired state amount of the configuration space at the current control moment includes: Calculate the state quantity difference between the expected state quantity of the configuration space at the current control moment and the actual state quantity of the configuration space; Proportional differential control is performed on the joint torque mapping control quantity according to the state quantity difference to obtain the joint torque control quantity at the current control moment.

4. The robot force control method according to claim 1, characterized in that: The overall goal tasks include hierarchical tasks of different priorities; The motion generation based on the Riemannian motion strategy for the overall target task of the robot is performed to obtain the joint acceleration control value at the current control moment, including: In the motion generation process based on the Riemann motion strategy, the joint acceleration control quantities of the next-level task are projected into the null space of the previous-level task, so that the joint acceleration control quantities of each level task are solved in order from low to high priority.

5. The robot force control method according to claim 4, characterized in that: The joint acceleration control amount of the next level task is projected into the null space of the previous level task, so as to solve the joint acceleration control amount of each level task in order from low to high priority, including: Determine the Riemann motion strategy for each level of task based on the actual state quantity of the configuration space at the current control moment; Determine the null space projection matrix of the second-level task and the joint acceleration control amount of the first-level task according to the Riemann motion strategy of the first-level task; According to the Riemann motion strategy of the i-th level task, the null space projection matrix of the i-th level task and the joint acceleration control amount of the i-1-th level task, determine the null space projection matrix of the i+1-th level task and the joint acceleration control amount of the i-th level task until the joint acceleration control amount of the highest level task is obtained.

6. The robot force control method according to claim 5, characterized in that: Each hierarchical task includes at least one subtask, and each subtask includes at least one local subtask; The Riemannian motion strategy for each level of task is determined based on the actual state quantity of the configuration space at the current control moment, including: Determining the state quantity of each hierarchical task, the state quantity of each subtask, and the state quantity of each local subtask based on the actual state quantity of the configuration space at the current control moment and the kinematic model of the robot; Determine the Riemann motion strategy of each local subtask according to the state quantity of each local subtask; Determine the Riemann motion strategy for each subtask based on the state quantity and Riemann motion strategy of each local subtask; According to the dynamic parameters of the robot, the state quantity of each subtask and the Riemann motion strategy, the Riemann motion strategy of each level task is determined respectively.

7. The robot force control method according to any one of claims 1 to 6, characterized in that: After performing torque control on the robot according to the joint torque control amount at the current control moment, the method further includes: At each subsequent control moment, the torque control of the robot continues until the total number of preset time steps is reached.

8. A robot force control device, characterized in that: include: The motion generation module is used to generate motion for the robot's overall target task based on the Riemannian motion strategy and obtain the joint acceleration control value at the current control moment; a control quantity mapping module, configured to determine the joint torque control quantity at the current control moment according to the joint acceleration control quantity at the current control moment based on a preset control quantity mapping relationship; wherein the control quantity mapping relationship is a mapping relationship between the joint acceleration control quantity and the joint torque control quantity; The torque control module is used to perform torque control on the robot according to the joint torque control amount at the current control moment to perform the overall target task.

9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the robot force control method according to any one of claims 1 to 7 are implemented.

10. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the robot force control method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Task hierarchical control method and device, robot and readable storage medium

    CN111538234A

  • Whole-body control method, device and appliance for force-controlled humanoid robot and medium

    CN113733106A

  • Motion control method and system for four-foot single-arm operation robot

    CN114954724A

  • Robot motion strategy generation method based on Riemannian motion strategy

    CN115972196A

  • Robot motion control method and device, robot control equipment and storage medium

    CN116372923A