Robot control method, robot and electronic equipment

By reducing the stiffness coefficient when the force control component is subjected to excessive force parameters, adjusting the stiffness and damping matrix, and calculating the joint control torque, the problem of unstable oscillation caused by collision of the force control component is solved, thereby improving the robot's operational accuracy and safety.

CN121340243APending Publication Date: 2026-01-16AGIBOT INNOVATION (SHANGHAI) TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511420284.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-29
Publication Date
2026-01-16

AI Technical Summary

Technical Problem

In existing technologies, when the force control component collides unexpectedly with the surrounding environment, the force signal fed back by the force sensor fluctuates violently, causing a sudden jump in the control quantity, which leads to high-frequency unstable oscillation of the force control component, affecting the accuracy and safety of operation, and even damaging the joints of the robotic arm.

Method used

By determining the force parameters of the force control component, when the force parameters are greater than or equal to a preset threshold, the stiffness coefficient corresponding to the task is reduced, the stiffness matrix and damping matrix are adjusted, the joint control torque is calculated, and the force control component is controlled to perform the task, thereby avoiding or mitigating oscillations.

Benefits of technology

It effectively avoids or reduces the vibration of force control components, improves operational accuracy and safety, extends the life of robotic arm joints, reduces equipment maintenance costs, and ensures personal and equipment safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121340243A_ABST
    Figure CN121340243A_ABST
Patent Text Reader

Abstract

The invention provides a robot control method, a robot and electronic equipment, and the method comprises the steps: determining a stress parameter of a force control part, reducing a stiffness coefficient corresponding to a first task when the stress parameter is greater than or equal to a preset threshold value, obtaining an adjusted stiffness coefficient, obtaining a stiffness matrix based on the adjusted stiffness coefficient, and carrying out the adjustment of the stiffness matrix. And determining a damping matrix according to the damping coefficient corresponding to the first task, then determining a first joint control matrix of the first task according to the stiffness matrix, the damping matrix and the inertia matrix of the first task, and finally controlling a force control component of the robot to execute the first task according to the first joint control matrix. Thus, when the stress parameter of the force control component is too large due to collision of the robot, the rigidity coefficient is reduced, the situation that the force control component rebounds greatly due to too large rigidity is avoided, and then vibration of the force control component is avoided or relieved.
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, in particular to a robot control method, a robot and an electronic device. BACKGROUND

[0002] With the acceleration of technology iteration and deepening of intelligent process, robots with force control components (such as force control mechanical arms) have been widely used in people's life.

[0003] At present, the control of the force control component is generally adopted by the "force feedback closed loop" logic, that is, the force data of the force control component is collected through the end force sensor, and the control amount such as joint torque and motion speed is calculated by combining the preset control algorithm (such as admittance control), and then the joint actuator is driven to control the force control component to complete the corresponding action, so as to realize the precise control of "adjusting motion according to force".

[0004] However, in the actual operation process, the force control component may collide with the surrounding environment unexpectedly. When the collision occurs, the force signal fed back by the force sensor will suddenly rise or fluctuate sharply, causing the calculated control amount to jump suddenly, and then causing the force control component to produce high-frequency unstable vibration, which not only destroys the operation accuracy, but also may cause damage to the joints of the mechanical arm, and even poses a safety threat to the surrounding operators. SUMMARY

[0005] Therefore, the embodiments of the present application provide a robot control method, a robot and an electronic device, which can avoid or reduce the vibration of the force control component when the force control component is subjected to excessive force.

[0006] In a first aspect, the embodiments of the present application provide a robot control method applied to a robot, the robot being provided with a force control component, and the method comprising: determining a force parameter of the force control component, wherein the force control component is used to execute a first task based on the force parameter; when the force parameter is greater than or equal to a preset threshold, reducing a stiffness coefficient corresponding to the first task to obtain an adjusted stiffness coefficient; determining a stiffness matrix according to the adjusted stiffness coefficient, and determining a damping matrix according to a damping coefficient corresponding to the first task; determining a first joint control torque of the first task according to the stiffness matrix, the damping matrix and an inertia matrix of the first task; and controlling the force control component of the robot to execute the first task according to the first joint control torque.

[0007] In a second aspect, embodiments of the present application provide a robot control device applied to a robot, the robot being provided with a force control component, and the robot control device comprising: a force determination module configured to determine a force parameter of the force control component, wherein the force control component is configured to perform a first task based on the force parameter; an adjustment module configured to, when the force parameter is greater than or equal to a preset threshold, reduce a stiffness coefficient corresponding to the first task to obtain an adjusted stiffness coefficient; a matrix determination module configured to determine a stiffness matrix according to the adjusted stiffness coefficient and determine a damping matrix according to a damping coefficient corresponding to the first task; a torque determination module configured to determine a first joint control torque of the first task according to the stiffness matrix, the damping matrix, and an inertia matrix of the first task; and a control module configured to control the force control component of the robot to perform the first task according to the first joint control torque.

[0008] In a third aspect, embodiments of the present application provide a robot comprising a control module, the control module being configured to perform the robot control method of the first aspect.

[0009] In a fourth aspect, embodiments of the present application provide an electronic device comprising: a processor; and a memory configured to store processor-executable instructions, wherein the processor is configured to perform the robot control method of the first aspect.

[0010] In a fifth aspect, embodiments of the present application provide a computer-readable storage medium storing a computer program, the computer program being configured to perform the robot control method of the first aspect.

[0011] In a sixth aspect, embodiments of the present application provide a computer program product comprising a computer program, the computer program being configured to, when executed by a processor of a computer device, enable the computer device to perform the robot control method of the first aspect.

[0012] In a seventh aspect, embodiments of the present application provide a chip comprising: a processor; and a memory configured to store processor-executable instructions, wherein the processor is configured to perform the robot control method of the first aspect.

[0013] The robot control method, robot and electronic device provided in the embodiments of the present application determine the force parameter of the force control component, reduce the stiffness coefficient corresponding to the first task when the force parameter is greater than or equal to a preset threshold, obtain the adjusted stiffness coefficient, obtain the stiffness matrix based on the adjusted stiffness coefficient, determine the damping matrix according to the damping coefficient corresponding to the first task, then determine the first joint control matrix of the first task according to the stiffness matrix, the damping matrix and the inertia matrix of the first task, and finally control the force control component of the robot to perform the first task according to the first joint control matrix. In this way, when the robot collides and the force parameter of the force control component is too large, the stiffness coefficient is reduced to avoid the situation that the force control component rebounds greatly due to the large stiffness, thereby avoiding or reducing the vibration of the force control component. BRIEF DESCRIPTION OF DRAWINGS

[0014] Figure 1 Fig. 1 shows a system architecture schematic diagram of a robot control system provided by an exemplary embodiment of the present application.

[0015] Figure 2 Fig. 2 shows a flowchart of a robot control method provided by an exemplary embodiment of the present application.

[0016] Figure 3 Fig. 3 shows a flowchart of a robot control method provided by an exemplary embodiment of the present application.

