Robot, method of operating the same, apparatus, storage medium, program product

By allocating sensory data and solving the inverse kinematics of whole-body control, a multi-arm force control framework is constructed, which solves the problems of poor force control effect and insufficient stability of multi-arm robots, and improves the stability and efficiency of multi-arm operation.

CN121199993BActive Publication Date: 2026-06-26智元创新(上海)科技股份有限公司

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
智元创新(上海)科技股份有限公司
Filing Date
2025-09-29
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

In existing technologies, multi-arm robots have poor force control and insufficient operational stability. In particular, in complex assembly and collaborative handling tasks, there is a risk of improper gripping leading to deformation or detachment of objects. Furthermore, single-arm force control frames lack the ability to uniformly schedule the degrees of freedom of the entire body.

Method used

By receiving the force data sensed by the robotic arm, external and internal forces are allocated, and the desired external force, internal force, and position are combined for calculation. The inverse kinematics of whole-body control is used to solve the problem, determine the joint positions of the robotic arm and the waist joint, and construct a multi-arm force control framework based on whole-body control to realize the force control of each robotic arm.

Benefits of technology

It improves the force control effect and operational stability of multi-arm robots, ensures the decoupling of internal forces and external forces between multi-arm operations, and prevents interference between the force perception interaction between the target object and the external environment, thereby improving the stability and efficiency of robot operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121199993B_ABST
    Figure CN121199993B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a robot and an operating method, device, storage medium and program product thereof. The method comprises the following steps: receiving sensing force data of a mechanical arm; respectively distributing external force and internal force based on the sensing force data of each mechanical arm in at least two mechanical arms, to determine the corresponding sensing external force and sensing internal force of each mechanical arm; based on the corresponding sensing external force and sensing internal force of each mechanical arm, the expected external force and internal force of a target object, and the expected position of the target object, solving between force and position to determine the expected position of each mechanical arm; according to the expected position of each mechanical arm, performing inverse kinematics solving of the robot based on whole body control to determine the joint position of each joint in each mechanical arm and waist, and controlling each mechanical arm to operate the target object based on the joint position. The embodiment of the application constructs a multi-arm force control framework based on whole body control, has good force control effect, and can improve the stability of robot operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics, and more particularly to robots and their operating methods, devices, storage media, and program products. Background Technology

[0002] As the application scenarios of robots continue to expand, robots have gradually evolved from single-arm operation to collaborative operation with two or more robotic arms to meet the needs of tasks such as complex assembly, collaborative handling, and precision machining. However, for robots with two or more robotic arms, the force control effect of related single-arm force control frames is not ideal. In addition, as the structural complexity of robots increases, the operational stability of robots based on related single-arm force control frames is also insufficient.

[0003] Based on this, embodiments of this application provide robots and their operating methods, devices, storage media, and program products to improve related technologies. Summary of the Invention

[0004] The purpose of this application is to provide a robot and its operating method, device, and storage medium, which have a better force control effect for robots with at least two robotic arms and can improve the stability of robot operation.

[0005] The objective of this application embodiment is achieved using the following technical solutions:

[0006] In a first aspect, embodiments of this application provide a robot operation method. The robot includes multiple robotic arms and a waist section. The method includes: when the robot uses multiple robotic arms to operate a target object, receiving force perception data from the corresponding robotic arms; allocating external and internal forces based on the force perception data of each of at least two robotic arms to determine the perceived external and internal forces applied to the target object by each robotic arm; performing force-position calculations based on the corresponding perceived external and internal forces of each robotic arm, the desired external and internal forces of the target object, and the desired position of the target object to determine the desired position of each robotic arm; and performing inverse kinematics calculations based on whole-body control on the robot according to the desired positions of each robotic arm to determine the joint positions of each joint in each robotic arm and the waist section, so as to control each robotic arm to operate the target object based on the joint positions.

[0007] In some embodiments, the step of allocating external and internal forces based on the force sensing data of each of the at least two robotic arms to determine the perceived external and internal forces applied to the target object by each robotic arm includes: for each robotic arm, performing the following processing: based on the force conversion relationship between the force applied by the robotic arm and the force received by the target object, allocating external and internal forces on the force sensing data of the robotic arm to obtain the perceived external and internal forces applied to the target object by the robotic arm.

[0008] In some embodiments, the force conversion relationship is represented using a grasping matrix.

[0009] In some embodiments, the step of calculating the force-position relationship based on the corresponding sensed external force and sensed internal force of each robotic arm, the expected external force and expected internal force of the target object, and the expected position of the target object to determine the expected position of each robotic arm includes: performing external force admittance control on the target object and the external environment based on the corresponding sensed external force of each robotic arm, the expected external force of the target object, and the expected position of the target object to generate the object position of the target object; performing closed-chain constraints based on the object position to generate the robotic arm position of each robotic arm; and performing internal force admittance control on each robotic arm and the target object based on the corresponding sensed internal force of each robotic arm, the expected internal force of the target object, and the robotic arm position of each robotic arm to generate the expected position of each robotic arm.

[0010] In some embodiments, the step of performing inverse kinematics solution based on whole-body control of the robot to determine the joint positions of each joint in each robotic arm and the waist, according to the desired positions of each robotic arm, includes: minimizing a first objective function based on the desired positions of each robotic arm to generate a first joint position increment for each joint; updating the corresponding joint positions according to the first joint position increments of each joint; wherein the first objective function is constructed using a quadratic programming approach, and the gradient term of the first objective function is established based on the whole-body Jacobian matrix, which is used to characterize the mapping relationship between the joint velocities of each joint in the whole body and the end effector velocities of each robotic arm.

[0011] In some embodiments, at least some of the robotic arms have redundant degrees of freedom; the method further includes: minimizing a second objective function based on reference configuration information of the robotic arm with redundant degrees of freedom to generate second joint position increments for the corresponding joints; updating the corresponding joint positions according to the first joint position increments of each joint includes: updating the corresponding joint positions according to the first joint position increments and second joint position increments of each joint in the robotic arm with redundant degrees of freedom; wherein the second objective function is constructed using a quadratic programming approach, and the gradient term of the second objective function is established based on the null space of the whole-body Jacobian matrix.

[0012] In some embodiments, the quadratic programming corresponding to the first objective function and / or the second objective function has specified physical constraints, which include at least one of joint torque constraints, joint position constraints, joint velocity constraints, and joint acceleration constraints.

[0013] Secondly, embodiments of this application provide a robot operating device. The robot includes multiple robotic arms and a waist section. The device includes: a data receiving module, used to receive the perceived force data of the corresponding robotic arms when the robot uses multiple robotic arms to operate a target object; a force distribution module, used to distribute external and internal forces based on the perceived force data of each of at least two robotic arms, to determine the perceived external and internal forces applied to the target object by each robotic arm; a position calculation module, used to calculate the relationship between force and position based on the corresponding perceived external and internal forces of each robotic arm, the desired external and internal forces of the target object, and the desired position of the target object, to determine the desired position of each robotic arm; and an inverse kinematics solving module, used to perform inverse kinematics solving based on whole-body control of the robot according to the desired positions of each robotic arm, to determine the joint positions of each joint in each robotic arm and the waist section, so as to control each robotic arm to operate the target object based on the joint positions.

[0014] Thirdly, embodiments of this application provide a robot, which includes a control module for executing any of the methods described above.

[0015] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of any of the above methods.

[0016] Fifthly, embodiments of this application provide a computer program product, the computer program product including a computer program, which, when executed by a processor, implements the steps of any of the above methods.

[0017] This application provides a robot and its operating method, apparatus, storage medium, and program product. The robot includes multiple robotic arms and a waist section. The method includes: receiving the force perception data of the corresponding robotic arms when the robot uses multiple robotic arms to operate a target object; allocating external and internal forces based on the force perception data of each of at least two robotic arms to determine the perceived external and internal forces applied to the target object by each robotic arm; performing force-position calculations based on the corresponding perceived external and internal forces of each robotic arm, the desired external and internal forces of the target object, and the desired position of the target object to determine the desired position of each robotic arm; and performing inverse kinematics solution based on whole-body control of the robot according to the desired position of each robotic arm to determine the joint positions of each joint in each robotic arm and the waist section, so as to control each robotic arm to operate the target object based on the joint positions.

[0018] The above embodiments enable a robot to receive and distribute perceived force data when using multiple robotic arms to manipulate a target object, obtaining perceived external and internal forces. By combining the desired external force, desired internal force, and desired position, force and position calculations are performed to generate the desired position of the robotic arm. Then, joint positions are obtained through inverse kinematics based on whole-body control, controlling the robotic arm to perform operations. Thus, a multi-arm force control framework based on whole-body control is constructed, enabling force control of each robotic arm based on load distribution and internal / external force control. For robots with at least two robotic arms, it exhibits good force control performance, improving the stability of robot task execution. The inverse kinematics solution method is highly versatile, ensuring good scalability of the force control framework, applicable to robots of any configuration and any degree of freedom. Furthermore, the perceived force data is distributed as external and internal forces, completely decoupling the perceived internal forces between multiple arm operations from the perceived external forces of the target object's environment. These two forces do not affect each other, allowing force-sensing interaction between the target object and the external environment. Multiple robotic arms can maintain stability in grasping the target object through internal force control, and grasping stability and environmental interaction do not interfere with each other. Furthermore, by coordinating multiple degrees of freedom through full-body control, the stability and efficiency of robot operation are improved. Attached Figure Description

[0019] The embodiments of this application are further described below with reference to the accompanying drawings and specific implementation details.

[0020] Figure 1 This is a flowchart illustrating a robot operation method provided in an embodiment of this application.

[0021] Figure 2 This is a schematic diagram of a load distribution model provided in an embodiment of this application.

[0022] Figure 3 This is a schematic diagram of a dual-arm force control frame provided in an embodiment of this application.

[0023] Figure 4 This is a structural block diagram of a robot operating device provided in an embodiment of this application.

[0024] Figure 5 This is a structural block diagram of a robot provided in an embodiment of this application.

[0025] Figure 6 This is a structural block diagram of a computer device provided in an embodiment of this application. Detailed Implementation

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

[0027] In the description of the embodiments of this application, it should be understood that the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, features defined with "first" and "second" may explicitly or implicitly include one or more of the stated features. In the description of the embodiments of this application, "multiple" means two or more, unless otherwise explicitly specified.

[0028] Most existing robot force control frameworks are based on single-arm systems. However, in dual-arm and multi-arm operation scenarios, a single-arm approach alone is insufficient. Specifically, the challenge of dual-arm and multi-arm operation lies in maintaining stable object grasping to reduce the risk of deformation or detachment due to improper gripping, while simultaneously ensuring force interaction between the object and the environment to minimize force imbalances or rigid collisions during operation. Furthermore, when the robot includes waist or lower limb joints, the operation is essentially a coordinated full-body movement, and existing single-arm force control frameworks lack the ability to uniformly manage all degrees of freedom of the entire body.

[0029] See Figure 1 , Figure 1 This is a flowchart illustrating a robot operation method provided in an embodiment of this application.

[0030] In order to improve the relevant technology, this application provides a robot operation method, wherein the robot includes multiple robotic arms and a waist, and the method includes steps S101 to S104.

[0031] Step S101: When the robot uses multiple robotic arms to operate the target object, receive the sensing force data of the corresponding robotic arms.

[0032] Step S102: Based on the sensing force data of each of the at least two robotic arms, the external force and internal force are allocated to determine the sensing external force and sensing internal force applied by each robotic arm to the target object.

[0033] Step S103: Based on the perceived external force and perceived internal force of each robotic arm, the expected external force and expected internal force of the target object, and the expected position of the target object, perform the calculation between force and position to determine the expected position of each robotic arm.

[0034] Step S104: Based on the desired position of each robotic arm, perform inverse kinematics solution based on whole-body control on the robot to determine the joint position of each joint in each robotic arm and waist, so as to control each robotic arm to operate the target object based on the joint position.

[0035] In the above embodiments, the robot may be equipped with two or more robotic arms, enabling collaborative operation. Compared to a single-arm robot, this robot has higher degrees of freedom and stronger collaborative capabilities when performing tasks, and can complete complex operations that are difficult for a single-arm robot to achieve. Structurally, the robot may include multiple robotic arms and a waist section. Each robotic arm may include one or more joints (the joints may be in series, parallel, or series-parallel configurations). The joints may be rotary or prismatic joints, and are equipped with corresponding drive devices and control units. In addition to the arms and waist section, the robot may also include one or more of the following parts: head, neck, lower limbs, and feet. The above embodiments do not limit this. The end effector of each robotic arm may be a gripper, suction cup, tool interface, or force-controlled gripper, etc., for direct contact with the target object and application of manipulative force. Functionally, the robot can perform operations such as grasping, transporting, assembling, and docking of objects through the collaborative control of multiple robotic arms. Robots can interact with target objects simultaneously from multiple directions, improving operational stability and flexibility; they can collaboratively transport or adjust the posture of large, heavy, or complex-shaped objects; and they can distribute force among multiple arms during operation, reducing single-arm overload. In terms of applications, robots can be widely used in industrial robots, service robots, and other fields.