[0017] Figure 4 Fig. 4 shows a structure schematic diagram of a robot control device provided by an exemplary embodiment of the present application.

[0018] Figure 5 Fig. 5 shows a block diagram of an electronic device for executing a robot control method provided by an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0019] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.

[0020] SUMMARY

[0021] At present, with the acceleration of technology iteration and deepening of intelligent process, robots have fully penetrated into various scenes such as production and manufacturing, service interaction, etc. Among them, the force control component (such as force control mechanical arm) has become a key component of many robots due to its irreplaceability in precise assembly, workpiece polishing, manual dragging teaching and other tasks, and its application range is increasingly wide.

[0022] For the control of robots provided with force control components, during the operation of the robot, the force parameters when the force control component interacts with the outside world can be collected in real time through the force sensor installed at the end of the force control component. Subsequently, a series of key control quantities, including but not limited to joint torque, motion speed, etc., can be determined according to the collected force data through a pre-set control algorithm (commonly known as admittance control algorithm). Finally, according to the calculated control quantities, the joint actuators are driven to control the force control component to complete the preset action in a predetermined manner, thereby realizing the precise control of "adjusting motion according to force", and enabling the robot to efficiently and accurately complete various tasks.

[0023] However, in actual operation scenarios, the force control component inevitably may collide with various objects in the surrounding environment, such as tooling fixtures, workpieces to be processed, equipment frames, etc. When such a collision event occurs suddenly, the force signal fed back by the force sensor will change abnormally, specifically showing a sharp rise or a state of violent fluctuation. Such abnormal force signal will cause the control quantity calculated based on the signal to suddenly jump. Since the control quantity is the parameter that determines the motion state of the force control component, its sudden jump will make the motion of the force control component lose stability, thereby causing high-frequency unstable oscillation phenomenon.

[0024] Such high-frequency unstable oscillation not only causes the actual motion trajectory to deviate from the preset path, making the task that needs to be completed with high precision (such as the assembly of precision parts, fine surgical operation, etc.) unable to meet the expected precision standard, thereby reducing product quality or affecting medical effect. It will also cause serious damage to the force control component itself, especially the joints of the robot arm. For example, the joints of the robot arm bear stress and impact force far beyond the normal level during high-frequency oscillation. Long-term accumulation will accelerate the wear and deformation of the joint components, and even cause damage to the joint structure, greatly shorten the service life of the robot arm, and increase the equipment maintenance cost. At the same time, such unstable motion state will also pose a potential threat to the personal safety of the surrounding operators and the equipment safety of the surrounding equipment.

[0025] In summary, for the technical problem of "the robot provided with force control components is prone to unstable oscillation when the force control component collides".

[0026] The application provides a robot control method. By determining a force parameter of a force control component, when the force parameter is greater than or equal to a preset threshold, a stiffness coefficient corresponding to a first task is reduced to obtain an adjusted stiffness coefficient, a stiffness matrix is obtained based on the adjusted stiffness coefficient, a damping matrix is determined according to a damping coefficient corresponding to the first task, then a first joint control matrix of the first task is determined according to the stiffness matrix, the damping matrix and an inertia matrix of the first task, and finally the force control component of the robot is controlled to perform the first task according to the first joint control matrix. In this way, when the robot collides and the force parameter of the force control component is too large, the stiffness coefficient is reduced to avoid the situation that the force control component rebounds greatly due to the large stiffness, and thus the vibration of the force control component is avoided or reduced.

[0027] Exemplary system

[0028] Figure 1 The system architecture schematic diagram of the robot control system provided by an exemplary embodiment of the application is shown in the figure. Figure 1 As shown, the robot control system 100 can include a robot 110. The robot 110 is a robot with a force control component 111, such as an industrial robot, a carrying robot, a humanoid foot robot, etc.

[0029] In an example, the force control component 111 can be one or more parts in the robot, such as a force control mechanical arm, a force control mechanical leg, etc. The force control component can adjust the control torque of each joint in the force control component according to the external force received, and then drive the robot 110 to perform the corresponding task.

[0030] In an example, the robot 110 can be installed with a controller 112. Optionally, the controller 112 can be located outside the robot 110, such as a device independent of the robot 110.

[0031] Exemplarily, the controller 112 can include at least one of a logic controller, a machine vision controller, a motion controller, etc.

[0032] In an application scenario example, the controller 112 can determine a force parameter of the force control component, wherein the force control component 111 can perform a first task based on the force parameter. Then, when the force parameter is greater than or equal to a preset threshold, the controller 112 reduces a stiffness coefficient corresponding to the first task to obtain an adjusted stiffness coefficient, determines a stiffness matrix according to the adjusted stiffness coefficient, and determines a damping matrix according to a damping coefficient corresponding to the first task. Then, the controller 112 can determine a first joint control torque of the first task according to an inertia matrix, a stiffness matrix and a damping matrix of the first task. Finally, according to the first joint control torque, the controller can control the force control component of the robot to perform the first task.

[0033] It should be understood that the above application scenario examples are only shown to facilitate understanding of the spirit and principles of this application, and the embodiments of this application are not limited thereto. Rather, the embodiments of this application can be applied to any applicable scenario.

[0034] Exemplary methods

[0035] Figure 2 The diagram shown is a flowchart illustrating a robot control method provided in an exemplary embodiment of this application. Figure 2 The method can be derived from Figure 1 The controller 112 in the middle executes. For example... Figure 2 As shown, the robot control method may include the following:

[0036] 210: Determine the force parameters of the force control component, wherein the force control component is used to perform the first task based on the force parameters.

[0037] In one example, this robot control method can be applied to scenarios where tasks are performed via force-controlled components, such as a drag-and-drop teaching scenario. In this scenario, the user can guide the robot's movement by directly applying force to the end effector of the robotic arm. The force-controlled components adjust the joint torques according to the applied external force, enabling the robot to follow the user's movements and record the path, ultimately reproducing the task flow.

[0038] In one example, the force-controlled component can be one or more parts of the robot, such as a force-controlled robotic arm, a force-controlled robotic leg, etc.

[0039] In one example, the force control component can adjust the control torque corresponding to each joint in the force control component according to the external force it receives, thereby driving the robot to perform the corresponding task.

[0040] In one example, the force parameters can refer to data related to external forces detected by the force control component, such as the magnitude, direction, and point of application of the force.

[0041] In one example, a force sensor can be installed at the end of the force control component, so that the robot can determine the force parameters of the force control component through the force sensor.

[0042] In one example, the force parameters can be used to characterize the external forces acting on the force-controlled component.

[0043] 220: When the force parameter is greater than or equal to the preset threshold, reduce the stiffness coefficient corresponding to the first task to obtain the adjusted stiffness coefficient.

[0044] In an example, the stiffness coefficient is a parameter for measuring the ability of the robot to resist deformation when performing a task, the larger the stiffness coefficient, the smaller the deformation of the robot when subjected to force, but it is also more sensitive to external impact, and the stronger the rebound when a collision occurs. The smaller the stiffness coefficient, the more blunt it is to external impact, and the weaker the rebound when a collision occurs.

[0045] In an example, when the force parameter, i.e., the external force received by the force control module, is greater than or equal to the preset threshold, there are usually two cases, one is that the robot has collided, at this time, reducing the stiffness coefficient can make the robot produce smaller rebound, avoid the instability of too large rigidity. The other is to control the force used by the robot to perform a task, such as in the drag teaching scene, a larger force is used to drag the end of the robot arm, at this time, reducing the stiffness coefficient can reduce the difficulty of the user to push the robot, and improve the efficiency of task execution.

[0046] In an example, the robot can compare the force parameter and the preset threshold, and reduce the stiffness coefficient when the force parameter is greater than or equal to the preset threshold. Wherein, the force parameter can be used to represent the external force value of the external force received by the force control component.

[0047] In an example, the reduced stiffness coefficient can be 0.

[0048] In an example, when the external force received by the force control component does not exceed the preset threshold, the robot can also gradually increase the stiffness coefficient of the first task from 0 to the stiffness threshold according to the gradual increase of the force parameter, and reduce the stiffness coefficient to 0 when the external force received by the force control component exceeds the preset threshold.

[0049] 230: Determine the stiffness matrix according to the adjusted stiffness coefficient, and determine the damping matrix according to the damping coefficient corresponding to the first task.

[0050] In an example, the stiffness matrix is a mathematical matrix for describing the stiffness characteristics of the robot in different directions, which combines the adjusted stiffness coefficient with the structural characteristics of the robot, and reflects the deformation of the robot when subjected to force.

[0051] In an example, the damping coefficient is a parameter for measuring the ability of the robot to resist motion changes during motion, and the damping matrix is a matrix determined according to the damping coefficient and the related characteristics of the robot, which is used to describe the damping characteristics of the robot in different directions, and control the smoothness of the robot motion.

[0052] In an example, by determining the stiffness matrix and the damping matrix, the mechanical characteristics of the robot when performing a task can be accurately described, which provides key parameters for subsequent calculation of joint control torque, and makes the motion control of the robot more accurate and stable.

[0053] In an example, the robot can determine a stiffness matrix according to the adjusted stiffness coefficients, and determine a damping matrix according to the damping coefficients corresponding to the first task, so that the joint control torques of the first task are determined according to the stiffness matrix and the damping matrix in a subsequent step.

[0054] 240: determining the first joint control torques of the first task according to the stiffness matrix, the damping matrix, and the inertia matrix of the first task.

[0055] In an example, the inertia matrix can reflect the mass distribution and moment of inertia of each part of the robot, and the like. The inertia matrix is used together with the stiffness matrix and the damping matrix to calculate the joint control torques through a dynamics equation.

[0056] In an example, the first joint control torques refer to torque values required to be applied to multiple joints in the force control component of the robot in order to make the force control component perform the first task as expected. These torque values will drive the joint movement, thereby realizing the action of the force control component.

[0057] In an example, the stiffness matrix, the damping matrix, and the inertia matrix contain key information such as the structure, mechanics, and motion characteristics of the robot. Therefore, based on the dynamics principle of the robot, these matrices can be combined to calculate the control torques required for each joint to ensure that the force control component moves in the desired manner.

[0058] In an example, the robot can determine the first joint control torques corresponding to the first task according to the dynamics equation based on the stiffness matrix, the damping matrix, and the inertia matrix.

[0059] 250: controlling the force control component of the robot to perform the first task according to the first joint control torques.

[0060] In an example, the first joint control torques are dynamic parameters for driving the movement of each joint of the robot, and the force control component performs the first task through the movement of each joint.

[0061] In an example, the first joint control torques contain control torques of at least part of the joints in the force control component. Therefore, after the first joint control torques are determined, the robot can also control at least part of the joints in the force control component to move according to the control torques corresponding to the multiple joints in the first joint control torques, so as to control the robot to perform the first task.

[0062] According to the robot control method provided in the application, by determining the force parameter of the force control component, when the force parameter is greater than or equal to a preset threshold, the stiffness coefficient corresponding to the first task is reduced to obtain an adjusted stiffness coefficient, and then a stiffness matrix is obtained based on the adjusted stiffness coefficient, and a damping matrix is determined according to the damping coefficient corresponding to the first task, and then a first joint control matrix of the first task is determined according to the stiffness matrix, the damping matrix and the inertia matrix of the first task, and finally the force control component of the robot is controlled to perform the first task according to the first joint control matrix.

[0063] In this way, when the robot collides and causes the force parameter of the force control component to be too large, the stiffness coefficient is reduced to avoid the situation that the force control component rebounds too much due to the stiffness being too large, thereby avoiding or reducing the vibration of the force control component. When the user or other equipment drags the force control component with a large force, reducing the stiffness coefficient will make the resistance smaller when the force control component is dragged, thereby improving the task execution efficiency of the force control component.

[0064] According to an embodiment of the application, step 230 comprises: determining the stiffness matrix according to the adjusted stiffness coefficient, the inertia matrix and the basic stiffness matrix; and determining the damping matrix according to the damping coefficient, the inertia matrix and the damping ratio of the force control component.

[0065] In an example, it is assumed that the adjusted stiffness coefficient is k m , the inertia matrix is λ, and the basic stiffness matrix is k0. Thus, the robot can determine the stiffness matrix according to the adjusted stiffness coefficient, the inertia matrix and the basic stiffness matrix by using the determination formula of the stiffness matrix.

[0066] In an example, the determination formula of the stiffness matrix is: k d = λk0λ T k m .

[0067] In an example, it is assumed that the damping coefficient is D n , the damping ratio of the force control component is D ζ , and the inertia matrix is λ. Thus, the robot can determine the damping matrix according to the damping coefficient, the damping ratio and the inertia matrix by using the determination formula of the damping matrix.

[0068] In an example, the determination formula of the damping matrix is: D d = 2λ(D n D ζ ) ―1 λ T

[0069] In an example, in the case that the robot replaces part of the structure and causes the inertia matrix to change, the robot can re-determine the stiffness matrix and the damping matrix according to the inertia matrix.

[0070] In an example, the stiffness coefficients at different time instants are not completely same, and the damping coefficients at different time instants are not completely same.

[0071] In an example, in the case that the stiffness coefficients change, the robot re-determines the stiffness matrix according to the changed stiffness coefficients. In the case that the damping coefficients change, the robot re-determines the damping matrix according to the changed damping coefficients.

[0072] In an example, for each sampling time instant, the robot determines the stiffness matrix and the damping matrix of the sampling time instant respectively according to the stiffness coefficient and the damping coefficient of the sampling time instant and the inertia matrix. The sampling time instant is related to the control period of the robot.

[0073] In an example, the determination formula of the first joint control torque can be: τ = J T