[0036] The above embodiments do not limit the number of robotic arms, which can be, for example, two or more. Some embodiments in this document are illustrated using a dual-arm robot with two robotic arms; however, this application does not limit the embodiments to this, and in possible implementations, the description of the dual-arm robot is applicable to robots with more robotic arms.

[0037] It should be noted that the "position" in the embodiments of this application refers to a generalized position, for example. For the target object and the end effector of the robotic arm, the relevant position can be pose information, such as position and orientation information in three-dimensional space, which can be represented as six-dimensional information (x, y, z, and rotation angles or quaternions around the three coordinate axes). For the robot joint, the relevant position can be a generalized joint position, such as joint angles, linear displacements of the joint, or other parameters that can characterize the joint state. Correspondingly, for the robot joint, the relevant velocity can be a generalized velocity, such as joint angular velocity, joint linear velocity, etc.; the relevant acceleration can be a generalized acceleration, such as joint angular acceleration, joint linear acceleration, etc.

[0038] As can be seen, the robot can use multiple robotic arms to collaboratively manipulate the same target object, with the waist serving as a floating base to provide additional degrees of freedom, enabling the robot to achieve full-body coordination. By introducing waist degrees of freedom, the robot can more flexibly allocate the movement of each joint during operations, improving overall operability and stability.

[0039] The above embodiments do not limit the method of acquiring the force sensing data. In some embodiments, the force sensing data may be force data from a force / torque sensor (e.g., a six-dimensional force / torque sensor) or an estimation module. The force / torque sensor may be mounted on the end effector of a robotic arm to sense the force / torque applied by the end effector to the target object. The force sensing data is the input to the force control framework and is used to determine whether the actual operating force meets the expected requirements.

[0040] The distribution of external and internal forces is a method of force allocation. External forces reflect the interaction between the target object and the external environment, while internal forces reflect the internal forces generated by the target object being held by multiple arms. By distributing and calculating the force data, we can obtain the "external forces that contribute to the movement of the target object" and the "internal forces generated by the holding".

[0041] Based on the joint positions, the robotic arms operate on the target object. For example, the joint positions can be converted into robot joint control commands (or, the joint positions or joint velocities can be used as robot joint control commands) and sent to the robot drive system to realize the actual operation. The robot drive system can convert the robot joint control commands into motor control signals, execute them in a closed loop, and complete the operation task.

[0042] The above embodiments enable a robot to receive and distribute perceived force data when using multiple robotic arms to manipulate a target object. This data is used to obtain perceived external and internal forces, and combined with desired external, internal, and position data to calculate the desired position of the robotic arm. The joint positions are then obtained through inverse kinematics based on whole-body control, allowing the robotic arm to perform operations. This constructs a multi-arm force control framework based on whole-body control, enabling force control of each robotic arm based on load distribution and internal / external force control. This framework can be extended to include robots with more parts. For robots with at least two robotic arms, it provides good force control performance, improving the stability of robot task execution. The inverse kinematics solution method is highly versatile, ensuring good scalability of the force control framework, making it applicable to robots of any configuration and degree of freedom. Secondly, the sensory data is distributed into external and internal forces. For multi-arm (i.e., two or more robotic arms) operations, the perceived internal forces and the perceived external forces of the target object are completely decoupled, ensuring they do not affect each other. The target object and the external environment can interact through force perception. Multiple robotic arms can maintain stability in grasping the target object through internal force control, and grasping stability and environmental interaction do not interfere with each other. Furthermore, by coordinating multiple degrees of freedom through whole-body control, the stability and efficiency of robot operation are improved.

[0043] The above embodiments do not limit the configuration of the robot, which can be, for example, a series configuration, a parallel configuration, a series-parallel configuration, etc.

[0044] In some embodiments, the robot can be a serial robot (or simply a serial robot). When the method in the above embodiments is applied to a serial robot, the solution method is universal for serial robots of arbitrary configuration and arbitrary degrees of freedom.

[0045] When multiple robotic arms collaboratively operate on the same object, to achieve stable multi-arm cooperation, embodiments of this application can use the force data sensed by the end effector of the robotic arms as the total force, accurately allocating it into external forces (related to the interaction between the object and the environment) and internal forces (related to the cooperation between the multiple arms), and on this basis, achieve force and position control. To this end, orthogonal force allocation can be performed through grasping matrix and pseudo-inverse decomposition, mathematically distinguishing between internal and external forces. Alternatively, layered force adjustment can be achieved based on a virtual flexible control model or impedance / admittance hybrid control. Alternatively, sensor fusion methods can be used to combine visual, tactile, and force information to infer the force state of the object, thereby improving the robustness of force allocation. Furthermore, a learning-based control method can be introduced, using a deep learning model to learn the distribution patterns of internal and external forces in a large number of operation samples, providing auxiliary judgment for real-time force control.

[0046] In some embodiments, the step of allocating external and internal forces based on the force sensing data of each of the at least two robotic arms to determine the perceived external and internal forces applied to the target object by each robotic arm may include: for each robotic arm, performing the following processing: based on the force conversion relationship between the force applied by the robotic arm and the force received by the target object, allocating external and internal forces on the force sensing data of the robotic arm to obtain the perceived external and internal forces applied to the target object by the robotic arm.

[0047] Force conversion relationships refer to, for example, the mathematical mapping between the force applied by a robotic arm (e.g., the force applied by the end effector of the robotic arm) and the force experienced by the target object. The above embodiments do not limit the force conversion relationship; in some embodiments, the force conversion relationship can be represented using a grasping matrix. Each robotic arm corresponds to a grasping matrix, and an overall grasping matrix can be constructed based on the grasping matrices of multiple robotic arms. The overall grasping matrix can be used to convert the generalized forces applied by multiple robotic arms into the forces and moments experienced by the target object at its center of mass, providing a mathematical basis for the distribution of external and internal forces.