[0074] wherein J is the Jacobian matrix of the first task, λ is the inertia matrix of the first task, is the expected acceleration, D d is the damping matrix, is the position error rate, K d is the stiffness matrix, and e is the position error.

[0075] In the embodiments of the present application, the stiffness matrix is determined according to the adjusted stiffness coefficient, the inertia matrix and the basic stiffness matrix, the damping matrix is determined according to the damping coefficient, the inertia matrix and the damping ratio of the force control component, and the stiffness matrix and the damping matrix are updated based on the stiffness coefficient and the damping coefficient and the inertia matrix. Then, these matrices perform impedance control on the robot, precise motion control of the robot is achieved, adaptability of the robot to different working conditions and structural changes, system stability and dynamic performance are improved, motion deviation, instability and component wear caused by working condition changes or inaccurate parameters are avoided, and efficient and stable operation of the robot is ensured.

[0076] According to an embodiment of the present application, the stiffness matrix is determined according to the adjusted stiffness coefficient, the inertia matrix and the basic stiffness matrix, including: performing double diagonalization decomposition on the inertia matrix to obtain a first sub-matrix and a second sub-matrix which are transposes of each other; determining the stiffness matrix according to the adjusted stiffness coefficient, the basic stiffness matrix and the first sub-matrix and / or the second sub-matrix; determining the damping matrix according to the damping coefficient, the inertia matrix and the damping ratio of the force control component, including: determining the damping matrix according to the damping coefficient, the damping ratio of the force control component and the first sub-matrix and / or the second sub-matrix.

[0077] In an example, the inertia matrix is subjected to a double diagonalization decomposition because the inertia matrix has a relatively complex structure in the robot dynamics model, and the sub-matrix obtained after decomposition can be more conveniently combined with other parameters for determining the stiffness matrix and the damping matrix respectively, thereby improving the accuracy and efficiency of the robot dynamics parameter calculation and realizing more accurate motion control.

[0078] In an example, assuming that the inertia matrix is λ, the inertia matrix is subjected to a double diagonalization decomposition, and λ = QQ T is obtained, where Q is a first sub-matrix, and Q T is a second sub-matrix.

[0079] In an example, the method of subjecting the inertia matrix to a double diagonalization can be set as required, and the present application does not limit this.

[0080] In an example, the robot can determine the stiffness matrix according to at least one of the first sub-matrix and the second sub-matrix, the base inertia matrix, and the stiffness coefficient.

[0081] In an example, the determination formula of the stiffness matrix can be k d = Qk0Q T k m , where the adjusted stiffness coefficient is k m , the base stiffness matrix is k0, and Q is the first sub-matrix.

[0082] In an example, in the case where the first sub-matrix and the second sub-matrix are square matrices, the stiffness matrix can be determined according to one of the first sub-matrix and the second sub-matrix. However, in the case where the first sub-matrix and the second sub-matrix are not square matrices, the robot needs to determine the stiffness matrix according to the first sub-matrix, the second sub-matrix, the stiffness coefficient, and the base stiffness matrix.

[0083] In an example, the robot can determine the damping matrix according to at least one of the first sub-matrix and the second sub-matrix, the damping coefficient, and the damping ratio.

[0084] In an example, the determination formula of the damping matrix is D d = 2Q(D n D ζ ) ―1 Q T , where the damping coefficient is D n , the damping ratio of the force control component is D ζ , and Q is the first sub-matrix.

[0085] In an example, in the case where the robot only needs to perform a first task, the inertia matrix corresponding to the first task is the inertia matrix of the force control component, but in the case where the second task needs to be considered, the inertia matrix of the first task is λ i= (J i M ―1 J i T ) ―1 wherein J i is the Jacobian matrix corresponding to the ith task, and M is the inertia matrix of the force control component itself.

[0086] In an example, J i = j i N i―1 , j i is the Jacobian matrix of the ith task itself, N i―1 is the null space projection matrix of the (i-1)th task, and J i is the Jacobian matrix considering the null space of other tasks.

[0087] In an example, the null space projection matrix is determined by the formula N i = N i―1 (1-J i ―1 J i ), wherein N0 = I, and I is an identity matrix.

[0088] In an example, in the case where the Jacobian matrix is not a square matrix, the inverse matrix thereof can be determined by the formula based on the virtual work theorem.

[0089] In an example, in the case where both the first sub-matrix and the second sub-matrix are square matrices, the damping matrix can be directly determined according to one of the first sub-matrix and the second sub-matrix. However, in the case where the first sub-matrix and the second sub-matrix are not square matrices, the robot needs to determine the stiffness matrix according to the first sub-matrix, the second sub-matrix, the stiffness coefficient, and the base stiffness matrix.

[0090] In the embodiments of the present application, by double-diagonalizing decomposition of the inertia matrix, and using the decomposed sub-matrices to determine the stiffness matrix and the damping matrix respectively, more accurate calculation and control of the robot dynamics parameters are achieved, the problem of difficult accurate determination of the robot motion control parameters under a complex inertia matrix is solved, and the precision and stability of the robot motion control under different load conditions are improved.

[0091] According to an embodiment of the present application, the force control component includes a first joint and a second joint, the force control component is configured to control a first joint torque of the first joint to perform a first task based on the first joint, and the force control component is configured to perform a second task through the second joint, the second task having a priority lower than that of the first task. The robot control method further includes: determining a stiffness matrix corresponding to the second task and a damping matrix corresponding to the second task; determining a second joint control torque of the second task according to the stiffness matrix corresponding to the second task and the damping matrix corresponding to the second task; and controlling the second joint of the force control component to perform the second task according to the second joint control torque.

[0092] In an example, the force control component includes a first joint and a second joint, wherein the first joint undertakes a first task (main task) of the robot having a higher priority, and the second joint performs a second task having a lower priority.

[0093] In an example, the second joint control torque is a dynamic parameter for driving the second joint to move to perform the second task.

[0094] In an example, since the second task has a lower priority than the first task, in order to reasonably utilize the robot resources to perform the second task without affecting the normal execution of the first task, appropriate stiffness matrix and damping matrix need to be determined for the second task, so as to accurately control the movement of the second joint and ensure the cooperative execution of the two tasks.

[0095] In an example, taking a dual-arm robot as an example, the first task is to deliver an article to a user with one arm, which is the main task and has a high priority. The second task can be to simply clean and arrange the working area with the other arm during the delivery of the article.

[0096] In an example, the robot can determine a stiffness matrix corresponding to the second task and a damping matrix corresponding to the second task, wherein the stiffness matrix corresponding to the second task and the damping matrix corresponding to the second task can be given in advance. Therefore, the robot can determine the stiffness matrix corresponding to the second task and the damping matrix corresponding to the second task from the pre-stored data.

[0097] In an example, the robot can determine a second joint control torque of the second task according to the stiffness matrix corresponding to the second task and the damping matrix corresponding to the second task.

[0098] In an example, the control formula of the second joint control torque can be: wherein K p is the stiffness matrix of the second task, D p is the damping matrix of the second task, q d is the desired angle of the joint, q is the actual angle of the joint, and q is the rate of change of the error between the desired angle and the actual angle.

[0099] In an example, after the first joint control torque and the second joint control torque are determined, the robot can further determine a total control torque τ 总 = τ + N T τ p . For example, assuming there are ten joints in the force control component, τ 总 may be a 1x10 vector, τ 总 may be a 1x10 vector, and τ 总 = τ + N T τ p may be used to characterize the splicing of τ and τ p to control the first joint and the second joint in the force control component. Wherein N T is the null space projection matrix of the first task.

[0100] In the embodiments of the present application, by determining the corresponding stiffness matrix and damping matrix for the second task, and determining the control torque according to the same to control the second joint to perform the task, the robot resources are reasonably allocated to perform the second task in the case of ensuring the priority of the first task, and the problem of reasonable allocation and collaborative work of robot resources when the priorities of multiple tasks are different is solved, and the working efficiency and multi-task processing capability of the robot are improved.

[0101] According to an embodiment of the present application, the operation space corresponding to the second task is located in the null space of the operation space of the first task, and the second joint is a redundant joint of the first task. Wherein the null space of the operation space of the first task is the space in the space except the operation space of the first task.

[0102] In an example, the influence degree of the second joint control torque corresponding to the second task on the first joint control torque in the operation space of the first task is 0.

[0103] In an example, the operation space of the second task is set in the null space of the operation space of the first task, and the second joint is set as a redundant joint, so that the second task can be performed by the redundant joint without interfering with the normal execution of the first task, fully utilizing the hardware resources of the robot, and avoiding the conflict between the two tasks in the operation space.

[0104] In an example, the first task can be a carrying task of the robot, and the second task can be a pose adjustment task of a redundant joint on the force control component when the robot performs the carrying task.

[0105] In an example, taking a surgical robot as an example, the first task thereof can be to precisely manipulate a surgical instrument to perform a surgical operation, and the operation space thereof is a surgical area and a motion range of the instrument. The second task thereof can be to monitor a local vital sign (such as a pressure of a specific part) of a patient in real time during a surgery by using a redundant second joint.

[0106] In the embodiments of the present application, by placing the operation space of the second task in the null space of the operation space of the first task and performing the second task by using the redundant joint, the additional task is implemented without affecting the first task, the problem of mutual interference between tasks during multi-task execution is solved, the utilization of the spatial and hardware resources of the robot is improved, and the function of the robot is expanded.

[0107] According to an embodiment of the present application, the robot control method further includes: determining an end motion speed of the force control component; determining a damping adjustment coefficient corresponding to the end motion speed according to the end motion speed and a preset damping adjustment coefficient corresponding to each of a plurality of speed intervals; and determining the damping coefficient corresponding to the first task according to the damping adjustment coefficient corresponding to the end motion speed.

[0108] In an example, when the end motion speed of the force control component is small, it can be considered that it is just started, at this time, the corresponding damping coefficient thereof should be slowly increased, and when the end motion speed of the force control component is large, it can be considered that it is subjected to a large external force, at this time, in order to avoid the situation that the force control component is too heavy to be dragged due to too large damping, the corresponding damping coefficient thereof can be reduced. As can be seen, the end motion speed of the force control component is different, and the corresponding scene thereof is also not completely the same. Based on this, different damping coefficients can be provided according to different scenes.

[0109] In an example, for the end motion speed, a plurality of speed intervals corresponding thereto and a damping adjustment coefficient corresponding to each of the speed intervals can be preset.

[0110] In an example, assuming that the force control component is a mechanical arm, the robot can determine the end motion speed of the mechanical arm. Then, the robot can determine, according to the end motion speed, a speed interval into which the end motion speed falls from the preset plurality of speed intervals, and take the damping adjustment coefficient corresponding to the speed interval as the damping adjustment coefficient of the end motion speed. Finally, the robot can determine the damping coefficient corresponding to the first task according to the damping adjustment coefficient of the end motion speed.

[0111] In an example, the robot can directly take the damping adjustment coefficient as the damping coefficient corresponding to the first task.

[0112] In an example, an initial damping coefficient can be preset, and then, after the damping adjustment coefficient is determined, the robot can determine the damping coefficient corresponding to the first task according to the initial damping coefficient and the damping adjustment coefficient.

[0113] In the embodiment of the present application, by dynamically determining the damping adjustment coefficient according to the speed of the force control component end motion, and then determining the damping coefficient corresponding to the first task, the adaptive adjustment of the robot damping is realized, the problem of poor motion stability and control accuracy caused by fixed damping of the robot under different motion speeds is solved, and the working quality and efficiency of the robot under various speed conditions are improved.

[0114] According to an embodiment of the present application, the damping adjustment coefficient corresponding to the end motion speed is determined according to the end motion speed and the damping adjustment coefficients corresponding to the preset plurality of speed intervals, comprising: in the case that the end motion speed is located in the first speed interval, determining the damping adjustment coefficient corresponding to the end motion speed as 0, wherein the first speed interval is used to represent a speed less than the first speed; in the case that the end motion speed is located in the second speed interval, determining the damping adjustment coefficient corresponding to the end motion speed according to the difference between the end motion speed and the first speed and the difference between the second speed and the first speed, wherein the second speed interval is used to represent a speed greater than or equal to the first speed and less than the second speed; in the case that the end motion speed is located in the third speed interval, determining the damping adjustment coefficient corresponding to the end motion speed according to the difference between the third speed and the end motion speed and the difference between the third speed and the second speed, wherein the third speed interval is used to represent a speed greater than or equal to the second speed and less than the third speed; in the case that the end motion speed is located in the fourth speed interval, determining the damping adjustment coefficient corresponding to the end motion speed as 1, wherein the fourth speed interval is used to represent a speed greater than or equal to the third speed.

[0115] In an example, the first speed, the second speed and the third speed are preset speed limits for dividing different speed intervals.

[0116] In an example, different speed intervals correspond to different damping adjustment strategies to adapt to the motion requirements of the robot under different speeds.

[0117] In an example, the damping adjustment coefficient is a coefficient determined according to the interval in which the end motion speed is located, which is used to obtain a damping coefficient suitable for the current speed.

[0118] In an example, by setting specific damping adjustment rules for different speed intervals, the robot can obtain appropriate damping under various speed conditions, ensuring the stability of its motion and the accuracy of its operation. Reducing damping at low speed can make the robot more flexible, and increasing damping at high speed can effectively suppress vibration and instability factors.

[0119] In an example, it is assumed that the first speed is v L , the second speed is v M , and the third speed is v U, the first speed interval can be (0, v L ), the second speed interval can be [v L , v M ), the third speed interval can be [v M , v U ), and the fourth speed interval can be [v U , ∞).

[0120] In an example, if the end motion speed is in the first speed interval, the damping adjustment coefficient can be directly determined as 0. In this way, the robot can quickly respond to external forces in the initial stage of motion.