[0048] See Figure 2 , Figure 2 This is a schematic diagram of a load distribution model provided in an embodiment of this application. The robot may include, for example, a body, a waist, and two robotic arms (i.e., a left arm and a right arm), the left arm, right arm, and waist being rotatable relative to the body. The purpose of load distribution is, for example, to distribute loads based on perceived force data to obtain perceived external and internal forces.

[0049] For example, assuming the robot is a two-armed robot, the motion of the target object is described by the Newton-Euler equations. The relationship between the force exerted by the two arms and the force on the center of mass of the target object is shown below.

[0050]

[0051] Among them, f i n i Let r be the force and torque of the end effector of the i-th robotic arm. i f is the position vector of the centroid relative to the end effector. m n m These are the resultant force and resultant torque acting on the center of mass of the target object, respectively, where m represents the center of mass of the target object.

[0052] Next, a grasping matrix W is constructed to map the generalized forces of the dual-arm end effectors to the overall generalized forces of the target object's center of mass.

[0053] h m =Wh r

[0054]

[0055] Among them, h m h is the generalized force acting on the center of mass of the target object. r Let I be the generalized force of the dual-arm end effector, I be the identity matrix, and S(r1) and S(r2) be the antisymmetric matrices of the position vectors r1 and r2, respectively.

[0056] Through pseudo-inverse operation W + W can be used to obtain the following external force component (i.e., perceived external force) and internal force component (i.e., perceived internal force).

[0057] h Er =W + Wh r

[0058] h Ir =(I―W) + W)h r

[0059] In practical applications, the generalized force applied to the target object by the dual-arm end effector can be sensed by force / torque sensors on the end effector. To ensure that the distribution of internal and external forces does not interfere with each other, the following relationship can be satisfied when selecting the pseudo-inverse of the grasping matrix W.

[0060]

[0061] The above embodiments, based on the force conversion relationship between the force applied by the robotic arm and the force received by the target object, allocate the perceived force data into perceived external force and perceived internal force. Through the accurate allocation of external and internal forces, complete decoupling of internal and external forces is achieved in dual-arm or multi-arm operations, ensuring that the object grasping stability and the compliance of environmental interaction do not interfere with each other.

[0062] To achieve the calculation of force and position, embodiments of this application can combine force data sensed by multiple robotic arms with desired external force, desired internal force, and desired position to calculate the force-position relationship, thereby generating a reasonable desired position for the robotic arms. For example, based on external force admittance control, by comparing the difference between the sensed external force and the desired external force, the interaction position between the target object and the external environment can be adjusted, ensuring the target object remains compliant when subjected to external disturbances. Based on closed-chain constraint modeling, the motion relationship between multiple robotic arms and the same object is ensured to remain coordinated, avoiding imbalance in force and displacement transmission. Furthermore, internal force admittance control is introduced, by comparing the sensed internal force and the desired internal force, the end-effector posture of each robotic arm is dynamically adjusted to ensure reasonable clamping force distribution and reduce the risk of the target object being crushed or slipping. Alternatively, embodiments of this application can improve the accuracy of external force estimation by combining visual, tactile, and force sensing through sensor fusion. Alternatively, embodiments of this application can use a learning-based predictive model, using historical operational data to train a neural network to predict appropriate internal and external force distribution strategies, thereby improving the adaptability and robustness of the control.

[0063] In some embodiments, the step of calculating the force-position relationship based on the corresponding sensed external force and sensed internal force of each robotic arm, the expected external force and expected internal force of the target object, and the expected position of the target object to determine the expected position of each robotic arm may include: performing external force admittance control on the target object and the external environment based on the corresponding sensed external force of each robotic arm, the expected external force of the target object, and the expected position of the target object to generate the object position of the target object; performing closed-chain constraints based on the object position to generate the robotic arm position of each robotic arm; and performing internal force admittance control on each robotic arm and the target object based on the corresponding sensed internal force of each robotic arm, the expected internal force of the target object, and the robotic arm position of each robotic arm to generate the expected position of each robotic arm.

[0064] See Figure 3 , Figure 3 This is a schematic diagram of a dual-arm force control frame provided in an embodiment of this application. The end effector of the left arm can collect force data (e.g., force information and / or torque information) through a torque sensor, and after force / torque allocation, obtain the corresponding perceived external force h of the left arm. Er1 and sensing internal force h Ir1 The end effector of the right arm can collect force data through a torque sensor, and after force / torque distribution, obtain the corresponding external force h sensed by the right arm. Er2 and sensing internal force h Ir2 Based on the corresponding perceived external force H of the left arm Er1 The corresponding external force h sensed by the right arm Er2 The expected external force h of the target object EdExternal force admittance control is applied to obtain the object position correction ΔT. This is based on the target object's desired position T. d The object position T is determined by the object position correction ΔT. r (That is, the reference position of the target object). Based on the object's position T r By applying closed-chain constraints, the position T of the left arm is obtained. r1 (i.e., the reference position of the left arm end effector) and the right arm position T r2 (That is, the reference position of the right arm end effector). Based on the corresponding sensed internal force h of the left arm. Ir1 and expected internal force h Id1 Internal force admittance control is performed to obtain the left arm position correction ΔT1. Based on the left arm position T... r1 The desired position of the left arm is determined by the left arm position correction ΔT1 and provided to the dual-arm system. The corresponding sensed internal force h of the right arm is then considered. Ir1 and expected internal force h Id2 Internal force admittance control is performed to obtain the right arm position correction ΔT2. Based on the right arm position T... r2 The desired position of the right arm is determined by the right arm position correction amount ΔT2 and provided to the dual-arm system. As an example, the dual-arm system can perform inverse kinematics solutions based on whole-body control of the robot based on the desired positions of the left and right arms to determine the joint positions of each joint in the left arm, right arm, and waist. This allows the left and right arms to manipulate the target object based on their joint positions, completing one control cycle. In subsequent control cycles, the torque sensor is used again to collect perceived force data, and steps such as force / torque distribution, external force admittance control, closed-loop constraints, and internal force admittance control are executed, and so on. These steps will not be elaborated further here.

[0065] In the above framework, the desired position of the target object is assigned a closed-chain constraint to obtain the position of the robotic arm, so that the dual-arm system meets the required pose transformation relationship. Then, internal and external force admittance control processing is superimposed, the position is adjusted according to the perceived force data, and finally the whole body is controlled according to the configuration of the dual-arm system.

[0066] For example, admittance control can be represented by the following expression.

[0067] e = F ext ―F d

[0068]