[0121] In an example, if the end motion speed is in the second speed interval, the damping adjustment coefficient can be determined according to At this time, appropriately increasing the damping can make the robot more stable during motion and avoid shaking.

[0122] In an example, if the end motion speed is in the third speed interval, the damping adjustment coefficient can be determined according to At this time, the damping is further adjusted to adapt to the stability requirement at a higher speed.

[0123] In an example, if the end motion speed is in the fourth speed interval, the damping adjustment coefficient is determined as 1. In this way, at a high speed, the larger damping can effectively suppress the vibration of the robot.

[0124] In the embodiments of the present application, by using different damping adjustment coefficient determination methods for different speed intervals, fine adjustment of the robot damping is realized, the problem of poor motion performance of the robot due to fixed damping at different speed stages is solved, the motion stability and control accuracy of the robot at various speeds are improved, and it is ensured that the robot can efficiently and accurately complete tasks in different working scenarios.

[0125] According to an embodiment of the present application, the damping adjustment coefficient corresponding to the end motion speed is determined according to the difference between the end motion speed and the first speed and the difference between the second speed and the first speed, including: in the case that the motion trend of the end motion speed is speed increase, the damping adjustment coefficient corresponding to the end motion speed is determined according to the difference between the end motion speed and the first speed and the difference between the second speed and the first speed; in the case that the motion trend of the end motion speed is speed decrease, the damping adjustment coefficient determined at the last time is taken as the damping adjustment coefficient corresponding to the end motion speed; the damping adjustment coefficient corresponding to the end motion speed is determined according to the difference between the third speed and the end motion speed and the difference between the third speed and the second speed, including: in the case that the motion trend of the end motion speed is speed decrease, the damping adjustment coefficient corresponding to the end motion speed is determined according to the difference between the third speed and the end motion speed and the difference between the third speed and the second speed; in the case that the motion trend of the end motion speed is speed increase, the damping adjustment coefficient determined at the last time is taken as the damping adjustment coefficient corresponding to the end motion speed.

[0126] In an example, the speed of the end of the force control component may have oscillation in a certain period of time, at this time, if the damping adjustment coefficient is determined according to the oscillation end motion speed, the damping needs to be adjusted frequently, which will cause the instability of the robot motion. Therefore, in order to avoid the above situation, the robot can also determine the damping adjustment coefficient according to the motion trend of the end motion speed.

[0127] In an example, the motion trend refers to whether the speed of the end of the force control component is in the state of increase or decrease.

[0128] In an example, when the end motion speed falls into the second speed interval, the robot can judge whether the motion trend of the end motion speed is speed increase, if yes, the robot can determine the damping adjustment coefficient according to the difference between the end motion speed and the first speed and the difference between the third speed and the second speed, if not, the robot can take the damping adjustment coefficient determined at the last time as the damping adjustment coefficient corresponding to the end motion speed, that is, maintain the damping adjustment coefficient unchanged.

[0129] In an example, when the end motion speed falls into the third speed interval, the robot can judge whether the motion trend of the end motion speed is speed decrease, if yes, the robot can determine the damping adjustment coefficient according to the difference between the third speed and the end motion speed and the difference between the third speed and the second speed, if not, the robot can take the damping adjustment coefficient determined at the last time as the damping adjustment coefficient corresponding to the end motion speed, that is, maintain the damping adjustment coefficient unchanged.

[0130] In an example, the determination formula of the damping adjustment coefficient can be as follows:

[0131] ​​

[0132] wherein, when v = v L , the result is 0, and when v = v m , the result is 1. And as v gradually rises, the function value corresponding to s(v) also rises. when v = v m , the result is 1, and when v = v U , the result is 0. And as v gradually decreases, the function value corresponding to s(v) also decreases. prev S is the damping adjustment coefficient determined at the previous time.

[0133] In an example, when v ∈ [v L , v M ] and v > (1-S prev )(v M -v L ), but the end motion speed at the previous sampling time and the end motion speed at the current sampling time represent a downward trend, the damping adjustment coefficient can remain unchanged, that is, the damping adjustment coefficient determined at the previous sampling time is taken as the damping adjustment coefficient at the current sampling time. In this way, the situation that the damping coefficient oscillates when the speed generally rises but there is oscillation can be avoided.

[0134] In an example, when v ∈ [v M , v U ] and v < (S prev )(v U -v M ), but the end motion speed at the previous sampling time and the end motion speed at the current sampling time represent an upward trend, the damping adjustment coefficient can remain unchanged, that is, the damping adjustment coefficient determined at the previous sampling time is taken as the damping adjustment coefficient at the current sampling time. In this way, the situation that the damping coefficient oscillates when the speed generally decreases but there is oscillation can be avoided.

[0135] In the embodiments of the present application, the damping adjustment coefficient is determined by the motion trend and the speed interval in which the end execution speed falls, which can avoid the problem that the robot motion is unstable due to frequent adjustment of the damping when the motion speed of the robot oscillates. A more reasonable and intelligent determination method of the damping adjustment coefficient is realized, so that the robot can maintain a relatively stable motion state when facing speed fluctuations. This method can ensure that the robot can accurately control the damping during the execution of the task, whether in the speed increasing or decreasing stage, and improves the overall operation precision and work efficiency of the robot, providing a strong guarantee for the stable operation of the robot in actual application scenarios.

[0136] Figure 3A flowchart of a robot control method provided by another example embodiment of the present application is shown. Figure 3 An embodiment is Figure 2 Examples corresponding to the embodiment are provided below. To avoid repetition, the same parts can refer to the description of the above embodiments, which will not be described here. For example, Figure 3 As shown, the robot control method can include the following.

[0137] 310: Determine the force parameter of the force control component.

[0138] 320: According to the force parameter, determine the stiffness coefficient of the first task, and according to the force parameter and the end motion speed of the force control component, determine the damping coefficient of the first task.

[0139] 330: According to the stiffness coefficient of the first task and the inertia matrix, determine the stiffness matrix of the first task, and according to the damping coefficient of the first task and the inertia matrix, determine the damping matrix of the first task.

[0140] 340: According to the damping matrix of the first task, the inertia matrix of the first task and the stiffness matrix of the first task, determine the first joint control torque of the first task.

[0141] 350: According to the damping matrix of the second task and the inertia matrix of the second task, determine the second joint control torque of the second task.

[0142] 360: According to the first joint control torque of the first task, drive the first joint in the force control module to perform the first task, and according to the second joint control torque of the second task, drive the second joint in the force control module to perform the second task.

[0143] According to the robot control method provided by the embodiment of the present application, by determining the force parameter of the force control component, when the force parameter is greater than or equal to the preset threshold, the stiffness coefficient corresponding to the first task is reduced to obtain the adjusted stiffness coefficient, and then the stiffness matrix is obtained based on the adjusted stiffness coefficient, and the damping matrix is determined according to the damping coefficient corresponding to the first task, and then the first joint control matrix of the first task is determined according to the stiffness matrix, the damping matrix and the inertia matrix of the first task, and finally the force control component of the robot is controlled to perform the first task according to the first joint control matrix. In this way, when the robot collides and the force parameter of the force control component is too large, the stiffness coefficient is reduced to avoid the situation that the force control component rebounds too much due to the stiffness being too large, thereby avoiding or reducing the vibration of the force control component.