[0069] Among them, F ext F dLet M be the perceived force and the desired force (e.g., the reference force set by task planning), e be the difference between the perceived force and the desired force, M be the mass matrix, B be the damping matrix, K be the stiffness matrix, X be the displacement of the end effector (the desired position adjustment amount of the admittance control output), and K be the displacement of the end effector. p K is the proportional gain matrix (also known as the proportional stiffness parameter). i Here, K is the integral gain matrix. In practical applications, K is, for example, 0, to eliminate the coupling between end position and stiffness, simplifying to a pure mass-damped model. M is, for example, 1, i.e., a unit mass model, used to simplify control calculations and improve real-time performance.

[0070] like Figure 3 As shown, the dual-arm force control frame includes an external force admittance control loop, which mainly affects the position tracking of the manipulated target object and the interaction process with environmental forces. Two internal force admittance control loops (one for each robotic arm) primarily affect the internal force tracking of the target object by the end effector of the dual arms, ensuring that the target object is not squeezed, deformed, or at risk of falling off.

[0071] For the external force admittance control loop, the expression for e can be modified to: e = h Er1 +h Er2 ―h Ed Among them, h Er1 h Er2 The corresponding external forces sensed by the left and right arms are h, respectively. Ed The desired external force on the target object.

[0072] For the internal force admittance control loop, the expression for e can be modified to: e = h Iri ―h Idi Among them, h Iri h represents the sensing internal force of the i-th robotic arm. Idi The expected internal force for the i-th robotic arm can be determined based on the expected internal force of the target object.

[0073] In the above embodiments, firstly, based on the perceived external force, desired external force, and desired position of each robotic arm, external force admittance control is executed to generate the object position of the target object. Then, based on this object position, closed-chain constraints are applied to calculate the corresponding robotic arm position for each robotic arm. Subsequently, combining the perceived internal force, desired internal force, and robotic arm position of each robotic arm, internal force admittance control is executed to obtain the desired position of each robotic arm. This hierarchical processing method achieves independent control of external and internal forces, ensuring both stable object grasping and compliant interaction. Closed-chain constraints ensure that multiple robotic arms maintain kinematic coordination, reducing force and pose conflicts. Furthermore, combining external and internal force admittance control enables the robot to adaptively adjust its grasping and manipulation strategies in complex task scenarios, significantly improving operational stability, safety, and versatility, and providing good scalability.

[0074] When dual-arm or multi-arm robots need to perform coordinated operations across the entire body, related inverse kinematics (IK) methods often suffer from low computational efficiency, leading to unstable results or difficulty in meeting complex operational requirements. This is particularly true in full-body robots containing waist or lower limb joints, where the desired position of the robotic arm is highly coupled with the overall joint motion. Using only single-arm IK methods can easily result in motion inaccessibility, solution divergence, or unnatural movements, severely impacting operational safety and robustness. Therefore, this application establishes an IK optimization method based on whole-body control, which can simultaneously consider other control objectives (e.g., joint constraints and redundant degrees of freedom) while ensuring the end effector completes its task, thereby achieving efficient and stable joint calculations. In specific implementations, for example, a pseudo-inverse Jacobi method can be used for fast calculation; alternatively, weighted least squares optimization can be attempted, improving the priority of some joints by increasing constraint weights; or a hierarchical optimization method can be used, first ensuring the pose accuracy of the primary task, and then optimizing secondary indicators such as energy consumption, obstacle avoidance, or joint proximity to the reference configuration on the redundant degrees of freedom. In addition, learning-based inverse kinematics solutions can be performed, and neural networks can be used to approximate the Jacobian inverse mapping to achieve faster response in specific task scenarios.

[0075] In some embodiments, the step of performing inverse kinematics solution based on whole-body control of the robot according to the desired position of each robotic arm to determine the joint position of each joint in each robotic arm and the waist may include: minimizing a first objective function based on the desired position of each robotic arm to generate a first joint position increment for each joint; and updating the corresponding joint position according to the first joint position increment. The first objective function is constructed using quadratic programming, and the gradient term of the first objective function is established based on the whole-body Jacobian matrix, which characterizes the mapping relationship between the joint velocities of each joint in the whole body and the end effector velocities of each robotic arm.

[0076] Inverse kinematics (IK) refers to the process of reversing the joint positions from the desired position of the robotic arm (also known as the target pose of the robotic arm's end effector). Unlike solving a single arm independently, the above embodiment employs whole-body control, which involves modeling and solving the degrees of freedom of the entire body, including both arms and the waist. By establishing a whole-body Jacobian matrix, the end-effector velocity constraints are transformed into joint velocity constraints, and then optimization methods are used to solve for the coordinated motion of all joints.

[0077] The first objective function is constructed to quantify the quality of joint velocities. The first joint position increment is obtained by minimizing the first objective function.

[0078] Quadratic Programming (QP) is an optimization method with a quadratic objective function and linear constraints. It boasts advantages such as high computation speed and stable solutions, making it suitable for real-time control. In practical applications, joint limits, velocity constraints, torque limitations, and other conditions can be transformed into linear constraints and input into the QP solver. When the first objective function is quadratic and the constraints are linear, QP can guarantee efficient solution for joint position increments under multiple constraints.

[0079] The whole-body Jacobian matrix is ​​used to characterize the mapping relationship between the joint velocities of each joint in the whole body and the end effector velocities of each robotic arm. Here, the whole-body joints can include the joints of each robotic arm and the joints of the waist. If the robot includes other parts, the whole-body joints can also include joints from other parts. In the above embodiment, the whole-body Jacobian matrix not only includes the mapping relationship between the joint velocities of each robotic arm and the end effector velocities, but also includes the mapping relationship between the waist joint velocities and the end effector velocities. The gradient term of the first objective function can be constructed based on the whole-body Jacobian matrix, thereby projecting the end-effector task requirements into the joint space and ensuring that each robotic arm and waist coordinates to complete the target action.

[0080] The first objective function is minimized, and the output solution is the position increment of the first joint. This solution guarantees the optimal tracking of the target pose by the robotic arm's end effector.

[0081] For example, the first objective function can be expressed as follows.

[0082] min:dx T g+0.5dx T Hdx

[0083] stlb―x <dx<ub―x

[0084] The gradient term g and the Hessian matrix H (i.e., the Hessian matrix) of the first objective function are shown below.

[0085] g = J T f(x)

[0086] H = J T J

[0087] In the above formula, x represents the joint position, which can be represented by a vector, for example. dx is the first joint position increment, used to represent the amount of change that each joint position needs to be adjusted in one iteration. lb and ub are the lower and upper limits of the joint position, respectively, used to limit the range of values ​​for each joint. f(x) is the task function or residual function, used to represent the deviation between the current pose of the end effector and the target pose (i.e., the desired position of the robot arm). g is the gradient term of the first objective function, used to characterize the sensitivity of joint position updates to task errors. H is the Hessian matrix, used to reflect the quadratic approximation characteristics of the function in joint space. J is the whole-body Jacobian matrix, used to characterize the mapping relationship between the velocities of each robot joint and the velocity of the end effector. T and J T Let x and J be the transpose matrices, respectively.

[0088] In the above embodiments, a convex optimization iterative method is used to solve the inverse kinematics based on whole-body control. This method offers a stable solution speed and allows for the overlay of linear constraints such as joint position limitations and maneuverability. A QP solver is used to minimize the first objective function, yielding dx. Then, dx is used to update x, for example, x = x + αdx. Here, α is a step size factor used to control the magnitude of joint position updates; for example, α ≤ 1 can be satisfied.

[0089] In the above embodiment, based on the desired positions of each robotic arm, a first objective function represented by quadratic programming is first constructed, and this objective function is minimized to generate the first joint position increment for each joint. The gradient term of the first objective function is established using the whole-body Jacobian matrix. This modeling method accurately maps the end-effector task requirements to the joint space. Subsequently, the first joint position increment is input to the control loop, and the corresponding joint positions are updated according to the first joint position increment, thereby obtaining the whole-body joint positions, including the arms and waist, realizing coordinated movement throughout the robot's entire body. This ensures that joint positions satisfying the end-effector task constraints can be solved quickly and stably under arbitrary degrees of freedom. By introducing quadratic programming optimization, the solution process is characterized by convergence stability and high computational efficiency, capable of completing the whole-body solution in microseconds, and can satisfy end-effector accuracy while also considering other linear constraints. The mapping relationship established by the whole-body Jacobian matrix ensures the coordination between the arms and waist, making the robot's movements more natural and smooth when performing operational tasks.

[0090] When a robotic arm has redundant degrees of freedom, while inverse kinematics methods can solve for joint positions that satisfy the end-effector task, the solutions are often not unique, potentially leading to unnatural joint movements, deviations from the reference configuration, excessive energy consumption, and even potential interference with obstacles or the robot itself. In such cases, although the main task can be completed, the robot's overall motion efficiency, stability, and safety are insufficient. Therefore, this embodiment optimizes the redundant degrees of freedom after completing the end-effector position tracking for the main task, enabling the robotic arm to maintain end-effector accuracy while also addressing secondary objectives, such as approaching the reference configuration, avoiding joint limits, improving maneuverability, or reducing energy consumption. In practical applications, a pseudo-inverse Jacobian method combined with null space projection can be used to adjust redundant joints within the null space of the end-effector task solution. Alternatively, a multi-objective optimization framework can be used, considering both the main and secondary tasks simultaneously. Alternatively, a hierarchical QP approach can be employed, first solving the main objective function (e.g., the first objective function) to ensure task completion, and then performing secondary optimization on the secondary objective function (e.g., the second objective function hereinafter) in the null space to achieve hierarchical control. In addition, machine learning models can be used to predict appropriate redundant degrees of freedom configurations, or online adaptive weight adjustments can be made to dynamically change the optimization objective in different task scenarios.

[0091] In some embodiments, at least some parts of the robotic arm may have redundant degrees of freedom. The method may further include: minimizing a second objective function based on reference configuration information of the robotic arm with redundant degrees of freedom to generate second joint position increments for corresponding joints. Updating the corresponding joint positions based on the first joint position increments of each joint may include: updating the corresponding joint positions based on the first and second joint position increments of each joint in the robotic arm with redundant degrees of freedom. The second objective function is constructed using quadratic programming, and the gradient term of the second objective function is established based on the null space of the whole-body Jacobian matrix.

[0092] Redundant degrees of freedom refer to the additional joint degrees of freedom that exist beyond the minimum degrees of freedom required for a robotic arm to complete a given end-effector task.

[0093] Reference configuration information, such as a pre-defined target state of joint space, can be used to indicate the reference position of each joint. As an example, reference configuration information may include a desired distribution of joint positions or a default pose. Reference configuration information can be used as an objective for redundant degrees of freedom optimization, keeping the joints in safe, natural, or energy-optimal positions. During redundancy optimization, the deviation between the actual joint positions and the reference positions can be used as an optimization variable in a secondary objective function (i.e., the second objective function). As an example, by minimizing the weighted difference between the joint positions and the reference positions, the final joint positions are made as close as possible to their corresponding reference positions.

[0094] The secondary objective function, or sub-objective function, is built upon the completion of the primary task and is used to constrain and optimize redundant degrees of freedom. The secondary objective function can be a quadratic form, facilitating rapid solution using quadratic programming methods. Solving the secondary objective function in the null space ensures that optimization only affects redundant degrees of freedom without compromising the primary task.

[0095] For example, for a robotic arm with redundant degrees of freedom, after achieving the primary optimization objective, there are still additional degrees of freedom to achieve the secondary optimization objective. In practical applications, the deviation from the reference position can be chosen to reduce the complexity of subsequent planning tasks. Redundant degrees of freedom can be reflected, for example, as the null term N of the gradient term in the first objective function, i.e., the direction that does not affect the primary optimization objective.

[0096] J·N=0

[0097] The null term N can be obtained through QR decomposition. N can also be called the null basis matrix, and joint motion in the null direction will not affect the main task of the end effector.

[0098] Next, hierarchical QP can be used to solve the suboptimal objective. For example, after minimizing the first objective function, the second objective function can be solved as follows.

[0099] min: 0.5(x+Ndx2-x) ref ) T W(x+Ndx2-x ref )

[0100] stlb <x+Ndx2<ub

[0101] At this point, the gradient term g2 and the hession matrix H2 of the second objective function (corresponding to the sub-optimization objective) can be expressed as follows.

[0102] g2=N T W(x―x ref )

[0103] H2 = N T WN

[0104] Where, x ref dx2 represents the reference position of the joint. dx2 is the second joint position increment. W is the reference weight matrix, used to define the importance of the reference configuration constraint in the sub-optimization objective. N T It is the transpose of N.