[0144] It should be understood that the execution order of the above steps can be adjusted according to actual needs.

[0145] Example device

[0146] This application also provides a robot, which includes a control module for performing the above-described actions. Figure 2 or Figure 3 The robot control method provided in the embodiments is shown in the example.

[0147] The specific functions and effects of the robot provided in this application embodiment can be referred to the description in the above method embodiment. To avoid repetition, they will not be repeated here.

[0148] Figure 4 The diagram shown is a structural schematic of a robot control device provided in an exemplary embodiment of this application. Figure 4 As shown, the robot control device 400 includes: a force determination module 410, an adjustment module 420, a matrix determination module 430, a torque determination module 440, and a control module 450. The robot control device is applied to an emergency stop control device, which communicates with the robot through at least one of multiple control links.

[0149] The force determination module 410 is used to determine the force parameters of the force control component, wherein the force control component is used to perform a first task based on the force parameters.

[0150] The adjustment module 420 is used to reduce the stiffness coefficient corresponding to the first task when the force parameter is greater than or equal to a preset threshold, so as to obtain the adjusted stiffness coefficient.

[0151] The matrix determination module 430 is used to determine the stiffness matrix based on the adjusted stiffness coefficients and the damping matrix based on the damping coefficients corresponding to the first task.

[0152] The torque determination module 440 is used to determine the first joint control torque of the first task based on the stiffness matrix, damping matrix and inertia matrix of the first task.

[0153] The control module 450 is used to control the force control components of the robot to perform the first task based on the control torque of the first joint.

[0154] Optionally, the matrix determination module 430 is configured to: determine the stiffness matrix based on the adjusted stiffness coefficient, the inertia matrix, and the basic stiffness matrix; and determine the damping matrix based on the damping coefficient, the inertia matrix, and the damping ratio of the force control component.

[0155] Optionally, the matrix determining module 430 is configured to: perform a double-diagonalization decomposition on the inertia matrix to obtain a first sub-matrix and a second sub-matrix which are transposes of each other; determine the stiffness matrix according to the adjusted stiffness coefficient, the base stiffness matrix, and the first sub-matrix and / or the second sub-matrix; and determine the damping matrix according to the damping coefficient, a damping ratio of the force-controlled component, and the first sub-matrix and / or the second sub-matrix.

[0156] Optionally, the force-controlled component includes a first joint and a second joint, the force-controlled component is configured to perform the first task based on a first joint control torque through the first joint, and the force-controlled component is configured to perform a second task through the second joint, the second task having a priority lower than that of the first task. The torque determining module 440 is configured to determine a stiffness matrix corresponding to the second task and a damping matrix corresponding to the second task, and determine a second joint control torque of the second task according to the stiffness matrix corresponding to the second task and the damping matrix corresponding to the second task. The second joint of the force-controlled component is controlled to perform the second task according to the second joint control torque.

[0157] Optionally, an operation space of the second task is located in a null space of an operation space of the first task, and the second joint is a redundant joint of the first task.

[0158] Optionally, the adjusting module 420 is configured to: determine an end motion speed of the force-controlled component; determine a damping adjustment coefficient corresponding to the end motion speed according to the end motion speed and a preset damping adjustment coefficient corresponding to each of a plurality of speed intervals; and determine the damping coefficient corresponding to the first task according to the damping adjustment coefficient corresponding to the end motion speed.

[0159] Optionally, the adjusting module 420 is configured to: in a case where the end motion speed is located in a first speed interval, determine that the damping adjustment coefficient corresponding to the end motion speed is 0, wherein the first speed interval is used to represent a speed less than the first speed; in a case where the end motion speed is located in a second speed interval, determine the damping adjustment coefficient corresponding to the end motion speed according to a difference between the end motion speed and the first speed and a difference between the second speed and the first speed, wherein the second speed interval is used to represent a speed greater than or equal to the first speed and less than the second speed; in a case where the end motion speed is located between the third speed intervals, determine the damping adjustment coefficient corresponding to the end motion speed according to a difference between the third speed and the end motion speed and a difference between the third speed and the second speed, wherein the third speed interval is used to represent a speed greater than or equal to the second speed and less than the third speed; and in a case where the end motion speed is located in a fourth speed interval, determine that the damping adjustment coefficient corresponding to the end motion speed is 1, wherein the fourth speed interval is used to represent a speed greater than or equal to the fourth speed.

[0160] Optionally, the adjusting module 420 is configured to: in a case where the motion trend of the end motion speed is speed increase, determine the damping adjustment coefficient corresponding to the end motion speed according to a difference between the end motion speed and the first speed and a difference between the second speed and the first speed; and in a case where the motion trend of the end motion speed is speed decrease, take the damping adjustment coefficient determined at a previous moment as the damping adjustment coefficient corresponding to the end motion speed.

[0161] Optionally, the adjusting module 420 is configured to: in a case where the motion trend of the end motion speed is speed decrease, determine the damping adjustment coefficient corresponding to the end motion speed according to a difference between the third speed and the end motion speed and a difference between the third speed and the second speed; and in a case where the motion trend of the end motion speed is speed increase, take the damping adjustment coefficient determined at a previous moment as the damping adjustment coefficient corresponding to the end motion speed.

[0162] It should be understood that the operations and functions of the force determination module 410, the adjusting module 420, the matrix determination module 430, the torque determination module 440 and the control module 450 in the above embodiments can refer to the descriptions of the robot control method provided in the above embodiments, and will not be repeated here. Figure 2 In order to avoid repetition, the operations and functions of the force determination module 410, the adjusting module 420, the matrix determination module 430, the torque determination module 440 and the control module 450 in the above embodiments can refer to the descriptions of the robot control method provided in the above embodiments, and will not be repeated here.

[0163] Figure 5Fig. 5 shows a block diagram of an electronic device 500 for performing the robot control method according to an example embodiment of the present disclosure. The electronic device 500 can be a force control component, or a functional unit inside the robot, such as a control unit responsible for robot motion scheduling, a processor unit responsible for algorithm computation, or a control device for external interaction with the robot, such as a server, an edge computing device, a host computer, etc.

[0164] Referring to Figure 5 , the electronic device 500 includes a processing component 510, which further includes one or more processors, and a memory resource represented by a memory 520, for storing instructions executable by the processing component 510, such as an application program. The application program stored in the memory 520 can include one or more than one module each corresponding to a set of instructions. In addition, the processing component 510 is configured to execute the instructions to perform the robot control method described above.

[0165] The electronic device 500 can further include a power supply component configured to perform power management of the electronic device 500, a wired or wireless network interface configured to connect the electronic device 500 to a network, and an input / output (I / O) interface. The electronic device 500 can be operated based on an operating system stored in the memory 520, such as Windows Server TM , MacOSX TM , Unix TM , Linux TM , FreeBSD TM or the like.