[0105] A single-arm system corresponds to a single-arm Jacobian matrix. Unlike the single-arm system, the robot in the above embodiments corresponds to a full-body Jacobian matrix. The full-body Jacobian matrix can be seen as a transformation and integration based on the single-arm Jacobian matrix.

[0106] The above embodiments use the convex optimization sequence iteration method to solve the inverse kinematics of the robot arm with redundant degrees of freedom. The solution stability and physical constraint restrictions are relatively comprehensive, the method has strong versatility, and ensures the scalability of the force control framework for robots with arbitrary configurations and arbitrary degrees of freedom.

[0107] In some embodiments, the quadratic programming corresponding to the first objective function and / or the second objective function may have specified physical constraints. As an example, these physical constraints may be linear constraints.

[0108] The above embodiments do not limit the physical constraints. In some embodiments, the physical constraints may include at least one of joint torque constraints, joint position constraints, joint velocity constraints, and joint acceleration constraints.

[0109] For single-arm force control frameworks, the task objective is relatively simple, the number of joints is limited, and physical constraints are usually used to prevent individual joints from exceeding their limits and ensure the safety of local operations. However, in multi-arm force control frameworks based on whole-body control, multiple robotic arms and the waist and other degrees of freedom need to be coordinated simultaneously, resulting in higher coupling and redundancy. Without physical constraints, some joints may be overburdened in task allocation, leading to problems such as joint torque overload, motion trajectory distortion, and even structural interference. By introducing the aforementioned physical constraints in the quadratic programming, the range of motion and load level of each joint in the whole body can be effectively limited while ensuring the accuracy of the end-effector task, keeping joint movements within a safe and controllable working range. This not only improves the stability and robustness of the multi-arm force control framework based on whole-body control under high degrees of freedom conditions, but also ensures that the collaborative operation between multiple arms does not cause excessive compression or uneven force on the target object. In addition, the introduction of physical constraints makes the force control framework more universal and scalable, adaptable to multi-arm whole-body robot systems with different configurations and task scenarios.

[0110] See Figure 4 , Figure 4 This is a structural block diagram of a robot operating device provided in an embodiment of this application.

[0111] This application also provides a robot operating device, the robot including multiple robotic arms and a waist, the device including a data receiving module, a force distribution module, a position calculation module and an inverse kinematics solving module.

[0112] The data receiving module is used to receive the sensing force data of the corresponding robotic arms when the robot uses multiple robotic arms to operate the target object.

[0113] The force distribution module is used to distribute external and internal forces based on the force sensing data of each of the at least two robotic arms, so as to determine the perceived external and internal forces applied by each robotic arm to the target object.

[0114] The position calculation module is used to calculate the relationship between force and position based on the corresponding sensed external force and sensed internal force of each robotic arm, the expected external force and expected internal force of the target object, and the expected position of the target object, so as to determine the expected position of each robotic arm.

[0115] The inverse kinematics solution module is used to perform inverse kinematics solution based on whole-body control of the robot according to the desired position of each robotic arm, so as to determine the joint position of each joint in each robotic arm and waist, and control each robotic arm to operate the target object based on the joint position.

[0116] See Figure 5 , Figure 5 This is a structural block diagram of a robot provided in an embodiment of this application.

[0117] This application also provides a robot, which includes a control module for executing any of the methods described above.

[0118] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of any of the above methods.

[0119] This application also provides a computer program product, which includes a computer program that, when executed by a processor, implements the steps of any of the above methods.

[0120] The computer program product may be a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the computer program product of the embodiments of this application is not limited thereto, and the computer program product may be any combination of one or more computer-readable media.

[0121] See Figure 6 , Figure 6 This is a structural block diagram of a computer device provided in an embodiment of this application.

[0122] This application also provides a computer device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the steps of any of the above methods.

[0123] The embodiments of this application do not limit the computer device, which may be, for example, a local computer device, a cloud computer device, a distributed computer device, etc.

[0124] The computer device may include: a memory 110, a processor 120, and a communication interface 130. The memory 110, the processor 120, and the communication interface 130 are connected through internal connection paths.

[0125] The memory 110 is used to store computer programs, which in some implementations may include code for implementing the methods of the embodiments of this application.

[0126] The processor 120 executes the computer program stored in the memory 110 to control the communication interface 130 to receive input data and information, and output operation results and other data. In some implementations, when the solutions of the embodiments of this application are implemented by software or firmware, the computer program used to implement the solutions of the embodiments of this application can be stored in the processor 120 and executed by the processor 120.

[0127] The memory 110 may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM). It should be noted that the memory 110 described herein is intended to include, but is not limited to, any memory of these and other suitable types. As an example, the memory 110 includes random access memory (RAM), cache memory, and read-only memory (ROM). The memory 110 stores a computer program that can be executed by processor 120, causing processor 120 to implement the steps of any of the methods described above.

[0128] The processor 120 can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor, or the processor 120 can be any conventional processor.

[0129] In implementation, each step of the above method can be completed by the integrated logic circuitry of the hardware in the processor 120 or by instructions in software form. The method disclosed in the embodiments of this application can be directly implemented by the hardware processor, or by a combination of hardware and software modules in the processor 120. The software modules can be located in mature storage media in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in the memory 110, and the processor 120 reads the information in the memory 110 and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are not provided here.

[0130] In some implementations, in addition to the hardware units described above, computer devices may also include software modules, such as operating systems, basic input / output systems (BIOS), and application software.

[0131] An operating system is used to manage the hardware and / or software resources of a computer device; it is the kernel and foundation of the computer. The operating system handles fundamental tasks such as managing and configuring memory, determining the priority of system resource allocation, controlling input and output devices, operating the network, and managing the file system. To facilitate user operation, most operating systems provide a user interface for interaction with the system.

[0132] The BIOS is used to perform hardware initialization during the power-on boot phase and to provide runtime services for the operating system and applications. In some implementations, the BIOS can also monitor and display processor temperature and execute temperature protection strategies.

[0133] Application software, also known as an application program, can be understood as software written for a specific user application purpose, and is one of the main categories of computer software. For example, application software can be a program used to achieve purposes such as power control and temperature management.

[0134] It is understood that the specific examples in this application are only intended to help those skilled in the art better understand the implementation of this application, and are not intended to limit the scope of protection of this application.

[0135] It is understood that in the various embodiments of this application, the sequence number of each process does not imply 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 this application.

[0136] It is understood that the various implementation methods described in this application can be implemented individually or in combination, and this application does not limit them.

[0137] Unless otherwise stated, all technical and scientific terms used in this application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to limit the scope of this application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.

[0138] Those skilled in the art will recognize that the units and algorithm steps of the various examples 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 implemented 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 this application.

[0139] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the embodiments described above can be referred to the corresponding processes in other embodiments, and will not be repeated here.

[0140] In the embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0141] The units described as separate components may or may not be physically separate. 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 the units can be selected to achieve the purpose of the technical solution in this application, depending on actual needs.

[0142] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0143] If a function is implemented as 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 technical solution of this application, essentially, or the part that contributes to related technologies, or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0144] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A robot operation method, characterized in that, The robot includes multiple robotic arms and a waist, and the method includes: When the robot uses multiple robotic arms to manipulate a target object, it receives the sensing force data of the corresponding robotic arms. The external force and internal force are allocated based on the sensing force data of each of the at least two robotic arms, so as to determine the sensing external force and sensing internal force applied by each robotic arm to the target object; Based on the perceived external force and perceived internal force of each robotic arm, the expected external force and expected internal force of the target object, and the expected position of the target object, the relationship between force and position is calculated to determine the expected position of each robotic arm. Within the same control cycle, based on the desired position of each robotic arm, the robot is subjected to inverse kinematics solution based on whole-body control to determine the joint position of each joint in each robotic arm and waist, so as to control each robotic arm to operate the target object based on the joint position. The step of determining the desired position of each robotic arm by performing force-position calculations based on the corresponding perceived external force and perceived internal force of each robotic arm, the desired external force and desired internal force of the target object, and the desired position of the target object includes: performing external force admittance control based on the corresponding perceived external force of each robotic arm, the desired external force of the target object, and the desired position of the target object to obtain the position correction amount of the target object, and determining the object position of the target object based on the desired position of the target object and the position correction amount; performing closed-chain constraints based on the object position to generate the robotic arm position of each robotic arm; and for each robotic arm, performing internal force admittance control based on the corresponding perceived internal force of the robotic arm, the desired internal force corresponding to the robotic arm, and the robotic arm position of the robotic arm to obtain the position correction amount of the robotic arm, and determining the desired position of the robotic arm based on the robotic arm position and the position correction amount of the robotic arm. The inverse kinematics solution based on whole-body control includes: minimizing the first objective function based on the desired position of each robotic arm and the whole-body Jacobian matrix to generate the first joint position increment of each joint; and updating the corresponding joint position according to the first joint position increment of each joint. The first objective function is constructed using a quadratic programming approach. The whole-body Jacobian matrix is ​​used to characterize the mapping relationship between the joint velocities of each joint in the whole body and the end effector velocities of each robotic arm. The quadratic programming corresponding to the first objective function has physical constraints, which include at least joint torque constraints.

2. The robot operation method according to claim 1, characterized in that, The allocation of external and internal forces based on the force sensing data of each of at least two robotic arms, to determine the perceived external and internal forces applied to the target object by each robotic arm, includes: For each robotic arm, perform the following processing: Based on the force conversion relationship between the force applied by the robotic arm and the force received by the target object, the sensing force data of the robotic arm is divided into external force and internal force to obtain the sensing external force and sensing internal force applied by the robotic arm to the target object.

3. The robot operation method according to claim 1, characterized in that, At least some parts of the robotic arm have redundant degrees of freedom; The method further includes: minimizing the second objective function based on the reference configuration information of the robotic arm with redundant degrees of freedom, so as to generate the second joint position increment of the corresponding joint; The step of updating the corresponding joint position based on the first joint position increment of each joint includes: updating the corresponding joint position based on the first joint position increment and the second joint position increment of each joint in the robotic arm with redundant degrees of freedom. The second objective function is constructed using a quadratic programming approach, and the gradient term of the second objective function is established based on the null space of the whole body Jacobian matrix.

4. The robot operation method according to claim 3, characterized in that, The second objective function has a corresponding quadratic programming problem with specified physical constraints, which include at least one of joint position constraints, joint velocity constraints, and joint acceleration constraints.

5. A robot operating device, characterized in that, The robot includes multiple robotic arms and a waist section, and the device includes: The data receiving module is used to receive the sensing force data of the corresponding robotic arms when the robot uses multiple robotic arms to operate the target object. The force distribution module is used to distribute external and internal forces based on the perceived force data of each of the at least two robotic arms, so as to determine the perceived external and internal forces applied by each robotic arm to the target object. The position calculation module is used to calculate the relationship between force and position based on the corresponding perceived external force and perceived internal force of each robotic arm, the expected external force and expected internal force of the target object, and the expected position of the target object, so as to determine the expected position of each robotic arm. The inverse kinematics solution module is used to perform inverse kinematics solution based on whole-body control of the robot within the same control cycle, according to the desired position of each robotic arm, so as to determine the joint position of each joint in each robotic arm and waist, and control each robotic arm to operate the target object based on the joint position. The step of determining the desired position of each robotic arm by performing force-position calculations based on the corresponding perceived external force and perceived internal force of each robotic arm, the desired external force and desired internal force of the target object, and the desired position of the target object includes: performing external force admittance control based on the corresponding perceived external force of each robotic arm, the desired external force of the target object, and the desired position of the target object to obtain the position correction amount of the target object, and determining the object position of the target object based on the desired position of the target object and the position correction amount; performing closed-chain constraints based on the object position to generate the robotic arm position of each robotic arm; and for each robotic arm, performing internal force admittance control based on the corresponding perceived internal force of the robotic arm, the desired internal force corresponding to the robotic arm, and the robotic arm position of the robotic arm to obtain the position correction amount of the robotic arm, and determining the desired position of the robotic arm based on the robotic arm position and the position correction amount of the robotic arm. The inverse kinematics solution based on whole-body control includes: minimizing the first objective function based on the desired position of each robotic arm and the whole-body Jacobian matrix to generate the first joint position increment of each joint; and updating the corresponding joint position according to the first joint position increment of each joint. The first objective function is constructed using a quadratic programming approach. The whole-body Jacobian matrix is ​​used to characterize the mapping relationship between the joint velocities of each joint in the whole body and the end effector velocities of each robotic arm. The quadratic programming corresponding to the first objective function has physical constraints, which include at least joint torque constraints.

6. A robot, characterized in that, The robot includes a control module for performing the method according to any one of claims 1 to 4.

7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method according to any one of claims 1 to 4.

8. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the steps of the method according to any one of claims 1 to 4.