[0166] A non-transitory computer readable storage medium, when the instructions stored in the storage medium are executed by the processor of the electronic device 500 described above, enable the electronic device 500 described above to perform a robot control method.

[0167] A computer program product, the computer program product including a computer program, the computer program being executed by the processor of the computer device, enabling the computer device to perform the robot control method provided by any of the embodiments described above.

[0168] A computer program product, the computer program product including a computer program, the computer program being executed by the processor of the computer device, enabling the computer device to perform the robot control method provided by any of the embodiments described above.

[0169] All the optional technical solutions described above can be combined to form optional embodiments of the present disclosure, which will not be described here one by one.

[0170] Those skilled in the art can clearly understand that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0171] Those skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, which will not be repeated here.

[0172] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the above-described device embodiments are merely schematic, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0173] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.

[0174] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically independently, or two or more units can be integrated into one unit.

[0175] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various program code storage media.

[0176] It should be noted that in the description of the present application, the terms "first", "second", "third" and the like are only for the purpose of description and cannot be understood as indicating or implying relative importance. In addition, in the description of the present application, unless otherwise specified, the meaning of "a plurality of" is two or more.

[0177] It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or authorized by all parties, and the collection, use and processing of related data need to comply with relevant national and regional laws, regulations and standards, and provide corresponding operation portal for user to choose authorization or refusal.

[0178] The above only describes the preferred embodiments of the present application and does not limit the present application. Any modification, equivalent replacement, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.

Claims

1. A robot control method applied to a robot, the robot being provided with a force control component, characterized by, The method comprises: determining a force parameter of a force control component, wherein the force control component is configured to perform a first task based on the force parameter; when the force parameter is greater than or equal to a preset threshold, reducing a stiffness coefficient corresponding to the first task to obtain an adjusted stiffness coefficient; determining a stiffness matrix according to the adjusted stiffness coefficient, and determining a damping matrix according to a damping coefficient corresponding to the first task; determining a first joint control torque of the first task according to the stiffness matrix, the damping matrix, and an inertia matrix of the first task; controlling the force control component of the robot to perform the first task according to the first joint control torque.

2. The robot control method according to claim 1, characterized by, The method further comprises: determining a stiffness matrix according to the adjusted stiffness coefficient, and determining a damping matrix according to a damping coefficient corresponding to the first task. The method further comprises:

3. The robot control method according to claim 2, wherein, determining the stiffness matrix according to the adjusted stiffness coefficient, the inertia matrix, and a basic stiffness matrix; determining the damping matrix according to the damping coefficient, the inertia matrix, and a damping ratio of the force control component. The method further comprises: performing a double diagonalization decomposition on the inertia matrix to obtain a first sub-matrix and a second sub-matrix which are transposes of each other; determining the stiffness matrix according to the first sub-matrix and / or the second sub-matrix, the adjusted stiffness coefficient, and the basic stiffness matrix; 4. The robot control method according to claim 1, characterized by, The method further comprises: determining the damping matrix according to the first sub-matrix and / or the second sub-matrix, the damping coefficient, and the damping ratio of the force control component. The force control component comprises a first joint and a second joint, the force control component is configured to perform the first task through the first joint based on the first joint control torque, and the force control component is configured to perform a second task through the second joint, the second task having a lower priority than the first task. The method further comprises: determining a stiffness matrix corresponding to the second task and a damping matrix corresponding to the second task; 5. The robot control method according to claim 4, wherein, determining a second joint control torque of the second task according to the stiffness matrix corresponding to the second task and the damping matrix corresponding to the second task; 6. The robot control method according to claim 1, wherein, controlling the second joint of the force control component to perform the second task according to the second joint control torque. The operation space of the second task is located in a null space of the operation space of the first task, and the second joint is a redundant joint of the first task. The method further comprises: determining an end motion speed of the force control component; 7. The robot control method according to claim 6, wherein, determining a damping adjustment coefficient corresponding to the end motion speed according to the end motion speed and a plurality of preset velocity intervals respectively corresponding to damping adjustment coefficients; determining the damping coefficient corresponding to the first task according to the damping adjustment coefficient corresponding to the end motion speed. The method further comprises: In a case where the end motion speed is located in a first speed interval, a damping adjustment coefficient corresponding to the end motion speed is determined as 0, wherein the first speed interval is used to represent a speed less than the first speed; In a case where the end motion speed is located in a second speed interval, a damping adjustment coefficient corresponding to the end motion speed is determined according to a difference between the end motion speed and the first speed and a difference between a second speed and the first speed, wherein the second speed interval is used to represent a speed greater than or equal to the first speed and less than the second speed; In a case where the end motion speed is located between third speed intervals, a damping adjustment coefficient corresponding to the end motion speed is determined according to a difference between the third speed and the end motion speed and a difference between the third speed and the second speed, wherein the third speed interval is used to represent a speed greater than or equal to the second speed and less than the third speed; In a case where the end motion speed is located in a fourth speed interval, a damping adjustment coefficient corresponding to the end motion speed is determined as 1, wherein the fourth speed interval is used to represent a speed greater than or equal to the fourth speed.

8. The robot control method according to claim 7, wherein, The determination of the damping adjustment coefficient corresponding to the end motion speed according to the difference between the end motion speed and the first speed and the difference between the second speed and the first speed comprises: In a case where a motion trend of the end motion speed is speed increase, the damping adjustment coefficient corresponding to the end motion speed is determined according to the difference between the end motion speed and the first speed and the difference between the second speed and the first speed; In a case where a motion trend of the end motion speed is speed decrease, a damping adjustment coefficient determined at a previous time is taken as the damping adjustment coefficient corresponding to the end motion speed; The determination of the damping adjustment coefficient corresponding to the end motion speed according to the difference between the third speed and the end motion speed and the difference between the third speed and the second speed comprises: In a case where a motion trend of the end motion speed is speed decrease, the damping adjustment coefficient corresponding to the end motion speed is determined according to the difference between the third speed and the end motion speed and the difference between the third speed and the second speed; In a case where a motion trend of the end motion speed is speed increase, a damping adjustment coefficient determined at a previous time is taken as the damping adjustment coefficient corresponding to the end motion speed.

9. A robot, characterized in that The electronic device comprises a processor and a memory for storing processor-executable instructions, wherein the processor is configured to execute the robot control method according to any one of claims 1 to 8.

10. An electronic device, comprising: The electronic device comprises a processor and a memory for storing processor-executable instructions, wherein the processor is configured to execute the robot control method according to any one of claims 1 to 8.

11. A computer readable storage medium, characterized in that, The storage medium stores a computer program for executing the robot control method according to any one of claims 1 to 8.

12. A computer program product, characterised in that, The computer program product comprises a computer program, and the computer program is executed by a processor of a computer device, so that the computer device can execute the robot control method in any one of claims 1 to 8.